Subject: [PATCH] Built motion from commit aab208717af8d15f4fa224cdb6a202877019af9b. Version 3.0.0-alpha

From: Vito Macchia <[email-masked]>
Date: Wed, 18 Nov 2020 11:02:12 +0100

---
 apidoc/api_project.js                              |    2 +-
 apidoc/api_project.json                            |    2 +-
 package.json                                       |    6 +-
 public/769-8e6d4f4f6390a0a4c67f.js                 |    2 +-
 public/app-0c74c21a1c1532cf3009.js                 |   21 -
 public/app-236515be3923c5a3498c.js                 |   21 +
 public/app/main/apps/analytics/i18n/ar.json        |   38 +-
 public/app/main/apps/analytics/i18n/cs.json        |   38 +-
 public/app/main/apps/analytics/i18n/da.json        |   36 +-
 public/app/main/apps/analytics/i18n/de.json        |   36 +-
 public/app/main/apps/analytics/i18n/en.json        |   38 +-
 public/app/main/apps/analytics/i18n/es.json        |   36 +-
 public/app/main/apps/analytics/i18n/et.json        |   38 +-
 public/app/main/apps/analytics/i18n/fa.json        |   36 +-
 public/app/main/apps/analytics/i18n/fi.json        |   36 +-
 public/app/main/apps/analytics/i18n/fr.json        |   36 +-
 public/app/main/apps/analytics/i18n/he.json        |   38 +-
 public/app/main/apps/analytics/i18n/hi.json        |   36 +-
 public/app/main/apps/analytics/i18n/id.json        |   38 +-
 public/app/main/apps/analytics/i18n/it.json        |   38 +-
 public/app/main/apps/analytics/i18n/ja.json        |   36 +-
 public/app/main/apps/analytics/i18n/ko.json        |   36 +-
 public/app/main/apps/analytics/i18n/lt.json        |   38 +-
 public/app/main/apps/analytics/i18n/lv.json        |   36 +-
 public/app/main/apps/analytics/i18n/nl.json        |   36 +-
 public/app/main/apps/analytics/i18n/no.json        |   36 +-
 public/app/main/apps/analytics/i18n/pl.json        |   36 +-
 public/app/main/apps/analytics/i18n/pt-BR.json     |   38 +-
 public/app/main/apps/analytics/i18n/pt-PT.json     |   36 +-
 public/app/main/apps/analytics/i18n/ru.json        |   36 +-
 public/app/main/apps/analytics/i18n/sv.json        |   36 +-
 public/app/main/apps/analytics/i18n/tr.json        |   36 +-
 public/app/main/apps/analytics/i18n/zh-CN.json     |   36 +-
 public/app/main/apps/analytics/i18n/zh-TW.json     |   36 +-
 .../views/reports/edit/condition/group.html        |   30 +-
 public/app/main/apps/contactmanager/i18n/ar.json   |    9 -
 public/app/main/apps/contactmanager/i18n/cs.json   |    9 -
 public/app/main/apps/contactmanager/i18n/da.json   |    9 -
 public/app/main/apps/contactmanager/i18n/de.json   |    9 -
 public/app/main/apps/contactmanager/i18n/en.json   |    9 -
 public/app/main/apps/contactmanager/i18n/es.json   |    9 -
 public/app/main/apps/contactmanager/i18n/et.json   |    9 -
 public/app/main/apps/contactmanager/i18n/fa.json   |    9 -
 public/app/main/apps/contactmanager/i18n/fi.json   |    9 -
 public/app/main/apps/contactmanager/i18n/fr.json   |    9 -
 public/app/main/apps/contactmanager/i18n/he.json   |    9 -
 public/app/main/apps/contactmanager/i18n/hi.json   |    9 -
 public/app/main/apps/contactmanager/i18n/id.json   |    9 -
 public/app/main/apps/contactmanager/i18n/it.json   |    9 -
 public/app/main/apps/contactmanager/i18n/ja.json   |    9 -
 public/app/main/apps/contactmanager/i18n/ko.json   |    9 -
 public/app/main/apps/contactmanager/i18n/lt.json   |    9 -
 public/app/main/apps/contactmanager/i18n/lv.json   |    9 -
 public/app/main/apps/contactmanager/i18n/nl.json   |    9 -
 public/app/main/apps/contactmanager/i18n/no.json   |    9 -
 public/app/main/apps/contactmanager/i18n/pl.json   |    9 -
 .../app/main/apps/contactmanager/i18n/pt-BR.json   |    9 -
 .../app/main/apps/contactmanager/i18n/pt-PT.json   |    9 -
 public/app/main/apps/contactmanager/i18n/ru.json   |    9 -
 public/app/main/apps/contactmanager/i18n/sv.json   |    9 -
 public/app/main/apps/contactmanager/i18n/tr.json   |    9 -
 .../app/main/apps/contactmanager/i18n/zh-CN.json   |    9 -
 .../app/main/apps/contactmanager/i18n/zh-TW.json   |    9 -
 .../views/general/agent/bot/agent.general.bot.html |    2 +-
 .../agent/contact/agent.general.contact.html       |   56 +-
 .../bull/agent.general.abandoned.bull.html         |    9 +-
 .../voice/agent.general.abandoned.voice.html       |    9 +-
 .../agent/home/chat/agent.general.chat.html        |   15 +-
 .../home/contacts/agent.general.contacts.html      |  141 +--
 .../bull/agent.general.dashboard.bull.html         |   26 +-
 .../chat/agent.general.dashboard.chat.html         |   20 +-
 .../dashboard/fax/agent.general.dashboard.fax.html |   20 +-
 .../mail/agent.general.dashboard.mail.html         |   20 +-
 .../agent.general.dashboard.openchannel.html       |   20 +-
 .../dashboard/sms/agent.general.dashboard.sms.html |   20 +-
 .../voice/agent.general.dashboard.voice.html       |   24 +-
 .../whatsapp/agent.general.dashboard.whatsapp.html |   20 +-
 .../general/agent/home/fax/agent.general.fax.html  |   12 +-
 .../agent/home/mail/agent.general.mail.html        |   17 +-
 .../home/mycontacts/agent.general.mycontacts.html  |  148 +--
 .../openchannel/agent.general.openchannel.html     |   17 +-
 .../home/recordings/agent.general.recordings.html  |   32 +-
 .../home/scheduled/agent.general.scheduled.html    |   24 +-
 .../general/agent/home/sms/agent.general.sms.html  |   12 +-
 .../agent/home/voice/agent.general.voice.html      |   20 +-
 .../home/whatsapp/agent.general.whatsapp.html      |   15 +-
 .../interaction/views/agent.general.footer.html    |    4 +-
 .../interaction/views/agent.general.info.chat.html |    2 +-
 .../interaction/views/agent.general.info.html      |   34 +-
 .../views/agent.general.info.journey.all.html      |    8 +-
 .../views/agent.general.info.journey.html          |   29 +-
 .../views/agent.general.info.journey.voice.html    |   16 +-
 .../interaction/views/agent.general.info.mail.html |    2 +-
 .../views/agent.general.interaction.mail.html      |   22 +-
 .../interaction/views/agent.general.loading.html   |    2 +-
 .../views/agent.general.toolbar.fax.html           |    4 +-
 .../interaction/views/agent.general.toolbar.html   |   23 +-
 .../views/agent.general.toolbar.mail.html          |    7 +-
 .../views/agent.general.toolbar.sms.html           |    4 +-
 .../views/agent.general.toolbar.whatsapp.html      |    4 +-
 public/app/main/apps/integrations/i18n/ar.json     |   14 -
 public/app/main/apps/integrations/i18n/cs.json     |   14 -
 public/app/main/apps/integrations/i18n/da.json     |   14 -
 public/app/main/apps/integrations/i18n/de.json     |   14 -
 public/app/main/apps/integrations/i18n/en.json     |   14 -
 public/app/main/apps/integrations/i18n/es.json     |   14 -
 public/app/main/apps/integrations/i18n/et.json     |   14 -
 public/app/main/apps/integrations/i18n/fa.json     |   14 -
 public/app/main/apps/integrations/i18n/fi.json     |   14 -
 public/app/main/apps/integrations/i18n/fr.json     |   14 -
 public/app/main/apps/integrations/i18n/he.json     |   14 -
 public/app/main/apps/integrations/i18n/hi.json     |   14 -
 public/app/main/apps/integrations/i18n/id.json     |   14 -
 public/app/main/apps/integrations/i18n/it.json     |   14 -
 public/app/main/apps/integrations/i18n/ja.json     |   14 -
 public/app/main/apps/integrations/i18n/ko.json     |   14 -
 public/app/main/apps/integrations/i18n/lt.json     |   14 -
 public/app/main/apps/integrations/i18n/lv.json     |   14 -
 public/app/main/apps/integrations/i18n/nl.json     |   14 -
 public/app/main/apps/integrations/i18n/no.json     |   14 -
 public/app/main/apps/integrations/i18n/pl.json     |   14 -
 public/app/main/apps/integrations/i18n/pt-BR.json  |   14 -
 public/app/main/apps/integrations/i18n/pt-PT.json  |   14 -
 public/app/main/apps/integrations/i18n/ru.json     |   14 -
 public/app/main/apps/integrations/i18n/sv.json     |   14 -
 public/app/main/apps/integrations/i18n/tr.json     |   14 -
 public/app/main/apps/integrations/i18n/zh-CN.json  |   14 -
 public/app/main/apps/integrations/i18n/zh-TW.json  |   14 -
 public/app/main/apps/jscripty/i18n/ar.json         |   74 +-
 public/app/main/apps/jscripty/i18n/cs.json         |   74 +-
 public/app/main/apps/jscripty/i18n/da.json         |   74 +-
 public/app/main/apps/jscripty/i18n/de.json         |   74 +-
 public/app/main/apps/jscripty/i18n/en.json         |   74 +-
 public/app/main/apps/jscripty/i18n/es.json         |   74 +-
 public/app/main/apps/jscripty/i18n/et.json         |   74 +-
 public/app/main/apps/jscripty/i18n/fa.json         |   74 +-
 public/app/main/apps/jscripty/i18n/fi.json         |   74 +-
 public/app/main/apps/jscripty/i18n/fr.json         |   74 +-
 public/app/main/apps/jscripty/i18n/he.json         |   74 +-
 public/app/main/apps/jscripty/i18n/hi.json         |   74 +-
 public/app/main/apps/jscripty/i18n/id.json         |   74 +-
 public/app/main/apps/jscripty/i18n/it.json         |   74 +-
 public/app/main/apps/jscripty/i18n/ja.json         |   74 +-
 public/app/main/apps/jscripty/i18n/ko.json         |   74 +-
 public/app/main/apps/jscripty/i18n/lt.json         |   74 +-
 public/app/main/apps/jscripty/i18n/lv.json         |   74 +-
 public/app/main/apps/jscripty/i18n/nl.json         |   74 +-
 public/app/main/apps/jscripty/i18n/no.json         |   74 +-
 public/app/main/apps/jscripty/i18n/pl.json         |   74 +-
 public/app/main/apps/jscripty/i18n/pt-BR.json      |   74 +-
 public/app/main/apps/jscripty/i18n/pt-PT.json      |   74 +-
 public/app/main/apps/jscripty/i18n/ru.json         |   74 +-
 public/app/main/apps/jscripty/i18n/sv.json         |   74 +-
 public/app/main/apps/jscripty/i18n/tr.json         |   74 +-
 public/app/main/apps/jscripty/i18n/zh-CN.json      |   74 +-
 public/app/main/apps/jscripty/i18n/zh-TW.json      |   74 +-
 public/app/main/apps/mail/i18n/ar.json             |   53 +-
 public/app/main/apps/mail/i18n/cs.json             |   53 +-
 public/app/main/apps/mail/i18n/da.json             |   53 +-
 public/app/main/apps/mail/i18n/de.json             |   53 +-
 public/app/main/apps/mail/i18n/en.json             |   51 +-
 public/app/main/apps/mail/i18n/es.json             |   53 +-
 public/app/main/apps/mail/i18n/et.json             |   53 +-
 public/app/main/apps/mail/i18n/fa.json             |   53 +-
 public/app/main/apps/mail/i18n/fi.json             |   53 +-
 public/app/main/apps/mail/i18n/fr.json             |   53 +-
 public/app/main/apps/mail/i18n/he.json             |   53 +-
 public/app/main/apps/mail/i18n/hi.json             |   53 +-
 public/app/main/apps/mail/i18n/id.json             |   53 +-
 public/app/main/apps/mail/i18n/it.json             |   53 +-
 public/app/main/apps/mail/i18n/ja.json             |   53 +-
 public/app/main/apps/mail/i18n/ko.json             |   53 +-
 public/app/main/apps/mail/i18n/lt.json             |   51 +-
 public/app/main/apps/mail/i18n/lv.json             |   53 +-
 public/app/main/apps/mail/i18n/nl.json             |   53 +-
 public/app/main/apps/mail/i18n/no.json             |   53 +-
 public/app/main/apps/mail/i18n/pl.json             |   53 +-
 public/app/main/apps/mail/i18n/pt-BR.json          |   53 +-
 public/app/main/apps/mail/i18n/pt-PT.json          |   53 +-
 public/app/main/apps/mail/i18n/ru.json             |   53 +-
 public/app/main/apps/mail/i18n/sv.json             |   53 +-
 public/app/main/apps/mail/i18n/tr.json             |   53 +-
 public/app/main/apps/mail/i18n/zh-CN.json          |   53 +-
 public/app/main/apps/mail/i18n/zh-TW.json          |   53 +-
 public/app/main/apps/marketplace/i18n/ar.json      |    6 +-
 public/app/main/apps/marketplace/i18n/cs.json      |    6 +-
 public/app/main/apps/marketplace/i18n/da.json      |    6 +-
 public/app/main/apps/marketplace/i18n/de.json      |    6 +-
 public/app/main/apps/marketplace/i18n/en.json      |    6 +-
 public/app/main/apps/marketplace/i18n/es.json      |    6 +-
 public/app/main/apps/marketplace/i18n/et.json      |    6 +-
 public/app/main/apps/marketplace/i18n/fa.json      |    6 +-
 public/app/main/apps/marketplace/i18n/fi.json      |    6 +-
 public/app/main/apps/marketplace/i18n/fr.json      |    6 +-
 public/app/main/apps/marketplace/i18n/he.json      |    6 +-
 public/app/main/apps/marketplace/i18n/hi.json      |    6 +-
 public/app/main/apps/marketplace/i18n/id.json      |    6 +-
 public/app/main/apps/marketplace/i18n/it.json      |    6 +-
 public/app/main/apps/marketplace/i18n/ja.json      |    6 +-
 public/app/main/apps/marketplace/i18n/ko.json      |    6 +-
 public/app/main/apps/marketplace/i18n/lt.json      |    6 +-
 public/app/main/apps/marketplace/i18n/lv.json      |    6 +-
 public/app/main/apps/marketplace/i18n/nl.json      |    6 +-
 public/app/main/apps/marketplace/i18n/no.json      |    6 +-
 public/app/main/apps/marketplace/i18n/pl.json      |    6 +-
 public/app/main/apps/marketplace/i18n/pt-BR.json   |    6 +-
 public/app/main/apps/marketplace/i18n/pt-PT.json   |    6 +-
 public/app/main/apps/marketplace/i18n/ru.json      |    6 +-
 public/app/main/apps/marketplace/i18n/sv.json      |    6 +-
 public/app/main/apps/marketplace/i18n/tr.json      |    6 +-
 public/app/main/apps/marketplace/i18n/zh-CN.json   |    6 +-
 public/app/main/apps/marketplace/i18n/zh-TW.json   |    6 +-
 public/app/main/apps/openchannel/i18n/ar.json      |   60 +-
 public/app/main/apps/openchannel/i18n/cs.json      |   60 +-
 public/app/main/apps/openchannel/i18n/da.json      |   60 +-
 public/app/main/apps/openchannel/i18n/de.json      |   58 +-
 public/app/main/apps/openchannel/i18n/en.json      |   63 +-
 public/app/main/apps/openchannel/i18n/es.json      |   60 +-
 public/app/main/apps/openchannel/i18n/et.json      |   60 +-
 public/app/main/apps/openchannel/i18n/fa.json      |   58 +-
 public/app/main/apps/openchannel/i18n/fi.json      |   60 +-
 public/app/main/apps/openchannel/i18n/fr.json      |   60 +-
 public/app/main/apps/openchannel/i18n/he.json      |   58 +-
 public/app/main/apps/openchannel/i18n/hi.json      |   60 +-
 public/app/main/apps/openchannel/i18n/id.json      |   60 +-
 public/app/main/apps/openchannel/i18n/it.json      |   60 +-
 public/app/main/apps/openchannel/i18n/ja.json      |   60 +-
 public/app/main/apps/openchannel/i18n/ko.json      |   60 +-
 public/app/main/apps/openchannel/i18n/lt.json      |   58 +-
 public/app/main/apps/openchannel/i18n/lv.json      |   58 +-
 public/app/main/apps/openchannel/i18n/nl.json      |   60 +-
 public/app/main/apps/openchannel/i18n/no.json      |   60 +-
 public/app/main/apps/openchannel/i18n/pl.json      |   60 +-
 public/app/main/apps/openchannel/i18n/pt-BR.json   |   58 +-
 public/app/main/apps/openchannel/i18n/pt-PT.json   |   58 +-
 public/app/main/apps/openchannel/i18n/ru.json      |   60 +-
 public/app/main/apps/openchannel/i18n/sv.json      |   60 +-
 public/app/main/apps/openchannel/i18n/tr.json      |   60 +-
 public/app/main/apps/openchannel/i18n/zh-CN.json   |   58 +-
 public/app/main/apps/openchannel/i18n/zh-TW.json   |   58 +-
 public/app/main/apps/settings/i18n/ar.json         |    2 -
 public/app/main/apps/settings/i18n/cs.json         |    2 -
 public/app/main/apps/settings/i18n/da.json         |    2 -
 public/app/main/apps/settings/i18n/de.json         |    2 -
 public/app/main/apps/settings/i18n/en.json         |    2 -
 public/app/main/apps/settings/i18n/es.json         |    2 -
 public/app/main/apps/settings/i18n/et.json         |    2 -
 public/app/main/apps/settings/i18n/fa.json         |    2 -
 public/app/main/apps/settings/i18n/fi.json         |    2 -
 public/app/main/apps/settings/i18n/fr.json         |    2 -
 public/app/main/apps/settings/i18n/he.json         |    2 -
 public/app/main/apps/settings/i18n/hi.json         |    2 -
 public/app/main/apps/settings/i18n/id.json         |    2 -
 public/app/main/apps/settings/i18n/it.json         |    2 -
 public/app/main/apps/settings/i18n/ja.json         |    2 -
 public/app/main/apps/settings/i18n/ko.json         |    2 -
 public/app/main/apps/settings/i18n/lt.json         |    2 -
 public/app/main/apps/settings/i18n/lv.json         |    2 -
 public/app/main/apps/settings/i18n/nl.json         |    2 -
 public/app/main/apps/settings/i18n/no.json         |    2 -
 public/app/main/apps/settings/i18n/pl.json         |    2 -
 public/app/main/apps/settings/i18n/pt-BR.json      |    2 -
 public/app/main/apps/settings/i18n/pt-PT.json      |    2 -
 public/app/main/apps/settings/i18n/ru.json         |    2 -
 public/app/main/apps/settings/i18n/sv.json         |    2 -
 public/app/main/apps/settings/i18n/tr.json         |    2 -
 public/app/main/apps/settings/i18n/zh-CN.json      |    2 -
 public/app/main/apps/settings/i18n/zh-TW.json      |    2 -
 public/app/main/apps/sms/i18n/ar.json              |   72 +-
 public/app/main/apps/sms/i18n/cs.json              |   74 +-
 public/app/main/apps/sms/i18n/da.json              |   72 +-
 public/app/main/apps/sms/i18n/de.json              |   72 +-
 public/app/main/apps/sms/i18n/en.json              |   17 +-
 public/app/main/apps/sms/i18n/es.json              |   72 +-
 public/app/main/apps/sms/i18n/et.json              |   74 +-
 public/app/main/apps/sms/i18n/fa.json              |   72 +-
 public/app/main/apps/sms/i18n/fi.json              |   72 +-
 public/app/main/apps/sms/i18n/fr.json              |   72 +-
 public/app/main/apps/sms/i18n/he.json              |   72 +-
 public/app/main/apps/sms/i18n/hi.json              |   72 +-
 public/app/main/apps/sms/i18n/id.json              |   72 +-
 public/app/main/apps/sms/i18n/it.json              |   72 +-
 public/app/main/apps/sms/i18n/ja.json              |   72 +-
 public/app/main/apps/sms/i18n/ko.json              |   72 +-
 public/app/main/apps/sms/i18n/lt.json              |   72 +-
 public/app/main/apps/sms/i18n/lv.json              |   72 +-
 public/app/main/apps/sms/i18n/nl.json              |   72 +-
 public/app/main/apps/sms/i18n/no.json              |   72 +-
 public/app/main/apps/sms/i18n/pl.json              |   72 +-
 public/app/main/apps/sms/i18n/pt-BR.json           |   72 +-
 public/app/main/apps/sms/i18n/pt-PT.json           |   72 +-
 public/app/main/apps/sms/i18n/ru.json              |   72 +-
 public/app/main/apps/sms/i18n/sv.json              |   72 +-
 public/app/main/apps/sms/i18n/tr.json              |   72 +-
 public/app/main/apps/sms/i18n/zh-CN.json           |   72 +-
 public/app/main/apps/sms/i18n/zh-TW.json           |   72 +-
 public/app/main/apps/staff/i18n/ar.json            |   14 -
 public/app/main/apps/staff/i18n/cs.json            |   14 -
 public/app/main/apps/staff/i18n/da.json            |   14 -
 public/app/main/apps/staff/i18n/de.json            |   14 -
 public/app/main/apps/staff/i18n/en.json            |   94 --
 public/app/main/apps/staff/i18n/es.json            |   14 -
 public/app/main/apps/staff/i18n/et.json            |   14 -
 public/app/main/apps/staff/i18n/fa.json            |   14 -
 public/app/main/apps/staff/i18n/fi.json            |   14 -
 public/app/main/apps/staff/i18n/fr.json            |   14 -
 public/app/main/apps/staff/i18n/he.json            |   14 -
 public/app/main/apps/staff/i18n/hi.json            |   14 -
 public/app/main/apps/staff/i18n/id.json            |   14 -
 public/app/main/apps/staff/i18n/it.json            |   14 -
 public/app/main/apps/staff/i18n/ja.json            |   14 -
 public/app/main/apps/staff/i18n/ko.json            |   14 -
 public/app/main/apps/staff/i18n/lt.json            |   14 -
 public/app/main/apps/staff/i18n/lv.json            |   14 -
 public/app/main/apps/staff/i18n/nl.json            |   14 -
 public/app/main/apps/staff/i18n/no.json            |   14 -
 public/app/main/apps/staff/i18n/pl.json            |   14 -
 public/app/main/apps/staff/i18n/pt-BR.json         |   14 -
 public/app/main/apps/staff/i18n/pt-PT.json         |   14 -
 public/app/main/apps/staff/i18n/ru.json            |   14 -
 public/app/main/apps/staff/i18n/sv.json            |   14 -
 public/app/main/apps/staff/i18n/tr.json            |   14 -
 public/app/main/apps/staff/i18n/zh-CN.json         |   14 -
 public/app/main/apps/staff/i18n/zh-TW.json         |   14 -
 public/app/main/apps/tools/i18n/ar.json            |   25 -
 public/app/main/apps/tools/i18n/cs.json            |   25 -
 public/app/main/apps/tools/i18n/da.json            |   25 -
 public/app/main/apps/tools/i18n/de.json            |   25 -
 public/app/main/apps/tools/i18n/en.json            |   27 +-
 public/app/main/apps/tools/i18n/es.json            |   25 -
 public/app/main/apps/tools/i18n/et.json            |   25 -
 public/app/main/apps/tools/i18n/fa.json            |   25 -
 public/app/main/apps/tools/i18n/fi.json            |   25 -
 public/app/main/apps/tools/i18n/fr.json            |   25 -
 public/app/main/apps/tools/i18n/he.json            |   25 -
 public/app/main/apps/tools/i18n/hi.json            |   25 -
 public/app/main/apps/tools/i18n/id.json            |   25 -
 public/app/main/apps/tools/i18n/it.json            |   27 +-
 public/app/main/apps/tools/i18n/ja.json            |   25 -
 public/app/main/apps/tools/i18n/ko.json            |   25 -
 public/app/main/apps/tools/i18n/lt.json            |   25 -
 public/app/main/apps/tools/i18n/lv.json            |   25 -
 public/app/main/apps/tools/i18n/nl.json            |   25 -
 public/app/main/apps/tools/i18n/no.json            |   25 -
 public/app/main/apps/tools/i18n/pl.json            |   25 -
 public/app/main/apps/tools/i18n/pt-BR.json         |   25 -
 public/app/main/apps/tools/i18n/pt-PT.json         |   25 -
 public/app/main/apps/tools/i18n/ru.json            |   25 -
 public/app/main/apps/tools/i18n/sv.json            |   25 -
 public/app/main/apps/tools/i18n/tr.json            |   25 -
 public/app/main/apps/tools/i18n/zh-CN.json         |   25 -
 public/app/main/apps/tools/i18n/zh-TW.json         |   25 -
 .../triggers/edit/allconditions/allconditions.html |   16 +-
 .../triggers/edit/anyconditions/anyconditions.html |   16 +-
 public/app/main/apps/voice/i18n/ar.json            |   88 +--
 public/app/main/apps/voice/i18n/cs.json            |   88 +--
 public/app/main/apps/voice/i18n/da.json            |   88 +--
 public/app/main/apps/voice/i18n/de.json            |   88 +--
 public/app/main/apps/voice/i18n/en.json            |   86 --
 public/app/main/apps/voice/i18n/es.json            |   88 +--
 public/app/main/apps/voice/i18n/et.json            |   88 +--
 public/app/main/apps/voice/i18n/fa.json            |   88 +--
 public/app/main/apps/voice/i18n/fi.json            |   88 +--
 public/app/main/apps/voice/i18n/fr.json            |   88 +--
 public/app/main/apps/voice/i18n/he.json            |   88 +--
 public/app/main/apps/voice/i18n/hi.json            |   88 +--
 public/app/main/apps/voice/i18n/id.json            |   88 +--
 public/app/main/apps/voice/i18n/it.json            |   89 +--
 public/app/main/apps/voice/i18n/ja.json            |   88 +--
 public/app/main/apps/voice/i18n/ko.json            |   88 +--
 public/app/main/apps/voice/i18n/lt.json            |   86 --
 public/app/main/apps/voice/i18n/lv.json            |   88 +--
 public/app/main/apps/voice/i18n/nl.json            |   88 +--
 public/app/main/apps/voice/i18n/no.json            |   88 +--
 public/app/main/apps/voice/i18n/pl.json            |   88 +--
 public/app/main/apps/voice/i18n/pt-BR.json         |   88 +--
 public/app/main/apps/voice/i18n/pt-PT.json         |   88 +--
 public/app/main/apps/voice/i18n/ru.json            |   88 +--
 public/app/main/apps/voice/i18n/sv.json            |   88 +--
 public/app/main/apps/voice/i18n/tr.json            |   88 +--
 public/app/main/apps/voice/i18n/zh-CN.json         |   88 +--
 public/app/main/apps/voice/i18n/zh-TW.json         |   88 +--
 public/app/main/apps/whatsapp/i18n/ar.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/cs.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/da.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/de.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/en.json         |  199 +---
 public/app/main/apps/whatsapp/i18n/es.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/et.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/fa.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/fi.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/fr.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/he.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/hi.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/id.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/it.json         |  219 +---
 public/app/main/apps/whatsapp/i18n/ja.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/ko.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/lt.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/lv.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/nl.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/no.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/pl.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/pt-BR.json      |  191 +---
 public/app/main/apps/whatsapp/i18n/pt-PT.json      |  191 +---
 public/app/main/apps/whatsapp/i18n/ru.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/sv.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/tr.json         |  191 +---
 public/app/main/apps/whatsapp/i18n/zh-CN.json      |  191 +---
 public/app/main/apps/whatsapp/i18n/zh-TW.json      |  191 +---
 public/app/main/i18n/ar.json                       |  685 +++++++++
 public/app/main/i18n/cs.json                       |  685 +++++++++
 public/app/main/i18n/da.json                       |  685 +++++++++
 public/app/main/i18n/de.json                       |  685 +++++++++
 public/app/main/i18n/en.json                       |  689 +++++++++
 public/app/main/i18n/es.json                       |  685 +++++++++
 public/app/main/i18n/et.json                       |  685 +++++++++
 public/app/main/i18n/fa.json                       |  685 +++++++++
 public/app/main/i18n/fi.json                       |  685 +++++++++
 public/app/main/i18n/fr.json                       |  685 +++++++++
 public/app/main/i18n/he.json                       |  685 +++++++++
 public/app/main/i18n/hi.json                       |  685 +++++++++
 public/app/main/i18n/id.json                       |  685 +++++++++
 public/app/main/i18n/it.json                       |  689 +++++++++
 public/app/main/i18n/ja.json                       |  685 +++++++++
 public/app/main/i18n/ko.json                       |  685 +++++++++
 public/app/main/i18n/lt.json                       |  685 +++++++++
 public/app/main/i18n/lv.json                       |  685 +++++++++
 public/app/main/i18n/nl.json                       |  685 +++++++++
 public/app/main/i18n/no.json                       |  685 +++++++++
 public/app/main/i18n/org/en.json                   |  666 +++++++++
 public/app/main/i18n/org/it.json                   |  615 ++++++++
 public/app/main/i18n/pl.json                       |  685 +++++++++
 public/app/main/i18n/pt-BR.json                    |  685 +++++++++
 public/app/main/i18n/pt-PT.json                    |  685 +++++++++
 public/app/main/i18n/ru.json                       |  685 +++++++++
 public/app/main/i18n/sv.json                       |  685 +++++++++
 public/app/main/i18n/tr.json                       |  685 +++++++++
 public/app/main/i18n/zh-CN.json                    |  685 +++++++++
 public/app/main/i18n/zh-TW.json                    |  685 +++++++++
 public/index.html                                  |    4 +-
 public/runtime-472ac7a6568b98562237.js             |    2 +-
 public/service-worker.js                           |    2 +-
 public/service-worker.js.map                       |    2 +-
 public/src/js/modules/login/login.html/login.html  |    3 +-
 .../create/dialog.html/dialog.html                 |   14 +-
 .../extractedReports.html/extractedReports.html    |  244 +---
 .../views/metrics/create/dialog.html/dialog.html   |   18 +-
 .../views/metrics/metrics.html/metrics.html        |  207 +--
 .../views/reports/copy/dialog.html/dialog.html     |    4 +-
 .../views/reports/create/dialog.html/dialog.html   |   16 +-
 .../reports/edit/field/dialog.html/dialog.html     |   28 +-
 .../views/reports/edit/view.html/view.html         |   38 +-
 .../views/reports/preview/dialog.html/dialog.html  |   12 +-
 .../views/reports/reports.html/reports.html        |  230 +---
 .../views/reports/run/dialog.html/dialog.html      |    6 +-
 .../views/reports/run/web/dialog.html/dialog.html  |   72 +-
 .../views/odbcs/create/dialog.html/dialog.html     |   16 +-
 .../callysquare/views/odbcs/odbcs.html/odbcs.html  |   24 +-
 .../views/projects/create/dialog.html/dialog.html  |   26 +-
 .../projects/edit/dialog/dialog.html/dialog.html   |   11 +-
 .../views/projects/edit/edit/edit.html/edit.html   |    4 +-
 .../projects/edit/import/import.html/import.html   |    6 +-
 .../views/projects/edit/info/info.html/info.html   |    6 +-
 .../views/projects/edit/open/open.html/open.html   |    6 +-
 .../projects/edit/saveAs/saveAs.html/saveAs.html   |    4 +-
 .../views/projects/edit/view.html/view.html        |    2 +-
 .../views/projects/projects.html/projects.html     |   34 +-
 .../create/dialog.html/dialog.html                 |   10 +-
 .../squareRecordings.html/squareRecordings.html    |   29 +-
 .../chatQueues/chatQueues.html/chatQueues.html     |   22 +-
 .../chatQueues/create/dialog.html/dialog.html      |   28 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    6 +-
 .../chat/views/chatQueues/edit/view.html/view.html |   30 +-
 .../chatWebsites.html/chatWebsites.html            |   30 +-
 .../chatWebsites/create/dialog.html/dialog.html    |   45 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/apps/agent/dialog.html/dialog.html        |   19 +-
 .../edit/apps/amazonlex/dialog.html/dialog.html    |   22 +-
 .../edit/apps/autoreply/dialog.html/dialog.html    |   10 +-
 .../edit/apps/close/dialog.html/dialog.html        |    8 +-
 .../edit/apps/dialogflow/dialog.html/dialog.html   |   14 +-
 .../edit/apps/gotoif/dialog.html/dialog.html       |   20 +-
 .../edit/apps/gotop/dialog.html/dialog.html        |   10 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/noop/dialog.html/dialog.html         |    8 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   19 +-
 .../edit/apps/system/dialog.html/dialog.html       |   10 +-
 .../edit/apps/tag/dialog.html/dialog.html          |   12 +-
 .../edit/chatCannedAnswers/dialog.html/dialog.html |   18 +-
 .../edit/proactive/dialog.html/dialog.html         |   24 +-
 .../views/chatWebsites/edit/view.html/view.html    |  322 ++--
 .../chat/views/realtime/agents/view.html/view.html |   90 +-
 .../chat/views/realtime/queues/view.html/view.html |   23 +-
 .../views/realtime/realtime.html/realtime.html     |    4 +-
 .../views/companies/companies.html/companies.html  |   28 +-
 .../views/companies/create/dialog.html/dialog.html |   34 +-
 .../views/companies/edit/view.html/view.html       |   48 +-
 .../views/contacts/contacts.html/contacts.html     |   28 +-
 .../views/contacts/create/dialog.html/dialog.html  |   61 +-
 .../contacts/duplicate/dialog.html/dialog.html     |    8 +-
 .../views/contacts/edit/view.html/view.html        |  161 +--
 .../views/contacts/import/import.html/import.html  |   19 +-
 .../create/dialog.html/dialog.html                 |   26 +-
 .../globalCustomFields.html                        |   27 +-
 .../views/lists/create/dialog.html/dialog.html     |   16 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/customFields/dialog.html/dialog.html      |   26 +-
 .../views/lists/edit/view.html/view.html           |   55 +-
 .../views/lists/lists.html/lists.html              |   24 +-
 .../views/custom/custom.html/custom.html           |    6 +-
 .../agent/contact/dispose/dialog.html/dialog.html  |   20 +-
 .../contact/selection/dialog.html/dialog.html      |   12 +-
 .../home/abandoned/dispose/dialog.html/dialog.html |   10 +-
 .../home/voice/details/dialog.html/dialog.html     |   20 +-
 .../interaction/composeFax/dialog.html/dialog.html |    4 +-
 .../composeMail/dialog.html/dialog.html            |   17 +-
 .../composeOpenchannel/dialog.html/dialog.html     |   10 +-
 .../interaction/composeSms/dialog.html/dialog.html |   10 +-
 .../composeWhatsapp/dialog.html/dialog.html        |   13 +-
 .../interaction/dispose/dialog.html/dialog.html    |    8 +-
 .../agent/interaction/tag/dialog.html/dialog.html  |    6 +-
 .../interaction/transfer/dialog.html/dialog.html   |   21 +-
 .../faxAccounts/create/dialog.html/dialog.html     |   34 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/apps/agent/dialog.html/dialog.html        |   19 +-
 .../edit/apps/close/dialog.html/dialog.html        |    8 +-
 .../edit/apps/gotoif/dialog.html/dialog.html       |   20 +-
 .../edit/apps/gotop/dialog.html/dialog.html        |   10 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/noop/dialog.html/dialog.html         |    8 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   19 +-
 .../edit/apps/system/dialog.html/dialog.html       |   10 +-
 .../edit/apps/tag/dialog.html/dialog.html          |   12 +-
 .../fax/views/faxAccounts/edit/view.html/view.html |  169 +--
 .../faxAccounts/faxAccounts.html/faxAccounts.html  |   26 +-
 .../views/faxQueues/create/dialog.html/dialog.html |   28 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    6 +-
 .../fax/views/faxQueues/edit/view.html/view.html   |   30 +-
 .../views/faxQueues/faxQueues.html/faxQueues.html  |   22 +-
 .../views/realtime/accounts/view.html/view.html    |   31 +-
 .../fax/views/realtime/agents/view.html/view.html  |   88 +-
 .../fax/views/realtime/queues/view.html/view.html  |   23 +-
 .../fax/views/realtime/realtime.html/realtime.html |    8 +-
 .../fax/views/realtime/trunks/view.html/view.html  |   19 +-
 .../deskAccounts/create/dialog.html/dialog.html    |   32 +-
 .../deskAccounts.html/deskAccounts.html            |   24 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../deskAccounts/edit/item/dialog.html/dialog.html |  158 +-
 .../views/deskAccounts/edit/view.html/view.html    |   88 +-
 .../create/dialog.html/dialog.html                 |   26 +-
 .../dynamics365Accounts.html                       |   27 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../edit/item/dialog.html/dialog.html              |  161 +-
 .../dynamics365Accounts/edit/view.html/view.html   |   78 +-
 .../create/dialog.html/dialog.html                 |   24 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../edit/item/dialog.html/dialog.html              |  160 +-
 .../freshdeskAccounts/edit/view.html/view.html     |   80 +-
 .../freshdeskAccounts.html/freshdeskAccounts.html  |   27 +-
 .../create/dialog.html/dialog.html                 |   24 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../edit/item/dialog.html/dialog.html              |  161 +-
 .../freshsalesAccounts/edit/view.html/view.html    |   58 +-
 .../freshsalesAccounts.html                        |   27 +-
 .../create/dialog.html/dialog.html                 |   32 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../edit/item/dialog.html/dialog.html              |  161 +-
 .../salesforceAccounts/edit/view.html/view.html    |   92 +-
 .../salesforceAccounts.html                        |   27 +-
 .../create/dialog.html/dialog.html                 |   36 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../edit/item/dialog.html/dialog.html              |  161 +-
 .../servicenowAccounts/edit/view.html/view.html    |   70 +-
 .../servicenowAccounts.html                        |   31 +-
 .../create/dialog.html/dialog.html                 |   26 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../edit/item/dialog.html/dialog.html              |  160 +-
 .../sugarcrmAccounts/edit/view.html/view.html      |   78 +-
 .../sugarcrmAccounts.html/sugarcrmAccounts.html    |   27 +-
 .../vtigerAccounts/create/dialog.html/dialog.html  |   20 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../edit/item/dialog.html/dialog.html              |  158 +-
 .../views/vtigerAccounts/edit/view.html/view.html  |   72 +-
 .../vtigerAccounts.html/vtigerAccounts.html        |   27 +-
 .../zendeskAccounts/create/dialog.html/dialog.html |   36 +-
 .../edit/item/dialog.html/dialog.html              |  159 +-
 .../views/zendeskAccounts/edit/view.html/view.html |   92 +-
 .../zendeskConfigurations/dialog.html/dialog.html  |   22 +-
 .../zendeskAccounts.html/zendeskAccounts.html      |   27 +-
 .../zohoAccounts/create/dialog.html/dialog.html    |   20 +-
 .../edit/configurations/dialog.html/dialog.html    |   22 +-
 .../zohoAccounts/edit/item/dialog.html/dialog.html |  158 +-
 .../views/zohoAccounts/edit/view.html/view.html    |   80 +-
 .../zohoAccounts.html/zohoAccounts.html            |   24 +-
 .../views/projects/create/dialog.html/dialog.html  |   24 +-
 .../projects/edit/clone/clone.html/clone.html      |    8 +-
 .../projects/edit/sessions/dialog.html/dialog.html |    6 +-
 .../views/projects/edit/view.html/view.html        |   49 +-
 .../views/projects/projects.html/projects.html     |   34 +-
 .../mailAccounts/create/dialog.html/dialog.html    |   47 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/apps/agent/dialog.html/dialog.html        |   19 +-
 .../edit/apps/autoreply/dialog.html/dialog.html    |    8 +-
 .../edit/apps/close/dialog.html/dialog.html        |    8 +-
 .../edit/apps/gotoif/dialog.html/dialog.html       |   20 +-
 .../edit/apps/gotop/dialog.html/dialog.html        |   10 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/noop/dialog.html/dialog.html         |    8 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   19 +-
 .../edit/apps/system/dialog.html/dialog.html       |   10 +-
 .../edit/apps/tag/dialog.html/dialog.html          |   12 +-
 .../edit/mailCannedAnswers/dialog.html/dialog.html |   16 +-
 .../views/mailAccounts/edit/view.html/view.html    |  243 ++--
 .../mailAccounts.html/mailAccounts.html            |   28 +-
 .../mailQueues/create/dialog.html/dialog.html      |   28 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    6 +-
 .../mail/views/mailQueues/edit/view.html/view.html |   30 +-
 .../mailQueues/mailQueues.html/mailQueues.html     |   22 +-
 .../mailSubtatuses/create/dialog.html/dialog.html  |   14 +-
 .../mailSubtatuses.html/mailSubtatuses.html        |   25 +-
 .../views/realtime/accounts/view.html/view.html    |   34 +-
 .../mail/views/realtime/agents/view.html/view.html |   90 +-
 .../mail/views/realtime/queues/view.html/view.html |   23 +-
 .../views/realtime/realtime.html/realtime.html     |    6 +-
 .../views/plugins/create/dialog.html/dialog.html   |   22 +-
 .../views/plugins/edit/view.html/view.html         |   22 +-
 .../views/plugins/plugins.html/plugins.html        |   26 +-
 .../views/plugins/upload/dialog.html/dialog.html   |    8 +-
 .../ivrCampaigns/create/dialog.html/dialog.html    |   35 +-
 .../blacklistadd.html/blacklistadd.html            |    4 +-
 .../ivrCampaigns/edit/clone/clone.html/clone.html  |    8 +-
 .../edit/hoppers/dialog.html/dialog.html           |   16 +-
 .../edit/listadd/listadd.html/listadd.html         |    4 +-
 .../views/ivrCampaigns/edit/view.html/view.html    |  130 +-
 .../ivrCampaigns.html/ivrCampaigns.html            |   26 +-
 .../queueCampaigns/create/dialog.html/dialog.html  |   39 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    6 +-
 .../blacklistadd.html/blacklistadd.html            |    4 +-
 .../edit/clone/clone.html/clone.html               |   12 +-
 .../edit/hoppers/dialog.html/dialog.html           |   23 +-
 .../edit/listadd/listadd.html/listadd.html         |    4 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    8 +-
 .../views/queueCampaigns/edit/view.html/view.html  |  298 ++--
 .../queueCampaigns.html/queueCampaigns.html        |   33 +-
 .../realtime/abandonedcalls/view.html/view.html    |    8 +-
 .../views/realtime/agents/view.html/view.html      |   92 +-
 .../realtime/ivr_campaigns/view.html/view.html     |   13 +-
 .../views/realtime/queue_calls/view.html/view.html |   33 +-
 .../realtime/queue_params/view.html/view.html      |   11 +-
 .../queues/predictive/dialog.html/dialog.html      |   16 +-
 .../views/realtime/queues/view.html/view.html      |   39 +-
 .../views/realtime/realtime.html/realtime.html     |   12 +-
 .../create/dialog.html/dialog.html                 |   31 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/apps/agent/dialog.html/dialog.html        |   20 +-
 .../edit/apps/autoreply/dialog.html/dialog.html    |   10 +-
 .../edit/apps/close/dialog.html/dialog.html        |    8 +-
 .../edit/apps/gotoif/dialog.html/dialog.html       |   20 +-
 .../edit/apps/gotop/dialog.html/dialog.html        |   10 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/noop/dialog.html/dialog.html         |    8 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   20 +-
 .../edit/apps/system/dialog.html/dialog.html       |   10 +-
 .../edit/apps/tag/dialog.html/dialog.html          |   12 +-
 .../dialog.html/dialog.html                        |   20 +-
 .../openchannelAccounts/edit/view.html/view.html   |  212 ++--
 .../openchannelAccounts.html                       |   33 +-
 .../create/dialog.html/dialog.html                 |   30 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    6 +-
 .../openchannelQueues/edit/view.html/view.html     |   32 +-
 .../openchannelQueues.html/openchannelQueues.html  |   27 +-
 .../views/realtime/agents/view.html/view.html      |   90 +-
 .../views/realtime/queues/view.html/view.html      |   27 +-
 .../views/realtime/realtime.html/realtime.html     |    4 +-
 .../cloudProviders.html/cloudProviders.html        |   24 +-
 .../cloudProviders/create/dialog.html/dialog.html  |   20 +-
 .../customizations.html/customizations.html        |   14 +-
 .../views/generals/generals.html/generals.html     |   36 +-
 .../views/license/license.html/license.html        |   44 +-
 .../views/license/request/dialog.html/dialog.html  |   39 +-
 .../views/license/update/dialog.html/dialog.html   |    4 +-
 .../views/networks/create/dialog.html/dialog.html  |   26 +-
 .../views/networks/networks.html/networks.html     |   26 +-
 .../settings/views/smtps/smtps.html/smtps.html     |   26 +-
 .../settings/views/system/system.html/system.html  |   10 +-
 .../views/updates/update/dialog.html/dialog.html   |    4 +-
 .../views/updates/updates.html/updates.html        |    7 +-
 .../sms/views/realtime/agents/view.html/view.html  |   88 +-
 .../sms/views/realtime/queues/view.html/view.html  |   23 +-
 .../sms/views/realtime/realtime.html/realtime.html |    4 +-
 .../smsAccounts/create/dialog.html/dialog.html     |   73 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/apps/agent/dialog.html/dialog.html        |   19 +-
 .../edit/apps/amazonlex/dialog.html/dialog.html    |   22 +-
 .../edit/apps/autoreply/dialog.html/dialog.html    |   10 +-
 .../edit/apps/close/dialog.html/dialog.html        |    8 +-
 .../edit/apps/dialogflow/dialog.html/dialog.html   |   14 +-
 .../edit/apps/gotoif/dialog.html/dialog.html       |   20 +-
 .../edit/apps/gotop/dialog.html/dialog.html        |   10 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/noop/dialog.html/dialog.html         |    8 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   19 +-
 .../edit/apps/system/dialog.html/dialog.html       |   10 +-
 .../edit/apps/tag/dialog.html/dialog.html          |   12 +-
 .../edit/smsCannedAnswers/dialog.html/dialog.html  |   18 +-
 .../sms/views/smsAccounts/edit/view.html/view.html |  245 ++--
 .../smsAccounts/smsAccounts.html/smsAccounts.html  |   30 +-
 .../views/smsQueues/create/dialog.html/dialog.html |   28 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    6 +-
 .../sms/views/smsQueues/edit/view.html/view.html   |   30 +-
 .../views/smsQueues/smsQueues.html/smsQueues.html  |   22 +-
 .../staff/views/agents/agents.html/agents.html     |  238 +---
 .../views/agents/create/dialog.html/dialog.html    |  310 +---
 .../changepassword.html/changepassword.html        |   10 +-
 .../edit/queueadd/queueadd.html/queueadd.html      |    6 +-
 .../agents/edit/teamadd/teamadd.html/teamadd.html  |    6 +-
 .../staff/views/agents/edit/view.html/view.html    | 1565 +++++---------------
 .../views/teams/create/dialog.html/dialog.html     |   14 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../apps/staff/views/teams/teams.html/teams.html   |  190 +--
 .../telephones/create/dialog.html/dialog.html      |  262 +---
 .../changepassword.html/changepassword.html        |   10 +-
 .../views/telephones/edit/view.html/view.html      |  420 ++----
 .../telephones/telephones.html/telephones.html     |  202 +--
 .../userProfiles/create/dialog.html/dialog.html    |   14 +-
 .../userProfiles/edit/clone/clone.html/clone.html  |    6 +-
 .../permissionsmanage.html/permissionsmanage.html  |    8 +-
 .../views/userProfiles/edit/view.html/view.html    |   18 +-
 .../views/users/create/dialog.html/dialog.html     |  283 +---
 .../apikeymanager.html/apikeymanager.html          |    2 +-
 .../changepassword.html/changepassword.html        |   10 +-
 .../staff/views/users/edit/view.html/view.html     |  655 +++------
 .../apps/staff/views/users/users.html/users.html   |  223 +---
 .../cannedAnswers.html/cannedAnswers.html          |   31 +-
 .../cannedAnswers/create/dialog.html/dialog.html   |   20 +-
 .../create/dialog.html/dialog.html                 |   14 +-
 .../customDashboards.html/customDashboards.html    |   25 +-
 .../edit/clone/clone.html/clone.html               |    4 +-
 .../edit/dashboard/dialog.html/dialog.html         |   82 +-
 .../customDashboards/edit/view.html/view.html      |   18 +-
 .../reports/treeReports.html/treeReports.html      |    4 +-
 .../dispositions/create/dialog.html/dialog.html    |   14 +-
 .../dispositions.html/dispositions.html            |   30 +-
 .../views/intervals/create/dialog.html/dialog.html |   14 +-
 .../edit/apps/interval/dialog.html/dialog.html     |  301 +---
 .../tools/views/intervals/edit/view.html/view.html |   34 +-
 .../views/intervals/intervals.html/intervals.html  |   26 +-
 .../views/pauses/create/dialog.html/dialog.html    |   14 +-
 .../tools/views/pauses/pauses.html/pauses.html     |   22 +-
 .../views/schedules/create/dialog.html/dialog.html |   28 +-
 .../reports/treeReports.html/treeReports.html      |    4 +-
 .../views/schedules/schedules.html/schedules.html  |   24 +-
 .../views/sounds/create/dialog.html/dialog.html    |   14 +-
 .../tools/views/sounds/sounds.html/sounds.html     |   24 +-
 .../views/sounds/upload/dialog.html/dialog.html    |    8 +-
 .../views/tags/create/dialog.html/dialog.html      |   14 +-
 .../main/apps/tools/views/tags/tags.html/tags.html |   26 +-
 .../views/templates/create/dialog.html/dialog.html |   16 +-
 .../views/templates/templates.html/templates.html  |   22 +-
 .../views/triggers/create/dialog.html/dialog.html  |   32 +-
 .../edit/actions/create/dialog.html/dialog.html    |   86 +-
 .../allconditions/create/dialog.html/dialog.html   |   54 +-
 .../anyconditions/create/dialog.html/dialog.html   |   83 +-
 .../tools/views/triggers/edit/view.html/view.html  |   34 +-
 .../views/triggers/triggers.html/triggers.html     |   28 +-
 .../views/trunks/create/dialog.html/dialog.html    |   30 +-
 .../views/trunks/edit/clone/clone.html/clone.html  |   10 +-
 .../tools/views/trunks/edit/view.html/view.html    |   87 +-
 .../tools/views/trunks/trunks.html/trunks.html     |   32 +-
 .../views/variables/create/dialog.html/dialog.html |   18 +-
 .../views/variables/variables.html/variables.html  |   24 +-
 .../create/dialog.html/dialog.html                 |   50 +-
 .../screenRecordings.html/screenRecordings.html    |   29 +-
 .../views/chanSpies/chanSpies.html/chanSpies.html  |   36 +-
 .../views/chanSpies/create/dialog.html/dialog.html |   40 +-
 .../views/contexts/contexts.html/contexts.html     |   30 +-
 .../views/contexts/create/dialog.html/dialog.html  |   18 +-
 .../inboundroutes/create/dialog.html/dialog.html   |   22 +-
 .../edit/apps/agi/dialog.html/dialog.html          |    8 +-
 .../edit/apps/custom/dialog.html/dialog.html       |    8 +-
 .../edit/apps/dial/dialog.html/dialog.html         |   22 +-
 .../edit/apps/externaldial/dialog.html/dialog.html |   29 +-
 .../edit/apps/goto/dialog.html/dialog.html         |   16 +-
 .../edit/apps/hangup/dialog.html/dialog.html       |   24 +-
 .../edit/apps/internaldial/dialog.html/dialog.html |   23 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/playback/dialog.html/dialog.html     |   12 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   39 +-
 .../edit/apps/ringgroup/dialog.html/dialog.html    |   20 +-
 .../edit/apps/set/dialog.html/dialog.html          |   13 +-
 .../edit/apps/voicemail/dialog.html/dialog.html    |   10 +-
 .../views/inboundroutes/edit/view.html/view.html   |   34 +-
 .../inboundroutes.html/inboundroutes.html          |   33 +-
 .../internalroutes/create/dialog.html/dialog.html  |   22 +-
 .../edit/apps/agi/dialog.html/dialog.html          |    8 +-
 .../edit/apps/custom/dialog.html/dialog.html       |    8 +-
 .../edit/apps/dial/dialog.html/dialog.html         |   22 +-
 .../edit/apps/externaldial/dialog.html/dialog.html |   29 +-
 .../edit/apps/goto/dialog.html/dialog.html         |   16 +-
 .../edit/apps/hangup/dialog.html/dialog.html       |   24 +-
 .../edit/apps/internaldial/dialog.html/dialog.html |   23 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/playback/dialog.html/dialog.html     |   12 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   39 +-
 .../edit/apps/ringgroup/dialog.html/dialog.html    |   20 +-
 .../edit/apps/set/dialog.html/dialog.html          |   13 +-
 .../edit/apps/voicemail/dialog.html/dialog.html    |   10 +-
 .../views/internalroutes/edit/view.html/view.html  |   34 +-
 .../internalroutes.html/internalroutes.html        |   33 +-
 .../musiconholds/create/dialog.html/dialog.html    |   28 +-
 .../edit/mohSounds/dialog.html/dialog.html         |   18 +-
 .../views/musiconholds/edit/view.html/view.html    |   46 +-
 .../musiconholds.html/musiconholds.html            |   32 +-
 .../outboundroutes/create/dialog.html/dialog.html  |   28 +-
 .../edit/apps/custom/dialog.html/dialog.html       |    8 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/outbounddial/dialog.html/dialog.html |   37 +-
 .../views/outboundroutes/edit/view.html/view.html  |   40 +-
 .../outboundroutes.html/outboundroutes.html        |   33 +-
 .../realtime/abandonedcalls/view.html/view.html    |    8 +-
 .../views/realtime/agents/view.html/view.html      |   90 +-
 .../realtime/outbound_calls/view.html/view.html    |   29 +-
 .../views/realtime/queue_calls/view.html/view.html |   25 +-
 .../realtime/queue_params/view.html/view.html      |   11 +-
 .../views/realtime/queues/view.html/view.html      |   25 +-
 .../views/realtime/realtime.html/realtime.html     |   16 +-
 .../views/realtime/telephones/view.html/view.html  |   15 +-
 .../views/realtime/trunks/view.html/view.html      |   19 +-
 .../voicePrefixes/create/dialog.html/dialog.html   |   22 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../voicePrefixes.html/voicePrefixes.html          |   27 +-
 .../voiceQueues/create/dialog.html/dialog.html     |   24 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    6 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    8 +-
 .../views/voiceQueues/edit/view.html/view.html     |  342 +++--
 .../voiceQueues/voiceQueues.html/voiceQueues.html  |   32 +-
 .../voiceRecordings/create/dialog.html/dialog.html |   50 +-
 .../views/voiceRecordings/edit/view.html/view.html |   80 +-
 .../voiceRecordings.html/voiceRecordings.html      |   67 +-
 .../voicemails/create/dialog.html/dialog.html      |   42 +-
 .../views/voicemails/edit/view.html/view.html      |   95 +-
 .../voicemails/voicemails.html/voicemails.html     |   32 +-
 .../views/realtime/agents/view.html/view.html      |  384 ++----
 .../views/realtime/queues/view.html/view.html      |   80 +-
 .../views/realtime/realtime.html/realtime.html     |    4 +-
 .../create/dialog.html/dialog.html                 |   55 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/apps/agent/dialog.html/dialog.html        |   20 +-
 .../edit/apps/amazonlex/dialog.html/dialog.html    |   22 +-
 .../edit/apps/autoreply/dialog.html/dialog.html    |   10 +-
 .../edit/apps/close/dialog.html/dialog.html        |    8 +-
 .../edit/apps/dialogflow/dialog.html/dialog.html   |   14 +-
 .../edit/apps/gotoif/dialog.html/dialog.html       |   20 +-
 .../edit/apps/gotop/dialog.html/dialog.html        |   10 +-
 .../edit/apps/interval/dialog.html/dialog.html     |   26 +-
 .../edit/apps/noop/dialog.html/dialog.html         |    8 +-
 .../edit/apps/queue/dialog.html/dialog.html        |   20 +-
 .../edit/apps/system/dialog.html/dialog.html       |   10 +-
 .../edit/apps/tag/dialog.html/dialog.html          |   12 +-
 .../whatsappAccounts/edit/view.html/view.html      |  223 ++--
 .../whatsappCannedAnswers/dialog.html/dialog.html  |   20 +-
 .../whatsappAccounts.html/whatsappAccounts.html    |  241 +---
 .../whatsappQueues/create/dialog.html/dialog.html  |   30 +-
 .../edit/agentadd/agentadd.html/agentadd.html      |    4 +-
 .../edit/teamadd/teamadd.html/teamadd.html         |    6 +-
 .../views/whatsappQueues/edit/view.html/view.html  |   30 +-
 .../whatsappQueues.html/whatsappQueues.html        |  216 +--
 server/api/action/action.attributes.js             |    2 +-
 server/api/action/action.controller.js             |    2 +-
 server/api/action/action.model.js                  |    2 +-
 server/api/action/index.js                         |    2 +-
 .../analyticCustomReport.attributes.js             |    2 +-
 .../analyticCustomReport.controller.js             |    2 +-
 .../analyticCustomReport.model.js                  |    2 +-
 server/api/analyticCustomReport/index.js           |    2 +-
 .../analyticDefaultReport.attributes.js            |    2 +-
 .../analyticDefaultReport.controller.js            |    2 +-
 .../analyticDefaultReport.model.js                 |    2 +-
 server/api/analyticDefaultReport/index.js          |    2 +-
 .../analyticExtractedReport.attributes.js          |    2 +-
 .../analyticExtractedReport.controller.js          |    2 +-
 .../analyticExtractedReport.model.js               |    2 +-
 server/api/analyticExtractedReport/index.js        |    2 +-
 .../analyticFieldReport.attributes.js              |    2 +-
 .../analyticFieldReport.controller.js              |    2 +-
 .../analyticFieldReport.model.js                   |    2 +-
 server/api/analyticFieldReport/index.js            |    2 +-
 .../analyticMetric/analyticMetric.attributes.js    |    2 +-
 .../analyticMetric/analyticMetric.controller.js    |    2 +-
 server/api/analyticMetric/analyticMetric.model.js  |    2 +-
 server/api/analyticMetric/index.js                 |    2 +-
 .../analyticTreeReport.attributes.js               |    2 +-
 .../analyticTreeReport.controller.js               |    2 +-
 .../analyticTreeReport/analyticTreeReport.model.js |    2 +-
 server/api/analyticTreeReport/index.js             |    2 +-
 server/api/attachment/attachment.attributes.js     |    2 +-
 server/api/attachment/attachment.controller.js     |    2 +-
 server/api/attachment/attachment.model.js          |    2 +-
 server/api/attachment/attachment.rpc.js            |    2 +-
 server/api/attachment/index.js                     |    2 +-
 server/api/authGoogle/authGoogle.controller.js     |    2 +-
 server/api/authGoogle/index.js                     |    2 +-
 server/api/authLocal/authLocal.controller.js       |    2 +-
 server/api/authLocal/index.js                      |    2 +-
 server/api/automation/automation.attributes.js     |    2 +-
 server/api/automation/automation.controller.js     |    2 +-
 server/api/automation/automation.model.js          |    2 +-
 server/api/automation/index.js                     |    2 +-
 server/api/campaign/campaign.attributes.js         |    2 +-
 server/api/campaign/campaign.controller.js         |    2 +-
 server/api/campaign/campaign.model.js              |    2 +-
 server/api/campaign/campaign.rpc.js                |    2 +-
 server/api/campaign/index.js                       |    2 +-
 server/api/cannedAnswer/cannedAnswer.attributes.js |    2 +-
 server/api/cannedAnswer/cannedAnswer.controller.js |    2 +-
 server/api/cannedAnswer/cannedAnswer.model.js      |    2 +-
 server/api/cannedAnswer/index.js                   |    2 +-
 server/api/cdr/cdr.attributes.js                   |    2 +-
 server/api/cdr/cdr.controller.js                   |    2 +-
 server/api/cdr/cdr.model.js                        |    2 +-
 server/api/cdr/index.js                            |    2 +-
 .../chatApplication/chatApplication.attributes.js  |    2 +-
 .../chatApplication/chatApplication.controller.js  |    2 +-
 .../api/chatApplication/chatApplication.model.js   |    2 +-
 server/api/chatApplication/index.js                |    2 +-
 server/api/chatGroup/chatGroup.attributes.js       |    2 +-
 server/api/chatGroup/chatGroup.controller.js       |    2 +-
 server/api/chatGroup/chatGroup.events.js           |    2 +-
 server/api/chatGroup/chatGroup.model.js            |    2 +-
 server/api/chatGroup/chatGroup.rpc.js              |    2 +-
 server/api/chatGroup/chatGroup.socket.js           |    2 +-
 server/api/chatGroup/index.js                      |    2 +-
 .../chatInteraction/chatInteraction.attributes.js  |    2 +-
 .../chatInteraction/chatInteraction.controller.js  |    2 +-
 .../api/chatInteraction/chatInteraction.events.js  |    2 +-
 .../api/chatInteraction/chatInteraction.model.js   |    2 +-
 server/api/chatInteraction/chatInteraction.rpc.js  |    2 +-
 .../api/chatInteraction/chatInteraction.socket.js  |    2 +-
 server/api/chatInteraction/index.js                |    2 +-
 .../chatInternalMessage.attributes.js              |    2 +-
 .../chatInternalMessage.controller.js              |    2 +-
 .../chatInternalMessage.events.js                  |    2 +-
 .../chatInternalMessage.model.js                   |    2 +-
 .../chatInternalMessage/chatInternalMessage.rpc.js |    2 +-
 .../chatInternalMessage.socket.js                  |    2 +-
 server/api/chatInternalMessage/index.js            |    2 +-
 server/api/chatMessage/chatMessage.attributes.js   |    2 +-
 server/api/chatMessage/chatMessage.controller.js   |    2 +-
 server/api/chatMessage/chatMessage.events.js       |    2 +-
 server/api/chatMessage/chatMessage.model.js        |    2 +-
 server/api/chatMessage/chatMessage.rpc.js          |    2 +-
 server/api/chatMessage/chatMessage.socket.js       |    2 +-
 server/api/chatMessage/index.js                    |    2 +-
 .../chatOfflineMessage.attributes.js               |    2 +-
 .../chatOfflineMessage.controller.js               |    2 +-
 .../chatOfflineMessage/chatOfflineMessage.model.js |    2 +-
 server/api/chatOfflineMessage/index.js             |    2 +-
 .../chatProactiveAction.attributes.js              |    2 +-
 .../chatProactiveAction.controller.js              |    2 +-
 .../chatProactiveAction.model.js                   |    2 +-
 server/api/chatProactiveAction/index.js            |    2 +-
 server/api/chatQueue/chatQueue.attributes.js       |    2 +-
 server/api/chatQueue/chatQueue.controller.js       |    2 +-
 server/api/chatQueue/chatQueue.events.js           |    2 +-
 server/api/chatQueue/chatQueue.model.js            |    2 +-
 server/api/chatQueue/chatQueue.rpc.js              |    2 +-
 server/api/chatQueue/chatQueue.socket.js           |    2 +-
 server/api/chatQueue/index.js                      |    2 +-
 .../chatQueueReport/chatQueueReport.attributes.js  |    2 +-
 .../chatQueueReport/chatQueueReport.controller.js  |    2 +-
 .../api/chatQueueReport/chatQueueReport.model.js   |    2 +-
 server/api/chatQueueReport/chatQueueReport.rpc.js  |    2 +-
 server/api/chatQueueReport/index.js                |    2 +-
 .../chatTransferReport.attributes.js               |    2 +-
 .../chatTransferReport.controller.js               |    2 +-
 .../chatTransferReport/chatTransferReport.model.js |    2 +-
 server/api/chatTransferReport/index.js             |    2 +-
 server/api/chatWebsite/chatWebsite.attributes.js   |    2 +-
 server/api/chatWebsite/chatWebsite.controller.js   |    2 +-
 server/api/chatWebsite/chatWebsite.events.js       |    2 +-
 server/api/chatWebsite/chatWebsite.model.js        |    2 +-
 server/api/chatWebsite/chatWebsite.rpc.js          |    2 +-
 server/api/chatWebsite/chatWebsite.socket.js       |    2 +-
 server/api/chatWebsite/index.js                    |    2 +-
 .../api/cloudProvider/cloudProvider.attributes.js  |    2 +-
 .../api/cloudProvider/cloudProvider.controller.js  |    2 +-
 server/api/cloudProvider/cloudProvider.model.js    |    2 +-
 server/api/cloudProvider/index.js                  |    2 +-
 server/api/cmCompany/cmCompany.attributes.js       |    2 +-
 server/api/cmCompany/cmCompany.controller.js       |    2 +-
 server/api/cmCompany/cmCompany.model.js            |    2 +-
 server/api/cmCompany/index.js                      |    2 +-
 server/api/cmContact/cmContact.attributes.js       |    2 +-
 server/api/cmContact/cmContact.controller.js       |    2 +-
 server/api/cmContact/cmContact.events.js           |    2 +-
 server/api/cmContact/cmContact.model.js            |    2 +-
 server/api/cmContact/cmContact.rpc.js              |    2 +-
 server/api/cmContact/cmContact.socket.js           |    2 +-
 server/api/cmContact/index.js                      |    2 +-
 .../api/cmCustomField/cmCustomField.attributes.js  |    2 +-
 .../api/cmCustomField/cmCustomField.controller.js  |    2 +-
 server/api/cmCustomField/cmCustomField.model.js    |    2 +-
 server/api/cmCustomField/index.js                  |    2 +-
 server/api/cmHopper/cmHopper.attributes.js         |    2 +-
 server/api/cmHopper/cmHopper.controller.js         |    2 +-
 server/api/cmHopper/cmHopper.model.js              |    2 +-
 server/api/cmHopper/cmHopper.rpc.js                |    2 +-
 server/api/cmHopper/index.js                       |    2 +-
 .../api/cmHopperBlack/cmHopperBlack.attributes.js  |    2 +-
 .../api/cmHopperBlack/cmHopperBlack.controller.js  |    2 +-
 server/api/cmHopperBlack/cmHopperBlack.model.js    |    2 +-
 server/api/cmHopperBlack/cmHopperBlack.rpc.js      |    2 +-
 server/api/cmHopperBlack/index.js                  |    2 +-
 .../api/cmHopperFinal/cmHopperFinal.attributes.js  |    2 +-
 .../api/cmHopperFinal/cmHopperFinal.controller.js  |    2 +-
 server/api/cmHopperFinal/cmHopperFinal.model.js    |    2 +-
 server/api/cmHopperFinal/cmHopperFinal.rpc.js      |    2 +-
 server/api/cmHopperFinal/index.js                  |    2 +-
 .../cmHopperHistory/cmHopperHistory.attributes.js  |    2 +-
 .../cmHopperHistory/cmHopperHistory.controller.js  |    2 +-
 .../api/cmHopperHistory/cmHopperHistory.model.js   |    2 +-
 server/api/cmHopperHistory/cmHopperHistory.rpc.js  |    2 +-
 server/api/cmHopperHistory/index.js                |    2 +-
 server/api/cmList/cmList.attributes.js             |    2 +-
 server/api/cmList/cmList.controller.js             |    2 +-
 server/api/cmList/cmList.events.js                 |    2 +-
 server/api/cmList/cmList.model.js                  |    2 +-
 server/api/cmList/cmList.rpc.js                    |    2 +-
 server/api/cmList/cmList.socket.js                 |    2 +-
 server/api/cmList/index.js                         |    2 +-
 server/api/condition/condition.attributes.js       |    2 +-
 server/api/condition/condition.controller.js       |    2 +-
 server/api/condition/condition.model.js            |    2 +-
 server/api/condition/index.js                      |    2 +-
 server/api/dashboard/dashboard.attributes.js       |    2 +-
 server/api/dashboard/dashboard.controller.js       |    2 +-
 server/api/dashboard/dashboard.events.js           |    2 +-
 server/api/dashboard/dashboard.model.js            |    2 +-
 server/api/dashboard/dashboard.rpc.js              |    2 +-
 server/api/dashboard/dashboard.socket.js           |    2 +-
 server/api/dashboard/index.js                      |    2 +-
 .../api/dashboardItem/dashboardItem.attributes.js  |    2 +-
 .../api/dashboardItem/dashboardItem.controller.js  |    2 +-
 server/api/dashboardItem/dashboardItem.events.js   |    2 +-
 server/api/dashboardItem/dashboardItem.model.js    |    2 +-
 server/api/dashboardItem/dashboardItem.rpc.js      |    2 +-
 server/api/dashboardItem/dashboardItem.socket.js   |    2 +-
 server/api/dashboardItem/index.js                  |    2 +-
 server/api/disposition/disposition.attributes.js   |    2 +-
 server/api/disposition/disposition.controller.js   |    2 +-
 server/api/disposition/disposition.model.js        |    2 +-
 server/api/disposition/index.js                    |    2 +-
 server/api/faxAccount/faxAccount.attributes.js     |    2 +-
 server/api/faxAccount/faxAccount.controller.js     |    2 +-
 server/api/faxAccount/faxAccount.events.js         |    2 +-
 server/api/faxAccount/faxAccount.model.js          |    2 +-
 server/api/faxAccount/faxAccount.rpc.js            |    2 +-
 server/api/faxAccount/faxAccount.socket.js         |    2 +-
 server/api/faxAccount/index.js                     |    2 +-
 .../faxApplication/faxApplication.attributes.js    |    2 +-
 .../faxApplication/faxApplication.controller.js    |    2 +-
 server/api/faxApplication/faxApplication.model.js  |    2 +-
 server/api/faxApplication/faxApplication.rpc.js    |    2 +-
 server/api/faxApplication/index.js                 |    2 +-
 .../faxInteraction/faxInteraction.attributes.js    |    2 +-
 .../faxInteraction/faxInteraction.controller.js    |    2 +-
 server/api/faxInteraction/faxInteraction.events.js |    2 +-
 server/api/faxInteraction/faxInteraction.model.js  |    2 +-
 server/api/faxInteraction/faxInteraction.rpc.js    |    2 +-
 server/api/faxInteraction/faxInteraction.socket.js |    2 +-
 server/api/faxInteraction/index.js                 |    2 +-
 server/api/faxMessage/faxMessage.attributes.js     |    2 +-
 server/api/faxMessage/faxMessage.controller.js     |    2 +-
 server/api/faxMessage/faxMessage.events.js         |    2 +-
 server/api/faxMessage/faxMessage.model.js          |    2 +-
 server/api/faxMessage/faxMessage.rpc.js            |    2 +-
 server/api/faxMessage/faxMessage.socket.js         |    2 +-
 server/api/faxMessage/index.js                     |    2 +-
 server/api/faxQueue/faxQueue.attributes.js         |    2 +-
 server/api/faxQueue/faxQueue.controller.js         |    2 +-
 server/api/faxQueue/faxQueue.events.js             |    2 +-
 server/api/faxQueue/faxQueue.model.js              |    2 +-
 server/api/faxQueue/faxQueue.rpc.js                |    2 +-
 server/api/faxQueue/faxQueue.socket.js             |    2 +-
 server/api/faxQueue/index.js                       |    2 +-
 .../faxQueueReport/faxQueueReport.attributes.js    |    2 +-
 .../faxQueueReport/faxQueueReport.controller.js    |    2 +-
 server/api/faxQueueReport/faxQueueReport.model.js  |    2 +-
 server/api/faxQueueReport/faxQueueReport.rpc.js    |    2 +-
 server/api/faxQueueReport/index.js                 |    2 +-
 .../faxTransferReport.attributes.js                |    2 +-
 .../faxTransferReport.controller.js                |    2 +-
 .../faxTransferReport/faxTransferReport.model.js   |    2 +-
 server/api/faxTransferReport/index.js              |    2 +-
 server/api/intDeskAccount/index.js                 |    2 +-
 .../intDeskAccount/intDeskAccount.attributes.js    |    2 +-
 .../intDeskAccount/intDeskAccount.controller.js    |    2 +-
 server/api/intDeskAccount/intDeskAccount.model.js  |    2 +-
 server/api/intDeskAccount/intDeskAccount.rpc.js    |    2 +-
 server/api/intDeskConfiguration/index.js           |    2 +-
 .../intDeskConfiguration.attributes.js             |    2 +-
 .../intDeskConfiguration.controller.js             |    2 +-
 .../intDeskConfiguration.model.js                  |    2 +-
 server/api/intDeskField/index.js                   |    2 +-
 server/api/intDeskField/intDeskField.attributes.js |    2 +-
 server/api/intDeskField/intDeskField.controller.js |    2 +-
 server/api/intDeskField/intDeskField.model.js      |    2 +-
 server/api/intDynamics365Account/index.js          |    2 +-
 .../intDynamics365Account.attributes.js            |    2 +-
 .../intDynamics365Account.controller.js            |    2 +-
 .../intDynamics365Account.model.js                 |    2 +-
 .../intDynamics365Account.rpc.js                   |    2 +-
 server/api/intDynamics365Configuration/index.js    |    2 +-
 .../intDynamics365Configuration.attributes.js      |    2 +-
 .../intDynamics365Configuration.controller.js      |    2 +-
 .../intDynamics365Configuration.model.js           |    2 +-
 server/api/intDynamics365Field/index.js            |    2 +-
 .../intDynamics365Field.attributes.js              |    2 +-
 .../intDynamics365Field.controller.js              |    2 +-
 .../intDynamics365Field.model.js                   |    2 +-
 server/api/intFreshdeskAccount/index.js            |    2 +-
 .../intFreshdeskAccount.attributes.js              |    2 +-
 .../intFreshdeskAccount.controller.js              |    2 +-
 .../intFreshdeskAccount.model.js                   |    2 +-
 .../intFreshdeskAccount/intFreshdeskAccount.rpc.js |    2 +-
 server/api/intFreshdeskConfiguration/index.js      |    2 +-
 .../intFreshdeskConfiguration.attributes.js        |    2 +-
 .../intFreshdeskConfiguration.controller.js        |    2 +-
 .../intFreshdeskConfiguration.model.js             |    2 +-
 server/api/intFreshdeskField/index.js              |    2 +-
 .../intFreshdeskField.attributes.js                |    2 +-
 .../intFreshdeskField.controller.js                |    2 +-
 .../intFreshdeskField/intFreshdeskField.model.js   |    2 +-
 server/api/intFreshsalesAccount/index.js           |    2 +-
 .../intFreshsalesAccount.attributes.js             |    2 +-
 .../intFreshsalesAccount.controller.js             |    2 +-
 .../intFreshsalesAccount.model.js                  |    2 +-
 .../intFreshsalesAccount.rpc.js                    |    2 +-
 server/api/intFreshsalesConfiguration/index.js     |    2 +-
 .../intFreshsalesConfiguration.attributes.js       |    2 +-
 .../intFreshsalesConfiguration.controller.js       |    2 +-
 .../intFreshsalesConfiguration.model.js            |    2 +-
 server/api/intFreshsalesField/index.js             |    2 +-
 .../intFreshsalesField.attributes.js               |    2 +-
 .../intFreshsalesField.controller.js               |    2 +-
 .../intFreshsalesField/intFreshsalesField.model.js |    2 +-
 server/api/intSalesforceAccount/index.js           |    2 +-
 .../intSalesforceAccount.attributes.js             |    2 +-
 .../intSalesforceAccount.controller.js             |    2 +-
 .../intSalesforceAccount.model.js                  |    2 +-
 .../intSalesforceAccount.rpc.js                    |    2 +-
 server/api/intSalesforceConfiguration/index.js     |    2 +-
 .../intSalesforceConfiguration.attributes.js       |    2 +-
 .../intSalesforceConfiguration.controller.js       |    2 +-
 .../intSalesforceConfiguration.model.js            |    2 +-
 server/api/intSalesforceField/index.js             |    2 +-
 .../intSalesforceField.attributes.js               |    2 +-
 .../intSalesforceField.controller.js               |    2 +-
 .../intSalesforceField/intSalesforceField.model.js |    2 +-
 server/api/intServicenowAccount/index.js           |    2 +-
 .../intServicenowAccount.attributes.js             |    2 +-
 .../intServicenowAccount.controller.js             |    2 +-
 .../intServicenowAccount.model.js                  |    2 +-
 .../intServicenowAccount.rpc.js                    |    2 +-
 server/api/intServicenowConfiguration/index.js     |    2 +-
 .../intServicenowConfiguration.attributes.js       |    2 +-
 .../intServicenowConfiguration.controller.js       |    2 +-
 .../intServicenowConfiguration.model.js            |    2 +-
 server/api/intServicenowField/index.js             |    2 +-
 .../intServicenowField.attributes.js               |    2 +-
 .../intServicenowField.controller.js               |    2 +-
 .../intServicenowField/intServicenowField.model.js |    2 +-
 server/api/intSugarcrmAccount/index.js             |    2 +-
 .../intSugarcrmAccount.attributes.js               |    2 +-
 .../intSugarcrmAccount.controller.js               |    2 +-
 .../intSugarcrmAccount/intSugarcrmAccount.model.js |    2 +-
 .../intSugarcrmAccount/intSugarcrmAccount.rpc.js   |    2 +-
 server/api/intSugarcrmConfiguration/index.js       |    2 +-
 .../intSugarcrmConfiguration.attributes.js         |    2 +-
 .../intSugarcrmConfiguration.controller.js         |    2 +-
 .../intSugarcrmConfiguration.model.js              |    2 +-
 server/api/intSugarcrmField/index.js               |    2 +-
 .../intSugarcrmField.attributes.js                 |    2 +-
 .../intSugarcrmField.controller.js                 |    2 +-
 .../api/intSugarcrmField/intSugarcrmField.model.js |    2 +-
 server/api/intVtigerAccount/index.js               |    2 +-
 .../intVtigerAccount.attributes.js                 |    2 +-
 .../intVtigerAccount.controller.js                 |    2 +-
 .../api/intVtigerAccount/intVtigerAccount.model.js |    2 +-
 .../api/intVtigerAccount/intVtigerAccount.rpc.js   |    2 +-
 server/api/intVtigerConfiguration/index.js         |    2 +-
 .../intVtigerConfiguration.attributes.js           |    2 +-
 .../intVtigerConfiguration.controller.js           |    2 +-
 .../intVtigerConfiguration.model.js                |    2 +-
 server/api/intVtigerField/index.js                 |    2 +-
 .../intVtigerField/intVtigerField.attributes.js    |    2 +-
 .../intVtigerField/intVtigerField.controller.js    |    2 +-
 server/api/intVtigerField/intVtigerField.model.js  |    2 +-
 server/api/intZendeskAccount/index.js              |    2 +-
 .../intZendeskAccount.attributes.js                |    2 +-
 .../intZendeskAccount.controller.js                |    2 +-
 .../intZendeskAccount/intZendeskAccount.model.js   |    2 +-
 .../api/intZendeskAccount/intZendeskAccount.rpc.js |    2 +-
 server/api/intZendeskConfiguration/index.js        |    2 +-
 .../intZendeskConfiguration.attributes.js          |    2 +-
 .../intZendeskConfiguration.controller.js          |    2 +-
 .../intZendeskConfiguration.model.js               |    2 +-
 server/api/intZendeskField/index.js                |    2 +-
 .../intZendeskField/intZendeskField.attributes.js  |    2 +-
 .../intZendeskField/intZendeskField.controller.js  |    2 +-
 .../api/intZendeskField/intZendeskField.model.js   |    2 +-
 server/api/intZohoAccount/index.js                 |    2 +-
 .../intZohoAccount/intZohoAccount.attributes.js    |    2 +-
 .../intZohoAccount/intZohoAccount.controller.js    |    2 +-
 server/api/intZohoAccount/intZohoAccount.model.js  |    2 +-
 server/api/intZohoAccount/intZohoAccount.rpc.js    |    2 +-
 server/api/intZohoConfiguration/index.js           |    2 +-
 .../intZohoConfiguration.attributes.js             |    2 +-
 .../intZohoConfiguration.controller.js             |    2 +-
 .../intZohoConfiguration.model.js                  |    2 +-
 server/api/intZohoField/index.js                   |    2 +-
 server/api/intZohoField/intZohoField.attributes.js |    2 +-
 server/api/intZohoField/intZohoField.controller.js |    2 +-
 server/api/intZohoField/intZohoField.model.js      |    2 +-
 server/api/integration/index.js                    |    2 +-
 server/api/integration/integration.attributes.js   |    2 +-
 server/api/integration/integration.controller.js   |    2 +-
 server/api/integration/integration.model.js        |    2 +-
 server/api/integrationReport/index.js              |    2 +-
 .../integrationReport.attributes.js                |    2 +-
 .../integrationReport.controller.js                |    2 +-
 .../integrationReport/integrationReport.model.js   |    2 +-
 server/api/interval/index.js                       |    2 +-
 server/api/interval/interval.attributes.js         |    2 +-
 server/api/interval/interval.controller.js         |    2 +-
 server/api/interval/interval.model.js              |    2 +-
 server/api/interval/interval.rpc.js                |    2 +-
 server/api/jira/index.js                           |    2 +-
 server/api/jira/jira.controller.js                 |    2 +-
 server/api/jscriptyAnswerReport/index.js           |    2 +-
 .../jscriptyAnswerReport.attributes.js             |    2 +-
 .../jscriptyAnswerReport.controller.js             |    2 +-
 .../jscriptyAnswerReport.model.js                  |    2 +-
 server/api/jscriptyProject/index.js                |    2 +-
 .../jscriptyProject/jscriptyProject.attributes.js  |    2 +-
 .../jscriptyProject/jscriptyProject.controller.js  |    2 +-
 .../api/jscriptyProject/jscriptyProject.model.js   |    2 +-
 server/api/jscriptyQuestionReport/index.js         |    2 +-
 .../jscriptyQuestionReport.attributes.js           |    2 +-
 .../jscriptyQuestionReport.controller.js           |    2 +-
 .../jscriptyQuestionReport.model.js                |    2 +-
 server/api/jscriptySessionReport/index.js          |    2 +-
 .../jscriptySessionReport.attributes.js            |    2 +-
 .../jscriptySessionReport.controller.js            |    2 +-
 .../jscriptySessionReport.model.js                 |    2 +-
 server/api/license/index.js                        |    2 +-
 server/api/license/license.attributes.js           |    2 +-
 server/api/license/license.controller.js           |    2 +-
 server/api/license/license.model.js                |    2 +-
 server/api/mailAccount/index.js                    |    2 +-
 server/api/mailAccount/mailAccount.attributes.js   |    2 +-
 server/api/mailAccount/mailAccount.controller.js   |    2 +-
 server/api/mailAccount/mailAccount.events.js       |    2 +-
 server/api/mailAccount/mailAccount.model.js        |    2 +-
 server/api/mailAccount/mailAccount.rpc.js          |    2 +-
 server/api/mailAccount/mailAccount.socket.js       |    2 +-
 server/api/mailApplication/index.js                |    2 +-
 .../mailApplication/mailApplication.attributes.js  |    2 +-
 .../mailApplication/mailApplication.controller.js  |    2 +-
 .../api/mailApplication/mailApplication.model.js   |    2 +-
 server/api/mailApplication/mailApplication.rpc.js  |    2 +-
 server/api/mailInteraction/index.js                |    2 +-
 .../mailInteraction/mailInteraction.attributes.js  |    2 +-
 .../mailInteraction/mailInteraction.controller.js  |    2 +-
 .../api/mailInteraction/mailInteraction.events.js  |    2 +-
 .../api/mailInteraction/mailInteraction.model.js   |    2 +-
 server/api/mailInteraction/mailInteraction.rpc.js  |    2 +-
 .../api/mailInteraction/mailInteraction.socket.js  |    2 +-
 server/api/mailMessage/index.js                    |    2 +-
 server/api/mailMessage/mailMessage.attributes.js   |    2 +-
 server/api/mailMessage/mailMessage.controller.js   |    2 +-
 server/api/mailMessage/mailMessage.events.js       |    2 +-
 server/api/mailMessage/mailMessage.model.js        |    2 +-
 server/api/mailMessage/mailMessage.rpc.js          |    2 +-
 server/api/mailMessage/mailMessage.socket.js       |    2 +-
 server/api/mailQueue/index.js                      |    2 +-
 server/api/mailQueue/mailQueue.attributes.js       |    2 +-
 server/api/mailQueue/mailQueue.controller.js       |    2 +-
 server/api/mailQueue/mailQueue.events.js           |    2 +-
 server/api/mailQueue/mailQueue.model.js            |    2 +-
 server/api/mailQueue/mailQueue.rpc.js              |    2 +-
 server/api/mailQueue/mailQueue.socket.js           |    2 +-
 server/api/mailQueueReport/index.js                |    2 +-
 .../mailQueueReport/mailQueueReport.attributes.js  |    2 +-
 .../mailQueueReport/mailQueueReport.controller.js  |    2 +-
 .../api/mailQueueReport/mailQueueReport.model.js   |    2 +-
 server/api/mailQueueReport/mailQueueReport.rpc.js  |    2 +-
 server/api/mailServerIn/index.js                   |    2 +-
 server/api/mailServerIn/mailServerIn.attributes.js |    2 +-
 server/api/mailServerIn/mailServerIn.model.js      |    2 +-
 server/api/mailServerIn/mailServerIn.rpc.js        |    2 +-
 server/api/mailServerOut/index.js                  |    2 +-
 .../api/mailServerOut/mailServerOut.attributes.js  |    2 +-
 .../api/mailServerOut/mailServerOut.controller.js  |    2 +-
 server/api/mailServerOut/mailServerOut.model.js    |    2 +-
 server/api/mailSubstatus/index.js                  |    2 +-
 .../api/mailSubstatus/mailSubstatus.attributes.js  |    2 +-
 .../api/mailSubstatus/mailSubstatus.controller.js  |    2 +-
 server/api/mailSubstatus/mailSubstatus.model.js    |    2 +-
 server/api/mailTransferReport/index.js             |    2 +-
 .../mailTransferReport.attributes.js               |    2 +-
 .../mailTransferReport.controller.js               |    2 +-
 .../mailTransferReport/mailTransferReport.model.js |    2 +-
 server/api/memberReport/index.js                   |    2 +-
 server/api/memberReport/memberReport.attributes.js |    2 +-
 server/api/memberReport/memberReport.controller.js |    2 +-
 server/api/memberReport/memberReport.model.js      |    2 +-
 server/api/memberReport/memberReport.rpc.js        |    2 +-
 server/api/migration/index.js                      |    2 +-
 server/api/migration/migration.attributes.js       |    2 +-
 server/api/migration/migration.controller.js       |    2 +-
 server/api/migration/migration.model.js            |    2 +-
 server/api/network/index.js                        |    2 +-
 server/api/network/network.attributes.js           |    2 +-
 server/api/network/network.controller.js           |    2 +-
 server/api/network/network.model.js                |    2 +-
 server/api/notification/index.js                   |    2 +-
 server/api/notification/notification.attributes.js |    2 +-
 server/api/notification/notification.controller.js |    2 +-
 server/api/notification/notification.events.js     |    2 +-
 server/api/notification/notification.model.js      |    2 +-
 server/api/notification/notification.rpc.js        |    2 +-
 server/api/notification/notification.socket.js     |    2 +-
 server/api/openchannelAccount/index.js             |    2 +-
 .../openchannelAccount.attributes.js               |    2 +-
 .../openchannelAccount.controller.js               |    2 +-
 .../openchannelAccount.events.js                   |    2 +-
 .../openchannelAccount/openchannelAccount.model.js |    2 +-
 .../openchannelAccount/openchannelAccount.rpc.js   |    2 +-
 .../openchannelAccount.socket.js                   |    2 +-
 server/api/openchannelApplication/index.js         |    2 +-
 .../openchannelApplication.attributes.js           |    2 +-
 .../openchannelApplication.controller.js           |    2 +-
 .../openchannelApplication.model.js                |    2 +-
 .../openchannelApplication.rpc.js                  |    2 +-
 server/api/openchannelInteraction/index.js         |    2 +-
 .../openchannelInteraction.attributes.js           |    2 +-
 .../openchannelInteraction.controller.js           |    2 +-
 .../openchannelInteraction.events.js               |    2 +-
 .../openchannelInteraction.model.js                |    2 +-
 .../openchannelInteraction.rpc.js                  |    2 +-
 .../openchannelInteraction.socket.js               |    2 +-
 server/api/openchannelMessage/index.js             |    2 +-
 .../openchannelMessage.attributes.js               |    2 +-
 .../openchannelMessage.controller.js               |    2 +-
 .../openchannelMessage.events.js                   |    2 +-
 .../openchannelMessage/openchannelMessage.model.js |    2 +-
 .../openchannelMessage/openchannelMessage.rpc.js   |    2 +-
 .../openchannelMessage.socket.js                   |    2 +-
 server/api/openchannelQueue/index.js               |    2 +-
 .../openchannelQueue.attributes.js                 |    2 +-
 .../openchannelQueue.controller.js                 |    2 +-
 .../openchannelQueue/openchannelQueue.events.js    |    2 +-
 .../api/openchannelQueue/openchannelQueue.model.js |    2 +-
 .../api/openchannelQueue/openchannelQueue.rpc.js   |    2 +-
 .../openchannelQueue/openchannelQueue.socket.js    |    2 +-
 server/api/openchannelQueueReport/index.js         |    2 +-
 .../openchannelQueueReport.attributes.js           |    2 +-
 .../openchannelQueueReport.controller.js           |    2 +-
 .../openchannelQueueReport.model.js                |    2 +-
 .../openchannelQueueReport.rpc.js                  |    2 +-
 server/api/openchannelTransferReport/index.js      |    2 +-
 .../openchannelTransferReport.attributes.js        |    2 +-
 .../openchannelTransferReport.controller.js        |    2 +-
 .../openchannelTransferReport.model.js             |    2 +-
 server/api/pause/index.js                          |    2 +-
 server/api/pause/pause.attributes.js               |    2 +-
 server/api/pause/pause.controller.js               |    2 +-
 server/api/pause/pause.model.js                    |    2 +-
 server/api/pause/pause.rpc.js                      |    2 +-
 server/api/plugin/index.js                         |    2 +-
 server/api/plugin/plugin.attributes.js             |    2 +-
 server/api/plugin/plugin.controller.js             |    2 +-
 server/api/plugin/plugin.events.js                 |    2 +-
 server/api/plugin/plugin.model.js                  |    2 +-
 server/api/plugin/plugin.rpc.js                    |    2 +-
 server/api/plugin/plugin.socket.js                 |    2 +-
 server/api/pm2/index.js                            |    2 +-
 server/api/pm2/pm2.controller.js                   |    2 +-
 server/api/reportAgentPreview/index.js             |    2 +-
 .../reportAgentPreview.attributes.js               |    2 +-
 .../reportAgentPreview/reportAgentPreview.model.js |    2 +-
 .../reportAgentPreview/reportAgentPreview.rpc.js   |    2 +-
 server/api/rpc/index.js                            |    2 +-
 server/api/rpc/rpc.controller.js                   |    2 +-
 server/api/schedule/index.js                       |    2 +-
 server/api/schedule/schedule.attributes.js         |    2 +-
 server/api/schedule/schedule.controller.js         |    2 +-
 server/api/schedule/schedule.model.js              |    2 +-
 server/api/screenRecording/index.js                |    2 +-
 .../screenRecording/screenRecording.attributes.js  |    2 +-
 .../screenRecording/screenRecording.controller.js  |    2 +-
 .../api/screenRecording/screenRecording.model.js   |    2 +-
 server/api/setting/index.js                        |    2 +-
 server/api/setting/setting.attributes.js           |    2 +-
 server/api/setting/setting.controller.js           |    2 +-
 server/api/setting/setting.model.js                |    2 +-
 server/api/smsAccount/index.js                     |    2 +-
 server/api/smsAccount/smsAccount.attributes.js     |    2 +-
 server/api/smsAccount/smsAccount.controller.js     |    2 +-
 server/api/smsAccount/smsAccount.events.js         |    2 +-
 server/api/smsAccount/smsAccount.model.js          |    2 +-
 server/api/smsAccount/smsAccount.rpc.js            |    2 +-
 server/api/smsAccount/smsAccount.socket.js         |    2 +-
 server/api/smsApplication/index.js                 |    2 +-
 .../smsApplication/smsApplication.attributes.js    |    2 +-
 .../smsApplication/smsApplication.controller.js    |    2 +-
 server/api/smsApplication/smsApplication.model.js  |    2 +-
 server/api/smsInteraction/index.js                 |    2 +-
 .../smsInteraction/smsInteraction.attributes.js    |    2 +-
 .../smsInteraction/smsInteraction.controller.js    |    2 +-
 server/api/smsInteraction/smsInteraction.events.js |    2 +-
 server/api/smsInteraction/smsInteraction.model.js  |    2 +-
 server/api/smsInteraction/smsInteraction.rpc.js    |    2 +-
 server/api/smsInteraction/smsInteraction.socket.js |    2 +-
 server/api/smsMessage/index.js                     |    2 +-
 server/api/smsMessage/smsMessage.attributes.js     |    2 +-
 server/api/smsMessage/smsMessage.controller.js     |    2 +-
 server/api/smsMessage/smsMessage.events.js         |    2 +-
 server/api/smsMessage/smsMessage.model.js          |    2 +-
 server/api/smsMessage/smsMessage.rpc.js            |    2 +-
 server/api/smsMessage/smsMessage.socket.js         |    2 +-
 server/api/smsQueue/index.js                       |    2 +-
 server/api/smsQueue/smsQueue.attributes.js         |    2 +-
 server/api/smsQueue/smsQueue.controller.js         |    2 +-
 server/api/smsQueue/smsQueue.events.js             |    2 +-
 server/api/smsQueue/smsQueue.model.js              |    2 +-
 server/api/smsQueue/smsQueue.rpc.js                |    2 +-
 server/api/smsQueue/smsQueue.socket.js             |    2 +-
 server/api/smsQueueReport/index.js                 |    2 +-
 .../smsQueueReport/smsQueueReport.attributes.js    |    2 +-
 .../smsQueueReport/smsQueueReport.controller.js    |    2 +-
 server/api/smsQueueReport/smsQueueReport.model.js  |    2 +-
 server/api/smsQueueReport/smsQueueReport.rpc.js    |    2 +-
 server/api/smsTransferReport/index.js              |    2 +-
 .../smsTransferReport.attributes.js                |    2 +-
 .../smsTransferReport.controller.js                |    2 +-
 .../smsTransferReport/smsTransferReport.model.js   |    2 +-
 server/api/sound/index.js                          |    2 +-
 server/api/sound/sound.attributes.js               |    2 +-
 server/api/sound/sound.controller.js               |    2 +-
 server/api/sound/sound.model.js                    |    2 +-
 server/api/sound/sound.rpc.js                      |    2 +-
 server/api/squareMessage/index.js                  |    2 +-
 .../api/squareMessage/squareMessage.attributes.js  |    2 +-
 .../api/squareMessage/squareMessage.controller.js  |    2 +-
 server/api/squareMessage/squareMessage.model.js    |    2 +-
 server/api/squareMessage/squareMessage.rpc.js      |    2 +-
 server/api/squareOdbc/index.js                     |    2 +-
 server/api/squareOdbc/squareOdbc.attributes.js     |    2 +-
 server/api/squareOdbc/squareOdbc.controller.js     |    2 +-
 server/api/squareOdbc/squareOdbc.model.js          |    2 +-
 server/api/squareOdbc/squareOdbc.rpc.js            |    2 +-
 server/api/squareProject/index.js                  |    2 +-
 .../api/squareProject/squareProject.attributes.js  |    2 +-
 .../api/squareProject/squareProject.controller.js  |    2 +-
 server/api/squareProject/squareProject.events.js   |    2 +-
 server/api/squareProject/squareProject.model.js    |    2 +-
 server/api/squareProject/squareProject.rpc.js      |    2 +-
 server/api/squareProject/squareProject.socket.js   |    2 +-
 server/api/squareRecording/index.js                |    2 +-
 .../squareRecording/squareRecording.attributes.js  |    2 +-
 .../squareRecording/squareRecording.controller.js  |    2 +-
 .../api/squareRecording/squareRecording.model.js   |    2 +-
 server/api/squareRecording/squareRecording.rpc.js  |    2 +-
 server/api/squareReport/index.js                   |    2 +-
 server/api/squareReport/squareReport.attributes.js |    2 +-
 server/api/squareReport/squareReport.controller.js |    2 +-
 server/api/squareReport/squareReport.model.js      |    2 +-
 server/api/squareReport/squareReport.rpc.js        |    2 +-
 server/api/squareReportDetail/index.js             |    2 +-
 .../squareReportDetail.attributes.js               |    2 +-
 .../squareReportDetail.controller.js               |    2 +-
 .../squareReportDetail/squareReportDetail.model.js |    2 +-
 .../squareReportDetail/squareReportDetail.rpc.js   |    2 +-
 server/api/system/index.js                         |    2 +-
 server/api/system/system.controller.js             |    2 +-
 server/api/tag/index.js                            |    2 +-
 server/api/tag/tag.attributes.js                   |    2 +-
 server/api/tag/tag.controller.js                   |    2 +-
 server/api/tag/tag.model.js                        |    2 +-
 server/api/team/index.js                           |    2 +-
 server/api/team/team.attributes.js                 |    2 +-
 server/api/team/team.controller.js                 |    2 +-
 server/api/team/team.events.js                     |    2 +-
 server/api/team/team.model.js                      |    2 +-
 server/api/team/team.rpc.js                        |    2 +-
 server/api/team/team.socket.js                     |    2 +-
 server/api/template/index.js                       |    2 +-
 server/api/template/template.attributes.js         |    2 +-
 server/api/template/template.controller.js         |    2 +-
 server/api/template/template.model.js              |    2 +-
 server/api/template/template.rpc.js                |    2 +-
 server/api/trigger/index.js                        |    2 +-
 server/api/trigger/trigger.attributes.js           |    2 +-
 server/api/trigger/trigger.controller.js           |    2 +-
 server/api/trigger/trigger.model.js                |    2 +-
 server/api/trigger/trigger.rpc.js                  |    2 +-
 server/api/trunk/index.js                          |    2 +-
 server/api/trunk/trunk.attributes.js               |    2 +-
 server/api/trunk/trunk.controller.js               |    2 +-
 server/api/trunk/trunk.model.js                    |    2 +-
 server/api/trunk/trunk.rpc.js                      |    2 +-
 server/api/user/index.js                           |    2 +-
 server/api/user/user.attributes.js                 |    2 +-
 server/api/user/user.controller.js                 |    2 +-
 server/api/user/user.events.js                     |    2 +-
 server/api/user/user.model.js                      |    2 +-
 server/api/user/user.rpc.js                        |    2 +-
 server/api/user/user.socket.js                     |    2 +-
 server/api/userChatQueue/index.js                  |    2 +-
 .../api/userChatQueue/userChatQueue.attributes.js  |    2 +-
 server/api/userChatQueue/userChatQueue.model.js    |    2 +-
 server/api/userFaxQueue/index.js                   |    2 +-
 server/api/userFaxQueue/userFaxQueue.attributes.js |    2 +-
 server/api/userFaxQueue/userFaxQueue.model.js      |    2 +-
 server/api/userMailQueue/index.js                  |    2 +-
 .../api/userMailQueue/userMailQueue.attributes.js  |    2 +-
 server/api/userMailQueue/userMailQueue.model.js    |    2 +-
 server/api/userOpenchannelQueue/index.js           |    2 +-
 .../userOpenchannelQueue.attributes.js             |    2 +-
 .../userOpenchannelQueue.model.js                  |    2 +-
 server/api/userProfile/index.js                    |    2 +-
 server/api/userProfile/userProfile.attributes.js   |    2 +-
 server/api/userProfile/userProfile.controller.js   |    2 +-
 server/api/userProfile/userProfile.events.js       |    2 +-
 server/api/userProfile/userProfile.model.js        |    2 +-
 server/api/userProfile/userProfile.rpc.js          |    2 +-
 server/api/userProfile/userProfile.socket.js       |    2 +-
 server/api/userProfileResource/index.js            |    2 +-
 .../userProfileResource.attributes.js              |    2 +-
 .../userProfileResource.controller.js              |    2 +-
 .../userProfileResource.model.js                   |    2 +-
 server/api/userProfileSection/index.js             |    2 +-
 .../userProfileSection.attributes.js               |    2 +-
 .../userProfileSection.controller.js               |    2 +-
 .../userProfileSection/userProfileSection.model.js |    2 +-
 server/api/userSmsQueue/index.js                   |    2 +-
 server/api/userSmsQueue/userSmsQueue.attributes.js |    2 +-
 server/api/userSmsQueue/userSmsQueue.model.js      |    2 +-
 server/api/userVoiceQueue/index.js                 |    2 +-
 .../userVoiceQueue/userVoiceQueue.attributes.js    |    2 +-
 server/api/userVoiceQueue/userVoiceQueue.model.js  |    2 +-
 server/api/userVoiceQueueRt/index.js               |    2 +-
 .../userVoiceQueueRt.attributes.js                 |    2 +-
 .../userVoiceQueueRt/userVoiceQueueRt.events.js    |    2 +-
 .../api/userVoiceQueueRt/userVoiceQueueRt.model.js |    2 +-
 .../api/userVoiceQueueRt/userVoiceQueueRt.rpc.js   |    2 +-
 .../userVoiceQueueRt/userVoiceQueueRt.socket.js    |    2 +-
 server/api/userWhatsappQueue/index.js              |    2 +-
 .../userWhatsappQueue.attributes.js                |    2 +-
 .../userWhatsappQueue/userWhatsappQueue.model.js   |    2 +-
 server/api/variable/index.js                       |    2 +-
 server/api/variable/variable.attributes.js         |    2 +-
 server/api/variable/variable.controller.js         |    2 +-
 server/api/variable/variable.model.js              |    2 +-
 server/api/variable/variable.rpc.js                |    2 +-
 server/api/version/index.js                        |    2 +-
 server/api/version/version.controller.js           |    2 +-
 server/api/voiceAgentReport/index.js               |    2 +-
 .../voiceAgentReport.attributes.js                 |    2 +-
 .../voiceAgentReport.controller.js                 |    2 +-
 .../api/voiceAgentReport/voiceAgentReport.model.js |    2 +-
 .../api/voiceAgentReport/voiceAgentReport.rpc.js   |    2 +-
 server/api/voiceCallReport/index.js                |    2 +-
 .../voiceCallReport/voiceCallReport.attributes.js  |    2 +-
 .../voiceCallReport/voiceCallReport.controller.js  |    2 +-
 .../api/voiceCallReport/voiceCallReport.model.js   |    2 +-
 server/api/voiceCallReport/voiceCallReport.rpc.js  |    2 +-
 server/api/voiceChanSpy/index.js                   |    2 +-
 server/api/voiceChanSpy/voiceChanSpy.attributes.js |    2 +-
 server/api/voiceChanSpy/voiceChanSpy.controller.js |    2 +-
 server/api/voiceChanSpy/voiceChanSpy.model.js      |    2 +-
 server/api/voiceContext/index.js                   |    2 +-
 server/api/voiceContext/voiceContext.attributes.js |    2 +-
 server/api/voiceContext/voiceContext.controller.js |    2 +-
 server/api/voiceContext/voiceContext.model.js      |    2 +-
 server/api/voiceDialReport/index.js                |    2 +-
 .../voiceDialReport/voiceDialReport.attributes.js  |    2 +-
 .../voiceDialReport/voiceDialReport.controller.js  |    2 +-
 .../api/voiceDialReport/voiceDialReport.model.js   |    2 +-
 server/api/voiceDialReport/voiceDialReport.rpc.js  |    2 +-
 server/api/voiceExtension/index.js                 |    2 +-
 .../voiceExtension/voiceExtension.attributes.js    |    2 +-
 .../voiceExtension/voiceExtension.controller.js    |    2 +-
 server/api/voiceExtension/voiceExtension.events.js |    2 +-
 server/api/voiceExtension/voiceExtension.model.js  |    2 +-
 server/api/voiceExtension/voiceExtension.rpc.js    |    2 +-
 server/api/voiceExtension/voiceExtension.socket.js |    2 +-
 server/api/voiceMail/index.js                      |    2 +-
 server/api/voiceMail/voiceMail.attributes.js       |    2 +-
 server/api/voiceMail/voiceMail.controller.js       |    2 +-
 server/api/voiceMail/voiceMail.model.js            |    2 +-
 server/api/voiceMailMessage/index.js               |    2 +-
 .../voiceMailMessage.attributes.js                 |    2 +-
 .../voiceMailMessage.controller.js                 |    2 +-
 .../api/voiceMailMessage/voiceMailMessage.model.js |    2 +-
 server/api/voiceMusicOnHold/index.js               |    2 +-
 .../voiceMusicOnHold.attributes.js                 |    2 +-
 .../voiceMusicOnHold.controller.js                 |    2 +-
 .../api/voiceMusicOnHold/voiceMusicOnHold.model.js |    2 +-
 server/api/voicePrefix/index.js                    |    2 +-
 server/api/voicePrefix/voicePrefix.attributes.js   |    2 +-
 server/api/voicePrefix/voicePrefix.controller.js   |    2 +-
 server/api/voicePrefix/voicePrefix.events.js       |    2 +-
 server/api/voicePrefix/voicePrefix.model.js        |    2 +-
 server/api/voicePrefix/voicePrefix.rpc.js          |    2 +-
 server/api/voicePrefix/voicePrefix.socket.js       |    2 +-
 server/api/voiceQueue/index.js                     |    2 +-
 server/api/voiceQueue/voiceQueue.attributes.js     |    2 +-
 server/api/voiceQueue/voiceQueue.controller.js     |    2 +-
 server/api/voiceQueue/voiceQueue.events.js         |    2 +-
 server/api/voiceQueue/voiceQueue.model.js          |    2 +-
 server/api/voiceQueue/voiceQueue.rpc.js            |    2 +-
 server/api/voiceQueue/voiceQueue.socket.js         |    2 +-
 server/api/voiceQueueReport/index.js               |    2 +-
 .../voiceQueueReport.attributes.js                 |    2 +-
 .../voiceQueueReport.controller.js                 |    2 +-
 .../voiceQueueReport/voiceQueueReport.events.js    |    2 +-
 .../api/voiceQueueReport/voiceQueueReport.model.js |    2 +-
 .../api/voiceQueueReport/voiceQueueReport.rpc.js   |    2 +-
 .../voiceQueueReport/voiceQueueReport.socket.js    |    2 +-
 server/api/voiceQueuesLog/index.js                 |    2 +-
 .../voiceQueuesLog/voiceQueuesLog.attributes.js    |    2 +-
 .../voiceQueuesLog/voiceQueuesLog.controller.js    |    2 +-
 server/api/voiceQueuesLog/voiceQueuesLog.model.js  |    2 +-
 server/api/voiceRecording/index.js                 |    2 +-
 .../voiceRecording/voiceRecording.attributes.js    |    2 +-
 .../voiceRecording/voiceRecording.controller.js    |    2 +-
 server/api/voiceRecording/voiceRecording.model.js  |    2 +-
 server/api/voiceRecording/voiceRecording.rpc.js    |    2 +-
 server/api/voiceTransferReport/index.js            |    2 +-
 .../voiceTransferReport.attributes.js              |    2 +-
 .../voiceTransferReport.controller.js              |    2 +-
 .../voiceTransferReport.model.js                   |    2 +-
 .../voiceTransferReport/voiceTransferReport.rpc.js |    2 +-
 server/api/webbar/index.js                         |    2 +-
 server/api/webbar/webbar.controller.js             |    2 +-
 server/api/whatsappAccount/index.js                |    2 +-
 .../whatsappAccount/whatsappAccount.attributes.js  |    2 +-
 .../whatsappAccount/whatsappAccount.controller.js  |    2 +-
 .../api/whatsappAccount/whatsappAccount.events.js  |    2 +-
 .../api/whatsappAccount/whatsappAccount.model.js   |    2 +-
 server/api/whatsappAccount/whatsappAccount.rpc.js  |    2 +-
 .../api/whatsappAccount/whatsappAccount.socket.js  |    2 +-
 server/api/whatsappApplication/index.js            |    2 +-
 .../whatsappApplication.attributes.js              |    2 +-
 .../whatsappApplication.controller.js              |    2 +-
 .../whatsappApplication.model.js                   |    2 +-
 server/api/whatsappInteraction/index.js            |    2 +-
 .../whatsappInteraction.attributes.js              |    2 +-
 .../whatsappInteraction.controller.js              |    2 +-
 .../whatsappInteraction.events.js                  |    2 +-
 .../whatsappInteraction.model.js                   |    2 +-
 .../whatsappInteraction/whatsappInteraction.rpc.js |    2 +-
 .../whatsappInteraction.socket.js                  |    2 +-
 server/api/whatsappMessage/index.js                |    2 +-
 .../whatsappMessage/whatsappMessage.attributes.js  |    2 +-
 .../whatsappMessage/whatsappMessage.controller.js  |    2 +-
 .../api/whatsappMessage/whatsappMessage.events.js  |    2 +-
 .../api/whatsappMessage/whatsappMessage.model.js   |    2 +-
 server/api/whatsappMessage/whatsappMessage.rpc.js  |    2 +-
 .../api/whatsappMessage/whatsappMessage.socket.js  |    2 +-
 server/api/whatsappQueue/index.js                  |    2 +-
 .../api/whatsappQueue/whatsappQueue.attributes.js  |    2 +-
 .../api/whatsappQueue/whatsappQueue.controller.js  |    2 +-
 server/api/whatsappQueue/whatsappQueue.events.js   |    2 +-
 server/api/whatsappQueue/whatsappQueue.model.js    |    2 +-
 server/api/whatsappQueue/whatsappQueue.rpc.js      |    2 +-
 server/api/whatsappQueue/whatsappQueue.socket.js   |    2 +-
 server/api/whatsappQueueReport/index.js            |    2 +-
 .../whatsappQueueReport.attributes.js              |    2 +-
 .../whatsappQueueReport.controller.js              |    2 +-
 .../whatsappQueueReport.model.js                   |    2 +-
 .../whatsappQueueReport/whatsappQueueReport.rpc.js |    2 +-
 server/api/whatsappTransferReport/index.js         |    2 +-
 .../whatsappTransferReport.attributes.js           |    2 +-
 .../whatsappTransferReport.controller.js           |    2 +-
 .../whatsappTransferReport.model.js                |    2 +-
 server/app.js                                      |    2 +-
 server/components/auth/service.js                  |    2 +-
 .../components/encryptor/create-cypher-fallback.js |    2 +-
 server/components/encryptor/index.js               |    2 +-
 server/components/export/csv.js                    |    2 +-
 server/components/export/pdf.js                    |    2 +-
 server/components/export/xlsx.js                   |    2 +-
 server/components/extensions/rewrite.js            |    2 +-
 server/components/import/cm/csv2.js                |    2 +-
 server/components/integrations/configuration.js    |    2 +-
 server/components/interaction/service.js           |    2 +-
 server/components/license/service.js               |    2 +-
 server/components/parsers/advancedSearch.js        |    2 +-
 server/components/parsers/qs.js                    |    2 +-
 server/config/config.service.js                    |    2 +-
 server/config/env_definitions.json                 |    4 +-
 server/config/environment/development.js           |    2 +-
 server/config/environment/index.js                 |    2 +-
 server/config/environment/shared.js                |    2 +-
 server/config/environment/test.js                  |    2 +-
 server/config/express.js                           |    2 +-
 server/config/license/hardware.js                  |    2 +-
 server/config/license/index.js                     |    2 +-
 server/config/license/util.js                      |    2 +-
 server/config/local.env.js                         |    2 +-
 server/config/logger.js                            |    2 +-
 server/config/pm2/config.js                        |    2 +-
 server/config/pm2/index.js                         |    2 +-
 server/config/schedule/chat.js                     |    2 +-
 server/config/schedule/index.js                    |    2 +-
 server/config/schedule/transcribe.js               |    2 +-
 server/config/seedContact.js                       |    2 +-
 server/config/seedDB/analyticReports.js            |    2 +-
 server/config/seedDB/analyticTreeReports.js        |    2 +-
 server/config/seedDB/chanspy.js                    |    2 +-
 server/config/seedDB/companies.js                  |    2 +-
 server/config/seedDB/contacts.js                   |    2 +-
 server/config/seedDB/dispositions.js               |    2 +-
 server/config/seedDB/index.js                      |    2 +-
 server/config/seedDB/intervals.js                  |    2 +-
 server/config/seedDB/jscriptyProjects.js           |    2 +-
 server/config/seedDB/lists.js                      |    2 +-
 server/config/seedDB/mailAccounts.js               |    2 +-
 server/config/seedDB/mailSubstatuses.js            |    2 +-
 server/config/seedDB/migrations.js                 |    2 +-
 server/config/seedDB/pauses.js                     |    2 +-
 server/config/seedDB/report/default.js             |    2 +-
 server/config/seedDB/report/fields.js              |    2 +-
 server/config/seedDB/report/index.js               |    2 +-
 server/config/seedDB/sounds.js                     |    2 +-
 server/config/seedDB/squareOdbc.js                 |    2 +-
 server/config/seedDB/squareProjects.js             |    2 +-
 server/config/seedDB/tags.js                       |    2 +-
 server/config/seedDB/teams.js                      |    2 +-
 server/config/seedDB/tree/index.js                 |    2 +-
 server/config/seedDB/trunks.js                     |    2 +-
 server/config/seedDB/userProfiles.js               |    2 +-
 server/config/seedDB/users.js                      |    2 +-
 server/config/seedDB/variables.js                  |    2 +-
 server/config/seedDB/voiceContexts.js              |    2 +-
 server/config/seedDB/voiceExtensions.js            |    2 +-
 server/config/seedDB/voiceMusicOnHold.js           |    2 +-
 server/config/seedDB/voiceQueues.js                |    2 +-
 server/config/seedUsers.js                         |    2 +-
 server/config/socketio.js                          |    2 +-
 server/config/triggers/index.js                    |    2 +-
 server/config/utils.js                             |    2 +-
 server/errors/index.js                             |    2 +-
 server/globals.js                                  |    2 +-
 server/migrations/2.0.12.js                        |    2 +-
 server/migrations/2.0.13.js                        |    2 +-
 server/migrations/2.0.14.js                        |    2 +-
 server/migrations/2.0.15.js                        |    2 +-
 server/migrations/2.0.16.js                        |    2 +-
 server/migrations/2.0.17.js                        |    2 +-
 server/migrations/2.0.18.js                        |    2 +-
 server/migrations/2.0.19.js                        |    2 +-
 server/migrations/2.0.20.js                        |    2 +-
 server/migrations/2.0.21.js                        |    2 +-
 server/migrations/2.0.22.js                        |    2 +-
 server/migrations/2.0.23.js                        |    2 +-
 server/migrations/2.0.24.js                        |    2 +-
 server/migrations/2.0.25.js                        |    2 +-
 server/migrations/2.0.26.js                        |    2 +-
 server/migrations/2.0.27.js                        |    2 +-
 server/migrations/2.0.28.js                        |    2 +-
 server/migrations/2.0.29.js                        |    2 +-
 server/migrations/2.0.30.js                        |    2 +-
 server/migrations/2.0.31.js                        |    2 +-
 server/migrations/2.0.33.js                        |    2 +-
 server/migrations/2.0.34.js                        |    2 +-
 server/migrations/2.0.35.js                        |    2 +-
 server/migrations/2.0.36.js                        |    2 +-
 server/migrations/2.0.37.js                        |    2 +-
 server/migrations/2.0.38.js                        |    2 +-
 server/migrations/2.0.39.js                        |    2 +-
 server/migrations/2.0.40.js                        |    2 +-
 server/migrations/2.0.41.js                        |    2 +-
 server/migrations/2.0.42.js                        |    2 +-
 server/migrations/2.0.43.js                        |    2 +-
 server/migrations/2.0.44.js                        |    2 +-
 server/migrations/2.0.45.js                        |    2 +-
 server/migrations/2.0.46.js                        |    2 +-
 server/migrations/2.0.47.js                        |    2 +-
 server/migrations/2.0.48.js                        |    2 +-
 server/migrations/2.0.49.js                        |    2 +-
 server/migrations/2.0.50.js                        |    2 +-
 server/migrations/2.0.51.js                        |    2 +-
 server/migrations/2.0.52.js                        |    2 +-
 server/migrations/2.0.53.js                        |    2 +-
 server/migrations/2.0.54.js                        |    2 +-
 server/migrations/2.0.55.js                        |    2 +-
 server/migrations/2.0.56.js                        |    2 +-
 server/migrations/2.0.57.js                        |    2 +-
 server/migrations/2.0.58.js                        |    2 +-
 server/migrations/2.0.59.js                        |    2 +-
 server/migrations/2.0.60.js                        |    2 +-
 server/migrations/2.0.61.js                        |    2 +-
 server/migrations/2.0.62.js                        |    2 +-
 server/migrations/2.0.63.js                        |    2 +-
 server/migrations/2.0.64.js                        |    2 +-
 server/migrations/2.0.65.js                        |    2 +-
 server/migrations/2.0.66.js                        |    2 +-
 server/migrations/2.0.67.js                        |    2 +-
 server/migrations/2.0.68.js                        |    2 +-
 server/migrations/2.0.69.js                        |    2 +-
 server/migrations/2.0.70.js                        |    2 +-
 server/migrations/2.0.71.js                        |    2 +-
 server/migrations/2.0.72.js                        |    2 +-
 server/migrations/2.0.73.js                        |    2 +-
 server/migrations/2.0.74.js                        |    2 +-
 server/migrations/2.0.75.js                        |    2 +-
 server/migrations/2.0.76.js                        |    2 +-
 server/migrations/2.0.77.js                        |    2 +-
 server/migrations/2.0.78.js                        |    2 +-
 server/migrations/2.0.79.js                        |    2 +-
 server/migrations/2.0.80.js                        |    2 +-
 server/migrations/2.0.81.js                        |    2 +-
 server/migrations/2.0.82.js                        |    2 +-
 server/migrations/2.0.83.js                        |    2 +-
 server/migrations/2.0.84.js                        |    2 +-
 server/migrations/2.1.0.js                         |    2 +-
 server/migrations/2.2.0.js                         |    2 +-
 server/migrations/2.2.1.js                         |    2 +-
 server/migrations/2.2.2.js                         |    2 +-
 server/migrations/2.2.3.js                         |    2 +-
 server/migrations/2.2.4.js                         |    2 +-
 server/migrations/2.2.5.js                         |    2 +-
 server/migrations/2.2.6.js                         |    2 +-
 server/migrations/2.3.0.js                         |    2 +-
 server/migrations/2.3.1.js                         |    2 +-
 server/migrations/2.3.10.js                        |    2 +-
 server/migrations/2.3.2.js                         |    2 +-
 server/migrations/2.3.3.js                         |    2 +-
 server/migrations/2.3.4.js                         |    2 +-
 server/migrations/2.3.5.js                         |    2 +-
 server/migrations/2.3.6.js                         |    2 +-
 server/migrations/2.3.7.js                         |    2 +-
 server/migrations/2.3.8.js                         |    2 +-
 server/migrations/2.3.9.js                         |    2 +-
 server/migrations/2.3.91.js                        |    2 +-
 server/migrations/2.3.92.js                        |    2 +-
 server/migrations/2.3.93.js                        |    2 +-
 server/migrations/2.3.94.js                        |    2 +-
 server/migrations/2.3.95.js                        |    2 +-
 server/migrations/2.3.96.js                        |    2 +-
 server/migrations/2.3.97.js                        |    2 +-
 server/migrations/2.3.98.js                        |    2 +-
 server/migrations/2.4.0.js                         |    2 +-
 server/migrations/2.4.1.js                         |    2 +-
 server/migrations/2.4.10.js                        |    2 +-
 server/migrations/2.4.11.js                        |    2 +-
 server/migrations/2.4.12.js                        |    2 +-
 server/migrations/2.4.13.js                        |    2 +-
 server/migrations/2.4.14.js                        |    2 +-
 server/migrations/2.4.15.js                        |    2 +-
 server/migrations/2.4.16.js                        |    2 +-
 server/migrations/2.4.17.js                        |    2 +-
 server/migrations/2.4.18.js                        |    2 +-
 server/migrations/2.4.19.js                        |    2 +-
 server/migrations/2.4.2.js                         |    2 +-
 server/migrations/2.4.20.js                        |    2 +-
 server/migrations/2.4.21.js                        |    2 +-
 server/migrations/2.4.3.js                         |    2 +-
 server/migrations/2.4.4.js                         |    2 +-
 server/migrations/2.4.5.js                         |    2 +-
 server/migrations/2.4.6.js                         |    2 +-
 server/migrations/2.4.7.js                         |    2 +-
 server/migrations/2.4.8.js                         |    2 +-
 server/migrations/2.4.9.js                         |    2 +-
 server/migrations/2.5.0.js                         |    2 +-
 server/migrations/2.5.1.js                         |    2 +-
 server/migrations/2.5.2.js                         |    2 +-
 server/migrations/2.5.3.js                         |    2 +-
 server/migrations/2.5.4.js                         |    2 +-
 server/migrations/2.5.5.js                         |    2 +-
 server/migrations/2.5.6.js                         |    2 +-
 server/migrations/2.5.7.js                         |    2 +-
 server/migrations/3.0.0-alpha.js                   |    2 +-
 server/mysqldb/index.js                            |    2 +-
 server/mysqldb/infile-stream-factory.js            |    2 +-
 server/rediscache/index.js                         |    2 +-
 server/routes.js                                   |    2 +-
 server/rpc/index.js                                |    2 +-
 server/services/agi/channel.js                     |    2 +-
 server/services/agi/error.js                       |    2 +-
 server/services/agi/graph/index.js                 |    2 +-
 server/services/agi/index.js                       |    2 +-
 server/services/agi/mailRpc/index.js               |    2 +-
 server/services/agi/reply.js                       |    2 +-
 server/services/agi/rpc/index.js                   |    2 +-
 server/services/agi/scripts/aws/index.js           |    2 +-
 server/services/agi/scripts/aws/lex/index.js       |    2 +-
 server/services/agi/scripts/aws/lex/lib/api.js     |    2 +-
 server/services/agi/scripts/aws/polly/index.js     |    2 +-
 server/services/agi/scripts/aws/polly/lib/api.js   |    2 +-
 server/services/agi/scripts/google/asr/index.js    |    2 +-
 server/services/agi/scripts/google/asr/lib/api.js  |    2 +-
 server/services/agi/scripts/google/index.js        |    2 +-
 server/services/agi/scripts/index.js               |    2 +-
 server/services/agi/scripts/sestek/index.js        |    2 +-
 server/services/agi/scripts/sestek/nda/index.js    |    2 +-
 server/services/agi/scripts/tilde/asr/index.js     |    2 +-
 server/services/agi/scripts/tilde/asr/lib/api.js   |    2 +-
 server/services/agi/scripts/tilde/index.js         |    2 +-
 server/services/agi/server.js                      |    2 +-
 server/services/agi/vertices.js                    |    2 +-
 server/services/ami/acw/index.js                   |    2 +-
 server/services/ami/ami.js                         |    2 +-
 server/services/ami/client.js                      |    2 +-
 server/services/ami/dialer/action.js               |    2 +-
 server/services/ami/dialer/agentComplete.js        |    2 +-
 server/services/ami/dialer/final.js                |    2 +-
 server/services/ami/dialer/hangup.js               |    2 +-
 server/services/ami/dialer/history.js              |    2 +-
 server/services/ami/dialer/index.js                |    2 +-
 server/services/ami/dialer/queueCallerAbandon.js   |    2 +-
 server/services/ami/fax/action.js                  |    2 +-
 server/services/ami/fax/index.js                   |    2 +-
 server/services/ami/fax/rpcDb.js                   |    2 +-
 server/services/ami/fax/util/gs.js                 |    2 +-
 server/services/ami/fax/util/util.js               |    2 +-
 server/services/ami/index.js                       |    2 +-
 server/services/ami/model/agent.js                 |    2 +-
 server/services/ami/model/campaign.js              |    2 +-
 server/services/ami/model/channel.js               |    2 +-
 server/services/ami/model/deskAccount.js           |    2 +-
 server/services/ami/model/dynamics365Account.js    |    2 +-
 server/services/ami/model/faxAccount.js            |    2 +-
 server/services/ami/model/freshdeskAccount.js      |    2 +-
 server/services/ami/model/freshsalesAccount.js     |    2 +-
 server/services/ami/model/queueReport.js           |    2 +-
 server/services/ami/model/salesforceAccount.js     |    2 +-
 server/services/ami/model/servicenowAccount.js     |    2 +-
 server/services/ami/model/sugarcrmAccount.js       |    2 +-
 server/services/ami/model/telephone.js             |    2 +-
 server/services/ami/model/template.js              |    2 +-
 server/services/ami/model/trigger.js               |    2 +-
 server/services/ami/model/trunk.js                 |    2 +-
 server/services/ami/model/voiceExtension.js        |    2 +-
 server/services/ami/model/voiceQueue.js            |    2 +-
 server/services/ami/model/vtigerAccount.js         |    2 +-
 server/services/ami/model/zendeskAccount.js        |    2 +-
 server/services/ami/model/zohoAccount.js           |    2 +-
 server/services/ami/preview/action.js              |    2 +-
 server/services/ami/preview/index.js               |    2 +-
 server/services/ami/preview/rpcDb.js               |    2 +-
 server/services/ami/preview/util/util.js           |    2 +-
 server/services/ami/properties.js                  |    2 +-
 server/services/ami/realtime/index.js              |    2 +-
 server/services/ami/report/index.js                |    2 +-
 server/services/ami/report/userReport.js           |    2 +-
 server/services/ami/report/voiceAgentReport.js     |    2 +-
 server/services/ami/report/voiceCallReport.js      |    2 +-
 server/services/ami/report/voiceDialReport.js      |    2 +-
 server/services/ami/report/voiceQueueReport.js     |    2 +-
 server/services/ami/rpc/agentReportPreview.js      |    2 +-
 server/services/ami/rpc/attachment.js              |    2 +-
 server/services/ami/rpc/campaign.js                |    2 +-
 server/services/ami/rpc/cmContact.js               |    2 +-
 server/services/ami/rpc/cmHopper.js                |    2 +-
 server/services/ami/rpc/cmHopperBlack.js           |    2 +-
 server/services/ami/rpc/cmHopperFinal.js           |    2 +-
 server/services/ami/rpc/cmHopperHistory.js         |    2 +-
 server/services/ami/rpc/faxAccount.js              |    2 +-
 server/services/ami/rpc/faxMessage.js              |    2 +-
 server/services/ami/rpc/integrations/desk.js       |    2 +-
 .../services/ami/rpc/integrations/dynamics365.js   |    2 +-
 server/services/ami/rpc/integrations/freshdesk.js  |    2 +-
 server/services/ami/rpc/integrations/freshsales.js |    2 +-
 server/services/ami/rpc/integrations/salesforce.js |    2 +-
 server/services/ami/rpc/integrations/servicenow.js |    2 +-
 server/services/ami/rpc/integrations/sugarcrm.js   |    2 +-
 server/services/ami/rpc/integrations/vtiger.js     |    2 +-
 server/services/ami/rpc/integrations/zendesk.js    |    2 +-
 server/services/ami/rpc/integrations/zoho.js       |    2 +-
 server/services/ami/rpc/memberReport.js            |    2 +-
 server/services/ami/rpc/template.js                |    2 +-
 server/services/ami/rpc/trigger.js                 |    2 +-
 server/services/ami/rpc/trunk.js                   |    2 +-
 server/services/ami/rpc/user.js                    |    2 +-
 server/services/ami/rpc/voiceAgentReport.js        |    2 +-
 server/services/ami/rpc/voiceCallReport.js         |    2 +-
 server/services/ami/rpc/voiceDialReport.js         |    2 +-
 server/services/ami/rpc/voiceExtension.js          |    2 +-
 server/services/ami/rpc/voiceQueue.js              |    2 +-
 server/services/ami/rpc/voiceQueueReport.js        |    2 +-
 server/services/ami/rpc/voiceQueueRt.js            |    2 +-
 server/services/ami/rpc/voiceRecording.js          |    2 +-
 server/services/ami/rpc/voiceTransferReport.js     |    2 +-
 server/services/ami/server/index.js                |    2 +-
 server/services/ami/trigger/cmContact/index.js     |    2 +-
 server/services/ami/trigger/index.js               |    2 +-
 server/services/ami/trigger/integration/desk.js    |    2 +-
 .../ami/trigger/integration/dynamics365.js         |    2 +-
 .../services/ami/trigger/integration/freshdesk.js  |    2 +-
 .../services/ami/trigger/integration/freshsales.js |    2 +-
 server/services/ami/trigger/integration/index.js   |    2 +-
 .../services/ami/trigger/integration/salesforce.js |    2 +-
 .../services/ami/trigger/integration/servicenow.js |    2 +-
 .../services/ami/trigger/integration/sugarcrm.js   |    2 +-
 server/services/ami/trigger/integration/util.js    |    2 +-
 server/services/ami/trigger/integration/vtiger.js  |    2 +-
 server/services/ami/trigger/integration/zendesk.js |    2 +-
 server/services/ami/trigger/integration/zoho.js    |    2 +-
 server/services/ami/trigger/script/index.js        |    2 +-
 server/services/ami/trigger/urlforward/index.js    |    2 +-
 server/services/email/client.js                    |    2 +-
 server/services/email/index.js                     |    2 +-
 server/services/email/lib/email.js                 |    2 +-
 server/services/email/lib/imap.js                  |    2 +-
 server/services/email/lib/smtp.js                  |    2 +-
 server/services/email/lib/utils.js                 |    2 +-
 server/services/email/model/mailAccount.js         |    2 +-
 server/services/email/realtime/index.js            |    2 +-
 server/services/email/rpc/mailAccount.js           |    2 +-
 server/services/email/server/index.js              |    2 +-
 server/services/express/index.js                   |    2 +-
 server/services/routing/client.js                  |    2 +-
 server/services/routing/index.js                   |    2 +-
 server/services/routing/lib/rule-engine.js         |    2 +-
 server/services/routing/mailRpc/index.js           |    2 +-
 server/services/routing/model/agent.js             |    2 +-
 server/services/routing/model/chatQueue.js         |    2 +-
 server/services/routing/model/faxQueue.js          |    2 +-
 server/services/routing/model/interval.js          |    2 +-
 server/services/routing/model/mailQueue.js         |    2 +-
 server/services/routing/model/openchannelQueue.js  |    2 +-
 server/services/routing/model/smsQueue.js          |    2 +-
 server/services/routing/model/whatsappQueue.js     |    2 +-
 server/services/routing/realtime/index.js          |    2 +-
 server/services/routing/rpc/chatInteraction.js     |    2 +-
 server/services/routing/rpc/chatMessage.js         |    2 +-
 server/services/routing/rpc/chatQueue.js           |    2 +-
 server/services/routing/rpc/chatQueueReport.js     |    2 +-
 server/services/routing/rpc/faxInteraction.js      |    2 +-
 server/services/routing/rpc/faxMessage.js          |    2 +-
 server/services/routing/rpc/faxQueue.js            |    2 +-
 server/services/routing/rpc/faxQueueReport.js      |    2 +-
 server/services/routing/rpc/interval.js            |    2 +-
 server/services/routing/rpc/mailInteraction.js     |    2 +-
 server/services/routing/rpc/mailMessage.js         |    2 +-
 server/services/routing/rpc/mailQueue.js           |    2 +-
 server/services/routing/rpc/mailQueueReport.js     |    2 +-
 .../services/routing/rpc/openchannelInteraction.js |    2 +-
 server/services/routing/rpc/openchannelMessage.js  |    2 +-
 server/services/routing/rpc/openchannelQueue.js    |    2 +-
 .../services/routing/rpc/openchannelQueueReport.js |    2 +-
 server/services/routing/rpc/smsInteraction.js      |    2 +-
 server/services/routing/rpc/smsMessage.js          |    2 +-
 server/services/routing/rpc/smsQueue.js            |    2 +-
 server/services/routing/rpc/smsQueueReport.js      |    2 +-
 server/services/routing/rpc/user.js                |    2 +-
 server/services/routing/rpc/whatsappInteraction.js |    2 +-
 server/services/routing/rpc/whatsappMessage.js     |    2 +-
 server/services/routing/rpc/whatsappQueue.js       |    2 +-
 server/services/routing/rpc/whatsappQueueReport.js |    2 +-
 .../services/routing/server/applications/agent.js  |    2 +-
 .../routing/server/applications/amazonlex.js       |    2 +-
 .../routing/server/applications/autoreply.js       |    2 +-
 .../services/routing/server/applications/close.js  |    2 +-
 .../routing/server/applications/dialogflow.js      |    2 +-
 .../routing/server/applications/dialogflowV2.js    |    2 +-
 .../services/routing/server/applications/gotoif.js |    2 +-
 .../services/routing/server/applications/gotop.js  |    2 +-
 .../routing/server/applications/message.js         |    2 +-
 .../services/routing/server/applications/noop.js   |    2 +-
 .../services/routing/server/applications/queue.js  |    2 +-
 .../routing/server/applications/strategy/agent.js  |    2 +-
 .../server/applications/strategy/beepall.js        |    2 +-
 .../routing/server/applications/strategy/index.js  |    2 +-
 .../server/applications/strategy/rrmemory.js       |    2 +-
 .../routing/server/applications/strategy/util.js   |    2 +-
 .../services/routing/server/applications/system.js |    2 +-
 server/services/routing/server/applications/tag.js |    2 +-
 .../services/routing/server/applications/utils.js  |    2 +-
 server/services/routing/server/index.js            |    2 +-
 server/services/routing/server/interval.js         |    2 +-
 server/services/xdr/agents.controller.js           |    2 +-
 server/services/xdr/calls.controller.js            |    2 +-
 server/services/xdr/core.controller.js             |    2 +-
 server/services/xdr/dials.controller.js            |    2 +-
 server/services/xdr/index.js                       |    2 +-
 server/services/xdr/members.controller.js          |    2 +-
 server/services/xdr/queues.controller.js           |    2 +-
 server/services/xdr/recordings.controller.js       |    2 +-
 server/services/xdr/transfers.controller.js        |    2 +-
 server/services/xdr/utils.js                       |    2 +-
 server/utils/build-info.js                         |    2 +-
 server/utils/mask-sensistive-data.js               |    2 +-
 snippets/chat_v3.0.0-alpha/index.html              |    2 +-
 2106 files changed, 30813 insertions(+), 30660 deletions(-)
 delete mode 100644 public/app-0c74c21a1c1532cf3009.js
 create mode 100644 public/app-236515be3923c5a3498c.js
 create mode 100644 public/app/main/i18n/ar.json
 create mode 100644 public/app/main/i18n/cs.json
 create mode 100644 public/app/main/i18n/da.json
 create mode 100644 public/app/main/i18n/de.json
 create mode 100644 public/app/main/i18n/en.json
 create mode 100644 public/app/main/i18n/es.json
 create mode 100644 public/app/main/i18n/et.json
 create mode 100644 public/app/main/i18n/fa.json
 create mode 100644 public/app/main/i18n/fi.json
 create mode 100644 public/app/main/i18n/fr.json
 create mode 100644 public/app/main/i18n/he.json
 create mode 100644 public/app/main/i18n/hi.json
 create mode 100644 public/app/main/i18n/id.json
 create mode 100644 public/app/main/i18n/it.json
 create mode 100644 public/app/main/i18n/ja.json
 create mode 100644 public/app/main/i18n/ko.json
 create mode 100644 public/app/main/i18n/lt.json
 create mode 100644 public/app/main/i18n/lv.json
 create mode 100644 public/app/main/i18n/nl.json
 create mode 100644 public/app/main/i18n/no.json
 create mode 100644 public/app/main/i18n/org/en.json
 create mode 100644 public/app/main/i18n/org/it.json
 create mode 100644 public/app/main/i18n/pl.json
 create mode 100644 public/app/main/i18n/pt-BR.json
 create mode 100644 public/app/main/i18n/pt-PT.json
 create mode 100644 public/app/main/i18n/ru.json
 create mode 100644 public/app/main/i18n/sv.json
 create mode 100644 public/app/main/i18n/tr.json
 create mode 100644 public/app/main/i18n/zh-CN.json
 create mode 100644 public/app/main/i18n/zh-TW.json

diff --git a/apidoc/api_project.js b/apidoc/api_project.js
index 9581ac4..95a388a 100644
--- a/apidoc/api_project.js
+++ b/apidoc/api_project.js
@@ -17,7 +17,7 @@ define({
   "apidoc": "0.3.0",
   "generator": {
     "name": "apidoc",
-    "time": "2020-11-17T13:23:05.236Z",
+    "time": "2020-11-18T09:58:21.203Z",
     "url": "https://apidocjs.com",
     "version": "0.25.0"
   }
diff --git a/apidoc/api_project.json b/apidoc/api_project.json
index 6dcd048..e87f584 100644
--- a/apidoc/api_project.json
+++ b/apidoc/api_project.json
@@ -17,7 +17,7 @@
   "apidoc": "0.3.0",
   "generator": {
     "name": "apidoc",
-    "time": "2020-11-17T13:23:05.236Z",
+    "time": "2020-11-18T09:58:21.203Z",
     "url": "https://apidocjs.com",
     "version": "0.25.0"
   }
diff --git a/package.json b/package.json
index 466a92d..cc6f449 100644
--- a/package.json
+++ b/package.json
@@ -118,10 +118,10 @@
     "zip-dir": "^1.0.2"
   },
   "xcally": {
-    "shortHash": "5fcd269",
+    "shortHash": "aab2087",
     "branch": "develop",
     "tag": "",
-    "committedOn": "2020-11-17T12:17:06.000Z",
-    "buildDate": "2020-11-17T13:27:15.293Z"
+    "committedOn": "2020-11-18T09:48:03.000Z",
+    "buildDate": "2020-11-18T10:01:17.539Z"
   }
 }
diff --git a/public/769-8e6d4f4f6390a0a4c67f.js b/public/769-8e6d4f4f6390a0a4c67f.js
index 3599a0e..6fc8cb4 100644
--- a/public/769-8e6d4f4f6390a0a4c67f.js
+++ b/public/769-8e6d4f4f6390a0a4c67f.js
@@ -1,2 +1,2 @@
 /*! For license information please see 769-8e6d4f4f6390a0a4c67f.js.LICENSE.txt */
-var a2_0x1861=["mode func type inst solver any_pred any_func is semidet det nondet ","некалькі секунд","DEFAULT_DURATION","Privacy: id","monorail","px'\"></tr>","convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation ","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION_CODE ","renderLayerPostProcess renderLayerUnparent renderManip renderPartition ","SYSRES_CONST_KINDS_SIGNERS_REQUISITES_CODE ","csv","via_host","[An-dè aig] LT","unshift","let in if then else case of where module import exposing ","минуте","buffers","onCompiling","mortar_board","^mwFormQuestionBuilder","iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ",'<span class="md-select-value" ng-click="!ngDisabled && (($mdMenu && $mdMenu.open) ? $mdMenu.open($event) : $mdOpenMenu($event))">',"via_transport","stfips|stname|stnamel|substr|sum|symget|sysget|","backdrop","root","liveleak","noreturn noalias nocapture byval nest readnone ","allItemsOrdered","isbl","flags","status","worried","mdFabToolbar","CreateReference ","%s temu","formatter","The event target must be a table cell.","ArrayHighBound ","ar-dz","%d giorni","height","%d أشهر","grade","layer_background_destroy layer_background_visible ","notebook","encodePacket","mdDetectHidden","pageY","Get-CIDatastore Get-CINetworkAdapter Get-CIRole Get-CIUser Get-CIVApp Get-CIVAppNetwork Get-CIVAppStartRule Get-CIVAppTemplate Get-CIVM ","cleanupInteraction","Ean","velocityY","radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed","marginRight"," pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete","pingTimeoutTimer","app/directives/select-item/select-view.html","mdColorClearButton","dseOnCloseRecord ","dddd, D. MMMM YYYY H:mm","[कल] LT","YYYY. MMMM D.","search_arguments select sort_args sort_arguments thread_atomic ","connect","golo","  </md-dialog-content>","mw-form-question-builder.html","[བདུན་ཕྲག་རྗེས་མ], LT","=ngDisabled","gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm ","EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED ","ek minut","_ok","stuck_out_tongue","\\b(0o[0-7]+)[lLjJ]?",'    <li class="uib-typeahead-match" ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">\n',"Invoke-NsxCli Invoke-NsxClusterResolveAll Invoke-NsxManagerSync Invoke-NsxRestMethod Invoke-NsxWebRequest Invoke-VMHostProfile Invoke-VMScript Invoke-XpathQuery ","md-toolbar","SYSRES_CONST_MAIN_VIEW_CODE ","Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent ","CONNECTION_ERROR",'               ng-click="dialog.abort()" class="md-primary md-cancel-button">',"transport is open - connecting","SYSRES_CONST_STATUS_VALUE_AUTOCLEANING ","sip:[email-masked];transport=ws","#f0f4c3","baremodule begin break catch ccall const continue do else elseif end export false finally for function ","curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected ",'Unopened section "',"AppendToBody","bc8f8f","TransformPoints Translate TrimCurve WorldBegin WorldEnd","Windows NT [VER]","получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления ","oldElementSize","uiOnParamsChanged","SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY ","parseInput","-чу","registerChanges","override private public rec return sig static struct then to ","parseSDP","windowTemplateUrl","SYSRES_CONST_USER_SERVER_NAME_REQUISITE_CODE ","#3949ab","mėnesiai_mėnesių_mėnesius"," />","Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item ","@?mdpOkLabel","webkit[ /][VER]","toJson","menuitemradio","church","^^mdVirtualRepeatContainer","INumericCriterion ","lbpRight ","SYSRES_CONST_CANCEL_MESSAGE_FUNCTION_RESULT ","MMMM D, YYYY h:mm A","handler","shader_is_compiled shader_get_sampler_index shader_get_uniform ","ЦНаборДанныхРеквизит ","afterBody","#CC33FF","sekondi %d","sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 ","weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency ","СпрТблСтрМин ","bufferedInputHandler","sprite_get_width sprite_get_height sprite_get_xoffset ","noIncrementSeconds",".md-fab-toolbar","gridcell","50 100 200 A100 A200","highlightAuto","<li/>","focusCalendar","iceConnectionState","Session Timer Expired","-юм","IJob ","audio_falloff_none audio_falloff_inverse_distance ","months mount move movement multiset mutex name name_const names nan national native natural nav nchar ","dseAfterInsert ","real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn ","loop",'md-start-index="monthCtrl.getSelectedMonthIndex()" ','<div class="md-virtual-repeat-sizer" role="presentation"></div>',"[Эртең саат] LT",'" at ',"ctDialog ","autoSetItemPosition","бір ай","osName","#FF0066"," label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max","category","Get-vRACatalogItemRequestTemplate Get-vRACatalogPrincipal Get-vRAComponentRegistryService Get-vRAComponentRegistryServiceEndpoint Get-vRAComponentRegistryServiceStatus ",'<input name="{{ inputName }}" ng-model="model.$viewValue" ng-required="required()" type="{{ ::type }}"',"instantiate","keyboard_check_released keyboard_check_direct keyboard_get_numlock ","eio_iframe_","IRule ",'emit "accepted"',"vertex_usage_psize vertex_usage_tangent vertex_usage_binormal ","true false null and or shl shr mod","sunrise_over_mountains","nextTick","kbv_autocapitalize_none kbv_autocapitalize_words ","eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab","a8m.first","updateBezierControlPoints","eight_spoked_asterisk","indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC ","list-style-image","%d minuttir","[այսօր] LT","japanese_castle","SYSREF_EDOCUMENT_VIEWS ","findMatches","yhden","useAnchorScroll","před %s","postProcess","_weekdaysMinStrictRegex","минут","isBuffering","dddd, YYYY[ko] MMMM[ren] D[a] HH:mm","@?mdMenuContainerClass","Pz_Pt_Sa_Ça_Pe_Cu_Ct","SYSRES_CONST_USER_RIGHTS_T_REQUISITE_CODE ","zh-hk","getFooter","D/M/YYYY","import qualified as hiding","REGEXP","#76ff03","ansi16","grey_question","jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec","cycle decide decompose dependent destruct destruction dintuition ","[1-2]?[0-9]{1}|3[0-1]{1}","gesture_drag_time gesture_drag_distance gesture_flick_speed ","_bodyAlign","centerVariant","withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers ","scheduleOpenHoveredMenu","BOTTOM","getResponseSheetHeaders","setLocalDescription","icStructuredConversionRule ","ng-trim","media",".md-ripple-container","MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm","add and alter as cascade check create delete describe ","IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE ","Get-HCXReplication Get-HCXReplicationSnapshot Get-HCXService Get-HCXSite Get-HCXSitePairing Get-HCXVM Get-HardDisk Get-IScsiHbaTarget ","isEqual","SYSRES_CONST_ORANGE_LIFE_CYCLE_STAGE_FONT_COLOR ","md-placeholder","jsbinHeight","SYSREQ_EDOC_TYPE_REQ_ON_SELECT_KIND ","max-forwards","println readln print import module function local return let var ","रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि","paramFactory","dseOnOpenRecord ","align","physics_joint_pulley_create physics_joint_wheel_create ","SYSRES_CONST_REQ_MODE_VIEW_CODE ","$getOfferedAnswerByIdMap","\\[/noprocess\\]","uibBar","gpu_set_texfilter_ext gpu_set_texrepeat gpu_set_texrepeat_ext ","dseAfterClose ","^mwFormViewer","87ceeb","ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE ","$md.pressup","a8m.test","openCuratorInterface openDLCPage openMap openSteamApp openYoutubeVideo or orderGetIn overcast ","vài giây","nem","Windows NT 4.0","revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames ","\\b-?\\d+",'<td class="md-cell">',"fromProvider","false int abstract private char boolean static null if for true ","remote","Get-vRNIRecommendedRules Get-vRNIRecommendedRulesNsxBundle Get-vRNISecurityGroup Get-vRNISecurityTag Get-vRNIService Get-vRNIServiceGroup Get-vRNIVM Get-vRNIVMvNIC ","ServerEvents ","dddd [tɛmɛnen lɛrɛ] LT","addQuestion","সকাল","yaml","\\b(0[oO][0-7]+)n?","attachRoute","layer_tile_change layer_tile_xscale layer_tile_yscale ","equals error every exit fifth first for fourth from front ","_isDSTShifted","godina","popover","[\\x0B-\\f]","data-ng-animate"," kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform","layout-padding","droplet","hwbString","corn","एका दिवसा",'"deactivated"',"builders","Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+$|Coast/[0-9.]+","open_hands","md-datepicker-invalid","00000001","argument for mustache#render(template, view, partials)","aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,","unconnected_drive undef undefineall","<a ","minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month ","вечора","1 小時","highscore_clear highscore_add highscore_value highscore_name ","STATUS_CALLING","renderDeferred","_packet","justified","\\*\\/","$sce","SYSREQ_LEADER_REFERENCE ","Block","uib/template/tooltip/tooltip-template-popup.html","SYSRES_CONST_OURFIRM_REQUISITE_CODE ","validates","New-vRNIDataSource Open-VMConsoleWindow Publish-Module Publish-NsxSpoofguardPolicy Publish-Script Register-PSRepository Register-PackageSource Remove-AdvancedSetting ","_delayedDragTouchMoveHandler","fromJson","$urlService","family","===\\s","SSSSSSS","material.components.progressLinear","registrationExpiring","rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh ","Anonymous","wdtTaskCollection ","ранку","containerHeight","--(\\w+)","RTCPeerConnection","external implicit|10 none double precision assign intent optional pointer ","timer_L","Windows Phone OS","layout-nowrap","sctpmapNumber","border-","BEGIN END if else while do for in break continue delete next nextfile function func exit|10","[el] dddd [pasado a la","waManual ","particlesQuality pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW ","D MMMM YYYY H:mm","redirect","Android.*Nexus[\\s]+(7|9|10)","Remove-VMHostProfileVmPortGroupConfiguration Remove-VMHostRoute Remove-VTpm Remove-VasaProvider Remove-VirtualPortGroup Remove-VirtualSwitch ","getButtonEl","студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж"," random_permutation random_poisson random_rayleigh random_regular_graph random_student_t","ek voros","ctListBox ","function constructor destructor procedure method","კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი","[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|","interceptor","defparam design disable dist do edge else end endcase endchecker endclass ","badcfg","rayleigh wiener pareto pareto_type_2 von_mises uniform ","refreshViewValue","lbpLeft ","escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding ","pointerType","newTag","[>?]>","color._a","beforeDatasetsDraw","return safe scan seek set socket source split string subst switch tcl_endOfWord ","uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid ","handleTickRangeOptions"," induced_subgraph inferencep inference_result infix info_display init_atensor","disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayParent ","einer Minute","WindowsPhoneOS","IEdmsObjectInfo ","NG_EMBED_REGEXP_PATTERNS","devezh","आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.","terminators","една година","_extraHeaders","1.4.1","cross","Invalid type of a second argument, a boolean expected.","require returnhome skip split_thread sum take thread to trait type ","texture_global_scale surface_create surface_create_ext ","'n þora","layer_sprite_alpha layer_sprite_x layer_sprite_y ","getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval ","Analysis ","drop","showDigital",'<md-button ng-if="ngModel.showClear" class="md-raised" ng-click="clear()">{{getLocalizationVal("Clear")}}</md-button>','      <td class="form-group uib-time hours" ng-class="{\'has-error\': invalidHours}">\n',"chartClick","januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro","[Kemarin pukul] LT","ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం","compact","telephone",", dropping the response","integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even ","итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла ","bir saat","&?mdSearchTextChange","buffer_get_alignment buffer_poke buffer_peek buffer_save ","_parameters","lbpAbove ","toUpper","readAsDataURL","build_name exec_program export_library_dependencies install_files install_programs ","addNewRow","selectedTemplate","unzipWith","angelscript","simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime ","quotename radians raise rand range rank raw read reads readsize rebuild record records ","$$phase","DD/MM/YYYY","192.0.2.","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION ","clearTimeout","sv-placeholder","layer_sprite_create layer_sprite_destroy layer_sprite_change ","pár sekundami","border-right","mdMenu","dragend","endOf","Select Row","rgb(205, 205, 205)","maxHeight","#2962ff","audio_listener_set_position audio_listener_set_velocity ","$Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AllowExternalChannelFunctions $AssertFunction $Assumptions $AsynchronousTask $AudioInputDevices $AudioOutputDevices $BaseDirectory $BatchInput $BatchOutput $BlockchainBase $BoxForms $ByteOrdering $CacheBaseDirectory $Canceled $ChannelBase $CharacterEncoding $CharacterEncodings $CloudBase $CloudConnected $CloudCreditsAvailable $CloudEvaluation $CloudExpressionBase $CloudObjectNameFormat $CloudObjectURLType $CloudRootDirectory $CloudSymbolBase $CloudUserID $CloudUserUUID $CloudVersion $CloudVersionNumber $CloudWolframEngineVersionNumber $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $Cookies $CookieStore $CreationDate $CurrentLink $CurrentTask $CurrentWebSession $DateStringFormat $DefaultAudioInputDevice $DefaultAudioOutputDevice $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultLocalBase $DefaultMailbox $DefaultNetworkInterface $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $EmbedCodeEnvironments $EmbeddableServices $EntityStores $Epilog $EvaluationCloudBase $EvaluationCloudObject $EvaluationEnvironment $ExportFormats $Failed $FinancialDataSource $FontFamilies $FormatType $FrontEnd $FrontEndSession $GeoEntityTypes $GeoLocation $GeoLocationCity $GeoLocationCountry $GeoLocationPrecision $GeoLocationSource $HistoryLength $HomeDirectory $HTMLExportRules $HTTPCookies $HTTPRequest $IgnoreEOF $ImageFormattingWidth $ImagingDevice $ImagingDevices $ImportFormats $IncomingMailSettings $InitialDirectory $Initialization $InitializationContexts $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $InterpreterTypes $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $LocalBase $LocalSymbolBase $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $MobilePhone $ModuleNumber $NetworkConnected $NetworkInterfaces $NetworkLicense $NewMessage $NewSymbol $Notebooks $NoValue $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $Permissions $PermissionsGroupBase $PersistenceBase $PersistencePath $PipeSupported $PlotTheme $Post $Pre $PreferencesDirectory $PreInitialization $PrePrint $PreRead $PrintForms $PrintLiteral $Printout3DPreviewer $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $PublisherID $RandomState $RecursionLimit $RegisteredDeviceClasses $RegisteredUserName $ReleaseNumber $RequesterAddress $RequesterWolframID $RequesterWolframUUID $ResourceSystemBase $RootDirectory $ScheduledTask $ScriptCommandLine $ScriptInputString $SecuredAuthenticationKeyTokens $ServiceCreditsAvailable $Services $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SourceLink $SSHAuthentication $SummaryBoxDataSizeLimit $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemMemory $SystemShell $SystemTimeZone $SystemWordLength $TemplatePath $TemporaryDirectory $TemporaryPrefix $TestFileName $TextStyle $TimedOut $TimeUnit $TimeZone $TimeZoneEntity $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $UnitSystem $Urgent $UserAddOnsDirectory $UserAgentLanguages $UserAgentMachine $UserAgentName $UserAgentOperatingSystem $UserAgentString $UserAgentVersion $UserBaseDirectory $UserDocumentsDirectory $Username $UserName $UserURLBase $Version $VersionNumber $VoiceStyles $WolframID $WolframUUID","CLOSING","eight","zeroLineColor","\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$","ty1","_transport",'" height="',"процедура|функция","janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember","firebug","topIndex","</md-prev-button> ","\\s[A-Za-z0-9_.-]+","%d عامًا","waitingOnPromise","activeOption","ins","rec with let in inherit assert if else then","missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis ","smirk_cat","rsl","[0-9]|[1-4][0-9]|5[0-3]","keyCode","fire_engine","if possible.","видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение ","str_utf8_length","mdFabSpeedDial",".nolist ","COMMENT","maxBy","no_mobile_phones","pointBorderWidth","dddd[и] [ҳафтаи оянда соати] LT","vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|","maxptime:%d","(^|[^\\\\]):","خميس","getFirstDateOfMonth","CHECK_REQUIRED_DATA_FULLNESS_RULE_ID ","#9ccc65","onFocus","SYSRES_CONST_AUTH_PASSWORD ","JOB_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY ","uib-position-measure","[ഇന്ന്] LT","EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE ","emRecoveryFromLocalCopy ","xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx","arrow_upper_left","一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月","unsetSize_","null true false nil ","pattern","IDocRequisite ","valueOnUse","<div ng-if=\"size === 'large'\" class=\"md-title\">{{title || 'Edit'}}</div>","(i|[fF]i|Li)","_(?![_\\s])","ngMax","msie","emLockFromEdit ",'<md-icon md-svg-src="','     selected-template="ngModel.selectedTemplate" ',"onwebkittransitionend","_fullWeekdaysParse","[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)","toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)","$uiRouterGlobals","SYSRES_CONST_DOCUMENT_TEMPLATES_TYPE_NAME ","qualified type data newtype deriving class instance as default ","FxiOS/[VER]","Content-Type: ","momentProperties","def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem ","SYSRES_CONST_FILTER_NAME_REQUISITE_CODE ","returnEnd","Failed to sanitize html because the input is unstable","layoutLtMd","bfcpUserId"," cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2","ਇੱਕ ਘੰਟਾ","md-dummy-tab","msec","%d 分鐘","win8_share_image win8_share_screenshot win8_share_file ","dddd, D MMMM YYYY [i] HH:mm","getElement","outline-width",'     disable-templates="{{disableTemplates}}" ',"assertive","ckScript ","SYSRES_CONST_KINDS_EDOC_TEMPLATE_REQUISITE_CODE ","UibDaypickerController","mouseup",'<canvas width="100%" height="100%"></canvas><div class="md-color-picker-marker"></div>',"viewDecl","<- Deregistering","msPointerEnabled","wptPick ","multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|","ffb6c1","reconnect","physics_fixture_set_angular_damping physics_fixture_set_circle_shape ","-ші","रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि","lat",'<li ng-class="[{active: active, disabled: disabled}, classes]" class="uib-tab nav-item">\n',"ds_stack_push ds_stack_pop ds_stack_top ds_stack_write ds_stack_read ","achievement_show_bank achievement_show_friend_picker ","типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента ","SUBTASK_BLOCK_START_EVENT ","open_file_folder","_compileTemplate","_compilerCleanup","'ünji","enim mesecem","md-origin-","%d ай",'role="button" ',"renderSection","_listeners","SYSRES_CONST_TEST_DEV_SYSTEM_CODE ","aliasPixel","어제 LT","[আজ] LT",".md-subheader-content","#42a5f5","emMarkAsReaded ","ribbon","onReceiveResponse","CurrentUserName ","setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat ","un eur"," powerdisp pred prederror primep_number_of_tests product_use_gamma program"," ziuas","subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum ","UibDatepickerController","operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion ","префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына ","searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey ","lastIndexOf","$to","setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech ","V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",'         uib-tab-content-transclude="tab">\n',"material.components.radioButton","toPromise","a8m.truncate","рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных ","LoadStringFmt ","режимсохраненияпутейzip уровеньсжатияzip ",'creating transport "%s"',"stop","network_config_use_non_blocking_socket ","inCurrentMonth"," SIP/2.0\r\n","minutes","_updateTabs","abbr","objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface ","@?mdMaxChips","audioOutputDevices","$1.*?","monthsShort","a8m.math.byteFmt","\\B('[A-Za-z])\\b","SYSRES_CONST_KIND_REQUISITE_NAME ","orderBy","months accessor is deprecated. Use month instead",".md-calendar-scroll-mask","$mdTabInkRipple","fontStyle","feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final ","mdFabActions","SYSREQ_TYPE ","contentWidth",'"%"',"SYSRES_CONST_AUTOTEXT_USAGE_WORK_CODE ","bodyClickHandler","SYSRES_CONST_POSITIVE_PICK_VALUE ","url(#"," clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse","ShowConstantsInputDialog ","a8m.split","$watch","rgb(255, 255, 255)","onRequest onReceive changePIN playFile noBuffer ","SYSRES_CONST_REMOTE_SERVER_TYPE_SECONDARY ","#303f9f","%d Minutten","win8_search_disable win8_search_add_suggestions ","MMMM D, YYYY HH:mm","ngMessageExp","$mdOpenMenu","splitOnDelim","addTrack","dddd [om] LT","mdIcon","password","flip","[tegnap] LT[-kor]","icDialogFormEventHandler ","200","The ngSanitize module must be loaded in order to use htmlContent.","dddd [ag] LT","destroyRTCSession","FILES_FOLDER_PATH ","getElementById","define-syntax delay do dynamic-wind else for-each if lambda let let* ","url_open url_open_ext url_open_full get_timer achievement_login ","[上]dddLT","c_aqua c_black c_blue c_dkgray c_fuchsia c_gray c_green c_lime ","FormImageBuilderId","রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার","requestsCount","=mdMaxDate","രാവിലെ","fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo ","repeatName","exp ln log2 log10 sin cos tan arcsin arccos arctan arctan2 dsin dcos ","Lúnasa",'authenticate() | using qop=auth [a2:"%s"]',"isDateComplete","setUTCHours","MW_ELEMENT_TYPES","timeFormat","buffer_s8 buffer_u16 buffer_s16 buffer_u32 buffer_s32 buffer_u64 ","target_include_directories target_link_directories target_link_libraries ","f32 f64 ","DOCUMENT CONTENT","next","urlMatcherFactory",'<span class="md-thumb-text"></span>',"setElementPosition","hex8","\\[/noprocess|","stable","mdColorMaterialPalette","factor","animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert ","stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex ","jkJob ","nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota","multiTooltipTemplate","ngInputElement","$attr","splineCurve","cloneObject","pullAt","hasBody","SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_YES_CODE ","scrollDisplayLeft writeMicroseconds delayMicroseconds ","EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH ","local_identity","compare","scrollLeft","YYYY年M月D日 HH:mm","nsps","md-dialog-backdrop md-opaque","@[^@\\s]+","gruu","addElement","doWrite","envelope","Manager","DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE ","executable input wincol setmatches getftype hlID inputsave ","\\$\\(","useOnSelectExpression","onInputFocus","$dismiss","spotifyEmbed","SM-V700","failed","setValues","មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ","removePage","%d თვე","Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession ","call-with-input-file call-with-output-file case cond define ","titleBlock","policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction ","$translationCache","ffd700","HH.mm","tension","//|{|}|endif|gosub|variant|wend|^\\$ ",'    <div class="tab-pane"\n',"Opera Mobi","dynamic else enum export extends extension external factory false final finally for Function get hide if ","skeleton_get_num_bounds skeleton_get_bounds ","showPicker","SYSREQ_NAME ","ole oge ord uno ueq une x acq_rel acquire ","f08080","_strict","ngTrim","case_insensitive","SYSREQ_EDOC_VERSION_DATA ",'<li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'previous\')}}</a></li>\n',"Bad Gateway",'Invalid "target" value, use a valid Element',"generation","\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b","muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs ","animationDelay","buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge ","cancelAnimationFrame","ilang segundo","CreateException ","setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize ","IDeaObjectInfo ","mwFormUtils.responseUtils","love_hotel","icLookUpEventHandler ","YYYY年M月D日 dddd HH:mm","' not valid for state '","extractResponse","$$animationProvider","SYSRES_CONST_SEARCHES_TASK_CONTENT ","handleMenuItemHover","Job ","sendMessage()","Get-vRAResourceType Get-vRARoutedNetworkProfile Get-vRAService Get-vRAServiceBlueprint Get-vRASourceMachine Get-vRAStorageReservationPolicy Get-vRATenant Get-vRATenantDirectory ","einem Monat","realm","J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc","entsambama","Function","найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы ","getHwb","ds_map_destroy ds_map_clear ds_map_copy ds_map_size ds_map_empty ","sub","UibYearpickerController","toUpperCase","lety","subLanguage","set shopt ","icBlockQueryParamsEventHandler ","animation-direction","IExternalEvents ","rgb(","overrideSuggestions","'md-left':          tab.isLeft(), ","A h:mm:ss -നു","%d oⵙⵙⴰⵏ","material.components.autocomplete","matlab","$$state","note","ctReference ","system real4 by dateItems without char character ascending eighth whole dateTime numeric short ","fixedStepSize","normalizeUIViewTarget","SYSRES_CONST_USER_STATUS_SYSTEM_DEVELOPER_CODE ",'("|\\$[G-Zg-z]|\\/\\*|</|=>|->)',"displayColor displayCull displayLevelOfDetail displayPref displayRGBColor ","copyText","secure","Hours","^[a-zA-Z][a-zA-Z0-9-]*"," Monate","offsetParent","Request Terminated","sizeY","ReadCertificateFromFile ","triangles triangles_adjacency uniform varying vertices volatile writeonly",'<md-input-container class="md-block"><label>Text</label> <textarea ng-model="Label.item.value" md-maxlength="150" rows="5">\n</textarea></md-input-container>',"$$encodeUriSegment","يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە","установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим ","getResponseSheetRow","\\s+\\{","projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx ","SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange ","Pantech.*P4100","CreateDualListDialog ","middle","Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog ","standby start starting startup statement static statistics stats_binomial_test stats_crosstab ","یه‌ك خوله‌ك","SYSREF_VIEWERS ","Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des","scrub|5 max-mss min-ttl no-df|10 random-id","assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems ","STRING_TO_ARRAY UNNEST ","device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use ","mėnuo_mėnesio_mėnesį","([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*","missing channels property: ","draw_point_colour draw_line_colour draw_line_width_colour ","ebnf","D. MMMM YYYY [kl.] H:mm","mwForm.questionUpdate","zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 ","_auth","let not of orelse|10 query receive rem try when xor","UPDATE","hasTransitionAll",'"accept" not supported for outgoing Message',"www-authenticate","kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language ","^uibTabset","vet","OS/2","weekNumberFormatter","Conjectures Constant constr Constraint Constructors Context Corollary ","[આજ] LT","<md-input-container md-no-float>","texture_set_stage texture_get_texel_width texture_get_texel_height ","a0522d","resource","_deregisterHookFns",'!function(){"use strict";window.retargetLinks=function(){ var gists=',"configurable","remote_identity","setMonth","globalvar enum #macro #region #endregion","OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027","GlobalIDs ","detach","#f44336","getVideoTracks","option or order outer over parse partition password path pool prepare primary private privilege ","removeFromSortableElements","mdIsError","_updateView",'  <ul class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n',"negativeScrollAdjustment","getResponseHeader","if let in with where case of class instance otherwise ","CSeq: ","ZⓏＺŹẐŻŽẒẔƵȤⱿⱫꝢ","    </div>","gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel ","SYSRES_CONST_CODE_COMPONENT_TYPE_REFERENCE ","data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGQ9Ik0yNCAxNmwtMTIgMTIgMi44MyAyLjgzIDkuMTctOS4xNyA5LjE3IDkuMTcgMi44My0yLjgzeiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==","OPERATING_RECORD_FLAG_MASCULINE ","showComments"," maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp","isAndroid","wdtReferenceRecordCollection ","sqrt","?^mdMenuBar","DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST ","^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b","hasMaxChipsReached","profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor ","resetPingTimeout","updateChipContents","fff","progressbar","Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday","transition-timing-function","kelios sekundės",'<div class="md-calendar-scroll-mask">',"htmlVoidElements","case default function var void const let enum export import native list map ","dvd",'<span class="mdp-datepicker-date" ng-click="datepicker.showCalendar()" ng-class="{ \'active\': !datepicker.selectingYear }">{{ datepicker.date.format(datepicker.displayFormat) }}</span> ',"URL","f5f5f5","SYSRES_CONST_ADITIONAL_JOB_START_DATE_REQUISITE_NAME ",'<li role="menuitem" ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)" ng-disabled="ngDisabled&&!page.active" uib-tabindex-toggle>{{page.text}}</a></li>\n',"aemEnabledOnBrowse ","GradientType = 1, ","ui.bootstrap.datepickerPopup","locationConfig","[gisteren om] LT","munud","supportsBinary","md-autocomplete","emMarkAsUnreaded ","#ede7f6","iffJPEG ","getItemSize","str2float strlen setline getcharmod setbufvar index searchpos ","audio_listener_set_orientation audio_listener_get_data ","useTransformChipExpression",")\\s*","from-tag","ien jier","$log","nextItem","via_branch","stateContext","mostReadable","setup draw",".inactive","rgb(128, 0, 255)","gpu_set_colourwriteenable gpu_set_alphatestenable ","rotate","$uiViewContextAnchor","setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|","%d mesos","yPadding","rgb(0, 245, 245)","gpu_set_tex_mip_bias_ext gpu_set_tex_min_mip gpu_set_tex_min_mip_ext ","ratDelete ","real_vector time_vector","ui.bootstrap.timepicker","sendInfo()","кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных ","setIsPlaceholder","MdTabsController","Int Float String Bool Dynamic Void Array ",'  <md-select-menu role="presentation" {0} {1}>{2}</md-select-menu>',"[^\\\\][^']","sortedLastIndexBy","Timer L expired for transaction ","JOB_BLOCK_IS_PARALLEL_PROPERTY ","SYSRES_CONST_REFERENCE_RECORD_HISTORY_MODIFY_ACTION_CODE ","SYSRES_CONST_AUTHENTICATING_SIGNATURE_NAME ","material.components.datepicker","bevel","отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения ",'  tooltip-template-transclude-scope="originScope()"></div>\n',"draw_light_define_direction draw_light_define_point ","cd5c5c","isArrayLike","null false true","Step Switch Then To Until Volatile WEnd While With","баъди %s","nobuiltin noduplicate nonlazybind optnone returns_twice ","%!S+","get","device_mouse_check_button_pressed device_mouse_check_button_released "," ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp","Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration ","windowBlurHandler","oldDraggableIndex","ctPanel ","inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method ","green","hold","rtrim","SYSRES_CONST_WIZARD_FORM_LABEL_TEST_STRING  ","[%-]?%>","removeListener","bamboo","early-only","callable calling-module-name car case cdr chain chr coll? combinations compile ","ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w "," nthroot nullity nullspace num numbered_boundaries numberp number_to_octets","mw-form-page-builder.html","SYSRES_CONST_CONST_NEGATIVE_VALUE ","normal","Encoder","uibTooltip",'<div class="md-toast-content">',"_onTouchMove","sin","emDelete ","Mac OS","nix","myFrequency","ngCsv.directives","ackTimer","queryParams","years accessor is deprecated. Use year instead","typeaheadShowHint","backoff","فبراير","and then defined module in return redo if BEGIN retry end for self when ","SYSRES_CONST_JOB_KIND_NOTICE ","आ_सो_मं_बु_ब्रे_सु_शे","abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames ","$pageSelect","metro","Окр ","handleKeyEvent","dropdownAppendToBody","SYSRES_CONST_DATA_TYPE_VARIANT ","ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt ",'<table class="uib-timepicker">\n',"clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal ","angular.password","po %s","un minuto","range","BYE Received","const counters persist","[a-zA-Z](\\.?\\w)*","longestLabelWidth","[assant g] LT","\\{|;","^_{4,}\\n","</style>","mdOnRemove","prototype","TODAY_CLASS","millis begin print write ready flush width ","شوبات","[0-9]+[bf]",'ng-blur="ctrl.setFocused(false)"> ',"scrollbarYLeft","zip_unzip load_csv base64_encode base64_decode md5_string_unicode ","timer","NON_INVITE_SERVER","Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag","moneybag","NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI","empty","propertyIsEnumerable","._md-nav-button-text","mdDateRangePickerServiceModel","DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW ","SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION ","platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename ",'"tcp"','md-scope="::tab.parent"></md-dummy-tab> ',"SYSRES_CONST_VIEW_DEFAULT_NAME ","attach","sekund","md5","instanceof with throw case default try this switch continue typeof delete ","студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань","@[A-Za-z]+","ckDialog ","0px","translate3d(","md-table-select","curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine ","Decoder","stateOn",'Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute',"uri","isCombo","onRender","argument9 argument10 argument11 argument12 argument13 argument14 ","xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.","__wrapped__","model.isDisabledDate({ $date: $date }) will be removed from model on next rlease, please use root config e.g. $mdDateRangePicker.show({isDisabledDate:($date)=>{}}) instead","taggerscript","Asus.*Galaxy|PadFone.*Mobile","ads_disable ads_setup ads_engagement_launch ads_engagement_available ","এক দিন","[ahir a ","[danas u] LT","$$checkUrlChange",'<md-backdrop class="{0}">',"9acd32","ldctIntegratedReport ","isCustomLabel","labelX","Map","_trackedPanels",'     uib-modal-animation-class="fade"\n',"luminosity","एक वर","wfetText ","fitRipple","ComSpec Clipboard ClipboardAll ErrorLevel","(?:D|LL|M|RE|S|T|VE))?","tongue","You must provide a value to the update-scroll function","wptNumeric ","initializeEvents","fontSmiley","$coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename ","jsp","vertex_color vertex_argb vertex_texcoord vertex_normal vertex_float1 ",'<md-button ng-class="{ \'md-primary\': clock.selected == step, \'md-raised\': raised || clock.selected == step  }" ng-mouseenter="raised = true" ng-mouseleave="raised = false" class="md-icon-button mdp-clock-deg{{ ::(clock.STEP_DEG * ($index + 1)) }}" ng-repeat="step in clock.steps" ng-click="clock.setTime(step)">{{ step }}</md-button>',"\\b\\d+\\b","bquote|nrbquote|cmpres|qcmpres|compstor|","isCanvasSupportsStreamCapturing","secs","ng-inactive","LinearScaleBase","=mdAutoSelect"," aasta","Bar","dddd, D MMMM YYYY HH:mm","%s %d %s %s","authorization","rdtUnknown ","UbiSlate[\\s]?7C","draw_path draw_healthbar draw_getpixel draw_getpixel_ext ","received WebSocket message","SET_FIRM_CONTEXT_FROM_RECORD_RULE_ID ","ctFolder ","isPrivateBrowsing","_simpleBind","okta diimmu","$browser","exec else break not with class assert yield try while continue del or def lambda ","Gear","_md-nested-menu","checkPull","loadFailureHandler","currentHue","ngTouch is not supported with AngularJS Material!","^__(END|DATA)__$","%d দিন","#1565c0","txtDelim",'"phone"',"setMin","JSON_CALLBACK","SYSDLG_SETUP_FILTER_CONDITION ","isPM","toISOString","vimeo","$mdExpansionPanelGroup.register() Expects name to be a string","button, a, md-button","length lower map markdown merge nl2br number_format raw reduce replace ","acks","компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных ","getQuestionWithResponseList","mixin","md-ripple-placed","onDomAdded","Press delete to remove this chip.","md-menu","ant","app","типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs ","topMargin","raw","mdNestLevel","blue_book","collapsed","#666","يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر","#00bcd4","offsets","gesture_get_double_tap_distance gesture_get_pinch_distance ","getChipBuffer","No instance found for handle","den","modal-animation","ui.bootstrap.progressbar","repeater",'"-"',"ssmSelect ","bat","videoinput","raise ref return shl shr static template try tuple type using var ","addEventListeners","fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul ","utSystemDeveloper ","defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir ","r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d ","arrayTuples","TEST_EDMS_MAIN_DB_NAME ","SYSRES_CONST_TASK_TYPES_GROUPS_REFERENCE_CODE ","$mdSidenavController","vector-effect","%s geleden","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION ","Windows 2000","Derive Drop eauto End Equality Eval Example Existential Existentials ","СтрТблСпр ","currentlyOpenMenu","inheritedData","handleClickSelectThisMonth","miaka %d","fed","componentEditor compositingInterop computePolysetVolume condition cone confirmDialog ","SYSREQ_REF_TYPE_REQ_SECTION ","translateLanguage","tvSetColor tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled ","SYSREF_ACCESS_RIGHTS_TYPES ","вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер ","isOtherAnswer","autoConfirm","plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel ","[ui-view#","pollComplete","addressTypes","Remove-NsxEdgeBgpNeighbour Remove-NsxEdgeCertificate Remove-NsxEdgeCsr Remove-NsxEdgeFirewallRule Remove-NsxEdgeInterfaceAddress Remove-NsxEdgeNatRule Remove-NsxEdgeOspfArea ","DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS ","location","php4","Transliterate ",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}" aria-valuetext="{{title}}">\n',"closing","dddd [lepas pukul] LT","0.0.0.0","ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ","=mdTabsTemplate","fried_shrimp","camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView ","#616161","procedure public raw realm reduce rename return returning revoke right role rollback satisfies ","atob","groupBy","utf-8","%d ಗಂಟೆ","rotate(","типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента ","SUPPRESS_EMPTY_TEMPLATE_CREATION ","ignore"," powerseries powerset prefix prev_prime primep primes principal_components","onToggle","This browser doesn't support the HTMLElement.matches method","codepen","hostport_params","OFFSET_START","bm_add bm_max bm_subtract bm_zero bm_one bm_src_colour ","cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch ","variable_global_exists variable_global_get variable_global_set ","A700","emitBuffered","rdThisYear ","$$mdAnimate","maxIndex","gamepad_button_check_pressed gamepad_button_check_released ","IWizardFormElement ","preparationClasses","a8m.to-array","SYSRES_CONST_REQUISITE_SECTION_TABLE20 ","ಸಂಜೆ","replaceWith","אחרי הצהריים","wdtGroupCollection ","lpr","$pristine","FⒻＦḞƑꝻ","tilemap_get_tile_width tilemap_get_tile_height tilemap_get_width ","dseOnUpdateRatifiedRecord ","viru ","localSearch","auto any range array openarray varargs seq set clong culong cchar ","text-decoration-line","Sortable: `el` must be HTMLElement, not ","Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo","tennis","=?mdBoundaryLinks","requestTimeout","he meneti","$asArray","'\\\\?.","effect_create_above effect_clear part_type_create part_type_destroy ","tangerine","FILTER_OPERATIONS_DELIMITER ","ien oere","vuotta","rgba(0,0,0,0.87)","md-sort-icon","onExternalChange","SYSRES_CONST_DATA_TYPE_INTEGER ","unmute()","sips","<<\\s*","calculateTransformValues","hexToRgba","cancellable",'"rejected"','"terminated"',"libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 ","fast_forward",'    <md-button ng-click="dialog.hide()" class="md-primary md-confirm-button" md-autofocus="dialog.$type===\'alert\'"',"thor","svOnStop","New-TagAssignment New-TagCategory New-Template New-TemporaryFile New-VAIOFilter New-VApp New-VDPortgroup New-VDSwitch New-VDSwitchPrivateVlan New-VDisk ","ФайлОткрыть ","carousel","#e64a19","ngModelOptions","кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш","states","regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper ","cloud_file_save cloud_string_save cloud_synchronise ads_enable ","نیسان","readyState %s","Refer-To header field points to a non-SIP URI scheme","mdp-animate-next","EIO"," सॅकंडांनी","%[qQwWx]?%","Content-Type: application/sdp","MD-TABLE-CONTAINER","label","getParam","CⒸＣĆĈĊČÇḈƇȻꜾ","DATETIME_FORMATS","mdColorPicker","ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME ","[${=\\n]","ຕອນແລງ","(\\bis|\\bwith|\\brenames|\\)\\s*;)","_$mdCompiler"," Jahren","sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D ","[vandaag om] LT","_evictListeners","ev_gesture_double_tap ev_gesture_drag_start ev_gesture_dragging ","&?mdOnSelect","useFactory","%d घंटे","Int8Array"," leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear","add8e6","#00CC00","rgb(245, 0, 245)","[a-zA-Z-][a-zA-Z0-9_-]*","lighttype_point iap_ev_storeload iap_ev_product iap_ev_purchase ","font","layer_sprite_get_sprite layer_sprite_get_index ","randomizationFactor","revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance ","fⓕｆḟƒꝼ","unSelectAll","sati",'<div data-tap-disabled="true"><a></a></div>',"call-id","SYSRES_CONST_REQUISITE_SECTION_TABLE15 ","D/‏M/‏YYYY","semenit","textarea:hover, select[multiple]:hover, .ps-child:hover","isWebRTCSupported","чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ","\\b\\d+(\\.\\d+)?(e-?\\d+)?","_tzm","SYSRES_CONST_USER_GROUP_TYPE_REQUISITE_CODE ","exp_mod_normal skew_normal student_t cauchy double_exponential ","thoddea sekondamni","установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных ","#80cbc4","1926-12-24","char_length character_length characters characterset charindex charset charsetform charsetid check ","continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic "," comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph","HttpClient RobotMotor WiFiClient GSMScanner ","SYSRES_CONST_AUTO_STRONG_ENUM_METHOD_FLAG ","unit","[object BlobConstructor]","_getDecodedParamValue","_configureScrollListener","JOB_BLOCK_SUBJECT_PROPERTY ","#(line)","scroll setarray show sparse stop string struct system trace trap threadfor ","registeredStyles","[прошлог] [понедељка] [у] LT","modes",".False. .True.","IEdmsExplorer ","collapsing","resolvePath","SYSREF_EDOCUMENT_CARDS ","\\bforeign\\b","' state]: target ui-view: '","uibRatingConfig","focusMenuContainer","uibPopoverPopup","$options","wsrGoFinal ","New-NsxSslVpnPrivateNetwork New-NsxSslVpnUser New-NsxTransportZone New-NsxVdsContext New-OSCustomizationNicMapping New-OSCustomizationSpec New-Org New-OrgNetwork New-OrgVdc ","_meta","\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b","dates","assertPredicate","Transition #","newRTCSession","dddd [a la","in of on if for while finally var new function do return void else break catch ","TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP ","[object Proxy]","delay","_progress","Invalid HTML for md-expansion-panel: ","leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec","[dnes v] LT",'set() | cannot set "%s" parameter in runtime',"kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease ","orderByFilter","pick","$translateRefreshStart","sekundah","updateHours","%d วินาที","gridsterNoDrag"," show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform","marker-start","isState","uibUncheckable","simulcast_03","$error","Can't deregister state; not found: ","getUTCDay","Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b","Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis","FALLBACK_MOBILE","_listener","^(\\s*)?(class|instance)\\b","  </th>\n","rowHeight","(send|recv) ([a-zA-Z0-9\\-_~;,]+)","#33CC66","CSV","msSaveBlob","md-icon-button","Busy Everywhere","रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार","chart_with_upwards_trend","rem","uibTooltipHtmlPopup","200ms","transformTemplate","mdMenuBarCtrl","setJitter","\\b([gtps][A-Z]{1}[a-zA-Z0-9]*)(\\[.+\\])?(?:\\s*?)","\\B(('(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)","clickable","crystal","Replace ","rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn ","j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 ","iPhone","message/sipfrag;version=2.0","targetTouches","__extends",'Unclosed section "',"$|;","newDTMF()","$setPristine","mw-form-image-builder.html","msSetPointerCapture","focusAfterAppend","ddd, D MMM YYYY HH:mm","setCurrentPage","_animationClass","beginPath"," cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay","mel","transform","ar-ma","when while with without xor yield","md-overflow","SYSREQ_REF_TYPE_REQ_DESCRIPTION_LOCALIZE_ID ","readItemSize_","ee Joer","shoe","tx1","paddingLeft","currentView","categoryPercentage","gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic","xjb","jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.","isArguments","changedTouches","minuti","SYSREQ_REF_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID ","ugc_sortorder_ForModeration ugc_list_Published ugc_list_VotedOn ","link_","#DCDCDC",'"REGISTER"','    <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n',"updateNextPageBasedOnPageElementAnswers","reg","keywds:%s","%d minutu","SystemDialogs ","%d बर्ष",'            <input type="text"              ',"cache","tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower ","clamp","SYSRES_CONST_TASK_ACCESS_TYPE_ALL ","getTable","[object WeakMap]","polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing ","getPINUsed setPINUsed setTimeout sendAnalog ","pin","СоздатьПапку ","chartOptions","D MMMM [năm] YYYY HH:mm","mwForm.pageFlow.submitForm","itemName","SYSRES_CONST_SECTION_REQUISITE_DETAIL_4_VALUE ","wait","Please do not specify more than one of the md-nav-click, md-nav-href, ","cmpfunc_greater cmpfunc_notequal cmpfunc_greaterequal cmpfunc_always ","meridiemHour","textToShelf textureDisplacePlane textureHairColor texturePlacementContext ","D MMMM YYYY, A h:mm वाजता","dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy ","NEGATIVE_INFINITY","clearOnCancel","SYSREF_EDOCUMENT_KINDS ","%d წამი","@?mdRemovedMessage","set sets parameter parameters variable variables ","#b2dfdb","tab-size","<div ng-transclude></div>\n","comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs ","selectAndFocusChipSafe","essmText essmCard ","UC.*Browser/[VER]","IPickRequisiteItems ","_months","setPointerCapture","Meith","</a>","SYSRES_CONST_USER_COMMON_CATEGORY ","getCalendarCtrl","toHex8","closeAll","جولائی"," xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate","onCreate","#[0-9A-Fa-f]+\\b","@[0-9]+","keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor ","dataset","?^uiSrefActive","regex","currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx ","[\\)\\n]","encodeURI","usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D ","SYSREQ_EDOC_TYPE_REQ_IS_REQUIRED ","unlockScreenReader",'" class="jsbin-embed foo" src="',"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION ","mdAutoShrinkMin","uibDropdownConfig","4682b4","md-icon-float","Su_Lu_Me_Mer_Ya_Gw_Sa","-moz-","hash","protocol","IDialogsFactory ","#00b8d4","editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt ","bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,","htmlContent","SYSREQ_EDOC_CREATED ","ratInsert ","SYSRES_CONST_ACTION_TYPE_CREATE_VERSION ","video","mdAutoShrink","SYSRES_CONST_IS_GENERATED_REQUISITE_NEGATIVE_VALUE ","makefile","a8m.stringular","registerCollapsed",'<md-input-container class="md-block"><textarea ng-model="TextareaView.formItem.value" placeholder="{{TextareaView.formItem.config.placeholder}}" ng-required="TextareaView.formItem.config.required"></textarea><div ng-messages="TextareaView.form.$error"><div ng-message="required">This field is required</div></div></md-input-container>',"movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate ","</nav>","#3399CC","$pagination.total",'"alert"',"ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ","IEdmsObjectDescription ","phy_joint_angle_limits phy_joint_max_length phy_joint_max_torque ","$md.dragstart","constructors","te haora","retinaScale","$event","начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов ","black_circle","shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan ","letoma","getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes ","markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText ","icRequisiteChangeEventHandler ","aria-valuemax","SYSRES_CONST_USER_STATUS_ADMINISTRATOR_CODE ","fingerprint","true false NONE SOME LESS EQUAL GREATER nil","800080","wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped ","kimono","moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.","extraName",'`"[^\r\n]*?"\'',"A.T.M.","[\\0-\\xFF]","surface_get_depth_disable draw_surface draw_surface_stretched ","cells","_sendReinvite","md-rowspan","NOTICE_BLOCK_SUBJECT_PROPERTY ","جمعرات","audio_sound_get_listener_mask audio_emitter_get_listener_mask ","%d minuts","transport error","led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro","ICustomObjectWizardStep ","tile_set_flip tile_set_mirror tile_set_rotate tile_get_empty ","mediaStream","icFunction ","COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN ","Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.","පස් වරු","yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek","gridster-loaded"," make_polygon make_random_state make_rgb_picture makeset make_string_input_stream","getRandomTestNetIP","[ⴰⵙⴷⵅ ⴴ] LT","round","paramTypes",";branch=","\\.?","newDialog","call class const dim do loop erase execute executeglobal exit for each next function ","buffer_create_from_vertex_buffer_ext buffer_copy_from_vertex_buffer ","ngMessages","textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 "," Nodejs/","SYSRES_CONST_ACTION_TYPE_UNLOCK ","getCurrentDisplayValue","ngIf","python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection ","polite","byteLength","pointer-events","postal_horn",'class="md-tab" ',"#3366FF","D MMMM YYYY, dddd HH:mm","P.T.M.","atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot ","MESSAGE succeeded"," wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel","toArray","deltaY","CreateEditor ","r0h r1h r2h r3h ","defaultSquashPolicy","ALWAYS_WATCH","mdSelectOnlyOption","reverse","mdTabLabel","[Domani a","сат","NG_EMBED_EMOJI_LIST","offsetter","interface invariant is lazy macro mixin module new nothrow out override package ","LOG_FOLDER_PATH ","IReport ","date_get_day_of_year date_get_hour_of_year date_get_minute_of_year ","tanh matchend rename gettabvar strdisplaywidth type abs py3eval ","%d شهر","rgb(0, 245, 0)","WAIT_BLOCK_DEADLINE_PROPERTY ","Ait._Som._Mon._Bud._Bre._Suk._Son.","якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе","Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7","toTransformCss","[leo saa] LT","(\\W|$)","blur","#ffe082","char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? ","MONTH","%d седмици","mens","onAnimationComplete","CreateHintDb Cut Declare Defined Definition Delimit Dependencies Dependent","group clone ms master location colocation order fencing_topology ","global local set for foreach","ФайлАтрибутУстановить ","createDateObject","redirect remove rename replace retain return select set skip ","(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)","column-rule-color","provider","SYSRES_CONST_ROUTE_STEP_OR_CONDITION_RUS ",'<a role="button" href class="right carousel-control" ng-click="next()" ng-class="{ disabled: isNextDisabled() }" ng-show="slides.length > 1">\n',"thead","PRIVILEGE_SYSTEM_DEVELOP ","mousewheel","previousItem","SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE ","achievement_leaderboard_info achievement_achievement_info ","response","^not ok","string->list string->number string->symbol string-append string-ci<=? ","#CC3366","achievement_reset achievement_login_status achievement_get_pic ","md-ink-bar","_matchingNodes","tagfiles sin strwidth spellbadword trunc maparg log lispindent ","mountain_bicyclist",'<md-dialog aria-label="Date Range Picker">',"md-optgroup","mdColorPicker.tpl.html","[Esok pukul] LT","ngValue","transitionProperty","new return throw await else","minUnit","UibTypeaheadController","State '","kbv_returnkey_join kbv_returnkey_next kbv_returnkey_route ","SYSRES_CONST_EXTENSION_REQUISITE_CODE ","місяць","[Aujourd’hui à] LT",".md-input-invalid","Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo","'md-disabled':  tab.scope.disabled ","parseImageAttributes","websocket closed before onclose event","includedByState","sön_mån_tis_ons_tor_fre_lör","xsd","cite","einer Stunde"," fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp","greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap ","readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq","selectActive","日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日","mdGridList","paddingTop","ⴰⵙⴳⴰⵙ","މަހެއް","?^mdInputContainer"," stringp strong_components struve_h struve_l sublis sublist sublist_indices","xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ","oncoming_police_car","couple_with_heart",'md-swipe-left="$mdTabsCtrl.nextPage()" ',"использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита ","=?mdSeparatorKeys","set_directory_properties set_property set site_name string unset variable_watch while ","SYSRES_CONST_COMPONENT_TYPE_ADMIN_COMPONENTS ","md-whiteframe-z1","[В следующий] dddd, [в] LT","_relativeTime","fishing_pole_and_fish",'<md-input-container class="md-block"><label>Placeholder</label> <input type="text" ng-model="Input.item.config.placeholder"></md-input-container><md-input-container class="md-block"><label>Type</label><md-select ng-model="Input.item.config.type"><md-option value="text">Text</md-option><md-option value="number">Number</md-option><md-option value="email">Email</md-option></md-select></md-input-container>','not so many "',"until while with var",'<div class="_md-css-variables"></div>',"tlti?u?|tnei?|wait|wrpgpr","a8m.group-by",'" "',"_originalInput","IFormWizardStep ","icWizardActionEnableEventHandler ","_registrationFailure","((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b","userInvalidated","birthday","Edge/","فيبروري","md-colspan","You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3"," mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker","sekundy","ja%s","char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 ","setTriggers","[object Array]","removeData","dny","PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET ","Get-HCXAppliance Get-HCXApplianceCompute Get-HCXApplianceDVS Get-HCXApplianceDatastore Get-HCXApplianceNetwork Get-HCXContainer ","border-top","696969","selectedDateText","[tänään] [klo] LT","PUT","Windows CE/[VER]","%d moannen","ọjọ́ kan","Loop Detected",'Invalid "action" value, use either "copy" or "cut"',"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial ","                  </li>","has","CreateMemoryDataSet ","gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.","bir dakika","SYSREQ_EDOC_TYPE_VIEW_NAME ","јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар","flowBtn","СпрТблСтр "," жил","SYSREQ_REF_TYPE_REQ_ON_SELECT ","_transitionCount","--eg:","emChangeLifeCycleStage ","rdTomorrow "," өдрийн","типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ","msMatches","Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə","timeline_max_moment object_exists object_get_name object_get_sprite ","MONITOR_BLOCK_INTERVAL_TYPE_PROPERTY ","[prošle] [nedelje] [u] LT","&csvLabel","matrixItem","PRIVILEGE_COMPONENT_FULL_ACCESS ","handleClickDate","Bad Extension","libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed ","mdChip","icecandidate","Monday","SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION_ACTION ","clientWidth","isPromisesSupported","minút","ps-scroll-left","purge","orderNo","beforeAddClass"," सॅकंड","//www.liveleak.com/e/","startAngle","prependOnceListener","ein Jahr","ctDBEllipsis ","house","ds_grid_value_y ds_grid_value_disk_exists ds_grid_value_disk_x ","rowboat","$name","navigable","SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ","_absolute","a8m.map","Invalid interToneGap: ","Stop-VMGuest Stop-VMHost Stop-VMHostService Stop-VsanClusterRebalance Suspend-CIVApp Suspend-CIVM Suspend-HCXReplication Suspend-VM Suspend-VMGuest Suspend-VMHost ","enablesXDR","një minutë","snowman","hashchange","assignIn","soatText ","traceData.context","$extractResponseForDivisionQuestion","отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы ","md-calendar-month-label","h++","open","associativity break case catch class continue convenience default defer deinit didSet do ","dateSelection","target","عامين","composedPath","#FF6600","_datasetIndex","tabindex","SYSRES_CONST_EXIST_VALUE ","unu jaro","path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,","addTab","ISearchResultRestrictions ","http://www.w3.org/1999/xhtml","calendarPaneOpenedFrom","getElementsAtEvent","_changedParams","dot_product_normalized dot_product_3d_normalized math_set_epsilon ","SYSREQ_FUNC_CATEGORY ","handleClickSelectYesterday","Ah_Is_Sl_Rb_Km_Jm_Sb","telephone_receiver"," fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge","year","setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom ","zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 ","TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN ",'autoplay="false" ',"PopupCloseDelay","هڪ ڏينهن","SYSRES_CONST_ACTION_TYPE_ACCESS_RIGHTS ","Sortable:ng-sortable","MSPointerCancel","target in out common equivalence data","Duration=","TOUCHPAD.*[78910]|\\bTOUCHTAB\\b","$timeout_","invalidWeekday","isHovered","#7986cb","_eventHandlers","layoutFill"," multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary","-9999px","</md-edit-dialog>","materialFamily","xhr","deg)",'          <md-virtual-repeat-container              md-auto-shrink              md-auto-shrink-min="1"              ng-hide="$mdAutocompleteCtrl.hidden"              class="md-virtual-repeat-container md-autocomplete-suggestions-container md-whiteframe-z1',"^^ngMessages","MdFabController","q[qwxr]?\\s*\\(","changeSelectedDate","100%","#ffcdd2","S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát","SYSRES_CONST_REQUISITE_FORMAT_DATE_FULL ","#1976d2","send()"," tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract","rgba(0, 0, 0, 1.000)","ཉིན་གུང","^?mdTheme","SYSRES_CONST_GROUPS_REFERENCE_CODE ","chartSeries","pagh","triggerHandler","$transcludeFn","rgb(214, 214, 0)",".md-","setupArrowkeyEvents","IWorkState ","_active","mdPanelRef",".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg ","milliseconds","SYSRES_CONST_REPORT_APP_EDITOR_INTERNAL ","BYE",'  <div class="label">{{$pagination.label.rowsPerPage}}</div>\n',"md-table-pagination.html","[গতকাল] LT","IList ","displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key ","\\*\\)","ampm","Dolfin","INTERNAL_ERROR","textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset ","getXChange getYChange answerCall getResult "," network-id %d","%d päeva","%d secondes","enableOpenOnHover","Сейчас ","translateAttr","forEach","eno minuto","UibCarouselController","findMatch","%d ವರ್ಷ","#6a1b9a","mouseleave","setDateTimeToMidnight","SYSRES_CONST_REQUISITE_SECTION_ACTIONS ","ctrl.formData","translateInterpolation","multiple","ng-href",'    <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active</span></span>\n',"_status","clock530","setDynamicSimulationDistance setDynamicSimulationDistanceCoef setEditorMode setEditorObjectScope ","\\#\\(","isang taon","RESULT_VAR_NAME RESULT_VAR_NAME_ENG ","Sender ","true false Some None Ok Err","colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp ","older_man","ERROR: connection is down, Auto-Recovery system is trying to reconnect","_onRequestTimeout","stop warning require library attach detach source setMethod setGeneric ","CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 ",'<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/><path d="M0 0h24v24H0z" fill="none"/></svg>',"SYSRES_CONST_AUTOTEXT_USE_ANYWHERE_CODE ","lte","TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH ","INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT ","lfm","AASTriangle AbelianGroup Abort AbortKernels AbortProtect AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Activate Active ActiveClassification ActiveClassificationObject ActiveItem ActivePrediction ActivePredictionObject ActiveStyle AcyclicGraphQ AddOnHelpPath AddSides AddTo AddToSearchIndex AddUsers AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AdministrativeDivisionData AffineHalfSpace AffineSpace AffineStateSpaceModel AffineTransform After AggregatedEntityClass AggregationLayer AircraftData AirportData AirPressureData AirTemperatureData AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowAdultContent AllowedCloudExtraParameters AllowedCloudParameterExtensions AllowedDimensions AllowedFrequencyRange AllowedHeads AllowGroupClose AllowIncomplete AllowInlineCells AllowKernelInitialization AllowLooseGrammar AllowReverseGroupClose AllowScriptLevelChange AllTrue Alphabet AlphabeticOrder AlphabeticSort AlphaChannel AlternateImage AlternatingFactorial AlternatingGroup AlternativeHypothesis Alternatives AltitudeMethod AmbientLight AmbiguityFunction AmbiguityList Analytic AnatomyData AnatomyForm AnatomyPlot3D AnatomySkinStyle AnatomyStyling AnchoredSearch And AndersonDarlingTest AngerJ AngleBisector AngleBracket AnglePath AnglePath3D AngleVector AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning AnimationRunTime AnimationTimeIndex Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotate Annotation AnnotationDelete AnnotationNames AnnotationRules AnnotationValue Annuity AnnuityDue Annulus AnomalyDetection AnomalyDetectorFunction Anonymous Antialiasing AntihermitianMatrixQ Antisymmetric AntisymmetricMatrixQ Antonyms AnyOrder AnySubset AnyTrue Apart ApartSquareFree APIFunction Appearance AppearanceElements AppearanceRules AppellF1 Append AppendCheck AppendLayer AppendTo ApplicationIdentificationKey Apply ApplySides ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcCurvature ARCHProcess ArcLength ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Area Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess Around AroundReplace ARProcess Array ArrayComponents ArrayDepth ArrayFilter ArrayFlatten ArrayMesh ArrayPad ArrayPlot ArrayQ ArrayResample ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads ASATriangle Ask AskAppend AskConfirm AskDisplay AskedQ AskedValue AskFunction AskState AskTemplateDisplay AspectRatio AspectRatioFixed Assert AssociateTo Association AssociationFormat AssociationMap AssociationQ AssociationThread AssumeDeterministic Assuming Assumptions AstronomicalData AsymptoticDSolveValue AsymptoticEqual AsymptoticEquivalent AsymptoticGreater AsymptoticGreaterEqual AsymptoticIntegrate AsymptoticLess AsymptoticLessEqual AsymptoticOutputTracker AsymptoticRSolveValue AsymptoticSolve AsymptoticSum Asynchronous AsynchronousTaskObject AsynchronousTasks Atom AtomCoordinates AtomCount AtomDiagramCoordinates AtomList AtomQ AttentionLayer Attributes Audio AudioAmplify AudioAnnotate AudioAnnotationLookup AudioBlockMap AudioCapture AudioChannelAssignment AudioChannelCombine AudioChannelMix AudioChannels AudioChannelSeparate AudioData AudioDelay AudioDelete AudioDevice AudioDistance AudioFade AudioFrequencyShift AudioGenerator AudioIdentify AudioInputDevice AudioInsert AudioIntervals AudioJoin AudioLabel AudioLength AudioLocalMeasurements AudioLooping AudioLoudness AudioMeasurements AudioNormalize AudioOutputDevice AudioOverlay AudioPad AudioPan AudioPartition AudioPause AudioPitchShift AudioPlay AudioPlot AudioQ AudioRecord AudioReplace AudioResample AudioReverb AudioSampleRate AudioSpectralMap AudioSpectralTransformation AudioSplit AudioStop AudioStream AudioStreams AudioTimeStretch AudioTrim AudioType AugmentedPolyhedron AugmentedSymmetricPolynomial Authenticate Authentication AuthenticationDialog AutoAction Autocomplete AutocompletionFunction AutoCopy AutocorrelationTest AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutoQuoteCharacters AutoRefreshed AutoRemove AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords AutoSubmitting Axes AxesEdge AxesLabel AxesOrigin AxesStyle AxiomaticTheory Axis","SYSREF_USER_GROUPS ","SYSRES_CONST_KINDS_EDOC_TYPE_REQUISITE_CODE ","md-checked","(\\s*,\\s*","application","$$uibTypeaheadCss","removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem ","congruence constr_eq constructor contradict contradiction cut cutrewrite ","Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ","uibPaginationConfig","Min ","def defp defmacro","length","ПоискПодстр ","b64","lch","hasBinary","[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",'" for mode "',"cd853f",'aria-label="{{::ctrl.locale.msgOpenCalendar}}">',"drawPoint","/\\*\\*","md-desc","Goanna/[VER]","$dirty","max-message-size:%s","расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных ","</form>","^__END__","isScrollable",'      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n',"optNodeForKeyboardSearch","SYSRES_CONST_LINK_OBJECT_KIND_FOLDER ","branch","valued values via view when where while with within work xor","SYSDLG_SIGN_MULTIPLE_EDOCUMENTS ","diwrnod","дан","BackSlash DoubleQuote false ForwardSlash Infinity NaN NewLine null PI SingleQuote Tab TextFormatting true undefined","[\\w-]+","%s lyn","negativeValues","cactus","CreateConnection ","controllers","mute","leti","Refer-To: <","Duration","STATUS_INIT","ui.router.util","Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba"," report-uri sandbox script-src style-src","object_","sake","GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE ",'<div ng-repeat="(key, message) in messages" ng-message="{{key}}">{{message}}</div>',"updatePage","Aको h:mm:ss बजे","#29b6f6","isStateClass","текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы ","isAnchor","%d tagoj","i\\d+","speech_balloon","detachEvent","રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર","movie_camera","alias","no ACK received, terminating the session","CreateScript ","availableItems","isRippleAllowed","emReEncode ",'        <input type="text" placeholder="SS" ng-model="seconds" ng-change="updateSeconds()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementSeconds()" ng-blur="blur()">\n',"SYSRES_CONST_TASK_ROUTE_AND_CONDITION ","square",":\\)","doctag","uwtable returned type opaque eq ne slt sgt ","setNgModelValue","man_with_turban","Super expression must either be null or a function","datepickerPopupTemplateUrl","asciidoc","md-hide md-overflow","overflowY","soatEDocumentCollection ","autofocus","eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ","qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log ","in by as","$mdIconProvider","SYSRES_CONST_ACTION_TYPE_EXPORT_WITH_LOCK ","MIN_DURATION","winphone_tile_front_image_wide winphone_tile_back_image ","md-ink-ripple","SYSREF_CONSTANTS ","lasso9$","SYSREQ_CONST_SERVER_STATUS ","(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))","SYSREF_REFERENCE_REQUISITES ","$root","if import include macro sandbox set use verbatim with","--\x3e","calculateBarY","_receiveReinvite","isDefined","scrollbarYOuterWidth","<button ","[Bi lɛrɛ] LT","@max","gpu_get_zfunc gpu_get_zwriteenable gpu_get_lightingenable ",".md-panel-inner-wrapper","ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ","public private property continue exit extern new try catch ","for fun function functor if in include inherit initializer","eventType","uib/template/carousel/carousel.html","achievement_type_score_challenge achievement_pic_loaded  ","Auto-adding the missing md-mode='{0}' to the ProgressLinear element","SYSREQ_PROFILING_SETTINGS_BATCH_LOGING ","e620","$mdContactChipsCtrl","日_一_二_三_四_五_六","headers","minutami","maxSizeY","ВводМеню ","sanje","vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window "," determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag","конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ","_updateValidity","goOutOfEditMode","Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5","int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float ","7fffd4",".angucomplete-row","Last Week","[ⴰⵚⴰⵏⵜ ⴴ] LT","defineLocaleOverride","Dum_Lun_Mar_Mie_Joi_Vin_Sâm","Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b","(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b","секунда_секунды_секунд","جولاءِ",'     date-end="ngModel.dateEnd" ',"\\n$","$mdExpansionPanelGroup","lastTop","pill","reconsider such that and in provided of as from be being by means "," rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i","DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME","_createRTCConnection","Windows 95","$type","=mdLimit","SYSREQ_EDOC_VERSION_SIGNATURE_TYPE ","collectiveRTD combatMode commandArtilleryFire commandChat commander commandFire commandFollow ","clock1030","abs","INVITE_SERVER","ranpoi|rantbl|rantri|ranuni|repeat|resolve|reverse|","_md-progress-circular-disabled","let yield const export super debugger as async await import","Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe","optionNodes","_identifier","(,|\\n|\\))","[danes ob] LT","timezone","$parse","dash","[la scorsa] dddd [alle] LT","one","DTMF_TRANSPORT","100000","ngReadonly","mdPickers","endpackage endprimitive endprogram endproperty endspecify endsequence endtable ","index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile ","%d months","msTouchAction","_headers","isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare ","write","gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents ","ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා","ctEDocument ","callee","Dom_Seg_Ters_Kua_Kint_Sest_Sab","један минут","_md-panel-animate-leave","spawn spawn_link self","[včera v] LT","char-downcase char-lower-case? char-numeric? char-ready? char-upcase ","=mdpDateFilter","filter","LookUpSearch ","emitting packet with ack id %d","md-proxy-focus","ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode ","hasComputedStyle","SYSRES_CONST_BLACK_LIFE_CYCLE_STAGE_FONT_COLOR ","frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss ","[A-Za-z](_?[A-Za-z0-9.])*","peerconnection","goToPrevPage","autoit","flatMapDepth","_via_transport",'Duplicate value "',"фиксированноесоответствие фиксированныймассив ","railBorderXWidth","СоздатьДиалогСохраненияФайла ","mdFabSpeedDialFlingAnimation","(\\n{2}|\\*)","pushR","dddd [seo caite] [ag] LT","marker","flush","\\bC-22Q|T7-QC|T-17B|T-17P\\b","مارس",'(~)?"',"TinyEmitter","translate3d( {centerX}px, {centerY}px, 0 )","after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if ","md-tabs-wrapper",'<div class="md-sign">',"средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек ","newDraggableIndex","mdp-date-picker","_index","@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b","SELECTION_END_ROUTE_EVENT ","abstract and as assert base begin class default delegate do done ","A h:mm:ss वाजता","onReorder","selectingYear","SYSRES_CONST_VIEWER_REQUISITE_CODE ","SYSREQ_FUNC_GROUP_COMMENT ","NNN","railXWidth","aria-valuenow","обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs ","SQL ","local_seqnum",": Started  -> ","μία ώρα","invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y ","overflowX","backgroundPalette",'selected-template-name="model.selectedTemplateName" ',", requires: ["," ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump","$translateMissingTranslationHandlerLog","SYSRES_CONST_LIFE_CYCLE_START_STAGE_REQUISITE_CODE ","lastPullMode","SYSRES_CONST_REMOTE_USER_FLAG_VALUE_CODE ","SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME ","heightOverflow","set","flower_playing_cards","sortedIndexBy","yearColumns","decodeString","[An-diugh aig] LT","isAnswerSelected","^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+","[Kecha soat] LT [da]","sv-sorting-in-progress",'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ',"<ul/>","en-gb","do_lu_ma_mi_ju_vi_sá","reload","https","_md-nav-button","import include","isSet","Sult","srlv?|subu?|sw[lr]?|xori?|wsbh|","handleBodyClick","SYSRES_CONST_DET6_PART ","maxRange","forOwnRight","false true FALSE TRUE nil YES NO NULL","information_source","uⓤｕùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ","ugc_query_RankedByVote ugc_query_RankedByPublicationDate ","hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups ","isNaN","removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems ","nonatomic super unichar IBOutlet IBAction strong weak copy ","lb_sort_ascending lb_sort_descending lb_disp_none lb_disp_numeric ","দুপুর","manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout ","METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION ","(\\(.*?\\)|","ọdún %d","offsetGridLines","clubs","stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev ","int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat ","#ffb74d","ended","removeAllRanges","Ta_Ma_Tū_We_Tāi_Pa_Hā","-option-","ownerDocument","do_lu_ma_mé_xo_ve_sá","FindSubString ","is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none ","protected exit foreach throw elseif include __FILE__ empty require_once do xor ","children","КПериод ","ран","'n ar","mdDiscrete","SYSRES_CONST_NAME_REQUISITE_CODE ","a8m.wrap","$$postDigest","mount volume|path to|(close|open for) access|(get|set) eof|","[0-9a-fA-F]","једне минуте","parse %s","godinu"," find_root_rel first fix flatten flength float floatnump floor flower_snark","SliceConcatExt ToString ","prevPages","üks päev","tilemap_y tilemap_set tilemap_set_at_pixel tilemap_get_tileset ","SYSRES_CONST_REPORT_TEMPLATE_REQUISITE_CODE ","SYSREQ_REF_TYPE_ACT_SECTION ","ngMaterial","wptUser ","parent","self:: child:: descendant:: descendant-or-self:: attribute:: following:: following-sibling:: parent:: ancestor:: ancestor-or-self:: preceding:: preceding-sibling:: ","ids","dagur","saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale ","application_surface gamemaker_pro gamemaker_registered ","ühe tunni","SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_FEMININE ","buildLabels"," besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest","Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember","mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave ","WebKitCSSMatrix","A h:mm:ss","setDisabled","SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE_EXISTS ","unitStepSize","maxElementPixels","mwFormClone","nekaj sekundami","('|\")?{{\\s*([a-zA-Z]+)-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?","linearConversion lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith ","bindEvents","&show_user=","IEDocumentVersionSource ","Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn","\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b","forOwn","getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT ","managed management manual map mapping mask master master_pos_wait match matched materialized max ","isReady","f’ %s","focusOnOpen",'"SCTP"',"PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 ","selectYear","Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",'"{"',"translateX","á ~ýéár","outgoing","_receiveReplaces","specialize strict unaligned varargs ","SYSRES_CONST_ALLOWED_ACCESS_TYPE_NAME ",".ps__scrollbar-x-rail","flow.transfers","ev_joystick1_up ev_joystick1_down ev_joystick1_button1 ","capnproto","([fF]|L|i|[fF]i|Li)?|","C_NUMBER_RE","as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add ","ps--","SYSRES_CONST_USER_REMOTE_CONTROLLER_REQUISITE_CODE ","aria-expanded","2e8b57","July","праз %s","[We wtorek o] LT","part_emitter_destroy part_emitter_destroy_all part_emitter_exists ","DateDiff ","md-tab-body","några sekunder","startTime","inRange","jsonp polling iframe removal error",'"="',"editDialog","Lis_Umb_Lsb_Les_Lsi_Lsh_Umg","IEDocumentDescription ","IfThen ","userInfo","начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога ","heartbeat","mdColumn","shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare ","changing transport and sending upgrade packet","uib/template/datepicker/popup.html","controlPointNextY","Symbol","\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?","-prepare","mips","СоздатьДиалогОткрытияФайла ","hsl","ALPHA","getResponsiveAttribute","musical_note","cronSelection","focusDate","dag","invalid placement of md-chip-remove within md-chip-template.","DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY ","eyes","delete do handler insert load replace select truncate update set show pragma grant ","$md.drag","$mdMedia","pineapple","titleSpacing","wsControlled ","viewCount","icEDocActionHandler ","stun:stun.l.google.com:19302","$mdTable.progress",'"message"'," Monaten","customTemplates","UnknownPhone","ИзвлечьПуть ","D MMMM YYYY, HH:mm","Get-VMHostProfileVmPortGroupConfiguration Get-VMHostRoute Get-VMHostService Get-VMHostSnmp Get-VMHostStartPolicy Get-VMHostStorage Get-VMHostSysLogServer Get-VMQuestion ","Resolvable async .get() not complete:","CreateSaveDialog ","_chart","ariaTabIndex","#CCCC33","IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX ","gridster-desktop","pointerEvent","highlightClass","material.components.virtualRepeat","unknown","gridster-item-moving","macromodule matches medium modport module nand negedge nettype new nexttime nmos ","refreshView","500","isDef","SYSRES_CONST_YES ","border-top-color","oTransitionEnd","$1;","SYSRES_CONST_PRIORITY_REQUISITE_CODE ","More info at https://github.com/angular/angular.js/commit/8863b9d04c722b278fa93c5d66ad1e578ad6eb1f",'<div class="md-panel _md-panel-offscreen">',"minSizeY","_bottom","analog","%d сехет","Remove-NsxEdgeOspfInterface Remove-NsxEdgePrefix Remove-NsxEdgeRedistributionRule Remove-NsxEdgeStaticRoute Remove-NsxEdgeSubInterface Remove-NsxFirewallExclusionListMember ","_md-panel-shown","JOB_BLOCK_BEFORE_START_EVENT ","registrar_server","STATUS_ACCEPTED","school_satchel","КонстЕсть ","FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER ","handleCollect handleDelete handleStatus handleSubmit heapFree ","$animateCss","COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS ","Trying","REGEXP_MODE","показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя ","yyy","Point","viewConfig","click","WWW-Authenticate","flex-lt-md","(?=[\\.\\s\\n\\[\\:,])","collision_circle collision_ellipse collision_line ","maxMode","hex","установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения ","-moz-user-select: none;","material.components.tabs","removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon ",'emit "unmuted"',"latha","wrapFn","oCancelAnimationFrame","a8m.math.radix","Bz_BE_ÇA_Çə_CA_Cü_Şə","qw\\s+q","GetReferenceRecord ","ctInnerPanel ","dragClass","$emit","një orë",'  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n',"goto save else use module select case ","isAsyncTheme","ngDateFilter","SYSRES_CONST_USER_ACCOUNT_TYPE_VALUE_CODE ","integer real character complex logical dimension allocatable|10 parameter ","ISignProvider ","SYSRES_CONST_REQUISITE_SECTION_TABLE3 ","bodyAlign","ESCAPE",'md-virtual-repeat="i in yearCtrl.items" ',"without","window",'" ng-transclude></button>',"_$log","%d sekund","toUTCString","^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",'    <md-icon md-svg-icon="navigate-last.svg"></md-icon>\n',"rangeRight","S_P_A_T_K_Pn_Š","statue_of_liberty","rgb(0, 108, 214)","getTooltipSize","$$lowercase","bar","^\\s*[!#]","%d segondas","ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw ","_doneCallbacks","setInterval","arrows_clockwise","min_interval","SYSRES_CONST_ACTION_TYPE_WORKFLOW_DESCRIPTION_MODIFY ","useAudioTimeForMoves userInputDisabled vectorAdd vectorCos vectorCrossProduct vectorDiff ","inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf ","text","gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers ",'    <div class="angucomplete-searching" ng-show="!searching && (!results || results.length == 0)" ng-bind="textNoResults"></div>',"svRoot","YYYYYY-MM-DD","responseError",'"realm"',"r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l ","Uint16Array","char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? ","SYSRES_CONST_ACTION_TYPE_DELETE ","minibus"," infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued","New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location ","or and xor not get|0 in inout|10 out override set|0 private public const default|0 "," with wrong or missing challenge, cannot authenticate","flushed","ng-embed-default-template.html","subroutine function program","buffer_md5 buffer_sha1 buffer_base64_encode buffer_base64_decode ","parentElement","remoteUrlErrorCallback","state","first","page_with_curl","[#$]","SYSREQ_CONST_COMMON_CODE ","%d vite","onMove","שנתיים","$$ngMessageNode","emPerform ","isErrorGetter","read text move peek beep rect line open ","get_filename_component get_property if include include_guard list macro ","sprite_save_strip sprite_set_cache_size sprite_set_cache_size_ext ","sizeX","translationTableResolver","րոպե","getPlugin","translations","tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText ","$mdMenu.open($event)","material.core.layout","bikini","keyboard_key keyboard_lastkey keyboard_lastchar keyboard_string ","faebd7","$mdThemingProviderTheme."," subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric","createDocumentFragment"," gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args","Invalid status_code: ","activeClasses","PRIVILEGE_MANAGE_SESSION_SERVER ","phy_joint_anchor_1_x phy_joint_anchor_1_y phy_joint_anchor_2_x ","maddr","August"," 'weight' attribute is not a number","soundCloud","cfInternal cfDisplay ","a8m.filter-watcher","md-calendar-selected-date","accept_on alias always always_comb always_ff always_latch and assert assign ","Month","ain","passwordMatch","[T~ómó~rró~w át] LT","begin block body buffer bus case component configuration constant context cover disconnect ","getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ","dtan darcsin darccos darctan darctan2 degtorad radtodeg power logn ",'    <tr class="uib-weeks" ng-repeat="row in rows track by $index" role="row">\n',"rgba(0,0,0,0.12)","xyz","invariant","createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay "," seconds","SYSRES_CONST_LOCALIZATION_DICTIONARY_MAIN_VIEW_CODE ","Remove-CustomAttribute Remove-Datacenter Remove-Datastore Remove-DatastoreCluster Remove-DrsClusterGroup Remove-DrsRule Remove-DrsVMHostRule Remove-FloppyDrive Remove-Folder ","matchingKeys","section","нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота","ಬೆಳಿಗ್ಗೆ","HHmmss","<%{1,2}={0,2}","получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных ","keyboard_clear io_clear mouse_check_button ","Illegal","frameborder","FALLBACK_TABLET","implements import in inferface is library mixin new null on operator part rethrow return set show static ","md-cols","MediaDevices","@lazyLoad","queryContact","clearRipples","rdThisMonth ","cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel ","gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits ","Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi ","fffacd","pre code","dsconfig","#ff7043","isMatcher","$mdMenu: Menu elements should always contain a `md-menu-content` element,","tilemap_get_mask tilemap_get_frame tile_set_empty tile_set_index ","%d-мӗш","isRegistered",'<li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'next\')}}</a></li>\n',"dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte","Wed","SYSREQ_PROFILING_SETTINGS_SQL_PROFILING_ENABLED ","Not Acceptable","isSameDay","SYSRES_CONST_USER_TYPE_REQUISITE_CODE ","%d minutas","%d సెకన్లు","vertex_format_add_texcoord vertex_format_add_textcoord ",'<div class="cron-wrap">\n    <span>Every: </span>\n    <div class="cron-select-wrap">\n        <select class="cron-select" ng-model="myFrequency.base" ng-options="item.value as item.label for item in frequency"></select>\n    </div>\n    <div class="select-options">\n        <span ng-show="myFrequency.base == 4">on </span>\n        <div ng-show="myFrequency.base == 4" class="cron-select-wrap">\n            \x3c!-- If Multiple is Enabled --\x3e\n            <select class="cron-select day-value"\n                    ng-model="myFrequency.dayValues"\n                    ng-if="allowMultiple" multiple\n                    ng-options="value as (value | cronDayName: cronStyle) for value in dayValues">\n            </select>\n            \x3c!-- If Multiple is not Enabled --\x3e\n            <select class="cron-select day-value"\n                    ng-model="myFrequency.dayValues"\n                    ng-if="!allowMultiple"\n                    ng-options="value as (value | cronDayName: cronStyle) for value in dayValues">\n            </select>\n        </div>\n        <span ng-show="myFrequency.base >= 5">on the </span>\n        <div ng-show="myFrequency.base >= 5" class="cron-select-wrap">\n            \x3c!-- If Multiple is Enabled --\x3e\n            <select class="cron-select day-of-month-value"\n                    ng-model="myFrequency.dayOfMonthValues"\n                    ng-if="allowMultiple" multiple\n                    ng-options="value as (value | cronNumeral) for value in dayOfMonthValues">\n            </select>\n            \x3c!-- If Multiple is not Enabled --\x3e\n            <select class="cron-select day-of-month-value"\n                    ng-model="myFrequency.dayOfMonthValues"\n                    ng-if="!allowMultiple"\n                    ng-options="value as (value | cronNumeral) for value in dayOfMonthValues">\n            </select>\n        </div>\n        <span ng-show="myFrequency.base == 6">of </span>\n        \x3c!-- If Multiple is Enabled --\x3e\n        <div ng-show="myFrequency.base == 6" class="cron-select-wrap">\n            <select class="cron-select month-value"\n                    ng-model="myFrequency.monthValues"\n                    ng-if="allowMultiple" multiple\n                    ng-options="value as (value | cronMonthName) for value in monthValues">\n            </select>\n            \x3c!-- If Multiple is not Enabled --\x3e\n            <select class="cron-select month-value"\n                    ng-model="myFrequency.monthValues"\n                    ng-if="!allowMultiple"\n                    ng-options="value as (value | cronMonthName) for value in monthValues">\n            </select>\n        </div>\n        <span ng-show="myFrequency.base >= 2">at </span>\n        \x3c!-- If Multiple is Enabled --\x3e\n        <div ng-show="myFrequency.base >= 3" class="cron-select-wrap">\n            <select class="cron-select hour-value"\n                    ng-model="myFrequency.hourValues"\n                    ng-if="allowMultiple" multiple\n                    ng-options="value as value for value in hourValues">\n            </select>\n            \x3c!-- If Multiple is not Enabled --\x3e\n            <select class="cron-select hour-value"\n                    ng-model="myFrequency.hourValues"\n                    ng-if="!allowMultiple"\n                    ng-options="value as value for value in hourValues">\n            </select>\n        </div>\n        <span ng-show="myFrequency.base >= 3"> : </span>\n        \x3c!-- If Multiple is Enabled --\x3e\n        <div ng-show="myFrequency.base >= 2" class="cron-select-wrap">\n            <select class="cron-select minute-value"\n                    ng-model="myFrequency.minuteValues"\n                    ng-if="allowMultiple" multiple\n                    ng-options="value as value for value in minuteValues">\n            </select>\n            \x3c!-- If Multiple is not Enabled --\x3e\n            <select class="cron-select minute-value"\n                    ng-model="myFrequency.minuteValues"\n                    ng-if="!allowMultiple"\n                    ng-options="value as value for value in minuteValues">\n            </select>\n        </div>\n        <span ng-show="myFrequency.base == 2"> past the hour</span>\n    </div>\n</div>',"pouch","SYSRES_CONST_ACCESS_NO_ACCESS_VIEW ","SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION_CODE ","Sun_Mon_Tue_Wed_Thu_Fri_Sat","STATUS_CONFIRMED","goToNextPage","xlsx","SYSRES_CONST_SELECT_TYPE_UNSLECTABLE ","SYSRES_CONST_WORK_TIME_CALENDAR_REFERENCE_CODE ","NO_ANSWER","timestampParam","#ce93d8","#FFCC33","@charset","nsp","типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы ","skeleton_bone_data_get skeleton_bone_data_set ","^#!/usr/bin/env"," texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter","ev_gesture_rotate_start ev_gesture_rotating ev_gesture_rotate_end ","#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?","timer_M","_roundA","месяц","changeDate","USER_SELECTION_RESTRICTIONS ","peerconnection:setremotedescriptionfailed","Unknown type: ","_triggerDragStart","polarArea","dddd [اڳين هفتي تي] LT","flowDragLeave","in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin ","material","Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni","phy_joint_reaction_force_y phy_joint_reaction_torque ","pageYOffset","SYSRES_CONST_ACCESS_TYPE_FULL ","diag_setLightNew diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner ","getPlateNumber getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual ","%d Sekonnen","_eventsCount","import package is in fun override companion reified inline lateinit init ","#\\{","SYSRES_CONST_ACTION_TYPE_LOCK_FOR_SERVER ","ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion ","easeFnIndeterminate","assertMap","SYSRES_CONST_ENUMERATION_TYPE_REQUISITE_CODE ","00f","lineNumbers","INotice ","minor","$isEmpty","endwhile execute_process file find_file find_library find_package find_path ","« Previous","equivalent equivalentTol erf error eval evalDeferred evalEcho event ","any","RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im ","content:%s","IFolderInfo "," diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export","string=? string>=? string>? string? substring symbol->string symbol? ","x-uib-tab-heading","Couldn't set part.`lang` parameter has to be a string!","sparse","SYSREQ_REF_TYPE_REQ_IS_REQUIRED ","%d часа","секунде","beforeunload","eftir %s","handle_error header if inline iterate ljax_target link ","continue format pause cycle exit "," өдөр","chipAppendDelay","application_get_position application_surface_enable ","true false","SYSDLG_IMPORT_EDOCUMENT ","$uibTooltip","IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT ","SYSRES_CONST_ACTION_TYPE_RECOVER_FROM_LOCAL_COPY ","SYSRES_CONST_CONST_SERVER_STATUS_DONT_REPLICATE ","HEADER ENDSEC DATA","IWizardReferenceParam ","РегУстДат ","a8m.math.percent","\\b\\d+(\\.\\d+)?(ms|s|h|m)?","uibButtonConfig","everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages ","mediaConstraints","angular-cron-jobs","JsSIP:RTCSession:ReferSubscriber","%d giờ","UNDERSCORE_IDENT_RE","dddd [d.] D. MMMM YYYY [kl.] HH:mm","toName","redirectedFrom","iconEl","$panel","отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта ","April","transport closed","<md-tab-item ","^TAP version (\\d+)$","cool","pt_shape_star pt_shape_circle pt_shape_ring pt_shape_sphere ","icBlockPropertyCalculation ","MD-BUTTON","handleTouchmove","phy_joint_max_force phy_debug_render_aabb ","=showAnalog","image-resolution","datepickerAppendToBody","%d minuto","md-calendar-year-body ","formatYear","получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла "," make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country","forEachMember forEachMemberAgent forEachMemberTeam forgetTarget format formation ",'<div class="md-bar md-bar1"></div>',"filtered","tbody"," वरां","mrCancel ","^?mdTabs","SYSRES_CONST_NUMERATION_AUTO_NOT_STRONG ","{'z-index': 1040 + (index && 1 || 0) + index*10}","[Ontem às] LT","кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав","shell origin flavor foreach if or and call eval file value","repair repeat replace replicate replication required reset resetlogs resize resource respect restore ","dtkndLocal dtkndUTC ","complete","and и else иначе endexcept endfinally endforeach конецвсе endif конецесли endwhile конецпока ","true false NOT AND OR","SYSREQ_EDOC_STORAGES_SEARCH_BY_TEXT ","overflow","some","horse_racing","use_preloaded_route","woman","SYSRES_CONST_STATUS_VALUE_PURPLE_SQUARE ","ഒരു മിനിറ്റ്",".md-button:not([disabled])","#cfd8dc","_flushTypeQueue","for foreach goto if implicit in int interface internal is lock long ","SYSRES_CONST_REQ_ALLOW_RECORD_DEFAULT_VALUE ","less","isMonthTransitionInProgress","svCenter","D MMMM YYYY เวลา H:mm","sethandler errordocument loadmodule options header listen serverroot ","Transport is connecting","class","SYSRES_CONST_USE_ACCESS_TYPE_NAME ","CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED ","SYSRES_CONST_IMAGE_MODE_COLOR ","[object Float64Array]","mdDirection","mean","defimpl defmodule defprotocol defrecord",'"/"',"D. MMMM YYYY H:mm [Auer]","std_ulogic std_ulogic_vector unresolved_unsigned u_unsigned unresolved_signed u_signed ","unload","Hour","draw_vertex_texture_colour draw_vertex_texture_color ","SYSRES_CONST_FOLDER_TYPE_USER ","oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary ","closePath","rss","सांजे","Get-vRAGroupPrincipal Get-vRAIcon Get-vRANATNetworkProfile Get-vRANetworkProfileIPAddressList Get-vRANetworkProfileIPRangeSummary Get-vRAPackage Get-vRAPackageContent ","%q{"," 0 1 1 ","selectOnMatch","[holnap] LT[-kor]","selectImageButtonClicked","md-visually-hidden","uibTypeaheadMatch","([-+]?([0-9]*\\.?[0-9]+\\.?))|","border-spacing","=?mdOpen","SYSRES_CONST_REQUISITE_SECTION_TABLE5 ","invokeCount","typeaheadLoading","[Gister om] LT","base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random ","IEditorForm ","[明天]LT","_lastY","getDLCAssetsUsage getDLCAssetsUsageByName getDLCs getEditorCamera getEditorMode ","typeaheadTemplateUrl","Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion ","sprite_get_speed font_exists font_get_name font_get_fontname ","[demà à] LT","addToSortableElements","receiveInviteResponse()","Coast/[VER]","registerModelChangeListener","[^|]+","Cèit",";ob","md-menu.md-open",'"//"',"COMPTYPE2_REQUISITE_FOLDERS_VALUE ","rootEl","#00e676","(%)?","IWizardAction ","Int32Array","setLineDash","<md-tab-content "," ימים",'<mdp-clock class="mdp-animation-zoom" ampm="timepicker.ampm" auto-switch="timepicker.autoSwitch" time="timepicker.time" type="hours" ng-switch-when="1"></mdp-clock>',"runSessionTimer() | timer expired, terminating the session"," fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim","dddd[n je] LT","wdtStringCollection ","money_with_wings",'"early-only"',"hoverEdit","armasm","#33CCCC","ng1","muscle","SYSRES_CONST_WAITING_BLOCK_DESCRIPTION ","elementButtons","defaultFormat","Hmmss","isEditing","A h:mm बजे","<div><div></div></div>","autoSwitch","$materialScrollFixed","tarAbortByUser ","iframe, object, embed, *[tabindex]:not([tabindex='-1']), *[contenteditable=true]","SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION_ACTION ","drawTriangle driver drop dynamicSimulationDistance dynamicSimulationDistanceCoef ","plant",'"from-tag"',"!important","ഒരു മാസം","ngclipboardSuccess","(`.+?`|\\+.+?\\+)",'[md-tab-id="',"sfcBlue ","rtcp-fb:%s %s %s","   </div>              </div>            </div>","beforeBuildLabels","New-HCXNetworkExtension New-HCXNetworkMapping New-HCXReplication New-HCXSitePairing New-HCXStaticRoute New-HardDisk New-IScsiHbaTarget New-KmipClientCertificate "," target","(load|run|store) script|scripting components|","SYSRES_CONST_ACTION_TYPE_START ","atom","\\?.*=:",'      <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n',"setSizeX",'emit "unhold"',"border-bottom-color","Dis","[aurreko] dddd LT[etan]","_start_time","-ви","LEFT","mdColorSliders","SYSREQ_EDOC_EDITOR ","deltaMode","events","unwatchItemSize_","name","%d minutter","railYRatio","एक दिवस","do while select delete by update from","originalRight","%d seconds","INDEX PROCEDURE ASSERTION ","ratingStates","Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser","Nodejs","jssip_id","getImageData","\\bMT8125|MT8389|MT8135|MT8377\\b","SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION ","embedSrc","mdToolbar","މަސް %d"," elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer","virgo","(?:|(?:\\.[^.]*)*)","СравнитьСтр ","\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(?:IVE|_(?:ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_(?:ATTACHED|ON_REZ)|NAME|DESC|POS|PRIM_(?:COUNT|EQUIVALENCE)|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP(?:_TAG)?|CREATOR|ATTACHED_(?:POINT|SLOTS_AVAILABLE)|RENDER_WEIGHT|(?:BODY_SHAPE|PATHFINDING)_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(?:BASE|TIP)|[LR]WING|FACE_(?:JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:ALLOW_UNSIT|ALPHA_MODE(?:_(?:BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCRIPTED_SIT_ONLY|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIT_TARGET|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|SIT_(?:INVALID_(?:AGENT|LINK_OBJECT)|NO(?:T_EXPERIENCE|_(?:ACCESS|EXPERIENCE_PERMISSION|SIT_TARGET)))|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\b","isNewInput","%d წუთი","mount_fuji","getScrollSize","-ев","#424242","unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert ","early_only","\\.\\w+","MoveFile ","dddd [پیش] [ساعت] LT","տարի","fdtNumeric ","protected","SYSRES_CONST_GROUP_RIGHTS_T_REQUISITE_CODE ","deň","slice","հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ","JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY ","\\b(t{1}|nil)\\b",'"q"',"_onConnect","flexDirection","_yScale"," icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy","first-line","-كۈنى","<span>","buildHooks","_realm","referer referrer repeating resultset rows search_args ","shellescape undofile foldclosed setqflist buflisted strchars str2nr ","НомерСпр ","%d sni","win8_secondarytile_delete win8_livetile_notification_begin ",'<md-input-container><div layout="{{AgreementView.formItem.config.direction == \'horizontal\' ? \'column\' : \'row\'}}"><md-checkbox ng-model="AgreementView.formItem.options[0].selected" ng-change="AgreementView.toggleSelectedOption(option)" ng-disabled="AgreementView.disableOptions && !option.selected" aria-label="...">{{AgreementView.formItem.options[0].value}}</md-checkbox></div><div ng-messages="AgreementView.form.$error"><div ng-message="minSelections">Must select {{AgreementView.formItem.maxSelections || 1}} items</div></div></md-input-container>',"clbUnchecked clbChecked clbGrayed ","resolved","#FF3399","_sessionTimers","locationService","Error creating dialog","years","[Вчера в] LT","instanceReady","ev_joystick2_button5 ev_joystick2_button6 ev_joystick2_button7 ","87cefa","afterSetDimensions","attempt","SYSREQ_FUNC_GROUP_NUMBER ","flatten","[Last] dddd [at] LT","scrollbarXActive","initEvent","$$attachId","$16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 "," חודשים","locals","20b2aa","%d عام","minLength","md-vertical","^?mdInputContainer","en-in","md-input-invalid","layoutChanged","split","afterBuildTicks","jtFull ","[\\]-~]","onopen","csvColumnOrder"," Tage","show-lt-lg","md-calendar-date","setupInputEvents","[#$=]?0x[0-9a-f]+","a week","cherries","pivot","ប៉ុន្មានវិនាទី","q[qwxr]?\\s*\\<","clientX","typeaheadAppendToBody","SYSRES_CONST_AUTH_ENCODED_PASSWORD_CODE ","гадзіна","isFnLockKey","wedding","FirmContext ","ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL ","minlength","tile_index_mask kbv_type_default kbv_type_ascii kbv_type_url ",'<div class="md-scroll-mask">',"last","getTimezoneOffset","RegExp","Argument '{0}' is {1}","in out log quick on rdomain inet inet6 proto from port os to route","ctFunction ","pageSize","MSPointerEvent","enum else break transient catch instanceof byte super volatile case assert short ","addElementAndReset","current date|do shell script|get volume settings|random number|","SYSREQ_REF_TYPE_REQ_IS_CONTROL ","steps","win8_device_touchscreen_available win8_license_initialize_sandbox ","Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature","דקה","Color","%s soň","SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_NAME ","navigationHint","500 600 700 800 900","%d മിനിറ്റ്","preText"," webkitAnimationEnd","handleMousedown","RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",'<md-button class="md-primary" ng-click="submit()">{{ok}}</md-button>',"ps-y-reach-end","bitpacked break continue cppdecl cvar enumerator experimental platform deprecated ","IAdministrationHistoryDescription ","iceOptions","#fdd835","keyup","ikhError ","arrow_lower_left","^---s*$","r'''","რამდენიმე წამი","determinate","[v pátek v] LT","DIALOG_ERROR","centerTabs","год_гады_гадоў","approximateDigests","BINARY_EVENT","წელი","$mdUserTemplate","=mdpMinDate","translateNamespace","hue-2","onPaginationChange","%s లో","xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ","keys","quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? ","(\\(|\\s+|$)","(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunctions*[^\\(])","dom._lun._mar._mié._jue._vie._sáb.","#bdbdbd",'"::"',"_connectionPromiseQueue","E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë","ISearchFactory ","Title","prediction_cost prediction_details prediction_probability prediction_set prepare present preserve ","(?:TODO|FIXME|NOTE|BUG|XXX):","clock1",".md-virtual-repeat-sizer","um mês",'ng-click="$mdTabsCtrl.nextPage()"> ',"endtask enum event eventually expect export extends extern final first_match for ","MdChipCtrl","space-between","JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT ","completedFSM composeText configClasses configFile configHierarchy configName configProperties ","след %s","ILargeIntegerValue ","SYSRES_CONST_CHECK_PARAM_VALUE_INTEGER_PARAM_TYPE ","margin","Master Started Slave Stopped start promote demote stop monitor true false","$urlMatcherFactory","define","bir dəqiqə","swipePropagation",'aria-selected="{{tab.isActive()}}" ',"[Ӗнер] LT [сехетре]","YYYY-MM-DD[T]HH:mm:ss.SSS[Z]","uib/template/timepicker/timepicker.html","tarAbortByWorkflowException ","steam_ugc_get_subscribed_items steam_ugc_get_item_install_info "," எற்பாடு","SYSRES_CONST_USERS_IS_MAIN_SERVER_REQUISITE_CODE ","\\bimport\\b","ini","getAttachId","isVirtualRepeatUpdating_","dddd [ម៉ោង] LT","soundCloudEmbed","dddd LT[ට]","runAllHooks","c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t ","context_","invalid parameters to applyPairs",'Dotted member path "@{0}" is invalid.',"cacheKey","unregisterFn","статусразборапочтовогосообщения ","currentStyle","Get-NsxManagerSystemSummary Get-NsxManagerTimeSettings Get-NsxManagerVcenterConfig Get-NsxSecondaryManager Get-NsxSecurityGroup Get-NsxSecurityGroupEffectiveIpAddress ","sctp-port:%s","nav-down","_view","mdBackdrop","libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetDriver "," másodperc","SYSRES_CONST_REQ_MODE_NOT_AVAILABLE_CODE ","draw_roundrect_colour_ext draw_triangle_colour draw_circle_colour ","md-menu-backdrop md-click-catcher","minimizing model models ne negative no not option options or ord ","fakeHandler","SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION ","IControlJob ","Session-Expires: ","std_logic std_logic_vector unsigned signed boolean_vector integer_vector ","animateOpen","_ __ %|0 %%|0","_groups","Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set ","JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET ","removeClass","configureNgModel","boolean bytes keyword list locale queue set stack staticarray ","$$rAFScheduler","setKeyboardMode","animations","arrow_right","setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos ","constraint context continue cover covergroup coverpoint cross deassign default ","%d s~écóñ~ds",'md-mode="{{::ctrl.mode}}" ',"UrlMatcher","joinNeighborsR","getDatasetMeta","tooltips","SYSRES_CONST_GROUP_SERVER_CODES_REQUISITE_CODE ","suggestedMin","emizuzwana lomcane","audio_sound_get_track_position audio_create_stream ","disableScrollAround","#fff9c4","день_дні_днів","mdFabToolbarAnimation","ⴰⵙⵙ","toRgbString","JsSIP:NonInviteClientTransaction","[a-z'][a-zA-Z0-9_']*","\\s*\\(","ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ","toml","content","dir1","si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin ","[Маргааш] LT","decoded %s as %j","#aa00ff","[:,]\\s*","qop","1 ปี","$cfg","baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,","_shortWeekdaysParse","getBrightness","[object AsyncFunction]","getDatasetAtEvent","/\\*","part_type_size part_type_scale part_type_orientation part_type_life ","isFolded","\\u0300-\\u036f","SYSRES_CONST_SIGNATURE_AND_ENCODE_CERTIFICATE_TYPE_CODE ","_timers","revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode ","_history"," multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff","начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты ","3:)","хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ","dddd [passat a] LT","jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’","#ec407a","pageFlow",'"Mozilla/\\d\\.\\d \\(',"#0097a7",'show-template="config.showTemplate || model.showTemplate" ',"func","CHECK_DELETING_REFERENCE_RECORD_USE_RULE_ID ","md-keyboard-mode","Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember","$translateMessageFormatInterpolation",'" headers present','error parsing "',"END","qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr ","یک ماه","\\s*#","boolean","Line","Element ElementList document querySelector querySelectorAll window","$$animation","://","maxOpen","isoWeeksInYear","бир кун","getSiblings","آچر","منذ %s","aemDisabledAlways ","material.components.navBar","increase limit","SYSRES_CONST_JOB_KIND_JOB ","ਰਾਤ","SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION_ACTION ","$extractResponseForRadioGridQuestion","SYSRES_CONST_WORK_WORKFLOW_SOFT_ROUTE_TYPE_VALUE_CODE_RUS ","beforeAfterSubstr","отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы ","setGroupMaxOpen","CANCELED","rectangle","една минута","findIndex","footerFontSize","componentProvider","isWebSocketsSupported","MM/D/YYYY","[أمس عند الساعة] LT","tls","getSuppression getTerrainGrid getTerrainHeightASL getText getTotalDLCUsageTime getUnitLoadout ","IValue ","ariaLabel","set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer ","uibBtnRadio","view","self","දිනය","' has a 'views' object. ","wolf","[*|href]:not([href])","fillRect","$md.","deb887","ngAria",'ng-disabled="tab.scope.disabled" ',"$context","SYSREF_TASK_KIND_GROUPS ","JsSIP:Transport","replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase ","putItem","$fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat ","mdColor"," is reserved!","^__END__$","nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota","InviteServerTransaction","rgba(0, 255, 0, 1.000)","Kindle Fire","received CANCEL request for a non existent session","lineDash","rgb(108, 0, 214)","button,[contenteditable]","maintainAspectRatio","^(?:[a-z]+:)?//[^/]+/","%d muaj","Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30","Second argument must be a String","Color() has been deprecated. ","Cannot enable events at runtime (use $stateEventsProvider","pointHoverBorderWidth","IN IP%d %s","Get-NsxEdgeStaticRoute Get-NsxEdgeSubInterface Get-NsxFirewallExclusionListMember Get-NsxFirewallGlobalConfiguration Get-NsxFirewallPublishStatus Get-NsxFirewallRule ","_watchers","receiveUpdate()","mdDelay","DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF ","do_lu_ma_me_gi_ve_sa","datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd "," let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit","availableConfig","md-datepicker-open","Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea","-behavior -spec","INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST ","XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT ","%d ساعات","\\.([\\d]+[\\d_]+[\\d]+|[\\d]+)","SYSREQ_REF_REQ_TYPE ","fffaf0","_top","struct enum service exception","дана","svg","waQ","subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV ","npm require console print module global window document","хвіліну_хвіліны_хвілін","IStringRequisiteDescription ","loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil ","shouldFocusLastChip","wdtDateTimeCollection ","STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION ","md.data.table","lua","1xx response received without to tag","\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b","ne ge le gt lt and xor or not eq eqv","Char ","tag","wrtHard ","showClose","material.components.divider","keydown mousedown","ffefd5","ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB ","ColumnContainer","[object SVGAnimatedString]","_states","ctButton ","HASH_COMMENT_MODE","skeleton_animation_get_duration skeleton_animation_get_frames ","element","authority","when when-not when-let comp juxt partial sequence memoize constantly complement identity assert ","isElement","originalSize","['\"\\?\\\\abfnrtv]|","IEDocVersionState ","$$stackedMap","defaultFontStyle","setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture ","SYSRES_CONST_REQUISITE_SECTION_TABLE10 ","un giorno","preset before requesting one.","scrollToIndex","initCustomEvent","Could not find Dependency Injection token: ","removeElement","navigate-last.svg","plugins","[Утган] dddd [куни соат] LT [да]","Windows Phone [VER]","doughnut","getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents ","RadioButtonView","hoverOut","normalizeTarget","pullAllBy","checkbox","chart","fist","SYSREQ_FUNC_GROUP ",".md-track-container","md-required","isSameOrAfter","date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str ","calculateTickRotation","md-focus","doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator ","```","fearful","Tried to set ","ugc_sortorder_CreationOrderDesc ugc_sortorder_CreationOrderAsc ","direction","when with-syntax and begin call-with-current-continuation ","setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound ","GGGG-[W]WW-E","CALCULATED_ROLE_TYPE_CODE ","[u] [nedjelju] [u] LT","vinformatn|vinformatnx|vinformatw|vinformatwx|","infinite","SYSRES_CONST_INT_REQUISITE_TYPE ","#9fa8da","of and for in not or if then","текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации ","draw_text_transformed draw_text_ext_transformed draw_text_colour ","chestnut","Sleep ","connect_error","^mdGridList","isAfter","targetState","mega","dayValues","reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename ","assembly module package import alias class interface object given value ","partly_sunny","types","YYYY. [gada] D. MMMM, HH:mm","%d mesi",".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list ","708090","`[cwd]?","targetIndex","#1de9b6","arrow_down_small","mdVirtualRepeatContainer","strict","dismissAll","acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 ","beberapa saat","Start-SpbmReplicationReverse Start-SpbmReplicationTestFailover Start-ThreadJob Start-VApp Start-VM Start-VMHost Start-VMHostService Start-VsanClusterDiskUpdate ","$$uibPositionCss","betainv|blshift|bnot|bor|brshift|bxor|byte|cdf|ceil|","calculateBarWidth","pig","cancelable","[Изминатиот] dddd [во] LT","md-indent","depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing ",'tabindex="',"STYLE","ein minuttur","තත්පර %d","red","SYSRES_CONST_NEGATIVE_VALUE ","[Í morgin kl.] LT","removeAndSelectAdjacentChip",'  <div class="md-scroll-mask-bar"></div>',"lastRenderableDate","_setTheming","_getTabs","раніцы"," цаг","[Kala wingi pukul] LT","Coordinated Universal Time","$translateStaticFilesLoader",'              id="{{inputId || \'input-\' + $mdAutocompleteCtrl.id}}"              name="{{inputName || \'input-\' + $mdAutocompleteCtrl.id }}"              ng-class="::inputClass"              ng-if="!floatingLabel"              autocomplete="off"              ng-required="$mdAutocompleteCtrl.isRequired"              ng-disabled="$mdAutocompleteCtrl.isDisabled"              ng-readonly="$mdAutocompleteCtrl.isReadonly"              ng-minlength="inputMinlength"              ng-maxlength="inputMaxlength"              ng-model="$mdAutocompleteCtrl.scope.searchText"              ng-mousedown="$mdAutocompleteCtrl.focusInput()"              ng-keydown="$mdAutocompleteCtrl.keydown($event)"              ng-blur="$mdAutocompleteCtrl.blur($event)"              ng-focus="$mdAutocompleteCtrl.focus($event)"              placeholder="{{placeholder}}"              aria-label="{{placeholder}}"              ng-attr-aria-autocomplete="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'list\'}}"              ng-attr-role="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'combobox\'}}"              aria-haspopup="{{!$mdAutocompleteCtrl.isDisabled}}"              aria-expanded="{{!$mdAutocompleteCtrl.hidden}}"              ng-attr-aria-owns="{{$mdAutocompleteCtrl.hidden || $mdAutocompleteCtrl.isDisabled ? undefined : \'ul-\' + $mdAutocompleteCtrl.id}}"              ng-attr-aria-activedescendant="{{!$mdAutocompleteCtrl.hidden && $mdAutocompleteCtrl.activeOption ? $mdAutocompleteCtrl.activeOption : undefined}}">',"_dialogs","uro","SYSRES_CONST_SECTION_REQUISITE_CARD_VALUE ","({|$)","SYSRES_CONST_REFERENCE_TYPE_REQUISITE_NAME ","SYSRES_CONST_REQUISITE_SECTION_TABLE11 ","ثانيتين","if else elif endif define undef warning error line ","randomSeed attachGPRS readString sendString ","silentRejection",");?\\s)+","xml","width","SYSRES_CONST_ACTION_TYPE_WRITE_HISTORY ","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION ","Mg_Sn_Sl_Rb_Km_Jm_Sb","datepickerMode","previewFocus","BlackBerry[\\w]+/[VER]","1 เดือน","forceBase64","ctCheckListBox ","УдалитьТаблицу ","app/directives/label-item/label-item.html","$$debounce","NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN","_constrainToViewport","causes","%d నెలలు","mdInputContainer","#\\((?!parameter).+\\)","moment.lang is deprecated. Use moment.locale instead.","upgrade","#009688","QBinomial QFactorial QGamma QHypergeometricPFQ QnDispersion QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ QuadraticOptimization Quantile QuantilePlot Quantity QuantityArray QuantityDistribution QuantityForm QuantityMagnitude QuantityQ QuantityUnit QuantityVariable QuantityVariableCanonicalUnit QuantityVariableDimensions QuantityVariableIdentifier QuantityVariablePhysicalQuantity Quartics QuartileDeviation Quartiles QuartileSkewness Query QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder","SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION "," óra","ஒரு நிமிடம்","%d মিনিট","defaults","Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module ","ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்","rgb(255, 0, 255)","%d گھنٹے","Friday","emChangeVersionHidden ","#f57f17","inherit","line-height","getViewValue","views","mdFoot","Sortable.js requires a window with a document","_dropdown","titles","'[A-Za-z_](?!')[\\w']*","typeaheadFocusFirst","setElementSizeX","^mwFormPageBuilder","mdp-chevron-right.svg","blue_heart","windowEventName","gp_start gp_stickl gp_stickr gp_padu gp_padd gp_padl gp_padr ","ev_gesture_drag_end ev_gesture_flick ev_gesture_pinch_start ","mdpDisabled",", final state: ","cookie","sequence shortint shortreal showcancelled signed small soft solve specify specparam ",'<md-button ng-click="cancel()">{{getLocalizationVal("Cancel")}}</md-button>',"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION_CODE ","één minuut","[ve čtvrtek v] LT","%dº","[ \\t\\f]*","@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$","'rule' must be a function","attachments","$animate","SYSREQ_WORK_RULES_FOLDER_ID ","broken_heart","accept","cr_size_all spritespeed_framespersecond ","Transport not open","Week","УдалитьФайл ","sideUnknown taskNull teamMemberNull true west","ไม่กี่วินาที","ИзменитьРазмерМассива ","r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict ","Chart","traceUIViewConfigUpdated","textbox","mēneša_mēnešiem_mēnesis_mēneši","iceUfrag","रात","final shared external mixin|10 enum typedef funcdef this super import from interface ","layer_tile_get_xscale layer_tile_get_yscale layer_tile_get_blend ","MdChipsCtrl","      {{ toast.content }}","scrollbarYRail","angular-toasty: No toast title or message specified!","РазнВремя ","urlTemplate","absolute","%s în urmă","1 ປີ","red_circle","createTransitionHookRegFns","matrix_build_identity matrix_build matrix_build_lookat ","if iff ifnone ignore_bins illegal_bins implements implies import incdir include ","DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW ","nekoliko sekundi","maxChips","md-dialog-is-showing","while loading translations. You should consider using promises of $translate.use(lang) and "," resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein","svtEqual ","IComponentTokenInfo ",'"]"',"    <li ng-transclude></li>\n","Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML ","$cancelRequest","SYSRES_CONST_EDOC_STORAGE_CHECK_ACCESS_RIGHTS_REQUISITE_CODE ","emContinue ","Please check the `md-item-text` attribute.","ValidateNoCircleInNodeResources ValidateNodeExclusiveResources ValidateNodeManager ValidateNodeResources ValidateNodeResourceSource ValidateNoNameNodeResources ThrowError IsHiddenResource","zero","smirk","IRequisiteDescription ","ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE ",".tooltip-inner, .popover-inner","bbox_left bbox_right bbox_top bbox_bottom layer background_colour  ","SYSRES_CONST_REQUISITE_FORMAT_LEFT ","sprite_yoffset image_number image_index image_speed depth ","stateMatcher.find: Found multiple matches for ","ctImage ","service","IWizardFactory ","rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind ","if then else on error option explicit new private property let get public randomize ","Requires chrome flag: enable-experimental-web-platform-features","md-no-focus","काही सेकंदां","undefined","char? close-input-port close-output-port complex? cons cos ","NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S","endTime","SYSREQ_DATE_OPEN ","[i dag kl.] LT","StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal ","melon","background-origin","#\\|"," ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph","1.4.4 2019-09-21","[object DOMException]","STATUS_ANSWERED","probe error: ","emChangeEncodeTypeToPassword ","setEffectCondition setEngineRPMRTD setFace setFaceAnimation setFatigue setFeatureType ","\\d{1,4}","[(=:]|$","tHead","gpu_get_tex_mip_filter_ext gpu_get_tex_mip_bias ","material.components.input","camera_set_update_script camera_set_begin_script ","applyPairs","TIMEZONE_MINUTE WEEK YEAR",'<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>',"[;$]","defaultPrevented","annotation","properties","join","steam_ugc_set_item_tags steam_ugc_set_item_content ","afeeee","search","audio_emitter_exists audio_emitter_pitch audio_emitter_velocity ","SYSREF_REFERENCE_TYPE_VIEWS ","sctStream ","uib/template/datepicker/datepicker.html","md-closed","ArrayOf ","titleFontColor","Android.*\\bG1\\b(?!\\))"," वर्सां"," vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface","jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des","signal_strength","Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob ","_remote_seqnum","Update-ConfigurationDocumentRef Update-ConfigurationErrorCount Update-DependsOn Update-LocalConfigManager Update-Module Update-ModuleManifest Update-ModuleVersion Update-PowerNsx ","_urlListeners","material.components.card","beforeUpdate","SYSRES_CONST_COMPONENT_TYPE_OTHER ","nextMonth","reposition","%d ⵉⵙⴳⴰⵙⵏ","pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut","_confirmed","princess","[object HTMLCanvasElement]","expected","y-axis-0",".md-datepicker-button","text-decoration-color","SYSRES_CONST_ACTION_TYPE_CONTINUE ","SetConstant ","YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm","#(c|C)\\(","base-uri child-src connect-src default-src font-src form-action","СпрУдалить ","shortMonths","previewKeyDown","buildCalendarForYear","$mdAutocompleteCtrl","vbnet","dg._dl._dt._dc._dj._dv._ds.","customClass","minutesFormat","prev","asQuarters","#ffab40","irb","blackness","win8_license_trial_version winphone_license_trial_version ","dateSelection(date)","#ffecb3","SYSRES_CONST_EDOC_CERTIFICATE_AND_PASSWORD_ENCODE_CODE ","popupDelay",'    <div class="popover-content" ng-bind-html="contentExp()"></div>\n',"%s síðani","%d ay","CreateList ","[;.\\-]","режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных ","#004d40","бір жыл","invalidCallbacks","SHOW_RECORD_PROPERTIES_FORM ","ice-ufrag:%s","SYSRES_CONST_VIEW_DEFAULT_CODE ","lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj","SYSRES_CONST_ACTION_TYPE_CREATE ","selectCustomRange","RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed ","beforeBuildTicks","SYSRES_CONST_DET5_PART ","Get-NsxSecurityGroupMemberTypes Get-NsxSecurityPolicy Get-NsxSecurityPolicyHighestUsedPrecedence Get-NsxSecurityPolicyRule Get-NsxSecurityTag Get-NsxSecurityTagAssignment ","registeredParent","Windows ME","_acceptAndTerminate","Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6",".mdp-calendar-monthyear","end repeat URL in try into switch to words https token binfile each tenth as ticks tick ","win8_settingscharm_set_xaml_property ","calculateTotalPages","struct","IDualListDialog ","md-select-value","0000-12-31","a8m.flatten","locationPluginFactory","random","selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType ","dropEffect","green_apple","eaGet eaCopy eaCreate eaCreateStandardRoute ","hoverBackgroundColor","srcList","ns1:","_erasNarrowRegex","tet","steam_is_user_logged_on steam_get_user_steam_id steam_user_owns_dlc ","sref",'"[^\r\n"]*"',"New-NsxLoadBalancerMonitor New-NsxLoadBalancerPool New-NsxLogicalRouter New-NsxLogicalRouterBgpNeighbour New-NsxLogicalRouterBridge New-NsxLogicalRouterInterface ","recovery_options","uibMonthpicker","uibTypeahead","soatReferenceRecord ","SYSRES_CONST_ACTION_TYPE_SIGN ","souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ","CN_T2_T3_T4_T5_T6_T7","inkRipple","(\\.\\.\\.)","ipython","=?mdActive","ọjọ́ %d","ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ",'<div class="buttons">\n'," pIq","(CALL|RUN|POINT_LOGIC|LBL)\\b","хвилину_хвилини_хвилин","stringify","viewDecl.resolveAs","md-checkbox-column","FormQuestionId","parentController","anyTrueR","တစ်နာရီ",'"\\\\"'," | ","#FF3333","([a-z\\-]+\\.)+\\*","traceTransitionIgnored","JsSIP:AckClientTransaction","easeOutBounce","$mdMenuOpen","ഒരു ദിവസം","visible sprite_index sprite_width sprite_height sprite_xoffset ","IWorkflowReferenceParam ","phy_particle_data_flag_velocity phy_particle_data_flag_colour ","removePanelCategory rename renameAttr renameSelectionList renameUI render ","[md-sidenav-focus]","ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ","layer_background_stretch layer_background_yscale ","типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы ","[A-Za-z0-9\\._:-]+","SYSRES_CONST_FOLDER_KIND_ANY_OBJECTS ","DateTimeDiff ","$mdDateRangePicker","a,abbr,acronym,b,","=?mdOrder","jednog sata","datetime|day|dclose|depdb|depdbsl|depdbsl|depsl|","&amp;","address","startSymbol","режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты ","sebulan","Data inválida","un minut","quad_to curve_to theme background contents locally time mouse_?x ","msid-semantic: %s %s",'"?"',"isObjectLike","animationDirection","mouse_wheel_up mouse_wheel_down mouse_clear draw_self draw_sprite ","NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 ","FileSize ","false true","lastStartedTransitionId","[\\*&\\s]+)+","_.+?_","%d دقائق","stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex ","recvonly","and break do else elseif end for goto if in local not or repeat return then until while","startIndex","setTextSize leftToRight requestFrom keyReleased ","angular-toasty","mdPanel: Position must be one of ","finally for foreach foreach_reverse|10 goto if immutable import in inout int ","hex4","SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION_CODE ","%d diwrnod","customs","_readyState","showWarnings","hoursFormat","dddd [dernier à] LT","->|<-","physics_particle_group_get_mass physics_particle_group_get_inertia ","scope","tile %d","paperclip","\\.)+","cancelMultiplier","IDataSetAccessInfo ","gridTemplateColumns","8b0000","del","character characters contents day frontmost id item length ","isDecimal","getDay","Invalid resolve value: ","[\\x80-\\uFFFF]","#fbc02d","arrow_up","init_incoming","REFER failed","urlParams","СпрБлокУстановить ","onResponseChanged","scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scudState ","vertex_type_float4 vertex_type_colour vertex_type_color ","afterFit","new io instance for %s","[Illum fil-]LT","UPDATE_DIALOG_DATASET ","timepicker","overflow-wrap","1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月",'"qop"',"timeElapsed timeExec timeStart"," वरांनी","code","__spreadArrays","actionKey","\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b","').style.height=","cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli ","icScript ","يوليو","An t-Iuchar","enableUAVWaypoints enableVehicleCargo enableVehicleSensor enableWeaponDisassembly ","physics_particle_delete_region_poly physics_particle_set_flags ","بىر سائەت","Destroying scope","heapLimit heapSize jobHandle jobKill jobStatus jobTerminate ","hidden","BINARY_NUMBER_MODE","\\n/{4,}$","light_rail","repeatListExpression","_call_id","recalculateTimingStyles","TIMER_L","BACKSPACE","unlock","gamemaker_version error_occurred error_last debug_mode ","Assigned ","&auto_play=","February","ne_po_ut_sr_če_pe_su","backgroundColor","isHide ","a8m.remove-with","ਕੁਝ ਸਕਿੰਟ","CDataSetRequisite ","\\n_{4,}$","Do MMMM[ta] YYYY","(min-width: 600px) and (max-width: 959px)","$apply","\\s(","$controller","appName",'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15 6 v12 h2 v-12 h-2z M8 6L6.59 7.41 11.17 12l-4.58 4.59L8 18l6-6z"/></svg>',"pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture ","#e1bee7","^\\s*\\%\\{\\s*$","_md-panel-animate-fade-out _md-panel-animate-leave","INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION ","YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]","font-size-adjust","далее ","dropdownMenuTemplateUrl","vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank","disappointed","array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length ","\\w+","overSome","\\(quote ","ctrl","triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute ","eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul ","flowTransfers","nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ","editable","expandPanel","foregroundPalette","for in while repeat until if then else","domNode","dates accessor is deprecated. Use date instead.","humanize","audio_destroy_sync_group audio_play_in_sync_group ","isNull","supportPointer","_eras",'      uib-tooltip-template-transclude="contentExp()"\n',"moo","IApplication ","eⓔｅèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ","[Għada fil-]LT","\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z","IWorkflowBlockResult ","[ovddit] dddd [ti] LT","IRequisiteDescriptionList ",'<li class="md-nav-item" ',"datasetElementType","Object StringDict StringList Table TableRow XML ","inputAriaLabel","%da",'class="uib-position-measure ',"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata","</a>\n","Символ ","ariaLabelledby","cal","outbox_tray"," poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm","local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left ","CHECK_REFERENCE_INTERVAL_RULE_ID ","winphone_tile_small_icon_image winphone_tile_wide_content ","cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn ","found","h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul","SYSRES_CONST_DET2_PART ","#CC0000","НаимПоAnalit ","e607","  </ul>\n","heart-broken","wfepSpinEdit ","ցերեկվա","css`","mwFormUuid",":'></i>","[A-Z][a-zA-Z0-9_']*",'ng-if="clearButton && $mdAutocompleteCtrl.scope.searchText" ',"application/octet-stream","Feabh","$uibResolve","$uiViewName","interval","rice_scene","exiting","min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power ","zip","forced close","soatInteger ","nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ","scrollingElement","^mdInputContainer","nogrow","beginAtZero","mbNo ","byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr","destroy","mdTabsDummyWrapper","вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки ","CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager ","kⓚｋḱǩḳķḵƙⱪꝁꝃꝅꞣ","vsmNoSelection ","createEvent"," tunni","$scroll","HTML5_FMT","#[0-9A-Fa-f]+","weekdaysShortRegex","DOCUMENT_LINK_KIND ","sagittarius","[މިއަދު] LT","spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet ","SYSDLG_SETUP_TASK_OBSERVERS ","cloneArray","#9933CC","onAdd","An Dàmhair","._md-chip-editing","IDialog ","ciphers","\\$|\\?|%|,|;$|~|#|@|</"," skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric","[minulé] dddd [v] LT","SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION_CODE ","flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceFlagTexture ","auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock ",'<li><span style="background-color:',"showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer ","attachInteractionListeners",'<div class="md-panel-inner-wrapper _md-panel-offscreen"></div>',"gesture_double_tap_time gesture_double_tap_distance ","ВедС ","Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct Add-CIDatastore Add-KeyManagementServer Add-NodeKeys ","d8bfd8","translate3d(0,","linkScales","afterLabel","Attempted to use unregistered theme '","ps_shape_diamond ps_shape_line ty_real ty_string dll_cdecl ","januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december","[lLjJ]?",'"reject" not supported for outgoing Message'," test_normality test_proportion test_proportions_difference test_rank_sum","Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ","polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet ","КодСимвола ","matchPriority","about above after against and around as at back before beginning ","responsive","#43a047","MD-MENU","jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.","IEditControl ","#|&","snippet","end_doc","wdtIntegerCollection ","Set-VMHostProfileStorageDeviceConfiguration Set-VMHostProfileUserConfiguration Set-VMHostProfileVmPortGroupConfiguration Set-VMHostRoute Set-VMHostService Set-VMHostSnmp ","moveDown","NETWORK_ERROR","createViewConfig","mdCalendar","_createLocalDescription","revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error ","dddd [в] LT","СоздатьИндикатор ","f90","ea7e5d","msgCalendar",'  <th colspan="{{columnCount()}}">\n',"gom-deva",'    <div class="popover-content"\n',"$window",'<html><head><base target="_parent"><style>table{font-size:12px;}</style>','"audio"',"ipv6uri","baby_symbol","uniq","customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime ","asSeconds","may_not_duplicate affects_liveness does_not_affect_liveness ","неколико секунди","هڪ ڪلاڪ","0 0","getAngleFromPoint","true false yes no null","show_question_async get_integer get_string get_integer_async ","onmouseup","audio_resume_music audio_music_is_playing audio_resume_sound ","kissing_heart","leading","датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя ","initClickListeners","md-input-resized","ամիս","destAddress"," diagmetric diff dim dimensions dispflag display2d|10 display_format_internal","createTextNode","$eval","%s ang nakalipas","outerRadius","\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b","_placeholder","JsSIP:UA","probbeta|probbnml|probchi|probf|probgam|probhypr|","rgba(0, 255, 255, 1.000)","показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение ","JsSIP:ERROR:UA","_monthsRegex","answer","gte","onanimationend","emit","SYSCOMP_NOTICES ","viewportMargin","skeleton_animation_set_ext skeleton_animation_get_ext ","expanding","mdIndeterminate","Déardaoin","PushStateLocationService",".md-icon","eka mhoinean","анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы ","#0000CC","bir kun","Zepto","%q<","Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara","peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast ","پیر","[غدًا عند الساعة] LT",'<md-toast md-theme="{{ toast.theme }}" ng-class="{\'md-capsule\': toast.capsule}">',"coerce","%d dias","tex","preventDefault","%d oeren","RAW","showDropdown","blob","|vw|vh|vmin|vmax","%d دقیقه","targetEvent","<md-tab-label></md-tab-label>","Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar","mouse","SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION ","bindings"," distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor","he tau","mdComponentId","border-radius","newRTCSession()","[heute um] LT [Uhr]","%d il","#2196f3","SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION_CODE ","stubTrue","flow","neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum","Add-NsxIpSetMember Add-NsxLicense Add-NsxLoadBalancerPoolMember Add-NsxLoadBalancerVip Add-NsxSecondaryManager Add-NsxSecurityGroupMember ",'<div class="modal-backdrop"\n',"min-height","aemDisabledOnBrowseEmpty "," cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel"," gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble","Get-SpbmCapability Get-SpbmCompatibleStorage Get-SpbmEntityConfiguration Get-SpbmFaultDomain Get-SpbmPointInTimeReplica Get-SpbmReplicationGroup Get-SpbmReplicationPair ","makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext ","    <tr>\n","IDataSigner ",'"uac"',"SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING ","translateX({0}%) scale({1},1)","offsetWidth","attachInterrupt encryptionType readBytesUntil ","md-","md-animations-waiting",'md-connected-if="tab.isActive()" ',"https://www.youtube.com/channel/","SYSRES_CONST_AUTH_NOVELL ","%sຜ່ານມາ","btAnd ","sprite_get_yoffset sprite_get_bbox_left sprite_get_bbox_right ","ng-cloak","SYSRES_CONST_EXPORT_LOCK_TYPE_WITHOUT_LOCK ","[_a-z][\\w']*","TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD ","#18ffff"," expintegral_shi expintegral_si explicit explose exponentialize express expt","#f4ff81","appendToBody","vertex_type_float1 vertex_type_float2 vertex_type_float3 ","gridster-item-resized","cmp","XML_SYNTAX ","$to$","[ \\t]*=","SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION_AND_PASSWORD ","Set-AlarmDefinition Set-Annotation Set-CDDrive Set-CIAccessControlRule Set-CINetworkAdapter Set-CIVApp Set-CIVAppNetwork Set-CIVAppStartRule Set-CIVAppTemplate Set-Cluster ","warnHues","likes","monkeyPatchPathParameterType","translateValue","carousel_horse","_footerAlign","#9933FF","СоздатьДиалог ","#ff9800",'<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'previous\')}}</a></li>\n',"<- Removing","mdSelectId","jsx","marker-end","isMoment","dfm","$$domOperationFired","activateViews",", message: ","phy_debug_render_core_shapes phy_debug_render_joints ","draw_roundrect_color_ext draw_triangle_color draw_circle_color ","physics_particle_set_max_count physics_particle_set_radius ","escapedValue","Wait-Task Wait-Tools Write-Information Write-Log Write-MetaConfigFile Write-NodeMOFFile","REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP ","winphone_tile_back_image_wide winphone_tile_background_colour ",'<span class="',"or md-nav-sref attributes per nav-item directive.","btNotOr ","interceptDeferred","defaultFontSet","_eraYearOrdinalRegex","urlMatcher","itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx ","snail","SYSREF_EDOCUMENT_HISTORY ","geometryConstraint getApplicationVersionAsFloat getAttr getClassification ","gmtOffset",'<md-toolbar layout-align="start start" flex class="mdp-datepicker-date-wrapper md-hue-1 md-primary" layout="column">',"SYSRES_CONST_DATA_TYPE_BOOLEAN ","pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult ","Windows 7","<md-input-container","event_type","en ","flexOrderLtMd","ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT ","addrspacecast select va_arg ret br switch invoke ","SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE_MASCULINE ",'tabindex="-1" ',"type alias","ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,",";from-tag=","%sකින්","abc","_hookBuilder","rocket","segment","[రేపు] LT","fulan %d","ngMaterialDateRangePicker","material.components.panel","регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа ","os_wiiu os_3ds  os_psvita os_bb10 os_ps4 os_xboxone ","toNow","writable","dddd [à] LT","jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion ","display (alert|dialog))\\b|^\\s*return\\b","_md-chips-wrapper-","dseAfterDeleteOutOfTransaction ","%d dəqiqə","inputFocus","як дақиқа","IHistoryDescription ","(max-width: 599px)","golang","dsWidgetClock"," in stateview: '","DOWN_ARROW","کانونی دووەم","wfepRadioGroupColumn2 ","asmNoButCustomize ","ILifeCycleStage ","setHeading","maxlength","Method '_options' in ","^\\=end","hasAnimations","APOS_STRING_MODE"," programmode promote_float_to_bigfloat prompt proportional_axes props psexpand","trident","Lumia 2520","init","#ffe57f"," not found. Did you forget to load it?","IStringValue ","$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 ","режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения ","cctNumeric ","webpackChunkmotion_client","point","outline-color","md-font ","radioButtonItem","mwForm.pageEvents.pageCurrentChanged","nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota","PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED ","ರಾತ್ರಿ","sham","[В следующую] dddd, [в] LT","Toggle ","një vit","[mañana a la",'    <div class="angucomplete-row" ng-repeat="result in results" ng-click="selectResult(result)" ng-mouseenter="hoverRow($index)" ng-class="{\'angucomplete-selected-row\': $index == currentIndex}">',"[juster om] LT","hsva","toPath","Version/","bicyclist","quarters","material-icons","SYSREF_STANDARD_ROUTE_GROUPS ","(?:d|ll|m|re|s|t|ve))?","300","Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com","gyp","PROVISIONAL_RESPONSE_INTERVAL","%d mionaidean",'      <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n',"instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp ","%d secondi","\\d+","locale","tweets","draw_clear_alpha draw_point draw_line draw_line_width draw_rectangle ","purse","getLuminance","trailing","[ມື້ອື່ນເວລາ] LT","IComponent ","$mdToast","depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor ","ISystemDialogsFactory ","recovery_timer","Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature ","max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,","A-Z\\xc0-\\xd6\\xd8-\\xde","_footerFontFamily","vuosi","uploaderPage","soatContents ","https:","rateNumerator","removeRow","hsla(","color","_promise","model.maxRange will be removed from model on next rlease, please use root config e.g. $mdDateRangePicker.show({maxRange}) instead","rdtPick ","detectMobileBrowsers","[წინა] dddd LT-ზე","AckClientTransaction","[ayer a la","OF NOTHING NONE EXCLUDE ATTRIBUTE ","use moment.updateLocale(localeName, config) to change ","sourceFilter","getBodyRows","SUBTASK_BLOCK_TEXT_PROPERTY ","mailbox_with_no_mail","apBegin apEnd ",'"required"',"#ff80ab","IScriptFactory ","mouse2","$$mdInput","wsInit ","wsContinued ","_mangleOffer","uniformLanguageTag","removeAttr","isPressed sendSysex pauseMode gatewayIP setCursor ",'target="','aria-label="{{ctrl.navBarAriaLabel}}">',"mdHighlightText","addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem ","@?inputAriaLabelledby","use strict","gpu_get_tex_filter gpu_get_tex_filter_ext gpu_get_tex_repeat ","icStructuredConversionEventBefore ","precondition preconditionFailure print println quickSort readLine reduce reflect ","یک ساعت","currentColor","^\\!","$observe","md-select-menu","أقل من عام","un nebeud segondennoù","\\s+{","[прошлог] [петка] [у] LT","!\\d+","earth_africa","setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId ","Row selection: ngModel is not defined.","childNodes","#039be5",'type="',"euro","int float while private char catch import module export virtual operator sizeof ","boat","small_orange_diamond","75px","ctScript ","ordu bat","dddd, D MMMM YYYY [pukul] HH.mm",'$mdExpansionPanelGroup.register() The name "',"SUBTASK_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY ","minūtes_minūtēm_minūte_minūtes","stateService","getterSetter","DD-MM-YYYY","އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި","ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t ","columnCount","loaded","camera_get_view_speed_y camera_get_view_border_x ","cleanupElement","generateLabels","_credentials","containerProxy","oden","leave",'<md-nav-ink-bar ng-hide="ctrl.mdNoInkBar"></md-nav-ink-bar>',"reflow","[A-Z]+","Full deprecation is scheduled for the AngularJS Material 1.2 release. ","Get-vRAPropertyDefinition Get-vRAPropertyGroup Get-vRARequest Get-vRARequestDetail Get-vRAReservation Get-vRAReservationComputeResource Get-vRAReservationComputeResourceMemory ","INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY","onCancel","&deselect","#283593","animationPlayState","remove","\\b(?:FALSE|TRUE)\\b","visual","#\\!?\\[","MD-TOOLBAR","scorpius","SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION ","700 800 900","endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap ","%d օր","ФмтЧсл ","presentation","router","injector",'        <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n',"makeComponentTemplate","array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace ","asin","New-NsxLogicalRouterInterfaceSpec New-NsxLogicalRouterOspfArea New-NsxLogicalRouterOspfInterface New-NsxLogicalRouterPrefix New-NsxLogicalRouterRedistributionRule ","config) should only be used for creating a new locale ","begin_doc","manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx ","num_images parity popcnt poppar shifta shiftl shiftr this_image","ITaskFactory ","50 100 200 300 400 A100 A200","php6","erlang-repl","ure","isDisabled","um %s","ಒಂದು ತಿಂಗಳು","[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*",'<mdp-calendar ng-if="!datepicker.selectingYear" class="mdp-animation-zoom" date="datepicker.date" min-date="datepicker.minDate" date-filter="datepicker.dateFilter" max-date="datepicker.maxDate"></mdp-calendar>',"No language key specified for loading.","<md-input-container> can only have *one* <input>, <textarea> or <md-select> child element!","[بۈگۈن سائەت] LT","dadkh s yan %s","stp","removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas ",'<div class="gridster-item-resizable-handler handle-',"peerconnection:createofferfailed","fakeNgModel"," skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic",'^[^\\n";]+:(?!=)',"Cannot call a class as a function","ВыборSQL ","_dayOfMonthOrdinalParseLenient",'<md-input-container class="md-block"><md-select name="formItemInput" ng-required="SelectView.formItem.config.required" ng-model="SelectView.formItem.value"><md-option ng-repeat="option in SelectView.formItem.options track by $index" ng-value="option.value">{{ option.value }}</md-option></md-select><div ng-messages="SelectView.form.$error"><div ng-message="required">This field is required</div></div></md-input-container>',"#a1887f","ILabelControl ","(\\!|\\?)?:","onDone","PRIVILEGE_MANAGE_REPLICATION ","instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex ","$mdUtil","[കഴിഞ്ഞ] dddd, LT","genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre","LabelView","[فردا ساعت] LT","tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter ","__filtered__","CreateReport ",'<div layout layout-align="start start">',"adoc","^^mdHead","New-NsxLogicalRouterStaticRoute New-NsxLogicalSwitch New-NsxMacSet New-NsxManager New-NsxSecurityGroup New-NsxSecurityPolicy New-NsxSecurityPolicyAssignment ","ένας χρόνος","engem Joer","dseBeforeInsert ","list-style-type","longDateFormat","mwPriorityList","ping","ar-kw","ng-click","ondata","div dump each eachByte eachFile eachLine every find findAll flatten getAt ","\\s+","dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName ","^svRoot","Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj","supportsTouch","Align And Array As Break CallDebugger Case CompilerCase CompilerDefault ","janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.","whale","هڪ منٽ","sekundė_sekundžių_sekundes","rgb(82, 0, 163)","SYSRES_CONST_SYSTEM_VERSION_COMMENT ","SYSREF_REMOTE_SERVERS ","</button>","AAlarge","_closed","INQ","IsOpen","asMinutes","uibTooltipPopup","СпрТблИтог ","хвилина_хвилини_хвилин","st st0 st1 st2 st3 st4 st5 st6 st7 ","offer","-inci","SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION_CODE ","pointStyle","formatMonth"," abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate","timestampRequests","[Заўтра ў] LT","detectOS","[היום ב־]LT","move-left","revertClone","#303030","isang minuto","%d ⵜⴰⵙⵙⴰⵄⵉⵏ","isPanelActive","let yield const export super debugger as async await static ","#0066FF","raised_hands","400 500 700","removeProperty","pixelsToRows","ds_list_replace ds_list_delete ds_list_find_index ds_list_find_value ","removeChild","previous","$$forceReflow","`.+?`","#26c6da","%d daqiqa","snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound ","icePwd","quote","rati","rainbow","ILicenseInfo ","#ab47bc","\\[noprocess\\]|","T-Hub2","showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side ",'      <input ng-keypress="dialog.keypress($event)" md-autofocus ng-model="dialog.result" ','"2"',"embedTemplateUrl","mdSelectedHtml"," mhoine","timer_I","selectPage","jldoctest","panel_","фурсат","videoInputDevices"," log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst","sendDTMF() | no local audio track to send DTMF with","getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom ","resolveAll","weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD WFSideText wind ","NaN","[^,:\\n\\s\\.]","SYSRES_CONST_STRING_FORMAT_LEFT_ALIGN_CHAR ","CANT_CHANGE_ID_REQUISITE_RULE_ID ","sortedUniq","Expires","start","gridster-mobile-changed"," edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth","backdropPaddingX","wheel","acronym","polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix ","content-length"," hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite","emCreateVersion ","Remove-VDPortGroup Remove-VDSwitch Remove-VDSwitchPhysicalNetworkAdapter Remove-VDSwitchPrivateVlan Remove-VDSwitchVMHost Remove-VDisk Remove-VICredentialStoreItem ","_updatePosition","97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2","@?mdAddedMessage","material.core.theming.palette",'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',"SYSREQ_REF_REQ_FORMAT ","space","algorithm=","ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST","asrtHideRemote ","EventEmitter","#ef6c00","http:","nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile ","styleTabItemFocus","Microsoft.XMLHTTP","hideVerticalScrollbar","SYSRES_CONST_EDOC_VERSION_DESIGN_STAGE_CODE ","(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)","$$minErr","ngSortable.","[lLfF]?","mdVertical","border-image-slice","Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba","januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december","ViewService","headingElement",'Invalid target mode "',"md-nest-level",'<div class="form-item-container md-inline-form"><div class="form-item-actions"><md-button class="md-button" ng-if="FormItem.Attrs.onDelete" ng-click="FormItem.deleteClicked()"><i class="material-icons small">delete</i></md-button><md-button class="md-button" ng-if="FormItem.Attrs.onUp" ng-click="FormItem.onUp({item: FormItem.item, index: FormItem.index()})"><md-icon md-font-icon="icon-arrow-drop-up small">arrow_drop_up</md-icon></md-button><md-button class="md-button" ng-if="FormItem.Attrs.onDown" ng-click="FormItem.onDown({item: FormItem.item, index: FormItem.index()})"><md-icon md-font-icon="icon-arrow-drop-down small">arrow_drop_down</md-icon></md-button></div><md-input-container ng-if="FormItem.item.type != \'label\'" class="md-block"><label>Field Title</label> <input ng-model="FormItem.item.props.title"></md-input-container><md-input-container ng-if="FormItem.item.type != \'label\'" class="md-block"><label>Help Text</label> <input ng-model="FormItem.item.props.helpText"></md-input-container><md-input-container ng-if="FormItem.item.type === \'agreement\'" class="md-block"><label>Option Text</label> <input ng-model="FormItem.item.options[0].value"></md-input-container><div ng-switch="FormItem.item.type"><agreement-item ng-switch-when="agreement" item="FormItem.item"></agreement-item><label-item ng-switch-when="label" item="FormItem.item"></label-item><input-item ng-switch-when="input" item="FormItem.item"></input-item><radio-button-item ng-switch-when="multipleChoices" item="FormItem.item"></radio-button-item><matrix-item ng-switch-when="matrix" item="FormItem.item"></matrix-item><checkboxes-item ng-switch-when="checkboxes" item="FormItem.item"></checkboxes-item><textarea-item ng-switch-when="textarea" item="FormItem.item"></textarea-item><select-item ng-switch-when="chooseFromList" item="FormItem.item"></select-item><p ng-switch-default="">UNKNOWN TYPE</p></div><md-input-container ng-if="FormItem.item.type != \'label\'" class="md-block"><md-checkbox ng-model="FormItem.item.config.required">Required field</md-checkbox></md-input-container></div>',"algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama ","ease","[Aiz] LT","ui-view (defunct)","segundos","[hoxe ","onDrain","takeBinaryData","800000","heading","high_brightness","SYSREF_USER_GROUPS_REFERENCE ","html","\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b","üks tund","soatNumeric ","innerWidth","_animate","JsSIP:ERROR:WebSocketInterface","uib/template/pagination/pagination.html","VIEWERS_PSEUDOREFERENCE_CODE ","prije %s","Connect-Vmc Connect-vRAServer Connect-vRNIServer ConvertFrom-Markdown ConvertTo-MOFInstance Copy-DatastoreItem Copy-HardDisk Copy-NsxEdge ","wfepText27 ","ФайлЗаписать ","bolt","fish_cake",'class="md-datepicker-triangle-button md-icon-button" ',"transition-duration","SYSRES_CONST_NORMAL_ACCESS_RIGHTS_TYPE_CODE ","clock230","INFORMATION_CAPTION ","import from as","getRawNode","ChangeReferenceDataset ","bir sagat","bodySpacing","SYSREQ_USERS_USER_TYPE ","px)","setClockDivider readLightSensor endTransmission ",'<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>',"untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link ","QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA ",'<div class="tooltip-inner"\n',"Dia","md-calendar-parent-changed","IEDocumentFactory ","file_text_open_from_string file_text_open_read file_text_open_write "," random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto","cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,",'    <tr class="text-center" ng-show="::showSpinners">\n',"win8_settingscharm_add_html_entry win8_settingscharm_add_xaml_entry ","socket.io-client:socket","UrlRouterProvider","%d hēkona","_createBackdrop","setDetailMapBlendPars setDir setDirection setDrawIcon setDriveOnPath setDropInterval ","BabyMonsterGroupB Back Background BackgroundAppearance BackgroundTasksSettings Backslash Backsubstitution Backward Ball Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarcodeImage BarcodeRecognize BaringhausHenzeTest BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseDecode BaseEncode BaseForm Baseline BaselinePosition BaseStyle BasicRecurrentLayer BatchNormalizationLayer BatchSize BatesDistribution BattleLemarieWavelet BayesianMaximization BayesianMaximizationObject BayesianMinimization BayesianMinimizationObject Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized Between BetweennessCentrality BeveledPolyhedron BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryDeserialize BinaryDistance BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinarySerialize BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BiquadraticFilterModel BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor BiweightLocation BiweightMidvariance Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockchainAddressData BlockchainBase BlockchainBlockData BlockchainContractValue BlockchainData BlockchainGet BlockchainKeyEncode BlockchainPut BlockchainTokenData BlockchainTransaction BlockchainTransactionData BlockchainTransactionSign BlockchainTransactionSubmit BlockMap BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bond BondCount BondList BondQ Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms BooleanQ BooleanRegion Booleans BooleanStrings BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryDiscretizeGraphics BoundaryDiscretizeRegion BoundaryMesh BoundaryMeshRegion BoundaryMeshRegionQ BoundaryStyle BoundedRegionQ BoundingRegion Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxObject BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break BridgeData BrightnessEqualize BroadcastStationData Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurve3DBoxOptions BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BSplineSurface3DBoxOptions BubbleChart BubbleChart3D BubbleScale BubbleSizes BuildingData BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteArray ByteArrayFormat ByteArrayQ ByteArrayToString ByteCount ByteOrdering","utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs ","duminică_luni_marți_miercuri_joi_vineri_sâmbătă","SYSREQ_EDOC_LOCKED_FOR_SERVER_CODE ","dddd, D. MMMM YYYY. H:mm","k0 k1 k2 k3 k4 k5 k6 k7 ",'<div class="md-fab-toolbar-background"></div>',"OPR/","UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF ","SYSRES_CONST_CALCULATED_ROLE_TYPE_CODE ","scroller","Remove-vRAGroupPrincipal Remove-vRAIcon Remove-vRANATNetworkProfile Remove-vRAPackage Remove-vRAPrincipalFromTenantRole Remove-vRAPropertyDefinition Remove-vRAPropertyGroup ","#fce4ec","pascalprechtTranslateOverrider","uibTooltipHtml","mesiace","reconnect_failed","stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString ",'"algorithm"',"unbindEvents","типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций ","положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском ","ddd, [la] D[-an de] MMM, YYYY HH:mm","#0000FF","_color","mikrotik","postbox","putItems","$mdInkRipple","bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel ","dseAfterCancel ","PATH","position: fixed !important;","Expected a child element of `md-epxansion-panel-expanded`","redirected","%d Stunden","closeOnDateSelection",' class="md-icon-button" ng-click="showPicker($event)">',"получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю ","onRequestTimeout","STATE","<canvas>","mdpTimePicker","&color=","له‌ %s","GⒼＧǴĜḠĞĠǦĢǤƓꞠꝽꝾ","HH:mm:ss.SSS","_ncHex","autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ","target-left","uib-tooltip-classes ","windowClass","top ","New-VsanDisk New-VsanDiskGroup New-VsanFaultDomain New-VsanIscsiInitiatorGroup New-VsanIscsiInitiatorGroupTargetAssociation New-VsanIscsiLun New-VsanIscsiTarget ","leo","dog2","fromNow","dseOnUpdateError ","$STORAGE_KEY","physics_particle_get_damping physics_particle_get_gravity_scale ","resetPages","outerWidth","lastTick","'unjy","CONFIRMATION_CAPTION ","ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk ","brainfuck","steam_ugc_unsubscribe_item steam_ugc_num_subscribed_items ","SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION_CODE ","preventOnFilter","forceJSONP","exists","xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces ","WebSocket ","SYSRES_CONST_CONST_FIRM_STATUS_INDIVIDUAL ","count","%s आदीं","Promise","useMissingTranslationHandlerLog","imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset ",'<md-button class="md-no-style"></md-button>',"spritespeed_framespergameframe asset_object asset_unknown ","_isUTC",'"@"',"resetSelectedChip","case catch default do else exit exitWith for forEach from if ","hoverBorderColor","SYSRES_CONST_USERS_USER_ACCESS_RIGHTS_TYPR_REQUISITE_CODE ","ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress ",'"expires"',"pointer-events:auto","minScrollbarLength","categoryHeight","insert","ngSortableConfig","STATUS_INVITE_SENT","$translateRefreshEnd","^?mdChips","#689f38","isElementActive","version","mdDateRangePickerCtrl","football","scale({0},{1})","SYSRES_CONST_ATTACH_TYPE_REFERENCE ","six","\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?","JsSIP:RTCSession:ReferNotifier","stubObject","log","calculateBarX","atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when","polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal ","BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color ","///","#rem","last_quarter_moon","1 ມື້","swift","and or to union intersect instance of treat as castable cast map array ","order deny allow setenv rewriterule rewriteengine rewritecond documentroot ","{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @","animateScale","getIndex","EARLY",'    <span style="text-align: left; padding: 12px 20px 0 20px" disabled>{{ngModel.selectedTemplateName || placeholder}}</span>',"signalingState","New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption ","app/directives/textarea-item/textarea-item.html","numSteps","AppleScript false linefeed return pi quote result space tab true","binding","عام واحد","selectedText","SYSRES_CONST_EDOC_WRITE_ACCES_CODE ","return","container",'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>',"monthColumns","tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update ","border-color","_reconnectionDelay","xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek","snowboarder","SYSRES_CONST_ADITIONAL_JOB_END_DATE_REQUISITE_NAME ","$$animateQueue","transitionInClass","soatStringCollection ","dana","restricted result result_cache resumable resume retention return returning returns reuse reverse revoke ","fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent ","Move-HardDisk Move-Inventory Move-NsxSecurityPolicyRule Move-ResourcePool Move-Template Move-VApp Move-VDisk Move-VM Move-VMHost New-AdvancedSetting New-AlarmAction ","Contact: ","mobileDetectRules","ui.router.angular1","%s ago","\\[\\|","ng-anchor","%s əvvəl",'authenticate() | challenge without Digest qop different than "auth" or "auth-int", authentication aborted',"JsSIP","Unknown OS Version","(orientation: portrait)","getPointBorderWidth","getUnitTrait getUserMFDText getUserMFDvalue getVariable getVehicleCargo getWeaponCargo ","rgb(255, 204, 255)","%d meneti","SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_FEMININE ","</span>\n","setAlign","mánuður","SYSRES_CONST_STATIC_ROLE_TYPE_CODE ","isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad ","[=/|']","selectedDate","phy_particle_flag_elastic phy_particle_flag_viscous ","trimEnd","IPickProperty ","updateMinutes","dynamic","{ParamType:","tygodni","SYSREQ_REF_TYPE_REQ_ON_CHANGE ","rgb(255, 153, 51)",'"reason"','        <input type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">\n',"_disposed","legendHitBoxes","fulan ida","Utils","%[Qwi]?\\|","MSPointerDown","md-has-open-menu","respectPreAssignBindingsEnabled","$$addStateInfo","download","default delegate do double enum event explicit extern finally fixed float ","memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 ","curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface ","_model","getText","mdTheme","[object Uint16Array]","You must provide an axis to the update-scroll function","Ògmh","SYSRES_CONST_IMPORTANCE_HIGH ",'<iframe height="160" scrolling="no" ',"transitionStyle","Meitheamh",".md-no-style","physics_particle_group_join physics_particle_group_delete ","withUnsafePointer withUnsafePointers withVaList zip","session_timers_refresh_method","queuePromise","gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms ","glsl","setUTCFullYear","rgb(102, 255, 102)","setColor","office","\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)|LM-G710","contents","48px","dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato","radians","formatMonthTitle","isoWeekYear","inherit init-field interface let*-values let-values let/ec mixin ","_transitionRejection"," zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest","keyValsToObjectR","xAxisID","\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b","\\.\\s*","[O'tgan] dddd [kuni soat] LT [da]","rgb(204, 230, 255)","TIMER_H","selector-attr","SYSRES_CONST_ATTACH_TYPE_COMPONENT_TOKEN ","attachCalendarPane","uibDatepickerPopup","      <p>{{::dialog.mdTextContent}}</p>","chocolate_bar","max_interval","string_pos string_copy string_char_at string_ord_at string_byte_at ","digitalRead clearScreen serialEvent rightToLeft ","mdChipTransclude",'"\'"',"_overflowDayOfYear","[object Error]","gradientType","جويلية","ПереместитьФайл ","sv-on-start","SYSRES_CONST_CALL_TYPE_VARIABLE_PROGRAM_VALUE ","[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]*","plural get_current_language language get_available_languages ","Tuesday","գիշերվա","koala","-га","[gestern um] LT [Uhr]","ಮಧ್ಯಾಹ್ನ","symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext ","[düýn] LT","materialPalette","md-input-focused","session failed","selectstart","instance_create_layer instance_copy instance_change instance_destroy ","controller","$mdButtonInkRipple","Бир неча %s олдин","selectionTemplate","cop"," hónap","_runSessionTimer","buildList","Unresolvable Destination","%d egun",'"maddr"',"defaultResolvePolicy","_findDialog","border-bottom-left-radius","layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList ","criteriaMatchPath","NonInviteClientTransaction","\\b(?:PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\b","%d મિનિટ","\\bMicroMessenger\\b","EPSILON","img","N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope ","شهران","disposable","gpu_get_blendmode_dest gpu_get_blendmode_srcalpha ","constructor","md-chip-content","MONITOR_BLOCK_AFTER_FINISH_EVENT ","layout-align-lt-md","getResponseSheetRows","scrollbarXRail","rgb(102, 102, 255)","new Resolvable(): resolveFn argument must be a function","draw_line_width_color draw_rectangle_color draw_roundrect_color ","SYSRES_CONST_FUNCTION_FAILURE_RESULT ","lastWeek","$$getHeader","[\\s|\\(]+(","uibDatepicker","winphone_tile_title winphone_tile_count winphone_tile_back_title ","ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPixelPrecision ctrlSetPosition ctrlSetScale ","suppose per cases set thesis contradiction scheme reserve struct ","true false null undefined NaN Infinity","$$uibDatepickerCss","centerVertically","e60e","popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer ","IReferenceRequisiteDescription ","CSQL ","unsigned long volatile static bool mutable if do return goto void ","jsTree","bir daqiqa","(Procedure|Declare)(C|CDLL|DLL)?","fork_and_knife","$$interimElementProvider","tilemap_get_cell_y_at_pixel tilemap_clear draw_tilemap draw_tile ","MicroMessenger/[VER]","verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear ","relatedTarget","borderRightWidth",".PHONY","cancelAnimation","FormatString ","agent","maxTicksLimit","requests, you should use the `cancellable` option.",'md-tab-id="{{::tab.id}}" ',"addBar","safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity ","userInputElement","min","drawTicks",'<li role="menuitem" ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'first\')}}</a></li>\n',"autoWrap","charCodeAt",'<div role="tablist" class="panel-group" ng-transclude></div>',"SYSRES_CONST_SQL_SERVER_AUTHENTIFICATION_FLAG_VALUE_CODE ","$mdContentLoaded","_updateInkBarStyles","ahk","globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups ","PRIVILEGE_OBJECT_FULL_ACCESS ","smLike ","getMinutes","component","deleteRipples","applyAnimationDelay","mdMode","[ertir sagat] LT","curly_loop","md-panel-animate-fade","1989-01-07","attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp ","texture textureinfo trace transform vtransform xcomp ycomp zcomp","#ba68c8","md-theme-watch","subtype","процедура функция","LocationServices","getEventPath","_viewConfigs","%d ġranet","_weekdaysMinRegex","uibDropdownService","/\\d+","layer","voiceCall endPacket constrain getSocket writeJSON ","link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions ","СоздатьОтчет ","ثوان","DialogResult ","longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive ","layer_get_vspeed layer_script_begin layer_script_end layer_shader ","TEST_SQL_SERVER_NAME ","This Year","ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW ","wheelDeltaX","handshake","uib-datepicker","get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllEnvSoundControllers ","add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo ","ftCommonFolder ","СпрОтменить ","glBorderDash","SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400","ctRichView ","steam_file_persisted steam_get_quota_total steam_get_quota_free ","$exceptionHandler","openNextFile scanNetworks noInterrupts digitalWrite ","steam_ugc_create_query_all steam_ugc_create_query_all_ex ","a8m.reverse","uibModalWindow","cond","ckEDocument ","SYSREQ_EDOC_TYPE_VIEW_IS_MAIN ","%s:%s","DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format ","Arc","eka voran","stateChanged","[сутра у] LT","00000000","pink","ng-class","splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str ","(/?):","straight_ruler","resume","SYSRES_CONST_STATUS_VALUE_COMPLETE ","strictDi","#FF3366","focusChip","get_open_filename_ext get_save_filename_ext show_error ","get set args call","fax","%d månader","link_currentaction link_currentgroup link_currentrecord link_detail ","animationend","isReadonly","firstElementChild","ckTask ","isString","Remove-vRAReservation Remove-vRAReservationNetwork Remove-vRAReservationPolicy Remove-vRAReservationStorage Remove-vRARoutedNetworkProfile Remove-vRAService ","focusFirstFocusableElement","UrlRuleFactory"," tr track transcompile transform transform_xy translate_fast_arrays transparent","^^mdCalendar","jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec","meridiem","stopScrolling","lines","mid","moveInProgress","ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function ","trustAsHtml","dropRight","ShowMessage ",'    <div ng-if="::dialog.mdHtmlContent" class="md-dialog-content-body" ',"hljs","Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri","There are no matches available.","SYSREQ_LAST_UPDATE ","æǽǣ","dseAfterUpdate ","weekdaysRegex","%d eiliad","getButton available connected findUntil readBytes ","[Rytoj] LT"," / ","[گذشتہ روز بوقت] LT","ll'"," tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode","%q\\|","webkitCancelAnimationFrame","mdTopIndex",'"></div>',"phy_particle_flag_wall phy_particle_flag_spring ","நண்பகல்","#CC00FF","[:]{1,2}","parameters","_disableDelayedDragEvents"," scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description","select_value_label_","text-decoration-style","dddd, LT","REFERENCE_REQUISITES_PSEUDOREFERENCE_CODE ","nokkrum sekúndum","startY","math_get_epsilon angle_difference point_distance_3d point_distance ",'"lr"',"%s முன்","no Refer-To header field present in REFER","egun bat","phi call trunc zext sext fptrunc fpext uitofp ","footerAlign","md-autocomplete-wrap","#3333CC","polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge ",'<div class="md-select-menu-container" aria-hidden="true" role="presentation">',"%d ថ្ងៃ","domOperation","boundaryLinkNumbers","synchronous nopass non_overridable pass protected volatile abstract extends import ","iterator","'md-no-transition': $mdTabsCtrl.lastSelectedIndex == null, ","inputChanged","csharp","alpha","urlRouter","SYSREF_ROLES ","useClass","use","Trace","': ","lossy","SYSRES_CONST_GROUP_CATEGORY_NORMAL_CODE ","Kindle/[VER]","mdShrinkSpeedFactor","isMonthWithinRange","compareWithExp","آگسٽ","flow.events","monthValues","_offMoveEvents","SPACE","SYSRES_CONST_REQUISITE_SECTION_TABLE2 ","IHasher ",'      <span class="btn-group pull-left">\n',"new()","weekdaysShort","parseStyle","chicken","ReadFile ",'"[cwd]?',"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;","$$mdTooltipRegistry",'pausing current transport "%s"',"registerScaleType","icegatheringstatechange","IControlList ","$$ngAnimateChildren","ckFolder ","MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option ","[u] [nedelju] [u] LT","getChipIndex","\\b(?:ll(?:AgentInExperience|(?:Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(?:Details|ErrorMessage)|ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached(?:List)?|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|Request(?:Experience)?Permissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|SitOnLink|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\b","%d segons","abstract","checkPUK shiftOut isValid shiftIn pulseIn ","0[bB][01_]+[Lln]?|","pbi","dom._lun._mar._mér._xov._ven._sáb.","MAKE_RECORD_UNRATIFIED_RULE_ID ","UibTimepickerController","timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort ","ReportName ","mkd","_disableDelayedDrag","[morgen om] LT","install_targets load_command make_directory output_required_files remove ","withStream withWriter withWriterAppend write writeLine","xPosition","ERROR","#66CC33","%s առաջ","raddr","хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков ","SYSRES_CONST_REQ_NUMBER_REQUISITE_CODE ","%s ingkang kepengker","mp_grid_clear_rectangle mp_grid_add_cell mp_grid_get_cell ","$$topModalIndex","MM/DD/YYYY","ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ","SYSRES_CONST_LINK_OBJECT_KIND_EDOC ","ngModel","parameter"," jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill","waitFor","[Haut um] LT","decrementMinutes","$$replacedScope","audio_free_play_queue audio_queue_sound audio_get_recorder_count ","Sync-SpbmReplicationGroup Test-ConflictingResources Test-HCXMigration Test-HCXReplication Test-Json Test-ModuleReloadRequired Test-MofInstanceText Test-NodeManager ","data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0zLDZIMjFWOEgzVjZNMywxMUgyMVYxM0gzVjExTTMsMTZIMjFWMThIM1YxNloiIC8+PC9zdmc+","[Yesterday at] LT","tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator ","webkitTransitionEnd transitionend","SYSRES_CONST_ROUTE_TYPE_PARALLEL ","IEDocumentVersion ","%s fa","configureAutocomplete","From: ","СоздатьСписок ","fullPattern","[autofocus]","$windowProvider","VIEW_MINUTES","paar sekundit","radiogroup","godmode","\\(\\s*","DDDD","icUnknown ","set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter ","[上]dddd LT","(ncalls|tottime|cumtime)","tickHeight","mínúta","network-id","focusin","hilabete bat","onMouseDown","wenteka nga %s","a.t.m.","ОтлИнфУдалить ","minuty","SYSRES_CONST_ACTION_TYPE_DELETE_ATTACHMENT ","dismiss","</md-date-range-picker>","K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KEdgeConnectedComponents KEdgeConnectedGraphQ KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelFunction KernelMixtureDistribution Kernels Ket Key KeyCollisionFunction KeyComplement KeyDrop KeyDropFrom KeyExistsQ KeyFreeQ KeyIntersection KeyMap KeyMemberQ KeypointStrength Keys KeySelect KeySort KeySortBy KeyTake KeyUnion KeyValueMap KeyValuePattern Khinchin KillProcess KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnapsackSolve KnightTourGraph KnotData KnownUnitQ KochCurve KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter KVertexConnectedComponents KVertexConnectedGraphQ","КолПроп ","%d سائەت","//# sourceURL=","article","textContent","rgb","icDialogLookUpEventHandler ","  </thead>\n","gridster-no-drag","md-locked-open","కొన్ని క్షణాలు","_addStyles","getValueAtIndexOrDefault","boxes","SYSREQ_REF_REQ_LENGTH ","prevPage","a8m.every","emChangeStandardRoute ","\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",".uib-typeahead-match","setAM","pointerdown","Get-NsxLoadBalancerVip Get-NsxLogicalRouter Get-NsxLogicalRouterBgp Get-NsxLogicalRouterBgpNeighbour Get-NsxLogicalRouterBridge Get-NsxLogicalRouterBridging ","setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce ","Too Many Hops","}}'",'        ng-class="::dt.customClass">\n',"Get-NsxFirewallRuleMember Get-NsxFirewallSavedConfiguration Get-NsxFirewallSection Get-NsxFirewallThreshold Get-NsxIpPool Get-NsxIpSet Get-NsxLicense Get-NsxLoadBalancer ","\\b\\d+[kKmMgGdshdwy]*\\b","TypeError URIError Number Math Date String RegExp Array Float32Array ","tone","$message","[.%]?","polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection ","getVersionStr","leftMargin","emExport ","$tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random ","charsLeftOver","mdSvgIcon","loron ida","kuuden","NONOPERATING_RECORD_FLAG_FEMININE ","$ngControllerController","sanitize_address sanitize_memory sanitize_thread sspstrong ","=?mdpClearOnCancel","background","unhold()","[i]","СпрИзмНабДан ","parser","_enableWatchers","DPS Dream 9|DPS Dual 7","accentHues","opt-lambda override protect provide public rename require ","BODY","_sortFn","MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED ","BlackBerry","_footerFontStyle","animationID","$$ngTemplate","States that specify the 'parent:' property should not have a '.' in their name (","[ފާއިތުވި] dddd LT","Get-VsanIscsiInitiatorGroup Get-VsanIscsiInitiatorGroupTargetAssociation Get-VsanIscsiLun Get-VsanIscsiTarget Get-VsanObject Get-VsanResyncingComponent Get-VsanRuntimeInfo ","неколку секунди","maxWait","ski","onDialogError","connecting to WebSocket ","(\\-|\\+)?\\d+([./]\\d+)?","directivePriority","Ýk_Dş_Sş_Çr_Pn_An_Şn","bridge_at_night","ForceDirectories ","^dsconfig",'missing or invalid "host" parameter',"trying","[prejšnjo] [soboto] [ob] LT","SYSRES_CONST_EDOC_SHELL_LIFE_TYPE_VIEW_VALUE ","getPromiseChain","touchAction","mdColors: couldn't find '{palette}' in the palettes.","extraHeaders","mdForceHeight","    <md-content>\n","Sul_Lun_Meu_Mer_Yao_Gwe_Sad","Gone","touchend","checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close ","json","#ffee58","getScrollOffset","Method Not Allowed","poultry_leg","__nwjs","$rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display ","un ano","phy_particle_flag_colourmixing phy_particle_flag_colormixing ","subst","D'O","Tizen","FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC ","dseAfterDelete ","-шы","$$cookieWriter","СоздатьСценарий ","[prošle] [srijede] [u] LT","isArrayLikeObject","transport error occurred, deleting transaction ","trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew ","scrollTo","ui.bootstrap.paging","типфайлаформатированногодокумента ","يومان","mdRadioButton","ctInplaceHint ","uz-latn","IEDocumentInfo ","#fileLiteral #function #if #imageLiteral #line #selector #sourceLocation ","Call/Transaction Does Not Exist","SYSRES_CONST_FLOAT_REQUISITE_TYPE ","\\b[A-Z][\\w']*","[prošle] [subote] [u] LT","uib/template/rating/rating.html","urlSanitizationWhitelist","succeeded","isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring","append","disableOptions","D MMMM YYYY г., HH:mm","ek vor","%d كاتژمێر",'<div class="md-resize-handle"></div>',"un dia","addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats ","Bad Identity-Info","video_game","A h:mm:ss সময়",'<md-button class="md-datepicker-button md-icon-button" type="button" ',"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar","horizontal","icDialogDataSetEventHandler ","loading","rgba(255, 255, 255, 0.000)","getMeta","NA_complex_|10","chartType","background,cite,href,longdesc,src,xlink:href,xml:base","SYSRES_CONST_ACCESS_RIGHTS_VIEW_CODE ","TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT ","transport","border-width","%d taon","uiCanExit","JOB_BLOCK_BEFORE_QUERY_PARAMETERS_EVENT ","cmpg","Press Escape to dismiss.","deregister","smSelect ","u5272","    <md-button ng-if=\"dialog.$type === 'confirm' || dialog.$type === 'prompt'\"","Element","setTime","Unsupported URI Scheme","vor %s","AgreementView"," copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1","MediaStreamTrack",'format="config.format" ',"sysmsg|sysprod|sysrc|system|tan|tanh|time|timepart|","<md-date-range-picker ","vtGreaterOrEqual ","seminit"," expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine",";|{","fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint ","\\breturn\\s+","sstAnsiSort ","[:&]","&hide_related=","popupCloseDelay",'md-swipe-right="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(-1)" '," geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean","image","translateY","_loadConfig","path_get_point_speed path_get_x path_get_y path_get_speed ","les","unos segundos","[Kelmarin pukul] LT","onRemoved","UibProgressController","raiseevent readonly redim rem removehandler resume return ","otherwise","Files","person_with_blond_hair","type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then ","localAddress",") that exceeds the column count ","proc","SYSREQ_EDOC_STORAGES_EXECUTIVE_STORAGE ","controllerAs","un año","-theme","yrs","Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time ","REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR ","prefixer","livescript","H:mm","rgbaString","RⓇＲŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ","[אתמול ב־]LT","clipboardAction","NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW ","tl-ph","</svg>","hsl(","end;","Early Dialog Terminated","temp-gruu","onclose","sctpmap:%s %s",":not(.md-secondary)","TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError ","dialog ","[vp][0-9]+","toAor","commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal ","ngShow","Int16Array","white_square_button","endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap ","sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag","[Кеча соат] LT [да]","$setTheme","getTickLimit","RegisteredHook","SYSRES_CONST_PICK_POSITIVE_RESULT ","%s sonra","node","titleFontStyle","labelColor","aquarius","lock","_reattemptTimer","bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr ","mdPanel: addPanelPosition can only be used with ","link_firstgroup link_firstrecord link_lastgroup link_lastrecord ","gridster-mobile",'date-start="model.dateStart" ',"params_up return return_value run_children soap_definetag ","SYSRES_CONST_STANDART_ROUTES_GROUPS_REFERENCE_CODE ","SYSREF_SCRIPTS ","waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName ","sena","revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData ","optional","minRotation","getScaleConstructor","invalidSeconds","border-collapse","rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear ","socket.io-client","urlRouterProvider","dddd D. MMMM, YYYY HH:mm","dddd LT[etan]"," OPR/[VER]","battery","TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503","(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?","labelColors",'max-range="config.maxRange || model.maxRange" ','receiveNotify() | error parsing NOTIFY body: "',"_applyCombination","DISCONNECT","erb","(::","True False","-ıncı","ის წინ","Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek","VCHAR","POST","bubble","uib/template/datepickerPopup/popup.html","font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,","ssmBrowse ","mdTabsArrow","_weekdays","black_square_button","_refreshView","දින %d","Invalid url '"," bloaz","userCallback","INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION ","%d sekunddat","D MMM YYYY HH:mm","ps--active-y","</md-dialog-actions>","GGGG-[W]WW","[lo scorso] dddd [alle] LT","OPEN","%d segundos","1 ชั่วโมง","de-ch","[id]","isDark","unionBy","emitter","terminateSessions()","scrollTop","initMouseEvent","ping net ipconfig taskkill xcopy ren del","ASCII (character|number)|localized string|"," listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry","deselect","YYYYMMDD","material.components.bottomSheet","ⵉⵎⵉⴽ","getLabelDiff","complete_add nr2char searchpairpos inputdialog values matchlist ","ui.bootstrap.pager","backdrop click","месец","SYSRES_CONST_EDOC_NONE_ENCODE_CODE ","UIVIEW","1 สัปดาห์","lightness","baseFrequency","achievement_show_achievements achievement_show_leaderboards ","insertBefore","$$skipPreparationClasses","meta","set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer ","getMonthDistance","#000","buffer_invalidtype  text_type button_type input_type ANSI_CHARSET ","einjection eleft elim elimtype enough equality erewrite eright ","vk_end vk_delete vk_insert vk_pageup vk_pagedown vk_f1 vk_f2 vk_f3 ","Domh","hcg","[उद्या] LT","chartHover","IFileDialog ","$uiViewAnim","SYSRES_CONST_EXPORT_LOCK_TYPE_ASK ","РазбСтр ","space_invader","XMLElement XMLObject XMLTemplate Xnor Xor XYZColor","running","BINARY_NUMBER_RE","  changed to CONFIRMED state","oncoming_automobile","crosshair","CreateCachedReference ","SYSRES_CONST_GROUP_USER_REQUISITE_CODE ","Remove-NsxSegmentIdRange Remove-NsxService Remove-NsxServiceGroup Remove-NsxSpoofguardPolicy Remove-NsxSslVpnClientInstallationPackage Remove-NsxSslVpnIpPool ","IPv4","bridge","zsync ascii","#FF3300",'" to ','ng-focus="$mdTabsCtrl.redirectFocus()" ',"#0099FF","percent","អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍","Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)","Export-VMHostProfile Export-vRAIcon Export-vRAPackage Find-Command Find-DscResource Find-Module Find-NsxWhereVMUsed Find-Package ","uibDatepickerPopup must have a date format specified.","#(b|B)[0-1]+(/[0-1]+)?","Cannot parse rgb value","moadde sekunddat","Select All","You cannot override a type's .pattern at runtime.","IRequisiteFactory ","click-rail","ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS ","statistics","page-break-before","SYSREQ_CONST_FIRM_VALUE ","[फाल्यां] LT","[a-zA-Z_]+\\s*=>","hodín","md-open","[aska g] LT","%d minuta","ng-class=\"{ 'md-center-tabs': $mdTabsCtrl.shouldCenterTabs }\" ","criteria",'  <span aria-hidden="true">&times;</span>\n',"ckeditor","uiStateOpts","inputView","containment","audio_sound_gain audio_sound_pitch audio_stop_all audio_resume_all "," + (","requestFailed","bigHour","BeOS","tooltipTemplateTranscludeScope","originInteraction","SYSREQ_EDOC_TYPE_ACT_SECTION ","supplant","onDialogError()","md-no-stick","SYSRES_CONST_CODE_REQUISITE_ACCESS ","to step next return module inline throw import","mak","ConvertDateStr ","كەچ","let","componentId","[a-zA-Z0-9]","potable_water","rgb(204, 255, 204)","revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree ","jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner ","md-calendar-date-today","מספר שניות","eraName","tooltipPosition","getColorByMouse","_onDragStart","ready","isActive","chartRadar","rgba({0}, {1}, {2}, {3})","Aib","submitForm","#FF0033","یک سال","connecting","FOCUSED_DATE_CLASS","navigator","mdp-event.svg","emOpenForModify ","સાંજ","jtInner ","touchstart touchmove touchend","\\}\\}","addScalesToLayout","set_source_files_properties set_target_properties set_tests_properties source_group ","_isReadyToReOffer","subPath","className","satisfied","SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION ","invokeHook","physics_joint_gear_create physics_joint_enable_motor ","воскресенье_понедельник_вторник_среда_четверг_пятница_суббота","%d години","md-is-open","setAirplaneThrottle setAirportSide setAmmo setAmmoCargo setAmmoOnPylon setAnimSpeedCoef ","cs ds es fs gs ss ","defaultFontFamily","getFilename","Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module ","gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix ","Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember","duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str ","click touchend","SYSRES_CONST_AUTH_ENCODED_PASSWORD ","[ನಾಳೆ] LT","array null if endwhile or const for endforeach self var while isset public ","mdNoAsterisk","subtract symmetric union unload vectorDotProduct wait write","align-start","SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE ","thrift","writeMessage blinkVersion cityNameRead readMessage ","\r\n\r\n","buffer_async_group_end buffer_load_async buffer_save_async ","SYSRES_CONST_LINK_OBJECT_KIND_COMPONENT ","matchadd mkdir screenattr getfontname libcall reltimestr getfsize ","md-input-messages-animation","gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.","nav-index","রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি","erl","ExtractFileName ","типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ","material.components.fabActions","treeEvents","<md-backdrop> may not work properly in a scrolled, static-positioned parent container.","hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC ","_setInvite2xxTimer","leaf","uib/template/tabs/tab.html","log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer ","SYSRES_CONST_SUBSTITUTES_PSEUDOREFERENCE_CODE ","JsSIP:ERROR:RTCSession:Info","d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 ","jsbin","[minulú sobotu o] LT","isRemovable","uib/template/modal/backdrop.html","canPageForward","SideNav '{0}' is not available! Did you use md-component-id='{0}'?","diena_dienos_dieną","false true note warning error failure ","lastDay","[prošlu] dddd [u] LT","_late_sdp","SYSRES_CONST_DETAIL_PICK_REQUISITE_CODE ","buffer_copy buffer_fill buffer_get_size buffer_tell buffer_resize ","[moarn om] LT","padding-right",'"method="',"JsSIP:Message","SYSRES_CONST_USERS_USER_COMPONENT_REQUISITE_CODE ","$transition$","info","^\\-",'  <div uib-yearpicker ng-switch-when="year" tabindex="0" class="uib-yearpicker"></div>\n',"$translateLoadingStart","girl","panelHistory paramDimContext paramDimension paramLocator parent parentConstraint ","areq","_segments","commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop ","_weekdaysStrictRegex","_animateOpen","openedClass",'missing or invalid "uri" parameter',"material.components.colors","surface_get_height surface_get_texture surface_set_target ","_radioButtonRenderFns","data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xMiAyYy01LjUzIDAtMTAgNC40Ny0xMCAxMHM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTAtNC40Ny0xMC0xMC0xMHptNSAxMy41OWwtMS40MSAxLjQxLTMuNTktMy41OS0zLjU5IDMuNTktMS40MS0xLjQxIDMuNTktMy41OS0zLjU5LTMuNTkgMS40MS0xLjQxIDMuNTkgMy41OSAzLjU5LTMuNTkgMS40MSAxLjQxLTMuNTkgMy41OSAzLjU5IDMuNTl6Ii8+PC9nPjwvc3ZnPg==","еден ден","СоздатьДиалогВыбораИзДвухСписков ","MemoryLocationService","\\d+(?:[eE][+\\-]?\\d*)?L\\b","ramen","JsSIP:Registrator","SYSRES_CONST_SECTION_REQUISITE_DETAIL_1_VALUE ","isOptional","jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec."," cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp","actionHint","pointHoverBorderColor","BEFORE","true","r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 ","సాయంత్రం","расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных ","mw-question-priority-list-builder.html","fieldset","scrollbarXTop","sign","event","לפני %s","PointerEvent","un día","Signal=","dddd, D. MMMM YYYY [kl.] H:mm","33px","SYSRES_CONST ","and or not","c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer ","[afgelopen] dddd [om] LT","cleanupStyles","runSessionTimer() | sending session refresh request","lastIndex","icDialogRequisiteChangeEventHandler ","animation-play-state","card_index","rtcAnswerConstraints","dropWhile","ένα λεπτό","'?[a-z$_][0-9a-z$_]*","drawBMP lowByte setBand release bitRead prepare ","SYSREQ_REF_TYPE_REQ_CODE ","domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ","8b4513","SYSRES_CONST_OURFIRM_REF_CODE ","<md-tabs-canvas ","Property","steam_locomotive","webkitForce","[ng-messages]","нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу","requestAnimationFrame","_sessions","auth","addValidAttrs","mbYes ","_repaint","infoPanelComponentEnabled infoPanelComponents infoPanels inGameUISetEventHandler inheritsFrom ","https://www.youtube.com/embed/","ng-pattern","Ahd_Isn_Sel_Rab_Kha_Jum_Sab","SYSDLG_EDOCUMENT_KINDS_FOR_TEMPLATE ","tcp","$$isDocumentHidden","dark","newDTMF","formStatus","True False And Null Not Or",'"noresource"',"ekuseni","қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел","cat2","wdtPick ","isModalFocused","if|index|input|keydef|label|left|length|let|","setMeta","якчанд сония","_trigger","загрузитьизфайла ","systemLanguage","sprite_get_uvs font_get_uvs sprite_get_texture font_get_texture ","SIP_FAILURE_CODE","ISO-10303-21;",'" specified for md-menu on Y axis.',"notify","setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets ","innerWrapper","_onunhold","details","POSIX path|(date|time) string|quoted form)\\b","_source","SYSRES_CONST_RECSTAT_REQUISITE_CODE ","swapItems","inputHandler","image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray ","PRIVILEGE_FOLDER_DELETE ","uibAccordionConfig","isMobileFallback","$$parseAndValidate","boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu ","collision_point_list collision_rectangle_list collision_circle_list ","totalPendingRequests","flowInit","subst patsubst strip findstring filter filter-out sort ","dňami",".mdp-calendar-week-days","onmousemove","underage","?autoplay=0","$$childHead","pt_shape_smoke pt_shape_snow ps_distr_linear ps_distr_gaussian ","Illegal attachments","%d ਮਹੀਨੇ","một năm","LowerCase ","bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross ","Transition#",'"uas"',"Timer B expired for transaction ","iframe","md-calendar-change"," ~ md-icon","EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol ",'first-day-of-week="config.firstDayOfWeek || model.firstDayOfWeek" ',"current_weekday current_hour current_minute current_second alarm ","mouseout",'"branch"',"list->vector list-ref list-tail list? load log magnitude make-polar ","%s இல்","mdNoInk","Sú_Lú_Ma_Má_Xh_Vi_Sá","ini_open_from_string ini_open ini_close ini_read_string ","moyai","surface_copy_part application_surface_draw_enable ","recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh ","assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! ","date_date_string date_time_string date_days_in_month ",'<iframe src="javascript:0" name="',"day","handleWindowBlur","items","ساعة","MIN_SESSION_EXPIRES","selectedIndex","uint16 uint32 uint64 float double bool struct enum string void ","[object Int32Array]","utils","opacity: 0 !important;","canItemOccupy","Hudl HT7S3|Hudl 2","addPart","clearAnimate","onOpenFocus","announce","wen","1 個月","Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker","itemSize","translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )","Ýek_Duş_Siş_Çar_Pen_Ann_Şen","MeeGo","_blank","aria-required","bottom left",'  <div class="tab-content">\n',"rgb(92, 0, 0)","ngAnimate","%d minutoj","selectMatch","calendarPane",'The value of "n" is out of range. It must be a non-negative number. Received ',".arrow","A400","D.M.YYYY","auto","положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы ","जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर","template-tag","_$mdTheming","horizontalBar","No Answer","boxWidth"," UTC","HOOK","removeWith","^( {4}|\\t)","getYearDistance","[Wczoraj o] LT","accepted","سيپٽمبر","crypto:%d %s %s %s","defaultValue","[object Uint8Array]","ore","pēc %s","jsonp","chartData","getSize","flow.btn","sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd","initial inout input inside instance int integer interconnect interface intersect ","isMap","includeFallbackColors","[دوێنێ كاتژمێر] LT","Unhandled error.","isInProgress","reconnectionDelayMax","ff6347","ui-sref","конецпроцедуры конецфункции","start_time","SYSRES_CONST_CHECK_PARAM_VALUE_FLOAT_PARAM_TYPE ","md-leave","sockets","(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?","future","MdListController","[-]?(infinity|inf)","vim","як соат","Android.*\\bNabi","SYSRES_CONST_GROUP_SERVER_NAME_REQUISITE_CODE ","[\\ud800-\\udbff][\\udc00-\\udfff]","sourceURL","[به‌یانی كاتژمێر] LT","lang","uib/template/datepicker/day.html","_monthsShortStrictRegex",'<md-dialog class="md-color-picker-dialog">\n\t<div md-color-picker-container\n\t\tvalue="value"\n\t\tdefault="{{defaultValue}}"\n\t\trandom="{{random}}"\n\t\tok="ok"\n\t\tmd-color-alpha-channel="mdColorAlphaChannel"\n\t\tmd-color-spectrum="mdColorSpectrum"\n\t\tmd-color-sliders="mdColorSliders"\n\t\tmd-color-generic-palette="mdColorGenericPalette"\n\t\tmd-color-material-palette="mdColorMaterialPalette"\n\t\tmd-color-history="mdColorHistory"\n\t\tmd-color-hex="mdColorHex"\n\t\tmd-color-rgb="mdColorRgb"\n\t\tmd-color-hsl="mdColorHsl"\n\t\tmd-color-default-tab="mdColorDefaultTab"\n\t></div>\n\t<md-actions layout="row">\n\t\t<md-button class="md-mini" ng-click="close()" style="width: 50%;">Cancel</md-button>\n\t\t<md-button class="md-mini" ng-click="ok()" style="width: 50%;">Select</md-button>\n\t</md-actions>\n</md-dialog>\n',"типизмеренияпостроителязапроса ","children_crossing","icSubTaskInitEventHandler ","flowCtrl","selectedAnswerChanged","afterTickToLabelConversion","ཟླ་བ་གཅིག","50 100 200 A100","IQ310|Fly Vision","hearts","SHORTMONTH","%d मिनेट","երեկոյան",'md-date-filter="ctrl.dateFilter" ',"MdNavBarController","SYSRES_CONST_YES_PICK_VALUE ","SYSRES_CONST_DOUBLE_REQUISITE_CODE ","dragover","indeterminate","STATUS_CANCELED","ext","lineJoin","неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи","A h:mm:ss [vazta]","Get-HCXDatastore Get-HCXGateway Get-HCXInterconnectStatus Get-HCXJob Get-HCXMigration Get-HCXNetwork Get-HCXNetworkExtension ","print","New-NsxSegmentIdRange New-NsxService New-NsxServiceGroup New-NsxSpoofguardPolicy New-NsxSslVpnAuthServer New-NsxSslVpnClientInstallationPackage New-NsxSslVpnIpPool ","isEditable","Alternative Service","TIMER_J","Map Module NewList NewMap Next Not Or Procedure ProcedureC ","arrow_heading_up","$mdDateLocale","otherwise interactivity features will not work properly.","$setViewValue","އާދިއްތަ","SYSREF_COMPONENT_TOKEN_HISTORY ","SYSRES_CONST_ACTION_TYPE_COPY ",'aria-disabled="{{!$mdTabsCtrl.canPageBack()}}" ',"_onhold","weekdaysParse","parts",'<md-button type="button"></md-button>',"linkItem list listObjects listRemoteTargets listVehicleSensors ln lnbAddArray lnbAddColumn ","async signal static abstract interface override virtual delegate ","$urlRouter","fromSearch","timeout","\\xac\\xb1\\xd7\\xf7","[昨天] LT","prgb","(\\$","Do MMM YYYY","message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform ","обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении ","setVehicleReportOwnPosition setVehicleReportRemoteTargets setVehicleTIPars setVehicleVarName ","lcase month vartype instrrev ubound setlocale getobject rgb getref string ","[A-Z][a-zA-Z0-9_]*","elephant","triangular_ruler","%d ਦਿਨ","јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.","ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril ","BUTTON","[Jutro o] LT","requests","ПроверитьПараметр ","setSinkId","#eeff41","Transition Rejection($id: ","radio","@addBom","\\b(\\d+(\\.\\d*)?|\\.\\d+)","_minWeekdaysParse","[i] dddd[s kl.] LT"," skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t","withOffsetX","noListenOnLocalhost readJoystickButton setFirmwareVersion ","upgradeError","entering","Unable to load data, a key is not a non-empty string.","\\]\\(","volatile","[v] dddd [ob] LT","originalTransition","NNNN","b16","contentElement","<\/script>","日_月_火_水_木_金_土","^:.+?:","Bad Info Package","signature struct structure then type val with withtype where while","dnevi","part_type_alpha3 part_type_blend part_system_create ","MONITOR_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY ","lock rep repe repz repne repnz xaquire xrelease bnd nobnd ","_scheme","deps","получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации ","isKeyActive isKindOf isLaserOn isLightOn isLocalized isManualFire isMarkedForCollection ","ЦМассивЭлемент ","minúty","    </md-button>","en-sg","scrollbarPadding","refer()","SYSRES_CONST_TEXT_TYPE_CHAR ",'<iframe height="',"[sjutra u] LT","CreateQuery ","#e1f5fe","احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت","tilemap_get_at_pixel tilemap_get_cell_x_at_pixel ","containerEmptyHint","skipHide","archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan ","$mdTable.selected","ITaskAbortReasonInfo ","rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|","__halt_compiler","alias batch cd clear command connect connection-factory connection-info data-source deploy ","árum","STATUS_COMPLETED","pathSegmentsAndParams","jsonp poll error","sipErrorCause",":[ \\t]*("," minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton","md-menu-origin","जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर","keyBy","app/directives/textarea-item/textarea-view.html","шаб","cctDate ","ExtractParams ","setValue","dateDisabled","\\s(\\(\\.?.*?\\)|","Sul_Llun_Maw_Mer_Iau_Gwe_Sad","total","Yaqin %s ichida","Set-VDSecurityPolicy Set-VDSwitch Set-VDTrafficShapingPolicy Set-VDUplinkLacpPolicy Set-VDUplinkTeamingPolicy Set-VDVlanConfiguration Set-VDisk Set-VIPermission Set-VIRole Set-VM ","degrees","TEST_ISB5_SECOND_CODE ","$$animateCache",'<ul class="',"en minut","[Rīt pulksten] LT","islocked escape eventhandler remote_send serverlist winrestview ","néhány másodperce","lkj_corr lkj_corr_cholesky wishart inv_wishart","YYYY-M-D","hasPrevious","Remove-Snapshot Remove-SpbmStoragePolicy Remove-StatInterval Remove-Tag Remove-TagAssignment Remove-TagCategory Remove-Template Remove-UsbDevice Remove-VAIOFilter Remove-VApp ","spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf ","focusIndex","a-benn %s","nextSibling",'"maddr="',"color_get_blue color_get_hue color_get_saturation color_get_value ","version %s","offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit ","bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros ","600 700 800 A700","ugc_query_NotYetRated ugc_query_RankedByTotalVotesAsc ","</md-input-container>","green_heart","GridsterTouch","restroom","YYYY-DDD","[]{}%#'\"","ass","asrtHideLocal ","curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex ","white_check_mark"," random_logistic random_lognormal random_negative_binomial random_network","fyrir %s síðan","determineDataLimits","dollar",")\\.?","object-fit","moveTo","SYSRES_CONST_KINDS_EDOC_ALLOW_MULTIPLE_ACTIVE_VERSIONS_REQUISITE_CODE ","grid","NotSupportedError","layoutService","getBeforeBody"," npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties","icl","clearInterval","rotate_?z? rectangle circle ellipse sphere path line_to move_to ","IEDocumentStorage ",'"SUBSCRIBE"',"setAttrMapping setAttrNiceNameResource setConstraintRestPosition ","এক মিনিট","\\|[^]*?\\|","PlayBook|RIM Tablet","WAIT_BLOCK_AFTER_FINISH_EVENT ","http","grhAuto ","il y a %s","juldate|kurtosis|lag|lbound|left|length|lgamma|","confused","ei veke","\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)","kbv_type_email kbv_type_numbers kbv_type_phone kbv_type_phone_name ","_right"," ret","3rd",".json","setHeader","darken","999999px","mwForm.pageEvents.addPage","skipCompile","_disposables","Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern ","instance_place_list point_in_rectangle ","keywords","transportError","getRgba",'<div class="md-expansion-panel-header-container" ng-transclude></div>',"or ord partition permutations pos? post-route postwalk pow prewalk print ","cmyk","resetIds","truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first ","ECA","getVersion","fontSets","flow.dragEvents","suppressDeprecationWarnings","compress cond cons cons? continue count curry cut cycle dec ",'<table role="grid" tabindex="0" class="md-calendar" aria-readonly="true">',"womens","_md","admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib","\\$[A-z0-9_]+","options","IActionList ","SYSRES_CONST_TYPE_CODE_REQUISITE_CODE ","Week ","SYSREQ_COMPTYPE2 ","حوزەیران","dddd [Ọsẹ̀ tólọ́] [ni] LT",".chartjs-hidden-iframe","maxDate","vk_rcontrol vk_ralt  mb_any mb_none mb_left mb_right mb_middle ","Polyline Portal Pow Random Relate Reverse RingIsClockWise Round Second SetGeometry Sin Sort Sqrt Stdev Sum ","Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru",'md-swipe-right="$mdTabsCtrl.previousPage()" ',"SYSRES_CONST_CODE_REQUISITE_DESCRIPTION ","gray","scaleService","plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot ",'  <div class="label">{{$pagination.label.page}}</div>\n',"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac","[atzo] LT[etan]","\\b\\d+","एक मिनिट","uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos ","_pf","sehari","VarIsClear ","decreasePageOffset","area"," contour_plot contract contract_edge contragrad contrib_ode convert coord","moveUp","__UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend ","WSP","addGroup","sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.","രാത്രി","ip eip rip ","ВыделитьСтр ","script,style","facebook_post_message facebook_send_invite facebook_user_id ","srefOpts","openPanels",'          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n',"Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob ","recalculatePercentage","steam_ugc_get_item_update_info steam_ugc_request_item_details ","rgb(76, 76, 76)","SYSRES_CONST_REQUISITE_SECTION_TABLE23 ","synchronous","in out inout bycopy byref oneway __strong __weak __block __autoreleasing ","UibRatingController","ev_mouse_enter ev_mouse_leave ev_mouse_wheel_up ev_mouse_wheel_down ","godine","стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах ","$cookies","emChangeEncodeTypeToNone ","Мин ","%s baadaye","waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed ","includes","asmYesButCustomize ","Máirt","eng Stonn","[Изминатата] dddd [во] LT","perspective-origin","newInfo","(s+)?---$","nict","escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize ","            'active' for activeDt\n"," disamni","focus touchstart mouseenter","Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби","D MMMM YYYY","[object Uint8ClampedArray]","kalo %d","bdb76b","MMM","rtp","true false null nothing empty","typeaheadNoResults","rdtText ","cctString ","sore","editorTemplate effector emit emitter enableDevice encodeString endString endsWith env ","congratulations","actionscript","fromRatio","selectChip","_|0 as at cofix else end exists exists2 fix for forall fun if IF in let ","task project allprojects subprojects artifacts buildscript configurations ","storagePrefix","hue-","$translateLocalStorage","scale(1)","animation-delay","Invalid state ref '","un any","extends implements","rage4","AndroidOS","is_real is_string is_array is_undefined is_int32 is_int64 ","дзень","%d hours","[Today at] LT","mp_grid_create mp_grid_destroy mp_grid_clear_all mp_grid_clear_cell ","mwFormImageBuilder","mdColorSpectrum","xLabel","Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.","yearItems","%d anos","surfer","pt_shape_flare pt_shape_spark pt_shape_explosion pt_shape_cloud ","%d ཉིན་"," cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics","IsNumeric ","%d минути","dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",'      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></button></th>\n',"affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve ","body_type","macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease ","SYSRES_CONST_REQUISITE_SECTION_TABLE21 ","Native Injector","skipReconnect","getValueOrDefault","_is_canceled","flex-lt-lg",";to-tag=","md-option","pagi","нe_пo_вт_ср_че_пе_сa","год","hasNext","$submitted","_openFrom","SYSRES_CONST_FILTER_TYPE_USER_NAME ","getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs ","encoded","aayá %d","electric_plug","[Χθες {}] LT","SYSRES_CONST_EDOC_MANAGE_ACCESS_CODE ","<div></div>","dseOnValidDelete ","SYSREQ_EDOC_TYPE_NUMERATION_METHOD ","multipart","[ມື້ວານນີ້ເວລາ] LT","mdSelectOnFocus","dropdownPosition","ds_grid_get_disk_mean ds_grid_value_exists ds_grid_value_x ","col","еден месец","setmetatable tonumber tostring type unpack xpcall arg self","результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto ","calling","SYSREQ_EDOC_TYPE_ADD_PARAMS "," with: ","md-fab-toolbar","methodOf","%d mánaðir","shader_set_uniform_matrix_array shader_enable_corner_id ","displayAspectRatio","command on"," factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements","cpPluginVersion ","_processInDialogSdpOffer() failed [error: %o]","createChild","history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list ","package import option optional required repeated group oneof","XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT ","Does Not Exist Anywhere","hide-lt-md","updateSeconds","path_get_precision path_get_number path_get_point_x path_get_point_y ","ИзвлечьРасширение ","بعد از ظهر","%s kɔnɔ","cmd","(#t|#f|#\\\\","updateDaysInMonth","ps__scrollbar-y","[mañá ","mark","INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH ","[pasintan] dddd[n je] LT","#b2ff59","dseBeforeDetailUpdate ","msContentZooming","tzm","މިނިޓު %d","SYSRES_CONST_NEGATIVE_PICK_VALUE ","Client Server GSMPIN FileIO Bridge Serial ","YYYY年M月D日dddd HH:mm","saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D ","_onunmute","To: ","9400d3","र_सो_मं_बु_गु_शु_श"," ms","\\/\\*","ReferenceCodeByID ","ФайлСоздать ",'ng-focus="$mdTabsCtrl.hasFocus = true" ',"end if then else elseif endif while wend repeat until forever for ","WAIT_BLOCK_NAME_PROPERTY ","%sपूर्वी","tree","stringToStringArray strip stripPrefixFromName stroke subdAutoProjection ","tilesInvalidated","stroke-dasharray","UIRouter","|\\b(split|return|print|reverse|grep)\\b)\\s*","align-items","SYSRES_CONST_ACTION_TYPE_EXPORT_WITHOUT_LOCK ","updateInkBarStyles","item","JOB_BLOCK_JOB_TEXT_PROPERTY ","_getTabByName","md-calendar","दोपहर","contact_uri","animator","tvCollapse tvCollapseAll tvCount tvCurSel tvData tvDelete tvExpand tvExpandAll tvPicture ","christmas_tree","Error in resource configuration for action `{0}`. Expected response to ","_hideClone","vk_numpad1 vk_numpad2 vk_numpad3 vk_numpad4 vk_numpad5 vk_numpad6 ","типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных ","uibTabset","Work ","app/directives/matrix-item/matrix-view.html","используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы ","hour","convenience_store","codeServices","lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind ","`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid","ngLink","Selected","layout-align","telescope","^tags:","radius","elclob",'"pending"',"nga %s","$close","buildUrl",'<md-button ng-click="datepicker.confirm()" class="md-primary" aria-label="',"xorwrite goto near function end div overload object unit begin string on inline repeat until ","#90a4ae","first-letter","une heure","_onOpen","SYSREQ_USERS_COMPONENT ","UrlService","//www.","getResultHandler","md-select-on-focus","uib/template/progressbar/progressbar.html","ctDBMultiEllipsis ","=mdMinDate","වසර %d","OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE ","Textarea","not","mdColorRgb","squirrel",'"MD5"',"moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute ","RejectType","bir ay","типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы ","ngClick","font-family","wsbScript ","Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b","YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]","$$fn","setHasValue","IServerEventFactory ","mdSvgSrc","drivers","fun function global if in inherit inline interface internal lazy let ","UTC","gp_shoulderl gp_shoulderr gp_shoulderlb gp_shoulderrb gp_select ","^Content","pid","reverse round slice sort spaceless split striptags title trim upper url_encode","IMemoryDataSet ","md-menu-align-target","agreementItem","remoteUrl","Remove-NsxSslVpnPrivateNetwork Remove-NsxSslVpnUser Remove-NsxTransportZone Remove-NsxTransportZoneMember Remove-NsxVdsContext Remove-OSCustomizationNicMapping ","[Ngày mai lúc] LT","sortable-chosen","видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ","mdSelect","selectedObject","_impl","wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform","getFocusedTabId","Content-Type","sortable-ghost","mwQuestionDivisionBuilder","_dayOfYear","allowInvalid","config","property rsc_defaults op_defaults","_getPathTypes","SYSRES_CONST_ACTION_TYPE_IMPORT_WITH_UNLOCK ","thumbsup2","ICrypto2 ","sctpPort","%d bulan",'<button ng-show="closeable" type="button" class="close" ng-click="close({$event: $event})">\n',"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек","layoutDelegate","windowEventHandler","registerExpanded","dddd [da] LT","flex-order-lt-md","FaceForm FaceGrids FaceGridsStyle FacialFeatures Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail Failure FailureAction FailureDistribution FailureQ False FareySequence FARIMAProcess FeatureDistance FeatureExtract FeatureExtraction FeatureExtractor FeatureExtractorFunction FeatureNames FeatureNearest FeatureSpacePlot FeatureSpacePlot3D FeatureTypes FEDisableConsolePrintPacket FeedbackLinearize FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket FetalGrowthData Fibonacci Fibonorial FieldCompletionFunction FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileConvert FileDate FileExistsQ FileExtension FileFormat FileHandler FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameForms FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileSize FileSystemMap FileSystemScan FileTemplate FileTemplateApply FileType FilledCurve FilledCurveBox FilledCurveBoxOptions Filling FillingStyle FillingTransform FilteredEntityClass FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindAnomalies FindArgMax FindArgMin FindChannels FindClique FindClusters FindCookies FindCurvePath FindCycle FindDevices FindDistribution FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEdgeIndependentPaths FindEquationalProof FindEulerianCycle FindExternalEvaluators FindFaces FindFile FindFit FindFormula FindFundamentalCycles FindGeneratingFunction FindGeoLocation FindGeometricConjectures FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindHamiltonianPath FindHiddenMarkovStates FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMatchingColor FindMaximum FindMaximumFlow FindMaxValue FindMeshDefects FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindMoleculeSubstructure FindPath FindPeaks FindPermutation FindPostmanTour FindProcessParameters FindRepeat FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindSpanningTree FindSystemModelEquilibrium FindTextualAnswer FindThreshold FindTransientRepeat FindVertexCover FindVertexCut FindVertexIndependentPaths Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstCase FirstPassageTimeDistribution FirstPosition FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FitRegularization FittedModel FixedOrder FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlattenLayer FlatTopWindow FlipView Floor FlowPolynomial FlushPrintOutputPacket Fold FoldList FoldPair FoldPairList FollowRedirects Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FormControl FormFunction FormLayoutFunction FormObject FormPage FormTheme FormulaData FormulaLookup FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalGaussianNoiseProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameRate FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrenetSerretSystem FrequencySamplingFilterKernel FresnelC FresnelF FresnelG FresnelS Friday FrobeniusNumber FrobeniusSolve FromAbsoluteTime FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS FromEntity FromJulianDate FromLetterNumber FromPolarCoordinates FromRomanNumeral FromSphericalCoordinates FromUnixTime Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullInformationOutputRegulator FullOptions FullRegion FullSimplify Function FunctionCompile FunctionCompileExport FunctionCompileExportByteArray FunctionCompileExportLibrary FunctionCompileExportString FunctionDomain FunctionExpand FunctionInterpolation FunctionPeriod FunctionRange FunctionSpace FussellVeselyImportance","setSizeY","ear","INFO","md-multiple","send","processInput parseCommand printVersion readNetworks ","ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ","6495ed","md-content-overflow","%d dagar","gradle",".vakata","ИндикаторОткрыть ","SYSRES_CONST_ACTION_TYPE_MODIFY_CARD ","mõne sekundi"," skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t","dddd [át] LT","জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে","dseBeforeCancel ","Set-HCXMigration Set-HCXReplication Set-HardDisk Set-IScsiHbaTarget Set-KeyManagementServer Set-KmsCluster Set-MarkdownOption Set-NetworkAdapter Set-NfsUser Set-NicTeamingPolicy ","fwrite|gaminv|gamma|getoption|getvarc|getvarn|hbound|","a8m.before","[circular ref]","revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop ","=?mdpMinTime","drop ","%d sekonda","1.8.2","watchEmbedData","set volume|system attribute|system info|time to GMT|","Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık","ISearchDescription ","md-toast-animating","invalidFormat","dll_stdcall matrix_view matrix_projection matrix_world os_win32 ","eachRight","SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_AND_ENCRYPT_VALUE ","physics_particle_draw_ext physics_particle_count ","autoShrink_","\\\\[\\s\\S]","transitionService","formData","md-truncate","DI can't find injectable: '","data-uib-tab-heading"," ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis","SYSRES_CONST_COMP_CODE_GRD ","max-width","createRegex","winky_face","datasetIndex","_shortMonthsParse","[\\0-\\t]","Remove-AlarmAction Remove-AlarmActionTrigger Remove-Alias Remove-CDDrive Remove-CIAccessControlRule Remove-CIVApp Remove-CIVAppNetwork Remove-CIVAppTemplate Remove-Cluster ","zoneAbbr","layer_sprite_get_yscale layer_sprite_get_angle ","\\${","-чы","attributes","initElement","running_shirt_with_sash","\\u2000-\\u206f","SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE ","then unless until loop of by when and or is isnt not","handleClickSelectThisYear","_isAMomentObject","_useHttp","md-dialog cannot have both `htmlContent` and `textContent`","uib/template/popover/popover-template.html","minTime","rgb(0, 0, 245)",'"text"',"onLoaderError","ariaValue","getBlock_","getNearestParent","_challenged","md-scroll-y","[u] [sredu] [u] LT","buildWeekHeader","ngMessage","ИнтерактивныйРежим ","Invalid squash policy: ","abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue ","setData","onTransportClosed","@placeholder",'        <input            class="md-input"            tabindex="0"            aria-label="{{$mdChipsCtrl.inputAriaLabel}}"            placeholder="{{$mdChipsCtrl.getPlaceholder()}}"            ng-model="$mdChipsCtrl.chipBuffer"            ng-focus="$mdChipsCtrl.onInputFocus()"            ng-blur="$mdChipsCtrl.onInputBlur()"            ng-keydown="$mdChipsCtrl.inputKeydown($event)">',"сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент ","model.customTemplates will be removed from model on next rlease, please use root config e.g. $mdDateRangePicker.show({customTemplates}) instead","Fecha inválida","СпрРекв ","mozMatches","ds_priority_destroy ds_priority_clear ds_priority_copy "," lup","keyframeStyle","D MMMM YYYY A h:mm [vazta]","IMetadataRepository ","SYSRES_CONST_KINDS_DEFAULT_EDOC_LIFE_STAGE_REQUISITE_CODE ","ФайлАтрибутСчитать ","ФайлПереместить ","deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank ","Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember","searchStr","compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ","layer_background_get_speed layer_sprite_get_id layer_sprite_exists ","enum else break transient new catch instanceof byte super volatile case assert short ","date_second_span date_compare_datetime date_compare_date ","borderJoinStyle",'ng-class="{ ',"DAY","SYSREF_EDOC_TYPES ","panel-default","websocket error",'        id="{{::dt.uid}}"\n',"50 100 200 300 A100","SYSRES_CONST_REQ_TYPE_VALUE ","lle ","MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19","SUBTASK_BLOCK_SUBJECT_PROPERTY ","createProxyFunctions","mdCalendarYearBody","σε %s","setting transport %s","filetest filletCurve filter filterCurve filterExpand filterStudioImport ","happy","D MMM YYYY","displayFormats","disa sekonda","interpolateParams","dddd, D. MMMM YYYY HH:mm"," show_vertices show_weight simp simplified_output simplify_products simpproduct","mdBody",'probe transport "%s" failed',"handleInputEvent","$DOCUMENT","remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems ","%d anys","=mdMonthFilter","_remoteHold","One of component or template or templateUrl options is required.","Invalid argument.","clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory ","A type named '","md-container-class","mirror","md-prevent-menu-close","[A-Za-z$_][0-9A-Za-z$_]*","reRender","EDocuments ","[Ҫитес] dddd LT [сехетре]","dropdown-menu-right","eraAbbr","_unwatchOld","terminator_end","taxi","text/plain;charset=UTF-8","addByteOrderMarker","mis","%d ماہ","clientTop","setImmediate","blockquote","IndexOf ","\\.[\\w-]+","noen sekunder"," ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot","steam_file_write steam_file_write_file steam_file_read ","mdTablePagination","semantic","Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ","md-gutter","scrollbarWidth","formSubmit","touchmove mousemove","innerHTML","severity shared signal sla sll sra srl strong subtype then to transport type ","error while creating transport: %s","[jučer u] LT","rtl","zh-mo","wheelPropagation","tvtAllWords ",'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">',"cursor"," poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation","^[ \t]*\\*.*$","INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 ","vakata"," squash: '","abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol ","[^\\\\]'",'"NOTIFY"',"onTimestampSelected","indexedDB","clearButton","getFocusedTab","md-right","onChange",";|:","change","tweetOptions","initSelection","md-calendar-date-selection-indicator","false nil true","scrollSpeed","JOB_BLOCK_NEED_SIGN_ON_PERFORM_PROPERTY ","offAny","SUBTASK_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY ","win8_livetile_notification_secondary_begin ","clearParams","SYSRES_CONST_ACCESS_TYPE_FULL_CODE ","IReferenceValue ","_wrapTemplate","defaultIconSize","^ngModel","contrast","Remove-vRAStorageReservationPolicy Remove-vRATenant Remove-vRATenantDirectory Remove-vRAUserPrincipal Remove-vRNIApplication Remove-vRNIApplicationTier Remove-vRNIDataSource ","SYSRES_CONST_PICK_REQUISITE_TYPE ","mdFloatingLabel","Aoine","LOG_REJECTED_RESULT","D. M. YYYY.","getDate","ITextCriterion ","KeyboardController MouseController SoftwareSerial ","stAuthenticating ","define undef ifdef ifndef else endif include","point_down","yellow","flex-shrink","Paz_Pts_Sal_Çar_Per_Cum_Cts","aria-setsize","The transition has been superseded by a different transition","contentType","( '","isSearch","vectorNormalized vectorUp vectorUpVisual vectorWorldToModel vectorWorldToModelVisual vehicle ","fromConfig","websocket","contentText","every","gesture_get_pinch_angle_towards gesture_get_pinch_angle_away ","fsharp","transportType","MessageBoxEx ","[Føregåande] dddd [klokka] LT","menuitemcheckbox","magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd ","garbageCollect","mdInputMessagesAnimation","isLocal","removeCustomAnswer","cos","<div ","borderWidth","mailbox_with_mail","source-track global rule max-src-nodes max-src-states max-src-conn","(=(?!>))?|[-+*/%](?!>)","NOTICE_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY ","ctWebBrowser ",'<md-button ng-if="!config.autoConfirm" class="md-raised md-primary" ng-click="ok()">{{getLocalizationVal("Ok")}}</md-button>',"$mdTheming","rate","socket","подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки ","mdNavItem","buffer","ui.bootstrap.dateparser","[x-uib-accordion-header]",'<md-button ng-if="!config.autoConfirm" class="md-raised" ng-click="clear()">{{getLocalizationVal("Clear")}}</md-button>',"mouse_x mouse_y mouse_button mouse_lastbutton cursor_sprite ","бир мүнөт","$validate","\\\\.","phy_joint_anchor_2_y phy_joint_reaction_force_x ","synstack pyeval prevnonblank readfile cindent filereadable changenr ","focusToDate","beforeDraw","uibPopover","SYSRES_CONST_STATUS_VALUE_GREEN_SQUARE ","mdExpansionPanel","отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения ","ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND ","forceAsyncReload","_$timeout","unable to send message, transport is not connected","lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep ","IProcess ","установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима ","encoder","%d أعوام","Tooltip","camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos ","ctDBEdit ","שעה","$mdSelect.show() expected a target element in options.target but got '{0}'!","$provide","md-sticky-clone","SYSRES_CONST_ADDITION_REQUISITE_CODE ","IReference ","startIndeterminate","toilet","missing mandatory header field : ","toParams","identity if if* if-not if-python2 import in inc input instance? ","MimeDecodeBinary ","TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY ","template temporary terminated tertiary_weights test than then thread through tier ties time time_format ","aria-label","IsGraphicFile ","shortPattern","instance_exists instance_number instance_position instance_nearest ",". Valid policies: false, true, arbitrary-string","nonDynamicParams","_isStrictMode","capitalize","mul","ABORTED","return parent clone use __CLASS__ __LINE__ else break print eval new ","[སང་ཉིན] LT","onFinish","#558b2f","^^?form","performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin ","=mdpNoFloat","defaultFontColor","camera_get_view_width camera_get_view_height camera_get_view_speed_x ","text-shadow","isCreateMediaStreamSourceSupported","rtcOfferConstraints","mdSelectedText","[#$=]?0b[01]+","%d दिन"," zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table","[a-zA-Z0-9_]+@","onComplete","Invalid parameter name '","kilka sekund","templateCache","ATTENTION_CAPTION ","ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZIPCodeData ZipfDistribution ZoomCenter ZoomFactor ZTest ZTransform","[დღეს] LT[-ზე]","mdChips","использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения ","#a5d6a7","NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED ","loop map mod nand new next nor not null of on open or others out package parameter port ","option_env! print! println! select! stringify! try! unimplemented! ","$mdMenuClose","pageLabel","getEditorObjectScope getElevationOffset getEnvSoundController getFatigue getForcedFlagTexture ","model not assignable","</md-pagination-wrapper> ","%d മാസം","invalid","insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance ","material.components.swipe","md-panel-animate-slide","mdOnOpen","WindowsMobileOS","_dragStarted","Interceptor callback must be a function, instead got ","\\]=*\\]","icTaskFormEventHandler ","[फुडलो] dddd[,] LT","<\\?(rev|lc|livecode)","SYSREQ_EDOC_TYPE_NAME_LOCALIZE_ID ","getData","INoticeInfo ",'      <md-option ng-repeat="page in $pageSelect.pages" ng-value="page">{{page}}</md-option>\n',"IQuery ","h:mm:ss A","isHijackingClicks","european_post_office",", 100%, 50%)","_announceTimeout","publishedAt","selectionEnd","for true while long strictfp finally protected import native final void ","ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳","#212121",'emit "peerconnection:setlocaldescriptionfailed" [error:%o]',"moveUpElement","mkdown","payloads","[நாளை] LT","closing session ","ckJob ","Opera Mini","lineCap","ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab","#3300FF","evaluate","bidiProperty","firstDayOfMonth",'<div class="_md md-open-menu-container md-whiteframe-z2"></div>',"stApproving ","mrcrtUser ","parseSimulcastStreamList",'tabindex="-1" aria-hidden="true" ',"onconnect","reset","noinert","date_valid_datetime date_inc_year date_inc_month date_inc_week ","(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)","previousSibling","SYSRES_CONST_ACTION_TYPE_REVISION ",'<div class="mdp-timepicker-selected-time">',"fortran","(y)","draw","%d minutes","backface-visibility","move_bounce_solid move_bounce_all move_wrap distance_to_point "," þoras","isConnecting","z1000|Z99 2G|z930|z990|z909|Z919|z900","[անցած] dddd [օրը ժամը] LT","%d buwan","marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,",'<ul role="presentation" class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n',"SYSREQ_USERS_USER_DEFAULT_CERTIFICATE ","mdColorPicker:spectrumColorChange","_end_time","[prošlog] [ponedeljka] [u] LT","translateValues","fr-ch","invertBy",'[")]','  <md-button class="md-icon-button" type="button" ng-click="$pagination.next()" ng-disabled="$pagination.disabled || !$pagination.hasNext()" aria-label="Next">\n',"uib/template/progressbar/progress.html","toInteger",'<div layout="row" layout-align="space-between center">',"$stateChangeStart","[minulú nedeľu o] LT","join join_any join_none large let liblist library local localparam logic longint ","revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD ","CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT ","addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem ","segundo batzuk","-ին","(\\))?[^a-zA-Z0-9_\\}\\$]","addDateMinutes","DEFAULT_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET SYMBOL_CHARSET ","whiteness","[;}]","YYYYY","getBottom","(\\(.*\\))?\\s*\\B[-=]>","SYSRES_SBREFDSC ","ack","در %s"," (KHTML, like Gecko) Nodejs/","showTemplate","packetCreate","unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems ","^```\\w*\\s*$","word wordlist firstword lastword dir notdir suffix basename ","received text message:\n\n","bm_inv_dest_colour bm_dest_color bm_inv_dest_color bm_src_alpha_sat ","%d soicind","INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ","SYSREQ_EDOC_VERSION_NOTE ","focusToggleElement","refer-to","P_E_T_K_N_R_L","map","xGoogleFlag","active;expires=","%r\\[","% - (","SYSRES_CONST_BEGIN_DATE_REQUISITE_CODE ","processTemplate","eventNames","$templateCache","rawRepeatListExpression","decode","control:%s","longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge messageAuthenticationCode messageDigest millisec ","videoServices","xorBy","bnd0 bnd1 bnd2 bnd3 ","Массив "," минут","%d سیکنڈ","'auto' array mode is for query parameters only","Get-NsxSslVpn Get-NsxSslVpnAuthServer Get-NsxSslVpnClientInstallationPackage Get-NsxSslVpnIpPool Get-NsxSslVpnPrivateNetwork Get-NsxSslVpnUser Get-NsxTransportZone ","\\[=*\\[","reconstructPacket","SYSRES_CONST_COMPONENT_TYPE_REFERENCES ","track","$translateChangeEnd","uiState","_sorted","getBackgroundPoint","tos tag tagged user keep fragment for os drop","SYSRES_CONST_GROUP_COMMON_CATEGORY_FIELD_VALUE ","flex-order","u7a7a","background-clip","SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION ","annotate",'ARIA: Attribute "',"freeze","no_bicycles","_ordinalParse","fromPairs","today","fá sekund","_method","isArrayBuffer","drawBorder","renderer","getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender ","selectNodeContents","$translateDefaultInterpolation","chain","$translate","inputElement","man_with_gua_pi_mao","vtEqual ","isVideoSupportsStreamCapturing","getLastInteractionType","onmousewheel","BlackBerry.*Version/[VER]"," órája","ds_type_priority ef_explosion ef_ring ef_ellipse ef_firework ","#e0f2f1","[^\\s\\}]","MISSING_SDP","extends with","keypress","https://github.com/philipwalton/flexbugs#9-some-html-elements-cant-be-flex-containers"," दीस","ПользовательИмя ","EDOCUMENTS_ALIAS_NAME ","containerUpdated","times","Accept: ","SYSRES_CONST_REF_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE ","SYSREF_USERS ","enable","md-whiteframe-1dp","СпрТблСтрУд ","#e040fb","to +","#\\s","$extractResponseForPriorityQuestion","Chrome/[VER]","?title=0&byline=0&portrait=0&autoplay=0","UibAccordionController","handleHookResult","updateWith","popupPlacement","SYSRES_CONST_ACTION_TYPE_VERSION_STATE ",";|\\.","[azi la] LT","bodyFontColor","delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo ","anger","ஒரு மணி நேரம்","read write deny defined not_defined in_range date spec in ","getTemplate"," hónapja","screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ","verbatim",".md-scale","clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor ","polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge ","อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์","SYSREF_USER_SUBSTITUTION ","%,0,0)","wptDateTime ","objectivec","Expected ","ds_priority_delete_value ds_priority_delete_min ds_priority_find_min ","small_blue_diamond","TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA ","MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte ","%d விநாடிகள்","toIsoString","is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists ","[geçen] dddd [sagat] LT","_getPanelAnimationTarget","md-dialog","ReferenceNumber ",")\\b","субҳ","#CCCC00","instance_deactivate_all instance_deactivate_object ","Unsupported Media Type","strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased ","model.firstDayOfWeek will be removed from model on next rlease, please use root config e.g. $mdDateRangePicker.show({firstDayOfWeek}) instead","_topFocusTrap","utc","SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION ","_sip_uri","SYSRES_CONST_USER_LOGIN_REQUISITE_CODE ","_monthsParseExact","_$mdUtil","saa limoja","^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:","$translateSanitization","sfsStrikeout ","addedMessage","restoreScroll","_format","SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_CODE ","Row selection: Expected an array. Recived ","double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject ","totalItems","u8 u16 u32 u64 u128 usize ","ui.bootstrap.pagination","modelValue","$pagination.limit","thumbsup","ug-cn",'<md-button class="md-icon-button" ng-click="showPicker($event)"',"Set-NsxLoadBalancerPoolMember Set-NsxLogicalRouter Set-NsxLogicalRouterBgp Set-NsxLogicalRouterBridging Set-NsxLogicalRouterInterface Set-NsxLogicalRouterOspf ","drawingArea","SYSRES_CONST_MESSAGE_INFORMATION_CAPTION ","REASON_PHRASE","$pagination","selectNext","12pt","matrix msym ndpclex new open output outwidth plot plotsym pop prcsn print ","soatPickCollection ","MONITOR_BLOCK_INTERVAL_PROPERTY ","alarm_clock","getBoundingClientRect",")[(]","fries","itemsPerPage","easing","resolveTokens","OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe ","custom","pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector ","treeEventsObj","controlPointPreviousX","do_2ª_3ª_4ª_5ª_6ª_sá","email","a8m.latinize","doy","%d वर्षां","SYSRES_CONST_MINUTE_CHAR ","via","00bfff","removePanel","#263238","CONNECTION_RECOVERY_MIN_INTERVAL","Спр ","haircut","hotsprings","getPointBorderColor","clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool ","expect","hasMethods","treeData","форматдатыjson экранированиесимволовjson ","SYSRES_CONST_POWER_TO_SIGN_ACTION_CODE ","parseDate","pointHoverRadius","pingTimeout","relativeTimeThreshold","llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 ","sparkling_heart","_onTransportError","una minuta","Register it with $mdThemingProvider.theme().","SYSRES_CONST_IMPORTANCE_NORMAL ","[\\w#]+\\(\\w+\\):\\d+:\\d+>","($$$p)","xs:anyAtomicType xs:untypedAtomic xs:duration xs:time xs:decimal xs:float xs:double xs:gYearMonth xs:gYear xs:gMonthDay xs:gMonth xs:gDay xs:boolean xs:base64Binary xs:hexBinary xs:anyURI xs:QName xs:NOTATION xs:dateTime xs:dateTimeStamp xs:date xs:string xs:normalizedString xs:token xs:language xs:NMTOKEN xs:Name xs:NCName xs:ID xs:IDREF xs:ENTITY xs:integer xs:nonPositiveInteger xs:negativeInteger xs:long xs:int xs:short xs:byte xs:nonNegativeInteger xs:unisignedLong xs:unsignedInt xs:unsignedShort xs:unsignedByte xs:positiveInteger xs:yearMonthDuration xs:dayTimeDuration","control","wine_glass","typeaheadShouldSelect","vⓥｖṽṿʋꝟʌ"," simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert","beginTransmission getSignalStrength runAsynchronously ","gada_gadiem_gads_gadi","#880e4f","pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev","rdLastWeek ","relaxed","reOnChange ","ctBitButton ","scrollFn","autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults ","applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx ","dts","cancelAnimFrame","nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast ","SYSREQ_LINE_NUMBER ","iPod.*CPU[a-z ]+[VER]","setupWrapperAria","bullettrain_front","dayOfMonthValues","[a-zA-Z_][a-zA-Z_0-9$]*","addEvent","Application ","[Вчора ","_getEvents","PalmSource|Palm","rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table ","%s後","ФайлВремяУстановить ","clock5","updateElementsOrderNo","[object Float32Array]","stripTrailingSlashes","ini_read_real ini_write_string ini_write_real ini_key_exists ","%d años"," submatrix subsample subset subsetp subst substinpart subst_parallel substpart","browser_not_a_browser browser_unknown browser_ie browser_firefox ","%d နှစ်","arrowIcon","uibDropdown","new throw return else","]LT","figure","PROFILING_SETTINGS_COMMON_SETTINGS_CODE_VALUE ","[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*","toggleOpen","prieš %s","sparkles",'Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.',"lineTension","md-calendar-date-disabled","một phút","part_type_color3 part_type_color_mix part_type_color_rgb ","let yield const class public private protected get set super ","blackberry|\\bBB10\\b|rim tablet os","%d tháng","Content-Length: 0\r\n\r\n","$mdIcon","sekunde","assignBrowse","partialRight","we are currently polling - waiting to pause","شام","faf0e6","train2","cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 ","Searching...","decodeParams","SelectedItems ","unable to create a Dialog without Contact header field","railXRatio","ds_set_precision ds_exists ds_stack_create ds_stack_destroy ",'     selected-template-name="ngModel.selectedTemplateName"></md-date-range-picker>',"defaultFormatUtc","mdpNoFloat","exclamation","IEMobile|MSIEMobile","function constructor|10 destructor|10 procedure|10 method|10",'      <td class="form-group uib-time seconds" ng-class="{\'has-error\': invalidSeconds}" ng-show="showSeconds">\n',"700","material.core","warning","scenery open closed locked inside gender ","date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts ","?autoplay=1","readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun ","minútou","$datepickerSuppressError","pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ","=?mdpDisabled","md-chips>md-autocomplete","shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio ","ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast ","ddd, MMM DD","$sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf ","minSize","yyyy","object","_bubble","$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale ","labelDiffs","selection","isUserInvoked","Unable to place item!","SYSRES_CONST_AUTO_NUMERATION_CODE ","RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK ","dan","%d semaines",'          ng-disabled="::dt.disabled"\n',"fadeInComplete","%d ਸਕਿੰਟ","layer_get_all layer_get_all_elements layer_get_name layer_depth ","chartBase","trim|trimn|trunc|uniform|upcase|uss|var|varfmt|","currentActionIndex","removeItem","</span>","drawBody"," network-cost %d","\\|[ ]*","yCenter","isDateEnabled","polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace ","degi","wptInteger ","updateSize","[ગઇકાલે] LT","_md-panel-animate-scale-out _md-panel-animate-enter _md-panel-animate-leave","categoryWidth","[下]dddd LT","showLabelBackdrop","isPostCompilingEnabled","$viewContentLoading","CR FALSE nil NO_VALUE NULL TAB TRUE YES_VALUE ","onTransportError()","onDemand","'iensas secunds","^mwFormBuilder","SYSRES_CONST_REQUISITE_SECTION_TABLE12 ","mdExpansionPanelHeader","createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctAddHeader ","НаборДанныхНайтиРасш ","diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global ","SYSREQ_REF_TYPE_ADD_PARAMS ","reply_sl","=mdYearOffset","slider","LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10","ISearchFolderInfo ","std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ","SYSRES_CONST_APPROVING_SIGNATURE_NAME ","performance","ldctScript ","suppressScrollX","ev_global_left_release ev_global_right_release ",'<div class="md-text">',"super this abstract static volatile transient public private protected synchronized final ","fakeHandlerCallback","mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|","4169e1","получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы ","break new catch byte super case short default double public try this switch ","разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита ","setTimeout","%d ရက်","$aria","month","=?mdAutofocus","חודשיים","subscribe","toLocaleDateString","ttl","msecs","НПериод ","_defaultConfigOptions","viewService","overEvery","return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield ","\\n[\\-\\.]{4,}$","SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION ","datepickerTemplateUrl","header","dotnet safe unsafe",'parseMessage() | error parsing first line of SIP message: "',"terminateSessions","directive","oldColumn","lastActive","%d ҫул","z-index","_callbacks","readonly inlinehint noinline alwaysinline optsize ssp ","detachCalendarPane","gesture_pinch_distance gesture_pinch_angle_towards ","ein Monat","IRefRequisite ","logistic gumbel lognormal chi_square inv_chi_square ","icEDocDataSetEventHandler ","бир дакика","confounded","data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xOSA2LjQxbC0xLjQxLTEuNDEtNS41OSA1LjU5LTUuNTktNS41OS0xLjQxIDEuNDEgNS41OSA1LjU5LTUuNTkgNS41OSAxLjQxIDEuNDEgNS41OS01LjU5IDUuNTkgNS41OSAxLjQxLTEuNDEtNS41OS01LjU5eiIvPjwvZz48L3N2Zz4=","$validators","enger Stonn","setWindStr setWingForceScaleRTD setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu ","cpValidFromDate ","_registrationTimer","encodePayload",'      <td ng-show="showSeconds" class="uib-decrement seconds"><a ng-click="decrementSeconds()" ng-class="{disabled: noDecrementSeconds()}" class="btn btn-link" ng-disabled="noDecrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n',"#dce775","setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject ","emAccept ","[Kusasa nga] LT","Attrs","bottom-left","SYSRES_CONST_UNITS_SECTION_REQUISITE_CODE ","[Leschten] dddd [um] LT","False None True","zipnamel|zipstate",'"duration" value is greater than the maximum allowed, setting it to ','role="tabpanel" ',"Окружение ","start()","font_add_sprite_ext font_replace font_replace_sprite ","#cddc39",'     custom-templates="customTemplates" ',"%s më parë","JSONP disabled","D MMMM YYYY [pukul] HH.mm","isNumber","sendMessage","clock7","%d달","setTimeMultiplier setTitleEffect setTrafficDensity setTrafficDistance setTrafficGap ","urte bat","product profile/calls profile/cpu put-route quasiquote quote raise range read read-str ","layer_background_get_visible layer_background_get_sprite ","async","Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado","mjeseci","browserCheckUrlChange","текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток ","inheritParams","phy_col_normal_x phy_col_normal_y phy_position_xprevious ","[Өнөөдөр] LT","[\\{$]","md-input","rgb(46, 0, 92)","onAnimationProgress"," vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j",'["]',"IPickRequisite ","%d시간","INET_MERGE MACADDR8_SET7BIT ","setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal ","получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет ","cellInputType","footerMarginTop","25.5px"," voramni","aliases",'<div class="md-virtual-repeat-offsetter" role="presentation">',"h:mm A","prior priority private private_sga privileges procedural procedure procedure_analyze processlist ","[В следующее] dddd, [в] LT","Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45","flex-offset","algorithm","language","D. MMMM [dallas] YYYY","resolve libcallnr foldclosedend reverse filter has_key bufname ","Expires: 0","file_text_read_real file_text_readln file_text_eof file_text_eoln ","D. MMMM YYYY","isRemoved","function(","Get-vRNIApplicationTier Get-vRNIDataSource Get-vRNIDataSourceSNMPConfig Get-vRNIDatastore Get-vRNIDistributedSwitch Get-vRNIDistributedSwitchPortGroup Get-vRNIEntity ","otherAnswer","видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных ","dragoverBubble","SYSRES_CONST_GROUPS_REQUISITE_CODE ","hasOwnProperty","global if pause return resume select try then while","Couldn't set part. `table` parameter has to be an object!","traceHookResult","mdp-animate-prev","createFromInputFallback","%s siden",'ng-if="$mdTabsCtrl.shouldPaginate" ',"deletion","takeRightWhile","layer_add_instance layer_has_instance layer_set_visible ","touchStartThreshold","SYSRES_CONST_USERS_USER_GROUP_REQUISITE_CODE ","xlink:href","rgb(204, 255, 230)","pre-numbering","padding-bottom","No Notification","toggleElement","#46BFBD","Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b","_criteriaPaths",'md-on-select="handleOnSelect($dates)" ',"if eq ne lt lte gt gte select default math sep","arm","#99CC00","__initialize","iteratee","dir2","waitUntilQuiet","device_mouse_x device_mouse_y device_mouse_raw_x device_mouse_raw_y ","_localHold","hex3","treeChanges","λίγα δευτερόλεπτα","[gələn həftə] dddd [saat] LT","Node","1 年","showMeridian","_ordinal","vnamex|vtype|vtypex|weekday|year|yyq|zipfips|zipname|","[у] [среду] [у] LT","á ~móñ~th","_bottomFocusTrap","hexString","forEachRight","silenceUncaughtInPromise",'<md-button ng-click="timepicker.confirm()" class="md-primary" aria-label="',"YYYYYY","#4dd0e1","esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail ","addBox","uib/template/tooltip/tooltip-html-popup.html","cleanup","radix",'"></md-icon>',"Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone ","#ff9e80","zeroLineWidth","uibTimepicker","(greater|less) than( or equal)?|(starts?|ends|begins?) with|","discard packet as the transport is not currently writable","calculateColor","log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate ","lastSelectedIndex","0[bB]([01]+[01_]+[01]+|[01]+)","goat","-?\\d+(?:[.]\\d+)?(?:[eE][-+]?\\d+(?:[.]\\d+)?)?","md-dynamic-height","toRadians","five","ИтогТблСпр ","_rootViewContext","ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת","कुछ ही क्षण","открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально ","#9e9e9e","physics_test_overlap physics_remove_fixture physics_set_friction ","установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования ","\\bend\\s+","clientY","\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?","ugc_list_Followed ugc_match_Items ugc_match_Items_Mtx ","cseq","dddd [a ","ITextValue ","получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище ","_resolve","dddd, D MMMM YYYY, HH:mm","getMissionLayerEntities getModelInfo getMousePosition getMusicPlayedTime getNumber ","SYSRES_CONST_JOB_STATE_WORKING ","structural","dom","dotsubEmbed","dailymotion","_to_tag","closeTo","dddd, D MMMM YYYY г., H:mm","[Amanhã às] LT","defaultAction","preserveScope","%d minute","postText","ev_joystick1_button8 ev_joystick2_left ev_joystick2_right ","-uncu","hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox "," rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann","before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float ","saveSnapshot",'    <a role="button" data-toggle="collapse" href aria-expanded="{{isOpen}}" aria-controls="{{::panelId}}" tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading" ng-disabled="isDisabled" uib-tabindex-toggle><span uib-accordion-header ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n',"intersect","useSanitizeValueStrategy","digitalFormat","CLICK_OUTSIDE","defaultTransOpts","NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE","emEditRoute ","flex-wrap","animationService","_get","CreateSQLPivotFunction ","Invalid type of a first argument, a non-empty string expected.","updateIndex","mdOnDemand","INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 ","a8m.last","da70d6","[Эртага] LT [да]","disabled","view_angle view_hborder view_vborder view_hspeed view_vspeed ","DD. MM. YYYY","validate view where","Param '"," skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp","adff2f","vk_f4 vk_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12 vk_numpad0 ","$uibUnscheduledDestruction",'" src="',"Request Pending",'    <span class="md-toast-text">',"grey","primary","SYSREQ_EDOC_TYPE_VIEW_CARD ","^(.*)","СоздСпр ","merge_color screen_save screen_save_part draw_set_font "," petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding","ngSortableVersion",'  <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n',"စက္ကန်.အနည်းငယ်","modalDomEl","^\\s*(!=#|=#|-#|/).*$","doughnutMode","D MMMM [de] YYYY [a] H:mm","SYSRES_CONST_EDITOR_CLOSE_FILE_OBSERV_TYPE_CODE ","IDateValue ","saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale ","vertex_usage_position vertex_usage_colour vertex_usage_color ","suite","getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy ","SYSRES_CONST_FULL_SUBSTITUTE_TYPE_CODE ","STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT ","functionsIn","SYSREF_ROUTE_BLOCKS ","-nci","path_delete path_add_point path_insert_point path_change_point ","Opera","SYSRES_CONST_INCOMING_WORK_RULE_TYPE_CODE ","'md-active':    tab.isActive(), ","ar-tn","fontString","rib","Text Data AnyPointer AnyStruct Capability List","cleanupGestures","#eceff1","uid","logError",'"session"',"SYSCOMP_CONTROL_JOBS ","pushTo","floorctrl:%s","_audioMuted","ff0","shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh ","কয়েক সেকেন্ড","(:|=|;|,|//|/\\*|$)",'<md-button type="button" md-no-ink ',"JsSIP:WebSocketInterface","layerelementtype_tile tile_rotate tile_flip tile_mirror ","%s ilu","СпрОткрыть ","md-menu-item","_setACKTimer","#4D5360","removeHookFromRegistry",'  <md-button class="md-icon-button" type="button" ng-if="$pagination.showBoundaryLinks()" ng-click="$pagination.first()" ng-disabled="$pagination.disabled || !$pagination.hasPrevious()" aria-label="First">\n',"IAction ","en-ie","callback","GMT","mdTextContent","FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION ","timeline_index timeline_position timeline_speed timeline_running ","time","=mdMonthOffset","?^svPart","applyTransitionDuration","FILTRATER_SETTINGS_CONFLICTS_PSEUDOREFERENCE_CODE ","md-no-sticky","ก่อนเที่ยง","_erasNameRegex","Unknown OS","YⓎＹỲÝŶỸȲẎŸỶỴƳɎỾ",'<div class="toast" ng-repeat="toast in toasty" ng-class="[toast.type, toast.interact, toast.shake, toast.theme]" ng-click="clickToasty(toast)">',"isPlainObject","တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ","listenClick",'"optional"',"секунду_секунды_секунд","%d моҳ",'  <span class="sr-only">Close</span>\n',"00fa9a","server error","mesec","busts_in_silhouette","STORAGE_TYPE_SQL_SERVER ","EndSwitch EndWith Enum Exit ExitLoop For Func ","propEq","flowDragEnter","_longMonthsParse","newTransaction","attaching ack callback to event","RTP Timeout","reactnative","om %s","room_goto_previous room_goto_next room_previous room_next ","findNode","object operator out override params private protected public readonly ref sbyte ","', missing get() or put() method!","\\s*:","Invalid tone duration: ","INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 ","$uiView.creationContext",'      <td ng-show="showSeconds">&nbsp;</td>\n',"cubicInterpolationMode","$get","chipKeydown","animated","IFolderDialog ","gss","#6600CC","messages","pear","endsParent","panelClass","SYSRES_CONST_REFERENCE_RECORD_HISTORY_DELETE_ACTION_CODE ","addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler ","cyan","setCancelButtonLabel","воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу","moveItemDown","SYSRES_CONST_EXPORT_VERSION_TYPE_LAST ","erasConvertYear","extractelement insertelement shufflevector getresult ","%r\\(",'<div class="md-ripple-container"></div>',"ConstantExists ","getMarkerCenter","VERSION","/socket.io",'    <md-icon md-svg-icon="navigate-first.svg"></md-icon>\n',"mdProgress","file_text_write_real file_text_writeln file_text_read_string ","chart-create","SYSRES_CONST_USER_TYPE_FIELD_VALUE_USER ","сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш ","    </span>","#546e7a","onerror","ELS_SUBTYPE_CONTROL_NAME ","borderCapStyle","Kindle","ng-leave","Removing (previous) el","parentHasAriaLabel","mdSidenavFocus","weeksInWeekYear","SYSRES_SBDATA ","idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar ","mdFabSpeedDialScaleAnimation","?ngMessages","SUPPRESS_REDUNDANT_UPDATES_TRIGGER ","[morgen um] LT [Uhr]","(\\.\\./|/|\\s)((","[ਅਗਲਾ] dddd, LT"," %s %s","_cache","એક મહિનો","addPageAfter","alert-dismissible","draw_surface_part_ext draw_surface_general surface_getpixel ","si._mo._ti._wo._to._fr._so.","$anchorScroll","lassoscript",'ignoring poll - transport state "%s"',"versionInfo",'<span class="toast-msg" ng-if="toast.html && toast.msg" ng-bind-html="toast.msg"></span>','<div class="md-fab-action-item">','<div class="md-slider-wrapper">',"isNegativeScroll","일_월_화_수_목_금_토","Firefox","audio_get_listener_count audio_get_listener_info audio_system ",'error parsing header "',"[;{}]","angularMaterialFormBuilder","select set shadows shared skip static step stop structure strict sub synclock ","_monthsNominativeEl","separator","\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b","%s ішінде","lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all ","rest_arg","rgb(51, 153, 255)","isFinite","e60c","[*!#%]","a8m.ltrim","onSort","isView","import false null super this true antlrtask checkstyle codenarc copy boolean ","FormItem","e puer Sekonnen","dropdown","fontFamily","minDate","mergeFormWithResponse","(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?","Public: ","server disconnect (%s)","%s আগে",'<div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n',"D. MMMM YYYY. H:mm","Content-type","_weekdaysShortRegex","_connecting","defaultExpires","defaultFontSize","%d 小時","phoneUS","mwQuestionPriorityListBuilder","SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_CODE ","INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE ",'<div ng-transclude class="md-label"></div>',"isMemoized","SYSRES_CONST_WORKFLOW_ROUTE_TYPR_HARD ","cpSubjSimpleName ","-րդ","validity","mdContent","excludeEnd","prepare","SYSREF_MODULES ","app/directives/matrix-item/matrix-item.html","switchView","SYSRES_CONST_ACTION_TYPE_RESTORE_FROM_ARCHIVE ","#ff5252","nonce","expectWithoutText","head","(&[oO][0-7]{1,6})","getTop",'"nonce"',"uibBtnCheckbox","SelectSQL ","package body","$invalid",'<div class="limit-select" ng-if="$pagination.limitOptions">\n',"установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса ","_eventTypes","J2ME/|\\bMIDP\\b|\\bCLDC\\b","getMonth","SYSREF_WORKING_TIME_CALENDARS ","$updateClass","awk","red_car","fountain","valid","delphi","TransitionEventType","md-no-autogrow","اتوار","divisionList","SYSRES_SQLERRORS ","TouchAction","ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel ","gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms ","vhs","rgb(178, 178, 178)","^[_a-z][\\w']*","templateUrl"," has been stopped (disposed)","rowsSortableConfig","@?mdpInputName","baby","RIGHT","[भोलि] LT","event-param","gesture_get_flick_speed gesture_get_double_tap_time ","mdSwipeRight","removeRule","gift_heart","#end","aria-labelledby","b22222","animating","confirmed","_reattempt","noInkBar","vmNavigation ","IDateRequisite ","виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя ","observe","MD-GRID-TILE","Reason: SIP ;cause=",".md-color-picker-preview-input","getPointsAtEvent","#26a69a","compile"," dispfun dispJordan display disprule dispterms distrib divide divisors divsum","SYSRES_CONST_ACTION_TYPE_LOCK ","Get-NsxEdgeNat Get-NsxEdgeNatRule Get-NsxEdgeOspf Get-NsxEdgeOspfArea Get-NsxEdgeOspfInterface Get-NsxEdgePrefix Get-NsxEdgeRedistributionRule Get-NsxEdgeRouting ","formatDayTitle","#00CC33","FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK","Assert ","SYSRES_CONST_DATA_TYPE_DATE ","ICustomWorkInfo ",'   ng-bind-html="match.label | uibTypeaheadHighlight:query"\n',"Su_Ll_Ma_Me_Ia_Gw_Sa","_receiveNotify","چند سيڪنڊ","lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap ","_duration","Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X","[کل بوقت] LT",'"/>',"$templateRequest","createNew","hamster","[أمس على الساعة] LT","%s ичинде","STATUS_USER_CLOSED","SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE_CODE ","@infix|@prefix|@postfix|@autoclosure|@testable|@available|",'<div class="md-subheader _md">','class="_md" ',"until",")\\s*\\(","valandos_valandų_valandas","emini","Fixpoint Focus for From Function Functional Generalizable Global Goal Grab "," யாமம்","fieldRequired","path","మధ్యాహ్నం","_getDTMFRTPSender","iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod ","isDefault","[múlt] ","fieldRequiredClass","SYSREQ_EDOC_TYPE_PSEUDO_REQUISITE_CODE ","pageXOffset","showCalendar","A h:mm:ss बजे","_maxListeners","SYSRES_CONST_FILTER_VALUE_REQUISITE_NAME ","Microphone ","нед_пон_вто_сре_чет_пет_саб","[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}","REPORT_TYPE ","интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs ","else extends final finally for function get if implements import in include ","iframeId","aria-owns","HANDLE_RESULT","wfepRadioGroupColumn3 ","_stateRegistry","getLastDateOfMonth","buildSelector","material.components.fabSpeedDial","gauss","parameters parent parse partial partition partitions pascal passing password password_grace_time ","$$loadingAsyncDone","dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi","addSlide","waAll ",'nonce="',"warn","РегУстЧсл ","activeYear","let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ","dust","FxiOS","page"," algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic","doPoll","elementTypes","cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf ","a9a9a9","sessionTimersExpires","\\$.{1}","isPhoneSized","0ff","incrementHours","grhX2 ","[ਅਜ] LT","$$mdLayout","SYSREQ_OUR_FIRM ","updatePosition","SYSREF_STATUSES ","nextWeek","alien","ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации ","KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM","room_restart game_end game_restart game_load game_save ","outline-style","ອີກ %s",'<path d="M11 9h2v2h-2zm-2 2h2v2H9zm4 0h2v2h-2zm2-2h2v2h-2zM7 9h2v2H7zm12-6H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 18H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2zm2-7h-2v2h2v2h-2v-2h-2v2h-2v-2h-2v2H9v-2H7v2H5v-2h2v-2H5V5h14v6z"/>',"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου","tfoot","border-left-style","useOnAppendExpression","អា_ច_អ_ព_ព្រ_សុ_ស","\\$&","Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu",'<div class="mdp-datepicker-select-year mdp-animation-zoom" layout="column" layout-align="center start" ng-if="datepicker.selectingYear">',"SYSRES_COMMON ","necktie","s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 ","Add-vRAReservationStorage Clear-NsxEdgeInterface Clear-NsxManagerTimeSettings Compress-Archive Connect-CIServer Connect-CisServer ","msid","WAIT_BLOCK_BEFORE_START_EVENT ","ngModelCtrl","isMoving","getNg1ViewConfigFactory","\\b(data|(new)?type)\\b","xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617","md-orient-vertical",'emit "progress"',"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta","md-border-bottom",'ng-attr-aria-label="{{ctrl.navItemAriaLabel ? ctrl.navItemAriaLabel : undefined}}" ',"sfcGreen ","un mes","string-fill! string-length string-ref string-set! string<=? string<? ","scrollY","normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 ","Last","GET_EXTENDED_DOCUMENT_EXTENSION_IMPORT_MODE ",".md-expansion-panel-footer-container","physics_particle_group_get_vel_y physics_particle_group_get_ang_vel ","mwForm.pageEvents.pageNameChanged","ruri","onSelect","\\.\\.\\.$","[md-layouts-disabled]","</tbody>",'<div class="md-no-style md-list-item-inner">',"interceptorTypes","\\W\\.|;","^//",'[a-z]+"""',"chunkBy","isLength","ds_grid_resize ds_grid_width ds_grid_height ds_grid_clear ","onStatesChanged","HH.mm.ss","steam_set_stat_avg_rate steam_get_stat_int steam_get_stat_float ","f00","$$jqLite","jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.","getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller ","textarea,[contenteditable]","interToneGap","wildfly-cli","The transition was ignored","SYSRES_CONST_SECTION_REQUISITE_ACTIONS_VALUE ","SYSRES_CONST_EDOC_CARD_TYPE_REQUISITE_CODE ","\\b_([A-Z][A-Za-z0-9_]*)?","ENGLISH_LANGUAGE_CODE RUSSIAN_LANGUAGE_CODE ","step tone sqrt RSSI SSID ","icmp6-type label once probability recieved-on rtable prio queue","addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias ","</md-toast>","installPropertyInterceptors","SYSREQ_EDOC_STORAGES_SAPERION_DATABASE_NAME ","$viewVaue","parseMessage() | no CRLF found, not a SIP message","arrows_counterclockwise","\\bid\\s*:","classList","clearRect","inputType","glColor","[พรุ่งนี้ เวลา] LT","resetElements",'<md-dialog aria-label="" class="mdp-datepicker" ng-class="{ \'portrait\': !$mdMedia(\'gt-xs\') }">','<div class="arrow"></div>\n',"[Dinten puniko pukul] LT"," x ","\\b_[a-z0-9\\-]+","shared guarded stdin stdout stderr result true false","gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out ","post","iPad|iPad.*Mobile","wrench","material.components.slider","%d dies","star2","[سڀاڻي] LT","ВедСпр ","နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ","WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WarpingCorrespondence WarpingDistance WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeatherForecastData WebAudioSearch WebElementObject WeberE WebExecute WebImage WebImageSearch WebSearch WebSessionObject WebSessions WebWindowObject Wedge Wednesday WeibullDistribution WeierstrassE1 WeierstrassE2 WeierstrassE3 WeierstrassEta1 WeierstrassEta2 WeierstrassEta3 WeierstrassHalfPeriods WeierstrassHalfPeriodW1 WeierstrassHalfPeriodW2 WeierstrassHalfPeriodW3 WeierstrassInvariantG2 WeierstrassInvariantG3 WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White WhiteNoiseProcess WhitePoint Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WikipediaData WikipediaSearch WilksW WilksWTest WindDirectionData WindingCount WindingPolygon WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowPersistentStyles WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth WindSpeedData WindVectorData WinsorizedMean WinsorizedVariance WishartMatrixDistribution With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult WolframLanguageData Word WordBoundary WordCharacter WordCloud WordCount WordCounts WordData WordDefinition WordFrequency WordFrequencyData WordList WordOrientation WordSearch WordSelectionFunction WordSeparators WordSpacings WordStem WordTranslation WorkingPrecision WrapAround Write WriteLine WriteString Wronskian","[Pagājušā] dddd [pulksten] LT","#5d4037",'"TLS"',"physics_fixture_set_friction physics_fixture_set_collision_group ","_opaque","IField ","sekundes_sekundēm_sekunde_sekundes","string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . ","desc","panelContainer","curColWidth","datatyp|display|do|else|end|eval|global|goto|","statefulFilter","railway_car","itemSort","oer %s","Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez","$datepickerPopupLiteralWarning","relativePoints","SYSRES_CONST_SELECT_TYPE_SELECTABLE_ONLY_CHILD ","parseTime","isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 ","pound","setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr ","ctHyperLink ","wstForm ","gpu_set_blendmode_ext_sepalpha gpu_set_colorwriteenable ","msMatchesSelector","waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire ","CompareStrings ","fromCharCode","userNameWrite readJoystickY readJoystickX mouseReleased ","result","'iens míut","New-NsxFirewallSection New-NsxIpPool New-NsxIpSet New-NsxLoadBalancerApplicationProfile New-NsxLoadBalancerApplicationRule New-NsxLoadBalancerMemberSpec ","SYSREQ_USER_GROUPS_GROUP_SERVER_NAME ","detail","Android.*(bq)?.*\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\b|Maxwell.*Lite|Maxwell.*Plus","__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__","SYSRES_CONST_FOLDER_TYPE_OUTBOX ","یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه","e608","md-column","float32 float64 bool char string cstring pointer expr stmt void ",".angucomplete-dropdown","old","querySelectorAll","moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/","sunny","_md-panel-animate-fade-out _md-panel-animate-enter _md-panel-animate-leave","webkitTransitionEnd ","raised","$uibModalInstance","scrollbarY","_hashPrefix","mdExpansionPanelFooter","updateOffset","[މާދަމާ] LT","%d detik","mdMultiple","0'.\\|0[box][0-9a-fA-F]*","Contact","(min-width: 960px)","NokiaN8|NokiaC7|N97.*Series60|Symbian/3","$locale","intersectionWith","%d år","nl-be","kissing_closed_eyes","uiStateParams","imports","dddd D. MMMM YYYY H:mm","PRIVILEGE_TASK_DELETE ","guardsman","SYSRES_CONST_REQUISITE_SECTION_BUTTON ","targetKnowledge targets targetsAggregate targetsQuery taskAlwaysVisible taskChildren ","modalScope","roky","\\]\\]>","vanilla.memoryLocation","buffer_base64_decode_ext buffer_sizeof buffer_get_address ","%v%v","&?mdOnAppend","weekDays","getItems","USER_NAME_FORMAT ","IObjectDescription ","SUMMARY","PolarArea","skipBlocking","YYYY MMMM D","achievement_show_leaderboard achievement_show_achievement ","getModifiers keyboardRead userNameRead waitContinue ","ИмяОрг ","O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OceanData Octahedron OddQ Off Offset OLEData On ONanGroupON Once OneIdentity Opacity OpacityFunction OpacityFunctionScaling Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionalElement OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering OrderingBy OrderingLayer Orderless OrderlessPatternSequence OrnsteinUhlenbeckProcess Orthogonalize OrthogonalMatrixQ Out Outer OuterPolygon OuterPolyhedron OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OverwriteTarget OwenT OwnValues","isSamePageFlow","yAxisID","e610","props","_md-panel-offscreen","[Өткен аптаның] dddd [сағат] LT","$material",":(?!:)","waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour ","removable","</head><body onload=\"parent.document.getElementById('","$sniffer","string_set_byte_at string_delete string_insert string_lower ","mdDisableCloseEvents","setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId ","subs","VarIsNull ","មួយខែ","lata","r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b ","ena ura","fff5ee","mdp-time-picker","a8m.starts-with","SYSREF_REFERENCES_REQUISITES ","Як_Ду_Се_Чо_Па_Жу_Ша","onRetain","path_index path_position path_positionprevious path_speed ","ctx","_params",'md-month-filter="ctrl.monthFilter" ',"mangleOffer() | me on hold, mangling offer","md-resize-textarea","MD-OPTGROUP",'&!autoplay" ',"rgb(0, 163, 82)","mdColorPickerDialog.tpl.html","?^form","baidubrowser","goto","Am Màrt","app/directives/label-item/label-view.html"," conjugate conmetderiv connected_components connect_vertices cons constant","בבוקר","getTransform","columnOrder","canceling session","engine.io-client:socket","meridians","stubArray","gamepad_get_description gamepad_get_button_threshold ","</table>\n","toPlainObject","margin-left","u2028","menu_container_","wsrCancel ","tumbling sliding window start when only end previous next stable ","бегоҳ","CURRVAL LASTVAL NEXTVAL SETVAL ","SYSREQ_EDOC_TYPE_VIEW_NAME_LOCALIZE_ID ","[v] [nedeljo] [ob] LT","pensive","can_pass_as_mercury_type stable will_not_throw_exception ","cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos ","PlayState","=?mdDelay",'      <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n',"_cancel_reason","autoSelect","_$rootScope","configure","part_particles_clear part_particles_count part_emitter_create ","hsv(","_deregisterTree","formItemsContainer","SYSREF_CALENDAR_EVENTS ","return this","hasWebcam","startColorstr=","Version","Timer M expired for transaction ","iha %s","Get-NsxLogicalRouterRedistributionRule Get-NsxLogicalRouterRouting Get-NsxLogicalRouterStaticRoute Get-NsxLogicalSwitch Get-NsxMacSet Get-NsxManagerBackup ","གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་","revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort ","Minutes","initHighlightingOnLoad","accept entry select access exception of separate aliased exit or some ","md-input-container",'      <th ng-if="showWeeks" class="text-center"></th>\n',"traceResolvableResolved","translateKeepContent","ps--in-scrolling","addRow","ден",".page-element-list","transport open - closing","textarea","Rejection","mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray ","updateNextPageBasedOnAllAnswers","\\n|\\s|=","atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 ","engem Dag",'"+"',"height bitSet circle config cursor random ","Diluain","[:=]","$injector","soon","contain contains continue copy div does eighth else end equal ","enjing","%d gün","Содержит ","SUBTASK_BLOCK_ATTACHMENTS_PROPERTY ","YYYY-MM-DDTHH:mm:ss.SSS","nextNode","uibTabindexToggle","isObject","%d mis","Legend","move mut override priv pub ref return self Self static struct super ","weekdaysMinRegex","px 0px","justify-content","orientationchange","handleMouseup","Category","hitRadius","configuration","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION ","floatingScrollbars","compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn ","ng-animate"," wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian","몇 초","chipBuffer","mdPanel: The group ","|(-?infinity|NaN)\\b","um dia","SYSRES_CONST_COMPONENT_TYPE_DOCS ","afterUpdate","langData","ini_section_exists ini_key_delete ini_section_delete ","network_type_disconnect network_type_data ","You must define options.controllerAs when options.bindToController is true.","matchesProperty","matchCriteria","responseType","SYSREQ_FUNC_COMMENT ","commonAncestorContainer","__LINE__ begin_keywords celldefine default_nettype define ","HTAB","polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate "," julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment"," mesen","(\\bEnd\\b)","break-after","MD-TOAST",'">"',"gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents ",'ng-repeat="(index, tab) in $mdTabsCtrl.tabs" ',"setSpace","DOMContentLoaded","lexemesRe",'<span ng-click="timepicker.setPM()" ng-class="{ \'active\': timepicker.time.hours() >= 12 }">PM</span>',"csvHeader","SYSRES_CONST_TEST_EDMS_SYSTEM_CODE ","if then else elseif for thru do while unless step in and or not","disable","gamepad_set_axis_deadzone gamepad_button_count gamepad_button_check ","activeIdx","mwFormConfirmationPageBuilder","$onDestroy","varinfmt|varlabel|varlen|varname|varnum|varray|","Didòmhnaich","SYSRES_CONST_NO_SIGNATURE_REQUISITE_CODE ","rgba(255, 0, 0, 1.000)","a8m.math.degrees","подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения ","Dùbh","uib/template/accordion/accordion-group.html",'"~"',"mdHideIcons","yAlign","IFactory ","E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER ","_response",",endColorstr=","Digest ","gesture_get_rotate_time gesture_get_rotate_angle "," fill_density filled_func fixed_vertices flipflag float2bf font font_size","месеци","Input","a h:mm:ss","#827717","%d lá","hasFocus","add_compile_definitions add_compile_options add_custom_command add_custom_target ","decimalSep","utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var ","Literal date support has been deprecated, please switch to date object usage","[wa’Hu’] LT","පෙර වරු","submit","previousElementSibling","INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE ","ICustomListBox ","toasty","physics_fixture_set_awake physics_fixture_set_restitution ","SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION_CODE ","SYSREQ_REF_REQ_VIEW ","_close","\\b(apart from|aside from|instead of|out of|greater than|","$file","چند ثانیه","enqueue","attrName","$scrollend","INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION "," kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson","September","b8860b","setMinutes",'<div class="sortable-container" layout="column" sv-root="" sv-part="RadioButton.item.options"><md-switch ng-model="RadioButton.item.config.direction" ng-true-value="\'horizontal\'" ng-false-value="\'vertical\'">Layout direction ({{RadioButton.item.config.direction == \'horizontal\' ? \'Vertical\': \'Horizontal\' }})</md-switch><div class="option-item" layout="row" ng-repeat="option in RadioButton.item.options track by $index" sv-element=""><md-button class="md-button handle" md-no-ink="" aria-label="option item" sv-handle=""><md-icon md-font-icon="icon-drag-horizontal"></md-icon></md-button><md-input-container class="md-block"><label>Option {{$index + 1}}</label> <input ng-model="option.value"></md-input-container><md-button class="md-button md-warn" ng-click="RadioButton.deleteOption($index)"><md-icon md-font-icon="icon-delete"></md-icon></md-button></div><md-button class="md-raised md-accent" ng-click="RadioButton.addOption()"><md-icon md-font-icon="icon-plus"></md-icon></md-button></div>',"uibTabContentTransclude","VendorID/[VER]",'role="rowgroup" ',"nmd","debounce","rgb(153, 153, 153)","sewulan","REGISTER","[data-uib-accordion-header],","mdBottomSheet","parsePayloads","кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты ","%d महीने","md-dragging","HashLocationService","comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура ","রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি","plist","baseHref","createHTMLDocument","Float32Array","text-underline-position","character","_setPanelPosition","_getDirection","confid:%s","D [de] MMMM [de] YYYY","hours","hp.*TouchPad","JQLite elements that are referenced in MdPanelRef.","_md-panel-animate-enter _md-panel-animate-leave","MIN_INTER_TONE_GAP","useBothWheelAxes","_changeInProgress","SYSRES_CONST_SEARCHES_JOB_CONTENT ","</div>","TIMER_F","#9900FF",'<div class="md-disabled-thumb"></div>',"handleScroll_","בעוד %s","типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений ","getPixelForTick","%s πριν","Samh","#00b0ff","dddd [às] LT","uac","_plugins","[sutra u] LT","WebsocketLatency","parse","prependListener","Dé Domhnaigh","mdNavSref","enableScrolling","loadVest local localize locationPosition lock lockCameraTo lockCargo lockDriver locked ","wrapper","mw-form-paragraph-builder.html","room_set_background_color room_set_view room_set_viewport ","beginSpeaker mousePressed isActionDone mouseDragged ","let not of or orelse|10 query receive rem try when xor","truncatewords removetags linebreaksbr yesno get_digit timesince random striptags ","GGGG","mwFormResponseUtils","хвіліну","pointerup","getItem","Unclosed tag at ","min-expires","Max-Breadth Exceeded","SYSRES_CONST_USERS_VIEW_CERTIFICATES_ACTION_NAME ","removePsClasses","elementFromPoint","sipEvent","START","deleteParam","يناير","foregroundShadow","invoke","#CC9933","#33CC00","_ack_seqnum","#82b1ff","unfold unify until using vm_compute with","non_intrinsic value deferred generic final enumerator class associate bind enum ","spaces","define_property enable_language enable_testing export fltk_wrap_ui ","/\\*\\*!","AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL ","_erasAbbrRegex","IFolderFactory ","SYSRES_CONST_COMPONENT_TYPE_EXTERNAL_EXECUTABLE ","borderBottomWidth","scrollIntoView","_isRTL","getMaximumHeight","методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ","airplane","lihora","multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet ","IException ","offset","SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_CODE ","maxima","munutenn","DBus GLib CCode Gee Object Gtk Posix","#99CC33",'            on dt"\n',"ہفتہ","move","resolveAs","getUTCMinutes","integer time delay_length natural positive ","MW_GRID_CELL_INPUT_TYPES","_stale","pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details.","%[a-zA-Z0-9#_$@]+%","opera","offerToReceiveVideo","rtcp:%d","%d dakika",".invalid","incrementMonths","jsfiddleHeight","[明天] LT","traceTransitionStart","ftComponents ","palm_tree","%d ເດືອນ","YYYY-MM-DDTHH:mm:ssZ","lowerCase"," poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension","SYSRES_CONST_FOLDER_TYPE_SHORTCUTS ","md-highlight",'               ng-disabled="dialog.required && !dialog.result">',"YYYY-MM-DDTHH:mm:ss","[την προηγούμενη] dddd [{}] LT",'emit "refer"',"Bad Event","windowTopClass","ArrayReDim ","ignoring socket cache for %s","iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext ","large","BlackBerry|\\bBB10\\b|rim[0-9]+|\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\b-[0-9]+","printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen ","tiger","showAnalog","Available handlers: "," remsym remvalue rename rename_file reset reset_displays residue resolvante","parseZone","uns segons","dialog","servicesPlugin",' ng-click="showPicker($event)" ',"md-calendar-close","tra","flow.provider",'<span ng-click="timepicker.setAM()" ng-class="{ \'active\': timepicker.time.hours() < 12 }">AM</span>'," truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget","СоединениеЗакрыть ","D MMMM YYYY г., H:mm",'header "',"wptString ","nim","display_set_gui_maximize device_mouse_dbclick_enable ","ngAnimateChildren","SYSCOMP_TASKS ","navigate-next.svg","haskell","basicAudio","ئایار","playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission ","$uiView","evalAttr","___eio","^__DATA__$","СоздатьМассив ","keyword","lock_with_ink_pen","/(3[0-2]|[1-2][0-9]|\\d)","Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ","_overflowWeeks",'      <md-chips-wrap          id="{{$mdChipsCtrl.wrapperId}}"          tabindex="{{$mdChipsCtrl.readonly ? 0 : -1}}"          ng-keydown="$mdChipsCtrl.chipKeydown($event)"          ng-class="{ \'md-focused\': $mdChipsCtrl.hasFocus(),                       \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly,                      \'md-removable\': $mdChipsCtrl.isRemovable() }"          class="md-chips">        <md-chip ng-repeat="$chip in $mdChipsCtrl.items"            index="{{$index}}"             ng-class="{\'md-focused\': $mdChipsCtrl.selectedChip == $index, \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly}">          <div class="md-chip-content"              tabindex="{{$mdChipsCtrl.ariaTabIndex === $index ? 0 : -1}}"              id="{{$mdChipsCtrl.contentIdFor($index)}}"              role="option"              aria-selected="{{$mdChipsCtrl.selectedChip === $index}}"              aria-setsize="{{$mdChipsCtrl.items.length}}"              aria-posinset="{{$index+1}}"              ng-click="!$mdChipsCtrl.readonly && $mdChipsCtrl.focusChip($index)"              aria-label="{{$mdChipsCtrl._isChipObject($chip) ? \'\' : $chip + \'. \'}}{{$mdChipsCtrl.isRemovable() ? \'\' + $mdChipsCtrl.deleteHint : \'\'}}"               ng-focus="!$mdChipsCtrl.readonly && $mdChipsCtrl.selectChip($index)"              md-chip-transclude="$mdChipsCtrl.chipContentsTemplate"></div>          <div ng-if="$mdChipsCtrl.isRemovable()"               class="md-chip-remove-container"               tabindex="-1"               md-chip-transclude="$mdChipsCtrl.chipRemoveTemplate"></div>        </md-chip>        <div class="md-chip-input-container" ng-if="!$mdChipsCtrl.readonly && $mdChipsCtrl.ngModelCtrl">          <div md-chip-transclude="$mdChipsCtrl.chipInputTemplate"></div>        </div>      </md-chips-wrap>',"registerSelectedItemWatcher","  <tbody>\n","resolveFn","ein tími","rdtString ","MEDIA_PRIORITY","СпрПолеЗнач ","_extend","א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳","_compile","ФайлСчитать ","Session Interval Too Small","Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek","hibiscus","onScroll","mdHighlightFlags","primaryHues","[دیروز ساعت] LT","$broadcast","#33CC33","$uibPosition","rename_node","STATUS_1XX_RECEIVED","catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox ","margins","honey_pot","floating","бир ай","#00acc1","  </md-button>\n","^^mdTable","[கடந்த வாரம்] dddd, LT","receiveRequest()","IImageButton ","name count channels instance-data instance-state instance of","008b8b","sv-candidate","cvt.l.[dsw]|cvt.ps.s|cvt.s.[dlw]|cvt.s.p[lu]|cvt.w.[dls]|",'<div class="md-icon"></div>',"LT [kahapon]","clear","#ffd600",".sv-visibility-hidden{","DocumentTouch","sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio","lastTooltipActive","RowContainer","hoverRadius","ttscommit str real date container anytype common div mod","[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?","tund aega","wa’ jar","end bit tan cos sin pow map abs max ","sortable-fallback","sizeScroller_","cherry_blossom","INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION ","|cm|mm|in|pt|pc|px","reject","^1\\.\\.(\\d+)$","$$childTail","moon","receiveRefer()","klukkustund","links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source ","</md-tabs-canvas> ","strictMode","Param","remoteApiHandler","dimBackground","toObject",'emit "sending" [request:%o]',"_$mdConstant","AdjustLineBreaks ","display_name","pointerId","vertical_traffic_light","mdPreventMenuClose","ngCsv","TRACE","fdtLargeInteger ",'content="',"[เมื่อวานนี้ เวลา] LT",'<div class="md-char-counter">',"tilemap_get_height tilemap_get_x tilemap_get_y tilemap_get ","addStrategy","AAsmall"," tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes","extends","stubString","%d iyyirn","call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams ","отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска ","(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>","SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_VERSION ","%d ຊົ່ວໂມງ","90ee90","#37474f","all\\b","showReposts",'@[a-z]\\w*(?:\\:"[^"]*")?',"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr","[В прошлое] dddd, [в] LT"," max max_clique max_degree max_flow maximize_lp max_independent_set max_matching","تەمموز","Multiple Choices","isFocusInFirstItem","(orientation: landscape)","gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents ","dddd [a","erasAbbrRegex","addColorStop","muted","dddd، D MMMM YYYY HH:mm","navBarAriaLabel","md-chips>input","u7981","IJobInfo ","Precondition Failure","show_message show_message_async clickable_add clickable_add_ext ","%d سنوات","material.components.checkbox","viewMapper","monthsRegex","\\.\\w*","absPosition","escapeRegExp","GetRefTypeByRefID ","incrementSeconds","shadow","applet","animation-timing-function","%s múlva","SYSRES_CONST_KINDS_EDOC_ALL_TEPLATES_ALLOWED_REQUISITE_CODE "," intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr","usFollowUp ","presets","&#x2F;","base","New-vRAPropertyDefinition New-vRAPropertyGroup New-vRAReservation New-vRAReservationNetworkDefinition New-vRAReservationPolicy New-vRAReservationStorageDefinition ","isElementTypeEnabled","$parent","subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease ","='{{"," covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline","(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)","DisableCheckFullShowingRestriction ",".ne-code","script","sspreq noredzone noimplicitfloat naked builtin cold "," asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top","UibTabsetController","rgb(92, 0, 92)","rowMode","      </div>","ސެޕްޓެމްބަރު","getVisibleDatasetCount","SIP/2.0 ","_contentType","SYSRES_CONST_USERS_SYSTEM_REQUISITE_CODE ","gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits ",'aria-labelledby="tab-item-{{::tab.id}}" ',"pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox ","$translateCookieStorage","checkWebSocketsSupport","priority","FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX ","REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ","selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectRandomWeighted ","peerconnection:setlocaldescriptionfailed","Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki","n1ql",'  <div class="md-fab-toolbar-content" ng-transclude></div>',"dddd [a] LT","netscape","SSSSSS","ascending descending allowing empty greatest least some every satisfies switch case typeswitch try catch ","columnWidths","fillStyle","JOB_BLOCK_ABORT_DEADLINE_PROPERTY ","onClose","invalidDate","view_get_xport view_get_yport view_get_wport view_get_hport ","md-input-message-animation","sid","@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|","md-transition-in","textSearching","subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror ","gridster","\\s*(:=|;|\\)|=>|$)","SYSRES_CONST_IS_STORED_REQUISITE_NEGATIVE_VALUE ","SYSRES_CONST_EDITOR_CLOSE_PROCESS_OBSERV_TYPE_CODE ","do_not_litter","spread","cbsDefault ","ui.router.state.events","customQuestionSelects","skeleton_slot_data layer_get_id layer_get_id_at_depth ","SYSRES_CONST_REQUISITE_SECTION_TABLE16 ","dromedary_camel","ferris_wheel","GIN_CLEAN_PENDING_LIST ","icActionHandler ","gpu_set_blendenable gpu_set_ztestenable gpu_set_zfunc ","session onmute","titleAlign","SYSRES_CONST_REF_REQUISITE ","goto/32","numberOfPages","adjustTop"," orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap","translate","removeTrack","YYYY-MM-DD",") {\n",'     date-start="ngModel.dateStart" ',"moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound ","peekTail","#b2ebf2","a8m.join","select_option_","install uninstall checksum restore check backup revoke comment values with","mdChipAppendDelay","IterationCount","ltr","COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION ","isChrome","INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 ","STATUS_READY","կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ","eine Minute","aria-selected","Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData ","ഒരു വർഷം","getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA "," rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus","ds_priority_delete_max ds_priority_find_max ds_priority_write ","-ри","$$uibDestructionScheduled","SYSRES_CONST_USER_STATUS_DISABLED_CODE ","hideLtLg","nc=","program_directory browser_width browser_height os_type os_device ","focusout","setModelValue",".mdp-pointer","सकाळीं","DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate "," %s","Webkit","autoPlay","setupChipsAria",' md-is-error="isError()">',"storageKey","nominative","md-clickable","#ff4081","SYSRES_CONST_CODE_COMPONENT_TYPE_DOCS ","rgb(163, 0, 0)","sameDay","wsrGoPrevious ","SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE ","gridster.floating","=mdScope","\\b[A-Z][\\wÀ-ʸ']*","(\\.","/[a-z]*","M702pro","ILocalization ","_algorithm","SYSRES_CONST_EDOC_VERSION_OBSOLETE_STAGE_CODE ","c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr ","TEMPORARY","forIn",".sv-sorting-in-progress{","[आज] LT","dddd [בשעה] LT","originalEvent","_createLocalDescription() failed"," value of angucomplete to","drawOnChartArea","numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ","\\]\\[","MMMM D. [b.] YYYY","YAML","klukkustundir","ptx_kernel intel_ocl_bicc msp430_intrcc spir_func ","_removeFrom","contactQuery","%s 후",'class="md-calendar-month" ',"virtual","%d saniyə","textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset ","JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG ","registerUIView","center","toLocaleString","true false nil","connect attempt will timeout after %d","trollface","isDuration","butt","Open BSD","[Фардо соати] LT","newIndex","IControl ","#9575cd","physics_particle_delete_region_box ","closeCalendarPane","cls","INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION ","SYSREQ_CODE ","$WINDOW","Server Time-out","Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples ","sprite_get_tpe sprite_prefetch sprite_prefetch_multi sprite_flush ","reconnect_error","attribute block constant cycle date dump include ","su_ma_ti_ke_to_pe_la","авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ","backpackSpaceFor behaviour benchmark binocular boundingBox boundingBoxReal boundingCenter ","[Ònì ni] LT","isBinary","내일 LT","aria-disabled"," காலை","iⓘｉìíîĩīĭïḯỉǐȉȋịįḭɨı","let local nonfix of op open orelse raise rec sharing sig ","flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant ","material.components.tooltip","#949FB1","checked","hoverBorderWidth","Su_Mo_Tu_We_Th_Fr_Sa","removedMessage","getErrorHandler","[Homme,] LT","INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION ","getMaxListeners","$$mdMeta: could not find a meta tag with the name '","isSetSinkIdSupported","CriOS/[VER]","console","goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId ","touchstart","Address Incomplete"," xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta","md-fab-actions","hsl( ","_openCountExceedsMaxOpen","round scheme-report-environment set! set-car! set-cdr! sin sqrt string ","$mdAria","checkPut","shouldCenterTabs","Sunday","getDeviceSmallerSide","\\-(?=[ ]|$)","[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)","alLeft alRight ","/\\\\","end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors ","built_in","$mdTabsCtrl","#comment","__hasProp __extends __slice __bind __indexOf","бир күн","ste","[hjoed om] LT","IStringCriterion ","оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи ","ctrlTextWidth ctrlType ctrlVisible ctRowControls ctRowCount ctSetCurSel ctSetData ","weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered ","\\b((\\d+'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)","#00796b","Diciadain","icRoleCalculation ","gcode"," print printf printfile print_graph printpois printprops prodrac product properties","a8m.math.max","md-tooltip-","true false yes no nothing nil null","clock6","dagar","_fetchContentElement","spans",'allowfullscreen="true">',"close() | error closing the RTCPeerConnection: %o","sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor ","stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate ","yearTopIndex","rdtLargeInteger ","getLeft","#CC3333","incoming_envelope","pointBorderColor","unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer ","CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail ","getLocals","START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES ","SYSREF_COMPONENT_TOKENS ","=theme","getParser","E_EDOC_VERSION_ALREDY_SIGNED_BY_USER ","jⓙｊĵǰɉ","muutaman sekunnin","iput","src","inactive","extra","CSS_NUMBER_MODE","rgba","јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември","serializeToString","[מחר ב־]LT","buffer_async_group_begin buffer_async_group_option ","UC.*Browser|UCWEB","md-no-animation","pixelsToColumns","placeholder","</md-menu>","NUMBER_MODE","wfepRadioGroupColumn1 ","onTransportError","warned","etNone etCertificate etPassword etCertificatePassword ","steam_ugc_query_set_cloud_filename_filter ","autoSkipPadding","priorityList","deletePart","CriOS","draw_light_get draw_get_lighting shop_leave_rating url_get_domain ","_local_identity","ctDBStatusLabel "," linear all","uibRating","DD.MM.YYYY","of_challenge_win of_challen ge_lose of_challenge_tie ","socket closing - telling transport to close","\\n\\n","</md-content>","\\+1","READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION ","исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs ","zⓩｚźẑżžẓẕƶȥɀⱬꝣ","#CC33CC","timer_K"," sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus","plaintext","%s önce","sending ack %j","Wizard ","(L|u|U|Lu|LU|uL|UL)?","SYSRES_CONST_CODE_COMPONENT_TYPE_URL ","requestError","scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw ","a few seconds","%d ঘন্টা","één maand","_toggleMuteAudio","[v] [sredo] [ob] LT","onImageSelection","erasParse","loadFocusElementList","D MMMM YYYY р., HH:mm","მე-","no_smoking","SYSREQ_FUNC_PARAM_NUMBER ","lab","invite2xxTimer","SYSRES_CONST_YES_VALUE ","toggleSelectedAnswer","_md-datepicker-has-calendar-icon","COMPTYPE2_REQUISITE_DOCUMENTS_VALUE ","WebkitAnimation","начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя ","([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?","_tones","lastPutMode","xsl","attachRipple","sekundo","highByte writeRed setSpeed readBlue noStroke ","enableSvg","deconstructPacket","SYSRES_CONST_EXECUTIVE_FILE_STORAGE_TYPE ","Сервер ","onmessage","\\b(0[xX][a-fA-F0-9_]+[Lln]?|","SYSREF_USERS_REFERENCE ","f4a460","loaderCache","hltRTF ","rgb(102, 255, 179)","a8m.ends-with",'      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></i></button></th>\n',"toDate","MⓂＭḾṀṂⱮƜ","number","SYSDLG_SETUP_ACCESS_RIGHTS ","aria-invalid","ddd, Do MMM YYYY, [klo] HH.mm","chartLine","noConflict","donparam","isFirefox","ஒரு நாள்","panels","sqf","fun","_rtcReady","Allow: ","gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap ","routeros","clientTransaction","mdpIconsRegistry","gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray ","'(\\\\[^']+|[^'])'","substr|superq|syscall|sysevalf|sysexec|sysfunc|","mouse_?y mouse_buttons ","Template not provided.","onSuccess","EEEE","[gelecek] dddd [saat] LT","[երեկ] LT","ophiuchus","SYSRES_CONST_UNDEFINED_LIFE_CYCLE_STAGE_FONT_COLOR ","РазнДат ","Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT","kind do while private call intrinsic where elsewhere ","if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch","NG_EMBED_BASIC_EMOTICONS","Get-AdvancedSetting Get-AlarmAction Get-AlarmActionTrigger Get-AlarmDefinition Get-Annotation Get-CDDrive Get-CIAccessControlRule ","parseTwoDigitYear","zap","SYSRES_CONST_COMPONENT_TYPE_URL ","mánuðum"," pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph","iffSinglePageTIFF ","modalInClass",'<md-icon class="md-datepicker-calendar-icon" aria-label="md-calendar" ',"plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea ","[prošli] dddd [u] LT",'"                ng-class="{ \'md-not-found\': $mdAutocompleteCtrl.notFoundVisible() }"                ng-mouseenter="$mdAutocompleteCtrl.listEnter()"                ng-mouseleave="$mdAutocompleteCtrl.listLeave()"                role="presentation">              <div class="md-standard-list-scroller" role="presentation">',"_restoreCache","$$parserName","सायंकाळी","startX",'<td class="md-cell md-checkbox-cell">',"Timer D expired for transaction ","LT [sa susunod na] dddd","findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster ","PathUtils","readonlyInput","flow.img","angular.filter","onShowing","каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку ","een paar seconden","[el] dddd [passat a ","SYSRES_CONST_REQ_ALLOW_SERVER_COMPONENT_DEFAULT_VALUE ","%d മണിക്കൂർ","ühe aasta","isBefore","%d jierren","IEDocumentAccessRights ","shadowRoot","rgb(0, 214, 108)","isSpecialChar","ACCESS_RIGHTS_TABLE_NAME ","&key=","$mdSticky",'<pre><code class="ne-code hljs ',"imageField","Add-NsxSecurityPolicyRule Add-NsxSecurityPolicyRuleGroup Add-NsxSecurityPolicyRuleService Add-NsxServiceGroupMember ","rokmi","ЗамПодстр ","prepareDetectionCache","$chip","letter-spacing","_defaultSquashPolicy","SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION ","_backdropRef","планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок ","կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ","MEDIA","ایک دن","top","Authorization","atUser atGroup atRole ","filterBy","t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 "," truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph"," Tagen","part","SYSREF_EDOCUMENT_CARD_REQUISITES ","rgb(0, 46, 92)","virun ","$translateChangeStart"," poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form","üks aasta","p21","cow2","IDialogFactory ","amdD","UibPagerController","^@(?:BASE|USE|CLASS|OPTIONS)$","calendarButton","queryCommandSupported","listeners","$translatePartialLoaderStructureChanged","minSizeX","[گذشتہ] dddd [بوقت] LT","РегУстВрем ","isDisabledDate","REFTYPES_PSEUDOREFERENCE_CODE ","<div uib-typeahead-popup></div>","include|use <","ìsẹjú kan","ssmMultiSelect ","bezierCurveTo","div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to ","#8bc34a","[先週]dddd LT","h:mm:ss a"," invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph","назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных ",'  <h4 class="panel-title">\n',"Use Identity Header","თვე","\\)\\s*=>","un jour","false","$mdCompiler","getAttribute","mdColorGenericPalette","URLMATCHER","\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?","November","ctEdit ","clksrcExt","&callback=JSON_CALLBACK","date_get_second_of_year date_year_span date_month_span ","collapse","dssEdit dssInsert dssBrowse dssInActive ","IReferenceFactory ","legendItems",'<div class="md-color-picker-material-title"></div>','uib-title="',"webkitRequestFileSystem","=?mdNumeric","%d nóiméad","craftcms","ИзмДат ","$mdComponentRegistry","onevent","label:%s","wave","Today","shaved_ice","attachChangeListeners","destroyMessage",".md-datepicker-input-container","ds_queue_head ds_queue_tail ds_queue_write ds_queue_read ","button","#33691e","getIndexAngle","b0c4de","partition","NONOPERATING_RECORD_FLAG_MASCULINE ","%d beaivvit","0000cd",'<ul class="dropdown-menu"></ul>',"Exit ","ruleslanguage","boolean bit character ","#FFFFFF","handlebars","mapping matched materialized merge minus namespace nest not number object offset on ","měsíc","traceSuccess","cúpla soicind","gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms ","(?:",'<div ng-if="gridster.movingItem" gridster-preview></div>',"_requestSucceeded","xi xor yield yield-from zero? zip zip-longest | |= ~","[ម្សិលមិញ ម៉ោង] LT","pf.conf","ttGlobal ","{{!(--)?","@interface @class @protocol @implementation","[تۆنۈگۈن] LT","mwFormUtils","vehicleReportRemoteTargets vehicles vehicleVarName velocity velocityModelSpace verifySignature ","coffeescript","Float64Array","$default","[မနက်ဖြန်] LT [မှာ]","[Aban iha] LT","[\\]\\}]","userAgent","ui.bootstrap.modal","_md-animations-ready","namedPage",'date-end="model.dateEnd" ',"onIsOpenChanged","_options","a-z\\xdf-\\xf6\\xf8-\\xff","[u] [srijedu] [u] LT","$media is deprecated for is-locked-open. Use $mdMedia instead.","\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b","bn-bd","lineArc","handleClick","goInEditMode","rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl ",'<md-button aria-label="previous month" class="md-icon-button" ng-click="calendar.prevMonth()"><md-icon md-svg-icon="mdp-chevron-left"></md-icon></md-button>',"long","pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames ","u6708","flexLtLg","material.core.animate","reconnectionDelay","ev_gesture_pinch_in ev_gesture_pinch_out ev_gesture_pinch_end ","sedinten"," polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion","flex-direction","expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof ","lazyLoad","noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe ","elixir","mdCalendarMonthBody","ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf","animateRotate","способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента ","orphans","cut",")\\s*\\)?","gt-sm","$realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson ","languages","/?>",'<div class="md-expansion-panel-footer-container" ng-transclude></div>',"GET_EXTENDED_DOCUMENT_EXTENSION_CREATION_MODE ","There are ","(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]","DataView","հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի","getLabelForIndex",'$mdExpansionPanelGroup.addPanel() Cannot find Panel with name of "',"abort break case clear catch continue do elseif else endfunction end for function ","gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid ","%d soat","USER_DENIED_MEDIA_ACCESS","flatten float? fn fnc fnr for for* format fraction genexpr ","radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind ","_appendGhost","unregistered","incrementMinutes","register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained","numberOfMonthToDisplay","星期日_星期一_星期二_星期三_星期四_星期五_星期六","circle","rmList ","1st","dddd, MMMM DD, YYYY HH:mm","polling","object_set_sprite object_set_solid object_set_visible ","1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар","reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split ","mdPanel: MdPanel Animations failed. ","focusLastChipThenInput","listLanguages",'<style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute !important;top:-9999px !important;width:50px !important;height:50px !important;overflow:scroll !important;}.uib-position-body-scrollbar-measure{overflow:scroll !important;}</style>',"terminated;reason=noresource",'<path fill="none"/>',"[-\\+]?\\d*\\.\\d+%?","ds_map_add ds_map_add_list ds_map_add_map ds_map_replace ","flushing %d packets in socket","package default double public try this switch continue throws protected public private ","closed","rokom","promise","$setValidity","hsp","part_system_create_layer part_system_destroy part_system_exists ","GridsterResizable","%d ஆண்டுகள்","alert","Invalid argument: ","eka disan","scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,","mwQuestionOfferedAnswerListBuilder","_dragStartId","getAudioTracks","First Hop Lacks Outbound Support","SYSRES_CONST_REQUISITE_SECTION_CARD ","webkitGetUserMedia","d'aquí %s","literal","Contact: *","#f06292","Directive","session_timers","cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility className ","renderWindowSelectContext renderer reorder reorderDeformers requires reroot ","githubgistEmbed","clock3","vimeoEmbed","%s дараа","Consent Needed","inline no_inline type_spec source_file fact_table obsolete memo ","traceViewServiceEvent","IAttachment ","waning_crescent_moon","SYSRES_CONST_USER_COMMON_CATEGORY_CODE ","EDocumentVersionSource ","resolveClientLocale","unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms ","\\b0o([0-7_]+)","construction","mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 ","HEX$ IF THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ","maxStep","$stateful","backdropPaddingY","ఉదయం","une semaine","data","roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ","ds_list_shuffle ds_list_write ds_list_read ds_list_set ds_map_create ","uint16 uint32 uint64 int uint uintptr rune","perMessageDeflate","%s kọjá","секунда_секунди_секунд","revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered ","SYSRES_CONST_USER_SERVICE_CATEGORY ","proxy-authorization","SYSREQ_STATЕ ","hideResults","toStringTag","[avui a ","%d ordu","isDatasetVisible","balloon","ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b","mesiacmi","राति","ccc fastcc coldcc x86_stdcallcc x86_fastcallcc ","\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b","Márta","BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT ","setVisibleIfTreeCollapsed setWantedRPMRTD setWaves setWaypointBehaviour setWaypointCombatMode ","scaleMerge","smali","mdTabItem"," realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar","a8m.pick","maxDelay","\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]","ngPassword","eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission ","JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join JoinAcross Joined JoinedCurve JoinedCurveBox JoinedCurveBoxOptions JoinForm JordanDecomposition JordanModelDecomposition JulianDate JuliaSetBoettcher JuliaSetIterationCount JuliaSetPlot JuliaSetPoints","createElementNS"," read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline","codepenHeight","[:+?]?=","gridsterItem","port","за %s"," linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials","sⓢｓßśṥŝṡšṧṣṩșşȿꞩꞅẛ","[geçen] dddd [saat] LT","Count","all others subtype and for out synchronized array function overriding ","srcEvent","((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b","sad","_erasRegex","ftFavorites ","widgets","longDateFormatter","uploadDate","setDefaultCron","afterBuildLabels","def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn ","tolerance","reverseSort","PluginBase","scheme",'         ng-repeat="tab in tabset.tabs"\n',"_applicants","clientRect","(max-width: 600px)","delete","sata","bullet","_decodeParams","mw-label.html","Сценарий ","gamepad_set_button_threshold gamepad_get_axis_deadzone ","datasets","heavy_plus_sign",'ng-disabled="ctrl.disabled" ',"starting upgrade probes","dddd [tuần trước lúc] LT","SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION_CODE ","_self",'<span ng-transclude class="_md-nav-button-text"></span>',"PROGRAM_INITIATED_LOOKUP_ACTION ","[අද] LT[ට]","horse","Text","Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember","if else elseif end error","enableSimulationGlobal enableStamina enableTeamSwitch enableTraffic enableUAVConnectability ","mdToast","MAX_DURATION",'אחה"צ',"' optional: ","ugc_sortorder_TitleAsc ugc_sortorder_LastUpdatedDesc ","and as asr assert begin class constraint do done downto else end exception external","$mdColorUtil","true false null this is new super","dog","NG_EMBED_DEFAULT_OPTIONS","secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces ","msid:%s","wsbStart ","Wrong Status","responseText"," collectterms columnop columnspace columnswap columnvector combination combine"," webkitTransitionEnd","TEST_EDMS_MAIN_CODE ","SYSRES_CONST_ACTION_TYPE_ABORT ","cschar cshort cint csize clonglong cfloat cdouble clongdouble ","enger Minutt","SYSRES_CONST_ADITIONAL_JOB_STATE_REQUISITE_NAME ","emChangeWorkAccessType ","Transport","SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION_CODE ","checkboxesView","toasty-cleared","pointerEvents","Формат ","dddd [li għadda] [fil-]LT","z-index: 99999;","rgb(245, 0, 0)","%d तास","addHeader","webkitAnimationEnd ","badname","diToken","isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate ","nⓝｎǹńñṅňṇņṋṉƞɲŉꞑꞥ","menuContentEl","asmAlways ","SYSRES_CONST_IDSPS_REQUISITE_CODE ","SYSREQ_EDOC_TYPE_VIEW_COMMENT ","Proxy Authentication Required","clock10","Requires HTTPs","ساعتان","gridsterDebounce","$$animationRunner","_stopListeningFn","#dcedc8","clockHours","#ffd54f","uuid","isContentEditable","AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH ","mewn %s","aria-hidden","loadingIsVisible","dummies","_ws","dropdownMenu","tf_point tf_linear tf_anisotropic mip_off mip_on mip_markedonly ","async await nonlocal|10","दुपारी","hodinu","минута","%d ώρες","character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp ","ọdún kan","hex6","РеквСпрПр ","vm.isOpen = true","achievement_show_ui achievement_show_profile ","beforeCalculateTickRotation","licenseLevel licenseStatus maxExecError sleep timeClose timeComp ","CERTIFICATE_TYPE_SIGN_AND_ENCRYPT ","%[qQwWx]?\\[","blue_car","getLength","sendonly","_tone","MONITOR_BLOCK_DEADLINE_PROPERTY ","|dpi|dpcm|dppx","cutoutPercentage","changeValue","GridsterDraggable","max","grimacing","black","regexp","uibPopoverTemplate","00008b","%d bliadhna","border","tabset.active","transitionend","#ce","getTouchAction","animationName","[object DataView]","هڪ مهينو","neg","\\s:[a-zA-Z_0-9]*","CURRENT_PERIOD_IS_REQUIRED ","СценарийПарам ","md-align-tabs","perspective","heavy_exclamation_mark","pdf","isFloat",'             placeholder="{{::dialog.placeholder}}" ng-required="dialog.required">',"_setPosition","steam_ugc_query_set_ranked_by_trend_days ","offeredAnswersSortableConfig",'<audio id="toasty-sound" src="data:audio/wav;base64,UklGRiQ9AABXQVZFZm10IBAAAAABAAEAIlYAAESsAAACABAAZGF0YQA9AAA4AFAASABAADgAQAAwACgAGAAoADAAIAAoADgAKAAgACAAKAA4ADgAMABIADgAQABIAFAAWABQAHAASABYAFAAUAA4AEAAMAAwADgAQABQAFAASABYAFgAaABwAHgAeABoAGgAaABoAGgAUABQAFAAWABQAEgASAA4AEAAOAAgADAAMABIAEAAOABAADAAQAAwADgAKAAwACAAIAAwACAAIAAwACgAGAAQABAAAAD4//D/2P/o/+j/8P/o/+D/0P/Y/9D/2P/I/8D/yP/g/8j/0P/Y/+j/2P/w/9D/2P/A/8D/yP/A/9D/yP/A/9D/0P/I/8j/yP+4/9j/6P/g/+D/2P/Y/+D/4P/Y/9j/4P/o/+j/0P/g/+D/4P/o/+D/4P/g/9D/4P/g/+D/4P/w/wAAIAAwABgAMABAADAAOAAwADAAKAAwADgAIAAYACAAAAAAAAgAIAAIABAACAAgACAAIAAgAAgAEAAIAAAAAAAAAOj/8P8AAAAA+P/4//j/+P/o/+j/6P/g/+j/+P8AAPD/6P/o//D/2P/o/9D/4P/w/+j/4P8IABAAAAAQABgAAAAAAAgAAAAAAPj/8P/w//D/6P/4//D/+P8AAPj/AAAAAAgACAD4//j/CAAAAPj/CAAAAAAAAAAQABgAIAA4ADgAMABIAEgAOAAwAFAAOABAAEAASABIAEAAOAAgACgAGAAwACAAKAAwADgAMAA4ADgAQABAADAAKAAYAPj/6P/4/+j/4P/I/8D/uP+w/8D/uP+o/7j/qP/A/9j/qP/I/9j/wP/A/8D/4P/g/9j/2P+4/8D/wP+w/9D/wP/Q/9j/0P/Q/8D/2P/I/9j/6P/o/+j/+P/o//j/AAAAAAgAEAAIAAAAAAAIAAgAEAAYABAACAAgACAAAAAYADgAMABIAEAAKAA4ADAASABQAFAAUABYAEAAKAAQAAgAEAAQACgAGAAYABgAGAAgACAAMAAgADgAMAAwADgAMABIAEAASAAoAEgAQABYADAAUABQADgAMAAoACgAOABAAEAAMAAoACgAIAAgACAAOAAwACgAKAAoADAAKAAwACAAIAAYADAAKAAgACgAIAAQABgAGAAIAAgAAAAIAAAAAAD4//j/EAAYAAAAAAAQAPD/GAAgABAAEAAYACAAOABIAEAAMABAACgAKAAoAAgAEAAgABgACAAQAAgAEAAgAAgAAAAAABgACAAYABAACAAQAAAAAAAQAAgA+P/w/+j/4P/w/+D/6P/o//D/2P/g/9D/6P/o/8D/wP+w/7j/0P/I/9D/wP/g/9j/6P/g/+D/2P/Y/9D/2P/g/9j/0P+w/6j/4P/Y/9j/2P/Y/9D/0P/A/8D/8P+w/8D/uP/A/8j/0P/Q/9D/0P/w//D/2P/g/+D/6P8AAPD/6P/g/+j/6P/Q/+D/4P/4/+j/+P/o/+D/8P/4/wAAAAD4//j/6P/Y/9D/yP/g/+j/2P/Y/9j/yP/Q/9D/yP/Q/9D/yP+4/6D/qP+g/7j/sP+4/8D/yP/Y/8D/wP/Q//D/0P/g/8j/wP/A/7j/qP+w/7D/sP+w/6j/sP+w/7j/uP/A/8D/2P/A/+D/6P/o/+j/4P/Y/+j/2P/Q/9j/4P/o//j/EAAAAAgA+P/4//D/AAAAAAAAAAD4//j/8P/4/wAAIAAQACAAEAAIABgACAAQADAAKAAgACAAMABAAEgAMAAwAFgAWABgAFgAQABIAFgAYABYAGgAUABwAEgAQABAADgAOAA4ADgAMAAgACgAKAAoACgAMAAoACAAEAAQABAACAAIAAAAAAD4/wAAEAAIAPj/6P/Y//D/AAAAAOj/4P/w//j/8P8IAPj/EAAAAPj/6P/4/+D/4P/Y/9j/2P/g//D/8P/o/+D/6P8gABAACAD4/yAAIABAADgAMAA4ADgAIAAQACAAIAAgADAAKAAwAEgAOAA4AEAAQABIAEAAMABAAEAAMABQADAAYABAAEgAQABQADAAUABYABgAQABAAEAAKABIADAAIAAYABgAAAAgACAAGAAgAAgAGAAAAAgACAAQABAACAAQAPD/IAAoAPD/CAAgAPj/4P/w//D/+P/g/9j/2P/Y/9j/6P/I/6j/4P/Y/+D/0P/A/8D/yP/A/8D/2P8AAPD/CAAAAAAAGAAQAOj/GAAoAPD/GAAYAPD/IAAgAOj/GAAgAAAACABQACgAEABQADAAKADw//j/+P8IABAAGAAYADgAEAD4/8D/2P8AAFAAKAAoAPj/8P8QAOj/6P/Q/7j/iP+I/7j/8P8oAPj/aP9w/5j/+P8YAAAACAB4/5j/CAAQAOj/GADg/1D/uP8oAHAAKADw/4D/sAAwABAA4P9I/2j/AACAAXAAiABo/zAAMAAA/+D9EP7w/2AAKAGAAOAAiP8YAFD/YP5I/7j+mP2g/jAAIAPQAYAAMP/Y/8D/SP6g/ID9yP/QAYgCiAGQAMgAKAD4/0j+CP9g/ij9AP+QAAACQAAwADAAmP8gATD/cP6Y/rD/gADA/7j8iP04/WD/QAEYATD+yP9g/Lj8WP/I/tAAIP6I/wj+uP8IAagA8P9g/gj+cAOw/dD+QADYAYgDSP8QAhj8uP5wAXj+wAMIAfgBsP+w/7gBmAMwA4AAmAC4AAj/SP0IAegEoAWw/lD7iPrY/IACuP+QA4gEqAgAACj4CAFQ+9gB8P9wAjgDOP5QBbgCSAfgAfD/IP+Y/qgFmACIAsAEIP0wBTAAeAGo/OgFWP2oDrADoAZAAqgK+P5ACsgBCALwD0AL0AlwBhgCiP9o/dj7+AJg/6AEWAXICej7KADYAjgCEP94B4j4SAEY/yAAWP4Y/8D8QACIAYgDUP4w/fj98AEYANgDGAIoAJD90AcIBXgC4AeYB+D9OP0Q+IAAWAKQCPgFsAZI/AADmPxQBKD/kABIAcAFqP+IBnAH4AQoApgSYP4QDmjvwAGgBdgCiAJw+wgDAAE4B6gT8P6wB9D78AdQCbj/aACo/oAAWPtYAvj/IPug+MgDQAJQA7D7EPdI/yD2uPSg+dDyyPWw7pjysOvY9vjugO8Y6ZjfeOZw62jkgOXA4ijgsOSw4dDdKOBY1QjTMNUg1GDciNfY0ADbUNhA29DUqNQY3HDe4Ncg1QjVoND41aDUcNno2QDWYNdw2tDjUOEA5QDpoO3Y70D46PFY8vj3iP4QBRgBAAiADVAP6BDIFogfqCHQKTgzcDGgNfg48EPQRzBGCEvQUMhQ4FLgV2BZ8FpAUnBVUFhgUehRCFDYUShKeEMYQhg9uDCAMfgrACUwG8AUcBXYDBAGuALA/oD0mOt451jlyOAg3vDaQNhw1BDRgNBgzVDOIM+Y04jR0NJA0pDY0N0g3rjlUOow7tDt4PdA/agACASYCGAOSBHgEhAX8ByQH1AneCd4KbApACqALhAv+C4gMLgvuC/4MPgqyCmIJRgfAB2QGTgTyA6QCjgHcAK4+oj4MPHI7BDrYOgg4fjcSNrg1zDUINHAz2jNuMqAybjJaMewydjJYM7wz4DSgNRQ2XjciOP46ODrmPCg9UD5SP1YAcAE4AqYDDgSUBPAGKgb4BqYHiAg6CFoIFAj8CNgIvggoCBoHqAawBUwEygQMAtoB2gCYP6Y+Pj3APFA7UDqeOfw4qDeQN7I2nDYWNUQ1qjRCNJg0KjRANKQ1NDWGNfo2qDckN/44NjnyOuY8LD1OPvI/lgEAAegCqgOwBGoGFgZKB6IH3Ak8CHYJgAnqCh4KZgpACqQJ8gnICdQJUghuCDQHFAYMBPgD+gMaAfoBQgB2PwQ+LD1OPLo7kDsOOwo6ojn4OYw5vDj4OO45CDk2OSQ5MDnuOlI7SjukO9Q8yD2cPuY/LgBoAQAB0ALUA4wEVgTMBUQF9AYUBloG2ga+BlwGzgamBlIF3gWSBQoE7ARQBHADfAJaAdQA+AAaP14+iD2WPKQ8fjsCOuI6EDmqOM44ujhyOAQ30DgIOIg4tDiyOPA5ODlgOgw60DsIO+Y8hD22PmY+xD/cAB4AhgHoAgoDKAOOBIgFNAVOBcAGPAWgBewF/AWCBeQF7gUuBMAEuAPGA2ACfgJUAd4BWADKALg/pD6APo49sjz+PAg8PjtMO7Q7mjtEOpg6xjs2Ozg7MDtMO9A8HDySPQ49oD3iPpI/KD+QAEwBMgFaAjIC7gNAA4gDrAQCBGQEtATABVAFHgUgBR4E5gR4BB4DwgNAAzwCQAHUAQQA/gAeP5w/ID6IPcY9Yj0cPIY8RDu6O3g6jjrMOqY6SDpMOo462DsqO5g7uDvmO+A8nj0OPbo+GD7wP4QAbgDGAUYBkAJQAzIDbAQaBE4FMgTWBa4FogWABZAFiAXGBbIFfgUgBSoE7gRyA4IDXgKwAjYBUgEsAJo/xj9oPoA+Zj28PXg8xDycPEo8NDuIO1g7CjsqOo46/jrGO0w7WjvSPII80D0CPWo9hD5WPtA/Xj+uABYA+gFcAcQCmgLWAxYDSAQQBHYETgS8BKIEzATGBPwEWARmBGgEEgQUA+4DlANKAuYCegHcAWoA9AB4AA4/xj+aP3w+xD6IPlI95j26PV49qD1wPWA9RD1mPRw9aD10PUo9yD5kPp4+qD7SP1I/pj+eAA4APAAUAK4A3gECAWwBzAGuAfgBuAGUAeQBugGgAYgBqgEkAMIA2ACoAAYAIj/UP/Y/Wj98Psg+wj6CPhY9wD28PUo9cD1iPWY9VD14PT49MD1uPXQ9QD26Pao+Lj4OPqg+6D8oP2I/nAAUAKAA2AF0AbwB3AIMAgwCbAJcAsQCzAM8AzgDDgNSA04DVAMeAswC6AJsAjwBxgHAAY4BQgE8AHQAEgAyP8I/hj9OP3w+3j6EPqw+LD46Peo9tj32PfI+Gj4yPiA+dj5ePqo+kj8cP3I/Sj/WAAwAVgCYAKQBKgEwAUwBuAHuAhQCUgKqAkwCpAJWAmoCOAIaAiwCOAHEAgAB/AFUATQAtAB0P8A/9D9yP1I/MD6EPqI+Ej4KPco9nD20PUg9Sj0kPMA9GDzGPMQ8/DyiPPQ9MD1IPeg95j44PiA+RD6cPqo++D8aP2Y/qD/SABoAegBsAJ4A9ADUAT4BAgFcAVgBTAFuASQBHAE2AOgAzADaAMIAxgCoAEIAFj/wP4g/ij9uPxo/BD8ePvA+kD6uPm4+dD5aPlw+Yj5QPmY+WD50Pkw+jj6APtg+0j8QP0g/gD/OP/Y/xAAkP9oAFAA4AFIAvACCARwBIAEiASIBBgFgAXgBDgG2AUoBhgFSAVoBVgFKAVwBDAEgARYBAAE4ATQA3AEsANIA+ACqALwAhgDIAOwA6AD8AKAAzADMAOoAuACGAM4A3gDMANQA5gDCAQABLgEgAVoBQgGeAWgBfAEgARgBPADuANgA3gDgAP4A3ADUAMYA2gC8AFwAdgAWAAAAPj/oP8g/0j+yP2g/Xj9KP1Q/Bj9mPxA/Cj8WPzQ+6D7kPuo+1D7mPvg+1j8aP2A/Wj9UPwg/BD8gPwY/aj9SP6o/sj+gP6g/qj+gP5A/zj/mP+w/xD/QP9o/nj+IP7A/dD9yP3w/Rj+2P34/eD9SP3I/JD8GPz4+0D8EPwo/Cj8+PuQ+9D7cPsQ+8j7+Ptg/Aj8YPzI/PD82PyY/Aj9UP1g/lj+eP8IAEgAOADo/wAAUAAAAXABOAKAApgC6AL4AgADkAMwA/gDAATgA6ADiAOQA6ADSAMgA8gCyAGQAbAB2AGYASABiADwAAgAYP+o/iD+iP2Q/ZD9gP14/eD8iPyo+zj7APtQ+wD7EPsQ+zD7CPv4+nD72PvY+3D8qP2g/eD9cP6w/rj+6P4IAOj/OACYAHgBCALQAngDmAMIBAAE+APYA2AE4ATYBcAF4AWoBTAFUAXYBJAEqAQQBVgFYAXgBHAEiAO4AyADAAPwAhAD4AJYAoACGAKoARgBAAFYADAAmACAAKgAEADQ/yAA8P/A/wAAWACwAEgAuACoACAA4P9gAHAA0ACAAJAAsAAAATABAAF4ARABKAHgAJgAsABwAAABmABQAEAA2P+o/2j/eP+A/1j/WP8Y/4D/KP/Q/tj+uP7Q/pj+oP7A/rD+0P7Y/rD+gP5o/kj+OP64/mj+kP4I/yD/EP9I/4D/sP/Y/ygASAA4AHAAkADgAPAAmACIAKAAwAA4ATgB0AG4AZgBYAE4AcgAsACwAHgAsABYAIgAWABoAPD/sP+o/+j+0P7Y/gD/cP74/Qj+IP6A/Yj9QP0o/VD9cP1Y/ZD9CP3w/CD9+Pz4/PD84Px4/Vj9iP24/Yj9kP3Q/fD9aP7Y/lj/uP/Y/xgAeAB4ALgAMAFgAcgBYAJoApACaAIoAhgCiAJwAkACQAIwAlACQAIYAngCCALQAaAB8AC4AGgAAAD4/+j/UP/4/rj+4P2Q/cj9iP1A/Tj9QP1Y/cj8+Pzo/Mj8EP2I/XD9oP3w/Rj+KP5A/jj+aP7w/lD/yP+AAAgBmAHgAYACwALwAmgDoAMgBFAEgASYBDgEcAQIBfgEAAU4BUAFQAV4BUgFCAW4BGAECARwA+gCoAJgAigCkAEQAXAA6P9o//j+2P5w/hj+cP3A/Gj8KPwI/Nj7mPtA++D6kPp4+tD6uPq4+sD6APvQ+sD6yPpo+wj8CPwQ/Hj8UPzg/Ej9YP1o/dj9SP54/oj+2P5I/zj/eP+Y/5D/sP8QAFgAkACAAHgAWAAYALj/QP84/7j+2P7w/hD/8P6I/nj+gP54/kD+OP4w/kD+aP54/nD+0P6w/hD/GP8o/1D/gP8IAEgA+ABoAbABoAJYA4gD8ANwBNAEMAWIBegF8AX4BRAGeAagBrgGyAaoBoAGQAZABugFqAVgBRgFqARwBMADaAPwApgCwAHYACAAYP9Y/+D+mP4w/sD9KP34/ID8IPwQ/Pj7EPwA/OD7uPuw+4D7APwY/Ej8sPwY/RD9mP0Q/oD+2P7w/rj/0P+IABgBqAHYAUACqALYAvgCCAOIA8ADOATQA9gD+AMABJgDsANIAyADmAJIAgAC0AGgAVABEAFAAMj/OP/A/nD+6P2g/UD98PzA/HD8GPy4+5j7kPt4+zD7OPtI+2j7oPuY++D78Pvw+1j8uPzo/FD9oP0g/mj+uP4w/4j/yP9wABABUAGoAZgB8AEAAgAC6AEwAggCSAJIAiAC0AFYAfgA2ADQAIAAeAD4/6D/WP9A/4j+aP64/aD9cP0I/dj8yPyI/GD8iPww/Cj8EPxI/KD8uPz4/Kj9yP1A/sj+gP/Y/wgAiADQAIABEAKwAmgDIATIBAgFYAXIBSgGsAYoB7gH6AcYCCgIsAeIB1gHIAfIBqgGGAbgBWgF+ASIBNgDMAOIAugBmAGwAOj/KP9I/rD96PxA/JD72PqI+jD6wPmQ+Yj5QPnw+GD4gPiA+MD4MPlo+ej5+PlA+pj68Pqg+zD84PyY/Uj+2P6I/9j/SAD4AJgBAAKIAsACMAOIA9ADOAQYBCAEIAT4AxgEyAOAA3gDOAPAAnAC6AFoAeAAoABAAND/UP/I/ij+wP1o/fj8oPwY/Mj7YPuY+8D7sPug+6D7iPuo+9D76Ps4/LD8SP2o/Sj+cP44/3j/8P+AABABmAEQAsACKAO4A/ADWASIBOgESAVwBdgF6AXIBZgFkAVwBTgFAAUABaAEeAQIBJgDMAPQAmAC0AEwAeAAQAC4/xj/oP74/XD9yPxg/Mj7IPvw+qj6aPoY+uj54PnI+bD5mPl4+Xj5ePn4+Xj6IPsg+6j78PsY/KD8UP0w/rD+iP9AANAAWAEIAsACgAMgBHAE4AQYBdAFQAaoBvgG4AYoBygHSAc4B1AHYAdQB2AHEAfIBiAG2AWQBSAFsAQABHAD2AI4AtABEAGQADAAkP8Q/3D+GP6w/Uj9KP3Y/JD8EPzY+8j7ePu4+6D7uPvo+7D7qPvY++j7OPyY/BD9gP3g/Sj+WP6A/tj+EP+o/+j/OACAAIgA+ABoAcABsAHIAeABIAJQAmACcAJIAlACMAIoAtABeAEwAQgBKAHYAKgAWADY/2D/OP8Y/7D+oP5w/jj+2P3I/aj9gP2I/Vj9EP3Q/PD8+Pw4/XD9eP1Q/Uj9kP2I/fj9SP6Q/rD+uP4A/xj/CP9o/1j/cP9g/4j/eP9w/5j/gP+Y/5j/sP/Q/yAAGAAwAIAAQABQADAAMABgAFgAiACIAFgAYABwAHgAIADQ/9j/IAAgAPj/MAA4AAgA+P/I/6j/yP/I/7j/qP9o/0D/SP8Y/xj/AP/g/qj+cP54/oD+gP64/oj+YP5Q/uD90P0o/nD+qP6Y/uD+GP8g/yj/UP94/+j/EABQALgAAAEQAXgB6AHIAQACUAJwAqgC8AIwA1gDIAMQAygDSANgA5ADoANwA4gDSANQAygDyAKYAlAC6AG4AUAB+AC4AHAA4P+o/xj/yP6I/lj+MP4A/rD9SP3o/KD8iPxQ/DD8KPw4/ED8aPyQ/ID8wPwI/UD9cP24/VD+6P6A/+D/KABYAMgAWAHYATgCsAIQA5AD0AMoBHgE+AQQBWAFiAWwBcgF8AUABhAGoAVoBSgF2ASoBIAEAASoAygDoAIQAlgBsAAoAIj/AP94/hj+cP24/Dj8sPs4+7D6YPr4+fD52Pnw+cj5sPmY+cD56Pko+rD6APt4++j7gPzQ/HD98P2g/ij/2P9QAMAAkAFAAnAC6AKIA+ADaATIBCAFiAWgBfgF4AXwBegFuAWABXAFSAUgBeAEgAQQBHgDCAOQAvgBaAEAAYgAIACY/0j/sP5I/gj+cP34/Lj8aPwI/DD8KPwo/BD8KPwo/Fj8aPyg/Cj9qP1A/pj+8P4I/5D/EACYABABkAH4AWgC+AIoA5AD0AP4AyAEQARoBIgEeASYBFgE+AN4AxAD2AKQApgCCAJQAdgAUAC4/wD/eP7I/SD9aPwA/Ij7GPvY+mj6wPlQ+RD58PjA+LD4wPiQ+Lj46Pj4+Dj5cPng+Wj62PpA++j7aPwA/Yj90P1I/sj+UP/w/6AAMAGoATACwAIYAxgDMAN4A7gDAAQIBPgDwAOwA4ADIAPYArgCQALgAZgBcAEwAbAASACg/xD/uP5A/kD++P0I/uD9qP1w/VD9+PwY/UD9QP2Q/aj94P3w/RD+aP7Y/ij/kP/A/xAAeADQABABcAHAAdAB+AE4AmgCkAKwAtgC+AIIAwADsAKIAnACUAIgAugBiAEwAdgAeAAoAOj/aP/4/qj+eP4o/gD+yP1o/UD9CP3Q/MD8yPwI/XD9WP1Y/Tj9cP2Q/cj9GP5w/vD+QP+I//D/KACAANgAQAG4ASACoALoAkADmAPIA+ADEARYBJAE2AToBBgF+ATwBOAEqASYBJgEYAQYBOADsANYAxgD6AIoAuABmAFgASgB0ACQAFgA+P/Q/4j/QP8Y/wD/2P7g/sD+wP7o/rD+0P7Q/rj+4P4A/zj/UP9o/5D/uP/g//D/AAAQACgASABYAIgAkAB4AJAAoABgACgAGAAIAAAA6P/Y/7D/kP9w/1D/+P6o/lj+OP5I/gD+8P2w/Xj9QP0I/QD9GP0g/UD9eP2Q/Zj9wP3Q/QD+SP6Q/uj+IP+Y/8j/CABIAIgA2AAYAXABoAEQAkACmALYAhgDWAOAA5gDoAOwA7ADyAOwA4ADYAMwA8gCiAJQAhAC+AGYAUgB6AC4AGgA8P+w/2j/CP+4/pD+UP44/vj9gP1Q/Sj9AP3o/Mj88Pzw/AD9CP0g/WD9iP2Y/dj9EP5A/qj+AP8o/5D/8P8gAHgAoADIABgBUAHAAdgBCAIQAjACMAIgAggCEAIIAvAByAGoAWABGAHIAIgAMAD4/8D/eP8o/+j+aP4w/vD9wP1w/Tj98PzQ/MD8sPy4/ID8aPxg/Fj8YPyY/Lj8CP1Y/Yj9qP2w/eD9AP6A/tD+SP9w/9j/EABoAMAAAAEwAVABmAGgAdgB+AEYAgACKAI4AhAC6AHgAegBwAHIAcABmAFAASgB2AC4AJgAcABgAGgASAAIAOj/yP9o/0D/cP9A/zj/OP8Q//j+0P7A/rj+kP5w/nj+gP5g/nj+mP6I/qD+gP6Y/nD+eP6A/mD+cP6I/mj+YP6Q/oD+kP6o/qD+0P6o/tD+2P7g/vj+CP8g/xj/QP9o/8D/4P/w/wAAGABQAHgAsAC4ABABWAGgAdAB+AEIAigCUAJgApgCgAKgAtgC6ALoAgADCAP4AtgCoAJwAkACIALwAeABuAGAATgBKAHIAKAAeAAYAAgAsP9g/xD/oP5w/jD+6P3A/aj9iP1Y/Uj9MP0o/QD9EP1A/Xj9iP2g/bD96P1A/mD+gP6o/tj+CP9Q/6D/GAAwAIAAsADYAPAAMAFwAbgBAAIgAjgCQAIoAkgCWAJoAoACWAJIAmACYAJIAkgCGALwAagBaAFQAVgBEAEAAfgAyACwAIAAWABIAEgAMAAIAMj/uP+Q/5D/oP+o/8j/2P/Y/8D/0P/Q/9D/wP/Q/+D/+P8AAPj/CAAAABAAEAAoAEAAUABYABgACAAIAAgAEAA4ACgAWABoAFgAQAAwAEgAOABIADgAIAD4//j/AAD4/wAAMAAwACAACAAIAAAAAAAYABgACAAIACAAIAA4ADgAWABwAIAAgACIAHgAmACgALAAsACgALgAoACYAKAAmACgALAAmACgAJAAeABwAGgAgABoAEgAMAAgABAA4P/I/6j/kP9Y/0j/GP8Q/wD/0P7Q/pD+gP5o/lD+UP5Q/lj+eP5A/lj+SP44/jj+QP5g/lj+aP6Y/rj+wP74/iD/SP9g/2D/gP+I/7j/wP/Y/+j/CAAIAPD/8P/w/wgA+P/g/9j/2P/A/8D/eP+A/2D/QP9I/0D/CP/o/sj+qP6I/mj+YP44/jj+QP4I/vj9KP44/kj+UP54/oj+sP7Q/vD+MP9Q/4j/wP+g/zAAIACIAKgAAAEgAWABeAFwAbgB0AHgAfABCAIgAjgCQAJAAiACKAIIAugByAGoAbABuAGgAVgBIAEIAcgAkABgAEgAUABIACAA6P/Q/8j/mP94/3D/aP9g/0D/QP9I/yD/OP84/0j/IP9I/0j/aP94/3j/gP+Y/6D/sP+4/9j/6P/g/xAAGAA4ABAAAAAIAAAA+P8QACAAQAAwACgAOAAYADAAKAAIAPj/+P/o/9j/qP/Y/9j/sP+4/5D/kP+w/7D/yP+o/7j/qP+g/8D/4P/Q/8D/yP/w//j/CAAoADAAaAB4AIAAkACIALgAsACoAMAAsACoALAA8ADQAOAA2ADAAKgAmACYAKAAeAB4AGgASABQAGAAaABoAFAAWABgAHAAaABYAFgAeABwAHAAcACQAIAAeACQAJAAcACAAJgAiACwAMgAwADQALgAsADIAMgAyAC4ALgAmACIAIAAcABYAFAAOAAYAAgA8P/o/7j/uP+Q/4D/gP9I/yj/MP8w/wD/+P7Q/qj+kP54/pj+oP6o/qj+eP54/qj+oP64/tj+AP8I/xj/SP84/1j/gP+w/9D/6P8AABAAQABwAIgAsACwAPAAIAFAAVABSAFoAXgBcAGYAagBsAGoAYgBeAGgAYgBcAF4AVgBQAEIAfgAuACAAEAAQAAQAAAAuP+A/0j/OP8I/+D+qP6Y/nD+eP5g/lj+aP5Q/mD+YP5w/nj+mP6w/rj+4P4A/yj/OP9w/5j/mP+o/9j/AAAYAEgAiAB4AKAAuADAALgAAAEgAQABOAEIARAB+ADwAPAA6ADQAMAAqACIAEgAMAAIAPj/6P+w/3j/QP8Y/wj/6P7Y/pj+eP5Y/iD+AP4Y/iD+IP4g/jD+OP5A/kD+MP5A/oj+uP7Y/vD+IP9Q/4D/yP/o/xgAUAB4AKAA2AD4APgAKAFYAZABoAGwAbgBwAHYAdgB4AHwAegB0AGgAYgBeAFQATABGAH4AMgAuABwAGAAGAAAANj/sP+Y/3D/UP8Y//j++P7o/uD+yP7Q/tj+wP7A/sD+wP7w/gj/OP9A/0j/cP+I/7j/+P8QADAASABwAIgAuADYAOgA6ADwAOgA4AAAAfgAIAEwASgBMAE4AQgBEAHwAPAA4ADIAKAAqAB4AGgAGAAIAOj/0P+g/5D/cP9I/0j/QP8g//D+AP8A/+D+8P7Q/uj+8P74/hj/GP8Y/yj/GP8Y/1D/eP+4/7j/0P/A/9D/6P8AACAAKAAwADAAUABYADgAaAB4AFgAWABIAFgAQABQAGgAGAAAAAgAEAD4//j/AADo/9D/wP+o/5D/kP+Q/6D/mP+Q/4j/oP+Q/5D/kP+I/5D/qP+Y/7j/0P/o/wAA8P/o//D/6P/w/wAAEAAIACAACAAoAEgAQABYAFAAUABoAEgASABAACgAGAAoABgAKAA4ACgAIAAIAAgAAADw/+j/+P/w/+j/AAAAAPj/AAAAABgAIAAQACAAQAAoAGgAgACIALAAuADAAOAAAAEwAUgBcAFwAXgBiAGYAZABuAGwAbgBuAGoAaABkAGQAXABYAEoAQAB4ACwAJAAaABQABgA4P+w/3D/KP8Y/9D+oP5w/lD+OP4Q/uD9wP2w/aD9qP2I/Zj9oP2g/cD96P34/TD+UP54/qj++P4o/5D/uP8IAFgAkACwAAABUAGAAcgBEAI4AjgCUAJIAlgCcAJgAlgCOAJAAjACIALgAbABeAFQARAB2ACoAFgAAADQ/6j/WP8Y/7j+iP5Y/gD+wP2g/XD9UP0w/Qj96PzQ/Oj8+Pzw/Pj8CP1A/XD9mP3Q/Qj+QP6A/tD+IP9o/5j/2P8oAHAAoADoADgBSAGIAdAB0AHwARACIAIoAjACSAJAAjgCOAIIAuABqAF4ATgBKAHoALAAeAA4ABgA2P+w/3D/OP8g/+j+wP6Y/pD+cP5g/mj+WP5o/oj+kP7I/vj++P5I/2j/oP/A//D/SACgAMgAAAFAAWgBqAHYAfgBQAJIAlgCcAKAAogCiAKAAngCWAJQAkgCGALoAcABkAFIARAB0ACIAEAA8P+o/1j/CP+w/oD+aP5A/uj9sP2g/Wj9UP1I/Rj9EP0Q/RD9QP0w/WD9mP2Y/dj9KP5Y/pD+6P4w/3D/oP/w/xAAcADAAPgAOAF4AagByAHoARgCKAI4AkgCYAJQAkgCSAIgAgACuAF4AWABKAEIAdAAkABQACgA4P+4/1D/GP+4/nD+WP4Q/tj9mP2Q/XD9WP04/Sj9IP0I/Sj9MP1A/VD9aP2Y/bj9+P0A/lD+gP7Q/vj+QP9w/7j/8P8gAHgAuAAIAUABWAFoAZABmAG4AcgB0AHYAdgB2AG4AagBkAFwAXABUAE4AQgBwACoAHAASAAgAOj/uP+Y/4D/MP/g/uD+wP6Y/oj+aP5Q/kj+UP5Q/mD+cP6I/oj+iP6w/rj+0P7o/iD/KP9Q/4D/mP/Q/+j/EAAwAGgAmACwANgACAEwARgBMAE4AUgBKAFAATgBMAE4ASgBEAEYAfgA+ADoANAA0ADAAKAAkABwAGgAWAAwAPD/6P/Q/+D/4P/w/8j/0P/I/8j/0P/I/+j/8P/o/wAA6P8AAPj/AAAIADAAMAAwADAAQABAAFgAcACQAIAAsAC4ANgAwADgAOAA+ADoANgA2ACwALgAmACIAHgAcABwAGAAWABYAEgASABIAEAASABQAEAAQAAoABgAGAAIAAgAEAD4/wAAAAD4/wAA+P/w/+j/8P8AACAAKAA4AEAAKABYAEgAaABoAGAAeACQALAAkACIAJAAiAB4AIAAiACIAHgAgABwAGAAQAAwACAAIAAoABAAAAD4/wAA6P/Y/9j/wP+g/5j/kP+o/5j/kP+I/6j/mP+w/4j/mP+o/6j/oP+o/8D/qP+4/6j/sP/I/9j/2P/g//D/AAAIABAACAAAAPj/AADo//D/2P+4/6D/mP+o/6j/uP+Y/5D/kP94/3D/eP9w/2D/UP9o/0j/UP9Q/1j/YP94/3D/iP+Q/5j/mP/A/+D/+P8QACAAMAA4AFAAUABwAHgAsADYAOAA6ADwAAgBEAEQAQABOAFAAUABQAFIAVgBUAEoASABCAHgANgAuACgAHgAYAAwAAgA6P+w/3j/UP8w/xj/AP/w/sD+sP6Q/oj+YP5g/mD+SP5g/jj+OP4g/ij+OP44/jj+SP5Y/lj+cP6Q/rD+4P4I/0D/cP+Y/7D/4P8YADAAcACgANAA2ADwAAgBGAE4AWABYAFYAWgBcAFoAWgBSAFQATABIAHoANgAsAB4AJAAkABIAEgAKAAIAPj/wP+Y/5D/eP9o/1D/OP8w/yD/AP8A//D+4P7o/uD+6P74/gD/GP8g/yD/QP9I/2j/iP/A/9j/+P8QABAAIAAQADAAQABAAFgAgACAAJAAmACgAKgAoACoAJAAiACIAHgAaABYAFAAOAAYAAgA+P/Y/8j/uP+Q/3j/YP9I/1D/MP84/zj/KP8Y/xj/EP/o/uj+AP8Q/xD/KP9I/3j/mP+w/8D/0P/g/wAAIAA4AFgAkAC4AMgA4AAQARABGAFIAUgBWAFoAXgBmAGgAagBiAGQAXgBcAFwAVgBUAFIAUABKAEAAfgA0AC4AKgAmACQAHAAaABQAEgAKAAoABAAGAAAAAAACADo//D/0P/A/7j/uP/I/9j/6P/Y//D/+P8IABAAKAAIACgAEAAYABgAKAAYAAAACAAAAAAA+P/o/+D/yP/A/8j/mP+A/2j/cP9I/1D/SP9A/zj/KP8o/wD/+P7g/uj+8P7o/vD++P7o/tD+0P74/uD+8P4A//j+8P4Q/yD/SP9g/3D/cP94/3j/oP+w/8j/6P/4/wgAAAAYABgAGAAwADAAMAAoADAAEAAQAAAAAADo//j/+P/4/+j/8P/4/8j/4P/g/+D/4P/I/9D/yP/Q/9D/2P/Y/9D/uP/Q/8D/2P/A/+D/4P/w//j/8P/4/+j/EAA4ADgASABQAFAASABAADAAOAAYACAAKAAAAPj/CAD4//D/8P/Y/+j/0P/I/8j/oP+Q/5D/cP9g/1D/MP84/zj/OP8o/0j/KP8o/zj/KP9A/1D/SP9o/2j/eP+I/5D/mP+4/+j/4P8IABAAKAA4AFAAeACIAKAAwADIANAA0ADoAOgA+ADwAPgACAEAAfgA6ADYAOAA0AC4AKgAkAB4AGgAWABYAEgAOAAwABgA8P/g/+j/2P+4/8D/uP+4/7j/wP+w/8j/wP+4/8D/yP/g/9j/8P/g//D/+P8AAAAAEAAgADAAKABAAEgAWABgAGAAQABQAFgAWABwAGAAaAB4AFgAUAAwACgAEAAwAAgACAAAAPj/6P/Y/7j/wP+w/5j/kP+Q/5j/mP9w/3D/eP94/2j/gP+Q/6D/2P/Q/+D/8P8AAAAAEAAoAEgAYAB4AKAAqACwANAA4AAAAfgA8ADwAPAAEAEQAQgBEAEIASABAAEAAfgA8AD4AOgA2ADIALAAkACIAHAAYABAAFAAIAAoABAAAADo/9j/2P/I/7D/0P/A/7D/qP+g/6j/oP+w/9D/0P/Y/9j/+P/g/+D/UAB4AHAAeACIAJAAqACYAMAA4AAAATABMAFIATgBGAEoASgBMAEwAVABSAFIATABMAEgAQgBCAEAAdgAyACwAKgAsACQAJAAiABwAGAAOAAoABgAEAD4//j/4P/I/6D/eP9w/2D/UP9Q/0D/IP8w/yD/QP8o/xj/OP8o/xD/GP8g/wj/EP8Y/xj/CP8g/xj/IP8Y/yj/KP8g/xj/IP8Y/wj/GP8o/yD/OP9Q/1D/WP9w/1j/UP9g/2D/YP9Y/2D/aP9w/4j/kP+g/6j/uP+4/6j/oP+w/5j/sP+g/5j/kP+I/3j/cP9g/1j/WP9Y/1D/SP9A/zj/KP8w/zj/OP84/yD/KP8o/yj/KP9A/0j/OP8w/0D/OP9Q/1D/gP9w/4D/aP+A/4j/kP/A/7j/0P/I//D/+P8AABgAMABQAGgAiACQAKgAsACgALgAwADYAPAA6ADgAOgA4ADYAMgAyAC4AMAAwACoAJgAkABwAFgAUABQACgAMAAIABAA+P/g/8D/oP+I/3j/aP9o/2j/YP9A/zj/QP84/0D/UP9Y/1D/aP9o/2j/cP94/5D/kP+Y/7D/sP+4/7D/0P/4/wgAIABAAFgAWABoAIgAgACAAIgAkACQAJAAmACQAJAAiAB4AHAAcABoAFgAUAAwADgAMAAQAAgAAADg/9D/2P/Q/8D/yP+o/6D/iP+I/4j/gP+Q/3j/cP+A/5D/kP+I/5D/mP+o/6j/kP+w/9D/wP/o//D/+P8IABgAIAA4ADgAQABIAFAAUABQAGgAkABwAHAAcABoAHAAWABgAFAAOABAADAAIAAYADAAKAAgADAAIAAYAAAAAADo/wAA+P/4/+j/4P/A/7j/sP+Y/6D/sP+w/8D/wP/Q/9D/0P/Q/9D/2P/g//j/AAAgADAAQABAAGAAeACAAJgAwADAAOAAyADgAMAA6ADgANAA8ADoAAAB+AAIAdgAyADoAOgA2ADYAMgAwAC4AKgAqACQAHgAaABQAEAAKAAYAAgAAAAAAOD/uP+w/7D/oP+Y/5j/gP+A/3j/aP9w/3D/SP9g/2j/YP9g/2j/eP9w/3j/eP9w/3D/iP+Q/5D/mP+4/7j/wP/I/+j/6P/4/wAAAAAIABAAAAAIADAAOAAwAEgAQABIAFAASABQAGgAWABIAEgAUABYAFgAQAAoABgACAAQAPD/2P/Q/+D/yP/A/7j/uP/A/8D/sP+4/6j/oP+Y/4j/mP+Q/4D/gP+A/3j/iP+I/5j/oP+g/7D/yP/Y/+D/4P/g//D/+P8AAAAA6P8QAAAA+P8YABgACAAQACAAGAAYACAAKAA4AEgAUABYAGgAUAA4AEgASABAAEgAQAAoACgAMAAgABAAGAAwADAAIAAQACAAGAAwADgAKAAoADAAIAAYABgAIAAIABAACAAYAAAACAAoACgAMABAADgAUABIAFgAaABoAHgAeABwAGgAUABAADgAKAAwACAAGAAgABgACAAQACAAIAAgADAAQABAAFAAUABQAFAASABIADgAOAAwAEAAOABAACgAIAAgACgAKAAoADAAMAAYADAAMABAAEAAOABQAGgAaABwAIAAcABoAHAAYABIAFgAQABgAFAAcABwAHgAeABwAIAAiAB4AHAAaABoAEAAWABIACgAMAAgACAAAAAAAOj/6P/Q/+j/yP/A/7D/qP+g/4j/iP94/3D/aP9o/3D/OP8w/zj/GP8o/0D/MP9A/0D/OP8w/yj/OP9A/0j/UP9A/2D/WP9o/3j/gP9w/6D/mP+o/7j/qP+4/7D/2P/A/+D/yP/Q//D/6P/o/+D/AAD4/wgAKAAgADgAKAAgACgAMAAoACgACAAAABgAAAAIAAgACAAAAPD/AADw/9j/4P/Q/8j/0P+w/7j/sP+w/5j/iP9w/3D/YP9Y/1j/UP84/yj/IP9I/1j/WP9w/3D/cP+I/4j/eP+Q/4j/oP+w/6j/uP+4/7D/0P/Y//D/AAAIABAAIAAwAEAASABwAHgAcAB4AJAAmACIAIAAcABgAFAAYAAwADAAQAAgAAgACAD4//D/0P/Q/8D/qP+Y/4j/aP9w/2j/YP9A/yD/IP8I//D+GP8I/wj/AP8I/xD/KP9A/0j/UP9Y/3j/eP+Q/6j/yP/Q//D/AAAAADAAQABIAFAAaACIAJgAsAC4ANAA2ADgANAA2ADoAOgAyADQAMAAsACYAIgAgACIAIAAaABgAEgAKAAQAAAA+P/w/+D/wP+4/6D/mP+A/4D/UP9Q/0D/UP9A/xj/IP8g/yD/KP8g/zD/QP9A/0j/YP9w/4D/kP+Y/7D/wP/Q/+D/+P8AAAgAGAAoADgAUABQAGAAcACAAIgAiACIAJgAgACIAJAAiACYAJgAoACIAIgAkACIAHgAcABwAGAAWABAADgAKAAwACAAQAAoACAAKAAYACgAIAAwADAAKAAgADgAIAAgAEAAMABYAFgAaABoAGgAgACAAHAAaACAAHgAiABoAGgAeABgAGgAiABwAGgAQABAACAAIAAQAAAACAAIAAAA6P/Y/9D/4P/Y/8D/0P+4/7D/sP+o/5j/eP9w/0j/UP9I/0j/MP9Y/1j/aP+I/3j/kP+Y/5j/qP/A/8D/wP/Y//j/8P8QABAACAAgABAAEAAgADAAMABIAGAAYABYAFgAaABoAGgAaABoAFAAaABQAFgAUAAwADAAIAAgABAACAAYABAAAAAAAAgA+P8IAPj/CADw/+D/AAAAAAAAAAAYAAgAAAAAAAAAAAD4//j/AAAAAPj/8P/w//D/8P/w/wAACAAQAAAA8P/w//D/4P/w/+D/2P/o/8D/2P/g/7j/0P+w/8D/qP/A/7D/sP+o/7j/uP/I/8j/yP/Y/9j/0P/I/8j/4P/o//j/+P8QAAgAGAAYACAAEAAgAEAASABIAEgAUABgAGAAcABYAFgAaABQAEgAWABIAFgAWABgAFAASABQAEgAQABYAEgAUABYAEgAUAAwADAAOAAYABgAEAAAAPj/+P/4/+D/wP/A/7D/qP+w/6j/sP/Q/8j/2P/g/+D/AAAAAPj/+P8IAPD/AAAQAAgAAAAYABgACAAQABgAIAAgABgAGAAgACAAKAAwADAAKAAgABgAEAAYAAAA+P/o//D/2P/o/+D/0P/Q/9j/2P/I/+j/4P/w/9D/0P/A/7j/qP+w/5D/qP+Y/7D/sP+o/8D/yP/Y/+D/6P/4/wgAKAAwACgAOABAAEgASABAAEAAQAA4ACgAMABIAEgAUABwAGgAaABoAHgAaABoAGgAYABwAFAAWABQAEgASAA4ACgAOAAwABgAKAAAAAgAAAD4//j/6P/o//D/yP/I/9j/4P/g/9D/yP/I/8j/sP/I/8D/yP/Y/9D/4P/Y/+D/4P/Y//D/+P/g/wAACAAIAPD/EAAgADAAIAAQABAAGAAYABAAEAAwAEgAMAAwAEgAMAA4ACgAMAAgADAAKAAoABgACADw/+D/2P+4/8D/wP+g/5j/mP+o/6D/kP+Q/5j/qP+o/5j/qP+g/7D/qP+g/6D/qP+Y/6j/uP/A/8j/2P/Y/wAA8P/4/wAACAAYABgAIAAoABgAOAA4AEAAYAB4AHAAcABwAHgAeABQAGAAOAAgACgACAAQAAgACAAIAPj/4P/Y/+D/uP+w/7D/qP+Q/5j/kP94/2D/UP9A/1D/SP9I/2D/OP9A/0j/UP9Y/1D/UP9I/2D/aP94/4D/gP+Q/6D/oP+o/6D/qP/I/+D/4P/w/wAACAAQAAgAAAAgACAAMAAwAEAASABQAGgAYABoAHAAaACAAGAAaABQAEgASABAADAAMABAADgAMAAgABAAGAAQABgAIAAoABAAGAAoACAAGAAIAAAAAAAQAAAAAAAIAPD/AAAYAOj/AAAQABAAMAAoABgAMABAAEAAIAA4ADgAQABAACAAKAAYADgAKAA4AEgAOABIAFgAYABgAFgAcABwAIgAiACAAGAAaABwAHAAgABoAGAAeABIAGAAcABYAGgAUABIAFgAUABQAGAAWABgAGAAYABoAEgASABIADAAKAAwACgAIAAYABAACAAIAPj/6P/4/wAA+P/w/+j/AADo/+j/AADY//j/AADw//j/4P/Q/9j/2P/g/8D/uP/Q/8D/uP/I/8D/0P/Q/9D/wP+4/7D/mP+Y/5D/eP9w/2j/cP9g/2j/YP9Q/1j/WP9g/1j/cP94/4D/gP+A/4j/aP9g/2D/UP9o/2j/cP9Y/4D/gP94/4j/kP+Q/6D/sP+4/9j/4P8IAAAAAAAYABgAEAAQABgAKAAwACAAGAAgAEAAMAAwADgAKAAwADgAOAAYADAAGAAgABAAGAAAAAgAAADg/9D/yP/Y/9D/wP+4/8j/2P+4/7D/sP+4/8D/qP+Y/4j/cP9w/3D/cP9w/4j/kP+Y/6D/sP+w/7j/uP/Y/+D/4P8QAAgAIABAAEgAUABgAHAAeAB4AJAAmACoALAAuADAAMgAyADYAMAAuADAALAAoACYAJAAcABwAFAAQAAwABgAAAAQAOj/4P/Y/6D/oP+Y/4D/aP9g/1D/QP9I/1j/SP84/zD/SP9g/2j/cP+A/3j/iP+A/5j/kP+w/8D/4P/4//D/AAAQACAAUABAAFAAWACAAJAAiACIAIgAcAB4AGAAWABoAEgAUABIADAAMAAoACgAGAAQAPD/8P8AAPD/8P/Y/+D/+P/Q/8D/yP+w/7D/sP+w/6j/oP+g/5D/iP+I/5j/qP+o/6j/wP/Y/+D/8P8IACAAMAAoAEAAUABYAGAAcACIAKAAoACIAKgAsACwAKgAqACgALgAsACoAKgAsACgAJgAmACAAIgAYABQAFAASABgAEgASAAoADAAKAAYAAAAEAAYABAAAAAAAAAAAAAQAAgAAAAQAAgAAAAYACgAIAA4AEAAWABoAHAAeACIAIAAiACAAIAAcACAAIgAiACIAIgAeACAAHAAeABoAHgAeABIAEgAKAAoADgAMAAwADAAMAAYAAAAAADo/+j/+P/w//j/8P/g/+j/0P/I/7j/wP/A/7j/sP+w/7D/uP+w/5j/sP+o/7D/sP/A/8j/wP/I/+D/2P/g/+j/0P+4/9D/yP/Q/7j/uP/I/8D/wP+o/5j/gP94/2D/cP9w/4D/aP9w/1j/WP9g/0j/UP9Y/1D/QP9Q/zj/QP8o/zj/QP8w/0D/MP9I/1j/WP9o/2j/YP+A/2j/eP94/2D/aP94/3D/cP+Y/6D/sP+o/8D/uP+4/7j/sP/A/8D/uP+4/5j/uP+g/5j/mP+g/5j/kP+A/5D/iP+g/5j/sP+Y/4j/mP+g/5D/qP+Y/5D/mP+Y/4j/sP+o/7D/wP/Q/9D/0P8AAAgAAAAAACgAMAAwADgAWABYAFAAaABgAGAAUABgAFgA" preload="auto"></audio>',"ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ","updateElement",".mdp-calendar-days","&lt;","ExtractFileExt ","malam","uib-accordion-header,","selectedOption","يە_دۈ_سە_چا_پە_جۈ_شە","cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi ","ipVer","weak unowned owned ","moment.parseZone","ctRemoveHeaders ctRemoveRows ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ",'ng-click="$mdAutocompleteCtrl.clear($event)">',"Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History ","arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ","ديسمبر","[L~ást] dddd [át] LT","make_colour_hsv colour_get_red colour_get_green colour_get_blue ","Luan"," starplot_description status std std1 std_bernoulli std_beta std_binomial","Accepted","ftSearch ","deleteRow",'/embed?html,js,output">Simple Animation Tests</iframe>',"isMenuContainer",")*)?s*))?","  <thead>\n","sweat","deactivated","So_Mo_Di_Mi_Do_Fr_Sa","connected","fallbackLanguage","SYSRES_CONST_EDOC_KINDS_BY_TEMPLATE_ACTION_CODE "," nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin","toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower ","otherAnswerCheckboxChanged",'" specified for md-menu on X axis.',"textNoResults","baby_bottle","removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks ","ldctReferenceType ","shift cd dir echo setlocal endlocal set pause copy ","mdGridTileHeader","[у] [суботу] [у] LT","типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных ","erlang","mdRadioGroup","timer_B","ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ","okLabel","PⓅＰṔṖƤⱣꝐꝒꝔ","isFirstRender","på dddd [kl.] LT","%d araw","set_type","roller_coaster"," declare_fundamental_units declare_qty declare_translated declare_unit_conversion","persistent mask_index instance_count instance_id room_speed fps ","ބުދަ","pig2","_bidi","дзень_дні_дзён","overcastForecast owner param params parseNumber parseSimpleArray parseText parsingNamespace ",'    <tr class="uib-months" ng-repeat="row in rows track by $index" role="row">\n',"bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt ","wfatPrevious ","minBy","currentDevicePixelRatio","wdtString ","ngMessageDefault","INumericRequisite ","/embed/","#ffffff","kuukautta","_rtcAnswerConstraints","$mdPanel","седмица","clearSelection","(\\.\\d*|","align alignb sectalign daz nodaz up down zero default option assume public ","strokeWidth","addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem ","onReady","getPixelForDecimal","(\\$\\W)|((\\$|\\@\\@?)(\\w+))","%d tassaɛin","user-select: none;","_isEnabled","var","_getMatchingNodes",'"sips"',"xorWith","boar","digits renames with do mod requeue xor","[今天]LT","isDate","glob","os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall ","createOffer","ldif","zep","SYSDLG_SETUP_SIGN_RIGHTS ","provide","timezones","_router","source-filter: %s %s %s %s %s","useBR","SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE_RUS ","ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച","shirt","_md-panel-backdrop","ds_grid_get_disk_sum ds_grid_get_disk_min ds_grid_get_disk_max ","s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 ","SYSRES_CONST_NUMERATION_FROM_DICTONARY ","YYYY.MM.DD.",":   Hook -> ","UA is in READY status, not restarted","attributeName"," but ","xAxes","isIonicTap","urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.","SYSRES_CONST_CHECK_PARAM_VALUE_REEFRENCE_PARAM_TYPE ","%s قبل","[W sobotę o] LT","ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound ","географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма ","$on","%d semanas","sv-handle-disabled",'links[j].setAttribute("target","_blank");}}}}();<\/script><script type="text/javascript" ',"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*","letters","cancelLabel","_md-panel-hidden","D MMMM [năm] YYYY","1 周","nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends ","categorySpacing","pred %s","sfsNormal "," epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type","ps--focus","baiduboxapp","svCopy","Transition","#0066CC","100","charAt","md-in-menu-bar"," laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp","FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE ","Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build","getContext","доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ","font_add_enable_aa font_add_get_enable_aa font_add font_add_sprite ","ps__scrollbar-x","mans_shoe",'width="',"SYSREQ_EDOC_ACCESS_TYPE ","#CC00CC","_monthsGenitiveEl","formula","INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 ","<br/>","типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ","transport close",'<div class="sortable-container" layout="column" sv-root="" sv-part="Checkboxes.item.options"><md-input-container class="md-block"><label>Max Selections</label> <input type="number" ng-model="Checkboxes.item.config.maxSelections"></md-input-container><md-switch ng-model="Checkboxes.item.config.direction" ng-true-value="\'horizontal\'" ng-false-value="\'vertical\'">Layout direction ({{Checkboxes.item.config.direction == \'horizontal\' ? \'Vertical\' : \'Horizontal\'}})</md-switch><div class="option-item" layout="row" ng-repeat="option in Checkboxes.item.options track by $index" sv-element=""><md-button class="md-button handle" md-no-ink="" aria-label="option item" sv-handle=""><md-icon md-font-icon="icon-drag-horizontal"></md-icon></md-button><md-input-container class="md-block"><label>Option {{$index + 1}}</label> <input ng-model="option.value"></md-input-container><md-button class="md-button md-warn" ng-click="Checkboxes.deleteOption($index)"><md-icon md-font-icon="icon-delete"></md-icon></md-button></div><div layout="row" layout-align="start"><md-button class="md-primary add-option-button" ng-click="Checkboxes.addOption()"><md-icon md-font-icon="icon-plus"></md-icon></md-button></div></div>',"SUBSCRIBE",";expires=","floorid:%s mstrm:%s","dddd [iha] LT",'<div class="md-panel-outer-wrapper">',"floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan ","addValidElements","gamepad_set_vibration gamepad_set_colour gamepad_set_color ","matchesSelector","@@?","entriesIn","Name_Addr_Header","preventManipulation",'<span class="mdp-datepicker-year" ng-click="datepicker.showYear()" ng-class="{ \'active\': datepicker.selectingYear }">{{ datepicker.date.format(\'YYYY\') }}</span>',"tap","remote_peek and eval getftime submatch screenchar winsaveview ","$mdMenuIsOpen","TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ","delegateTarget","начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией "," (NodeOS) AppleWebKit/","Max ","pageX","toHsv","IAccessRights ","MW_QUESTION_TYPES",'<div class="md-datepicker-calendar">',"Ringing",".md-virtual-repeat-container, .md-standard-list-container","received binary message:\n\n",'button[type="submit"]:enabled, input[type="submit"]:enabled',"parsedDateParts","SYSRES_CONST_USER_SERVICE_CATEGORY_CODE ","depsl|depsyd|depsyd|deptab|deptab|dequote|dhms|dif|"," ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann","  <md-dialog-actions>","NokiaBrowser/[VER]","hookOrder","stateRegistry","ALLOWED_METHODS","rgbString","physics_world_create physics_world_gravity ","shortDays","SYSRES_CONST_ADD_REFERENCE_MODE_NAME ","Windows 8","[Tomorrow at] LT","una hora"," vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle","ДатаВремяСерв ","tygodnie","//player.vimeo.com/video/","leaderboardsRequestUploadScoreKeepBest leaderboardState leaveVehicle libraryCredits ","یه‌ك كاتژمێر","СпрРеквРежим ","0x[0-9a-f]+","Súl_Lún_Mai_Már_Xhú_Vié_Sát","device_ios_ipad device_ios_ipad_retina device_ios_iphone5 ","INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ","IEdmsObject ","පෙ.ව.","e61c","clipboard_get_text date_current_datetime date_create_datetime ","pt-br","^\\*","_defineCoreEvents","black_square","TEMPLATE","dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm","capsule","insertDTMF","mdFontIcon","isTabletFallback",".uib-datepicker-popup","%s yn ôl","oldRow","DELETE","endsWithParent","\\bBada\\b","const","ein dagur","kbv_returnkey_default kbv_returnkey_go kbv_returnkey_google ","chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy",'<div class="md-bar"></div>',"object-position","already unregistered",'"$"',"ctrl.formPage.elements.length","epxansionPanelGroupCtrl","e9967a","draw_text_ext_colour draw_text_transformed_colour ","Existing Export exporting Extern Extract Extraction Fact Field Fields File ","network_type_non_blocking_connect network_config_connect_timeout ","birnäçe sekunt","#e0f7fa","ਇੱਕ ਦਿਨ","ebusuku","_dragStartTimer","^mwFormPageElementBuilder","Path Paths pattern Polymorphic Preterm Print Printing Program Projections ","Amoi","[a-z_]\\w*!?","_handleInvalidTargetState","texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text ","Loading..","revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase ","SYSRES_CONST_IMAGE_MODE_MONOCHROME ","повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение ","parseParams","md-expansion-panel-expanded","jtRight ","pagedown","មួយនាទី","mdSwipeDown","setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass ","Nibiru M1|Nibiru Jupiter One","Отчет ","AVAILABLE_DEVELOPERS_COMPONENTS_PSEUDOREFERENCE_CODE ","setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining ","سبتمبر","filterUpgrades","[Ọ̀la ni] LT","displayFormat","(?:\\ud83c[\\udde6-\\uddff]){2}","success","removeChip","SYSREQ_EDOC_TYPE_ACT_DESCRIPTION_LOCALIZE_ID ","CHECK_FILTRATER_CHANGES_RULE_ID ","handleMenuHover","emUnlockExportedWithLock ","SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_PASSWORD ","SYSREQ_FUNC_PARAM_TYPE ","localData",'<span class="toast-msg" ng-if="!toast.html && toast.msg" ng-bind="toast.msg"></span>',"full_moon","break case catch classdef continue else elseif end enumerated events for function ","-чи","directory","      {{ toast.actionHint }}",'<div class="md-track"></div>',"ctUnknown ","SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION_CODE ","SYSRES_CONST_ALLOWED_ACCESS_TYPE_CODE ","resizable","ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive ","property parameter class classmethod clientmethod extends as break ","flex-offset-lt-md","reason_phrase","%s adim","#3399FF","IGNORED","truncate","[ನಿನ್ನೆ] LT","ned._pon._uto._sri._čet._pet._sub.","$locationProvider","drawRoundedRectangle","%d iminyaka",'response="',"mozRTCPeerConnection","ps-x-reach-end","stroke","bfcpFloorId","This Week","rowSelect","rgb(255, 0, 0)","moveOverlappingItems","tabs","wavy_dash","prevScrollTop","icWizardStepFinishEventHandler ",'"""',"progress","\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)","#FF9933","stuck_out_tongue_winking_eye",'<div class="md-datepicker-input-mask">',"useExisting","^\\s*#\\w+","ein paar Sekunden","sub fsub mul fmul udiv sdiv fdiv urem srem ","draw_text_ext_transformed_colour draw_text_color draw_text_ext_color ","dropDown","TransitionHookPhase","[A-Z_][A-Z0-9_.]*","Today ","%d йил","bho chionn %s","part_type_colour3 part_type_colour_mix part_type_colour_rgb ","ایک سال","toggleMeridian","$$uibTooltipCss","gist","mdVirtualRepeat","isValidDate","removeAttribute","ਇੱਕ ਸਾਲ","ޖުލައި","[dün] LT","ideone","SYSRES_CONST_SERVER_TYPE_MAIN ","noInlineStyle","ENTER","SYSREQ_REF_TYPE_NAME_IN_SINGULAR ","[ئەتە سائەت] LT",'.html" ',"CONNECTION_RECOVERY_MAX_INTERVAL","objectParent objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch ","channels","mdColorHistory","fromRegExp","$mdExpansionPanel","[ve středu v] LT","webkitTransform","ctComboEdit ","diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits ","muutama sekunti","finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign ","hsla","choose (application|color|file|file name|","<md-dialog>","extmapAllowMixed","[\\x0E-]","      <span>{{$chip}}</span>","sun_mán_þri_mið_fim_fös_lau","JOB_BLOCK_EXECUTION_RESULTS_PROPERTY ","getBody","vertex_create_buffer_ext vertex_delete_buffer vertex_begin ","CONFIGURATION_ERROR","ഉച്ച കഴിഞ്ഞ്","[В] dddd, [в] LT","Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item ",'ng-model="ctrl.date" ng-if="ctrl.isCalendarOpen">',"applyAnimationDuration","borderColor","unbindAll","_getBoundingClientRect","crmsh","datepicker","Read Repeat Restore Return Runtime Select Shared Static Step Structure ","%d minuhtat","^#{1,6}","$$sanitizeUri","origin",'      <td ng-show="showSeconds" class="uib-increment seconds"><a ng-click="incrementSeconds()" ng-class="{disabled: noIncrementSeconds()}" class="btn btn-link" ng-disabled="noIncrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n',"getTracks","D MMMM YYYY HH:mm","onCloseSuccess","Alcatel","a8m.is-null","rtpmap:%d %s/%s","timer_F","pas","fa_middle fa_bottom pr_pointlist pr_linelist pr_linestrip ","mbNoToAll ","sekundit","setRainbow setRandomLip setRank setRectangular setRepairCargo setRotorBrakeRTD setShadowDistance ","'iensa ziua","SYSRES_CONST_END_DATE_REQUISITE_CODE ","sameElse","calendar","on off yes no true false none blocked debug info notice warn error crit ","audioinput","%d sekundir","endIdx","EDOC_VERSION_ACTIVE_STAGE_CODE ",";reg-id=","$interval","/?height=","%d घण्टा","\\(\\*","$mdListInkRipple","gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex ","animationTimingFunction","[நேற்று] LT","ng-animate-shim","SYSRES_CONST_REQUISITE_SECTION_TABLE4 ","اگست","_chartInstance","<md-select-value><span></span></md-select-value>","SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE ",'; text="',"cachedTransitionStyles","withOptions","Done","applyThemeColors","quotes"," noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np","раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени ","SYSRES_CONST_NONE_ACCESS_RIGHTS_TYPE_CODE "," ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp","minutama","Справочник ","SYSRES_CONST_WIZARD_QUERY_PARAM_HEIGHT_ETALON_STRING ",'md-year-offset="$index" class="md-calendar-year" ',"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS ","_useUTC","JOB_BLOCK_ATTACHMENT_PROPERTY ","basicImage","&#x60;","Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1","использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных ","shouldPaginate","Rows per page:","wfepUndefined ","جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر","updateGlobals","idToItem","last_quarter_moon_with_face"," puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp","draggedRect","Windows XP","icDataSetEventHandler ","frowning","dddd, D [de] MMMM [de] YYYY h:mm A","ffffe0","show","onping",'    <span class="btn-group pull-left">\n',"innerOrder","SYSRES_CONST_ALL_USERS_SERVER_GROUP_NAME ","@?mdpCancelLabel","установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту ","fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper ","getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline ","tooltipAnimationClass","gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter ","newUUID","bm_inv_src_colour bm_src_color bm_inv_src_color bm_src_alpha ","Точн ","Extend IntoIterator DoubleEndedIterator ExactSizeIterator ","margin-right","emAbort ","mrcrtMaximal "," dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart","translationNotFoundIndicatorRight","room_get_viewport room_set_view_enabled room_add room_duplicate ","_ignoredReason","html.handlebars","getTokens","CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ ","jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.","key","text-align","getAutoClose","mdColorAlphaChannel","mdOnSelect","cronselection.html","monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or ","openCalendarPane","axapta","mdListItem","deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes ","appendTo","ENUM_FIRST ENUM_LAST ENUM_RANGE ","STATUS_INVITE_RECEIVED","date_week_span date_day_span date_hour_span date_minute_span ","InvalidStateError","wdtDateTime ","wtmFromCurrent ","jsbinEmbed","nativeDraggable","FIRSTDAYOFWEEK","Missing parameter: ","bir gün","fun receive if try case","SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION ","[object HTMLImageElement]","unknown packet type ","yyyy-MM-dd",'<div layout="column" layout-align="start center">',"LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE ","twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit ","জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর","SYSDLG_MULTIPLE_SELECT ","app/directives/select-item/select-item.html","poucos segundos","phy_joint_length_2 phy_joint_damping_ratio phy_joint_frequency ","=?mdpAutoSwitch","data-ps-id","encodeDashes","isWeakSet","caretPadding","%s بۇرۇن","Set-VMHostStartPolicy Set-VMHostStorage Set-VMHostSysLogServer Set-VMQuestion Set-VMResourceConfiguration Set-VMStartPolicy Set-VTpm Set-VirtualPortGroup Set-VirtualSwitch ","SwipeUp","dddd D MMMM YYYY [kl.] HH:mm","unusedInput","mdp-chevron-left.svg","from_uri","zo_ma_di_wo_do_vr_za","animate","md-menu-focus-target","md-whiteframe-","noTransition","previewStyle","useValue","cloneForm","pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'.","mdColors","array_height_2d array_equals array_create array_copy random ","dragstart","catchAll","dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl ","uib/template/accordion/accordion.html","ontouchstart",'[^\\\\]"','aria-haspopup="dialog" ',"toastyConfig","sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound ","SIP Failure Code","updateVirtualRepeat","intersection","JsSIP:ERROR:Socket","ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK ","inert","spades","params meta operations op rule attributes utilization","digest",'" width="',"newListener","-?\\w+\\s*\\=\\>","_port","figcaption","primaryWeaponItems primaryWeaponMagazine priority processDiaryLink productVersion profileName ","GetLastException ","ariaRequired","Request","^>\\s+","body private then if procedure type case in protected constant interface ","نەچچە سېكونت","STATUS_TRYING","borderDashOffset","[ \\t\\n\\r]","minutu","&#x","يونيو","md-menu-bar-menu"," av average_degree backtrace bars barsplot barsplot_description base64 base64_decode","sa loob ng %s","Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ","instant","cctInteger ","getRelativePosition","tickMoments","utDeveloper ",'md-tabs-template="::tab.template" ',"zeroLineIndex","_reconnectionAttempts","javascript:0","swapThreshold","app/directives/checkboxes-item/checkboxes-item.html","Scanner","mdZIndex","dddd, D [de] MMMM [de] YYYY H:mm","xor","onRemoving","loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput ","$$mdSvgRegistry","SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_CODE ","diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_lightNewLoad ","transitionDelay","_processInDialogSdpOffer","ctDBNavigator ","\\s\\(\\.?[^;\\|]*\\)\\s*=>","setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe ","МаксСтрТблСпр ","polling got data %s","dc143c","keycap_ten","draw_roundrect draw_roundrect_ext draw_triangle draw_circle ","setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout ","files","_start","([a-z]+):/","isUtc","nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing ","chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate ",'<div class="carousel-inner" ng-transclude></div>\n',"dddd [عند الساعة] LT","oxygene","check","Get-KmipClientCertificate Get-KmsCluster Get-Log Get-LogType Get-MarkdownOption Get-Media Get-MofInstanceName Get-MofInstanceText Get-NetworkAdapter Get-NetworkPool ","[Fattlo] dddd[,] LT","curryRight","pair? peek-char port? positive? procedure? quasiquote quote quotient ","<md-autocomplete","d'o","@mdInputName"," adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type","гадзіна_гадзіны_гадзін","G_vmlCanvasManager","disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment ","6a5acd","__views__","fun macro","modal.closing","SYSRES_CONST_IS_STORED_REQUISITE_STORED_VALUE ","array null if endwhile or const for endforeach self var let while isset public ","فروری","' is not an instance of ParamType (",'<div flex md-virtual-repeat="item in datepicker.yearItems" md-on-demand class="repeated-year">',"receiveRequest","Dé hAoine","FormParagraphBuilderId","minutou","ISignature ","gridster-item-transition-end","rgb(153, 255, 153)","%v%s","Get-NsxLoadBalancerApplicationProfile Get-NsxLoadBalancerApplicationRule Get-NsxLoadBalancerMonitor Get-NsxLoadBalancerPool Get-NsxLoadBalancerPoolMember Get-NsxLoadBalancerStats ","layer_tile_exists layer_tile_create layer_tile_destroy ","revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull ","flex","SUBTASK_BLOCK_WAIT_FOR_TASK_COMPLETE_PROPERTY ","kiss","rotation","gms"," oid_to_octets op opena opena_binary openr openr_binary openw openw_binary","ui-view: ","mwFormPageElementBuilder","_ua","xhr open %s: %s","revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback ","hold()","$$willAnimate","Safari/[VER]","langApiRestored","getActionFromKeyEvent","bidi","FormatNumeric ",".md-virtual-repeat-scroller","static","hue","une minute","_milliseconds","%d ثوان","[A-màireach aig] LT","ani","Get-vRAContent Get-vRAContentData Get-vRAContentType Get-vRACustomForm Get-vRAEntitledCatalogItem Get-vRAEntitledService Get-vRAEntitlement Get-vRAExternalNetworkProfile ","Android","openOnHoverEnabled","viensas secunds","mw-question-division-builder.html","__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert ","continue create debug declare delete disable dlibrary dllcall do dos ed edit else ","socket closed","^\\s*","accusative","empty-cells","dddd, D [a viz] MMMM YYYY HH:mm","background-color","%d xhur","getLocale","soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read","camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget ","hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 ","mids","stateQueue","beforeDataLimits","sleeping","iap_ev_consume iap_ev_restore iap_storeload_ok iap_storeload_failed ","MaxListenersExceededWarning","dynamicHeight","EthernetServer EthernetClient LiquidCrystal ","1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월","HOME","md-icon ~ ","vertex_float2 vertex_float3 vertex_float4 vertex_ubyte4 ","wdtFloat ","readBytes readLines reverse reverseEach round size sort splitEachLine step subMap ","%d वर्ष","mdpClock","isBuffer","dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays ","#9900CC","window_views_mouse_get_y audio_listener_position ","stretchTabs","%d سيڪنڊ","DDDo","SYSRES_CONST_ACTION_TYPE_CHANGE_KIND ","bool break call callexe checkinterrupt clear clearg closeall cls comlog compile ","%d စက္ကန့်","$translatePartialLoader","ngSwitchDefault","mdThemable",";id=","toasty-shake","#607d8b","dayOfYear","instances","colors","SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE_ACTION ","cleanupBackdrop","angleLines","#FF00CC","get_source_file_property get_target_property get_test_property include_directories ","типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы ","fullWidth","prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux ","setScrollSize","destroyTransaction","labelMoments","ui.router.init","[^A-Za-z0-9_ \t\\->]","FORMLIST_NAME ","findFocusTarget","#fff","uibProgressConfig","sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable ","into join let match max min on order parent protected provide public ","icEDocRequisiteChangeEventHandler ","SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd ","SYSRES_CONST_ACTIVE_VERSION_STATE_PICK_VALUE ","بىر ئاي","январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри","MatrixView.formItem.config.required","un anno","engine","SYSRES_CONST_ITALIC_LIFE_CYCLE_STAGE_DRAW_STYLE ","data-clipboard-","beforeTickToLabelConversion","rgba(0, 0, 0, 0)","onBufferInputEvent","SYSREQ_EDOC_STORAGES_SHARED_SOURCE_NAME ",'"></span>',"translateSanitizeStrategy","trap umask unset ","NOTICE_BLOCK_ATTACHMENT_PROPERTY ","isPromise","[*-[]","ds_priority_change_priority ds_priority_find_priority ","zoneName","disableParentScroll","aria","MMMM D, YYYY","days","unu monato","MMMM yyyy","let in if then else case of where do module import hiding ","printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp ","_animateClose","' title=':","fill","SYSTEM_USER_CODE ","mdColorPickerHue","mdHead","Start-VsanClusterRebalance Start-VsanEncryptionConfiguration Stop-CIVApp Stop-CIVAppGuest Stop-CIVM Stop-CIVMGuest Stop-SpbmReplicationTestFailover Stop-Task Stop-VApp Stop-VM ","package","ur vunutenn","md-dialog-focus-trap","physics_particle_set_gravity_scale network_create_socket ","bⓑｂḃḅḇƀƃɓ","dcl","move-right","_localMediaStreamLocallyGenerated","एक बर्ष","listitem","rid:%s %s","%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif ","mdPanel: MdPanel Animations failed. Hiding panel without animating.","mousemove touchmove","@encode @package @import @defs @compatibility_alias ","SYSREQ_USER_GROUPS_GROUP_FULL_NAME ","Android.* A78 ","ldctWizard ","dseBeforeOpen ","initialize","osù %d","Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait","cleanupBlocks_","СпрТблСтрСозд ","stringular","\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b","[*_]{2}.+?[*_]{2}","defaultTo","border-left-width","unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ","; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan ","onElementReady","sound","[i morgen kl.] LT","[Вчера во] LT","SLIDE","steam_get_user_account_id steam_ugc_download steam_ugc_create_item ","GML",'<form name="editDialog" layout="column" ng-submit="submit(model)">',"SYSRES_CONST_DATA_TYPE_REFERENCE ","pragma ifdef ifndef include","false synchronized int abstract float private char boolean static null if const ","md-pagination-wrapper","ev_global_gesture_drag_start ev_global_gesture_dragging ","TAB","[object Symbol]","СпрТблСтрМакс ","YYYY/M/D",":focus"," lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub","isoWeeksInISOWeekYear","packet","fontColor","%d နာရီ","mdMenuCtrl","majors","228b22","pluginService","en mesec","SYSRES_CONST_FOLDER_TYPE_COMPONENT ","currentDate","clampDate","createRandomToken","extendWith","[#-[]","[object Function]","iso val tag trn box ref","1 天","uma semana","traceViewServiceUIViewEvent","%d မိနစ်","yml","onHandshake","[DaHjaj] LT","ideoneEmbed","%d 周","artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu ","_n_ _name_ _null_ _numeric_ _user_ _webout_","SYSRES_CONST_COMPONENT_TYPE_REPORTS ","uibPopoverHtml","hatching_chick","mouseup touchend touchcancel","uibTimepickerConfig","scaled_inv_chi_square exponential inv_gamma weibull frechet ","макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson ","$stateChangeCancel","canTriggerDynamicSimulation canUnloadInCombat canVehicleCargo captive captiveNum cbChecked ","waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour ","invalid WebSocket URI scheme: ","сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы ","getAsync","onBefore","[!-~]","%d h~óúrs","wsbNotice ","textareaView","octopus","جوان","md-edit-dialog-backdrop","floatItemUp","access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit ","SUBTASK_BLOCK_STANDARD_ROUTE_PROPERTY ","toSafeInteger","#e0e0e0","<!DOCTYPE","addImage","<md-dummy-tab ","e-mail","app/directives/radio-button-item/radio-button-view.html","pause","$md.dragend","gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits ",'    <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n',"calendarScroller","Remove-NsxLogicalRouter Remove-NsxLogicalRouterBgpNeighbour Remove-NsxLogicalRouterBridge Remove-NsxLogicalRouterInterface Remove-NsxLogicalRouterOspfArea ","tzl","gpu_get_tex_mip_enable_ext gpu_push_state gpu_pop_state ","wa’ rep"," exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum","lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn ","md-panel _md-panel-offscreen","dddd, D MMMM YYYY р., HH:mm","ទី%d","rgb(245, 245, 0)","  Only numeric values are allowed as `timeout`.\n","enableChipEdit","listenerCount",'<div class="progress">\n',"toJSON","-MM-DD[T]HH:mm:ss.SSS","IWorkDescription ","more than one Via header field present in the response, dropping the response","wfepText3 ","<md-dialog-content>","md-row-height","size","типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления ","md-no-float","keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase ","END-ISO-10303-21;","\\$[A-Za-z0-9_]+","retry_after","SYSRES_CONST_EXPORT_LOCK_TYPE_WITH_LOCK ","layer_instance_get_instance instance_activate_layer ","rtcp:%d %s IP%d %s","removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons ","usePointStyle","[\\$\\w_][\\w_-]*","#FFCC00","фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs ","buildCalendarForMonth","hms|hosthelp|hour|ibessel|index|indexc|indexw|input|","typeaheadAppendTo","oss0","__FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ ","assertFn","%d saat","reloadOnSearch","жк_дй_сй_ср_бй_жм_сн","Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari","tractor","onconnecting","%d weken","chartArea","-import -include -include_lib -compile -define -else -endif -file -behaviour ","_rtcOfferConstraints","IListBox ","emitting event %j","selectDate","sync","single","(?!_)","ExpansionPanel '{0}' is not available! Did you use md-component-id='{0}'?","hasMicrophone","toasty-theme-","physics_particle_group_begin physics_particle_group_circle ","Details: https://material.angularjs.org/latest/api/service/$mdToast#mdtoast-simple",'      <div ng-if="!matchClass && result.description && result.description != \'\'" class="angucomplete-description">{{result.description}}</div>',"%d مىنۇت","a8m.strip-tags","bir oy","audio_resume_sync_group audio_sync_group_get_track_pos ","mdMonthBodyCtrl","[امروز ساعت] LT","_loopId","tickWidth","SYSRES_CONST_OURFIRM_VAR ","SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION ","_reverseXPosition","IPropertyChangeEvent ","propertyOf","sekúnda","clientHeight","setRequestHeader","material.components.whiteframe","stars","DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance DistanceGeodetic Distinct ","недеља_понедељак_уторак_среда_четвртак_петак_субота","SUBTASK_BLOCK_UNLOCK_ATTACHMENTS_ON_STOP_PROPERTY ","loop namespace_using output_none portal private protect records ","Opera Mini/[VER]","D MMMM YYYY р.","'[A-Za-z](_?[A-Za-z0-9])*","unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent ","INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",'("]',"SYSRES_CONST_TEST_EDMS_MAIN_DB_NAME ","none","selectedOptions","phy_particle_flag_water phy_particle_flag_zombie ","border-image-repeat","SYSRES_CONST_EDOC_STORAGE_EDIT_IN_STORAGE_REQUISITE_CODE ","valanda_valandos_valandą","ITaskDescription ","SYSREF_REPORTS ","be used for multiple requests. If you are looking for a way to cancel ","arrow_left","gridster-resized","setMarkerCenter",".md-input-message-animation","kissing_cat"," trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars","map max maxElement min minElement numericCast overlaps partition posix ","%d дена","contrastStrongLightColors","transparent","mousemove","bnf","no model provided","etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut ","hsv","bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership ","जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर","SYSRES_CONST_SECTION_REQUISITE_DETAIL_6_VALUE ","removeResizeListener","_$$rAF","РазнРабВремя ","scissors","BrowserLocationConfig","ev_global_gesture_pinch_out ev_global_gesture_pinch_end ","DirectoryExists ","احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت","IEDocumentEditor ","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION_CODE ","narrow","view_set_yport view_set_wport view_set_hport view_set_surface_id ","ek dis","%d anni","material.core.theming","[फाटलो] dddd[,] LT","deciduous_tree","kebabCase","lastLeft","railXMarginWidth","sideChat sideEnemy sideFriendly sideRadio simpleTasks simulationEnabled simulCloudDensity ","pár sekund","ondecoded"," %c","heavy_dollar_sign","easeInBounce","__proto__","ⴰⵢoⵓⵔ","viewBox","[a-zA-Z][a-zA-Z_0-9]*","способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter ","onlyBinaryUpgrades","выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода ","mandatory","minute","left","runShellCommandAsynchronously analogWriteResolution ","updateLocale","$parsers","getBaseHref","SUCCESS","urlRuleFactory","_isReadyToReOffer() | internal WebRTC status not ready","Copy-VDisk Copy-VMGuestFile Debug-Runspace Disable-NsxEdgeSsh Disable-RunspaceDebug Disable-vRNIDataSource Disconnect-CIServer ","alias bind builtin caller command declare echo enable help let local logout mapfile printf ","IWizardParam ","loadfile loadstring module next pairs pcall print rawequal rawget rawset require ","setElementSizeY","nav-left","%d monatoj","'ıncı",'scrolling="no" ',"режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов ","showUser","Unsupported core-js use. Try https://npms.io/search?q=ponyfill.","text-overflow","ev_global_gesture_rotate_start ev_global_gesture_rotating ","_xScale","z9hG4bK","конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных ","a8m.math.min","ett år","_videoMuted","ceISB ceAlways ceNever ","ভোর","$mdSelect.disabled","MdContactChipsCtrl"," mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions","=?mdIsOpen","uibProgress","sip_uri","CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b","curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea ","small_red_triangle_down","ds_list_size ds_list_empty ds_list_add ds_list_insert ","AltState "," is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate","#CC0066","1e90ff","SEARCH","режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных ","-chip-","isRelative","mdRow","Get-PSReadLineKeyHandler Get-PSReadLineOption Get-PSRepository Get-PSTopConfigurationName Get-PSVersion Get-Package Get-PackageProvider Get-PackageSource Get-PassthroughDevice ","ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere ","HHmm","[ikte ti] LT","icWorkflowBlockActionHandler ","shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField ","mdStartIndex","fontSize","registerLanguage","camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest ","JOB_BLOCK_CREATED_JOBS_PROPERTY ","include line nounconnected_drive pragma resetall timescale ","dakika %d","inLabelRange","\\\\\\n","From","اپریل","ИндикаторЗакрыть ","enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist ","deleteCollection deleteEditorObject deleteGroup deleteGroupWhenEmpty deleteIdentity ",'"render"',"ngDisabled","IHyperLinkControl ","mwForm.pageEvents.changePage","leftwards_arrow_with_hook","receiveResponse",") for parameter '","MMMM D. [b.] YYYY [ti.] HH:mm","SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION_CODE ","ps1","[Dziś o] LT","_set","EAC","shocked","addPreset",'    <md-icon md-svg-icon="navigate-next.svg"></md-icon>\n',"$new","hljs-","select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug ","%d tinyanga","^simulcast:","traceUIViewFill","한 시간",'It cannot also have "view properties" at the state level.  ',"BACKSLASH_ESCAPE","buttons","_reconnectionDelayMax","SUPERSEDED","each in with if else unless bindattr action collection debugger log outlet template unbound view yield lookup","wdtFolder ","polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex ","integer real text name boolean symbol infix prefix postfix block tree","ambulance","floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC ","pastFuture","hylang","Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2","inform7","skull","режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов ","link","updateLayout","sql","missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual ","ایک منٹ","proxy-authenticate","mdSubheader","dispatchDragMove","camera_destroy camera_apply camera_get_active camera_get_default ","ngDblclick","autoMatch",".md-errors-spacer","dismissHint","nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads ","en-au","reconstructor","_findTab","SYSRES_CONST_REQUISITE_SECTION_TABLE13 ","SCRIPT_BLOCK_NAME_PROPERTY "," poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part","python","1989-01-08","CHECK_RECORD_INTERVAL_RULE_ID ","updatePageFlow","<div>","typeaheadIsOpen","stepSize","useUpdate","reltime cursor tabpagenr finddir localtime acos getloclist search ","tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 ","#999","ratio","AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks ","(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|","pan-y","диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление ","dddd, D [de] MMMM [de] YYYY HH:mm",":not(svg) > body","WebSocket abrupt disconnection","SYSREQ_UNIT ","uibSlide","string_format chr ansi_char ord string_length string_byte_length ","asmAsLastTime ","wsbSubTask ","दिउँसो","isTypedArray","pc lr sp ip sl sb fp ","Invalid offsets specified. Please follow format <x, y> or <n>","@mdContactEmail","dseOnAnyRequisiteChange ","getCurrentPath","traffic_light","ur miz","truncate under union unique unknown unnest unset update upsert use user using validate value ","fire","      {{ toast.action }}",'<div class="_md-panel-focus-trap" tabindex="0"></div>',"showInOpen","isByUserSettings ","rgba(255,255,255,0.7)","_localMediaStream","gpu_set_tex_max_mip gpu_set_tex_max_mip_ext gpu_set_tex_max_aniso "," undefined 'sockets' argument","sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow ","Время ","$id","dragon_face","SYSRES_CONST_ACTION_TYPE_MARK_AS_READED ","onPacket","Import-PackageProvider Import-PowerShellDataFile Import-SpbmStoragePolicy Import-VApp Import-VMHostProfile Import-vRAContentData Import-vRAIcon Import-vRAPackage ","btOnly ","@babel/helpers - typeof","_days",'ng-blur="ctrl.setFocused(false)" ',"format","$mdpTimePicker"," - ","ELEMENT_MAX_PIXELS","isCalendarOpen","Chips container with autocompletion. Enter the text area, ","static implements enum export import declare type namespace abstract ","[Q]Q - YYYY","EDOC_VERSION_DESIGN_STAGE_CODE ",'<option ng-value="',"_weekdaysShort"," draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring","if_false if_null if_true loop_abort loop_continue loop_count params ","removeBar","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION_CODE ","false true null","ev_joystick2_button8 ev_outside ev_boundary ev_game_start ",'<div ng-click="close(toast.id)" class="close-button" ng-if="toast.showClose"></div>',"setHeight","samesite","[síðstu] dddd [kl] LT","રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ","$watchGroup"," alias allroots alphacharp alphanumericp amortization %and annuity_fv","since","NOTICE_BLOCK_DEADLINE_PROPERTY "," colorbox columns commutative complex cone context contexts contour contour_levels","_anyListeners","(list|create|get|set|delete)-(\\w+)","[a-z][a-zA-Z0-9_]*","Unsafe use of typeahead please use ngSanitize","Animate out","user-select","\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b","effectAllowed","magenta","pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend ","isRemoteStreamProcessingSupported","ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY","constrainValue constructionHistory container containsMultibyte contextInfo control ","_dynConfiguration","defaultViewBoxSize","inputHasFocus","finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar ","setMaxListeners","tabReplace",'src="https://player.twitch.tv/?channel=',"ps-x-reach-start","'md-active':        tab.isActive(), ","день","TIMEOFDAY TRANSACTION_TIMESTAMP|10 ","bars","endsWith","SYSRES_CONST_INTEGER_TYPE_CHAR ","achievement_show_purchase_prompt network_socket_tcp ","network_socket_udp network_socket_bluetooth network_type_connect ","декілька секунд","#FF0000","päivää","ddaView ddaEdit ","$templateFactory","yield finally","СоздатьСправочник ","styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień","isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDamageAllowed isDedicated ","material.components.expansionPanels","dⓓｄḋďḍḑḓḏđƌɖɗꝺ","tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu",'<md-tabs-dummy-wrapper aria-hidden="true" class="md-visually-hidden md-dummy-wrapper"> ',"notebook_with_decorative_cover","svh","columns","uib/template/popover/popover.html","__bridge __bridge_transfer __bridge_retained __bridge_retain ","onAdded","addInterpolation","assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface ","love_letter","of off on operator option optional or order orelse overloads overridable overrides ","hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list ","renderGlobalsNode renderInfo renderLayerButton renderLayerParent ","søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag","Socket","samp,small,span,strike,strong,sub,sup,time,tt,u,var","མཚན་མོ","@mdInputMinlength","_mode","CrMo/[VER]","%d สัปดาห์","SwipeRight","SYSRES_CONST_USER_CERTIFICATE_THUMBPRINT_REQUISITE_CODE ","abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy ","getValueCount","auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set ","double"," sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1","<\\?","gpu_set_tex_repeat_ext gpu_set_tex_mip_filter ","span","checkboxesItem","sanitizeHtml","setSize","atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid ","selectedAnswers","clksrc","refresh","superseded","$$isolateBindings","</li>","model.localizationMap will be removed from model on next rlease, please use root config e.g. $mdDateRangePicker.show({localizationMap}) instead",'  <div class="label">{{$pagination.min()}} - {{$pagination.max()}} {{$pagination.label.of}} {{$pagination.total}}</div>\n',"isUndefined","runIfNotInDigest","YYYY/MM/DD","SYSRES_CONST_GROUP_SERVICE_CATEGORY_FIELD_VALUE ","caseInsensitive","einer Woche","Error","ngChecked","[object Arguments]","scale","isWeakMap","SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION_CODE ","Feabhra","iter iterable? iterate iterator? keyword keyword? lambda last len let ","graph","фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент ","#673ab7","한 달","parent bandwidth default min max qlimit","mdAutoSelect","buildOrUpdateElements","blockTransitions","SET_OURFIRM_BOUNDS_RULE_ID ","SYSREQ_DATE_CLOSE ","400 500 600 700 A200 A400 A700"," integrate intersect intersection intervalp intopois intosum invariant1 invariant2","UpperCase ","00ff7f","column-count","lastPage","badargs","firefox","hide","Ka_Nt_Ta_Ar_Al_Ju_Si","md-calendar-label-clickable","sum","#00695c","Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr","SYSRES_CONST_ATTACH_TYPE_DOC ","receiveBuffer","Object ","ui.bootstrap.stackedMap","mwFormQuestion","resetInputFocused","'uncu","inherits","startingDay","niceNum","एका मिनिटा","janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris","sec","$translateChangeSuccess","getMatchingHooks","watermelon","useOnRemove","always","GridsterCtrl","passport_control","определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom ",'<span ng-class="{ \'active\': timepicker.currentView == timepicker.VIEW_MINUTES }" ng-click="timepicker.currentView = timepicker.VIEW_MINUTES">{{ timepicker.time.format(timepicker.minutesFormat) }}</span>',"hyphens","1時間","dateparser:","jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets","he marama","MSPOINTER_TYPE_MOUSE","interpolationFactoryAdder",".md-track-fill",'#[pr]x"','  <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>\n',"CreateTreeListSelectDialog ","rowCount","$view"," poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal","SQRT2","поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода ","smCard ","monthsShortRegex","rgbToRgba","extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"," var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform","=?mdSelectedItem","scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor ","_aborted","%d Joer","aside","An t-Sultain","SYSREQ_REF_TYPE_MAIN_LEADING_REF ","#available #colorLiteral #column #else #elseif #endif #file ","cascade","STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE "," aastat","edsfExecutive edsfArchive ","getDirection()","hgroup","SYSRES_CONST_ROUTE_TYPE_COMPLEX ","_relativeToEl"," цагийн","காலை","sendBuffer","border-image","contains",".md-secondary","question","получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу ","sha1_string_utf8 sha1_file os_powersave_enable analytics_event "," png_file pochhammer_max_index points pointsize point_size points_joined point_type","ìsẹjú %d","useCookieStorage","SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT ","_registeredHooks","fqn","$$rowSelect","zephir","PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection ","from +","setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData ",'md-item-size="',"sprite_delete sprite_set_alpha_from_sprite sprite_collision_mask ","system","%d վայրկյան","massage","nor noshowcancelled not notif0 notif1 or output package packed parameter pmos ","ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE ","jeans","%d emahora","%s前","Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance ","wheelSpeed","webkitTransitionEnd","CENTER","emImportWithUnlock ","SYSRES_CONST_REQUISITE_SECTION_TABLE19 ","getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods ","\\b(sub)?type\\s+","ByRef Case Const ContinueCase ContinueLoop ","hasTheme","=mdDebounceInterval","paused","typeaheadOnSelect","disconnect","%s കഴിഞ്ഞ്","[прошле] [суботе] [у] LT","31st","kolmen","offsetX","icEDocMethod ",'<p ng-if="!autoConfirm" layout="row" layout-align="end center">',"[Šodien pulksten] LT","Invalid date","\\*\\s","__retries","Buffer","cmake","\\b(","#66bb6a","ptime:%d","renderTokens","layoutAlignLtMd","vertex_format_add_color vertex_format_add_normal ","ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ","HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId ","MimeEncodeBinary ","string-ci<? string-ci=? string-ci>=? string-ci>? string-copy ","fromTimezone","ФмтДат ","КодВидСпрПоИД ","[В прошлую] dddd, [в] LT",'    <md-input-container md-no-float ng-if="::dialog.$type == \'prompt\'" class="md-prompt-input-container">',"D.F.","ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ","minSelections","c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor ","sø._ma._ti._on._to._fr._lø.","päivän","$mdInteraction"," geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string","itemsExpr","सुबह","СумПроп ","gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters ","buffer_set_surface buffer_delete buffer_exists buffer_get_type ","ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན","RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED ","._md-css-variables","sup","nextWeatherChange nMenuItems not numberOfEnginesRTD numberToDate objectCurators objectFromNetId ","GetTempFolder ","ལོ་གཅིག","_moveFocus","#comments-start","_isOnscreen","exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp ","Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group","pager","redirectFocus","wfe|wfi|yield","sizer","Polymer","dienos_dienų_dienas","utUnknown ","resendProvisionalTimer","сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования ","physics_particle_delete_region_circle ","_$window","invertSwap","#ffa726","ޑިސެމްބަރު","nine","deferred","status_code",".md-select-menu-container","#ccff90","dir","visibility","fun\\s+","cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver ","процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml ","EDOC_VERSION_OBSOLETE_STAGE_CODE ","layer_sprite_index layer_sprite_speed layer_sprite_xscale ","localhost","en dag","socket.io-client:manager","dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable ","smalltalk","contained by|comes (before|after)|a (ref|reference)|POSIX file|","ФайлВыбрать ","radar","walking","Get-NsxLogicalRouterInterface Get-NsxLogicalRouterOspf Get-NsxLogicalRouterOspfArea Get-NsxLogicalRouterOspfInterface Get-NsxLogicalRouterPrefix ","toHex","OⓄＯÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ","Windows CE","_onMessage","$$uibDatepickerpopupCss",'emit "sdp"',"sendDTMF() | tones: %s","find findstr format ftype graftabl help keyb label md mkdir mode more move path ","Get-SpbmStoragePolicy Get-Stat Get-StatInterval Get-StatType Get-Tag Get-TagAssignment Get-TagCategory Get-Task Get-Template Get-TimeZone Get-Uptime Get-UsbDevice Get-VAIOFilter ","%d mois","mw-form-viewer.html","एका वर्षा","mdPanel: The addClass method is in the process of being deprecated. ","data-id","ugc_match_UsableInGame ugc_match_ControllerBindings  ","=?mdRequireMatch","parsers","[Сегодня, в] LT","SYSREF_AVAILABLE_DEVELOPERS_COMPONENTS ","switchableUnits switchAction switchCamera switchGesture switchLight switchMove ","ResolveContext","deleteOption","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION ","gutter","شهر","0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_","firstChild","filterFilter","setInvalid","getAlpha","_handleSessionTimersInIncomingRequest",": <- Success  ","#FDB45C","useOnAdd","scalar scalars equation equations","[Último] dddd [às] LT",'"tls"',"[Leschte] dddd [um] LT","r16","selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition ","één dag","FOLDER_LINK_KIND ","`[\\s\\S]","SYSRES_CONST_SECTION_REQUISITE_DETAIL_2_VALUE ","rgb(153, 255, 255)","getUTCDate","flowDropEnabled","xdomain","jedna minuta","feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt ","relevance","एक वर्ष","http error","offsetTop","%d ڪلاڪ","md-select","isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow ","dizzy_face","WAIT_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY ",".md-color-picker-container","РеквСпр ","ctGrid ","получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса ","_onDrop","PacketType","_weekdaysMin",")\\s*=>","framerate","$mdColorPalette","Trim ","next until do begin unless nil break not case cond alias while ensure or ","uibModalAnimationClass","true false iota nil","YYYY년 MMMM D일","alias application boolean class constant date file integer list ","dddd, D MMMM YYYY թ., HH:mm","INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE ","artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand ","_nulling","-webkit-user-select: none;","ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ","$$mdMetaProvider","YYYY年M月D日Ah点mm分","SYSRES_SBINTF ","removeWeaponAttachmentCargo removeWeaponCargo removeWeaponGlobal removeWeaponTurret ","Ħa_Tn_Tl_Er_Ħa_Ġi_Si","end of input",'uri="',"mdVisible","thumbnail_medium","%d तासां","nimrod","xahar","transitionTo","endSymbol","#b0bec5","SYSREQ_EDOC_SIGNATURE_TYPE ","%d minut","SYSREF_FUNCTION_GROUPS "," partition_set partpol path_digraph path_graph pathname_directory pathname_name","neutral","wptEDocumentInfoList ","audio_emitter_position audio_emitter_create audio_emitter_free ","SYSREQ_REF_TYPE_REQ_NUMBER ","string_upper string_repeat string_letters string_digits ","clock130","padding","(\\d+)","scrollHeight",'emit "hold"',"buildToPath","toLocaleTimeString","pageup","offsetHeight","nist","Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2","$dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh ","ui.bootstrap.tabindex","%s पहले","%d минут","wfepText6 ","weekYear","pingInterval","bind","рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений ","|Hz|kHz","references reset restrict select set table unique update ","TECNO P9|TECNO DP8D","[prošle] [nedjelje] [u] LT","group","mousedown touchstart","mdMenuItem"," másodperce","wdtFloatCollection ","md-bottom","jinja",'" target="',"=mdpOpenOnClick","SYSRES_CONST_CODE_REQUISITE_RECORD ","flow.init","earth_americas","WebkitTransition","or primitive recover repeat return struct then trait try type until ","collapseAll","focusLastFocusableElement",'"REFER"',"_events","toHsvString","Right","%d ossan","arrow_double_up","{-#","_rules","eos","ng-hide","c71585","IMessagingFactory ","endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix ","Int Real Char Bool",'"\\t"',"isWebSocketsBlocked","dddd, D [de] MMMM [de] YYYY [às] HH:mm"," tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference","[Денес во] LT","plunkerEmbed","Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec","class interface","METHOD_GUARD","'iens mes","onCKEvent","setupAutocompleteAria","else elsif end_keywords endcelldefine endif ifdef ifndef "," defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten","inputContainer","rgb(255, 255, 204)","tlh","xpath","[a-zA-Z_]\\w*[!?=]?","\\b0b([01_]+)","iap_status_available iap_status_processing iap_status_restoring ","frem shl lshr ashr and or xor icmp fcmp ","size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep ","en %s",'class="md-datepicker-input" ',"mousedown touchstart pointerdown","UrlMatcherFactory","select(activeIdx, evt)","bulb","parseInt","vbscript-html","InputDialog ","ada","mdPanel: Group does not exist yet. Call newPanelGroup().","styl",'aria-disabled="{{!$mdTabsCtrl.canPageForward()}}" ',"Stopwatch String StringBuffer StringSink Symbol Type Uri bool double dynamic int num print ","ClipboardJS","eraNarrow","pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos ","miesiąc","SYSREQ_EDOC_STORAGES_FUNCTION ","[վաղը] LT","outerHTML","usePostCompiling","rgb(255, 153, 255)","WeakMap","wdtContents ","hⓗｈĥḣḧȟḥḩḫẖħⱨⱶɥ","lisp","unhold","c_white c_yellow c_orange fa_left fa_center fa_right fa_top ","getComputedStyle","isInitialized","%d секунди","loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log ","assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret ","material.core.interaction","SYSRES_CONST_LILAC_LIFE_CYCLE_STAGE_FONT_COLOR ","embedBasic","Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ","stateOff","unbind","originalCanvasStyleWidth","Set-PackageSource Set-PowerCLIConfiguration Set-ResourcePool Set-ScsiController Set-ScsiLun Set-ScsiLunPath Set-SecurityPolicy Set-Snapshot Set-SpbmEntityConfiguration ","SIPS","constantNames cos date dateFormat decompress difference directories ","_enabled","TIMER_M","[forrige] dddd [kl.] LT","minuta","[Минулої] dddd [","deleteButtonLabel","cached_variants","level","nonnull nullable null_unspecified null_resettable class instancetype ","ng-class=\"{ 'md-disabled': !$mdTabsCtrl.canPageForward() }\" ",";+sip.ice","%sमा","Call-ID: ","[Hieraŭ je] LT","IFormTitle ","def abstract break case catch continue default do else extends final finally ","%d Minuten","uibTab","hoverRow","mdDatepicker","reason","Sath","hslaString","</md-tabs-dummy-wrapper> ","after append apply array auto_execok auto_import auto_load auto_mkindex ","QUOTE_STRING_MODE","uint ulong unchecked unsafe ushort using virtual void volatile while ","_onClose","ngBlur"," DIS","Not Acceptable Here","shader_set shader_get_name shader_reset shader_current ","in %s","on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date ","window_set_caption window_set_min_width window_set_max_width ","SYSRES_CONST_ACTION_TYPE_VERSION_VISIBILITY ","ПользовательСтатус "," + ","/\\$","containerHint","will-change","Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process ","managers","quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint "," ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw","SYSREQ_CONST_AVAILABLE_FOR_WEB ","_url","cronDayName","offsetY","سنة","\\|\\s*","fnToString","receiveNotify","Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd ","menu","catch __METHOD__ case exception default die require __FUNCTION__ ","addsuffix addprefix join wildcard realpath abspath error warning ","smiley_cat","exitValue readGreen writeBlue startLoop IPAddress ","&csvHeader","clip-path"," ars","ttUser ","kebobString","dnevoma","записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom ","type immutable abstract bitstype typealias ","PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW ","_md-panel-animate-scale-out _md-panel-animate-leave","yyyy-MM-ddTHH:mm:ss.sss","&?mdOnRemove","procedure","readOnly","meanBy"," gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command","cry","#b3e5fc","rgb(255, 255, 102)","#6633CC"," translate translate_file transpose treefale tree_reduce treillis treinat","argmemonly double","mdOnLayout","md-autofocus","escape","moment().","Trident/[VER]","SYSRES_CONST_HISTORY_ACTION_DELETE_CODE ","md-expansion-panel-collapsed","mag","SET_IDSPS_VALUE_RULE_ID ","IServiceFactory ","vatlh","splice","_defaultErrorHandler","IObjectInfo ","functional generalize generalizing gfail give_up has_evar hnf idtac in ","zipWith","SYSRES_CONST_EDOC_PASSWORD_ENCODE_CODE ","getCode","transfers","SYSRES_CONST_SEARCHES_EDOC_CONTENT ","__FUNCTION__ __PRETTY_FUNCTION__ __attribute__ ","HTML","^\\[.+?\\]$","_prepareContentElement","ds_type_map ds_type_list ds_type_stack ds_type_queue ds_type_grid ","prepend","mozCaptureStream","bad ack %s","JsSIP:InviteServerTransaction","IComponentTokenFactory ","ef_snow pt_shape_pixel pt_shape_disk pt_shape_square pt_shape_line ","unwind unreachable indirectbr landingpad resume ","labelRotation","Unsafe and unexpected non-number result for newUid.","md-switch","@mdMode","toLower","hookPhase","polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut ","focus","SYSRES_CONST_EXPORT_VERSION_TYPE_LAST_ACTIVE ","%s ó shin","md-no-flex","\\b(?:state|default)\\b","НачТран ","flexOrderLtLg","\\s|{|;","HH:mm","rules","builder","An Giblean","jvm dotnet safe unsafe family forall mdo proc rec","IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME ","get_node","ng1ViewsBuilder","network_config_enable_reliable_udp ",'createLocalDescription() | invalid type "',"wⓦｗẁẃŵẇẅẘẉⱳ",";domain=","_md-chip-content-edit-is-enabled","КолПодстр ","unitScale","escape filter first format inky_to_html inline_css join json_encode keys last ","[Кечээ саат] LT","def","php3","ideograph_advantage","tags","VIEWCONFIG: ","appVersion","opening %s","SYSRES_CONST_EXPORT_VERSION_TYPE_ASK ","_quote","centerPointFor","[\\[\\]\\|\\$\\?%,~#@]","$$mdHandle","ПользовательИД ","push_get_first_local_notification push_get_next_local_notification ","a minute",".md-fab-action-item","એક કલાક","selectionStart","STATUS_PROCEEDING","datepicker-options","диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания ","[u] [subotu] [u] LT","SYSRES_CONST_SYSTEM_SETTING_CURRENT_USER_PARAM_VALUE ","([eE][-+]?\\d+)?","%d सेकंद","induction injection instantiate intro intro_pattern intros intuition ","#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?","наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед ","md-selected","abstract as async await become box break const continue crate do dyn ","getSelectableRows","$mdMenu.show() expected a target to animate from in options.target","STATUS_CONNECTED","copyright","hasTransitions","and include_once list abstract global private echo interface as static endswitch ","pong","RIGHT_ARROW","_is_replied","browserLanguage","dalam %s","dddd","borderTopWidth","[a-zA-Z]",'      <md-chips class="md-contact-chips"          ng-model="$mdContactChipsCtrl.contacts"          ng-change="$mdContactChipsCtrl.ngChange($mdContactChipsCtrl.contacts)"          md-require-match="$mdContactChipsCtrl.requireMatch"          md-chip-append-delay="{{$mdContactChipsCtrl.chipAppendDelay}}"          md-separator-keys="$mdContactChipsCtrl.separatorKeys"          md-autocomplete-snap>          <md-autocomplete              md-menu-class="md-contact-chips-suggestions"              md-selected-item="$mdContactChipsCtrl.selectedItem"              md-search-text="$mdContactChipsCtrl.searchText"              md-items="item in $mdContactChipsCtrl.queryContact($mdContactChipsCtrl.searchText)"              md-item-text="$mdContactChipsCtrl.itemName(item)"              md-no-cache="true"              md-min-length="$mdContactChipsCtrl.minLength"              md-autoselect              ng-keydown="$mdContactChipsCtrl.inputKeydown($event)"              placeholder="{{$mdContactChipsCtrl.contacts.length === 0 ?                  $mdContactChipsCtrl.placeholder : $mdContactChipsCtrl.secondaryPlaceholder}}">            <div class="md-contact-suggestion">              <img                   ng-src="{{item[$mdContactChipsCtrl.contactImage]}}"                  alt="{{item[$mdContactChipsCtrl.contactName]}}"                  ng-if="item[$mdContactChipsCtrl.contactImage]" />              <span class="md-contact-name" md-highlight-text="$mdContactChipsCtrl.searchText"                    md-highlight-flags="{{$mdContactChipsCtrl.highlightFlags}}">                {{item[$mdContactChipsCtrl.contactName]}}              </span>              <span class="md-contact-email" >{{item[$mdContactChipsCtrl.contactEmail]}}</span>            </div>          </md-autocomplete>          <md-chip-template>            <div class="md-contact-avatar">              <img                   ng-src="{{$chip[$mdContactChipsCtrl.contactImage]}}"                  alt="{{$chip[$mdContactChipsCtrl.contactName]}}"                  ng-if="$chip[$mdContactChipsCtrl.contactImage]" />            </div>            <div class="md-contact-name">              {{$chip[$mdContactChipsCtrl.contactName]}}            </div>          </md-chip-template>      </md-chips>',"list-style","click touchstart","a8m.math.kbFmt","Moz","UNIX","_registered","onOpen","restrictX","[\\w\\d]","Жек_Дүй_Шей_Шар_Бей_Жум_Ише","ui.bootstrap.multiMap","accent","newReader newWriter next plus pop power previous print println push putAt read ","pageElement","წლის წინ","SYSRES_CONST_MAXIMIZED_MODE_NAME ","wdtEDocumentCollection ","ugc_match_Videos ugc_match_Screenshots ugc_match_AllGuides ","DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetByAssociation FeatureSetById FeatureSetByPortalItem ","TO_ASCII TO_HEX TRANSLATE ","part_type_gravity part_type_colour1 part_type_colour2 ","dienas_dienām_diena_dienas","IImageControl ","pooledBlocks","image_xscale image_yscale image_angle image_alpha image_blend ","New-VICredentialStoreItem New-VIInventoryDrive New-VIPermission New-VIProperty New-VIRole New-VISamlSecurityContext New-VM New-VMHostAccount New-VMHostNetworkAdapter ","januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december","font-weight",'" frameborder="no" allowtransparency="true" allowfullscreen="true"></iframe>',"^^mdCalendarMonth","[आयज] LT","isNewItem","Windows 98","mathematica","contentEditable","SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_NAME ","enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot ","if else elseif end region externalsource","(.*)","path_flip path_rotate path_rescale path_shift script_execute ","минуту_минуты_минут","$mdEditDialog","augment augmentation each find filter reduce ","\\B'(?!['\\s])","Nintendo (3DS|Switch)","array","\\bMercury\\b","INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 ",'md-virtual-repeat="i in monthCtrl.items" ',"refer","vertex_type_ubyte4 layerelementtype_undefined ","ng-animate-ref","popupClass","when","require","ok_hand","chartInstance","tiles","initDate","ui.bootstrap.debounce","$$animateJsDriver","InputView","YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE ","%d ditë","bindTopIndex","СпрПолеИмя ","room_set_camera asset_get_index asset_get_type ","major","rgb(0, 255, 128)","ICheckPointedList ","_md-chip-editing","dancers","21st","[^\\s]",'  <md-button class="md-icon-button" type="button" ng-if="$pagination.showBoundaryLinks()" ng-click="$pagination.last()" ng-disabled="$pagination.disabled || !$pagination.hasNext()" aria-label="Last">\n',"cronService","isKeynavEnabled","ngSortable","_md-datepicker-has-triangle-icon","StateService","'inji","تشرینی دووەم",": Ignored  <> ","getMaximumWidth","1926-12-25","toggleEvent","<md-button","a8m.before-where","[Ohin iha] LT"," > 4096 bytes)!","hurtrealbad","a8m.match","registerFooter","%d veker","বিকাল"," pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t",'(u8?|U|L)?"',"SYSREQ_REF_REQ_SECTION ","IContents ","column-reverse","Yellow Yesterday YuleDissimilarity","_translateX","расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии ","студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня","Set-VMHost Set-VMHostAccount Set-VMHostAdvancedConfiguration Set-VMHostAuthentication Set-VMHostDiagnosticPartition Set-VMHostFirewallDefaultPolicy Set-VMHostFirewallException ","D MMMM YYYY, A h:mm बजे","SYSRES_CONST_USERS_REGISTRATION_CERTIFICATES_ACTION_NAME ","sctpmap:%s %s %s","minuutti","SYSRES_CONST_FILTER_REQUISITE_CODE ","__float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ ","makeTargetState","TOP","asMilliseconds","angular-translate/service: getLocale","%d महिने","rest","sortableMouseAligned"," random_graph random_graph1 random_gumbel random_hypergeometric random_laplace","IECertificateInfo ","bundleOnly","ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ","md-no-tab-content","segundu %d","ViewService: No view config factory registered for type ","f5deb3","(\\s*\\(.*?\\))?[;{]","THROW_ERROR",'      <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n',"minDistance",'<meta name="',"xLabels","Camera ","отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы ","afterCalculateTickRotation","object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position ","part_system_get_layer part_system_layer part_particles_create ","traceHookInvocation","$$nextSibling","rtcp-fb:%d trr-int %d","SYSRES_CONST_ADITIONAL_JOB_READ_REQUISITE_NAME ","modelBinding","СтрВерхРегистр ","repeat exit and or xor not return mod div switch case default var ","CERTIFICATE_TYPE_SIGN ","parameter_count parameter_string environment_get_variable ","maxDistance","mwFormBuilder","is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of","begin","golf","Get-VmcSddcNetworkService Get-VmcService Get-VsanClusterConfiguration Get-VsanComponent Get-VsanDisk Get-VsanDiskGroup Get-VsanEvacuationPlan Get-VsanFaultDomain ","पहाटे","^\\*(\\w+|@)","toRgb","mediaDevices"," ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic","useInterpolation","mdAutoFocus","mdSelectedNavItem","=ngModel","createMetaData","კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს","DOMParser","[прошлог] [уторка] [у] LT","module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ","Invalid tags: ","phy_debug_render_obb phy_debug_render_shapes  ","match","When md-on-demand is enabled, the Object passed to md-virtual-repeat must ","שנה","rage2","pub_gruu","instance","directionX","no Contact header in response to REGISTER, response ignored","truck","require_det require_semidet require_multi require_nondet ","Get-VsanSpaceUsage Get-VsanStat Get-VsanView Get-vRAApplianceServiceStatus Get-vRAAuthorizationRole Get-vRABlueprint Get-vRABusinessGroup Get-vRACatalogItem ","SUBTASK_BLOCK_BEFORE_START_EVENT ","_targetState","mapKeys","colWidth","ddd",'<div class="uib-position-scrollbar-measure"></div>',"_titleFontStyle","\\-\\->","move-row-down","asc","color: inherit","SYSRES_CONST_TASK_TYPES_REFERENCE_CODE ","КонстЗнач ","mozMatchesSelector","setDefaultNextPage","[.]{3}","mdOption","abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,","%d месеца","getCurrentIndex","#00e5ff","IConnection ","headerize","aria-valuemin",'<md-dialog md-theme="{{ dialog.theme || dialog.defaultTheme }}" aria-label="{{ dialog.ariaLabel }}" ng-class="dialog.css">',"btnCheckboxTrue","finally",'"user="',"uuid:","einem Jahr","twttr","displayName","backgroundHues","instance_id","isPreview","readAccelerometer messageAvailable sendDigitalPorts ","lastInteractionTime","applescript","DefType","CONFIG","></div>\n","wfepText18 ","форматкартинки ширинаподчиненныхэлементовформы ","Transport is already connected","this hasn't been initialised - super() hasn't been called","일 년","неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота","hasParam","defaultColor","sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone ",'"timeout"',"hace %s","appendToOpenClass","_error","for","blush","a8m.ucfirst","%d 天","#ff6e40","vertex_create_buffer_from_buffer ","@?mdDropdownPosition","isSafeInteger","focusedNode","closeMediaStream","first_quarter_moon","paging","Get-NfsUser Get-NicTeamingPolicy Get-NsxApplicableMember Get-NsxApplicableSecurityAction Get-NsxBackingDVSwitch Get-NsxBackingPortGroup Get-NsxCliDfwAddrSet ","Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TableViewBoxBackground TableViewBoxOptions TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeDrop TakeLargest TakeLargestBy TakeList TakeSmallest TakeSmallestBy TakeWhile Tally Tan Tanh TargetDevice TargetFunctions TargetSystem TargetUnits TaskAbort TaskExecute TaskObject TaskRemove TaskResume Tasks TaskSuspend TaskWait TautologyQ TelegraphProcess TemplateApply TemplateArgBox TemplateBox TemplateBoxOptions TemplateEvaluate TemplateExpression TemplateIf TemplateObject TemplateSequence TemplateSlot TemplateSlotSequence TemplateUnevaluated TemplateVerbatim TemplateWith TemporalData TemporalRegularity Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge TestID TestReport TestReportObject TestResultObject Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCases TextCell TextClipboardType TextContents TextData TextElement TextForm TextGrid TextJustification TextLine TextPacket TextParagraph TextPosition TextRecognize TextSearch TextSearchReport TextSentences TextString TextStructure TextStyle TextTranslation Texture TextureCoordinateFunction TextureCoordinateScaling TextWords Therefore ThermodynamicData ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreadingLayer ThreeJSymbol Threshold Through Throw ThueMorse Thumbnail Thursday Ticks TicksStyle TideData Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint TimeDirection TimeFormat TimeGoal TimelinePlot TimeObject TimeObjectQ Times TimesBy TimeSeries TimeSeriesAggregate TimeSeriesForecast TimeSeriesInsert TimeSeriesInvertibility TimeSeriesMap TimeSeriesMapThread TimeSeriesModel TimeSeriesModelFit TimeSeriesResample TimeSeriesRescale TimeSeriesShift TimeSeriesThread TimeSeriesWindow TimeUsed TimeValue TimeWarpingCorrespondence TimeWarpingDistance TimeZone TimeZoneConvert TimeZoneOffset Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate Today ToDiscreteTimeModel ToEntity ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase Tomorrow ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform ToPolarCoordinates TopologicalSort ToRadicals ToRules ToSphericalCoordinates ToString Total TotalHeight TotalLayer TotalVariationFilter TotalWidth TouchPosition TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TrackingFunction TracyWidomDistribution TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TrainingProgressCheckpointing TrainingProgressFunction TrainingProgressMeasurements TrainingProgressReporting TrainingStoppingCriterion TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationClass TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField TransformedProcess TransformedRegion TransitionDirection TransitionDuration TransitionEffect TransitiveClosureGraph TransitiveReductionGraph Translate TranslationOptions TranslationTransform Transliterate Transparent TransparentColor Transpose TransposeLayer TrapSelection TravelDirections TravelDirectionsData TravelDistance TravelDistanceList TravelMethod TravelTime TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle Triangle TriangleCenter TriangleConstruct TriangleMeasurement TriangleWave TriangularDistribution TriangulateMesh Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean TrimmedVariance TropicalStormData True TrueQ TruncatedDistribution TruncatedPolyhedron TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBoxOptions TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow TunnelData Tuples TuranGraph TuringMachine TuttePolynomial TwoWayRule Typed TypeSpecifier","icon","C_LINE_COMMENT_MODE","კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ","[Hier à] LT","loudspeaker","Invalid tone: ","SYSRES_CONST_ME_VALUE ",";samesite=","exception external for fun function functor if in include ","SYSRES_CONST_SEARCHES_REFERENCE_CODE ","encoding","7cfc00","getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState ","Deireadh Fómhair","rgb(0, 0, 92)","સવાર",'<div role="tab" id="{{::headingId}}" aria-selected="{{isOpen}}" class="panel-heading" ng-keypress="toggleOpen($event)">\n',"percentString","UibButtonsController","#c5e1a5","[v] dddd [v] LT","sunflower","nestedMenus","#ef5350","lastActivated","which","%d emizuzu","clearErrorState","formatters","ExceptionsOff ","get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity ","recycle","%[Qwi]?<","kuukauden","ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ","mwStartFrom","terminate terrainIntersect terrainIntersectASL terrainIntersectAtASL text textLog textLogFormat "," mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver","peste %s","%d초","index","%d ساڵ","done","[\\.#:&\\[>]","ДлинаСтр ","disableCollisionWith disableConversation disableDebriefingStats disableMapIndicators ","Выполнить ","defaultOptions","deltaK","changeDisplayDate",'"              ng-if="$mdAutocompleteCtrl.loadingIsVisible()"              md-mode="indeterminate"></md-progress-linear>          ',"selectView","calculateBarBase","</md-calendar>","ary","_receiveResponse","conformsTo","rmCard ","copyMode","handleClickNextMonth","typeaheadSelectOnExact","data-ng-repeat","blur touchcancel mouseleave","formatDay","option","md-option-empty","SYSRES_CONST_REQUISITE_SECTION_TABLE9 ","wdtUser ","urami","linkTarget","add","onEnd","mjeseca","\n}\n","escapeOptions","light","SYSREF_EDOCUMENT_CARD_TYPES ","једног сата","gpu_get_colourwriteenable gpu_get_alphatestenable ","offsetLtMd","#69f0ae","ceylon","mdPageSelect","select","_connection","endWrite attached maintain noCursor checkReg ","TB07STA|TB10STA|TB07FTA|TB10FTA","getOptions","engem Mount","%[Qwi]?\\(",'  <div class="md-subheader-inner">',"(e|E|u&|U&)'","switch continue typeof delete debugger case default function var with ","[keçən həftə] dddd [saat] LT","Remove-NsxLoadBalancerApplicationProfile Remove-NsxLoadBalancerMonitor Remove-NsxLoadBalancerPool Remove-NsxLoadBalancerPoolMember Remove-NsxLoadBalancerVip ","[a-zA-Z][a-zA-Z0-9_-]*",".drag-handle","[View#","SYSRES_CONST_ACTION_TYPE_IMPORT_WITHOUT_UNLOCK ","struct enum","material.components.gridList","getUserMedia() failed","RegionTimeSettings ","setPM","rgba(0,0,0,0.54)","&autoplay=0","watcher","autoStart","ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ","list2","audio_group_load_progress audio_group_name audio_group_stop_all ","عامان","8fbc8f","(,|\\n)","updateIndexes_","steam_ugc_query_set_return_total_only ","final","NOTICE_BLOCK_BEFORE_START_EVENT ","pig_nose","IEncodeProvider ","moment.invalid(/* ","mergeR","addResolvable","template-url","tcptype","#f5f5f5","[У] dddd [ў] LT","IServiceDialog ","onProgress","julia-repl","true false null unknown","keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx ","%d minuti",'  <div uib-daypicker ng-switch-when="day" tabindex="0" class="uib-daypicker"></div>\n',"Cannot transition to abstract state '","wptText ","thumbnail","o lună","MQQBrowser/[VER]","all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply ","flatMapDeep","complete_check add getwinposx getqflist getwinposy screencol ","scriptengine split scriptengineminorversion cint sin datepart ltrim sqr ","digamma|dim|dinfo|dnum|dopen|doptname|doptnum|dread|","процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент ","itemText","[Бүгін сағат] LT","HH:mm:ss","NUMBER_RE","see_no_evil","listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory ","r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ","lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow ","SYSREQ_EDOC_VERSION_SIZE ","isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader ",'  <md-select virtual-page-select total="{{$pagination.pages()}}" class="md-table-select" ng-model="$pagination.page" md-container-class="md-pagination-select" ng-change="$pagination.onPaginationChange()" ng-disabled="$pagination.disabled" aria-label="Page">\n',"trim","revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase ","dddd [klo] LT","#CC6633","RESOLVE","ngKeyup","SYSREF_TASK_KINDS ","openscad","ސިކުންތުކޮޅެއް","[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?","$modelValue","mdColorPickerSpectrum","beforeSetDimensions","$translateLoadingError","c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg ","SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION_ACTION ","onpacket","minuuttia","pullMode","dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen ","[Vakar pulksten] LT","loadingAsync","Windows","BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException ","clock830","md-calendar-parent-action"," cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate","abstract alias align asm assert auto body break byte case cast catch class ","FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry ","touchcancel","([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])","Get-OrgVdcNetwork Get-OvfConfiguration Get-PSCurrentConfigurationNode Get-PSDefaultConfigurationDocument Get-PSMetaConfigDocumentInstVersionInfo Get-PSMetaConfigurationProcessed ","useStrategy","\\b(set|list|map)\\s*<","getSelection","methods","load","groups","\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b","buffer_create_from_vertex_buffer ","_referSubscribers","VIEWCONFIG","NG_DEFAULT_TEMPLATE_URL","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/","Timer F expired for transaction ","no_mouth","gpu_get_alphatestref gpu_get_alphatestfunc gpu_get_texfilter ","%d년","acceptAndTerminate()","setSelected","$bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat ","scrollbar","trace track trackCtx transferAttributes transformCompare transformLimits translator ","device_tablet display_landscape display_landscape_flipped ","globals","Year","mdpDatePicker","uib/template/typeahead/typeahead-match.html","moonscript","$stateChangeError","ISO_8601","$coverage_get $coverage_save $set_coverage_db_name $rose $stable $past ","probation","newInfo()","SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_CODE ",'"|\\|',"reduce","peerconnection:createanswerfailed","Unable to find node '{0}' in element '{1}'.","quadraticCurveTo","ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන","Register request in progress...","addOnBlur","flowFactory","buffer_f16 buffer_f32 buffer_f64 buffer_bool buffer_text ","material.components.list","marginBottom","%d 分钟","quoteStrings","ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe ","[गएको] dddd[,] LT","ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ","titleField","RFC_2822","dateUtil","boom","out outer outfile outline output over overflow overriding package pad parallel parallel_enable ","СоздатьКэшированныйСправочник ","ngMessagesInclude","p.t.m.","PATCH","sort start subst time title tree type ver verify vol ","mdCell","x-axis-","withCredentials","_bodyFontStyle","addToGroup","fromData","floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max ","frequency","Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба","aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63","arrow_down","$delegate","layer_tile_blend layer_tile_alpha layer_tile_x layer_tile_y ","isPartAvailable","ng-active","-1000px","parentName","SIP","soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort ","Get-vRNIvCenter Get-vRNIvCenterCluster Get-vRNIvCenterDatacenter Get-vRNIvCenterFolder Grant-NsxSpoofguardNicApproval Import-CIVApp Import-CIVAppTemplate Import-NsxObject ","IDateRequisiteDescription ","อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์","#fafafa","onwheel","এক বছর","@textDelimiter","CSelectSQL ","alltrigger","toasty-new",'<md-input-container class="matrix-container md-block" layout="column"><div class="matrix"><div class="matrix-row" flex="" layout="row"><span class="matrix-cell" flex="20"></span> <span class="matrix-cell matrix-cell-header" flex="" ng-repeat="column in MatrixView.formItem.config.columns track by $index">{{column.value}}</span></div><div class="matrix-row" ng-repeat="row in MatrixView.formItem.config.rows track by $index" layout="row"><span class="matrix-cell" flex="20" layout="column" layout-align="center">{{row.value}}</span><md-radio-group ng-model="row.selected" ng-change="MatrixView._updateValidity()" flex="" layout="row"><span class="matrix-cell radio-button-cell" flex="" ng-repeat="column in MatrixView.formItem.config.columns track by $index"><md-radio-button value="{{column.value}}" aria-label="..."></md-radio-button></span></md-radio-group></div></div><div ng-messages="MatrixView.form.$error"><div ng-message="required">This is required</div></div></md-input-container>',"={0,1}%>","currentTarget","%s sidan","step","основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении ","iOS","maxScrollbarLength","Get-VIProperty Get-VIRole Get-VM Get-VMGuest Get-VMHost Get-VMHostAccount Get-VMHostAdvancedConfiguration Get-VMHostAuthentication Get-VMHostAvailableTimeZone ","translate3d","_md-panel-position-adjusted","<ui-view></ui-view>","SYSRES_CONST_STATUS_PLAN_DEFAULT_VALUE ","host_type","siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca","newPanelGroup","move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret ","Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.","changed","JsSIP:RTCSession:DTMF","\\[.+?\\][\\(\\[].*?[\\)\\]]","borderSkipped","htmlElements","%d ý~éárs","Global If In Local Next ReDim Return Select Static ","fixed","interface namespace","AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN ","sdp","CONNECT_ERROR","IEDocVerSignature ","rgba(0, 0, 255, 1.000)","minuto",'<md-toolbar layout-gt-xs="column" layout-xs="row" layout-align="center center" flex class="mdp-timepicker-time md-hue-1 md-primary">',"SYSRES_CONST_FUNCTION_CATEGORY_SYSTEM ","dialogContent_",'aria-label="Next Page" ',"real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran ","هڪ سال","SYSRES_CONST_IMAGE_MODE_GREYSCALE "," median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree","JsSIP:ERROR:RTCSession:DTMF","//www.dailymotion.com/embed/video/","mdMenuBar","1912-07-29","WAIT","SetManagedFolderFieldsState ","md-tab-data","probe error","bookmark","EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO ","buildMonthCell","SYSRES_CONST_USERS_REQUISITE_CODE ","JOB_BLOCK_DEADLINE_PROPERTY ","săptămâni","translateY(","Pocketbook","thumbsdown","SYSRES_CONST_FLOAT_NUMBER_FORMAT_CHAR ","%d វិនាទី","vm.isOpen = !vm.isOpen","РазнДатаВремя ","cause","ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ","WriteFile ","دقيقة واحدة","_ngModelCtrl","NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE ","_id","SYSRES_CONST_DATE_REQUISITE_TYPE ","steam_is_overlay_enabled steam_is_overlay_activated ","SYSRES_CONST_GROUP_FULL_NAME_REQUISITE_CODE ","Unable to find component named '"," éve","%d ماه","INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT ","getOption","tiger2","listen","DiigoBrowser","curRowHeight","viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex ","35px","triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear ","public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. ","sfcBlack ","Unable to load data, a urlTemplate is not a non-empty string or not a function.","[Gëschter um] LT","SYSRES_CONST_ROUTE_TYPE_SERIAL ","_uiViews","CACHE INCREMENT MAXVALUE MINVALUE","wheel touchmove","sle sge ult ugt ule uge oeq one olt ogt ","addNewItem","teashark","an existing locale. moment.defineLocale(localeName, ","Ord ","\\b(clipboard info|the clipboard|info for|list (disks|folder)|","[Kunu lɛrɛ] LT","[Bugun soat] LT [da]","gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders ","submitStatus","mdDialog","[síðasta] dddd [kl.] LT","max min mod noise normalize ntransform opposite option phong pnoise pow printf ","uibAccordionTransclude","autoExpand","md-asc","IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException ","'inci","ugc_query_RankedByTrend ","WEBRTC_ERROR","chrw regexp server response request cstr err","do if then else end until while ","[Kal] LT","^\\s*%","wiLow ","userNoAnswerTimer","\\{%","Ng1ViewConfig","MD-MENU-ITEM","eine Woche","Yesterday","emLock ","toLowerCase","win8_settingscharm_get_xaml_property win8_settingscharm_remove_entry ","ghostClass","font-face page","inputEventMap","under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot ","Internal Error","ELS_FOLDER_KIND_CONTROL_NAME ","pushing","ngRequired","ps--active-x","noDecrementMinutes",'ng-if="tab.hasContent" ',"mdColorPreview","altInputFormats","A h:mm সময়","UA already closed"," \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000","[A-Za-z_0-9]*","rgb(0, 0, 255)","disableTemplates","remoteUrlRequestFormatter","beforeInit","pointercancel","StateMatcher","md-auto-hide","never","SUBTASK_BLOCK_ASSIGN_PARAMS_EVENT ","removeFrom","Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content ","SYSRES_CONST_EDITORS_APPLICATION_NAME_REQUISITE_CODE ","0[xX][a-fA-F0-9]+","unregisterSelectedItemWatcher","%d ວິນາທີ","activeDateId","sotn_vuos_maŋ_gask_duor_bear_láv",'"probation"',"purple_heart","authenticate","abstype and andalso as case datatype do else end eqtype ","|==|===)","io math os package string table","soatAccountCollection ","rgb(255,255,255)","режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных ","material.components.backdrop","50 100 200 300 400 A100","equ neq lss leq gtr geq","isForceAsyncReloadEnabled",' for parameter "',"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi",'","',"uac_pending_reply","SYSRES_CONST_STR_REQUISITE ","SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING ","ps-scroll-y","pages","grinning","uib/template/tabs/tabset.html","ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable ","IRequisite ","un'ora","mp_grid_draw mp_grid_to_ds_grid collision_point collision_rectangle ","ein dag","onStart","ndalu","endlocalize localtime endlocaltime timezone endtimezone get_current_timezone ","rational? rationalize read read-char real-part real? remainder reverse ","a8m.concat","authorization_jwt","diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts ","setDialogParentGetter","600 700 800 900 A700","reverseAnimate","gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors ","VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool ","dseOnValidUpdate ","uibTypeaheadPopup","_cnonce","Aको h:mm बजे","/(PROG|ATTR|MN|POS|END)\\b","md-position-mode","a8m.xor","xmlns","selectColor","background-image","ui.bootstrap.isClass",'"domain"',"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b","selector-tag","So._Mo._Di._Mi._Do._Fr._Sa.","назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца ","-width","^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)","[eilen] [klo] LT","يوم","queued","Version Not Supported","define __FILE__ ","4b0082","app/directives/checkboxes-item/checkboxes-view.html","dddd [بوقت] LT","registerElement","СтрНижнРегистр ","notEmpty"," connected",'cnonce="',"периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений ","retry","utcOffset","onSuccessResponse","cubic-bezier(0.35, 0, 0.25, 1)","getElementSizeX","type typename warning zeros matrix","endRe","sticky","dddd, D. MMMM YYYY H:mm [Auer]"," graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph","Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark ","<tbody ","New-vRARoutedNetworkProfile New-vRAService New-vRAStorageReservationPolicy New-vRATenant New-vRATenantDirectory New-vRAUserPrincipal New-vRNIApplication New-vRNIApplicationTier ","bubbleScroll","chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim ","QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b","asmNever ",'"ACK"',"ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old ","OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)","<\\?(lasso(script)?|=)","weekNumbers","$mdTabsPaginationChanged","Invalid rule name: ","lastRipple","mrNo ","getRadius","$$prevSibling","%\\}","Media Renegotiation Failed","moveDownPage","io client disconnect","[Кеше сағат] LT","dddd [seo chaidh] [aig] LT","layer_set_target_room layer_get_target_room layer_reset_target_room ","application/sdp, application/dtmf-relay","xCenter","Playbook.*Tablet","addNewCol","term","md-left","ds_grid_value_disk_y ds_grid_shuffle ds_grid_write ds_grid_read ","suggestedMax","searching","credit_card","a8m.is-empty","clock1130","IGrid ","im24bRGB ","één jaar","icProcessMessageHandler ","typeQueue","TX-A1301|TX-M9002|Q702|kf026","two_men_holding_hands","emitEvent","navigate-first.svg","#7b1fa2","#ffff8d","أكتوبر"," context: ","transition","emChangeLifeStage ","scilab","getPointPosition","noDisconnect","getQuery","YYYY[ko] MMMM[ren] D[a]","minuteStep","Bad Location Information","Escape","rice_ball","ui.bootstrap.tpls","triumph","хэдхэн секунд","chartLabels","получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы ","caretSize","[Šiandien] LT","animation","createTransport","valueOf","oldTouchAction","connectAttr connectControl connectDynamic connectJoint connectionInfo constrain ","H:mm [Auer]","SYSRES_CONST_DATE_FORMAT_DATE_ONLY_CHAR ","ngAnimateSwap","چۈشتىن كېيىن","IObserver ","maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product ","formPage","Dialog Error","%d ദിവസം","emEdit ","mdWhiteframe","$cfg.viewDecl.$context","city_sunset","colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr",'<div class="mdp-clock-switch-container" ng-switch="timepicker.currentView" layout layout-align="center center">',"PRIVILEGES_PSEUDOREFERENCE_CODE "," linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname","selected","$$cookieReader","nullInput","RESTORE_AUTO_NUMERATION_RULE_ID ","$mdExapnsionPanelGroup.add()/.register() : Requires an options object to be passed in","mdNoResize",'<md-icon md-svg-icon="data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik05IDExSDd2Mmgydi0yem00IDBoLTJ2Mmgydi0yem00IDBoLTJ2Mmgydi0yem0yLTdoLTFWMmgtMnYySDhWMkg2djJINWMtMS4xMSAwLTEuOTkuOS0xLjk5IDJMMyAyMGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0wIDE2SDVWOWgxNHYxMXoiLz4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KPC9zdmc+"></md-icon>',"struct enum interface union group import using const annotation extends in of on as with from fixed","uibDatepickerConfig","\\.[a-zA-Z][a-zA-Z0-9_-]*","tcommit throw trollback try tstart use view while write w|0 xecute x|0 ","base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum ","saveGridItemCalculatedHeightInMobile","SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE_AND_PASSWORD ","traceData.hookType"," file_search file_type fillarray findde find_root find_root_abs find_root_error","unchoose","toLocaleLowerCase","1873-12-31","tvtExactPhrase "," lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact","lineFollowConfig countryNameWrite runShellCommand ","[Täna,] LT","vmSelect ","barber","hoverIn","invalidateLayout","disableAutodetect","QNX","ttl=","julia","يېرىم كېچە","SYSREQ_USERS_USER_CERTIFICATE_SUBJECT_NAME ","%d شهرا","asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas","negate",' ng-disabled="disabled"',"DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS ","_checkInDialogRequest","UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE ","%d Méint","compareDocumentPosition","Controller"," transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex","-\\w\\b","Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.","$default:","1.9.0","hasBackdrop","\\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|experience_permissions(?:_denied)?|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\\b","dependencies repositories sourceSets description delete from into include ","sortedLastIndex","station","md-checkbox-cell","Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet ","SYSRES_CONST_FOLDER_TYPE_INBOX ",'    <div class="md-subheader-content"></div>',"ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo ","htmlbars","md-whiteframe attribute value is invalid. It should be a number between ","%d emalanga","closest","#ff8a80","md-dense","heavy_minus_sign","_newRTCSession","wrap","ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ","$md.hold","191970","IPrivilegeList ","uib-tab-heading","SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE ",".md-nav-item","SYSREF_LINKS ","findLastKey","#ffebee","ਸਵੇਰ","|s|ms","$resolve","%[Qwi]?\\[",":[ \t]*","material.components.switch","title","mdColorPickerContainer","неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу","webkitCancelRequestAnimationFrame","runner","_registrator","material.core.gestures","='$resolve.","<md-checkbox>","ExecuteProcess ","Intersection Intersects IsEmpty IsNan IsSelfIntersecting Length LengthGeodetic Log Max Mean Millisecond Min Minute Month ","Request Entity Too Large","framerate:%s","exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty ","SYSRES_CONST_DETAIL_DATASET_KEY_REQUISITE_CODE ","nextUid","html5Mode","revert",'<div class="md-ripple"></div>',"labelOffset","duela %s","ئێواره‌","trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt ","stroke-width","svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena","facepunch","ночі","sortedIndexOf","mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|","add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler ","and false then defined module in return redo retry end for true self when ","small","[Во] dddd, [в] LT","$ctrl.helper","hostname setpos globpath remote_foreground getchar synIDattr ","mdAddOnBlur","Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecShellWait ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText Int64Cmp Int64CmpU Int64Fmt IntCmp IntCmpU IntFmt IntOp IntPtrCmp IntPtrCmpU IntPtrOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegMultiStr WriteRegNone WriteRegStr WriteUninstaller XPStyle","IRouteStep ","postformat","Behavior bool color coordinate date double enumeration font geocircle georectangle ","IncomingRequest","GetTableID ","stroke-linecap","isDSTShifted","httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления ","firstDayOfWeek","tada","isReadable","ПользовательДополнительно ","yearRows","_reconnecting","=?mdConnectedIf","ಒಂದು ವರ್ಷ","SYSRES_CONST_GROUP_CATEGORY_SERVICE_NAME ","INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 ","setPart","66cdaa","cow","LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 ","isConnected","waning_gibbous_moon","ffdab9","violin","bir soat",'id="{{:: $mdTabsCtrl.tabContentPrefix + tab.id}}" ',"Unauthorized","buildScales","<remove></remove>","ثانيتان","(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)","aspect","enddeclare final try switch continue endfor endif declare unset true false ","fipstate|floor|fnonct|fnote|fopen|foptname|foptnum|","//embed.plnkr.co/","ngKeydown","начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы ","Clear","SYSRES_CONST_EDOC_CARD_TYPES_LINK_REQUISITE_CODE ","$viewChangeListeners","/angucomplete-alt/index.html","vsmMultipleCheck ","&?mdSelectedItemChange","abstract absurd admit after apply as assert assumption at auto autorewrite ",'<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M0 0h24v24H0z" fill="none"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>',"CreateStringList ","^uibAccordionGroup","resolvables",";$|^\\[|^=|&|{","pcmk","mwForm.pageEvents.pageAdded","swipeEasing","bank","measureText","an ","e604","%s yang lalu","atan2","layer_get_depth layer_create layer_destroy layer_destroy_instances ","mozCancelAnimationFrame","mutating nil none nonmutating open operator optional override postfix precedence ","selectEl","=?mdSelected","00ced1","xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute ","#006064","&gt;","compress","callbacks","=digitalFormat","steam_ugc_query_set_return_long_description ","timer_H","wdtDeadLine ","selector-pseudo","ds_priority_read ds_grid_create ds_grid_destroy ds_grid_copy ","_$mdPanel","reconnection","SYSREQ_EDOCKIND_DEFAULT_VERSION_STATE_CODE ","decorator","beagan diogan","invert","physics_set_density physics_set_restitution physics_get_friction ","#ef9a9a","layer_get_visible layer_exists layer_x layer_y layer_get_x ",'<md-button class="_md-nav-button md-accent" ',"rgba(255,255,255,0.5)","weekdayMismatch","TransitionHookScope","low_brightness","mdProgressLinear","libURLSetStatusCallback load extension loadedExtensions multiply socket prepare process post seek rel relative read from process rename ","removeModelChangeListener","ERANAMES","ஒரு மாதம்","[object Object]","Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry ","classlist","#CC9900","ffc0cb","SYSREQ_EDOC_QUALIFIED_ID ","UAC","dddd [g] LT","arraybuffer","CurrentVersion ","^[-\\*]{3,}","date","EAGER","\\b(0[bB][01]+)n?","okta mánnu","u5408","webkitAudioContext","on off true false and or not command policy target test exists is_newer_than ","%d நாட்கள்","store"," kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete","kissing","font-language-override","Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá","setRemoteDescription","SYSRES_CONST_REQ_MODE_AVAILABLE_CODE ","triggerChange","[\\.,]","webOS","QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED ",'<md-dialog-content layout="row" layout-wrap>',"wsRunning ","جمع","draw_sprite_stretched_ext draw_sprite_tiled draw_sprite_tiled_ext ","[У мінулы] dddd [ў] LT","Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr","_direction","бирнече секунд","hook","word-wrap","जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.","紀元前","$$mdDateUtil","NOT_SUPPORTED_ERROR","sitofp fptoui fptosi inttoptr ptrtoint bitcast ","calculatePointY","reduceRight","tao",'          uib-is-class="\n',"win8_appbar_remove_element win8_settingscharm_add_entry ","@?mdInputId","=?mdOnSelect","SYSRES_CONST_JOB_STATE_ABORTED ","isSelectedStartDate","device_ios_iphone6 device_ios_iphone6plus device_emulator ","SYSRES_CONST_USER_ADDITIONAL_INFORMATION_REQUISITE_CODE "," mintam","IStringRequisite ","translateCompile"," delta demo demoivre denom depends derivdegree derivlist describe desolve","IXMLEditorForm ","msg","JsSIP:RequestSender","declare import option function validate variable ","disableTheming","មួយឆ្នាំ",'<md-input-container class="md-block"><label>Placeholder</label> <input type="text" ng-model="Textarea.item.config.placeholder"></md-input-container>',"colorElement","newVisibleEnd","u7121","\\b(extends|implements) +","دسمبر","mwFormBuilderOptions","определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных ","poodle","translateDefault","SYSRES_CONST_QUALIFIED_TASK_TYPE_CODE ","six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five ","січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд",'md-scope="::tab.parent" ',"dddd [kl.] LT","_rootContext","iphone","A h:mm वाजता","_registering","[ស្អែក ម៉ោង] LT","WebRTC not supported","އޭޕްރީލު",'"ttl="',"gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose ","gpu_get_tex_max_aniso_ext gpu_get_tex_mip_enable ","message body length is lower than the value in Content-Length header field, dropping the response","SYSRES_CONST_ACTION_TYPE_SEND_BY_MAIL ","SYSRES_CONST_SEARCHES_FOLDER_CONTENT ","dddd [ⴴ] LT","SYSREQ_EDOC_VERSION_HIDDEN ","transport=","modalOpener","candidates","%s ʼzo","IInplaceHint ",", reason: ","caption","heart_eyes_cat","selectTarget","getScaleForId","x-axis","reference repeat returning script second set seventh since ","iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray ","window_set_fullscreen window_get_fullscreen ","currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint ","%d oy","Expected the menu to have a trigger element.","speak_no_evil","D MMMM YYYY, A h:mm ਵਜੇ","out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f ","[object Uint32Array]","СоединениеОткрыть ","mdInvert","SYSRES_CONST_TASK_ENCODE_TYPE_NONE ","$translateReady","rgb(0, 123, 245)","yum","STORAGE_TYPE_SAPERION ",'Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes',"x-pseudo","Hook aborted transition","SYSREQ_REF_TYPE_DISPLAY_REQUISITE_NAME ","SHORTDAY","[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)","$stateParams","gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize ","\\s*[:+?]?=","SYSRES_CONST_DATE_TYPE_CHAR ","basicVideo","lastDayOfMonth","updateHeight","collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring","right","%d flynedd","gpu_get_blendmode_ext_sepalpha gpu_get_blendmode_src ","material.components.dialog","inputFocusedOnWindowBlur","inputc|inputn|int|intck|intnx|intrr|irr|jbessel|","GET","pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc ","ng-disabled","</md-dialog>","SYSRES_CONST_ROUTE_STEP_AND_CONDITION_RUS ",'"<"','"handling"',"off","STATUS_WAITING_FOR_ANSWER","fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ","%d នាទី","YYYY-MM-DDTHH:mm","један сат","initialValue","tickMarkLength","_closeTimer","readyState","isPartLoaded","removeOfferedAnswer","SYSRES_CONST_COMPONENT_GROUP_TYPE_REQUISITE_CODE ","deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter ","post %s",'<div ng-if="toast.title || toast.msg" class="toast-text">',"desaturate","#ffc400","gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents ","getBarCount","Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b","negative_squared_cross_mark","ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ","$uiRouterProvider",'      <td class="uib-decrement minutes"><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n',"Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance ","eine Stunde","يومين","parseAsResourceUrl","ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме ","unregister","%dవ","if else for in","[прошлог] [четвртка] [у] LT","_tc_id","&maxwidth=","resend_provisional","directionLinks","gt-lg","hai %s","exception","from","TRUNC WIDTH_BUCKET ","boot","pull","$mdMenu",'("|#|/\\*|\\s+/\\w+)',"listener","pointLabels","chartColors","ripples","genitive","rpc","SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL ","\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)","Color.js not found!","date2","D [de] MMMM [de] YYYY H:mm","udp","[a-z_]\\w*'[\\w']*","material.components.icon","isLockedOpen","\\]\n","bounds","sv-on-stop","font_replace_sprite_ext font_delete path_set_kind path_set_closed ","md-tab-label","resetHideResults","menuitem","gemini","gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ ","[आउँदो] dddd[,] LT"," num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai","положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы ","[a-zA-Z_$][a-zA-Z0-9_$]*","sdpOffer","Trigger","dup-to reply-to route-to","$resolve.","getPart","__iteratees__","$mdSidenav","packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod ","marginLeft","RegionDateSettings ","removeRipple","notify()","localDescription","int real vector simplex unit_vector ordered positive_ordered ","~2F","Could not resolve '","break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|","matrixView","%[qQwWx]?/","січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень","_defineCorePaths","\\.(","getBasePosition","Version/[VER]","[object GeneratorFunction]","ngJsTree","pathname|pdf|peek|peekc|pmf|point|poisson|poke|"," rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy","onCloseCb","IWorkflowBlock ","contrastDarkColors","NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger","STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED ","not an element","$uiRouter","shortcutPropagation","listNodeTypes listPanelCategories listRelatives listSets listTransforms ","column-rule","focusDropdownEntry","variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet ","onLeave","received message with CRLF Keep Alive response","draw_get_color draw_get_alpha merge_colour make_colour_rgb ","JOB_BLOCK_AFTER_QUERY_PARAMETERS_EVENT ","exposing","Record-Route","uib:datepicker.focus","Dim","ایک گھنٹہ","[\\$\\@]","sob","expires","Before Christ","[Ыран] LT [сехетре]","cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv ",'  <div id="{{id}}_dropdown" class="angucomplete-dropdown" ng-show="showDropdown">',"'iens ar","HH:mm:ss,SSSS","[sabah saat] LT","СпрРеквПредЗн ","Windows Mobile","SYSRES_CONST_TASK_ROUTE_OR_CONDITION ","robotNameWrite readMicrophone robotNameRead cityNameWrite ","taskResult taskState taskType teamMember teamName teams teamSwitch teamSwitchEnabled teamType ","yPosition","wss","एक मिनूट","hideMedia","gpu_get_texfilter_ext gpu_get_texrepeat gpu_get_texrepeat_ext ","_config","md-require-match","ticket","^uibTab","material.components.fabShared","enum else break extern asm case short default double register explicit ","rule","изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке ",'probe transport "%s" failed because of error: %s',"emChangeVersionNote ","background-repeat","clean","загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации "," வைகறை","_weekdaysShortStrictRegex","border-left","%r!","PRIVILEGE_DEVELOPMENT_IMPORT ","First argument must be a String, HTMLElement, HTMLCollection, or NodeList","थोडया सॅकंडांनी","dropFrames","%d urte","ஒரு வருடம்","IColumn ","path_get_length path_get_time path_get_kind path_get_closed "," graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery","md-toast","getRight","a8m.uri-encode","vbscript","settings","labelString","AgreementView.formItem.config.required","setCurrentView","will wait %dms before reconnect attempt","matchMedia","iceconnectionstatechange","emUnlockFromServer ","temp_gruu","-чү","optionsFactory","toastClass","ИзвлечьИмяФайла ","chipMouseDoubleClick","\\[/no_square_brackets\\]","byte char class double float int interface long short void compile runTime ","syringe","ТекВерсия ","yes no on off","SYSRES_CONST_SBDATASETDESC_NEGATIVE_VALUE ","crocodile","stundas_stundām_stunda_stundas","setSelectionRange","a8m.trim","RFC2833","%d เดือน","NF-Browser","else enum extern false final fn for if impl in let loop macro match mod ","gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color ","jaj","_openDuration","Chrome OS","splitEqual","onChanged","Last Month","a8m.filter-by","hwb","items hlexists strridx browsedir expand fmod pathshorten line2byte ","esvtLast esvtLastActive esvtSpecified ","Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident ","_bodyFontFamily","accentPalette","getModelOption","bootstrap","requireMatch","minutė_minutės_minutę",")\\s+","...","gensym get getattr global globals group-by hasattr hash hex id ","SYSRES_CONST_USER_FULL_NAME_REQUISITE_CODE ","sendrecv","themeClass","בערב","a month","addClass","for function here if import in inline never new override package private get set ","eval","beginner","_nc","getSources","allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSimpleObjects ","draw_sprite_part draw_sprite_part_ext draw_sprite_general draw_clear ","रात्री","mbYesToAll ","SYSREQ_NAME_LOCALIZE_ID ","float color point normal vector matrix while for if do return else break extern continue","SYSRES_CONST_ACCESS_TYPE_CHANGE ","#8c9eff","%d jaar","HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel "," generation %d",'socket receive: type "%s", data "%s"',"var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray ","clapper","[පසුගිය] dddd LT[ට]","new_moon_with_face","SYSRES_CONST_ATTACH_TYPE_TASK ","where","(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|","invalid Content-Type","SYSREQ_EDOC_LIFE_STAGE_NAME ","querySelector","INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL ","SYSRES_CONST_CODE_COMPONENT_TYPE_EDOC_CARDS ","SYSREF_LOCALIZATION_DICTIONARY ","PHRASAL_WORDS_MODE","transclude","ds_map_secure_save ds_map_secure_load ds_map_secure_load_buffer ","underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,","СпрТблСтрПред ","home","audio","siku %d",".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ","session confirmed","\\$[0-9][0-9A-Fa-f]*","virtualRepeatUpdate_","nextElementSibling","page-break-after","javascript","Destroying/Unregistering","Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI","<a href\n","#00838f","beforeFooter","vsmSingle ","يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر","blossom","أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت","md-calendar-month-label-disabled","append cap close complex copy imag len make new panic print println real recover delete","SUBTASK_BLOCK_CREATION_EVENT ","drain","all","noDecrementHours","startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp ","revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype ","_navBarEl","__halt_compiler.+?;","bread","noPrevious","SET_OURFIRM_REQUISITE_RULE_ID ","scrollbarXWidth","history","REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP ","ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES ","twisted_rightwards_arrows","su._må._ty._on._to._fr._lau.","Required property `name` missing on plugin: ","replaceState","showColorPicker","backdropColor","UCWEB[VER]","matrix_stack_top matrix_stack_is_empty browser_input_capture ","remoteUrlResponseFormatter","setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve ","isFocusInLastItem","tabIndex","@__","%d ປີ","win8_livetile_notification_text_add ","getTitle","ui.bootstrap.buttons","[Demain à] LT","ఒక గంట","=%s","eventElements","\\^\\{","from maintainer expose env arg user onbuild stopsignal","big","ps-scroll-x","rgb(204, 153, 255)","bodyFontSize","hasListeners","setAlpha","setTrafficSpeed setTriggerActivation setTriggerArea setTriggerStatements setTriggerText ","lilanga","\\bMI PAD\\b|\\bHM NOTE 1W\\b","ПолучитьИДТаблицы ","buildTemplateObjects","%s ಹಿಂದೆ","clock930","rgba(255,255,255,0.87)",'<div id="toasty" ng-class="[position]">',"#d32f2f","md-standard-list-container","minDate + maxDate","P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI","getAllHitPointsDamage getAllOwnedMines getAllSoundControllers getAmmoCargo getAnimAimPrecision ","soatBoolean ","MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER ","(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*","display_set_gui_size display_set_gui_maximise ","=mdDateLocale","\\b(0[bB][01]+)","getAdjacentChipIndex","$normalize","item document-node node attribute document element comment namespace namespace-node processing-instruction text construction ","dddd [whakamutunga i] LT","dynamic dynamicType else enum extension fallthrough false fileprivate final for func ","getAll","REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ",")?(","arrow_up_down","_restoreScroll","' has two type configurations.","[kesho saa] LT","wdtRoleCollection ","maxSize","\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b","column-gap","selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime ","TEST_SQL_SERVER_2005_NAME ","ds_map_secure_save_buffer ds_map_set ds_priority_create ","BINARY_ACK","divisionSum","mdDateRangePickerServiceConfig","md-sort","$viewValue","Reports ","IWorkflowAskableParams ","totalPages","типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы ","gündüz","endSameAsBegin","convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache ","add alias ascending async await by descending dynamic equals from get global group into join ","suspension_railway","merge describe use explain help declare prepare execute deallocate release ","injectableHandler","SYSREQ_USERS_USER_GLOBAL_NAME ","</md-button>"," asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order","maxMessageSize","разделительстраниц разделительстрок символтабуляции ","tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12","SYSRES_CONST_USER_REMOTE_SYSTEM_REQUISITE_CODE ","port effect module","setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind ","Hider Hyperboloid Identity Illuminate Imager Interior LightSource ",'<table aria-hidden="true" class="md-calendar-day-header"><thead></thead></table>',"mdRowSelect","SYSREQ_REF_TYPE_VIEW_CODE ","chars","NOW_CLOSING_EVENT","getViewportTop","SYSREF_PRIVILEGES ","sprite_duplicate sprite_assign sprite_merge sprite_add ","nodesToArray","%d տարի","ckAny ","SYSRES_CONST_STATUS_VALUE_BLUE_SQUARE "," sekond","autoShrinkMin","%d heures","ANALYTIC_REPORT_TYPE ","CONFIRMED","animation-iteration-count","([ ]+",'<div class="md-focus-thumb"></div>',"//[a-z]*","Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu","type","lostcard merge missing modify options output out page put ","move-row-up","isPayloadValid","contentWindow","duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression ","mjesec","Rejected","mdContainerClass","\\?(::)?([A-Z]\\w*(::)?)+","IPv6","disconnectScope","$mdChipsCtrl","isPrevDisabled","scaleZero","revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord ",'role="tablist" ',"ui.bootstrap.tabs","colCount","wfepRadioGroup ","rgb(92, 92, 0)","polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint ","tag xml","kuukausi","button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']), textarea:not([disabled]):not([tabindex='-1']), ","ctComboBox ","[prošlog] [petka] [u] LT","assert short package default double public try this switch continue throws privileged ","event_perform_object event_inherited show_debug_message ","getDataset",';+sip.instance="<urn:uuid:',"border-top-width","_viewPortTop","excel","Matrix","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION_CODE ","Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12","типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных ","%d སྐར་མ","blocks","laughing","utAdministrator ","max-src-conn-rate overload flush","rgb(255, 128, 0)","creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore ","jtLeft ","TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED ","mdColorsWatch","'üncü","COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR ","_md-opaque-leave","connection_recovery_min_interval","mrYesToAll ","isang oras","-active","ydd","-remove",":auth-int:","labelItem","getBarIndex","isValid","wsDone ","yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr","icBeforeSearchEventHandler ","SBRTE_PROGID_DEV ","[a-zA-Z-_][^\\n{]+\\{","[På] dddd LT","zipObjectDeep","watchResponsiveAttributes","пӗр ҫул","_action","hover","removeSlide",".sv-placeholder{","$location","musical_score","langPromises","font-size","capital_abcd","SYSRES_CONST_NUM_REQUISITE ","dddd [semana kotuk] [iha] LT","FormatDate ","ds_grid_get_sum ds_grid_get_max ds_grid_get_min ds_grid_get_mean ","GENERATE_SERIES GENERATE_SUBSCRIPTS "," maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display","=mdDateFilter","[วัน]dddd[ที่แล้ว เวลา] LT","D MMMM YYYY г.","há %s","besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma ","[v nedeľu o] LT","put","$shouldWatch","db dw dd dq dt ddq do dy dz ","containerWidth","DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS ","rawDescription","IProcessFactory ","_count","Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential ","SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION_CODE ","blockTransition","handleClickSelectLastMonth","bits use16 use32 use64 default section segment absolute extern global common cpu float ","all any no-route self urpf-failed egress|5 unknown","wsf","to_uri","%d kun","ballot_box_with_check","mustache.js","itemsSortableConfig","xhr data %s","fpoint|fpos|fput|fread|frewind|frlen|fsep|fuzz|","movingItem","emStart ","IWorkflowAskableParam ","gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits ","%[qQwWx]?{","endIndex","abcd","jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember","SYSRES_CONST_TASK_STATE_COMPLETE ","IView ","ggggg","directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile ","baby_chick","md-chips","static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on ","@?mdFloatingLabel","ticks","hodinou","q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 ","([^\\\\\\W:= \\t\\f\\n]|\\\\.)+","native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options ",'<div ng-switch="calendarCtrl.currentView" ',"SYSRES_CONST_AUTOTEXT_USAGE_ALL ","onAny","_currentView","setDisplayFormat","gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask ","aHrefSanitizationWhitelist","Invalid tones: ","layer_background_get_alpha layer_background_get_index ","material.components.progressCircular","listbox","یک دقیقه","material.components.sidenav","AⒶＡÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ","кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip ","cleanupResizing","wptUserList ","mínútu","readonly","[Fuddlo] dddd[,] LT","[Имрӯз соати] LT","callCallback","deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus "," mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult","abort acronym acronyms alias all and assign binary card diag display ","mdSidenav","SYSREQ_EDOC_TYPE_REQ_IS_LEADING ","ArrayDimCount ","onSubmit","a8m.chunk-by","division","transform ","A200","sip_version","cols","^[A-Z]+ (.*?) ","mdPanelProvider: The panel preset you have requested ",'<md-toolbar ng-style="clock.getPointerStyle()" class="mdp-pointer md-primary">',"keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders ","padString","|#\\\\.)","hmm","Size","function","Jobs ","CHECK_CODE_REQUISITE_RULE_ID ","preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon ","mdAutocomplete","maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans ","rdNextWeek ","#03a9f4","moment.utc","listEnter","isRegExp","getBoundingBox","SYSRES_CONST_STATUS_VALUE_ORANGE_SQUARE ","clickToClose","hsva(","layout-wrap","dow","heavy_division_sign","hrs"," items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc","_ended","#757575","wfetDelimiter ","$moveUpdate","available_externally linkonce linkonce_odr weak ","=?mdDropdownItems","ParamFactory","os_browser os_version display_aa async_load delta_time ","БлокЕсть ","noFloat","apply autoescape block deprecated do embed extends filter flush for from ","TRANSFORM_ORIGIN","mdPanel: Panel does not exist yet. Call open() or attach()."," error: ","EEPROM Stream Mouse Audio Servo File Task ","Obigo","'|\"","C CachedValue CacheGraphics CachePersistence CalendarConvert CalendarData CalendarType Callout CalloutMarker CalloutStyle CallPacket CanberraDistance Cancel CancelButton CandlestickChart CanonicalGraph CanonicalizePolygon CanonicalizePolyhedron CanonicalName CanonicalWarpingCorrespondence CanonicalWarpingDistance CantorMesh CantorStaircase Cap CapForm CapitalDifferentialD Capitalize CapsuleShape CaptureRunning CardinalBSplineBasis CarlemanLinearize CarmichaelLambda CaseOrdering Cases CaseSensitive Cashflow Casoratian Catalan CatalanNumber Catch Catenate CatenateLayer CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling CelestialSystem Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEvaluationLanguage CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellLabelStyle CellLabelTemplate CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterArray CenterDot CentralFeature CentralMoment CentralMomentGeneratingFunction Cepstrogram CepstrogramArray CepstrumArray CForm ChampernowneNumber ChangeOptions ChannelBase ChannelBrokerAction ChannelDatabin ChannelHistoryLength ChannelListen ChannelListener ChannelListeners ChannelListenerWait ChannelObject ChannelPreSendFunction ChannelReceiverFunction ChannelSend ChannelSubscribers ChanVeseBinarize Character CharacterCounts CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterName CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop ChromaticityPlot ChromaticityPlot3D ChromaticPolynomial Circle CircleBox CircleDot CircleMinus CirclePlus CirclePoints CircleThrough CircleTimes CirculantGraph CircularOrthogonalMatrixDistribution CircularQuaternionMatrixDistribution CircularRealMatrixDistribution CircularSymplecticMatrixDistribution CircularUnitaryMatrixDistribution Circumsphere CityData ClassifierFunction ClassifierInformation ClassifierMeasurements ClassifierMeasurementsObject Classify ClassPriors Clear ClearAll ClearAttributes ClearCookies ClearPermissions ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipPlanesStyle ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent CloudAccountData CloudBase CloudConnect CloudDeploy CloudDirectory CloudDisconnect CloudEvaluate CloudExport CloudExpression CloudExpressions CloudFunction CloudGet CloudImport CloudLoggingData CloudObject CloudObjectInformation CloudObjectInformationData CloudObjectNameFormat CloudObjects CloudObjectURLType CloudPublish CloudPut CloudRenderingMethod CloudSave CloudShare CloudSubmit CloudSymbol CloudUnshare ClusterClassify ClusterDissimilarityFunction ClusteringComponents ClusteringTree CMYKColor Coarse CodeAssistOptions Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorBalance ColorCombine ColorConvert ColorCoverage ColorData ColorDataFunction ColorDetect ColorDistance ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQ ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorsNear ColorSpace ColorToneMapping Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CombinedEntityClass CombinerFunction CometData CommonDefaultFormatTypes Commonest CommonestFilter CommonName CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompanyData CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledCodeFunction CompiledFunction CompilerOptions Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComplexListPlot ComplexPlot ComplexPlot3D ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries CompositeQ Composition CompoundElement CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData ComputeUncertainty Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath ConformAudio ConformImages Congruent ConicHullRegion ConicHullRegion3DBox ConicHullRegionBox ConicOptimization Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphComponents ConnectedGraphQ ConnectedMeshComponents ConnectedMoleculeComponents ConnectedMoleculeQ ConnectionSettings ConnectLibraryCallbackFunction ConnectSystemModelComponents ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray ConstantArrayLayer ConstantImage ConstantPlusLayer ConstantRegionQ Constants ConstantTimesLayer ConstellationData ConstrainedMax ConstrainedMin Construct Containing ContainsAll ContainsAny ContainsExactly ContainsNone ContainsOnly ContentFieldOptions ContentLocationFunction ContentObject ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTask ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean ContrastiveLossLayer Control ControlActive ControlAlignment ControlGroupContentsBox ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket ConvexHullMesh ConvexPolygonQ ConvexPolyhedronQ ConvolutionLayer Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CookieFunction Cookies CoordinateBoundingBox CoordinateBoundingBoxArray CoordinateBounds CoordinateBoundsArray CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDatabin CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CountDistinct CountDistinctBy CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Counts CountsBy Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateCellID CreateChannel CreateCloudExpression CreateDatabin CreateDataSystemModel CreateDialog CreateDirectory CreateDocument CreateFile CreateIntermediateDirectories CreateManagedLibraryExpression CreateNotebook CreatePalette CreatePalettePacket CreatePermissionsGroup CreateScheduledTask CreateSearchIndex CreateSystemModel CreateTemporary CreateUUID CreateWindow CriterionFunction CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossEntropyLossLayer CrossingCount CrossingDetect CrossingPolygon CrossMatrix Csc Csch CTCLossLayer Cube CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrencyConvert CurrentDate CurrentImage CurrentlySpeakingPacket CurrentNotebookImage CurrentScreenImage CurrentValue Curry CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition","یه‌ك مانگ","ui.bootstrap.tooltip","ఒక నెల","uib/template/datepicker/month.html","un jorn","ein Tag","#0033FF","updateErrorState","%s كېيىن","achievement_logout achievement_post achievement_increment ","%s liuba","openOnClick","\\(This","#3333FF","ads_set_reward_callback ads_get_display_height ads_get_display_width ","ndz_pon_wt_śr_czw_pt_sob","byteOffset","SYSREQ_REF_TYPE_VIEW_NAME ","[Bukas ng] LT","debug","typeahead-",":   <- Hook returned: ","attributes per nav-item directive.","setTransport","findKey","virtual_key_hide virtual_key_delete virtual_key_show ","$$disconnected","0f0","(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|","ne_po_út_st_čt_pá_so","path_delete_point path_clear_points path_reverse path_mirror ","SYSREF_FILTRATER_SETTING_CONFLICTS ","versions","SYSRES_CONST_QUALIFIED_TASK_TYPE ",'md-autocomplete.md-THEME_NAME-theme{background:"{{background-hue-1}}"}md-autocomplete.md-THEME_NAME-theme[disabled]:not([md-floating-label]){background:"{{background-hue-2}}"}md-autocomplete.md-THEME_NAME-theme button md-icon path{fill:"{{background-600}}"}md-autocomplete.md-THEME_NAME-theme button:after{background:"{{background-600-0.3}}"}md-autocomplete.md-THEME_NAME-theme input{color:"{{foreground-1}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused .md-input{border-color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused md-icon{color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-container{background-color:"{{accent-100}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-bar{background-color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused .md-input{border-color:"{{warn-A700}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused md-icon{color:"{{warn-A700}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-container{background-color:"{{warn-100}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-bar{background-color:"{{warn-color}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme,.md-autocomplete-suggestions-container.md-THEME_NAME-theme{background:"{{background-hue-1}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion{color:"{{foreground-1}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion.selected,.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion:hover,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion.selected,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion:hover{background:"{{background-500-0.18}}"}md-backdrop{background-color:"{{background-900-0.0}}"}md-backdrop.md-opaque.md-THEME_NAME-theme{background-color:"{{background-900-1.0}}"}md-bottom-sheet.md-THEME_NAME-theme{background-color:"{{background-color}}";border-top-color:"{{background-hue-3}}"}md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item{color:"{{foreground-1}}"}md-bottom-sheet.md-THEME_NAME-theme .md-subheader{background-color:"{{background-color}}";color:"{{foreground-1}}"}.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme:not([disabled]):hover{background-color:"{{background-500-0.2}}"}.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover{background-color:transparent}.md-button.md-THEME_NAME-theme.md-fab md-icon{color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab,.md-button.md-THEME_NAME-theme.md-primary.md-raised{color:"{{primary-contrast}}";background-color:"{{primary-color}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon{color:"{{primary-contrast}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover{background-color:"{{primary-600}}"}.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon{color:"{{primary-color}}"}.md-button.md-THEME_NAME-theme.md-fab{background-color:"{{accent-color}}";color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon{color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover{background-color:"{{accent-A700}}"}.md-button.md-THEME_NAME-theme.md-raised{color:"{{background-900}}";background-color:"{{background-50}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) md-icon{color:"{{background-900}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover{background-color:"{{background-50}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused{background-color:"{{background-200}}"}.md-button.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab,.md-button.md-THEME_NAME-theme.md-warn.md-raised{color:"{{warn-contrast}}";background-color:"{{warn-color}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon{color:"{{warn-contrast}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover{background-color:"{{warn-600}}"}.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon{color:"{{warn-color}}"}.md-button.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab,.md-button.md-THEME_NAME-theme.md-accent.md-raised{color:"{{accent-contrast}}";background-color:"{{accent-color}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon{color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover{background-color:"{{accent-A700}}"}.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon{color:"{{accent-color}}"}.md-button.md-THEME_NAME-theme.md-accent[disabled],.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled],.md-button.md-THEME_NAME-theme.md-warn[disabled],.md-button.md-THEME_NAME-theme[disabled]{color:"{{foreground-3}}";cursor:default}.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon,.md-button.md-THEME_NAME-theme[disabled] md-icon{color:"{{foreground-3}}"}.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled]{background-color:"{{foreground-4}}"}.md-button.md-THEME_NAME-theme[disabled]{background-color:transparent}._md a.md-THEME_NAME-theme:not(.md-button).md-primary{color:"{{primary-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-primary:hover{color:"{{primary-700}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-accent{color:"{{accent-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-accent:hover{color:"{{accent-A700}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-warn{color:"{{warn-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-warn:hover{color:"{{warn-700}}"}md-card.md-THEME_NAME-theme{color:"{{foreground-1}}";background-color:"{{background-hue-1}}";border-radius:2px}md-card.md-THEME_NAME-theme .md-card-image{border-radius:2px 2px 0 0}md-card.md-THEME_NAME-theme md-card-header md-card-avatar md-icon{color:"{{background-color}}";background-color:"{{foreground-3}}"}md-card.md-THEME_NAME-theme md-card-header md-card-header-text .md-subhead,md-card.md-THEME_NAME-theme md-card-title md-card-title-text:not(:only-child) .md-subhead{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme .md-ripple{color:"{{accent-A700}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple{color:"{{background-600}}"}md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before{background-color:"{{accent-color-0.26}}"}md-checkbox.md-THEME_NAME-theme .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-ink-ripple{color:"{{accent-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon{background-color:"{{accent-color-0.87}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after{border-color:"{{accent-contrast-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple{color:"{{primary-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple{color:"{{background-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple{color:"{{primary-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon{background-color:"{{primary-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before{background-color:"{{primary-color-0.26}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after{border-color:"{{primary-contrast-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-indeterminate[disabled] .md-container{color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple{color:"{{warn-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple{color:"{{warn-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon{background-color:"{{warn-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before{background-color:"{{warn-color-0.26}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon:after{border-color:"{{background-200}}"}md-checkbox.md-THEME_NAME-theme[disabled]:not(.md-checked) .md-icon{border-color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon{background-color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon:after{border-color:"{{background-200}}"}md-checkbox.md-THEME_NAME-theme[disabled] .md-icon:after{border-color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme[disabled] .md-label{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips{box-shadow:0 1px "{{foreground-4}}"}md-chips.md-THEME_NAME-theme .md-chips.md-focused{box-shadow:0 2px "{{primary-color}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input{color:"{{foreground-1}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-webkit-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input:-ms-input-placeholder,md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-ms-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input:-moz-placeholder,md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-moz-placeholder{color:"{{foreground-3}}";opacity:1}md-chips.md-THEME_NAME-theme md-chip{background:"{{background-300}}";color:"{{background-800}}"}md-chips.md-THEME_NAME-theme md-chip md-icon{color:"{{background-700}}"}md-chips.md-THEME_NAME-theme md-chip.md-focused{background:"{{primary-color}}";color:"{{primary-contrast}}"}md-chips.md-THEME_NAME-theme md-chip.md-focused md-icon{color:"{{primary-contrast}}"}md-chips.md-THEME_NAME-theme md-chip._md-chip-editing{background:transparent;color:"{{background-800}}"}md-chips.md-THEME_NAME-theme md-chip-remove .md-button md-icon path{fill:"{{background-500}}"}.md-contact-suggestion span.md-contact-email{color:"{{background-400}}"}md-content.md-THEME_NAME-theme{color:"{{foreground-1}}";background-color:"{{background-default}}"}.md-THEME_NAME-theme .md-calendar{background:"{{background-hue-1}}";color:"{{foreground-1-0.87}}"}.md-THEME_NAME-theme .md-calendar tr:last-child td{border-bottom-color:"{{background-hue-2}}"}.md-THEME_NAME-theme .md-calendar-day-header{background:"{{background-500-0.32}}";color:"{{foreground-1-0.87}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-date-today .md-calendar-date-selection-indicator{border:1px solid "{{primary-500}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-date-today.md-calendar-date-disabled{color:"{{primary-500-0.6}}"}.md-calendar-date.md-focus .md-THEME_NAME-theme .md-calendar-date-selection-indicator,.md-THEME_NAME-theme .md-calendar-date-selection-indicator:hover{background:"{{background-500-0.32}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-selected-date .md-calendar-date-selection-indicator,.md-THEME_NAME-theme .md-calendar-date.md-focus.md-calendar-selected-date .md-calendar-date-selection-indicator{background:"{{primary-500}}";color:"{{primary-500-contrast}}";border-color:transparent}.md-THEME_NAME-theme .md-calendar-date-disabled,.md-THEME_NAME-theme .md-calendar-month-label-disabled{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-calendar-month-label md-icon,.md-THEME_NAME-theme .md-datepicker-input{color:"{{foreground-1}}"}.md-THEME_NAME-theme .md-datepicker-input::-webkit-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input:-ms-input-placeholder,.md-THEME_NAME-theme .md-datepicker-input::-ms-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input::placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input:-moz-placeholder,.md-THEME_NAME-theme .md-datepicker-input::-moz-placeholder{color:"{{foreground-3}}";opacity:1}.md-THEME_NAME-theme .md-datepicker-input-container{border-bottom-color:"{{foreground-4}}"}.md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{primary-color}}"}.md-accent .md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{accent-color}}"}.md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-invalid,.md-warn .md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{warn-A700}}"}.md-THEME_NAME-theme .md-datepicker-calendar-pane{border-color:"{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-triangle-button .md-datepicker-expand-triangle{border-top-color:"{{foreground-2}}"}.md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon{color:"{{primary-color}}"}.md-accent .md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon,.md-THEME_NAME-theme .md-datepicker-open.md-accent .md-datepicker-calendar-icon{color:"{{accent-color}}"}.md-THEME_NAME-theme .md-datepicker-open.md-warn .md-datepicker-calendar-icon,.md-warn .md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon{color:"{{warn-A700}}"}.md-THEME_NAME-theme .md-datepicker-calendar{background:"{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-input-mask-opaque{box-shadow:0 0 0 9999px "{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-open .md-datepicker-input-container{background:"{{background-hue-1}}"}md-dialog.md-THEME_NAME-theme{border-radius:4px;background-color:"{{background-hue-1}}";color:"{{foreground-1}}"}md-dialog.md-THEME_NAME-theme.md-content-overflow .md-actions,md-dialog.md-THEME_NAME-theme.md-content-overflow md-dialog-actions,md-divider.md-THEME_NAME-theme{border-top-color:"{{foreground-4}}"}.layout-gt-lg-row>md-divider.md-THEME_NAME-theme,.layout-gt-md-row>md-divider.md-THEME_NAME-theme,.layout-gt-sm-row>md-divider.md-THEME_NAME-theme,.layout-gt-xs-row>md-divider.md-THEME_NAME-theme,.layout-lg-row>md-divider.md-THEME_NAME-theme,.layout-md-row>md-divider.md-THEME_NAME-theme,.layout-row>md-divider.md-THEME_NAME-theme,.layout-sm-row>md-divider.md-THEME_NAME-theme,.layout-xl-row>md-divider.md-THEME_NAME-theme,.layout-xs-row>md-divider.md-THEME_NAME-theme{border-right-color:"{{foreground-4}}"}md-icon.md-THEME_NAME-theme{color:"{{foreground-2}}"}md-icon.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}md-icon.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}md-icon.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}md-input-container.md-THEME_NAME-theme .md-input{color:"{{foreground-1}}";border-color:"{{foreground-4}}"}md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder,md-input-container.md-THEME_NAME-theme .md-input::-ms-input-placeholder{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme .md-input::placeholder{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder,md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder{color:"{{foreground-2}}";opacity:1}md-input-container.md-THEME_NAME-theme>md-icon{color:"{{foreground-1}}"}md-input-container.md-THEME_NAME-theme .md-placeholder,md-input-container.md-THEME_NAME-theme label{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme label.md-required:after{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-focused):not(.md-input-invalid) label.md-required:after{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme .md-input-message-animation,md-input-container.md-THEME_NAME-theme .md-input-messages-animation{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme .md-input-message-animation .md-char-counter,md-input-container.md-THEME_NAME-theme .md-input-messages-animation .md-char-counter{color:"{{foreground-1}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-webkit-input-placeholder{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input:-ms-input-placeholder,md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-ms-input-placeholder{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::placeholder{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input:-moz-placeholder,md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-moz-placeholder{color:"{{foreground-2}}";opacity:1}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label{color:"{{foreground-2}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon{color:"{{primary-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent md-icon{color:"{{accent-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn md-icon{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input{border-color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter,md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input-message-animation,md-input-container.md-THEME_NAME-theme.md-input-invalid label{color:"{{warn-A700}}"}[disabled] md-input-container.md-THEME_NAME-theme .md-input,md-input-container.md-THEME_NAME-theme .md-input[disabled]{border-bottom-color:transparent;color:"{{foreground-3}}";background-image:linear-gradient(90deg,"{{foreground-3}}" 0,"{{foreground-3}}" 33%,transparent 0);background-image:-ms-linear-gradient(left,transparent 0,"{{foreground-3}}" 100%)}md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h3,md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h4,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h3,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h4{color:"{{foreground-1}}"}md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text p,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text p{color:"{{foreground-2}}"}md-list.md-THEME_NAME-theme .md-proxy-focus.md-focused div.md-no-style{background-color:"{{background-100}}"}md-list.md-THEME_NAME-theme md-list-item .md-avatar-icon{background-color:"{{foreground-3}}";color:"{{background-color}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon{color:"{{foreground-2}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon.md-highlight{color:"{{primary-color}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon.md-highlight.md-accent{color:"{{accent-color}}"}md-menu-content.md-THEME_NAME-theme{background-color:"{{background-hue-1}}"}md-menu-content.md-THEME_NAME-theme md-menu-item{color:"{{foreground-1}}"}md-menu-content.md-THEME_NAME-theme md-menu-item md-icon{color:"{{foreground-2}}"}md-menu-content.md-THEME_NAME-theme md-menu-item .md-button[disabled],md-menu-content.md-THEME_NAME-theme md-menu-item .md-button[disabled] md-icon{color:"{{foreground-3}}"}md-menu-content.md-THEME_NAME-theme md-menu-divider{background-color:"{{foreground-4}}"}md-menu-bar.md-THEME_NAME-theme>button.md-button{color:"{{foreground-1}}";border-radius:2px}md-menu-bar.md-THEME_NAME-theme md-menu>button{color:"{{foreground-1}}"}md-menu-bar.md-THEME_NAME-theme md-menu.md-open>button,md-menu-bar.md-THEME_NAME-theme md-menu>button:focus{outline:none;background-color:"{{ background-500-0.18}}"}md-menu-bar.md-THEME_NAME-theme.md-open:not(.md-keyboard-mode) md-menu:hover>button{background-color:"{{ background-500-0.18}}"}md-menu-bar.md-THEME_NAME-theme:not(.md-keyboard-mode):not(.md-open) md-menu button:focus,md-menu-bar.md-THEME_NAME-theme:not(.md-keyboard-mode):not(.md-open) md-menu button:hover{background:transparent}md-menu-content.md-THEME_NAME-theme .md-menu>.md-button:after{color:"{{foreground-2}}"}md-menu-content.md-THEME_NAME-theme .md-menu.md-open>.md-button{background-color:"{{ background-500-0.18}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar{background-color:"{{background-hue-1}}";color:"{{foreground-1}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar md-toolbar-filler{background-color:"{{primary-color}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar md-toolbar-filler md-icon{color:"{{primary-contrast}}"}md-nav-bar.md-THEME_NAME-theme .md-nav-bar{background-color:transparent;border-color:"{{foreground-4}}"}md-nav-bar.md-THEME_NAME-theme .md-button._md-nav-button.md-unselected{color:"{{foreground-2}}"}md-nav-bar.md-THEME_NAME-theme .md-button._md-nav-button[disabled]{color:"{{foreground-3}}"}md-nav-bar.md-THEME_NAME-theme md-nav-ink-bar{color:"{{accent-color}}";background:"{{accent-color}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar{background-color:"{{accent-color}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button{color:"{{accent-A100}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{accent-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{accent-contrast-0.1}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar md-nav-ink-bar{color:"{{primary-600-1}}";background:"{{primary-600-1}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar{background-color:"{{warn-color}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button{color:"{{warn-100}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{warn-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{warn-contrast-0.1}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar{background-color:"{{primary-color}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button{color:"{{primary-100}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{primary-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{primary-color}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{primary-100}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{primary-contrast}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{accent-color}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{accent-A100}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{accent-contrast}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{accent-contrast-0.1}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar md-nav-ink-bar{color:"{{primary-600-1}}";background:"{{primary-600-1}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{warn-color}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{warn-100}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{warn-contrast}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{warn-contrast-0.1}}"}._md-panel-backdrop.md-THEME_NAME-theme{background-color:"{{background-900-1.0}}"}md-progress-circular.md-THEME_NAME-theme path{stroke:"{{primary-color}}"}md-progress-circular.md-THEME_NAME-theme.md-warn path{stroke:"{{warn-color}}"}md-progress-circular.md-THEME_NAME-theme.md-accent path{stroke:"{{accent-color}}"}md-progress-linear.md-THEME_NAME-theme .md-container{background-color:"{{primary-100}}"}md-progress-linear.md-THEME_NAME-theme .md-bar{background-color:"{{primary-color}}"}md-progress-linear.md-THEME_NAME-theme.md-warn .md-container{background-color:"{{warn-100}}"}md-progress-linear.md-THEME_NAME-theme.md-warn .md-bar{background-color:"{{warn-color}}"}md-progress-linear.md-THEME_NAME-theme.md-accent .md-container{background-color:"{{accent-100}}"}md-progress-linear.md-THEME_NAME-theme.md-accent .md-bar{background-color:"{{accent-color}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-primary .md-bar1{background-color:"{{primary-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-primary .md-dashed:before{background:radial-gradient("{{primary-100}}" 0,"{{primary-100}}" 16%,transparent 42%)}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-bar1{background-color:"{{warn-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-dashed:before{background:radial-gradient("{{warn-100}}" 0,"{{warn-100}}" 16%,transparent 42%)}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-bar1{background-color:"{{accent-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-dashed:before{background:radial-gradient("{{accent-100}}" 0,"{{accent-100}}" 16%,transparent 42%)}md-radio-button.md-THEME_NAME-theme .md-off{border-color:"{{foreground-2}}"}md-radio-button.md-THEME_NAME-theme .md-on{background-color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme.md-checked .md-off{border-color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme.md-checked .md-ink-ripple{color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme .md-container .md-ripple{color:"{{accent-A700}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on{background-color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off{border-color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple{color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple{color:"{{primary-600}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on{background-color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off{border-color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple{color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple{color:"{{warn-600}}"}md-radio-button.md-THEME_NAME-theme[disabled],md-radio-group.md-THEME_NAME-theme[disabled]{color:"{{foreground-3}}"}md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-on,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-on{border-color:"{{foreground-3}}"}md-radio-group.md-THEME_NAME-theme .md-checked .md-ink-ripple{color:"{{accent-color-0.26}}"}md-radio-group.md-THEME_NAME-theme .md-checked:not([disabled]).md-primary .md-ink-ripple,md-radio-group.md-THEME_NAME-theme.md-primary .md-checked:not([disabled]) .md-ink-ripple{color:"{{primary-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused.ng-empty>md-radio-button:first-child .md-container:before{background-color:"{{foreground-3-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked .md-container:before{background-color:"{{accent-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-primary .md-container:before,md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty).md-primary .md-checked .md-container:before{background-color:"{{primary-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-warn .md-container:before,md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty).md-warn .md-checked .md-container:before{background-color:"{{warn-color-0.26}}"}md-input-container md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{warn-A700}}"}md-input-container:not(.md-input-focused):not(.md-input-invalid) md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{foreground-3}}"}md-input-container.md-input-focused:not(.md-input-has-value) md-select.md-THEME_NAME-theme .md-select-value,md-input-container.md-input-focused:not(.md-input-has-value) md-select.md-THEME_NAME-theme .md-select-value.md-select-placeholder{color:"{{primary-color}}"}md-input-container.md-input-invalid md-select.md-THEME_NAME-theme .md-select-value{color:"{{warn-A700}}"!important;border-bottom-color:"{{warn-A700}}"!important}md-input-container.md-input-invalid md-select.md-THEME_NAME-theme.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-input-container:not(.md-input-invalid).md-input-focused.md-accent .md-select-value{border-color:"{{accent-color}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-accent .md-select-value span{color:"{{accent-color}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-warn .md-select-value{border-color:"{{warn-A700}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-warn .md-select-value span{color:"{{warn-A700}}"}md-select.md-THEME_NAME-theme[disabled] .md-select-value{border-bottom-color:transparent;background-image:linear-gradient(90deg,"{{foreground-3}}" 0,"{{foreground-3}}" 33%,transparent 0);background-image:-ms-linear-gradient(left,transparent 0,"{{foreground-3}}" 100%)}md-select.md-THEME_NAME-theme .md-select-value{border-bottom-color:"{{foreground-4}}"}md-select.md-THEME_NAME-theme .md-select-value.md-select-placeholder{color:"{{foreground-3}}"}md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{warn-A700}}"}md-select.md-THEME_NAME-theme.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme.ng-invalid.ng-touched .md-select-value{color:"{{warn-A700}}"!important;border-bottom-color:"{{warn-A700}}"!important}md-select.md-THEME_NAME-theme.ng-invalid.ng-touched.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-value{border-bottom-color:"{{primary-color}}";color:"{{ foreground-1 }}"}md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-value.md-select-placeholder{color:"{{ foreground-1 }}"}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-accent .md-select-value{border-bottom-color:"{{accent-color}}"}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-warn .md-select-value{border-bottom-color:"{{warn-color}}"}md-select.md-THEME_NAME-theme[disabled] .md-select-icon,md-select.md-THEME_NAME-theme[disabled] .md-select-value,md-select.md-THEME_NAME-theme[disabled] .md-select-value.md-select-placeholder{color:"{{foreground-3}}"}md-select.md-THEME_NAME-theme .md-select-icon{color:"{{foreground-2}}"}md-select-menu.md-THEME_NAME-theme md-content{background-color:"{{background-hue-1}}"}md-select-menu.md-THEME_NAME-theme md-content md-optgroup{color:"{{foreground-2}}"}md-select-menu.md-THEME_NAME-theme md-content md-option{color:"{{foreground-1}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[disabled] .md-text{color:"{{foreground-3}}"}md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]).md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]):focus,md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]):hover{background-color:"{{background-500-0.18}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected]{color:"{{primary-500}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option[selected]:focus{color:"{{primary-600}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent{color:"{{accent-color}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent.md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent:focus{color:"{{accent-A700}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-ripple{color:"{{primary-600}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-ripple{color:"{{background-600}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-ink-ripple{color:"{{foreground-2}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-ink-ripple{color:"{{primary-color-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-icon{background-color:"{{primary-color-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected].md-focused .md-container:before{background-color:"{{primary-color-0.26}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-icon:after{border-color:"{{primary-contrast-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-indeterminate[disabled] .md-container{color:"{{foreground-3}}"}.md-checkbox-enabled.md-THEME_NAME-theme md-option .md-text{color:"{{foreground-1}}"}md-sidenav.md-THEME_NAME-theme,md-sidenav.md-THEME_NAME-theme md-content{background-color:"{{background-hue-1}}"}md-slider.md-THEME_NAME-theme .md-track{background-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme .md-track-ticks{color:"{{background-contrast}}"}md-slider.md-THEME_NAME-theme .md-focus-ring{background-color:"{{accent-A200-0.2}}"}md-slider.md-THEME_NAME-theme .md-disabled-thumb{border-color:"{{background-color}}";background-color:"{{background-color}}"}md-slider.md-THEME_NAME-theme.md-min .md-thumb:after{background-color:"{{background-color}}";border-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme.md-min .md-focus-ring{background-color:"{{foreground-3-0.38}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-thumb:after{background-color:"{{background-contrast}}";border-color:transparent}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete][md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme .md-track.md-track-fill{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-thumb:after{border-color:"{{accent-color}}";background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign:after{border-top-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme[md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-thumb-text{color:"{{accent-contrast}}"}md-slider.md-THEME_NAME-theme.md-warn .md-focus-ring{background-color:"{{warn-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-warn .md-track.md-track-fill{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-thumb:after{border-color:"{{warn-color}}";background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign:after{border-top-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn[md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-thumb-text{color:"{{warn-contrast}}"}md-slider.md-THEME_NAME-theme.md-primary .md-focus-ring{background-color:"{{primary-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-primary .md-track.md-track-fill{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-thumb:after{border-color:"{{primary-color}}";background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign:after{border-top-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary[md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-thumb-text{color:"{{primary-contrast}}"}md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after{border-color:transparent}md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after,md-slider.md-THEME_NAME-theme[disabled][md-discrete] .md-thumb:after{background-color:"{{foreground-3}}";border-color:transparent}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly][md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-disabled-thumb{border-color:transparent;background-color:transparent}md-slider-container[disabled]>:first-child:not(md-slider),md-slider-container[disabled]>:last-child:not(md-slider){color:"{{foreground-3}}"}.md-subheader.md-THEME_NAME-theme{color:"{{ foreground-2-0.23 }}";background-color:"{{background-default}}"}.md-subheader.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}.md-subheader.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}.md-subheader.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme .md-ink-ripple{color:"{{background-500}}"}md-switch.md-THEME_NAME-theme .md-thumb{background-color:"{{background-50}}"}md-switch.md-THEME_NAME-theme .md-bar{background-color:"{{background-500}}"}md-switch.md-THEME_NAME-theme.md-focused:not(.md-checked) .md-thumb:before,md-switch.md-THEME_NAME-theme.md-focused[disabled] .md-thumb:before{background-color:"{{foreground-4}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-ink-ripple{color:"{{accent-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-thumb{background-color:"{{accent-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-bar{background-color:"{{accent-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-focused .md-thumb:before{background-color:"{{accent-color-0.26}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-ink-ripple{color:"{{primary-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-thumb{background-color:"{{primary-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-bar{background-color:"{{primary-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary.md-focused .md-thumb:before{background-color:"{{primary-color-0.26}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-ink-ripple{color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-thumb{background-color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-bar{background-color:"{{warn-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn.md-focused .md-thumb:before{background-color:"{{warn-color-0.26}}"}md-switch.md-THEME_NAME-theme[disabled] .md-thumb{background-color:"{{background-400}}"}md-switch.md-THEME_NAME-theme[disabled] .md-bar{background-color:"{{foreground-4}}"}md-tabs.md-THEME_NAME-theme md-tabs-wrapper{background-color:transparent;border-color:"{{foreground-4}}"}md-tabs.md-THEME_NAME-theme .md-paginator md-icon{color:"{{primary-color}}"}md-tabs.md-THEME_NAME-theme md-ink-bar{color:"{{accent-color}}";background:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme .md-tab{color:"{{foreground-2}}"}md-tabs.md-THEME_NAME-theme .md-tab[disabled],md-tabs.md-THEME_NAME-theme .md-tab[disabled] md-icon{color:"{{foreground-3}}"}md-tabs.md-THEME_NAME-theme .md-tab.md-active,md-tabs.md-THEME_NAME-theme .md-tab.md-active md-icon,md-tabs.md-THEME_NAME-theme .md-tab.md-focused,md-tabs.md-THEME_NAME-theme .md-tab.md-focused md-icon{color:"{{primary-color}}"}md-tabs.md-THEME_NAME-theme .md-tab.md-focused{background:"{{primary-color-0.1}}"}md-tabs.md-THEME_NAME-theme .md-tab .md-ripple-container{color:"{{accent-A100}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper{background-color:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{accent-A100}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{accent-contrast}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{accent-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{color:"{{primary-600-1}}";background:"{{primary-600-1}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper{background-color:"{{primary-color}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{primary-100}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{primary-contrast}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{primary-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper{background-color:"{{warn-color}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{warn-100}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{warn-contrast}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{warn-contrast-0.1}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{primary-color}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{primary-100}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{primary-contrast}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{accent-color}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{accent-A100}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{accent-contrast}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{accent-contrast-0.1}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{color:"{{primary-600-1}}";background:"{{primary-600-1}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{warn-color}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{warn-100}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{warn-contrast}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{warn-contrast-0.1}}"}md-toast.md-THEME_NAME-theme .md-toast-content{background-color:#323232;color:"{{background-50}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button{color:"{{background-50}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight{color:"{{accent-color}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight.md-primary{color:"{{primary-color}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight.md-warn{color:"{{warn-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar){background-color:"{{primary-color}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-icon{color:"{{primary-contrast}}";fill:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) .md-button[disabled] md-icon{color:"{{primary-contrast-0.26}}";fill:"{{primary-contrast-0.26}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent{background-color:"{{accent-color}}";color:"{{accent-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent .md-ink-ripple{color:"{{accent-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-icon{color:"{{accent-contrast}}";fill:"{{accent-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent .md-button[disabled] md-icon{color:"{{accent-contrast-0.26}}";fill:"{{accent-contrast-0.26}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn{background-color:"{{warn-color}}";color:"{{warn-contrast}}"}.md-panel.md-tooltip.md-THEME_NAME-theme{color:"{{background-700-contrast}}";background-color:"{{background-700}}"}body.md-THEME_NAME-theme,html.md-THEME_NAME-theme{color:"{{foreground-1}}";background-color:"{{background-color}}"}',"JOB_LINK_KIND ","&hide_media=","SYSREQ_EDOC_TYPE_REQ_DESCRIPTION_LOCALIZE_ID ","md-stretch-tabs","IProcessMessage ","IECertificates ","rgb(255, 102, 102)","enumerateDevices",'"sip"',"material.components.select","recover_attempts","CArrayElement ","[^a-zA-Z0-9_\\}\\$]","hashPrefix",'<md-input-container class="md-block"><md-content flex="" layout-padding="" layout="row" layout-align="center center"><pre>\n      <span class="formItem-content">{{LabelView.formItem.value}}</span>\n    </pre></md-content></md-input-container>',"Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer ","663399","#0099CC","f5f5dc","asHours","mouseup touchend",'aria-label="Previous Page" ',"hasAriaLabel","[у] dddd [у] LT","tuntia","INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE ","година","podspec","POSITIVE_INFINITY","__uiNodeId","#ffff00","#d81b60","heart_decoration","rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll ","eventElement","network_send_udp network_send_udp_raw network_set_timeout ","OpenFile ","valuesIn","ev_global_left_button ev_global_right_button ev_global_middle_button ","<md-tab-body></md-tab-body>","mdMaxlength","ads_engagement_active ads_event ads_event_preload ","SCALE","modalRendered","padHours","получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации ","parser value"," remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions","SYSRES_CONST_IS_PUBLIC_ROLE_REQUISITE_CODE ","easingEffects","SYSREQ_CONST_COMMON_VALUE ","foreground","NG_EMBED_FILTER_DEFAULT_OPTIONS","toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle ","uibTooltipClasses","ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY ","UNDERSCORE_TITLE_MODE","progressSize","sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed ","backdropClass","mesecem","Couldn't add part, first arg has to be a string","candidate","#1e88e5","ds_queue_size ds_queue_empty ds_queue_enqueue ds_queue_dequeue ","revolving_hearts","000","GGGG[W]WWE","onmousedown","construction_worker","compassRead analogWrite interrupts WiFiServer ","insert intersect into is join key keys keyspace known last left let letting like limit lsm map ","SSSSSSSS",": <- Rejected ","mdColorPickerContainer.tpl.html"," cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform","SYSRES_CONST_MESSAGE_ATTENTION_CAPTION ","I IconData Iconize IconizedObject IconRules Icosahedron Identity IdentityMatrix If IgnoreCase IgnoreDiacritics IgnorePunctuation IgnoreSpellCheck IgnoringInactive Im Image Image3D Image3DProjection Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageApplyIndexed ImageAspectRatio ImageAssemble ImageAugmentationLayer ImageBoundingBoxes ImageCache ImageCacheValid ImageCapture ImageCaptureFunction ImageCases ImageChannels ImageClip ImageCollage ImageColorSpace ImageCompose ImageContainsQ ImageContents ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDisplacements ImageDistance ImageEffect ImageExposureCombine ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageFocusCombine ImageForestingComponents ImageFormattingWidth ImageForwardTransformation ImageGraphics ImageHistogram ImageIdentify ImageInstanceQ ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarker ImageMarkers ImageMeasurements ImageMesh ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImagePosition ImagePreviewFunction ImagePyramid ImagePyramidApply ImageQ ImageRangeCache ImageRecolor ImageReflect ImageRegion ImageResize ImageResolution ImageRestyle ImageRotate ImageRotated ImageSaliencyFilter ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions ImagingDevice ImplicitRegion Implies Import ImportAutoReplacements ImportByteArray ImportOptions ImportString ImprovementImportance In Inactivate Inactive IncidenceGraph IncidenceList IncidenceMatrix IncludeAromaticBonds IncludeConstantBasis IncludeDefinitions IncludeDirectories IncludeFileExtension IncludeGeneratorTasks IncludeHydrogens IncludeInflections IncludeMetaInformation IncludePods IncludeQuantities IncludeRelatedTables IncludeSingularTerm IncludeWindowTimes Increment IndefiniteMatrixQ Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentPhysicalQuantity IndependentUnit IndependentUnitDimension IndependentVertexSetQ Indeterminate IndeterminateThreshold IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers InfiniteLine InfinitePlane Infinity Infix InflationAdjust InflationMethod Information InformationData InformationDataGrid Inherited InheritScope InhomogeneousPoissonProcess InitialEvaluationHistory Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InitializationObjects InitializationValue Initialize InitialSeeding InlineCounterAssignments InlineCounterIncrements InlineRules Inner InnerPolygon InnerPolyhedron Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionFunction InsertionPointObject InsertLinebreaks InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Insphere Install InstallService InstanceNormalizationLayer InString Integer IntegerDigits IntegerExponent IntegerLength IntegerName IntegerPart IntegerPartitions IntegerQ IntegerReverse Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction Interpreter InterpretTemplate InterquartileRange Interrupt InterruptSettings IntersectingQ Intersection Interval IntervalIntersection IntervalMarkers IntervalMarkersStyle IntervalMemberQ IntervalSlider IntervalUnion Into Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHankelTransform InverseHaversine InverseImagePyramid InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InverseMellinTransform InversePermutation InverseRadon InverseRadonTransform InverseSeries InverseShortTimeFourier InverseSpectrogram InverseSurvivalFunction InverseTransformedRegion InverseWaveletTransform InverseWeierstrassP InverseWishartMatrixDistribution InverseZTransform Invisible InvisibleApplication InvisibleTimes IPAddress IrreduciblePolynomialQ IslandData IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemAspectRatio ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess","yLabel","de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre","renegotiate","isang araw","1 分钟","SELECTION_BEGIN_ROUTE_EVENT ","@fieldSeparator","@(font-face|page)","\\(|#|//|/\\*|\\\\|:|;","dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy ","hammer","polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge ","cloneHidden","buildBlankCell","osVersion","ldctAnalyticReport ","[Il-bieraħ fil-]LT","chipRemoveTemplate"," ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi","બપોર","SCRIPT_BLOCK_SCRIPT_PROPERTY ","__Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e ","closeOthers","'nji","reasonml","exports","vertex_usage_fog vertex_usage_depth vertex_usage_sample ","iPad","__stateObjectCache","$mdThemeName",'      <td ng-show="showMeridian"></td>\n',"$evalAsync","&lang=","deep-orange","SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE ","$mdColorPicker","(min-width: 1280px) and (max-width: 1919px)","%d năm","tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir","вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун","db7093","RTP_TIMEOUT","%d ure","\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+|V10 \\b4G\\b","ui.bootstrap.rating","possition","%d hores","a8m.angular","SYSRES_CONST_REQUISITE_NUMBER_REQUISITE_CODE ","session_expires","registerPluginResource rehash reloadImage removeJoint removeMultiInstance ","animateClose","allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage ","Get-NsxEdgeBgpNeighbour Get-NsxEdgeCertificate Get-NsxEdgeCsr Get-NsxEdgeFirewall Get-NsxEdgeFirewallRule Get-NsxEdgeInterface Get-NsxEdgeInterfaceAddress ","md-tab","SwipeDown","af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin","  </div>","aspectRatio","afterWhere","leto",")((\\-|/)[a-zA-Z0-9]+)*\\s","paramExpr","breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode ","onRemove","ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ","standalone","_weekdaysParse","[ཁ་སང] LT","onFailed","physics_particle_get_radius physics_particle_get_density ","spectrum","%d eilenn","nolla","unha hora","simulcast","position","rgb(0, 245, 123)","createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject ","_titleFontFamily","%d dagen","getResolvable","SYSRES_CONST_REQUISITE_SECTION_BUTTONS ","%d 年","AngularJS Material already has mobile click, tap, and swipe support... \n","\\|#","एका मिणटान",'md-tabs-template="::tab.label" ',"New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy ","fa %s","en-il","getConstraintHeight","polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet ","quote|ranbin|rancau|ranexp|rangam|range|rank|rannor|","één week",'emit "getusermediafailed" [error:%o]',"uib-position-body-scrollbar-measure","أفريل","nodesFingerprint","&show_reposts=","வைகறை","contentIdFor","Animation"," grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path","extend","msRequestAnimationFrame","%d жыл","SYSRES_CONST_TEXT_REQUISITE_CODE ","white_circle","e61e","_parseColor","SYSREF_ADMINISTRATION_HISTORY ","achievement_event achievement_show achievement_get_info ","Bada","shell","@autoreleasepool @synthesize @dynamic @selector @optional @required ",'"1"',"a8m.search-field","mdOrientHorizontal","Windows Phone OS [VER]","%r{","_onData","_owner","#ff8a65","[\\[\\{]","ޖެނުއަރީ","|\\b(return)\\b)\\s*","ui.bootstrap.alert","PRIVILEGE_DEVELOPMENT_EXPORT ","promiseResolved","rsc_ticket acl_target acl_group user role ","godziny","%d ខែ",'";"',"DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA ","isn't|(doesn't|does not) (equal|come before|come after|contain)|","getRingIndex","stroke-dashoffset","no_answer_timeout","dddd, D MMMM [năm] YYYY HH:mm","mouseup mouseleave touchend touchcancel pointerup pointercancel",'"_"',"queryKey","escapeToClose","currentExpires","نومبر","parsingFlags","%d marama","older_woman","isRtl","evil","inputKeydown","DQUOTE","md-menu-content","down",'":"',"NAME ","gom-latn"," gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command","ng-repeat","MMMM","#CC6600","adc|","zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 ","TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100","mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour ","[ièr a] LT","authorization_user","closedDeferred","(?:0|1)[0-9]|2[0-3]","рен","DECISION_BLOCK_RESULT_TYPE_PROPERTY DECISION_BLOCK_SECOND_OPERAND_PROPERTY ","_md-slider-container","petang","SYSRES_CONST_LINK_OBJECT_KIND_JOB ","_cloneId","usBlueSquare ","MD-DIALOG","[ביום] dddd [האחרון בשעה] LT","AMPMS","TimingFunction","στη","SYSRES_CONST_CODE_REQUISITE_COMPONENT ","endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities ","SYSRES_CONST_MESSAGE_ERROR_CAPTION ","newPanelPosition","$$rAFMutex","newEndIndex","שעתיים","SYSDLG_SIGN_EDOCUMENT ","cellClickHandler","бірнеше секунд","mdGridTile","merge","nixos","clearHeaders","&lt;/3","ugc_query_CreatedByFollowedUsersRankedByPublicationDate ","First",'<md-dialog-actions layout="row">',"abs batch capitalize column convert_encoding date date_modify default ","mdTransformChip","^\\=begin","geoshape int list matrix4x4 parent point quaternion real rect ","vsmMultiple ","omission","kind of rule","infix infixl infixr","tinan ida","instance_deactivate_layer camera_create camera_create_view ","weak_odr appending dllimport dllexport common ","@private @protected @public @try @property @end @throw @catch @finally ","useMissingTranslationHandler","getDistanceFromCenterForValue"," integrate_use_rootsof integration_constant integration_constant_counter interpolate_color","ITaskCardWizardStep ",'         ng-class="{active: tabset.active === tab.index}"\n',"description","ena minuta","Markup '{0}' may not work as expected in IE Browsers. Consult '{1}' for details.","SYSREQ_USERS_USER_LOGIN ","bool byte i16 i32 i64 double string binary","iePointerMap","floppy_disk","Showing panel without animating.","_treeChanges","createLocalDescription()","dddd [على الساعة] LT","ien moanne","Unsafe and unexpected non-number result from $mdUtil.nextUid().","Sun OS","clock2",'        <input type="text" placeholder="MM" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementMinutes()" ng-blur="blur()">\n','      <td ng-show="showMeridian" class="uib-time am-pm"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n',"herb","^flowInit","YYYY[ko] MMM D[a] HH:mm","autocompleteCtrl","ວັນdddd D MMMM YYYY HH:mm","steppedLine","codepenEmbed","_route_set","<input ","sysget|syslput|sysprod|sysrc|sysrput|then|to|","Missing Contact header field","ФайлКопировать ","СистемаКод ","trackBy","uas","[$@]\\{","c_ltgray c_maroon c_navy c_olive c_purple c_red c_silver c_teal ","_compiled","(0|[1-9][\\d_]*)","icSelectRouteEventHandler ","<style(?=\\s|>)","reconnection attempt: ","לפנות בוקר","_defaultValueCache","self super nil true false thisContext","fallbackClass","number string","setDefaults","filled","6b8e23","then","\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)","bliain","[Eile,] LT","ثانية واحدة","abstract as val var vararg get set class object open private protected public noinline ","IPickValue ","</?","datepickerOptions.initDate","isScrollbarYUsingRight","Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB","[Иртнӗ] dddd LT [сехетре]","%d phút","ctrl.isOpen","[prejšnjo] [nedeljo] [ob] LT","stateProvider","CHAR","equals","secondary","SYSRES_CONST_JOB_STATE_COMPLETE ",'<div class="md-datepicker-expand-triangle"></div>',"%d ದಿನ","\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*","=?mdSelectOnMatch",'emit "peerconnection:setremotedescriptionfailed" [error:%o]',"wdtBoolean ","processed","SYSREQ_ID ","tBodies","^[ \\t]","getMilliseconds","indexOf","webkitRequestAnimationFrame","AUTO_NUMERATION_RULE_ID ","contentEl","DECISION_BLOCK_FIRST_OPERAND_PROPERTY DECISION_BLOCK_NAME_PROPERTY DECISION_BLOCK_OPERATION_PROPERTY ","$mdTabsChanged","getDependencies","ui.bootstrap.datepicker","menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL ","%d秒","مئی","selector-id","updateSnapshot","motorsStop keyPressed tempoWrite readButton ","INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN ","rgb(0, 0, 214)","role","%d uair an chloig",'<div class="md-off"></div>',"audio_start_sync_group audio_stop_sync_group audio_pause_sync_group ","siang","visibleWatcher","An Lùnastal","md-cell","attribute binding buffer ccw centroid centroid varying coherent column_major const cw ","md-mode-indeterminate","uploader","$stateEvents","एक दिन","nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref ","handleClickSelectLastYear","removeEvent","layer_background_htiled layer_background_vtiled ","multiplex","calcDimensions","СпрСоздать ","comment endcomment load templatetag ifchanged endifchanged if endif firstof for ","undefined JsSIP.Socket instance","activateViewConfig","hand","display_reset display_mouse_get_x display_mouse_get_y ","_createController","to-tag","SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY ","deltaX","één uur","%d maande","SYSRES_CONST_REQUISITE_SECTION_TABLE ","cxx","Meán Fómhair","Concorde([ ]+)?Tab|ConCorde ReadMan","maxptime","преди %s","onreconnect","%d uairean","#e6ee9c","redirectTo","preferredLanguage","mdSlider","'n jaar","interpolate","poop","SYSRES_CONST_MANUAL_ENUM_METHOD_FLAG ","SYSRES_CONST_AUTOTEXT_USAGE_SIGN_CODE ","thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents ","SYSRES_CONST_OPTIONAL_FORM_COMP_REQCODE_PREFIX ","createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer ","os_ps3 os_xbox360 os_uwp os_tvos os_switch ","sokallim","material.components.fabToolbar","setDate","CSubString ","Youtube authentication key is required to get data from youtube.","s*(,","Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec","meridian","isError",'    <md-button class="md-action" ng-if="toast.action" ng-click="toast.resolve()" ','"25"',"layout-lt-md","asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement ","%d uur","Requisite ","FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION ","_registerCoreTransitionHooks","session onhold","M/d/yyyy","emChangeEncodeTypeToCertificate ","секунди","isRejectionPromise",'src="https://gist.github.com/',"%d સેકંડ","NNNNN","mediaclk:","scrollbarXBottom","Remove-NsxMacSet Remove-NsxSecondaryManager Remove-NsxSecurityGroup Remove-NsxSecurityGroupMember Remove-NsxSecurityPolicy Remove-NsxSecurityPolicyAssignment ","removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret ","SYSRES_CONST_SBDATASETDESC_POSITIVE_VALUE ","calculateMD5","maxParam","identity","SOCKET_STATUS_READY","СоздатьДиалогВыбораПапки ","defineTheme","spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString ","asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp ","protobuf","opts","animateDateChange","}[a-z]*","_local_uri","dddd, D MMMM YYYY, A h:mm बजे","SYSRES_CONST_HISTORY_ACTION_EDIT_CODE ","januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember","%d m~íñú~tés","box-sizing","gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose "," quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan","SYSREQ_EDOC_TYPE_VIEW_CODE ","clojure-repl","primitive rsc_template","[a-f]"," perce","frog","chipInputTemplate","[నేడు] LT","interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf ","Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)","%d ngày","ਦੁਪਹਿਰ","textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath ","PATH ",".listmac .macro .nolist .org .set","loop for declare others","setParam","stretch","selectedMessage","бир саат",":-\\|--\x3e","OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE ","dateStart","Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.","$mdTabsTemplate","%d segundo","rgb(0, 0, 163)","md-active","isMobile","  <ul class=\"nav nav-{{tabset.type || 'tabs'}}\" ng-class=\"{'nav-stacked': vertical, 'nav-justified': justified}\" ng-transclude></ul>\n","#bcaaa4","$md-resize","overflow-y","Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture ","beforeSetClass","Scale","$mdInterimElementRemove",'"uuid:"',":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)","sr-cyrl","angucomplete-alt:changeInput","ui.router"," -> ","gridster-item-initialized","icWizardFinishEventHandler ","Cannot use higher-order sections without the original template","hide-lt-lg","a8m.range","onInputEvent","User-Agent: ","#33CC99","requested does not exist. Use the $mdPanelProvider to create a ","%d 個月","vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap ",'<span class="md-button" ng-click="datepicker.selectYear(item)" md-ink-ripple ng-class="{ \'md-primary current\': item == year }">{{ item }}</span>',"art","snap"," bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition","where with yield yieldhome",".columnContainer","[Hoje às] LT","SYSREQ_USERS_FULL_USER_NAME ","getTimestampFromNode","f0f8ff","glWidth","$set","addColumn","%d λεπτά","app/directives/form-item/form-item.html","calculateBarHeight","mdSidenav: couldn't find element matching ","SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533","form","a-zA-Z_\\-!.?+*=<>&#'","\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b","SYSRES_CONST_STRING_TYPE_CHAR ","rgb(0, 0, 0)","revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames ","\\b\\d{3}\\b","[Σήμερα {}] LT","unless","getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs ","_showClone","column-width","keysIn","reconPack","kuu aega","importance in inArea inAreaArray incapacitatedState inflame inflamed infoPanel ","mapValues","md-not-found","[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*","g.m.","483d8b","initOptionalProperties","_remote_target","9370db","catch finally then let this outer super is exists nonempty","lɛrɛ kelen","Toasts with actions should define an actionKey for accessibility.","mdColorPicker:colorSet","#-}","en-nz","toasty-clear","taurus","millisecond","short reinterpret_cast|10 default double register explicit signed typename try this ","substring","Not enough arguments","யாமம்","минуту","tunnin","mdColorDefaultTab","ship","cocktail","draw_highscore sprite_exists sprite_get_name sprite_get_number ","[oxhi à] LT","Local: ","[object Boolean]","$mdColors","scrollSize","#d84315","maxSizeX","\\b[a-z\\d_]*_t\\b","showLines","UTCToLocalTime ","[vo štvrtok o] LT","md-ripple-scaled md-ripple-active","cloneElement"," expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li",'"*"',"moveDownElement","matrix_build_projection_perspective_fov matrix_multiply ","keyup compositionend","SYSRES_CONST_AUTOTEXT_USAGE_SIGN ","env",'"&"',"tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp ","^?mdFabSpeedDial",'<div class="md-thumb"></div>',"ReferenceRequisiteMode ","$unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow ","%d jours","stopImmediatePropagation","getDaysInMonth","%d minutt","connection","eka mintan","unset","_$rootElement","SYSRES_CONST_WORK_RULES_DESCRIPTION_REQUISITE_CODE ","omit","یه‌ك ساڵ","[اڄ] LT","x86asm","(\\n{2}|_)","inputAriaLabelledBy","input_","_getSelectedOptions","$state","handleOnSelect","'md-center-tabs': $mdTabsCtrl.shouldCenterTabs ","a8m.rtrim","willInsertAfter","countBy","Function PageEx Section SectionGroup","IPickRequisiteDescription ","<%#","polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet ","=?ngDisabled","$http","bell","_weekdaysParseExact","exec","SYSRES_CONST_AUTOTEXT_USAGE_WORK ","شهر واحد","dddd [kepengker pukul] LT","resolvePolicy","gdevAuth","jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des","class interface namespace","положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента ","SYSRES_CONST_INT_REQUISITE ","Жк_Дй_Шй_Шр_Бй_Жм_Иш","s*:s*[a-z$_][0-9a-z$_]*((s*(","^\\=\\w",")*>)?","monthHeaderFormatter","Dé Máirt","ev_global_gesture_drag_end ev_global_gesture_flick ","%d روز","SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_YES_CODE ","resolveOptions","පැය","چۈشتىن بۇرۇن","Subscription-State: ","defaultTheme","setPosition","rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 ","swap","getRequestConfig","SYSREQ_USERS_AUTHENTICATION ","eyeglasses","repeatListExpression_","Wizards ","=?mdAutohide","durationIndeterminate","D MMMM YYYY, A h:mm","gpu_set_cullmode gpu_set_blendmode gpu_set_blendmode_ext ",'<div class="md-container">',"Windows Server 2003","TIMER_B","physics_particle_group_get_angle physics_particle_set_group_flags ","Safari","findLast","text-indent","scrollParent","escapeParameters","md-min","policy","#d4e157","invokeHooks","jQuery","SYSRES_CONST_BLUE_LIFE_CYCLE_STAGE_FONT_COLOR ","WorkTimeDiff ","styles","WriteFileEx ","Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4","cssFloat","      {{ dialog.cancel }}","MimeDecodeString ","MessageBox ","Build/[VER]","SYSRES_CONST_USE_ACCESS_TYPE_CODE ","4.17.20",'md-scope="::tab.parent"></md-tab-item> ',"RE_STARTERS_RE","md-body","startsWith","$$Map","metaKey","D_H_Ma_Më_E_P_Sh","_weekdaysRegex","[\\n]","DetectLocalIPAddress","activeElement","left_luggage","D [de] MMMM [de] YYYY h:mm A","[Última] dddd [às] LT","_local_seqnum",")) == null ? '' : __t) +\n'","GridsterItemCtrl","wptEDocumentInfo ","dddd, Do MMMM YYYY H:mm","sendInfo","-o-","icCreateNoticesHandler ","Invalid status: ","samp","#ff6f00","app/directives/form-items-container/form-items-container.html","_contact","iceRestart","uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version","getElementsByTagName","lastElementChild","buildDateCell","\\w[\\w :\\/.-]*:(?=[ \t]|$)","    <span ng-repeat-start=\"r in range track by $index\" class=\"sr-only\">({{ $index < value ? '*' : ' ' }})</span>\n","win8_livetile_notification_expiry win8_livetile_notification_tag ","allowMultiple","Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService ","parentNode","setDisableHeaderCheck","%, ",'<span ng-if="toast.onReject" class="md-button md-raised md-warn" ng-click="toast.onReject()">REJECT</span>',"wsbPause ","fakeElem","omitBy","autohotkey","addListener","legendCallback"," míuts","rdThisWeek ","Do MMM YYYY, [klo] HH.mm","analytics_event_ext win8_livetile_tile_notification ","newPanelAnimation","isToday",'<md-calendar-year ng-switch-when="year"></md-calendar-year>',"'handler' must be a string, function, TargetState, or have a state: 'newtarget' property","#4e342e","controllerProvider","declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults ","rgb(102, 179, 255)","SYSRES_CONST_AUTOTEXT_NAME_REQUISITE_CODE ","пред %s","segundu balun","%sទៀត","IServerEvent ","ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12","%s geažes","JⒿＪĴɈ","kahden","%d مانگ","scrollContainer","fallbackTolerance","SYSREQ_EDOC_TYPE_ACT_CODE ","$scope","locales","ds_grid_add_region ds_grid_multiply_region ds_grid_set_disk ","$mdGesture","sendACK","val is not a non-empty string or a valid number. val=","errored","edvstNone edvstEDocumentVersionCopy edvstFile edvstTemplate edvstScannedFile ","%d ár","encodeAsString","[^\\[\\]\\.,\\+\\-<> \r\n]","extractElementByName","\\b(TB-1207)\\b","$$csp","emChangeRights ","path_scale path_orientation path_endaction object_index id solid ","lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData ","описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных ","mesece","'Helvetica Neue', 'Helvetica', 'Arial', sans-serif","node-webkit","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","$mdTable","Minute","fffff0","\\s*=\\s*","vertex_format_add_custom vertex_create_buffer ","ctControlJob ","SYSREQ_REF_TYPE_VIEW_NAME_LOCALIZE_ID ","wsrGoNext ","addStream","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION_CODE ","rgb(255, 255, 153)","$resize","wdConfirmClick","Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema ","%d كۈن","decoded","rgba(255,255,255,1.0)","SYSRES_CONST_DATA_TYPE_FLOAT ","ariaLabelledBy","MULTIPLE_SELECT_DIALOG_CODE ",'<md-toolbar class="md-primary" layout="row" layout-align="start center">',"lbPictureRight lbSelection lbSetColor lbSetColorRight lbSetCurSel lbSetData lbSetPicture ","surface_resize surface_free surface_exists surface_get_width ","rgb(153, 51, 255)","ی_د_س_چ_پ_ه_ش","vm.isOpen = false","colspan","=?mdpMaxTime","markdown","SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION ","SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION ","SYSRES_CONST_ACCESS_TYPE_EXISTS ","navItemAriaLabel","%d ýyl","_expires",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n',"ds_map_find_first ds_map_find_last ds_map_write ds_map_read ","dropdownAppendTo","calendarCtrl","enableMultiSelect","list","ctISBLEditor ","SYSRES_CONST_ADDITIONAL_PARAMS_REQUISITE_CODE ","ui.bootstrap.carousel","beforeFit","h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels "," message discarded","onicecandidate","ФайлИскать ","scan","skipToggle","Android.*Pixel C",'<path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9z"/><path d="M12 8v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"/>',"endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand ","te hēkona ruarua","Calendar","%d eur","distanceY","md-pane-open","toHexString","break continue discard do else for if return while switch case default ","PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET ","anchor","ikhWarning ","месяц_месяца_месяцев","getPolicy","each","words","Переменные ","LLL","wsbLifeCycleStage ","sync_reject_on table tagged task this throughout time timeprecision timeunit tran ","queryChildren","Get-VDUplinkLacpPolicy Get-VDUplinkTeamingPolicy Get-VDisk Get-VIAccount Get-VICommand Get-VICredentialStoreItem Get-VIEvent Get-VIObjectByVIView Get-VIPermission Get-VIPrivilege ","FX2 PAD7|FX2 PAD10","transitionHistory","INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION ","Якин %s ичида","object of open or private rec sig struct then to try type val virtual when while with","setDimensions","#00CCCC","waitTransitionEnd","Test-VsanStoragePerformance Test-VsanVMCreation Test-vRAPackage Uninstall-Module Uninstall-Package Uninstall-Script Unlock-VM Unregister-PSRepository Unregister-PackageSource ","50%","slides","COMPONENTS_REFERENCE_DEVELOPER_VIEW_CODE ","template","fb_login_no_fallback_to_webview fb_login_forcing_webview ","  Promises are not supported in $resource, because the same value would ","easeOutQuart","audio_get_recorder_info audio_start_recording audio_stop_recording ","SubStringCount ","property","variable",'<iframe class="ne-plunker" src="',"set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? ","#FF9900","ushr","timer_D","SYSRES_CONST_XML_ENCODING ","STATUS_DISCONNECTED","zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert ","socket.io-parser",":\\w+","типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты","Set-OSCustomizationNicMapping Set-OSCustomizationSpec Set-Org Set-OrgNetwork Set-OrgVdc Set-OrgVdcNetwork Set-PSCurrentConfigurationNode Set-PSDefaultConfigurationDocument ","find","sat","getClosest",'ng-href="{{ctrl.mdNavHref}}"',"mort|n|netpv|nmiss|normal|note|npv|open|ordinal|","f8f8ff","available","commit","if while do for foreach else switch case break default return try catch ","INPUT","_initTabs","catch","ps-y-reach-start","checkStickySupport","Get-PublicKeyFromStore Get-ResourcePool Get-Runspace Get-RunspaceDebug Get-ScsiController Get-ScsiLun Get-ScsiLunPath Get-SecurityInfo Get-SecurityPolicy Get-Snapshot ",'"}"',"_children",'<span class="mdp-clock-selected md-button md-raised md-primary"></span>',"BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR ","token","[W zeszłą środę o] LT","FindFile ","SYSRES_CONST_NORMAL_MODE_NAME ","invalidateTiles","To achieve the same results, use the panelContainer or panelEl ","type alias as infix infixl infixr port effect command subscription"," bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx","ldctStandardRoute ","labels","isEqualWith","FormQuestionBuilderId","\\s*[\\$\\w_][\\w_-]*","removeCloneOnHide","ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ","mdpOpenOnClick","egg","%d ra","app/directives/form-view/form-view.html","SYSRES_CONST_JOB_KIND_CONTROL_JOB ","\\*/","gesture_pinch_angle_away gesture_rotate_time gesture_rotate_angle ","SYSRES_CONST_REF_REQUISITE_TYPE ","black_joker","stack","BELOW","Dil",'Illegal lexeme "',"createLinearGradient","$init","svOnSort","فيفري","nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota",'<div layout="row">',"</ul>","preserveElement","view_object view_surface_id view_camera game_id game_display_name ","showWeeks",'<md-menu-content class="md-custom-menu-content" style="max-height: none!important; height: auto!important; padding: 0!important;">',"strtrans tabpagebuflist setcmdpos remote_read printf setloclist ","ngHref","arNone arView arEdit arFull ","ਸ਼ਾਮ","xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 ","velocityX","الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت","[a-zA-Z]\\w*","[Inné ag] LT","domain","ári","ignored","AudioContext","[wiki ijayo] dddd [saat] LT","refresher","Record-Route: ","cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add ","%s ལ་","disableBackdrop","SYSRES_CONST_SECTION_REQUISITE_DETAIL_5_VALUE ","dddd [tuần tới lúc] LT","Aibreán","\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<"," bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify","%d рӯз","EDOCUMENT_LINK_KIND ","ctPanelGroup ","uri_params","getOemKey tuneWrite noDisplay loadImage switchPIN ","alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint ","is_ptr is_vec3 is_vec4 is_matrix is_bool typeof ","[下]ddddLT","ecException ecWarning ecInformation ","deferIntercept","isGetUserMediaSupported","###","\\^#[0-9a-fA-F]+","LLLL","SSSSSSSSS","svPart","readability","isMatchWith","triggerContainerProxy","SYSRES_CONST_USER_CERTIFICATE_REQUISITE_CODE ","uib/template/typeahead/typeahead-popup.html","#!\\/usr\\/bin\\/env runhaskell","THEMES","libname|libref|log|log10|log2|logpdf|logpmf|logsdf|","Expected a child element of `md-epxansion-panel-collapsed`","handleClickSelectLastWeek","_registrar","^[0-9]+ ","post_office","deactivateViewConfig","[Lo scorso] dddd [a","finnadie","noIncrementHours","-_-","a=candidate:","eagerResolve","    </tr>\n","[I går klokka] LT","withAnimation","passphrase","libra","http://www.w3.org/2000/svg","ISelectDialog ","setNumPages","postgresql","steam_download_friends_scores steam_upload_score_buffer ","DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES ","SYSREF_DIALOGS ","#CC0099","\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)","display","^mdNavBar","D MMMM YYYY [i] HH:mm","\\\\'\\w","md-tabs-canvas","TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS ","kind","SYSREF_FUNCTIONS ","JsSIP:NonInviteServerTransaction",".md-input-messages-animation","_createRequest","mesecema","એક મિનિટ","warning error soft precedence thisAspectInstance","jsTreeCtrl","dddd D MMMM YYYY HH:mm","beginKeywords","ba55d3","bug","pendingMenuOpen","isFocused","использованиеусловногооформлениякомпоновкиданных ","layer_sprite_get_speed layer_sprite_get_xscale ","block","feelsgood","flex-basis","device_is_keypad_open device_mouse_check_button ","SYSREF_FOLDERS ","rectRot","pathNames","_requestFailed","[काल] LT","ಒಂದು ದಿನ",'"["',"isMatch",'aria-selected="{{ctrl.isSelected()}}" ',"УдСтрТблСпр ","draw_surface_stretched_ext draw_surface_tiled_ext ","getUserMedia","target-right","[la] D[-an de] MMMM, YYYY HH:mm","translate(","pragma private protected public pure ref return scope shared static struct ","targetScope","_expansion_panel_id_","save","siyang","[včeraj ob] LT","%d ثانية","EEE","longestText","cloneDeepWith","$assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff ","SYSREF_SYSTEM_SETTINGS ","lazyResolve","ຕອນເຊົ້າ","ownKeys","ühe päeva","$mdSelect","jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des"," poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal","vectorMagnitude vectorMagnitudeSqr vectorModelToWorld vectorModelToWorldVisual vectorMultiply ","md-fab-trigger","generated","table","mixed","Maemo",'<div class="mdp-calendar-monthyear" ng-show="!calendar.animating">{{ calendar.date.format("MMMM YYYY") }}</div>',"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर","_accepted","#e53935","SYSRES_CONST_ALL_USERS_GROUP_NAME ","getScaleDefaults","map max merge-with method-decorator min multi-decorator multicombinations name neg? next ","inputName","fa_hidden fa_sysfile fa_volumeid fa_directory fa_archive  ","cpID ","fromQuartzCron","first ftp integer abbreviated abbr abbrev private case while if ","<md-tab-data></md-tab-data> ","_closeDuration","audio_emitter_get_gain audio_emitter_get_pitch audio_emitter_get_x ","al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ","=?mdRemovable","caption-side","SYSREQ_USERS_DOMAIN ","_request","$$includeIndexes","mdInkRipple","sin|sinh|skewness|soundex|spedis|sqrt|std|stderr|","umzuzu","_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len ","outsideClick","readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference ","جانفي",'<div layout="row" layout-align="start center" layout-wrap class="mdp-calendar-days" ng-class="{ \'mdp-animate-next\': calendar.animating }" ng-show="!calendar.animating" md-swipe-left="calendar.nextMonth()" md-swipe-right="calendar.prevMonth()">',"mdp-chevron-right","generateTheme","enableDisconnect","dddd [um] LT [Uhr]"," tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch","barHeight","a8m.remove"," equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors","owner","dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl ","%d tau","useOnAddExpression","emSign ","\\b0x([A-Fa-f0-9_]+)","select_","getSeconds","D MMMM YYYY, A h:mm વાગ્યે","MouseEvents","ISecuredContext ","no-highlight","0 0 ","एक मिनट","query","window_view_mouse_get_y window_views_mouse_get_x ","after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if ","focusFirst","rgb(179, 102, 255)","do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable ","decoder","layerelementtype_oldtilemap layerelementtype_sprite ","indentPartial","currentIndex","[minulú stredu o] LT","SYSDLG_SETUP_DEFAULT_RIGHTS ",'md-max-date="ctrl.maxDate" ',"SIP/2.0/","#FF0099","dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB ","selectResult","pouting_cat","selectAndFocusChip","=mdColorPicker","ng-if","ctest_test ctest_update ctest_upload ","listLeave","apache","SYSRES_CONST_CODE_COMPONENT_TYPE_EXTERNAL_EXECUTABLE ","Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos","chartBar","mìos","local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat ","a, img","winnr invert pow getbufline byte2line soundfold repeat fnameescape ","material.core.meta",'"              ng-class="{ \'md-not-found\': $mdAutocompleteCtrl.notFoundVisible() }"              ng-mouseenter="$mdAutocompleteCtrl.listEnter()"              ng-mouseleave="$mdAutocompleteCtrl.listLeave()"              role="presentation">',"annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness ","секунду_секунди_секунд","column-fill","%d χρόνια","[اليوم على الساعة] LT","water_buffalo","withParams","audio_falloff_exponent_distance ","секунда","*/*","setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour ","[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT","<md-prev-button ","TRANSITION","not null constant access function procedure in out aliased exception","DataSetLocateEx ","dni","sendUpdate()","КонМес ","Content-Length: ","upperCase","findEmptyPositionReady findIf findNearestEnemy finishMissionInit finite fire fireAtTarget ","a8m.repeat","pow","maxRotation","The ng-model for md-datepicker must be a Date instance or a value ","%d дакика","beginRe","replaces","aria-describedby","una settimana","iPad.*CPU[a-z ]+[VER]","terminate",", __e = _.escape",",0.1)","buildDateRow","allow-opts divert-packet divert-reply divert-to flags group icmp-type","LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT","maddr=","template-variable","mdItemSize","-ти","getTrustedHtml","statusText","mdChecked","ui.bootstrap.typeahead","__utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ ","chart.js","box","ساعة واحدة","(\\$|\\b)","squash","$ctrl","CSS","payload","arrowkeys","tabset","IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250"," toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep","validateModel","px ","netType","[prošlu] [srijedu] [u] LT","Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job ","ui.bootstrap","left top right bottom width height","c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double ","um minuto","cr_arrow cr_cross cr_beam cr_size_nesw cr_size_ns cr_size_nwse ","900","obj-c",'      tooltip-template-transclude-scope="originScope()"></div>\n',"generateContent","_removeEventListeners","%d ئاي","goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop","#8d6e63","ps__scrollbar-x-rail","soniya","$md.swiperight","SYSRES_CONST_SQL_SERVER_ENCODE_AUTHENTIFICATION_FLAG_VALUE_CODE ","Forbidden"," ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof","789","appendChip","removeInterceptor","deleteHeader","md-table","layer_sprite_yscale layer_sprite_angle layer_sprite_blend ","svtContain ","_runtimeServices","</ol>\n","SYSRES_CONST_EDITORS_CREATE_SEVERAL_PROCESSES_REQUISITE_CODE ","$mdpDatePicker",'authenticate() | challenge with Digest algorithm different than "MD5", authentication aborted',"%dη","mode","jack_o_lantern","!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~","<i class='emoticon emoticon-","winrestcmd pumvisible writefile foldlevel haslocaldir keys cos ","_configuration","selectAll","[آج بوقت] LT","layout-lt-lg","اربع","месяц_месяцы_месяцаў","Unknown Resource-Priority","uibAlert","string","[W środę o] LT","JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH ","preparse","timer_J","ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ","activeMonth2","animDisplay animView annotate appendStringArray applicationName applyAttrPreset ","module schema namespace boundary-space preserve no-preserve strip default collation base-uri ordering context decimal-format decimal-separator copy-namespaces empty-sequence except exponent-separator external grouping-separator inherit no-inherit lax minus-sign per-mille percent schema-attribute schema-element strict unordered zero-digit ","_onTapStart","_uri","[غدا على الساعة] LT","SYSREQ_DESCRIPTION ","curWidth","audio_falloff_inverse_distance_clamped audio_falloff_linear_distance ","[sür el] dddd [lasteu à] LT","StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts","Jan 01, 1970 00:00:00 ","cloneDeep","beforeWhere",'      <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n',"-ھەپتە","addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|","request","survey","activeMonth","updatePagination","[I dag klokka] LT","ર_સો_મં_બુ_ગુ_શુ_શ","$timeout","'''|\x3c!--|--\x3e","[A-Za-z_%][0-9A-Za-z_%]*","relative","translateX(","состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс ","ERROR_CAPTION ","(\\bend\\b)","=?mdLimitOptions"," edge_color edge_coloring edge_partition edge_type edge_width %edispflag","_handleAutoScroll","enableInfoPanelComponent enableIRLasers enableMimics enablePersonTurret enableRadio enableReload ","paragraph",'     show-template="showTemplate" ',"cornerRadius","_panelComponentId_","over","firstBackpack flag flagAnimationPhase flagOwner flagSide flagTexture fleeing floor flyInHeight ","invalidMinutes","YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]","CheckParamValue ","endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error ","FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES ","strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan ","angry","uniqueId","canPageBack","templateData","[το προηγούμενο] dddd [{}] LT","1873-01-01","that can be parsed into a date. Currently the model is of type: ","md-chips>*[","skipFocus","SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_CODE ","keyPressedOnInput","thing room person man woman animal container ","ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.","nekaj sekund","отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы ","Do MMMM YYYY","seven",")\\s",'aria-label="',"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei","bindKey","vertical-align","INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 ","%d דקות","add_subdirectory add_test aux_source_directory build_command create_test_sourcelist ","D [a viz] MMMM YYYY","c++","match mod Prop return Set then Type using where with ","localeData","  <span>{{ngModel.selectedTemplateName || placeholder}}</span>","ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை","layer_sprite_get_blend layer_sprite_get_alpha layer_sprite_get_x ","maxDuration","if then else do while until for loop import with is as where when by data constant ",'<div class="md-bar md-bar2"></div>','}" ',"flow::","Previous","режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения ","[ma] LT[-kor]","colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem ","getFullYear","titleFontSize","achievement_filter_favorites_only ","_inkbar","chrome","drag","noToggleMeridian","_isHtml5","#b9f6ca","SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies ","%d 秒","uib/template/progressbar/bar.html","wsbConnector ","CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE ","while for foreach times in case when match with break continue ","#b[0-1]+(/[0-1]+)?","SYSRES_CONST_TYPE_REQUISITE_CODE ","'n paar sekondes","a8m.unique","@[a-zA-Z_][a-zA-Z_\\d]*","isAlreadyOpening","im1bMonochrome ","</label>","MONITOR_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY ","An Cèitean","lookup","^\\s*%%[A-Za-z0-9_$#@~.?]*:","inputDirective","urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua","afterFooter","Arguments","at tagged generic package task begin goto pragma terminate ","IsFileLocked ","md-row","Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2","rgba(255, 255, 0, 1.000)","/%s","wfepText15 ","%d ore","tunti","не_по_ут_ср_че_пе_су","win8_livetile_tile_clear win8_livetile_badge_notification ","text/plain","[včera o] LT","rgba(255, 255, 255, 1.000)","_remote_uri","maxSelections","sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan ","[a-z/_]+","Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv ","BeginOfPeriod ","aria-readonly","removeGroup","GGGG[W]WW","unionWith","bernoulli bernoulli_logit binomial binomial_logit ","_definePathType","texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext ","Li_Lu_Ma_Mi_Hu_Bi_Sab","fallen_leaf","raised_hand","polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection ","%d دقيقة","[ယနေ.] LT [မှာ]","floatingLabel","rgb(255, 230, 204)","barSpacing","CONNECT","FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 ","hasKey","SYSRES_CONST_ACTION_TYPE_LOCK_MODIFY ","NOTIFY","getHoverColor","dseOnDeleteError ","SAS",'<div class="md-track-container">',"maH","placementClassPrefix","originalDevicePixelRatio","wfatFinish ","MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712","rgb(102, 255, 255)","bodyElement",'authenticate() | using qop=null [a2:"%s"]',"str char bool ","nginx","IPickRequisiteItem ","dolphin","crypto:%d %s %s","timeout times to transaction try until where while whose with ","Day","വൈകുന്നേരം","daccsl|daccsyd|dacctab|dairy|date|datejul|datepart|","This transition is invalid","dddd D. MMMM YYYY [kl.] HH:mm",'<mdp-clock class="mdp-animation-zoom" ampm="timepicker.ampm" auto-switch="timepicker.autoSwitch" time="timepicker.time" type="minutes" ng-switch-when="2"></mdp-clock>',"YYYY년 MMMM D일 dddd A h:mm","ty2","par sekundi","xAlign","audio_listener_velocity audio_listener_orientation ","Set-vRAEntitlement Set-vRAExternalNetworkProfile Set-vRANATNetworkProfile Set-vRAReservation Set-vRAReservationNetwork Set-vRAReservationPolicy Set-vRAReservationStorage ","ISignProvider3 ","openOnFocus","deterministic diagnostics difference dimension direct_load directory disable disable_all ","case-lambda call/cc class define-class exit-handler field import ","Set-CustomAttribute Set-Datacenter Set-Datastore Set-DatastoreCluster Set-DrsClusterGroup Set-DrsRule Set-DrsVMHostRule Set-FloppyDrive Set-Folder Set-HCXAppliance ","wdtPickSet ","flex-order-lt-lg","page_facing_up","(\\bdef\\b)","md-slider","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION ","getPointPositionForValue","%5C%","$isRendered","oor %s","coq","focusInput","linky","__esModule","މިނިޓެއް","ПапкаСуществует ","-го","assert failure","missing channel labels property: ","default","unu minuto","flattenR","stata","argc count getwinvar glob foldtextresult getreg foreground cosh ","out","matchstr foldtext histnr tan tempname getcwd byteidx getbufvar ","zzz","creationContext","cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ","[今天] LT","НаимСпр ","transaction",'"false"',"animateWith","SYSRES_CONST_DATETIME_FORMAT_VALUE ","mangleOffer() | remote on hold, mangling offer","CharPos ","gridster-resizable-changed","atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits ","pascalprecht.translate.$translateSanitization: Error cannot interpolate parameter due recursive object","action","app/directives/input-item/input-item.html","embed","isNil","एक दीस","connectTerminalToUAV controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count ","COMPONENT_TOKEN_LOCK_TYPE EDOCUMENT_VERSION_LOCK_TYPE ","output","a8m.math.radians",'<md-input-container class="md-block"><input ng-model="InputView.formItem.value" type="{{InputView.formItem.config.type}}" placeholder="{{InputView.formItem.config.placeholder}}" ng-required="InputView.formItem.config.required"><div ng-messages="InputView.form.$error"><div ng-message="required">This field is required</div></div></md-input-container>',"renegotiate()","cloakClassName","$mdProgressCircular","InputValue ","abort else new return abs elsif not reverse abstract end ","other","debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv ","Temporarily Unavailable","mdDiameter","setCapture","週日_週一_週二_週三_週四_週五_週六","$md.swipeleft $md.swiperight $md.swipeup $md.swipedown","Glob","results","SYSRES_CONST_REQUISITE_SECTION_TABLE6 ","afterDataLimits","punch","forInRight","%d خوله‌ك","TEST_DEV_DB_NAME ","JOB_BLOCK_PERFORMER_PROPERTY ","gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 ","LABColor Label Labeled LabeledSlider LabelingFunction LabelingSize LabelStyle LabelVisibility LaguerreL LakeData LambdaComponents LambertW LaminaData LanczosWindow LandauDistribution Language LanguageCategory LanguageData LanguageIdentify LanguageOptions LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCHColor LCM LeaderSize LeafCount LeapYearQ LearnDistribution LearnedDistribution LearningRate LearningRateMultipliers LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessEqualThan LessFullEqual LessGreater LessLess LessSlantEqual LessThan LessTilde LetterCharacter LetterCounts LetterNumber LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryDataType LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox Line3DBoxOptions LinearFilter LinearFractionalOptimization LinearFractionalTransform LinearGradientImage LinearizingTransformationData LinearLayer LinearModelFit LinearOffsetFunction LinearOptimization LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBoxOptions LineBreak LinebreakAdjustments LineBreakChart LinebreakSemicolonWeighting LineBreakWithin LineColor LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRankCentrality LinkRead LinkReadHeld LinkReadyQ Links LinkService LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot ListDensityPlot3D Listen ListFormat ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListSliceContourPlot3D ListSliceDensityPlot3D ListSliceVectorPlot3D ListStepPlot ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalAdaptiveBinarize LocalCache LocalClusteringCoefficient LocalizeDefinitions LocalizeVariables LocalObject LocalObjects LocalResponseNormalizationLayer LocalSubmit LocalSymbol LocalTime LocalTimeZone LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogisticSigmoid LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongestOrderedSequence LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow LongShortTermMemoryLayer Lookup Loopback LoopFreeGraphQ LossFunction LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowerTriangularMatrixQ LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LunarEclipse LUVColor LyapunovSolve LyonsGroupLy","force gcd imag-part inexact->exact inexact? input-port? integer->char ",":[^\\]]+","මාසය","handleParentClick","restoreFocus","Not Found","tickValues","[Ddoe am] LT","footerFontStyle","en time","%s yang lepas","resize","vm.direction","@?mdEscapeOptions","SYSRES_CONST_HISTORY_ACTION_CREATE_CODE ","true try type upcast use val void when while with yield","__takeCount__","يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر","__core-js_shared__","GGG","receiveReinvite()","Subscription does not exist","FADE","\\(|=>","case if select unless until when while","groupName","za %s","uniqBy","$fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control ","wss://echo.websocket.org:443/","msSaveOrOpenBlob","local|lowcase|macro|mend|nrbquote|nrquote|","module","SYSRES_CONST_REPORT_BASE_REPORT_REQUISITE_CODE ","Searches ","elm","touch","#ff1744","oc-lnc","REFER","([G])([0-9]+\\.?[0-9]?)","$$multiMap","dddd, D MMMM YYYY, A h:mm","ITabSheet ","$dismiss($value)"," dialog created with status ","layout","subContext","%s pärast","substr","background-size","global if import importall let local macro module quote return true try using while ",".md-container","ReferenceRequisiteValue ","nav",".md-panel","minútu","mountain_railway","sandal","sticky-state","pagehide","d'a","^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b","beforeLabel","deprecationHandler","clock1230","D [ב]MMMM YYYY HH:mm","SYSREQ_FUNC_PARAM_DEF_VALUE ","rdToday ","[mâine la] LT",'[a-z]+"',"[=#]\\w+","md-fab-action-item","#ff9100","left top right bottom width height x y min-width min-height max-width max-height","reset input blur","ps__scrollbar-y-rail","SYSRES_CONST_ORIGINALREF_REQUISITE_CODE ","elements","endAngle","BEFORE_NG_ARIA","cronStyle","construct","     ng-style=\"{'z-index': 1040 + (index && 1 || 0) + index*10}\"\n","md-tab-item","$interpolate","sticky-prev-state","dnd_","LookUpReference ","distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow ","encoding packet %j","نوفمبر","an hour","defer","afterDraw","SYSRES_CONST_APP_VIEWER_TYPE_REQUISITE_CODE ","defaultTarget","edstSQLServer edstFile ","shit","Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)","uibPagination","isOnHold","SYSRES_CONST_SCRIPT_BLOCK_DESCRIPTION ","lipstick","identifier","Remove-NsxLogicalRouterOspfInterface Remove-NsxLogicalRouterPrefix Remove-NsxLogicalRouterRedistributionRule Remove-NsxLogicalRouterStaticRoute Remove-NsxLogicalSwitch ","value","UP_ARROW","hasClass"," std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace","questionTypeChanged","000080","_cseq","СистемаДиректумКод ","Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",'"."',"TrackGeometryWindow TrackIndex TrackStartTime TrackWindow TypeOf Union UrlEncode Variance ","useLoader","$mdBottomSheet","SYSRES_CONST_NAMEAN_INPUT_TYPE ","_Nonnull _Nullable _Null_unspecified ","typeaheadSelectOnBlur",'  <span class="sr-only">next</span>\n',"\\n^[=\\*]{4,}$"," quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile","uriEncode","getCursorObjectParams getCustomAimCoef getDammage getDescription getDir getDirVisual ","MD-SELECT",'<div layout layout-align="center center" ng-repeat="d in calendar.weekDays track by $index">{{ d }}</div>',"xmlns:ns1","_qop","trace","hushed","uri_headers","soatAccount ","EXPIRES","%d years","filterMode","\\b(0[oO][0-7]+)","[bugün sagat] LT","infix infixl infixr foreign export ccall stdcall cplusplus ","icIntegratedReport ","is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest ","YYYY [m.] MMMM D [d.], HH:mm [val.]","end","iap_failed iap_unavailable iap_available iap_purchased iap_canceled ","#FF6633","FALLBACK_PHONE","xscheme","%s پوء","getParentWithPointerEvents","isInputValid","select,[contenteditable]","Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",'<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"/><path d="M0 0h24v24H0z" fill="none"/></svg>',"wfepText30 ","TASK_LINK_KIND ","true false null undefined ","hasAttribute","standard","CreateArray ","rport","Окно ","sss","and","align-bottoms","Couldn't refresh translation table, no loader registered!","REPLICATION_SEANCES_DIARY_PSEUDOREFERENCE_CODE ","toHex8String","displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam ","md-select-header","invalidHours","રાત","автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий ","#4fc3f7","resetChipBuffer","[object WeakSet]","btDetailAnd ","ALL_AVAILABLE_PRIVILEGES_PSEUDOREFERENCE_CODE ","dispose",'<span ng-class="{ \'active\': timepicker.currentView == timepicker.VIEW_HOURS }" ng-click="timepicker.currentView = timepicker.VIEW_HOURS">{{ timepicker.time.format(timepicker.hoursFormat) }}</span>:',"Remove-HCXAppliance Remove-HCXNetworkExtension Remove-HCXReplication Remove-HCXSitePairing Remove-HardDisk Remove-IScsiHbaTarget Remove-Inventory Remove-KeyManagementServer ","#00CCFF","E_EDOC_VERSION_ALREDY_SIGNED ","revgoals rewrite rewrite_strat right ring ring_simplify rtauto set ","ddd D MMM YYYY HH:mm","UAS","unmute","getResolveTokens","main","maxTabWidth"," declare_units declare_weights decsym defcon define define_alt_display define_variable","SelectServerCode ","%d дақиқа","text-align-last","md-container-ignore"," kuu","defaultsDeep","capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base ","elapsedTime","IAttachmentList ","<md-input-container> can only have *one* child <input>, <textarea> or <select> element!","REFERENCE_LINK_KIND ","specialize split split_Rabs split_Rmult stepl stepr subst sum swap ","SYSREQ_REF_TYPE_NAME_LOCALIZE_ID ","maxPhoneWidth"," sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial","expand","blwyddyn","(webkit)[ /]([\\w.]+)","complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs ","InviteClientTransaction","womans_hat","audio_sound_get_pitch audio_get_name audio_sound_set_track_position ","ФайлПерекодировать ","$stateChangeSuccess","dataElementType","Referred-By: <","incoming","include use","dddd [la] LT","[bugün saat] LT","YYYYYYMMDD","tweetEmbed","require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor","ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr ","configureInput","час","7b68ee","data-timestamp"," var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson","point_up","vk_numpad7 vk_numpad8 vk_numpad9 vk_divide vk_multiply vk_subtract ","$$unwrapTrustedValue","semantics","%d days","ein månad","SYSRES_CONST_NORMAL_LIFE_CYCLE_STAGE_DRAW_STYLE ","_viewConfigFactories","equals implies iff redefine define now not or attr is mode ","SYSDLG_EDIT_FUNCTION_HELP ","%d oras","getDisplayMedia","concat","#f9fbe7","ILock ","idempotence involutiveness projectivity","mdColorPickerHistory","yearCtrl","unzip","SYSREQ_SYSTEM_SETTINGS_VALUE ","Li_Us_Lb_Lt_Ls_Lh_Ug","#9e9d24","buffer_save_ext buffer_load buffer_load_ext buffer_load_partial ","Content-Type: application/sdp\r\n","tooltipFormat","'. Valid policies: false, true, or arbitrary string","%d ལོ","abstract from to","angular-password"," or ","SYSRES_CONST_FUNCTION_CATEGORY_USER ","variable_instance_get_names array_length_1d array_length_2d ","Identity If Immediate Implicit Import Include Inductive Infix Info Initial ","all alter analyze and any array as asc begin between binary boolean break bucket build by call ",'emit "requestFailed"',"viewDecl.controllerAs","uncheckable","enumerable","rgb(153, 255, 204)","slot_machine","helpers","mwForm.pageFlow.goToPage","SYSREQ_USERS_USER_CERTIFICATE_INFO ","jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec","ds.clock","[1-9]|1[0-2]","$state$","heart_eyes","audio_falloff_linear_distance_clamped ","\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia","revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces "," secunds","cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro ",'{"_from":"jssip@latest","_id":"[email-masked]","_inBundle":false,"_integrity":"sha512-whL3Fcma98QskbuaTAHtMUNYPAOO9bAiETGyDYQvZozcbq34IblslOun0iT3ez9oi56gO1OTCemA8FUL7EeIhw==","_location":"/jssip","_phantomChildren":{},"_requested":{"type":"tag","registry":true,"raw":"jssip@latest","name":"jssip","escapedName":"jssip","rawSpec":"latest","saveSpec":null,"fetchSpec":"latest"},"_requiredBy":["#USER","/"],"_resolved":"https://registry.npmjs.org/jssip/-/jssip-3.5.11.tgz","_shasum":"47b0c9c69f97b40a651c581cb45ce33ae768ec6a","_spec":"jssip@latest","_where":"/home/vito/Development/MOTION_V3/motion-server/motion-client","author":{"name":"José Luis Millán","email":"[email-masked]","url":"https://github.com/jmillan"},"bugs":{"url":"https://github.com/versatica/JsSIP/issues"},"bundleDependencies":false,"contributors":[{"name":"Iñaki Baz Castillo","email":"[email-masked]","url":"https://github.com/ibc"}],"dependencies":{"@types/debug":"^4.1.5","@types/node":"^14.0.6","debug":"^4.1.1","events":"^3.1.0","sdp-transform":"^2.14.0"},"deprecated":false,"description":"the Javascript SIP library","devDependencies":{"@babel/core":"^7.9.6","@babel/preset-env":"^7.9.6","ansi-colors":"^3.2.4","browserify":"^16.5.1","eslint":"^5.16.0","fancy-log":"^1.3.3","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-eslint":"^5.0.0","gulp-expect-file":"^1.0.2","gulp-header":"^2.0.9","gulp-nodeunit-runner":"^0.2.2","gulp-plumber":"^1.2.1","gulp-rename":"^1.4.0","gulp-uglify-es":"^1.0.4","pegjs":"^0.7.0","vinyl-buffer":"^1.0.1","vinyl-source-stream":"^2.0.0"},"homepage":"https://jssip.net","keywords":["sip","websocket","webrtc","node","browser","library"],"license":"MIT","main":"lib-es5/JsSIP.js","name":"jssip","repository":{"type":"git","url":"git+https://github.com/versatica/JsSIP.git"},"scripts":{"lint":"gulp lint","prepublishOnly":"gulp babel","test":"gulp test"},"title":"JsSIP","types":"lib/JsSIP.d.ts","version":"3.5.11"}',"TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[","SYSRES_CONST_MINIMIZED_MODE_NAME ","md-auto-focus","reportRemoteTarget requiredVersion resetCamShake resetSubgroupDirection resize resources ","\\ufe0e\\ufe0f","_processInDialogSdpOffer()","positionArrow","$toggleOpen","[prejšnjo] [sredo] [ob] LT","एक तास","REJECTED","getDirection","SBCrypto ","a8m.where","$$element","факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени ","#7cb342","disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer ","isSame","choose","document","getOwnPropertyNames",'<div class="md-datepicker-calendar-pane md-whiteframe-z1" id="{{::ctrl.calendarPaneId}}">',"YYYYDDD","MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010","assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 ","ДиалогДаНет ","draw_set_halign draw_set_valign draw_text draw_text_ext string_width ","handleClickSelectThisWeek","SYSRES_CONST_XREC_STAT_REQUISITE_CODE ","SYSREQ_EDOC_TYPE_REQ_NUMBER ","beginPacket isDirectory motorsWrite drawCompass ","sekúndum","array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ","jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez","onDeselect","soatUnknown ","SYSRES_CONST_REMOTE_SERVER_TYPE_MAIN ","JOB_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY ",":\\w+\\s*=>","('|\\.')+","_path","TransitionService","enter","#[\\w-]+","two","toasty-added",'" height="80"></iframe>',"received","visible","msMaxTouchPoints","%d maanden","600 700 800 900 A200 A400 A700"," cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial",'<path d="M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z"/>',"типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы ","أقل من ساعة","sealed short sizeof stackalloc static string struct switch this try typeof ","[W zeszły] dddd [o] LT","YYYY [m.] MMMM D [d.]","zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit ","hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified ","ttLocal ","mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex ","progid:DXImageTransform.Microsoft.gradient(","autoShrink","steam_ugc_set_item_preview steam_ugc_submit_item_update ",'<md-virtual-repeat-container md-auto-shrink md-top-index="datepicker.yearTopIndex">',"^progress(:?)(\\s+)?(pop|push)?","animation-duration","PRIVILEGE_MANAGE_ACCESS_RIGHTS ","let macro method mixin mod nil not notin object of or out proc ptr ","\\b([0-9_])+","proof let take assume then thus hence ex for st holds consider ","dg_dl_dt_dc_dj_dv_ds","ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ","Get-vRAReservationTemplate Get-vRAReservationType Get-vRAResource Get-vRAResourceAction Get-vRAResourceActionRequestTemplate Get-vRAResourceMetric Get-vRAResourceOperation ","themeWatch","loop_check minimal_model terminates does_not_terminate ","[昨天]LT","Invoke-vRADataCollection Invoke-vRARestMethod Invoke-vRATenantDirectorySync Invoke-vRNIRestMethod Join-String Mount-Tools Move-Cluster Move-Datacenter Move-Datastore Move-Folder ","mdExpansionPanelCollapsed",'origin-scope="origScope" ',"isHorizontal","SYSRES_CONST_COMPONENT_TYPE_DEVELOPER_COMPONENTS ","webkitRTCPeerConnection","true false null missing|5","IRP_ALIGN irp_here","body","SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE ","Уст ","SYSRES_CONST_IS_REMOTE_USER_POSITIVE_VALUE ","flowName","iso","useStorage","$$rawModelValue","SYSRES_CONST_ACTION_TYPE_DELETE_VERSION ","toggleAll()","rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared ","Date","ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie","ssrcs","_titleAlign","mdNoFloat","The following parameter values are not valid for state '","[;@]","@?mdNavigationHint","A h:mm:ss વાગ્યે","getLabels","$formatters","ICrypto ","ref reference attribute type xpath version and or lt gt tag ","blue","restore","tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ","call_id","получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта ","_selected","UibMonthpickerController","mdAutohide","entries","offset-start","[Í dag kl.] LT","wsbMonitor ","showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface ","User Denied Media Access","СпрБлокСнять ","janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre","Màrt","tan transcript-off transcript-on truncate values vector ","image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect ","CheckboxesView.formItem.config.required","paramsChanged","RUN","layer_background_get_htiled layer_background_get_vtiled ","\\][a-z]*","Windows 8.1","waxing_gibbous_moon","использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ","0.8","hourStep","dddd [pulksten] LT","product","isOpera","IAnchors ","inyanga","описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs ",'"retry_after"',"НаимВидСпр ","md-button","revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling ","%d मिनट","SYSRES_CONST_TEMPLATES_REFERENCE_CODE ","getItemAtIndex","SYSDLG_SETUP_TASK_ROUTE ","INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION ","initialexec localdynamic localexec prefix unnamed_addr ","physics_world_update_speed physics_world_update_iterations ","achievement_send_challenge achievement_load_progress ","dögum","$sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system ","wdFocusMe","Content-Type: application/dtmf-relay","sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru","_interceptors","RadioButton: No RadioGroupController could be found.","cpDigitalSignatureEnabled ","ìsẹjú aayá die","en-ca","abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if ","engine.io-client:polling-xhr","check_termination promise_equivalent_clauses ","new Resolvable(): token argument is required","shortNameOf showHelp showHidden showManipCtx showSelectionInTitle ","PAGE_SIZE","WⓌＷẀẂŴẆẄẈⱲ","padStart","__values__",'            <div                 ng-hide="$mdAutocompleteCtrl.hidden"                class="md-standard-list-container md-autocomplete-suggestions-container md-whiteframe-z1',"eee8aa","lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork ","ev_animation_end ev_end_of_path ev_no_more_health ev_close_button ","session onunhold","browser_chrome browser_safari browser_safari_mobile browser_opera ","Mon","scaleLabel","if then else elif fi for while in do done case esac function","_defineEvent",".md-color-picker-result","через %s","segments","deregistered","Индекс ","removeChipAndFocusInput","[a-zA-Z_][a-zA-Z0-9_.]*(\\!|\\?)?","highlightEmbed","minut","godzin","isKeepContent","uibAccordionHeading","IWizard ","MeeGoOS","měsíců","SSS","gridLines","import","ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ","configureUserInput","^_^","itPNG ","onColorSet","doOpen","selectElement","point_in_triangle point_in_circle rectangle_in_rectangle ","cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color ","olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto ","source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows ","YYYY-يىلىM-ئاينىڭD-كۈنى","nextButton"," bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp","b0e0e6","md-numeric","^facet ","digital","Ya_Du_Se_Cho_Pa_Ju_Sha","SYSREQ_EDOC_TYPE_REQ_ON_SELECT ","tolino tab [0-9.]+|tolino shine","=?readOnly","SYSREQ_DESCRIPTION_LOCALIZE_ID ","БлокСнять ","Κυ_Δε_Τρ_Τε_Πε_Πα_Σα","오늘 LT","КонТран "," minuti","_configureTrapFocus","#00CC66","' in ","Repair-NsxEdge Repair-VsanObject Request-vRACatalogItem Request-vRAResourceAction Restart-CIVApp Restart-CIVAppGuest Restart-CIVM Restart-CIVMGuest Restart-VM Restart-VMGuest ","EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect ","[á morgun kl.] LT","QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO ","draw_ellipse_colour draw_point_color draw_line_color ","INCLUDE","flatObject","_protocol","0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)","%d ཟླ་བ","simple","rfc2822","%d دن","(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?","IFolderDescription ","_getSelectedTab","ustream","material.components.sticky","month name paragraph paragraphs rest reverse running time version ","localeCompare","translationNotFoundIndicatorLeft","right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows ",'    <div ng-if="::!dialog.mdHtmlContent" class="md-dialog-content-body">',"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE ","after byte bytes english the until http forever descending using line real8 with seventh ","and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|","MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010","method","getHeader","pre","вр_тн_ыт_юн_кҫ_эр_шм","concept co_await co_return co_yield requires ","debounceInterval","showSeconds","maxdate","stepped","copyRect","getSelectedLabels","#651fff","SYSREQ_FUNC_HELP ","دقيقة","quartz","io server disconnect","stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia","libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime ","1px","matches","screen","{\n/* [wrapped with ","SYSRES_CONST_STRING_FORMAT_RIGHT_ALIGN_CHAR ","column-rule-width","miniti kelen","arcade","%s өмнө","$files","FormView","byte case casex casez cell chandle checker class clocking cmos config const ",'"to-tag"',"^(x-|data-)?","stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,","pairs","svOnStart","webkitMatches","nóiméad","setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry ","countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity ","shouldAddOnBlur","->{","-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace","highlightClasses","ChartJs","YYYY","tablet","event_type event_number event_object event_action ","#eeeeee","rgb(153, 153, 255)","[Ertaga] LT [da]","layout-fill","foreign_enum may_call_mercury will_not_call_mercury thread_safe ","shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap ","addCoreResolves","SYSRES_CONST_EDOC_TYPES_REFERENCE_CODE ","extmap:%d","gpu_set_tex_mip_enable_ext gpu_get_blendenable gpu_get_ztestenable ",'               ng-class="highlightClasses">',"browser_tizen browser_edge browser_windows_store browser_ie_mobile  ","target_compile_definitions target_compile_features target_compile_options ","[La scorsa] dddd [a","#c5cae9","!@#$%^&*()","receiveNotify()","material.components.truncate","NOWAIT","DupeString ","أقل من يوم","eka vorsan","gt-md","[a-zA-Z][a-zA-Z0-9_$%!#]*","CONNECTING","wand weak weak0 weak1 while wildcard wire with within wor xnor xor","a52a2a","Radar","so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew ","getter setter retain unsafe_unretained ","encodeURI encodeURIComponent escape unescape Object Function Boolean Error ","MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b"," Jahre","wheelDeltaY","!!!! duplicate uiView named:","Canceled","force new connection","maxTime","finishedReconstruction","prependAny","$mdTabsCtrl.selectedIndex","Update-Script Update-ScriptFileInfo Update-Tools Update-VsanHclDatabase ValidateUpdate-ConfigurationData Wait-Debugger Wait-NsxControllerJob Wait-NsxGenericJob Wait-NsxJob ","getHsla","ExceptionsOn ","TⓉＴṪŤṬȚŢṰṮŦƬƮȾꞆ","revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees ","%d મહિનો","A h:mm","actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey ","soatDatetime ","_computeIsAligned","cake","volcano","openFrom","NO_SYNTAX "," default_let_rule_package delay dependencies derivabbrev derivsubst detout","__actions__","%d taun","themoreyouknow","selectedAnswer","ceil","[ôfrûne] dddd [om] LT","{remainder:any}","_closeFirstOpenedPanel"," yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob","Android.* (SKYPAD|PHOENIX|CYCLOPS)","searchField","এক মাস","строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений ","ui.bootstrap.accordion","enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation ","user","An Dùbhlachd","=mdPage","steam_ugc_set_item_description steam_ugc_set_item_visibility ","IEDocumentVersionListDialog ","$dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson ","Moved Permanently","call","500 600 700","wptFolderInfo ","SYSRES_CONST_SETTINGS_USER_REQUISITE_CODE ","%s ਵਿੱਚ","SYSRES_CONST_CONST_FIRM_STATUS_COMMON ","^\\w+;","HaarWavelet HadamardMatrix HalfLine HalfNormalDistribution HalfPlane HalfSpace HamiltonianGraphQ HammingDistance HammingWindow HandlerFunctions HandlerFunctionsKeys HankelH1 HankelH2 HankelMatrix HankelTransform HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash Haversine HazardFunction Head HeadCompose HeaderLines Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings Here HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenMarkovProcess HiddenSurface Highlighted HighlightGraph HighlightImage HighlightMesh HighpassFilter HigmanSimsGroupHS HilbertCurve HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HistoricalPeriodData HitMissTransform HITSCentrality HjorthDistribution HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HostLookup HotellingTSquareDistribution HoytDistribution HTMLSave HTTPErrorResponse HTTPRedirect HTTPRequest HTTPRequestData HTTPResponse Hue HumanGrowthData HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyperplane Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData","triggerClose","#ff5722","сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ","%s પહેલા","SYSRES_CONST_FOLDER_TYPE_COMMON ","MSIE","rgb(0, 163, 0)","fdtUnknown ","#5c6bc0","color.toRgbString()","watch","March","ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.","partial","dseAfterOpen ","meta-keyword","setWith","Set-NsxEdgeOspf Set-NsxEdgeRouting Set-NsxFirewallGlobalConfiguration Set-NsxFirewallRule Set-NsxFirewallSavedConfiguration Set-NsxFirewallThreshold Set-NsxLoadBalancer ","createTextRange","TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR ","counter","toString","onwebkitanimationend","hodinami",'<md-button class="md-icon-button" aria-label="Select day" ng-mouseenter="raised = true" ng-mouseleave="raised = false" ng-if="day" ng-class="{ \'md-accent\': calendar.date.date() == day.value, \'md-raised\': raised || calendar.date.date() == day.value }" ng-click="calendar.selectDate(day.value)" ng-disabled="!day.enabled">{{ day.value }}</md-button>',"warnPalette","hasModifierKey"," is already connected","fold","uib/template/tooltip/tooltip-popup.html","dataset datastore declare decrement delete derived desc describe distinct do drop each element ","md-nav-ink-bar","material.components.content","offsetLeft","row","dddd [klokka] LT",'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>',"isEmpty","setConvoySeparation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType ","rawValue","layer_background_alpha layer_background_index layer_background_speed ","pending","current-input-port current-output-port denominator display eof-object? ","%d నిమిషాలు","SYSRES_CONST_FUNCTION_CANCEL_RESULT ","%d يومًا","%d يوم","rgb(153, 204, 255)","بىر يىل","FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING ","allSelected","PRIVILEGE_USER_PLUGIN_SETTINGS_CUSTOMIZE ","[Järgmine] dddd LT","execCommand","sekuntia","sv-helper","pfx","gem","rgba(0, 0, 0, 0.1)",'"refresher"',"STANDALONEMONTH","Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData ","accordiongroup-","identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment ","parseFromString","SYSRES_CONST_EDOC_STORAGE_LOCAL_PATH_REQUISITE_CODE ","dddd [am] LT","getFocusedMenuIndex","uib:datepicker.mode","%d måneder","%d કલાક","tabContentPrefix","Thursday","Too many consecutive Transition redirects (20+)","deleteClicked","[0-9]","June","replace","?ngModel"," std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t","ISearchCriterion ","gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset ","(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)","Wednesday","drag-scrollbar","view_get_surface_id view_set_camera view_set_visible view_set_xport ","pageFlowModifier","IReferenceEnabledMode ","%d Wochen","viewportOffset","a8m.contains","iffPNG ","[W zeszłą niedzielę o] LT","birkaç saniye","deviceId","^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+","makeEvent","SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION_CODE ","gpu_get_fog gpu_get_cullmode gpu_get_blendmode gpu_get_blendmode_ext ","titleMarginBottom","SYSREQ_EDOC_STORAGES_SERVER_NAME ","comment","@mdContactImage","$$prepared","http://","lastInteractionType","[Yfory am] LT"," random_exp random_f random_gamma random_general_finite_discrete random_geometric","e0ffff","em %s","escape key press","getDimensionName_","ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE ","d3d3d3","#3d5afe","controlPointNextX","wsbFinish ","getClientStateNumber getCompatiblePylonMagazines getConnectedUAV getContainerMaxLoad ","file",'emit "succeeded"',"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002","implement functions getItemAtIndex() and getLength().","مارچ",'<li role="menuitem" ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'last\')}}</a></li>\n',"trigger","(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?","physics_particle_group_box physics_particle_group_polygon ","uair","strtrim","retrieveCallingNumber printFirmwareVersion ","medium","lexemes","prepareVersionNo","md-checkbox","ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 "," gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import","[:;]","@filename","isSocket","placement","There is 1 match available.","resizeInputElement","mw-question-grid-builder.html","addResizeListener","\\]$","view config state (view name)","YYYY-MM","dddd, YYYY оны MMMMын D HH:mm","#efebe9","\\^rem{","unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!","CANT_CHANGE_OURFIRM_REQUISITE_RULE_ID "," expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci","cssText","miz","got binary data when not reconstructing a packet","md-stick","is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass ","800 900"," animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar","o oră","EⒺＥÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ","physics_fixture_set_polygon_shape physics_fixture_set_chain_shape ","clock9","skip","audio_emitter_falloff audio_emitter_gain audio_play_sound ","ساعتين","flex-flow","առավոտվա","date1","REQUEST_TIMEOUT","svGrid","getPlaceholder","__data__","_host","_baseHref","_setTransform","CreateProgress ","scrollbarX","attribute","Do_2ª_3ª_4ª_5ª_6ª_Sá","Supported: ","returnBegin","SYSREQ_REF_TYPE_ACT_ON_EXECUTE ","ACK not received, dialog will be terminated","หลังเที่ยง","tab-content-","aria-multiselectable","modalAnimation","writing close packet","deleteHint","include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ","scrollWidth","uiView","anguished","reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! ","ps-","paramarray partial preserve private property protected public ","%s മുൻപ്","browser"," ngMessagesInclude: ","constant private linker_private internal ","%s каялла","successfulTransitions","useContentExp","dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField ","SYSRES_CONST_ACTION_TYPE_VIEW ","asset_font asset_timeline asset_tiles asset_shader fa_readonly ","string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower ","wptContents ","past","point_right","\\ufe20-\\ufe2f","joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact ","eng Minutt","Set-PSMetaConfigDocInsProcessedBeforeMeta Set-PSMetaConfigVersionInfoV2 Set-PSReadLineKeyHandler Set-PSReadLineOption Set-PSRepository Set-PSTopConfigurationName ","\\|\\w*$","invokeLimit","0[xX]","orderedConfig","isSupported","Event","\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*","timeline_moment_clear timeline_moment_add_script timeline_size ",'"duration" value is lower than the minimum allowed, setting it to ',"ctTabSheet ","SYSRES_CONST_LINK_OBJECT_KIND_DOCUMENT ","%d ամիս","STATUS_NULL","ގަޑިއިރު %d","jstree","SYSREF_DIALOGS_REQUISITES ","handles","$md-resize-enable","Get-VMHostHba Get-VMHostModule Get-VMHostNetwork Get-VMHostNetworkAdapter Get-VMHostNtpServer Get-VMHostPatch Get-VMHostPciDevice Get-VMHostProfile ","</md-autocomplete-parent-scope>","Edge","HHmmss,SSSS","values","#64b5f6","#81c784","mdSwipeUp","conversion","Trident/[0-9.]+;.*rv:[VER]","';\n",'<div layout="column" ng-show="timepicker.ampm" class="mdp-timepicker-selected-ampm">',"camera","%d awr"," Lindstedt linear linearinterpol linear_program linear_regression line_graph","rgb(92, 46, 0)","rtcp","ldctDialog ","rgb(255, 51, 51)","destroyDialog","%s trước","isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent ","mwaka mmoja","جمعہ","NOTICE_BLOCK_PERFORMER_PROPERTY ",'    <tr class="uib-years" ng-repeat="row in rows track by $index" role="row">\n',"point_up_2","$mdTheme","SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE ","reOnChangeValues ","      <td>&nbsp;</td>\n","qml","phy_joint_motor_force phy_joint_max_motor_force phy_joint_length_1 ","@[A-z0-9_]+","mizar","inSelectedDateRange","boolean? caar cadr call-with-input-file call-with-output-file ","mwFormViewer","Last Year","sv-visibility-hidden","pointBackgroundColor","ФмтSQLДат ","як рӯз","مايو","ФайлВремя ","datepickerPopup",'realm="',"scrollYMarginOffset"," listeners ","hideBackdrop","_receiveUpdate","shiftKey","SYSREQ_REF_TYPE_VIEW_COMMENT ","SYSREQ_EDOC_VERSION_AUTHOR ","SYSREQ_EDOC_AUTHOR ","'(U|X|0|1|Z|W|L|H|-)'","sending","JOB_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY ","apple","click touchstart touchend","if else elif endif define undef ifdef ifndef","SYSREQ_USERS_USER_CERTIFICATE_STATE ","=gmtOffset"," einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome"," radius random random_bernoulli random_beta random_binomial random_bipartite_graph","k0 k1 gp sp fp ra ",'emit "peerconnection:createanswerfailed" [error:%o]',"એક દિવસ","scroll wheel touchmove touchend","uibTypeaheadHighlight","pointRadius","\\.md-","selectionchange","onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch ","WPDesktop","mwFormQuestionBuilder","ui.bootstrap.popover","एक महिना","createDateAtMidnight","onInputBlur","_onDragOver"," שנה","Expected up to 4 arguments [params, data, success, error], got {0} arguments","TEXTAREA","gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse ","createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker ","rgba(255,255,255,0.75)","app/directives/agreement-item/agreement-view.html","storage","chartjs-hidden-iframe","stats_number_of_plays","SYSREQ_EDOC_STORAGES_TYPE ","Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide","autounfold before bottom btauto by case case_eq cbn cbv change ","^uibDatepicker","downto threadvar of try pascal const external constructor type public then implementation ","seek fill size turn stop home find ","constructor get set","PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 ","$extractResponseForGridQuestion",'"udp"',"سەھەر","IWorkTreeJobNode ","%d นาที","months","loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow ","uib:tab-heading","autoDetection","wa’ jaj"," שנים","scales","mousewheel wheel","</li>\n","focusOut","uib/template/pager/pager.html","Rule RegExp must not be global or sticky","classes","session-expires","UseModule Wend While With XIncludeFile XOr","ngResource","proc keyword","SYSREQ_STATE ","yLabels","NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED ","SYSRES_CONST_SECOND_CHAR ","You must provide an element to the update-scroll function","setCamUseTI setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation ","showLine","itWMF ",'md-swipe-left="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(1)" ',"een Dag","color: ","[\\$%]\\d+","December","calc((","#8e24aa","बिहान","жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі","parseUrl","calendarFormat","Missing SDP","md-virtual-repeat-container","-add","continue","mobile","BREW [VER]","scroll","assign","date_inc_day date_inc_hour date_inc_minute date_inc_second ","image-orientation","ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov","audio_sound_set_track_position audio_sound_get_track_position ","annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd ","\\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\\b","contrastLightColors","notstring","(?=","en timme"," get_pixel get_plot_option get_tex_environment get_tex_environment_default",'<div class="angucomplete-holder" ng-class="{\'angucomplete-dropdown-visible\': showDropdown}">',"float","rippleOptions","sized","createRange","scale("," ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble","decrementHours","contentHeight","endspaceless regroup ifequal endifequal ssi now with cycle url filter ","NOTICE_BLOCK_AFTER_FINISH_EVENT ","dddd [në] LT","ngEmbed","режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание ","[Oggi alle] LT","#00c853","writeln","received NOTIFY request for a non existent subscription","removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler ","_mdSelectIsOpen","createContainer","-ms-user-select: none;","_translateY","foreign_proc foreign_decl foreign_code foreign_type ","SYSREQ_EDOC_TYPE_REQ_CODE ","sip:","formatDayHeader","_display_name","ds_list_mark_as_list ds_list_mark_as_map ds_list_sort ","xhr post error"," milliseconds","[v piatok o] LT","classical_left classical_right clear clearbody cofix compare compute ","Unfold Universe Universes Unset Unshelve using Variable Variables Variant ","physics_joint_get_value physics_joint_set_value physics_joint_delete ","beginResponse","ಒಂದು ಗಂಟೆ","buttonEl","$setDirty","variable_instance_exists variable_instance_get variable_instance_set ","'njy","setupMousewheelEvents","StateRegistry","pr_trianglelist pr_trianglestrip pr_trianglefan bm_complex bm_normal ","_focusFirstTab","route","getPrototypeOf","supporter backdrop door ","[გუშინ] LT[-ზე]","function function!","getusermediafailed","tengahari","YYYY. [gada] D. MMMM","Initialize-ConfigurationRuntimeState Install-Module Install-NsxCluster Install-Package Install-PackageProvider Install-Script Install-VMHostPatch Invoke-DrsRecommendation ","closeReasons","[Утре в] LT","ngCsv.config","circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign","innerRadius","rgb(102, 102, 102)","mdChipRemove","php","sending message:\n\n","#4527a0","convertTimezoneToLocal","    </li>\n","camera_get_update_script camera_get_begin_script ","changeWatcher","$manualTimeStamp","lineTo","_dayOfMonthOrdinalParse"," break bug_report build_info|10 buildq build_sample burn cabs canform canten","removeFromGroup","disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div ","-ум","inline","smHidden smMaximized smMinimized smNormal wmNo wmYes ","const fallthrough if range type continue for import return var go defer ",'aria-label="Clear Input" '," cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli","[UnexpectedJSONParseError]: ","setBleedingRemaining setBrakesRTD setCameraInterest setCamShakeDefParams setCamShakeParams ","NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION ","\\b(0b[01']+)",". The framework specific code did not implement this method.","STATUS_WAITING_FOR_ACK","Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος","sessionConfig","distance","pub-gruu","sendRefer()","createDataChannel","$translateSanitizationProvider","positionElements","IDialogPickRequisiteItems ","script_exists script_get_name timeline_add timeline_delete ","ISearchForObjectDescription ","heart",'role="tab" ',"_$animate","          ","minNotZero","font-face","convertTicksToLabels","^'{3,}[ \\t]*$","%d μήνες","[draggable]","\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b","ne_po_ut_st_št_pi_so","?^ngModel"," to: ","Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru","network_config_disable_reliable_udp buffer_fixed buffer_grow ","number? numerator odd? open-input-file open-output-file output-port? ",'"received"',"DeleteFile ","a8m.count-by",'    <h2 class="md-title">{{ dialog.title }}</h2>',"_focusLastTab","ring","fdf5e6","WebkitAppearance","ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر","\\$_[A-Z]+","ctJob ","SYSRES_CONST_TEST_NUMERIC_REQUISITE_NAME ","आ._सो._मं._बु._बि._शु._श.","_data",'<div ng-style="previewStyle()" class="gridster-item gridster-preview-holder"></div>',"INVALID","camera_set_view_target camera_get_view_mat camera_get_proj_mat ","=?frequency","enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre","svHelper","начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ","contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost ","from_tag","crossRot","border-image-outset","getDates","[zajtra o] LT","egy",")|(?:","animationIterationCount","time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr ","isWebsiteHasMicrophonePermissions","SYSRES_CONST_REQUISITE_FORMAT_DATE_TIME ","'md-paginated': $mdTabsCtrl.shouldPaginate, ","{Param:","cloneNode","icWizardStepEventHandler ","NetFront/[VER]","onload","$drop","pointHitRadius","es-do","#64dd17","private","move-page-up","%d фурсат","INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ","SYSRES_CONST_SEARCHES_COMPONENT_CONTENT ","REM","twitter","BaseLocationServices","uibPager","atan visualmode inputlist tabpagewinnr round getregtype mapcheck ","\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|",'get() | cannot get "%s" parameter',"freepascal"," from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp"," tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign","retained","local_tag","\\d{2}","([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)","QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY ","setCenterPoint","_succeeded",'localization-map="config.localizationMap || model.localizationMap" ',"actor addressof and as be break class compile_error compile_intrinsic ","gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits ","decrementSeconds","object_get_mask object_get_parent object_get_physics ","%d ⵉⵢⵢⵉⵔⵏ","ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic","layer_tile_get_region layer_tile_get_visible ","Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM ","hasContent","display_mouse_set display_set_ui_visibility ","wdtSearchDescription ","после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ",'     localization-map="localizationMap" ',"YYYY-MM-DDTHH:mm:ss[Z]",'" header field with value "',"_md-panel-animate-enter","feature","XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES ","@?mdMenuClass","SYSRES_CONST_FUNCTION_SAVE_RESULT ","icFormEventHandler ",'<div id="{{::panelId}}" aria-labelledby="{{::headingId}}" aria-hidden="{{!isOpen}}" role="tabpanel" class="panel-collapse collapse" uib-collapse="!isOpen">\n',"keyboardNav","second","1 dzień","layoutNoWrap","bodyFontFamily","-> Registering","SYSRES_CONST_TEST_DATE_REQUISITE_NAME ","widows","_focusOnOpen","#[a-zA-Z_]\\w*\\$?","subi swap tst wdr","_otherwiseFn","getAsynchronously listenOnLocalhost getCurrentCarrier ","starts","contenteditable","confirm","Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear ","application/sdp","inputAriaDescribedBy","ПоискСтр ","Invalid value ","TextareaView","abs access after alias all and architecture array assert assume assume_guarantee attribute ","sejam","kbd","'iensa þora","\\.[A-Za-z0-9_-]+","abnf","isSelected","конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы ","SELECTED_DATE_CLASS","srcElement","//[gim]*","UserStatus ","defaultMaxListeners","listUnselected listerEditor loadFluid loadNewShelf loadPlugin ","%d წელი","#388e3c","offset-end","_$q","$$columns","setHours","match member module mutable namespace new null of open or ","Invalid target: ","false null true","\\?>","activeDt",'<tr aria-hidden="true" md-force-height="\'',"%d diogan","TITLE_MODE","toast","ctSignature ctEncode ctSignatureEncode ","focusIn","noSticky","umnyaka","acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока ","unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos ","Scope","aerial_tramway","masaa %d","ansi256","splitQuery","%d ساعت","ئەیلوول","triggerAttachObject triggerAttachVehicle triggerDynamicSimulation triggerStatements triggerText ","processing","^^?mdInputContainer","trimHashVal","removeLocalTzAndReparseDate","dddd, D MMMM YYYY, A h:mm ਵਜੇ","SYSRES_CONST_COMMON_SETTINGS_REQUISITE_CODE ","IJobDescription ","getOwnPropertySymbols",".md-virtual-repeat-scroller, .md-standard-list-scroller","gⓖｇǵĝḡğġǧģǥɠꞡᵹꝿ","flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking ","binaryType","ruby","mdDisableScrollTarget",'panel with componentId "',"$getObjectByIdMap","SYSREF_COMPONENTS ","room_assign room_instance_add room_instance_clear room_get_camera ","ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode ","alertdialog","\\$[datastore|feature|layer|map|measure|sourcefeature|sourcelayer|targetfeature|targetlayer|value|view]+","%d.",'<div class="md-nav-bar">',"[indiki] dddd [sagat] LT","border-right-width","special code inline foreign export ccall stdcall generic derive ","\\s*\\.end\\s[a-zA-Z0-9]*","sushi","updateUrl","Byte Short Char Int Long Boolean Float Double Void Unit Nothing","noWrap"," make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom","scrollbarYHeight","MESSAGE failed","(ocf|systemd|service|lsb):[\\w_:-]+","#3366CC","wsbWait ","audio_pause_sound audio_pause_music audio_channel_num ","$mdThemeController","counter-increment","raising_hand","a8m.after","borderLeftWidth","YYYYMM","_sendInitialRequest","Cancel","New-NsxEdgeSelfSignedCertificate New-NsxEdgeStaticRoute New-NsxEdgeSubInterface New-NsxEdgeSubInterfaceSpec New-NsxFirewallRule New-NsxFirewallSavedConfiguration ","ariaHidden","codec","SYSREQ_USERS_USER_CERTIFICATE ","dd MMM yyyy","dseAfterUpdateOutOfTransaction ","icDialogActionHandler ","SYSREQ_ORIGINAL_RECORD ","buffer_wrap buffer_fast buffer_vbuffer buffer_network buffer_u8 ","SYSRES_CONST_ROLES_REFERENCE_CODE ","md-transition-out","ОтчетАнал ","performing disconnect (%s)"," doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules","wonten ing %s","PRIVILEGE_OBJECT_VIEW ","á ~míñ~úté","mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam ","awr","a year","miesiące","onSwipe","a8m.math.abs","%s päästä","minTime + maxTime",": NOT SHOWN","os_lock_orientation display_get_dpi_x display_get_dpi_y ","isGrid","GROUPS_PSEUDOREFERENCE_CODE ","differenceWith","dart","terminate()","glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl ","correctGrammaticalCase","fconfigure fcopy file fileevent filename flush for foreach format gets glob global ",'<span class="toast-title" ng-if="!toast.html && toast.title" ng-bind="toast.title"></span>',"updateTextContent","mdDateRangePicker","\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b","ئاب","SyntaxError","aria-atomic","ttSystem ","gridHeight","railYHeight","SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TrackCurrentTime ","sortingInProgress","#448aff","Call-ID","documentMode"," сарын","0[bB][01_]+","ncalls tottime|10 cumtime|10 filename","ev_joystick2_up ev_joystick2_down ev_joystick2_button1 ","\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}","webkit","sstNaturalSort ","conforms","md-chips-wrap","\nArguments: ","modalOptions",'<md-button class="md-secondary md-icon-button">',"getRightValue","di_lu_ma_me_je_ve_sa","variants","%d ನಿಮಿಷ","dailymotionEmbed","white-space","DateToStr ","_loop","ACCEPTED_BODY_TYPES","isDefaultPrevented","dotDays dotHours dotMinutes dotSeconds ","HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor ","No reference point given for path '","smiley"," isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph","gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre","SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION ",".md-bar1","&?mdOnAdd","debounceUpdate","input","steam_download_scores_around_user steam_download_scores ","%sमध्ये","zIndex","onShow","removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest ","_failed","toDataURL","%d Stonnen","ticksAsNumbers","draw_primitive_begin_texture draw_vertex_texture ","encode","gist-","nothing pi γ π φ ","socket open","$index","lbpBelow ","' in pattern '",'ng-blur="$mdTabsCtrl.hasFocus = false" ',"[dünən] LT","draw_surface_tiled draw_surface_part draw_surface_ext "," std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma","జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.","registerHeader","dddd LT","Dé Luain","nodeList","updateActiveDate","tile kelen","isNextDisabled","pagination","_staled","panelId","getTabElementIndex","contrastDefaultColor","တစ်ရက်","toFixed","handleKeyDown","SIP_ERROR_CAUSES","flowImg","factory","md-checkbox-enabled","lib enum union","handleEvent","aria-posinset","removeAllListeners",'          <md-progress-linear              class="',"int float string vector matrix if else switch case default while do for in break ","mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink ","registration cluster existence pred func defpred deffunc theorem ","Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi","NG_TRANSLATE_LANG_KEY","[minulou sobotu v] LT","%d imik"," kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange","mailto:","SYSREQ_EDOC_TYPE_REQ_ON_CHANGE ","$current","Yak_Dush_Sesh_Chor_Pay_Jum_Shan","sessionId","q[qwxr]?\\s*\\{","MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING ","chipKeyDown","SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE ","offsetLtLg","[object String]","ABOVE","USAGE ROUTINES ","ދުވަސް %d","sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import ","chunk","hasAlignedHourOffset","%d horas","_longDateFormat","StateObject","html`","отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования ","mdSelectMenu","leaderboard_type_number leaderboard_type_time_mins_secs ","oncoming_bus","uib/template/modal/window.html","i-mobile i-note","Set-VMHostFirmware Set-VMHostHba Set-VMHostModule Set-VMHostNetwork Set-VMHostNetworkAdapter Set-VMHostProfile Set-VMHostProfileImageCacheConfiguration ","FullYear","Beal","update","$stateProvider","New-VMHostProfile New-VMHostProfileVmPortGroupConfiguration New-VMHostRoute New-VTpm New-VasaProvider New-VcsOAuthSecurityContext New-VirtualPortGroup New-VirtualSwitch ","uiSrefActive","YYYY[ko] MMMM[ren] D[a] HH:mm","SYSRES_CONST_SUBTASK_BLOCK_DESCRIPTION ","STATUS_EARLY","IE_PROTO","throttle","stagger","кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца ","audiooutput","hasXDR","mouse_check_button_pressed mouse_check_button_released ","md-row-select","IReferenceCriterion ","localStorage","ugc_query_AcceptedForGameRankedByAcceptanceDate ","padEnd","matchPassword","rdPrinter ","  <li ng-transclude></li>\n","ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ","test","eraYear","#c62828","КодПоAnalit ","mw-form-page-element-builder.html","яш_дш_сш_чш_пш_ҷм_шб","translationId must be a not empty string","soatIntegerCollection ","bowling","for in|0 break continue while do|0 return if else case switch namespace is cast ","colour_get_hue colour_get_saturation colour_get_value merge_color ","imp","SYSREQ_EDOC_STORAGES_COMPUTER_NAME ","Déar","md-table-pagination","januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember","\\s*{","gpu_get_blendmode_destalpha gpu_get_colorwriteenable ","second_best","|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*","отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа ","EDOC_TYPES_TABLE_NAME ","plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol ","sumBy","(root)","eltPerUser ","mdTab","INVITE_CLIENT","_registerRoot","(\\+|-)\\d+","transform-style","calculateSlideToOrigin","kelias sekundes"," test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display","%d tuần"," std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull","Use Proxy","sfsItalic ","diff","] LT[-kor]","#00CC99","left_right_arrow","mbOK ","fillText","indexOfSlide","strokeRect",'  <a href ng-click="select($event)" class="nav-link" uib-tab-heading-transclude>{{heading}}</a>\n',"</code></pre>","each equals else elseif end enum erase error event exit explicit finally for friend from function "," read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate","style","_is_confirmed","arc","arrayEquals","dragenter","window_get_color window_set_position window_set_size ","VIDEO","\\$[^01]|#[^0-9a-fA-F]","transport error occurred for transaction ","false true PI undef"," mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t","  </md-dialog-actions>","Add-VirtualSwitchPhysicalNetworkAdapter Add-XmlElement Add-vRACustomForm Add-vRAPrincipalToTenantRole Add-vRAReservationNetwork ","bash","youtube","Get-NsxSegmentIdRange Get-NsxService Get-NsxServiceDefinition Get-NsxServiceGroup Get-NsxServiceGroupMember Get-NsxServiceProfile Get-NsxSpoofguardNic Get-NsxSpoofguardPolicy ","microphone","vala","Lùn","invalid INFO DTMF received, discarded","attachScopeListeners","numberOfLabelLines","listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation ","SYSRES_CONST_DET4_PART ","REJECT_ERROR","star","reconnectionAttempts","(\\n{2}|')","D.MM.YYYY","nose","onSetup","DDD","adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product ","orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier ","drawFooter","anonymous.invalid","wsrComplete "," loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx","argument3 argument4 argument5 argument6 argument7 argument8 ","D MMMM YYYY, A h:mm -നു","$filter","Get-NsxUserRole Get-NsxVdsContext Get-NsxtPolicyService Get-NsxtService Get-OSCustomizationNicMapping Get-OSCustomizationSpec Get-Org Get-OrgNetwork Get-OrgVdc ","ordinal","setReadOnly","SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE ","round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values ","_locale","(X) ","parsePlacement","transitionOutClass","\\$|\\[|%","vanilla.services","writeBuffer",'<span md-truncate class="md-toolbar-tools">{{model.selectedTemplateName}}</span>','"OPTIONS"',"AAAlarge","tablist","two_women_holding_hands","abs advance alignof alignofValue anyGenerator assert assertionFailure ","japanese_ogre","end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first ","([eE][+-]?","SYSRES_CONST_CODE_REQUISITE_EXCLUDE_COMPONENT ","_callInterceptors","setExtraContactParams","Cookie '","ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ","^ok","for from generic if import in include interface is isnot iterator ","command","DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil ","removeFake","fromDefaultCron","contact","TRANSITIONEND","nameValidator","mojolicious","[hoy a la","dateEnd"," ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array","in if for while finally new do return else break catch instanceof throw try this ","defaultSizeY","getMenus","xMidYMid meet","getResponseSheet","getPointBackgroundColor","resolve","rgb(0, 128, 255)","setup loop",'<md-tabs-content-wrapper ng-show="$mdTabsCtrl.hasContent && $mdTabsCtrl.selectedIndex >= 0" class="_md"> ',"forceFallback","server_transaction","xhtml","firstRenderableDate","resolvePolicies","vk_add vk_decimal vk_lshift vk_lcontrol vk_lalt vk_rshift ","mid:%s","Faoi","propagateContainerEvents","^#!","ހޮނިހިރު","ime-mode","Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu","|.)","toTimezone","\\b\\d+(\\.\\d+)?(DT|D|T)","mdNoSticky","[=>'/<($\"]","setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits ","unusedTokens","dseBeforeDelete ","action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view","\\d{4}","afterDatasetsDraw","gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors ","$includeContentRequested","fireworks","ctGroupBox ","Replaced INVITE rejected by the user","switch","headerClickHandler","setPrototypeOf","SYSRES_CONST_REQ_MODE_EDIT_CODE ","getHours","logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime ","mdp-chevron-left","vertical","[W] dddd [o] LT","008000","^[A-Za-z0-9_.$]+:","__super__","bullettrain_side","INumericValue ","validators","[ხვალ] LT[-ზე]","parentLocale",".3s","steam_reset_all_stats_achievements steam_stats_ready ","بدھ","IDevelopmentComponentLock ","50% 0","duration","dddd, MMMM D. [b.] YYYY [ti.] HH:mm","ecotFile ecotProcess ","SYSRES_CONST_STATE_REQ_NAME ","$$animateCssDriver","scheduleOpenMenu","MESSAGE","&lt;3","isFullWidth","kdb","tooltipActive","EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration ","headphones","address,article,","rdtInteger ","nthArg","os_get_config os_get_info os_get_language os_get_region ","nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän","nginxconf","uma hora","symbol","applyRawParams","dddd[หน้า เวลา] LT","rgb(255, 102, 255)","SYSREF_STANDARD_ROUTES ","longestTextCache","SYSRES_CONST_ACTION_TYPE_UNLOCK_FROM_SERVER ","unless when class extends super local import export from using","supportsIePointer","MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict ","useUrlLoader","inputChangeHandler","ted","disableScroll","resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget ","notFoundVisible","Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication "," сар","_destroy","interface","initial","SYSREQ_EDOC_TYPE_EVENT_TEXT ","dseBeforeClose ","_wrapContentElement","setHost","SET_NEXT_CODE_VALUE_RULE_ID ","siegħa","$uibModalStack","angular","sweet_potato","getFocusedYearIndex","WAIT_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY "," ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart","SYSREQ_USER_GROUPS_GROUP_NAME ","sekunnin","campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive ","prop","The transition errored","lazarus","scrollbarYTop","[prošlog] [utorka] [u] LT",'      <div class="angucomplete-title" ng-if="matchClass" ng-bind-html="result.title"></div>',"elseif enable end endfor endif endp endo errorlog errorlogat expr external fn ","SYSRES_CONST_MONITORING_BLOCK_DESCRIPTION ","deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls ","dockerfile"," maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint","onResize","ui.bootstrap.collapse","SYSREQ_EDOC_STORAGES_CHECK_RIGHTS ","$$animateJs","mdColorHsl","parseMessage() | malformed message","CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989","_pluginapi","SYSREQ_REF_TYPE_ACT_DESCRIPTION ","attempting reconnect"," deleted","NUM_NONNULLS NUM_NULLS ","جون","unas segondas","98fb98","pragma promise external trace atomic or_else require_complete_switch ","\\#[a-zA-Z][a-zA-Z0-9_-]*","idx","#1a237e","curry",") * ","%d ชั่วโมง","</md-tabs-wrapper> ","a8m.fuzzy","MatrixView.formItem.config.rows.length","cctText ","0ms","Iuch","TIMER_K","autoSkip","gift","almostEquals","[Promise]","phy_joint_motor_speed phy_joint_angle phy_joint_motor_torque ","rgb(25, 25, 25)","matchClass","mdContactChips"," inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns","toggleClass","and elif is global as in if from raise for except finally print import pass return ","SQLProfilingSendReport ","md-grid-list: md-row-height attribute was not found","Якш_Душ_Сеш_Чор_Пай_Жум_Шан"," hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph","yAxes","getItemCount","године","rids","minutu %d","EnableCheckAccessRights ","offsetSize","Loaded","SYSREQ_USERS_GROUP ","Timer H expired for transaction ","withOffsetY",")((\\-|/)[a-zA-Z0-9]+)+\\s","SYSREQ_REF_TYPE_EVENT_TEXT ",'<div class="popover-inner">\n',"jsfiddle","iPod","></","unmuted","обходрезультатазапроса типзаписизапроса ","%d dage","data-bootstrap-modal-aria-hidden-count","c0c0c0","cancer","'ynjy","_sendUpdate","SYSREQ_EDOC_STORAGES_ARCHIVE_STORAGE ","#4caf50","hideThread","aborted","socketio","yearpickerInit","fdtString ","$ngAnimatePin","triangle","$from","MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION ","audio_group_load audio_group_unload audio_group_is_loaded ","currentStep","purebasic","ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов ","upgrades","patch","DD.MM.YYYY.","im8bGrayscale ","dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers ","<%[%=-]?","$mdSelect.toggle($event)","Fri",'selected-template="model.selectedTemplate" ',"en dan",'Press Control-"',"SYSRES_CONST_CALL_TYPE_VARIABLE_BUTTON_VALUE ","IComponentToken ","%d seconden","chart_with_downwards_trend","getHeaderRows","inkBar","soccer","easeFn","nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck ","D MMMM [de] YYYY [a les] H:mm","grow","dddd [pukul] LT","СжПроб ","Decline","rgb(214, 0, 214)","html5Types","kotlin","disableHoverListener","sfcLilac ","$mdExapnsionPanelGroup.add()/.register() : Is missing required paramters to create. Required One of the following: template, templateUrl","rgba(255, 0, 255, 1.000)","일요일_월요일_화요일_수요일_목요일_금요일_토요일","obj || (obj = {});\n","SET_FIRST_RECORD_IN_LIST_FORM_RULE_ID ","bool cdouble cent cfloat char creal dchar delegate double dstring float function ","rootElementKeyupCallback","Get-Datastore Get-DatastoreCluster Get-DrsClusterGroup Get-DrsRecommendation Get-DrsRule Get-DrsVMHostRule Get-DscResource Get-EdgeGateway ","nestedObjectDelimeter","New-vRABusinessGroup New-vRAEntitlement New-vRAExternalNetworkProfile New-vRAGroupPrincipal New-vRANATNetworkProfile New-vRANetworkProfileIPRangeDefinition New-vRAPackage ","rewind","  </li>\n","part_particles_create_colour part_particles_create_color ","Bad Media Description","ITextRequisite ","reified","[sptrx]?","ev_global_gesture_tap ev_global_gesture_double_tap ","phy_position_yprevious","if else elif endif define undef warning error line region endregion pragma checksum","sml","Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu","[今日] LT","noPagination","attr","ChangeDate ","yes no on off it that void","YYYY[ko] MMM D[a]","palette","floor","facebook_dialog facebook_logout facebook_launch_offerwall ","Precision ","onEvict","repeat","skeleton_animation_get skeleton_animation_mix ","oldIndex","uib/template/carousel/slide.html","titleFontFamily","onChangePageSize","pen","$pageSelect.total","^mwFormQuestion","text-decoration","%d ساعة","fireAfterUpdate","four","layer_get_y layer_hspeed layer_vspeed layer_get_hspeed ","</iframe>"," OPR/","imik","=?mdAutoselect","slide","Object","uibDateParser","gesture_get_tap_count keyboard_virtual_show keyboard_virtual_hide ","$$uibTimepickerCss","%d dager","-ლი","ONEPLUS","vsDefault vsDesign vsActive vsObsolete ","1 นาที"," pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform","parseAttributeBoolean","mangleOffer() | both on hold, mangling offer","revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute ","scrollbarYRight","seedling","startScrolling","textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod ","%d Sekunden","`[A-Z][\\w']*"," yyyy","%d d~áýs","виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса ","<md-content>","%d hari","ned._pon._uto._sre._čet._pet._sub.","kbFmt","eventHandler","size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex ","_monthsShort","meta-string","steam_available_languages steam_activate_overlay_browser ","wsbStep ","drop-while while intern condp case reduced cycle split-at split-with repeat replicate ","$MD_THEME_CSS"," var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial","getDropdownElement","SYSRES_CONST_USER_STATUS_USER_NAME_DEPRECATED ","Get-vRATenantDirectoryStatus Get-vRATenantRole Get-vRAUserPrincipal Get-vRAUserPrincipalGroupMembership Get-vRAVersion Get-vRNIAPIVersion Get-vRNIApplication ","Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload ","openClass","msidSemantic","setCron","Tue",'<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>',"%s अगाडि","names","_setLocalMediaStatus","No results found","isDefaultValue","takeRight","hourValues","Dom_Seg_Ter_Qua_Qui_Sex_Sáb","pascalprecht.translate"," quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel","rateDenominator","md-item-template","setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare ","@?mdChipAppendDelay","@?inputAriaLabel","tent","filename|fileref|finfo|finv|fipname|fipnamel|","game_save_buffer game_load_buffer event_perform event_user ","close concat continue dde dict encoding eof error eval exec exit expr fblocked ","\\(\\-","abstract|0 try catch protected explicit property","screenY","$transitions","साँझ","A100","urlService","%sមុន","SYSREQ_EDOC_TYPE_REQ_ON_CHANGE_EXISTS "," propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct","bottom-right","mindate","gridster-draggable-changed","oss"," directory discrete_freq disjoin disjointp disolate disp dispcon dispform","фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs ","%d सेकंड","Sv_P_O_T_C_Pk_S","getPointerStyle","NOT_READY_ERROR","SYSRES_CONST_STRING_REQUISITE_CODE ","P-Preferred-Identity: ","trait goto instanceof insteadof __DIR__ __NAMESPACE__ ","Uint8ClampedArray","[-+]?\\d+(\\.\\d+)?","isUTC","uibModalTransclude","circumference","isRunning","[গত] dddd, LT",'"image"',"getSenders","uib/template/popover/popover-html.html","БлокУстановить ","типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных ","formatArgs","یه‌ك ڕۆژ","Disconnect-CisServer Disconnect-HCXServer Disconnect-NsxLogicalSwitch Disconnect-NsxServer Disconnect-NsxtServer Disconnect-SrmServer ","#FF33FF","goto/16","createElement","above","monkey_face","%d గంటలు","getLocaleDay_","hashGetter","toCss","%d سال","NonInviteServerTransaction","viewBoxSize","clickToasty","typeaheadPopupTemplateUrl","determinePreferredLanguage","SYSRES_CONST_RED_LIFE_CYCLE_STAGE_FONT_COLOR ","layer_get_forced_depth layer_background_get_id ","chartDatasetOverride","md-panel-animate-scale","displayLogos noAutoscroll addParameter remoteNumber ","baseDate is not a valid date","dddd [саат] LT","tea","_getPresetByName","#0091ea","_uas_pending_reply","ކުރިން %s","flowSingleFile","setClass","=?mdMode","material.components.button","jedan minut","normalizeUnits","angucomplete-alt:clearInput","RegRead ","codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph ","חודש","%(ROW)?TYPE","SYSREQ_REF_TYPE_COMMENT ","possiblePageFlow","theme","dddd, D MMMM YYYY, A h:mm વાગ્યે","WriteObjectHistory ","sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis","transformChip","removeTab","dtmf","ФмтСтр ","יום","SYSREQ_EDOC_TYPE_ACT_DESCRIPTION ","registrationFailed","prefix private protocol Protocol public repeat required rethrows return ","returnValue","राती",'<style type="text/css">.uib-time input{width:50px;}</style>',"#fff176","appendChild","newMessage","bookmark_tabs","SYSRES_CONST_NUMERATION_MANUAL ","guitar","poolBlock_","argOption","isInMaxRange","hlsj (Highlight JS is not defined.","яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек","username","applyRegex","locationNull nil objNull opfor pi resistance scriptNull sideAmbientLife sideEmpty sideLogic ","isIos"," setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state","stacked","%d jam","hasValue","մի քանի վայրկյան","meseci","onLoad","Bad Request","fmtp:%d %s","#CC0033","start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age ","themable","Windows 3.11","quote empty one true return cr linefeed right backslash null seven tab three two ","YYYY-MM-DD[T]HH:mm:ss.SSSZ","In ","firstDayOfYear","bindKeydown","quarter","defaultText","1 分鐘","frameDuration","clock","SYSRES_CONST_ID_REQUISITE_CODE ","soundCloudOptions","January","SYSREF_ALL_AVAILABLE_COMPONENTS ",";refresher=","isSameMonthAndYear","রাত","ev_user14 ev_user15 ev_step_normal ev_step_begin ev_step_end ev_gui ","get guard if import in indirect infix init inout internal is lazy left let ","Session Progress","NOTICE_BLOCK_NAME_PROPERTY ","300 400 A200 A400","ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort ","\\b([A-Za-z0-9_\\-]+)\\b","borderRadius","hy-am","clipboard","getCursorPosition","max min monotonic nand personality release seq_cst ","matching","record-route","%d munud","AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat ","заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию ","setPosATL setPosition setPosWorld setPylonLoadOut setPylonsPriority setRadioMsg setRain ","it-ch","#3f51b5","Si_Mo_Ti_Wo_To_Fr_So","ckComponentToken ","mobile_phone_off","foreach do while for if from to step else on-error and or not in","arrow_backward","SYSRES_CONST_REQ_ALLOW_COMPONENT_DEFAULT_VALUE ","[كېلەركى] dddd [سائەت] LT","представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение ","respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt ","rp,rt","SYSRES_CONST_STATE_REQUISITE_ACTIVE_VALUE ","</div>\n","from_display_name","YYYY年M月D日","SYSRES_CONST_REQUISITE_SECTION_TABLE18 ","win8_livetile_badge_clear win8_livetile_queue_enable ","selectCtrl","in pear sekonden","paramValues","SYSRES_CONST_USER_AND_GROUP_ID_FROM_PSEUDOREFERENCE_REQUISITE_CODE ","templates-angularcronjobs","disappointed_relieved","LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER","$attrs","ITaskRoute ","      </td>\n","super switch sync this throw true try typedef var void while with yield","ctDBRadioGroup ","alias audit before loglevel noop require subscribe tag ","SYSRES_CONST_TASK_ACCESS_TYPE_ALL_MEMBERS ","populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile ","Get-NsxManagerCertificate Get-NsxManagerComponentSummary Get-NsxManagerNetwork Get-NsxManagerRole Get-NsxManagerSsoConfig Get-NsxManagerSyncStatus Get-NsxManagerSyslogServer "," मिणटांनी","once","arduino","_timeout","userLanguage","menubar","translateCloak","aria-activedescendant","calculateZoomToOrigin","showSpinners","aria-live",'"auth"',"skips","IGlobalIDFactory ","altKey","phone","[ਕਲ] LT","isInjectable","Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN "," cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson","SYSRES_CONST_TASK_ENCODE_TYPE_PASSWORD ","[Mbenjang pukul] LT","SOCKET_STATUS_ERROR","getRows",'<div class="md-resize-wrapper">',"css","relativeTo","audio_get_listener_mask audio_sound_set_listener_mask ",'      <td class="uib-increment minutes"><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n',"SSSS","$compileProvider","[Өчигдөр] LT","semidet_true semidet_false semidet_fail impure_true impure semipure","M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA","eno leto","Save",'<label ng-click="delegateClick()" tabindex="-1" aria-hidden="true">',"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des","D. MMMM YYYY.","Hmm","#ffca28","rice","blockKeyframeAnimation"," நண்பகல்","cpDataEnciphermentEnabled ","A h:mm:ss ਵਜੇ","afterDatasetsUpdate","ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime ","MdHighlightCtrl","onPaginate"," applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply","downto default else elsif end entity exit fairness file for force function generate ","დღე","BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT ","uibAccordion","EnableCheckFullShowingRestriction ","font-stretch","godzinę","rgb(204, 255, 255)","Get-NsxSecurityGroupEffectiveMacAddress Get-NsxSecurityGroupEffectiveMember Get-NsxSecurityGroupEffectiveVirtualMachine Get-NsxSecurityGroupEffectiveVnic ","[í gær kl.] LT","parsed","Obligations Opaque Open Optimize Options Parameter Parameters Parametric ","uas_pending_reply","Terminated","lte gte eq ne \\","Invalid reload state object","BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE ","IEdmsObjectFactory ",'   tabindex="-1"\n',"distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct ","clone","ear_of_rice"," 0 0 1 ","class module","customFilter","border-bottom-right-radius","makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli ","&#39;","defineLocale","formSubmitted","получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса ","viiden","dg._dl._dm._dc._dj._dv._ds.","SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_VALUE ","layoutInvalidated","expressionless","mdNoAutogrow","WebRTC Error","resetScroll","f95",'"application"',"_$element","IInnerPanel ","lollipop","SEND_PROTOCOL_PSEUDOREFERENCE_CODE ","IECertificate ","dddd [ساعت] LT","Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO","rgb(51, 255, 51)","getInterpolationIdentifier","  </div>\n","setup","shipit","a bɛ %s bɔ",'ng-class="ctrl.getNgClassMap()" ',"[ມື້ນີ້ເວລາ] LT","[minulý] dddd [v] LT","cancelAutoHide","\x3c!--","Eanáir","accept-charset","setupInputAria","මිනිත්තු %d","Diardaoin","%d ڏينهن","classNameFilter","selectedItem","onAuthenticated","Anonymity Disallowed","remote-candidates:%s","[(]|$","speedboat","exports register file shl array record property for mod while set ally label uses raise not "," gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym","ночи","md-option[selected]","keyCode pixels focused frameCount frameRate height width ","gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord ","dftDate dftShortDate dftDateTime dftTimeStamp ","ugc_sortorder_SubscriptionDateDesc ugc_sortorder_VoteScoreDesc ","x-uib-accordion-header,","livecodeserver"," constantp constituent constvalue cont2part content continuous_freq contortion","BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026","dddd[и] [ҳафтаи гузашта соати] LT","md-no-proxy","October"," found.","unfold","beforeStart","\\b\\d+(\\.\\d+)?","2f4f4f","i8 i16 i32 i64 i128 isize ","fafad2","themeColor","analogReadResolution sendDigitalPortPair ","endfilter debug block endblock else autoescape endautoescape csrf_token empty elif ","dotsub","buffer_generalerror buffer_outofspace buffer_outofbounds ","_abbr","minidisc","(--)?}}","0[oO][0-7_]+[Lln]?|","SYSREQ_REF_TYPE_ACT_DESCRIPTION_LOCALIZE_ID ","network_set_config network_resolve network_destroy buffer_create ","moveItemsDown","close()",'<svg xmlns="http://www.w3.org/2000/svg">',"[Hari ini pukul] LT","skeleton_animation_get_frame skeleton_animation_set_frame ","embedOptions","puppet","window_mouse_get_y window_mouse_set window_view_mouse_get_x ","расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных ","units",'<div class="md-thumb-container">',"_getBasePrefix","SYSRES_CONST_SBVIEWSDESC_POSITIVE_VALUE ","gams","datepickerOptions","mdNavClick","Processes ","activeClass","move-page-down","بىر مىنۇت","fdtDate ","LAZY","svElement","block-policy debug fingerprints hostid limit loginterface optimization","SYSRES_CONST_COMPONENT_TYPE_EDOCS ","SYSRES_CONST_EDOC_STORAGE_COMPUTER_NAME_REQUISITE_CODE ","c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 ","removeAllInterceptors","\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F","IWorkAccessRights ","maxWidth",'<div class="md-slider-content">',"EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin ","[ວັນ]dddd[ໜ້າເວລາ] LT","disconnected","atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ",'md-svg-src="',"firstTick",'<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>',"layer_force_draw_depth layer_is_draw_depth_forced ","translate3d(0,{0}px,0)","val","gpu_get_tex_mip_bias_ext gpu_get_tex_min_mip gpu_get_tex_min_mip_ext ","getMomentStartOf","log10","all ","СпрТекПредст ","$$mdMeta",": (","translateLanguageDirective","использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога ","ngMultiple","toggle","fps_real current_time current_year current_month current_day ","[prejšnji] dddd [ob] LT",'"!"',"sailboat","[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?","[;#](?!s*$)"," Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both","groovy","dateFilter","debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords ","local","pathname","assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! ","onError","སྐར་མ་གཅིག","uibYearpicker","_isCaseInsensitive",' <md-progress-circular md-mode="indeterminate" ng-if="$$loadingAsyncDone === false"',"wsbDecision ","$digest","x[\\dA-Fa-f]{2}|","metai_metų_metus","Request Timeout","DropTable ","%d மாதங்கள்","true false none minimal full all void and or not ","liveleakEmbed","SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE ","sendDTMF","<<<['\"]?\\w+['\"]?$","%d sekondi","md-mode","uniqR","ACK","session ended"," asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method","eno uro","setSelectValueText","ВнешПрогр ","objc","scrollSensitivity","#CC3300","$onInit","su_má_tý_mi_hó_fr_le","[\\+\\-]","SameQ SameTest SampledEntityClass SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SASTriangle SatelliteData SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveConnection SaveDefinitions SavitzkyGolayMatrix SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTask ScheduledTaskActiveQ ScheduledTaskInformation ScheduledTaskInformationData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScientificNotationThreshold ScorerGi ScorerGiPrime ScorerHi ScorerHiPrime ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptForm ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition SearchAdjustment SearchIndexObject SearchIndices SearchQueryString SearchResultObject Sec Sech SechDistribution SecondOrderConeOptimization SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SecuredAuthenticationKey SecuredAuthenticationKeys SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook SelectFirst Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemanticImport SemanticImportString SemanticInterpretation SemialgebraicComponentInstances SemidefiniteOptimization SendMail SendMessage Sequence SequenceAlignment SequenceAttentionLayer SequenceCases SequenceCount SequenceFold SequenceFoldList SequenceForm SequenceHold SequenceLastLayer SequenceMostLayer SequencePosition SequencePredict SequencePredictorFunction SequenceReplace SequenceRestLayer SequenceReverseLayer SequenceSplit Series SeriesCoefficient SeriesData ServiceConnect ServiceDisconnect ServiceExecute ServiceObject ServiceRequest ServiceResponse ServiceSubmit SessionSubmit SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetCloudDirectory SetCookies SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPermissions SetPrecision SetProperty SetSecuredAuthenticationKey SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemModel SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetUsers SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share SharingList Sharpen ShearingMatrix ShearingTransform ShellRegion ShenCastanMatrix ShiftedGompertzDistribution ShiftRegisterSequence Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortTimeFourier ShortTimeFourierData ShortUpArrow Show ShowAutoConvert ShowAutoSpellCheck ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowCodeAssist ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiderealTime SiegelTheta SiegelTukeyTest SierpinskiCurve SierpinskiMesh Sign Signature SignedRankTest SignedRegionDistance SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ SimplePolygonQ SimplePolyhedronQ Simplex Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution SkinStyle Skip SliceContourPlot3D SliceDensityPlot3D SliceDistribution SliceVectorPlot3D Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDecomposition SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SnDispersion Snippet SnubPolyhedron SocialMediaData Socket SocketConnect SocketListen SocketListener SocketObject SocketOpen SocketReadMessage SocketReadyQ Sockets SocketWaitAll SocketWaitNext SoftmaxLayer SokalSneathDissimilarity SolarEclipse SolarSystemFeatureData SolidAngle SolidData SolidRegionQ Solve SolveAlways SolveDelayed Sort SortBy SortedBy SortedEntityClass Sound SoundAndGraphics SoundNote SoundVolume SourceLink Sow Space SpaceCurveData SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution SpatialMedian SpatialTransformationLayer Speak SpeakTextPacket SpearmanRankTest SpearmanRho SpeciesData SpecificityGoal SpectralLineData Spectrogram SpectrogramArray Specularity SpeechRecognize SpeechSynthesize SpellingCorrection SpellingCorrectionList SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SpherePoints SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SphericalShell SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquareMatrixQ SquareRepeatingElement SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave SSSTriangle StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackedDateListPlot StackedListPlot StackInhibit StadiumShape StandardAtmosphereData StandardDeviation StandardDeviationFilter StandardForm Standardize Standardized StandardOceanData StandbyDistribution Star StarClusterData StarData StarGraph StartAsynchronousTask StartExternalSession StartingStepSize StartOfLine StartOfString StartProcess StartScheduledTask StartupSound StartWebSession StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StateTransformationLinearize StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StereochemistryElements StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StoppingPowerData StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamMarkers StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringContainsQ StringCount StringDelete StringDrop StringEndsQ StringExpression StringExtract StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPadLeft StringPadRight StringPart StringPartition StringPosition StringQ StringRepeat StringReplace StringReplaceList StringReplacePart StringReverse StringRiffle StringRotateLeft StringRotateRight StringSkeleton StringSplit StringStartsQ StringTake StringTemplate StringToByteArray StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleData StyleDefinitions StyleForm StyleHints StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subdivide Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subsequences Subset SubsetEqual SubsetMap SubsetQ Subsets SubStar SubstitutionSystem Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubtractSides SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde Success SuchThat Sum SumConvergence SummationLayer Sunday SunPosition Sunrise Sunset SuperDagger SuperMinus SupernovaData SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceArea SurfaceColor SurfaceData SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricKey SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Synonyms Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SynthesizeMissingValues SystemDialogInput SystemException SystemGet SystemHelpPath SystemInformation SystemInformationData SystemInstall SystemModel SystemModeler SystemModelExamples SystemModelLinearize SystemModelParametricSimulate SystemModelPlot SystemModelProgressReporting SystemModelReliability SystemModels SystemModelSimulate SystemModelSimulateSensitivity SystemModelSimulationData SystemOpen SystemOptions SystemProcessData SystemProcesses SystemsConnectionsModel SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelLinearity SystemsModelMerge SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemsModelVectorRelativeOrders SystemStub SystemTest","clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore ","primaryPalette","setOKButtonLabel"," म्हयने","dažas sekundes","object_is_ancestor room_exists room_get_name sprite_set_offset ","physics_particle_group_get_centre_x ","unnest","[আগামীকাল] LT","weights","mix","-ncı","mdDesc","phy_linear_velocity_y phy_speed_x phy_speed_y phy_speed ","str","jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber","isang buwan","module where","IEDocumentWizardStep ","ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a","otherAnswerRadioChanged","trustAsResourceUrl","rⓡｒŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ","جنوري","ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி","Palette","ffebcd","Lin_Lun_Mar_Miy_Huw_Biy_Sab","except exitfor finally foreach все if если in в not не or или try while пока ","tcl","neljän"," poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list","Do_Seg_Te_Ku_Ki_Ses_Sa","panelEl","SYSRES_CONST_ATTACH_TYPE_EDOC ","md-focused","toDegrees","еден час","\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b","px,0)","profile","Iron/[VER]","IProperty ","sekundami","IRread setDNS endSMS getKey micros ","room_set_persistent room_set_background_colour ","barPercentage","NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH ","touchend mouseup","الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت","minVelocity","isUniformAllowed isVehicleCargo isVehicleRadarOn isVehicleSensorEnabled isWalking ","ui.bootstrap.position","Request-URI Too Long","\\s*([\\w_-]+:)?","diag_captureFrame diag_captureFrameToFile diag_captureSlowFrame diag_codePerformance ","_nextDay","createBackdrop","part_system_automatic_draw part_system_update part_system_drawit ","چركه‌ %d","[deman a] LT","containsCachedAnimationWithoutDuration","видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование ",'<md-input-container><div layout="{{CheckboxesView.formItem.config.direction == \'horizontal\' ? \'column\' : \'row\'}}"><md-checkbox ng-repeat="option in CheckboxesView.formItem.options track by $index" ng-model="option.selected" ng-change="CheckboxesView.toggleSelectedOption(option)" ng-disabled="CheckboxesView.disableOptions && !option.selected" aria-label="...">{{option.value}}</md-checkbox></div><div ng-messages="CheckboxesView.form.$error"><div ng-message="minSelections">Must select {{CheckboxesView.formItem.maxSelections || 1}} items</div></div></md-input-container>',"SYSRES_CONST_COMPONENT_TYPE_REFERENCE_TYPES ","_findSession","&align=","outbound","_isValid","[a-z-]+","addr and as asm bind block break case cast const continue converter ","Rectangle","md-head","contactName","IExternalHandler ","РедТекст ","OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET ",'<div class="md-thumb" md-ink-ripple md-ink-ripple-checkbox></div>',"ok_woman","SYSRES_CONST_OBSOLETE_VERSION_STATE_PICK_VALUE ","ltrim"," foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s","ISBL_SYNTAX ","bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 ",",\\s*,","usPurpleSquare ","setChannel","^\\s*%{1,2}={0,2}","disableScrollMask","bufferTimeout","mdp-access-time.svg","isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal ",'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7 6 v12 h2 v-12 h-2z M17.41 7.41L16 6l-6 6 6 6 1.41-1.41L12.83 12z"/></svg>',"شهرين","buildCSV","ps_distr_invgaussian ps_shape_rectangle ps_shape_ellipse ","vertex_usage_blendweight vertex_usage_blendindices ","has been deprecated. Please use a `","sendPacket","dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm","SYSRES_CONST_AUTOTEXT_TEXT_REQUISITE_CODE ","Result ","ev_global_gesture_rotate_end vk_nokey vk_anykey vk_enter vk_return ","mark_as_advanced math message option return separate_arguments ",'[rq]"',"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)","An t-Samhain","makeStub","%s таму","uiSrefActiveEq","BAD_MEDIA_DESCRIPTION","isSameOrBefore","patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias ",'authenticate() | no plain SIP password, and stored `realm` does not match the given `realm`, cannot authenticate [stored:"%s", given:"%s"]',"controlPointPreviousY","barWidth","width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,","\\([^\\(]","onAccept","handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups ","close","рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента ","гадзіну_гадзіны_гадзін","racehorse","delete_node","landscape","borderDash","part_type_exists part_type_clear part_type_shape part_type_sprite ","Iúil","md-mode-","SYSREF_TASK_RIGHTS ","rgb(230, 204, 255)","function constructor destructor procedure","priorWebsocketSuccess","verilog","unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 ","[inanahi i] LT","$swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb ","clearSelected","006400","JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH ","loron %d",'<iframe src="',"BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ","$subPattern","fromComponentProvider","%d yıl","timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking ","STATUS_CONNECTING","[\\x80-\\xBF]","and not","to_tag","encodeAsBinary","highlightBlock","fffafa","createComment","_actualPosition","неделя_недели_недель","SYSRES_CONST_EDITORS_REPLACE_SPEC_CHARS_REQUISITE_CODE ","tickUnit","ທີ່","md-hide","abs.[sd]|add.[sd]|alnv.ps|bc1[ft]l?|","md-autocomplete-snap",".item","sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL ","sfcOrange ","selectedTemplateName","%d días","__DIR__ __END_LINE__ __FILE__ __LINE__","JOB_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY ","\\->\\*?","__cacheable","Default value (","أقل من ثانية","_group","isOpen","SYSRES_CONST_REQUISITE_SECTION_TABLE7 ","mdColorPickerAlpha","Abs Acos Angle Attachments Area AreaGeodetic Asin Atan Atan2 Average Bearing Boolean Buffer BufferGeodetic ","translateLanguageChanged","localtime utc timezone","EndOfPeriod ","servername","443","buildOrUpdateControllers","rawDefinition","tx2","режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки ","en_address ip_address realname command environment hour monute month monthday special target weekday ","getObject","reflexivity irreflexivity connectedness uniqueness commutativity ","SYSCOMP_FOLDERS ","getInnerHTML","md-next-button","propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd ","gpu_set_tex_mip_filter_ext gpu_set_tex_mip_bias ","kelių sekundžių","деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы ","div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within ","Search Bot","__uiRouterState","$focus","defaultView","dequeue","fromCron","enum else extends implements break transient new catch instanceof byte super volatile case ","atm","SUBTASK_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY ","New-NsxEdgeFirewallRule New-NsxEdgeInterfaceSpec New-NsxEdgeNatRule New-NsxEdgeOspfArea New-NsxEdgeOspfInterface New-NsxEdgePrefix New-NsxEdgeRedistributionRule ","Fill","IAccountRepository ","baidubrowser/[VER]","internal","dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm","ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu","ff7f50","_dialog","сати","toHslString","parseFmtpConfig","camera_set_default camera_set_view_mat camera_set_proj_mat ","300 400 A200","transformOrigin","date_days_in_year date_leap_year date_is_today date_set_timezone ","SYSREF_EDOCUMENT_REQUISITES ",'md-chip[index="',"dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt ","scatter","toHsl","onpagehide","ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding ","\\*(\\.[a-z\\-]+)+","setAttribute","numeric","hashKey","getElementAtEvent","rgb(0, 214, 0)","IDENT_RE","editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature ",'<md-button class="md-raised md-primary" ng-click="ok()">{{getLocalizationVal("Ok")}}</md-button>',"$assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk ","SYSREQ_REF_TYPE_VIEW_IS_MAIN ","Find-PackageProvider Find-RoleCapability Find-Script Format-Hex Format-VMHostDiskPartition Format-XML Generate-VersionInfo ","asYears","mw-form-confirmation-page-builder.html","mdAutofocus","mdp-event",'username="',"flatMap","mdClose","pageFlowModifierChanged","[object Set]","$cfg.path","image-rendering","getContentElement","расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных ","#d500f9","300 400 A200 A400 A700","            'btn-info' for selectedDt,\n","eras","field field_simplify field_simplify_eq first firstorder fix fold fourier ","mánuði","wow",'    <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}"></i>\n',"@mdpFormat","jkControlJob ","ChartJsFactory","href","[i går kl.] LT","%d orë","_findTabReverse",'((u8?|U)|L)?"',"[yarın saat] LT","scrollbarYActive","TRANSFORM","display_set_timing_method display_get_timing_method ","$mdCheckboxInkRipple","SYSRES_CONST_GROUP_NAME_REQUISITE_CODE ","Cache","поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы ","mma","allItems","gridster-item-resizing","material.components.menuBar","dizzy","encodeURIComponent","_onmute","dropdownItems","loadViews","$uiViewScroll","logarithmic","pageIdToPage","$swipe","content-type","uibDaypicker","audio_sync_group_debug audio_sync_group_is_playing audio_debug ","$currentTransition","Min_Sen_Sel_Reb_Kem_Jem_Sep","gridster-item","FILTER_OPERANDS_DELIMITER ","[मागील] dddd, LT","tranSvc","JsSIP Internal Error","dddd [សប្តាហ៍មុន] [ម៉ោង] LT","[sv-element]:not(.sv-placeholder):not(.sv-source)","fired","dateLocale","SYSREQ_USERS_LOGIN ","DOMSubtreeModified","Unexpected template value. Expected a string; received a ","md-table-progress.html","</table>","radialLinear","keepContent","Enable-vRNIDataSource Expand-Archive Export-NsxObject Export-SpbmStoragePolicy Export-VApp Export-VDPortGroup Export-VDSwitch ","bindToController","close_requested"," tcptype %s","\\d+\\.(?!\\d)(?:i\\b)?","mwezi mmoja","$$encodeUriQuery","__index__","matcher","helper","<style>","=?treeEventsObj",".md-datepicker-input-mask-opaque","DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 ","insertTab","mdPlaceholder","SYSRES_CONST_REF_ID_T_REF_TYPE_REQUISITE_CODE ","нд_пн_ат_ср_чц_пт_сб","%[0-9]+","fromUrlMatcher","isEnded","CreateObject ","ptime","smile","^\\+{4,}\\n","[object FileConstructor]","functions model data parameters quantities transformed ","IProgress ","zipObject","bold","[0-9]|[1-5][0-9]","SYSRES_CONST_USER_STATUS_DISABLED_NAME ","တစ်နှစ်","mdClearButton","^\\s*[A-Za-z0-9_$]+:","СоздатьЗапрос ","SYSRES_CONST_STANDART_ROUTE_REFERENCE_COMMENT_REQUISITE_CODE ","putObject","началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя ","_gradientType","\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b","(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+","visibility: hidden !important;","Chips input.","beetle","bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(.hb)?|jr(.hb)?|lbu?|lhu?|","#78909c","типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса ","cert","бир йил","week","SYSRES_CONST_STATUS_VALUE_RED_SQUARE ","physics_particle_group_get_centre_y physics_particle_group_get_vel_x ","mw-form-question.html","uibCollapse","auth-int","route_set","order group by asc desc index hint like dispaly edit client server ttsbegin ","SUBTASK_BLOCK_PERFORMERS_PROPERTY ","material.components.menu","useOnRemoveExpression"," mintamni","Samhain","e606",'Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_"',"[ഇന്നലെ] LT","$translateLoadingEnd","nav-up","useFallbackLanguage","(min-width: 1280px)","</div>            </md-input-container>","BIT","disableOpenOnHover","SYSRES_CONST_SELECT_TYPE_SELECTABLE_WITH_CHILD ","hasSpeakers","prevMonth","crm","getChipContent","утра","buildPath","\\u200d","translateNamespaceDirective","countVisibleElements","$promise","threshold","phy_position_y phy_angular_velocity phy_linear_velocity_x ","#aed581","remoteExec remoteExecCall remoteExecutedOwner remove3DENConnection remove3DENEventHandler ",'  uib-tooltip-template-transclude="contentExp()"\n',"_pushTo","probit|probnegb|probnorm|probt|put|putc|putn|qtr|","pointer","जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या","_meridiemParse",'<md-toolbar class="mdp-clock-center md-primary"></md-toolbar>',"https://www.youtube.com/watch?v=","draw_rectangle_colour draw_roundrect_colour ","DatasetController","shift","$includeContentLoaded","_reduceTranslateValues","render","discriminate discrR do double dtauto eapply eassumption eauto ecase ","CRLF","ФайлУдалить ","IIntegerList ","tab","_week","runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage ","SYSRES_CONST_STANDART_ROUTE_REFERENCE_CODE ","px,","true false null undefined","webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ","escapeUser","#f3e5f5","inputMask",'        <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n',"prolog","SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION ","bowtie","md-radio-button.md-checked","SYSRES_CONST_KIND_REQUISITE_CODE ","IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML ","ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG ","Interceptor type must be a string, instead got ","setahun","Get-ComplexResourceQualifier Get-ConfigurationErrorCount Get-ContentLibraryItem Get-CustomAttribute Get-DSCResourceModules Get-Datacenter ","xquery","%s ਪਿਛਲੇ","searchText","gamepad_button_value gamepad_axis_count gamepad_axis_value ","Invalid value of sv-grid attribute","_newMessage","(\\s*/)?","ڊسمبر","Connection Error","ondisconnect","wfepFlag ","endclocking endconfig endfunction endgenerate endgroup endinterface endmodule ","pos","_body","particle particleExists particleInstancer particleRenderInfo partition pasteKey ","fromString","IncomingResponse","u[\\dA-Fa-f]{4}|","jedne minute","отображениевремениэлементовпланировщика ","args","?^uiSrefActiveEq","_calculatePanelPosition","_items","rdYesterday ","STEP_DEG","incoming Message already replied","$$mdSelectId","wstEDocument ","#f8bbd0","points","_left","lineWidths","$mdConstant","ts-refclk:%s","receiveReplaces()","max-height",'"`"',"mouseenter","mediaClockName","REFERENCE_REQUISITE_PSEUDOREFERENCE_CODE ","dateFormat","chartGetColor","onKeydown","&ngCsv","300 400","bride_with_veil","Anno Domini","$sanitize","D DagumDistribution DamData DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DatabaseConnect DatabaseDisconnect DatabaseReference Databin DatabinAdd DatabinRemove Databins DatabinUpload DataCompression DataDistribution DataRange DataReversed Dataset Date DateBounds Dated DateDelimiters DateDifference DatedUnit DateFormat DateFunction DateHistogram DateList DateListLogPlot DateListPlot DateListStepPlot DateObject DateObjectQ DateOverlapsQ DatePattern DatePlus DateRange DateReduction DateString DateTicksFormat DateValue DateWithinQ DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayHemisphere DaylightQ DayMatchQ DayName DayNightTerminator DayPlus DayRange DayRound DeBruijnGraph DeBruijnSequence Debug DebugTag Decapitalize Decimal DecimalForm DeclareKnownSymbols DeclarePackage Decompose DeconvolutionLayer Decrement Decrypt DecryptFile DedekindEta DeepSpaceProbeData Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultPrintPrecision DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValue DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod DefineResourceFunction Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic DEigensystem DEigenvalues Deinitialization Del DelaunayMesh Delayed Deletable Delete DeleteAnomalies DeleteBorderComponents DeleteCases DeleteChannel DeleteCloudExpression DeleteContents DeleteDirectory DeleteDuplicates DeleteDuplicatesBy DeleteFile DeleteMissing DeleteObject DeletePermissionsKey DeleteSearchIndex DeleteSmallComponents DeleteStopwords DeleteWithContents DeletionWarning DelimitedArray DelimitedSequence Delimiter DelimiterFlashTime DelimiterMatching Delimiters DeliveryFunction Dendrogram Denominator DensityGraphics DensityHistogram DensityPlot DensityPlot3D DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DerivedKey DescriptorStateSpace DesignMatrix DestroyAfterEvaluation Det DeviceClose DeviceConfigure DeviceExecute DeviceExecuteAsynchronous DeviceObject DeviceOpen DeviceOpenQ DeviceRead DeviceReadBuffer DeviceReadLatest DeviceReadList DeviceReadTimeSeries Devices DeviceStreams DeviceWrite DeviceWriteBuffer DGaussianWavelet DiacriticalPositioning Diagonal DiagonalizableMatrixQ DiagonalMatrix DiagonalMatrixQ Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DictionaryWordQ DifferenceDelta DifferenceOrder DifferenceQuotient DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitalSignature DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralAngle DihedralGroup Dilation DimensionalCombinations DimensionalMeshComponents DimensionReduce DimensionReducerFunction DimensionReduction Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletBeta DirichletCharacter DirichletCondition DirichletConvolve DirichletDistribution DirichletEta DirichletL DirichletLambda DirichletTransform DirichletWindow DisableConsolePrintPacket DisableFormatting DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLimit DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscreteMaxLimit DiscreteMinLimit DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform DiscretizeGraphics DiscretizeRegion Discriminant DisjointQ Disjunction Disk DiskBox DiskMatrix DiskSegment Dispatch DispatchQ DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceMatrix DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers DivideSides Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentGenerator DocumentGeneratorInformation DocumentGeneratorInformationData DocumentGenerators DocumentNotebook DocumentWeightingRules Dodecahedron DomainRegistrationInformation DominantColors DOSTextFormat Dot DotDashed DotEqual DotLayer DotPlusLayer Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DropoutLayer DSolve DSolveValue Dt DualLinearProgramming DualPolyhedron DualSystemsModel DumpGet DumpSave DuplicateFreeQ Duration Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicGeoGraphics DynamicImage DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions","iffMultiPageTIFF ","traceUIViewEvent","old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly ","YYYY MMMM D, a h:mm","thru","lineWidth","S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý","actionByKey","contentDocument","SYSRES_CONST_EXECUTE_ACCESS_RIGHTS_TYPE_CODE ","D MMM YYYY, H:mm","onClick","sbyte short single string trycast typeof uinteger ulong ushort","ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ","findNextWhere","requestAnimFrame","qt5_use_modules qt5_use_package qt5_wrap_cpp ","[<='$\"]","CheckboxesView",'   ng-attr-title="{{match.label}}"></a>\n'," inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint","outline","audio_emitter_set_listener_mask audio_set_listener_mask ","push","heavy_check_mark","unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow","1234","500 600 700 800 900 A400 A700","InteractiveMode ","@mdContactName","native","authenticate() | response generated","couplekiss","$applyAsync","traceResolvePath","achievement_our_info achievement_friends_info ",'"\\r\\n"',"toasty-position-","~\\*?\\s+","scream_cat","soundcloudEmbed","[Во] dddd [во] LT","nestLevel","أقل من دقيقة",'ng-repeat="tab in $mdTabsCtrl.tabs" ',"uibDropdownToggle",'    <md-icon md-svg-icon="navigate-before.svg"></md-icon>\n',"$mdThemingProvider","ExpandEnvironmentVariables ",'<div class="md-dialog-container" tabindex="-1" '," tundi","module-def",":         Resolving ","  </md-select>\n","configMerge","хвіліна","[letzten] dddd [um] LT [Uhr]","tropical_drink",";tag=","gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord ","bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft","railYMarginHeight","setLocale","rewind|right|round|saving|scan|sdf|second|sign|","reverseContainerStretch","_getSocket","mobileModeEnabled","MdPanel: ","nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType ","[\\s\\S]*","mdOnAdd","malformed. The name and preset object are required.","[u] dddd [u] LT","terminated",'height="',"%d วัน","swimmer","global if methods otherwise parfor persistent properties return spmd switch try while","flexLtMd","pie","Locale ","legend intersect ismember procrustes hold num2cell ","%d sagat","weight","zpty zregexparse zsocket zstyle ztcp",'<span class="md-select-icon" aria-hidden="true"></span>',"snakeCase","ICompRecordInfo ","preventMouseEvent","layoutNowrap","#64ffda","SYSRES_CONST_TASK_STATE_ABORTED ","A_[a-zA-Z0-9]+","miniti %d","%d minit","$document","fix","YYYY년 MMMM D일 A h:mm","md5_string_utf8 md5_file os_is_network_connected sha1_string_unicode ","rooster","#66CC00","_earlyDialogs","boundaryLinks","message","%s назад","Replaces: ","getRangeAt","poll","while long throw finally protected final return void enum else ","subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring ","addNewOfferedAnswer","daysInMonth","dddd D MMMM [de] YYYY [a les] H:mm","stale","\\b(text item delimiters|current application|missing value)\\b","animationDuration","ng-sortable","<span flex></span>","emExportWithLock ","способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление ","#dd2c00","SHIFTJIS_CHARSET HANGEUL_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET ","ngAriaDisable","@ @= ^ ^= abs accumulate all and any ap-compose ","e61a",", __j = Array.prototype.join;\n","типномерадокумента типномеразадачи типформы удалениедвижений ","ui.router.compat","calling ack %s with %j","Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des","INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION ",".jstree"," stemplot stirling stirling1 stirling2 strim striml strimr string stringout","applyTransitionDelay","md-datepicker-is-showing","установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы ","dní","updateHoverStyle","%d секунд","closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter ","separatorKeys","date_get_hour date_get_minute date_get_second date_get_weekday ","wiHigh ","dakika moja","\\[(\\|\\|)?\\]|\\(\\)","[Àna ni] LT","eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d ","IEvent ","sas","tedEmbed","glBorderDashOffset","whale2","ist","_monthsStrictRegex","ఒక రోజు","mw-question-offered-answer-list-builder.html","md-absolute md-hide","LEFT_ARROW",":(?!\\s)","Next","JsSIP:ERROR:Parser","encrypt-uri","-üncü"," remove_fundamental_units remove_plot_option remove_vertex rempart remrule","&show_comments=","OPEN ","animationObject","^[0-9]+> ","aemEnabledAlways ","new throw","CREATE","SYSDLG_CREATE_EDOCUMENT ","pirms %s","ФайлСсылкаСоздать ","ng-attr-ui-sref","ninf nsz arcp fast exact inbounds align ","noshrink","Die_Hën_Mar_Mër_Enj_Pre_Sht","Thu",'<div ng-bind-html="neText"></div> <div class="ne-video" ng-if="video.host" class="fade"> <div class="ne-video-preview" ng-hide="nePlayVideo || !options.video.details"> <div class="ne-video-thumb" ng-click="nePlayVideo=!nePlayVideo"> <img ng-src="{{video.thumbnail}}" alt=""/> <i class="fa fa-play-circle-o"></i> </div> <div class="ne-video-detail"> <div class="ne-video-title"> <a ng-href="{{video.url}}">{{video.title}}</a> </div> <div class="ne-video-desc"> {{video.description}} </div> <div class="ne-video-stats"> <span><i class="fa fa-eye"></i> {{video.views}}</span> <span><i class="fa fa-heart"></i> {{video.likes}}</span> </div> </div> </div> <div class="ne-video-player" ng-if="nePlayVideo || !(options.video.details)"> <iframe ng-src="{{video.embedSrc}}" frameBorder="0" width="{{video.width}}" height="{{video.height}}" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> </div> </div> <div class="ne-video" ng-if="video.basic"> <div class="ne-video-player"> <div class="player"> <video ng-src="{{video.basic}}" controls></video> </div> </div> </div> <div ng-init="neImageLong=false" ng-class="{false:\'ne-image\', true:\'ne-image ne-image-long\'}[neImageLong]" ng-if="image.url"> <div class="ne-image-wrapper"> <img ng-src="{{image.url}}" ng-click="neImageLong=!neImageLong" alt=""/> </div> </div> <div class="ne-pdf" ng-if="pdf.url"> <div class="ne-pdf-preview" ng-hide="neShowPdf"> <div class="ne-pdf-icon"> <i class="fa fa-file-pdf-o"></i> </div> <div class="ne-pdf-detail" > <div class="ne-pdf-title"> <a href="">{{pdf.url}}</a> </div> <div class="ne-pdf-view"> <button><i class="fa fa-download"></i> <a ng-href="{{pdf.url}}" target="_blank">Download</a></button> <button ng-click="neShowPdf=!neShowPdf"><i class="fa fa-eye"></i> View PDF</button> </div> </div> </div> <div class="ne-pdf-viewer" ng-if="neShowPdf" ng-show="neShowPdf"> <iframe ng-src="{{pdf.url}}" frameBorder="0"></iframe> </div> </div> <div class="ne-audio" ng-if="audio.url"> <audio ng-src="{{audio.url}}" controls></audio> </div> <div ng-if="tweets" ng-repeat="tweet in tweets"> <div ng-bind-html="tweet"></div> </div> <div ng-if="videoServices" class="ne-video" ng-repeat="v in videoServices"> <div class="ne-video-player"> <div class="player"> <div ng-bind-html="v"></div> </div> </div> </div> <div ng-if="audioServices" class="ne-audio" ng-repeat="a in audioServices"> <div ng-bind-html="a"></div> </div> <div ng-if="codeServices" class="ne-embed" ng-repeat="c in codeServices"> <div ng-bind-html="c"></div> </div> <div ng-if="gist" class="ne-gist" ng-repeat="g in gist"> <ne-gist id="{{g}}"></ne-gist> </div>',"chosenClass","хвилину","E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED ","[Imorgon] LT","SYSREF_REFERENCES ","#311b92","uib-slideDirection","md-panel-is-showing","phy_collision_points phy_collision_x phy_collision_y ","dango","md-dialog-content","</ul>\n"," ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using","Son_Maa_Din_Woe_Don_Vry_Sat","text/html",'emit "peerconnection:createofferfailed" [error:%o]',"SYSREQ_CONST_FIRM_STATUS ","era","Set-NodeExclusiveResources Set-NodeManager Set-NodeResourceSource Set-NodeResources Set-NsxEdge Set-NsxEdgeBgp Set-NsxEdgeFirewall Set-NsxEdgeInterface Set-NsxEdgeNat ","findLastIndex","#d7ccc8"," usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition","eventHandlers","oMatchesSelector","marginTop","Payment Required","#e65100","padding-top","a day","dcdcdc","$valid","focusMenu","margin-bottom","\\bend\\sif\\b","бір минут","Ввод ","_from_tag","activate beep count delay launch log offset read round ","menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName ","hh:mm A","_positions","\\W}","] LT","!?[-~]{1,2}>\\*?","ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ","TPC-PA762","UIRouter instance #","white_square","ngFocus","md-close","attrs2","ms-my","groupOwner groupRadio groupSelectedUnits groupSelectUnit gunner gusts halt handgunItems ","ПроверитьПараметрЗнач ","sortableConfig","SYSRES_CONST_DATE_OPEN_REQ_CODE ","SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION ","$inject","onOpenComplete","wrapperId","rgb(0, 82, 163)","$md.swipedown","MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b","inbox_tray","_deferred",'r"""','"icon"',"handleClickSelectToday","soatReferenceRecordCollection ","%d jagit",'<div class="mdp-calendar">',"formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData ","md-toast-open-","CurrentUserID ","#0d47a1","dddd, D MMMM YYYY, A h:mm वाजता","call()","int","_md-button-wrap","#CC3399","keyboard_virtual_status keyboard_virtual_height","SYSRES_CONST_NO ","monthCtrl","dragPointer","house_with_garden","ugc_list_VotedUp ugc_list_VotedDown ugc_list_WillVoteLater ","keydown","SameAsCurrent"," (\\d+) "," nap","initResponsesForCurrentPage","date decimal directcast double gettype getxmlnamespace iif integer long object ","ev_global_gesture_pinch_start ev_global_gesture_pinch_in ","uibDropdownMenu","legend","no_entry_sign","microscope","January_February_March_April_May_June_July_August_September_October_November_December","anchors","getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget ","tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu","Scripts ","ui.router.state","mdExpansionPanelGroup","SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V","closeable","$$hash","$fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh ","ParentComponent ","isPIN blink clear press mkdir rmdir close ","_scale","TRANSITION_DURATION","autoselect","Skyfire","$$MdGestureHandler","PAGE_UP","baseball","r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 ","_extraContactParams","(^)","object_get_solid object_get_visible object_get_persistent ","trait true try type typeof unsafe unsized use virtual where while yield","div.[ds]|ldx?c1|luxc1|lwx?c1|madd.[sd]|mfc1|mov[fntz]?.[ds]|","smoking","rejectUnauthorized","scrollOffset",'    <li ng-if="showButtonBar" class="uib-button-bar">\n',"sekunde %d","[prošlog] [ponedjeljka] [u] LT","ދުވަހެއް","XⓍＸẊẌ","a h:mm","LN10","below","\\bproperty\\b","sctpmap",'<div class="md-datepicker-input-container" ng-class="{\'md-datepicker-focused\': ctrl.isFocused}">'," pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal","this false true","یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌","noIncrementMinutes","СпрКод ","steam_ugc_start_item_update steam_ugc_set_item_title ","D MMMM YYYY, A h:mm সময়","ff8c00","NON_INVITE_CLIENT","prompt","tooltip","jsfiddleEmbed","e614","Unavailable",'<div class="md-button md-no-style">',"%d meses","400",'<a role="button" href class="left carousel-control" ng-click="prev()" ng-class="{ disabled: isPrevDisabled() }" ng-show="slides.length > 1">\n',"searchFields","wiNormal ","showGmtInfo","inArray","defaultSizeX","полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных ","webkitMatchesSelector","MSPointerUp","[onte ","_toggleMuteVideo","ar-sa","Chips container. Use arrow keys to select chips.","ނޮވެމްބަރު","ctTask ","unAssignDrop",'      <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n',"html.hbs","OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION ","vmView ","sprite_flush_multi sprite_set_speed sprite_get_speed_type ","<label>","applyViewConfigs","%d jorns","#fffde7",'      <div ng-if="matchClass && result.description && result.description != \'\'" class="angucomplete-description" ng-bind-html="result.description"></div>','<div class="md-errors-spacer">',"ice-pwd:%s","YYYY年M月D日(ddd) HH:mm"," mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic","|unless)\\s*",'"answer" not supported for outgoing RTCSession',"TargetState","wasClean","Updating","(min-width: 1920px)","barThickness","[Vakar] LT","useColors","value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ","%d δευτερόλεπτα",'src="https://w.soundcloud.com/player/?url=https://',"shortFmt","минута_минуты_минут","D. MMMM YYYY H:mm","rgb(255, 51, 255)","دقيقتان","phones","unix","share","$$mdDestroyed","_$injector","unnestR","now","getActualPosition",'<div class="md-subheader-wrapper" aria-hidden="true">',' aria-label="{{placeholder}}" placeholder="{{placeholder}}"',"aget","CreatedNotices ","ی_د_س_چ_پ_ج_ش","ngHide"," get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close","SYSRES_CONST_DATE_REQUISITE_NAME ","stan","</span></li>","gridsterConfig","SYSRES_CONST_DET3_PART ","setupStaticChips","^^mdSelectMenu","secondaryPlaceholder","onData","=\\bclass\\b","dddd, D MMMM YYYY H:mm","person_frowning","hspeed vspeed direction speed friction gravity gravity_direction ","clickable_change clickable_change_ext clickable_delete ","subtract","physics_particle_set_density physics_particle_set_damping ","#304ffe","_focusNextTab","LT [noong nakaraang] dddd","umbrella","md-component-id","(VZOFX|VZOFY|VZOFZ)","/(?!\\/)","фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs ","typeaheadInputFormatter","$compile","e60a","dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ","draggable","physics_apply_impulse physics_apply_angular_impulse ","sendRefer","hodina","md-show md-scroll-y","%d ժամ","process","layer_tile_region layer_tile_visible layer_tile_get_sprite ","parentToolbar","SYSRES_CONST_STATUS_VALUE_YELLOW_SQUARE ","localizationMap","param","LocationConfig","articulated_lorry","descriptionField","SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION ","setItem","#6200ea","show-lt-md","unexpectedChars","floatItemsUp","AAA","_createLiveElement","ལམ་སང","minMode","_createDialog","order","wfepText24 ","three","SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_NAME ","signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt ","setwinvar tolower wildmenumode log10 spellsuggest bufloaded ","unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink ","$$watchExpr","invertedSwapThreshold","режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра ","emptyInsertThreshold","ГруппаДополнительно ","वेर","ФайлПереименовать ","app/directives/radio-button-item/radio-button-item.html","eltPerConnection ","addRange","ctRichEdit ","handle","неделя","AddSubString ","angucomplete-alt","NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE ","$mdDialog","mdpCalendar","rage","një ditë","buffer_string buffer_surface_copy buffer_seek_start ","في %s","MenuBarController","getSelectedDate","@?inputAriaDescribedby",";lr>","FeatureSetByRelationshipName FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry GroupBy Guid HasKey Hour IIf IndexOf ","onExit","SUBTASK_BLOCK_USE_STANDARD_ROUTE_PROPERTY ","chartBubble","[v neděli v] LT","remote_tag",'     format="format" ',"#c8e6c9","[గత] dddd, LT","SYSRES_CONST_LINK_OBJECT_KIND_TASK ","wheelDelta","word-spacing","[Сёння ў] LT","\\w+-?\\w+","div","_uac_pending_reply","taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskParent ","mdNavHref","attachTo","ФайлЗанят ","$mdLiveAnnouncer","after","railBorderYWidth","md-content","SYSREQ_USERS_USER_MAIN_SERVER ","limit","environ vocabularies notations constructors definitions ","يوم واحد","CanReadFile ","%d minutos","preAssignBindingsEnabled","refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! ","ctrlKey","#FF00FF","އަންގާރަ","opening","ночы","[\\w-?]+:\\w+","vtRange ","ice"," napja","include_bin! include_str! line! local_data_key! module_path! ","divide","#000000","dddd, MMMM D, YYYY h:mm A","#455a64","distanceX","$animateProvider","(url|data-uri)\\(","removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers ","clojure","~?`[^`]*?`","iced","max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real ","part_type_step part_type_death part_type_speed part_type_direction ","ល្ងាច","_onDisconnect","SYSREQ_REF_TYPE_REQ_DESCRIPTION ","shader_set_uniform_i shader_set_uniform_i_array shader_set_uniform_f ","No such state '","%d saniye","rgbaToRgb","missing or invalid JsSIP.Socket sip_uri property","monthFilter","_lastX","_to_uri","material.components.subheader","time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk ","$$rAF","suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate ","user_name","defineProperty","[Igår] LT"," out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface","\\b_?[A-Z][\\w]*","pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '","%s sitten","checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip "," жилийн","mobileBreakPoint","throw throws try catch finally implements extends new import package return instanceof","okta beaivi","rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel ","absoluteURI","setHoverStyle","updateDatasets","oras %d","SYSRES_CONST_EDITORS_OBSERVER_BY_PROCESS_TYPE ","SYSREQ_PROFILING_SETTINGS_BATCH_SIZE ","mⓜｍḿṁṃɱɯ",'document.body.scrollHeight + \'px\'" style="margin:10px 0;"><script type="text/javascript">',"u6e80","$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER "," */)","Nodejs/","ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform ","synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd ","taglist string getmatches bufnr strftime winwidth bufexists ","</p>","гадзіну","related","ben","steam_create_leaderboard steam_upload_score steam_upload_score_ext ","$touched","WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS ","ftUserFolder ","ef_smoke ef_smokeup ef_star ef_spark ef_flare ef_cloud ef_rain ","isEdge","_liveElement","tsRefClocks","(min-width: 960px) and (max-width: 1279px)","jboss-cli","এক ঘন্টা","(?:\\W|$)","rows","bottom","imageattrs","background-attachment","emCreateObject ","textAlign","steam_ugc_create_query_user steam_ugc_create_query_user_ex ","expectWithText","opacity","КодСпр ","sonten","tinan %d","editElement","SYSRES_CONST_CODE_COMPONENT_TYPE_OTHER ","$rootElement","$translateChangeError","фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла ",", 0.1)","rust","vertex_format_add_position_3d vertex_format_add_colour ","Uint32Array","$rootScope","stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,","argument15 argument_count x y xprevious yprevious xstart ystart ","$resource","md-select-placeholder","أوت","include","isStateDeclaration","[+-]\\d{4}","@?mdDirection","^imageattr:(\\d+|\\*)","VIEW_HOURS","SYSREQ_EDOC_EXPORTER ","fish","formatDate","SYSRES_CONST_ACTION_TYPE_MODIFY ","ఆ_సో_మం_బు_గు_శు_శ","SYSRES_CONST_ACTION_TYPE_CHANGE_CARD ","game_die","usOrangeSquare ","ФайлРазмер ","</md-dialog-content>","&[a-zA-Z\\d]{2,};","keyboard","calendarPaneId",'<ol class="carousel-indicators" ng-show="slides.length > 1">\n',"lineDashOffset","room_caption room_persistent score lives health show_score ","svgElements","%c ","типхранилищасертификатовкриптографии ","enableReset","0.4.1","SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION_CODE ","cached","filterWatcher","typeaheadMinLength","%s اڳ","[Namuhla nga] LT","material.components.showHide","Вызвать ","A h:mm:ss [वाजतां]","<div>\n","valign,value,vspace,width","isRoot","Remove-VsanIscsiInitiatorGroupTargetAssociation Remove-VsanIscsiLun Remove-VsanIscsiTarget Remove-vRABusinessGroup Remove-vRACustomForm Remove-vRAExternalNetworkProfile ",'ng-click="ctrl.openCalendarPane($event)">',"fullscreen","SYSRES_CONST_UNSTORED_DATA_REQUISITE_NAME ","bar_chart","registerInterceptor","SYSRES_CONST_DESCRIPTION_REQUISITE_CODE ","called","dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor ","bm_inv_src_alpha bm_dest_alpha bm_inv_dest_alpha bm_dest_colour ","ನೇ","měsíci","#0033CC"," opsubst optimprefix optionset orientation origin orthopoly_returns_intervals","border-left-color","tablets","takeWhile","ctNotice ","<\\!\\[CDATA\\[","[Morgaŭ je] LT","missing or invalid JsSIP.Socket method: ","beingDragged","object_set_persistent object_set_mask room_set_width room_set_height ","%[qQwWx]?-","setMax","556b2f","$mdChipsCtrl.items","selector-class","pointcut after before around throwing returning","rearg","remoteUrlRequestWithCredentials","आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार","SYSREQ_USERS_COMPONENT_USER_IS_PUBLIC ","addMethod","hasOwnProperty is not a valid parameter name.","[हिजो] LT","SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 ","cordova","%s پیش","ng-","onEnter","charset","#ffab91","_presets","SYSRES_CONST_TEST_DEV_DATABASE_NAME ","activeYear2","C_BLOCK_COMMENT_MODE","NAME","EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ","begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch ","dismissOnTimeout","isDayEnabled","column-rule-style","outerText","scroll-shrink","gemspec","paramSchema","TEST_EDMS_SYSTEM_CODE ","textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList ","llvm","%s క్రితం","draw_skeleton draw_skeleton_time draw_skeleton_instance ","ngclipboard","canvas","boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype ","пре %s","ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated ","SQL2XLSTAB ","જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર","defaultTypes","datalines datalines4 delete delim delimiter display dm drop ","hues","select_listbox_","មួយថ្ងៃ","isWebsiteHasWebcamPermissions","@mdCurrentView","setFullYear","كانونی یەکەم"," raddr %s rport %d","dpr","queue"," imetric implicit implicit_derivative implicit_plot indexed_tensor indices","draw_sprite_pos draw_sprite_ext draw_sprite_stretched ","'md-right':         tab.isRight(), ","^form","steam_clear_achievement steam_set_stat_int steam_set_stat_float ","millis minute month second year background clear colorMode fill noFill noStroke stroke alpha ","á~ñ hó~úr","GROUPING CAST ","SYSRES_CONST_STATE_REQUISITE_CLOSED_VALUE ","#fb8c00","getRuler","^\\s*[a-zA-Z_][a-zA-Z\\d_]*:","IArchiveInfo ","socket error %j","nodeType"," and ","hivi punde","Failed to register element with handler ","нд_пн_вт_ср_чт_пт_сб","%[Qwi]?{","PERCENTILE_CONT PERCENTILE_DISC ","_applyModification","_state","sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr ","#4a148c","apply","SYSRES_CONST_NAME_LOCALIZE_ID_REQUISITE_CODE ","([ui](8|16|32|64|128|size)|f(32|64))?","incrementDays","SYSRES_CONST_EDOCUMENT_CARD_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE ","NOTICE_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY ","MSPointerMove","lowcase|max|mdy|mean|min|minute|mod|month|mopen|","isInMenuBar","SYSREQ_USERS_CATEGORY ","Next »","MozWebSocket","NookTablet","SYSRES_CONST_ACCESS_TYPE_CHANGE_CODE ","positionMode","</3","hostname","#e8eaf6","थोडे सॅकंड","dddd, D MMMM YYYY h:mm A","#ff6d00","basic",'<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>',"e605","قبل از ظهر","device_get_tilt_x device_get_tilt_y device_get_tilt_z "," cube current_let_rule_package cylinder data_file_name debugmode decreasing","రాత్రి","ctDBMemo ","msCancelAnimationFrame","updateTabOrder","md-icon","nextPage","getQuestionList","split return print reverse grep","Saturday","_calendar","SYSREQ_NOTE ","originalObject","SYSRES_CONST_FROM_DICTIONARY_ENUM_METHOD_FLAG ","then to try type val! val virtual when while with ","params","if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5","refreshIndex","abort","getTranslationTable","_rawDuration","material.components.toolbar","%d соат","enabled","tileSpans","_autoConnect","ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET","SYSRES_CONST_POWER_TO_CREATE_ACTION_CODE ","+ += , --build-class-- --import-- -= . / // //= ","SYSRES_CONST_AUTH_PASSWORD_CODE ","onDelete","[0-9][0-9][0-9]","md-bottom-sheet","Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre","أقل من شهر","INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR ",'ng-if="$mdTabsCtrl.enableDisconnect || tab.shouldRender()"></div> ','"></iframe>',"[ಕೊನೆಯ] dddd, LT","destructor write message program with read initialization except default nil if case cdecl in ","dseOnPrepareUpdate ","Hold Failed","active","trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence ","mesiac","rgb(255, 179, 102)","context","GetComponent ","rgb(0, 163, 163)","vuoden","%s öň","ICustomWork ","__chain__","cronMonthName","european_castle","http_get_file http_post_string http_request json_encode json_decode "," substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext","registrator","hue-1","uibPagerConfig","file fileTree abs any append asList asWritable call collect compareTo count ","SYSREQ_EDOC_ENCODE_TYPE ","drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle ","startsWith stride strideof strideofValue swap toString transcode ","Palette() instead.","dseAfterScroll ","Please invoke getUserMedia once.","app/directives/input-item/input-view.html","СпрСохранить ","საათი",")|/)?","एक म्हयनो","navigate-before.svg","questionTypes","dictsortreversed default_if_none pluralize lower join center default ","removeHoverStyle","ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని","publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool ",' ;text="',"String","shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal ","hasHeader","getName","SBRTE_PROGID_RELEASE ","hasIn","yyyy-MM","steam_get_stat_avg_rate steam_reset_all_stats ","_emulateDragOver","textBaseline","IEMobile [VER]","ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.","_user","onHide","[Circular]","%d sekundoj","getElementsAtEventForMode","SYSDLG_CREATE_EDOCUMENT_VERSION ","begin end true false declare define global ","январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь","emoji","arrow-up.svg","dseBeforeUpdate ","activeDate2","SYSRES_CONST_ACTION_TYPE_LIFE_CYCLE_STAGE ","Console GSMBand Esplora Stepper Process ","nodeName","@decimalSeparator",";path=","[juče u] LT","MediaStream","ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade "," ultraspherical underlying_graph undiff union unique uniteigenvectors unitp","Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib","?^^mdExpansionPanelGroup","nodeValue","apacheconf","iceGatheringState","Math","[{;]","isDateWithinRange","tickFormatFunction","timeStamp","HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync","chart-update","responseData","-gt-<xxx>` variant.","gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose ",'<select class="md-visually-hidden"></select>',"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.","setActiveDescendant","cancel","setHasPlaceholder","SUBTASK_BLOCK_IMPORTANCE_PROPERTY ","mdDivider","=?mdMinLength",'<div class="md-inline-form"><div class="formItem" ng-repeat="formItem in FormView.form.items track by $index" ng-switch="formItem.type" layout="column"><ng-form name="formItemForm"><div><div class="formItem-title">{{formItem.props.title}}</div><div class="formItem-help-text">{{formItem.props.helpText}}</div><agreement-view form-item="formItem" is-preview="true" form="formItemForm" ng-switch-when="agreement"></agreement-view><checkboxes-view form-item="formItem" is-preview="true" form="formItemForm" ng-switch-when="checkboxes"></checkboxes-view><radio-button-view form-item="formItem" is-preview="true" form="formItemForm" ng-switch-when="multipleChoices"></radio-button-view><input-view form-item="formItem" form="formItemForm" ng-switch-when="input"></input-view><textarea-view form-item="formItem" form="formItemForm" ng-switch-when="textarea"></textarea-view><matrix-view form-item="formItem" is-preview="true" form="formItemForm" ng-switch-when="matrix"></matrix-view><select-view form-item="formItem" is-preview="true" form="formItemForm" ng-switch-when="chooseFromList"></select-view><label-view form-item="formItem" is-preview="true" form="formItemForm" ng-switch-when="label"></label-view></div></ng-form></div></div>',"high_heel","itemsLength","rtcpFbTrrInt","before","A h:mm [वाजतां]","onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected ","eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ","'n míut","create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false ","^\\d+$","u7533","fitInputWidthToTextLength","Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine ","model","dolls","bitClear updateIR bitWrite position writeRGB ","RANDOM SETSEED ","(number, period). ","ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp ","namespace","scanUntil","[$][a-fA-F0-9]+","minIndex","tooltip-inner","getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining ","[Днес в] LT","nrstr|put|qcmpres|qleft|qlowcase|qscan|","Queue","\\)$","sci","addEventListener","[jana] LT","%d месеци","min max mean median clamp lerp dot_product dot_product_3d ","</md-menu-content>","ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ",'packet received with socket readyState "%s"',"SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_YES_CODE ","clonePage","a8m.omit","RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED ","isScrollbarXUsingBottom","protocol-less url %s",'md-offset-size="',"cancelScheduledOpen","gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset ","byte short char int long boolean float double void ","mozAudioContext","начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов ","onInvalid","gridster-item-resizable-handler","SYSRES_CONST_EDOC_STORAGE_DATABASE_NAME_REQUISITE_CODE ","SESSION_EXPIRES",'md-current-view="{{::ctrl.currentView}}" ',"neckbeard"," rep","a8m.after-where","gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 ","#6600FF","host","exception fn fun functor handle if in include infix infixr ","_removeListeners","rat","showButtonBar","STATUS_NOT_READY","jitter","forceEllipses","[Минулого] dddd [","\\$\\d+",'          ng-click="select(dt.date)"\n',"EVENT","CreateLock ","sø_ma_ti_on_to_fr_lø","wondering","renderPartial","ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 ","_md-datepicker-floating-label","mesiacom","rdtDocument ","whenExp"," flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran","isFunction","no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy","8-)","იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ","ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|","mozGetUserMedia","sekundi","ح_ن_ث_ر_خ_ج_س","INVALID_STATE_ERROR","D MMMM YYYY h:mm A","параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных ","WebSocket","mwLabel","MEMORY_DATASET_DESRIPTIONS_FILENAME ","translate3d(0,0,0)","_transactions","stripLastPathElement","hideDelay","open_mouth","tired_face","اپريل",".*?","btnCheckboxFalse","Not an injectable function: ","isArray","which is an invalid value","__assign","MimeEncodeString ","getSlingLoad getSoundController getSoundControllerResult getSpeed getStamina getStatValue ","fieldSep","setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag ","StateQueueManager","{'z-index': 1050 + $$topModalIndex*10, display: 'block'}","$element","stringifyField","headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey ","builtin-name","gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters ","getUTCFullYear","fb_login_use_system_account fb_login_forcing_safari  ","radiusLength","ЕПусто ","C_NUMBER_MODE","pascalprecht.translate.$translateSanitization: Error cannot find $sce service.","Undecipherable","UIRouterGlobals","%d বছর","H:mm:ss","GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins GalaxyData GalleryView Gamma GammaDistribution GammaRegularized GapPenalty GARCHProcess GatedRecurrentLayer Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianOrthogonalMatrixDistribution GaussianSymplecticMatrixDistribution GaussianUnitaryMatrixDistribution GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateAsymmetricKeyPair GenerateConditions GeneratedCell GeneratedDocumentBinding GenerateDerivedKey GenerateDigitalSignature GenerateDocument GeneratedParameters GeneratedQuantityMagnitudes GenerateHTTPResponse GenerateSecuredAuthenticationKey GenerateSymmetricKey GeneratingFunction GeneratorDescription GeneratorHistoryLength GeneratorOutputType Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeoAntipode GeoArea GeoArraySize GeoBackground GeoBoundingBox GeoBounds GeoBoundsRegion GeoBubbleChart GeoCenter GeoCircle GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDisk GeoDisplacement GeoDistance GeoDistanceList GeoElevationData GeoEntities GeoGraphics GeogravityModelData GeoGridDirectionDifference GeoGridLines GeoGridLinesStyle GeoGridPosition GeoGridRange GeoGridRangePadding GeoGridUnitArea GeoGridUnitDistance GeoGridVector GeoGroup GeoHemisphere GeoHemisphereBoundary GeoHistogram GeoIdentify GeoImage GeoLabels GeoLength GeoListPlot GeoLocation GeologicalPeriodData GeomagneticModelData GeoMarker GeometricAssertion GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricScene GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoModel GeoNearest GeoPath GeoPosition GeoPositionENU GeoPositionXYZ GeoProjection GeoProjectionData GeoRange GeoRangePadding GeoRegionValuePlot GeoResolution GeoScaleBar GeoServer GeoSmoothHistogram GeoStreamPlot GeoStyling GeoStylingImageFunction GeoVariant GeoVector GeoVectorENU GeoVectorPlot GeoVectorXYZ GeoVisibleRegion GeoVisibleRegionBoundary GeoWithinQ GeoZoomLevel GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenAngle GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter GrammarApply GrammarRules GrammarToken Graph Graph3D GraphAssortativity GraphAutomorphismGroup GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel Greater GreaterEqual GreaterEqualLess GreaterEqualThan GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterThan GreaterTilde Green GreenFunction Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupBy GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators Groupings GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain GroupTogetherGrouping GroupTogetherNestedGrouping GrowCutComponents Gudermannian GuidedFilter GumbelDistribution","DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT ","nameGlob","ensureScalesHaveIDs","आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार","dates2","dddd [օրը ժամը] LT","<br>","e618","swipe","[minulou neděli v] LT","mutable initialize finalize finalise interface implementation pred ","[Вчера, в] LT",'        <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n',"setViewValue","subEvents","wfepText9 ","SYSREQ_FOLDER_KIND ","[a-zA-Z_][\\w.]*","alcuni secondi","file_exists file_delete file_rename file_copy directory_exists ","listenersAny","md-has-not-found","expiresTimer","steam_activate_overlay_user steam_activate_overlay_store ","trait enum struct union","päivä","toasty-clicked","releaseCapture","invalid transportType: ","stNone ","xPadding","NO_ACK","splineCurveMonotone","GetConstant ","paddingRight","$setTouched","COMPONENTS_PSEUDOREFERENCE_CODE ","md-icon-right","stop()","prevBufferLen","setGroupGeneric setClass ...","noop","contentExp","core","Round ","initToolTip","datepickerOptions.","D. MMMM YYYY [kl.] HH:mm","centerHorizontally","gt-xs","_closeTo","ordered_logistic neg_binomial neg_binomial_2 ","reply","currentIndex_","alreadyOpen","Custom Template","ޖޫން","sslverify mounted","multiply","(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)",'ui-sref-opts="{{ctrl.srefOpts}}" ',"OFFSET_END","isSuperseded","%d μέρες"," minutit","win8_share_url win8_share_text win8_search_enable ","globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset ","take text then throw to try unicode until using when where while widening with withevents writeonly xor yield","spanGaps","setQuartzCron","SYSRES_CONST_ATTACH_TYPE_FOLDER ","\\s+)+","(none)","#7c4dff","$watchCollection","@mdpPlaceholder","hltText ","rejected","tail","traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw","addrspace section alias module asm sideeffect ","Open List Menu","beta_binomial hypergeometric categorical categorical_logit ","NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark","#FF33CC","\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_*[-+]?[0-9_]*)?","rgb(214, 108, 0)","Set-NsxLogicalRouterRouting Set-NsxManager Set-NsxManagerRole Set-NsxManagerTimeSettings Set-NsxSecurityPolicy Set-NsxSecurityPolicyFirewallRule Set-NsxSslVpn ","num_images parity popcnt poppar shifta shiftl shiftr this_image ","comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin","unable to send message, WebSocket is not open","ariaInvalid","formItem","[otne ti] LT","</md-virtual-repeat-container>","SYSRES_CONST_CONST_POSITIVE_VALUE ","SYSRES_CONST_FOLDER_KIND_COMPONENTS ","checkTransaction","SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION ","dddd, Do MMMM[ta] YYYY, [klo] HH.mm","isoWeeks","CallType ","mdCalendarYear","D MMMM YYYY թ., HH:mm","jedan sat",'/embed/" width="',"$$animatePrepareClasses","mdColorGradientCanvas","toLength","portrait","![a-z]*","[Дирӯз соати] LT","_focused","layerelementtype_tilemap layerelementtype_particlesystem ","touchmove","scrollbarXLeft","markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete ","userInputNgModelCtrl","createMediaStreamSource","mobileGrade",'      <td ng-show="showSeconds" class="uib-separator">:</td>\n',"[í dag kl.] LT",'-legend">',"?Replaces=","СерверПроцессИД ","ICustomJob ",".md-thumb-container","flex-offset-lt-lg","md5 measures median medium member memcompress memory merge microsecond mid migration min minextents ","ALL_REPLICATE_COMPONENTS_PSEUDOREFERENCE_CODE ","for threadfor","mousedown","footerFontFamily","compiled","'nci","isSelectedEndDate","|\\b(case|return|throw)\\b)\\s*","sendRequest","hostType","-50%","историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений ","режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности ","[પાછલા] dddd, LT","SYSRES_CONST_EDITORS_REFERENCE_CODE ","stats_number_of_likes","isMultiple","$$mdGestureReset","shouldApply","initialized","[இன்று] LT","dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday ","uplevel upvar variable vwait while","_ha1",'\\}"',"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember","school","\\s*=>","SYSREQ_EDOC_VERSION_EXPORT_DATE ","getInput","pray","monkey",'<div layout layout-align="center center" ng-repeat-start="day in calendar.daysInMonth track by $index" ng-class="{ \'mdp-day-placeholder\': !day }">',"ui-sref-opts","UibDropdownController","Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor","state-policy timeout","[Inniu ag] LT"," zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors"," jar","gamespeed_fps gamespeed_microseconds  ev_create ev_destroy ev_step ","[下]dddLT","_done","uibTooltipTemplatePopup","INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 ","#795548","([\\w._\\+]+)","\\$(f[asn]|t|vp[rtd]|children)","INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 ","win8_secondarytile_pin win8_secondarytile_badge_notification ","sip","audio_group_set_gain audio_create_buffer_sound ","assign void function new of extends satisfies abstracts in out return ","READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ","thisArg","perl","flow.drop","webOS|hpwOS","%d वर्षे","SYSREQ_UNIT_ID ","beforeBody","</i>","function constructor|10 destructor|10 procedure|10","camel","crossinline dynamic final enum if else do while for when throw try catch finally ","keyboard_unset_map keyboard_check keyboard_check_pressed ","actions","round_pushpin",'" not present',"padding-left","လာမည့် %s မှာ","dddd [i] LT","addParagraph","DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC ","unescape","g16","enim letom","null","removeAttributeNode","dddd [fil-]LT","INVITE","%d күн","isRtpDataChannelsSupported","рӯз","material.components.chips","attachEvent","размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта ","TRUE FALSE NAN INFINITY ","speaker","memo","maybeReconnectOnOpen","ఒక సంవత్సరం","mwQuestionGridBuilder",". next connection attempt in ","minútami","defaultErrorHandler","functionToString","SYSREQ_RECORD_STATUS ","strong","get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue iterator ","updateScope_","uib/template/alert/alert.html","Chrome","setUTCMinutes","package default double public try this switch continue throws protected public private","أغسطس","ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්","outline-offset","OPTIONS","clip","outerMargin","ugc_query_CreatedByFriendsRankedByPublicationDate ","mdAutocompleteParentScope","canvasHelpers","UnknownMobile","'rule' must be a string or function","_nonce","LⓁＬĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"," jaj","fuelpump","|&[lg]t;","ds_stack_clear ds_stack_copy ds_stack_size ds_stack_empty ","abstract as base bool break byte case catch char checked const continue decimal ","@mdTotal","border-box","getPixelForValue","compileScope","%d settimane","onack","CreateFolderDialog ","-ne -eq -lt -gt -f -d -e -s -l -a",'                id="{{inputId || \'fl-input-\' + $mdAutocompleteCtrl.id}}"                name="{{inputName || \'fl-input-\' + $mdAutocompleteCtrl.id }}"                ng-class="::inputClass"                autocomplete="off"                ng-required="$mdAutocompleteCtrl.isRequired"                ng-readonly="$mdAutocompleteCtrl.isReadonly"                ng-minlength="inputMinlength"                ng-maxlength="inputMaxlength"                ng-disabled="$mdAutocompleteCtrl.isDisabled"                ng-model="$mdAutocompleteCtrl.scope.searchText"                ng-model-options="{ allowInvalid: true }"                ng-mousedown="$mdAutocompleteCtrl.focusInput()"                ng-keydown="$mdAutocompleteCtrl.keydown($event)"                ng-blur="$mdAutocompleteCtrl.blur($event)"                ng-focus="$mdAutocompleteCtrl.focus($event)"                aria-label="{{floatingLabel}}"                ng-attr-aria-autocomplete="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'list\'}}"                ng-attr-role="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'combobox\'}}"                aria-haspopup="{{!$mdAutocompleteCtrl.isDisabled}}"                aria-expanded="{{!$mdAutocompleteCtrl.hidden}}"                ng-attr-aria-owns="{{$mdAutocompleteCtrl.hidden || $mdAutocompleteCtrl.isDisabled ? undefined : \'ul-\' + $mdAutocompleteCtrl.id}}"                ng-attr-aria-activedescendant="{{!$mdAutocompleteCtrl.hidden && $mdAutocompleteCtrl.activeOption ? $mdAutocompleteCtrl.activeOption : undefined}}">              <div md-autocomplete-parent-scope md-autocomplete-replace>',"получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима ","КСтрТблСпр ","getValues","ctLabel ","IReferenceRecordCardWizardStep ","current","$$createComment","unimplemented dynamic export far16 forward generic helper implements interrupt iochecks ","useTransformChip","[i teie mahana, i] LT","USED_IN_OBJECT_HINT_PARAM ","января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря","un mois","getPropertyValue","ev_gui_begin ev_gui_end ev_cleanup ev_gesture ev_gesture_tap ","addPage","isOnlyOpen","steam_upload_score_buffer_ext steam_current_game_language ","php5","ಕೆಲವು ಕ್ಷಣಗಳು","di_lu_ma_me_ĵa_ve_sa","LOG_ERROR","porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ","[uèi a] LT","draw_set_colour draw_set_color draw_set_alpha draw_get_colour ","Enable","material.components.toast","=?mdpAmpm","_monthsShortRegex","tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled ","md-show md-overflow",".md-icon ~ ","pop","(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b","collision_ellipse_list collision_line_list instance_position_list ","numPages","saɛa","added. Use emitter.setMaxListeners() to ","error","make-rectangular make-string make-vector max member memq memv min ","bdo","layout-no-wrap","achievement_show_challenge_notifications achievement_get_challenges ","' in state '","Placement","honeybee","_handleSessionTimersInIncomingResponse","Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des","persevere","\\bsignal\\b","clap","footerSpacing","getOpenMenuIndex","Now ","secondStep","land lazy let lor lsl lsr lxor match method mod module mutable new nonrec","SYSRES_CONST_ALL_USERS_GROUP ","0[1-9]|1[0-2]","getHooks","rgba(0,0,0,0.38)","operator","Resolvable(token: ","Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb","addPanelPosition","_remote_identity","getConstraintWidth","url","Dic","Format ","DEBUG","OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED ","ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ","pointHoverBackgroundColor","SYSRES_CONST_DOCUMENT_STORAGES_CODE ","domFragmentFromBlocks_","ensureSorted","offeredAnswers","2019-04-30","toPercentageRgbString","dispatchEvent","ffe4e1","compose","source","indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 ","mwForm.pageEvents.pageMoved","بعد %s","Preset '","dans %s","leta",".md-label","_offset","connect attempt timed out after %d","return throw case","weekdaysMin","run say summarize write ","FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION ","startOf","PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator ","cupid","=?max","cpValidToDate ","BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ","ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h ","normalize"," rinvariant risch rk rmdir rncombine romberg room rootscontract round row","MdTabsPaginationService","\\/\\+","f0f"," md-no-float","zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag","symbols","صبح","^.+?\\n[=-]{2,}$","Thu, 01 Jan 1970 00:00:00 GMT","#ffccbc","SYSREF_FOLDER_HISTORY ","dddd [at] LT","COMPTYPE2_REQUISITE_TASKS_VALUE ","isLast","transition-delay","answerChanged","gpu_set_tex_filter gpu_set_tex_filter_ext gpu_set_tex_repeat ","weekdays","объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации ","__lodash_hash_undefined__","md-datepicker-pos-adjusted","%d tahun","opaque","line","vhdl","rtcpFb"," mhoineamni","play","IReferencesFactory ","msReleasePointerCapture","getToggleElement"," sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight","footer","leaves","Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo","sortBy","generic group guarded if impure in inertial inout is label library linkage literal ","likeCount","and case default else elsif false if in import enherits node or true undef unless main settings $string ","es-mx","stagger-","banana","qⓠｑɋꝗꝙ","dažām sekundēm"," hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description","OPERATING_RECORD_FLAG_FEMININE ","Extension Required",'Unknown language: "',"[Horiseik iha] LT","secret","contentIds","true false or and null","break-inside","\\$\\{","<tr>\n",'"("',"join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass ","Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба","SYSDLG_SETUP_USERS_LIST ",'")"',"confetti_ball","reloadState","nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones ","abstract as assert async await break case catch class const continue covariant default deferred do ","soatDatetimeCollection ","Event: ","Request_Response","removeEventListener","rtcConstraints","INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 ","un an","ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ","mdColorHex","build","SYSRES_CONST_MESSAGE_CONFIRMATION_CAPTION ","physics_apply_local_force physics_apply_local_impulse ","'n dag","SYSRES_CONST_TEST_EDMS_DATABASE_NAME ","rgb(255, 204, 204)","thumbs-up","ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE ",'      <td class="uib-increment hours"><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n',"режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ","ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED ","rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 ","innerHeight"," év","\\u2700-\\u27bf","%d分","PALETTES","^@@.*","nextDay","(u8?|U|L)?'(","Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict ","_createPanel","      </span>\n","innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir","ELEMENT_NODE","[eE][-+]?","msgOpenCalendar","^\\.\\w.*$","BY CACHE INCREMENT MAXVALUE MINVALUE","align-end",'="url(#',"attempts","^\\$[a-z0-9]+","_focusPreviousTab","user_url","buildLabelDiffs","pad","mask","eq? equal? eqv? eval even? exact->inexact exact? exp expt floor ","emphasis","japan","sun_mán_týs_mik_hós_frí_ley","E-Boda (Supreme|Impresspeed|Izzycomm|Essential)","Set","ИДТипСпр ","create","synthetic","một giờ","minuutin","یک روز","isoWeekday","[Өткөн аптанын] dddd [күнү] [саат] LT","mdMenu: The $mdOpenMenu method is deprecated. Please use `$mdMenu.open`.","domingo_lunes_martes_miércoles_jueves_viernes_sábado",'      <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n',"uibTooltipTemplateTransclude","wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы ","intersectionBy","uiSrefOpts","removeOption","SYSRES_CONST_MODULE_REQUISITE_CODE ","chartDoughnut","mdFontSet","line_width texture_wrap texture_transform texture scale_?x scale_?y ","एक घण्टा","SYSRES_CONST_KOD_INPUT_TYPE ","%s পরে","JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET ","ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר","iap_refunded fb_login_default fb_login_fallback_to_webview ","physics_fixture_set_sensor physics_fixture_set_linear_damping ","[Ieri a","for true while long throw strictfp finally protected import native final return void ","letom","initHighlighting","INTEGRATED_REPORT_TYPE ","sanitize",'/embedded"></iframe>',"monthFormatter","یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌","UibAlertController","SYSRES_CONST_SECTION_REQUISITE_DETAIL_3_VALUE ","Tizen/[VER]","_md-opaque-enter","interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log ","типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений ","_reconnection","IForEach ","ⵢⴰⵏ %s","SIP_URI","memoize","md-radio-group","ЦПодстр ","transports","uiSref","The transition has been aborted","_deregistered","ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ","gpu_set_tex_max_aniso_ext gpu_set_tex_mip_enable ","emLockForServer ",'   <div class="md-list-item-inner"></div>',"if then else otherwise try catch finally raise throw orIfNull ","show_debug_overlay debug_event debug_get_callstack alarm_get ","$SCOPE","SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE ","meseca","_onError","^\\w","SYSRES_CONST_USERS_REFERENCE_CODE ","a[href], area[href], input:not([disabled]):not([tabindex='-1']), ","newStartIndex","JOB_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY ","ps--x","cmpfunc_never cmpfunc_less cmpfunc_equal cmpfunc_lessequal ","$$destroyed","fontSet","MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 ","Do MMMM[ta] YYYY, [klo] HH.mm","Ai_Sm_Mo_Bu_Br_Su_Sn","refer_to","SYSRES_CONST_CONDITION_BLOCK_DESCRIPTION ","SYSREQ_EDOC_EXPORT_DATE ","Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug ","updateNgModel","rtcpRsize","#33CCFF","ict","arrow_double_down","SYSRES_CONST_STRIKEOUT_LIFE_CYCLE_STAGE_DRAW_STYLE ","for fun if ifdef in interface is isnt lambda let match new not object ","a8m.defaults","gggg","GM_version GM_runtime_version  timezone_local timezone_utc ","isAttached","JsSIP:sanityCheck","SYSREQ_USERS_IS_MAIN_SERVER ","computer","dim._lun._mar._mer._jeu._ven._sam.","_configureEscapeToClose",'id="tab-item-{{::tab.id}}" ',"SYSREF_ALL_REPLICATING_COMPONENTS ",'<span ng-if="toast.onAccept" class="md-button md-raised md-accent" ng-click="toast.onAccept()">ACCEPT</span>',"currency_exchange","удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим ","ВыбратьЗапись ","ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ","mdColors: 'hue-{hueNumber}' is not a valid hue, can be only 'hue-1', 'hue-2' and 'hue-3'",'<input name="input" ng-model="model" md-autofocus placeholder="{{placeholder}} "',"\\(|=|$","un devezh","icBeforeLookUpEventHandler ","downcast downto elif else end exception extern false finally for ","%d أيام","getSpecialChar","line text side width","mdCloseIcon","Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ",'ng-model-options="',"%d menit","rdWindow ","eq ne lt le gt ge is ","ප.ව.","ngCsv.services","parseRemoteCandidates","setSize_","$mdGridLayout","d% ސިކުންތު","network_create_server_raw network_connect network_connect_raw ","uibDatepickerPopupConfig","PAGE_DOWN","setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect ","audio_pause_all audio_is_playing audio_is_paused audio_exists ","sekúndur","ann an %s","SYSRES_CONST_DATA_TYPE_TEXT ","useStaticFilesLoader","KEY_CODE","point_left","yield finally int uint long ulong char uchar double float bool boolean string",'<div class="md-color-picker-input-container" layout="row">\n\t<div class="md-color-picker-preview md-color-picker-checkered-bg" ng-click="showColorPicker($event)" ng-if="mdColorPreview">\n\t\t<div class="md-color-picker-result" ng-style="{background: value}"></div>\n\t</div>\n\t<md-input-container flex>\n\t\t<label><md-icon ng-if="icon">{{icon}}</md-icon>{{label}}</label>\n\t\t<input type="input" ng-model="value" class=\'md-color-picker-input\'  ng-mousedown="(openOnInput || !mdColorPreview) && showColorPicker($event)"/>\n\t</md-input-container>\n\t<md-button class="md-icon-button md-color-picker-clear" ng-if="mdColorClearButton && value" ng-click="clearValue();" aria-label="Clear Color">\n\t\t<md-icon md-svg-icon="clear.svg"></md-icon>\n\t</md-button>\n</div>\n',"scaleSizeInUnits","multi erroneous failure cc_nondet cc_multi typeclass instance where ","scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y ","audio_destroy_stream audio_create_sync_group ","documentElement","SYSRES_CONST_CODE_REQUISITE_CODE ","<unnamed>","sekúnd","hasNotFound","[У мінулую] dddd [ў] LT",'<span class="toast-title" ng-if="toast.html && toast.title" ng-bind-html="toast.title"></span>',"SYSRES_CONST_AUTHENTICATING_SIGNATURE_REQUISITE_CODE ","Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ","#e91e63",'  <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">',"tokea %s","Get-VApp Get-VDBlockedPolicy Get-VDPort Get-VDPortgroup Get-VDPortgroupOverridePolicy Get-VDSecurityPolicy Get-VDSwitch Get-VDSwitchPrivateVlan Get-VDTrafficShapingPolicy ","SYSRES_CONST_KINDS_EDOC_ALLOW_LIFE_CYCLE_STAGE_CHANGING_REQUISITE_CODE ","সন্ধ্যা","fade",",\\s+","audio_free_buffer_sound audio_create_play_queue ","\\[noprocess\\]","/engine.io","CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP ","invalidEra","Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des","getUTCMonth","SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR ","i roto i %s","_viewConfigFactory","part_system_position part_system_automatic_update "," de ","SYSREQ_EDOC_KIND ","addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib","required","toggleAll","procedure|10","invokeMap","_calendarEl","globe_with_meridians","typeaheadEditable","hpwOS/[VER];","has already been defined.","SYSREF_TASK_HISTORY ","wfepDropDown ",".md-fab-toolbar-background","SYSREQ_EDOC_VERSION_SIGNED ","san kelen","um ano","getStyle","isUrlRule","self other all noone global local undefined pointer_invalid ","vibration_mode","close() | closing local MediaStream"," sekondamni","fff0f5","text_find text_replace contains page slide basic_slide title_slide ","uibTooltipTemplate","50 100 200 300 A100 A200","%s հետո","font-variant-ligatures","    </span>\n",'" is currently active',"So._Mé._Dë._Më._Do._Fr._Sa.",'<div class="mdp-clock-container">',"^\\s*\\[","ratEdit "," factlim factorflag factorial_expand factors_only fb feature features","EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ","построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml ","dnem","[wiki iliyopita] dddd [saat] LT","seconds",'<div class="tooltip-arrow"></div>\n',"Time ","connect()","@quoteStrings","1.1.26",".sv-candidate{","instance_deactivate_region instance_activate_all ","highlightAction","STATUS_TERMINATED","multi_header","gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes ","reinvite","run","UibPaginationController","mouseActive","pan-x","registered","ff69b4","මිනිත්තුව","getClientRects","footerFontColor","=?mdOnReorder","su_må_ty_on_to_fr_la","$datepickerLiteralWarning","\\s*","invalid WebSocket URI: ","#6633FF","500 600 700 A200 A400 A700","mrYes ","isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect ","hwb(","execute","gamepad_get_device_count gamepad_is_connected ","handleMenuItemMouseLeave","flix","[прошле] [недеље] [у] LT","case class def else enum if impl import in lat rel index let match namespace switch type yield with","Linking","tables","000000","setPaletteColor","SYSREQ_EDOC_SIGNED ","md-labeled-by-tooltip",'     modal-in-class="in"\n',"SYSRES_CONST_SELECT_TYPE_SELECTABLE ","_definition","SYSRES_CONST_GROUP_ACCOUNT_TYPE_VALUE_CODE ","illegal","nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint ","data-uib-accordion-header,","selectedDt","CANCEL","$destroy","aria-checked","ValidateXML ","?^svElement","isBoolean","with (obj) {\n","enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights ","stopPropagation","screenX","clock11","ustreamEmbed","-(?!infinity)","%d sekunder","menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp ","\\(\\)","ng-class=\"{ 'md-disabled': !$mdTabsCtrl.canPageBack() }\" ","ha1","buildHooksForPhase","var __t, __p = ''","confirmedAction","onHover","hatched_chick","запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта ","_limit","sprite_replace sprite_create_from_surface sprite_add_from_surface ","watchDigests","audioServices","memoryLocationPlugin","LoadString ","cson","einem Tag","module next pairs pcall print rawequal rawget rawset require select setfenv","#2979ff","[I morgon klokka] LT","vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat","getElementsByClassName","getColorByPoint","column","TEST_EDMS_SECOND_DB_NAME ","DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ","read readarray source type typeset ulimit unalias ","SYSRES_CONST_USER_STATUS_DEVELOPER_CODE ","J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér","msAudioContext","SYSRES_CONST_MASTER_TABLE_REC_ID_REQUISITE_CODE ","'''","Resolvable","(link|image:?):","SYSRES_CONST_REQUISITE_FORMAT_BY_UNIT ","onFocusHandler","1 ນາທີ","popstate",'<span class="highlight">',"break cd continue eval exec exit export getopts hash pwd readonly return shift test times ","updateContent",'probe transport "%s" opened',"IScript ","چه‌ند چركه‌یه‌ك","СпрСост ","registerContainerProxy","handleClickPrevMonth","TransportError","math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan ","paddingBottom","&quot;","ngclipboardError","TIMER_D","arrow_upper_right","simulcast: %s","ERAS","CustomEvent","Макс ","nth","%s મા","wfepText21 ","minRows","دقيقتين","updateBlock_",'emit "failed"',"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis","evict","traceData.context.state.name","exclude source classpath destinationDir includes options sourceCompatibility ","wink","layout-margin","clickOutsideToClose","REFER succeeded",'"></md-icon> ',"register",'Datepicker directive: "ng-model" value must be a Date object',"both","сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows "," vorsam","setOptions","upgrading","SYSRES_CONST_EDOC_READONLY_ACCESS_CODE ","  </tbody>\n","%|em|ex|ch|rem","eraYearOrdinalParse","MD-SELECT-HEADER","isFirst","<figcaption ng-transclude></figcaption>","._md-nav-button","СпрРеквТипТекст ","new","getDateId","$extractResponseForQuestionWithOfferedAnswers","restarting UA","Split ","department_store","Noll","=?mdOnPaginate","ffa07a","Invalid reason_phrase: ","minúta","[0-5][0-9]","%d ҫеккунт","DetectRTC","Конст ","[object Date]","#ff8f00","layer_background_xscale layer_background_blend ","assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject ","ng-mouseenter","implementation","a8m.math.sum","PREVIOUS_CARD_TYPE_NAME ","keybindFilter","global","[Decʼh da] LT","wind_chime","osù kan","ayowr","годину","deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines ","SELECT","Missing required arguments","readJoystickSwitch scrollDisplayRight getVoiceCallStatus ","GetComponentLaunchParam ","tempClasses","answer()","_$scope","(\\|[ ]*)?","userAgents","catch close continue do d|0 else elseif for goto halt hang h|0 if job ","accent-height,accumulate,additive,alphabetic,arabic-form,ascent,","IS_BUILDER_APPLICATION_ROLE ","ldctFunction ","_receiveInviteResponse","SSSSS","icWizardActionExecuteEventHandler ","sekunda","true false null","network_create_socket_ext network_create_server ","$stateNotFound","ཉིན་གཅིག","Подстр ","એક વર્ષ",'  <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>\n',"sctp","[-=]>","%d сол","touches","deRegister","onreadystatechange",'        <button type="button" class="btn btn-default"\n',"md-ripple-active","font-kerning","СпрТблСтрКол ","authenticate() | challenge without Digest realm, authentication aborted","=?mdOnDeselect","if else goto for in do call exit not exist errorlevel defined ","જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.","asDays","strokeStyle","currentPage","mdScrollShrink","TypeError","zone","function print() { __p += __j.call(arguments, '') }\n","dňom","IGlobalIDInfo ","вс_пн_вт_ср_чт_пт_сб","?^uibDropdown","coffee","'. ","[object Number]","SYSRES_CONST_AUTOTEXT_USE_ON_WORK_CODE ","%sที่แล้ว","mdLabel","lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate ","^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)","IIntegerCriterion ","a8m.phoneUS","dddd, D MMMM YYYY, A h:mm সময়","session connecting","        </md-autocomplete-wrap>","setUrlParams","md-datepicker-calendar","ar-ly","mdNavBar","popupTemplateUrl","title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode ","util","शाम","mdHtmlContent","^^mdExpansionPanel","SHOW_TEXT","clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons "," matches available.","sort","$$AnimateRunner","_receiveRefer","a8m.conditions","      {{ dialog.ok }}","Uint8Array","[Laas] dddd [om] LT","^gridster","dataTransfer","дня",'     max-range="maxRange" ',"\\u20d0-\\u20ff","dfn","sawetawis detik","[اليوم عند الساعة] LT","include -include sinclude override export unexport private vpath","sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur","tagName","lsl","0[xX][0-9a-fA-F]+[Li]?\\b","[prošlog] [četvrtka] [u] LT","hmmss","$mdpLocale","[Hodiaŭ je] LT","activeDate",'<div ng-if="size === \'large\'" layout="row" layout-align="end" class="md-actions">',"#3300CC","argument_relative argument argument0 argument1 argument2 ","setUserActionText setUserMFDText setUserMFDvalue setVariable setVectorDir setVectorDirAndUp ","yLabelWidth","emChangeEncodeTypeToCertificatePassword ","IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount ","SYSREF_REPLICATION_SESSIONS_PROTOCOL ","win8_appbar_enable win8_appbar_add_element ","MutationObserver","transition-property","mdLayoutCss","хэдхэн секундын","helicopter","font-feature-settings","དགོང་དག","Ням_Дав_Мяг_Лха_Пүр_Баа_Бям","[上]ddddLT","_reconnect","probe","yellow_heart","klukkustundum","isoWeek","[Завтра ","constant","ned._pon._tor._sre._čet._pet._sob.","__dir__","comp compact convert date dir diskcomp diskcopy doskey erase fs ","copy","wstReferenceRecordCard ","направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса ","SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION_CODE ","_meridiem","linear","GGGGG","          tabindex=\"-1\"><span ng-class=\"::{'text-muted': dt.secondary, 'text-info': dt.current}\">{{::dt.label}}</span></button>\n","INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION ","fit","[ⴰⵙⴽⴰ ⴴ] LT","fixed32 fixed64 sfixed32 sfixed64 bool string bytes","söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag","positive prod put putpage puttl repeat sameas semicont semiint smax ","playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ","HookBuilder","doClose","autoscroll","%d ой","ngSanitize","stuck_out_tongue_closed_eyes","getTime","uibIsClass","class_initialize class_terminate default preserve in me byval byref step resume goto"," perc","queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate ","$$uibCarouselCss","rgba(","cronNumeral","SYSREQ_EDOC_VERSION_MODIFIED ","onReject","^(\\#,\\/\\/)","V2Get ValenceErrorHandling ValidationLength ValidationSet Value ValueBox ValueBoxOptions ValueDimensions ValueForm ValuePreprocessingFunction ValueQ Values ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorAround VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorGreater VectorGreaterEqual VectorLess VectorLessEqual VectorMarkers VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerificationTest VerifyConvergence VerifyDerivedKey VerifyDigitalSignature VerifyInterpretation VerifySecurityCertificates VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexContract VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight VertexWeightedGraphQ Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewProjection ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoiceStyleData VoigtDistribution VolcanoData Volume VonMisesDistribution VoronoiMesh","beforeDatasetsUpdate","$dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo ","$render","md-no-asterisk","hodiny","gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre"," show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type","dddd [kuni soat] LT [da]","Remove-NsxFirewallRule Remove-NsxFirewallRuleMember Remove-NsxFirewallSavedConfiguration Remove-NsxFirewallSection Remove-NsxIpPool Remove-NsxIpSet Remove-NsxIpSetMember ","airplaneThrottle airportSide AISFinishHeal alive all3DENEntities allAirports allControls ","ngCookies","shake","Failed to sanitize html because the element is clobbered: {0}","$dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall ","steam_ugc_query_set_allow_cached_response steam_ugc_send_query ","ng-csv-loading","-webkit-","api","weekday","icStructuredConversionEventAfter ","%d minuten","%s пеш","\\s\\^","ff4500","Am Faoilleach","ISBSYSDEV ","OutgoingRequest","The partial loader has detected a multiple structure change (with addPort/removePart) ","D. MMMM YYYY HH:mm","lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major ","câteva secunde","\\d(_|\\d)*","a8m.fuzzy-by","CLOSE","СоздатьИсключение ","ui.bootstrap.dropdown","minuteValues","_addEventListeners","none? nonlocal not not-in not? nth numeric? oct odd? open ","visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject ",'<md-menu ng-disabled="ngDisabled">',"min get run put","SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION_CODE ","808080","rid:%s %s %s","ek mhoino","Тран ","sortedLastIndexOf","stylus","toInt","$flow","aries","spaghetti","erasNarrowRegex","icelite","[Amárach ag] LT","%d সেকেন্ড","7fff00","selectedChip","es-us","questionResponse","SYSRES_CONST_CONTENTS_REQUISITE_CODE ","os_windows os_macosx os_ios os_android os_symbian os_linux "," setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width","marquee","curr","SYSRES_CONST_ACTION_TYPE_PERFORM ","SYSREQ_REF_TYPE_REQ_IS_FILTER ","SYSREQ_USERS_ACCESS_RIGHTS ","MD-CONTENT","take","getBasePixel","^[\\-\\.]{4,}\\n","_monthsParse","setFocused","_session",'"ttl"',"יומיים","grhX3 ","ShiftState ",'"CANCEL"',"UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ","parseHeader","Bubble","badInput",'        ng-bind-html="::dialog.mdHtmlContent"></div>',"@?mdInputClass","SYSRES_CONST_EDITORS_VIEW_DOCUMENT_OPENED_TO_EDIT_CODE ","uibPaging",'"video"',"Redirected","gmtInfo","janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro","instanceof interface internal is namespace native new override package private ","getHeaders","mdSelectHeader","%d நிமிடங்கள்","SYSRES_CONST_REQUISITE_SECTION_TABLE14 ","displayDate"," * ","over %s","\\]|\\?>","Dihaoine","ALL_AVAILABLE_COMPONENTS_PSEUDOREFERENCE_CODE ","%d ans","600","paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation ","Mac OS X","maxRows","addOption","const continue debug default delete deprecated do else enum export extern final ","a8m.slugify","de-at","marker-mid","getTrustedUrl","while with","last_response","a8m.uri-component-encode","xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process ","staggerIndex","ng-value","uib/template/datepicker/year.html","SYSRES_CONST_EDITORS_USE_PLUGINS_REQUISITE_CODE ",'(//|"|#|/\\*|\\s+/\\w+)',"transitionDuration","SYSREF_REPLICATION_SESSIONS_LOG ","overriding function procedure with is renames return","!getSelectableRows().length","بىر كۈن","deactivateListeners","_location","(0[xX]("];!function(e,t){!function(t){for(;--t;)e.push(e.shift())}(++t)}(a2_0x1861,478);var a2_0x37cf=function(e,t){return a2_0x1861[e-=0]},_0x299160=a2_0x37cf;(self[_0x299160("0xef4")]=self[_0x299160("0xef4")]||[])[_0x299160("0x459a")]([[769],{593:function(e,t,n){!function(e,t){var a=a2_0x37cf,r=angular,i=t&&t[a("0x39e9")]?t:r,o=function(){for(var e=0,t=0,n=arguments[a("0x5e9")];t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],x=0,s=o.length;x<s;x++,i++)r[i]=o[x];return r};function x(e){return function t(){var n=a2_0x37cf;if(arguments[n("0x5e9")]>=e[n("0x5e9")])return e[n("0x4884")](this,arguments);var a=Array.prototype.slice.call(arguments);return t[n("0x2b0c")][n("0x4884")](t,o([this],a))}}function s(){var e=a,t=arguments,n=t[e("0x5e9")]-1;return function(){for(var a=e,r=n,i=t[n].apply(this,arguments);r--;)i=t[r][a("0x3c6b")](this,i);return i}}function c(){for(var e=a,t=[],n=0;n<arguments[e("0x5e9")];n++)t[n]=arguments[n];return s[e("0x4884")](null,[][e("0x9b3")][e("0x3c6b")](arguments)[e("0x48d")]())}var l=function(e){return function(t){return t&&t[e]}},d=x((function(e,t,n){return n&&n[e]===t})),u=function(e){var t=a;return c[t("0x4884")](null,e[t("0x9e5")](".")[t("0x19e8")](l))},f=function(e){return function(){for(var t=a2_0x37cf,n=[],a=0;a<arguments[t("0x5e9")];a++)n[a]=arguments[a];return!e[t("0x4884")](null,n)}};function m(e,t){return function(){for(var n=a2_0x37cf,a=[],r=0;r<arguments[n("0x5e9")];r++)a[r]=arguments[r];return e[n("0x4884")](null,a)&&t[n("0x4884")](null,a)}}function b(e,t){return function(){for(var n=a2_0x37cf,a=[],r=0;r<arguments[n("0x5e9")];r++)a[r]=arguments[r];return e[n("0x4884")](null,a)||t[n("0x4884")](null,a)}}var _=function(e){return function(t){return t[a2_0x37cf("0x2e06")]((function(t,n){return t&&!!e(n)}),!0)}},p=function(e){return function(t){return t[a2_0x37cf("0x2e06")]((function(t,n){return t||!!e(n)}),!1)}},h=function(e){return function(t){return null!=t&&t.constructor===e||t instanceof e}},g=function(e){return function(t){return e===t}},v=function(e){return function(){return e}};function S(e,t){return function(n){var a=a2_0x37cf;return n[e][a("0x4884")](n,t)}}function E(e){return function(t){for(var n=a2_0x37cf,a=0;a<e[n("0x5e9")];a++)if(e[a][0](t))return e[a][1](t)}}var A=Object[a("0x20f")][a("0x3c88")],T=function(e){return function(t){return typeof t===e}},y=T(a("0xc42")),C=f(y),w=function(e){return null===e},M=b(w,y),R=T("function"),D=T("number"),I=T(a("0x38b7")),N=function(e){return null!==e&&typeof e===a("0x1b1d")},O=Array[a("0x498f")],k=function(e){var t=a;return A[t("0x3c6b")](e)===t("0x4d08")},P=function(e){return"[object RegExp]"===A[a("0x3c6b")](e)};function L(e){var t=a;if(O(e)&&e[t("0x5e9")]){var n=e.slice(0,-1),r=e[t("0x9b3")](-1);return!(n[t("0x6a6")](f(I))[t("0x5e9")]||r[t("0x6a6")](f(R)).length)}return R(e)}var F=m(N,c(l(a("0x34e8")),R)),B=function(e){return function(){throw new Error("No implementation for "+e+a2_0x37cf("0x3e50"))}},Y=function(e,t){return t.reduce((function(t,n){return t[n]=B(e+"."+n+"()"),t}),{})},G={$q:void 0,$injector:void 0},H=function(){for(var e=a,t=0,n=0,r=arguments.length;n<r;n++)t+=arguments[n][e("0x5e9")];var i=Array(t),o=0;for(n=0;n<r;n++)for(var x=arguments[n],s=0,c=x[e("0x5e9")];s<c;s++,o++)i[o]=x[s];return i},U=typeof self===a("0x1b1d")&&self[a("0xaf2")]===self&&self||typeof n.g===a("0x1b1d")&&n.g.global===n.g&&n.g||void 0,$=U[a("0x40e2")]||{},j=$[a("0x4f68")]||JSON[a("0x1fb8")].bind(JSON),V=$[a("0x4eac")]||JSON.stringify[a("0x2b0c")](JSON),W=$[a("0x5ba")]||Oe,q=Object[a("0x3df0")]||ke,z=$[a("0x34f9")]||Pe;function Q(e){return e}function K(){}function X(e,t,n,a,r){void 0===r&&(r=!1);var i=function(t){return e()[t].bind(n())},o=function(e){return function(){var n=a2_0x37cf;return t[e]=i(e),t[e][n("0x4884")](null,arguments)}};return(a=a||Object.keys(e())).reduce((function(e,t){return e[t]=r?o(t):i(t),e}),t)}var J=function(e,t){return q(Object[a("0x4b8c")](e),t)},Z=x(ee);function ee(e,t){return-1!==e[a("0x3507")](t)}var te=x(ne);function ne(e,t){var n=e[a("0x3507")](t);return n>=0&&e.splice(n,1),e}var ae=x(re);function re(e,t){return e[a("0x459a")](t),t}var ie=function(e){return e.slice().forEach((function(t){typeof t===a2_0x37cf("0x3349")&&t(),te(e,t)}))};function oe(e){for(var t=a,n=[],r=1;r<arguments[t("0x5e9")];r++)n[r-1]=arguments[r];var i=q[t("0x4884")](void 0,H([{}],n[t("0x48d")]()));return q(i,ce(e||{},Object.keys(i)))}var xe=function(e,t){return q(e,t)};function se(e,t){var n=a,r=[];for(var i in e.path){if(e.path[i]!==t[n("0x1da4")][i])break;r[n("0x459a")](e[n("0x1da4")][i])}return r}function ce(e,t){var n=a,r={};for(var i in e)-1!==t[n("0x3507")](i)&&(r[i]=e[i]);return r}function le(e,t){var n=a;return Object[n("0xa35")](e).filter(f(Z(t)))[n("0x2e06")]((function(t,n){return t[n]=e[n],t}),{})}function de(e,t){return be(e,l(t))}function ue(e,t){var n=O(e),a=n?[]:{},r=n?function(e){return a[a2_0x37cf("0x459a")](e)}:function(e,t){return a[t]=e};return W(e,(function(e,n){t(e,n)&&r(e,n)})),a}function fe(e,t){var n;return W(e,(function(e,a){n||t(e,a)&&(n=e)})),n}var me=be;function be(e,t,n){return n=n||(O(e)?[]:{}),W(e,(function(e,a){return n[a]=t(e,a)})),n}var _e=function(e){var t=a;return Object[t("0xa35")](e)[t("0x19e8")]((function(t){return e[t]}))},pe=function(e,t){return e&&t},he=function(e,t){return e||t},ge=function(e,t){return e[a("0x3abc")](t)},ve=function(e,t){var n=a;return O(t)?e[n("0x3abc")](t[n("0x2e06")](ve,[])):Se(e,t)};function Se(e,t){return e[a("0x459a")](t),e}var Ee=function(e,t){return Z(e,t)?e:Se(e,t)},Ae=function(e){return e[a("0x2e06")](ge,[])},Te=function(e){return e.reduce(ve,[])},ye=we,Ce=we;function we(e,t){return void 0===t&&(t=a("0x3991")),function(n){var a=e(n);if(!a)throw new Error(R(t)?t(n):t);return a}}var Me=function(e){var t=a;return Object[t("0xa35")](e)[t("0x19e8")]((function(t){return[t,e[t]]}))};function Re(){for(var e=a,t=[],n=0;n<arguments[e("0x5e9")];n++)t[n]=arguments[n];if(0===t[e("0x5e9")])return[];for(var r=t[e("0x2e06")]((function(t,n){var a=e;return Math[a("0x11db")](n[a("0x5e9")],t)}),9007199254740991),i=[],o=function(n){var a=e;switch(t.length){case 1:i[a("0x459a")]([t[0][n]]);break;case 2:i[a("0x459a")]([t[0][n],t[1][n]]);break;case 3:i.push([t[0][n],t[1][n],t[2][n]]);break;case 4:i[a("0x459a")]([t[0][n],t[1][n],t[2][n],t[3][n]]);break;default:i[a("0x459a")](t[a("0x19e8")]((function(e){return e[n]})))}},x=0;x<r;x++)o(x);return i}function De(e,t){var n,r,i=a;if(O(t)&&(n=t[0],r=t[1]),!I(n))throw new Error(i("0xa66"));return e[n]=r,e}function Ie(e){var t=a;return e[t("0x5e9")]&&e[e[t("0x5e9")]-1]||void 0}function Ne(e,t){var n=a;return t&&Object[n("0xa35")](t)[n("0x5ba")]((function(e){return delete t[e]})),t||(t={}),q(t,e)}function Oe(e,t,n){var r=a;if(O(e))return e[r("0x5ba")](t,n);Object[r("0xa35")](e).forEach((function(n){return t(e[n],n)}))}function ke(e){for(var t=a,n=1;n<arguments[t("0x5e9")];n++){var r=arguments[n];if(r)for(var i=Object[t("0xa35")](r),o=0;o<i.length;o++)e[i[o]]=r[i[o]]}return e}function Pe(e,t){var n=a;if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;var r=typeof e;if(r!==typeof t||r!==n("0x1b1d"))return!1;var i=[e,t];if(_(O)(i))return Le(e,t);if(_(k)(i))return e[n("0x4dad")]()===t[n("0x4dad")]();if(_(P)(i))return e[n("0x3c88")]()===t[n("0x3c88")]();if(_(R)(i))return!0;if([R,O,k,P][n("0x19e8")](p)[n("0x2e06")]((function(e,t){return e||!!t(i)}),!1))return!1;var o={};for(var x in e){if(!Pe(e[x],t[x]))return!1;o[x]=!0}for(var x in t)if(!o[x])return!1;return!0}function Le(e,t){var n=a;return e[n("0x5e9")]===t[n("0x5e9")]&&Re(e,t)[n("0x2e06")]((function(e,t){return e&&Pe(t[0],t[1])}),!0)}var Fe,Be,Ye=function(e){return e[a("0x373a")]((function(e){return 0}))&&e},Ge=function(e){return Ye(G.$q.reject(e))},He=function(){var e=a;function t(e){var t=a2_0x37cf;this[t("0x806")]=e,this[t("0x24aa")]=e[t("0x9e5")](".");var n=this[t("0x806")].split(".")[t("0x19e8")]((function(e){return"**"===e?t("0x9a0"):"*"===e?"\\.[^.]*":"\\."+e}))[t("0xc60")]("");this[t("0x242e")]=new RegExp("^"+n+"$")}return t.is=function(e){return!!/[!,*]+/.exec(e)},t.fromString=function(e){return t.is(e)?new t(e):null},t.prototype[e("0x3c01")]=function(t){var n=e;return this[n("0x242e")][n("0x3ff3")]("."+t)},t}(),Ue=function(){var e=a;function t(e,t){var n=a2_0x37cf;void 0===e&&(e=[]),void 0===t&&(t=null),this[n("0x4568")]=e,this[n("0x4ca8")]=t,this[n("0x338")]=[],this.onEvict=ae(this[n("0x338")])}return t[e("0x20f")][e("0x1f7c")]=function(t){var n=e,a=this._items;return a[n("0x459a")](t),this[n("0x4ca8")]&&a[n("0x5e9")]>this[n("0x4ca8")]&&this[n("0x4ce1")](),t},t[e("0x20f")].evict=function(){var t=e,n=this[t("0x4568")][t("0x4534")]();return this[t("0x338")][t("0x5ba")]((function(e){return e(n)})),n},t[e("0x20f")][e("0x4463")]=function(){var t=e;if(this[t("0x27ff")]())return this[t("0x4568")].splice(0,1)[0]},t[e("0x20f")][e("0x2066")]=function(){var t=e,n=this[t("0x4568")];return this[t("0x4568")]=[],n},t[e("0x20f")].size=function(){var t=e;return this[t("0x4568")][t("0x5e9")]},t[e("0x20f")][e("0xf82")]=function(t){var n=e,a=this[n("0x4568")].indexOf(t);return a>-1&&this[n("0x4568")].splice(a,1)[0]},t.prototype[e("0x2118")]=function(){var t=e;return this[t("0x4568")][this[t("0x4568")].length-1]},t[e("0x20f")].peekHead=function(){var t=e;if(this[t("0x27ff")]())return this[t("0x4568")][0]},t}();(Fe=e[a("0x17e0")]||(e[a("0x17e0")]={}))[Fe[(Be=a)("0x28e5")]=2]="SUPERSEDED",Fe[Fe[Be("0x1953")]=3]=Be("0x1953"),Fe[Fe.INVALID=4]="INVALID",Fe[Fe[Be("0x2587")]=5]=Be("0x2587"),Fe[Fe[Be("0x12b0")]=6]=Be("0x12b0");var $e=0,je=function(){var t=a;function n(e,t,n){var a=a2_0x37cf;this[a("0x2933")]=$e++,this.type=e,this[a("0x45ea")]=t,this[a("0x1e68")]=n}return n.isRejectionPromise=function(e){return e&&"function"==typeof e[a2_0x37cf("0x34e8")]&&h(n)(e._transitionRejection)},n[t("0x29a6")]=function(a,r){var i=t,o=i("0x18fe"),x=new n(e[i("0x17e0")][i("0x28e5")],o,a);return r&&r[i("0x10a8")]&&(x[i("0x10a8")]=!0),x},n[t("0x10a8")]=function(e){return n.superseded(e,{redirected:!0})},n.invalid=function(a){var r=t,i=r("0x3972");return new n(e[r("0x17e0")][r("0x3e7d")],i,a)},n[t("0x3774")]=function(a){var r=t,i=r("0x1e1e");return new n(e[r("0x17e0")][r("0x2587")],i,a)},n.aborted=function(a){var r=t,i=r("0x4bbe");return new n(e[r("0x17e0")].ABORTED,i,a)},n[t("0x36b5")]=function(a){var r=t,i=r("0x40eb");return new n(e[r("0x17e0")].ERROR,i,a)},n[t("0x4b14")]=function(e){var a=t;return h(n)(e)?e:n[a("0x36b5")](e)},n.prototype[t("0x3c88")]=function(){var e,n,a=t,r=(e=this.detail,n=a2_0x37cf,e&&e[n("0x3c88")]!==Object.prototype.toString?e[n("0x3c88")]():Ze(e)),i=this,o=i[a("0x2933")],x=i[a("0x3298")],s=i[a("0x45ea")];return a("0x1628")+o+" type: "+x+a("0xea2")+s+", detail: "+r+")"},n.prototype[t("0x54")]=function(){return q(Ge(this),{_transitionRejection:this})},n}();function Ve(e,t){var n=a;return t[n("0x5e9")]<=e?t:t[n("0x39fa")](0,e-3)+n("0x31d5")}function We(e,t){for(;t.length<e;)t+=" ";return t}function qe(e){var t=a;return e[t("0x3cc0")](/^([A-Z])/,(function(e){return e[t("0x2eb9")]()}))[t("0x3cc0")](/([A-Z])/g,(function(e){return"-"+e[t("0x2eb9")]()}))}function ze(e){var t=a,n=Qe(e),r=n[t("0x2cd9")](/^(function [^ ]+\([^)]*\))/),i=r?r[1]:n,o=e[t("0x98c")]||"";return o&&i.match(/function \(/)?"function "+o+i.substr(9):i}function Qe(e){var t=a,n=O(e)?e[t("0x9b3")](-1)[0]:e;return n&&n.toString()||t("0xc42")}var Ke=je[a("0x3560")],Xe=function(e){var t=a;return N(e)&&!O(e)&&e[t("0x11ae")]!==Object&&R(e[t("0x3c88")])},Je=E([[y,v("undefined")],[w,v(a("0x4a76"))],[F,v(a("0x4115"))],[Ke,function(e){var t=a;return e[t("0x116a")][t("0x3c88")]()}],[Xe,function(e){return e[a("0x3c88")]()}],[L,ze],[v(!0),Q]]);function Ze(e){var t=[];function n(e){var n=a2_0x37cf;if(N(e)){if(-1!==t[n("0x3507")](e))return n("0x182b");t.push(e)}return Je(e)}return y(e)?n(e):JSON.stringify(e,(function(e,t){return n(t)})).replace(/\\"/g,'"')}var et=function(e){return function(t){var n=a2_0x37cf;if(!t)return["",""];var a=t[n("0x3507")](e);return-1===a?[t,""]:[t[n("0x39fa")](0,a),t[n("0x39fa")](a+1)]}},tt=new RegExp(a("0xb0e")),nt=function(e){return e[a("0x3cc0")](/\/[^/]*$/,"")},at=et("#"),rt=et("?"),it=et("="),ot=function(e){return e?e[a("0x3cc0")](/^#/,""):""};function xt(e){var t=new RegExp("("+e+")","g");return function(e){var n=a2_0x37cf;return e[n("0x9e5")](t)[n("0x6a6")](Q)}}function st(e,t){var n=a;return I(Ie(e))&&I(t)?e[n("0x9b3")](0,-1)[n("0x3abc")](Ie(e)+t):Se(e,t)}var ct={log:K,error:K,table:K};function lt(e){var t=a,n=function(t){var n=a2_0x37cf;return Function[n("0x20f")][n("0x2b0c")].call(t,e)};return{log:n(e[t("0x10f3")]),error:n(e[t("0x10f3")]),table:n(e[t("0x10f3")])}}function dt(e){var t=a,n=e[t("0x10f3")][t("0x2b0c")](e);return{log:n,error:e[t("0x4ad3")]?e[t("0x4ad3")][t("0x2b0c")](e):n,table:e[t("0x37f3")]?e[t("0x37f3")].bind(e):n}}function ut(){var e=a;return"undefined"!=typeof document&&document.documentMode&&9===document.documentMode?window&&window[e("0x2196")]?lt(window[e("0x2196")]):ct:console[e("0x37f3")]&&console.error?console:dt(console)}var ft=ut();function mt(e){var t=a;if(!e)return t("0x1050");var n=e[t("0x399b")]?e[t("0x399b")][t("0x98c")]||t("0x400b"):t("0x49f0");return t("0x2c1")+e.id+" "+e[t("0x67c")]+":"+e[t("0x2a1a")]+" ("+e[t("0x98c")]+"@"+n+")]"}var bt,_t,pt=function(e){var t=a,n=e[t("0x21")],r=n[t("0xafc")].name||t("0x400b");return t("0x2d89")+e[t("0x2933")]+" from '"+r+t("0x370")+n[t("0xdb6")]+"@"+n[t("0x1ae")]+"'"};function ht(t){var n=a;return D(t)?e[n("0x1f23")][t]:e.Category[e[n("0x1f23")][t]]}(bt=e[a("0x1f23")]||(e[a("0x1f23")]={}))[bt[(_t=a)("0x2dc8")]=0]=_t("0x2dc8"),bt[bt[_t("0x3857")]=1]=_t("0x3857"),bt[bt[_t("0x15b5")]=2]="HOOK",bt[bt.UIVIEW=3]=_t("0x1432"),bt[bt[_t("0x2ded")]=4]=_t("0x2ded");var gt=u(a("0x2933")),vt=u("router.$id"),St=function(e){return a("0x37b")+gt(e)+"-"+vt(e)},Et=function(){var t=a;function n(){this._enabled={},this.approximateDigests=0}return n[t("0x20f")][t("0x28d5")]=function(n,a){var r=t,i=this;!a[r("0x5e9")]&&(a=Object.keys(e[r("0x1f23")])[r("0x19e8")]((function(e){return parseInt(e,10)}))[r("0x6a6")]((function(e){return!isNaN(e)})).map((function(t){return e[r("0x1f23")][t]}))),a[r("0x19e8")](ht)[r("0x5ba")]((function(e){return i[r("0x2b73")][e]=n}))},n[t("0x20f")].enable=function(){for(var e=t,n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];this[e("0x28d5")](!0,n)},n[t("0x20f")][t("0x1f4d")]=function(){for(var e=t,n=[],a=0;a<arguments[e("0x5e9")];a++)n[a]=arguments[a];this[e("0x28d5")](!1,n)},n[t("0x20f")][t("0x48b5")]=function(e){return!!this[t("0x2b73")][ht(e)]},n.prototype[t("0x2003")]=function(n){var a=t;this[a("0x48b5")](e[a("0x1f23")].TRANSITION)&&ft[a("0x10f3")](St(n)+a("0x6d8")+Ze(n))},n[t("0x20f")].traceTransitionIgnored=function(n){var a=t;this[a("0x48b5")](e.Category[a("0x3857")])&&ft[a("0x10f3")](St(n)+a("0x2c83")+Ze(n))},n[t("0x20f")].traceHookInvocation=function(n,a,r){var i=t;if(this.enabled(e[i("0x1f23")][i("0x15b5")])){var o=u(i("0x2f97"))(r)||"internal",x=u(i("0x4ce2"))(r)||u(i("0x555"))(r)||i("0x7a9"),s=ze(n.registeredHook.callback);ft[i("0x10f3")](St(a)+i("0x24bd")+o+" context: "+x+", "+Ve(200,s))}},n[t("0x20f")][t("0x1bd7")]=function(n,a,r){var i=t;this.enabled(e[i("0x1f23")][i("0x15b5")])&&ft[i("0x10f3")](St(a)+i("0x3384")+Ve(200,Ze(n)))},n[t("0x20f")][t("0x45a5")]=function(n,a,r){var i=t;this.enabled(e.Category.RESOLVE)&&ft[i("0x10f3")](St(r)+i("0x45b7")+n+" ("+a+")")},n.prototype[t("0x1efe")]=function(n,a){var r=t;this[r("0x48b5")](e[r("0x1f23")][r("0x2dc8")])&&ft[r("0x10f3")](St(a)+":               <- Resolved  "+n+r("0x3e6a")+Ve(200,Ze(n[r("0x237c")])))},n.prototype.traceError=function(n,a){var r=t;this[r("0x48b5")](e[r("0x1f23")].TRANSITION)&&ft.log(St(a)+r("0x33db")+Ze(a)+r("0x30c6")+n)},n[t("0x20f")][t("0x22e7")]=function(n,a){var r=t;this.enabled(e[r("0x1f23")][r("0x3857")])&&ft[r("0x10f3")](St(a)+r("0x2ab0")+Ze(a)+r("0xbf4")+n[r("0x98c")])},n[t("0x20f")][t("0x4584")]=function(n,a,r){var i=t;void 0===r&&(r=""),this[i("0x48b5")](e[i("0x1f23")][i("0x1432")])&&ft[i("0x10f3")](i("0x26f7")+We(30,n)+" "+mt(a)+r)},n.prototype[t("0xc0d")]=function(n,a){var r=t;this.enabled(e[r("0x1f23")][r("0x1432")])&&this[r("0x4584")](r("0x46f3"),n," with ViewConfig from context='"+a+"'")},n.prototype[t("0x28df")]=function(n,a){var r=t;this[r("0x48b5")](e.Category[r("0x1432")])&&this.traceUIViewEvent(r("0x4469"),n,r("0x176e")+Ve(200,a))},n[t("0x20f")].traceViewSync=function(n){var a=t;if(this[a("0x48b5")](e[a("0x1f23")][a("0x2ded")])){var r="uiview component fqn",i=a("0x3d04"),o=n[a("0x19e8")]((function(e){var t,n=a,o=e.uiView,x=e[n("0x7ca")],s=o&&o[n("0x2a1a")],c=x&&x[n("0x21")][n("0xafc")][n("0x98c")]+n("0x4364")+x[n("0x21")][n("0x548")]+")";return(t={})[r]=s,t[i]=c,t}))[a("0x4d63")]((function(e,t){var n=a;return(e[r]||"")[n("0x3be6")](t[r]||"")}));ft.table(o)}},n[t("0x20f")].traceViewServiceEvent=function(n,a){var r=t;this[r("0x48b5")](e.Category[r("0x2ded")])&&ft[r("0x10f3")](r("0x2c08")+n+" "+pt(a))},n[t("0x20f")].traceViewServiceUIViewEvent=function(n,a){var r=t;this[r("0x48b5")](e[r("0x1f23")][r("0x2ded")])&&ft[r("0x10f3")]("VIEWCONFIG: "+n+" "+mt(a))},n}(),At=new Et,Tt=function(){var e=a;function t(e){var t=a2_0x37cf;this.pattern=/.*/,this[t("0xbe2")]=!0,q(this,e)}return t[e("0x20f")].is=function(e,t){return!0},t[e("0x20f")][e("0x3f92")]=function(e,t){return e},t[e("0x20f")][e("0x19f2")]=function(e,t){return e},t[e("0x20f")][e("0x34f9")]=function(e,t){return e==t},t[e("0x20f")][e("0x4427")]=function(){var t=e,n=this[t("0x5011")].toString();return n[t("0x39fa")](1,n[t("0x5e9")]-2)},t.prototype[e("0x3c88")]=function(){var t=e;return t("0x113a")+this[t("0x98c")]+"}"},t[e("0x20f")][e("0x3256")]=function(t){var n=e;return this.is(t)?t:this[n("0x19f2")](t)},t[e("0x20f")][e("0x301")]=function(t,n){var a=e;if(!t)return this;if(t===a("0x15ac")&&!n)throw new Error(a("0x19fb"));return new yt(this,t)},t}();function yt(e,t){var n=a,r=this;function i(e){return O(e)?e:C(e)?[e]:[]}function o(e){switch(e[a2_0x37cf("0x5e9")]){case 0:return;case 1:return"auto"===t?e[0]:e;default:return e}}function x(e,t){return function(n){var a=a2_0x37cf;if(O(n)&&0===n[a("0x5e9")])return n;var r=be(i(n),e);return!0===t?0===ue(r,(function(e){return!e}))[a("0x5e9")]:o(r)}}function s(e){return function(t,n){var a=a2_0x37cf,r=i(t),o=i(n);if(r[a("0x5e9")]!==o[a("0x5e9")])return!1;for(var x=0;x<r[a("0x5e9")];x++)if(!e(r[x],o[x]))return!1;return!0}}[n("0x3f92"),n("0x19f2"),n("0x34f9"),n("0x3256")][n("0x5ba")]((function(t){var a=n,i=e[t][a("0x2b0c")](e),o=t===a("0x34f9")?s:x;r[t]=o(i)})),q(this,{dynamic:e[n("0x1139")],name:e.name,pattern:e[n("0x5011")],inherit:e[n("0xbe2")],raw:e[n("0x290")],is:x(e.is[n("0x2b0c")](e),!0),$arrayMode:t})}var Ct,wt,Mt=Object[a("0x20f")][a("0x1bd4")],Rt=function(e){var t=a;return 0===[t("0x3a33"),t("0x3298"),t("0x387d"),"array",t("0x1139")][t("0x6a6")](Mt[t("0x2b0c")](e||{}))[t("0x5e9")]};function Dt(t,n,r){var i=a,o=!1===r[i("0x2815")]&&n===e[i("0x2d0a")].SEARCH||void 0,x=fe([r[i("0x1139")],o],C),s=C(x)?{dynamic:x}:{},c=It(r&&r[i("0x48ad")]&&r[i("0x48ad")][t]);return q(s,c)}function It(e){var t=a;function n(){return e[a2_0x37cf("0x3a33")]}e=Rt(e)?{value:e}:e,n.__cacheable=!0;var r=L(e.value)?e[t("0x3a33")]:n;return q(e,{$$fn:r})}function Nt(t,n,r,i,o){var x=a;if(t.type&&n&&n[x("0x98c")]!==x("0x38b7"))throw new Error(x("0x1c58")+i+x("0x325f"));if(t[x("0x3298")]&&n&&n[x("0x98c")]===x("0x38b7")&&o[x("0x3298")](t[x("0x3298")]))return o[x("0x3298")](t.type);if(n)return n;if(!t[x("0x3298")]){var s=r===e[x("0x2d0a")].CONFIG?"any":r===e[x("0x2d0a")].PATH?x("0x1da4"):r===e[x("0x2d0a")][x("0x28b1")]?x("0x3829"):x("0x38b7");return o[x("0x3298")](s)}return t[x("0x3298")]instanceof Tt?t[x("0x3298")]:o[x("0x3298")](t[x("0x3298")])}function Ot(e,t,n){var r=a,i=e[r("0x387d")];if(!t||!1===i)return!1;if(!C(i)||null==i)return n;if(!0===i||I(i))return i;throw new Error("Invalid squash policy: '"+i+r("0x3ac9"))}function kt(e,t,n,r){var i=a,o=[{from:"",to:n||t?void 0:""},{from:null,to:n||t?void 0:""}],x=O(e[i("0x3cc0")])?e[i("0x3cc0")]:[];I(r)&&x[i("0x459a")]({from:r,to:void 0});var s=be(x,l("from"));return ue(o,(function(e){var t=i;return-1===s[t("0x3507")](e[t("0x3121")])}))[i("0x3abc")](x)}(Ct=e.DefType||(e[a("0x2d0a")]={}))[Ct[(wt=a)("0x10a5")]=0]=wt("0x10a5"),Ct[Ct.SEARCH=1]=wt("0x28b1"),Ct[Ct.CONFIG=2]=wt("0x2d0b");var Pt=function(){var t=a;function n(t,n,a,r,i){var o=a2_0x37cf,x=Dt(t,a,i);n=Nt(x,n,a,t,r[o("0x46e")]);var s=b();n=s?n[o("0x301")](s,a===e[o("0x2d0a")][o("0x28b1")]):n;var c=void 0!==x[o("0x3a33")]||a===e.DefType.SEARCH,l=C(x[o("0x1139")])?!!x[o("0x1139")]:!!n[o("0x1139")],d=C(x.raw)?!!x[o("0x290")]:!!n[o("0x290")],u=Ot(x,c,r.defaultSquashPolicy()),f=kt(x,s,c,u),m=C(x[o("0xbe2")])?!!x[o("0xbe2")]:!!n[o("0xbe2")];function b(){var n=o,r={array:a===e[n("0x2d0a")].SEARCH&&n("0x15ac")},i=t.match(/\[\]$/)?{array:!0}:{};return q(r,i,x)[n("0x2c5e")]}q(this,{id:t,type:n,location:a,isOptional:c,dynamic:l,raw:d,squash:u,replace:f,inherit:m,array:s,config:x})}return n[t("0x3d61")]=function(e,n){var a=t;void 0===n&&(n={});for(var r={},i=0,o=e;i<o[a("0x5e9")];i++){var x=o[i];r[x.id]=x[a("0x3a33")](n[x.id])}return r},n.changed=function(e,n,a){var r=t;return void 0===n&&(n={}),void 0===a&&(a={}),e[r("0x6a6")]((function(e){var t=r;return!e[t("0x3298")][t("0x34f9")](n[e.id],a[e.id])}))},n[t("0x34f9")]=function(e,t,a){return void 0===t&&(t={}),void 0===a&&(a={}),0===n.changed(e,t,a).length},n[t("0x4f65")]=function(e,n){var a=t;return void 0===n&&(n={}),e[a("0x19e8")]((function(e){return e[a("0x4f65")](n[e.id])}))[a("0x2e06")](pe,!0)},n[t("0x20f")][t("0x41cb")]=function(e){var n=t;return this[n("0x1503")]&&this[n("0x3298")][n("0x34f9")](this[n("0x3a33")](),e)},n[t("0x20f")][t("0x3a33")]=function(e){var n=t,a=this,r=function(){var e=a2_0x37cf;if(a[e("0x34e1")])return a._defaultValueCache[e("0x15bd")];if(!G[e("0x1f10")])throw new Error("Injectable functions cannot be called at configuration time");var t=G.$injector[e("0x1fd4")](a[e("0x1805")][e("0x17e8")]);if(null!=t&&!a[e("0x3298")].is(t))throw new Error(e("0x4444")+t+e("0x28d0")+a.id+e("0x26e4")+a[e("0x3298")][e("0x98c")]+")");return a[e("0x1805")].$$fn[e("0x4443")]&&(a[e("0x34e1")]={defaultValue:t}),t};return e=function(e){for(var t=a2_0x37cf,n=0,r=a[t("0x3cc0")];n<r[t("0x5e9")];n++){var i=r[n];if(i.from===e)return i.to}return e}(e),y(e)?r():this[n("0x3298")][n("0x3256")](e)},n.prototype[t("0x1901")]=function(){var n=t;return this[n("0x2c6")]===e[n("0x2d0a")][n("0x28b1")]},n[t("0x20f")][t("0x4f65")]=function(e){var n=t;if((y(e)||null===e)&&this[n("0x1503")])return!0;var a=this[n("0x3298")].$normalize(e);if(!this.type.is(a))return!1;var r=this[n("0x3298")][n("0x3f92")](a);return!(I(r)&&!this[n("0x3298")].pattern[n("0x3629")](r))},n[t("0x20f")][t("0x3c88")]=function(){var e=t;return e("0x3e90")+this.id+" "+this[e("0x3298")]+e("0x18d2")+this.squash+e("0x23d7")+this[e("0x1503")]+"}"},n}(),Lt=function(){var e=a;function t(){var e=a2_0x37cf;this[e("0x1f7c")]=!0,this.typeQueue=[],this[e("0x485f")]=ce(t.prototype,[e("0x426"),e("0x38b7"),e("0x3829"),"path",e("0x4684"),"bool","date","json","any"]);var n=function(e,t){return new Tt(q({name:t},e))};this[e("0xb8a")]=J(be(this.defaultTypes,n),{})}return t[e("0x20f")].dispose=function(){this[e("0xb8a")]={}},t[e("0x20f")][e("0x3298")]=function(t,n,a){var r=e;if(!C(n))return this[r("0xb8a")][t];if(this[r("0xb8a")][r("0x1bd4")](t))throw new Error(r("0x18a4")+t+"' has already been defined.");return this[r("0xb8a")][t]=new Tt(q({name:t},n)),a&&(this[r("0x2f58")][r("0x459a")]({name:t,def:a}),this[r("0x1f7c")]||this._flushTypeQueue()),this},t[e("0x20f")][e("0x90e")]=function(){for(var t=e;this[t("0x2f58")][t("0x5e9")];){var n=this[t("0x2f58")][t("0x4534")]();if(n[t("0x5011")])throw new Error(t("0x1462"));q(this[t("0xb8a")][n[t("0x98c")]],G.$injector[t("0x1fd4")](n[t("0x2c04")]))}},t}();function Ft(){var e=a,t=function(e){var t=function(e){return null!=e?e[a2_0x37cf("0x3c88")]():e},n={encode:t,decode:t,is:h(String),pattern:/.*/,equals:function(e,t){return e==t}};return q({},n,e)};q(Lt[e("0x20f")],{string:t({}),path:t({pattern:/[^/]*/}),query:t({}),hash:t({inherit:!1}),int:t({decode:function(e){return parseInt(e,10)},is:function(e){return!M(e)&&this.decode(e.toString())===e},pattern:/-?\d+/}),bool:t({encode:function(e){return e?1:0},decode:function(e){return 0!==parseInt(e,10)},is:h(Boolean),pattern:/0|1/}),date:t({encode:function(t){var n=e;return this.is(t)?[t.getFullYear(),("0"+(t[n("0x1d51")]()+1)).slice(-2),("0"+t[n("0x18f4")]()).slice(-2)][n("0xc60")]("-"):void 0},decode:function(t){var n=e;if(this.is(t))return t;var a=this.capture[n("0x3629")](t);return a?new Date(a[1],a[2]-1,a[3]):void 0},is:function(t){return t instanceof Date&&!isNaN(t[e("0x2f75")]())},equals:function(t,n){var a=e;return[a("0x3915"),a("0x1d51"),a("0x18f4")][a("0x2e06")]((function(e,a){return e&&t[a]()===n[a]()}),!0)},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/}),json:t({encode:V,decode:j,is:h(Object),equals:z,pattern:/[^/]*/}),any:t({encode:Q,decode:Q,is:function(){return!0},equals:z})})}Ft();var Bt=function(){var e=a;function t(e){void 0===e&&(e={}),q(this,e)}return t[e("0x20f")].$inherit=function(t,n,a){var r,i=e,o=se(n,a),x={},s=[];for(var c in o)if(o[c]&&o[c][i("0x48ad")]&&(r=Object.keys(o[c][i("0x48ad")]))[i("0x5e9")])for(var l in r)s[i("0x3507")](r[l])>=0||(s.push(r[l]),x[r[l]]=this[r[l]]);return q({},x,t)},t}(),Yt=function(){var e=a;function t(e){var n=a2_0x37cf;if(e instanceof t){var a=e;this[n("0x81c")]=a.state,this.paramSchema=a[n("0x4852")][n("0x9b3")](),this[n("0x428a")]=q({},a[n("0x428a")]),this[n("0x3032")]=a[n("0x3032")][n("0x9b3")](),this[n("0xbe5")]=a[n("0xbe5")]&&a[n("0xbe5")].slice()}else{var r=e;this[n("0x81c")]=r,this.paramSchema=r[n("0x125d")]({inherit:!1}),this[n("0x428a")]={},this[n("0x3032")]=r[n("0x3032")][n("0x19e8")]((function(e){return e[n("0x42df")]()}))}}return t[e("0x20f")][e("0x42df")]=function(){return new t(this)},t[e("0x20f")][e("0x40c7")]=function(t){var n=e,a=function(e){var n=a2_0x37cf;return[e.id,e[n("0x3a33")](t[e.id])]};return this.paramValues=this[n("0x4852")].reduce((function(e,t){return De(e,a(t))}),{}),this},t.prototype[e("0x12bd")]=function(t){return fe(this[e("0x4852")],d("id",t))},t.prototype[e("0x34f9")]=function(t,n){var a=e,r=this[a("0x4019")](t,n);return r&&0===r[a("0x5e9")]},t.prototype[e("0x4019")]=function(t,n){var a=e;if(this[a("0x81c")]!==t[a("0x81c")])return!1;var r=n?n(this):this.paramSchema;return Pt[a("0x2e4f")](r,this[a("0x428a")],t[a("0x428a")])},t[e("0x42df")]=function(t){return t[e("0x42df")]()},t}(),Gt=function(){var e=a;function t(e,t,n,a){var r=a2_0x37cf;this[r("0x1dbb")]=e,this[r("0x688")]=t,this[r("0x688")]=t,this._params=q({},n||{}),this[r("0x2302")]=q({},a||{}),this._definition=e.matcher[r("0x372f")](t,this[r("0x2302")][r("0x38d7")])}return t[e("0x20f")][e("0x98c")]=function(){var t=e;return this[t("0x4c8a")]&&this[t("0x4c8a")][t("0x98c")]||this[t("0x688")]},t[e("0x20f")][e("0x3a31")]=function(){return this[e("0x688")]},t[e("0x20f")].params=function(){return this._params},t[e("0x20f")][e("0x361b")]=function(){return this[e("0x4c8a")]},t[e("0x20f")][e("0x81c")]=function(){var t=e;return this._definition&&this._definition[t("0xaf2")]},t[e("0x20f")][e("0x16d1")]=function(){return this[e("0x2302")]},t[e("0x20f")].exists=function(){var t=e;return!(!this._definition||!this[t("0x4c8a")][t("0xaf2")])},t[e("0x20f")][e("0x1d57")]=function(){return!this.error()},t[e("0x20f")].error=function(){var t=e,n=this.options()[t("0x38d7")];if(!this[t("0x4c8a")]&&n){var a=n.name?n[t("0x98c")]:n;return t("0x3152")+this[t("0x98c")]()+"' from state '"+a+"'"}return this[t("0x4c8a")]?this[t("0x4c8a")][t("0xaf2")]?void 0:t("0x4cb")+this.name()+"' has an invalid definition":t("0x47a1")+this[t("0x98c")]()+"'"},t[e("0x20f")][e("0x3c88")]=function(){var t=e;return"'"+this.name()+"'"+Ze(this[t("0x48ad")]())},t[e("0x20f")].withState=function(n){var a=e;return new t(this._stateRegistry,n,this._params,this[a("0x2302")])},t[e("0x20f")][e("0x3850")]=function(n,a){var r=e;void 0===a&&(a=!1);var i=a?n:q({},this[r("0x1ec0")],n);return new t(this._stateRegistry,this[r("0x688")],i,this._options)},t[e("0x20f")][e("0x260b")]=function(n,a){var r=e;void 0===a&&(a=!1);var i=a?n:q({},this._options,n);return new t(this[r("0x1dbb")],this._identifier,this[r("0x1ec0")],i)},t[e("0x7ae")]=function(t){var n=e;return t&&t[n("0x81c")]&&(I(t.state)||N(t[n("0x81c")])&&I(t.state.name))},t}(),Ht=function(){var e=a;function t(){}return t[e("0x2ca0")]=function(t,n){var a=e,r=Ie(n).state;return new Gt(t,r,n[a("0x19e8")](l(a("0x428a"))).reduce(xe,{}),{})},t[e("0x4521")]=function(t){var n=e,a=t[n("0x48ad")]();return t[n("0x361b")]()[n("0x1da4")][n("0x19e8")]((function(e){var t=n;return new Yt(e)[t("0x40c7")](a)}))},t[e("0x2aff")]=function(n,a){var r=e,i=t[r("0x4521")](a);return a[r("0x16d1")]().inherit?t[r("0x1bad")](n,i,Object[r("0xa35")](a[r("0x48ad")]())):i},t[e("0x46e7")]=function(n,a,r){var i=e;a[i("0x6a6")]((function(e){return Z(r,e.state)}))[i("0x5ba")]((function(e){var r=i,o=_e(e[r("0x81c")].views||{}),x=t.subPath(a,(function(t){return t===e})),s=o[r("0x19e8")]((function(e){return n[r("0xe05")](x,e)}));e[r("0xbe5")]=s[r("0x2e06")](ge,[])}))},t[e("0x1bad")]=function(t,n,a){var r=e;function i(e,t){var n=fe(e,d(a2_0x37cf("0x81c"),t));return q({},n&&n.paramValues)}void 0===a&&(a=[]);var o=t.map((function(e){return e[a2_0x37cf("0x4852")]}))[r("0x2e06")](ge,[]).filter((function(e){return!e[r("0xbe2")]}))[r("0x19e8")](l("id"));function x(e){var n=r,x=q({},e&&e[n("0x428a")]),s=ce(x,a);x=le(x,a);var c=le(i(t,e[n("0x81c")])||{},o),l=q(x,c,s);return new Yt(e[n("0x81c")])[n("0x40c7")](l)}return n[r("0x19e8")](x)},t[e("0x1bf5")]=function(n,a,r){for(var i,o,x,s,c=e,l=Math[c("0x11db")](n[c("0x5e9")],a[c("0x5e9")]),d=0,u=function(e,n){return e[c("0x34f9")](n,t.nonDynamicParams)};d<l&&n[d][c("0x81c")]!==r&&u(n[d],a[d]);)d++;function f(e,t){var n=c,r=e.clone();return r[n("0x428a")]=a[t].paramValues,r}o=(i=n).slice(0,d),x=i[c("0x9b3")](d);var m=o[c("0x19e8")](f);return s=a[c("0x9b3")](d),{from:i,to:m[c("0x3abc")](s),retained:o,retainedWithToParams:m,exiting:x,entering:s}},t.matching=function(t,n,a){var r=e,i=!1;return Re(t,n)[r("0x2e06")]((function(e,t){var n=r,o=t[0],x=t[1];return(i=i||!o[n("0x34f9")](x,a))?e:e.concat(o)}),[])},t[e("0x34f9")]=function(n,a,r){var i=e;return n[i("0x5e9")]===a[i("0x5e9")]&&t[i("0x4270")](n,a,r)[i("0x5e9")]===n[i("0x5e9")]},t[e("0x14a7")]=function(t,n){var a=e,r=fe(t,n),i=t.indexOf(r);return-1===i?void 0:t[a("0x9b3")](0,i+1)},t.nonDynamicParams=function(t){var n=e;return t[n("0x81c")][n("0x125d")]({inherit:!1})[n("0x6a6")]((function(e){return!e[n("0x1139")]}))},t.paramValues=function(t){var n=e;return t[n("0x2e06")]((function(e,t){return q(e,t[n("0x428a")])}),{})},t}(),Ut={when:{LAZY:"LAZY",EAGER:a("0x306d")},async:{WAIT:a("0x2e6a"),NOWAIT:"NOWAIT"}},$t={when:a("0x4349"),async:a("0x2e6a")},jt=function(){var e=a;function t(e,n,a,r,i){var o=a2_0x37cf;if(this[o("0x9c8")]=!1,this.promise=void 0,e instanceof t)q(this,e);else if(R(n)){if(M(e))throw new Error(o("0x3b92"));if(!R(n))throw new Error(o("0x11b5"));this[o("0x3742")]=e,this[o("0x3657")]=r,this[o("0x2040")]=n,this[o("0x1645")]=a||[],this[o("0x237c")]=i,this[o("0x9c8")]=void 0!==i,this[o("0x234e")]=this[o("0x9c8")]?G.$q.when(this[o("0x237c")]):void 0}else if(N(e)&&e[o("0x3742")]&&(e[o("0x1bd4")](o("0x2040"))||e[o("0x1bd4")](o("0x237c")))){var x=e;return new t(x[o("0x3742")],x.resolveFn,x[o("0x1645")],x.policy,x[o("0x237c")])}}return t[e("0x20f")][e("0x3706")]=function(t){var n=e,a=this[n("0x3657")]||{},r=t&&t[n("0x362d")]||{};return{when:a[n("0x2c66")]||r[n("0x2c66")]||$t.when,async:a[n("0x1ba8")]||r[n("0x1ba8")]||$t[n("0x1ba8")]}},t[e("0x20f")][e("0x407b")]=function(t,n){var a=e,r=this,i=G.$q,o=function(){var e=a2_0x37cf;return i.all(t[e("0x350d")](r)[e("0x19e8")]((function(e){return e.get(t,n)})))},x=function(e){var t=a2_0x37cf;return r[t("0x2040")][t("0x4884")](null,e)},s=t[a("0x1cc0")](this),c=s&&s.state,l=this[a("0x3706")](c)[a("0x1ba8")],d=R(l)?l:Q,u=function(e){var t=a;return r[t("0x237c")]=e,r.resolved=!0,r[t("0x2040")]=null,At.traceResolvableResolved(r,n),r[t("0x237c")]};return this[a("0x234e")]=i[a("0x2c66")]()[a("0x34e8")](o)[a("0x34e8")](x)[a("0x34e8")](d).then(u)},t[e("0x20f")][e("0x1cf")]=function(t,n){var a=e;return this[a("0x234e")]||this[a("0x407b")](t,n)},t[e("0x20f")][e("0x3c88")]=function(){var t=e;return t("0x4aea")+Ze(this.token)+t("0x6de")+this[t("0x1645")][t("0x19e8")](Ze)+"])"},t[e("0x20f")][e("0x42df")]=function(){return new t(this)},t.fromData=function(e,n){return new t(e,(function(){return n}),null,null,n)},t}(),Vt=Ut[a("0x2c66")],Wt=[Vt[a("0x306d")],Vt[a("0x4349")]],qt=[Vt[a("0x306d")]],zt=a("0x174c"),Qt=function(){var e=a;function t(e){this[a2_0x37cf("0x3b0f")]=e}return t[e("0x20f")][e("0x2643")]=function(){var t=e;return this[t("0x3b0f")][t("0x2e06")]((function(e,n){var a=t;return e[a("0x3abc")](n.resolvables[a("0x19e8")]((function(e){return e[a("0x3742")]})))}),[])[t("0x2e06")](Ee,[])},t[e("0x20f")][e("0x3431")]=function(t){var n=e;return Ie(this[n("0x3b0f")][n("0x19e8")]((function(e){return e.resolvables})).reduce(ge,[]).filter((function(e){return e.token===t})))},t[e("0x20f")][e("0x3706")]=function(t){var n=e,a=this.findNode(t);return t[n("0x3706")](a.state)},t[e("0x20f")][e("0x39f8")]=function(n){var a=e;return new t(Ht.subPath(this[a("0x3b0f")],(function(e){return e[a("0x81c")]===n})))},t[e("0x20f")].addResolvables=function(t,n){var a=e,r=fe(this[a("0x3b0f")],d(a("0x81c"),n)),i=t[a("0x19e8")]((function(e){return e[a("0x3742")]}));r[a("0x3032")]=r[a("0x3032")][a("0x6a6")]((function(e){return-1===i.indexOf(e.token)}))[a("0x3abc")](t)},t[e("0x20f")][e("0x36d")]=function(t,n){var a=e,r=this;void 0===t&&(t=a("0x4349"));var i=(Z(Wt,t)?t:"LAZY")===Ut[a("0x2c66")][a("0x306d")]?qt:Wt;At[a("0x45a5")](this[a("0x3b0f")],t,n);var o=function(e,t){return function(n){return Z(e,r[a2_0x37cf("0x3706")](n)[t])}},x=this[a("0x3b0f")][a("0x2e06")]((function(e,t){var x=a,s=t[x("0x3032")][x("0x6a6")](o(i,x("0x2c66"))),c=s[x("0x6a6")](o([x("0x3c2f")],x("0x1ba8"))),l=s.filter(f(o(["NOWAIT"],x("0x1ba8")))),d=r[x("0x39f8")](t[x("0x81c")]),u=function(e){var t=x;return e[t("0x1cf")](d,n)[t("0x34e8")]((function(n){return{token:e[t("0x3742")],value:n}}))};return c.forEach(u),e[x("0x3abc")](l[x("0x19e8")](u))}),[]);return G.$q[a("0x3217")](x)},t[e("0x20f")][e("0xf8f")]=function(){return this._injector||(this._injector=new Kt(this))},t[e("0x20f")].findNode=function(t){var n=e;return fe(this[n("0x3b0f")],(function(e){return Z(e[n("0x3032")],t)}))},t[e("0x20f")].getDependencies=function(t){var n=e,a=this,r=this[n("0x1cc0")](t),i=(Ht.subPath(this._path,(function(e){return e===r}))||this._path)[n("0x2e06")]((function(e,t){return e.concat(t.resolvables)}),[])[n("0x6a6")]((function(e){return e!==t})),o=function(e){var t=n,r=i[t("0x6a6")]((function(n){return n[t("0x3742")]===e}));if(r[t("0x5e9")])return Ie(r);var o=a[t("0xf8f")]().getNative(e);if(y(o))throw new Error(t("0xb57")+Ze(e));return new jt(e,(function(){return o}),[],o)};return t[n("0x1645")].map(o)},t}(),Kt=function(){var e=a;function t(e){var t=a2_0x37cf;this[t("0x48cc")]=e,this[t("0x45a1")]=this[t("0x1cf")](zt)||G[t("0x1f10")]}return t[e("0x20f")][e("0x1cf")]=function(t){var n=e,a=this[n("0x48cc")][n("0x3431")](t);if(a){if(this[n("0x48cc")][n("0x3706")](a)[n("0x1ba8")]===n("0x3c2f"))return a[n("0x1cf")](this[n("0x48cc")]);if(!a.resolved)throw new Error(n("0x79f")+Ze(a[n("0x3742")]));return a[n("0x237c")]}return this.getNative(t)},t.prototype[e("0x27d2")]=function(t){var n=e,a=this.context[n("0x3431")](t);return a?a.get(this.context):G.$q.when(this[n("0x45a1")][n("0x1cf")](t))},t[e("0x20f")].getNative=function(t){var n=e;return this[n("0x45a1")]&&this.native[n("0x1cf")](t)},t}(),Xt=function(e){var t=a;if(!I(e))return!1;var n="^"===e[t("0x24de")](0);return{val:n?e[t("0x35e7")](1):e,root:n}};function Jt(e){return e.name}function Zt(e){var t=a;return e[t("0xaf2")].$$state=function(){return e},e[t("0xaf2")]}function en(e){var t=a;return e[t("0x731")]&&e[t("0x731")][t("0x237c")]&&(e[t("0x237c")]=e[t("0xaf2")][t("0x237c")]=J(e[t("0x731")][t("0x237c")],e.data)),e[t("0x237c")]}var tn=function(e,t){return function(n){var a=a2_0x37cf,r=n[a("0xaf2")];if(r&&r[a("0x4aef")]&&r[a("0x98c")]&&r[a("0x98c")][a("0x2cd9")](/\.\*\*$/)){var i={};Ne(r,i),i[a("0x4aef")]+=a("0x3c5b"),r=i}var o=n.parent,x=Xt(r[a("0x4aef")]),s=x?e[a("0x1d80")](x.val,{state:r}):r.url;if(!s)return null;if(!e[a("0x86d")](s))throw new Error(a("0x1410")+s+a("0x4ad8")+n+"'");return x&&x.root?s:(o&&o[a("0x549")]||t())[a("0x4aef")][a("0x136a")](s)}},nn=function(e){return function(t){var n=a2_0x37cf;return!e(t)&&t[n("0x4aef")]?t:t[n("0x731")]?t[n("0x731")].navigable:null}},an=function(e){return function(t){var n=a2_0x37cf,a=function(n,a){var r=a2_0x37cf;return e[r("0x1903")](a,null,t[r("0xaf2")])},r=t[n("0x4aef")]&&t[n("0x4aef")][n("0x125d")]({inherit:!1})||[],i=_e(me(le(t.params||{},r[n("0x19e8")](l("id"))),a));return r.concat(i).map((function(e){return[e.id,e]}))[n("0x2e06")](De,{})}};function rn(e){var t=a;return e.parent?e.parent[t("0x1da4")][t("0x3abc")](e):[e]}function on(e){var t=a,n=e[t("0x731")]?q({},e[t("0x731")][t("0x170b")]):{};return n[e[t("0x98c")]]=!0,n}function xn(e){var t=a,n=function(e,t){var n=a2_0x37cf;return Object[n("0xa35")](e||{})[n("0x19e8")]((function(n){return{token:n,val:e[n],deps:void 0,policy:t[n]}}))},r=function(e){var t=a2_0x37cf,n=G[t("0x1f10")];return e[t("0x4670")]||n&&n[t("0x1a0b")](e,n.strictDi)||"deferred"},i=function(e){var t=a2_0x37cf;return!(!e[t("0x3742")]||!e[t("0x2040")])},o=function(e){var t=a2_0x37cf;return!(!e[t("0x24b0")]&&!e.token||!(e[t("0x267c")]||e.useFactory||e[t("0x25a1")]||e[t("0x127c")]))},x=function(e){var t=a2_0x37cf;return!!(e&&e[t("0x435d")]&&(I(e[t("0x435d")])||O(e[t("0x435d")])||R(e[t("0x435d")])))},s=function(e){return e[a2_0x37cf("0x24b0")]||e.token},d=E([[l("resolveFn"),function(e){var t=a2_0x37cf;return new jt(s(e),e[t("0x2040")],e[t("0x1645")],e[t("0x3657")])}],[l(t("0x33b")),function(e){var n=t;return new jt(s(e),e[n("0x33b")],e[n("0x1645")]||e.dependencies,e[n("0x3657")])}],[l(t("0x127c")),function(e){return new jt(s(e),(function(){return new(e[a2_0x37cf("0x127c")])}),[],e.policy)}],[l(t("0x267c")),function(e){var n=t;return new jt(s(e),(function(){return e[a2_0x37cf("0x267c")]}),[],e[n("0x3657")],e[n("0x267c")])}],[l(t("0x25a1")),function(e){var n=t;return new jt(s(e),Q,[e[n("0x25a1")]],e.policy)}]]),u=E([[c(l(t("0x435d")),I),function(e){var n=t;return new jt(e[n("0x3742")],Q,[e[n("0x435d")]],e.policy)}],[c(l(t("0x435d")),O),function(e){var n=t;return new jt(e[n("0x3742")],Ie(e[n("0x435d")]),e.val.slice(0,-1),e[n("0x3657")])}],[c(l(t("0x435d")),R),function(e){var n=t;return new jt(e[n("0x3742")],e[n("0x435d")],r(e[n("0x435d")]),e[n("0x3657")])}]]),f=E([[h(jt),function(e){return e}],[i,d],[o,d],[x,u],[v(!0),function(e){throw new Error(t("0xd2c")+Ze(e))}]]),m=e[t("0x407b")];return(O(m)?m:n(m,e.resolvePolicy||{}))[t("0x19e8")](f)}var sn,cn,ln,dn,un=function(){var e=a;function t(e,t){var n=a2_0x37cf;this[n("0x44da")]=e;var a=this,r=function(){return e[n("0x372f")]("")},i=function(e){return""===e[n("0x98c")]};function o(t){var o=n;return i(t)?null:e.find(a[o("0x2e30")](t))||r()}this[n("0x4f4e")]={name:[Jt],self:[Zt],parent:[o],data:[en],url:[tn(t,r)],navigable:[nn(i)],params:[an(t[n("0x4f1f")])],views:[],path:[rn],includes:[on],resolvables:[xn]}}return t[e("0x20f")][e("0x2bf5")]=function(t,n){var a=e,r=this.builders,i=r[t]||[];return I(t)&&!C(n)?i[a("0x5e9")]>1?i:i[0]:I(t)&&R(n)?(r[t]=i,r[t][a("0x459a")](n),function(){var e=a;return r[t].splice(r[t][e("0x3507")](n,1))&&null}):void 0},t.prototype[e("0x4b5f")]=function(t){var n=e,a=this,r=a.matcher,i=a[n("0x4f4e")],o=this.parentName(t);if(o&&!r.find(o,void 0,!1))return null;for(var x in i)if(i.hasOwnProperty(x)){var s=i[x].reduce((function(e,t){return function(n){return t(n,e)}}),K);t[x]=s(t)}return t},t[e("0x20f")][e("0x2e30")]=function(t){var n=e,a=t[n("0x98c")]||"",r=a[n("0x9e5")](".");if("**"===r[n("0x4acd")]()&&r[n("0x4acd")](),r[n("0x5e9")]){if(t.parent)throw new Error(n("0x1328")+a+")");return r.join(".")}return t[n("0x731")]?I(t[n("0x731")])?t[n("0x731")]:t.parent[n("0x98c")]:""},t[e("0x20f")][e("0x98c")]=function(t){var n=e,a=t[n("0x98c")];if(-1!==a[n("0x3507")](".")||!t[n("0x731")])return a;var r=I(t.parent)?t.parent:t[n("0x731")][n("0x98c")];return r?r+"."+a:a},t}(),fn=function(){var e=a;function t(e){return t[a2_0x37cf("0x4b8c")](e||{})}return t[e("0x4b8c")]=function(n){var a=e;n=t.isStateClass(n)?new n:n;var r=J(J(n,t.prototype));return n[a("0x11e")]=function(){return r},r.self=n,r[a("0x33fc")]={nameGlob:He.fromString(r.name)},r},t[e("0x20f")].is=function(t){var n=e;return this===t||this.self===t||this[n("0x2a1a")]()===t},t[e("0x20f")].fqn=function(){var t=e;if(!(this[t("0x731")]&&this[t("0x731")]instanceof this[t("0x11ae")]))return this.name;var n=this[t("0x731")][t("0x2a1a")]();return n?n+"."+this[t("0x98c")]:this[t("0x98c")]},t[e("0x20f")][e("0x4e56")]=function(){var t=e;return this[t("0x731")]&&this[t("0x731")][t("0x4e56")]()||this},t[e("0x20f")].parameters=function(t){var n=e;return((t=oe(t,{inherit:!0,matchingKeys:null})).inherit&&this.parent&&this[n("0x731")][n("0x125d")]()||[])[n("0x3abc")](_e(this[n("0x48ad")]))[n("0x6a6")]((function(e){var a=n;return!t[a("0x854")]||t[a("0x854")][a("0x1bd4")](e.id)}))},t[e("0x20f")][e("0x12bd")]=function(t,n){var a=e;return void 0===n&&(n={}),this[a("0x4aef")]&&this[a("0x4aef")].parameter(t,n)||fe(_e(this[a("0x48ad")]),d("id",t))||n[a("0xbe2")]&&this[a("0x731")]&&this.parent[a("0x12bd")](t)},t[e("0x20f")][e("0x3c88")]=function(){return this[e("0x2a1a")]()},t[e("0x61a")]=function(t){var n=e;return R(t)&&!0===t[n("0x4460")]},t.isStateDeclaration=function(t){return R(t[e("0x11e")])},t.isState=function(t){return N(t[e("0x33fc")])},t}(),mn=function(){var e=a;function t(e){this[a2_0x37cf("0xb44")]=e}return t.prototype[e("0x28b4")]=function(t){var n=e;return 0===(t=t||"")[n("0x3507")](".")||0===t[n("0x3507")]("^")},t.prototype.find=function(t,n,a){var r=e;if(void 0===a&&(a=!0),t||""===t){var i=I(t),o=i?t:t[r("0x98c")];this[r("0x28b4")](o)&&(o=this.resolvePath(o,n));var x=this[r("0xb44")][o];if(x&&(i||!(i||x!==t&&x[r("0xaf2")]!==t)))return x;if(i&&a){var s=_e(this._states)[r("0x6a6")]((function(e){var t=r;return e[t("0x33fc")][t("0x49a9")]&&e[t("0x33fc")][t("0x49a9")][t("0x3c01")](o)}));return s[r("0x5e9")]>1&&ft.error(r("0xc39")+o+" using glob: ",s[r("0x19e8")]((function(e){return e[r("0x98c")]}))),s[0]}}},t[e("0x20f")].resolvePath=function(t,n){var a=e;if(!n)throw new Error(a("0x3f7f")+t+"'");for(var r=this.find(n),i=t[a("0x9e5")]("."),o=i.length,x=0,s=r;x<o;x++)if(""!==i[x]||0!==x){if("^"!==i[x])break;if(!s[a("0x731")])throw new Error("Path '"+t+a("0xfe")+r[a("0x98c")]+"'");s=s.parent}else s=r;var c=i[a("0x9b3")](x)[a("0xc60")](".");return s[a("0x98c")]+(s[a("0x98c")]&&c?".":"")+c},t}(),bn=function(){var e=a;function t(e,t,n,a){var r=a2_0x37cf;this[r("0xf8e")]=e,this.states=t,this[r("0x2bf5")]=n,this[r("0x22a0")]=a,this[r("0x486a")]=[]}return t[e("0x20f")][e("0x3a7c")]=function(){this[e("0x486a")]=[]},t[e("0x20f")][e("0x4ce9")]=function(t){var n=e,a=this.queue,r=fn[n("0x4b8c")](t),i=r[n("0x98c")];if(!I(i))throw new Error("State must have a valid name");if(this[n("0x31f")][n("0x1bd4")](i)||Z(a[n("0x19e8")](l(n("0x98c"))),i))throw new Error(n("0x4cb")+i+"' is already defined");return a.push(r),this.flush(),r},t[e("0x20f")].flush=function(){for(var t=e,n=this,a=this,r=a.queue,i=a.states,o=a[t("0x2bf5")],x=[],s=[],c={},l=function(e){return n[t("0x31f")].hasOwnProperty(e)&&n.states[e]},d=function(){var e=t;x[e("0x5e9")]&&n[e("0x22a0")][e("0x5ba")]((function(t){var n=e;return t(n("0x4c6d"),x[n("0x19e8")]((function(e){return e[n("0xaf2")]})))}))};r[t("0x5e9")]>0;){var u=r[t("0x4534")](),f=u[t("0x98c")],m=o[t("0x4b5f")](u),b=s[t("0x3507")](u);if(m){var _=l(f);if(_&&_[t("0x98c")]===f)throw new Error("State '"+f+"' is already defined");var p=l(f+".**");p&&this[t("0xf8e")][t("0x2518")][t("0x1388")](p),i[f]=u,this[t("0x4f3f")](u),b>=0&&s[t("0x2bcf")](b,1),x[t("0x459a")](u)}else{var h=c[f];if(c[f]=r[t("0x5e9")],b>=0&&h===r[t("0x5e9")])return r[t("0x459a")](u),d(),i;b<0&&s[t("0x459a")](u),r[t("0x459a")](u)}}return d(),i},t[e("0x20f")][e("0x4f3f")]=function(t){var n=e;if(!t.abstract&&t[n("0x4aef")]){var a=this[n("0xf8e")][n("0x41e0")][n("0x2bf4")];a[n("0x318e")](a[n("0x288b")].create(t))}},t}(),_n=function(){var e=a;function t(e){var t=a2_0x37cf;this[t("0xf8e")]=e,this.states={},this[t("0x22a0")]=[],this[t("0x44da")]=new mn(this[t("0x31f")]),this[t("0x2bf5")]=new un(this[t("0x44da")],e[t("0xa9")]),this[t("0x271e")]=new bn(e,this[t("0x31f")],this.builder,this[t("0x22a0")]),this._registerRoot()}return t[e("0x20f")][e("0x400f")]=function(){var t=e,n={name:"",url:"^",views:null,params:{"#":{value:null,type:t("0x426"),dynamic:!0}},abstract:!0};(this._root=this[t("0x271e")][t("0x4ce9")](n))[t("0x549")]=null},t[e("0x20f")][e("0x3a7c")]=function(){var t=e,n=this;this[t("0x271e")][t("0x3a7c")](),this[t("0x22a0")]=[],this[t("0x1cf")]()[t("0x5ba")]((function(e){return n[t("0x1cf")](e)&&n.deregister(e)}))},t[e("0x20f")][e("0x1e14")]=function(t){var n=e;return this[n("0x22a0")][n("0x459a")](t),function(){te(this[n("0x22a0")])(t)}[n("0x2b0c")](this)},t[e("0x20f")][e("0x4e56")]=function(){return this._root},t[e("0x20f")][e("0x4ce9")]=function(t){var n=e;return this[n("0x271e")][n("0x4ce9")](t)},t[e("0x20f")]._deregisterTree=function(t){var n=e,a=this,r=this.get().map((function(e){return e[a2_0x37cf("0x11e")]()})),i=function(e){var t=a2_0x37cf,n=r[t("0x6a6")]((function(n){var a=t;return-1!==e[a("0x3507")](n[a("0x731")])}));return 0===n[t("0x5e9")]?n:n.concat(i(n))},o=i([t]),x=[t][n("0x3abc")](o)[n("0x48d")]();return x[n("0x5ba")]((function(e){var t=n,r=a.router[t("0x41e0")][t("0x2bf4")];r[t("0x2bf4")]().filter(d(t("0x81c"),e))[t("0x5ba")]((function(e){return r[t("0x1d6e")](e)})),delete a[t("0x31f")][e[t("0x98c")]]})),x},t.prototype[e("0x1388")]=function(t){var n=e,a=this[n("0x1cf")](t);if(!a)throw new Error(n("0x395")+t);var r=this[n("0x1eed")](a[n("0x11e")]());return this.listeners.forEach((function(e){var t=n;return e(t("0x3ba5"),r[t("0x19e8")]((function(e){return e[t("0xaf2")]})))})),r},t[e("0x20f")][e("0x1cf")]=function(t,n){var a=e,r=this;if(0===arguments[a("0x5e9")])return Object[a("0xa35")](this.states).map((function(e){var t=a;return r[t("0x31f")][e][t("0xaf2")]}));var i=this.matcher[a("0x372f")](t,n);return i&&i[a("0xaf2")]||null},t[e("0x20f")][e("0x3051")]=function(t,n){var a=e;return this[a("0x2bf5")][a("0x2bf5")](t,n)},t}();(ln=e[a("0x25a7")]||(e[a("0x25a7")]={}))[ln[(dn=a)("0x462d")]=0]=dn("0x462d"),ln[ln[dn("0x1508")]=1]=dn("0x1508"),ln[ln[dn("0x3b6b")]=2]=dn("0x3b6b"),ln[ln[dn("0x288a")]=3]=dn("0x288a"),ln[ln[dn("0x12b0")]=4]=dn("0x12b0"),(sn=e[a("0x305a")]||(e[a("0x305a")]={}))[sn[(cn=a)("0x3857")]=0]=cn("0x3857"),sn[sn.STATE=1]=cn("0x10ae");var pn={current:K,transition:null,traceData:{},bind:null},hn=function(){var t=a;function n(t,n,a,r){var i=a2_0x37cf,o=this;this[i("0x2f61")]=t,this[i("0x1a7")]=n,this.registeredHook=a,this[i("0x16d1")]=r,this[i("0x49e6")]=function(){var t=i;return o[t("0x3298")][t("0x2be9")]===e[t("0x25a7")].RUN&&!o[t("0x16d1")][t("0x2f61")][t("0x1494")]()},this[i("0x16d1")]=oe(r,pn),this[i("0x3298")]=a[i("0x654")]}return n[t("0x1a1a")]=function(e,n){var a=t,r=function(e,t){return e[a2_0x37cf("0x34e8")]((function(){return t.invokeHook()}))};return e.reduce(r,n||G.$q[a("0x2c66")]())},n[t("0x3659")]=function(e,a){for(var r=t,i=0;i<e[r("0x5e9")];i++){var o=e[i][r("0x14ab")]();if(F(o)){var x=e[r("0x9b3")](i+1);return n.chain(x,o)[r("0x34e8")](a)}}return a()},n[t("0xa63")]=function(e){e[t("0x5ba")]((function(e){return e.invokeHook()}))},n[t("0x20f")][t("0x1c84")]=function(e){var n=t;this[n("0x2f61")].router[n("0xf6a")][n("0x4a88")]()(e)},n[t("0x20f")][t("0x14ab")]=function(){var e=t,n=this,a=this.registeredHook;if(!a[e("0x4bbf")]){var r=this.getNotCurrentRejection();if(r)return r;var i=this[e("0x16d1")];At[e("0x2cba")](this,this[e("0x2f61")],i);var o=function(){var t=e;return a.callback.call(i[t("0x2b0c")],n[t("0x2f61")],n[t("0x1a7")])},x=function(t){var n=e;return je.normalize(t)[n("0x54")]()},s=function(t){var r=e;return a[r("0x654")][r("0x218f")](n)(t)},c=function(t){return a[e("0x654")].getResultHandler(n)(t)};try{var l=o();return!this.type[e("0x1700")]&&F(l)?l[e("0x373a")](x)[e("0x34e8")](c,s):c(l)}catch(t){return s(je[e("0x4b14")](t))}finally{a[e("0x3d4c")]&&++a[e("0x936")]>=a[e("0x3d4c")]&&a[e("0x1388")]()}}},n.prototype[t("0x1a3d")]=function(e){var n=t,a=this,r=this.getNotCurrentRejection();return r||(F(e)?e[n("0x34e8")]((function(e){return a[n("0x1a3d")](e)})):(At.traceHookResult(e,this[n("0x2f61")],this[n("0x16d1")]),!1===e?je[n("0x413d")](n("0x30df")).toPromise():h(Gt)(e)?je[n("0x10a8")](e)[n("0x54")]():void 0))},n[t("0x20f")].getNotCurrentRejection=function(){var e=t,n=this.transition[e("0xf8e")];return n[e("0x1140")]?je[e("0x413d")](e("0x4665")+n[e("0x2933")]+e("0x1d65")).toPromise():this[e("0x2f61")][e("0x29fe")]?je[e("0x413d")]().toPromise():this[e("0x49e6")]()?je[e("0x29a6")](this[e("0x16d1")][e("0x4ab2")]())[e("0x54")]():void 0},n[t("0x20f")].toString=function(){var e=t,n=this,a=n.options,r=n.registeredHook,i=u("traceData.hookType")(a)||e("0x446c"),o=u(e("0x4ce2"))(a)||u(e("0x555"))(a)||e("0x7a9"),x=Qe(r[e("0x1c9a")]);return i+e("0x2f60")+o+", "+Ve(200,x)},n.HANDLE_RESULT=function(e){return function(t){return e.handleHookResult(t)}},n[t("0x18f2")]=function(e){return function(t){F(t)&&t.catch((function(t){return e.logError(je.normalize(t))}))}},n[t("0x4ac2")]=function(e){return function(t){return e[a2_0x37cf("0x1c84")](t)}},n[t("0x403d")]=function(e){return function(e){return Ge(e)}},n.THROW_ERROR=function(e){return function(e){throw e}},n}();function gn(e,t,n){var a=I(t)?[t]:t;function r(e){for(var t=a2_0x37cf,n=a,r=0;r<n[t("0x5e9")];r++){var i=new He(n[r]);if(i&&i.matches(e[t("0x98c")])||!i&&n[r]===e[t("0x98c")])return!0}return!1}return!!(R(a)?a:r)(e,n)}var vn=function(){var t=a;function n(e,t,n,a,r,i){var o=a2_0x37cf;void 0===i&&(i={}),this[o("0x44c5")]=e,this.eventType=t,this.callback=n,this[o("0x1f37")]=a,this[o("0x1c96")]=r,this.invokeCount=0,this[o("0x4bbf")]=!1,this[o("0x20e3")]=i.priority||0,this[o("0x2b0c")]=i[o("0x2b0c")]||null,this[o("0x3d4c")]=i[o("0x3d4c")]}return n.prototype._matchingNodes=function(e,t,n){if(!0===t)return e;var a=e.filter((function(e){return gn(e[a2_0x37cf("0x81c")],t,n)}));return a.length?a:null},n[t("0x20f")]._getDefaultMatchCriteria=function(){var e=t;return me(this[e("0x44c5")][e("0x40fc")][e("0x1807")](),(function(){return!0}))},n[t("0x20f")][t("0x24a3")]=function(n,a){var r=t,i=this,o=q(this._getDefaultMatchCriteria(),this[r("0x1f37")]);return _e(this[r("0x44c5")][r("0x40fc")][r("0x1807")]()).reduce((function(t,x){var s=r,c=x[s("0xd20")]===e[s("0x305a")][s("0x10ae")],l=n[x[s("0x98c")]]||[],d=c?l:[Ie(l)];return t[x[s("0x98c")]]=i[s("0x4bf")](d,o[x[s("0x98c")]],a),t}),{})},n.prototype.matches=function(e,n){var a=this[t("0x24a3")](e,n);return _e(a).every(Q)?a:null},n.prototype.deregister=function(){var e=t;this[e("0x1c96")](this),this[e("0x4bbf")]=!0},n}();function Sn(e,t,n){var r=a,i=(e[r("0x2a19")]=e[r("0x2a19")]||{})[n.name]=[],o=te(i);function x(e,a,r){void 0===r&&(r={});var x=new vn(t,n,a,e,o,r);return i.push(x),x.deregister.bind(x)}return e[n[r("0x98c")]]=x,x}var En=function(){var t=a;function n(e){this[a2_0x37cf("0x2f61")]=e}return n.prototype[t("0x4ca2")]=function(e){var n=t,a=this;return this[n("0x2f61")].router.transitionService[n("0x40fc")][n("0x1ad4")](e)[n("0x19e8")]((function(e){return a[n("0x9bf")](e)}))[n("0x2e06")](ge,[])[n("0x6a6")](Q)},n[t("0x20f")][t("0x9bf")]=function(n){var a=t,r=this[a("0x2f61")],i=r[a("0x1bf5")](),o=this[a("0x29df")](n,i,r);if(!o)return[];var x={transition:r,current:r.options().current},s=function(t){var o=a;return t[o("0x3c01")](i,r)[n[o("0x11a3")][o("0x98c")]][o("0x19e8")]((function(a){var i=o,s=q({bind:t[i("0x2b0c")],traceData:{hookType:n[i("0x98c")],context:a}},x),c=n[i("0x11a3")][i("0xd20")]===e[i("0x305a")][i("0x10ae")]?a[i("0x81c")][i("0xaf2")]:null,l=new hn(r,c,t,s);return{hook:t,node:a,transitionHook:l}}))};return o[a("0x19e8")](s).reduce(ge,[])[a("0x4d63")](An(n[a("0x23b7")]))[a("0x19e8")]((function(e){return e.transitionHook}))},n[t("0x20f")].getMatchingHooks=function(n,a,r){var i=t,o=n[i("0x2be9")]===e[i("0x25a7")].CREATE,x=this[i("0x2f61")][i("0xf8e")][i("0x183d")];return(o?[x]:[this.transition,x])[i("0x19e8")]((function(e){var t=i;return e.getHooks(n[t("0x98c")])}))[i("0x6a6")](ye(O,"broken event named: "+n[i("0x98c")])).reduce(ge,[])[i("0x6a6")]((function(e){return e[i("0x3c01")](a,r)}))},n}();function An(e){return void 0===e&&(e=!1),function(t,n){var a=a2_0x37cf,r=e?-1:1,i=(t.node[a("0x81c")][a("0x1da4")][a("0x5e9")]-n[a("0x13db")][a("0x81c")][a("0x1da4")][a("0x5e9")])*r;return 0!==i?i:n[a("0x3087")][a("0x20e3")]-t[a("0x3087")][a("0x20e3")]}}var Tn=l(a("0xaf2")),yn=function(){var t=a;function n(t,n,a){var r=a2_0x37cf,i=this;if(this._deferred=G.$q[r("0x3a26")](),this[r("0x234e")]=this[r("0x4677")][r("0x234e")],this[r("0x2a19")]={},this._hookBuilder=new En(this),this[r("0x1494")]=function(){var e=r;return i[e("0xf8e")][e("0x2dfa")][e("0x2f61")]===i},this[r("0xf8e")]=a,this[r("0x2ce5")]=n,!n[r("0x1d57")]())throw new Error(n[r("0x4ad3")]());this._options=q({current:v(this)},n[r("0x16d1")]()),this.$id=a[r("0x183d")][r("0x523")]++;var o=Ht[r("0x2aff")](t,n);this[r("0x34c1")]=Ht.treeChanges(t,o,this[r("0x2302")][r("0x4b53")]),this[r("0xc1e")]();var x=this[r("0xec7")][r("0x4ca2")](e[r("0x25a7")].CREATE);hn.invokeHooks(x,(function(){return null})),this[r("0x46e7")](a)}return n.prototype[t("0x27d3")]=function(e,t,n){},n[t("0x20f")][t("0x2ef9")]=function(e,t,n){},n[t("0x20f")][t("0x4767")]=function(e,t,n){},n[t("0x20f")][t("0x1ebd")]=function(e,t,n){},n[t("0x20f")][t("0x4842")]=function(e,t,n){},n[t("0x20f")].onFinish=function(e,t,n){},n[t("0x20f")][t("0x2248")]=function(e,t,n){},n[t("0x20f")][t("0x4376")]=function(e,t,n){},n[t("0x20f")][t("0xc1e")]=function(){var n=t,a=this;this[n("0xf8e")][n("0x183d")][n("0x40fc")][n("0x1ad4")]()[n("0x6a6")]((function(t){var a=n;return t[a("0x2be9")]!==e[a("0x25a7")].CREATE}))[n("0x5ba")]((function(e){var t=n;return Sn(a,a[t("0xf8e")][t("0x183d")],e)}))},n[t("0x20f")][t("0x4ae7")]=function(e){return this[t("0x2a19")][e]},n[t("0x20f")].applyViewConfigs=function(e){var n=t,a=this[n("0x34c1")][n("0x1632")].map((function(e){return e[n("0x81c")]}));Ht[n("0x46e7")](e[n("0x183d")][n("0x29f3")],this[n("0x34c1")].to,a)},n[t("0x20f")][t("0x4143")]=function(){var e=t;return Ie(this[e("0x34c1")][e("0x3121")])[e("0x81c")]},n[t("0x20f")][t("0x4f")]=function(){var e=t;return Ie(this[e("0x34c1")].to)[e("0x81c")]},n[t("0x20f")].from=function(){return this[t("0x4143")]().self},n.prototype.to=function(){var e=t;return this[e("0x4f")]()[e("0xaf2")]},n[t("0x20f")][t("0xb84")]=function(){return this[t("0x2ce5")]},n.prototype.is=function(e){var a=t;return e instanceof n?this.is({to:e[a("0x4f")]()[a("0x98c")],from:e[a("0x4143")]()[a("0x98c")]}):!(e.to&&!gn(this.$to(),e.to,this)||e[a("0x3121")]&&!gn(this.$from(),e[a("0x3121")],this))},n[t("0x20f")][t("0x48ad")]=function(e){var n=t;return void 0===e&&(e="to"),Object.freeze(this[n("0x34c1")][e][n("0x19e8")](l("paramValues")).reduce(xe,{}))},n[t("0x20f")][t("0x3b6a")]=function(){var e=t,n=this[e("0x48ad")](e("0x3121")),a=this[e("0x48ad")]("to"),r=[][e("0x3abc")](this[e("0x34c1")].to)[e("0x3abc")](this[e("0x34c1")].from).map((function(t){return t[e("0x4852")]}))[e("0x2e06")](ve,[])[e("0x2e06")](Ee,[]);return Pt.changed(r,n,a)[e("0x2e06")]((function(e,t){return e[t.id]=a[t.id],e}),{})},n[t("0x20f")][t("0xf8f")]=function(e,n){var a=t;void 0===n&&(n="to");var r=this[a("0x34c1")][n];return e&&(r=Ht[a("0x14a7")](r,(function(t){var n=a;return t[n("0x81c")]===e||t[n("0x81c")].name===e}))),new Qt(r).injector()},n[t("0x20f")][t("0x3a85")]=function(e){var n=t;return void 0===e&&(e="to"),new Qt(this[n("0x34c1")][e])[n("0x2643")]()},n[t("0x20f")][t("0x2da2")]=function(e,n){var a=t;void 0===n&&(n=""),e=h(jt)(e)?e:new jt(e);var r=typeof n===a("0x38b7")?n:n.name,i=this[a("0x34c1")].to,o=fe(i,(function(e){return e[a("0x81c")].name===r}));new Qt(i).addResolvables([e],o[a("0x81c")])},n.prototype.redirectedFrom=function(){return this[t("0x2302")].redirectedFrom||null},n.prototype.originalTransition=function(){var e=this.redirectedFrom();return e&&e.originalTransition()||this},n.prototype.options=function(){return this[t("0x2302")]},n[t("0x20f")].entering=function(){var e=t;return be(this[e("0x34c1")][e("0x1632")],l(e("0x81c")))[e("0x19e8")](Tn)},n.prototype.exiting=function(){var e=t;return be(this[e("0x34c1")][e("0xdb9")],l(e("0x81c")))[e("0x19e8")](Tn).reverse()},n[t("0x20f")][t("0x3ea8")]=function(){var e=t;return be(this[e("0x34c1")].retained,l("state"))[e("0x19e8")](Tn)},n[t("0x20f")][t("0xbe5")]=function(e,n){var a=t;void 0===e&&(e="entering");var r=this[a("0x34c1")][e];return(r=n?r[a("0x6a6")](d(a("0x81c"),n)):r)[a("0x19e8")](l(a("0xbe5")))[a("0x6a6")](Q)[a("0x2e06")](ge,[])},n.prototype.treeChanges=function(e){var n=t;return e?this[n("0x34c1")][e]:this[n("0x34c1")]},n[t("0x20f")][t("0x4f81")]=function(e){for(var n=t,a=1,r=this;null!=(r=r[n("0x8dd")]());)if(++a>20)throw new Error(n("0x3cbc"));var i={redirectedFrom:this,source:n("0x4f81")};"url"===this[n("0x16d1")]()[n("0x4aff")]&&!1!==e.options()[n("0x2c6")]&&(i[n("0x2c6")]=n("0x3cc0"));var o=q({},this[n("0x16d1")](),e.options(),i);e=e[n("0x260b")](o,!0);var x=this[n("0xf8e")][n("0x183d")][n("0x4b8c")](this._treeChanges[n("0x3121")],e),s=this[n("0x34c1")][n("0x1632")],c=x[n("0x34c1")][n("0x1632")],l=function(e){return function(t){var n=a2_0x37cf;return e&&t.state[n("0x170b")][e[n("0x98c")]]}};return Ht[n("0x4270")](c,s,Ht[n("0x194f")])[n("0x6a6")](f(l(e[n("0x16d1")]().reloadState)))[n("0x5ba")]((function(e,t){var a=n;e[a("0x3032")]=s[t][a("0x3032")]})),x},n[t("0x20f")][t("0x56b")]=function(){var e=t,n=this[e("0x34c1")];if(!(this[e("0x2302")][e("0x6f4")]||n[e("0xdb9")][e("0x5e9")]||n[e("0x1632")].length||n.to[e("0x5e9")]!==n[e("0x3121")].length||Re(n.to,n[e("0x3121")])[e("0x19e8")]((function(t){var n=e;return t[0][n("0x81c")]!==t[1][n("0x81c")]}))[e("0x2e06")](he,!1))){var a=n.to[e("0x19e8")]((function(t){return t[e("0x4852")]})),r=[n.to,n[e("0x3121")]][e("0x19e8")]((function(e){return e.map((function(e){return e[a2_0x37cf("0x428a")]}))}));return Re(a,r[0],r[1]).map((function(t){var n=e,a=t[0],r=t[1],i=t[2];return Pt[n("0x2e4f")](a,r,i)}))[e("0x2e06")](ge,[])}},n[t("0x20f")][t("0x1139")]=function(){var e=t,n=this[e("0x56b")]();return!!n&&n[e("0x19e8")]((function(e){return e.dynamic}))[e("0x2e06")](he,!1)},n[t("0x20f")][t("0x3774")]=function(){return!!this[t("0x2641")]()},n.prototype._ignoredReason=function(){var e=t,n=this.router.globals[e("0x2f61")],a=this[e("0x2302")][e("0x4b53")],r=function(t,n){var r=e;if(t[r("0x5e9")]!==n[r("0x5e9")])return!1;var i=Ht[r("0x4270")](t,n);return t[r("0x5e9")]===i.filter((function(e){var t=r;return!a||!e[t("0x81c")][t("0x170b")][a[t("0x98c")]]}))[r("0x5e9")]},i=this.treeChanges(),o=n&&n[e("0x1bf5")]();return o&&r(o.to,i.to)&&r(o.exiting,i.exiting)?"SameAsPending":0===i[e("0xdb9")][e("0x5e9")]&&0===i[e("0x1632")].length&&r(i.from,i.to)?e("0x468e"):void 0},n.prototype.run=function(){var n=t,a=this,r=hn[n("0xa63")],i=function(e){var t=n;return a[t("0xec7")][t("0x4ca2")](e)},o=function(){var t=n;At[t("0x22e7")](a[t("0x4f")](),a),a[t("0x256d")]=!0,a[t("0x4677")].resolve(a.to()),r(i(e[t("0x25a7")].SUCCESS))},x=function(t){var o=n;At.traceError(t,a),a[o("0x256d")]=!1,a[o("0x4677")][o("0x2078")](t),a._error=t,r(i(e[o("0x25a7")][o("0x12b0")]))},s=function(){var t=n,a=i(e[t("0x25a7")][t("0x3b6b")]),r=function(){var e=t;return G.$q[e("0x2c66")](void 0)};return hn[t("0x3659")](a,r)},c=function(){var e=n,t=a.router[e("0x2dfa")];return t[e("0xd0a")]=a[e("0x2933")],t[e("0x2f61")]=a,t[e("0x3710")][e("0x1f7c")](a),At[e("0x2003")](a),G.$q[e("0x2c66")](void 0)},l=i(e[n("0x25a7")][n("0x1508")]);return hn[n("0x3659")](l,c)[n("0x34e8")](s)[n("0x34e8")](o,x),this[n("0x234e")]},n[t("0x20f")][t("0x1d57")]=function(){return!this.error()||void 0!==this.success},n[t("0x20f")].abort=function(){var e=t;y(this.success)&&(this[e("0x29fe")]=!0)},n.prototype[t("0x4ad3")]=function(){var e=t,n=this[e("0x4f")]();if(n[e("0xaf2")][e("0x12a1")])return je.invalid(e("0x2dae")+n[e("0x98c")]+"'");var a=n[e("0x125d")](),r=this[e("0x48ad")](),i=a[e("0x6a6")]((function(t){return!t[e("0x4f65")](r[t.id])}));if(i[e("0x5e9")]){var o=i[e("0x19e8")]((function(e){return"["+e.id+":"+Ze(r[e.id])+"]"}))[e("0xc60")](", "),x=e("0x3b4e")+n.name+e("0x127f")+o;return je[e("0x1978")](x)}return!1===this[e("0x256d")]?this[e("0x2d19")]:void 0},n[t("0x20f")][t("0x3c88")]=function(){var e=t,n=this.from(),a=this.to(),r=function(e){return null!==e["#"]&&void 0!==e["#"]?e:le(e,["#"])},i=this[e("0x2933")],o=N(n)?n.name:n,x=Ze(r(this[e("0x34c1")][e("0x3121")][e("0x19e8")](l(e("0x428a")))[e("0x2e06")](xe,{}))),s=this[e("0x1d57")]()?"":e("0x4054"),c=N(a)?a[e("0x98c")]:a,d=Ze(r(this[e("0x48ad")]()));return e("0x1572")+i+e("0x1900")+o+"'"+x+e("0x35a7")+s+"'"+c+"'"+d+" )"},n[t("0x23f8")]=n,n}();function Cn(e,t){var n=a,r=["",""],i=e[n("0x3cc0")](/[\\\[\]\^$*+?.()|{}]/g,n("0x1dea"));if(!t)return i;switch(t[n("0x387d")]){case!1:r=["(",")"+(t.isOptional?"?":"")];break;case!0:i=i.replace(/\/$/,""),r=["(?:/(",n("0x48e4")];break;default:r=["("+t[n("0x387d")]+"|",")?"]}return i+r[0]+t[n("0x3298")][n("0x5011")].source+r[1]}var wn=function(e,t,n){return e[t]=e[t]||n()},Mn=xt("/"),Rn={state:{params:{}},strict:!0,caseInsensitive:!0,decodeParams:!0},Dn=function(){var t=a;function n(e,t,a,r){var i=a2_0x37cf,o=this;this[i("0x1cfc")]={path:[this]},this[i("0x373f")]=[],this[i("0x1ec0")]=[],this[i("0x14f2")]=[],this._compiled=[],this.config=r=oe(r,Rn),this.pattern=e;for(var x,s,c,l=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,u=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,f=[],m=0,b=function(t){var a=i;if(!n[a("0x4070")].test(t))throw new Error(a("0x1966")+t+a("0x3f98")+e+"'");if(fe(o[a("0x1ec0")],d("id",t)))throw new Error("Duplicate parameter name '"+t+a("0x3f98")+e+"'")},_=function(n,a){var r=i,x=n[2]||n[3],s=a?n[4]:n[4]||("*"===n[1]?r("0x45c8"):null),c=function(e){var n=r;return J(t[n("0x3298")](n(a?"0x3829":"0x1da4")),{pattern:new RegExp(e,o[n("0x1805")][n("0x29af")]?"i":void 0)})};return{id:x,regexp:s,segment:e[r("0x35e7")](m,n.index),type:s?t.type(s)||c(s):null}};(x=l.exec(e))&&!((s=_(x,!1)).segment[i("0x3507")]("?")>=0);)b(s.id),this._params[i("0x459a")](a.fromPath(s.id,s[i("0x3298")],r[i("0x81c")])),this[i("0x14f2")][i("0x459a")](s.segment),f[i("0x459a")]([s[i("0xec9")],Ie(this[i("0x1ec0")])]),m=l[i("0x151e")];var p=(c=e.substring(m))[i("0x3507")]("?");if(p>=0){var h=c.substring(p);if(c=c[i("0x35e7")](0,p),h[i("0x5e9")]>0)for(m=0;x=u[i("0x3629")](h);)b((s=_(x,!0)).id),this[i("0x1ec0")][i("0x459a")](a.fromSearch(s.id,s.type,r.state)),m=l.lastIndex}this._segments[i("0x459a")](c),this[i("0x34db")]=f[i("0x19e8")]((function(e){return Cn.apply(null,e)}))[i("0x3abc")](Cn(c))}return n[t("0x266c")]=function(e){var n=t;return encodeURIComponent(e)[n("0x3cc0")](/-/g,(function(e){var t=n;return t("0x3987")+e.charCodeAt(0).toString(16)[t("0x110")]()}))},n[t("0x165f")]=function(n){var a=t;return Re(n[a("0x14f2")],n[a("0x1ec0")][a("0x6a6")]((function(t){var n=a;return t[n("0x2c6")]===e[n("0x2d0a")][n("0x10a5")]})).concat(void 0)).reduce(ge,[])[a("0x6a6")]((function(e){return""!==e&&C(e)}))},n[t("0x1f0")]=function(n){var a=t;return n[a("0x1ec0")][a("0x6a6")]((function(t){var n=a;return t[n("0x2c6")]===e[n("0x2d0a")][n("0x28b1")]}))},n[t("0xc0")]=function(e,t){var a=function(e){var t=a2_0x37cf;return e._cache.segments=e[t("0x1cfc")][t("0x3ba4")]||e[t("0x1cfc")][t("0x1da4")].map(n[t("0x165f")])[t("0x2e06")](ge,[]).reduce(st,[])[t("0x19e8")]((function(e){return I(e)?Mn(e):e}))[t("0x2e06")](ge,[])},r=function(e){var t=a2_0x37cf;return e[t("0x1cfc")][t("0x43a0")]=e._cache.weights||a(e)[t("0x19e8")]((function(e){return"/"===e?1:I(e)?2:e instanceof Pt?3:void 0}))},i=function(e,t,n){for(var a=a2_0x37cf,r=Math[a("0x242b")](e[a("0x5e9")],t[a("0x5e9")]);e[a("0x5e9")]<r;)e[a("0x459a")](n);for(;t[a("0x5e9")]<r;)t[a("0x459a")](n)},o=r(e),x=r(t);i(o,x,0);var s,c,l=Re(o,x);for(c=0;c<l.length;c++)if(0!=(s=l[c][0]-l[c][1]))return s;return 0},n.prototype[t("0x136a")]=function(e){var n=t;return this[n("0x373f")].push(e),e[n("0x1cfc")]={path:this[n("0x1cfc")].path[n("0x3abc")](e),parent:this,pattern:null},e},n[t("0x20f")][t("0x4819")]=function(){var e=t;return this[e("0x1cfc")][e("0x1da4")][0]===this},n[t("0x20f")][t("0x3c88")]=function(){return this[t("0x5011")]},n[t("0x20f")][t("0x362")]=function(e,n){var a=t;return C(e)&&(this[a("0x1805")][a("0x1aff")]&&!n[a("0x3298")].raw&&!O(e)&&(e=decodeURIComponent(e)),e=n[a("0x3298")][a("0x19f2")](e)),n[a("0x3a33")](e)},n[t("0x20f")][t("0x3629")]=function(e,n,a,r){var i=t,o=this;void 0===n&&(n={});var x=wn(this[i("0x1cfc")],"pattern",(function(){var e=i;return new RegExp(["^",Ae(o[e("0x1cfc")].path[e("0x19e8")](l(e("0x34db"))))[e("0xc60")](""),!1===o[e("0x1805")][e("0xb94")]?"/?":"","$"].join(""),o.config[e("0x29af")]?"i":void 0)}))[i("0x3629")](e);if(!x)return null;var s=this[i("0x125d")](),c=s[i("0x6a6")]((function(e){return!e[i("0x1901")]()})),d=s[i("0x6a6")]((function(e){return e[i("0x1901")]()})),u=this[i("0x1cfc")][i("0x1da4")][i("0x19e8")]((function(e){return e[i("0x14f2")].length-1}))[i("0x2e06")]((function(e,t){return e+t})),f={};if(u!==x[i("0x5e9")]-1)throw new Error("Unbalanced capture group in route '"+this[i("0x5011")]+"'");function m(e){var t=i,n=function(e){var t=a2_0x37cf;return e[t("0x9e5")]("").reverse()[t("0xc60")]("")},a=function(e){return e.replace(/\\-/g,"-")},r=be(n(e).split(/-(?!\\)/),n);return be(r,a)[t("0x48d")]()}for(var b=0;b<u;b++){for(var _=c[b],p=x[b+1],h=0;h<_[i("0x3cc0")][i("0x5e9")];h++)_.replace[h][i("0x3121")]===p&&(p=_[i("0x3cc0")][h].to);p&&!0===_[i("0x2c5e")]&&(p=m(p)),f[_.id]=this._getDecodedParamValue(p,_)}return d[i("0x5ba")]((function(e){for(var t=i,a=n[e.id],r=0;r<e[t("0x3cc0")][t("0x5e9")];r++)e[t("0x3cc0")][r][t("0x3121")]===a&&(a=e.replace[r].to);f[e.id]=o[t("0x362")](a,e)})),a&&(f["#"]=a),f},n[t("0x20f")][t("0x125d")]=function(e){var n=t;return void 0===e&&(e={}),!1===e[n("0xbe2")]?this._params:Ae(this._cache[n("0x1da4")][n("0x19e8")]((function(e){return e[n("0x1ec0")]})))},n[t("0x20f")].parameter=function(e,n){var a=t,r=this;void 0===n&&(n={});var i=function(){for(var t=0,n=r[a2_0x37cf("0x1ec0")];t<n.length;t++){var a=n[t];if(a.id===e)return a}},o=this[a("0x1cfc")][a("0x731")];return i()||!1!==n[a("0xbe2")]&&o&&o[a("0x12bd")](e,n)||null},n[t("0x20f")][t("0x4f65")]=function(e){var n=t,a=function(e,t){return!e||e[a2_0x37cf("0x4f65")](t)};return e=e||{},this[n("0x125d")]()[n("0x6a6")]((function(t){return e[n("0x1bd4")](t.id)}))[n("0x19e8")]((function(t){return a(t,e[t.id])}))[n("0x2e06")](pe,!0)},n.prototype.format=function(e){var a=t;void 0===e&&(e={});var r=this[a("0x1cfc")][a("0x1da4")],i=r[a("0x19e8")](n.pathSegmentsAndParams)[a("0x2e06")](ge,[])[a("0x19e8")]((function(e){return I(e)?e:s(e)})),o=r.map(n[a("0x1f0")])[a("0x2e06")](ge,[]).map(s),x=function(e){return!1===e[a("0x32d4")]};if(i[a("0x3abc")](o)[a("0x6a6")](x)[a("0x5e9")])return null;function s(t){var n=a,r=t[n("0x3a33")](e[t.id]),i=t[n("0x4f65")](r),o=t.isDefaultValue(r),x=!!o&&t[n("0x387d")],s=t[n("0x3298")][n("0x3f92")](r);return{param:t,value:r,isValid:i,isDefaultValue:o,squash:x,encoded:s}}var c=i.reduce((function(e,t){var r=a;if(I(t))return e+t;var i=t[r("0x387d")],o=t[r("0x175b")],x=t[r("0x4736")];return!0===i?e[r("0x2cd9")](/\/$/)?e.slice(0,-1):e:I(i)?e+i:!1!==i||null==o?e:O(o)?e+be(o,n.encodeDashes)[r("0xc60")]("-"):x[r("0x290")]?e+o:e+encodeURIComponent(o)}),""),l=o[a("0x19e8")]((function(e){var t=a,n=e.param,r=e.squash,i=e[t("0x175b")],o=e[t("0x41cb")];if(!(null==i||o&&!1!==r)&&(O(i)||(i=[i]),0!==i[t("0x5e9")]))return n[t("0x290")]||(i=be(i,encodeURIComponent)),i[t("0x19e8")]((function(e){return n.id+"="+e}))})).filter(Q)[a("0x2e06")](ge,[]).join("&");return c+(l?"?"+l:"")+(e["#"]?"#"+e["#"]:"")},n[t("0x4070")]=/^\w+([-.]+\w+)*(?:\[\])?$/,n}(),In=function(){var e=a;return(In=Object.assign||function(e){for(var t,n=a2_0x37cf,a=1,r=arguments[n("0x5e9")];a<r;a++)for(var i in t=arguments[a])Object[n("0x20f")][n("0x1bd4")][n("0x3c6b")](t,i)&&(e[i]=t[i]);return e})[e("0x4884")](this,arguments)},Nn=function(){var t=a;function n(e){this[a2_0x37cf("0xf8e")]=e}return n[t("0x20f")][t("0x1903")]=function(n,a,r){var i=t;return new Pt(n,a,e[i("0x2d0a")][i("0x2d0b")],this.router[i("0x41e0")][i("0x1805")],r)},n[t("0x20f")].fromPath=function(n,a,r){var i=t;return new Pt(n,a,e.DefType.PATH,this.router[i("0x41e0")][i("0x1805")],r)},n[t("0x20f")][t("0x1611")]=function(n,a,r){var i=t;return new Pt(n,a,e[i("0x2d0a")][i("0x28b1")],this[i("0xf8e")][i("0x41e0")].config,r)},n}(),On=function(){var e=a;function t(e){var t=a2_0x37cf,n=this;this[t("0xf8e")]=e,this.paramFactory=new Nn(this[t("0xf8e")]),this[t("0xa8c")]=Dn,this[t("0x2081")]=Pt,this[t("0x29af")]=function(e){var a=t;return n[a("0xf8e")][a("0x41e0")][a("0x1805")][a("0x29af")](e)},this[t("0x48a")]=function(e){var a=t;return n.router[a("0x41e0")][a("0x1805")][a("0x48a")](e)},this[t("0x2080")]=function(e){var a=t;return n[a("0xf8e")].urlService.config[a("0x2080")](e)},this[t("0x3298")]=function(e,a,r){var i=t;return n.router[i("0x41e0")][i("0x1805")][i("0x3298")](e,a,r)||n}}return t[e("0x20f")][e("0x1d80")]=function(t,n){var a=e,r=this.router[a("0x41e0")][a("0x1805")],i=n&&!n[a("0x81c")]&&n.params;n=i?In({state:{params:i}},n):n;var o={strict:r[a("0x1950")],caseInsensitive:r[a("0x4379")],decodeParams:r._decodeParams};return new Dn(t,r.paramTypes,this[a("0x4f1f")],q(o,n))},t[e("0x20f")].isMatcher=function(t){var n=e;if(!N(t))return!1;var a=!0;return W(Dn[n("0x20f")],(function(e,n){R(e)&&(a=a&&C(t[n])&&R(t[n]))})),a},t[e("0x20f")][e("0x1cc9")]=function(){var t=e,n=this[t("0xf8e")][t("0x41e0")][t("0x1805")];return n[t("0x46e")][t("0x1f7c")]=!1,n.paramTypes[t("0x90e")](),this},t}(),kn=function(){var e=a;function t(e){this[a2_0x37cf("0xf8e")]=e}return t[e("0x20f")][e("0x1d80")]=function(t){var n=e;return this[n("0xf8e")][n("0xa9")][n("0x1d80")](t)},t[e("0x20f")][e("0x4b8c")]=function(t,n){var a=e,r=this,i=fn[a("0x391")],o=fn[a("0x47f4")],x=E([[I,function(e){return x(r[a("0x1d80")](e))}],[h(Dn),function(e){return r[a("0x44e5")](e,n)}],[b(i,o),function(e){var t=a;return r.fromState(e,r[t("0xf8e")])}],[h(RegExp),function(e){return r[a("0x25c2")](e,n)}],[R,function(e){return new Pn(e,n)}]]),s=x(t);if(!s)throw new Error("invalid 'what' in when()");return s},t[e("0x20f")][e("0x44e5")]=function(t,n){var a=e,r=n;function i(e){var n=a,r=t[n("0x3629")](e.path,e.search,e[n("0x426")]);return t[n("0x4f65")](r)&&r}function o(e){var n=a,r=t[n("0x125d")]().filter((function(e){return e[n("0x1503")]}));return r[n("0x5e9")]?r[n("0x6a6")]((function(t){return e[t.id]}))[n("0x5e9")]/r.length:1e-6}I(n)&&(n=this[a("0xf8e")].urlMatcherFactory[a("0x1d80")](n)),h(Dn)(n)&&(r=function(e){return n[a("0x293c")](e)});var x={urlMatcher:t,matchPriority:o,type:a("0x22bb")};return q(new Pn(i,r),x)},t[e("0x20f")].fromState=function(t,n){var a=e,r=fn[a("0x47f4")](t)?t[a("0x11e")]():t,i=function(e){var t=a,i=n[t("0xf6a")],o=n[t("0x2dfa")];i[t("0x44a3")](r,e)!==i[t("0x44a3")](o[t("0x4ab2")],o[t("0x48ad")])&&i[t("0x2aee")](r,e,{inherit:!0,source:t("0x4aef")})},o={state:r,type:"STATE"};return q(this[a("0x44e5")](r[a("0x4aef")],i),o)},t.prototype.fromRegExp=function(t,n){var a=e;if(t[a("0x4d11")]||t.sticky)throw new Error(a("0x3dd0"));var r=function(e){return n[a("0x3cc0")](/\$(\$|\d{1,2})/,(function(t,n){return e["$"===n?0:Number(n)]}))},i=I(n)?r:n,o=function(e){var n=a;return t.exec(e[n("0x1da4")])},x={regexp:t,type:a("0x4f00")};return q(new Pn(o,i),x)},t[e("0x4c46")]=function(t){var n=e;return t&&["type",n("0x2cd9"),n("0x4eb4")][n("0x1906")]((function(e){return C(t[e])}))},t}(),Pn=function(){function e(e,t){var n=a2_0x37cf,a=this;this[n("0x2cd9")]=e,this[n("0x3298")]=n("0xe52"),this[n("0xdf7")]=function(e){return 0-a[n("0x2933")]},this[n("0x4eb4")]=t||Q}return e}();function Ln(e,t,n,r){var i=a;return"/"===r?e:t?nt(r)+e:n?r[i("0x9b3")](1)+e:e}var Fn,Bn=function(){var e=a;function t(e){var t=a2_0x37cf,n=this;this[t("0xf8e")]=e,this[t("0x2821")]=function(e){var a=t;return n[a("0xf8e")][a("0x41e0")][a("0x2821")](e)},this[t("0x2e8b")]=function(e){var a=t;return n.router.urlService[a("0x2e8b")](e)},this[t("0x378a")]=function(e){var a=t;return n[a("0xf8e")][a("0x41e0")].deferIntercept(e)},this[t("0x2cd9")]=function(e){var a=t;return n[a("0xf8e")][a("0x41e0")][a("0x2cd9")](e)},this.initial=function(e){var a=t;return n.router.urlService[a("0x2bf4")][a("0x40da")](e)},this[t("0x13ac")]=function(e){var a=t;return n[a("0xf8e")][a("0x41e0")][a("0x2bf4")].otherwise(e)},this[t("0x1d6e")]=function(e){var a=t;return n[a("0xf8e")][a("0x41e0")][a("0x2bf4")][a("0x1d6e")](e)},this[t("0x318e")]=function(e){var a=t;return n.router[a("0x41e0")][a("0x2bf4")].rule(e)},this[t("0x2bf4")]=function(){var e=t;return n.router.urlService[e("0x2bf4")][e("0x2bf4")]()},this[t("0x4d63")]=function(e){var a=t;return n.router.urlService[a("0x2bf4")][a("0x4d63")](e)},this[t("0x2c66")]=function(e,a,r){var i=t;return n[i("0xf8e")][i("0x41e0")].rules.when(e,a,r)},this[t("0x288b")]=new kn(e)}return t[e("0x20f")][e("0x3fdc")]=function(t){var n=e,a=this.router.locationService;t?this.location=a.url():a[n("0x4aef")]()!==this[n("0x2c6")]&&a[n("0x4aef")](this.location,!0)},t[e("0x20f")][e("0x459a")]=function(t,n,a){var r=e,i=a&&!!a.replace;this[r("0xf8e")][r("0x41e0")][r("0x4aef")](t[r("0x293c")](n||{}),i)},t.prototype[e("0x44a3")]=function(t,n,a){var r=e,i=t.format(n);if(null==i)return null;a=a||{absolute:!1};var o=this.router.urlService[r("0x1805")],x=o[r("0x2fec")]();if(!x&&null!==i&&(i="#"+o[r("0x339f")]()+i),i=Ln(i,x,a[r("0xc1a")],o[r("0x1f97")]()),!a[r("0xc1a")]||!i)return i;var s=!x&&i?"/":"",c=o.port(),l=80===c||443===c?"":":"+c;return[o[r("0x427")](),r("0xad0"),o.host(),l,s,i][r("0xc60")]("")},Object[e("0x47ad")](t.prototype,e("0xead"),{get:function(){return this[e("0xf8e")].urlService.interceptDeferred},enumerable:!1,configurable:!0}),t}(),Yn=function(){var e=a;function t(e){var t=a2_0x37cf,n=this;this[t("0xf8e")]=e,this[t("0x2e96")]=[],this[t("0x11f9")]=[],this[t("0x3ab7")]={},this[t("0x3a")]=[],this._pluginapi={_rootViewContext:this[t("0x1c1c")][t("0x2b0c")](this),_viewConfigFactory:this[t("0x4c31")][t("0x2b0c")](this),_registeredUIView:function(e){return fe(n._uiViews,(function(t){return n[a2_0x37cf("0xf8e")].$id+"."+t.id===e}))},_registeredUIViews:function(){return n._uiViews},_activeViewConfigs:function(){return n[t("0x11f9")]},_onSync:function(e){var a=t;return n[a("0x3a")].push(e),function(){return te(n[a("0x3a")],e)}}}}return t[e("0x123")]=function(t,n){var a=e;void 0===n&&(n="");var r=n.split("@"),i=r[0]||"$default",o=I(r[1])?r[1]:"^",x=/^(\^(?:\.\^)*)\.(.*$)/[a("0x3629")](i);if(x&&(o=x[1],i=x[2]),"!"===i[a("0x24de")](0)&&(i=i[a("0x39fa")](1),o=""),/^(\^(?:\.\^)*)$/[a("0x3629")](o)){var s=o[a("0x9e5")](".")[a("0x2e06")]((function(e,t){return e[a("0x731")]}),t);o=s.name}else"."===o&&(o=t[a("0x98c")]);return{uiViewName:i,uiViewContextAnchor:o}},t[e("0x20f")][e("0x1c1c")]=function(t){var n=e;return this._rootContext=t||this[n("0x30b2")]},t[e("0x20f")][e("0x4c31")]=function(t,n){this[e("0x3ab7")][t]=n},t[e("0x20f")][e("0xe05")]=function(t,n){var a=e,r=this[a("0x3ab7")][n[a("0x67c")]];if(!r)throw new Error(a("0x2cad")+n[a("0x67c")]);var i=r(t,n);return O(i)?i:[i]},t[e("0x20f")][e("0x379e")]=function(t){var n=e;At[n("0x236c")](n("0xe9a"),t),te(this[n("0x11f9")],t)},t[e("0x20f")][e("0x352d")]=function(t){var n=e;At[n("0x236c")](n("0x3ecb"),t),this._viewConfigs[n("0x459a")](t)},t[e("0x20f")].sync=function(){var n=e,a=this,r=this._uiViews[n("0x19e8")]((function(e){return[e.fqn,e]})).reduce(De,{});function i(e){var t=n,a=function(e){var t=a2_0x37cf;return e&&e[t("0x731")]?a(e[t("0x731")])+1:1};return 1e4*e[t("0x2a1a")].split(".")[t("0x5e9")]+a(e[t("0x399b")])}function o(e){for(var t=n,a=e[t("0x21")][t("0xafc")],r=0;++r&&a.parent;)a=a.parent;return r}var s=x((function(e,t,n,a){return t*(e(n)-e(a))})),c=function(e){var i=n,x=a[i("0x11f9")].filter(t[i("0x3c01")](r,e));return x[i("0x5e9")]>1&&x[i("0x4d63")](s(o,-1)),{uiView:e,viewConfig:x[0]}},l=function(e){var t=n;-1!==a[t("0x2e96")][t("0x3507")](e.uiView)&&e[t("0x3d34")].configUpdated(e.viewConfig)},d=this[n("0x2e96")][n("0x4d63")](s(i,1))[n("0x19e8")](c),u=d[n("0x19e8")]((function(e){return e.viewConfig})),f=this._viewConfigs.filter((function(e){return!Z(u,e)}))[n("0x19e8")]((function(e){return{uiView:void 0,viewConfig:e}}));d[n("0x5ba")](l);var m=d[n("0x3abc")](f);this[n("0x3a")][n("0x5ba")]((function(e){return e(m)})),At.traceViewSync(m)},t.prototype[e("0x2166")]=function(t){var n=e;At[n("0x27bd")](n("0x3ecb"),t);var a=this[n("0x2e96")],r=function(e){var a=n;return e[a("0x2a1a")]===t.fqn&&e[a("0x67c")]===t[a("0x67c")]};return a[n("0x6a6")](r)[n("0x5e9")]&&At[n("0x27bd")](n("0x3c3f"),t),a[n("0x459a")](t),this[n("0x2821")](),function(){var e=n;-1!==a[e("0x3507")](t)?(At.traceViewServiceUIViewEvent(e("0x22"),t),te(a)(t)):At[e("0x27bd")]("Tried removing non-registered uiView",t)}},t[e("0x20f")][e("0x3735")]=function(){var t=e;return this[t("0x2e96")][t("0x19e8")](l(t("0x2a1a")))},t[e("0x20f")].active=function(){var t=e;return this[t("0x2e96")].filter(l("$config"))[t("0x19e8")](l(t("0x98c")))},t[e("0x3c01")]=function(e,t){return function(n){var a=a2_0x37cf;if(t[a("0x67c")]!==n.viewDecl[a("0x67c")])return!1;var r=n[a("0x21")],i=r[a("0xdb6")][a("0x9e5")]("."),o=t[a("0x2a1a")][a("0x9e5")](".");if(!z(i,o[a("0x9b3")](0-i[a("0x5e9")])))return!1;var x=1-i[a("0x5e9")]||void 0,s=o.slice(0,x)[a("0xc60")]("."),c=e[s][a("0x399b")];return r[a("0x1ae")]===(c&&c[a("0x98c")])}},t}(),Gn=function(){var e=a;function t(){var e=a2_0x37cf;this.params=new Bt,this[e("0xd0a")]=-1,this[e("0x3710")]=new Ue([],1),this[e("0x3d3e")]=new Ue([],1)}return t[e("0x20f")][e("0x3a7c")]=function(){var t=e;this[t("0x3710")].clear(),this.successfulTransitions[t("0x2066")](),this[t("0x2f61")]=null},t}(),Hn=function(e,t){var n=a;return(t[n("0x20e3")]||0)-(e[n("0x20e3")]||0)},Un=function(e,t){var n=a,r={STATE:4,URLMATCHER:4,REGEXP:3,RAW:2,OTHER:1};return(r[e[n("0x3298")]]||0)-(r[t[n("0x3298")]]||0)},$n=function(e,t){var n=a;return e.urlMatcher&&t[n("0xeb0")]?Dn[n("0xc0")](e[n("0xeb0")],t[n("0xeb0")]):0},jn=function(e,t){var n=a,r={STATE:!0,URLMATCHER:!0};return r[e[n("0x3298")]]&&r[t[n("0x3298")]]?0:(e[n("0x2933")]||0)-(t[n("0x2933")]||0)};function Vn(e){var t=a;if(!(R(e)||I(e)||h(Gt)(e)||Gt[t("0x7ae")](e)))throw new Error(t("0x369d"));return R(e)?e:v(e)}Fn=function(e,t){var n=Hn(e,t);return 0!==n||0!==(n=Un(e,t))||0!==(n=$n(e,t))?n:jn(e,t)};var Wn=function(){var e=a;function t(e){var t=a2_0x37cf;this[t("0xf8e")]=e,this[t("0x1322")]=Fn,this[t("0x2b29")]=[],this[t("0x2e81")]=0,this[t("0x288b")]=new kn(e)}return t.prototype[e("0x3a7c")]=function(t){var n=e;this._rules=[],delete this[n("0x3ed1")]},t[e("0x20f")][e("0x40da")]=function(t){var n=e,a=Vn(t),r=function(e,t){var n=a2_0x37cf;return 0===t[n("0x2dfa")][n("0x3710")][n("0x27ff")]()&&!!/^\/?$/[n("0x3629")](e[n("0x1da4")])};this.rule(this.urlRuleFactory[n("0x4b8c")](r,a))},t.prototype.otherwise=function(t){var n=e,a=Vn(t);this[n("0x3ed1")]=this[n("0x288b")].create(v(!0),a),this[n("0x1a03")]=!1},t.prototype.removeRule=function(t){te(this[e("0x2b29")],t)},t.prototype[e("0x318e")]=function(t){var n=e,a=this;if(!kn[n("0x4c46")](t))throw new Error("invalid rule");return t.$id=this[n("0x2e81")]++,t[n("0x20e3")]=t[n("0x20e3")]||0,this[n("0x2b29")][n("0x459a")](t),this[n("0x1a03")]=!1,function(){return a[n("0x1d6e")](t)}},t[e("0x20f")][e("0x2bf4")]=function(){var t=e;return this.ensureSorted(),this[t("0x2b29")][t("0x3abc")](this._otherwiseFn?[this[t("0x3ed1")]]:[])},t[e("0x20f")][e("0x4d63")]=function(t){for(var n=e,a=this.stableSort(this[n("0x2b29")],this._sortFn=t||this[n("0x1322")]),r=0,i=0;i<a.length;i++)a[i][n("0x4446")]=r,i<a[n("0x5e9")]-1&&0!==this[n("0x1322")](a[i],a[i+1])&&r++;this[n("0x2b29")]=a,this[n("0x1a03")]=!0},t.prototype[e("0x4af8")]=function(){var t=e;this[t("0x1a03")]||this[t("0x4d63")]()},t[e("0x20f")].stableSort=function(t,n){var a=e,r=t[a("0x19e8")]((function(e,t){return{elem:e,idx:t}}));return r[a("0x4d63")]((function(e,t){var r=a,i=n(e.elem,t.elem);return 0===i?e.idx-t[r("0x4106")]:i})),r[a("0x19e8")]((function(e){return e.elem}))},t[e("0x20f")][e("0x2c66")]=function(t,n,a){var r=e,i=this.urlRuleFactory[r("0x4b8c")](t,n);return C(a&&a[r("0x20e3")])&&(i[r("0x20e3")]=a[r("0x20e3")]),this.rule(i),i},t}(),qn=function(){var e=a;function t(e){var t=a2_0x37cf,n=this;this[t("0xf8e")]=e,this[t("0x46e")]=new Lt,this[t("0x23c1")]=!0,this[t("0x4379")]=!1,this[t("0x1950")]=!0,this[t("0x2283")]=!1,this.dispose=function(){var e=t;return n[e("0x46e")][e("0x3a7c")]()},this[t("0x1f97")]=function(){var e=t;return n[e("0xf8e")][e("0x195")][e("0x1f97")]()},this[t("0x339f")]=function(e){var a=t;return n.router[a("0x195")][a("0x339f")](e)},this[t("0x4961")]=function(){var e=t;return n[e("0xf8e")][e("0x195")][e("0x4961")]()},this.html5Mode=function(){var e=t;return n[e("0xf8e")][e("0x195")][e("0x2fec")]()},this[t("0x23a4")]=function(){var e=t;return n[e("0xf8e")].locationConfig[e("0x23a4")]()},this.protocol=function(){var e=t;return n[e("0xf8e")].locationConfig[e("0x427")]()}}return t[e("0x20f")].caseInsensitive=function(t){var n=e;return this[n("0x4379")]=C(t)?t:this[n("0x4379")]},t.prototype[e("0x48a")]=function(t){var n=e;if(C(t)&&!0!==t&&!1!==t&&!I(t))throw new Error(n("0x1867")+t+n("0x194e"));return this[n("0x2283")]=C(t)?t:this[n("0x2283")]},t[e("0x20f")][e("0x2080")]=function(t){var n=e;return this[n("0x1950")]=C(t)?t:this[n("0x1950")]},t[e("0x20f")].type=function(t,n,a){var r=this[e("0x46e")].type(t,n,a);return C(n)?this:r},t}(),zn=function(){var e=a;function t(e){var t=a2_0x37cf,n=this;this[t("0xf8e")]=e,this[t("0xead")]=!1,this[t("0x2bf4")]=new Wn(this[t("0xf8e")]),this.config=new qn(this[t("0xf8e")]),this[t("0x4aef")]=function(e,a,r){return n[t("0xf8e")].locationService.url(e,a,r)},this[t("0x1da4")]=function(){var e=t;return n[e("0xf8e")][e("0x9cb")][e("0x1da4")]()},this.search=function(){var e=t;return n[e("0xf8e")][e("0x9cb")][e("0xc63")]()},this[t("0x426")]=function(){var e=t;return n[e("0xf8e")].locationService[e("0x426")]()},this.onChange=function(e){var a=t;return n[a("0xf8e")][a("0x9cb")][a("0x18db")](e)}}return t[e("0x20f")][e("0x3a7c")]=function(){var t=e;this[t("0x2e8b")](!1),this[t("0x2bf4")][t("0x3a7c")]()},t[e("0x20f")][e("0x160c")]=function(){var t=e;return{path:this.path(),search:this[t("0xc63")](),hash:this.hash()}},t[e("0x20f")][e("0x2821")]=function(t){var n=e;if(!t||!t.defaultPrevented){var a=this.router,r=a[n("0x41e0")],i=a[n("0xf6a")],o={path:r.path(),search:r[n("0xc63")](),hash:r[n("0x426")]()},x=this[n("0x2cd9")](o);E([[I,function(e){return r[n("0x4aef")](e,!0)}],[Gt.isDef,function(e){var t=n;return i.go(e[t("0x81c")],e.params,e[t("0x16d1")])}],[h(Gt),function(e){var t=n;return i.go(e[t("0x81c")](),e[t("0x48ad")](),e[t("0x16d1")]())}]])(x&&x.rule.handler(x[n("0x2cd9")],o,this[n("0xf8e")]))}},t[e("0x20f")][e("0x2e8b")]=function(t){var n=e,a=this;if(!1!==t)return this._stopListeningFn=this[n("0x2405")]||this.router[n("0x41e0")][n("0x18db")]((function(e){return a[n("0x2821")](e)}));this[n("0x2405")]&&this[n("0x2405")](),delete this[n("0x2405")]},t[e("0x20f")][e("0x378a")]=function(t){void 0===t&&(t=!0),this[e("0xead")]=t},t[e("0x20f")][e("0x2cd9")]=function(t){var n=e,a=this;t=q({path:"",search:{},hash:""},t);for(var r,i=this[n("0x2bf4")][n("0x2bf4")](),o=function(e){var r=n,i=e[r("0x2cd9")](t,a.router);return i&&{match:i,rule:e,weight:e[r("0xdf7")](i)}},x=0;x<i[n("0x5e9")]&&(!r||r.rule[n("0x4446")]===i[x][n("0x4446")]);x++){var s=o(i[x]);r=!r||s&&s[n("0x45d6")]>r[n("0x45d6")]?s:r}return r},t}(),Qn=0,Kn=[a("0x4aef"),a("0x1da4"),"search",a("0x426"),a("0x18db")],Xn=[a("0x23a4"),a("0x427"),a("0x4961"),a("0x1f97"),a("0x2fec"),"hashPrefix"],Jn=Y(a("0x11f7"),Kn),Zn=Y(a("0x4737"),Xn),ea=function(){var e=a;function t(e,t){var n=a2_0x37cf;void 0===e&&(e=Jn),void 0===t&&(t=Zn),this.locationService=e,this[n("0x195")]=t,this[n("0x2933")]=Qn++,this[n("0x1140")]=!1,this[n("0x16bb")]=[],this.trace=At,this[n("0x1b6b")]=new Yn(this),this[n("0x2dfa")]=new Gn,this[n("0x183d")]=new Ya(this),this[n("0xa9")]=new On(this),this[n("0x127a")]=new Bn(this),this[n("0x41e0")]=new zn(this),this[n("0x2518")]=new _n(this),this[n("0xf6a")]=new Ga(this),this[n("0x1fb5")]={},this[n("0x1b6b")][n("0x40fc")][n("0x1c1c")](this[n("0x2518")][n("0x4e56")]()),this[n("0x2dfa")][n("0x3fc0")]=this[n("0x2518")][n("0x4e56")](),this[n("0x2dfa")][n("0x4ab2")]=this[n("0x2dfa")][n("0x3fc0")].self,this.disposable(this.globals),this[n("0x11ac")](this[n("0xf6a")]),this[n("0x11ac")](this[n("0x2518")]),this[n("0x11ac")](this[n("0x183d")]),this[n("0x11ac")](this[n("0x41e0")]),this.disposable(e),this.disposable(t)}return t[e("0x20f")][e("0x11ac")]=function(t){var n=e;this[n("0x16bb")][n("0x459a")](t)},t[e("0x20f")][e("0x3a7c")]=function(t){var n=e,a=this;t&&R(t[n("0x3a7c")])?t.dispose(this):(this[n("0x1140")]=!0,this._disposables[n("0x9b3")]()[n("0x5ba")]((function(e){var t=n;try{typeof e.dispose===t("0x3349")&&e[t("0x3a7c")](a),te(a[t("0x16bb")],e)}catch(e){}})))},t[e("0x20f")].plugin=function(t,n){var a=e;void 0===n&&(n={});var r=new t(this,n);if(!r[a("0x98c")])throw new Error(a("0x3226")+r);return this[a("0x16bb")].push(r),this[a("0x1fb5")][r[a("0x98c")]]=r},t[e("0x20f")][e("0x82d")]=function(t){var n=e;return t?this[n("0x1fb5")][t]:_e(this[n("0x1fb5")])},t}();function ta(e){var t=a;e.addResolvable(jt[t("0x2e25")](ea,e[t("0xf8e")]),""),e[t("0x2da2")](jt[t("0x2e25")](yn,e),""),e[t("0x2da2")](jt.fromData(t("0x14ea"),e),""),e[t("0x2da2")](jt[t("0x2e25")](t("0x30e3"),e[t("0x48ad")]()),""),e[t("0x1632")]()[t("0x5ba")]((function(n){var a=t;e[a("0x2da2")](jt.fromData(a("0x3ade"),n),n)}))}var na=function(e){return e[a("0x411")]({},ta)},aa=[a("0x14ea"),yn],ra=Z(aa),ia=function(e){var t=a,n=_e(e[t("0x1bf5")]())[t("0x2e06")](ge,[])[t("0x2e06")](Ee,[]),r=function(e){var n=t;return ra(e[n("0x3742")])?jt[n("0x2e25")](e.token,null):e};n[t("0x5ba")]((function(e){var n=t;e.resolvables=e[n("0x3032")][n("0x19e8")](r)}))},oa=function(e){var t=a,n=e.to()[t("0x353f")];if(n){var r=e[t("0xf8e")][t("0xf6a")];return R(n)?G.$q.when(n(e))[t("0x34e8")](i):i(n)}function i(n){var a=t;if(n)return n instanceof Gt?n:I(n)?r.target(n,e[a("0x48ad")](),e.options()):n.state||n[a("0x48ad")]?r[a("0x55d")](n.state||e.to(),n[a("0x48ad")]||e[a("0x48ad")](),e[a("0x16d1")]()):void 0}},xa=function(e){var t=a;return e[t("0x2ef9")]({to:function(e){return!!e[t("0x353f")]}},oa)};function sa(e){return function(t,n){return(0,n.$$state()[e])(t,n)}}var ca=sa(a("0x4767")),la=function(e){var t=a;return e[t("0x4767")]({exiting:function(e){return!!e[t("0x4767")]}},ca)},da=sa(a("0x1ebd")),ua=function(e){return e[a("0x1ebd")]({retained:function(e){return!!e.onRetain}},da)},fa=sa(a("0x4842")),ma=function(e){var t=a;return e[t("0x4842")]({entering:function(e){return!!e[t("0x4842")]}},fa)},ba=1e3,_a=function(e){var t=a;return new Qt(e.treeChanges().to)[t("0x36d")](t("0x306d"),e)[t("0x34e8")](K)},pa=function(e){return e[a("0x2ef9")]({},_a,{priority:ba})},ha=function(e,t){var n=a;return new Qt(e[n("0x1bf5")]().to)[n("0x39f8")](t[n("0x11e")]())[n("0x36d")](n("0x4349"),e)[n("0x34e8")](K)},ga=function(e){return e[a("0x4842")]({entering:v(!0)},ha,{priority:ba})},va=function(e){var t=a;return new Qt(e[t("0x1bf5")]().to)[t("0x36d")](t("0x4349"),e)[t("0x34e8")](K)},Sa=function(e){return e[a("0x1956")]({},va,{priority:ba})},Ea=function(e){var t=a,n=G.$q,r=e.views(t("0x1632"));if(r.length)return n[t("0x3217")](r[t("0x19e8")]((function(e){var a=t;return n[a("0x2c66")](e[a("0x2de8")]())})))[t("0x34e8")](K)},Aa=function(e){return e[a("0x1956")]({},Ea)},Ta=function(e){var t=a,n=e.views(t("0x1632")),r=e[t("0xbe5")]("exiting");if(n[t("0x5e9")]||r[t("0x5e9")]){var i=e.router[t("0x1b6b")];r[t("0x5ba")]((function(e){return i[t("0x379e")](e)})),n.forEach((function(e){return i[t("0x352d")](e)})),i[t("0x2821")]()}},ya=function(e){return e.onSuccess({},Ta)},Ca=function(e){var t=a,n=e[t("0xf8e")][t("0x2dfa")],r=function(){var a=t;n[a("0x3d3e")].enqueue(e),n[a("0x3fc0")]=e[a("0x4f")](),n[a("0x4ab2")]=n[a("0x3fc0")][a("0xaf2")],Ne(e[a("0x48ad")](),n[a("0x48ad")])},i=function(){n.transition===e&&(n.transition=null)};e.onSuccess({},r,{priority:1e4}),e.promise.then(i,i)},wa=function(e){return e[a("0x411")]({},Ca)},Ma=function(e){var t=a,n=e[t("0x16d1")](),r=e[t("0xf8e")][t("0xf6a")],i=e[t("0xf8e")].urlRouter;if(n[t("0x4aff")]!==t("0x4aef")&&n[t("0x2c6")]&&r[t("0x3fc0")][t("0x549")]){var o={replace:"replace"===n[t("0x2c6")]};i[t("0x459a")](r[t("0x3fc0")][t("0x549")][t("0x4aef")],r[t("0x48ad")],o)}i[t("0x3fdc")](!0)},Ra=function(e){return e[a("0x2248")]({},Ma,{priority:9999})},Da=function(e){var t=a,n=e.router;function r(){var t=a2_0x37cf;if("url"!==e[t("0x1637")]()[t("0x16d1")]()[t("0x4aff")]){var a=e[t("0xb84")]();return n[t("0xf6a")][t("0x55d")](a[t("0x3a31")](),a[t("0x48ad")](),a[t("0x16d1")]())}var r=n.urlService,i=r[t("0x2cd9")](r[t("0x160c")]()),o=i&&i[t("0x318e")];if(o&&"STATE"===o[t("0x3298")]){var x=o[t("0x81c")],s=i.match;return n[t("0xf6a")][t("0x55d")](x,s,e.options())}n[t("0x41e0")][t("0x2821")]()}var i=e[t("0x1632")]()[t("0x6a6")]((function(e){var n=t;return!!e.$$state()[n("0x2318")]})).map((function(t){return Na(e,t)}));return G.$q[t("0x3217")](i)[t("0x34e8")](r)},Ia=function(e){return e.onBefore({entering:function(e){return!!e[a2_0x37cf("0x2318")]}},Da)};function Na(e,t){var n=a,r=t[n("0x11e")]().lazyLoad,i=r[n("0xf2d")];if(!i){var o=function(e){var a=n;return delete t[a("0x2318")],delete t[a("0x11e")]()[a("0x2318")],delete r[a("0xf2d")],e},x=function(e){return delete r[n("0xf2d")],G.$q.reject(e)};i=r[n("0xf2d")]=G.$q[n("0x2c66")](r(e,t))[n("0x34e8")](s)[n("0x34e8")](o,x)}function s(t){var a=n;return t&&Array[a("0x498f")](t.states)&&t[a("0x31f")][a("0x5ba")]((function(t){var n=a;return e[n("0xf8e")][n("0x2518")][n("0x4ce9")](t)})),t}return i}var Oa=function(){function e(e,t,n,a,r,i,o,x){var s=a2_0x37cf;void 0===r&&(r=!1),void 0===i&&(i=hn.HANDLE_RESULT),void 0===o&&(o=hn[s("0x403d")]),void 0===x&&(x=!1),this[s("0x98c")]=e,this[s("0x2be9")]=t,this[s("0x2517")]=n,this.criteriaMatchPath=a,this[s("0x23b7")]=r,this[s("0x17d3")]=i,this[s("0x218f")]=o,this[s("0x1700")]=x}return e}();function ka(e){var t=a,n=e._ignoredReason();if(n){At[t("0xce5")](e);var r=e[t("0xf8e")][t("0x2dfa")][t("0x2f61")];return n===t("0x468e")&&r&&r.abort(),je[t("0x3774")]()[t("0x54")]()}}var Pa=function(e){return e.onBefore({},ka,{priority:-9999})};function La(e){var t=a;if(!e[t("0x1d57")]())throw new Error(e[t("0x4ad3")]()[t("0x3c88")]())}var Fa=function(e){return e[a("0x27d3")]({},La,{priority:-1e4})},Ba={location:!0,relative:null,inherit:!1,notify:!0,reload:!1,supercede:!0,custom:{},current:function(){return null},source:a("0x7a9")},Ya=function(){var t=a;function n(e){var t=a2_0x37cf;this[t("0x523")]=0,this._eventTypes=[],this[t("0x2a19")]={},this._criteriaPaths={},this[t("0x24b2")]=e,this[t("0x29f3")]=e[t("0x1b6b")],this[t("0x15e")]={},this[t("0x40fc")]=X(v(this),{},v(this),[t("0x394d"),"_defineEvent",t("0x1807"),t("0x1ad4"),t("0x4ae7")]),this[t("0x3157")](),this._defineCoreEvents(),this[t("0x355b")](),e[t("0x2dfa")][t("0x3d3e")][t("0x4187")](ia)}return n[t("0x20f")].onCreate=function(e,t,n){},n[t("0x20f")][t("0x27d3")]=function(e,t,n){},n[t("0x20f")][t("0x2ef9")]=function(e,t,n){},n[t("0x20f")][t("0x4767")]=function(e,t,n){},n[t("0x20f")].onRetain=function(e,t,n){},n[t("0x20f")].onEnter=function(e,t,n){},n[t("0x20f")].onFinish=function(e,t,n){},n[t("0x20f")][t("0x2248")]=function(e,t,n){},n[t("0x20f")][t("0x4376")]=function(e,t,n){},n[t("0x20f")].dispose=function(e){_e(this._registeredHooks).forEach((function(e){return e.forEach((function(t){t._deregistered=!0,te(e,t)}))}))},n.prototype[t("0x4b8c")]=function(e,t){return new yn(e,t,this._router)},n[t("0x20f")][t("0x2532")]=function(){var n=t,a=e[n("0x25a7")],r=hn,i=this._criteriaPaths,o=!1,x=!0,s=!0;this[n("0x3ba1")]("onCreate",a[n("0x462d")],0,i.to,o,r[n("0x18f2")],r[n("0x2cb0")],s),this._defineEvent(n("0x27d3"),a[n("0x1508")],0,i.to),this[n("0x3ba1")](n("0x2ef9"),a[n("0x3b6b")],0,i.to),this[n("0x3ba1")](n("0x4767"),a[n("0x3b6b")],100,i[n("0xdb9")],x),this._defineEvent("onRetain",a[n("0x3b6b")],200,i[n("0x3ea8")]),this._defineEvent(n("0x4842"),a.RUN,300,i[n("0x1632")]),this[n("0x3ba1")](n("0x1956"),a.RUN,400,i.to),this[n("0x3ba1")](n("0x2248"),a.SUCCESS,0,i.to,o,r.LOG_REJECTED_RESULT,r[n("0x4ac2")],s),this._defineEvent(n("0x4376"),a.ERROR,0,i.to,o,r[n("0x18f2")],r[n("0x4ac2")],s)},n.prototype[t("0x3157")]=function(){var n=t,a=e[n("0x305a")][n("0x10ae")],r=e.TransitionHookScope.TRANSITION;this[n("0x394d")]("to",r),this[n("0x394d")]("from",r),this[n("0x394d")](n("0xdb9"),a),this._definePathType("retained",a),this[n("0x394d")](n("0x1632"),a)},n[t("0x20f")][t("0x3ba1")]=function(e,n,a,r,i,o,x,s){var c=t;void 0===i&&(i=!1),void 0===o&&(o=hn[c("0x1db9")]),void 0===x&&(x=hn[c("0x403d")]),void 0===s&&(s=!1);var l=new Oa(e,n,a,r,i,o,x,s);this._eventTypes[c("0x459a")](l),Sn(this,this,l)},n[t("0x20f")]._getEvents=function(e){var n=t;return(C(e)?this[n("0x1d4f")][n("0x6a6")]((function(t){return t[n("0x2be9")]===e})):this[n("0x1d4f")].slice())[n("0x4d63")]((function(e,t){var a=n,r=e[a("0x2be9")]-t[a("0x2be9")];return 0===r?e[a("0x2517")]-t[a("0x2517")]:r}))},n[t("0x20f")]._definePathType=function(e,n){this[t("0x1be9")][e]={name:e,scope:n}},n[t("0x20f")][t("0x1807")]=function(){return this[t("0x1be9")]},n[t("0x20f")][t("0x4ae7")]=function(e){return this[t("0x2a19")][e]},n.prototype._registerCoreTransitionHooks=function(){var e=t,n=this[e("0x15e")];n[e("0x3c23")]=na(this),n[e("0x3774")]=Pa(this),n[e("0x1978")]=Fa(this),n[e("0x353f")]=xa(this),n[e("0x4767")]=la(this),n[e("0x1ebd")]=ua(this),n.onEnter=ma(this),n[e("0x37a4")]=pa(this),n[e("0x37e9")]=ga(this),n[e("0x101b")]=Sa(this),n[e("0x44b8")]=Aa(this),n[e("0xea1")]=ya(this),n[e("0x2622")]=wa(this),n[e("0x3f23")]=Ra(this),n[e("0x2318")]=Ia(this)},n}(),Ga=function(){var t=a;function n(e){var t=a2_0x37cf;this[t("0xf8e")]=e,this[t("0xca2")]=[],this._defaultErrorHandler=function(e){var n=t;e instanceof Error&&e[n("0x375a")]?(console[n("0x4ad3")](e),console.error(e.stack)):e instanceof je?(console.error(e[n("0x3c88")]()),e[n("0x1e68")]&&e[n("0x1e68")][n("0x375a")]&&console[n("0x4ad3")](e.detail[n("0x375a")])):console[n("0x4ad3")](e)};var a=[t("0x4ab2"),"$current","params","transition"],r=Object[t("0xa35")](n[t("0x20f")]).filter(f(Z(a)));X(v(n[t("0x20f")]),this,v(this),r)}return Object.defineProperty(n[t("0x20f")],"transition",{get:function(){var e=t;return this[e("0xf8e")][e("0x2dfa")].transition},enumerable:!1,configurable:!0}),Object[t("0x47ad")](n[t("0x20f")],"params",{get:function(){var e=t;return this[e("0xf8e")][e("0x2dfa")][e("0x48ad")]},enumerable:!1,configurable:!0}),Object[t("0x47ad")](n[t("0x20f")],t("0x4ab2"),{get:function(){var e=t;return this[e("0xf8e")][e("0x2dfa")][e("0x4ab2")]},enumerable:!1,configurable:!0}),Object[t("0x47ad")](n[t("0x20f")],"$current",{get:function(){var e=t;return this[e("0xf8e")][e("0x2dfa")][e("0x3fc0")]},enumerable:!1,configurable:!0}),n.prototype[t("0x3a7c")]=function(){var e=t;this[e("0x4a88")](K),this[e("0xca2")]=[]},n[t("0x20f")][t("0x2557")]=function(e,n){var a=t,r=this,i=Ht[a("0x2ca0")](this[a("0xf8e")].stateRegistry,e),o=this[a("0xf8e")][a("0x2dfa")],x=function(){var e=a;return o.transitionHistory[e("0x2118")]()},s=x(),c=new Ue(this[a("0xca2")].slice()),l=new Qt(e)[a("0xf8f")](),d=function(e){var t=a;if(e instanceof Gt){var n=e;return(n=r[t("0x55d")](n[t("0x3a31")](),n[t("0x48ad")](),n[t("0x16d1")]())).valid()?x()!==s?je[t("0x29a6")]()[t("0x54")]():r[t("0x2aee")](n[t("0x3a31")](),n[t("0x48ad")](),n[t("0x16d1")]()):je[t("0x1978")](n.error())[t("0x54")]()}};function u(){var e=a,t=c[e("0x4463")]();return void 0===t?je[e("0x1978")](n.error()).toPromise():G.$q[e("0x2c66")](t(n,i,l)).then(d)[e("0x34e8")]((function(e){return e||u()}))}return u()},n[t("0x20f")][t("0x4957")]=function(e){var n=t;return this.invalidCallbacks[n("0x459a")](e),function(){te(this[n("0xca2")])(e)}.bind(this)},n[t("0x20f")][t("0x6f4")]=function(e){var n=t;return this[n("0x2aee")](this[n("0x4ab2")],this[n("0x48ad")],{reload:!C(e)||e,inherit:!1,notify:!1})},n[t("0x20f")].go=function(e,n,a){var r=t,i=oe(a,{relative:this[r("0x3fc0")],inherit:!0},Ba);return this[r("0x2aee")](e,n,i)},n.prototype[t("0x55d")]=function(e,n,a){var r=t;if(void 0===a&&(a={}),N(a[r("0x6f4")])&&!a[r("0x6f4")].name)throw new Error(r("0x42da"));var i=this[r("0xf8e")][r("0x2518")];if(a[r("0x4b53")]=!0===a.reload?i[r("0x4e56")]():i.matcher.find(a[r("0x6f4")],a[r("0x38d7")]),a[r("0x6f4")]&&!a[r("0x4b53")])throw new Error("No such reload state '"+(I(a.reload)?a[r("0x6f4")]:a[r("0x6f4")].name)+"'");return new Gt(this[r("0xf8e")].stateRegistry,e,n,a)},n.prototype[t("0x2924")]=function(){var e=t,n=this,a=this.router[e("0x2dfa")][e("0x3d3e")][e("0x2118")](),r=function(){var t=e;return[new Yt(n[t("0xf8e")][t("0x2518")][t("0x4e56")]())]};return a?a[e("0x1bf5")]().to:r()},n.prototype[t("0x2aee")]=function(n,a,r){var i=t,o=this;void 0===a&&(a={}),void 0===r&&(r={});var x=this.router,s=x[i("0x2dfa")];r=oe(r,Ba);var c=function(){return s[i("0x2f61")]};r=q(r,{current:c});var l=this[i("0x55d")](n,a,r),d=this[i("0x2924")]();if(!l[i("0x10cd")]())return this[i("0x2557")](d,l);if(!l[i("0x1d57")]())return Ge(l[i("0x4ad3")]());if(!1===r.supercede&&c())return je[i("0x3774")]("Another transition is in progress and supercede has been set to false in TransitionOptions for the transition. So the transition was ignored in favour of the existing one in progress.")[i("0x54")]();var u=function(t){return function(n){var a=a2_0x37cf;if(n instanceof je){var r=x.globals[a("0xd0a")]<=t[a("0x2933")];if(n[a("0x3298")]===e[a("0x17e0")][a("0x2587")])return r&&x[a("0x127a")].update(),G.$q.when(s.current);var i=n[a("0x1e68")];if(n[a("0x3298")]===e.RejectType.SUPERSEDED&&n[a("0x10a8")]&&i instanceof Gt){var c=t[a("0x4f81")](i);return c[a("0x4c69")]().catch(u(c))}if(n[a("0x3298")]===e[a("0x17e0")][a("0x1953")])return r&&x.urlRouter[a("0x3fdc")](),G.$q[a("0x2078")](n)}return o[a("0x4a88")]()(n),G.$q[a("0x2078")](n)}},f=this[i("0xf8e")][i("0x183d")][i("0x4b8c")](d,l),m=f[i("0x4c69")]().catch(u(f));return Ye(m),q(m,{transition:f})},n[t("0x20f")].is=function(e,n,a){var r=t;a=oe(a,{relative:this[r("0x3fc0")]});var i=this[r("0xf8e")][r("0x2518")][r("0x44da")][r("0x372f")](e,a.relative);if(C(i)){if(this.$current!==i)return!1;if(!n)return!0;var o=i[r("0x125d")]({inherit:!0,matchingKeys:n});return Pt[r("0x34f9")](o,Pt[r("0x3d61")](o,n),this.params)}},n[t("0x20f")].includes=function(e,n,a){var r=t;a=oe(a,{relative:this[r("0x3fc0")]});var i=I(e)&&He[r("0x4560")](e);if(i){if(!i[r("0x3c01")](this.$current[r("0x98c")]))return!1;e=this[r("0x3fc0")][r("0x98c")]}var o=this.router[r("0x2518")][r("0x44da")][r("0x372f")](e,a[r("0x38d7")]),x=this.$current[r("0x170b")];if(C(o)){if(!C(x[o[r("0x98c")]]))return!1;if(!n)return!0;var s=o[r("0x125d")]({inherit:!0,matchingKeys:n});return Pt[r("0x34f9")](s,Pt[r("0x3d61")](s,n),this[r("0x48ad")])}},n.prototype[t("0x44a3")]=function(e,n,a){var r=t;a=oe(a,{lossy:!0,inherit:!0,absolute:!1,relative:this[r("0x3fc0")]}),n=n||{};var i=this.router[r("0x2518")][r("0x44da")].find(e,a[r("0x38d7")]);if(!C(i))return null;a[r("0xbe2")]&&(n=this[r("0x48ad")].$inherit(n,this[r("0x3fc0")],i));var o=i&&a[r("0x1280")]?i[r("0x549")]:i;return o&&void 0!==o.url&&null!==o[r("0x4aef")]?this[r("0xf8e")].urlRouter[r("0x44a3")](o[r("0x4aef")],n,{absolute:a[r("0xc1a")]}):null},n[t("0x20f")][t("0x4a88")]=function(e){var n=t;return this._defaultErrorHandler=e||this[n("0x2bd0")]},n.prototype[t("0x1cf")]=function(e,n){var a=t,r=this[a("0xf8e")].stateRegistry;return 0===arguments[a("0x5e9")]?r[a("0x1cf")]():r.get(e,n||this.$current)},n.prototype[t("0x2318")]=function(e,n){var a=t,r=this[a("0x1cf")](e);if(!r||!r[a("0x2318")])throw new Error("Can not lazy load "+e);var i=this[a("0x2924")](),o=Ht[a("0x2ca0")](this[a("0xf8e")].stateRegistry,i);return Na(n=n||this.router.transitionService[a("0x4b8c")](i,o),r)},n}(),Ha={when:function(e){return new Promise((function(t,n){return t(e)}))},reject:function(e){return new Promise((function(t,n){n(e)}))},defer:function(){var e=a,t={};return t[e("0x234e")]=new Promise((function(n,a){var r=e;t[r("0x407b")]=n,t[r("0x2078")]=a})),t},all:function(e){var t=a;if(O(e))return Promise[t("0x3217")](e);if(N(e)){var n=Object[t("0xa35")](e)[t("0x19e8")]((function(n){var a=t;return e[n][a("0x34e8")]((function(e){return{key:n,val:e}}))}));return Ha.all(n).then((function(e){var n=t;return e[n("0x2e06")]((function(e,t){return e[t[n("0x2646")]]=t.val,e}),{})}))}}},Ua={},$a=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ja=/([^\s,]+)/g,Va={get:function(e){return Ua[e]},has:function(e){return null!=Va[a("0x1cf")](e)},invoke:function(e,t,n){var r=a,i=q({},Ua,n||{}),o=Va[r("0x1a0b")](e),x=ye((function(e){return i[r("0x1bd4")](e)}),(function(e){return r("0x1840")+e+"'"})),s=o[r("0x6a6")](x)[r("0x19e8")]((function(e){return i[e]}));return R(e)?e[r("0x4884")](t,s):e.slice(-1)[0][r("0x4884")](t,s)},annotate:function(e){var t=a;if(!L(e))throw new Error(t("0x498e")+e);if(e&&e.$inject)return e[t("0x4670")];if(O(e))return e.slice(0,-1);var n=e[t("0x3c88")]().replace($a,"");return n.slice(n.indexOf("(")+1,n[t("0x3507")](")"))[t("0x2cd9")](ja)||[]}},Wa=function(e,t){var n=a,r=t[0],i=t[1];return e[n("0x1bd4")](r)?O(e[r])?e[r].push(i):e[r]=[e[r],i]:e[r]=i,e},qa=function(e){var t=a;return e.split("&")[t("0x6a6")](Q)[t("0x19e8")](it)[t("0x2e06")](Wa,{})};function za(e){var t=a,n=function(e){return e||""},r=at(e)[t("0x19e8")](n),i=r[0],o=r[1],x=rt(i).map(n);return{path:x[0],search:x[1],hash:o,url:e}}var Qa=function(e){var t=a,n=e.path(),r=e[t("0xc63")](),i=e[t("0x426")](),o=Object[t("0xa35")](r)[t("0x19e8")]((function(e){var n=t,a=r[e];return(O(a)?a:[a])[n("0x19e8")]((function(t){return e+"="+t}))})).reduce(ge,[])[t("0xc60")]("&");return n+(o?"?"+o:"")+(i?"#"+i:"")};function Ka(e,t,n,a){return function(r){var i=a2_0x37cf,o=r[i("0x9cb")]=new n(r),x=r[i("0x195")]=new a(r,t);function s(e){e.dispose(o),e.dispose(x)}return{name:e,service:o,configuration:x,dispose:s}}}var Xa,Ja,Za,er=function(){var e=a;function t(e,t){var n=a2_0x37cf,a=this;this[n("0x4193")]=t,this[n("0x3a")]=[],this[n("0x39a")]=function(e){var t=n;return a[t("0x3a")][t("0x5ba")]((function(t){return t(e)}))},this[n("0x426")]=function(){var e=n;return za(a._get())[e("0x426")]},this[n("0x1da4")]=function(){return za(a._get()).path},this[n("0xc63")]=function(){var e=n;return qa(za(a[e("0x1c4b")]())[e("0xc63")])},this[n("0x4e3b")]=U[n("0x2c6")],this[n("0xab5")]=U[n("0x3221")]}return t.prototype[e("0x4aef")]=function(t,n){var a=e;return void 0===n&&(n=!0),C(t)&&t!==this[a("0x1c4b")]()&&(this[a("0x28d5")](null,null,t,n),this.fireAfterUpdate&&this[a("0x3a")].forEach((function(e){return e({url:t})}))),Qa(this)},t[e("0x20f")][e("0x18db")]=function(t){var n=e,a=this;return this[n("0x3a")][n("0x459a")](t),function(){return te(a._listeners,t)}},t[e("0x20f")].dispose=function(t){ie(this[e("0x3a")])},t}(),tr=(Za=function(e,t){var n=a2_0x37cf;return(Za=Object[n("0x409e")]||{__proto__:[]}instanceof Array&&function(e,t){e[n("0x287c")]=t}||function(e,t){var a=n;for(var r in t)t[a("0x1bd4")](r)&&(e[r]=t[r])})(e,t)},function(e,t){var n=a2_0x37cf;function a(){this[a2_0x37cf("0x11ae")]=e}Za(e,t),e[n("0x20f")]=null===t?Object[n("0x4b8c")](t):(a.prototype=t.prototype,new a)}),nr=function(e){var t=a;function n(t){var n=a2_0x37cf,a=e.call(this,t,!1)||this;return U.addEventListener(n("0x552"),a._listener,!1),a}return tr(n,e),n.prototype[t("0x1c4b")]=function(){var e=t;return ot(this[e("0x4e3b")][e("0x426")])},n.prototype[t("0x28d5")]=function(e,n,a,r){var i=t;this[i("0x4e3b")][i("0x426")]=a},n.prototype[t("0x3a7c")]=function(n){var a=t;e[a("0x20f")][a("0x3a7c")][a("0x3c6b")](this,n),U.removeEventListener(a("0x552"),this._listener)},n}(er),ar=(Ja=function(e,t){var n=a2_0x37cf;return(Ja=Object[n("0x409e")]||{__proto__:[]}instanceof Array&&function(e,t){e[n("0x287c")]=t}||function(e,t){var a=n;for(var r in t)t[a("0x1bd4")](r)&&(e[r]=t[r])})(e,t)},function(e,t){var n=a2_0x37cf;function a(){this[a2_0x37cf("0x11ae")]=e}Ja(e,t),e[n("0x20f")]=null===t?Object[n("0x4b8c")](t):(a.prototype=t[n("0x20f")],new a)}),rr=function(e){var t=a;function n(t){return e[a2_0x37cf("0x3c6b")](this,t,!0)||this}return ar(n,e),n[t("0x20f")][t("0x1c4b")]=function(){return this._url},n[t("0x20f")][t("0x28d5")]=function(e,n,a,r){this[t("0x2ba1")]=a},n}(er),ir=(Xa=function(e,t){return(Xa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){var n=a2_0x37cf;for(var a in t)t[n("0x1bd4")](a)&&(e[a]=t[a])})(e,t)},function(e,t){var n=a2_0x37cf;function a(){this.constructor=e}Xa(e,t),e[n("0x20f")]=null===t?Object.create(t):(a[n("0x20f")]=t[n("0x20f")],new a)}),or=function(e){var t=a;function n(t){var n=a2_0x37cf,a=e[n("0x3c6b")](this,t,!0)||this;return a._config=t[n("0x41e0")][n("0x1805")],U.addEventListener(n("0x4cc4"),a[n("0x39a")],!1),a}return ir(n,e),n[t("0x20f")]._getBasePrefix=function(){return nt(this[t("0x3188")].baseHref())},n[t("0x20f")][t("0x1c4b")]=function(){var e=t,n=this[e("0x4e3b")],a=n[e("0x4374")],r=n[e("0x426")],i=n[e("0xc63")];i=rt(i)[1],r=at(r)[1];var o=this[e("0x433f")](),x=a===this[e("0x3188")][e("0x1f97")](),s=a.substr(0,o[e("0x5e9")])===o;return(a=x?"/":s?a[e("0x35e7")](o[e("0x5e9")]):a)+(i?"?"+i:"")+(r?"#"+r:"")},n.prototype._set=function(e,n,a,r){var i=t,o=this[i("0x433f")](),x=a&&"/"!==a[0]?"/":"",s=""===a||"/"===a?this[i("0x3188")][i("0x1f97")]():o+x+a;r?this[i("0xab5")][i("0x3227")](e,n,s):this._history.pushState(e,n,s)},n[t("0x20f")].dispose=function(n){var a=t;e[a("0x20f")][a("0x3a7c")][a("0x3c6b")](this,n),U.removeEventListener("popstate",this[a("0x39a")])},n}(er),xr=function(){function e(){var e=a2_0x37cf,t=this;this[e("0x3a7c")]=K,this[e("0x3d22")]="",this[e("0x2696")]=80,this[e("0x3bda")]="http",this[e("0x3d21")]=e("0x2a87"),this._hashPrefix="",this[e("0x23a4")]=function(){return t._port},this[e("0x427")]=function(){return t[e("0x3bda")]},this.host=function(){return t[e("0x3d21")]},this[e("0x1f97")]=function(){return t[e("0x3d22")]},this[e("0x2fec")]=function(){return!1},this[e("0x339f")]=function(n){var a=e;return C(n)?t[a("0x1e7a")]=n:t._hashPrefix}}return e}(),sr=function(){var e=a;function t(e,t){var n=a2_0x37cf;void 0===t&&(t=!1),this._isHtml5=t,this._baseHref=void 0,this[n("0x1e7a")]=""}return t.prototype[e("0x23a4")]=function(){var t=e;return location[t("0x23a4")]?Number(location[t("0x23a4")]):this.protocol()===t("0x6f5")?443:80},t.prototype[e("0x427")]=function(){return location[e("0x427")].replace(/:/g,"")},t[e("0x20f")][e("0x4961")]=function(){return location[e("0x4894")]},t[e("0x20f")][e("0x2fec")]=function(){return this[e("0x391c")]},t[e("0x20f")][e("0x339f")]=function(t){var n=e;return C(t)?this[n("0x1e7a")]=t:this[n("0x1e7a")]},t[e("0x20f")][e("0x1f97")]=function(t){var n=e;return C(t)&&(this[n("0x3d22")]=t),y(this[n("0x3d22")])&&(this._baseHref=this[n("0x2889")]()),this[n("0x3d22")]},t.prototype.getBaseHref=function(){var t=e,n=document[t("0x3684")]("base")[0];return n&&n[t("0x44a3")]?n.href[t("0x3cc0")](/^([^/:]*:)?\/\/[^/]*/,""):this._isHtml5?"/":location[t("0x4374")]||"/"},t[e("0x20f")][e("0x3a7c")]=function(){},t}();function cr(e){var t=a;return G[t("0x1f10")]=Va,G.$q=Ha,{name:t("0x4058"),$q:Ha,$injector:Va,dispose:function(){return null}}}var lr=Ka("vanilla.hashBangLocation",!1,nr,sr),dr=Ka("vanilla.pushStateLocation",!0,or,sr),ur=Ka(a("0x1e93"),!1,rr,xr),fr=function(){var e=a;function t(){}return t[e("0x20f")][e("0x3a7c")]=function(e){},t}(),mr=Object[a("0x1a0d")]({__proto__:null,root:U,fromJson:j,toJson:V,forEach:W,extend:q,equals:z,identity:Q,noop:K,createProxyFunctions:X,inherit:J,inArray:Z,_inArray:ee,removeFrom:te,_removeFrom:ne,pushTo:ae,_pushTo:re,deregAll:ie,defaults:oe,mergeR:xe,ancestors:se,pick:ce,omit:le,pluck:de,filter:ue,find:fe,mapObj:me,map:be,values:_e,allTrueR:pe,anyTrueR:he,unnestR:ge,flattenR:ve,pushR:Se,uniqR:Ee,unnest:Ae,flatten:Te,assertPredicate:ye,assertMap:Ce,assertFn:we,pairs:Me,arrayTuples:Re,applyPairs:De,tail:Ie,copy:Ne,_extend:ke,silenceUncaughtInPromise:Ye,silentRejection:Ge,makeStub:Y,services:G,Glob:He,curry:x,compose:s,pipe:c,prop:l,propEq:d,parse:u,not:f,and:m,or:b,all:_,any:p,is:h,eq:g,val:v,invoke:S,pattern:E,isUndefined:y,isDefined:C,isNull:w,isNullOrUndefined:M,isFunction:R,isNumber:D,isString:I,isObject:N,isArray:O,isDate:k,isRegExp:P,isInjectable:L,isPromise:F,Queue:Ue,maxLength:Ve,padString:We,kebobString:qe,functionToString:ze,fnToString:Qe,stringify:Ze,beforeAfterSubstr:et,hostRegex:tt,stripLastPathElement:nt,splitHash:at,splitQuery:rt,splitEqual:it,trimHashVal:ot,splitOnDelim:xt,joinNeighborsR:st,get Category(){return e[a("0x1f23")]},Trace:Et,trace:At,get DefType(){return e[a("0x2d0a")]},Param:Pt,ParamTypes:Lt,StateParams:Bt,ParamType:Tt,PathNode:Yt,PathUtils:Ht,resolvePolicies:Ut,defaultResolvePolicy:$t,Resolvable:jt,NATIVE_INJECTOR_TOKEN:zt,ResolveContext:Qt,resolvablesBuilder:xn,StateBuilder:un,StateObject:fn,StateMatcher:mn,StateQueueManager:bn,StateRegistry:_n,StateService:Ga,TargetState:Gt,get TransitionHookPhase(){return e.TransitionHookPhase},get TransitionHookScope(){return e[a("0x305a")]},HookBuilder:En,matchState:gn,RegisteredHook:vn,makeEvent:Sn,get RejectType(){return e[a("0x17e0")]},Rejection:je,Transition:yn,TransitionHook:hn,TransitionEventType:Oa,defaultTransOpts:Ba,TransitionService:Ya,UrlRules:Wn,UrlConfig:qn,UrlMatcher:Dn,ParamFactory:Nn,UrlMatcherFactory:On,UrlRouter:Bn,UrlRuleFactory:kn,BaseUrlRule:Pn,UrlService:zn,ViewService:Yn,UIRouterGlobals:Gn,UIRouter:ea,$q:Ha,$injector:Va,BaseLocationServices:er,HashLocationService:nr,MemoryLocationService:rr,PushStateLocationService:or,MemoryLocationConfig:xr,BrowserLocationConfig:sr,keyValsToObjectR:Wa,getParams:qa,parseUrl:za,buildUrl:Qa,locationPluginFactory:Ka,servicesPlugin:cr,hashLocationPlugin:lr,pushStateLocationPlugin:dr,memoryLocationPlugin:ur,UIRouterPluginBase:fr});function br(){var e=null;return function(t,n){var a=a2_0x37cf;return e=e||G[a("0x1f10")][a("0x1cf")](a("0x2978")),[new gr(t,n,e)]}}var _r=function(e,t){return e[a("0x2e06")]((function(e,n){return e||C(t[n])}),!1)};function pr(e){var t=a;if(!e[t("0x731")])return{};var n=["templateProvider",t("0x1d64"),t("0x371b"),t("0x1552"),t("0x1ba8")],r=[t("0x1194"),t("0x369f"),t("0x13b4"),"resolveAs"],i=[t("0x11e9"),"bindings",t("0xae7")],o=n[t("0x3abc")](r),x=i[t("0x3abc")](o);if(C(e.views)&&_r(x,e))throw new Error(t("0x4cb")+e[t("0x98c")]+t("0xaf4")+t("0x28e1")+"Move the following properties into a view (in the 'views' object):  "+x[t("0x6a6")]((function(t){return C(e[t])}))[t("0xc60")](", "));var s={},c=e[t("0xbe5")]||{$default:ce(e,x)};return W(c,(function(n,a){var r=t;if(a=a||r("0x22f8"),I(n)&&(n={component:n}),n=q({},n),_r(i,n)&&_r(o,n))throw new Error("Cannot combine: "+i[r("0xc60")]("|")+r("0x176e")+o.join("|")+r("0xede")+a+"@"+e[r("0x98c")]+"'");n[r("0x1ff4")]=n[r("0x1ff4")]||"$resolve",n[r("0x67c")]=r("0x95e"),n[r("0xafc")]=e,n[r("0x548")]=a;var x=Yn[r("0x123")](n[r("0xafc")],n[r("0x548")]);n[r("0xdb6")]=x.uiViewName,n.$uiViewContextAnchor=x.uiViewContextAnchor,s[a]=n})),s}var hr=0,gr=function(){var e=a;function t(e,t,n){var a=a2_0x37cf,r=this;this.path=e,this.viewDecl=t,this.factory=n,this.$id=hr++,this[a("0xf70")]=!1,this[a("0x1a48")]=function(e,t){var n=a;return r[n("0x11e9")]?r[n("0x3faf")][n("0xf91")](e,t,r[n("0x11e9")],r[n("0x21")][n("0xe5c")]):r[n("0x371b")]}}return t.prototype[e("0x2de8")]=function(){var t=e,n=this,a=G.$q,r=new Qt(this[t("0x1da4")]),i=this[t("0x1da4")][t("0x2e06")]((function(e,n){return q(e,n[t("0x428a")])}),{}),o={template:a[t("0x2c66")](this[t("0x3faf")][t("0x1903")](this[t("0x21")],i,r)),controller:a[t("0x2c66")](this.getController(r))};return a[t("0x3217")](o)[t("0x34e8")]((function(e){var a=t;return At[a("0x236c")](a("0x4128"),n),n[a("0x1194")]=e[a("0x1194")],q(n,e.template),n}))},t.prototype.getController=function(t){var n=e,a=this[n("0x21")][n("0x369f")];if(!L(a))return this.viewDecl[n("0x1194")];var r=G.$injector[n("0x1a0b")](a),i=O(a)?Ie(a):a;return new jt("",i,r)[n("0x1cf")](t)},t}(),vr=function(){var e=a;function t(){var e=a2_0x37cf,t=this;this[e("0x1857")]=i.version[e("0x8b1")]<3,this[e("0x1cc9")]=[e("0x3626"),e("0x19f0"),"$injector",function(n,a,r){var i=e;return t.$templateRequest=r[i("0x519")]&&r[i("0x519")](i("0x1d93"))&&r.get(i("0x1d93")),t[i("0x3626")]=n,t[i("0x19f0")]=a,t}]}return t[e("0x20f")].useHttpService=function(t){this[e("0x1857")]=t},t[e("0x20f")][e("0x1903")]=function(t,n,a){var r=e,i=r("0x2e48"),o=function(e){var t=r;return G.$q[t("0x2c66")](e)[t("0x34e8")]((function(e){return{template:e}}))},x=function(e){var t=r;return G.$q[t("0x2c66")](e)[t("0x34e8")]((function(e){return{component:e}}))};return C(t[r("0x371b")])?o(this.fromString(t.template,n)):C(t[r("0x1d64")])?o(this.fromUrl(t.templateUrl,n)):C(t.templateProvider)?o(this[r("0x4f35")](t.templateProvider,n,a)):C(t[r("0x11e9")])?x(t[r("0x11e9")]):C(t[r("0xae7")])?x(this.fromComponentProvider(t[r("0xae7")],n,a)):o(i)},t[e("0x20f")][e("0x4560")]=function(e,t){return R(e)?e(t):e},t[e("0x20f")].fromUrl=function(t,n){var a=e;return R(t)&&(t=t(n)),null==t?null:this._useHttp?this.$http[a("0x1cf")](t,{cache:this.$templateCache,headers:{Accept:a("0x4645")}})[a("0x34e8")]((function(e){return e[a("0x237c")]})):this[a("0x1d93")](t)},t.prototype.fromProvider=function(t,n,a){var r=e,i=G[r("0x1f10")][r("0x1a0b")](t),o=O(t)?Ie(t):t;return new jt("",o,i)[r("0x1cf")](a)},t[e("0x20f")][e("0x4428")]=function(t,n,a){var r=e,i=G[r("0x1f10")][r("0x1a0b")](t),o=O(t)?Ie(t):t;return new jt("",o,i)[r("0x1cf")](a)},t[e("0x20f")].makeComponentTemplate=function(t,n,a,r){var o=e;r=r||{};var x=i[o("0x10ea")].minor>=3?"::":"",s=function(e){var t=qe(e);return/^(x|data)-/.exec(t)?"x-"+t:t},c=function(e){var a=o,i=e.name,c=e[a("0x3298")],l=s(i);if(t[a("0x417f")](l)&&!r[i])return l+"='"+t[a("0x417f")](l)+"'";var d=r[i]||i;if("@"===c)return l+a("0x20cd")+x+a("0x3146")+d+a("0x1303");if("&"===c){var u=n[a("0x3431")](d),f=u&&u.data,m=f&&G[a("0x1f10")][a("0x1a0b")](f)||[],b=O(f)?"["+(f[a("0x5e9")]-1)+"]":"";return l+a("0x2fe3")+d+b+"("+m[a("0xc60")](",")+")'"}return l+"='"+x+a("0x3146")+d+"'"},l=Sr(a)[o("0x19e8")](c)[o("0xc60")](" "),d=s(a);return"<"+d+" "+l+"></"+d+">"},t}();function Sr(e){var t=a,n=G[t("0x1f10")][t("0x1cf")](e+t("0x2362"));if(!n||!n[t("0x5e9")])throw new Error(t("0x2e85")+e+"'");return n.map(Er)[t("0x2e06")](ge,[])}var Er=function(e){var t=a;return N(e[t("0x44d3")])?Ar(e[t("0x44d3")]):Ar(e[t("0xd20")])},Ar=function(e){var t=a;return Object.keys(e||{}).map((function(t){return[t,/^([=<@&])[?]?(.*)/[a2_0x37cf("0x3629")](e[t])]}))[t("0x6a6")]((function(e){return C(e)&&O(e[1])}))[t("0x19e8")]((function(e){return{name:e[1][2]||e[0],type:e[1][1]}}))},Tr=function(){var e=a;function t(e,n){var a=a2_0x37cf;this[a("0x2518")]=e,this[a("0xf6a")]=n,X(v(t[a("0x20f")]),this,v(this))}return t[e("0x20f")][e("0x3051")]=function(t,n){var a=e;return this[a("0x2518")][a("0x3051")](t,n)||this},t[e("0x20f")].state=function(t,n){var a=e;return N(t)?n=t:n[a("0x98c")]=t,this[a("0x2518")][a("0x4ce9")](n),this},t.prototype.onInvalid=function(t){var n=e;return this[n("0xf6a")][n("0x4957")](t)},t}(),yr=function(e){return function(t){var n=a2_0x37cf,a=t[e],r=e===n("0x4767")?"from":"to";function i(e,t){var i=n,o=new Qt(e[i("0x1bf5")](r))[i("0x39f8")](t[i("0x11e")]()),x=q(jr(o),{$state$:t,$transition$:e});return G[i("0x1f10")][i("0x1fd4")](a,this,x)}return a?i:void 0}},Cr=function(){var e=a;function t(e){var t=a2_0x37cf;this[t("0xc73")]=[],this[t("0x258b")]=e;var n=v(e);X(n,this,n,[t("0x339f")])}return t[e("0xe92")]=function(t){var n=e,a=t[n("0xa9")][n("0x3298")](n("0x1da4"));a[n("0x3f92")]=function(e){var t=n;return null!=e?e[t("0x3c88")]()[t("0x3cc0")](/(~|\/)/g,(function(e){return{"~":"~~","/":t("0x3151")}[e]})):e},a[n("0x19f2")]=function(e){return null!=e?e.toString().replace(/(~~|~2F)/g,(function(e){return{"~~":"~","~2F":"/"}[e]})):e}},t.prototype[e("0x3a7c")]=function(){},t.prototype[e("0x18db")]=function(e){var t=this;return this._urlListeners.push(e),function(){return te(t[a2_0x37cf("0xc73")])(e)}},t.prototype.html5Mode=function(){var t=e,n=this[t("0x258b")][t("0x2fec")]();return(n=N(n)?n[t("0x48b5")]:n)&&this.$sniffer[t("0x3221")]},t.prototype[e("0x1f97")]=function(){var t=e;return this[t("0x3d22")]||(this[t("0x3d22")]=this[t("0x26e")][t("0x1f97")]()||this.$window[t("0x2c6")][t("0x4374")])},t[e("0x20f")].url=function(t,n,a){var r=e;return void 0===n&&(n=!1),C(t)&&this[r("0x32e2")][r("0x4aef")](t),n&&this[r("0x32e2")][r("0x3cc0")](),a&&this[r("0x32e2")][r("0x81c")](a),this.$location[r("0x4aef")]()},t[e("0x20f")][e("0x38a4")]=function(t,n,a,r,i){var o=e,x=this;this[o("0x32e2")]=n,this[o("0x1eae")]=a,this[o("0x26e")]=r,this[o("0xe11")]=i,t.$on("$locationChangeSuccess",(function(e){var t=o;return x[t("0xc73")][t("0x5ba")]((function(t){return t(e)}))}));var s=v(n);X(s,this,s,[o("0x3cc0"),"path",o("0xc63"),"hash"]),X(s,this,s,[o("0x23a4"),o("0x427"),o("0x4961")])},t}(),wr=function(){var e=a;function t(e){this.router=e}return t[e("0x3277")]=function(e,t){return function(n){var a=a2_0x37cf;return G[a("0x1f10")].invoke(t,null,{$match:n,$stateParams:e[a("0x2dfa")][a("0x48ad")]})}},t.prototype.$get=function(){var t=e,n=this[t("0xf8e")][t("0x41e0")];return this[t("0xf8e")].urlRouter.update(!0),n[t("0xead")]||n[t("0x2e8b")](),this[t("0xf8e")][t("0x127a")]},t[e("0x20f")].rule=function(t){var n=e,a=this;if(!R(t))throw new Error(n("0xbfe"));var r=new Pn((function(){var e=n;return t(G[e("0x1f10")],a[e("0xf8e")][e("0x9cb")])}),Q);return this[n("0xf8e")].urlService.rules[n("0x318e")](r),this},t[e("0x20f")][e("0x13ac")]=function(t){var n=e,a=this,r=this.router[n("0x41e0")].rules;if(I(t))r[n("0x13ac")](t);else{if(!R(t))throw new Error(n("0x4a9c"));r[n("0x13ac")]((function(){var e=n;return t(G[e("0x1f10")],a[e("0xf8e")].locationService)}))}return this},t[e("0x20f")][e("0x2c66")]=function(n,a){var r=e;return(O(a)||R(a))&&(a=t[r("0x3277")](this[r("0xf8e")],a)),this[r("0xf8e")][r("0x41e0")][r("0x2bf4")][r("0x2c66")](n,a),this},t[e("0x20f")][e("0x378a")]=function(t){var n=e;this[n("0xf8e")][n("0x41e0")][n("0x378a")](t)},t}();i[a("0x39e9")]("ui.router.angular1",[]);var Mr=i[a("0x39e9")]("ui.router.init",["ng"]),Rr=i[a("0x39e9")](a("0x610"),[a("0x274b")]),Dr=i[a("0x39e9")]("ui.router.router",[a("0x610")]),Ir=i[a("0x39e9")](a("0x469d"),["ui.router.router",a("0x610"),"ui.router.angular1"]),Nr=i[a("0x39e9")]("ui.router",["ui.router.init",a("0x469d"),a("0x1120")]),Or=(i.module(a("0x4602"),["ui.router"]),null);function kr(e){var t=a;(Or=this[t("0xf8e")]=new ea)[t("0x34f7")]=new Tr(Or[t("0x2518")],Or[t("0xf6a")]),Or[t("0x2518")][t("0x3051")]("views",pr),Or[t("0x2518")][t("0x3051")](t("0x4767"),yr(t("0x4767"))),Or[t("0x2518")].decorator(t("0x1ebd"),yr(t("0x1ebd"))),Or[t("0x2518")][t("0x3051")]("onEnter",yr(t("0x4842"))),Or[t("0x1b6b")][t("0x40fc")][t("0x4c31")]("ng1",br()),Or[t("0x41e0")][t("0x1805")]._decodeParams=!1;var n=Or[t("0x9cb")]=Or[t("0x195")]=new Cr(e);function r(e,a,r,i,o,x,s){var c=t;return n._runtimeServices(o,e,i,a,r),delete Or[c("0xf8e")],delete Or[c("0x1cc9")],Or}return Cr[t("0xe92")](Or),Or[t("0xf8e")]=Or,Or[t("0x1cc9")]=r,r[t("0x4670")]=[t("0x32e2"),t("0x26e"),t("0xe11"),"$sniffer",t("0x47ed"),"$http","$templateCache"],Or}kr.$inject=["$locationProvider"];var Pr=function(e){var t=a;return[t("0x310f"),function(n){var a=n[t("0xf8e")][e];return a.$get=function(){return a},a}]};function Lr(e,t,n){var r=a;if(G[r("0x1f10")]=e,G.$q=t,!Object[r("0x20f")][r("0x1bd4")][r("0x3c6b")](e,r("0x122a")))try{e[r("0x1fd4")]((function(e){}))}catch(t){e.strictDi=!!/strict mode/[r("0x3629")](t&&t[r("0x3c88")]())}n[r("0x2518")].get()[r("0x19e8")]((function(e){return e[r("0x11e")]().resolvables})).reduce(ge,[]).filter((function(e){return"deferred"===e[r("0x1645")]}))[r("0x5ba")]((function(t){var n=r;return t[n("0x1645")]=e[n("0x1a0b")](t[n("0x2040")],e[n("0x122a")])}))}Lr[a("0x4670")]=[a("0x1f10"),"$q",a("0x3165")];var Fr=function(e){return e[a("0x13f3")]=new wr(e)},Br=function(){var e=a;return q(Or[e("0x34f7")],{$get:function(){return Or[e("0xf6a")]}})};function Yr(e){var t=a;e[t("0x7a")]((function(){At[t("0xa2b")]++}))}Yr[a("0x4670")]=["$rootScope"],Mr[a("0x4b0")](a("0x3165"),kr),Dr.provider("$urlRouter",[a("0x310f"),Fr]),Rr[a("0x4b0")](a("0x4f69"),Pr(a("0x41e0"))),Rr[a("0x4b0")](a("0xa50"),[a("0x310f"),function(){return Or[a("0xa9")]}]),Rr[a("0x4b0")]("$templateFactory",(function(){return new vr})),Ir.provider("$stateRegistry",Pr("stateRegistry")),Ir.provider(a("0x5"),Pr("globals")),Ir[a("0x4b0")](a("0x41dd"),Pr(a("0x183d"))),Ir.provider(a("0x361b"),[a("0x310f"),Br]),Ir[a("0x3faf")](a("0x30e3"),[a("0x3165"),function(e){var t=a;return e[t("0x2dfa")][t("0x48ad")]}]),Nr[a("0x3faf")](a("0x29f3"),(function(){return Or.viewService})),Nr[a("0xc3b")]("$trace",(function(){return At})),Nr[a("0x4c69")](Yr),Rr[a("0x4c69")](["$urlMatcherFactory",function(e){}]),Ir.run(["$state",function(e){}]),Dr[a("0x4c69")]([a("0x1610"),function(e){}]),Mr.run(Lr);var Gr,Hr,Ur,$r,jr=function(e){var t=a;return e.getTokens().filter(I)[t("0x19e8")]((function(n){var a=t,r=e[a("0x3431")](n);return[n,e[a("0x3706")](r)[a("0x1ba8")]===a("0x3c2f")?r[a("0x234e")]:r[a("0x237c")]]}))[t("0x2e06")](De,{})};function Vr(e){var t=a,n=e[t("0x2cd9")](/^\s*({[^}]*})\s*$/);n&&(e="("+n[1]+")");var r=e[t("0x3cc0")](/\n/g," ")[t("0x2cd9")](/^\s*([^(]*?)\s*(\((.*)\))?\s*$/);if(!r||4!==r[t("0x5e9")])throw new Error(t("0x1730")+e+"'");return{state:r[1]||null,paramExpr:r[3]||null}}function Wr(e){var t=a,n=e[t("0x731")]()[t("0x2b4")](t("0x2033")),r=u(t("0x4494"))(n);return r?Ie(r).state[t("0x98c")]:void 0}function qr(e,t,n){var r=a,i=n.uiState||e[r("0x4ab2")][r("0x98c")],o=q(Kr(t,e),n[r("0x1473")]||{}),x=e[r("0x44a3")](i,n[r("0x1e89")],o);return{uiState:i,uiStateParams:n[r("0x1e89")],uiStateOpts:o,href:x}}function zr(e){var t=a,n=Object[t("0x20f")][t("0x3c88")][t("0x3c6b")](e[t("0x40ea")]("href"))===t("0xb43"),r="FORM"===e[0][t("0x4907")];return{attr:r?t("0x39a8"):n?t("0x1be1"):"href",isAnchor:"A"===e[t("0x40ea")](t("0x4d74")).toUpperCase(),clickable:!r}}function Qr(e,t,n,a,r){return function(i){var o=a2_0x37cf,x=i[o("0x2d41")]||i.button,s=r();if(!(x>1||i.ctrlKey||i[o("0x366c")]||i[o("0x3d90")]||i[o("0x42a6")]||e.attr(o("0x55d")))){var c=n((function(){var n=o;!e.attr(n("0x1c54"))&&t.go(s[n("0x1a02")],s.uiStateParams,s.uiStateOpts)}));i[o("0xe50")]();var l=a[o("0x61c")]&&!s[o("0x44a3")]?1:0;i[o("0xe50")]=function(){l--<=0&&n[o("0x4920")](c)}}}}function Kr(e,t){var n=a;return{relative:Wr(e)||t.$current,inherit:!0,source:n("0xcc6")}}function Xr(e,t,n,r){var i,o=a;r&&(i=r[o("0x98a")]),!O(i)&&(i=[o("0x7cb")]);for(var x=e.on?"on":o("0x2b0c"),s=0,c=i;s<c.length;s++){var l=c[s];e[x](l,n)}t[o("0x24c9")]("$destroy",(function(){for(var t=o,a=e[t("0x30f8")]?t("0x30f8"):"unbind",r=0,x=i;r<x[t("0x5e9")];r++){var s=x[r];e[a](s,n)}}))}function Jr(e){var t=function(t,n,a){return e.is(t,n,a)};return t[a("0x2378")]=!0,t}function Zr(e){var t=function(t,n,a){return e[a2_0x37cf("0x170b")](t,n,a)};return t[a("0x2378")]=!0,t}function ei(e,t,n,r,o){var x=a,s=u(x("0x3ad3")),c=u(x("0xcdb"));return{restrict:"ECA",priority:-400,compile:function(a){var r=x,l=a[r("0x1059")]();return a.empty(),function(a,x){var d=r,u=x[d("0x237c")]("$uiView");if(!u)return x[d("0x1059")](l),void e(x[d("0x1163")]())(a);var f=u[d("0xaa8")]||{viewDecl:{},getTemplate:K},m=f[d("0x1da4")]&&new Qt(f.path);x[d("0x1059")](f[d("0x1a48")](x,m)||l),At[d("0x28df")](u[d("0x2033")],x[d("0x1059")]());var b=e(x.contents()),_=f[d("0x1194")],p=s(f),h=c(f),g=m&&jr(m);if(a[h]=g,_){var v=t(_,q({},g,{$scope:a,$element:x}));p&&(a[p]=v,a[p][h]=g),x[d("0x237c")](d("0x1315"),v),x[d("0x71b")]()[d("0x237c")](d("0x1315"),v),ai(o,n,v,a,f)}if(I(f.component))var S=qe(f[d("0x11e9")]),E=new RegExp(d("0x3c0d")+S+"$","i"),A=function(){var e=d,t=[][e("0x9b3")].call(x[0][e("0x71b")])[e("0x6a6")]((function(t){return t&&t[e("0x4d74")]&&E.exec(t.tagName)}));return t&&i.element(t)[e("0x237c")]("$"+f[e("0x11e9")]+"Controller")},T=a[d("0x7a")](A,(function(e){e&&(ai(o,n,e,a,f),T())}));b(a)}}}}Gr=[a("0x3165"),a("0x38d4"),function(e,t){var n=a,r=e[n("0xf6a")];return{restrict:"A",require:[n("0x416"),n("0x4566")],link:function(a,i,o,x){var s=n,c=zr(i),l=x[1]||x[0],d=null,u={},f=function(){return qr(r,i,u)},m=Vr(o[s("0x4bbd")]);function b(){var e=s,t=f();d&&d(),l&&(d=l[e("0x1148")](t.uiState,t[e("0x1e89")])),null!=t[e("0x44a3")]&&o[e("0x35be")](c[e("0x417f")],t[e("0x44a3")])}if(u[s("0x1a02")]=m[s("0x81c")],u[s("0x1473")]=o[s("0x4b99")]?a.$eval(o[s("0x4b99")]):{},m[s("0x341e")]&&(a[s("0x7a")](m[s("0x341e")],(function(e){u[s("0x1e89")]=q({},e),b()}),!0),u[s("0x1e89")]=q({},a[s("0xe2b")](m[s("0x341e")]))),b(),a[s("0x24c9")](s("0x4c91"),e[s("0x2518")].onStatesChanged(b)),a.$on(s("0x4c91"),e[s("0x183d")][s("0x2248")]({},b)),c[s("0x3ae")]){var _=Qr(i,r,t,c,f);Xr(i,a,_,u[s("0x1473")])}}}}],Hr=[a("0x3165"),a("0x38d4"),function(e,t){var n=a,r=e[n("0xf6a")];return{restrict:"A",require:[n("0x416"),n("0x4566")],link:function(a,i,o,x){var s,c=n,l=zr(i),d=x[1]||x[0],u=null,f={},m=function(){return qr(r,i,f)},b=[c("0x1a02"),c("0x1e89"),c("0x1473")],_=b[c("0x2e06")]((function(e,t){return e[t]=K,e}),{});function p(){var e=c,t=m();u&&u(),d&&(u=d.$$addStateInfo(t[e("0x1a02")],t[e("0x1e89")])),null!=t[e("0x44a3")]&&o[e("0x35be")](l[e("0x417f")],t.href)}b[c("0x5ba")]((function(e){var t=c;f[e]=o[e]?a[t("0xe2b")](o[e]):null,o[t("0xf52")](e,(function(n){var r=t;_[e](),_[e]=a[r("0x7a")](n,(function(t){f[e]=t,p()}),!0)}))})),p(),a[c("0x24c9")]("$destroy",e[c("0x2518")][c("0x1e14")](p)),a.$on(c("0x4c91"),e[c("0x183d")][c("0x2248")]({},p)),l[c("0x3ae")]&&(s=Qr(i,r,t,l,m),Xr(i,a,s,f.uiStateOpts))}}}],Ur=[a("0x361b"),a("0x30e3"),a("0x3a1e"),a("0x3165"),function(e,t,n,r){var i=a;return{restrict:"A",controller:["$scope",i("0x4998"),i("0x428f"),function(t,a,o){var x,s,c=i,l=[];x=n(o[c("0x4404")]||"",!1)(t);try{s=t[c("0xe2b")](o[c("0x3fdf")])}catch(e){}function d(e){var t=c;e[t("0x234e")][t("0x34e8")](_,K)}function u(){var e=c,n=r[e("0x2518")][e("0x1e14")](f),a=r[e("0x183d")][e("0x2ef9")]({},d),i=t[e("0x24c9")]("$stateChangeSuccess",_);return function(){n(),a(),i()}}function f(){m(s)}function m(e){N(e)&&(l=[],W(e,(function(e,n){var a=function(e,n){var a=a2_0x37cf,r=Vr(e);b(r[a("0x81c")],t[a("0xe2b")](r.paramExpr),n)};I(e)?a(e,n):O(e)&&W(e,(function(e){a(e,n)}))})))}function b(t,n,r){var i={state:e[c("0x1cf")](t,Wr(a))||{name:t},params:n,activeClass:r};return l.push(i),function(){te(l)(i)}}function _(){var n=c,r=function(e){var t=a2_0x37cf;return e[t("0x9e5")](/\s/)[t("0x6a6")](Q)},i=function(e){var t=a2_0x37cf;return e[t("0x19e8")]((function(e){return e[t("0x4345")]}))[t("0x19e8")](r)[t("0x2e06")](ge,[])},o=i(l).concat(r(x))[n("0x2e06")](Ee,[]),s=i(l[n("0x6a6")]((function(t){var a=n;return e[a("0x170b")](t[a("0x81c")][a("0x98c")],t[a("0x48ad")])}))),d=l[n("0x6a6")]((function(t){var a=n;return e.is(t[a("0x81c")][a("0x98c")],t[a("0x48ad")])}))[n("0x5e9")]?r(x):[],u=s[n("0x3abc")](d).reduce(Ee,[]),f=o[n("0x6a6")]((function(e){return!Z(u,e)}));t[n("0x33ff")]((function(){var e=n;u[e("0x5ba")]((function(e){return a.addClass(e)})),f[e("0x5ba")]((function(t){return a[e("0xa81")](t)}))}))}m(s=s||n(o.uiSrefActive||"",!1)(t)),this[c("0x1148")]=function(e,t){if(!(N(s)&&l.length>0)){var n=b(e,t,s);return _(),n}},t.$on(c("0x4c91"),u()),r[c("0x2dfa")][c("0x2f61")]&&d(r[c("0x2dfa")][c("0x2f61")]),_()}]}}],i[a("0x39e9")]("ui.router.state").directive(a("0x4bbd"),Gr)[a("0x1b75")](a("0x3fdf"),Ur)[a("0x1b75")](a("0x4404"),Ur).directive(a("0x1a02"),Hr),Jr.$inject=["$state"],Zr[a("0x4670")]=[a("0x361b")],i[a("0x39e9")](a("0x469d")).filter("isState",Jr).filter(a("0x4d5"),Zr),$r=[a("0x29f3"),"$animate",a("0x44b9"),a("0x3a1e"),"$q",function(e,t,n,r,o){var x=a;function s(){return{enter:function(e,n,a){var r=a2_0x37cf;i[r("0x10ea")][r("0x8b1")]>2?t.enter(e,null,n)[r("0x34e8")](a):t[r("0x3b11")](e,null,n,a)},leave:function(e,n){var a=a2_0x37cf;i[a("0x10ea")][a("0x8b1")]>2?t[a("0xf77")](e).then(n):t[a("0xf77")](e,n)}}}function c(e,t){return e===t}var l={$cfg:{viewDecl:{$context:e[x("0x40fc")]._rootViewContext()}},$uiView:{}},d={count:0,restrict:x("0x16c6"),terminal:!0,priority:400,transclude:"element",compile:function(t,a,i){return function(t,a,x){var f,m,b,_,p=a2_0x37cf,h=x[p("0x3e94")]||"",g=x[p("0x4da9")],v=s(),S=a[p("0x2b4")](p("0x2033"))||l,E=r(x[p("0x3d34")]||x[p("0x98c")]||"")(t)||p("0x22f8"),A={$type:"ng1",id:d[p("0x10d1")]++,name:E,fqn:S[p("0x2033")][p("0x2a1a")]?S[p("0x2033")].fqn+"."+E:E,config:null,configUpdated:T,get creationContext(){var e=p,t=u(e("0x2f83"))(S),n=u(e("0x1cc6"))(S);return t||n}};function T(e){var t=p;(!e||e instanceof gr)&&(c(_,e)||(At.traceUIViewConfigUpdated(A,e&&e.viewDecl&&e[t("0x21")][t("0xafc")]),_=e,M(e)))}At[p("0x4584")](p("0x4c82"),A),a[p("0x237c")](p("0x2033"),{$uiView:A}),M();var y=e[p("0x2166")](A);function w(){var e=p;if(f&&(At.traceUIViewEvent(e("0x1cef"),f[e("0x237c")](e("0x2033"))),f[e("0xf82")](),f=null),b&&(At[e("0x4584")](e("0xd4d"),A),b[e("0x4c91")](),b=null),m){var t=m.data("$uiViewAnim");At[e("0x4584")](e("0x295b"),t),v.leave(m,(function(){var n=e;t.$$animLeave[n("0x407b")](),f=null})),f=m,m=null}}function M(e){var r=p,x=t[r("0x28da")](),s=o.defer(),c=o[r("0x3a26")](),l={$cfg:e,$uiView:A},d={$animEnter:s[r("0x234e")],$animLeave:c.promise,$$animLeave:c};x[r("0x7e0")](r("0x1b40"),E);var u=i(x,(function(e){var i=r;e.data(i("0x1445"),d),e[i("0x237c")](i("0x2033"),l),v[i("0x3b11")](e,a,(function(){var a=i;s[a("0x407b")](),b&&b[a("0x7e0")]("$viewContentAnimationEnded"),(C(g)&&!g||t[a("0xe2b")](g))&&n(e)})),w()}));m=u,(b=x).$emit("$viewContentLoaded",e||_),b[r("0xe2b")](h)}t.$on(p("0x4c91"),(function(){var e=p;At[e("0x4584")](e("0x320a"),A),y()}))}}};return d}],ei[a("0x4670")]=[a("0x4728"),a("0xd68"),a("0x41dd"),a("0x29f3"),"$q"];var ti=typeof i.module("ui.router")[a("0x11e9")]===a("0x3349"),ni=0;function ai(e,t,n,r,i){var o=a;R(n[o("0x4393")])&&(!i[o("0x21")][o("0x11e9")]&&!i[o("0x21")].componentProvider||!ti)&&n[o("0x4393")]();var x=Ie(i[o("0x1da4")])[o("0x81c")][o("0xaf2")],s={bind:n};if(R(n[o("0x4e9d")])){var c=new Qt(i[o("0x1da4")]).getResolvable(o("0x14ea"))[o("0x237c")],l=function(e){var t=o;if(e!==c&&-1===e[t("0xdb9")]().indexOf(x)){var a=e[t("0x48ad")]("to"),r=e[t("0x48ad")]("from"),i=function(e){return e.paramSchema},s=e.treeChanges("to")[t("0x19e8")](i)[t("0x2e06")](ge,[]),l=e.treeChanges(t("0x3121"))[t("0x19e8")](i)[t("0x2e06")](ge,[]),d=s.filter((function(e){var n=t,i=l[n("0x3507")](e);return-1===i||!l[i][n("0x3298")][n("0x34f9")](a[e.id],r[e.id])}));if(d[t("0x5e9")]){var u=d[t("0x19e8")]((function(e){return e.id})),f=ue(a,(function(e,n){return-1!==u[t("0x3507")](n)}));n[t("0x4e9d")](f,e)}}};r.$on("$destroy",t.onSuccess({},l,s))}if(R(n[o("0x1384")])){var d=ni++,u="_uiCanExitIds",f=function(e){return!!e&&(e[u]&&!0===e[u][d]||f(e.redirectedFrom()))},m=function(t){var a,r=o,i=t[u]=t[u]||{};return!f(t)&&(a=e.when(n.uiCanExit(t)))[r("0x34e8")]((function(e){return i[d]=!1!==e})),a},b={exiting:x.name};r.$on(o("0x4c91"),t[o("0x27d3")](b,m,s))}}function ri(){var e=a,t=!1;this[e("0x4ef2")]=function(){t=!0},this[e("0x1cc9")]=[e("0x1d02"),e("0x38d4"),function(e,n){return t?e:function(e){return n((function(){var t=a2_0x37cf;e[0][t("0x1fe3")]()}),0,!1)}}]}i[a("0x39e9")]("ui.router.state").directive(a("0x3d34"),$r),i[a("0x39e9")](a("0x469d")).directive(a("0x3d34"),ei),i[a("0x39e9")]("ui.router.state")[a("0x4b0")](a("0x44b9"),ri);var ii=a("0x35a6");e[a("0x1f10")]=Va,e.$q=Ha,e[a("0x3ea0")]=er,e.BaseUrlRule=Pn,e[a("0x2866")]=sr,e[a("0x39be")]=He,e[a("0x1f93")]=nr,e[a("0x4da7")]=En,e.MemoryLocationConfig=xr,e[a("0x14fe")]=rr,e.NATIVE_INJECTOR_TOKEN=zt,e[a("0x2eb4")]=gr,e[a("0x2081")]=Pt,e[a("0x3363")]=Nn,e.ParamType=Tt,e.ParamTypes=Lt,e.PathNode=Yt,e[a("0x2267")]=Ht,e[a("0xe40")]=or,e[a("0x4941")]=Ue,e[a("0x13d8")]=vn,e[a("0x1f06")]=je,e[a("0x4cbf")]=jt,e[a("0x2aa5")]=Qt,e.StateBuilder=un,e[a("0x2ed1")]=mn,e[a("0x3fd1")]=fn,e.StateParams=Bt,e.StateProvider=Tr,e[a("0x4996")]=bn,e[a("0x3e26")]=_n,e[a("0x2c80")]=Ga,e[a("0x46f1")]=Gt,e[a("0x127e")]=Et,e[a("0x24db")]=yn,e[a("0x1d59")]=Oa,e.TransitionHook=hn,e[a("0x3b10")]=Ya,e[a("0x17a4")]=ea,e[a("0x49a4")]=Gn,e.UIRouterPluginBase=fr,e.UrlConfig=qn,e[a("0xa8c")]=Dn,e[a("0x2b4a")]=On,e.UrlRouter=Bn,e[a("0x1082")]=wr,e[a("0x1239")]=kn,e.UrlRules=Wn,e[a("0x17d1")]=zn,e[a("0x1048")]=Yn,e[a("0x2045")]=ke,e._inArray=ee,e[a("0x452b")]=re,e[a("0x215e")]=ne,e[a("0x3217")]=_,e.allTrueR=pe,e.ancestors=se,e[a("0x3a6d")]=m,e.any=p,e[a("0xcdf")]=he,e[a("0xc59")]=De,e[a("0x2a9")]=Re,e[a("0x2813")]=we,e[a("0x8ac")]=Ce,e[a("0x37a")]=ye,e[a("0xadf")]=et,e[a("0x17c9")]=Qa,e[a("0x4afe")]=s,e[a("0x4d98")]=Ne,e.core=mr,e[a("0x188d")]=X,e.curry=x,e.default=ii,e[a("0x119f")]=$t,e[a("0x1c46")]=Ba,e.defaults=oe,e.deregAll=ie,e.eq=g,e[a("0x34f9")]=z,e[a("0x3448")]=q,e[a("0x6a6")]=ue,e[a("0x372f")]=fe,e[a("0x9d5")]=Te,e[a("0x3995")]=ve,e[a("0x2ba6")]=Qe,e[a("0x5ba")]=W,e[a("0x4f68")]=j,e[a("0x4a89")]=ze,e[a("0x21cd")]=jr,e[a("0x1df5")]=br,e.getParams=qa,e.hashLocationPlugin=lr,e.hostRegex=tt,e[a("0x356b")]=Q,e[a("0x46d5")]=Z,e[a("0xbe2")]=J,e[a("0x1fd4")]=S,e.is=h,e[a("0x498f")]=O,e[a("0x24a9")]=k,e[a("0x64a")]=C,e[a("0x4977")]=R,e[a("0x42a9")]=L,e[a("0xd87")]=w,e.isNullOrUndefined=M,e.isNumber=D,e.isObject=N,e[a("0x2765")]=F,e[a("0x3353")]=P,e[a("0x1236")]=I,e[a("0x29ab")]=y,e[a("0xa8d")]=st,e[a("0x2bb2")]=qe,e[a("0x116c")]=Wa,e[a("0xcba")]=Ka,e[a("0x3cd3")]=Sn,e[a("0x4402")]=Y,e.map=be,e.mapObj=me,e.matchState=gn,e.maxLength=Ve,e[a("0x4cac")]=ur,e[a("0x2da1")]=xe,e[a("0x2bfa")]=pr,e[a("0x49d1")]=K,e[a("0x17db")]=f,e[a("0x3613")]=le,e.or=b,e[a("0x3345")]=We,e[a("0x3c0f")]=Me,e[a("0x1fb8")]=u,e[a("0x3de7")]=za,e[a("0x5011")]=E,e.pick=ce,e.pipe=c,e.pluck=de,e[a("0x40ea")]=l,e[a("0x1cb7")]=d,e[a("0x6ba")]=Se,e.pushStateLocationPlugin=dr,e[a("0x1c87")]=ae,e[a("0x2ed5")]=te,e.resolvablesBuilder=xn,e[a("0x4083")]=Ut,e.root=U,e.services=G,e[a("0x201f")]=cr,e[a("0x1c02")]=Ye,e[a("0xbbc")]=Ge,e[a("0x31c6")]=it,e.splitHash=at,e[a("0x84")]=xt,e[a("0x3f03")]=rt,e[a("0xcda")]=Ze,e[a("0x4987")]=nt,e[a("0x49f6")]=Ie,e[a("0x4eac")]=V,e[a("0x3a4c")]=At,e[a("0x3f09")]=ot,e[a("0x4389")]=Ee,e[a("0x439e")]=Ae,e[a("0x4705")]=ge,e[a("0x435d")]=v,e[a("0x3d61")]=_e,e[a("0x4caa")]=Yr,Object[a("0x47ad")](e,a("0x398d"),{value:!0})}(t,n(5734))},223:function(e,t,n){var a,r,i,o,x,s,c,l,d,u;a=t,r=n(5734),i=a2_0x37cf,d=angular,u=r&&r.module?r:d,function(){var e=a2_0x37cf,t=u[e("0x4977")],n=u[e("0x1236")];function a(t,a){var r,i;if(Array[e("0x498f")](a)&&(r=a[0],i=a[1]),!n(r))throw new Error("invalid parameters to applyPairs");return t[r]=i,t}function r(t){var n=e;if(t[n("0x16d1")]().notify&&t[n("0x1d57")]()&&!t.ignored()){var a=t[n("0xf8f")](),r=a.get(n("0x3522")),i=a[n("0x1cf")](n("0x47ed")),o=a[n("0x1cf")](n("0x361b")),x=a.get(n("0x1610")),s=r.provider[n("0x48b5")](),c=t[n("0x48ad")]("to"),l=t[n("0x48ad")](n("0x3121"));if(s.$stateChangeSuccess){if(i[n("0x2050")](n("0x19c7"),t.to(),c,t[n("0x3121")](),l,t[n("0x16d1")](),t).defaultPrevented)return s[n("0x27cd")]&&i[n("0x2050")](n("0x27cd"),t.to(),c,t[n("0x3121")](),l,t[n("0x16d1")](),t),null==o.transition&&x.update(),!1;var d={priority:9999};t[n("0x2248")]({},(function(){var e=n;i[e("0x2050")](e("0x3aa0"),t.to(),c,t.from(),l,t[e("0x16d1")](),t)}),d)}s[n("0x2dff")]&&t.promise.catch((function(e){var a=n;(!e||2!==e[a("0x3298")]&&3!==e[a("0x3298")])&&!i[a("0x2050")](a("0x2dff"),t.to(),c,t.from(),l,e,t[a("0x16d1")](),t).defaultPrevented&&x[a("0x3fdc")]()}))}}function i(n,a,r){var i=e,o=r[i("0x1cf")](i("0x361b")),x=r[i("0x1cf")]("$rootScope"),s=r[i("0x1cf")](i("0x1610")),c={to:n[i("0x3a31")](),toParams:n[i("0x48ad")](),options:n[i("0x16d1")]()},l=x[i("0x2050")](i("0x4d2b"),c,a[i("0x81c")](),a[i("0x48ad")]());function d(){var e=i;return o[e("0x55d")](c.to,c[e("0x1945")],c[e("0x16d1")])}return(l.defaultPrevented||l[i("0x2f25")])&&s.update(),!l[i("0xc5d")]&&(l[i("0x2f25")]||o[i("0x1cf")](c.to)?l[i("0x2f25")]&&t(l[i("0x2f25")][i("0x34e8")])?l[i("0x2f25")][i("0x34e8")](d):d():void 0)}function o(t){var n=e;o.prototype[n("0x2cde")]=this;var x=!1,s=[n("0x19c7"),n("0x4d2b"),n("0x3aa0"),"$stateChangeError"],c=s.map((function(e){return[e,!0]}))[n("0x2e06")](a,{});function l(){if(x)throw new Error(n("0xb13"))}function d(e){var a=n;return x=!0,c.$stateNotFound&&t.onInvalid(i),c.$stateChangeStart&&e[a("0x27d3")]({},r,{priority:1e3}),{provider:o[a("0x20f")][a("0x2cde")]}}this[n("0x1a33")]=function(){for(var e=n,t=[],a=0;a<arguments[e("0x5e9")];a++)t[a]=arguments[a];l(),t&&t[e("0x5e9")]||(t=s),t.forEach((function(e){return c[e]=!0}))},this[n("0x1f4d")]=function(){for(var e=n,t=[],a=0;a<arguments[e("0x5e9")];a++)t[a]=arguments[a];l(),t&&t[e("0x5e9")]||(t=s),t[e("0x5ba")]((function(e){return delete c[e]}))},this[n("0x48b5")]=function(){return c},this[n("0x1cc9")]=d,d[n("0x4670")]=[n("0x41dd")]}i[e("0x4670")]=[e("0xe8c"),"$from$","$state","$rootScope",e("0x1610")],o[e("0x4670")]=[e("0x3fdd")],u[e("0x39e9")](e("0x2102"),[e("0x469d")])[e("0x4b0")](e("0x3522"),o)[e("0x4c69")](["$stateEvents",function(e){}])}(),a.$stateChangeCancel=x,a.$stateChangeError=c,a[i("0x19c7")]=o,a[i("0x3aa0")]=s,a.$stateNotFound=l,Object[i("0x47ad")](a,i("0x398d"),{value:!0})},1395:(e,t,n)=>{var a,r,i,o,x;window,o=function(e){var t=a2_0x37cf;e[t("0x39e9")](t("0x475a"),[])[t("0x1b75")]("angucompleteAlt",["$q",t("0x68c"),t("0x3626"),t("0x4f60"),"$timeout",t("0x19f0"),t("0x3a1e"),function(e,n,a,r,i,o,x){var s=t,c=s("0x1afe"),l=s("0x41ca"),d=s("0x302b");function u(t,n,o,x){var d,u,f,m,b,_,p=s,h=n[p("0x372f")](p("0x3f87")),g=3,v=null,S="autocomplete-required",E=null,A=null,T=!1,y=n[0][p("0x31f7")](p("0x1e70")),C=!1,w=null;function M(e,n){var a=p;e&&(typeof e===a("0x1b1d")?(t[a("0x187c")]=N(e),I({originalObject:e})):typeof e===a("0x38b7")&&e.length>0?t.searchStr=e:console&&console[a("0x4ad3")]&&console.error(a("0xb70")+(n?"initial":"")+a("0x2156"),e,a("0x4990")),P(!0))}function R(e){var n=p;w=null,t[n("0x2387")](e),document[n("0x3b3e")].removeEventListener(n("0x7cb"),R)}function D(e){var t=p;return e.which?e[t("0x2d41")]:e[t("0x4ff2")]}function I(e){"function"==typeof t[p("0x17fc")]?t.selectedObject(e,t.selectedObjectData):t.selectedObject=e,P(!!e)}function N(e){var n=p;return t[n("0x2e16")].split(",")[n("0x19e8")]((function(t){return O(e,t)}))[n("0xc60")](" ")}function O(e,t){var n,a,r=p;if(t){n=t[r("0x9e5")]("."),a=e;for(var i=0;i<n[r("0x5e9")];i++)a=a[n[i]]}else a=e;return a}function k(e,n){var a,i,o,x=p;if(o=new RegExp(n[x("0x3cc0")](/[.*+?^${}()|[\]\\]/g,x("0x1dea")),"i"),e)return(!e[x("0x2cd9")]||!e.replace)&&(e=e[x("0x3c88")]()),a=(i=e[x("0x2cd9")](o))?e.replace(o,'<span class="'+t[x("0x4118")]+'">'+i[0]+x("0x1b30")):e,r[x("0x1243")](a)}function P(e){var n=p;t[n("0x2f21")]=e,E=t[n("0x187c")],t[n("0x1da3")]&&x&&t[n("0x37fd")]&&x[t[n("0x37fd")]][n("0x234f")](S,e)}function L(e){var n,a,r=p;t[r("0x118")]&&(!t[r("0x17fc")]||t[r("0x17fc")][r("0x48aa")]!==t.searchStr)&&(e&&e[r("0xe50")](),i[r("0x4920")](v),U(),n=t.searchStr,a=p,I({originalObject:n}),t[a("0x4421")]&&(t.searchStr=null),V())}function F(){var e=p;return n[0][e("0x1e72")](e("0x669"))[t[e("0x3832")]]}function B(e){var t=p;y[t("0x1423")]=y[t("0x1423")]+e}function Y(){var e=p,n=t.results[t[e("0x3832")]];t[e("0x4118")]?h.val(N(n[e("0x48aa")])):h[e("0x435d")](n[e("0x2fdc")])}function G(e){return function(n,a,r,i){var o=a2_0x37cf;!a&&!r&&!i&&n[o("0x237c")]&&(n=n.data),t[o("0x2f50")]=!1,z(O(u(n),t.remoteUrlDataField),e)}}function H(e,n,a,r){var i=p;t[i("0x2f50")]=T,!n&&!a&&!r&&(n=e.status),0!==n&&-1!==n&&(t[i("0x81b")]?t[i("0x81b")](e,n,a,r):console&&console[i("0x4ad3")]&&console[i("0x4ad3")](i("0x2ac5")))}function U(){A&&A[p("0x407b")]()}function $(n){var r=p,i={},o=t[r("0x17f6")]+encodeURIComponent(n);t[r("0x2ece")]&&(i={params:t[r("0x2ece")](n)},o=t[r("0x17f6")]),!!t[r("0x4838")]&&(i.withCredentials=!0),U(),A=e[r("0x3a26")](),i[r("0x1612")]=A[r("0x234e")],T=!0,a[r("0x1cf")](o,i)[r("0x34e8")](G(n))[r("0x373a")](H)[r("0x2cfe")]((function(){T=!1}))}function j(n){var a=p;U(),A=e[a("0x3a26")](),t[a("0x2082")](n,A[a("0x234e")])[a("0x34e8")](G(n))[a("0x373a")](H)}function V(){var e=p;t[e("0xe53")]=!1,t.results=[],y&&(y[e("0x1423")]=0)}function W(){var e=p;t[e("0xe53")]=m,t[e("0x3832")]=t[e("0x382c")]?0:-1,t[e("0x39bf")]=[]}function q(e){var n=p;!e||e.length<g||(t.localData?t.$apply((function(){var n,a=a2_0x37cf;n=void 0!==t[a("0x2f8")]()?t[a("0x2f8")]()(e,t.localData):function(e){var n,a,r,i,o=p,x=t[o("0x46d2")][o("0x9e5")](","),s=[];for(void 0!==t[o("0x4e9f")]()&&(e=t.parseInput()(e)),n=0;n<t[o("0x2575")][o("0x5e9")];n++){for(a=!1,r=0;r<x.length;r++)i=O(t.localData[n],x[r])||"",a=a||i.toString()[o("0x2eb9")]()[o("0x3507")](e.toString()[o("0x2eb9")]())>=0;a&&(s[s.length]=t[o("0x2575")][n])}return s}(e),t[a("0x2f50")]=!1,z(n,e)})):t[n("0x2082")]?j(e):$(e))}function z(e,n){var a,r,i,o,x,s,c=p;if(e&&e.length>0)for(t[c("0x39bf")]=[],a=0;a<e[c("0x5e9")];a++)t[c("0x2e16")]&&""!==t[c("0x2e16")]&&(o=x=N(e[a])),r="",t[c("0x4739")]&&(r=s=O(e[a],t[c("0x4739")])),i="",t[c("0x227c")]&&(i=O(e[a],t[c("0x227c")])),t[c("0x4118")]&&(x=k(o,n),s=k(r,n)),t[c("0x39bf")][t[c("0x39bf")][c("0x5e9")]]={title:x,description:s,image:i,originalObject:e[a]};else t[c("0x39bf")]=[];t[c("0x28fc")]&&1===t[c("0x39bf")][c("0x5e9")]&&function(e,n,a){var r=p;if(!a)return!1;for(var i in n)if(n[i][r("0x2eb9")]()===a[r("0x2eb9")]())return t[r("0x3839")](e),!0;return!1}(t[c("0x39bf")][0],{title:o,desc:r||""},t[c("0x187c")])?t[c("0xe53")]=!1:0!==t[c("0x39bf")].length||b?t[c("0xe53")]=!0:t[c("0xe53")]=!1}function Q(){var e=p;t[e("0x2575")]?(t[e("0x2f50")]=!1,z(t.localData,"")):t.remoteApiHandler?(t[e("0x2f50")]=!0,j("")):(t.searching=!0,$(""))}n.on(p("0x4a2b"),(function(e){var n=p;e.target.id?(w=e.target.id)===t.id+n("0xbe8")&&document[n("0x3b3e")].addEventListener("click",R):w=e[n("0x55d")][n("0x14a8")]})),t[p("0x3832")]=t[p("0x382c")]?0:null,t[p("0x2f50")]=!1,f=t[p("0x7a")]("initialValue",(function(e){e&&(f(),M(e,!0))})),t[p("0x7a")](p("0x1da3"),(function(e,n){var a=p;e!==n&&(e?E&&-1!==t[a("0x3832")]?P(!0):P(!1):x[t[a("0x37fd")]][a("0x234f")](S,!0))})),t.$on(p("0x4221"),(function(e,n){var a=p;(!n||n===t.id)&&(t[a("0x187c")]=null,I(),P(!1),V())})),t[p("0x24c9")](p("0x35a5"),(function(e,n,a){n&&n===t.id&&M(a)})),t[p("0x4cc2")]=function(){var e=p;t[e("0x3efa")]&&t[e("0x3efa")](),0===g&&(!t.searchStr||0===t[e("0x187c")][e("0x5e9")])&&(t[e("0x3832")]=t.focusFirst?0:t.currentIndex,t.showDropdown=!0,Q())},t.hideResults=function(){var e=p;w&&(w===t.id+"_dropdown"||w[e("0x3507")]("angucomplete")>=0)?w=null:(d=i((function(){var n=e;V(),t[n("0xd66")]((function(){var e=n;t[e("0x187c")]&&t.searchStr[e("0x5e9")]>0&&h[e("0x435d")](t.searchStr)}))}),200),U(),t[e("0x3dce")]&&t[e("0x3dce")](),t[e("0x118")]&&t[e("0x187c")]&&t[e("0x187c")][e("0x5e9")]>0&&-1===t[e("0x3832")]&&L())},t[p("0x313b")]=function(){d&&i.cancel(d)},t[p("0x2b85")]=function(e){t[p("0x3832")]=e},t.selectResult=function(e){var n=p;t[n("0x4118")]&&(e[n("0x2fdc")]=N(e[n("0x48aa")]),e[n("0x34b9")]=O(e[n("0x48aa")],t[n("0x4739")])),t[n("0x4421")]?t[n("0x187c")]=null:t[n("0x187c")]=e[n("0x2fdc")],I(e),V()},t[p("0x40d1")]=function(e){var n=p;return e[n("0x5e9")]<g?(U(),V()):0===e[n("0x5e9")]&&0===g&&Q(),t[n("0x1277")]&&(e=t[n("0x1277")](e)),e},t[p("0x1daa")]&&""!==t.fieldRequiredClass&&(S=t[p("0x1daa")]),t[p("0x9fd")]&&""!==t[p("0x9fd")]&&(g=parseInt(t[p("0x9fd")],10)),!t.pause&&(t[p("0x27e5")]=500),!t[p("0x4421")]&&(t.clearSelected=!1),!t[p("0x118")]&&(t[p("0x118")]=!1),t[p("0x1da3")]&&x&&(t[p("0x30fe")]?P(!0):P(!1)),t[p("0x1e2f")]=o[p("0x3298")]?o.type:"text",t[p("0x20f9")]=o[p("0x20f9")]?o.textSearching:c,t[p("0x246f")]=o[p("0x246f")]?o.textNoResults:l,m=t[p("0x20f9")]!==p("0x22b7"),b="false"!==t[p("0x246f")],t[p("0xee5")]=o.maxlength?o.maxlength:524288,h.on(p("0x468d"),(function(e){var n,a,r,i,o=p,x=D(e),s=null,c=null;13===x&&t[o("0x39bf")]?(t[o("0x3832")]>=0&&t[o("0x3832")]<t[o("0x39bf")].length?(e[o("0xe50")](),t[o("0x3839")](t[o("0x39bf")][t[o("0x3832")]])):(L(e),V()),t.$apply()):40===x&&t[o("0x39bf")]?(e[o("0xe50")](),t[o("0x3832")]+1<t[o("0x39bf")][o("0x5e9")]&&t[o("0xe53")]&&(t[o("0xd66")]((function(){t.currentIndex++,Y()})),C&&(s=F(),y[p("0x1a8b")]().top+parseInt(getComputedStyle(y).maxHeight,10)<s[o("0x1a8b")]()[o("0x47d9")]&&B((a=s,r=p,i=getComputedStyle(a),a.offsetHeight+parseInt(i[r("0x464f")],10)+parseInt(i[r("0x2e10")],10)))))):38===x&&t[o("0x39bf")]?(e[o("0xe50")](),t[o("0x3832")]>=1?(t.$apply((function(){t[o("0x3832")]--,Y()})),C&&(n=p,(c=F().getBoundingClientRect().top-(y[n("0x1a8b")]()[n("0x228a")]+parseInt(getComputedStyle(y).paddingTop,10)))<0&&B(c-1))):0===t.currentIndex&&t[o("0xd66")]((function(){var e=o;t[e("0x3832")]=-1,h[e("0x435d")](t[e("0x187c")])}))):9===x?t[o("0x39bf")]&&t.results[o("0x5e9")]>0&&t[o("0xe53")]?-1===t.currentIndex&&t[o("0x118")]?L():(-1===t[o("0x3832")]&&(t[o("0x3832")]=0),t[o("0x3839")](t[o("0x39bf")][t[o("0x3832")]]),t[o("0x437c")]()):t.searchStr&&t[o("0x187c")][o("0x5e9")]>0&&L():27===x&&e[o("0xe50")]()})),h.on(p("0x3601"),(function(e){var n=p,a=D(e);if(37!==a&&39!==a)if(38===a||13===a)e.preventDefault();else if(40===a)e[n("0xe50")](),!t[n("0xe53")]&&t[n("0x187c")]&&t.searchStr.length>=g&&(W(),t[n("0x2f50")]=!0,q(t[n("0x187c")]));else if(27===a)V(),t[n("0xd66")]((function(){var e=n;h[e("0x435d")](t[e("0x187c")])}));else{if(0===g&&!t[n("0x187c")])return;t[n("0x187c")]&&""!==t[n("0x187c")]?t[n("0x187c")][n("0x5e9")]>=g&&(W(),v&&i[n("0x4920")](v),t.searching=!0,v=i((function(){q(t[n("0x187c")])}),t[n("0x27e5")])):t.showDropdown=!1,E&&E!==t[n("0x187c")]&&!t.clearSelected&&t[n("0xd66")]((function(){I()}))}})),_=p("0x322c"),u=function(e){return t[_]?t[_](e):e},i((function(){var e=p,t=getComputedStyle(y);C=t.maxHeight&&t[e("0x635")]===e("0x15ac")}))}return o[s("0x32f3")](d,s("0x3dfc")+'  <input id="{{id}}_value" name="{{inputName}}" tabindex="{{fieldTabindex}}" ng-class="{\'angucomplete-input-not-empty\': notEmpty}" ng-model="searchStr" ng-disabled="disableInput" type="{{inputType}}" placeholder="{{placeholder}}" maxlength="{{maxlength}}" ng-focus="onFocusHandler()" class="{{inputClass}}" ng-focus="resetHideResults()" ng-blur="hideResults($event)" autocapitalize="off" autocorrect="off" autocomplete="off" ng-change="inputChangeHandler(searchStr)"/>'+s("0x317a")+'    <div class="angucomplete-searching" ng-show="searching" ng-bind="textSearching"></div>'+s("0x808")+s("0xf02")+'      <div ng-if="imageField" class="angucomplete-image-holder">        <img ng-if="result.image && result.image != \'\'" ng-src="{{result.image}}" class="angucomplete-image"/>        <div ng-if="!result.image && result.image != \'\'" class="angucomplete-image-default"></div>'+s("0x20d8")+s("0x40ef")+'      <div class="angucomplete-title" ng-if="!matchClass">{{ result.title }}</div>'+s("0x46ea")+s("0x2829")+s("0x173")+s("0x3419")+"</div>"),{restrict:"EA",require:"^?form",scope:{selectedObject:"=",selectedObjectData:"=",disableInput:"=",initialValue:"=",localData:"=",localSearch:"&",remoteUrlRequestFormatter:"=",remoteUrlRequestWithCredentials:"@",remoteUrlResponseFormatter:"=",remoteUrlErrorCallback:"=",remoteApiHandler:"=",id:"@",type:"@",placeholder:"@",textSearching:"@",textNoResults:"@",remoteUrl:"@",remoteUrlDataField:"@",titleField:"@",descriptionField:"@",imageField:"@",inputClass:"@",pause:"@",searchFields:"@",minlength:"@",matchClass:"@",clearSelected:"@",overrideSuggestions:"@",fieldRequired:"=",fieldRequiredClass:"@",inputChanged:"=",autoMatch:"@",focusOut:"&",focusIn:"&",fieldTabindex:"@",inputName:"@",focusFirst:"@",parseInput:"&"},templateUrl:function(e,t){return t[s("0x1d64")]||d},compile:function(e){var t=s,n=x.startSymbol(),a=x[t("0x2aef")]();if("{{"!==n||"}}"!==a){var r=e[t("0x1059")]()[t("0x3cc0")](/\{\{/g,n)[t("0x3cc0")](/\}\}/g,a);e[t("0x1059")](r)}return u}}}])},e[(x=a2_0x37cf)("0x33f9")]?e[x("0x33f9")]=o(n(5734)):(r=[n(5734)],void 0===(i="function"==typeof(a=o)?a.apply(t,r):a)||(e[x("0x33f9")]=i))},1705:()=>{!function(e,t){var n,a,r,i,o=a2_0x37cf,x=o("0x3deb"),s=o("0x32d0"),c=o("0x4841"),l=o("0x32ce"),d=o("0x781"),u=o("0x1f29"),f=o("0x129a");void 0===e.ontransitionend&&void 0!==e[o("0x1")]?("-webkit-",n=o("0x2b1e"),a=o("0x12c8")):(n=o("0x2f61"),a=o("0x2434")),void 0===e[o("0xe38")]&&void 0!==e[o("0x3c89")]?(o("0x4dc9"),r="WebkitAnimation",i="webkitAnimationEnd animationend"):(r="animation",i=o("0x1232"));var m=o("0x60e"),b=o("0x152c"),_="Delay",p=o("0x3494"),h=o("0x211e"),g=o("0x1ee4"),v=r+_,S=r+m,E=n+_,A=n+m,T=t[o("0x1041")]("ng");function y(e,t,n){var a=o;if(!e)throw T(a("0x14f1"),a("0xa03"),t||"?",n||a("0x4c36"));return e}function C(e,t){var n=o;return e||t?e?t?(te(e)&&(e=e[n("0xc60")](" ")),te(t)&&(t=t[n("0xc60")](" ")),e+" "+t):e:t:""}function w(e,t,n){var a=o,r="";return e=te(e)?e:e&&oe(e)&&e[a("0x5e9")]?e.split(/\s+/):[],ee(e,(function(e,i){e&&e[a("0x5e9")]>0&&(r+=i>0?" ":"",r+=n?t+e:e+t)})),r}function M(e){var t=o;if(e instanceof se)switch(e.length){case 0:return e;case 1:if(1===e[0][t("0x4879")])return e;break;default:return se(R(e))}if(1===e[t("0x4879")])return se(e)}function R(e){var t=o;if(!e[0])return e;for(var n=0;n<e[t("0x5e9")];n++){var a=e[n];if(1===a.nodeType)return a}}function D(e){return function(t,n){var a,r,i,o,x,s,c=a2_0x37cf;n.addClass&&(o=e,x=t,s=n[c("0x31dc")],ee(x,(function(e){o[a2_0x37cf("0x31dc")](e,s)})),n[c("0x31dc")]=null),n[c("0xa81")]&&(a=e,r=t,i=n.removeClass,ee(r,(function(e){a[a2_0x37cf("0xa81")](e,i)})),n[c("0xa81")]=null)}}function I(e){var t=o;if(!(e=e||{})[t("0x3cda")]){var n=e[t("0x1272")]||ce;e[t("0x1272")]=function(){e[t("0xea0")]=!0,n(),n=ce},e[t("0x3cda")]=!0}return e}function N(e,t){O(e,t),k(e,t)}function O(e,t){var n=o;t[n("0x3121")]&&(e[n("0x42b1")](t[n("0x3121")]),t[n("0x3121")]=null)}function k(e,t){var n=o;t.to&&(e[n("0x42b1")](t.to),t.to=null)}function P(e,t,n){var a=o,r=t[a("0x16d1")]||{},i=n.options||{},c=(r[a("0x31dc")]||"")+" "+(i.addClass||""),l=(r[a("0xa81")]||"")+" "+(i.removeClass||""),d=function(e,t,n){var a=1,r=-1,i={};e=c(e),t=c(t),ee(t,(function(e,t){i[t]=a})),n=c(n),ee(n,(function(e,t){i[t]=i[t]===a?null:r}));var o={addClass:"",removeClass:""};function c(e){var t=a2_0x37cf;oe(e)&&(e=e[t("0x9e5")](" "));var n={};return ee(e,(function(e){e[t("0x5e9")]&&(n[e]=!0)})),n}return ee(i,(function(t,n){var i,c,l=a2_0x37cf;t===a?(i="addClass",c=!e[n]||e[n+s]):t===r&&(i=l("0xa81"),c=e[n]||e[n+x]),c&&(o[i][l("0x5e9")]&&(o[i]+=" "),o[i]+=n)})),o}(e.attr("class"),c,l);i[a("0x2eb")]&&(r.preparationClasses=Y(i[a("0x2eb")],r[a("0x2eb")]),delete i[a("0x2eb")]);var u=r[a("0x1272")]!==ce?r[a("0x1272")]:null;return Z(r,i),u&&(r.domOperation=u),d[a("0x31dc")]?r[a("0x31dc")]=d[a("0x31dc")]:r[a("0x31dc")]=null,d[a("0xa81")]?r.removeClass=d.removeClass:r[a("0xa81")]=null,t[a("0x31dc")]=r[a("0x31dc")],t[a("0xa81")]=r[a("0xa81")],r}function L(e){return e instanceof se?e[0]:e}function F(e,t){var n=t?o("0x2a35"):"",a=r+g;return B(e,[a,n]),[a,n]}function B(e,t){var n=o,a=t[0],r=t[1];e[n("0x4025")][a]=r}function Y(e,t){return e?t?e+" "+t:e:t}var G={blockTransitions:function(e,t){var n=t?"-"+t+"s":"";return B(e,[E,n]),[E,n]}},H=[o("0x47aa"),function(e){var t,n,a=o;function r(e){t=t[a2_0x37cf("0x3abc")](e),i()}return t=r[a("0x486a")]=[],r.waitUntilQuiet=function(t){n&&n(),n=e((function(){n=null,t(),i()}))},r;function i(){if(t[a("0x5e9")]){for(var r=t.shift(),o=0;o<r.length;o++)r[o]();!n&&e((function(){n||i()}))}}}],U=[o("0x3a1e"),function(e){return{link:function(t,n,a){var r=a2_0x37cf,i=a[r("0x202c")];function o(e){e="on"===e||"true"===e,n[r("0x237c")](f,e)}oe(i)&&0===i.length?n[r("0x237c")](f,!0):(o(e(i)(t)),a[r("0xf52")]("ngAnimateChildren",o))}}}],$="$$animateCss",j=1e3,V={transitionDuration:A,transitionDelay:E,transitionProperty:n+b,animationDuration:S,animationDelay:v,animationIterationCount:r+h},W={transitionDuration:A,transitionDelay:E,animationDuration:S,animationDelay:v};function q(e,t){return[t?v:E,e+"s"]}function z(e,t,n){var a=o,r=Object[a("0x4b8c")](null),i=e.getComputedStyle(t)||{};return ee(n,(function(e,t){var n,x,s,c=a,l=i[e];if(l){var d=l[c("0x24de")](0);("-"===d||"+"===d||d>=0)&&(x=0,s=l[(n=o)("0x9e5")](/\s*,\s*/),ee(s,(function(e){var t=n;"s"===e.charAt(e.length-1)&&(e=e[t("0x35e7")](0,e[t("0x5e9")]-1)),e=parseFloat(e)||0,x=x?Math[t("0x242b")](e,x):e})),l=x),0===l&&(l=null),r[t]=l}})),r}function Q(e){return 0===e||null!=e}function K(e,t){var a=n,r=e+"s";return t?a+=m:r+=o("0x21f1"),[a,r]}function X(e,t,n){ee(n,(function(n){var a=a2_0x37cf;e[n]=ne(e[n])?e[n]:t[a("0x4025")][a("0x4aba")](n)}))}var J,Z,ee,te,ne,ae,re,ie,oe,xe,se,ce,le=[o("0x4795"),function(e){var t=o;this[t("0x1cc9")]=[t("0xe11"),t("0x1e18"),"$$AnimateRunner",t("0x38d4"),t("0x1674"),t("0xfff"),t("0x1eae"),t("0xa84"),"$$animateQueue",function(e,t,d,u,f,m,_,h,g){var v=D(t);var E=[];function A(e){var t=a2_0x37cf;E[t("0x459a")](e),h[t("0x1bf1")]((function(){var e=t;f.flush();for(var n=m(),a=0;a<E[e("0x5e9")];a++)E[a](n);E[e("0x5e9")]=0}))}function T(t,n,a,r){var i=a2_0x37cf,o=function(t,n,a,r,i){var o=a2_0x37cf,x=f[o("0x1cf")](a);!x&&(x=z(e,t,i)).animationIterationCount===o("0xb79")&&(x[o("0x3e8b")]=1);var s=r||x[o("0x4e35")]>0||x.animationDuration>0;return f[o("0x32f3")](a,x,s),x}(t,0,a,r,V),x=o[i("0xf3")],s=o.transitionDelay;return o[i("0x239a")]=x&&s?Math[i("0x242b")](x,s):x||s,o[i("0x390c")]=Math[i("0x242b")](o[i("0x45f6")]*o[i("0x3e8b")],o[i("0x4e35")]),o}return function(m,h){var E=a2_0x37cf,y=h||{};!y.$$prepared&&(y=I(J(y)));var C={},M=L(m);if(!M||!M[E("0x368c")]||!g.enabled())return Pe();var R,D,P,Y,H,U,V,Z,ne,ae,re,ie,oe,xe=[],se=(m[E("0x417f")](E("0x917")),ie=o,oe={},(re=y)&&(re.to||re[ie("0x3121")])&&(oe.to=re.to,oe.from=re[ie("0x3121")]),oe),le=[];if(0===y.duration||!_[E("0xa86")]&&!_.transitions)return Pe();var de=y.event&&te(y.event)?y[E("0x1511")][E("0xc60")](" "):y[E("0x1511")],ue=de&&y.structural,fe="",me="";ue?fe=w(de,c,!0):de&&(fe=de),y[E("0x31dc")]&&(me+=w(y.addClass,x)),y.removeClass&&(me[E("0x5e9")]&&(me+=" "),me+=w(y[E("0xa81")],s)),y.applyClassesEarly&&me[E("0x5e9")]&&v(m,y);var be=[fe,me][E("0xc60")](" ")[E("0x2dc4")](),_e=se.to&&Object[E("0xa35")](se.to).length>0;if(!((y.keyframeStyle||"")[E("0x5e9")]>0)&&!_e&&!be)return Pe();var pe,he,ge=f[E("0xa68")](M,de,y[E("0x31dc")],y[E("0xa81")]);if(f.containsCachedAnimationWithoutDuration(ge))return be=null,Pe();if(y[E("0x3fe5")]>0){var ve=parseFloat(y[E("0x3fe5")]);pe={transitionDelay:ve,animationDelay:ve,transitionDuration:0,animationDuration:0}}else pe=function(n,a,r,i){var o,x=a2_0x37cf,s=x("0x4b3e")+r;if(f[x("0x10d1")](r)>0&&!(o=f[x("0x1cf")](s))){var c=w(a,"-stagger");t[x("0x31dc")](n,c),(o=z(e,n,i))[x("0x45f6")]=Math[x("0x242b")](o.animationDuration,0),o.transitionDuration=Math[x("0x242b")](o[x("0x4e35")],0),t[x("0xa81")](n,c),f[x("0x32f3")](s,o,!0)}return o||{}}(M,be,ge,W);if(!y[E("0x1438")]&&t[E("0x31dc")](m,be),y[E("0x1155")]){var Se=[n,y[E("0x1155")]];B(M,Se),xe[E("0x459a")](Se)}if(y.duration>=0){he=M[E("0x4025")][n][E("0x5e9")]>0;var Ee=K(y[E("0x40b2")],he);B(M,Ee),xe.push(Ee)}if(y[E("0x1874")]){var Ae=[r,y[E("0x1874")]];B(M,Ae),xe.push(Ae)}var Te=pe?y[E("0x4e30")]>=0?y.staggerIndex:f[E("0x10d1")](ge):0,ye=0===Te;ye&&!y[E("0x1e9d")]&&G[E("0x29c0")](M,9999);var Ce=T(M,0,ge,!ue),we=Ce.maxDelay;U=Math[E("0x242b")](we,0),Z=Ce[E("0x390c")];var Me={};if(Me[E("0x2c26")]=Ce.transitionDuration>0,Me[E("0xee8")]=Ce.animationDuration>0,Me.hasTransitionAll=Me[E("0x2c26")]&&Ce[E("0x4c7")]===E("0x3217"),Me[E("0x1ca2")]=_e&&(Me.hasTransitions&&!Me[E("0x150")]||Me[E("0xee8")]&&!Me[E("0x2c26")]),Me.applyAnimationDuration=y.duration&&Me[E("0xee8")],Me[E("0x4608")]=Q(y[E("0x381")])&&(Me.applyTransitionDuration||Me.hasTransitions),Me[E("0x11eb")]=Q(y.delay)&&Me.hasAnimations,Me[E("0xd55")]=me[E("0x5e9")]>0,(Me[E("0x1ca2")]||Me[E("0x25d9")])&&(Z=y.duration?parseFloat(y.duration):Z,Me[E("0x1ca2")]&&(Me[E("0x2c26")]=!0,Ce.transitionDuration=Z,he=M[E("0x4025")][n+b][E("0x5e9")]>0,xe[E("0x459a")](K(Z,he))),Me[E("0x25d9")]&&(Me.hasAnimations=!0,Ce[E("0x45f6")]=Z,xe[E("0x459a")]([S,Z+"s"]))),0===Z&&!Me[E("0xd55")])return Pe();var Re,De=w(be,l);null!=y[E("0x381")]&&("boolean"!=typeof y[E("0x381")]&&(Re=parseFloat(y.delay),U=Math[E("0x242b")](Re,0)),Me[E("0x4608")]&&xe[E("0x459a")](q(Re)),Me[E("0x11eb")]&&xe.push(q(Re,!0)));return null==y[E("0x40b2")]&&Ce[E("0x4e35")]>0&&(Me[E("0xd55")]=Me[E("0xd55")]||ye),V=U*j,ne=Z*j,!y[E("0x1e9d")]&&(Me[E("0x32fd")]=Ce[E("0x4e35")]>0,Me[E("0x42c2")]=Ce[E("0x45f6")]>0&&pe[E("0xf3")]>0&&0===pe[E("0x45f6")]),y[E("0x3121")]&&(y.cleanupStyles&&X(C,M,Object.keys(y[E("0x3121")])),O(m,y)),Me.blockTransition||Me[E("0x42c2")]?ke(Z):!y.skipBlocking&&G[E("0x29c0")](M,!1),{$$willAnimate:!0,end:Ie,start:function(){if(!R)return Y=new d(H={end:Ie,cancel:Ne,resume:null,pause:null}),A(Fe),Y}};function Ie(){Oe()}function Ne(){Oe(!0)}function Oe(e){var n=E;if(!(R||P&&D)){R=!0,D=!1,be&&!y.$$skipPreparationClasses&&t[n("0xa81")](m,be),De&&t[n("0xa81")](m,De),F(M,!1),G[n("0x29c0")](M,!1),ee(xe,(function(e){M[n("0x4025")][e[0]]=""})),v(m,y),N(m,y),Object.keys(C)[n("0x5e9")]&&ee(C,(function(e,t){var a=n;e?M[a("0x4025")].setProperty(t,e):M[a("0x4025")][a("0xffa")](t)})),y[n("0xfb5")]&&y[n("0xfb5")](),le&&le[n("0x5e9")]&&m.off(le[n("0xc60")](" "),Le);var a=m[n("0x237c")]($);a&&(u.cancel(a[0][n("0x217")]),m.removeData($)),Y&&Y[n("0x901")](!e)}}function ke(e){var t=E;Me[t("0x32fd")]&&G[t("0x29c0")](M,e),Me[t("0x42c2")]&&F(M,!!e)}function Pe(){return Y=new d({end:Ie,cancel:Ne}),A(ce),Oe(),{$$willAnimate:!1,start:function(){return Y},end:Ie}}function Le(e){var t=E;e[t("0x4c98")]();var n=e[t("0x2154")]||e;if(n.target===M){var a=n[t("0x3e40")]||Date.now(),r=parseFloat(n[t("0x3a90")].toFixed(3));Math[t("0x242b")](a-ae,0)>=V&&r>=Z&&(P=!0,Oe())}}function Fe(){var e=E;if(!R)if(M[e("0x368c")]){var x=function(t){var n,a,r,i=e;if(P)D&&t&&(D=!1,Oe());else if(D=!t,Ce[i("0x45f6")]){var x=F(M,D);D?xe[i("0x459a")](x):(a=x,r=(n=xe)[o("0x3507")](a),a>=0&&n.splice(r,1))}},s=Te>0&&(Ce.transitionDuration&&0===pe[e("0x4e35")]||Ce[e("0x45f6")]&&0===pe[e("0x45f6")])&&Math[e("0x242b")](pe[e("0xf3")],pe[e("0x26bd")]);s?u(c,Math[e("0x4184")](s*Te*j),!1):c(),H.resume=function(){x(!0)},H.pause=function(){x(!1)}}else Oe();function c(){var o=e;if(!R){if(ke(!1),ee(xe,(function(e){var t=e[0],n=e[1];M.style[t]=n})),v(m,y),t[o("0x31dc")](m,De),Me.recalculateTimingStyles){if(M[o("0x22b9")](o("0x917"))+" "+be,ge=f[o("0xa68")](M,de,y[o("0x31dc")],y[o("0xa81")]),Ce=T(M,0,ge,!1),we=Ce.maxDelay,U=Math[o("0x242b")](we,0),0===(Z=Ce.maxDuration))return void Oe();Me[o("0x2c26")]=Ce[o("0x4e35")]>0,Me[o("0xee8")]=Ce[o("0x45f6")]>0}if(Me[o("0x11eb")]&&(we="boolean"!=typeof y[o("0x381")]&&Q(y.delay)?parseFloat(y[o("0x381")]):we,U=Math.max(we,0),Ce[o("0xf3")]=we,Re=q(we,!0),xe.push(Re),M[o("0x4025")][Re[0]]=Re[1]),V=U*j,ne=Z*j,y[o("0x1a8f")]){var x,s=y.easing;Me[o("0x2c26")]&&(x=n+p,xe[o("0x459a")]([x,s]),M[o("0x4025")][x]=s),Me[o("0xee8")]&&(x=r+p,xe[o("0x459a")]([x,s]),M[o("0x4025")][x]=s)}Ce[o("0x4e35")]&&le[o("0x459a")](a),Ce[o("0x45f6")]&&le[o("0x459a")](i),ae=Date[o("0x4706")]();var c=V+1.5*ne,d=ae+c,b=m[o("0x237c")]($)||[],_=!0;if(b[o("0x5e9")]){var h=b[0];(_=d>h.expectedEndTime)?u.cancel(h[o("0x217")]):b.push(Oe)}if(_){var g=u(l,c,!1);b[0]={timer:g,expectedEndTime:d},b[o("0x459a")](Oe),m[o("0x237c")]($,b)}le[o("0x5e9")]&&m.on(le[o("0xc60")](" "),Le),y.to&&(y[o("0x151c")]&&X(C,M,Object[o("0xa35")](y.to)),k(m,y))}}function l(){var t=e,n=m[t("0x237c")]($);if(n){for(var a=1;a<n[t("0x5e9")];a++)n[a]();m[t("0x509")]($)}}}}}]}],de=[o("0x100"),function(e){var t=o;e.drivers[t("0x459a")]("$$animateCssDriver");var n=t("0x2603"),a=t("0x1123"),r="ng-anchor-out",i="ng-anchor-in";this[t("0x1cc9")]=[t("0x7c3"),t("0x47ed"),"$$AnimateRunner",t("0x47e6"),"$sniffer",t("0x1e18"),t("0x45e2"),function(e,o,x,s,c,l,d){var u=t;if(!c[u("0xa86")]&&!c.transitions)return ce;var f,m,b=d[0].body,_=L(s),p=se((m=t,(f=_).parentNode&&11===f[m("0x368c")].nodeType||b[u("0x2a10")](_)?_:b));return function(t){var o=u;return t.from&&t.to?function(t,o,s,c){var l=u,d=v(t),f=v(o),m=[];if(ee(c,(function(t){var o=a2_0x37cf,s=function(t,o,s){var c=u,l=se(L(o).cloneNode(!0)),d=h(E(l));o[c("0x31dc")](n),s[c("0x31dc")](n),l[c("0x31dc")](a),p.append(l);var f,m=S();if(!m&&!(f=A()))return T();var _=m||f;return{start:function(){var e,t=c,n=_[t("0x1023")]();return n[t("0x2d52")]((function(){var a=t;if(n=null,!f&&(f=A()))return(n=f.start())[a("0x2d52")]((function(){var t=a;n=null,T(),e[t("0x901")]()})),n;T(),e[a("0x901")]()})),e=new x({end:a,cancel:a});function a(){n&&n.end()}}};function v(e){var t=c,n={},a=L(e)[t("0x1a8b")]();return ee([t("0xbbf"),t("0x4e66"),t("0x228a"),t("0x2885")],(function(e){var r=t,i=a[e];switch(e){case r("0x228a"):i+=b[r("0x1423")];break;case r("0x2885"):i+=b[r("0xc1")]}n[e]=Math[r("0x4184")](i)+"px"})),n}function S(){var t=c,n=e(l,{addClass:r,delay:!0,from:v(o)});return n[t("0x26fd")]?n:null}function E(e){return e[c("0x417f")]("class")||""}function A(){var t=c,n=h(E(s)),a=g(n,d),o=g(d,n),x=e(l,{to:v(s),addClass:i+" "+a,removeClass:r+" "+o,delay:!0});return x[t("0x26fd")]?x:null}function T(){var e=c;l[e("0xf82")](),o.removeClass(n),s[e("0xa81")](n)}}(0,t[o("0x3998")],t.in);s&&m[o("0x459a")](s)})),!d&&!f&&0===m[l("0x5e9")])return;return{start:function(){var e=l,t=[];d&&t[e("0x459a")](d[e("0x1023")]()),f&&t[e("0x459a")](f.start()),ee(m,(function(n){t[e("0x459a")](n.start())}));var n=new x({end:a,cancel:a});return x[e("0x3217")](t,(function(t){n[e("0x901")](t)})),n;function a(){ee(t,(function(e){e[a2_0x37cf("0x3a59")]()}))}}}}(t[o("0x3121")],t.to,t[o("0x3dd1")],t[o("0x4699")]):v(t)};function h(e){return e[u("0x3cc0")](/\bng-\S+\b/g,"")}function g(e,t){var n=u;return oe(e)&&(e=e[n("0x9e5")](" ")),oe(t)&&(t=t[n("0x9e5")](" ")),e[n("0x6a6")]((function(e){return-1===t.indexOf(e)}))[n("0xc60")](" ")}function v(t){var n=u,a=t[n("0xb48")],r=t[n("0x16d1")]||{};t[n("0x1c2f")]&&(r[n("0x1511")]=t[n("0x1511")],r[n("0x1c2f")]=!0,r.applyClassesEarly=!0,t[n("0x1511")]===n("0xf77")&&(r.onDone=r.domOperation)),r[n("0x2eb")]&&(r[n("0x1511")]=Y(r[n("0x1511")],r.preparationClasses));var i=e(a,r);return i[n("0x26fd")]?i:null}}]}],ue=[o("0x4795"),function(e){var t=o;this[t("0x1cc9")]=[t("0x1f10"),t("0x4d64"),t("0x1e18"),function(t,n,a){var r=D(a);return function(e,t,a,o){var x=a2_0x37cf,s=!1;3===arguments[x("0x5e9")]&&ie(a)&&(o=a,a=null),o=I(o),!a&&(a=e.attr(x("0x917"))||"",o[x("0x31dc")]&&(a+=" "+o.addClass),o[x("0xa81")]&&(a+=" "+o.removeClass));var c,l,d,u,f,m=o[x("0x31dc")],b=o[x("0xa81")],_=i(a);_[x("0x5e9")]&&(t===x("0xf77")?(u=x("0xf77"),d="afterLeave"):(u=x("0x4929")+t[x("0x24de")](0)[x("0x110")]()+t[x("0x39fa")](1),d=t),"enter"!==t&&t!==x("0x1ff3")&&(c=S(e,t,o,_,u)),l=S(e,t,o,_,d));if(c||l)return{$$willAnimate:!0,end:function(){var e=x;return f?f.end():(h(),(f=new n)[e("0x901")](!0)),f},start:function(){var e=x;if(f)return f;f=new n;var t,a=[];return c&&a.push((function(e){t=c(e)})),a.length?a[e("0x459a")]((function(e){p(),e(!0)})):p(),l&&a[e("0x459a")]((function(e){t=l(e)})),f[e("0x40de")]({end:function(){i()},cancel:function(){i(!0)}}),n[e("0x1a1a")](a,r),f;function r(e){h(),f.complete(e)}function i(e){!s&&((t||ce)(e),r(e))}}};function p(){o.domOperation(),r(e,o)}function h(){s=!0,p(),N(e,o)}function g(e,t,a,r,i){var o,s=x;switch(a){case s("0x2677"):o=[t,r.from,r.to,i];break;case"setClass":o=[t,m,b,i];break;case s("0x31dc"):o=[t,m,i];break;case s("0xa81"):o=[t,b,i];break;default:o=[t,i]}o[s("0x459a")](r);var c=e.apply(e,o);if(c)if(re(c[s("0x1023")])&&(c=c[s("0x1023")]()),c instanceof n)c[s("0x2d52")](i);else if(re(c))return c;return ce}function v(e,t,a,r,i){var o=[];return ee(r,(function(r){var x=a2_0x37cf,s=r[i];s&&o[x("0x459a")]((function(){var r,i,o=!1,x=function(e){var t=a2_0x37cf;!o&&(o=!0,(i||ce)(e),r[t("0x901")](!e))};return r=new n({end:function(){x()},cancel:function(){x(!0)}}),i=g(s,e,t,a,(function(e){x(!1===e)})),r}))})),o}function S(e,t,a,r,i){var o,s,c=x,l=v(e,t,a,r,i);0===l[c("0x5e9")]&&(i===c("0x359f")?(o=v(e,"removeClass",a,r,"beforeRemoveClass"),s=v(e,c("0x31dc"),a,r,c("0x53e"))):"setClass"===i&&(o=v(e,c("0xa81"),a,r,c("0xa81")),s=v(e,c("0x31dc"),a,r,"addClass")),o&&(l=l[c("0x3abc")](o)),s&&(l=l[c("0x3abc")](s)));if(0!==l[c("0x5e9")])return function(e){var t=c,a=[];return l[t("0x5e9")]&&ee(l,(function(e){a[t("0x459a")](e())})),a[t("0x5e9")]?n.all(a,e):e(),function(e){ee(a,(function(t){e?t[a2_0x37cf("0x4920")]():t.end()}))}}}};function i(n){var a=a2_0x37cf;n=te(n)?n:n[a("0x9e5")](" ");for(var r=[],i={},o=0;o<n.length;o++){var x=n[o],s=e.$$registeredAnimations[x];s&&!i[x]&&(r[a("0x459a")](t.get(s)),i[x]=!0)}return r}}]}],fe=[o("0x100"),function(e){var t=o;e[t("0x17ec")].push(t("0x2c6d")),this[t("0x1cc9")]=[t("0x40f8"),"$$AnimateRunner",function(e,t){return function(e){var a=a2_0x37cf;if(e[a("0x3121")]&&e.to){var r=n(e[a("0x3121")]),i=n(e.to);if(!r&&!i)return;return{start:function(){var e=a,n=[];r&&n[e("0x459a")](r[e("0x1023")]()),i&&n[e("0x459a")](i[e("0x1023")]()),t[e("0x3217")](n,(function(e){o.complete(e)}));var o=new t({end:x(),cancel:x()});return o;function x(){return function(){ee(n,(function(e){e[a2_0x37cf("0x3a59")]()}))}}}}}return n(e)};function n(t){var n=a2_0x37cf,a=t[n("0xb48")],r=t[n("0x1511")],i=t[n("0x16d1")],o=t[n("0x3dd1")];return e(a,r,o,i)}}]}],me=o("0x4f46"),be=o("0x4141"),_e=[o("0x4795"),function(t){var n=o,a=this[n("0x2bf4")]={skip:[],cancel:[],join:[]};function r(e){var t=n;return{addClass:e[t("0x31dc")],removeClass:e[t("0xa81")],from:e.from,to:e.to}}function i(e,t){var a=n;if(e&&t){var r=function(e){var t=n;if(!e)return null;var a=e.split(" "),r=Object[t("0x4b8c")](null);return ee(a,(function(e){r[e]=!0})),r}(t);return e[a("0x9e5")](" ").some((function(e){return r[e]}))}}function l(e,t,n){return a[e].some((function(e){return e(t,n)}))}function d(e,t){var a=(e[n("0x31dc")]||"").length>0,r=(e.removeClass||"").length>0;return t?a&&r:a||r}a[n("0xc60")][n("0x459a")]((function(e,t){return!e.structural&&d(e)})),a[n("0x3d17")][n("0x459a")]((function(e,t){return!e[n("0x1c2f")]&&!d(e)})),a[n("0x3d17")][n("0x459a")]((function(e,t){var a=n;return t[a("0x1511")]===a("0xf77")&&e[a("0x1c2f")]})),a.skip[n("0x459a")]((function(e,t){var a=n;return t.structural&&2===t.state&&!e[a("0x1c2f")]})),a.cancel[n("0x459a")]((function(e,t){return t.structural&&e.structural})),a[n("0x4920")][n("0x459a")]((function(e,t){var a=n;return 2===t[a("0x81c")]&&e[a("0x1c2f")]})),a.cancel[n("0x459a")]((function(e,t){var a=n;if(t[a("0x1c2f")])return!1;var r=e[a("0x31dc")],o=e[a("0xa81")],x=t[a("0x31dc")],s=t[a("0xa81")];return!(xe(r)&&xe(o)||xe(x)&&xe(s))&&(i(r,s)||i(o,x))})),this[n("0x1cc9")]=[n("0x47aa"),n("0x47ed"),"$rootElement",n("0x45e2"),n("0x366b"),"$$animation",n("0x4d64"),n("0x1d93"),n("0x1e18"),n("0xfff"),n("0x153d"),function(a,i,u,m,b,_,p,h,g,v,S){var E=n,A=new b,T=new b,C=null;function O(e){var t=a2_0x37cf;T[t("0x23be")](e[t("0x55d")])}var k=i.$watch((function(){return 0===h[a2_0x37cf("0x1563")]}),(function(e){e&&(k(),i.$$postDigest((function(){i[a2_0x37cf("0x722")]((function(){null===C&&(C=!0)}))})))})),F=Object[E("0x4b8c")](null),B=t[E("0x42e3")](),G=t[E("0x430c")](),H=function(){return!0},U=B||H,$=G?function(e,t){var n=E,a=[e[n("0x22b9")]("class"),t[n("0x31dc")],t[n("0xa81")]].join(" ");return G.test(a)}:H,j=D(g);function V(e,t){return P(e,t,{})}var W=e[E("0x1bf8")][E("0x20f")][E("0x2a10")]||function(e){return this===e||!!(16&this[E("0x2fb2")](e))};function q(e,t,n){var a=E,r=R(t);return e[a("0x6a6")]((function(e){var t=a;return!(e[t("0x13db")]===r&&(!n||e[t("0x1c9a")]===n))}))}function z(e,t){var n=E;e===n("0x440f")&&!t[n("0x368c")]&&Q.off(t)}var Q={on:function(e,t,n){var a=E,r=R(t);F[e]=F[e]||[],F[e][a("0x459a")]({node:r,callback:n}),se(t).on(a("0x4c91"),(function(){!A[a("0x1cf")](r)&&Q.off(e,t,n)}))},off:function(e,t,n){var a=E;if(1!==arguments[a("0x5e9")]||oe(arguments[0])){var r=F[e];r&&(F[e]=1===arguments[a("0x5e9")]?null:q(r,t,n))}else for(var i in t=arguments[0],F)F[i]=q(F[i],t)},pin:function(e,t){var n=E;y(ae(e),"element",n("0x3164")),y(ae(t),n("0x81a"),n("0x3164")),e[n("0x237c")](be,t)},push:function(e,t,n,b){return(n=n||{})[E("0x1272")]=b,function(e,t,n){var b=E,h=J(n),g=M(e),v=L(g),y=v&&v[b("0x368c")];h=I(h);var R=new p,D=(O=!1,function(e){var t=a2_0x37cf;O?e():i[t("0x722")]((function(){O=!0,e()}))});var O;if(te(h[b("0x31dc")])&&(h[b("0x31dc")]=h[b("0x31dc")][b("0xc60")](" ")),h[b("0x31dc")]&&!oe(h[b("0x31dc")])&&(h.addClass=null),te(h[b("0xa81")])&&(h[b("0xa81")]=h.removeClass[b("0xc60")](" ")),h[b("0xa81")]&&!oe(h[b("0xa81")])&&(h[b("0xa81")]=null),h.from&&!ie(h[b("0x3121")])&&(h[b("0x3121")]=null),h.to&&!ie(h.to)&&(h.to=null),!(C&&v&&U(v,t,n)&&$(v,h)))return ge(),R;var k=[b("0x3b11"),"move",b("0xf77")][b("0x3507")](t)>=0,B=S(),G=B||T[b("0x1cf")](v),H=!G&&A[b("0x1cf")](v)||{},q=!!H[b("0x81c")];if(!G&&(!q||1!==H[b("0x81c")])&&(G=!function(e,t,n){var a,r=E,i=m[0][r("0x3b3e")],o=L(u),x=e===i||e[r("0x4907")]===r("0x2bd9"),s=e===o,c=!1,l=T[r("0x1cf")](e),d=se.data(e,be);d&&(t=L(d));for(;t&&(!s&&(s=t===o),1===t.nodeType);){var b=A[r("0x1cf")](t)||{};if(!c){var _=T[r("0x1cf")](t);if(!0===_&&!1!==l){l=!0;break}!1===_&&(l=!1),c=b[r("0x1c2f")]}if(xe(a)||!0===a){var p=se[r("0x237c")](t,f);ne(p)&&(a=p)}if(c&&!1===a)break;if(!x&&(x=t===i),x&&s)break;t=s||!(d=se[r("0x237c")](t,be))?t[r("0x368c")]:L(d)}return(!c||a)&&!0!==l&&s&&x}(v,y)),G)return B&&he(R,t,b("0x1023"),r(h)),ge(),B&&he(R,t,b("0x440f"),r(h)),R;k&&(Q=v,Z=E,ae=Q[Z("0x1e72")]("["+me+"]"),ee(ae,(function(e){var t=Z,n=parseInt(e.getAttribute(me),10),a=A[t("0x1cf")](e);if(a)switch(n){case 2:a.runner[t("0x3a59")]();case 1:A[t("0x23be")](e)}})));var Q,Z,ae;var re={structural:k,element:g,event:t,addClass:h[b("0x31dc")],removeClass:h[b("0xa81")],close:ge,options:h,runner:R};if(q){if(l(b("0x3d17"),re,H))return 2===H.state?(ge(),R):(P(g,H,re),H[b("0x2fe0")]);if(l("cancel",re,H))if(2===H[b("0x81c")])H.runner.end();else{if(!H[b("0x1c2f")])return P(g,H,re),H[b("0x2fe0")];H.close()}else if(l(b("0xc60"),re,H)){if(2!==H.state)return ce=g,de=h,ue=o,fe="",(le=k?t:null)&&(fe=w(le,c,!0)),de[ue("0x31dc")]&&(fe=Y(fe,w(de[ue("0x31dc")],x))),de[ue("0xa81")]&&(fe=Y(fe,w(de[ue("0xa81")],s))),fe[ue("0x5e9")]&&(de.preparationClasses=fe,ce[ue("0x31dc")](fe)),t=re[b("0x1511")]=H[b("0x1511")],h=P(g,H,re),H[b("0x2fe0")];V(g,re)}}else V(g,re);var ce,le,de,ue,fe;var _e=re[b("0x1c2f")];if(!_e&&(_e=re[b("0x1511")]===b("0x2677")&&Object.keys(re[b("0x16d1")].to||{})[b("0x5e9")]>0||d(re)),!_e)return ge(),K(v),R;var pe=(H.counter||0)+1;return re.counter=pe,X(v,1,re),i[b("0x722")]((function(){var n=b;g=M(e);var a=A.get(v),i=!a;a=a||{};var o=(g[n("0x731")]()||[])[n("0x5e9")]>0&&(a.event===n("0x2677")||a[n("0x1c2f")]||d(a));if(i||a[n("0x3c87")]!==pe||!o)return i&&(j(g,h),N(g,h)),(i||k&&a[n("0x1511")]!==t)&&(h[n("0x1272")](),R[n("0x3a59")]()),void(!o&&K(v));t=!a.structural&&d(a,!0)?n("0x421c"):a.event,X(v,2);var x=_(g,t,a[n("0x16d1")]);R[n("0x40de")](x),he(R,t,n("0x1023"),r(h)),x.done((function(e){var a=n;ge(!e);var i=A[a("0x1cf")](v);i&&i[a("0x3c87")]===pe&&K(v),he(R,t,"close",r(h))}))})),R;function he(e,t,n,r){D((function(){var e,i,o,x,s,c=a2_0x37cf,l=(e=y,i=v,x=[],(s=F[o=t])&&ee(s,(function(t){var n=a2_0x37cf;(W[n("0x3c6b")](t[n("0x13db")],i)||"leave"===o&&W[n("0x3c6b")](t[n("0x13db")],e))&&x[n("0x459a")](t[n("0x1c9a")])})),x);l[c("0x5e9")]?a((function(){ee(l,(function(e){e(g,n,r)})),z(n,v)})):z(n,v)})),e.progress(t,n,r)}function ge(e){var t,n,a,r=b;t=g,(n=h)[(a=o)("0x2eb")]&&(t.removeClass(n.preparationClasses),n[a("0x2eb")]=null),n.activeClasses&&(t[a("0xa81")](n[a("0x83a")]),n.activeClasses=null),j(g,h),N(g,h),h[r("0x1272")](),R.complete(!e)}}(e,t,n)},enabled:function(e,t){var n=E,a=arguments[n("0x5e9")];if(0===a)t=!!C;else{var r=ae(e);if(r){var i=L(e);1===a?t=!T.get(i):(!T[n("0x519")](i)&&se(e).on("$destroy",O),T[n("0x6e6")](i,!t))}else t=C=!!e}return t}};return Q;function K(e){var t=E;e[t("0x25b3")](me),A[t("0x23be")](e)}function X(e,t,n){var a=E;(n=n||{})[a("0x81c")]=t,e.setAttribute(me,t);var r=A[a("0x1cf")](e),i=r?Z(r,n):n;A[a("0x6e6")](e,i)}}]}],pe=[o("0x4795"),function(e){var t=o,n=t("0x2c64"),a=this[t("0x17ec")]=[],r=t("0x2404"),i=t("0x4a12");function x(e){return e[t("0x237c")](r)}this[t("0x1cc9")]=[t("0x1e18"),t("0x47ed"),"$injector",t("0x4d64"),t("0x366b"),t("0xa84"),t("0x1674"),function(e,o,s,c,l,f,m){var b=[],_=D(e);return function(p,h,g){var v=a2_0x37cf;g=I(g);var S=[v("0x3b11"),v("0x1ff3"),v("0xf77")][v("0x3507")](h)>=0,E=new c({end:function(){R()},cancel:function(){R(!0)}});if(!a[v("0x5e9")])return R(),E;var A,T=C(p[v("0x417f")](v("0x917")),C(g.addClass,g.removeClass)),y=g[v("0x4d1c")];return y&&(T+=" "+y,g[v("0x4d1c")]=null),S&&p[v("0x237c")](i,v("0x4841")+h+d),A=E,p[t("0x237c")](r,A),b[v("0x459a")]({element:p,classes:T,event:h,structural:S,options:g,beforeStart:function(){var t=v;y=(y?y+" ":"")+u,e[t("0x31dc")](p,y);var n=p.data(i);n&&(e[t("0xa81")](p,n),n=null)},close:R}),p.on(v("0x4c91"),M),b[v("0x5e9")]>1||o[v("0x722")]((function(){var t=v,r=[];ee(b,(function(e){var t=a2_0x37cf;x(e[t("0xb48")])?r.push(e):e[t("0x440f")]()})),b.length=0;var o=function(e){var t=[],a={};ee(e,(function(e,r){var i,o,x,s,c,l=a2_0x37cf,d=L(e[l("0xb48")]),u=e[l("0x1511")],f=["enter","move"][l("0x3507")](u)>=0,m=e[l("0x1c2f")]?(x="["+n+"]",s=(i=d)[(o=v)("0x3a67")](n)?[i]:i[o("0x1e72")](x),c=[],ee(s,(function(e){var t=o,a=e[t("0x22b9")](n);a&&a[t("0x5e9")]&&c[t("0x459a")](e)})),c):[];if(m.length){var b=f?"to":"from";ee(m,(function(e){var t=e[l("0x22b9")](n);a[t]=a[t]||{},a[t][b]={animationID:r,element:se(e)}}))}else t.push(e)}));var r={},i={};return ee(a,(function(n,a){var o=a2_0x37cf,x=n[o("0x3121")],s=n.to;if(x&&s){var c=e[x[o("0x1326")]],l=e[s[o("0x1326")]],d=x[o("0x1326")][o("0x3c88")]();if(!i[d]){var u=i[d]={structural:!0,beforeStart:function(){c.beforeStart(),l.beforeStart()},close:function(){var e=o;c[e("0x440f")](),l[e("0x440f")]()},classes:w(c[o("0x3dd1")],l[o("0x3dd1")]),from:c,to:l,anchors:[]};u[o("0x3dd1")][o("0x5e9")]?t[o("0x459a")](u):(t[o("0x459a")](c),t[o("0x459a")](l))}i[d][o("0x4699")][o("0x459a")]({out:x.element,in:s[o("0xb48")]})}else{var f=x?x[o("0x1326")]:s[o("0x1326")],m=f[o("0x3c88")]();!r[m]&&(r[m]=!0,t[o("0x459a")](e[f]))}})),t}(r),c=[];ee(o,(function(e){var t=a2_0x37cf,n=e[t("0x3121")]?e.from[t("0xb48")]:e[t("0xb48")],r=g[t("0x31dc")];r=(r?r+" ":"")+u;var i=m.cacheKey(n[0],e[t("0x1511")],r,g[t("0xa81")]);c[t("0x459a")]({element:n,domNode:L(n),fn:function(){var n,r=t,o=e[r("0x440f")];if(m[r("0x43d4")](i))o();else{if(e[r("0x4324")](),x(e.anchors?e[r("0x3121")][r("0xb48")]||e.to.element:e[r("0xb48")])){var c=function(e){for(var t=v,n=a[t("0x5e9")]-1;n>=0;n--){var r=a[n],i=s[t("0x1cf")](r)(e);if(i)return i}}(e);c&&(n=c.start)}if(n){var l=n();l[r("0x2d52")]((function(e){o(!e)})),function(e,t){var n=v;function a(e){var n=x(e);n&&n.setHost(t)}e[n("0x3121")]&&e.to?(a(e.from[n("0xb48")]),a(e.to[n("0xb48")])):a(e[n("0xb48")])}(e,l)}else o()}}})}));for(var d=function(e){var t,n=a2_0x37cf,a={children:[]},r=new l;for(t=0;t<e.length;t++){var i=e[t];r.set(i[n("0xd83")],e[t]={domNode:i[n("0xd83")],element:i.element,fn:i.fn,children:[]})}for(t=0;t<e.length;t++)o(e[t]);return function(e){var t,a=n,r=[],i=[];for(t=0;t<e[a("0x71b")][a("0x5e9")];t++)i[a("0x459a")](e.children[t]);var o=i[a("0x5e9")],x=0,s=[];for(t=0;t<i[a("0x5e9")];t++){var c=i[t];o<=0&&(o=x,x=0,r[a("0x459a")](s),s=[]),s[a("0x459a")](c),c[a("0x71b")][a("0x5ba")]((function(e){x++,i[a("0x459a")](e)})),o--}return s.length&&r[a("0x459a")](s),r}(a);function o(e){var t=n;if(e[t("0x3502")])return e;e.processed=!0;var i,x=e[t("0xd83")],s=x.parentNode;for(r[t("0x6e6")](x,e);s;){if(i=r[t("0x1cf")](s)){!i[t("0x3502")]&&(i=o(i));break}s=s.parentNode}return(i||a)[t("0x71b")][t("0x459a")](e),e}}(c),_=0;_<d.length;_++)for(var p=d[_],h=0;h<p.length;h++){var S=p[h],E=S[t("0xb48")];if(d[_][h]=S.fn,0!==_){var A=E[t("0x237c")](i);A&&e[t("0x31dc")](E,A)}else E[t("0x509")](i)}f(d)})),E;function w(e,t){var n=v;e=e[n("0x9e5")](" "),t=t[n("0x9e5")](" ");for(var a=[],r=0;r<e[n("0x5e9")];r++){var i=e[r];if(i[n("0x35e7")](0,3)!==n("0x4841"))for(var o=0;o<t[n("0x5e9")];o++)if(i===t[o]){a[n("0x459a")](i);break}}return a[n("0xc60")](" ")}function M(){var e=v,t=x(p);t&&(h!==e("0xf77")||!g[e("0xea0")])&&t[e("0x3a59")]()}function R(n){var a=v;p[a("0x30f8")]("$destroy",M),p[t("0x509")](r),_(p,g),N(p,g),g[a("0x1272")](),y&&e.removeClass(p,y),E[a("0x901")](!n)}}}]}],he=["$animate",function(e){var t=o;return{restrict:"A",transclude:t("0xb48"),terminal:!0,priority:550,link:function(n,a,r,i,o){var x,s,c=t;n[c("0x49f2")](r[c("0x2f7a")]||r[c("0x2d1a")],(function(t){var n=c;x&&e[n("0xf77")](x),s&&(s[n("0x4c91")](),s=null),(t||0===t)&&o((function(t,r){x=t,s=r,e[n("0x3b11")](t,null,a)}))}))}}}];t[o("0x39e9")](o("0x15a4"),[],(function(){var e=o;ce=t[e("0x49d1")],J=t.copy,Z=t[e("0x3448")],se=t.element,ee=t[e("0x5ba")],te=t[e("0x498f")],oe=t.isString,ie=t[e("0x1f1a")],xe=t[e("0x29ab")],ne=t[e("0x64a")],re=t[e("0x4977")],ae=t[e("0xb4b")]}))[o("0x14eb")]({angularVersion:o("0x1830")}).directive("ngAnimateSwap",he).directive("ngAnimateChildren",U)[o("0x3faf")](o("0xa84"),H)[o("0x4b0")](o("0x1117"),_e)[o("0x4b0")](o("0x1674"),(function(){var e=o,t="$$ngAnimateParentKey",n=0,a=Object[e("0x4b8c")](null);this[e("0x1cc9")]=[function(){return{cacheKey:function(e,a,r,i){var o=a2_0x37cf,x=e[o("0x368c")],s=[x[t]||(x[t]=++n),a,e.getAttribute(o("0x917"))];return r&&s[o("0x459a")](r),i&&s[o("0x459a")](i),s[o("0xc60")](" ")},containsCachedAnimationWithoutDuration:function(e){var t=a[e];return t&&!t.isValid||!1},flush:function(){a=Object[a2_0x37cf("0x4b8c")](null)},count:function(e){var t=a[e];return t?t.total:0},get:function(e){var t=a2_0x37cf,n=a[e];return n&&n[t("0x3a33")]},put:function(e,t,n){var r=a2_0x37cf;a[e]?(a[e].total++,a[e][r("0x3a33")]=t):a[e]={total:1,value:t,isValid:n}}}}]})).provider(o("0xacf"),pe)[o("0x4b0")](o("0x7c3"),le)[o("0x4b0")](o("0x40b6"),de)[o("0x4b0")](o("0x40f8"),ue)[o("0x4b0")](o("0x2c6d"),fe)}(window,window[_0x299160("0x40e2")])},3234:(e,t,n)=>{var a=_0x299160;n(1705),e[a("0x33f9")]=a("0x15a4")},6222:()=>{var e,t,n,a,r,i;window,e=window.angular,n=(t=a2_0x37cf)("0x45fd"),a=e[t("0x39e9")](t("0xafa"),["ng"])[t("0x14eb")]({angularVersion:"1.8.2"})[t("0x4b0")]("$aria",(function(){var a=t,r={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeydown:!0,bindRoleForClick:!0};function o(e,t,a,o){return function(x,s,c){var l=a2_0x37cf;if(!c[l("0x1bd4")](n)){var d=c[l("0x3256")](t);r[d]&&!i(s,a)&&!c[d]&&x[l("0x7a")](c[e],(function(e){e=o?!e:!!e,s[l("0x417f")](t,e)}))}}}this.config=function(t){r=e[a2_0x37cf("0x3448")](r,t)},this[a("0x1cc9")]=function(){return{config:function(e){return r[e]},$$watchExpr:o}}})),r=[t("0x1622"),"A",t("0x3738"),t("0x3db0"),t("0x4d18"),"DETAILS",t("0x1e9b")],i=function(e,t){if(-1!==t.indexOf(e[0].nodeName))return!0},a.directive(t("0x13d0"),[t("0x1b61"),function(e){var n=t;return e[n("0x474c")](n("0x13d0"),n("0x240d"),[],!0)}])[t("0x1b75")](t("0x470d"),[t("0x1b61"),function(e){var n=t;return e[n("0x474c")](n("0x470d"),n("0x240d"),[],!1)}])[t("0x1b75")](t("0x4c6"),[t("0x1b61"),function(e){var n=t;return e[n("0x474c")](n("0x4c6"),n("0x4c92"),r,!1)}])[t("0x1b75")](t("0x29b2"),[t("0x1b61"),function(e){var n=t;return e[n("0x474c")](n("0x29b2"),n("0x4c92"),r,!1)}])[t("0x1b75")](t("0x692"),[t("0x1b61"),function(e){var n=t;return e[n("0x474c")](n("0x692"),n("0x3948"),r,!1)}]).directive(t("0x2ec2"),["$aria",function(e){var n=t;return e[n("0x474c")](n("0x2ec2"),"aria-required",r,!1)}])[t("0x1b75")]("ngModel",[t("0x1b61"),function(e){function a(t,n,a,o){var x=a2_0x37cf;return e[x("0x1805")](n)&&!a[x("0x417f")](t)&&(o||!i(a,r))&&(a[x("0x417f")](x("0x3298"))!==x("0xd4f")||a[0][x("0x4907")]!==x("0x3738"))}function o(e,t){var n=a2_0x37cf;return!t[n("0x417f")](n("0x3517"))&&t[n("0x417f")](n("0x3298"))===e&&!i(t,r)}return{restrict:"A",require:t("0x12bc"),priority:200,compile:function(t,r){if(!r.hasOwnProperty(n)){var i,x,s,c,l=(s=(i=r)[(x=a2_0x37cf)("0x3298")],c=i[x("0x3517")],"checkbox"===(s||c)||"menuitemcheckbox"===c?x("0xb63"):(s||c)===x("0x1629")||"menuitemradio"===c?x("0x1629"):s===x("0x205")||"progressbar"===c||c===x("0x1b4e")?x("0x205"):"");return{post:function(t,n,r,i){var x=a2_0x37cf,s=a(x("0x562"),x("0x562"),n,!1);function c(){return i.$modelValue}switch(l){case x("0x1629"):case x("0xb63"):o(l,n)&&n.attr(x("0x3517"),l),a("aria-checked","ariaChecked",n,!1)&&t[x("0x7a")](c,l===x("0x1629")?function(e){var t=x,a=r[t("0x3a33")]==i[t("0x326c")];n.attr(t("0x4c92"),a)}:function(){var e=x;n.attr(e("0x4c92"),!i[e("0x8b2")](i.$viewValue))}),s&&n.attr(x("0x562"),0);break;case x("0x205"):if(o(l,n)&&n.attr(x("0x3517"),x("0x1b4e")),e[x("0x1805")](x("0x185e"))){var d=!n[x("0x417f")]("aria-valuemin")&&(r.hasOwnProperty("min")||r[x("0x1bd4")]("ngMin")),u=!n.attr(x("0x44b"))&&(r[x("0x1bd4")]("max")||r.hasOwnProperty(x("0x5017"))),f=!n.attr("aria-valuenow");d&&r[x("0xf52")](x("0x11db"),(function(e){var t=x;n.attr(t("0x2cfb"),e)})),u&&r.$observe(x("0x242b"),(function(e){var t=x;n[t("0x417f")](t("0x44b"),e)})),f&&t[x("0x7a")](c,(function(e){var t=x;n.attr(t("0x6d4"),e)}))}s&&n[x("0x417f")]("tabindex",0)}!r.hasOwnProperty(x("0x2ec2"))&&i[x("0x1b85")][x("0x4c36")]&&a(x("0x15a0"),x("0x269a"),n,!1)&&r[x("0xf52")](x("0x4c36"),(function(){var e=x;n[e("0x417f")](e("0x15a0"),!!r.required)})),a(x("0x2233"),x("0x4a03"),n,!0)&&t[x("0x7a")]((function(){return i.$invalid}),(function(e){var t=x;n[t("0x417f")](t("0x2233"),!!e)}))}}}}}}]).directive(t("0x28cb"),[t("0x1b61"),function(e){var n=t;return e.$$watchExpr("ngDisabled",n("0x2184"),r,!1)}]).directive("ngMessages",(function(){var e=t;return{restrict:"A",require:e("0x1cf6"),link:function(t,a,r,i){var o=e;r[o("0x1bd4")](n)||!a[o("0x417f")](o("0x42a2"))&&a.attr("aria-live","assertive")}}}))[t("0x1b75")](t("0x17e3"),[t("0x1b61"),"$parse",function(e,t){return{restrict:"A",compile:function(a,o){var x=a2_0x37cf;if(!o[x("0x1bd4")](n)){var s=t(o[x("0x17e3")]);return function(t,n,a){var o=x;!i(n,r)&&(e[o("0x1805")]("bindRoleForClick")&&!n[o("0x417f")](o("0x3517"))&&n.attr("role",o("0x22d7")),e[o("0x1805")]("tabindex")&&!n[o("0x417f")]("tabindex")&&n[o("0x417f")](o("0x562"),0),e[o("0x1805")](o("0x4257"))&&!a[o("0x3026")]&&!a.ngKeypress&&!a[o("0x2dc9")]&&n.on(o("0x468d"),(function(e){var n=o,a=e[n("0x2d41")]||e[n("0x4ff2")];(13===a||32===a)&&(-1===r.indexOf(e.target.nodeName)&&!e[n("0x55d")][n("0x240a")]&&e[n("0xe50")](),t[n("0xd66")]((function(){s(t,{$event:e})})))})))}}}}}]).directive("ngDblclick",["$aria",function(e){return function(t,a,o){var x=a2_0x37cf;o[x("0x1bd4")](n)||e[x("0x1805")](x("0x562"))&&!a[x("0x417f")](x("0x562"))&&!i(a,r)&&a[x("0x417f")](x("0x562"),0)}}])},7828:(e,t,n)=>{var a=_0x299160;n(6222),e[a("0x33f9")]=a("0xafa")},4634:(e,t,n)=>{var a;e[(a=a2_0x37cf)("0x33f9")]=function(e,t){var n=a2_0x37cf;t[n("0xbda")][n("0x4d11")][n("0xb5")]="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",t[n("0xbda")][n("0x4d11")].tooltips[n("0x38aa")]=n("0x32b"),t[n("0xbda")][n("0x4d11")][n("0x3a17")][n("0x4b2d")][n("0x1914")]=2,t[n("0xbda")].global[n("0x3a17")].rectangle[n("0x1914")]=2,t[n("0xbda")][n("0x4d11")][n("0x4695")][n("0x37b3")]=!1,t[n("0xbda")][n("0x4d11")][n("0x273f")]=["#97BBCD",n("0x3d9"),"#F7464A",n("0x1be7"),n("0x2ab1"),n("0x218a"),n("0x1c95")];var a=typeof window.G_vmlCanvasManager===n("0x1b1d")&&null!==window[n("0x26db")]&&typeof window.G_vmlCanvasManager.initElement===n("0x3349");return a&&(t[n("0xbda")][n("0x4d11")][n("0x2f73")]=!1),e[n("0x39e9")](n("0x3879"),[])[n("0x4b0")](n("0x3c19"),r).factory(n("0x44a2"),[n("0x3c19"),n("0x38d4"),i])[n("0x1b75")](n("0x1b2c"),[n("0x44a2"),function(e){return new e}]).directive(n("0x2235"),["ChartJsFactory",function(e){return new e(n("0x4b2d"))}])[n("0x1b75")](n("0x3843"),[n("0x44a2"),function(e){return new e(n("0x7fb"))}])[n("0x1b75")]("chartHorizontalBar",[n("0x44a2"),function(e){return new e("horizontalBar")}]).directive(n("0x1495"),["ChartJsFactory",function(e){return new e(n("0x2a8e"))}])[n("0x1b75")](n("0x4b9c"),[n("0x44a2"),function(e){return new e("doughnut")}]).directive("chartPie",[n("0x44a2"),function(e){return new e("pie")}])[n("0x1b75")]("chartPolarArea",[n("0x44a2"),function(e){return new e(n("0x89a"))}])[n("0x1b75")](n("0x4769"),["ChartJsFactory",function(e){return new e(n("0x1407"))}]).name;function r(){var a=n,r={responsive:!0},i={Chart:t,getOptions:function(t){var n=t&&r[t]||{};return e.extend({},r,n)}};this.setOptions=function(t,n){var a=a2_0x37cf;n?r[t]=e.merge(r[t]||{},n):(n=t,r=e[a("0x34a1")](r,n)),e[a("0x34a1")](i[a("0xc0c")][a("0xbda")],r)},this[a("0x1cc9")]=function(){return i}}function i(n,r){return function(t){return{restrict:"CA",scope:{chartGetColor:"=?",chartType:"=",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColors:"=?",chartClick:"=?",chartHover:"=?",chartDatasetOverride:"=?"},link:function(n,r){var x=a2_0x37cf;function s(e,a){var s=x;if(e&&e[s("0x5e9")]&&(!Array.isArray(e[0])||e[0][s("0x5e9")])){var c=t||n[s("0x137d")];if(c)return n[s("0xb64")]&&o(e,a)?T(e,n):void i(c,n,r)}else w(n)}function c(a,o){var s=x;if(!y(a)&&!e.equals(a,o)){var c=t||n[s("0x137d")];c&&i(c,n,r)}}function l(t,a){var o=x;y(t)||e[o("0x34f9")](t,a)||i(t,n,r)}a&&window.G_vmlCanvasManager[x("0x1850")](r[0]),n[x("0x7a")](x("0x15c2"),s,!0),n[x("0x7a")](x("0x59b"),c,!0),n[x("0x7a")](x("0x2f6f"),c,!0),n[x("0x7a")](x("0x3ed"),c,!0),n[x("0x7a")](x("0x3129"),c,!0),n[x("0x7a")]("chartDatasetOverride",c,!0),n[x("0x7a")](x("0x137d"),l,!1),n[x("0x24c9")](x("0x4c91"),(function(){w(n)})),n.$on(x("0x36d0"),(function(){var e=x;n.chart&&n[e("0xb64")].resize()}))}}};function i(e,t,a){var r=a2_0x37cf,i=E(e,t);if(p(t)&&C(e,t,a,i)){var o=a[0],x=o[r("0x24e3")]("2d");t[r("0x457b")]=h(t);var s=g(e,t);w(t),t[r("0xb64")]=new(n[r("0xc0c")])(x,{type:e,data:s,options:i}),t[r("0x7e0")](r("0x1ce5"),t[r("0xb64")]),A(o,t)}}function o(e,t){var n=a2_0x37cf;return!!(e&&t&&e[n("0x5e9")]&&t[n("0x5e9")])&&(Array[n("0x498f")](e[0])?e[n("0x5e9")]===t[n("0x5e9")]&&e[n("0x1906")]((function(e,a){var r=n;return e[r("0x5e9")]===t[a][r("0x5e9")]})):t[n("0x2e06")](x,0)>0&&e[n("0x5e9")]===t.length)}function x(e,t){return e+t}function s(t,n,a){var r={point:void 0,points:void 0};return function(i){var o=a2_0x37cf,x=t[o("0xb64")].getElementAtEvent||t.chart.getPointAtEvent,s=t[o("0xb64")][o("0x56a")]||t[o("0xb64")][o("0x1d7e")];if(s){var c=s[o("0x3c6b")](t[o("0xb64")],i),l=x?x[o("0x3c6b")](t[o("0xb64")],i)[0]:void 0;(!1===a||!e[o("0x34f9")](r[o("0x456f")],c)&&!e.equals(r[o("0xef5")],l))&&(r[o("0xef5")]=l,r[o("0x456f")]=c,t[n](c,i,l))}}}function c(a,r){for(var i=a2_0x37cf,o=e[i("0x4d98")](r[i("0x3129")]||n[i("0x2d7f")](a)[i("0x3129")]||t.defaults[i("0x4d11")][i("0x273f")]),x=o.length<r[i("0x15c2")][i("0x5e9")];o.length<r[i("0x15c2")][i("0x5e9")];)o[i("0x459a")](r[i("0x457b")]());return x&&(r.chartColors=o),o[i("0x19e8")](l)}function l(e){var t=a2_0x37cf;return"string"==typeof e&&"r"===e[0]?u(_(e)):typeof e===t("0x38b7")&&"#"===e[0]?u(b(e[t("0x39fa")](1))):"object"==typeof e&&null!==e?e:d()}function d(){return u([f(0,255),f(0,255),f(0,255)])}function u(e){var t=a2_0x37cf,n=e[3]||1;return{backgroundColor:m(e=e[t("0x9b3")](0,3),.2),pointBackgroundColor:m(e,n),pointHoverBackgroundColor:m(e,.8),borderColor:m(e,n),pointBorderColor:t("0x274f"),pointHoverBorderColor:m(e,n)}}function f(e,t){var n=a2_0x37cf;return Math[n("0x4184")](Math[n("0xcbb")]()*(t-e+1))+e}function m(e,t){var n=a2_0x37cf;return a?n("0x117")+e[n("0xc60")](",")+")":"rgba("+e[n("0x3abc")](t)[n("0xc60")](",")+")"}function b(e){var t=parseInt(e,16);return[t>>16&255,t>>8&255,255&t]}function _(e){var t=a2_0x37cf,n=e[t("0x2cd9")](/^rgba?\(([\d,.]+)\)$/);if(!n)throw new Error(t("0x145f"));return(e=n[1][t("0x9e5")](","))[t("0x19e8")](Number)}function p(e){var t=a2_0x37cf;return e[t("0x15c2")]&&e.chartData[t("0x5e9")]}function h(e){var t=a2_0x37cf;return typeof e.chartGetColor===t("0x3349")?e[t("0x457b")]:d}function g(e,t){var n=a2_0x37cf,a=c(e,t);return Array[n("0x498f")](t.chartData[0])?v(t.chartLabels,t.chartData,t.chartSeries||[],a,t[n("0x4211")]):S(t[n("0x2f6f")],t.chartData,a,t[n("0x4211")])}function v(t,n,a,r,i){var o=a2_0x37cf;return{labels:t,datasets:n[o("0x19e8")]((function(t,n){var x=o,s=e[x("0x3448")]({},r[n],{label:a[n],data:t});return i&&i[x("0x5e9")]>=n&&e[x("0x34a1")](s,i[n]),s}))}}function S(t,n,a,r){var i=a2_0x37cf,o={labels:t,datasets:[{data:n,backgroundColor:a[i("0x19e8")]((function(e){return e[i("0x3d85")]})),hoverBackgroundColor:a.map((function(e){return e.backgroundColor}))}]};return r&&e[i("0x34a1")](o.datasets[0],r),o}function E(t,a){var r=a2_0x37cf;return e[r("0x3448")]({},n.getOptions(t),a[r("0x3ed")])}function A(t,n){var a=a2_0x37cf;t.onclick=n[a("0x4fb3")]?s(n,a("0x4fb3"),!1):e.noop,t[a("0x1568")]=n.chartHover?s(n,a("0x1443"),!0):e[a("0x49d1")]}function T(e,t){var n=a2_0x37cf;Array.isArray(t[n("0x15c2")][0])?t.chart[n("0x237c")][n("0x23c5")][n("0x5ba")]((function(t,a){t[n("0x237c")]=e[a]})):t.chart[n("0x237c")][n("0x23c5")][0][n("0x237c")]=e,t[n("0xb64")][n("0x3fdc")](),t[n("0x7e0")](n("0x4919"),t[n("0xb64")])}function y(e){var t=a2_0x37cf;return!e||Array[t("0x498f")](e)&&!e[t("0x5e9")]||typeof e===t("0x1b1d")&&!Object.keys(e)[t("0x5e9")]}function C(e,t,n,a){var o=a2_0x37cf;return!a[o("0xdf9")]||0!==n[0][o("0x2838")]||(r((function(){i(e,t,n)}),50,!1),!1)}function w(e){var t=a2_0x37cf;e.chart&&(e.chart.destroy(),e[t("0x7e0")]("chart-destroy",e[t("0xb64")]))}}}(typeof angular!==a("0xc42")?angular:n(5734),"undefined"!=typeof Chart?Chart:n(1419))},9057:function(e,t,n){var a,r,i,o;o=a2_0x37cf,r=[n(5734)],void 0===(i=typeof(a=function(e){var t=a2_0x37cf;e[t("0x39e9")](t("0x1472"),[])[t("0x1b75")](t("0x1472"),[t("0x68c"),a]);var n=window&&window[t("0x18b6")]?window[t("0x18b6")]:function(e){setTimeout(e,0)};function a(e){var a=t;return{restrict:"A",require:[a("0x1472"),"ngModel"],controller:[a("0x36af"),a("0x4998"),a("0x428f"),a("0x68c"),"$q",r],link:function(t,r,i,o){var x=a,s=o[0],c=o[1];s[x("0x1493")]().then((function(){var a=x;["dataReady",a("0x18dd"),a("0x4a1"),a("0x1c40")][a("0x5ba")]((function(e){var t=a;s[t("0x2b3a")](e,(function(){var e=t;c.$setViewValue(s.instance[e("0x1985")]()||"")}))})),s.instance[a("0x4050")](!!i[a("0x3330")]),i[a("0xf52")](a("0x3330"),(function(e){var t=a;s[t("0x2cde")][t("0x4050")](!!e)})),n((function(){e(i.ready)(t)}))})),c[x("0x4dbb")]=function(){var e=x;s[e("0x1493")]()[e("0x34e8")]((function(){var t=e;s[t("0x2cde")][t("0x1869")](c[t("0x326c")]||"",{noSnapshot:!0,callback:function(){var e=t;s[e("0x2cde")][e("0x2928")](e("0x3513"))}})}))}}}}function r(e,a,r,i,o){var x,s=t,c=i(r.ckeditor)(e)||{},l=a[0],d=o[s("0x3a26")]();x=l.hasAttribute("contenteditable")&&l[s("0x22b9")](s("0x3ed4"))[s("0x2eb9")]()==s("0x1509")?this[s("0x2cde")]=CKEDITOR[s("0x3e47")](l,c):this.instance=CKEDITOR[s("0x3cc0")](l,c),this[s("0x2b3a")]=function(t,a){function r(){var e=arguments;n((function(){i[a2_0x37cf("0x4884")](null,e)}))}function i(){var t=a2_0x37cf,n=arguments;e[t("0xd66")]((function(){a[t("0x4884")](null,n)}))}return x.on(t,r),function(){x[a2_0x37cf("0x1dc")](t,i)}},this[s("0x2b3a")](s("0x9cf"),(function(){d[s("0x407b")](!0)})),this[s("0x1493")]=function(){return d[s("0x234e")]},e[s("0x24c9")](s("0x4c91"),(function(){var e=s;d[e("0x234e")].then((function(){x[e("0xdc5")](!1)}))}))}})===o("0x3349")?a.apply(t,r):a)||(e[o("0x33f9")]=i)},375:()=>{!function(){var e=a2_0x37cf;e("0x536"),e("0x1187"),e("0x3cc6"),e("0x425f"),e("0xd5c"),e("0x3c7e"),e("0x8e1"),e("0x3cbf"),e("0x768"),e("0x83e");function t(t){var n=e,a=isNaN(t[n("0x76f")])?new Date:new Date(t[n("0x76f")]);if(null!==t[n("0xeb5")]&&!1!==t.gmtOffset){var r=a.getTime()+6e4*a.getTimezoneOffset(),i=new Date(r+36e5*t.gmtOffset);return{hrs:i[n("0x40a0")](),mins:i[n("0x11e8")](),secs:i[n("0x3822")](),date:i}}return{hrs:a[n("0x40a0")](),mins:a[n("0x11e8")](),secs:a.getSeconds(),date:a}}angular.module(e("0x3adc"),[]).directive(e("0xedd"),[e("0x25fb"),e("0x404d"),function(n,a){return r=n,i=a,{restrict:"EA",scope:{gmtOffset:(o=e)("0x3d9b"),digitalFormat:o("0x3048"),showDigital:"=showDigital",showAnalog:o("0x8eb"),startTime:"=startTime",theme:o("0x21d0")},template:'<div class="widget-clock" ng-class="themeClass" ng-if="date"><div class="digital" ng-if="digital"><span class="time"><span class="hours">{{digital}}</span></span></div><div class="analog" ng-if="analog"><div class="square"><svg viewBox="0 0 100 100"><g transform="translate(50,50)"><circle class="clock-face" r="48" /><line ng-repeat="minor in minors track by $index" class="minor" y1="42" y2="45" ng-attr-transform="rotate({{360 * $index / minors.length}})" /><line ng-repeat="major in majors track by $index" class="major" y1="35" y2="46" ng-attr-transform="rotate({{360 * $index / majors.length}})" /><line class="hour" y1="2" y2="-20" ng-attr-transform="rotate({{30 * date.hrs + date.mins / 2}})" /><line class="minute" y1="4" y2="-30" ng-attr-transform="rotate({{6 * date.mins + date.secs / 10}})" /><g ng-attr-transform="rotate({{6 * date.secs}})"><line class="second" y1="10" y2="-38" /><line class="second-counterweight" y1="10" y2="2" /></g></g></svg></div></div><div ng-if="gmtInfo" class="gmt-info">{{gmtInfo}}</div></div>',link:function(n,a,x){var s,c=o,l={},d=n[c("0xeb5")],u=n.digitalFormat?n[c("0x1c44")]:c("0x2dbb");l[c("0x4fb0")]=null!=n.showDigital?n[c("0x4fb0")]:void 0!==x[c("0x4fb0")],l.showAnalog=null!=n[c("0x2019")]?n[c("0x2019")]:void 0!==x[c("0x2019")],l[c("0x46d4")]=void 0!==x[c("0x46d4")],l[c("0x76f")]=parseInt(n[c("0x76f")],10),n[c("0x31d9")]=n[c("0x4228")]?n[c("0x4228")]:x[c("0x4228")]?x[c("0x4228")]:"light",!l.showDigital&&!l[c("0x2019")]&&(l[c("0x2019")]=!0,l[c("0x4fb0")]=!0),n[c("0x4e14")]=!1,n.date=t(l),n[c("0x3bc5")]=!!l.showDigital&&c("0x2559"),n.analog=l.showAnalog,n[c("0x27af")]=new Array(12),n.minors=new Array(60);var f=null,m=function(){var a,r,o,x,s=c;!isNaN(l.startTime)&&(l[s("0x76f")]=l[s("0x76f")]+1e3),f=t(l),n.date=f,l.showDigital&&(n[s("0x3bc5")]=(a=f,r=u,o=d,i((x=e)("0x306c"))(a[x("0x306c")],r,o)))};s=r(m,1e3),n[c("0x7a")](c("0xeb5"),(function(t,a){var r,i,o,x,s,u,f,b,_=c;d=t,l[_("0xeb5")]=null!=d&&(f=d,b=e,((f=parseFloat(f))>0?Math[b("0x4184")](f):Math[b("0x3c59")](f))+f%1/.6),l[_("0x46d4")]&&!1!==l[_("0xeb5")]&&(n[_("0x4e14")]=(r=l.gmtOffset,i=e,o=r>0?Math[i("0x4184")](r):Math[i("0x3c59")](r),x=Math[i("0x46d")]((r>0?r:-1*r)%1*60),i("0x1c9b")+(0===r?"":(r>0?" +":" ")+((u=o)<0?(u>-10?"-0":"-")+-1*u:(u<10?"0":"")+u)+"."+(s=x,s+(s<10?"0":""))[i("0x35e7")](0,2)))),m()})),n[c("0x7a")]("digitalFormat",(function(e,t){e!=t&&(u=e)})),n[c("0x7a")](c("0x4fb0"),(function(e,t){e!=t&&(l[c("0x4fb0")]=e,n.digital=!!l.showDigital&&"Loading..")})),n[c("0x7a")]("showAnalog",(function(e,t){var a=c;e!=t&&(l.showAnalog=e,n[a("0x7b8")]=e)})),n.$watch(c("0x4228"),(function(e,t){var a=c;e!=t&&(n[a("0x31d9")]=e||(x[a("0x4228")]?x[a("0x4228")]:a("0x2d73")))})),a.on(c("0x4c91"),(function(){r[c("0x4920")](s),s=null}))}};var r,i,o}])}()},3870:()=>{!function(e,t){var n=a2_0x37cf;function a(e,a,r){var i=n,o=r[i("0x1f97")](),x=e[0];return function(e,n,r){x.cookie=function(e,n,r){var x,s,c=i;s=(r=r||{})[c("0x3176")],x=t.isDefined(r[c("0x1da4")])?r[c("0x1da4")]:o,t[c("0x29ab")](n)&&(s=c("0x4b1e"),n=""),t[c("0x1236")](s)&&(s=new Date(s));var l=encodeURIComponent(e)+"="+encodeURIComponent(n);l+=x?c("0x4909")+x:"",l+=r[c("0x3772")]?c("0x2bfe")+r[c("0x3772")]:"",l+=s?c("0x24f3")+s[c("0x7f2")]():"",l+=r.secure?";secure":"";var d=(l+=r[c("0x294f")]?c("0x2d2f")+r[c("0x294f")]:"").length+1;return d>4096&&a[c("0x1dc6")](c("0x4066")+e+"' possibly not set or overflowed because it was too large ("+d+c("0x2c8a")),l}(e,n,r)}}t[n("0x39e9")](n("0x4dc3"),["ng"])[n("0x14eb")]({angularVersion:n("0x1830")})[n("0x4b0")](n("0x1706"),[function(){var e=n,a=this[e("0xbda")]={};function r(n){return n?t[e("0x3448")]({},a,n):a}this[e("0x1cc9")]=[e("0x2f8a"),e("0x1353"),function(e,n){return{get:function(t){return e()[t]},getObject:function(e){var n=a2_0x37cf,a=this[n("0x1cf")](e);return a?t[n("0x4f68")](a):a},getAll:function(){return e()},put:function(e,t,a){n(e,t,r(a))},putObject:function(e,n,a){this[a2_0x37cf("0x32f3")](e,t.toJson(n),a)},remove:function(e,t){n(e,void 0,r(t))}}}]}]),a.$inject=["$document","$log",n("0x26e")],t[n("0x39e9")](n("0x4dc3"))[n("0x4b0")](n("0x1353"),(function(){this.$get=a}))}(window,window[_0x299160("0x40e2")])},7808:(e,t,n)=>{n(3870),e.exports="ngCookies"},9121:()=>{var e=_0x299160;angular[e("0x39e9")](e("0x428c"),[e("0x264b")]),angular[e("0x39e9")](e("0x264b"),[]).run(["$templateCache",function(t){var n=e;t[n("0x32f3")](n("0x264b"),n("0x87c"))}]),angular[e("0x39e9")]("angular-cron-jobs",[e("0x428c")]),angular[e("0x39e9")](e("0x8d7"))[e("0x1b75")](e("0x788"),[e("0x2c7c"),"baseFrequency",function(t,n){var a=e;return{restrict:"EA",replace:!0,transclude:!0,require:a("0x12bc"),scope:{ngModel:"=",config:"=",myFrequency:a("0x3e7f")},templateUrl:function(e,t){var n=a;return t[n("0x371b")]||n("0x264b")},link:function(e,r,i,o){var x=a;var s=!1;if(e.baseFrequency=n,e[x("0x2e27")]=[{value:1,label:x("0x36c6")},{value:2,label:x("0x923")},{value:3,label:x("0x396f")},{value:4,label:x("0xc06")},{value:5,label:"Month"},{value:6,label:x("0x2dfb")}],e[x("0x7a")]("ngModel",(function(n){var a=x;angular[a("0x64a")](n)&&n?(s=!0,e[a("0x1ed")]=t[a("0x4464")](n,e[a("0x368a")],e[a("0x3a1a")])):""===n&&(e[a("0x1ed")]=void 0)})),x("0x1b1d")==typeof e.config&&!e[x("0x1805")][x("0x5e9")]){if("object"==typeof e[x("0x1805")][x("0x16d1")]){var c=Object.keys(e.config[x("0x16d1")]);for(var l in c){var d=c[l][x("0x3cc0")](/^allow/,""),u=c[l];if(!e[x("0x1805")][x("0x16d1")][u])for(var f in e[x("0x2e27")])e.frequency[f][x("0x32b")]===d&&e[x("0x2e27")][x("0x2bcf")](f,1)}}angular[x("0x64a")](e.config[x("0x368a")])?e[x("0x368a")]=e.config[x("0x368a")]:e[x("0x368a")]=!1,angular[x("0x64a")](e[x("0x1805")].quartz)&&e.config[x("0x3bfc")]?e.cronStyle=x("0x3bfc"):e[x("0x3a1a")]=x("0x3993")}e[x("0x4ddd")]=[0,5,10,15,20,25,30,35,40,45,50,55],e.hourValues=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],e[x("0x1acf")]=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],e.dayValues=[0,1,2,3,4,5,6],e[x("0x1288")]=[1,2,3,4,5,6,7,8,9,10,11,12],x("0x3bfc")===e[x("0x3a1a")]&&(e[x("0xb86")]=[1,2,3,4,5,6,7]),e[x("0x7a")](x("0x1ed"),(function(a,r){var i,c,l=x;if(void 0!==a){!a||!a[l("0x20c8")]||r&&a[l("0x20c8")]===r[l("0x20c8")]||s?a&&a[l("0x20c8")]&&r&&r[l("0x20c8")]&&(s=!1):((i=a)[(c=a2_0x37cf)("0x20c8")]=parseInt(i[c("0x20c8")]),i.base>=n[c("0x17ba")]&&(i[c("0x4ddd")]=e[c("0x4ddd")][0]),i[c("0x20c8")]>=n[c("0x1588")]&&(i.hourValues=e[c("0x41cd")][0]),i[c("0x20c8")]===n[c("0x4504")]&&(i.dayValues=e.dayValues[0]),i[c("0x20c8")]>=n[c("0x1b62")]&&(i[c("0x1acf")]=e.dayOfMonthValues[0]),i[c("0x20c8")]===n[c("0x572")]&&(i[c("0x1288")]=e.monthValues[0]));var d=t.setCron(a,e[l("0x3a1a")]);o[l("0x1605")](d)}}),!0)}}}])[e("0x6a6")](e("0x4db4"),(function(){return function(e){var t=a2_0x37cf;switch(e){case 1:return t("0x233c");case 2:return"2nd";case 3:return t("0x16b4");case 21:return t("0x2c79");case 22:return"22nd";case 23:return"23rd";case 31:return t("0x2a3a");case null:return null;default:return e+"th"}}}))[e("0x6a6")](e("0x48d3"),(function(){return function(e){var t=a2_0x37cf,n={1:"January",2:"February",3:t("0x3c7e"),4:"April",5:"May",6:t("0x3cbf"),7:t("0x768"),8:"August",9:t("0x1f81"),10:t("0x4321"),11:t("0x22bd"),12:t("0x3de2")};return null!==e&&angular.isDefined(n[e])?n[e]:null}}))[e("0x6a6")](e("0x2ba2"),(function(){return function(e,t){var n,a=a2_0x37cf;return n=a("0x3bfc")===t?{1:"Sunday",2:a("0x536"),3:a("0x1187"),4:a("0x3cc6"),5:"Thursday",6:"Friday",7:a("0x48a7")}:{0:a("0x21a2"),1:"Monday",2:a("0x1187"),3:"Wednesday",4:a("0x3cbb"),5:a("0xbdf"),6:a("0x48a7")},null!==e&&angular[a("0x64a")](n[e])?n[e]:null}})).directive(e("0x4367"),(function(){return{restrict:"A",scope:{ngMultiple:"="},link:function(e,t){var n=a2_0x37cf;e.$watch(n("0x4367"),(function(e){var a=n;e?t[a("0x417f")](a("0x5c5"),a("0x5c5")):t.removeAttr(a("0x5c5"))}))}}})),angular[e("0x39e9")]("angular-cron-jobs")[e("0x3a33")]("baseFrequency",{minute:1,hour:2,day:3,week:4,month:5,year:6}).factory("cronService",[e("0x1435"),function(t){var n=e,a={};return a[n("0x41c4")]=function(e,t){var a=n;return"quartz"===t?this[a("0x49ed")](e):this[a("0x23b3")](e)},a[n("0x49ed")]=function(e){var a=n,r=["0","*","*","*","*","?"];return e&&e[a("0x20c8")]&&e[a("0x20c8")]>=t[a("0x17ba")]&&(r[1]=void 0!==e.minuteValues?e.minuteValues:"0"),e&&e[a("0x20c8")]&&e.base>=t[a("0x1588")]&&(r[2]=void 0!==e[a("0x41cd")]?e.hourValues:"*"),e&&e[a("0x20c8")]&&e[a("0x20c8")]===t[a("0x4504")]&&(r[3]="?",r[5]=e[a("0xb86")]),e&&e[a("0x20c8")]&&e[a("0x20c8")]>=t[a("0x1b62")]&&(r[3]=void 0!==e[a("0x1acf")]?e.dayOfMonthValues:"?"),e&&e[a("0x20c8")]&&e.base===t[a("0x572")]&&(r[4]=void 0!==e[a("0x1288")]?e.monthValues:"*"),r[a("0xc60")](" ")},a[n("0x23b3")]=function(e){var a=n,r=["*","*","*","*","*"];return e&&e[a("0x20c8")]&&e[a("0x20c8")]>=t.hour&&(r[0]=void 0!==e[a("0x4ddd")]?e[a("0x4ddd")]:"*"),e&&e[a("0x20c8")]&&e[a("0x20c8")]>=t[a("0x1588")]&&(r[1]=void 0!==e[a("0x41cd")]?e[a("0x41cd")]:"*"),e&&e[a("0x20c8")]&&e.base===t[a("0x4504")]&&(r[4]=e[a("0xb86")]),e&&e[a("0x20c8")]&&e[a("0x20c8")]>=t[a("0x1b62")]&&(r[2]=void 0!==e.dayOfMonthValues?e[a("0x1acf")]:"*"),e&&e.base&&e[a("0x20c8")]===t.year&&(r[3]=void 0!==e[a("0x1288")]?e.monthValues:"*"),r.join(" ")},a[n("0x4464")]=function(e,t,a){var r=n;return"quartz"===a?this[r("0x3800")](e,t):this[r("0x406d")](e,t)},a[n("0x406d")]=function(e,a){var r=n,i=e[r("0x3cc0")](/\s+/g," ")[r("0x9e5")](" "),o={base:"1"},x=[];if("*"===i[0]&&"*"===i[1]&&"*"===i[2]&&"*"===i[3]&&"*"===i[4]?o[r("0x20c8")]=t.minute:"*"===i[1]&&"*"===i[2]&&"*"===i[3]&&"*"===i[4]?o[r("0x20c8")]=t[r("0x17ba")]:"*"===i[2]&&"*"===i[3]&&"*"===i[4]?o[r("0x20c8")]=t.day:"*"===i[2]&&"*"===i[3]?o[r("0x20c8")]=t[r("0x4504")]:"*"===i[3]&&"*"===i[4]?o.base=t[r("0x1b62")]:"*"===i[4]&&(o[r("0x20c8")]=t[r("0x572")]),"*"!==i[0])if(a){x=i[0][r("0x9e5")](",");for(var s=0;s<x[r("0x5e9")];s++)x[s]=+x[s];o[r("0x4ddd")]=x}else o[r("0x4ddd")]=parseInt(i[0]);if("*"!==i[1])if(a){x=i[1][r("0x9e5")](",");for(s=0;s<x[r("0x5e9")];s++)x[s]=+x[s];o[r("0x41cd")]=x}else o[r("0x41cd")]=parseInt(i[1]);if("*"!==i[2])if(a){x=i[2][r("0x9e5")](",");for(s=0;s<x[r("0x5e9")];s++)x[s]=+x[s];o.dayOfMonthValues=x}else o.dayOfMonthValues=parseInt(i[2]);if("*"!==i[3])if(a){x=i[3][r("0x9e5")](",");for(s=0;s<x[r("0x5e9")];s++)x[s]=+x[s];o.monthValues=x}else o[r("0x1288")]=parseInt(i[3]);if("*"!==i[4])if(a){x=i[4].split(",");for(s=0;s<x.length;s++)x[s]=+x[s];o[r("0xb86")]=x}else o.dayValues=parseInt(i[4]);return o},a[n("0x3800")]=function(e,t){var a=n,r=e[a("0x3cc0")](/\s+/g," ")[a("0x9e5")](" "),i={base:"1"},o=[];if("*"===r[1]&&"*"===r[2]&&"*"===r[3]&&"*"===r[4]&&"?"===r[5]?i[a("0x20c8")]=1:"*"===r[2]&&"*"===r[3]&&"*"===r[4]&&"?"===r[5]?i[a("0x20c8")]=2:"*"===r[3]&&"*"===r[4]&&"?"===r[5]?i[a("0x20c8")]=3:"?"===r[3]?i[a("0x20c8")]=4:"*"===r[4]&&"?"===r[5]?i[a("0x20c8")]=5:"?"===r[5]&&(i[a("0x20c8")]=6),"*"!==r[1])if(t){o=r[1].split(",");for(var x=0;x<o.length;x++)o[x]=+o[x];i[a("0x4ddd")]=o}else i[a("0x4ddd")]=parseInt(r[1]);if("*"!==r[2])if(t){o=r[2][a("0x9e5")](",");for(x=0;x<o[a("0x5e9")];x++)o[x]=+o[x];i[a("0x41cd")]=o}else i[a("0x41cd")]=parseInt(r[2]);if("*"!==r[3]&&"?"!==r[3])if(t){o=r[3][a("0x9e5")](",");for(x=0;x<o.length;x++)o[x]=+o[x];i[a("0x1acf")]=o}else i[a("0x1acf")]=parseInt(r[3]);if("*"!==r[4])if(t){o=r[4].split(",");for(x=0;x<o.length;x++)o[x]=+o[x];i[a("0x1288")]=o}else i.monthValues=parseInt(r[4]);if("*"!==r[5]&&"?"!==r[5])if(t){o=r[5][a("0x9e5")](",");for(x=0;x<o[a("0x5e9")];x++)o[x]=+o[x];i[a("0xb86")]=o}else i[a("0xb86")]=parseInt(r[5]);return i},a}])},2022:()=>{!function(e,t,n){var a=a2_0x37cf,r=t[a("0x64a")],i=t[a("0x29ab")],o=t[a("0x4977")],x=t.isString,s=t.isNumber,c=t[a("0x1f1a")],l=t.isArray,d=t[a("0x5ba")],u=t[a("0x3448")],f=t[a("0x4d98")],m=t[a("0x34f9")];function b(e){var t=a;return l(e)?e:Object[t("0xa35")](e)[t("0x19e8")]((function(t){return e[t]}))}function _(e){return null===e}function p(e,t){var r=a;return-1==Object[r("0xa35")](e)[r("0x19e8")]((function(a){return t[a]!==n&&t[a]==e[a]}))[r("0x3507")](!1)}function h(e,t){var n=a;function r(e,t,n){for(var a=a2_0x37cf,r=0;t+r<=e[a("0x5e9")];){if(e[a("0x24de")](t+r)==n)return r;r++}return-1}for(var i=0,o=0;o<=t[n("0x5e9")];o++){var x=r(e,i,t.charAt(o));if(-1==x)return!1;i+=x+1}return!0}function g(e,t,n){var i=0;return e[a("0x6a6")]((function(e){var a=r(n)?i<t&&n(e):i<t;return i=a?i+1:i,a}))}function v(e,t){var n=a;return Math[n("0x46d")](e*Math[n("0x3861")](10,t))/Math[n("0x3861")](10,t)}function S(e,t,n){var r=a;return t=t||[],Object[r("0xa35")](e).forEach((function(a){var i=r;if(c(e[a])&&!l(e[a])){var o=n?n+"."+a:n;S(e[a],t,o||a)}else{var x=n?n+"."+a:a;t[i("0x459a")](x)}})),t}function E(e){var t=a;return e&&e[t("0x33ff")]&&e[t("0x7a")]}function A(){return function(e,t){return e>t}}function T(){return function(e,t){return e>=t}}function y(){return function(e,t){return e<t}}function C(){return function(e,t){return e<=t}}function w(){return function(e,t){return e==t}}function M(){return function(e,t){return e!=t}}function R(){return function(e,t){return e===t}}function D(){return function(e,t){return e!==t}}function I(e){return function(t,n){var a=a2_0x37cf;return t=c(t)?b(t):t,!(!l(t)||i(n))&&t[a("0x906")]((function(t){return x(n)&&c(t)||o(n)?e(n)(t):t===n}))}}function N(e,t){var n=a;return(t=t||0)>=e[n("0x5e9")]?e:l(e[t])?N(e.slice(0,t)[n("0x3abc")](e[t],e[n("0x9b3")](t+1)),t):N(e,t+1)}function O(e){return function(t,n){var a=a2_0x37cf;if(t=c(t)?b(t):t,!l(t))return t;var r=[],o=e(n);return i(n)?t[a("0x6a6")]((function(e,t,n){return n.indexOf(e)===t})):t[a("0x6a6")]((function(e){var t,n,x,s=o(e);return t=r,x=a,!(!i(n=s)&&t[x("0x906")]((function(e){return m(e,n)})))&&(r.push(s),!0)}))}}function k(e,t,n){return t?e+n+k(e,--t,n):e}function P(){return function(e){var t=a2_0x37cf;return x(e)?e[t("0x9e5")](" ")[t("0x19e8")]((function(e){var n=t;return e[n("0x24de")](0)[n("0x110")]()+e[n("0x35e7")](1)}))[t("0xc60")](" "):e}}!String[a("0x20f")][a("0x2a10")]&&(String[a("0x20f")][a("0x2a10")]=function(){var e=a;return-1!==String.prototype[e("0x3507")][e("0x4884")](this,arguments)}),t.module(a("0x340f"),[])[a("0x6a6")](a("0x29ab"),(function(){return function(e){return t[a2_0x37cf("0x29ab")](e)}}))[a("0x6a6")](a("0x64a"),(function(){return function(e){return t[a2_0x37cf("0x64a")](e)}}))[a("0x6a6")]("isFunction",(function(){return function(e){return t[a2_0x37cf("0x4977")](e)}}))[a("0x6a6")](a("0x1236"),(function(){return function(e){return t[a2_0x37cf("0x1236")](e)}}))[a("0x6a6")](a("0x1ba0"),(function(){return function(e){return t[a2_0x37cf("0x1ba0")](e)}}))[a("0x6a6")]("isArray",(function(){return function(e){return t[a2_0x37cf("0x498f")](e)}})).filter(a("0x1f1a"),(function(){return function(e){return t.isObject(e)}}))[a("0x6a6")](a("0x4f17"),(function(){return function(e,n){return t[a2_0x37cf("0x34f9")](e,n)}})),t[a("0x39e9")]("a8m.conditions",[])[a("0x6a6")]({isGreaterThan:A,">":A,isGreaterThanOrEqualTo:T,">=":T,isLessThan:y,"<":y,isLessThanOrEqualTo:C,"<=":C,isEqualTo:w,"==":w,isNotEqualTo:M,"!=":M,isIdenticalTo:R,"===":R,isNotIdenticalTo:D,"!==":D}),t[a("0x39e9")](a("0x25e9"),[])[a("0x6a6")](a("0xd87"),(function(){return function(e){return _(e)}})),t[a("0x39e9")](a("0x495e"),[])[a("0x6a6")](a("0x341b"),(function(){return function(e,t){var n=a2_0x37cf;if(e=c(e)?b(e):e,!l(e)||i(t))return e;var a=e[n("0x19e8")]((function(e){return p(t,e)}))[n("0x3507")](!0);return e.slice(-1===a?0:a)}})),t[a("0x39e9")](a("0x3f30"),[]).filter("after",(function(){return function(e,t){var n=a2_0x37cf;return e=c(e)?b(e):e,l(e)?e[n("0x9b3")](t):e}})),t[a("0x39e9")](a("0x2c88"),[]).filter(a("0x38ca"),(function(){return function(e,t){var n=a2_0x37cf;if(e=c(e)?b(e):e,!l(e)||i(t))return e;var a=e[n("0x19e8")]((function(e){return p(t,e)})).indexOf(!0);return e.slice(0,-1===a?e.length:++a)}})),t[a("0x39e9")](a("0x182a"),[]).filter("before",(function(){return function(e,t){var n=a2_0x37cf;return e=c(e)?b(e):e,l(e)?e[n("0x9b3")](0,t?--t:t):e}})),t.module("a8m.chunk-by",["a8m.filter-watcher"])[a("0x6a6")](a("0x1e11"),["filterWatcher",function(e){return function(t,n,a){var r=a2_0x37cf;return e.isMemoized("chunkBy",arguments)||e[r("0x4bb9")](r("0x1e11"),arguments,this,x(t,n,a));function o(e,t){for(var n=[];e--;)n[e]=t;return n}function x(e,t,n){var a=r;return l(e)?e[a("0x19e8")]((function(e,r,x){var s=a;return r*=t,e=x[s("0x9b3")](r,r+t),!i(n)&&e[s("0x5e9")]<t?e[s("0x3abc")](o(t-e[s("0x5e9")],n)):e}))[a("0x9b3")](0,Math[a("0x3c59")](e.length/t)):e}}}]),t[a("0x39e9")]("a8m.concat",[])[a("0x6a6")]("concat",[function(){return function(e,t){var n=a2_0x37cf;if(i(t))return e;if(l(e))return c(t)?e.concat(b(t)):e[n("0x3abc")](t);if(c(e)){var a=b(e);return c(t)?a[n("0x3abc")](b(t)):a[n("0x3abc")](t)}return e}}]),t[a("0x39e9")](a("0x3ccd"),[])[a("0x6a6")]({contains:[a("0x68c"),I],some:[a("0x68c"),I]}),t.module(a("0x3e70"),[])[a("0x6a6")](a("0x3620"),["$parse",function(e){return function(t,n){var a,r=a2_0x37cf,o={},x=e(n);return t=c(t)?b(t):t,!l(t)||i(n)?t:(t[r("0x5ba")]((function(e){a=x(e),!o[a]&&(o[a]=0),o[a]++})),o)}}]),t[a("0x39e9")](a("0x4be1"),[])[a("0x6a6")](a("0xbda"),[a("0x68c"),function(e){return function(t,n){var a=a2_0x37cf;if(t=c(t)?b(t):t,!l(t)||!c(n))return t;var r=S(n);return t[a("0x5ba")]((function(t){var o=a;r[o("0x5ba")]((function(a){var r=o,x=e(a),s=x[r("0x3df0")];i(x(t))&&s(t,x(n))}))})),t}}]),t[a("0x39e9")]("a8m.every",[])[a("0x6a6")]("every",[a("0x68c"),function(e){return function(t,n){var a=a2_0x37cf;return t=c(t)?b(t):t,!(l(t)&&!i(n))||t[a("0x1906")]((function(t){return c(t)||o(n)?e(n)(t):t===n}))}}]),t[a("0x39e9")](a("0x31c9"),[])[a("0x6a6")](a("0x228d"),["$parse",function(e){return function(t,a,r,o){var d,u=a2_0x37cf;return r=x(r)||s(r)?String(r).toLowerCase():n,t=c(t)?b(t):t,!l(t)||i(r)?t:t[u("0x6a6")]((function(t){return a.some((function(n){var a=a2_0x37cf;if(~n[a("0x3507")]("+")){var i=n[a("0x3cc0")](/\s+/g,"")[a("0x9e5")]("+");d=i.map((function(n){return e(n)(t)}))[a("0xc60")](" ")}else d=e(n)(t);return!(!x(d)&&!s(d))&&(d=String(d)[a("0x2eb9")](),o?d===r:d.contains(r))}))}))}}]),t[a("0x39e9")](a("0x4ee7"),[])[a("0x6a6")](a("0x81d"),[a("0x68c"),function(e){return function(t){var a,r,i,o=a2_0x37cf;return t=c(t)?b(t):t,l(t)?(i=Array[o("0x20f")].slice[o("0x3c6b")](arguments,1),a=s(i[0])?i[0]:1,r=s(i[0])?s(i[1])?n:i[1]:i[0],i[o("0x5e9")]?g(t,a,r?e(r):r):t[0]):t}}]),t[a("0x39e9")]("a8m.flatten",[])[a("0x6a6")](a("0x9d5"),(function(){return function(e,t){var n=a2_0x37cf;return t=t||!1,e=c(e)?b(e):e,l(e)?t?[][n("0x3abc")][n("0x4884")]([],e):N(e,0):e}})),t[a("0x39e9")](a("0x4dd9"),[])[a("0x6a6")]("fuzzyBy",["$parse",function(e){return function(t,n,a,r){var o,s,d=a2_0x37cf,u=r||!1;return t=c(t)?b(t):t,!l(t)||i(n)||i(a)?t:(s=e(n),t[d("0x6a6")]((function(e){var t=d;return o=s(e),!!x(o)&&(o=u?o:o[t("0x2eb9")](),a=u?a:a.toLowerCase(),!1!==h(o,a))})))}}]),t[a("0x39e9")](a("0x410c"),[])[a("0x6a6")]("fuzzy",(function(){return function(e,t,n){var a=a2_0x37cf,r=n||!1;return e=c(e)?b(e):e,!l(e)||i(t)?e:(t=r?t:t[a("0x2eb9")](),e.filter((function(e){var n,i,o,s,l=a;return x(e)?!1!==h(e=r?e:e[l("0x2eb9")](),t):!!c(e)&&(n=e,i=t,0<Object[a("0xa35")](n).filter((function(e){return o=n[e],!!s||!!x(o)&&(o=r?o:o.toLowerCase(),s=!1!==h(o,i))})).length)})))}})),t[a("0x39e9")](a("0x4f6"),[a("0x842")])[a("0x6a6")]("groupBy",["$parse",a("0x4810"),function(e,t){return function(n,a){var r=a2_0x37cf;return!c(n)||i(a)?n:t[r("0x1d36")](r("0x2d4"),arguments)||t[r("0x4bb9")]("groupBy",arguments,this,o(n,e(a)));function o(e,t){var n,a={};return d(e,(function(e){n=t(e),!a[n]&&(a[n]=[]),a[n].push(e)})),a}}}]),t[a("0x39e9")](a("0x2f52"),[])[a("0x6a6")]("isEmpty",(function(){return function(e){return c(e)?!b(e).length:!e.length}})),t[a("0x39e9")](a("0x211a"),[])[a("0x6a6")](a("0xc60"),(function(){return function(e,t){var n=a2_0x37cf;return i(e)||!l(e)?e:(i(t)&&(t=" "),e[n("0xc60")](t))}})),t[a("0x39e9")]("a8m.last",[]).filter("last",[a("0x68c"),function(e){return function(t){var a,r,i,o=a2_0x37cf,x=f(t);return x=c(x)?b(x):x,l(x)?(i=Array.prototype[o("0x9b3")].call(arguments,1),a=s(i[0])?i[0]:1,r=s(i[0])?s(i[1])?n:i[1]:i[0],i.length?g(x[o("0x48d")](),a,r?e(r):r)[o("0x48d")]():x[x[o("0x5e9")]-1]):x}}]),t.module(a("0x54c"),[])[a("0x6a6")]("map",["$parse",function(e){return function(t,n){var a=a2_0x37cf;return t=c(t)?b(t):t,!l(t)||i(n)?t:t[a("0x19e8")]((function(t){return e(n)(t)}))}}]),t.module(a("0x494d"),[])[a("0x6a6")](a("0x3613"),[a("0x68c"),function(e){return function(t,n){var a=a2_0x37cf;return t=c(t)?b(t):t,!l(t)||i(n)?t:t[a("0x6a6")]((function(t){return!e(n)(t)}))}}]),t[a("0x39e9")](a("0x2399"),[])[a("0x6a6")](a("0x389"),["$parse",function(e){return function(t,n){var a=a2_0x37cf;return t=c(t)?b(t):t,!l(t)||i(n)?t:t[a("0x6a6")]((function(t){return e(n)(t)}))}}]),t[a("0x39e9")](a("0x35ac"),[])[a("0x6a6")](a("0x205"),(function(){return function(e,t,n,a,r){var i=a2_0x37cf;n=n||0,a=a||1;for(var x=0;x<parseInt(t);x++){var s=n+x*a;e[i("0x459a")](o(r)?r(s):s)}return e}})),t[a("0x39e9")]("a8m.remove-with",[]).filter(a("0x15b6"),(function(){return function(e,t){var n=a2_0x37cf;return i(t)?e:(e=c(e)?b(e):e)[n("0x6a6")]((function(e){return!p(t,e)}))}})),t[a("0x39e9")](a("0x3819"),[])[a("0x6a6")](a("0xf82"),(function(){return function(e){var t=a2_0x37cf;e=c(e)?b(e):e;var n=Array.prototype[t("0x9b3")][t("0x3c6b")](arguments,1);return l(e)?e[t("0x6a6")]((function(e){return!n.some((function(t){return m(t,e)}))})):e}})),t.module(a("0x1217"),[]).filter(a("0x48d"),[function(){return function(e){var t=a2_0x37cf;return e=c(e)?b(e):e,x(e)?e[t("0x9e5")]("")[t("0x48d")]()[t("0xc60")](""):l(e)?e[t("0x9b3")]()[t("0x48d")]():e}}]),t[a("0x39e9")](a("0x3455"),[]).filter(a("0x3c5f"),[a("0x68c"),function(e){return function(t){var n,a=a2_0x37cf;t=c(t)?b(t):t;var r=Array.prototype[a("0x9b3")][a("0x3c6b")](arguments,1);return l(t)&&r[a("0x5e9")]?t[a("0x19e8")]((function(t){return n=r[a("0x19e8")]((function(n){return e(n)(t)})).join(" "),u(t,{searchField:n})})):t}}]),t[a("0x39e9")]("a8m.to-array",[])[a("0x6a6")](a("0x486"),(function(){return function(e,t){var n=a2_0x37cf;return c(e)?t?Object[n("0xa35")](e).map((function(t){return u(e[t],{$key:t})})):b(e):e}})),t[a("0x39e9")](a("0x3927"),[]).filter({unique:["$parse",O],uniq:[a("0x68c"),O]}),t.module(a("0x3af3"),[])[a("0x6a6")]("where",(function(){return function(e,t){var n=a2_0x37cf;return i(t)?e:(e=c(e)?b(e):e)[n("0x6a6")]((function(e){return p(t,e)}))}})),t[a("0x39e9")](a("0x2f0b"),[])[a("0x6a6")](a("0x26b7"),["$parse",function(e){return function(t,n,a){var r=a2_0x37cf;return a=a||!1,t=c(t)?b(t):t,n=c(n)?b(n):n,l(t)&&l(n)?t.concat(n)[r("0x6a6")]((function(e){return!(i(e,t)&&i(e,n))})):t;function i(t,n){var i=r,o=e(a);return n[i("0x906")]((function(e){return a?m(o(e),o(t)):m(e,t)}))}}}]),t[a("0x39e9")](a("0x3f4b"),[]).filter("abs",(function(){return function(e){return Math[a2_0x37cf("0x681")](e)}})),t[a("0x39e9")](a("0x66"),[])[a("0x6a6")]("byteFmt",(function(){var e=a,t=[{str:"B",val:1024}];return["KB","MB","GB","TB","PB","EB","ZB","YB"][e("0x5ba")]((function(n,a){var r=e;t[r("0x459a")]({str:n,val:1024*t[a][r("0x435d")]})})),function(n,a){var r=e;if(s(a)&&isFinite(a)&&a%1==0&&a>=0&&s(n)&&isFinite(n)){for(var i=0;i<t[r("0x5e9")]-1&&n>=t[i][r("0x435d")];)i++;return v(n/=i>0?t[i-1].val:1,a)+" "+t[i][r("0x43a5")]}return r("0x101d")}})),t.module(a("0x1f56"),[])[a("0x6a6")](a("0x1672"),(function(){return function(e,t){var n=a2_0x37cf;if(s(t)&&isFinite(t)&&t%1==0&&t>=0&&s(e)&&isFinite(e)){var a=180*e/Math.PI;return Math[n("0x46d")](a*Math[n("0x3861")](10,t))/Math.pow(10,t)}return n("0x101d")}})),t[a("0x39e9")](a("0x2c33"),[])[a("0x6a6")](a("0x41b4"),(function(){var e=a,t=[{str:"KB",val:1024}];return["MB","GB","TB","PB","EB","ZB","YB"][e("0x5ba")]((function(n,a){var r=e;t[r("0x459a")]({str:n,val:1024*t[a][r("0x435d")]})})),function(n,a){var r=e;if(s(a)&&isFinite(a)&&a%1==0&&a>=0&&s(n)&&isFinite(n)){for(var i=0;i<t[r("0x5e9")]-1&&n>=t[i][r("0x435d")];)i++;return v(n/=i>0?t[i-1][r("0x435d")]:1,a)+" "+t[i][r("0x43a5")]}return r("0x101d")}})),t.module(a("0x21ba"),[])[a("0x6a6")](a("0x242b"),[a("0x68c"),function(e){return function(t,n){var a,r,o,x,s=a2_0x37cf;return l(t)?i(n)?Math[s("0x242b")][s("0x4884")](Math,t):t[(a=t,r=n,o=a2_0x37cf,x=a[o("0x19e8")]((function(t){return e(r)(t)})),x[o("0x3507")](Math[o("0x242b")].apply(Math,x)))]:t}}]),t[a("0x39e9")](a("0x289e"),[])[a("0x6a6")](a("0x11db"),[a("0x68c"),function(e){return function(t,n){var a,r,o,x,s=a2_0x37cf;return l(t)?i(n)?Math[s("0x11db")].apply(Math,t):t[(a=t,r=n,o=a2_0x37cf,x=a[o("0x19e8")]((function(t){return e(r)(t)})),x[o("0x3507")](Math.min.apply(Math,x)))]:t}}]),t.module(a("0x8d2"),[])[a("0x6a6")]("percent",(function(){return function(e,t,n){var a=a2_0x37cf,r=x(e)?Number(e):e;return t=t||100,n=n||!1,!s(r)||isNaN(r)?e:n?Math[a("0x46d")](r/t*100):r/t*100}})),t[a("0x39e9")](a("0x39b0"),[])[a("0x6a6")](a("0x1166"),(function(){return function(e,t){var n=a2_0x37cf;if(s(t)&&isFinite(t)&&t%1==0&&t>=0&&s(e)&&isFinite(e)){var a=3.14159265359*e/180;return Math[n("0x46d")](a*Math[n("0x3861")](10,t))/Math[n("0x3861")](10,t)}return n("0x101d")}})),t[a("0x39e9")](a("0x7da"),[])[a("0x6a6")](a("0x1c0a"),(function(){return function(e,t){var n=a2_0x37cf;return s(e)&&/^[2-9]$|^[1-2]\d$|^3[0-6]$/[n("0x3ff3")](t)?e[n("0x3c88")](t).toUpperCase():e}})),t.module("a8m.math.shortFmt",[])[a("0x6a6")](a("0x46fb"),(function(){return function(e,t){return s(t)&&isFinite(t)&&t%1==0&&t>=0&&s(e)&&isFinite(e)?e<1e3?""+e:e<1e6?v(e/1e3,t)+" K":e<1e9?v(e/1e6,t)+" M":v(e/1e9,t)+" B":"NaN"}})),t[a("0x39e9")](a("0x4d0e"),[]).filter("sum",(function(){return function(e,t){return l(e)?e.reduce((function(e,t){return e+t}),t||0):e}})),t[a("0x39e9")](a("0x222d"),[]).filter(a("0x2970"),(function(){return function(e,t,n){var a,r=a2_0x37cf,o=n||!1;return!x(e)||i(t)?e:(a=(e=o?e:e.toLowerCase())[r("0x5e9")]-t[r("0x5e9")],-1!==e[r("0x3507")](o?t:t[r("0x2eb9")](),a))}})),t[a("0x39e9")](a("0x1a98"),[])[a("0x6a6")]("latinize",[function(){for(var e=a,t=[{base:"A",letters:e("0x332b")},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷＢḂḄḆɃƂƁ"},{base:"C",letters:e("0x32d")},{base:"D",letters:"DⒹＤḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"ǱǄ"},{base:"Dz",letters:"ǲǅ"},{base:"E",letters:e("0x3d14")},{base:"F",letters:e("0x2f4")},{base:"G",letters:e("0x10b3")},{base:"H",letters:"HⒽＨĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾＩÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:e("0x36a9")},{base:"K",letters:"KⓀＫḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:e("0x4a9e")},{base:"LJ",letters:"Ǉ"},{base:"Lj",letters:"ǈ"},{base:"M",letters:e("0x2230")},{base:"N",letters:"NⓃＮǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"Ǌ"},{base:"Nj",letters:"ǋ"},{base:"O",letters:e("0x2a92")},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"Œ"},{base:"oe",letters:"œ"},{base:"P",letters:e("0x247c")},{base:"Q",letters:"QⓆＱꝖꝘɊ"},{base:"R",letters:e("0x13be")},{base:"S",letters:"SⓈＳẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:e("0x3c49")},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊＵÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋＶṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:e("0x3b95")},{base:"X",letters:e("0x46b9")},{base:"Y",letters:e("0x1ca8")},{base:"Z",letters:e("0x172")},{base:"a",letters:"aⓐａẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:e("0x124b")},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:e("0x277c")},{base:"c",letters:"cⓒｃćĉċčçḉƈȼꜿↄ"},{base:"d",letters:e("0x297e")},{base:"dz",letters:"ǳǆ"},{base:"e",letters:e("0xd8d")},{base:"f",letters:e("0x348")},{base:"g",letters:e("0x3f10")},{base:"h",letters:e("0x2b60")},{base:"hv",letters:"ƕ"},{base:"i",letters:e("0x2186")},{base:"j",letters:e("0x21d3")},{base:"k",letters:e("0xdc9")},{base:"l",letters:"lⓛｌŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"ǉ"},{base:"m",letters:e("0x47bf")},{base:"n",letters:e("0x23fa")},{base:"nj",letters:"ǌ"},{base:"o",letters:"oⓞｏòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟｐṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:e("0x4b40")},{base:"r",letters:e("0x43ad")},{base:"s",letters:e("0x23a7")},{base:"t",letters:"tⓣｔṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:e("0x701")},{base:"v",letters:e("0x1abb")},{base:"vy",letters:"ꝡ"},{base:"w",letters:e("0x2bfd")},{base:"x",letters:"xⓧｘẋẍ"},{base:"y",letters:"yⓨｙỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:e("0x21fb")}],n={},r=0;r<t[e("0x5e9")];r++)for(var i=t[r][e("0x24ce")][e("0x9e5")](""),o=0;o<i[e("0x5e9")];o++)n[i[o]]=t[r][e("0x20c8")];return function(e){return x(e)?e.replace(/[^\u0000-\u007E]/g,(function(e){return n[e]||e})):e}}]),t[a("0x39e9")]("a8m.ltrim",[])[a("0x6a6")](a("0x43e7"),(function(){return function(e,t){var n=a2_0x37cf,a=t||"\\s";return x(e)?e[n("0x3cc0")](new RegExp("^"+a+"+"),""):e}})),t[a("0x39e9")](a("0x2c8c"),[]).filter(a("0x2cd9"),(function(){return function(e,t,n){var a=a2_0x37cf,r=new RegExp(t,n);return x(e)?e[a("0x2cd9")](r):null}})),t.module("a8m.phoneUS",[])[a("0x6a6")](a("0x1d31"),(function(){return function(e){var t=a2_0x37cf;return"("+(e+="")[t("0x9b3")](0,3)+") "+e[t("0x9b3")](3,6)+"-"+e[t("0x9b3")](6)}})),t.module(a("0x3860"),[])[a("0x6a6")](a("0x4188"),[function(){return function(e,t,n){var a=~~t;return x(e)&&a?k(e,--t,n||""):e}}]),t[a("0x39e9")](a("0x361e"),[])[a("0x6a6")](a("0x1d9"),(function(){return function(e,t){var n=a2_0x37cf,a=t||"\\s";return x(e)?e[n("0x3cc0")](new RegExp(a+"+$"),""):e}})),t.module(a("0x4e28"),[])[a("0x6a6")]("slugify",[function(){return function(e,t){var n=a2_0x37cf,a=i(t)?"-":t;return x(e)?e[n("0x2eb9")]().replace(/\s+/g,a):e}}]),t[a("0x39e9")](a("0x79"),[])[a("0x6a6")](a("0x9e5"),(function(){return function(e,t,n){var a,r,o,s,c=a2_0x37cf;return i(e)||!x(e)?null:(i(t)&&(t=""),isNaN(n)&&(n=0),a=new RegExp(t[a2_0x37cf("0x3cc0")](/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),"g"),_(r=e[c("0x2cd9")](a))||n>=r[c("0x5e9")]?[e]:0===n?e.split(t):(s=(o=e[c("0x9e5")](t)).splice(0,n+1),o[c("0x4e4a")](s.join(t)),o))}})),t.module(a("0x1eba"),[])[a("0x6a6")](a("0x366a"),(function(){return function(e,t,n){var a=a2_0x37cf,r=n||!1;return!x(e)||i(t)?e:!(e=r?e:e[a("0x2eb9")]())[a("0x3507")](r?t:t[a("0x2eb9")]())}})),t[a("0x39e9")]("a8m.stringular",[])[a("0x6a6")](a("0x2790"),(function(){return function(e){var t=a2_0x37cf,n=Array.prototype[t("0x9b3")][t("0x3c6b")](arguments,1);return e[t("0x3cc0")](/{(\d+)}/g,(function(e,t){return i(n[t])?e:n[t]}))}})),t[a("0x39e9")](a("0x282b"),[])[a("0x6a6")]("stripTags",(function(){return function(e){return x(e)?e.replace(/<\S[^><]*>/g,""):e}})),t.module(a("0x4f2d"),[]).filter(a("0x3ff3"),(function(){return function(e,t,n){var a=a2_0x37cf,r=new RegExp(t,n);return x(e)?r[a("0x3ff3")](e):e}})),t[a("0x39e9")](a("0x31bd"),[]).filter(a("0x2dc4"),(function(){return function(e,t){var n=a2_0x37cf,a=t||"\\s";return x(e)?e[n("0x3cc0")](new RegExp("^"+a+"+|"+a+"+$","g"),""):e}})),t[a("0x39e9")](a("0x55"),[])[a("0x6a6")](a("0x2588"),(function(){return function(e,t,n,a){var r=a2_0x37cf;return t=i(t)?e[r("0x5e9")]:t,a=a||!1,n=n||"",!x(e)||e[r("0x5e9")]<=t?e:e[r("0x35e7")](0,a?-1===e[r("0x3507")](" ",t)?e[r("0x5e9")]:e[r("0x3507")](" ",t):t)+n}})),t[a("0x39e9")](a("0x2d1c"),[]).filter({ucfirst:P,titleize:P}),t[a("0x39e9")](a("0x4e2e"),[])[a("0x6a6")]("uriComponentEncode",[a("0xe11"),function(e){return function(t){var n=a2_0x37cf;return x(t)?e[n("0x44b5")](t):t}}]),t[a("0x39e9")](a("0x31a4"),[])[a("0x6a6")](a("0x3a46"),[a("0xe11"),function(e){return function(t){var n=a2_0x37cf;return x(t)?e[n("0x41a")](t):t}}]),t[a("0x39e9")](a("0x721"),[])[a("0x6a6")](a("0x2fcb"),(function(){return function(e,t,n){return x(e)&&r(t)?[t,e,n||t].join(""):e}})),t[a("0x39e9")]("a8m.filter-watcher",[])[a("0x4b0")]("filterWatcher",(function(){var e=a;this[e("0x1cc9")]=[e("0xe11"),e("0x47ed"),function(t,n){var a=e,r={},o={},x=t[a("0x1b5f")];function s(e,n){var r,i=a;return[e,JSON.stringify(n,(r=[],function(e,n){var a=a2_0x37cf;if(c(n)&&!_(n)){if(~r[a("0x3507")](n))return a("0x48fb");r[a("0x459a")](n)}return t==n?a("0x2178"):t[a("0x3afa")]==n?a("0x189c"):E(n)?a("0x4bc6"):n}))][i("0xc60")]("#")[i("0x3cc0")](/"/g,"")}function l(e){var t=a,n=e[t("0x37de")][t("0x2933")];d(o[n],(function(e){delete r[e]})),delete o[n]}return{isMemoized:function(e,t){var n=s(e,t);return r[n]},memoize:function(e,t,c,d){var u,f,m,b,_=s(e,t);return r[_]=d,E(c)?(f=_,b=(u=c)[(m=a)("0x2933")],i(o[b])&&(u[m("0x24c9")]("$destroy",l),o[b]=[]),o[b][m("0x459a")](f)):x((function(){n[a2_0x37cf("0x4fca")]||(r={})}),2e3),d}}}]})),t[a("0x39e9")]("angular.filter",[a("0x2d1c"),a("0x31a4"),a("0x4e2e"),a("0x4e28"),"a8m.latinize",a("0x282b"),a("0x434"),"a8m.truncate","a8m.starts-with","a8m.ends-with",a("0x721"),a("0x31bd"),a("0x1d1b"),"a8m.rtrim",a("0x3860"),a("0x4f2d"),a("0x2c8c"),a("0x79"),a("0x4d52"),a("0x2ec"),a("0x2efd"),a("0x3ccd"),a("0x3927"),a("0x2f52"),a("0x3f30"),a("0x495e"),"a8m.before",a("0x2c88"),a("0x4be1"),"a8m.where",a("0x1217"),a("0x3819"),a("0xd60"),a("0x4f6"),"a8m.count-by",a("0x333b"),a("0x3455"),"a8m.fuzzy-by",a("0x410c"),"a8m.omit","a8m.pick",a("0x12fa"),"a8m.filter-by","a8m.xor",a("0x54c"),a("0x4ee7"),a("0x1c51"),a("0xcb9"),"a8m.join",a("0x35ac"),a("0x21ba"),"a8m.math.min",a("0x3f4b"),a("0x8d2"),a("0x7da"),a("0x4d0e"),a("0x1f56"),a("0x39b0"),"a8m.math.byteFmt",a("0x2c33"),"a8m.math.shortFmt",a("0x340f"),a("0x4d66"),a("0x25e9"),a("0x842")])}(window,window.angular)},446:(e,t,n)=>{var a=_0x299160;n(2022),e[a("0x33f9")]=a("0x226a")},4761:function(e,t,n){var a,r,i,o;o=a2_0x37cf,r=[n(5734)],void 0===(i=typeof(a=function(e){var t=a2_0x37cf;return e[t("0x39e9")](t("0x20fb"),[]).constant(t("0x4712"),{columns:6,pushing:!0,floating:!0,swapping:!1,width:t("0x15ac"),colWidth:t("0x15ac"),rowHeight:t("0x2cd9"),margins:[10,10],outerMargin:!0,sparse:!1,isMobile:!1,mobileBreakPoint:600,mobileModeEnabled:!0,minColumns:1,minRows:1,maxRows:100,defaultSizeX:2,defaultSizeY:1,minSizeX:1,maxSizeX:null,minSizeY:1,maxSizeY:null,saveGridItemCalculatedHeightInMobile:!1,resizable:{enabled:!0,handles:["s","e","n","w","se","ne","sw","nw"]},draggable:{enabled:!0,scrollSensitivity:20,scrollSpeed:15}})[t("0x1194")](t("0x29e3"),["gridsterConfig",t("0x38d4"),function(n,a){var r=t,i=this;e[r("0x3448")](this,n),this[r("0x2580")]=e[r("0x3448")]({},n[r("0x2580")]||{}),this[r("0x472b")]=e[r("0x3448")]({},n.draggable||{});var o=!1;this.layoutChanged=function(){o||(o=!0,a((function(){var e=a2_0x37cf;o=!1,i.loaded&&i[e("0x473f")](),i[e("0x30e9")](i[e("0x3309")]?i[e("0x3309")][e("0x12e")]:0)}),30))},this[r("0x169b")]=[],this[r("0x44b1")]=[],this[r("0xdc5")]=function(){var e=r;this.grid&&(this.grid=[]),this[e("0x4998")]=null,this[e("0x44b1")]&&(this[e("0x44b1")][e("0x5e9")]=0,this[e("0x44b1")]=null)},this[r("0x4cee")]=function(t){var n=r;if(t)if((t=e[n("0x3448")]({},t))[n("0x472b")]&&(e[n("0x3448")](this.draggable,t[n("0x472b")]),delete t.draggable),t.resizable&&(e.extend(this[n("0x2580")],t[n("0x2580")]),delete t.resizable),e[n("0x3448")](this,t),this[n("0x2056")]&&2===this.margins[n("0x5e9")])for(var a=0,i=this.margins[n("0x5e9")];a<i;++a)this[n("0x2056")][a]=parseInt(this[n("0x2056")][a],10),isNaN(this[n("0x2056")][a])&&(this[n("0x2056")][a]=0);else this[n("0x2056")]=[0,0]},this[r("0x1592")]=function(e,t,n){var a=r;return t>-1&&n>-1&&e[a("0x82a")]+n<=this[a("0x2983")]&&e[a("0x12e")]+t<=this[a("0x4e25")]},this.autoSetItemPosition=function(e){for(var t=r,n=0;n<this.maxRows;++n)for(var a=0;a<this[t("0x2983")];++a)if(0===this.getItems(n,a,e.sizeX,e[t("0x12e")],e).length&&this[t("0x1592")](e,n,a))return void this[t("0xb00")](e,n,a);throw new Error(t("0x1b23"))},this[r("0x1e98")]=function(e,t,n,a,i){var o,x=r,s=[];if(n&&a||(n=a=1),!i||i instanceof Array||(i=[i]),!1===this[x("0x8be")])for(var c=0;c<a;++c)for(var l=0;l<n;++l)!(o=this[x("0x1fc8")](e+c,t+l,i))||i&&-1!==i[x("0x3507")](o)||-1!==s.indexOf(o)||s.push(o);else for(var d=e+a-1,u=t+n-1,f=0;f<this.allItems[x("0x5e9")];++f)!(o=this[x("0x44b1")][f])||i&&-1!==i[x("0x3507")](o)||-1!==s[x("0x3507")](o)||!this[x("0x1c42")](o,t,u,e,d)||s.push(o);return s},this[r("0x3354")]=function(e){var t=r;if(0===e[t("0x5e9")])return null;if(1===e[t("0x5e9")])return{row:e[0][t("0x3c95")],col:e[0].col,sizeY:e[0][t("0x12e")],sizeX:e[0][t("0x82a")]};for(var n=0,a=0,i=9999,o=9999,x=0,s=e[t("0x5e9")];x<s;++x){var c=e[x];i=Math.min(c[t("0x3c95")],i),o=Math.min(c[t("0x1768")],o),n=Math[t("0x242b")](c.row+c.sizeY,n),a=Math[t("0x242b")](c[t("0x1768")]+c.sizeX,a)}return{row:i,col:o,sizeY:n-i,sizeX:a-o}},this[r("0x1c42")]=function(e,t,n,a,i){var o=r;return t<=e[o("0x1768")]+e[o("0x82a")]-1&&n>=e[o("0x1768")]&&a<=e.row+e[o("0x12e")]-1&&i>=e.row},this[r("0x1b2f")]=function(e){for(var t,n=r,a=0,i=this[n("0x169b")][n("0x5e9")];a<i;++a){var o=this.grid[a];if(o&&-1!==(t=o[n("0x3507")](e))){o[t]=null;break}}this[n("0x8be")]&&-1!==(t=this.allItems.indexOf(e))&&this[n("0x44b1")][n("0x2bcf")](t,1),this[n("0x9e4")]()},this[r("0x1fc8")]=function(e,t,n){var a=r;!n||n instanceof Array||(n=[n]);for(var i=1;e>-1;){for(var o=1,x=t;x>-1;){var s=this.grid[e];if(s){var c=s[x];if(c&&(!n||-1===n.indexOf(c))&&c[a("0x82a")]>=o&&c[a("0x12e")]>=i)return c}++o,--x}--e,++i}return null},this[r("0x10a1")]=function(e){for(var t=r,n=0,a=e.length;n<a;++n)this[t("0xb00")](e[n])},this[r("0xb00")]=function(e,t,n,a){var i=r;if(i("0xc42")!=typeof t&&null!==t||(t=e.row,n=e[i("0x1768")],i("0xc42")!=typeof t&&null!==t)){if(this[i("0x1592")](e,t,n)||(n=Math[i("0x11db")](this[i("0x2983")]-e[i("0x82a")],Math[i("0x242b")](0,n)),t=Math[i("0x11db")](this[i("0x4e25")]-e[i("0x12e")],Math[i("0x242b")](0,t))),null!==e[i("0x253c")]&&i("0xc42")!=typeof e[i("0x253c")]){var o=e[i("0x253c")]===t&&e[i("0x1b76")]===n,x=this[i("0x169b")][t]&&this.grid[t][n]===e;if(o&&x)return e.row=t,void(e[i("0x1768")]=n);var s=this[i("0x169b")][e[i("0x253c")]];s&&s[e[i("0x1b76")]]===e&&delete s[e[i("0x1b76")]]}e[i("0x253c")]=e.row=t,e[i("0x1b76")]=e[i("0x1768")]=n,this.moveOverlappingItems(e,a),this[i("0x169b")][t]||(this[i("0x169b")][t]=[]),this[i("0x169b")][t][n]=e,this.sparse&&-1===this[i("0x44b1")].indexOf(e)&&this[i("0x44b1")].push(e),this[i("0x3309")]===e&&this[i("0x27db")](e),this.layoutChanged()}else this[i("0x4ed4")](e)},this[r("0x155a")]=function(e,t){var n=r;this.grid[e[n("0x3c95")]][e[n("0x1768")]]=t,this[n("0x169b")][t[n("0x3c95")]][t[n("0x1768")]]=e;var a=e[n("0x3c95")],i=e[n("0x1768")];e[n("0x3c95")]=t[n("0x3c95")],e[n("0x1768")]=t[n("0x1768")],t[n("0x3c95")]=a,t[n("0x1768")]=i},this.moveOverlappingItems=function(e,t){var n=r;t?-1===t[n("0x3507")](e)&&(t=t[n("0x9b3")](0)).push(e):t=[e];var a=this[n("0x1e98")](e[n("0x3c95")],e.col,e[n("0x82a")],e[n("0x12e")],t);this[n("0x4334")](a,e[n("0x3c95")]+e[n("0x12e")],t)},this[r("0x4334")]=function(e,t,n){var a=r;if(e&&0!==e.length){e[a("0x4d63")]((function(e,t){var n=a;return e.row-t[n("0x3c95")]})),n=n?n.slice(0):[];var i,o,x,s={};for(o=0,x=e.length;o<x;++o){var c=s[(i=e[o])[a("0x1768")]];(a("0xc42")==typeof c||i[a("0x3c95")]<c)&&(s[i[a("0x1768")]]=i[a("0x3c95")])}for(o=0,x=e[a("0x5e9")];o<x;++o){var l=t-s[(i=e[o]).col];this[a("0x1cd8")](i,i.row+l,n),n[a("0x459a")](i)}}},this[r("0x1cd8")]=function(e,t,n){var a=r;if(!(e[a("0x3c95")]>=t)){for(;e[a("0x3c95")]<t;)++e[a("0x3c95")],this[a("0x2596")](e,n);this[a("0xb00")](e,e[a("0x3c95")],e[a("0x1768")],n)}},this[r("0x473f")]=function(){var e=r;if(!1!==this[e("0x2058")])for(var t=0,n=this.grid[e("0x5e9")];t<n;++t){var a=this[e("0x169b")][t];if(a)for(var i=0,o=a.length;i<o;++i){var x=a[i];x&&this[e("0x27db")](x)}}},this[r("0x27db")]=function(e){var t=r;if(!1!==this[t("0x2058")]){for(var n=e[t("0x1768")],a=e[t("0x12e")],i=e[t("0x82a")],o=null,x=null,s=e.row-1;s>-1&&0===this[t("0x1e98")](s,n,i,a,e)[t("0x5e9")];)o=s,x=n,--s;null!==o&&this[t("0xb00")](e,o,x)}},this[r("0x30e9")]=function(e){var t=r,n=this[t("0x4cdc")];e=e||0;for(var a=this[t("0x169b")].length;a>=0;--a){var i=this[t("0x169b")][a];if(i)for(var o=0,x=i[t("0x5e9")];o<x;++o)i[o]&&(n=Math[t("0x242b")](n,a+e+i[o].sizeY))}this[t("0x3f60")]=this.maxRows-n>0?Math.min(this.maxRows,n):Math[t("0x242b")](this[t("0x4e25")],n)},this[r("0xffb")]=function(e,t){var n=r;return this[n("0x4a97")]||(e+=this[n("0x2056")][0]/2),!0===t?Math[n("0x3c59")](e/this[n("0x2e8d")]):!1===t?Math[n("0x4184")](e/this[n("0x2e8d")]):Math.round(e/this[n("0x2e8d")])},this[r("0x21e1")]=function(e,t){var n=r;return this.outerMargin||(e+=this[n("0x2056")][1]/2),!0===t?Math[n("0x3c59")](e/this[n("0x1e4e")]):!1===t?Math[n("0x4184")](e/this[n("0x1e4e")]):Math[n("0x46d")](e/this.curColWidth)}}])[t("0x1b75")]("gridsterPreview",(function(){var e=t;return{replace:!0,scope:!0,require:"^gridster",template:e("0x3e7c"),link:function(t,n,a,r){var i=e;t[i("0x267b")]=function(){var e=i;return r.movingItem?{display:"block",height:r.movingItem[e("0x12e")]*r[e("0x2e8d")]-r[e("0x2056")][0]+"px",width:r[e("0x3309")][e("0x82a")]*r[e("0x1e4e")]-r[e("0x2056")][1]+"px",top:r.movingItem[e("0x3c95")]*r[e("0x2e8d")]+(r[e("0x4a97")]?r.margins[0]:0)+"px",left:r[e("0x3309")][e("0x1768")]*r[e("0x1e4e")]+(r[e("0x4a97")]?r[e("0x2056")][1]:0)+"px"}:{display:e("0x2847")}}}}})).directive(t("0x20fb"),[t("0x38d4"),t("0xe11"),"$rootScope",t("0x2403"),function(n,a,r,i){var o=t;return{scope:!0,restrict:o("0x28d6"),controller:o("0x29e3"),controllerAs:o("0x20fb"),compile:function(t){var x=o;return t.prepend(x("0x22eb")),function(t,o,s,c){var l=x;function d(){var e=a2_0x37cf;o[e("0x42b1")]("height",c[e("0x3f60")]*c[e("0x2e8d")]+(c[e("0x4a97")]?c[e("0x2056")][0]:-c[e("0x2056")][0])+"px")}function u(e){var t=a2_0x37cf;if(c[t("0x4cee")](e),f(o[0])){t("0x15ac")===c[t("0xbbf")]?c.curWidth=o[0][t("0xe76")]||parseInt(o[t("0x42b1")](t("0xbbf")),10):c.curWidth=c[t("0xbbf")],"auto"===c[t("0x2ce7")]?c.curColWidth=(c[t("0x38c4")]+(c[t("0x4a97")]?-c.margins[1]:c.margins[1]))/c[t("0x2983")]:c[t("0x1e4e")]=c[t("0x2ce7")],c[t("0x2e8d")]=c[t("0x39d")],t("0x38b7")==typeof c[t("0x39d")]&&("match"===c[t("0x39d")]?c.curRowHeight=Math[t("0x46d")](c[t("0x1e4e")]):-1!==c[t("0x39d")].indexOf("*")?c[t("0x2e8d")]=Math[t("0x46d")](c.curColWidth*c[t("0x39d")][t("0x3cc0")]("*","").replace(" ","")):-1!==c[t("0x39d")].indexOf("/")&&(c.curRowHeight=Math[t("0x46d")](c[t("0x1e4e")]/c[t("0x39d")][t("0x3cc0")]("/","")[t("0x3cc0")](" ","")))),c[t("0x3599")]=c[t("0x45c5")]&&c.curWidth<=c[t("0x47b5")];for(var n=0,a=c.grid[t("0x5e9")];n<a;++n){var r=c[t("0x169b")][n];if(r)for(var i=0,x=r[t("0x5e9")];i<x;++i)if(r[i]){var s=r[i];s[t("0xab")](),s[t("0x2891")](),s.setElementSizeX()}}d()}}c[l("0xf70")]=!1,c[l("0x4998")]=o,t.gridster=c,o.addClass(l("0x20fb"));var f=function(e){var t=l;return"hidden"!==e[t("0x4025")][t("0x2a81")]&&t("0x2847")!==e[t("0x4025")][t("0x37b3")]};t[l("0x7a")]((function(){return c[l("0x3f60")]}),d),t[l("0x7a")]((function(){return c[l("0x3309")]}),(function(){var e=l;c[e("0x30e9")](c[e("0x3309")]?c[e("0x3309")][e("0x12e")]:0)}));var m=s[l("0x20fb")];m?t[l("0x20cb")][l("0x7a")](m,(function(e){u(e)}),!0):u({}),t[l("0x7a")]((function(){return c[l("0xf70")]}),(function(){var e=l;c[e("0xf70")]?(o[e("0x31dc")](e("0x469")),r[e("0x2050")](e("0x469"),c)):o[e("0xa81")](e("0x469"))})),t.$watch((function(){return c.isMobile}),(function(){var e=l;c[e("0x3599")]?o[e("0x31dc")](e("0x13e4"))[e("0xa81")](e("0x7a5")):o[e("0xa81")](e("0x13e4"))[e("0x31dc")]("gridster-desktop"),r[e("0x2050")](e("0x1024"),c)})),t[l("0x7a")]((function(){return c[l("0x472b")]}),(function(){var e=l;r.$broadcast(e("0x41e6"),c)}),!0),t[l("0x7a")]((function(){return c[l("0x2580")]}),(function(){var e=l;r[e("0x2050")](e("0x39a5"),c)}),!0);var b=o[0].offsetWidth||parseInt(o[l("0x42b1")](l("0xbbf")),10),_=function(){var e=l,t=o[0][e("0xe76")]||parseInt(o[e("0x42b1")](e("0xbbf")),10);t&&t!==b&&!c[e("0x3309")]&&(b=t,c[e("0xf70")]&&o[e("0xa81")](e("0x469")),u(),c[e("0xf70")]&&o.addClass(e("0x469")),r.$broadcast(e("0x2851"),[t,o[0][e("0x2b02")]],c))},p=i((function(){_(),n((function(){t[a2_0x37cf("0xd66")]()}))}),100);t.$watch((function(){return f(o[0])}),p),"function"==typeof window[l("0x3d02")]?window[l("0x3d02")](o[0],p):t[l("0x7a")]((function(){var e=l;return o[0][e("0xe76")]||parseInt(o[e("0x42b1")](e("0xbbf")),10)}),_);var h=e[l("0xb48")](a);h.on(l("0x39d4"),p),t[l("0x24c9")](l("0x4c91"),(function(){var e=l;c.destroy(),h[e("0x30f8")](e("0x39d4"),p),e("0x3349")==typeof window[e("0x2862")]&&window.removeResizeListener(o[0],p)})),n((function(){var e=l;t.$watch(e("0x2145"),(function(){c[e("0x473f")]()})),c[e("0xf70")]=!0}),100)}}}}])[t("0x1194")](t("0x3677"),(function(){var e=t;this[e("0x4998")]=null,this[e("0x20fb")]=null,this[e("0x3c95")]=null,this[e("0x1768")]=null,this[e("0x82a")]=null,this[e("0x12e")]=null,this[e("0x22a2")]=0,this[e("0x7b6")]=0,this[e("0x35f6")]=null,this[e("0x65e")]=null,this[e("0xeed")]=function(t,n){var a=e;this[a("0x4998")]=t,this.gridster=n,this[a("0x82a")]=n[a("0x46d6")],this.sizeY=n[a("0x4076")]},this[e("0xdc5")]=function(){var t=e;this.gridster=null,this[t("0x4998")]=null},this[e("0x27f8")]=function(){var t=e;return{row:this[t("0x3c95")],col:this[t("0x1768")],sizeY:this.sizeY,sizeX:this[t("0x82a")]}},this[e("0x1df4")]=function(){var t=e;return this[t("0x20fb")][t("0x3309")]===this},this[e("0x3641")]=function(t,n){var a=e;this[a("0x20fb")][a("0xb00")](this,t,n),this[a("0x1df4")]()||this.setElementPosition()},this.setSize=function(t,n,a){var r=e;t=t[r("0x110")]();var i=r("0x27ff")+t,o=r("0x3348")+t;if(""!==n){n=parseInt(n,10),(isNaN(n)||0===n)&&(n=this.gridster[r("0x3993")+o]);var x="X"===t?this[r("0x20fb")][r("0x2983")]:this[r("0x20fb")][r("0x4e25")];this[r("0x242b")+o]&&(x=Math.min(this["max"+o],x)),this[r("0x20fb")][r("0x242b")+o]&&(x=Math[r("0x11db")](this[r("0x20fb")][r("0x242b")+o],x)),"X"===t&&this[r("0x3340")]?x-=this[r("0x3340")]:"Y"===t&&this.rows&&(x-=this[r("0x47d8")]);var s=0;this[r("0x11db")+o]&&(s=Math.max(this[r("0x11db")+o],s)),this.gridster[r("0x11db")+o]&&(s=Math[r("0x242b")](this[r("0x20fb")][r("0x11db")+o],s)),n=Math[r("0x242b")](Math[r("0x11db")](n,x),s);var c=this[i]!==n||this["old"+o]&&this[r("0x1e71")+o]!==n;return this[r("0x1e71")+o]=this[i]=n,this[r("0x1df4")]()||this["setElement"+o](),!a&&c&&(this[r("0x20fb")].moveOverlappingItems(this),this.gridster[r("0x9e4")]()),c}},this[e("0x1815")]=function(t,n){return this[e("0x29a1")]("Y",t,n)},this[e("0x97f")]=function(t,n){return this[e("0x29a1")]("X",t,n)},this[e("0xab")]=function(){var t=e;this[t("0x20fb")][t("0x3599")]?this[t("0x4998")][t("0x42b1")]({marginLeft:this[t("0x20fb")][t("0x2056")][0]+"px",marginRight:this[t("0x20fb")].margins[0]+"px",marginTop:this[t("0x20fb")].margins[1]+"px",marginBottom:this[t("0x20fb")][t("0x2056")][1]+"px",top:"",left:""}):this.$element[t("0x42b1")]({margin:0,top:this[t("0x3c95")]*this.gridster[t("0x2e8d")]+(this[t("0x20fb")][t("0x4a97")]?this[t("0x20fb")].margins[0]:0)+"px",left:this[t("0x1768")]*this[t("0x20fb")][t("0x1e4e")]+(this[t("0x20fb")][t("0x4a97")]?this[t("0x20fb")][t("0x2056")][1]:0)+"px"})},this[e("0x2891")]=function(){var t=e;this[t("0x20fb")][t("0x3599")]&&!this[t("0x20fb")][t("0x2f95")]?this[t("0x4998")].css("height",""):this[t("0x4998")][t("0x42b1")](t("0x4e66"),this[t("0x12e")]*this[t("0x20fb")][t("0x2e8d")]-this[t("0x20fb")].margins[0]+"px")},this[e("0xbec")]=function(){var t=e;this[t("0x20fb")][t("0x3599")]?this[t("0x4998")][t("0x42b1")](t("0xbbf"),""):this[t("0x4998")].css(t("0xbbf"),this.sizeX*this[t("0x20fb")][t("0x1e4e")]-this[t("0x20fb")][t("0x2056")][1]+"px")},this[e("0x2f29")]=function(){var t=e;return this.sizeX*this.gridster[t("0x1e4e")]-this.gridster[t("0x2056")][1]},this.getElementSizeY=function(){var t=e;return this[t("0x12e")]*this[t("0x20fb")].curRowHeight-this[t("0x20fb")][t("0x2056")][0]}}))[t("0x3faf")](t("0x168b"),[function(){return function(e,t,n,a){var r,i,o=a2_0x37cf,x={},s=function(e){var t=a2_0x37cf;if(Object[t("0xa35")])return Object.keys(e)[t("0x5e9")];var n,a=0;for(n in e)++a;return a},c=function(e){for(var t=a2_0x37cf,n=0,a=0,r=navigator[t("0x22fc")][t("0x2cd9")](/\bMSIE\b/),i=e;null!=i;i=i[t("0x12c")])r&&(!document[t("0x3f66")]||document[t("0x3f66")]<8)&&t("0x38d7")===i.currentStyle[t("0x342c")]&&i.offsetParent&&t("0x38d7")===i[t("0x12c")][t("0xa6b")][t("0x342c")]&&i[t("0x3c94")]===i[t("0x12c")][t("0x3c94")]||(n+=i[t("0x3c94")]),a+=i[t("0x2ac6")];return{x:n,y:a}},l=c(e),d=!1,u=function(r){var i=a2_0x37cf;if(i("0x285a")!==r[i("0x3298")]||0!==s(x)){for(var o=!0,f=r[i("0x3d4")]?r[i("0x3d4")]:[r],m=0;m<f[i("0x5e9")];++m){var b=f[m],_=i("0xc42")!=typeof b.identifier?b[i("0x3a31")]:i("0xc42")!=typeof b[i("0x2089")]?b[i("0x2089")]:1;if(i("0xc42")==typeof b[i("0x2508")])if(b.pageX=b[i("0x2a3c")]+l.x,b[i("0x4e6d")]=b[i("0x2ba3")]+l.y,b[i("0x3ee5")][i("0x12c")]===e&&document[i("0x3f66")]&&8===document[i("0x3f66")]&&i("0x4a2b")===b[i("0x3298")])b[i("0x2508")]+=b[i("0x3ee5")].offsetLeft,b[i("0x4e6d")]+=b[i("0x3ee5")][i("0x2ac6")];else if(b[i("0x3ee5")]!==e&&!document[i("0x3f66")]||document[i("0x3f66")]<8){for(var p=-2,h=-2,g=b[i("0x3ee5")];null!==g;g=g[i("0x368c")])p+=g[i("0xc1")]?g[i("0xc1")]:0,h+=g[i("0x1423")]?g[i("0x1423")]:0;b.pageX=b.clientX+p,b.pageY=b[i("0x1c24")]+h}var v=b[i("0x2508")],S=b.pageY;r[i("0x3298")][i("0x2cd9")](/(start|down)$/i)?(l=c(e),x[_]&&(a&&a({target:r.target,which:r[i("0x2d41")],pointerId:_,pageX:v,pageY:S}),delete x[_]),t&&o&&(o=t({target:r.target,which:r[i("0x2d41")],pointerId:_,pageX:v,pageY:S})),x[_]={x:v,y:S},e[i("0x3bc")]&&o?e[i("0x3bc")](_):i("0x4a2b")===r[i("0x3298")]&&1===s(x)&&(d?e[i("0x39bb")](!0):(document[i("0x4944")](i("0x285a"),u,!1),document[i("0x4944")](i("0x1f"),u,!1)))):r[i("0x3298")][i("0x2cd9")](/move$/i)?!x[_]||x[_].x===v&&x[_].y===S||(n&&o&&(o=n({target:r[i("0x55d")],which:r[i("0x2d41")],pointerId:_,pageX:v,pageY:S})),x[_].x=v,x[_].y=S):x[_]&&r[i("0x3298")].match(/(up|end|cancel)$/i)&&(a&&o&&(o=a({target:r[i("0x55d")],which:r[i("0x2d41")],pointerId:_,pageX:v,pageY:S})),delete x[_],e[i("0x4b33")]?e[i("0x4b33")](_):"mouseup"===r[i("0x3298")]&&0===s(x)&&(d?e[i("0x49c3")]():(document.removeEventListener(i("0x285a"),u,!1),document[i("0x4b59")](i("0x1f"),u,!1))))}o&&(r[i("0xe50")]&&r[i("0xe50")](),r.preventManipulation&&r[i("0x24fe")](),r[i("0x45db")]&&r[i("0x45db")]())}};return this[o("0x1a33")]=function(){var t=o;window[t("0x149d")][t("0x23")]?(e[t("0x4944")](t("0x1145"),u,!1),e[t("0x4944")](t("0x488a"),u,!1),e[t("0x4944")](t("0x46d9"),u,!1),e[t("0x4944")](t("0x57b"),u,!1),t("0xc42")!=typeof e[t("0x4025")][t("0x178d")]&&(r=e[t("0x4025")][t("0x178d")],e[t("0x4025")][t("0x178d")]="none"),void 0!==e[t("0x4025")][t("0x697")]&&(i=e[t("0x4025")][t("0x697")],e[t("0x4025")][t("0x697")]=t("0x2847"))):e[t("0x4944")]?(e.addEventListener("touchstart",u,!1),e[t("0x4944")](t("0x4a1a"),u,!1),e[t("0x4944")](t("0x1342"),u,!1),e[t("0x4944")](t("0x2de1"),u,!1),e.addEventListener(t("0x4a2b"),u,!1),e[t("0x39bb")]&&!window[t("0x149d")][t("0x22fc")][t("0x2cd9")](/\bGecko\b/)&&(d=!0,e[t("0x4944")](t("0x285a"),u,!1),e[t("0x4944")](t("0x1f"),u,!1))):e[t("0x4a7e")]&&e.setCapture&&(d=!0,e[t("0x4a7e")]("onmousedown",(function(){var e=t;return u(window[e("0x1511")]),window.event[e("0x4234")]=!1,!1})),e[t("0x4a7e")](t("0x1568"),(function(){var e=t;return u(window[e("0x1511")]),window[e("0x1511")][e("0x4234")]=!1,!1})),e.attachEvent(t("0xe20"),(function(){var e=t;return u(window[e("0x1511")]),window.event[e("0x4234")]=!1,!1})))},this[o("0x1f4d")]=function(){var t=o;window[t("0x149d")][t("0x23")]?(e[t("0x4b59")](t("0x1145"),u,!1),e[t("0x4b59")](t("0x488a"),u,!1),e.removeEventListener(t("0x46d9"),u,!1),e[t("0x4b59")]("MSPointerCancel",u,!1),r&&(e[t("0x4025")][t("0x178d")]=r),i&&(e[t("0x4025")][t("0x697")]=i)):e.removeEventListener?(e.removeEventListener(t("0x2198"),u,!1),e.removeEventListener(t("0x4a1a"),u,!1),e[t("0x4b59")](t("0x1342"),u,!1),e[t("0x4b59")](t("0x2de1"),u,!1),e[t("0x4b59")]("mousedown",u,!1),e.setCapture&&!window[t("0x149d")][t("0x22fc")][t("0x2cd9")](/\bGecko\b/)&&(d=!0,e[t("0x4b59")]("mousemove",u,!1),e[t("0x4b59")](t("0x1f"),u,!1))):e[t("0x620")]&&e.setCapture&&(d=!0,e.detachEvent(t("0x33d6")),e.detachEvent("onmousemove"),e.detachEvent("onmouseup"))},this}}])[t("0x3faf")](t("0x242a"),["$document",t("0xe11"),t("0x168b"),function(t,n,a){function r(r,i,o,x,s){var c=a2_0x37cf;function l(e){var t=a2_0x37cf;r[t("0x31dc")](t("0x7aa")),o.movingItem=x,o[t("0x30e9")](x[t("0x12e")]),i[t("0xd66")]((function(){var n=t;o[n("0x472b")]&&o[n("0x472b")].start&&o[n("0x472b")][n("0x1023")](e,r,s,x)}))}function d(e){var t=a2_0x37cf,a=x[t("0x3c95")],c=x.col,l=o[t("0x472b")]&&o[t("0x472b")][t("0x391a")],d=o[t("0x472b")][t("0x4391")],u=o[t("0x472b")].scrollSpeed,f=Math[t("0x11db")](o[t("0xffb")](p),o.maxRows-1),m=Math[t("0x11db")](o[t("0x21e1")](_),o.columns-1),b=o.getItems(f,m,x[t("0x82a")],x[t("0x12e")],x),h=0!==b[t("0x5e9")];if(!0===o.swapping&&h){var g=o.getBoundingBox(b),v=g[t("0x82a")]===x[t("0x82a")]&&g[t("0x12e")]===x.sizeY,S=g[t("0x3c95")]===a,E=g.col===c,A=g[t("0x3c95")]===f&&g.col===m,T=S||E;if(v&&1===b[t("0x5e9")]){if(A)o[t("0x155a")](x,b[0]);else if(T)return}else if(g[t("0x82a")]<=x.sizeX&&g.sizeY<=x[t("0x12e")]&&T)for(var y=x[t("0x3c95")]<=f?x[t("0x3c95")]:f+x[t("0x12e")],C=x[t("0x1768")]<=m?x[t("0x1768")]:m+x.sizeX,w=y-g[t("0x3c95")],R=C-g[t("0x1768")],D=0,I=b[t("0x5e9")];D<I;++D){var N=b[D];0===o[t("0x1e98")](N[t("0x3c95")]+w,N[t("0x1768")]+R,N[t("0x82a")],N[t("0x12e")],x)[t("0x5e9")]&&o[t("0xb00")](N,N.row+w,N[t("0x1768")]+R)}}!1===o[t("0x2ec1")]&&h||(x[t("0x3c95")]=f,x[t("0x1768")]=m),e.pageY-M.body.scrollTop<d?M.body[t("0x1423")]=M.body[t("0x1423")]-u:n[t("0x4b6b")]-(e.pageY-M[t("0x3b3e")].scrollTop)<d&&(M[t("0x3b3e")][t("0x1423")]=M[t("0x3b3e")][t("0x1423")]+u),e.pageX-M[t("0x3b3e")].scrollLeft<d?M[t("0x3b3e")][t("0xc1")]=M.body[t("0xc1")]-u:n[t("0x105d")]-(e.pageX-M.body[t("0xc1")])<d&&(M.body.scrollLeft=M.body[t("0xc1")]+u),(l||a!==x[t("0x3c95")]||c!==x[t("0x1768")])&&i[t("0xd66")]((function(){l&&o[t("0x472b")].drag(e,r,s,x)}))}function u(e){var t=a2_0x37cf;r[t("0xa81")](t("0x7aa"));var n=Math.min(o.pixelsToRows(p),o[t("0x4e25")]-1),a=Math.min(o[t("0x21e1")](_),o[t("0x2983")]-1);!1===o[t("0x2ec1")]&&0!==o[t("0x1e98")](n,a,x[t("0x82a")],x[t("0x12e")],x)[t("0x5e9")]||(x.row=n,x[t("0x1768")]=a),o[t("0x3309")]=null,x[t("0x3641")](x[t("0x3c95")],x[t("0x1768")]),i.$apply((function(){var n=t;o.draggable&&o[n("0x472b")][n("0x5a")]&&o.draggable.stop(e,r,s,x)}))}function f(t){var n=a2_0x37cf;if(-1!==R.indexOf(t[n("0x55d")][n("0x4907")].toLowerCase()))return!1;var a=e[n("0xb48")](t[n("0x55d")]);if(a.hasClass(n("0x4958")))return!1;if(a[n("0x417f")]("onclick")||a[n("0x417f")](n("0xfcc")))return!1;if(a[n("0x2fc6")]&&a.closest(".gridster-no-drag")[n("0x5e9")])return!1;if(o[n("0x472b")]&&o[n("0x472b")].handle){var i=e[n("0xb48")](r[0][n("0x1e72")](o[n("0x472b")][n("0x4757")])),s=!1;e:for(var c=0,d=i[n("0x5e9")];c<d;++c){var u=i[c];if(u===t[n("0x55d")]){s=!0;break}for(var f=t[n("0x55d")],m=0;m<20;++m){var b=f[n("0x368c")];if(b===r[0]||!b)break;if(b===u){s=!0;break e}f=b}}if(!s)return!1}switch(t.which){case 1:break;case 2:case 3:return}return E=t[n("0x2508")],A=t[n("0x4e6d")],_=parseInt(r[n("0x42b1")](n("0x2885")),10),p=parseInt(r[n("0x42b1")](n("0x228a")),10),h=r[0][n("0xe76")],g=r[0][n("0x2b02")],x[n("0x1768")],x[n("0x3c95")],l(t),!0}function m(e){var t=a2_0x37cf;if(!r[t("0x3a35")]("gridster-item-moving")||r.hasClass(t("0x44b2")))return!1;var n=o[t("0x38c4")]-1,a=o[t("0x2e8d")]*o[t("0x4e25")]-1;v=e[t("0x2508")],S=e[t("0x4e6d")];var i=v-E+T,x=S-A+y;T=y=0,E=v,A=S;var s=i,c=x;return _+s<w?T=s-(i=w-_):_+h+s>n&&(T=s-(i=n-_-h)),p+c<C?y=c-(x=C-p):p+g+c>a&&(y=c-(x=a-p-g)),_+=i,p+=x,r.css({top:p+"px",left:_+"px"}),d(e),!0}function b(e){var t=a2_0x37cf;return!(!r[t("0x3a35")](t("0x7aa"))||r[t("0x3a35")](t("0x44b2"))||(T=y=0,u(e),0))}var _,p,h,g,v=0,S=0,E=0,A=0,T=0,y=0,C=0,w=0,M=t[0],R=[c("0x2d7b"),"option",c("0x3f87"),c("0x1f05"),c("0x22d7")],D=null,I=null;this[c("0x1a33")]=function(){var e=c;if(!0!==D){if(D=!0,I)return void I.enable();(I=new a(r[0],f,m,b))[e("0x1a33")]()}},this[c("0x1f4d")]=function(){!1!==D&&(D=!1,I&&I[c("0x1f4d")]())},this[c("0x4368")]=function(e){var t=c;e?this[t("0x1a33")]():this[t("0x1f4d")]()},this[c("0xdc5")]=function(){this.disable()}}return r}])[t("0x3faf")](t("0x2352"),[t("0x168b"),function(t){function n(n,a,r,i,o){var x=a2_0x37cf;function s(x){var s=a2_0x37cf;function c(e){var t=a2_0x37cf;n[t("0x31dc")](t("0x7aa")),n[t("0x31dc")](t("0x44b2")),r.movingItem=i,i[t("0xbec")](),i.setElementSizeY(),i[t("0xab")](),r[t("0x30e9")](1),a[t("0xd66")]((function(){var a=t;r[a("0x2580")]&&r[a("0x2580")][a("0x1023")]&&r[a("0x2580")][a("0x1023")](e,n,o,i)}))}function l(e){var t=a2_0x37cf,s=i[t("0x3c95")],c=i[t("0x1768")],l=i[t("0x82a")],d=i[t("0x12e")],u=r[t("0x2580")]&&r[t("0x2580")][t("0x39d4")],f=i.col;-1!==["w","nw","sw"][t("0x3507")](x)&&(f=r.pixelsToColumns(b,!1));var m=i[t("0x3c95")];-1!==["n","ne","nw"].indexOf(x)&&(m=r.pixelsToRows(_,!1));var g=i[t("0x82a")];-1===["n","s"][t("0x3507")](x)&&(g=r[t("0x21e1")](p,!0));var v=i.sizeY;-1===["e","w"][t("0x3507")](x)&&(v=r[t("0xffb")](h,!0)),!(m>-1&&f>-1&&g+f<=r[t("0x2983")]&&v+m<=r[t("0x4e25")])||!1===r.pushing&&0!==r.getItems(m,f,g,v,i)[t("0x5e9")]||(i.row=m,i[t("0x1768")]=f,i.sizeX=g,i.sizeY=v);var S=i[t("0x3c95")]!==s||i[t("0x1768")]!==c||i[t("0x82a")]!==l||i[t("0x12e")]!==d;(u||S)&&a[t("0xd66")]((function(){var a=t;u&&r.resizable[a("0x39d4")](e,n,o,i)}))}function d(e){var t=a2_0x37cf;n[t("0xa81")](t("0x7aa")),n[t("0xa81")]("gridster-item-resizing"),r[t("0x3309")]=null,i.setPosition(i.row,i[t("0x1768")]),i.setSizeY(i[t("0x12e")]),i.setSizeX(i.sizeX),a.$apply((function(){var a=t;r[a("0x2580")]&&r[a("0x2580")][a("0x5a")]&&r[a("0x2580")].stop(e,n,o,i)}))}function u(e){var t=a2_0x37cf;switch(e[t("0x2d41")]){case 1:break;case 2:case 3:return}return(g=r[t("0x472b")][t("0x48b5")])&&(r.draggable[t("0x48b5")]=!1,a[t("0x2050")]("gridster-draggable-changed",r)),T=e[t("0x2508")],y=e[t("0x4e6d")],b=parseInt(n[t("0x42b1")](t("0x2885")),10),_=parseInt(n[t("0x42b1")](t("0x228a")),10),p=n[0][t("0xe76")],h=n[0][t("0x2b02")],i[t("0x82a")],i[t("0x12e")],c(e),!0}function f(e){var t=a2_0x37cf,a=r[t("0x38c4")]-1;E=e[t("0x2508")],A=e[t("0x4e6d")];var i=E-T+C,o=A-y+w;C=w=0,T=E,y=A;var x=o,s=i;return S[t("0x3507")]("n")>=0&&(h-x<I()?(o=h-I(),w=x-o):_+x<M&&(w=x-(o=M-_)),_+=o,h-=o),S[t("0x3507")]("s")>=0&&(h+x<I()?(o=I()-h,w=x-o):_+h+x>R&&(w=x-(o=R-_-h)),h+=o),S[t("0x3507")]("w")>=0&&(p-s<N()?(i=p-N(),C=s-i):b+s<D&&(C=s-(i=D-b)),b+=i,p-=i),S[t("0x3507")]("e")>=0&&(p+s<N()?(i=N()-p,C=s-i):b+p+s>a&&(C=s-(i=a-b-p)),p+=i),n[t("0x42b1")]({top:_+"px",left:b+"px",width:p+"px",height:h+"px"}),l(e),!0}function m(e){var t=a2_0x37cf;return r.draggable.enabled!==g&&(r[t("0x472b")][t("0x48b5")]=g,a[t("0x2050")]("gridster-draggable-changed",r)),C=w=0,d(e),!0}var b,_,p,h,g,v,S=x,E=0,A=0,T=0,y=0,C=0,w=0,M=0,R=9999,D=0,I=function(){var e=a2_0x37cf;return(i.minSizeY?i[e("0x7b6")]:1)*r[e("0x2e8d")]-r[e("0x2056")][0]},N=function(){var e=a2_0x37cf;return(i.minSizeX?i.minSizeX:1)*r.curColWidth-r[e("0x2056")][1]},O=null;this[s("0x1a33")]=function(){var a=s;O||(O=e[a("0xb48")](a("0xfa9")+S+a("0x1258")),n.append(O)),(v=new t(O[0],u,f,m))[a("0x1a33")]()},this[s("0x1f4d")]=function(){var e=s;O&&(O[e("0xf82")](),O=null),v[e("0x1f4d")](),v=void 0},this[s("0xdc5")]=function(){this.disable()}}var c=[],l=r[x("0x2580")][x("0x3d5b")];x("0x38b7")==typeof l&&(l=r[x("0x2580")][x("0x3d5b")][x("0x9e5")](","));for(var d=!1,u=0,f=l[x("0x5e9")];u<f;u++)c.push(new s(l[u]));this[x("0x1a33")]=function(){var e=x;if(!d){for(var t=0,n=c.length;t<n;t++)c[t][e("0x1a33")]();d=!0}},this[x("0x1f4d")]=function(){if(d){for(var e=0,t=c.length;e<t;e++)c[e].disable();d=!1}},this[x("0x4368")]=function(e){var t=x;e?this.enable():this[t("0x1f4d")]()},this[x("0xdc5")]=function(){for(var e=x,t=0,n=c.length;t<n;t++)c[t][e("0xdc5")]()}}return n}]).factory("gridsterDebounce",(function(){return function(e,t,n){var a;return function(){var r=a2_0x37cf,i=this,o=arguments,x=function(){a=null,n||e[a2_0x37cf("0x4884")](i,o)},s=n&&!a;clearTimeout(a),a=setTimeout(x,t),s&&e[r("0x4884")](i,o)}}}))[t("0x1b75")](t("0x23a3"),["$parse","GridsterDraggable",t("0x2352"),t("0x2403"),function(e,n,a,r){var i=t;return{scope:!0,restrict:"EA",controller:i("0x3677"),controllerAs:i("0x23a3"),require:[i("0x4d6a"),i("0x23a3")],link:function(t,o,x,s){var c=i;function l(){var e=a2_0x37cf;_[e("0x3641")](_.row,_[e("0x1768")]),g.row&&g[e("0x3c95")].assign&&g.row[e("0x3df0")](t,_[e("0x3c95")]),g[e("0x1768")]&&g[e("0x1768")][e("0x3df0")]&&g[e("0x1768")][e("0x3df0")](t,_[e("0x1768")])}function d(){var e=a2_0x37cf,n=_[e("0x97f")](_.sizeX,!0);n&&g.sizeX&&g[e("0x82a")].assign&&g.sizeX[e("0x3df0")](t,_.sizeX);var a=_[e("0x1815")](_[e("0x12e")],!0);a&&g[e("0x12e")]&&g[e("0x12e")][e("0x3df0")]&&g[e("0x12e")][e("0x3df0")](t,_[e("0x12e")]),(n||a)&&(_.gridster[e("0x2596")](_),b[e("0x9e4")](),t[e("0x2050")](e("0xe89"),_))}function u(){var e=a2_0x37cf,t=document[e("0x4202")](e("0x4774")),n={transition:e("0x2434"),OTransition:e("0x7b1"),MozTransition:e("0x2434"),WebkitTransition:e("0x2a2c")};for(var a in n)if(void 0!==t[e("0x4025")][a])return n[a]}var f,m=x[c("0x23a3")],b=s[0],_=s[1];if(t.gridster=b,m){var p=e(m);!(f=p(t)||{})&&p.assign&&(f={row:_[c("0x3c95")],col:_[c("0x1768")],sizeX:_[c("0x82a")],sizeY:_[c("0x12e")],minSizeX:0,minSizeY:0,maxSizeX:null,maxSizeY:null},p[c("0x3df0")](t,f))}else f=x;_[c("0xeed")](o,b),o[c("0x31dc")](c("0x44c2"));for(var h=[c("0x22a2"),c("0x35f6"),c("0x7b6"),c("0x65e"),c("0x82a"),c("0x12e"),c("0x3c95"),"col"],g={},v=[],S=function(n){var a,r=c;if(r("0x38b7")==typeof f[n])a=f[n];else if(r("0x38b7")==typeof f[n[r("0x2eb9")]()])a=f[n.toLowerCase()];else{if(!m)return;a=m+"."+n}v[r("0x459a")]('"'+n+'":'+a),g[n]=e(a);var i=g[n](t);"number"==typeof i&&(_[n]=i)},E=0,A=h[c("0x5e9")];E<A;++E)S(h[E]);var T="{"+v.join(",")+"}";t[c("0x49f2")](T,(function(e,t){for(var n in e){var a=e[n];t[n]!==a&&(a=parseInt(a,10),isNaN(a)||(_[n]=a))}})),t.$watch((function(){var e=c;return _[e("0x3c95")]+","+_[e("0x1768")]}),l),t[c("0x7a")]((function(){var e=c;return _[e("0x12e")]+","+_.sizeX+","+_.minSizeX+","+_[e("0x35f6")]+","+_.minSizeY+","+_[e("0x65e")]}),d);var y=new n(o,t,b,_,f),C=new a(o,t,b,_,f),w=function(){var e=c;C.toggle(!b[e("0x3599")]&&b[e("0x2580")]&&b[e("0x2580")].enabled)};w();var M=function(){var e=c;y[e("0x4368")](!b[e("0x3599")]&&b[e("0x472b")]&&b.draggable.enabled)};M(),t[c("0x24c9")](c("0x41e6"),M),t[c("0x24c9")](c("0x39a5"),w),t[c("0x24c9")](c("0x2851"),w),t.$on(c("0x1024"),(function(){w(),M()}));var R=r((function(){var e=c;t[e("0xd66")]((function(){var n=e;t[n("0x2050")](n("0x26eb"),_)}))}),50);return o.on(u(),R),t[c("0x2050")](c("0x35a8"),_),t[c("0x24c9")]("$destroy",(function(){var e=c;try{C[e("0xdc5")](),y.destroy()}catch(e){}try{b.removeItem(_)}catch(e){}try{_[e("0xdc5")]()}catch(e){}}))}}}])[t("0x1b75")](t("0x38e"),(function(){return{restrict:"A",link:function(e,t){var n=a2_0x37cf;t[n("0x31dc")](n("0x12f2"))}}}))})===o("0x3349")?a[o("0x4884")](t,r):a)||(e[o("0x33f9")]=i)},3541:(e,t,n)=>{var a,r,i,o;o=a2_0x37cf,r=[n(5734),n(5311)],void 0===(i=typeof(a=function(e,t){var n=a2_0x37cf,a=n("0x57a");e[n("0x39e9")](n("0x45f7"),[])[n("0x4d94")](n("0x1c67"),n("0x480d"))[n("0x4d94")]("ngSortableConfig",{})[n("0x1b75")]("ngSortable",[n("0x68c"),n("0x10e4"),function(n,r){var i,o;function x(e){var t=a2_0x37cf;return e.getAttribute(t("0x347f"))||e[t("0x22b9")](t("0x2d65"))||e[t("0x22b9")]("x-ng-repeat")||e[t("0x22b9")]("dir-paginate")}return{restrict:"AC",scope:{ngSortable:"=?"},priority:1001,compile:function(s,c){var l=a2_0x37cf,d=[][l("0x6a6")][l("0x3c6b")](s[0][l("0xf5c")],(function(e){var t=l;return e.nodeType===Node[t("0x4b77")]&&x(e)}))[0];if(d){var u=x(d).match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(u){var f=u[2];return function(x,s){var c,d,u=l,m=n(f),b=function(){return m(x.$parent)||[]},_=s[0],p=e[u("0x3448")](x[u("0x2c7e")]||{},r),h=[];function g(e,t){var n=u,a="on"+e[n("0x3298")][n("0x24de")](0)[n("0x110")]()+e.type[n("0x39fa")](1),r=b();p[a]&&p[a]({model:t||r[e[n("0x2170")]],models:r,oldIndex:e[n("0x418a")],newIndex:e[n("0x2170")],originalEvent:e})}function v(n){var r=u,s=b();if(s){var c=n[r("0x418a")],l=n[r("0x2170")];if(_!==n[r("0x3121")]){var f=n[r("0x3121")][a]();i=f[c],t.active&&"clone"===t[r("0x48c8")][r("0x6e2")]?(i=e[r("0x4d98")](i),f[r("0x2bcf")](t[r("0x1590")].index(n[r("0x42df")],d[r("0x16d1")].draggable),0,f[r("0x2bcf")](c,1)[0]),n[r("0x3121")][r("0x2a10")](n[r("0x42df")])&&n[r("0x3121")][r("0xffd")](n.clone)):f[r("0x2bcf")](c,1),s.splice(l,0,i),n.from.insertBefore(n[r("0x17a9")],o)}else s[r("0x2bcf")](l,0,s[r("0x2bcf")](c,1)[0]),o.nodeType===Node.COMMENT_NODE&&n[r("0x3121")][r("0x1437")](o,n[r("0x17a9")][r("0x1681")]);x[r("0xd66")]()}}function S(){var t=u;c(),e[t("0x5ba")](h,(function(e){e()})),d.destroy(),_[a]=null,_=null,h=null,d=null,o=null}_[a]=b,d=t[u("0x4b8c")](_,Object[u("0xa35")](p)[u("0x2e06")]((function(e,t){return e[t]=e[t]||p[t],e}),{onStart:function(e){var t=u;o=e[t("0x3121")]===e.item.parentNode?e.item[t("0x1681")]:e[t("0x42df")].nextSibling,g(e),x[t("0xd66")]()},onEnd:function(e){var t=u;g(e,i),x[t("0xd66")]()},onAdd:function(e){var t=u;v(e),g(e,i),x[t("0xd66")]()},onUpdate:function(e){v(e),g(e)},onRemove:function(e){g(e,i)},onSort:function(e){g(e)}})),e[u("0x5ba")]([u("0x4d63"),u("0x1c54"),u("0x472b"),"handle",u("0x2f73"),"group","ghostClass","filter",u("0x2ef9"),"onEnd",u("0xdd8"),"onUpdate",u("0x3420"),u("0x1d1c"),u("0x822"),"onClone",u("0x1869"),"delay",u("0x2f73"),u("0x407f")],(function(e){var t=u;h.push(x[t("0x7a")](t("0x1042")+e,(function(n){var a=t;void 0!==n&&(p[e]=n,!/^on[A-Z]/[a("0x3ff3")](e)&&d[a("0x2d68")](e,n))})))})),c=x[u("0x24c9")](u("0x4c91"),S)}}}}}}])})===o("0x3349")?a[o("0x4884")](t,r):a)||(e[o("0x33f9")]=i)},2214:()=>{!function(e,t,n){var a=a2_0x37cf;function r(e,n){var r=a;function i(a,r,i,o){var x=a2_0x37cf,s=o.shift(),c=o[x("0x4534")]();function l(){var e,t=x;e=x,Array[e("0x20f")][e("0x906")][e("0x3c6b")](r[e("0x372f")]("md-icon"),(function(t){var n=e;return t[n("0x1e2d")].contains(n("0x309"))&&r[0].removeChild(t)})),r[t("0xa81")](t("0x326b")).off(t("0x7cb"),b)}function d(){var n,i,o=x;i=t[(n=x)("0xb48")]('<md-icon md-svg-icon="arrow-up.svg">'),e(i.addClass("md-sort-icon")[n("0x417f")](n("0x1224"),n("0x2a08")))(a),r[n("0x3a35")]("md-numeric")?r[n("0x2bdd")](i):r.append(i),r[o("0x31dc")]("md-sort").on(o("0x7cb"),b)}function u(){var e=x;return Array[e("0x20f")][e("0x3507")][e("0x3c6b")](r[e("0x731")]().children(),r[0])}function f(){var e=x;return a[e("0x69")]&&(s[e("0x4745")]===a[e("0x69")]||s[e("0x4745")]==="-"+a[e("0x69")])}function m(){var e=x;return""===i.mdNumeric||a[e("0x4481")]}function b(){var e=x;a[e("0x45a4")]((function(){var r=e;f()?s[r("0x4745")]="md-asc"===a[r("0x3af1")]()?"-"+a.orderBy:a[r("0x69")]:s[r("0x4745")]=a.getDirection()===r("0x2ea8")?a[r("0x69")]:"-"+a[r("0x69")],t[r("0x4977")](s[r("0x6ce")])&&n[r("0x4ee4")]((function(){s[r("0x6ce")](s.order)}))}))}function _(e,t){var n=x;c.$$columns[e]=t,t.numeric?r.addClass(n("0x3bc3")):r[n("0xa81")](n("0x3bc3"))}a[x("0x3af1")]=function(){var e=x;return f()?"-"===s.order[e("0x24de")](0)?e("0x5f4"):"md-asc":""===i[e("0x43a3")]||a[e("0xe2b")](i.mdDesc)?e("0x5f4"):e("0x2ea8")},a[x("0x7a")](f,(function(e){var t=x;e?r.addClass("md-active"):r.removeClass(t("0x3598"))})),a[x("0x7a")](u,(function(e){_(e,{numeric:m()})})),a[x("0x7a")](m,(function(e){_(u(),{numeric:e})})),a[x("0x7a")](x("0x69"),(function(e){var t=x;e?!r[t("0x3a35")]("md-sort")&&d():r.hasClass(t("0x326b"))&&l()}))}return{compile:function(e){var t=a2_0x37cf;return e.addClass(t("0x1e6e")),i},require:[r("0xfc2"),r("0x205c")],restrict:"A",scope:{numeric:r("0x22c9"),orderBy:"@?mdOrderBy"}}}function i(e){return function(n,a,r,i){var o=a2_0x37cf;if(r&&typeof r===o("0x1b1d")){var x=e(n,a,!0,i);return t[o("0x3448")](x[o("0x2cde")],r),x()}return e(n,a,r,i)}}function o(e,n,r,i,o,x,s,c,l){var d=a,u=!1,f=t.element(r[d("0x40ea")]("body")),m={clickOutsideToClose:!0,disableScroll:!0,escToClose:!0,focusOnOpen:!0};function b(a,r){var o,s,c,m,b,_,p,h,g,v,S,E,A,T,y,C,w,M,R,D,I=d,N=x[I("0x28da")](),O=e(a)(N),k=i.createBackdrop(N,I("0x27da"));return r[I("0x1194")]?o=function(e,a,r){var i=d;if(!e.controller)return;return e[i("0x407b")]&&t[i("0x3448")](r,e[i("0x407b")]),e[i("0x9dc")]&&t[i("0x3448")](r,e.locals),e[i("0x13b4")]?(a[e.controllerAs]={},e[i("0x44d3")]?t[i("0x3448")](a[e[i("0x13b4")]],e.scope):t.extend(a,e.scope)):t[i("0x3448")](a,e[i("0xd20")]),e[i("0x44d3")]?n(e[i("0x1194")],r,a[e[i("0x13b4")]]):n(e[i("0x1194")],r)}(r,N,{$element:O,$scope:N}):t[I("0x3448")](N,r[I("0xd20")]),r[I("0x40d3")]&&(M=O,R=d,D=i.disableScrollAround(M,f),M.on(R("0x4c91"),(function(){D()}))),f[I("0x2bdd")](k)[I("0x136a")](O[I("0x31dc")](I("0x1a34"))),p=O,h=r[I("0x55d")],v=t[(g=d)("0xb48")](h)[g("0x1194")](g("0x2e20")).getTable(),S=function(){var e=g;return p[e("0x40ea")](e("0x2838"))},E=function(){return{width:T(),height:S()}},A=function(){var e=g,t=v[e("0x731")]();return t[e("0x40ea")](e("0x4d74"))===e("0x32a")?t[0][e("0x1a8b")]():v[0].getBoundingClientRect()},T=function(){var e=g;return p.prop(e("0x538"))},y=function(){var e=g,t=E(),n=h[e("0x1a8b")](),a=A();t[e("0xbbf")]>a.right-n[e("0x2885")]?p.css("left",a.right-t[e("0xbbf")]+"px"):p[e("0x42b1")]("left",n[e("0x2885")]+"px"),t[e("0x4e66")]>a[e("0x47d9")]-n.top?p[e("0x42b1")]("top",a[e("0x47d9")]-t.height+"px"):p[e("0x42b1")](e("0x228a"),n[e("0x228a")]+1+"px"),p[e("0x42b1")]("minWidth",n[e("0xbbf")]+"px")},C=x[g("0x7a")](T,y),w=x[g("0x7a")](S,y),l[g("0x4944")]("resize",y),p.on(g("0x4c91"),(function(){var e=g;C(),w(),l.removeEventListener(e("0x39d4"),y)})),r[I("0x751")]&&(b=O,i[(_=d)("0x4ee4")]((function(){var e=_,t=i.findFocusTarget(b);t&&t[e("0x2beb")]()}),!1)),r[I("0x4ce6")]&&k.on(I("0x7cb"),(function(){O.remove()})),r.escToClose&&(s=O,c=d,m=function(e){var t=a2_0x37cf;27===e[t("0x4ff2")]&&s[t("0xf82")]()},f.on("keyup",m),s.on(c("0x4c91"),(function(){var e=c;f[e("0x30f8")](e("0xa20"),m)}))),O.on(I("0x4c91"),(function(){u=!1,k[I("0xf82")]()})),o}function _(e){u=!1,console[d("0x4ad3")](e)}function p(e,n){var a=d;return{controller:[a("0x4998"),"$q","save","$scope",function(e,n,r,i){var o=a;this.dismiss=function(){e.remove()},this[o("0x4a46")]=function(){var e=o;return i[e("0x773")][e("0x3f87")]},i[o("0x12e7")]=this[o("0x12e7")],i.submit=function(){var e,a=o;(e=a2_0x37cf,i[e("0x773")][e("0x1d4c")]?n[e("0x2078")]():t[e("0x4977")](r)?n[e("0x2c66")](r(i[e("0x773")][e("0x3f87")])):n[e("0x407b")]())[a("0x34e8")]((function(){i.dismiss()}))}}],locals:{save:n[a("0x37e0")]},scope:{cancel:n[a("0x4920")]||a("0x3f34"),messages:n.messages,model:n.modelValue,ok:n.ok||a("0x42bb"),placeholder:n[a("0x21e2")],title:n.title,size:e},template:'<md-edit-dialog><div layout="column" class="md-content">'+a("0x5014")+a("0x279e")+a("0x15a")+a("0x4bf2")+function(){var e=a2_0x37cf,t=e("0xf5e")+(n.type||e("0x806"))+'"';for(var a in n.validators)t+=" "+a+'="'+n[e("0x40aa")][a]+'"';return t}()+'><div ng-messages="editDialog.input.$error">'+a("0x616")+a("0x1fa8")+"</md-input-container>"+a("0x5f9")+a("0x1fa8")+a("0x4d7c")+'<md-button class="md-primary" ng-click="dismiss()">{{cancel}}</md-button>'+a("0xa1a")+"</div>"+a("0x587")}}return this[d("0x262c")]=function(e){var n=d;if(u)return o.reject();if(u=!0,!(e=t[n("0x3448")]({},m,e)).targetEvent)return _("options.targetEvent is required to align the dialog with the table cell.");if(!e[n("0xe57")][n("0x2e3f")][n("0x1e2d")][n("0x2a10")](n("0x351e")))return _(n("0x4e62"));if(e[n("0x44d3")]&&!e[n("0x13b4")])return _(n("0x1f35"));e[n("0x55d")]=e.targetEvent[n("0x2e3f")];var a,r=(a=e,o((function(e,n){var r,i=a2_0x37cf,o=a[i("0x371b")];return o?t.isString(o)?e(o):(r=typeof o,void n(i("0x44cd")+r+".")):a[i("0x1d64")]?(o=s[i("0x1cf")](a[i("0x1d64")]))?e(o):c(a[i("0x1d64")])[i("0x34e8")]((function(t){return e(t)}),(function(){return n("Error retrieving template from URL.")})):void n(i("0x2247"))}))),i=[r];for(var x in e[n("0x407b")])r=e[n("0x407b")][x],i[n("0x459a")](o[n("0x2c66")](t[n("0x4977")](r)?r():r));return(r=o[n("0x3217")](i))[n("0x373a")](_),r[n("0x34e8")]((function(t){var a=n,r=t[a("0x4534")]();for(var i in e.resolve)e[a("0x407b")][i]=t[a("0x4534")]();return b(r,e)}))},this[d("0x2ffb")]=function(e){var n=d;return this.show(t[n("0x3448")]({},e,p(n("0x2ffb"),e)))}.bind(this),this.large=function(e){var n=d;return this[n("0x262c")](t.extend({},e,p(n("0x2015"),e)))}[d("0x2b0c")](this),this}function x(e){var n=a;function r(n,a,r,i){var o=a2_0x37cf,x=new Array(2);function s(){var r,i=a2_0x37cf;a[i("0x40ea")](i("0x3685"))[i("0x1234")].appendChild(e((r=a2_0x37cf,t[r("0xb48")](r("0x2fe4"))[r("0x417f")]({"aria-label":r("0x1461"),"ng-click":r("0x3b47"),"ng-checked":"allSelected()","ng-disabled":r("0x4e38")})))(n)[0])}function c(e){var n=a2_0x37cf;return t.element(e).controller(n("0x17fb"))}n[o("0x3ca5")]=function(){var e=o,t=n.getSelectableRows();return t.length&&t[e("0x1906")]((function(e){return e.isSelected()}))},n[o("0x2c22")]=function(){var e=o;return i[e("0xf37")]()[e("0x19e8")](c)[e("0x6a6")]((function(e){return e&&!e.disabled}))},n[o("0x38b0")]=function(){var e=o;i[e("0xf37")]().map(c)[e("0x5ba")]((function(t){var n=e;t&&!t.isSelected()&&t[n("0x2d7b")]()}))},n[o("0x4c37")]=function(){var e=o;return n.allSelected()?n[e("0x349")]():n.selectAll()},n[o("0x349")]=function(){var e=o;i.getBodyRows()[e("0x19e8")](c)[e("0x5ba")]((function(t){var n=e;t&&t[n("0x3ee2")]()&&t[n("0x1428")]()}))},n[o("0x2952")]([function(){return i[a2_0x37cf("0x2a1b")]},i[o("0x36ec")]],(function(e){var n,r,i,c=o;e[0]!==x[0]?e[0]?(a[a2_0x37cf("0x71b")]().prepend('<th class="md-column md-checkbox-column">'),e[1]&&s()):(i=a2_0x37cf,Array[i("0x20f")].some[i("0x3c6b")](a[i("0x372f")]("th"),(function(e){var t=i;return e[t("0x1e2d")][t("0x2a10")](t("0xcdc"))&&e[t("0xf82")]()}))):e[0]&&e[1]!==x[1]&&(e[1]?s():(r=a[(n=a2_0x37cf)("0x40ea")]("lastElementChild")[n("0x1234")])[n("0x1e2d")][n("0x2a10")](n("0xcdc"))&&t[n("0xb48")](r)[n("0x21c")]()),t[c("0x4d98")](e,x)}))}return{bindToController:!0,compile:function(e){var t=a2_0x37cf;return e[t("0x31dc")](t("0x43df")),r},controller:function(){},controllerAs:"$mdHead",require:n("0x205c"),restrict:"A",scope:{order:n("0xcf7"),onReorder:n("0x4c72")}}}function s(e,n){var r=a;return{bindToController:!0,controller:function(){},controllerAs:r("0x37ed"),link:function(a,r,i,o){var x=a2_0x37cf,s=o[x("0x4534")](),c=o[x("0x4534")](),l=n(i[x("0xe9b")]);if(s.id=l(s[x("0x4933")]),c[x("0x2a1b")]&&s.id)if(c[x("0x46a1")][x("0x519")](s.id)){var d=c.selected[x("0x3507")](c[x("0x46a1")][x("0x1cf")](s.id));-1===d?c[x("0x46a1")][x("0x53c")](s.id):!c[x("0x46a1")][x("0x34f9")](s.id,s[x("0x4933")])&&(c[x("0x46a1")][x("0x3fdc")](s.id,s[x("0x4933")]),c[x("0x2f89")][x("0x2bcf")](d,1,s[x("0x4933")]))}else c.selected.some((function(e,t){var n=x;if(l(e)===s.id)return c[n("0x46a1")][n("0x3fdc")](s.id,s[n("0x4933")]),c.selected[n("0x2bcf")](t,1,s[n("0x4933")]),!0}));function u(){var e=x;return""===i[e("0x29be")]||s[e("0x1ee8")]}function f(){var n,i;r[x("0x2bdd")]((i=t[(n=x)("0xb48")](n("0x2fe4")).attr({"aria-label":n("0x4fd6"),"ng-click":n("0x414f"),"ng-checked":"$mdSelect.isSelected()","ng-disabled":n("0x28a3")}),t[n("0xb48")](n("0x2263")).append(e(i)(a)))),u()&&r.on("click",b)}function m(e){var t=x;s.id&&(c[t("0x46a1")][t("0x519")](s.id)?-1===e[t("0x3507")](c[t("0x46a1")][t("0x1cf")](s.id))&&c[t("0x46a1")].purge(s.id):-1!==e[t("0x3507")](s[t("0x4933")])&&c[t("0x46a1")][t("0x3fdc")](s.id,s[t("0x4933")]))}function b(e){var t=x;a[t("0x45a4")]((function(){s[t("0x4368")](e)}))}s[x("0x3ee2")]=function(){var e=x;return!!c[e("0x2a1b")]&&(s.id?c.$$hash[e("0x519")](s.id):-1!==c[e("0x2f89")].indexOf(s.model))},s[x("0x2d7b")]=function(){var e=x;s[e("0x1c54")]||(c[e("0x36ec")]()?c[e("0x2f89")].push(s.model):c[e("0x2f89")][e("0x2bcf")](0,c[e("0x2f89")][e("0x5e9")],s[e("0x4933")]),t.isFunction(s.onSelect)&&s.onSelect(s[e("0x4933")]))},s[x("0x1428")]=function(){var e=x;s.disabled||(c.selected[e("0x2bcf")](c[e("0x2f89")][e("0x3507")](s[e("0x4933")]),1),t[e("0x4977")](s[e("0x3b09")])&&s[e("0x3b09")](s[e("0x4933")]))},s[x("0x4368")]=function(e){var t=x;return e&&e[t("0x4c98")]&&e[t("0x4c98")](),s.isSelected()?s[t("0x1428")]():s[t("0x2d7b")]()},a.$watch((function(){return c[x("0x2a1b")]}),(function(e){var t;e?f():(t=x,Array.prototype[t("0x906")].call(r[t("0x71b")](),(function(e){var n=t;return e[n("0x1e2d")][n("0x2a10")](n("0x2fbe"))&&r[0][n("0xffd")](e)})),u()&&r[t("0x30f8")](t("0x7cb"),b))})),a[x("0x7a")](u,(function(e,t){var n=x;e!==t&&(c[n("0x2a1b")]&&e?r.on(n("0x7cb"),b):r[n("0x30f8")](n("0x7cb"),b))})),a[x("0x7a")](s[x("0x3ee2")],(function(e){var t=x;return e?r[t("0x31dc")](t("0x2c20")):r[t("0xa81")](t("0x2c20"))})),a[x("0x7a")](c[x("0x36ec")],(function(e){var t=x;c.$$rowSelect&&!e&&c.selected[t("0x2bcf")](1)})),c[x("0x945")](m),r.on("$destroy",(function(){c[x("0x305e")](m)}))},require:[r("0x17fb"),r("0x205c")],restrict:"A",scope:{model:"=mdSelect",disabled:r("0x4e82"),onSelect:r("0x3094"),onDeselect:r("0x4d3b"),autoSelect:r("0x25f")}}}function c(){var e=a,t={};this[e("0x34f9")]=function(e,n){return t[e]===n},this[e("0x1cf")]=function(e){return t[e]},this[e("0x519")]=function(e){return t.hasOwnProperty(e)},this[e("0x53c")]=function(e){delete t[e]},this[e("0x3fdc")]=function(e,n){t[e]=n}}t.module("md.table.templates",[a("0x5aa"),"md-table-progress.html",a("0x4902"),"navigate-before.svg",a("0x2f5c"),a("0xb59"),"navigate-next.svg"]),t.module(a("0x5aa"),[])[a("0x4c69")](["$templateCache",function(e){var t=a;e[t("0x32f3")](t("0x5aa"),'<div class="page-select" ng-if="$pagination.showPageSelect()">\n'+t("0x16e2")+"\n"+t("0x2dc3")+t("0x133f")+t("0x1987")+"    </md-content>\n"+t("0x45b8")+t("0x4283")+"\n"+t("0x1d4d")+t("0x5a9")+'\n  <md-select class="md-table-select" ng-model="$pagination.limit" md-container-class="md-pagination-select" ng-disabled="$pagination.disabled" aria-label="Rows" placeholder="{{ $pagination.limitOptions[0] }}">\n    <md-option ng-repeat="option in $pagination.limitOptions" ng-value="option.value ? $pagination.eval(option.value) : option">{{::option.label ? option.label : option}}</md-option>\n'+t("0x45b8")+t("0x4283")+"\n"+t("0xcd6")+t("0x29aa")+"\n"+t("0x1c97")+t("0x1ce2")+t("0x205b")+'\n  <md-button class="md-icon-button" type="button" ng-click="$pagination.previous()" ng-disabled="$pagination.disabled || !$pagination.hasPrevious()" aria-label="Previous">\n'+t("0x45b1")+"  </md-button>\n\n"+t("0x19c3")+t("0x28d9")+"  </md-button>\n\n"+t("0x2c7b")+t("0x7f4")+t("0x205b")+"</div>")}]),t[a("0x39e9")](a("0x44ce"),[])[a("0x4c69")](["$templateCache",function(e){var t=a;e.put(t("0x44ce"),t("0x4b4c")+t("0xe0e")+'    <md-progress-linear ng-show="deferred()" md-mode="indeterminate"></md-progress-linear>\n'+t("0x39c")+"</tr>")}]),t[a("0x39e9")](a("0x4902"),[])[a("0x4c69")]([a("0x19f0"),function(e){var t=a;e[t("0x32f3")](t("0x4902"),'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"/></svg>')}]),t[a("0x39e9")](a("0x48e6"),[]).run(["$templateCache",function(e){var t=a;e[t("0x32f3")](t("0x48e6"),t("0x3c97"))}]),t[a("0x39e9")](a("0x2f5c"),[]).run([a("0x19f0"),function(e){var t=a;e[t("0x32f3")](t("0x2f5c"),t("0x43f3"))}]),t[a("0x39e9")](a("0xb59"),[])[a("0x4c69")](["$templateCache",function(e){var t=a;e.put(t("0xb59"),t("0xd6a"))}]),t.module(a("0x202e"),[])[a("0x4c69")](["$templateCache",function(e){var t=a;e[t("0x32f3")](t("0x202e"),t("0x110f"))}]),t[a("0x39e9")](a("0xb35"),["md.table.templates"]),t.module("md.data.table")[a("0x1b75")](a("0x1899"),(function(){return{compile:function(e){var t=a2_0x37cf;e.addClass(t("0x3669"))},restrict:"A"}})),t[a("0x39e9")]("md.data.table")[a("0x1b75")]("mdCell",(function(){var e=a;function t(e,t,n,a){var r=a2_0x37cf,i=t[r("0x372f")](r("0x2ac8")),o=a[r("0x4534")](),x=a[r("0x4534")]();n.ngClick&&t[r("0x31dc")](r("0x213e")),i[r("0x5e9")]&&(i.on(r("0x7cb"),(function(e){e[r("0x4c98")]()})),t[r("0x31dc")](r("0x213e")).on(r("0x7cb"),(function(e){var t=r;e[t("0x4c98")](),i[0][t("0x7cb")]()}))),o[r("0x3e7")]=x[r("0x18")],e[r("0x7a")]((function(){var e;return x[r("0x3eee")][(e=r,Array[e("0x20f")][e("0x3507")].call(t.parent()[e("0x71b")](),t[0]))]}),(function(e){var n=r;e&&(e[n("0x4481")]?t[n("0x31dc")](n("0x3bc3")):t[n("0xa81")](n("0x3bc3")))}))}return{controller:function(){},compile:function(e){var n=a2_0x37cf,a=e.find(n("0x2ac8"));return a[n("0x5e9")]&&a[n("0x31dc")](n("0x22f"))[n("0x417f")](n("0x18a5"),n("0x22f")),e[n("0x31dc")]("md-cell"),t},require:[e("0x2e20"),e("0x205c")],restrict:"A"}})),t[a("0x39e9")](a("0xb35"))[a("0x1b75")](a("0x77a"),r),r[a("0x4670")]=[a("0x4728"),a("0xfb8")],t.module("md.data.table")[a("0x3051")](a("0xd68"),i)[a("0x3faf")](a("0x2c5a"),o),i.$inject=[a("0x2e2b")],o.$inject=[a("0x4728"),"$controller",a("0x45e2"),a("0xfb8"),"$q",a("0x47ed"),"$templateCache",a("0x1d93"),a("0xe11")],t[a("0x39e9")](a("0xb35")).directive(a("0xbe6"),(function(){return{compile:function(e){e[a2_0x37cf("0x31dc")]("md-foot")},restrict:"A"}})),t[a("0x39e9")](a("0xb35"))[a("0x1b75")](a("0x2776"),x),x[a("0x4670")]=[a("0x4728")],t[a("0x39e9")]("md.data.table").directive(a("0x28b5"),(function(){function e(e,n,a,r){var i,o=a2_0x37cf;function x(e){var t=a2_0x37cf;return n[0][t("0x2a10")](e[0])}if(i=a2_0x37cf,-1!==r.getBodyRows()[i("0x3507")](n[0])){var s=t[o("0xb48")](o("0x4f34"));e[o("0x7a")]((function(){return r.$$rowSelect}),(function(e){var t=o;!e||a.mdSelect?x(s)&&s.remove():!x(s)&&n[t("0x2bdd")](s)}))}}return{compile:function(t){var n=a2_0x37cf;return t[n("0x31dc")](n("0x3936")),e},require:a("0x205c"),restrict:"A"}})),t[a("0x39e9")]("md.data.table")[a("0x1b75")](a("0x17fb"),s),s[a("0x4670")]=[a("0x4728"),a("0x68c")],t.module(a("0xb35"))[a("0x1b75")]("mdTable",(function(){var e=a;function n(e,n,a,r){var i,o=a2_0x37cf,x=this,s=[],l=[];function d(){var e=o;if(!s[e("0x5e9")])return r[e("0x45a4")]();s[0].finally((function(){s[e("0x4534")](),d()}))}x[o("0x46a1")]=new c,x.$$columns={},x[o("0xf6f")]=function(){var e=o;return x[e("0x42af")](n[0])[e("0x2e06")]((function(t,n){var a=e;return n.cells[a("0x5e9")]>t?n[a("0x458")][a("0x5e9")]:t}),0)},x[o("0x42af")]=function(e){var t=o;return Array[t("0x20f")][t("0x6a6")][t("0x3c6b")](e[t("0x47d8")],(function(e){var n=t;return!e[n("0x1e2d")].contains(n("0x1cee"))}))},x[o("0xf37")]=function(){var e=o;return Array[e("0x20f")][e("0x2e06")][e("0x3c6b")](n[e("0x40ea")](e("0x3504")),(function(t,n){var a=e;return t[a("0x3abc")](x[a("0x42af")](n))}),[])},x[o("0x18")]=function(){return n},x[o("0x4158")]=function(){var e=o;return x[e("0x42af")](n[e("0x40ea")](e("0xc55")))},x.enableMultiSelect=function(){return""===e[o("0x5c5")]||r.$eval(e.multiple)},x.waitingOnPromise=function(){return!!s[o("0x5e9")]},x[o("0x115b")]=function(e){var n=o;e&&1===s[n("0x459a")](t[n("0x498f")](e)?a[n("0x3217")](e):a[n("0x2c66")](e))&&d()},x.registerModelChangeListener=function(e){l.push(e)},x.removeModelChangeListener=function(e){var t=o,n=l[t("0x3507")](e);-1!==n&&l[t("0x2bcf")](n,1)},e.hasOwnProperty(o("0x1ce3"))&&r[o("0x7a")](o("0x797"),x[o("0x115b")]),r.$watch((function(){var t=o;return""===e[t("0x3283")]||x[t("0x2594")]}),(function(e){var a,s,c;e&&(x[(c=o)("0x2f89")]?t[c("0x498f")](x[c("0x2f89")])||console.error(c("0x1a76")+typeof x.selected+"."):console[c("0x4ad3")](c("0xf5b")))?(x[(s=o)("0x2a1b")]=!0,i=r.$watchCollection(s("0x1658"),(function(e){l.forEach((function(t){t(e)}))})),n[s("0x31dc")](s("0x3fea"))):(x[(a=o)("0x2a1b")]=!1,t[a("0x4977")](i)&&i(),n[a("0xa81")](a("0x3fea")))}))}return n[e("0x4670")]=[e("0x428f"),e("0x4998"),"$q","$scope"],{bindToController:!0,compile:function(e,n){var a=a2_0x37cf;if(e[a("0x31dc")](a("0x38a1")),n[a("0x1bd4")]("mdProgress")){var r=e.find(a("0x8f6"))[0],i=t.element('<thead class="md-table-progress" md-table-progress>');r&&e[0][a("0x1437")](i[0],r)}},controller:n,controllerAs:e("0x36c5"),restrict:"A",scope:{progress:"=?mdProgress",selected:e("0x2cd1"),rowSelect:"=mdRowSelect"}}})),t[a("0x39e9")](a("0xb35"))[a("0x1b75")](a("0x18bd"),(function(){var e=a;function n(e,n,a){var r=a2_0x37cf,i=this,o={page:"Page:",rowsPerPage:r("0x261f"),of:"of"};function x(e){return parseInt(e,10)>0}i[r("0x32b")]=t[r("0x4d98")](o),i[r("0x31de")]=function(e){return a[r("0xe2b")](e)},i[r("0x81d")]=function(){var e=r;i[e("0x1dcc")]=1,i[e("0xa32")]()},i[r("0x1756")]=function(){var e=r;return i[e("0x1dcc")]*i[e("0x477f")]<i.total},i[r("0x167c")]=function(){return i[r("0x1dcc")]>1},i[r("0xa00")]=function(){var e=r;i[e("0x1dcc")]=i[e("0x2ef1")](),i.onPaginationChange()},i[r("0x242b")]=function(){var e=r;return i[e("0x1756")]()?i[e("0x1dcc")]*i[e("0x477f")]:i[e("0x166f")]},i[r("0x11db")]=function(){var e=r;return x(i[e("0x166f")])?i[e("0x1dcc")]*i[e("0x477f")]-i[e("0x477f")]+1:0},i.next=function(){i[r("0x1dcc")]++,i.onPaginationChange()},i[r("0xa32")]=function(){var e=r;t[e("0x4977")](i[e("0x42c9")])&&n.nextTick((function(){var t=e;i[t("0x42c9")](i.page,i[t("0x477f")])}))},i[r("0x2ef1")]=function(){var e=r;return x(i[e("0x166f")])?Math[e("0x3c59")](i.total/(x(i[e("0x477f")])?i[e("0x477f")]:1)):1},i[r("0xffe")]=function(){var e=r;i[e("0x1dcc")]--,i[e("0xa32")]()},i.showBoundaryLinks=function(){return""===e.mdBoundaryLinks||i.boundaryLinks},i.showPageSelect=function(){return""===e[r("0x2d7a")]||i.pageSelect},a[r("0x7a")](r("0x1a7c"),(function(e,t){var n=r;isNaN(e)||isNaN(t)||e===t||(i[n("0x1dcc")]=Math[n("0x4184")]((i.page*t-t+e)/(x(e)?e:1)),i.onPaginationChange())})),e[r("0xf52")](r("0x4d4e"),(function(e){var n=r;t[n("0x3448")](i[n("0x32b")],o,a[n("0xe2b")](e))})),a[r("0x7a")](r("0x43a"),(function(e,t){var n=r;isNaN(e)||e===t||i[n("0x1dcc")]>i[n("0x2ef1")]()&&i[n("0xa00")]()}))}return n[e("0x4670")]=[e("0x428f"),e("0xfb8"),e("0x36af")],{bindToController:{boundaryLinks:e("0x2fe"),disabled:e("0x4e82"),limit:e("0x67d"),page:e("0x3c66"),pageSelect:"=?mdPageSelect",onPaginate:e("0x4d00"),limitOptions:e("0x38dc"),total:e("0x4aa4")},compile:function(e){var t=a2_0x37cf;e[t("0x31dc")](t("0x4001"))},controller:n,controllerAs:e("0x1a84"),restrict:"E",scope:{},templateUrl:e("0x5aa")}})),t.module("md.data.table").directive("mdTableProgress",(function(){return{link:function(e,t,n,a){var r=a2_0x37cf;e[r("0xf6f")]=a[r("0xf6f")],e.deferred=a[r("0x4fea")]},require:a("0x205c"),restrict:"A",scope:{},templateUrl:"md-table-progress.html"}})),t[a("0x39e9")]("md.data.table")[a("0x1b75")]("virtualPageSelect",(function(){var e=a;function t(e,t){var n=a2_0x37cf,a=this,r=e[n("0x372f")](n("0x477d"));function i(e,t){return Math[n("0x11db")](e,isFinite(t)&&t>0?t:1)}function o(e){var t=n;if(a[t("0x2ef1")][t("0x5e9")]>e)return a.pages[t("0x2bcf")](e);for(var r=a[t("0x2ef1")][t("0x5e9")];r<e;r++)a.pages.push(r+1)}a[n("0x2ef1")]=[],r.on(n("0x3def"),(function(){var e=n;r[e("0x40ea")](e("0x2838"))+r[e("0x40ea")](e("0x1423"))>=r.prop("scrollHeight")&&t.$applyAsync((function(){var t=e;o(i(a[t("0x2ef1")].length+10,a[t("0x166f")]))}))})),t[n("0x7a")](n("0x418f"),(function(e){var t=n;o(i(Math.max(a[t("0x2ef1")].length,10),e))})),t[n("0x7a")]("$pagination.page",(function(e){for(var t=n,r=a[t("0x2ef1")].length;r<e;r++)a[t("0x2ef1")][t("0x459a")](r+1)}))}return t[e("0x4670")]=[e("0x4998"),e("0x36af")],{bindToController:{total:"@"},controller:t,controllerAs:e("0x1f9")}}))}(window,angular)},3558:(e,t,n)=>{var a=_0x299160;n(9672),n(2214),e[a("0x33f9")]=a("0xb35")},8965:()=>{var e,t,n,a,r;r=a2_0x37cf,angular[r("0x39e9")](r("0x297d"),[r("0x1b0c")]),a=a2_0x37cf,angular[a("0x39e9")](a("0x297d")).run([a("0x19f0"),function(e){e[a("0x32f3")]("icons/ic_keyboard_arrow_right_black_24px.svg",'<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n    <path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/>\n    <path d="M0-.25h24v24H0z" fill="none"/>\n</svg>')}]),function(){var e=a2_0x37cf;angular[e("0x39e9")](e("0x297d"))[e("0x1b75")](e("0x192e"),(function(){var n=e;return{restrict:"E",require:[n("0x192e"),n("0x490f")],scope:!0,compile:function(e,t){var a=n,r=a("0x383");if(e.attr(a("0x562"),t.tabindex||"0"),null===e[0][a("0x31f7")](a("0x2bca")))throw Error(r+a("0x3799"));if(null===e[0][a("0x31f7")](a("0x255e")))throw Error(r+a("0x10a7"));return function(e,t,n,r){var i=a,o=r[0],x=r[1];o[i("0x2549")]=x||void 0,o[i("0xeed")]()}},controller:[n("0x36af"),n("0x4998"),n("0x428f"),n("0xe11"),n("0x47aa"),n("0x4572"),n("0xfb8"),n("0x22cd"),n("0x38d4"),"$q",n("0xc00"),"$parse",function(e,a,r,i,o,x,s,c,l,d,u,f){var m,b,_,p,h,g,v,S,E,A,T,y=n,C=this,w=!1,M=!1,R=!1,D=!1,I=o[y("0x3fe4")](q),N=o.throttle(z);C[y("0x435")]=function(e){m=e},C[y("0x1811")]=function(e){b=e},C[y("0x3f9e")]=function(e){_=e},C[y("0x2c8d")]=function(e){p=e},void 0===r[y("0xe5f")]?(r.$set(y("0xe5f"),y("0x37df")+s.nextUid()),P()):r.$observe(y("0xe5f"),(function(){P()})),C[y("0x4998")]=a,C[y("0x3a98")]=F,C.collapse=B,C[y("0xf82")]=Y,C.destroy=U,C[y("0x3420")]=G,C[y("0xeed")]=k,void 0!==r[y("0x28cb")]?e.$watch(r[y("0x28cb")],(function(e){D=e,a[y("0x417f")]("tabindex",D?-1:0)})):void 0!==r[y("0x1c54")]&&(D=void 0!==r[y("0x1c54")]&&r[y("0x1c54")]!==y("0x22b7")&&!1!==r[y("0x1c54")],a[y("0x417f")](y("0x562"),D?-1:0));function O(e){var t=y,n=x[t("0x4c0f")];switch(e.keyCode){case n[t("0x25ba")]:F();break;case n.ESCAPE:B()}}function k(){w=!0,!0===M&&P()}function P(){var e=y;!1!==w?("function"==typeof h&&(h(),h=void 0),C.componentId&&C[e("0x2549")]&&C[e("0x2549")][e("0x1a9e")](C[e("0x1487")]),void 0===r.mdComponentId&&r[e("0x35be")](e("0xe5f"),"_expansion_panel_id_"+s.nextUid()),C[e("0x1487")]=r[e("0xe5f")],h=c[e("0x4ce9")]({expand:F,collapse:B,remove:Y,onRemove:G,isOpen:L,addClickCatcher:Q,removeClickCatcher:K,componentId:r[e("0xe5f")]},r[e("0xe5f")]),C[e("0x2549")]&&C[e("0x2549")].addPanel(C.componentId,{expand:F,collapse:B,remove:Y,onRemove:G,destroy:U,isOpen:L})):M=!0}function L(){return R}function F(e){var n=y;if(!0!==R&&!0!==D){R=!0,e=e||{};var r=d[n("0x3a26")]();return C[n("0x2549")]&&C[n("0x2549")][n("0xd80")](C.componentId),a[n("0xa81")](n("0x4668")),a[n("0x31dc")]("md-open"),!1===e[n("0x2f73")]?a.addClass("md-no-animation"):a.removeClass(n("0x21e0")),$(),m[n("0x29cb")](e),b[n("0x262c")](e),_&&_.show(e),p&&p[n("0x262c")](e),l((function(){r[n("0x407b")]()}),!1===e[n("0x2f73")]?0:t),r[n("0x234e")]}}function B(e){var n=y;if(!1!==R){R=!1,e=e||{};var r=d[n("0x3a26")]();return a[n("0x31dc")](n("0x4668")),a[n("0xa81")](n("0x146c")),!1===e.animation?a[n("0x31dc")](n("0x21e0")):a[n("0xa81")]("md-no-animation"),j(),m[n("0x262c")](e),b.hide(e),_&&_[n("0x29cb")](e),p&&p[n("0x29cb")](e),l((function(){r[n("0x407b")]()}),!1===e.animation?0:t),r[n("0x234e")]}}function Y(n){var r=y;n=n||{};var i=d[r("0x3a26")]();return C[r("0x2549")]&&C[r("0x2549")][r("0x1a9e")](C.componentId),"function"==typeof h&&(h(),h=void 0),!1===n[r("0x2f73")]||!1===R?(e[r("0x4c91")](),a[r("0xf82")](),i.resolve(),H()):(B(),l((function(){var t=r;e[t("0x4c91")](),a.remove(),i[t("0x407b")](),H()}),t)),i[r("0x234e")]}function G(e){E=e}function H(){typeof E===y("0x3349")&&(E(),E=void 0)}function U(){e[y("0x4c91")]()}function $(){var t=y;(p&&!0!==p.noSticky||_&&!0!==_[t("0x3efb")])&&(v=e[t("0x7a")]((function(){return a[0].offsetTop}),I,!0),S=e[t("0x7a")]((function(){var e=t;return a[0][e("0xe76")]}),N,!0),(g=s.getNearestContentElement(a)).nodeName===t("0x4dfe")?(A=V(g),angular[t("0xb48")](g).on(t("0x3def"),I)):A=void 0,!0===b[t("0x294e")]&&b[t("0x4998")].on("scroll",I),angular[t("0xb48")](i).on(t("0x3def"),I).on(t("0x39d4"),I).on(t("0x39d4"),N))}function j(){var e=y;typeof v===e("0x3349")&&(v(),v=void 0),"function"==typeof S&&(S(),S=void 0),g&&g.nodeName===e("0x4dfe")&&angular[e("0xb48")](g)[e("0x30f8")]("scroll",I),!0===b[e("0x294e")]&&b.$element[e("0x30f8")](e("0x3def"),I),angular.element(i)[e("0x30f8")](e("0x3def"),I)[e("0x30f8")](e("0x39d4"),I)[e("0x30f8")](e("0x39d4"),N)}function V(e){for(var t=y,n=e[t("0x368c")];n&&n!==document;){if(W(n,t("0x3c4")))return n;n=n[t("0x368c")]}}function W(e,t){var n=y,a=!1;if(e){var r=i.getComputedStyle(e);a=void 0!==r[t]&&r[t]!==n("0x2847")}return a}function q(e){var t,n,a,r=y;a=!0===b[r("0x294e")]?b[r("0x4998")][0][r("0x1a8b")]():g[r("0x1a8b")]();var i=A?A[r("0x1a8b")]().top:0;n=(t=Math[r("0x242b")](a[r("0x228a")],0))+a[r("0x4e66")],p&&!1===p.noSticky&&p[r("0x204c")](t,n,i),_&&!1===_.noSticky&&_[r("0x204c")](t,n,i)}function z(){var e=y,t=a[0].offsetWidth;p&&!1===p[e("0x3efb")]&&p[e("0x40f5")](t),_&&!1===_[e("0x3efb")]&&_[e("0x40f5")](t)}function Q(t){var n=y;(T=s[n("0x43d0")](e))[0][n("0x322f")]=-1,typeof t===n("0x3349")&&T.on(n("0x7cb"),t),u[n("0x3b11")](T,a[n("0x731")](),null,{duration:0}),a[n("0x42b1")](n("0x1b79"),60)}function K(){var e=y;T&&(T[e("0xf82")](),T[e("0x30f8")](e("0x7cb")),T=void 0,a[e("0x42b1")](e("0x1b79"),""))}a.on(y("0x2beb"),(function(e){var t=y;a.on(t("0x468d"),O)})).on("blur",(function(e){a.off("keydown",O)})),e[y("0x8df")]={collapse:B,expand:F,remove:Y,isOpen:L},e[y("0x24c9")](y("0x4c91"),(function(){var e=y;K(),typeof h===e("0x3349")&&(h(),h=void 0),j()}))}]}}));var t=180}(),function(){var e=a2_0x37cf;function t(t,n,a){var r=e,i=r("0x2824"),o={find:x,waitFor:function(e){var n=r;return t[n("0x2c66")](e)[n("0x373a")](a[n("0x4ad3")])}};return function(e){return void 0===e?o:x(e)};function x(e){var o=r,x=t.get(e);if(x)return x;a[o("0x4ad3")](n[o("0x147e")](i,[e||""]))}}angular.module(e("0x297d")).factory(e("0x25c3"),t),t[e("0x4670")]=["$mdComponentRegistry",e("0xfb8"),"$log"]}(),function(){var e=a2_0x37cf;function t(t,n){var a=e;return{restrict:"E",require:a("0x4d5f"),link:function(e,r,i,o){var x=a;o[x("0x435")]({show:function(e){var a=x;r[a("0x42b1")](a("0x37b3"),""),r.css("width",r[0].parentNode[a("0xe76")]+"px");var i={addClass:"md-show",from:{opacity:0},to:{opacity:1}};!1===e[a("0x2f73")]&&(i[a("0x40b2")]=0),t(r,i)[a("0x1023")]()[a("0x34e8")]((function(){var e=a;o[e("0x4998")][e("0x42b1")]("transition",e("0x2847")),r.removeClass("md-absolute md-show"),r.css("width",""),o[e("0x4998")].css(e("0xe6b"),""),n((function(){var t=e;o[t("0x4998")][t("0x42b1")](t("0x2f61"),"")}),0)}))},hide:function(e){var n=x;r.css("width",r[0][n("0xe76")]+"px"),o[n("0x4998")].css(n("0xe6b"),r[0][n("0x2b02")]+"px");var a={addClass:n("0x461f"),from:{opacity:1},to:{opacity:0}};!1===e[n("0x2f73")]&&(a[n("0x40b2")]=0),t(r,a)[n("0x1023")]()[n("0x34e8")]((function(){var e=n;r[e("0xa81")](e("0x4438")),r[e("0x42b1")](e("0x37b3"),"none")}))}}),r.on(x("0x7cb"),(function(){o[x("0x3a98")]()}))}}}angular[e("0x39e9")](e("0x297d"))[e("0x1b75")](e("0x3b37"),t),t[e("0x4670")]=["$animateCss",e("0x38d4")]}(),function(){var e=a2_0x37cf;function t(e,t){return{restrict:"E",require:"^^mdExpansionPanel",link:function(n,a,r,i){var o=a2_0x37cf,x=r[o("0x4e66")]||void 0;void 0!==x&&(x=x[o("0x3cc0")]("px","")+"px"),i.registerExpanded({show:function(n){var r=o;a[r("0x42b1")](r("0x37b3"),""),a[r("0x31dc")](r("0x4acb"));var i={from:{"max-height":"48px",opacity:0},to:{"max-height":x||a[0][r("0x2afd")]+"px",opacity:1}};!1===n[r("0x2f73")]&&(i[r("0x40b2")]=0),e(a,i)[r("0x1023")]()[r("0x34e8")]((function(){var e=r;void 0!==x?a.addClass(e("0x1862")):(a.css(e("0x2f61"),e("0x2847")),a[e("0x42b1")]("max-height",e("0x2847")),t((function(){a.css("transition","")}),0)),a[e("0xa81")]("md-overflow")}))},hide:function(t){var n=o,r=x||a[0][n("0x2afd")]+"px";a[n("0x31dc")](n("0x634")),a[n("0xa81")](n("0x472f"));var i={from:{"max-height":r,opacity:1},to:{"max-height":n("0x1164"),opacity:0}};!1===t[n("0x2f73")]&&(i[n("0x40b2")]=0),e(a,i)[n("0x1023")]().then((function(){var e=n;a[e("0x42b1")](e("0x37b3"),"none"),a[e("0xa81")](e("0x4438"))}))},setHeight:void 0!==x,$element:a})}}}angular[e("0x39e9")](e("0x297d"))[e("0x1b75")]("mdExpansionPanelExpanded",t),t[e("0x4670")]=["$animateCss",e("0x38d4")]}(),n=a2_0x37cf,angular[n("0x39e9")](n("0x297d")).directive(n("0x1e7b"),(function(){var e=n;return{restrict:"E",transclude:!0,template:e("0x2326"),require:e("0x4d5f"),link:function(t,n,a,r){var i=e,o=!1,x=void 0!==a[i("0x408f")],s=angular[i("0xb48")](n[0].querySelector(i("0x1e04")));function c(){}function l(){f()}function d(e,t,a){var x,c,l=i;n[0][l("0x1a8b")]()[l("0x47d9")]>t?((c=t-(x=s[0].offsetHeight)-a)<n[0][l("0x368c")][l("0x1a8b")]()[l("0x228a")]&&(c=n[0][l("0x368c")][l("0x1a8b")]()[l("0x228a")]),s[l("0x42b1")]("width",r[l("0x4998")][0][l("0xe76")]+"px"),n[l("0x42b1")](l("0x4e66"),x+"px"),s[l("0x42b1")](l("0x228a"),c+"px"),n[l("0x31dc")](l("0x3d0f")),o=!0):!0===o&&f()}function u(e){var t=i;!1!==o&&s[t("0x42b1")](t("0xbbf"),e+"px")}function f(){var e=i;o=!1,s[e("0x42b1")](e("0xbbf"),""),s[e("0x42b1")](e("0x228a"),""),n[e("0x42b1")](e("0x4e66"),""),n.removeClass(e("0x3d0f"))}r[i("0x2c8d")]({show:c,hide:l,onScroll:d,onResize:u,noSticky:x})}}})),t=a2_0x37cf,angular[t("0x39e9")](t("0x297d"))[t("0x1b75")](t("0x469e"),(function(){var e=t;return{restrict:"E",controller:["$scope",e("0x428f"),e("0x4998"),e("0x22cd"),function(t,n,a,r){var i,o=e,x=this,s={},c={},l=[],d=void 0!==n[o("0x1e7f")]||void 0!==n[o("0x5c5")],u=void 0!==n.mdAutoExpand||void 0!==n[o("0x2ea7")];function f(e){var t=o;return l[t("0x459a")](e),function(){var n=t;l[n("0x2bcf")](l[n("0x3507")](e),1)}}function m(){var e=v();l.forEach((function(t){t(e)}))}function b(e,t){var n=o;c[e]=t,!0===u&&(t[n("0x3a98")](),S(e)),m()}function _(e){S(e)}function p(e,t){var n=o;return c[e][n("0xf82")](t)}function h(e){var t=o;Object[t("0xa35")](c)[t("0x5ba")]((function(n){var a=t;c[n][a("0xf82")](e)}))}function g(e){delete c[e],m()}function v(){var e=o;return Object[e("0xa35")](c)[e("0x5e9")]}function S(e){var t=o;!1===d&&Object[t("0xa35")](c)[t("0x5ba")]((function(t){t!==e&&c[t].collapse()}))}function E(e,t){var n=o;if(void 0!==s[e])throw Error(n("0xf67")+e+'" has already been registered');s[e]=t}function A(e){var t=o;if(void 0===s[e])throw Error(t("0x232d")+e+'"');return s[e]}function T(){return Object.keys(c).map((function(e){return c[e]}))}function y(){var e=o;return Object[e("0xa35")](c)[e("0x19e8")]((function(e){return c[e]}))[e("0x6a6")]((function(t){return t[e("0x4447")]()}))}function C(e){var t=!0!==e;Object[o("0xa35")](c).forEach((function(e){c[e].collapse({animation:t})}))}i=r[o("0x4ce9")]({$element:a,register:E,getRegistered:A,getAll:T,getOpen:y,remove:p,removeAll:h,collapseAll:C,onChange:f,count:v},n[o("0xe5f")]),x.addPanel=b,x[o("0xd80")]=_,x[o("0x1a9e")]=g,t.$on(o("0x4c91"),(function(){var e=o;typeof i===e("0x3349")&&(i(),i=void 0),Object.keys(c)[e("0x5ba")]((function(t){var n=e;c[t][n("0xdc5")]()}))}))}]}})),function(){var e=a2_0x37cf;function t(e,t,n,a,r,i,o,x,s){var c={find:l,waitFor:function(t){var n=a2_0x37cf,a=x[n("0x3a26")]();return e.when(t).then((function(e){a.resolve(d(e))}))[n("0x373a")]((function(e){var t=n;a[t("0x2078")](),s[t("0x4ad3")](e)})),a[n("0x234e")]}};return function(e){return void 0===e?c:l(e)};function l(n){var a=a2_0x37cf,r=e[a("0x1cf")](n);if(r)return d(r);s[a("0x4ad3")](t[a("0x147e")]("ExpansionPanelGroup '{0}' is not available! Did you use md-component-id='{0}'?",[n||""]))}function d(e){return{add:function c(l,d){var u=a2_0x37cf;if(d=d||{},typeof l===u("0x38b7"))return c(e.getRegistered(l),d);if(s(l),l.componentId&&e[u("0xff5")](l.componentId))return x.reject(u("0x3f15")+l[u("0x1487")]+u("0x4c52"));var f=x[u("0x3a26")](),m=r[u("0x28da")]();return angular[u("0x3448")](m,l.scope),b=l,_=function(a){var r=u,x=angular.element(a),s=l[r("0x1487")]||x.attr(r("0x4723"))||r("0x38e3")+t[r("0x2feb")](),c=n()[r("0x12bf")](s);x[r("0x417f")]("md-component-id",s);var b=i(x);if(l.controller){angular[r("0x3448")](d,l[r("0x9dc")]||{}),d.$scope=m,d.$panel=c;var _=o(l.controller,d,!0)();x[r("0x237c")](r("0x1315"),_),x[r("0x71b")]().data(r("0x1315"),_),l[r("0x13b4")]&&(m[l[r("0x13b4")]]=_)}e[r("0x4998")][r("0x136a")](x),b(m),c.then((function(e){f.resolve(e)}))},p=a2_0x37cf,void 0!==b[p("0x1d64")]?a(b.templateUrl).then((function(e){_(e)})):_(b[p("0x371b")]),f[u("0x234e")];var b,_,p},register:function(t,n){var a=a2_0x37cf;if(typeof t!==a("0x38b7"))throw Error(a("0x281"));s(n),e[a("0x4ce9")](t,n)},getAll:function(){return e[a2_0x37cf("0x325a")]()},getOpen:function(){return e.getOpen()},remove:function(t,n){return e[a2_0x37cf("0xf82")](t,n)},removeAll:function(t){e.removeAll(t)},collapseAll:function(t){e[a2_0x37cf("0x2b20")](t)},onChange:function(t){return e[a2_0x37cf("0x18db")](t)},count:function(){return e[a2_0x37cf("0x10d1")]()}};function s(e){var t=a2_0x37cf;if("object"!=typeof e||null===e)throw Error(t("0x2f8d"));if(!e.template&&!e[t("0x1d64")])throw Error(t("0x4167"))}}}angular[e("0x39e9")](e("0x297d"))[e("0x3faf")](e("0x674"),t),t.$inject=[e("0x22cd"),e("0xfb8"),e("0x25c3"),e("0x1d93"),e("0x47ed"),e("0x4728"),e("0xd68"),"$q",e("0x1a4")]}(),function(){var e=a2_0x37cf;function t(){var t=e;return{restrict:"E",transclude:!0,template:t("0x16c1"),require:t("0x4d5f"),link:function(e,n,a,r){var i=t,o=!1,x=void 0!==a[i("0x408f")],s=angular.element(n[0].querySelector(".md-expansion-panel-header-container"));function c(){var e=i;o=!1,s[e("0x42b1")](e("0xbbf"),""),n[e("0x42b1")](e("0x4e66"),""),n[e("0x42b1")](e("0x228a"),""),n[e("0xa81")](e("0x3d0f")),n.addClass(e("0x1480"))}r.registerHeader({show:function(){},hide:function(){c()},noSticky:x,onScroll:function(e,t,a){var r,x,l=i,d=n[0][l("0x1a8b")]();d[l("0x228a")]<e?(r=e-a,(x=n[0][l("0x368c")][l("0x1a8b")]()[l("0x47d9")]-e-d[l("0x4e66")])<0&&(r+=x),s[l("0x42b1")](l("0xbbf"),n[0][l("0xe76")]+"px"),s[l("0x42b1")](l("0x228a"),r+"px"),n[l("0x42b1")](l("0x4e66"),s[0][l("0x2b02")]+"px"),n[l("0xa81")](l("0x1480")),n.addClass(l("0x3d0f")),o=!0):!0===o&&c()},onResize:function(e){var t=i;!1!==o&&s[t("0x42b1")](t("0xbbf"),e+"px")}})}}}angular[e("0x39e9")](e("0x297d")).directive(e("0x1b47"),t),t.$inject=[]}(),e=a2_0x37cf,angular[e("0x39e9")](e("0x297d"))[e("0x1b75")]("mdExpansionPanelIcon",(function(){return{restrict:"E",template:'<md-icon class="md-expansion-panel-icon" md-svg-icon="icons/ic_keyboard_arrow_right_black_24px.svg"></md-icon>',replace:!0}}))},452:(e,t,n)=>{n(8965)},7191:()=>{var e=_0x299160;!function(e,t,n){"use strict";var a,r,i,o,x,s,c,l,d,u,f,m,b,_,p,h,g,v,S,E,A,T,y,C,w,M,R;R=a2_0x37cf,t.module(R("0x72f"),["ng","ngAnimate","ngAria",R("0x1b0c"),R("0x2311"),R("0x2fe2"),"material.core.interaction",R("0x831"),"material.core.meta",R("0x1031"),R("0x2870"),R("0x11c"),R("0x2ee6"),"material.components.bottomSheet",R("0x421e"),R("0xc74"),R("0x20b7"),R("0x4a7d"),R("0x14f8"),R("0x3c93"),R("0x1c3"),R("0x30ee"),R("0xb3e"),R("0x14cd"),"material.components.fabShared",R("0x1dbe"),R("0x354c"),R("0x2d8c"),R("0x3134"),R("0xc57"),R("0x2e0f"),"material.components.menu",R("0x44b3"),R("0xad8"),R("0xecd"),R("0x3327"),R("0x4f6d"),R("0x53"),R("0x339b"),R("0x4814"),R("0x332a"),"material.components.slider",R("0x3be4"),R("0x47a8"),R("0x197a"),R("0x2fdb"),R("0x7d4"),R("0x4ac7"),R("0x48b3"),R("0x2189"),"material.components.truncate",R("0x7a8"),R("0x283a")]),function(){var e=a2_0x37cf;function n(t,n){var a=e;if(n[a("0x519")](a("0x44bc"))){var r="You are using the ngTouch module. \n"+a("0x3434")+a("0x275");t[a("0x1dc6")](r)}}function a(t,n){var a=e;t.decorator(a("0x47aa"),[a("0x2e2b"),r]),t.decorator("$q",[a("0x2e2b"),i]),n[a("0x4228")](a("0x3993")).primaryPalette("indigo")[a("0x31cf")](a("0x1223")).warnPalette(a("0x3401")).backgroundPalette(a("0x1c60"))}function r(t){return t[e("0x3fe4")]=function(e){var n,a,r,i;return function(){n=arguments,i=this,r=e,!a&&(a=!0,t((function(){var e=a2_0x37cf;r[e("0x4884")](i,Array[e("0x20f")][e("0x9b3")][e("0x3c6b")](n)),a=!1})))}},t}function i(t){var n=e;return!t[n("0x407b")]&&(t[n("0x407b")]=t[n("0x2c66")]),t}n[e("0x4670")]=["$log",e("0x1f10")],a.$inject=[e("0x193e"),e("0x45b2")],r[e("0x4670")]=[e("0x2e2b")],i.$inject=[e("0x2e2b")],t.module(e("0x1b0c"),[e("0x15a4"),e("0x2311"),e("0x831"),e("0x2b69"),e("0x2fe2"),"material.core.theming"])[e("0x1805")](a)[e("0x4c69")](n)}(),function(){var e=a2_0x37cf;function n(e){return{restrict:"A",link:{pre:function(n,a,r){var i=a2_0x37cf,o=r[i("0x2ccf")]||r[i("0x448d")]||r[i("0x1cf1")];function x(e){var n=i;t[n("0x29ab")](e)&&(e=!0),a[n("0x411b")](n("0x2bc5"),!!e)}x(e(o)(n)),o&&n[i("0x7a")](o,x)}}}}n[e("0x4670")]=["$parse"],t.module("material.core").directive(e("0x448d"),n).directive(e("0x2ccf"),n).directive(e("0x1cf1"),n)}(),t[(M=a2_0x37cf)("0x39e9")](M("0x1b0c"))[M("0x3faf")](M("0x23da"),(function(){return{rgbaToHex:function(e){var t=a2_0x37cf;return((e=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===e[t("0x5e9")]?"#"+("0"+parseInt(e[1],10)[t("0x3c88")](16))[t("0x9b3")](-2)+("0"+parseInt(e[2],10)[t("0x3c88")](16))[t("0x9b3")](-2)+("0"+parseInt(e[3],10)[t("0x3c88")](16))[t("0x9b3")](-2):"")[t("0x110")]()},hexToRgba:function(e){var t=a2_0x37cf,n="#"===e[0]?e[t("0x39fa")](1):e,a=n[t("0x5e9")]/3,r=n.substr(0,a),i=n[t("0x39fa")](a,a),o=n[t("0x39fa")](2*a);return 1===a&&(r+=r,i+=i,o+=o),t("0x4db3")+parseInt(r,16)+","+parseInt(i,16)+","+parseInt(o,16)+t("0x386c")},rgbToRgba:function(e){var t=a2_0x37cf;return e[t("0x3cc0")](")",t("0x47e9"))[t("0x3cc0")]("(","a(")},rgbaToRgb:function(e){var t=a2_0x37cf;return e?e[t("0x3cc0")]("rgba",t("0x12ef")).replace(/,[^),]+\)/,")"):"rgb(0,0,0)"}}})),t[(w=a2_0x37cf)("0x39e9")]("material.core")[w("0x3faf")](w("0x4572"),(function(){var e=w,n=document.createElement(e("0x4774")),a=function(t){var n,a,r=e,i=/^(Moz|webkit|ms)(?=[A-Z])/;for(n in t.style)if(a=i[r("0x3629")](n))return a[0]}(n),r=/webkit/i.test(a),i=/([:\-_]+(.))/g;function o(t){var r,o=e,s=(a+"-"+t)[(r=e)("0x3cc0")](i,(function(e,t,n,a){return a?n[r("0x110")]():n})),c=s.charAt(0)[o("0x2eb9")]()+s[o("0x35e7")](1);return x(n,t)?t:x(n,s)?s:x(n,c)?c:t}function x(n,a){var r=e;return t[r("0x64a")](n[r("0x4025")][a])}var s={isInputKey:function(t){var n=e;return t[n("0x4ff2")]>=31&&t[n("0x4ff2")]<=90},isNumPadKey:function(t){var n=e;return 3===t[n("0x2c6")]&&t[n("0x4ff2")]>=97&&t[n("0x4ff2")]<=105},isMetaKey:function(e){return e.keyCode>=91&&e.keyCode<=93},isFnLockKey:function(t){var n=e;return t.keyCode>=112&&t[n("0x4ff2")]<=145},isNavigationKey:function(t){var n=e,a=s[n("0x4c0f")];return-1!=[a[n("0x128a")],a.ENTER,a[n("0x3a34")],a[n("0xedf")]][n("0x3507")](t[n("0x4ff2")])},hasModifierKey:function(t){var n=e;return t[n("0x4786")]||t[n("0x366c")]||t.altKey},ELEMENT_MAX_PIXELS:1533917,BEFORE_NG_ARIA:210,KEY_CODE:{COMMA:188,SEMICOLON:186,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:e("0x2434")+(r?e("0x23e4"):""),ANIMATIONEND:e("0x1232")+(r?e("0xa17"):""),TRANSFORM:o(e("0x3c4")),TRANSFORM_ORIGIN:o(e("0x4476")),TRANSITION:o(e("0x2f61")),TRANSITION_DURATION:o(e("0x4e35")),ANIMATION_PLAY_STATE:o(e("0xf81")),ANIMATION_DURATION:o("animationDuration"),ANIMATION_NAME:o(e("0x2437")),ANIMATION_TIMING:o(e("0x2601")),ANIMATION_DIRECTION:o(e("0xd05"))},MEDIA:{xs:e("0xedb"),"gt-xs":"(min-width: 600px)",sm:e("0xd65"),"gt-sm":e("0x1e82"),md:e("0x47d4"),"gt-md":e("0x4517"),lg:e("0x3404"),"gt-lg":"(min-width: 1920px)",xl:e("0x46f4"),landscape:e("0x20a9"),portrait:e("0x1128"),print:e("0x15fc")},MEDIA_PRIORITY:["xl","gt-lg","lg",e("0x3c33"),"md",e("0x2322"),"sm",e("0x49d9"),"xs",e("0x4414"),e("0x4a15"),e("0x15fc")]};return s})),function(){var e=a2_0x37cf;function n(n,a){var r=e,i=function(){return!0};n&&!t.isArray(n)&&(n=Array[r("0x20f")][r("0x9b3")][r("0x3c6b")](n)),a=!!a;var o=n||[];return{items:function(){return[][r("0x3abc")](o)},count:function(){return o[r("0x5e9")]},inRange:x,contains:c,indexOf:s,itemAt:function(e){return x(e)?o[e]:null},findBy:function(e,t){return o[r("0x6a6")]((function(n){return n[e]===t}))},add:function(e,n){var a=r;return e?(!t.isNumber(n)&&(n=o[a("0x5e9")]),o[a("0x2bcf")](n,0,e),s(e)):-1},remove:function(e){var t=r;c(e)&&o[t("0x2bcf")](s(e),1)},first:l,last:d,next:t[r("0x2b0c")](null,u,!1),previous:t.bind(null,u,!0),hasPrevious:function(e){return!!e&&x(s(e)-1)},hasNext:function(e){return!!e&&x(s(e)+1)}};function x(e){return o[r("0x5e9")]&&e>-1&&e<o.length}function s(e){return o[r("0x3507")](e)}function c(e){return e&&s(e)>-1}function l(){return o[r("0x5e9")]?o[0]:null}function d(){var e=r;return o[e("0x5e9")]?o[o[e("0x5e9")]-1]:null}function u(e,n,c,u){var f=r;c=c||i;for(var m=s(n);;){if(!x(m))return null;var b=m+(e?-1:1),_=null;if(x(b)?_=o[b]:a&&(b=s(_=e?d():l())),null===_||b===u)return null;if(c(_))return _;t[f("0x29ab")](u)&&(u=b),m=b}}}t[e("0x39e9")](e("0x1b0c"))[e("0x1805")]([e("0x193e"),function(t){var a=e;t[a("0x3051")](a("0xfb8"),[a("0x2e2b"),function(e){return e.iterator=n,e}])}])}(),function(){var e=a2_0x37cf;function n(n,a,r){var i=e,o={},x={},s={},c={};return l.getResponsiveAttribute=function(e,t){for(var a=i,r=0;r<n[a("0x2043")].length;r++){var s=n[a("0x2043")][r];if(x[o[s]][a("0x3c01")]){var c=u(e,t+"-"+s);if(e[c])return e[c]}}return e[u(e,t)]},l.getQuery=function(e){return x[e]},l[i("0x32dc")]=function(e,a,r){var o=i,x=[];return e[o("0x5ba")]((function(e){var i=o,s=u(a,e);for(var c in t[i("0x64a")](a[s])&&x[i("0x459a")](a[i("0xf52")](s,t[i("0x2b0c")](void 0,r,null))),n.MEDIA)s=u(a,e+"-"+c),t[i("0x64a")](a[s])&&x.push(a[i("0xf52")](s,t[i("0x2b0c")](void 0,r,c)))})),function(){x.forEach((function(e){e()}))}},l;function l(e){var a,c,l=i,u=o[e];t.isUndefined(u)&&(u=o[e]=(a=e,c=i,n.MEDIA[a]||("("!==a[c("0x24de")](0)?"("+a+")":a)));var f,m,b,_=s[u];return t[l("0x29ab")](_)&&(m=i,!(b=x[f=u])&&(b=x[f]=r.matchMedia(f)),b[m("0x3694")](d),_=s[b[m("0x4f11")]]=!!b[m("0x3c01")]),_}function d(e){a.$evalAsync((function(){s[e[a2_0x37cf("0x4f11")]]=!!e.matches}))}function u(e,t){var n=i;return c[t]||(c[t]=e[n("0x3256")](t))}}n[e("0x4670")]=[e("0x4572"),e("0x47ed"),e("0xe11")],t[e("0x39e9")]("material.core")[e("0x3faf")](e("0x790"),n)}(),function(){var e=a2_0x37cf;function n(n,a){var r=e,i=[r("0x237c"),"x"];return n?a?x(n):o(n):{buildList:o,buildSelector:x,hasAttribute:function(e,t){var n=r;if(!(e=s(e)))return!1;for(var a=o(t),i=0;i<a.length;i++)if(e[n("0x3a67")](a[i]))return!0;return!1},removeAttribute:function(e,t){var n=r;if(!(e=s(e)))return;o(t)[n("0x5ba")]((function(t){e[n("0x25b3")](t)}))}};function o(e){var n=r;return(e=t[n("0x498f")](e)?e:[e])[n("0x5ba")]((function(t){i[n("0x5ba")]((function(n){e.push(n+"-"+t)}))})),e}function x(e){var n=r;return o(e=t[n("0x498f")](e)?e:[e])[n("0x19e8")]((function(e){return"["+e+"]"}))[n("0xc60")](",")}function s(e){var t=r;if((e=e[0]||e)[t("0x4879")])return e}}t[e("0x39e9")](e("0x1b0c"))[e("0x1805")]([e("0x193e"),function(t){var a=e;t[a("0x3051")](a("0xfb8"),[a("0x2e2b"),function(e){return e[a("0x13ba")]=n,e}])}])}(),function(){var a=a2_0x37cf;s[a("0x4670")]=[a("0x45e2"),a("0x38d4"),a("0x4728"),a("0x47ed"),"$$mdAnimate",a("0x3a1e"),a("0x1a4"),a("0x47e6"),a("0xe11"),a("0x47aa")];var r,i,o=0;if(e[a("0x149d")]){var x=e[a("0x149d")][a("0x22fc")]||e[a("0x149d")].vendor||e[a("0x1ffb")];r=x.match(/ipad|iphone|ipod/i),i=x[a("0x2cd9")](/android/i)}function s(x,s,c,l,d,u,f,m,b,_){var p=a,h=u[p("0xcfc")](),g=u[p("0x2aef")](),v="{{"===h&&"}}"===g;document.contains||(document[p("0x2a10")]=function(e){return document[p("0x3b3e")].contains(e)});var S=function(e,n,a){var r=p,i=!1;if(e&&e[r("0x5e9")]){var o=b[r("0x2b64")](e[0]);i=t[r("0x64a")](o[n])&&(!a||o[n]==a)}return i};function E(e){return e?(n=p,String(e)[n("0x3507")]("px")>-1||(t=p,String(e)[t("0x3507")]("%")>-1)?e:e+"px"):"0";var t,n}var A={dom:{},isIos:r,isAndroid:i,now:e[p("0x1b53")]&&e[p("0x1b53")][p("0x4706")]?t[p("0x2b0c")](e[p("0x1b53")],e[p("0x1b53")][p("0x4706")]):Date[p("0x4706")]||function(){return(new Date).getTime()},getModelOption:function(e,t){var n=p;if(e[n("0x374")]){var a=e[n("0x374")];return a[n("0x2e89")]?a[n("0x2e89")](t):a[t]}},isRtl:function(e){var n=p;switch(t[n("0x64a")](e)&&e[n("0x1bd4")](n("0x2a80"))&&e[n("0x2a80")]){case n("0x211f"):return!1;case"rtl":return!0}return x[0][n("0x2a80")]===n("0x18c8")||x[0][n("0x3b3e")][n("0x2a80")]===n("0x18c8")},bidi:function(e,n,a,r){var i=p,o=!this[i("0x3475")]();if(0==arguments.length)return i(o?"0x211f":"0x18c8");var x=t[i("0xb48")](e);o&&t[i("0x64a")](a)?x[i("0x42b1")](n,E(a)):!o&&t[i("0x64a")](r)&&x[i("0x42b1")](n,E(r))},bidiProperty:function(e,n,a,r){var i=p,o=!this[i("0x3475")](),x=t[i("0xb48")](e);o&&t.isDefined(n)?(x[i("0x42b1")](n,E(r)),x[i("0x42b1")](a,"")):!o&&t[i("0x64a")](a)&&(x.css(a,E(r)),x.css(n,""))},clientRect:function(e,t,n){var a=p,r=T(e);t=T(t||r[a("0x12c")]||document[a("0x3b3e")]);var i=r[a("0x1a8b")](),o=n?t[a("0x1a8b")]():{left:0,top:0,width:0,height:0};return{left:i.left-o[a("0x2885")],top:i[a("0x228a")]-o[a("0x228a")],width:i.width,height:i[a("0x4e66")]}},offsetRect:function(e,t){return A[p("0x23bc")](e,t,!0)},nodesToArray:function(e){var t,n=p,a=[];for(e=e||[],t=0;t<e[n("0x5e9")];++t)a.push(e[n("0x17a9")](t));return a},getViewportTop:function(){var e=p;return A[e("0xa94")][e("0x32fa")]&&A[e("0xa94")]._viewPortTop?A[e("0xa94")]._viewPortTop:b[e("0x1e00")]||b[e("0x8a1")]||0},findFocusTarget:function(e,n){var a,r=p,i=this[r("0x13ba")](r("0x2bc5"),!0);return!(a=o(e,n||i))&&n!=i&&(!(a=o(e,this[r("0x13ba")](r("0x3ae8"),!0)))&&(a=o(e,i))),a;function o(e,n){var a,i=r,o=e[0][i("0x1e72")](n);return o&&o.length&&o[i("0x5e9")]&&t[i("0x5ba")](o,(function(e){var n=i;(e=t[n("0xb48")](e))[n("0x3a35")](n("0x2bc5"))&&(a=e)})),a}},disableScrollAround:function(e,n,a){var r=p;if(a=a||{},A[r("0xa94")][r("0x32fa")]=Math[r("0x242b")](0,A[r("0xa94")][r("0x32fa")]||0),A.disableScrollAround[r("0x32fa")]++,A.disableScrollAround[r("0x325e")])return A.disableScrollAround._restoreScroll;var i=x[0][r("0x3b3e")],o=function(){var e=r,n=x[0][e("0x4c17")],a=n.style[e("0x3d0c")]||"",o=i.style[e("0x3d0c")]||"",s=A[e("0x3287")]();A.disableScrollAround[e("0x32b8")]=s;var c=i[e("0x538")],l=i[e("0x2afd")]>i.clientHeight+1,d=n.scrollTop>0?n:i;return l&&t[e("0xb48")](i)[e("0x42b1")]({position:e("0x2e56"),width:e("0x590"),top:-s+"px"}),i[e("0x538")]<c&&(i[e("0x4025")][e("0x905")]=e("0xd4f")),function(){var t=e;i[t("0x4025")].cssText=o,n[t("0x4025")][t("0x3d0c")]=a,d.scrollTop=s}}(),s=function(e,n){var a,o=r,x=t[o("0xb48")](e||i);function s(e){e[o("0xe50")]()}return n[o("0x43ef")]?a=x:(a=t[o("0xb48")](o("0x9ff")+o("0xba9")+"</div>"),x[o("0x136a")](a)),a.on(o("0x2e98"),s),function(){var e=o;a.off(e("0x2e98"),s),!n[e("0x43ef")]&&a[0][e("0x368c")]&&a[0][e("0x368c")][e("0xffd")](a[0])}}(n,a);return A[r("0xa94")][r("0x325e")]=function(){var e=r;--A[e("0xa94")][e("0x32fa")]<=0&&(delete A[e("0xa94")][e("0x32b8")],o(),s(),delete A[e("0xa94")][e("0x325e")])}},enableScrolling:function(){var e=p,t=this.disableScrollAround[e("0x325e")];t&&t()},floatingScrollbars:function(){var e=p;if(this.floatingScrollbars[e("0x480f")]===n){var a=t[e("0xb48")](e("0x966"))[e("0x42b1")]({width:"100%","z-index":-1,position:e("0xc1a"),height:e("0x2e8f"),"overflow-y":e("0x3def")});a[e("0x71b")]().css(e("0x4e66"),"60px"),x[0][e("0x3b3e")][e("0x4238")](a[0]),this[e("0x1f27")][e("0x480f")]=a[0][e("0xe76")]==a[0].childNodes[0][e("0xe76")],a[e("0xf82")]()}return this.floatingScrollbars.cached},forceFocus:function(t){var n=p,a=t[0]||t;document[n("0x4944")](n("0x7cb"),(function e(t){var r=n;t[r("0x55d")]===a&&t[r("0x4461")]&&(a[r("0x2beb")](),t[r("0x360b")](),t[r("0xe50")](),a.removeEventListener(r("0x7cb"),e))}),!0);var r=document.createEvent(n("0x3824"));r[n("0x1424")](n("0x7cb"),!1,!0,e,{},0,0,0,0,!1,!1,!1,!1,0,null),r[n("0x1ea9")]=!0,r[n("0x4461")]=!0,a[n("0x4afc")](r)},createBackdrop:function(e,t){var n=p;return c(A.supplant(n("0x242"),[t]))(e)},supplant:function(e,t,n){var a=p;return n=n||/\{([^{}]*)\}/g,e[a("0x3cc0")](n,(function(e,n){var r=a,i=n[r("0x9e5")]("."),o=t;try{for(var x in i)i[r("0x1bd4")](x)&&(o=o[i[x]])}catch(t){o=e}return typeof o===r("0x38b7")||typeof o===r("0x2231")?o:e}))},fakeNgModel:function(){var e=p;return{$fake:!0,$setTouched:t.noop,$setViewValue:function(e){var t=a2_0x37cf;this.$viewValue=e,this[t("0x4dbb")](e),this[t("0x302a")][t("0x5ba")]((function(e){e()}))},$isEmpty:function(e){return 0===(""+e)[a2_0x37cf("0x5e9")]},$parsers:[],$formatters:[],$viewChangeListeners:[],$render:t[e("0x49d1")]}},debounce:function(e,t,a,r){var i;return function(){var o=a2_0x37cf,x=a,c=Array[o("0x20f")][o("0x9b3")].call(arguments);s.cancel(i),i=s((function(){i=n,e[o("0x4884")](x,c)}),t||10,r)}},throttle:function(e,t){var n;return function(){var a=a2_0x37cf,r=this,i=arguments,o=A[a("0x4706")]();(!n||o-n>t)&&(e[a("0x4884")](r,i),n=o)}},time:function(e){var t=p,n=A[t("0x4706")]();return e(),A[t("0x4706")]()-n},valueOnUse:function(e,t,n){var a=p,r=null,i=Array[a("0x20f")][a("0x9b3")][a("0x3c6b")](arguments),o=i[a("0x5e9")]>3?i[a("0x9b3")](3):[];Object[a("0x47ad")](e,t,{get:function(){return null===r&&(r=n[a("0x4884")](e,o)),r}})},nextUid:function(){return""+o++},disconnectScope:function(e){var t=p;if(e&&e[t("0x645")]!==e&&!e.$$destroyed){var n=e.$parent;e[t("0x3389")]=!0,n[t("0x156b")]===e&&(n.$$childHead=e[t("0x2cbb")]),n.$$childTail===e&&(n.$$childTail=e[t("0x2f40")]),e[t("0x2f40")]&&(e.$$prevSibling[t("0x2cbb")]=e[t("0x2cbb")]),e[t("0x2cbb")]&&(e[t("0x2cbb")].$$prevSibling=e.$$prevSibling),e[t("0x2cbb")]=e[t("0x2f40")]=null}},reconnectScope:function(e){var t=p;if(e&&e[t("0x645")]!==e&&e[t("0x3389")]){var n=e,a=n[t("0x20cb")];n[t("0x3389")]=!1,n[t("0x2f40")]=a[t("0x207a")],a[t("0x156b")]?(a[t("0x207a")].$$nextSibling=n,a[t("0x207a")]=n):a[t("0x156b")]=a[t("0x207a")]=n}},getSiblings:function(e,n){var a=p,r=n[a("0x110")]();return e instanceof t.element&&(e=e[0]),Array[a("0x20f")][a("0x6a6")][a("0x3c6b")](e[a("0x368c")].children,(function(t){var n=a;return e!==t&&t[n("0x4d74")][n("0x110")]()===r}))[a("0x19e8")]((function(e){return t[a("0xb48")](e)}))},getClosest:function(e,n,a){var r=p;if(t[r("0x1236")](n)){var i=n[r("0x110")]();n=function(e){var t=r;return e[t("0x4907")][t("0x110")]()===i}}if(e instanceof t[r("0xb48")]&&(e=e[0]),a&&(e=e.parentNode),!e)return null;do{if(n(e))return e}while(e=e[r("0x368c")]);return null},elementContains:function(n,a){var r=p;return(e[r("0x1bf8")]&&e[r("0x1bf8")][r("0x20f")]&&Node.prototype.contains?t[r("0x2b0c")](n,n[r("0x2a10")]):t[r("0x2b0c")](n,(function(e){return n===a||!!(16&this.compareDocumentPosition(e))})))(a)},extractElementByName:function(e,n,a,r){var i=p,o=x(e);return!o&&r&&f[i("0x1dc6")](A[i("0x147e")](i("0x2e08"),[n,e[0].outerHTML])),t[i("0xb48")](o||e);function x(e){return function(e){var t=i;if(e)for(var a=0,r=e[t("0x5e9")];a<r;a++)if(e[a][t("0x4907")][t("0x2eb9")]()===n)return e[a];return null}(e)||(a?function(e){var t,n=i;if(e)for(var a=0,r=e[n("0x5e9")];a<r;a++){var o=e[a];if(!t)for(var s=0,c=o[n("0xf5c")][n("0x5e9")];s<c;s++)t=t||x([o[n("0xf5c")][s]])}return t}(e):null)}},initOptionalProperties:function(e,n,a){var r=p;a=a||{},t[r("0x5ba")](e[r("0x29a7")],(function(i,o){var x=r;if(i[x("0x13ec")]&&t[x("0x29ab")](e[o])){var s=t.isDefined(n[i[x("0x1f7d")]]);e[o]=t[x("0x64a")](a[o])?a[o]:s}}))},nextTick:function(e,t,n){var a=p,r=A[a("0x4ee4")],i=r.timeout,o=r[a("0x486a")]||[];return o[a("0x459a")]({scope:n,callback:e}),null==t&&(t=!0),r[a("0x2692")]=r[a("0x2692")]||t,r[a("0x486a")]=o,i||(r[a("0x1612")]=s((function(){var e=a,t=r[e("0x486a")],n=r.digest;r.queue=[],r.timeout=null,r[e("0x2692")]=!1,t[e("0x5ba")]((function(t){var n=e;!(t[n("0xd20")]&&t.scope[n("0x4bd1")])&&t[n("0x1c9a")]()})),n&&l.$digest()}),0,!1))},processTemplate:function(e){var n=p;return v?e:e&&t[n("0x1236")](e)?e[n("0x3cc0")](/\{\{/g,h)[n("0x3cc0")](/}}/g,g):e},getParentWithPointerEvents:function(e){for(var t=p,n=e[t("0x731")]();S(n,t("0x47d"),t("0x2847"));)n=n[t("0x731")]();return n},getNearestContentElement:function(e){for(var t=p,n=e[t("0x731")]()[0];n&&n!==m[0]&&n!==document.body&&n[t("0x4907")].toUpperCase()!==t("0x4dfe");)n=n.parentNode;return n},checkStickySupport:function(){var e,n=p,a=t.element(n("0x290a"));x[0][n("0x3b3e")].appendChild(a[0]);for(var r=[n("0x2f2c"),"-webkit-sticky"],i=0;i<r[n("0x5e9")];++i)if(a[n("0x42b1")]({position:r[i],top:0,"z-index":2}),a.css(n("0x342c"))==r[i]){e=r[i];break}return a.remove(),e},parseAttributeBoolean:function(e,t){return""===e||!!e&&(!1===t||e!==p("0x22b7")&&"0"!==e)},hasComputedStyle:S,isParentFormSubmitted:function(e){var n=p,a=A.getClosest(e,n("0x35c5")),r=a?t[n("0xb48")](a).controller(n("0x35c5")):null;return!!r&&r[n("0x1757")]},animateScrollTo:function(e,t,n){var a=p,r=e[a("0x1423")],i=t-r,o=r<t,x=A.now();_((function s(){var c=a,l=(d=n||1e3,function(e,t,n,a){if(e>a)return t+n;var r=(e/=a)*e;return t+n*(r*e*-2+3*r)}(A[a("0x4706")]()-x,r,i,d));var d;e[c("0x1423")]=l,(o?l<t:l>t)&&_(s)}))},uniq:function(e){if(e)return e.filter((function(e,t,n){return n[a2_0x37cf("0x3507")](e)===t}))},getInnerHTML:function(e){var t=p,n=new XMLSerializer;return Array[t("0x20f")][t("0x19e8")].call(e[t("0xf5c")],(function(e){return n[t("0x21dc")](e)})).join("")},getOuterHTML:function(e){return(new XMLSerializer).serializeToString(e)},msie:e[p("0x3afa")][p("0x3f66")],getTouchAction:function(){for(var e=p,n=document[e("0x4202")](e("0x4774")),a=["",e("0x3f6c"),e("0x2c34"),"MS","ms","o"],r=0;r<a.length;r++){var i=a[r],o=i?i+e("0x1d5e"):e("0x133b");if(t[e("0x64a")](n.style[o]))return o}},getEventPath:function(t){for(var n=p,a=[],r=t[n("0x55d")];r;)a.push(r),r=r[n("0x81a")];return-1===a[n("0x3507")](e)&&-1===a[n("0x3507")](document)&&a.push(document),-1===a[n("0x3507")](e)&&a[n("0x459a")](e),a},sanitize:function(e){var t=p;return e?e[t("0x3cc0")](/[\\^$*+?.()|{}[]/g,t("0x1dea")):e}};return A[p("0x1c30")].animator=d(A),A;function T(e){return e[0]||e}}t[a("0x39e9")](a("0x1b0c"))[a("0x3faf")](a("0xfb8"),s),t.element[a("0x20f")][a("0x2beb")]=t[a("0xb48")][a("0x20f")].focus||function(){return this[a("0x5e9")]&&this[0].focus(),this},t[a("0xb48")].prototype[a("0x4a1")]=t[a("0xb48")][a("0x20f")].blur||function(){return this[a("0x5e9")]&&this[0].blur(),this}}(),t[(C=a2_0x37cf)("0x39e9")](C("0x1b0c"))[C("0x3faf")](C("0x2e7"),["$q","$timeout",C("0x4572"),C("0x7c3"),function(n,a,r,i){return function(o){return x=o,s=n,c=a,l=r,d=i,u={translate3d:function(e,t,n,a){var r=a2_0x37cf;return d(e,{from:t,to:n,addClass:a[r("0x1118")],removeClass:a[r("0x4056")],duration:a[r("0x40b2")]}).start()[r("0x34e8")]((function(){return i}));function i(n){var i=r;return d(e,{to:n||t,addClass:a[i("0x4056")],removeClass:a.transitionInClass,duration:a[i("0x40b2")]})[i("0x1023")]()}},waitTransitionEnd:function(t,n){var a=3e3;return s((function(r,i){var o=a2_0x37cf;d((n=n||{})[o("0x260a")])&&(a=0);var x=c(s,n[o("0x1612")]||a);function s(e){var n=o;e&&e[n("0x55d")]!==t[0]||(e&&c[n("0x4920")](x),t[n("0x30f8")](l[n("0x387f")][n("0x406f")],s),r())}function d(n){var a=o;return"0s"==(n=n||e[a("0x2b64")](t[0]))[a("0x4e35")]||!n[a("0x2f61")]&&!n.transitionProperty}t.on(l[o("0x387f")][o("0x406f")],s)}))},calculateTransformValues:function(e,t){var n=a2_0x37cf,a=t[n("0xb48")],r=t.bounds;if(a||r){var i=a?u[n("0x23bc")](a)||c():u[n("0x3bf7")](r),o=u[n("0x3bf7")](e[0][n("0x1a8b")]()),x=u.centerPointFor(o),s=u[n("0x2c0d")](i);return{centerX:s.x-x.x,centerY:s.y-x.y,scaleX:Math[n("0x46d")](100*Math[n("0x11db")](.5,i[n("0xbbf")]/o[n("0xbbf")]))/100,scaleY:Math[n("0x46d")](100*Math[n("0x11db")](.5,i[n("0x4e66")]/o[n("0x4e66")]))/100}}return{centerX:0,centerY:0,scaleX:.5,scaleY:.5};function c(){var t=e?e[n("0x731")]():null,a=t?t.parent():null;return a?u.clientRect(a):null}},calculateZoomToOrigin:function(e,n){var a=a2_0x37cf,r=a("0x159c");return t[a("0x2b0c")](null,x[a("0x147e")],r)(u[a("0x30f")](e,n))},calculateSlideToOrigin:function(e,n){var a=a2_0x37cf,r=a("0x6c2");return t[a("0x2b0c")](null,x[a("0x147e")],r)(u[a("0x30f")](e,n))},toCss:function(e){var n=a2_0x37cf,a={},r=n("0x3a13");return t.forEach(e,(function(e,o){var x=n;if(!t[x("0x29ab")](e))if(r[x("0x3507")](o)>=0)a[o]=e+"px";else switch(o){case x("0x2f61"):i(o,l[x("0x387f")][x("0x3857")],e);break;case x("0x3c4"):i(o,l[x("0x387f")][x("0x44aa")],e);break;case"transformOrigin":i(o,l[x("0x387f")][x("0x3368")],e);break;case x("0x32e5"):a[x("0x32e5")]=e}})),a;function i(e,r,i){var o=n;t[o("0x5ba")](r[o("0x9e5")](" "),(function(e){a[e]=i}))}},toTransformCss:function(e,n,a){var r=a2_0x37cf,i={};return t[r("0x5ba")](l[r("0x387f")][r("0x44aa")][r("0x9e5")](" "),(function(t){i[t]=e})),n&&(a=a||"all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important",i[r("0x2f61")]=a),i},copyRect:function(e,n){var a=a2_0x37cf;return e?(n=n||{},t.forEach(a("0x388b")[a("0x9e5")](" "),(function(t){var r=a;n[t]=Math[r("0x46d")](e[t])})),n.width=n[a("0xbbf")]||n[a("0x30eb")]-n[a("0x2885")],n[a("0x4e66")]=n[a("0x4e66")]||n[a("0x47d9")]-n[a("0x228a")],n):null},clientRect:function(e){var n,a,r=a2_0x37cf,i=t.element(e)[0][r("0x1a8b")]();return a=r,(n=i)&&n.width>0&&n[a("0x4e66")]>0?u[r("0x3bf7")](i):null},centerPointFor:function(e){var t=a2_0x37cf;return e?{x:Math[t("0x46d")](e[t("0x2885")]+e[t("0xbbf")]/2),y:Math.round(e[t("0x228a")]+e[t("0x4e66")]/2)}:{x:0,y:0}}};var x,s,c,l,d,u}}]),t[(y=a2_0x37cf)("0x10ea")].minor>=4?t[y("0x39e9")]("material.core.animate",[]):function(){var e=y,n=t[e("0x5ba")],a=t[e("0x64a")](document.documentElement[e("0x4025")].WebkitAppearance),r=(e(a?"0x2b1e":"0x2f61"),e(a?"0x2219":"0x2f73"),a?e("0x4dc9"):""),i=(a?e("0x1e76"):"")+e("0x2434"),o=(a?e("0x23f6"):"")+e("0x1232"),x=[e("0x45e2"),function(e){return function(){var t=a2_0x37cf;return e[0][t("0x3b3e")].clientWidth+1}}],s=[e("0x47aa"),function(e){return function(){var t=!1;return e((function(){t=!0})),function(n){t?n():e(n)}}}],c=["$q",e("0x349a"),function(a,r){var i=e;function o(e){var t=a2_0x37cf;this.setHost(e),this[t("0x7ff")]=[],this._runInAnimationFrame=r(),this[t("0x4881")]=0}return o[i("0x20f")]={setHost:function(e){this[i("0x4961")]=e||{}},done:function(e){var t=i;2===this._state?e():this._doneCallbacks[t("0x459a")](e)},progress:t[i("0x49d1")],getPromise:function(){var e=i;if(!this[e("0x234e")]){var t=this;this[e("0x234e")]=a((function(n,a){t[e("0x2d52")]((function(e){!1===e?a():n()}))}))}return this[e("0x234e")]},then:function(e,t){var n=i;return this.getPromise()[n("0x34e8")](e,t)},catch:function(e){return this.getPromise().catch(e)},finally:function(e){var t=i;return this.getPromise()[t("0x2cfe")](e)},pause:function(){var e=i;this[e("0x4961")][e("0x27e5")]&&this[e("0x4961")][e("0x27e5")]()},resume:function(){var e=i;this[e("0x4961")][e("0x1228")]&&this[e("0x4961")][e("0x1228")]()},end:function(){var e=i;this[e("0x4961")][e("0x3a59")]&&this[e("0x4961")][e("0x3a59")](),this._resolve(!0)},cancel:function(){var e=i;this[e("0x4961")][e("0x4920")]&&this[e("0x4961")].cancel(),this[e("0x1c2b")](!1)},complete:function(e){var t=i,n=this;0===n[t("0x4881")]&&(n[t("0x4881")]=1,n._runInAnimationFrame((function(){n[t("0x1c2b")](e)})))},_resolve:function(e){var t=i;2!==this[t("0x4881")]&&(n(this[t("0x7ff")],(function(t){t(e)})),this[t("0x7ff")][t("0x5e9")]=0,this._state=2)}},o[i("0x3217")]=function(e,t){var a=0,r=!0;function i(n){r=r&&n,++a===e[a2_0x37cf("0x5e9")]&&t(r)}n(e,(function(e){e[a2_0x37cf("0x2d52")](i)}))},o}];function l(t){var n=e;return t[n("0x3cc0")](/-[a-z]/g,(function(e){var t=n;return e.charAt(1)[t("0x110")]()}))}t[e("0x39e9")](e("0x2311"),[]).factory(e("0xfff"),x)[e("0x3faf")]("$$AnimateRunner",c).factory(e("0x349a"),s)[e("0x3faf")](e("0x7c3"),[e("0xe11"),e("0x47aa"),"$$AnimateRunner","$$forceReflow",e("0x1e18"),e("0x38d4"),e("0xc00"),function(e,t,x,s,c,d,u){function f(e,t){var n=a2_0x37cf;t[n("0x31dc")]&&(c[n("0x31dc")](e,t[n("0x31dc")]),t.addClass=null),t.removeClass&&(c[n("0xa81")](e,t[n("0xa81")]),t[n("0xa81")]=null)}function m(e){var t=a2_0x37cf,a=0,r=(e||"")[t("0x9e5")](/\s*,\s*/);return n(r,(function(e){var n=t;"s"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e=parseFloat(e)||0,a=a?Math[n("0x242b")](e,a):e})),a}var b,_=[];function p(e,t){var n=a2_0x37cf;t[n("0x3121")]&&(e[n("0x42b1")](t[n("0x3121")]),t.from=null)}function h(e,t){t.to&&(e.css(t.to),t.to=null)}function g(e){for(var t=a2_0x37cf,n=0;n<e[t("0x5e9")];n++)if(1===e[n][t("0x4879")])return e[n]}function v(e,t){var n=a2_0x37cf,a=g(e),i=l(r+n("0x4b24"));a[n("0x4025")][i]=t?"-9999s":""}return function(c,S){var E=a2_0x37cf,A=[],T=g(c),y=T&&u[E("0x48b5")](),C=!1,w=!1;y&&(S[E("0x1155")]&&A[E("0x459a")]([r+"transition",S[E("0x1155")]]),S[E("0x1874")]&&A[E("0x459a")]([r+E("0x2f73"),S[E("0x1874")]]),S[E("0x381")]&&A.push([r+E("0x4b24"),S[E("0x381")]+"s"]),S.duration&&A[E("0x459a")]([r+E("0x1069"),S[E("0x40b2")]+"s"]),C=S[E("0x1874")]||S.to&&(S.duration>0||S[E("0x1155")]),w=!!S[E("0x31dc")]||!!S[E("0xa81")],v(c,!0));var M=y&&(C||w);p(c,S);var R,D,I=!1;return{close:e[E("0x440f")],start:function(){var u,E,y=new x;return u=function(){var t=a2_0x37cf;if(v(c,!1),!M)return C();n(A,(function(e){var t=a2_0x37cf,n=e[0],a=e[1];T[t("0x4025")][l(n)]=a})),f(c,S);var x=function(t){var n=a2_0x37cf,r=g(t),i=e[n("0x2b64")](r),o=m(i[u(n("0x4e35"))]),x=m(i[u(n("0x45f6"))]),s=m(i[u("transitionDelay")]),c=m(i[u(n("0xf3"))]);x*=parseInt(i[u("animationIterationCount")],10)||1;var l=Math[n("0x242b")](x,o),d=Math[n("0x242b")](c,s);return{duration:l,delay:d,animationDuration:x,transitionDuration:o,animationDelay:c,transitionDelay:s};function u(e){var t=n;return a?"Webkit"+e[t("0x24de")](0)[t("0x110")]()+e[t("0x39fa")](1):e}}(c);if(0===x[t("0x40b2")])return C();var s=[];S[t("0x1a8f")]&&(x.transitionDuration&&s.push([r+t("0x187"),S[t("0x1a8f")]]),x[t("0x45f6")]&&s[t("0x459a")]([r+"animation-timing-function",S[t("0x1a8f")]])),S[t("0x381")]&&x[t("0xf3")]&&s[t("0x459a")]([r+t("0x172f"),S[t("0x381")]+"s"]),S.duration&&x[t("0x45f6")]&&s.push([r+t("0x3b2b"),S[t("0x40b2")]+"s"]),n(s,(function(e){var n=t,a=e[0],r=e[1];T[n("0x4025")][l(a)]=r,A[n("0x459a")](e)}));var u=1e3*x[t("0x381")],b=x.duration,_=1e3*b,p=Date[t("0x4706")]();R=[],x[t("0x4e35")]&&R[t("0x459a")](i),x[t("0x45f6")]&&R[t("0x459a")](o),R=R[t("0xc60")](" "),D=function(e){var n=t;e.stopPropagation();var a=e.originalEvent||e,r=a[n("0x4917")]||Date[n("0x4706")](),i=parseFloat(a[n("0x3a90")][n("0x3fab")](3));Math[n("0x242b")](r-p,0)>=u&&i>=b&&C()},c.on(R,D),h(c,S),d(C,u+1.5*_,!1)},E=a2_0x37cf,b&&b(),_[E("0x459a")](u),b=t((function(){var e=E;b=null;for(var t=s(),n=0;n<_.length;n++)_[n](t);_[e("0x5e9")]=0})),y;function C(){var e,t,a=a2_0x37cf;if(!I)return I=!0,R&&D&&c[a("0x30f8")](R,D),f(c,S),p(e=c,t=S),h(e,t),n(A,(function(e){T[a("0x4025")][l(e[0])]=""})),y[a("0x901")](!0),y}}}}}])}(),function(){var e=a2_0x37cf;function n(e,n,a,r){var i=this.showWarnings;return{expect:o,expectAsync:x,expectWithText:function(e,t){var n=a2_0x37cf,a=s(e)||"";a[n("0x3507")](r[n("0xcfc")]())>-1?x(e,t,(function(){return s(e)})):o(e,t,a)},expectWithoutText:function(e,t){var n=a2_0x37cf,a=s(e);!(a.indexOf(r[n("0xcfc")]())>-1)&&!a&&o(e,t,a)},getText:s,hasAriaLabel:c,parentHasAriaLabel:function e(n,a){var r=a2_0x37cf;a=a||1;var i=t[r("0xb48")](n)[0]||n;return!!i.parentNode&&(!!function(e){var t=r;if(!c(e))return!1;if(e.hasAttribute(t("0x3517")))switch(e.getAttribute(t("0x3517"))[t("0x2eb9")]()){case t("0x406a"):case"definition":case t("0x257a"):case t("0x169b"):case t("0x36ed"):case t("0x2781"):case t("0x10f3"):case t("0x4df9"):case t("0x2ba9"):case t("0x429d"):case t("0x11f"):case t("0xf8d"):case t("0x1d12"):case t("0x2df7"):case"status":case t("0x405d"):return!1}switch(e[t("0x4d74")][t("0x2eb9")]()){case t("0x60"):case t("0x1028"):case t("0xcfb"):case t("0x20c0"):case"audio":case"b":case"bdi":case t("0x4ad5"):case t("0x323b"):case t("0x18b7"):case"br":case t("0x4859"):case t("0x30c7"):case t("0x2167"):case t("0x4d8"):case t("0xd41"):case t("0x1768"):case t("0x237c"):case"dd":case t("0xd28"):case t("0x4d6f"):case t("0x2a80"):case t("0x4774"):case"dl":case"em":case t("0x39aa"):case t("0x150e"):case t("0x2697"):case t("0x344"):case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"hgroup":case t("0x1059"):case"i":case"ins":case"isindex":case t("0x3ede"):case"keygen":case t("0x32b"):case"legend":case"li":case t("0x19e8"):case"mark":case t("0x2ba9"):case"object":case"ol":case t("0x39af"):case"pre":case t("0xf8d"):case"q":case"rt":case t("0x3f13"):case"samp":case t("0x2ffb"):case"source":case t("0x299e"):case t("0x4e5c"):case"strike":case t("0x4a8b"):case t("0x10e"):case"sup":case"svg":case t("0x8f6"):case"td":case"th":case t("0x4b3"):case t("0x1c9f"):case"tr":case t("0x1a00"):case"tt":case"ul":case t("0x24a2"):return!1}return!0}(i[r("0x368c")])||!!--a&&e(i.parentNode,a))}};function o(e,r,o){var x=a2_0x37cf,s=t.element(e)[0]||e;!s||s[x("0x3a67")](r)&&0!==s.getAttribute(r)[x("0x5e9")]||function(e,t){var n=a2_0x37cf,r=e.hasChildNodes(),i=!1;function o(e){var t=a2_0x37cf;return(e[t("0xa6b")]?e.currentStyle:a[t("0x2b64")](e))[t("0x37b3")]===t("0x2847")}if(r)for(var x=e[n("0xf5c")],s=0;s<x[n("0x5e9")];s++){var c=x[s];1===c[n("0x4879")]&&c[n("0x3a67")](t)&&!o(c)&&(i=!0)}return i}(s,r)||((o=t.isString(o)?o[x("0x2dc4")]():"")[x("0x5e9")]?e.attr(r,o):i&&n[x("0x1dc6")](x("0x1a0c"),r,'", required for accessibility, is missing on node:',s))}function x(t,n,a){e((function(){o(t,n,a())}))}function s(e){var t=a2_0x37cf;e=e[0]||e;for(var n,a=document.createTreeWalker(e,NodeFilter[t("0x4d60")],null,!1),r="";n=a[t("0x1f18")]();)!i(n)&&(r+=n[t("0x12ee")]);return r[t("0x2dc4")]()||"";function i(n){for(var a=t;n.parentNode&&(n=n[a("0x368c")])!==e;)if(n[a("0x22b9")]&&n.getAttribute(a("0x240d"))===a("0x1509"))return!0}}function c(e){var n=a2_0x37cf,a=t[n("0xb48")](e)[0]||e;return!!a[n("0x3a67")]&&(a[n("0x3a67")](n("0x194a"))||a[n("0x3a67")](n("0x1d71"))||a[n("0x3a67")]("aria-describedby"))}}n.$inject=[e("0x47aa"),"$log",e("0xe11"),e("0x3a1e")],t.module(e("0x1b0c"))[e("0x4b0")](e("0x219f"),(function(){var t=e,a={showWarnings:!0};return{disableWarnings:function(){a[t("0xd1b")]=!1},$get:["$$rAF",t("0x1a4"),"$window",t("0x3a1e"),function(e,t,r,i){return n.apply(a,arguments)}]}}))}(),function(){var e=a2_0x37cf;function n(n){var a=e,r=!1;function i(e,t,n,r,i){var o=a;this.$q=e,this[o("0x1d93")]=t,this[o("0x1f10")]=n,this[o("0x4728")]=r,this[o("0xd68")]=i}this[a("0x1147")]=function(e){return t[a("0x64a")](e)?(r=e,this):r},this[a("0x1cc9")]=["$q",a("0x1d93"),a("0x1f10"),a("0x4728"),a("0xd68"),function(e,t,n,a,r){return new i(e,t,n,a,r)}],i[a("0x20f")][a("0x1d80")]=function(e){var t=a;return e[t("0x163a")]?this[t("0x2bdb")](e):this[t("0x32")](e)},i[a("0x20f")]._prepareContentElement=function(e){var t=a,n=this[t("0x21bf")](e);return this.$q[t("0x407b")]({element:n[t("0xb48")],cleanup:n[t("0x3b57")],locals:{},link:function(){return n[t("0xb48")]}})},i[a("0x20f")]._compileTemplate=function(e){var n=a,r=this,i=e[n("0x1d64")],o=e[n("0x371b")]||"",x=t[n("0x3448")]({},e.resolve),s=t.extend({},e.locals),c=e[n("0x3a9")]||t.identity;return t[n("0x5ba")](x,(function(e,a){var i=n;t[i("0x1236")](e)?x[a]=r[i("0x1f10")][i("0x1cf")](e):x[a]=r[i("0x1f10")].invoke(e)})),t[n("0x3448")](x,s),x[n("0x1327")]=i?this.$templateRequest(i):this.$q.when(o),this.$q.all(x)[n("0x34e8")]((function(a){var i=n,o=c(a[i("0x1327")],e),x=e[i("0xb48")]||t[i("0xb48")](i("0x290a"))[i("0x1059")](o[i("0x2dc4")]())[i("0x1163")]();return r._compileElement(a,x,e)}))},i[a("0x20f")]._compileElement=function(e,n,r){var i=a,o=this,x=this.$compile(n),s={element:n,cleanup:n.remove[i("0x2b0c")](n),locals:e,link:function(a){var c=i;if(e.$scope=a,r[c("0x1194")]){var l=t.extend({},e,{$element:n}),d=o[c("0x3530")](r,l,e);t[c("0x4977")](d[c("0x1f51")])&&a[c("0x24c9")](c("0x4c91"),(function(){var e=c;t[e("0x4977")](d[e("0x1f51")])&&d[e("0x1f51")]()})),n[c("0x237c")](c("0x1315"),d),n.children()[c("0x237c")](c("0x1315"),d),s[c("0x1194")]=d}return x(a)}};return s},i.prototype[a("0x3530")]=function(e,i,o){var x,s,c=a;if(s=a,!r||(typeof n[s("0x4784")]===s("0x3349")?n[s("0x4784")]():1===t[s("0x10ea")].major&&t[s("0x10ea")][s("0x8b1")]<6)){var l=this.$controller(e[c("0x1194")],i,!0);e[c("0x44d3")]&&t[c("0x3448")](l.instance,o),x=l()}else x=this[c("0xd68")](e.controller,i),e[c("0x44d3")]&&t[c("0x3448")](x,o);return e.controllerAs&&(i[c("0x36af")][e[c("0x13b4")]]=x),t.isFunction(x[c("0x4393")])&&x[c("0x4393")](),x},i[a("0x20f")]._fetchContentElement=function(e){var n=a,r=e[n("0x163a")],i=null;return t[n("0x1236")](r)?i=o(r=document[n("0x31f7")](r)):(r=r[0]||r,i=document[n("0x2a10")](r)?o(r):function(){var e=n;r[e("0x368c")]&&r.parentNode[e("0xffd")](r)}),{element:t[n("0xb48")](r),restore:i};function o(e){var t=n,a=e[t("0x368c")],r=e[t("0x3207")];return function(){r?a[t("0x1437")](e,r):a.appendChild(e)}}}}t[e("0x39e9")]("material.core")[e("0x4b0")](e("0x22b8"),n),n[e("0x4670")]=[e("0x42b6")]}(),function(){var n=a2_0x37cf;u[n("0x4670")]=[n("0x46a9"),n("0x47aa"),n("0x38d4"),n("0xfb8")],m[n("0x4670")]=["$mdGesture",n("0x46a9"),n("0xfb8")];var a,r,i={},o=6,x=!1,s=!1,c=null,l=!1;function d(){}function u(a,r,s,c){var l=n,d=c[l("0x2436")](),u=void 0!==e[l("0x365a")]&&t[l("0xb48")]===e[l("0x365a")],f={handler:function(e,n){var r=l,o=new a(e);return t[r("0x3448")](o,n),i[e]=o,f},register:function(e,t,n){var a=l,r=i[t[a("0x3cc0")](/^\$md./,"")];if(!r)throw new Error(a("0x487c")+t+". "+a("0x201a")+Object[a("0xa35")](i)[a("0xc60")](", "));return r[a("0x2f1f")](e,n)},isAndroid:c[l("0x17a")],isIos:c.isIos,isHijackingClicks:(c[l("0x4245")]||c.isAndroid)&&!u&&!x};function m(e){return function(t,n){var a=a2_0x37cf;n[a("0x3e54")]<this[a("0x81c")][a("0x16d1")].maxDistance&&this.dispatchEvent(t,e,n)}}return f[l("0x198a")]&&(f[l("0x4eb4")]("click",{options:{maxDistance:o},onEnd:m("click")}),f.handler(l("0x2beb"),{options:{maxDistance:o},onEnd:function(e,t){var n=l;t[n("0x3e54")]<this[n("0x81c")][n("0x16d1")][n("0x2cc3")]&&v(e[n("0x55d")])&&(this[n("0x4afc")](e,"focus",t),e.target[n("0x2beb")]())}}),f[l("0x4eb4")](l("0x1f"),{options:{maxDistance:o},onEnd:m(l("0x1f"))}),f[l("0x4eb4")](l("0x4a2b"),{onStart:function(e){var t=l;this[t("0x4afc")](e,t("0x4a2b"))}})),f[l("0x4eb4")]("press",{onStart:function(e,t){this[l("0x4afc")](e,"$md.pressdown")},onEnd:function(e,t){var n=l;this[n("0x4afc")](e,n("0x4f2c"))}})[l("0x4eb4")](l("0x1d8"),{options:{maxDistance:6,delay:500},onCancel:function(){var e=l;s[e("0x4920")](this[e("0x81c")][e("0x1612")])},onStart:function(e,n){var a=l;if(!this.state[a("0xcad")])return this[a("0x4920")]();this[a("0x81c")][a("0x455d")]={x:n.x,y:n.y},this[a("0x81c")][a("0x1612")]=s(t[a("0x2b0c")](this,(function(){var t=a;this[t("0x4afc")](e,t("0x2fcd")),this.cancel()})),this[a("0x81c")].options[a("0x381")],!1)},onMove:function(e,t){var n=l;d||"touchmove"!==e.type||e[n("0xe50")]();var a=this[n("0x81c")][n("0x455d")].x-t.x,r=this.state.pos.y-t.y;Math.sqrt(a*a+r*r)>this.options[n("0x2cc3")]&&this[n("0x4920")]()},onEnd:function(){this[l("0xf7e")]()}})[l("0x4eb4")](l("0x391a"),{options:{minDistance:6,horizontal:!0,cancelMultiplier:1.5},onSetup:function(e,t){var n=l;d&&(this[n("0x2f76")]=e[0][n("0x4025")][d],e[0][n("0x4025")][d]=t[n("0x1377")]?n("0x2914"):n("0x4c6c"))},onCleanup:function(e){var t=l;this[t("0x2f76")]?e[0].style[d]=this[t("0x2f76")]:e[0].style[d]=null},onStart:function(e){var t=l;this[t("0x81c")][t("0xcad")]||this[t("0x4920")]()},onMove:function(e,t){var n,a,r=l;d||e[r("0x3298")]!==r("0x4a1a")||e[r("0xe50")](),this.state.dragPointer?this[r("0x28f9")](e):(this[r("0x81c")][r("0x16d1")][r("0x1377")]?(n=Math.abs(t.distanceX)>this.state.options.minDistance,a=Math[r("0x681")](t[r("0x36fe")])>this[r("0x81c")][r("0x16d1")][r("0x2cb2")]*this[r("0x81c")].options[r("0xd24")]):(n=Math[r("0x681")](t[r("0x36fe")])>this[r("0x81c")][r("0x16d1")][r("0x2cb2")],a=Math[r("0x681")](t.distanceX)>this[r("0x81c")].options.minDistance*this[r("0x81c")].options[r("0xd24")]),n?(this[r("0x81c")].dragPointer=b(e),h(e,this[r("0x81c")][r("0x468a")]),this[r("0x4afc")](e,r("0x43f"),this.state[r("0x468a")])):a&&this[r("0x4920")]())},dispatchDragMove:r[l("0x3fe4")]((function(e){var t=l;this[t("0x81c")][t("0x41f6")]&&(h(e,this[t("0x81c")].dragPointer),this.dispatchEvent(e,"$md.drag",this.state[t("0x468a")]))})),onEnd:function(e,t){var n=l;this[n("0x81c")].dragPointer&&(h(e,this[n("0x81c")].dragPointer),this[n("0x4afc")](e,n("0x27e6"),this[n("0x81c")][n("0x468a")]))}})[l("0x4eb4")](l("0x49b0"),{options:{minVelocity:.65,minDistance:10},onEnd:function(e,t){var n,a=l;Math[a("0x681")](t[a("0x376e")])>this[a("0x81c")].options[a("0x43c9")]&&Math[a("0x681")](t.distanceX)>this[a("0x81c")][a("0x16d1")][a("0x2cb2")]?(n=t[a("0x2cdf")]==a("0x2885")?"$md.swipeleft":a("0x3899"),this[a("0x4afc")](e,n)):Math[a("0x681")](t[a("0x4e71")])>this[a("0x81c")][a("0x16d1")][a("0x43c9")]&&Math[a("0x681")](t.distanceY)>this.state[a("0x16d1")][a("0x2cb2")]&&(n="up"==t.directionY?"$md.swipeup":a("0x4674"),this[a("0x4afc")](e,n))}})}function f(e){this[n("0x98c")]=e,this.state={}}function m(e,o,x){var d=n;if(!s){!l&&e[d("0x198a")]&&(document[d("0x4944")]("click",(function(e){var n,a=d;n=x[a("0x4245")]?t[a("0x64a")](e.webkitForce)&&0===e[a("0x152e")]:0===e[a("0x9f5")]&&0===e.clientY,n||e[a("0x1ea9")]||e[a("0x24c2")]||p(e)?(c=null,"label"===e.target[a("0x4d74")][a("0x2eb9")]()&&(c={x:e.x,y:e.y})):(e[a("0xe50")](),e[a("0x4c98")](),c=null)}),!0),document[d("0x4944")](d("0x1f"),m,!0),document[d("0x4944")](d("0x4a2b"),m,!0),document.addEventListener("focus",m,!0),l=!0);var u=d("0x2b49"),f=d("0x346c");t[d("0xb48")](document).on(u,(function(e){var t=d;if(a)return;var n=+Date.now();if(r&&!_(e,r)&&n-r[t("0xc45")]<1500)return;a=b(e),g("start",e)})).on("mousemove touchmove pointermove",(function(e){var t=d;if(!a||!_(e,a))return;h(e,a),g(t("0x1ff3"),e)})).on(f,(function(e){var t=d;if(!a||!_(e,a))return;h(e,a),a[t("0xc45")]=+Date[t("0x4706")](),e[t("0x3298")]!==t("0x2ed0")&&g(t("0x3a59"),e),r=a,a=null})).on(d("0x4a3a"),(function(){r=a=null}))}function m(e){var t=d;!(!e.clientX&&!e[t("0x1c24")])&&!e[t("0x1ea9")]&&!e[t("0x24c2")]&&!p(e)&&("mousedown"!==e[t("0x3298")]||!v(e[t("0x55d")])&&!v(document[t("0x3671")]))&&(e[t("0xe50")](),e[t("0x4c98")]())}function g(e,t){var n,r=d;for(var x in i)(n=i[x])instanceof o&&("start"===e&&n[r("0x4920")](),n[e](t,a))}}function b(e){var t=n,a=g(e),r={startTime:+Date[t("0x4706")](),target:e.target,type:e[t("0x3298")][t("0x24de")](0)};return r[t("0x2262")]=r.x=a[t("0x2508")],r[t("0x1265")]=r.y=a[t("0x4e6d")],r}function _(e,t){var a=n;return e&&t&&e[a("0x3298")][a("0x24de")](0)===t[a("0x3298")]}function p(e){return c&&c.x===e.x&&c.y===e.y}function h(e,t){var a=n,r=g(e),i=t.x=r[a("0x2508")],o=t.y=r[a("0x4e6d")];t[a("0x4794")]=i-t[a("0x2262")],t[a("0x36fe")]=o-t.startY,t.distance=Math[a("0x17c")](t[a("0x4794")]*t[a("0x4794")]+t[a("0x36fe")]*t[a("0x36fe")]),t[a("0x2cdf")]=t[a("0x4794")]>0?a("0x30eb"):t[a("0x4794")]<0?"left":"",t.directionY=t.distanceY>0?a("0x347a"):t[a("0x36fe")]<0?"up":"",t.duration=+Date.now()-t[a("0x76f")],t[a("0x376e")]=t[a("0x4794")]/t.duration,t.velocityY=t[a("0x36fe")]/t[a("0x40b2")]}function g(e){var t=n;return(e=e[t("0x2154")]||e).touches&&e[t("0x4d33")][0]||e[t("0x3d4")]&&e[t("0x3d4")][0]||e}function v(e){var t=n;return!!e&&"-1"!==e[t("0x22b9")](t("0x562"))&&!e[t("0x3a67")](t("0x1c54"))&&(e.hasAttribute("tabindex")||e[t("0x3a67")](t("0x44a3"))||e[t("0x240a")]||-1!==[t("0x3738"),t("0x4d18"),t("0x1622"),t("0x3db0"),t("0x402b"),"AUDIO"][t("0x3507")](e[t("0x4907")]))}t[n("0x39e9")](n("0x2fe2"),[])[n("0x4b0")](n("0x36b2"),d).factory(n("0x46a9"),(function(){var r=n,i=typeof e.jQuery!==r("0xc42")&&t[r("0xb48")]===e[r("0x365a")];return f[r("0x20f")]={options:{},dispatchEvent:i?function(e,n,i){var o=r;i=i||a;var x=new(t[o("0xb48")][o("0x3d50")])(n);x[o("0x1ea9")]=!0,x[o("0x452d")]=i,x.srcEvent=e,t[o("0x3448")](x,{clientX:i.x,clientY:i.y,screenX:i.x,screenY:i.y,pageX:i.x,pageY:i.y,ctrlKey:e[o("0x4786")],altKey:e[o("0x42a6")],shiftKey:e.shiftKey,metaKey:e[o("0x366c")]}),t[o("0xb48")](i[o("0x55d")])[o("0x3cef")](x)}:function(t,n,i){var o,x=r;i=i||a,n===x("0x7cb")||n===x("0x1f")||n===x("0x4a2b")?"function"==typeof e.MouseEvent?o=new MouseEvent(n,{bubbles:!0,cancelable:!0,screenX:Number(t[x("0x4c99")]),screenY:Number(t[x("0x41dc")]),clientX:Number(i.x),clientY:Number(i.y),ctrlKey:t[x("0x4786")],altKey:t[x("0x42a6")],shiftKey:t[x("0x3d90")],metaKey:t[x("0x366c")],button:t[x("0x22d7")],buttons:t.buttons,relatedTarget:t[x("0x11cf")]||null}):(o=document[x("0xdcb")](x("0x3824")))[x("0x1424")](n,!0,!0,e,t.detail,i.x,i.y,i.x,i.y,t[x("0x4786")],t.altKey,t[x("0x3d90")],t[x("0x366c")],t[x("0x22d7")],t[x("0x11cf")]||null):typeof e[x("0x4cd7")]===x("0x3349")?o=new CustomEvent(n,{bubbles:!0,cancelable:!0,detail:{}}):(o=document.createEvent(x("0x4cd7"))).initCustomEvent(n,!0,!0,{}),o[x("0x1ea9")]=!0,o.pointer=i,o.srcEvent=t,i.target[x("0x4afc")](o)},onSetup:t[r("0x49d1")],onCleanup:t[r("0x49d1")],onStart:t.noop,onMove:t.noop,onEnd:t[r("0x49d1")],onCancel:t[r("0x49d1")],start:function(e,n){var a=r;if(!this[a("0x81c")][a("0x41f6")]){var i=this[a("0x1860")](e[a("0x55d")]),o=i&&i.$mdGesture[this[a("0x98c")]]||{};this[a("0x81c")]={isRunning:!0,options:t[a("0x3448")]({},this[a("0x16d1")],o),registeredParent:i},this[a("0x2ef9")](e,n)}},move:function(e,t){var n=r;this[n("0x81c")][n("0x41f6")]&&this[n("0x822")](e,t)},end:function(e,t){var n=r;this[n("0x81c")][n("0x41f6")]&&(this[n("0x81c")][n("0x41f6")]=!1,this[n("0x2d6f")](e,t))},cancel:function(e,t){var n=r;this[n("0xf7e")](e,t),this[n("0x81c")]={}},getNearestParent:function(e){for(var t=r,n=e;n;){if((n[t("0x36b2")]||{})[this.name])return n;n=n.parentNode}return null},registerElement:function(e,t){var n=r,a=this;return e[0][n("0x36b2")]=e[0][n("0x36b2")]||{},e[0][n("0x36b2")][this.name]=t||{},e.on(n("0x4c91"),i),a[n("0x4043")](e,t||{}),i;function i(){var r=n;delete e[0].$mdGesture[a[r("0x98c")]],e.off(r("0x4c91"),i),a.onCleanup(e,t||{})}}},f})).run(m),d[n("0x20f")]={disableAll:function(){s=!0},skipClickHijack:function(){return x=!0},setMaxClickDistance:function(e){o=parseInt(e)},$get:[n("0x46a9"),"$$rAF",n("0x38d4"),n("0xfb8"),function(e,t,n,a){return new u(e,t,n,a)}]}}(),function(){var n=a2_0x37cf;function a(a,r,i){var o=n;this[o("0x38d4")]=a,this.$mdUtil=r,this.$rootScope=i,this[o("0x7a6")]=o("0xa07")in e?o("0x1145"):o("0x1513")in e?o("0x12ff"):null,this[o("0x3967")]=t[o("0xb48")](document.body),this[o("0x4ef7")]=!1,this[o("0x43f0")]=null,this.lastInteractionType=null,this[o("0x2d08")]=null,this[o("0x155b")]=this[o("0x35ad")][o("0x2b0c")](this),this[o("0x4ebd")]=this[o("0x275f")][o("0x2b0c")](this),this[o("0x2ebd")]={keydown:o("0x4804"),mousedown:o("0xe5a"),mouseenter:o("0xe5a"),touchstart:o("0x39ed"),pointerdown:o("0x452d"),MSPointerDown:"pointer"},this[o("0x34be")]={2:"touch",3:o("0x39ed"),4:"mouse"},this.initializeEvents(),this[o("0x47ed")][o("0x24c9")](o("0x4c91"),this.deregister.bind(this))}a[n("0x4670")]=[n("0x38d4"),n("0xfb8"),n("0x47ed")],t[n("0x39e9")](n("0x2b69"),[]).service(n("0x2a5a"),a),a[n("0x20f")][n("0x1388")]=function(){var e=n;this[e("0x3967")][e("0x30f8")](e("0xb3f"),this[e("0x155b")]),e("0x2685")in document[e("0x4c17")]&&this[e("0x3967")][e("0x30f8")](e("0x2198"),this[e("0x4ebd")]),this[e("0x7a6")]&&this.bodyElement[e("0x30f8")](this[e("0x7a6")],this[e("0x155b")])},a[n("0x20f")][n("0x253")]=function(){var e=n;this[e("0x3967")].on(e("0xb3f"),this.inputHandler),e("0x2685")in document[e("0x4c17")]&&this[e("0x3967")].on("touchstart",this.bufferedInputHandler),this.pointerEvent&&this[e("0x3967")].on(this[e("0x7a6")],this[e("0x155b")])},a[n("0x20f")][n("0x35ad")]=function(e){var t=n;if(!this[t("0x4ef7")]){var a=this[t("0x2ebd")][e[t("0x3298")]];a===t("0x452d")&&(a=this[t("0x34be")][e[t("0x4f93")]]||e[t("0x4f93")]),this[t("0x3cdc")]=a,this[t("0x2d08")]=this[t("0xfb8")][t("0x4706")]()}},a.prototype.onBufferInputEvent=function(e){var t=n;this[t("0x38d4")][t("0x4920")](this[t("0x43f0")]),this.onInputEvent(e),this[t("0x4ef7")]=!0,this[t("0x43f0")]=this[t("0x38d4")](function(){this.isBuffering=!1}[t("0x2b0c")](this),650,!1)},a[n("0x20f")][n("0x1a20")]=function(){return this[n("0x3cdc")]},a[n("0x20f")][n("0x1b22")]=function(e){var a=n,r=t.isNumber(e)?e:15;return this.lastInteractionTime>=this[a("0xfb8")].now()-r}}(),t[(T=a2_0x37cf)("0x39e9")]("material.core")[T("0x4b0")]("$$interimElement",(function(){var e=T;return r[e("0x4670")]=["$document","$q",e("0x47ed"),"$timeout","$rootElement",e("0xc00"),e("0xfb8"),e("0x22b8"),e("0x191b"),"$injector",e("0x1214")],a[e("0x1cc9")]=r,a;function a(n){var a=e;s.$inject=["$$interimElement",a("0x1f10")];var r=[a("0x48fa"),a("0x3f8b"),a("0x3420")],i={},o={presets:{}},x={setDefaults:function(e){var t=a;return o[t("0x31b0")]=e[t("0x16d1")],o[t("0x2de7")]=(e[t("0x2de7")]||[])[t("0x3abc")](r),x},addPreset:function(e,t){var i=a;if((t=t||{}).methods=t[i("0x2de7")]||[],t.options=t[i("0x16d1")]||function(){return{}},/^cancel|hide|show$/[i("0x3ff3")](e))throw new Error(i("0x4b03")+e+i("0x3bd2")+n+i("0xb03"));if(t[i("0x2de7")][i("0x3507")](i("0x2302"))>-1)throw new Error(i("0xee6")+n+" is reserved!");return o[i("0x20c6")][e]={methods:t.methods[i("0x3abc")](r),optionsFactory:t[i("0x16d1")],argOption:t[i("0x423e")]},x},addMethod:function(e,t){return i[e]=t,x},$get:s};return x.addPreset("build",{methods:[a("0x1194"),a("0x13b4"),a("0x407b"),"multiple","template","templateUrl",a("0x4251"),"transformTemplate","parent",a("0x163a")]}),x;function s(e,r){var x,s,c=a,l=e(),d={hide:l[c("0x29cb")],cancel:l[c("0x4920")],show:function(e){var n=c;return(e=e||{})[n("0x2302")]&&(e=e[n("0x2302")]),l[n("0x262c")](t[n("0x3448")]({},s,e))},destroy:function(e){return l.destroy(e)}};return x=o[c("0x2de7")]||[],s=u(o[c("0x31b0")],{}),t.forEach(i,(function(e,t){d[t]=e})),t[c("0x5ba")](o[c("0x20c6")],(function(e,n){var a=c,r=u(e[a("0x31b0")],{}),i=(e[a("0x2de7")]||[])[a("0x3abc")](x);function o(e){var n=a;this[n("0x2302")]=t[n("0x3448")]({},r,e)}if(t[a("0x3448")](r,{$type:n}),t[a("0x5ba")](i,(function(e){var t=a;o[t("0x20f")][e]=function(n){return this[t("0x2302")][e]=n,this}})),e[a("0x423e")]){var s="show"+n.charAt(0)[a("0x110")]()+n[a("0x9b3")](1);d[s]=function(e){var t=a,r=d[n](e);return d[t("0x262c")](r)}}d[n]=function(n){var r=a;return arguments[r("0x5e9")]&&e[r("0x423e")]&&!t.isObject(n)&&!t[r("0x498f")](n)?(new o)[e[r("0x423e")]](n):new o(n)}})),d;function u(e,t){var a=c,i={};return i[n]=d,r[a("0x1fd4")](e||function(){return t},{},i)}}}function r(e,a,r,i,o,x,s,c,l,d,u){return function(){var f,m=[],b=[],_=[];return f={show:function(e){var t=a2_0x37cf,n=new h((e=e||{})||{}),r=e[t("0x5c5")]?a[t("0x407b")]():a[t("0x3217")](m);!e.multiple&&(r=r[t("0x34e8")]((function(){var e=t,n=b.concat(_[e("0x19e8")](f[e("0x4920")]));return a.all(n)})));var i=r[t("0x34e8")]((function(){var e=t;return n[e("0x262c")]()[e("0x34e8")]((function(){_[e("0x459a")](n)}))[e("0x373a")]((function(e){return e}))[e("0x2cfe")]((function(){var t=e;m[t("0x2bcf")](m[t("0x3507")](i),1)}))}));return m.push(i),n.deferred.promise[t("0x373a")]((function(e){return e instanceof Error&&u(e),e})),n.deferred[t("0x234e")]},hide:p((function(e,t){var r=a2_0x37cf;return(t=t||{})[r("0x40e")]?a[r("0x3217")](_.slice().reverse().map(i)):t.closeTo!==n?a[r("0x3217")](_[r("0x9b3")](t[r("0x1c34")])[r("0x19e8")](i)):i(_[_[r("0x5e9")]-1]);function i(n){var i=r;if(!n)return a[i("0x2c66")](e);var o=n[i("0xf82")](e,!1,t||{})[i("0x373a")]((function(e){return e}))[i("0x2cfe")]((function(){var e=i;b[e("0x2bcf")](b[e("0x3507")](o),1)}));return _[i("0x2bcf")](_[i("0x3507")](n),1),b[i("0x459a")](o),n.deferred[i("0x234e")]}})),cancel:p((function(e,n){var r=a2_0x37cf,i=_[r("0x4acd")]();if(!i)return a[r("0x2c66")](e);var o=i.remove(e,!0,n||{})[r("0x373a")]((function(e){return e})).finally((function(){var e=r;b[e("0x2bcf")](b[e("0x3507")](o),1)}));return b[r("0x459a")](o),i[r("0x2a7c")][r("0x234e")][r("0x373a")](t[r("0x49d1")])})),destroy:function(e){var n=a2_0x37cf,r=e?null:_[n("0x4534")](),i=t[n("0xb48")](e).length&&t[n("0xb48")](e)[0][n("0x368c")];if(i){var o=_[n("0x6a6")]((function(e){var t=n;return e.options[t("0xb48")][0]===i}));o[n("0x5e9")]&&(r=o[0],_.splice(_[n("0x3507")](r),1))}return r?r[n("0xf82")](!1,!1,{$destroy:!0}):a[n("0x2c66")](!1)},$injector_:d};function p(e){return function(){var t=a2_0x37cf,n=arguments;return _.length?e[t("0x4884")](f,n):m[t("0x5e9")]?m[0][t("0x2cfe")]((function(){return e[t("0x4884")](f,n)})):a[t("0x2c66")]("No interim elements currently showing up.")}}function h(d){var u,m,b,_,p=a2_0x37cf,h=a.when(!0);return(b=(b=d)||{})[(_=p)("0x371b")]&&(b[_("0x371b")]=s[_("0x19ee")](b[_("0x371b")])),d=t[_("0x3448")]({preserveScope:!1,cancelAutoHide:t.noop,scope:b[_("0xd20")]||r[_("0x28da")](b.isolateScope),onShow:function(e,t,n){var a=_;return x[a("0x3b11")](t,n[a("0x731")])},onRemove:function(e,t){var n=_;return t&&x.leave(t)||a[n("0x2c66")]()}},b),u={options:d,deferred:a[p("0x3a26")](),show:function(){return a((function(r,x){var s,b,_=a2_0x37cf;function g(e){var t=_;u[t("0x2a7c")][t("0x2078")](e),x(e)}d[_("0x4e4e")]&&d[_("0x4e4e")](d),(s=d,b=p,(s[b("0x16ba")]?null:c[b("0x1d80")](s))||a((function(e){e({locals:{},link:function(){return s[a2_0x37cf("0xb48")]}})})))[_("0x34e8")]((function(x){var s=_;m=function(n,a){var r=p;t[r("0x3448")](n[r("0x9dc")],a);var i,x,s,c,d,u=n[r("0x28f2")](a.scope);return a[r("0xb48")]=u,a[r("0x731")]=(i=u,c=p,d=(x=a).parent,((d=t[c("0x4977")](d)?d(x[c("0xd20")],i,x):t[c("0x1236")](d)?t[c("0xb48")](e[0][c("0x31f7")](d)):t[c("0xb48")](d))||{})[c("0x5e9")]?d:(o[0]&&o[0].querySelector&&(s=o[0].querySelector(c("0x2917"))),s||(s=o[0]),s[c("0x4907")]==c("0x21ab")&&(s=e[0][c("0x3b3e")]),t[c("0xb48")](s))),a[r("0x4251")]&&l(u),u}(x,d),d[s("0xf72")]=x[s("0x1c09")],h=function(e,r,o){var x=p,s=r[x("0x226b")]||t[x("0x49d1")],c=r[x("0x1965")]||t[x("0x49d1")];try{s(r.scope,e,r,o)}catch(e){return a[x("0x2078")](e)}return a((function(s,l){var u=x;try{a[u("0x2c66")](r.onShow(r.scope,e,r,o))[u("0x34e8")]((function(){var a,o,x;c(r.scope,e,r),x=t[(o=p)("0x49d1")],d[o("0x4988")]&&(a=i(f[o("0x29cb")],d[o("0x4988")]),x=function(){i[o("0x4920")](a)}),d[o("0x4304")]=function(){var e=o;x(),d[e("0x4304")]=n},s(e)}),l)}catch(e){l(e[u("0x45ea")])}}))}(m,d,x[s("0x1194")])[s("0x34e8")](r,g)}))[_("0x373a")](g)}))},remove:function(e,n,r){var i=p;return m?((d=t.extend(d||{},r||{}))[i("0x4304")]&&d[i("0x4304")](),d.element.triggerHandler(i("0x35a1")),!0===d[i("0x4c91")]?g(d[i("0xb48")],d)[i("0x34e8")]((function(){n&&x(e)||o(e)})):(a[i("0x2c66")](h).finally((function(){g(d[i("0xb48")],d).then((function(){n?x(e):o(e)}),x)})),u[i("0x2a7c")][i("0x234e")])):a.when(!1);function o(e){u[i("0x2a7c")].resolve(e)}function x(e){var t=i;u[t("0x2a7c")][t("0x2078")](e)}}};function g(e,n){var r=p,i=n.onRemoving||t[r("0x49d1")];return a((function(t,o){var x=r;try{var s=a[x("0x2c66")](n[x("0x3420")](n[x("0xd20")],e,n)||!0);i(e,s),n[x("0x4c91")]?(t(e),!n[x("0x1c38")]&&n[x("0xd20")]&&s[x("0x34e8")]((function(){var e=x;n[e("0xd20")][e("0x4c91")]()}))):s[x("0x34e8")]((function(){var a=x;!n.preserveScope&&n.scope&&n[a("0xd20")][a("0x4c91")](),t(e)}),o)}catch(e){o(e[x("0x45ea")])}}))}}}}})),function(){var e,n,a,r=a2_0x37cf,i=/(-gt)?-(sm|md|lg|print)/g,o=/\s+/g,x=[r("0x415e"),r("0x40da"),r("0x15ac"),"none",r("0x4633"),r("0xdc1")],s=[r("0x3c95"),"column"],c=["",r("0x1023"),r("0x2167"),r("0x3a59"),r("0x358e"),"space-around",r("0xa48")],l=["",r("0x1023"),r("0x2167"),r("0x3a59"),r("0x358e")],d={enabled:!0,breakpoints:[]};function u(){var e=r,t=!!document[e("0x31f7")](e("0x1e0a"));d[e("0x48b5")]=!t}function f(){return d[r("0x48b5")]=!1,{restrict:"A",priority:"900"}}function m(i){var o=r;return[o("0xfb8"),o("0x3a1e"),"$log",function(r,o,s){return e=r,n=o,a=s,{restrict:"A",compile:function(e,n){var a;return d[a2_0x37cf("0x48b5")]&&(p(i,v(i,n,""),h(0,i,n)),x(0,e),a=x),a||t.noop}}}];function x(e,t){t[o("0x31dc")](i)}}function b(e){var n=r,a=e[n("0x9e5")]("-");return[n("0x1a4"),function(r){var i=n;return r[i("0x1dc6")](e+i("0x43f8")+a[0]+i("0x491b")),t[i("0x49d1")]}]}function _(t,n,a,o){var x,s,c,l=r,d=a[0][l("0x4907")][l("0x2eb9")]();switch(t[l("0x3cc0")](i,"")){case l("0x26f1"):(d==l("0x3b7b")||d==l("0x150e"))&&(s="<"+d+" "+t+l("0x4131")+d+">",c=l("0x1a2a"),x=l("0x34bb"),o[l("0x1dc6")](e[l("0x147e")](x,[s,c])))}}function p(n,a,d){var u,f,m,b,_=r,p=a;if(!g(a)){switch(n[_("0x3cc0")](i,"")){case _("0x39f7"):!S(a,s)&&(a=s[0]);break;case _("0x26f1"):!S(a,x)&&isNaN(a)&&(a="");break;case _("0x1bc5"):case _("0x1a07"):(!a||isNaN(+a))&&(a="0");break;case _("0x17c1"):var h=(u=a,b={main:"start",cross:(m=r)("0x358e")},(0===(u=u||"")[m("0x3507")]("-")||0===u[m("0x3507")](" "))&&(u=m("0x2847")+u),(f=u[m("0x2eb9")]()[m("0x2dc4")]()[m("0x3cc0")](o,"-")[m("0x9e5")]("-"))[m("0x5e9")]&&f[0]===m("0x1034")&&(f=[f[0]+"-"+f[1],f[2]]),f[m("0x5e9")]>0&&(b.main=f[0]||b[m("0x3a86")]),f.length>1&&(b.cross=f[1]||b[m("0x4fa7")]),c[m("0x3507")](b[m("0x3a86")])<0&&(b[m("0x3a86")]=m("0x1023")),l[m("0x3507")](b.cross)<0&&(b[m("0x4fa7")]=m("0x358e")),b);a=e[_("0x147e")]("{main}-{cross}",h);break;case _("0x4f48"):case"layout-margin":case _("0x3c20"):case _("0x3358"):case _("0x4f79"):a=""}a!=p&&(d||t.noop)(a)}return a?a[_("0x2dc4")]():""}function h(e,t,n){return function(e){var a=a2_0x37cf;!g(e)&&(n[n[a("0x3256")](t)]=e)}}function g(e){var t=r;return(e||"")[t("0x3507")](n[t("0xcfc")]())>-1}function v(e,t,n){var a=r,i=t[a("0x3256")](e);return t[i]?t[i].trim()[a("0x3cc0")](o,"-"):n||null}function S(e,t,n){var a=r;e=n&&e?e.replace(o,n):e;var i=!1;return e&&t[a("0x5ba")]((function(t){t=n?t[a("0x3cc0")](o,n):t,i=i||t===e})),i}!function(i){var x,s=r,c=/^((?:x|data)[:\-_])/i,l=/([:\-_]+(.))/g,g=["","xs",s("0x49d9"),"sm","gt-sm","md",s("0x3c33"),"lg",s("0x311e"),"xl",s("0x15fc")],S=["layout","flex",s("0x1a07"),"flex-offset",s("0x17c1")],E=[s("0x262c"),s("0x29cb"),s("0x4f48"),s("0x4ce5")];function A(e){var t=s;return e.replace(c,"")[t("0x3cc0")](l,(function(e,t,n,a){return a?n.toUpperCase():n}))}t[s("0x5ba")](g,(function(x){var c=s;t[c("0x5ba")](S,(function(s){var l=x?s+"-"+x:s;i[c("0x1b75")](A(l),function(i){var x=r;return[x("0xfb8"),x("0x3a1e"),x("0x1a4"),function(r,o,x){return e=r,n=o,a=x,{restrict:"A",compile:function(e,n){var r,o=a2_0x37cf;return d[o("0x48b5")]&&(_(i,0,e,a),p(i,v(i,n,""),h(0,i,n)),r=s),r||t[o("0x49d1")]}}}];function s(e,n,a){var r,s,c,l=x,d=(r=n,s=i,function(e){var n=a2_0x37cf,a=p(s,e||"");t[n("0x64a")](a)&&(c&&r[n("0xa81")](c),c=a?s+"-"+a[n("0x2dc4")]()[n("0x3cc0")](o,"-"):s,r[n("0x31dc")](c))}),u=a.$observe(a.$normalize(i),d);d(v(i,a,"")),e.$on(l("0x4c91"),(function(){u()}))}}(l))})),t.forEach(E,(function(e){var t=x?e+"-"+x:e;i[c("0x1b75")](A(t),m(t))}))})),i[s("0x4b0")](s("0x1dd9"),(function(){return{$get:t[s("0x49d1")],validateAttributeValue:p,validateAttributeUsage:_,disableLayouts:function(e){d.enabled=!0!==e}}})).directive(s("0x4d87"),f)[s("0x1b75")]("ngCloak",(x=s("0xe80"),[r("0x38d4"),function(e){return{restrict:"A",priority:-10,compile:function(n){var a=a2_0x37cf;return d[a("0x48b5")]?(n[a("0x31dc")](x),function(t,n){e((function(){n.removeClass(x)}),10,!1)}):t[a("0x49d1")]}}}]))[s("0x1b75")]("layoutWrap",m(s("0x3358")))[s("0x1b75")](s("0x45dc"),m("layout-nowrap"))[s("0x1b75")](s("0x3ec9"),m(s("0x4ad6")))[s("0x1b75")](s("0x584"),m(s("0x3c20"))).directive(s("0xf"),b(s("0x3556"))).directive("layoutLtLg",b(s("0x38b2")))[s("0x1b75")](s("0x45d1"),b(s("0x7cd")))[s("0x1b75")](s("0x2310"),b(s("0x1750"))).directive(s("0x2a49"),b(s("0x11b1"))).directive("layoutAlignLtLg",b("layout-align-lt-lg"))[s("0x1b75")](s("0xebd"),b(s("0x1813"))).directive(s("0x2bf1"),b(s("0x3981")))[s("0x1b75")](s("0x2d77"),b(s("0x2583")))[s("0x1b75")](s("0x3fc7"),b(s("0x4a27"))).directive("hideLtMd",b(s("0x177d"))).directive(s("0x212f"),b(s("0x35ab")))[s("0x1b75")]("showLtMd",b(s("0x473d")))[s("0x1b75")]("showLtLg",b(s("0x9ec")))[s("0x1805")](u)}(t[r("0x39e9")]("material.core.layout",["ng"]))}(),function(){var e=a2_0x37cf;function n(t){var n=e;this[n("0x1932")]=t,this[n("0x47d2")]=this[n("0x4741")](),this[n("0x198d")]=100}n[e("0x4670")]=[e("0x38d4")],t.module(e("0x1b0c"))[e("0xc3b")](e("0x477a"),n),n[e("0x20f")][e("0x1597")]=function(t,n){var a=e;!n&&(n=a("0x47b"));var r=this;r._liveElement.textContent="",r._liveElement[a("0x4480")](a("0x42a2"),n),r[a("0x1932")]((function(){r._liveElement.textContent=t}),r._announceTimeout,!1)},n.prototype[e("0x4741")]=function(){var t=e,n=document[t("0x4202")](t("0x4774"));return n.classList.add(t("0x930")),n[t("0x4480")](t("0x3517"),t("0x4e5c")),n[t("0x4480")](t("0x3f5e"),t("0x1509")),n.setAttribute(t("0x42a2"),t("0x47b")),document.body[t("0x4238")](n),n}}(),A=a2_0x37cf,t.module(A("0x3848"),[])[A("0x4b0")](A("0x4363"),(function(){var e=A,n=t.element(document[e("0x1d45")]),a={};function r(n){var r=e;if(a[n])return!0;var i=document.getElementsByName(n)[0];return!!i&&(a[n]=t[r("0xb48")](i),!0)}var i={setMeta:function(i,o){var x=e;if(r(i),a[i])a[i].attr("content",o);else{var s=t.element(x("0x2cb3")+i+'" content="'+o+x("0x1d92"));n[x("0x136a")](s),a[i]=s}return function(){var e=x;a[i][e("0x417f")]("content",""),a[i][e("0xf82")](),delete a[i]}},getMeta:function(t){var n=e;if(!r(t))throw Error(n("0x2193")+t+"'");return a[t].attr(n("0xa9f"))}};return t[e("0x3448")]({},i,{$get:function(){return i}})})),function(){var e=a2_0x37cf;function a(e,a){var r,i=[],o={};return r={notFoundError:function(t,n){var a=a2_0x37cf;e.error((n||"")+a("0x29a"),t)},getInstances:function(){return i},get:function(e){var t,n,a,r=a2_0x37cf;if(!x(e))return null;for(t=0,n=i[r("0x5e9")];t<n;t++)if((a=i[t])[r("0x2c0f")]===e)return a;return null},register:function(e,n){var a,r,x=a2_0x37cf;return n?(e[x("0x2c0f")]=n,i.push(e),a=x,(r=o[n])&&(r[a("0x5ba")]((function(t){t[a("0x407b")](e)})),delete o[n]),function(){var t=x,n=i[t("0x3507")](e);-1!==n&&i[t("0x2bcf")](n,1)}):t[x("0x49d1")]},when:function(e){var t=a2_0x37cf;if(x(e)){var i=a[t("0x3a26")](),s=r.get(e);return s?i[t("0x407b")](s):(o[e]===n&&(o[e]=[]),o[e][t("0x459a")](i)),i[t("0x234e")]}return a[t("0x2078")]("Invalid `md-component-id` value.")}};function x(e){return e&&""!==e}}a.$inject=[e("0x1a4"),"$q"],t[e("0x39e9")]("material.core")[e("0x3faf")](e("0x22cd"),a)}(),function(){var e=a2_0x37cf;function n(e){return{attach:function(n,a,r){var i,o;return r=t[a2_0x37cf("0x3448")]((i=a)[(o=a2_0x37cf)("0x3a35")](o("0x3a2"))?{isMenuItem:i[o("0x3a35")](o("0x1c93")),fitRipple:!0,center:!0}:{isMenuItem:i[o("0x3a35")](o("0x1c93")),dimBackground:!0},r),e.attach(n,a,r)}}}n.$inject=[e("0x10a2")],t[e("0x39e9")](e("0x1b0c"))[e("0x3faf")](e("0x1195"),n)}(),function(){var e=a2_0x37cf;function n(e){return{attach:function(n,a,r){var i=a2_0x37cf;return e[i("0x226")](n,a,t[i("0x3448")]({center:!0,dimBackground:!1,fitRipple:!0},r))}}}n.$inject=[e("0x10a2")],t[e("0x39e9")]("material.core")[e("0x3faf")](e("0x44ac"),n)}(),function(){var e=a2_0x37cf;function n(e){return{attach:function(n,a,r){return e[a2_0x37cf("0x226")](n,a,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}}}n.$inject=[e("0x10a2")],t[e("0x39e9")](e("0x1b0c"))[e("0x3faf")](e("0x25ff"),n)}(),function(){var e=a2_0x37cf;a[e("0x4670")]=["$scope",e("0x4998"),e("0x3dfe"),"$window",e("0x38d4"),e("0xfb8"),"$mdColorUtil"],n.$inject=[e("0x1195"),e("0x44ac")],t[e("0x39e9")](e("0x1b0c"))[e("0x4b0")]("$mdInkRipple",(function(){var n=!1;return{disableInkRipple:function(){n=!0},$get:[e("0x1f10"),function(e){return{attach:function(r,i,o){var x=a2_0x37cf;return n||i[x("0x1194")](x("0x157f"))?t[x("0x49d1")]:e[x("0x4edc")](a,{$scope:r,$element:i,rippleOptions:o})}}}]}}))[e("0x1b75")](e("0x380b"),n)[e("0x1b75")](e("0x157f"),i)[e("0x1b75")]("mdNoBar",i).directive("mdNoStretch",i);function n(n,a){var r=e;return{controller:t[r("0x49d1")],link:function(e,t,i){var o=r;i[o("0x1bd4")]("mdInkRippleCheckbox")?a[o("0x226")](e,t):n[o("0x226")](e,t)}}}function a(n,a,r,i,o,x,s){var c=e;this[c("0xe11")]=i,this.$timeout=o,this.$mdUtil=x,this[c("0x23da")]=s,this[c("0x36af")]=n,this[c("0x4998")]=a,this[c("0x16d1")]=r,this.mousedown=!1,this.ripples=[],this.timeout=null,this[c("0x2f3d")]=null,x[c("0x5013")](this,c("0x110e"),this[c("0x3e10")]),this[c("0x4998")][c("0x31dc")](c("0x63f")),(a[c("0x1194")]("mdInkRipple")||{}).createRipple=t[c("0x2b0c")](this,this.createRipple),(a[c("0x1194")]("mdInkRipple")||{})[c("0x1160")]=t.bind(this,this[c("0xf2c")]),this.bindEvents()}function r(n,a){var r=e;(n[r("0x4a2b")]||n[r("0x2f3d")])&&(n.mousedown=!1,n.$mdUtil[r("0x4ee4")](t[r("0x2b0c")](n,a),!1))}function i(){return{controller:t.noop}}a[e("0x20f")][e("0xf2c")]=function(n){var a,r,i,o=e,x=this;return t[o("0x64a")](n)&&(x[o("0x109e")]=x[o("0x344e")](n)),x[o("0x109e")]||x[o("0x344e")](x[o("0xcd0")]())||x[o("0x344e")]((r=x[(a=o)("0x16d1")]&&x[a("0x16d1")][a("0x30a4")]?x[a("0x16d1")].colorElement:[],(i=r.length?r[0]:x[a("0x4998")][0])?x.$window[a("0x2b64")](i)[a("0xf2c")]:"rgb(0,0,0)"))},a[e("0x20f")][e("0x1c12")]=function(){return this[e("0xf2c")]()},a[e("0x20f")]._parseColor=function(t,n){var a=e;n=n||1;var r=this[a("0x23da")];if(t)return 0===t.indexOf(a("0x21da"))?t[a("0x3cc0")](/\d?\.?\d*\s*\)\s*$/,(.1*n)[a("0x3c88")]()+")"):0===t[a("0x3507")](a("0x12ef"))?r[a("0x29f9")](t):0===t[a("0x3507")]("#")?r[a("0x310")](t):void 0},a[e("0x20f")].bindEvents=function(){var n=e;this[n("0x4998")].on(n("0x4a2b"),t.bind(this,this[n("0xa18")])),this[n("0x4998")].on(n("0x33a6"),t[n("0x2b0c")](this,this.handleMouseup)),this[n("0x4998")].on(n("0x5c0"),t[n("0x2b0c")](this,this[n("0x1f22")])),this[n("0x4998")].on(n("0x4a1a"),t[n("0x2b0c")](this,this[n("0x8e9")]))},a[e("0x20f")][e("0xa18")]=function(t){var n=e;if(!this[n("0x4a2b")])if(t[n("0x1bd4")](n("0x2154"))&&(t=t.originalEvent),this[n("0x4a2b")]=!0,this[n("0x16d1")][n("0x2167")])this.createRipple(this[n("0x110e")][n("0x40ea")]("clientWidth")/2,this[n("0x110e")][n("0x40ea")]("clientWidth")/2);else if(t[n("0x3ee5")]!==this[n("0x4998")][0]){var a=this[n("0x4998")][0][n("0x1a8b")](),r=t[n("0x9f5")]-a[n("0x2885")],i=t[n("0x1c24")]-a[n("0x228a")];this.createRipple(r,i)}else this.createRipple(t[n("0x2a3c")],t.offsetY)},a.prototype[e("0x1f22")]=function(){var t=e;this[t("0x38d4")](function(){r(this,this[t("0x864")])}[t("0x2b0c")](this))},a.prototype[e("0x8e9")]=function(){r(this,this.deleteRipples)},a[e("0x20f")][e("0x11ea")]=function(){for(var t=e,n=0;n<this.ripples.length;n++)this[t("0x312a")][n].remove()},a.prototype[e("0x864")]=function(){for(var t=e,n=0;n<this.ripples[t("0x5e9")];n++)this[t("0x1b29")](this[t("0x312a")][n])},a[e("0x20f")].createContainer=function(){var n=e,a=t[n("0xb48")](n("0x1cdd"));return this[n("0x4998")][n("0x136a")](a),a},a[e("0x20f")][e("0x4fce")]=function(){var t=e;this[t("0x1612")]&&(this[t("0x38d4")].cancel(this.timeout),this[t("0x1612")]=null)},a.prototype[e("0x627")]=function(){var n=e,a=this[n("0x4998")][0];do{if(!a[n("0x4d74")]||a[n("0x4d74")]===n("0x1321"))break;if(a&&t[n("0x4977")](a[n("0x3a67")])){if(a[n("0x3a67")](n("0x1c54")))return!1;if("false"===this.inkRipple()||"0"===this[n("0xcd0")]())return!1}}while(a=a[n("0x368c")]);return!0},a[e("0x20f")].inkRipple=function(){var t=e;return this[t("0x4998")][t("0x417f")](t("0x63f"))},a[e("0x20f")].createRipple=function(n,a){var r=e;if(this[r("0x627")]()){var i,o,x,s,c=this,l=c[r("0x23da")],d=t[r("0xb48")](r("0x2fee")),u=this[r("0x4998")][r("0x40ea")]("clientWidth"),f=this[r("0x4998")][r("0x40ea")](r("0x2838")),m=2*Math[r("0x242b")](Math[r("0x681")](u-n),n),b=2*Math[r("0x242b")](Math[r("0x681")](f-a),a),_=(i=this[r("0x16d1")][r("0x24d")],o=m,x=b,s=r,i?Math[s("0x242b")](o,x):Math[s("0x17c")](Math.pow(o,2)+Math[s("0x3861")](x,2))),p=this[r("0x1c12")]();d[r("0x42b1")]({left:n+"px",top:a+"px",background:"black",width:_+"px",height:_+"px",backgroundColor:l[r("0x47a3")](p),borderColor:l[r("0x47a3")](p)}),this.lastRipple=d,this[r("0x4fce")](),this[r("0x1612")]=this[r("0x38d4")]((function(){var e=r;c[e("0x4fce")](),c.mousedown||c[e("0x1b29")](d)}),157.5,!1),this[r("0x16d1")][r("0x2083")]&&this.container[r("0x42b1")]({backgroundColor:p}),this[r("0x110e")][r("0x136a")](d),this[r("0x312a")][r("0x459a")](d),d.addClass(r("0x288")),this[r("0xfb8")][r("0x4ee4")]((function(){var e=r;d[e("0x31dc")](e("0x35fb")),c[e("0x38d4")]((function(){c.clearRipples()}),450,!1)}),!1)}},a[e("0x20f")].fadeInComplete=function(t){var n=e;this.lastRipple===t?!this[n("0x1612")]&&!this.mousedown&&this[n("0x314d")](t):this[n("0x314d")](t)},a[e("0x20f")][e("0x314d")]=function(t){var n=e,a=this;this.ripples[n("0x3507")](t)<0||(this[n("0x312a")][n("0x2bcf")](this[n("0x312a")].indexOf(t),1),t[n("0xa81")](n("0x4d37")),t[n("0x31dc")]("md-ripple-remove"),0===this.ripples.length&&this[n("0x110e")][n("0x42b1")]({backgroundColor:""}),this.$timeout((function(){a.fadeOutComplete(t)}),450,!1))},a[e("0x20f")].fadeOutComplete=function(e){e.remove(),this.lastRipple=null}}(),function(){var e=a2_0x37cf;function n(e){return{attach:function(n,a,r){return e[a2_0x37cf("0x226")](n,a,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}}}n.$inject=[e("0x10a2")],t[e("0x39e9")]("material.core")[e("0x3faf")](e("0x6c"),n)}(),E=a2_0x37cf,t.module("material.core.theming.palette",[])[E("0x4d94")]("$mdColorPalette",{red:{50:E("0x2fd5"),100:E("0x591"),200:E("0x3055"),300:"#e57373",400:E("0x2d3f"),500:E("0x167"),600:E("0x37f9"),700:E("0x324a"),800:E("0x3ff5"),900:"#b71c1c",A100:E("0x2fc7"),A200:E("0x1d42"),A400:E("0x39ee"),A700:"#d50000",contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x1888"),contrastStrongLightColors:E("0x29c3")},pink:{50:E("0x1092"),100:E("0x456e"),200:"#f48fb1",300:E("0x2361"),400:E("0xabc"),500:E("0x4c20"),600:E("0x33b1"),700:"#c2185b",800:"#ad1457",900:E("0x1abf"),A100:E("0xf3c"),A200:E("0x213f"),A400:"#f50057",A700:"#c51162",contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x15ea"),contrastStrongLightColors:"500 600 A200 A400 A700"},purple:{50:E("0x4544"),100:E("0xd6c"),200:E("0x888"),300:E("0x11f3"),400:E("0x1009"),500:"#9c27b0",600:E("0x3de4"),700:E("0x2f5d"),800:E("0x5bf"),900:E("0x4883"),A100:"#ea80fc",A200:E("0x1a36"),A400:E("0x4498"),A700:E("0xaa4"),contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x15ea"),contrastStrongLightColors:E("0x4499")},"deep-purple":{50:E("0x19b"),100:"#d1c4e9",200:"#b39ddb",300:E("0x2172"),400:"#7e57c2",500:E("0x29bb"),600:"#5e35b1",700:"#512da8",800:E("0x3e3b"),900:E("0x463c"),A100:"#b388ff",A200:E("0x49f1"),A400:E("0x3bf9"),A700:E("0x473c"),contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x15ea"),contrastStrongLightColors:E("0x4475")},indigo:{50:E("0x4895"),100:E("0x3c2b"),200:E("0xb7b"),300:E("0x582"),400:E("0x3c7b"),500:E("0x4277"),600:E("0x4ea6"),700:E("0x7e"),800:E("0xf80"),900:E("0x4107"),A100:E("0x31e9"),A200:"#536dfe",A400:E("0x3ce5"),A700:E("0x471f"),contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x15ea"),contrastStrongLightColors:E("0x4268")},blue:{50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:E("0x3d62"),400:E("0x40"),500:E("0xe64"),600:E("0x33d1"),700:E("0x594"),800:E("0x278"),900:E("0x4681"),A100:E("0x1fd8"),A200:E("0x3f64"),A400:E("0x4cb1"),A700:E("0x4fd9"),contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x2ee7"),contrastStrongLightColors:E("0x4c78")},"light-blue":{50:E("0x1652"),100:E("0x2bbf"),200:"#81d4fa",300:E("0x3a77"),400:E("0x619"),500:E("0x3350"),600:E("0xf5d"),700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:E("0x1fb2"),A700:E("0x4218"),contrastDefaultColor:E("0x153e"),contrastLightColors:E("0x2f01"),contrastStrongLightColors:E("0x1687")},cyan:{50:E("0x254f"),100:E("0x2119"),200:"#80deea",300:E("0x1c05"),400:E("0x1001"),500:E("0x296"),600:E("0x205a"),700:E("0xabf"),800:E("0x320d"),900:E("0x3044"),A100:"#84ffff",A200:E("0xe84"),A400:E("0x2cf8"),A700:E("0x429"),contrastDefaultColor:E("0x153e"),contrastLightColors:E("0xf89"),contrastStrongLightColors:"700 800 900"},teal:{50:E("0x1a25"),100:E("0x3ff"),200:E("0x359"),300:"#4db6ac",400:E("0x1d7f"),500:E("0xbd4"),600:"#00897b",700:E("0x21b5"),800:E("0x29cf"),900:E("0xca0"),A100:"#a7ffeb",A200:E("0x45dd"),A400:E("0xb91"),A700:"#00bfa5",contrastDefaultColor:E("0x153e"),contrastLightColors:E("0xa14"),contrastStrongLightColors:"500 600 700"},green:{50:"#e8f5e9",100:E("0x476d"),200:E("0x196e"),300:E("0x3d63"),400:E("0x2a46"),500:E("0x413b"),600:E("0xdfa"),700:E("0x3eeb"),800:"#2e7d32",900:"#1b5e20",A100:E("0x391d"),A200:E("0x2d78"),A400:E("0x94d"),A700:E("0x3e0b"),contrastDefaultColor:E("0x153e"),contrastLightColors:E("0xa14"),contrastStrongLightColors:E("0x3c6c")},"light-green":{50:"#f1f8e9",100:E("0x2406"),200:E("0x2d3b"),300:E("0x4528"),400:E("0x5004"),500:E("0x22ad"),600:E("0x3af6"),700:E("0x10e8"),800:E("0x1957"),900:E("0x22d8"),A100:E("0x2a7f"),A200:E("0x178b"),A400:E("0x4f01"),A700:E("0x3e98"),contrastDefaultColor:E("0x153e"),contrastLightColors:E("0xf89"),contrastStrongLightColors:"700 800 900"},lime:{50:E("0x3abd"),100:E("0x4e93"),200:E("0x353e"),300:E("0x1b8c"),400:E("0x3658"),500:E("0x1b9b"),600:"#c0ca33",700:"#afb42b",800:E("0x3ac5"),900:E("0x1f67"),A100:E("0xe86"),A200:E("0x1627"),A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:E("0x153e"),contrastLightColors:E("0x388f"),contrastStrongLightColors:"900"},yellow:{50:E("0x46e9"),100:E("0xa95"),200:"#fff59d",300:E("0x4237"),400:E("0x1345"),500:"#ffeb3b",600:E("0xa1f"),700:E("0xd2e"),800:"#f9a825",900:E("0xbe1"),A100:E("0x2f5e"),A200:E("0x33b0"),A400:"#ffea00",A700:E("0x2067"),contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:E("0xc97"),200:E("0x4a2"),300:E("0x2408"),400:E("0x42c0"),500:"#ffc107",600:"#ffb300",700:"#ffa000",800:E("0x4d09"),900:E("0x367f"),A100:E("0xeee"),A200:"#ffd740",A400:E("0x3109"),A700:"#ffab00",contrastDefaultColor:E("0x153e")},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:E("0x711"),400:E("0x2a79"),500:E("0xe98"),600:E("0x4874"),700:"#f57c00",800:E("0x1039"),900:E("0x4651"),A100:"#ffd180",A200:E("0xc92"),A400:E("0x3a12"),A700:E("0x4898"),contrastDefaultColor:E("0x153e"),contrastLightColors:E("0x3d11"),contrastStrongLightColors:"800 900"},"deep-orange":{50:"#fbe9e7",100:E("0x4b1f"),200:E("0x4844"),300:E("0x345b"),400:E("0x86c"),500:E("0x3c74"),600:"#f4511e",700:E("0x31c"),800:E("0x35f5"),900:"#bf360c",A100:E("0x1c0d"),A200:E("0x2d1e"),A400:"#ff3d00",A700:E("0x45fb"),contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0xf9a"),contrastStrongLightColors:E("0x459e")},brown:{50:E("0x3d07"),100:E("0x464b"),200:E("0x359b"),300:E("0xfb2"),400:E("0x3896"),500:E("0x4a56"),600:"#6d4c41",700:E("0x1e45"),800:E("0x369e"),900:"#3e2723",A100:E("0x464b"),A200:"#bcaaa4",A400:E("0x3896"),A700:E("0x1e45"),contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x4ec2"),contrastStrongLightColors:E("0x457e")},grey:{50:E("0x2e36"),100:E("0x2da5"),200:E("0x3c1d"),300:E("0x27df"),400:E("0xa3a"),500:E("0x1c20"),600:E("0x335e"),700:"#616161",800:E("0x9a8"),900:E("0x1992"),A100:E("0x2492"),A200:E("0x4791"),A400:E("0xff2"),A700:E("0x2d1"),contrastDefaultColor:E("0x153e"),contrastLightColors:E("0x3b1a")},"blue-grey":{50:E("0x1c82"),100:E("0x90d"),200:"#b0bec5",300:E("0x17cc"),400:E("0x4500"),500:E("0x273c"),600:E("0x1ce9"),700:E("0x4793"),800:E("0x209f"),900:E("0x1a9f"),A100:E("0x90d"),A200:E("0x2af0"),A400:E("0x4500"),A700:E("0x4793"),contrastDefaultColor:E("0x2d73"),contrastDarkColors:E("0x4c4e"),contrastStrongLightColors:E("0xff9")}}),function(e){var t=a2_0x37cf;function a(e){var n=t,a=!!document.querySelector("[md-themes-disabled]");e[n("0x30a1")](a)}a[t("0x4670")]=["$mdThemingProvider"],h.$inject=["$mdTheming",t("0x3a1e"),t("0x68c"),t("0xfb8"),"$q",t("0x1a4")],g[t("0x4670")]=[t("0x191b")],p.$inject=[t("0x2ad5"),t("0x2ae2")],E[t("0x4670")]=[t("0x1f10"),t("0x191b")],e[t("0x39e9")](t("0x2870"),[t("0x1031"),t("0x3848")]).directive(t("0x114f"),h)[t("0x1b75")](t("0x2739"),g)[t("0x1b75")]("mdThemesDisabled",(function(){return _.disableTheming=!0,{restrict:"A",priority:"900"}}))[t("0x4b0")](t("0x191b"),p)[t("0x1805")](a)[t("0x4c69")](E);var r,i={},o={name:t("0x153e"),1:t("0x308"),2:t("0x2d90"),3:t("0x4ae8"),4:t("0x84d")},x={name:"light",1:t("0x36d5"),2:t("0x292d"),3:t("0x3058"),4:"rgba(255,255,255,0.12)"},s="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",c=T(t("0x308")),l=T(t("0x3248")),d=T(t("0x2ee4")),u=[t("0x1c61"),t("0x2c3c"),"warn",t("0x1318")],f={accent:{default:t("0x333e"),"hue-1":t("0x41df"),"hue-2":t("0x15aa"),"hue-3":t("0x2e4")},background:{default:"50","hue-1":t("0x41df"),"hue-2":t("0x24dd"),"hue-3":t("0xf0c")}},m={background:{default:t("0x15aa"),"hue-1":"800","hue-2":t("0x388f"),"hue-3":t("0x333e")}};u[t("0x5ba")]((function(e){var n=t,a={default:n("0x7ad"),"hue-1":n("0xf0c"),"hue-2":"800","hue-3":n("0x41df")};f[e]||(f[e]=a),m[e]||(m[e]=a)}));var b=["50",t("0x24dd"),t("0x8c"),t("0xf0c"),t("0x46d0"),"500",t("0x4e22"),t("0x1b0b"),"800",t("0x388f"),t("0x41df"),t("0x333e"),"A400",t("0x2e4")],_={disableTheming:!1,generateOnDemand:!1,registeredStyles:[],nonce:null};function p(a,i){var c=t;C.$inject=["$rootScope","$mdUtil","$q",c("0x1a4")],r={};var l,d={},p=!1,h="default";e[c("0x3448")](r,a);var g=function(t){var n,a,o,x=c,s=(t=e[x("0x1f1a")](t)?t:{})[x("0x4228")]||x("0x3993"),l=t[x("0x2705")]||"800",u=r[t[x("0x4183")]]||r[d[s].colors[t[x("0x4183")]||x("0x1c61")][x("0x98c")]],f=e[x("0x1f1a")](u[l])?u[l][x("0x7d1")]:u[l];return"#"!==f[x("0x39fa")](0,1)&&(f="#"+f),n=f,a=i[c("0x1549")]("theme-color",n),o=i.setMeta("msapplication-navbutton-color",n),function(){a(),o()}};return l={definePalette:function(e,t){return t=t||{},r[e]=S(e,t),l},extendPalette:function(t,n){return S(t,e.extend({},r[t]||{},n))},theme:E,configuration:function(){var t=c;return e.extend({},_,{defaultTheme:h,alwaysWatchTheme:p,registeredStyles:[][t("0x3abc")](_.registeredStyles)})},disableTheming:function(t){_[c("0x30a1")]=e.isUndefined(t)||!!t},registerStyles:function(e){var t=c;_[t("0x367")][t("0x459a")](e)},setNonce:function(e){_[c("0x1d43")]=e},generateThemesOnDemand:function(e){_.generateOnDemand=e},setDefaultTheme:function(e){h=e},alwaysWatchTheme:function(e){p=e},enableBrowserColor:g,$get:C,_LIGHT_DEFAULT_HUES:f,_DARK_DEFAULT_HUES:m,_PALETTES:r,_THEMES:d,_parseRules:v,_rgba:y};function S(e,t){var n=c,a=b.filter((function(e){return!t[e]}));if(a[n("0x5e9")])throw new Error("Missing colors %1 in palette %2!".replace("%1",a[n("0xc60")](", "))[n("0x3cc0")]("%2",e));return t}function E(t,n){var a=c;if(d[t])return d[t];var r=typeof(n=n||a("0x3993"))===a("0x38b7")?d[n]:n,i=new T(t);return r&&e[a("0x5ba")](r[a("0x273f")],(function(t,n){var r=a;i[r("0x273f")][n]={name:t[r("0x98c")],hues:e[r("0x3448")]({},t[r("0x4861")])}})),d[t]=i,i}function T(t){var n=c,a=this;function r(t){var r=n;if((t=0===arguments[r("0x5e9")]||!!t)!==a[r("0x141f")]){a[r("0x141f")]=t,a[r("0xd81")]=a[r("0x141f")]?x:o,a.foregroundShadow=a[r("0x141f")]?s:"";var i=a.isDark?m:f,c=a.isDark?f:m;return e.forEach(i,(function(e,t){var n=r,i=a[n("0x273f")][t],o=c[t];if(i)for(var x in i.hues)i[n("0x4861")][x]===o[x]&&(i[n("0x4861")][x]=e[x])})),a}}a[n("0x98c")]=t,a[n("0x273f")]={},a[n("0x153e")]=r,r(!1),u[n("0x5ba")]((function(t){var r=n,i=(a.isDark?m:f)[t];a[t+r("0x43b0")]=function(n,o){var x=r,s=a[x("0x273f")][t]={name:n,hues:e[x("0x3448")]({},i,o)};return Object.keys(s[x("0x4861")])[x("0x5ba")]((function(e){var t=x;if(!i[e])throw new Error(t("0x365f")[t("0x3cc0")]("%1",e).replace("%2",a[t("0x98c")]).replace("%3",n)[t("0x3cc0")]("%4",Object[t("0xa35")](i).join(", ")))})),Object[x("0xa35")](s[x("0x4861")])[x("0x19e8")]((function(e){return s.hues[e]}))[x("0x5ba")]((function(e){var r=x;if(-1==b[r("0x3507")](e))throw new Error(r("0x666")[r("0x3cc0")]("%1",e)[r("0x3cc0")]("%2",a[r("0x98c")]).replace("%3",t).replace("%4",n)[r("0x3cc0")]("%5",b[r("0xc60")](", ")))})),a},a[t+r("0xa10")]=function(){var e=r,n=Array[e("0x20f")].slice.call(arguments);return console.warn(e("0x835")+t+e("0xb12")+"Use $mdThemingProviderTheme."+t+e("0x48de")),a[t+e("0x43b0")].apply(a,n)}}))}function C(t,a,i,o){var x=c,s=function(e,a){a===n&&(a=e,e=n),e===n&&(e=t),s[a2_0x37cf("0xbe2")](a,a)};return Object[x("0x47ad")](s,x("0x3797"),{get:function(){return e.extend({},d)}}),Object.defineProperty(s,"PALETTES",{get:function(){return e.extend({},r)}}),Object[x("0x47ad")](s,x("0x48b"),{get:function(){return p}}),s.inherit=function(e,t){var r=x,i=t.controller(r("0x114f"))||e[r("0x237c")](r("0x3f2d")),s=e.scope();if(f(i&&i.$mdTheme||("default"===h?"":h)),i){var c=p||i.$shouldWatch||a[r("0x41a5")](e[r("0x417f")](r("0x11f4")));if(c||i[r("0x7e4")]){var d=function(){u&&(u(),u=n)},u=i[r("0x4ea1")]((function(e){f(e),!c&&d()}));s?s[r("0x24c9")](r("0x4c91"),d):e.on("$destroy",d)}}function f(t){var n=r;if(t){!l(t)&&o[n("0x1dc6")](n("0xdee")+t+n("0x4d4a")+n("0x1ab3"));var a=e[n("0x237c")](n("0x33fd"));a&&e[n("0xa81")]("md-"+a+n("0x13b6")),e[n("0x31dc")](n("0xe78")+t+n("0x13b6")),e[n("0x237c")](n("0x33fd"),t),i&&e[n("0x237c")]("$mdThemeController",i)}}},s[x("0x4c6d")]=l,s[x("0x3640")]=function(){return h},s[x("0x3814")]=function(e){A(d[e],e,_.nonce)},s[x("0x356e")]=function(e,t){var n=x;t=t||{};var a=E(e);return t.primary&&a[n("0x4398")](t[n("0x1c61")],t[n("0x204e")]),t[n("0x2c3c")]&&a[n("0x31cf")](t[n("0x2c3c")],t[n("0x131f")]),t[n("0x1dc6")]&&a[n("0x3c8c")](t[n("0x1dc6")],t[n("0xe90")]),t[n("0x1318")]&&a[n("0x6dc")](t[n("0x1318")],t[n("0x2d04")]),t.dark&&a[n("0x153e")](),this[n("0x3814")](e),i[n("0x407b")](e)},s.setBrowserColor=g,s;function l(e){return e===n||""===e||s.THEMES[e]!==n}}}function h(t,n,a,r,i,o){return{priority:101,link:{pre:function(x,s,c){var l=a2_0x37cf,d=[],u=n.startSymbol(),f=n[l("0x2aef")](),m=c[l("0x114f")].trim(),b=m.substr(0,u[l("0x5e9")])===u&&m[l("0x4e")](f)===m[l("0x5e9")]-f[l("0x5e9")],_="::"===c.mdTheme.split(u).join("").split(f).join("").trim().substr(0,"::"[l("0x5e9")]),p=function(){var e=n(c[l("0x114f")])(x);return a(e)(x)||e},h={isAsyncTheme:e[l("0x4977")](p())||e[l("0x4977")](p().then),registerChanges:function(t,n){var a=l;return n&&(t=e[a("0x2b0c")](n,t)),d[a("0x459a")](t),function(){var e=a,n=d[e("0x3507")](t);n>-1&&d[e("0x2bcf")](n,1)}},$setTheme:function(e){var n=l;!t[n("0x4c6d")](e)&&o[n("0x1dc6")]("attempted to use unregistered theme '"+e+"'"),h[n("0x3d78")]=e;for(var a=d[n("0x5e9")];a--;)d[a](e)},$shouldWatch:r[l("0x41a5")](s[l("0x417f")](l("0x11f4")))||t.ALWAYS_WATCH||b&&!_};s[l("0x237c")](l("0x3f2d"),h);var g=function(t){var n=l;if(typeof t===n("0x38b7"))return h.$setTheme(t);i[n("0x2c66")](e.isFunction(t)?t():t)[n("0x34e8")]((function(e){h[n("0x13d6")](e)}))};g(p());var v=x.$watch(p,(function(e){var t=l;e&&(g(e),!h[t("0x32f4")]&&v())}))}}}}function g(e){return e}function v(n,a,i){var o=t;(function(e,n){var a=t;if(!r[(e[a("0x273f")][n]||{})[a("0x98c")]])throw new Error(a("0x502")[a("0x3cc0")]("%1",e.name)[a("0x3cc0")]("%2",n)[a("0x3cc0")]("%3",Object[a("0xa35")](r).join(", ")))})(n,a),i=i[o("0x3cc0")](/THEME_NAME/g,n[o("0x98c")]);var x=new RegExp(o("0x3da4")+n.name+o("0x13b6"),"g");i=i[o("0x3cc0")](/'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue-[0-3]|shadow|default)-?(\d\.?\d*)?(contrast)?\s*\}\}'?"?/g,(function(e,t,a,i,x){var s=o;return t===s("0x33c5")?a==s("0x20bf")?n[s("0x1fd3")]:n[s("0xd81")][a]||n.foregroundPalette[1]:((0===a[s("0x3507")](s("0x2705"))||a===s("0x3993"))&&(a=n.colors[t][s("0x4861")][a]),y((r[n.colors[t][s("0x98c")]][a]||"")[s(x?"0x18ed":"0x3a33")],i))}));var s=new RegExp(o("0x745"),"g"),c=[];return e.forEach([o("0x3993"),o("0x48d8"),o("0xa31"),"hue-3"],(function(e){var t=o,a=i[t("0x3cc0")](s,(function(a,i,o,x,s){var c=t,l=n[c("0x273f")][o];return y(r[l[c("0x98c")]][l[c("0x4861")][e]][x===c("0xf2c")?c("0x3a33"):c("0x18ed")],s)}));"default"!==e&&(a=a[t("0x3cc0")](x,t("0x5a0")+n[t("0x98c")]+"-theme.md-"+e)),"default"==n[t("0x98c")]&&(a=a[t("0x3cc0")](/((?:\s|>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)*)\.md-default-theme((?:\s|>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)*)/g,(function(e,t,n){return e+", "+t+n}))),c[t("0x459a")](a)})),c}var S={};function E(n,a){var o=t,x=document[o("0x1d45")],s=x?x[o("0x1234")]:null,f=!_.disableTheming&&n.has(o("0x41bc"))?n[o("0x1cf")]("$MD_THEME_CSS"):"";if(f+=_[o("0x367")].join(""),s&&0!==f[o("0x5e9")]){e[o("0x5ba")](r,(function(t,n){var a=o,r=t[a("0x3fa9")],i=t[a("0x3df7")]||[],x=t[a("0x2858")]||[],s=t[a("0x3161")]||[];typeof i===a("0x38b7")&&(i=i[a("0x9e5")](" ")),typeof x===a("0x38b7")&&(x=x.split(" ")),typeof s===a("0x38b7")&&(s=s[a("0x9e5")](" ")),delete t[a("0x3fa9")],delete t.contrastLightColors,delete t[a("0x2858")],delete t.contrastDarkColors,e[a("0x5ba")](t,(function(n,o){var u=a;if(!e[u("0x1f1a")](n)){var f,m=T(n);if(!m)throw new Error(u("0x2fb6")[u("0x3cc0")]("%1",n)[u("0x3cc0")]("%2",t[u("0x98c")])[u("0x3cc0")]("%3",o));t[o]={hex:t[o],value:m,contrast:(f=u,r===f("0x2d73")?s[f("0x3507")](o)>-1?c:x[f("0x3507")](o)>-1?d:l:i[f("0x3507")](o)>-1?x[f("0x3507")](o)>-1?d:l:c)}}}))}));var m=f[o("0x9e5")](/\}(?!(\}|'|"|;))/).filter((function(e){var t=o;return e&&e[t("0x2dc4")]()[t("0x5e9")]})).map((function(e){return e[o("0x2dc4")]()+"}"}));u[o("0x5ba")]((function(e){S[e]=""})),m[o("0x5ba")]((function(e){for(var t,n=o,a=0;t=u[a];a++)if(e[n("0x3507")](n("0x5a0")+t)>-1)return S[t]+=e;for(a=0;t=u[a];a++)if(e.indexOf(t)>-1)return S[t]+=e;return S.primary+=e})),_.generateOnDemand||e[o("0x5ba")](a[o("0x3797")],(function(e){var t=o;!i[e.name]&&("default"===a[t("0x3640")]()||e[t("0x98c")]!==t("0x3993"))&&A(e,e[t("0x98c")],_[t("0x1d43")])}))}}function A(e,n,a){var r=t,o=document[r("0x1d45")],x=o?o[r("0x1234")]:null;!i[n]&&(u[r("0x5ba")]((function(t){for(var n=r,i=v(e,t,S[t]);i[n("0x5e9")];){var s=i[n("0x4534")]();if(s){var c=document[n("0x4202")](n("0x4025"));c[n("0x4480")]("md-theme-style",""),a&&c[n("0x4480")](n("0x1d43"),a),c.appendChild(document.createTextNode(s)),o[n("0x1437")](c,x)}}})),i[e.name]=!0)}function T(n){var a=t;if(e[a("0x498f")](n)&&3==n[a("0x5e9")])return n;if(/^rgb/[a("0x3ff3")](n))return n[a("0x3cc0")](/(^\s*rgba?\(|\)\s*$)/g,"")[a("0x9e5")](",")[a("0x19e8")]((function(e,t){return 3==t?parseFloat(e,10):parseInt(e,10)}));if("#"==n[a("0x24de")](0)&&(n=n[a("0x35e7")](1)),/^([a-fA-F0-9]{3}){1,2}$/g[a("0x3ff3")](n)){var r=n.length/3,i=n.substr(0,r),o=n[a("0x39fa")](r,r),x=n[a("0x39fa")](2*r);return 1===r&&(i+=i,o+=o,x+=x),[parseInt(i,16),parseInt(o,16),parseInt(x,16)]}}function y(n,a){var r=t;return n?(4==n[r("0x5e9")]&&(n=e.copy(n),a?n[r("0x4acd")]():a=n.pop()),a&&(typeof a==r("0x2231")||typeof a==r("0x38b7")&&a.length)?r("0x4db3")+n[r("0xc60")](",")+","+a+")":"rgb("+n[r("0xc60")](",")+")"):"rgb('0,0,0')"}}(e[a2_0x37cf("0x40e2")]),t[(S=a2_0x37cf)("0x39e9")](S("0x11c"),[S("0x1b0c"),S("0x3134"),S("0x7a8")]),function(){var e=a2_0x37cf;i.$inject=[e("0x36af"),e("0x4998"),e("0xfb8"),e("0x4572"),e("0x191b"),e("0xe11"),e("0xc00"),e("0x47e6"),e("0x428f"),"$q",e("0x1a4"),e("0x477a")],t[e("0x39e9")](e("0x11c"))[e("0x1194")]("MdAutocompleteCtrl",i);var a=e("0x3a68"),r=e("0x2162");function i(i,o,x,s,c,l,d,u,f,m,b,_){var p,h,g,v=e,S=this,E=i[v("0x2a5c")][v("0x9e5")](/ in /i),A=E[1],T=null,y={},C=!1,w=[],M=!1,R=0,D=null,I=null,N=x[v("0x1f89")]((function(){!S[v("0xd4f")]&&Y()})),O=r;S[v("0x4c17")]=t.element(document.documentElement),p=v("0xd4f"),h=function(e,n){var a,r,i,o,s=v;T&&(a=t[s("0xb48")](T[s("0x36ac")])),!e&&n?(Y(),de(!0,F[s("0x23a9")]|F[s("0x17c0")]),T&&(x.disableScrollAround(T[s("0x36ac")]),r=T[s("0x2fcb")],(o=t[(i=v)("0xb48")](r)).on(i("0x2e98"),$),D=function(){var e=i;o[e("0x30f8")](e("0x2e98"),$)},x[s("0x4245")]&&(S[s("0x4c17")].on("touchend",V),a&&a.on("touchstart touchmove touchend",j)),S[s("0x2d50")]=Z(),x.nextTick((function(){H(),ue()})))):e&&!n&&(x[s("0x4245")]&&(S[s("0x4c17")][s("0x30f8")]("touchend",V),a&&a[s("0x30f8")](s("0x14a2"),j)),x[s("0x1fbc")](),D&&(D(),D=null))},g=!0,Object[v("0x47ad")](S,p,{get:function(){return g},set:function(e){var t=g;g=e,h(e,t)}}),S.scope=i,S[v("0x731")]=i.$parent,S[v("0x3f0")]=E[0],S.matches=[],S[v("0x1379")]=!1,S[v("0xd4f")]=!0,S[v("0x2d50")]=-1,S[v("0x4feb")]=null,S.id=x[v("0x2feb")](),S[v("0xf9e")]=null,S.isRequired=null,S[v("0x1233")]=null,S[v("0x4c1b")]=!1,S[v("0x358f")]=i.selectedMessage||v("0x2f89"),S[v("0x468d")]=function(e){var t=v;switch(e[t("0x4ff2")]){case s.KEY_CODE[t("0xedf")]:if(S[t("0x1379")]||ie())return;e[t("0x4c98")](),e[t("0xe50")](),S.index=S[t("0x2d50")]+1>S[t("0x3c01")][t("0x5e9")]-1?0:Math[t("0x11db")](S[t("0x2d50")]+1,S[t("0x3c01")][t("0x5e9")]-1),x[t("0x4ee4")](H),ue();break;case s[t("0x4c0f")].UP_ARROW:if(S[t("0x1379")]||ie())return;e.stopPropagation(),e[t("0xe50")](),S[t("0x2d50")]=S.index-1<0?S[t("0x3c01")][t("0x5e9")]-1:Math[t("0x242b")](0,S[t("0x2d50")]-1),x.nextTick(H),ue();break;case s[t("0x4c0f")][t("0x27a4")]:if(W(),S.hidden||S[t("0x1379")]||S[t("0x2d50")]<0||S[t("0x3c01")][t("0x5e9")]<1)return;se(S[t("0x2d50")]);break;case s[t("0x4c0f")].ENTER:if(S.hidden||S.loading||S[t("0x2d50")]<0||S[t("0x3c01")][t("0x5e9")]<1)return;if(ie())return;e[t("0x360b")](),e[t("0xe50")](),se(S[t("0x2d50")]);break;case s[t("0x4c0f")][t("0x7eb")]:if(e[t("0xe50")](),!(ae((n=v)("0x4a1"))||!S.hidden||S[n("0x1379")]||ae(n("0x2066"))&&i[n("0x4553")]))return;e[t("0x4c98")](),ce(),i.searchText&&ae(t("0x2066"))&&le(),S[t("0xd4f")]=!0,ae(t("0x4a1"))&&Q(!0)}var n},S[v("0x4a1")]=function(e){var t=v;M=!1,!C&&(S[t("0xd4f")]=te(),pe(t("0x2b8f"),{$event:e}))},S[v("0x2beb")]=function(e){var t=v;M=!0,ne()&&xe()&&be(),S[t("0xd4f")]=te(),pe("ngFocus",{$event:e})},S.clear=function(e){e&&e.stopPropagation(),ce(),le()},S[v("0x2d7b")]=se,S[v("0x3352")]=function(){C=!0},S[v("0x383f")]=W,S[v("0x398b")]=G,S[v("0x478")]=oe,S[v("0x203e")]=function(e){var t=v;-1===w[t("0x3507")](e)&&w[t("0x459a")](e)},S[v("0x2ed9")]=function(e){var t=v,n=w[t("0x3507")](e);-1!==n&&w[t("0x2bcf")](n,1)},S[v("0x40d5")]=me,S[v("0x240e")]=function(){return S.loading&&!ie()},S.positionDropdown=Y;var k,P,L,F={Count:1,Selected:2};return x[(k=v)("0x35da")](i,f,{searchText:"",selectedItem:null,clearButton:!1,disableVirtualRepeat:!1}),c(o),P=v,L=parseInt(i[P("0x381")],10)||0,f[P("0xf52")](P("0x1c54"),(function(e){var t=P;S.isDisabled=x[t("0x41a5")](e,!1)})),f[P("0xf52")](P("0x4c36"),(function(e){var t=P;S.isRequired=x[t("0x41a5")](e,!1)})),f[P("0xf52")](P("0x3330"),(function(e){var t=P;S[t("0x1233")]=x[t("0x41a5")](e,!1)})),i[P("0x7a")]("searchText",L?x[P("0x1f89")](z,L):z),i[P("0x7a")](P("0x430d"),q),t.element(l).on(P("0x39d4"),N),i.$on(P("0x4c91"),U),void x[k("0x4ee4")]((function(){var e,n,x,s=k;e=v,n=function(){var e,n,a=v;for(e=o;e.length&&(n=e[a("0x417f")](a("0x443a")),!t[a("0x64a")](n));e=e.parent());if(e[a("0x5e9")])return{snap:e[0],wrap:n[a("0x2eb9")]()===a("0xbbf")?e[0]:o[a("0x372f")]("md-autocomplete-wrap")[0]};var r=o[a("0x372f")](a("0x126d"))[0];return{snap:r,wrap:r}}(),(T={main:o[0],scrollContainer:o[0][e("0x31f7")](e("0x250e")),scroller:o[0][e("0x31f7")](e("0x3f0f")),ul:o[e("0x372f")]("ul")[0],input:o[e("0x372f")](e("0x3f87"))[0],wrap:n[e("0x2fcb")],snap:n.snap,root:document[e("0x3b3e")]}).li=T.ul[e("0x3684")]("li"),T.$=function(e){var n=v,a={};for(var r in e)e[n("0x1bd4")](r)&&(a[r]=t[n("0xb48")](e[r]));return a}(T),O=T[e("0x36ac")].classList[e("0x2a10")](e("0x324b"))?a:r,I=T.$[e("0x3f87")][e("0x1194")]("ngModel"),x=v,T.$[x("0x4e56")].length&&(c(T.$[x("0x36ac")]),T.$[x("0x36ac")][x("0x166")](),T.$[x("0x4e56")].append(T.$.scrollContainer),d[x("0x3eb")]&&d[x("0x3eb")](T.$[x("0x36ac")],u)),o.on(s("0x2198"),G),i[s("0x637")]&&o.on(s("0x2beb"),G),i[s("0x3ed8")]&&T[s("0x3f87")].setAttribute(s("0x3867"),i.inputAriaDescribedBy),i[s("0x3955")]||(i.inputAriaLabel?T[s("0x3f87")][s("0x4480")](s("0x194a"),i[s("0xd96")]):i[s("0x3618")]?T[s("0x3f87")].setAttribute(s("0x1d71"),i[s("0x3618")]):i[s("0x21e2")]&&T[s("0x3f87")][s("0x4480")](s("0x194a"),i[s("0x21e2")]))}));function B(){var e=v;i[e("0x31d2")]&&I&&I[e("0x234f")](e("0x3189"),!!i[e("0x430d")]||!i[e("0x4553")])}function Y(){var e=v;if(!T)return x.nextTick(Y,!1,i);var t,n,a=48*(i[e("0x44b7")]||5),r=T[e("0x2fcb")][e("0x1a8b")](),s=T[e("0x35b5")][e("0x1a8b")](),c=T.root.getBoundingClientRect(),l=s[e("0x47d9")]-c[e("0x228a")],d=c[e("0x47d9")]-s.top,u=r[e("0x2885")]-c[e("0x2885")],m=r.width,b=function(){var t=e,n=0,a=o[t("0x372f")](t("0x1efc"));if(a[t("0x5e9")]){var r=a[t("0x372f")](t("0x3f87"));n=a[t("0x40ea")]("offsetHeight"),n-=r[t("0x40ea")](t("0x2ac6")),n-=r[t("0x40ea")](t("0x2b02")),n+=a[t("0x40ea")](t("0x2ac6"))}return n}(),_=i[e("0x1766")],p=c[e("0x47d9")]-s[e("0x47d9")]-8+x[e("0x3287")](),h=s[e("0x228a")]-8;_||(n=h>a,_=p>a?e("0x47d9"):n?e("0x228a"):h>p?"top":e("0x47d9")),f.mdFloatingLabel&&(u+=2,m-=4),t={left:u+"px",minWidth:m+"px",maxWidth:Math[e("0x242b")](r[e("0x30eb")]-c[e("0x2885")],c[e("0x30eb")]-r[e("0x2885")])-8+"px"},_===e("0x228a")?(t[e("0x228a")]="auto",t[e("0x47d9")]=d+"px",t[e("0x4fd8")]=Math[e("0x11db")](a,h)+"px"):(p=c.bottom-r[e("0x47d9")]-8+x.getViewportTop(),t[e("0x228a")]=l-b+"px",t[e("0x47d9")]="auto",t[e("0x4fd8")]=Math[e("0x11db")](a,p)+"px"),T.$[e("0x36ac")][e("0x42b1")](t),x[e("0x4ee4")]((function(){var t=e,n=T.scrollContainer[t("0x1a8b")](),a={};n.right>c[t("0x30eb")]&&(a[t("0x2885")]=r[t("0x30eb")]-n[t("0xbbf")]+"px"),T.$.scrollContainer[t("0x42b1")](a)}),!1,i)}function G(){var e=v;T[e("0x3f87")][e("0x2beb")]()}function H(){var e=v,t=T.scroller[e("0x31f7")](".selected");S[e("0x4feb")]=t?t.id:null}function U(){var e=v;if(!S[e("0xd4f")]&&x[e("0x1fbc")](),t.element(l)[e("0x30f8")](e("0x39d4"),N),T){var n=["ul",e("0x1090"),e("0x36ac"),"input"];t[e("0x5ba")](n,(function(t){var n=e;T.$[t][n("0xf82")]()}))}}function $(e){e[v("0xe50")]()}function j(e){e[v("0x4c98")]()}function V(e){S[v("0xd4f")]=!0,Q(!0)}function W(){M||S.hidden||T.input.focus(),C=!1,S.hidden=te()}function q(e,n){var a,r=v;B(),e?X(e).then((function(t){var a,r;i[a2_0x37cf("0x4553")]=t,a=e,r=n,w[v("0x5ba")]((function(e){e(a,r)}))})):n&&i[r("0x4553")]&&X(n)[r("0x34e8")]((function(e){var n=r;t[n("0x1236")](i[n("0x4553")])&&e.toString()[n("0x2eb9")]()===i[n("0x4553")].toLowerCase()&&(i.searchText="")})),e!==n&&(t[(a=v)("0x4977")](i.itemChange)&&i.itemChange(J(i[a("0x430d")])))}function z(e,n){var a=v;S.index=Z(),e!==n&&(B(),X(i[a("0x430d")])[a("0x34e8")]((function(r){var o=a;e!==r&&(i.selectedItem=null,e!==n&&(t.isFunction(i.textChange)&&i.textChange()),xe()?be():(S[o("0x3c01")]=[],ee(!1),de(!0,F[o("0x23a9")])))})))}function Q(e){var t=v;e&&(C=!1,M=!1),T[t("0x3f87")][t("0x4a1")]()}function K(){var e=v;return t[e("0x1ba0")](i[e("0x9df")])?i[e("0x9df")]:1}function X(e){var n,a,r=v;return m[r("0x2c66")]((n=e,a=r,(n&&i.itemText?i[a("0x2db9")](J(n)):null)||e))[r("0x34e8")]((function(e){var n=r;return e&&!t.isString(e)&&b[n("0x1dc6")]("md-autocomplete: Could not resolve display value to a string. "+n("0xc2f")),e}))}function J(e){var t=v;if(!e)return n;var a={};return S[t("0x3f0")]&&(a[S[t("0x3f0")]]=e),a}function Z(){return i[v("0x46a7")]?0:-1}function ee(e){var t=v;S[t("0x1379")]!==e&&(S[t("0x1379")]=e),S.hidden=te()}function te(){return!function(){if(S[v("0x1233")])return!1;if(!ne())return!1;return xe()&&re()||me()}()}function ne(){return!(S[v("0x1379")]&&!re())&&(!ie()&&!!M)}function ae(e){var t=v;return!i[t("0x2d72")]||-1!==i[t("0x2d72")][t("0x2eb9")]().indexOf(e)}function re(){var e=v;return!!S[e("0x3c01")][e("0x5e9")]}function ie(){var e=v;return!!S.scope[e("0x430d")]}function oe(){var e=v;return X(S[e("0x3c01")][S[e("0x2d50")]])}function xe(){var e=v;return(i[e("0x4553")]||"")[e("0x5e9")]>=K()}function se(e){var t=v;x[t("0x4ee4")]((function(){var n=t;X(S.matches[e])[n("0x34e8")]((function(e){var t=n,a=T.$[t("0x3f87")][t("0x1194")](t("0x12bc"));_.announce(e+" "+S[t("0x358f")],t("0x1b")),a.$setViewValue(e),a[t("0x4dbb")]()})).finally((function(){var t=n;i[t("0x430d")]=S[t("0x3c01")][e],ee(!1)}))}),!1)}function ce(){var e=v;S[e("0x2d50")]=-1,x[e("0x4ee4")](H),S[e("0x3c01")]=[]}function le(){var e=v;ee(!0),i[e("0x4553")]="";var t=document[e("0xdcb")](e("0x4cd7"));t[e("0xb56")](e("0x18dd"),!0,!0,{value:""}),T.input[e("0x4afc")](t),T[e("0x3f87")].blur(),i[e("0x4553")]="",T[e("0x3f87")][e("0x2beb")]()}function de(e,t){var n=v,a=n(e?"0x47b":"0x1b"),r=[];t&F[n("0x17c0")]&&-1!==S.index&&r[n("0x459a")](oe()),t&F[n("0x23a9")]&&r[n("0x459a")](m[n("0x407b")](function(){var e=v;switch(S[e("0x3c01")][e("0x5e9")]){case 0:return e("0x1249");case 1:return e("0x3cff");default:return e("0x2328")+S[e("0x3c01")][e("0x5e9")]+e("0x4d62")}}())),m[n("0x3217")](r)[n("0x34e8")]((function(e){var t=n;_.announce(e[t("0xc60")](" "),a)}))}function ue(){var e,t,n,r,i,o,x,s,c,l,d,u;T.li[0]&&(O===a?(x=v,s=T.li[Math[x("0x242b")](0,S[x("0x2d50")])],c=T[x("0x36ac")].offsetHeight,l=s&&s[x("0x2ac6")]||0,d=l+s[x("0x2838")],u=T[x("0x36ac")][x("0x1423")],l<u?fe(l):d>u+c&&fe(d-c)):(e=v,t=T.li[0].offsetHeight,n=t*Math[e("0x242b")](0,S.index),r=n+t,i=T[e("0x1090")][e("0x2838")],o=T[e("0x1090")][e("0x1423")],n<o?fe(n):r>o+i&&fe(r-i)))}function fe(e){var t=v;O===a?T[t("0x36ac")][t("0x1423")]=e:T.$[t("0x36ac")][t("0x1194")]("mdVirtualRepeatContainer")[t("0x1359")](e)}function me(){var e=v,t=(S[e("0xd20")][e("0x4553")]||"")[e("0x5e9")];return S[e("0x4c1b")]&&!re()&&(!S[e("0x1379")]||0!==R)&&t>=K()&&(M||C)&&!ie()}function be(){var e=v,n=i[e("0x4553")]||"",a=n[e("0x2eb9")]();!i.noCache&&y[a]?_e(y[a]):function(e){var n=v,a=i[n("0x20cb")][n("0xe2b")](A),r=e[n("0x2eb9")](),o=t[n("0x498f")](a),s=!!a.then;function c(t){var a=n;y[r]=t,(e||"")===(i[a("0x4553")]||"")&&_e(t)}o?c(a):s&&(l=a,d=n,l&&(l=m[d("0x2c66")](l),R++,ee(!0),x.nextTick((function(){l[d("0x34e8")](c).finally((function(){0==--R&&ee(!1)}))}),!0,i)));var l,d}(n),S[e("0xd4f")]=te()}function _e(e){var t,n,a,r,o=v;S[o("0x3c01")]=e,S[o("0xd4f")]=te(),S.loading&&ee(!1),i[o("0x92d")]&&(n=i[(t=v)("0x4553")],a=S[t("0x3c01")],r=a[0],1===a[t("0x5e9")]&&X(r)[t("0x34e8")]((function(e){var a=t,r=n===e;i.matchInsensitive&&!r&&(r=n[a("0x2eb9")]()===e[a("0x2eb9")]()),r&&se(0)}))),Y(),de(!0,F[o("0x23a9")])}function pe(e,t){var n=v;f[e]&&i[n("0x20cb")][n("0xe2b")](f[e],t||{})}}}(),function(){var e=a2_0x37cf;function n(n){var a=e,r=a("0x2162"),i=["standard",r];function o(e){var t=a;return e?(e=e[t("0x2eb9")](),i[t("0x3507")](e)>-1?e:r):r}return{controller:"MdAutocompleteCtrl",controllerAs:a("0xc8b"),scope:{inputName:a("0x26d8"),inputMinlength:a("0x2991"),inputMaxlength:"@mdInputMaxlength",searchText:"=?mdSearchText",selectedItem:a("0x29fc"),itemsExpr:"@mdItems",itemText:"&mdItemText",placeholder:a("0x186b"),inputAriaDescribedBy:a("0x4764"),inputAriaLabelledBy:a("0xf4a"),inputAriaLabel:a("0x41d5"),noCache:"=?mdNoCache",requireMatch:a("0x2aa0"),selectOnMatch:a("0x34ff"),matchInsensitive:"=?mdMatchCaseInsensitive",itemChange:a("0x302d"),textChange:a("0x4fbd"),minLength:a("0x4924"),delay:"=?mdDelay",autofocus:a("0x1b63"),floatingLabel:a("0x3318"),autoselect:a("0x4199"),menuClass:a("0x3ec2"),menuContainerClass:a("0x4ef9"),inputClass:a("0x4e0f"),inputId:a("0x3093"),escapeOptions:a("0x39d6"),dropdownItems:a("0x3362"),dropdownPosition:a("0x2d20"),clearButton:"=?mdClearButton",selectedMessage:"@?mdSelectedMessage",mdMode:a("0x421d")},compile:function(e,n){var r=a,i=[r("0x17d4"),r("0x4dbc"),r("0x4f10"),r("0x1539")],x=e[r("0x372f")]("input");return i[r("0x5ba")]((function(e){var t=r,a=n[n[t("0x3256")](e)];null!==a&&x[t("0x417f")](e,a)})),function(e,n,a,i){var x=r;i[x("0x4c1b")]=!!n[x("0x417f")](x("0x49bd")),!t[x("0x64a")](a[x("0x44f3")])&&!e[x("0x3955")]&&(e[x("0x18d8")]=!0),e[x("0x11ec")]=o(a[x("0x11ec")]),n.on(x("0x3d98"),(function(e){e[x("0x4c98")]()}))}},template:function(e,t){var i,x,s,c,l,d,u,f,m,b,_,p,h=a,g=(x=e[(i=h)("0x372f")](i("0x35d6")).detach(),(s=x[i("0x5e9")]?x.html():"")?'<li ng-if="$mdAutocompleteCtrl.notFoundVisible()" class="md-autocomplete-suggestion"                         md-autocomplete-parent-scope>'+s+i("0x29a8"):""),v=function(){var t=h,n=e[t("0x372f")](t("0x41d2")).detach(),a=n[t("0x5e9")]?n.html():e[t("0x1059")]();n[t("0x5e9")]||e[t("0x21c")]();return"<md-autocomplete-parent-scope md-autocomplete-replace>"+a+t("0x3d5e")}(),S=e[h("0x1059")](),E=t[h("0x562")];return g&&e[h("0x417f")](h("0x49bd"),!0),e.attr(h("0x562"),"-1"),"        <md-autocomplete-wrap            ng-class=\"{ 'md-whiteframe-z1': !floatingLabel,                         'md-menu-showing': !$mdAutocompleteCtrl.hidden,                         'md-show-clear-button': !!clearButton }\">          "+(p=h,t.mdFloatingLabel?'            <md-input-container ng-if="floatingLabel">              <label>{{floatingLabel}}</label>              <input type="text"                '+(null!=E?p("0xba1")+E+'"':"")+p("0x4aac")+S+p("0x4518"):p("0x3e2")+(null!=E?p("0xba1")+E+'"':"")+p("0xbb2"))+h("0x3e60")+((_=h)("0x64c")+'type="button" '+_("0x3e4a")+'tabindex="0" '+_("0xdb2")+_("0x2456")+'<md-icon md-svg-src="'+n.mdClose+_("0x1c0b")+_("0xfdc"))+h("0x3fb5")+(t[h("0x18f0")]?"md-inline":"")+h("0x2d5a")+(f=t.mdMenuContainerClass,m=t[h("0x11ec")],b=h,f=f?" "+f:"",(A(m)?b("0x3b98")+f+b("0x225e"):b("0x58b")+f+b("0x3849"))+'            <ul class="md-autocomplete-suggestions"                ng-class="::menuClass"                id="ul-{{$mdAutocompleteCtrl.id}}"                ng-mouseup="$mdAutocompleteCtrl.focusInput()"                role="listbox">              <li class="md-autocomplete-suggestion" ')+(d=t[h("0x11ec")],u=h,(A(d)?u("0x347f"):"md-virtual-repeat")+' ="item in $mdAutocompleteCtrl.matches"                  ng-class="{ selected: $index === $mdAutocompleteCtrl.index }"                  ng-attr-id="{{\'md-option-\' + $mdAutocompleteCtrl.id + \'-\' + $index}}"                  ng-click="$mdAutocompleteCtrl.select($index)"                  role="option"                  aria-setsize="{{$mdAutocompleteCtrl.matches.length}}"                  aria-posinset="{{$index+1}}"                  aria-selected="{{$index === $mdAutocompleteCtrl.index ? true : false}}"                   md-extra-name="$mdAutocompleteCtrl.itemName">                  ')+v+h("0x518")+g+"            </ul>          "+(c=t[h("0x11ec")],l=h,A(c)?l("0x976"):"</md-virtual-repeat-container>")+h("0x4d55");function A(e){return o(e)!==r}}}}n[e("0x4670")]=[e("0x26ba")],t[e("0x39e9")]("material.components.autocomplete")[e("0x1b75")](e("0x334d"),n)}(),function(){var e=a2_0x37cf;function n(e,t){return{restrict:"AE",compile:function(e,n,a){return function(e,n,r){var i,o,x,s=a2_0x37cf,c=e[s("0xc8b")],l=c[s("0x731")].$new(),d=c.itemName;function u(n,a){var r=s;l[a]=e[n],e[r("0x7a")](n,(function(e){t[r("0x4ee4")]((function(){l[a]=e}))}))}u(s("0x3f96"),s("0x3f96")),u(s("0x17a9"),d),o=!1,x=!1,e[(i=s)("0x7a")]((function(){var t=i;x||o||(o=!0,e[t("0x722")]((function(){!x&&l[t("0x437c")](),o=x=!1})))})),l[i("0x7a")]((function(){x=!0})),a(l,(function(e){n[s("0x477b")](e)}))}},terminal:!0,transclude:"element"}}n[e("0x4670")]=[e("0x4728"),"$mdUtil"],t[e("0x39e9")](e("0x11c"))[e("0x1b75")](e("0x4a99"),n)}(),function(){var e=a2_0x37cf;function n(t,n,a,r){var i=e;this.$scope=t,this[i("0x4998")]=n,this.$attrs=a,this[i("0xfb8")]=r,this[i("0x417")]=null}n.$inject=["$scope",e("0x4998"),e("0x428f"),e("0xfb8")],t[e("0x39e9")](e("0x11c"))[e("0x1194")]("MdHighlightCtrl",n),n[e("0x20f")].init=function(t,n){var a=e;this.flags=this[a("0x428f")][a("0x204d")]||"",this[a("0xa69")]=this[a("0x36af")][a("0x7a")](function(e){return{term:t(e),contentText:n(e)}}.bind(this),this[a("0x236")][a("0x2b0c")](this),!0),this[a("0x4998")].on(a("0x4c91"),this[a("0xa69")])},n[e("0x20f")].onRender=function(t,n){var a=e,r=t[a("0x1905")];(null===this[a("0x417")]||t[a("0x2f4c")]!==n[a("0x2f4c")])&&(this[a("0x417")]=this.createRegex(t[a("0x2f4c")],this[a("0x4e5b")])),t[a("0x2f4c")]?this[a("0x4243")](r):this[a("0x4998")][a("0x806")](r)},n[e("0x20f")][e("0x4243")]=function(n){var a=e,r=this[a("0x1a90")](n);this[a("0x4998")].empty(),r[a("0x5ba")](function(e){var n=a;if(e[n("0x37d5")]){var r=t.element(n("0x4cc5")).text(e[n("0x806")]);this[n("0x4998")][n("0x136a")](r)}else this.$element.append(document[n("0xe2a")](e))}.bind(this))},n[e("0x20f")].resolveTokens=function(t){var n=e,a=[],r=0;return t[n("0x3cc0")](this.regex,(function(e,t){var o=n;i(r,t),a[o("0x459a")]({text:e,isMatch:!0}),r=t+e[o("0x5e9")]})),i(r),a;function i(e,r){var i=n,o=t[i("0x9b3")](e,r);o&&a[i("0x459a")](o)}},n[e("0x20f")][e("0x1845")]=function(t,n){var a=e,r="",i="",o=this[a("0xfb8")][a("0x4bab")](t);return n[a("0x3507")]("^")>=0&&(r="^"),n.indexOf("$")>=0&&(i="$"),new RegExp(r+o+i,n.replace(/[$^]/g,""))}}(),function(){var e=a2_0x37cf;function n(t,n){var a=e;return{terminal:!0,controller:a("0x42c8"),compile:function(e,r){var i=a,o=n(r[i("0xf48")]),x=t(e[i("0x1059")]());return function(e,t,n,a){a[i("0xeed")](o,x)}}}}n[e("0x4670")]=[e("0x3a1e"),"$parse"],t.module(e("0x11c"))[e("0x1b75")](e("0xf48"),n)}(),v=a2_0x37cf,t.module(v("0x2ee6"),[v("0x1b0c")])[v("0x1b75")](v("0xa70"),[v("0x191b"),"$mdUtil",v("0xc00"),"$rootElement","$window",v("0x1a4"),"$$rAF",v("0x45e2"),function(e,n,a,r,i,o,x,s){var c=v,l=c("0x14cf");return{restrict:"E",link:function(d,u,f){var m,b=c;function _(){var e=b,t=parseInt(m.height,10)+Math[e("0x681")](parseInt(m.top,10));u[e("0x42b1")](e("0x4e66"),t+"px")}a.pin&&a[b("0x3eb")](u,r),x((function(){var a=b;if((m=i.getComputedStyle(s[0][a("0x3b3e")])).position===a("0x2e56")){var r=n[a("0x1f89")]((function(){var e=a;m=i[e("0x2b64")](s[0][e("0x3b3e")]),_()}),60,null,!1);_(),t[a("0xb48")](i).on(a("0x39d4"),r),d[a("0x24c9")]("$destroy",(function(){var e=a;t[e("0xb48")](i)[e("0x30f8")](e("0x39d4"),r)}))}var x=u[a("0x731")]();x[a("0x5e9")]&&("BODY"===x[0][a("0x4907")]&&u[a("0x42b1")](a("0x342c"),a("0x2e56")),i.getComputedStyle(x[0])[a("0x342c")]===a("0x2704")&&o[a("0x1dc6")](l),e.inherit(u,x))}))}}}]),function(){var e=a2_0x37cf;function n(e){return{restrict:"E",link:function(t,n){var a=a2_0x37cf;n[a("0x31dc")](a("0x16ce")),t.$on("$destroy",(function(){e[a("0xdc5")]()}))}}}function a(n){var a=e;r.$inject=[a("0xc00"),a("0x4572"),a("0xfb8"),"$mdTheming",a("0x3a3f"),a("0x47e6"),a("0x36b2"),"$log"];return n(a("0x3a3f"))[a("0x34e5")]({methods:["disableParentScroll",a("0x346f"),a("0x4ce6")],options:r});function r(e,n,a,r,i,o,x,s){var c;return{themable:!0,onShow:function(l,d,u,f){var m=a2_0x37cf;if((d=a[m("0x36ba")](d,m("0x48be"))).attr(m("0x562"),"-1"),d[m("0x3a35")](m("0xe80"))){s[m("0x1dc6")]("$mdBottomSheet: using `<md-bottom-sheet ng-cloak>` will affect the bottom-sheet opening animations.",d[0])}return u[m("0x3135")]?(u[m("0x4ce6")]=!1,u[m("0x346f")]=!1):u.cleanupGestures=function(e,t){var r=a2_0x37cf,o=x[r("0x4ce9")](t,"drag",{horizontal:!1});return t.on(r("0x43f"),s).on(r("0x78f"),c).on(r("0x27e6"),l),function(){var e=r;o(),t.off(e("0x43f"),s),t.off(e("0x78f"),c),t.off("$md.dragend",l)};function s(){var t=r;e[t("0x42b1")](n[t("0x387f")][t("0x46a6")],t("0x410f"))}function c(t){var a=r,i=t.pointer[a("0x36fe")];i<5&&(i=Math[a("0x242b")](-80,i/2)),e[a("0x42b1")](n.CSS[a("0x44aa")],a("0xdeb")+(80+i)+a("0x43be"))}function l(t){var o=r;if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math[o("0x681")](t[o("0x452d")][o("0x4e71")])>.5)){var x=e.prop(o("0x2b02"))-t.pointer.distanceY,s=Math[o("0x11db")](x/t[o("0x452d")].velocityY*.75,500);e.css(n[o("0x387f")][o("0x46a6")],s+"ms"),a[o("0x4ee4")](i.cancel,!0)}else e[o("0x42b1")](n[o("0x387f")][o("0x46a6")],""),e[o("0x42b1")](n[o("0x387f")][o("0x44aa")],"")}}(d,u.parent),!u[m("0x377b")]&&((c=a.createBackdrop(l,"md-bottom-sheet-backdrop md-opaque"))[0][m("0x322f")]=-1,u.clickOutsideToClose&&c.on(m("0x7cb"),(function(){var e=m;a.nextTick(i[e("0x4920")],!0)})),r[m("0xbe2")](c,u[m("0x731")]),e[m("0x3b11")](c,u[m("0x731")],null)),r[m("0xbe2")](d,u[m("0x731")]),u[m("0x2769")]&&(u[m("0x1a73")]=a.disableScrollAround(d,u.parent)),e[m("0x3b11")](d,u[m("0x731")],c)[m("0x34e8")]((function(){var e=m,r=a[e("0x274e")](d)||t[e("0xb48")](d[0][e("0x31f7")](e("0x22d7"))||d[0].querySelector("a")||d[0][e("0x31f7")](a[e("0x13ba")](e("0xfcc"),!0)))||c;u[e("0x346f")]&&(u[e("0x416d")]=function(t){var r=e;t[r("0x4ff2")]===n[r("0x4c0f")].ESCAPE&&a[r("0x4ee4")](i.cancel,!0)},o.on(e("0xa20"),u[e("0x416d")]),r&&r[e("0x2beb")]())}))},onRemove:function(t,n,a){var r=a2_0x37cf;a[r("0x377b")]||e[r("0xf77")](c);return e[r("0xf77")](n).then((function(){var e=r;a[e("0x2769")]&&(a.restoreScroll(),delete a[e("0x1a73")]),a[e("0x1c81")]&&a[e("0x1c81")]()}))},disableBackdrop:!1,escapeToClose:!0,clickOutsideToClose:!0,disableParentScroll:!0,isLockedOpen:!1}}}n[e("0x4670")]=[e("0x3a3f")],a.$inject=[e("0x11cb")],t[e("0x39e9")](e("0x142a"),[e("0x1b0c"),e("0x2ee6")])[e("0x1b75")](e("0x1f8e"),n).provider(e("0x3a3f"),a)}(),function(){var e=a2_0x37cf;function n(e){return{restrict:"E",link:function(t,n){e(n)}}}function a(e,n,a,r){return{restrict:"EA",replace:!0,transclude:!0,template:function(e,t){var n=a2_0x37cf;return i(t)?'<a class="md-button" ng-transclude></a>':'<button class="md-button" type="'+(typeof t[n("0x3298")]===n("0xc42")?n("0x22d7"):t.type)+n("0x7ef")},link:function(o,x,s){var c=a2_0x37cf;n(x),e[c("0x226")](o,x),a[c("0x1d44")](x,c("0x194a")),i(s)&&t[c("0x64a")](s[c("0x28cb")])&&!x[c("0x3a35")](c("0x6f6"))&&o[c("0x7a")](s.ngDisabled,(function(e){var t=c;x[t("0x417f")](t("0x562"),e?-1:0)})),x.on(c("0x7cb"),(function(e){var t=c;!0===s[t("0x1c54")]&&(e[t("0xe50")](),e[t("0x360b")]())})),!x[c("0x3a35")](c("0xc40"))&&(x.on(c("0x2beb"),(function(){var e=c;(!r[e("0x1b22")]()||r[e("0x1a20")]()===e("0x4804"))&&x[e("0x31dc")](e("0x43ba"))})),x.on(c("0x4a1"),(function(){var e=c;x.removeClass(e("0x43ba"))})))}};function i(e){var n=a2_0x37cf;return t.isDefined(e.href)||t[n("0x64a")](e[n("0x376a")])||t[n("0x64a")](e[n("0x17bf")])||t[n("0x64a")](e[n("0x4bbd")])}}a[e("0x4670")]=[e("0x1195"),"$mdTheming",e("0x219f"),e("0x2a5a")],n[e("0x4670")]=[e("0x191b")],t[e("0x39e9")]("material.components.button",["material.core"])[e("0x1b75")]("mdButton",a)[e("0x1b75")]("a",n)}(),function(){var e=a2_0x37cf;function n(e){return{restrict:"E",link:function(t,n,a){var r=a2_0x37cf;n[r("0x31dc")](r("0x16ce")),e(n)}}}n[e("0x4670")]=["$mdTheming"],t[e("0x39e9")]("material.components.card",[e("0x1b0c")]).directive("mdCard",n)}(),function(){var e=a2_0x37cf;function n(n,a,r,i,o,x){var s=e;return n=n[0],{restrict:"E",transclude:!0,require:[s("0x9e1"),s("0x3cc1"),s("0x1ec8")],priority:r[s("0x3a19")],template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox>'+s("0x2064")+s("0x1fa8")+s("0x1d35"),compile:function(e,c){var l=s;return c[l("0x35be")](l("0x562"),c[l("0x562")]||"0"),c[l("0x35be")](l("0x3298"),l("0xb63")),c[l("0x35be")]("role",c[l("0x3298")]),{pre:function(e,t){var n=l;t.on(n("0x7cb"),(function(e){var t=n;this[t("0x3a67")]("disabled")&&e[t("0x360b")]()}))},post:function(e,s,c,d){var u,f=l,m=d[0],b=d[1]||o[f("0xfab")](),_=d[2];if(m){var p=m[f("0x826")]||function(){var e=f;return b[e("0x1d4c")]&&(b.$touched||_&&_[e("0x1757")])};m.input=s,e[f("0x7a")](p,m[f("0x2aad")])}function h(t,n,a){c[t]&&e.$watch(c[t],(function(e){var t=a2_0x37cf;a[e]&&s[t("0x417f")](n,a[e])}))}function g(e){var t,n,a=f,i=e[a("0x2d41")]||e.keyCode;switch(e[a("0xe50")](),i){case r[a("0x4c0f")].SPACE:s[a("0x31dc")](a("0x43ba")),v(e);break;case r[a("0x4c0f")][a("0x25ba")]:(n=o[a("0x3731")](e[a("0x55d")],a("0x35c5")))&&((t=n[a("0x31f7")](a("0x2510")))&&t[a("0x7cb")]())}}function v(t){var n=f;s[0][n("0x3a67")](n("0x1c54"))||e[n("0x36f7")]||e[n("0xd66")]((function(){var e=n,a=c[e("0x29b2")]&&c[e("0x17e3")]?c[e("0x218b")]:!b[e("0x326c")];b[e("0x1605")](a,t&&t.type),b[e("0x4dbb")]()}))}function S(){var e=f;s.toggleClass(e("0x5df"),!!b[e("0x326c")]&&!u)}function E(e){var t=f;(u=!1!==e)&&s[t("0x417f")](t("0x4c92"),t("0x37f4")),s.toggleClass("md-indeterminate",u)}i(s),s[f("0x71b")]().on(f("0x2beb"),(function(){s[f("0x2beb")]()})),o.parseAttributeBoolean(c.mdIndeterminate)&&(E(),e[f("0x7a")](c[f("0xe3e")],E)),c[f("0x29b2")]&&e[f("0x7a")](e[f("0xe2b")][f("0x2b0c")](e,c[f("0x29b2")]),(function(e){var t=f;b[t("0x1605")](e),b[t("0x4dbb")]()})),h("ngDisabled",f("0x562"),{true:"-1",false:c[f("0x562")]}),a[f("0x47df")](s,f("0x194a")),n.link[f("0x3bf0")](e,{on:t.noop,0:{}},c,[b]),s.on(f("0x7cb"),v).on(f("0x1a29"),g).on("focus",(function(){var e=f;x[e("0x1a20")]()===e("0x4804")&&s[e("0x31dc")](e("0x43ba"))})).on(f("0x4a1"),(function(){s.removeClass("md-focused")})),b[f("0x4dbb")]=S}}}}}n.$inject=[e("0x3930"),e("0x219f"),e("0x4572"),"$mdTheming",e("0xfb8"),e("0x2a5a")],t[e("0x39e9")](e("0x20b7"),[e("0x1b0c")])[e("0x1b75")]("mdCheckbox",n)}(),t[(g=a2_0x37cf)("0x39e9")](g("0x4a7d"),[g("0x1b0c"),"material.components.autocomplete"]),function(){var a=a2_0x37cf;function r(e,t,r,i,o){var x=a;this.$scope=e,this[x("0x4998")]=t,this.$mdConstant=r,this.$timeout=i,this[x("0xfb8")]=o,this[x("0x964")]=!1,this[x("0xcde")]=n,this[x("0x27f5")]=!1}r[a("0x4670")]=[a("0x36af"),a("0x4998"),a("0x4572"),a("0x38d4"),"$mdUtil"],t[a("0x39e9")](a("0x4a7d")).controller(a("0xa47"),r),r.prototype.init=function(e){var t=a;this.parentController=e,this.enableChipEdit=this[t("0xcde")][t("0x27f5")],this[t("0x27f5")]&&(this[t("0x4998")].on(t("0x468d"),this.chipKeyDown[t("0x2b0c")](this)),this[t("0x4998")].on("dblclick",this[t("0x31b3")][t("0x2b0c")](this)),this[t("0x451f")]().addClass(t("0x2bff")))},r.prototype[a("0x451f")]=function(){var e=a,n=this[e("0x4998")][0].getElementsByClassName(e("0x11af"));return t.element(n[0])},r[a("0x20f")][a("0x4496")]=function(){var e=a,n=t[e("0xb48")](this[e("0x451f")]()[e("0x71b")]()[0]);return(!n||0===n[e("0x5e9")])&&(n=t[e("0xb48")](this[e("0x451f")]()[e("0x1163")]()[0])),n},r[a("0x20f")][a("0x129e")]=function(){var e=a;return parseInt(this[e("0x4998")][e("0x417f")](e("0x2d50")))},r.prototype[a("0x665")]=function(){var e=a;if(this.isEditing){this[e("0x964")]=!1,this[e("0x4998")][e("0xa81")](e("0x2c77")),this[e("0x451f")]()[0][e("0x2c53")]=e("0x22b7");var t=this[e("0x129e")](),n=this.getContentElement()[e("0x806")]();n?(this.parentController[e("0x183")](t,n),this[e("0xfb8")].nextTick(function(){var n=e;this[n("0xcde")].selectedChip===t&&this.parentController[n("0x122c")](t)}.bind(this))):this.parentController.removeChipAndFocusInput(t)}},r[a("0x20f")][a("0x1a18")]=function(t){var n,r,i=a;document[i("0x3b3e")][i("0x3c85")]?((n=document[i("0x3b3e")][i("0x3c85")]()).moveToElementText(t),n.select()):e[i("0x2de6")]&&(r=e[i("0x2de6")](),(n=document[i("0x3e00")]())[i("0x1a18")](t),r.removeAllRanges(),r[i("0x4755")](n))},r[a("0x20f")][a("0x230a")]=function(){var e=a;this[e("0x964")]=!0,this.$element[e("0x31dc")](e("0x2c77")),this.getChipContent()[0][e("0x2c53")]=e("0x1509"),this[e("0x451f")]().on(e("0x4a1"),function(){this[e("0x665")]()}[e("0x2b0c")](this)),this[e("0x1a18")](this[e("0x451f")]()[0])},r.prototype[a("0x3fc5")]=function(e){var t=a;this.isEditing||e[t("0x4ff2")]!==this[t("0x4572")][t("0x4c0f")].ENTER&&e.keyCode!==this.$mdConstant[t("0x4c0f")][t("0x128a")]?this[t("0x964")]&&e[t("0x4ff2")]===this[t("0x4572")].KEY_CODE[t("0x25ba")]&&(e[t("0xe50")](),this[t("0x665")]()):(e[t("0xe50")](),this[t("0x230a")]())},r.prototype[a("0x31b3")]=function(){var e=a;this[e("0x27f5")]&&!this[e("0x964")]&&this[e("0x230a")]()}}(),function(){var e=a2_0x37cf;function n(n,a,r,i){var o=e;return{restrict:"E",require:[o("0x10e7"),o("0x534")],link:function(e,a,r,x){var s=o,c=x[s("0x4534")](),l=x[s("0x4534")](),d=t[s("0xb48")](a[0].querySelector(".md-chip-content"));n(a),c&&(l[s("0xeed")](c),d.on(s("0x4a1"),(function(){var e=s;c[e("0x10da")](),c[e("0x36af")].$applyAsync()}))),i((function(){var e=s;c&&c[e("0xb32")]&&c[e("0x2343")]()}))},controller:o("0xa47")}}n[e("0x4670")]=[e("0x191b"),e("0xfb8"),e("0x4728"),e("0x38d4")],t[e("0x39e9")](e("0x4a7d"))[e("0x1b75")](e("0x534"),n)}(),function(){var e=a2_0x37cf;function n(e){return{restrict:"A",require:"^mdChips",scope:!1,link:function(t,n,a,r){var i=a2_0x37cf;n.on(i("0x7cb"),(function(e){t[i("0xd66")]((function(){r.removeChip(t.$$replacedScope.$index)}))})),e((function(){var e=i;n[e("0x417f")]({tabindex:"-1","aria-hidden":e("0x1509")}),n.find(e("0x22d7"))[e("0x417f")](e("0x562"),"-1")}))}}}n[e("0x4670")]=[e("0x38d4")],t[e("0x39e9")]("material.components.chips")[e("0x1b75")](e("0x3e38"),n)}(),function(){var e=a2_0x37cf;function n(e){return{restrict:"EA",terminal:!0,link:function(t,n,a){var r=a2_0x37cf,i=t[r("0x20cb")].$mdChipsCtrl,o=i[r("0x731")].$new(!1,i.parent);o[r("0x12c2")]=t,o[r("0x2281")]=t[r("0x2281")],o[r("0x3f96")]=t[r("0x3f96")],o[r("0x32a4")]=i;var x=i[r("0x36af")][r("0xe2b")](a[r("0x117c")]);n.html(x),e(n.contents())(o)},scope:!1}}n.$inject=[e("0x4728")],t[e("0x39e9")](e("0x4a7d"))[e("0x1b75")](e("0x117c"),n)}(),function(){var e=a2_0x37cf;n[e("0x4670")]=[e("0x36af"),"$attrs",e("0x4572"),e("0x1a4"),e("0x4998"),"$timeout","$mdUtil",e("0x477a"),"$exceptionHandler"];function n(t,n,a,r,i,o,x,s,c){var l=e;this.$timeout=o,this[l("0x4572")]=a,this[l("0x36af")]=t,this[l("0x731")]=t.$parent,this[l("0xfb8")]=x,this[l("0x1a4")]=r,this.$mdLiveAnnouncer=s,this[l("0x1214")]=c,this[l("0x4998")]=i,this[l("0x428f")]=n,this[l("0x1df3")]=null,this[l("0x4a1d")]=null,this[l("0x34cd")]=null,this[l("0x11da")]=null,this[l("0x158a")]=[],this[l("0x4df3")]=-1,this[l("0x27f5")]=x[l("0x41a5")](n.mdEnableChipEdit),this[l("0x2e0c")]=x[l("0x41a5")](n[l("0x2fff")]),this.inputAriaLabel=l("0x44fd"),this[l("0x2b9a")]=l("0x46dd"),this.containerEmptyHint="Chips container. Enter the text area, then type text, and press enter to add a chip.",this.deleteHint=l("0x28a"),this[l("0x2b78")]="Remove",this[l("0x1f2c")]="",this[l("0x4ab5")]=!1,this[l("0x2ab2")]=!1,this[l("0x29e1")]=!1,this[l("0x4672")]="",this[l("0x4b48")]=[],this[l("0x7a2")]=null,this.chipAppendDelay=300,this.deRegister=[],this[l("0x1a72")]="added",this[l("0x218e")]="removed",this[l("0xeed")]()}t[e("0x39e9")](e("0x4a7d"))[e("0x1194")](e("0xc14"),n),n[e("0x20f")].init=function(){var t=e,n=this;this.wrapperId=t("0xed5")+this.$mdUtil.nextUid(),!this[t("0x4998")][t("0x417f")]("ng-model")&&this[t("0x4714")](),this[t("0x4d34")].push(this[t("0x36af")][t("0x49f2")](t("0x4834"),(function(){n[t("0x4308")](),n.setupWrapperAria()}))),this.deRegister[t("0x459a")](this.$attrs.$observe(t("0x211d"),(function(e){n[t("0x8c7")]=parseInt(e)||300})))},n[e("0x20f")].$onDestroy=function(){for(var t,n=e;t=this[n("0x4d34")][n("0x4acd")]();)t[n("0x3c6b")](this)},n[e("0x20f")].setupInputAria=function(){var t=e,n=this.$element[t("0x372f")]("input");n&&(n[t("0x417f")](t("0x3517"),t("0xc0e")),n[t("0x417f")]("aria-multiline",!0),this[t("0x3ed8")]&&n[t("0x417f")](t("0x3867"),this[t("0x3ed8")]),this[t("0x3618")]?(n[t("0x417f")]("aria-labelledby",this.inputAriaLabelledBy),n.removeAttr(t("0x194a"))):n[t("0x417f")](t("0x194a"),this[t("0xd96")]))},n.prototype[e("0x1acd")]=function(){var t=e,n=this,a=this.$element[t("0x372f")]("md-chips-wrap");this[t("0x158a")]&&this[t("0x158a")][t("0x5e9")]?(a[t("0x417f")](t("0x3517"),"listbox"),this[t("0x4b48")]=this[t("0x158a")][t("0x19e8")]((function(){var e=t;return n[e("0x4672")]+e("0x28b3")+n[e("0xfb8")].nextUid()})),a[t("0x417f")](t("0x1db8"),this[t("0x4b48")].join(" ")),a[t("0x417f")](t("0x194a"),this.containerHint)):(a[t("0xf44")](t("0x3517")),a[t("0xf44")](t("0x1db8")),a[t("0x417f")](t("0x194a"),this[t("0x1655")]))},n[e("0x20f")].setupStaticChips=function(){var t,n,a=e,r=this,i=this[a("0x4998")].find(a("0x3f6f"));this[a("0x38d4")]((function(){var e=a;for(i.attr(e("0x3517"),e("0x36ed")),n=i[0][e("0x71b")],t=0;t<n.length;t++)n[t][e("0x4480")](e("0x3517"),e("0x2781")),n[t].setAttribute(e("0x18fd"),n[e("0x5e9")]);r[e("0x3ed8")]&&i[e("0x417f")](e("0x3867"),r[e("0x3ed8")]),r[e("0x3618")]?(i[e("0x417f")](e("0x1d71"),r.inputAriaLabelledBy),i[e("0xf44")](e("0x194a"))):i[e("0x417f")]("aria-label",r.inputAriaLabel)}),10)},n[e("0x20f")][e("0x3477")]=function(t){var n=e,a=this.getChipBuffer();if(!(this.autocompleteCtrl&&t[n("0x3f7c")]&&t.isDefaultPrevented())){if(t[n("0x4ff2")]===this.$mdConstant[n("0x4c0f")][n("0xd57")]){if(0!==this[n("0x426e")](t[n("0x55d")]))return;return t[n("0xe50")](),t[n("0x4c98")](),void(this.items.length&&this[n("0x403")](this[n("0x158a")][n("0x5e9")]-1))}if((!this[n("0x460f")]||this[n("0x460f")][n("0x5e9")]<1)&&(this[n("0x460f")]=[this.$mdConstant[n("0x4c0f")][n("0x25ba")]]),-1!==this[n("0x460f")][n("0x3507")](t.keyCode)){if(this[n("0x34cd")]&&this[n("0x31d2")]||!a)return;if(t[n("0xe50")](),this[n("0x180")]())return;return this[n("0x389e")](a[n("0x2dc4")]()),this.resetChipBuffer(),!1}}},n[e("0x20f")][e("0x426e")]=function(t){var n=e;try{if(t[n("0x2c15")]===t[n("0x198f")])return t[n("0x2c15")]}catch(e){if(!t.value)return 0}},n.prototype[e("0x183")]=function(t,n){var a=e;t>=0&&t<this.items[a("0x5e9")]&&(this.items[t]=n,this[a("0x4bda")](!0))},n[e("0x20f")].isEditingChip=function(){var t=e;return!!this.$element[0].querySelector(t("0xdda"))},n[e("0x20f")]._isChipObject=function(e){return t.isObject(e)},n[e("0x20f")][e("0x14da")]=function(){var n=e;return!!this.ngModelCtrl&&(this.readonly?this.removable:!t[n("0x64a")](this[n("0x1eac")])||this.removable)},n[e("0x20f")][e("0x1cca")]=function(t){var n=e;if(!this[n("0x299")]()&&!this.isEditingChip())switch(t[n("0x4ff2")]){case this[n("0x4572")][n("0x4c0f")][n("0xd57")]:case this[n("0x4572")][n("0x4c0f")][n("0x253d")]:if(this[n("0x4df3")]<0)return;if(t[n("0xe50")](),!this[n("0x14da")]())return;this[n("0xba8")](this.selectedChip,t);break;case this[n("0x4572")][n("0x4c0f")].LEFT_ARROW:t.preventDefault(),(this[n("0x4df3")]<0||this[n("0x3330")]&&0===this.selectedChip)&&(this[n("0x4df3")]=this.items[n("0x5e9")]),this.items[n("0x5e9")]&&this[n("0x403")](this[n("0x4df3")]-1);break;case this[n("0x4572")].KEY_CODE[n("0x2c29")]:t.preventDefault(),this.selectAndFocusChipSafe(this.selectedChip+1);break;case this.$mdConstant.KEY_CODE[n("0x7eb")]:case this[n("0x4572")][n("0x4c0f")][n("0x27a4")]:if(this[n("0x4df3")]<0)return;t[n("0xe50")](),this[n("0x5005")]()}},n.prototype[e("0x3d1f")]=function(){var t=e;return this[t("0x158a")]&&this[t("0x158a")][t("0x5e9")]&&(""===this[t("0x4716")]||this[t("0x4716")])?this[t("0x4716")]:this[t("0x21e2")]},n[e("0x20f")][e("0xba8")]=function(t,n){var a=e,r=this,i=r[a("0x3255")](t);this[a("0x4998")][0][a("0x31f7")]("md-chips-wrap"),this.$element[0][a("0x31f7")](a("0x4479")+t+'"]');r[a("0x256e")](t,n),r[a("0x38d4")]((function(){r[a("0x38d4")]((function(){r.selectAndFocusChipSafe(i)}))}))},n.prototype.resetSelectedChip=function(){var t=e;this[t("0x4df3")]=-1,this[t("0x7a2")]=null},n.prototype.getAdjacentChipIndex=function(t){var n=this[e("0x158a")].length-1;return 0===n?-1:t===n?t-1:t},n.prototype.appendChip=function(n){var a=e;if(this[a("0xb32")]=!this[a("0x2e0c")],this.useTransformChip&&this[a("0x422c")]){var r=this.transformChip({$chip:n});t.isDefined(r)&&(n=r)}if(t[a("0x1f1a")](n)&&this[a("0x158a")][a("0x906")]((function(e){return t[a("0x34f9")](n,e)})))return;if(!(null==n||this[a("0x158a")][a("0x3507")](n)+1)){var i=this[a("0x158a")][a("0x459a")](n)-1;this.updateNgModel();var o=t.isObject(n)?"":n;this.$mdLiveAnnouncer[a("0x1597")](o+" "+this[a("0x1a72")],a("0x1b")),this.useOnAdd&&this[a("0xdd8")]&&this.onAdd({$chip:n,$index:i})}},n[e("0x20f")][e("0x1a0")]=function(){this[e("0x4ab5")]=!0},n[e("0x20f")][e("0x381e")]=function(){this[e("0x2ab2")]=!0},n[e("0x20f")].useOnRemoveExpression=function(){this[e("0x29e1")]=!0},n[e("0x20f")][e("0xce")]=function(){this.useOnSelect=!0},n[e("0x20f")].getChipBuffer=function(){var n=e,a=this[n("0x11da")]?this[n("0x4a1d")]?this[n("0x4a1d")][n("0x326c")]:this[n("0x11da")][0].value:this[n("0x1f2c")];return t[n("0x1236")](a)?a:""},n[e("0x20f")][e("0x3a78")]=function(){var t=e;this[t("0x11da")]?this[t("0x4a1d")]?(this[t("0x4a1d")][t("0x1605")](""),this[t("0x4a1d")][t("0x4dbb")]()):this[t("0x11da")][0].value="":this.chipBuffer=""},n[e("0x20f")][e("0x180")]=function(){var n=e;return t.isString(this[n("0xc23")])&&(this[n("0xc23")]=parseInt(this.maxChips,10)||0),this[n("0xc23")]>0&&this[n("0x158a")][n("0x5e9")]>=this.maxChips},n.prototype.validateModel=function(){var t=e;this[t("0x1df3")][t("0x234f")]("md-max-chips",!this[t("0x180")]()),this.ngModelCtrl.$validate()},n[e("0x20f")][e("0x4bda")]=function(n){var a=e;!n&&this[a("0x3885")](),t[a("0x5ba")](this.ngModelCtrl[a("0x302a")],(function(e){var t=a;try{e()}catch(e){this[t("0x1214")](e)}}))},n[e("0x20f")][e("0x256e")]=function(n,a){var r=e,i=this.items[r("0x2bcf")](n,1);this[r("0x4bda")](),this.ngModelCtrl[r("0x3e22")]();var o=t[r("0x1f1a")](i[0])?"":i[0];this[r("0x477a")][r("0x1597")](o+" "+this.removedMessage,r("0x1b")),i&&i[r("0x5e9")]&&this.useOnRemove&&this[r("0x3420")]&&this[r("0x3420")]({$chip:i[0],$index:n,$event:a})},n.prototype[e("0x3ba7")]=function(t,n){var a=e;this.removeChip(t,n),this[a("0x34cd")]?(this[a("0x34cd")][a("0xd4f")]=!0,this[a("0xfb8")][a("0x4ee4")](this[a("0x5005")].bind(this))):this[a("0x5005")]()},n[e("0x20f")][e("0x403")]=function(t){var n=e;if(!this.items[n("0x5e9")]||-1===t)return this[n("0x398b")]();if(t>=this.items[n("0x5e9")]){if(!this[n("0x3330")])return this[n("0x5005")]();t=0}t=Math.max(t,0),t=Math[n("0x11db")](t,this[n("0x158a")].length-1),this[n("0x1728")](t),this.focusChip(t)},n[e("0x20f")].focusLastChipThenInput=function(){var t=e,n=this;n[t("0xb32")]=!1,n[t("0x122c")](this[t("0x158a")][t("0x5e9")]-1),n[t("0x38d4")]((function(){n[t("0x398b")]()}),n[t("0x8c7")])},n[e("0x20f")][e("0x398b")]=function(){var t=e;this[t("0x1728")](-1),this[t("0x5005")]()},n[e("0x20f")][e("0x1728")]=function(t){var n=e;t>=-1&&t<=this[n("0x158a")][n("0x5e9")]?(this[n("0x4df3")]=t,this.useOnSelect&&this[n("0x1e08")]&&this[n("0x1e08")]({$chip:this[n("0x158a")][t]})):this[n("0x1a4")].warn("Selected Chip index out of bounds; ignoring.")},n[e("0x20f")][e("0x383b")]=function(t){var n=e;this[n("0x1728")](t),-1!==t&&this[n("0x122c")](t)},n[e("0x20f")].focusChip=function(t){var n=e,a=this[n("0x4998")][0].querySelector(n("0x4479")+t+'"] .md-chip-content');this[n("0x7a2")]=t,a.focus()},n.prototype.configureNgModel=function(t){var n=e;this[n("0x1df3")]=t;var a=this;t.$isEmpty=function(e){return!e||0===e.length},t[n("0x4dbb")]=function(){var e=n;a[e("0x158a")]=a[e("0x1df3")][e("0x326c")]}},n[e("0x20f")].onFocus=function(){var t=e,n=this[t("0x4998")][0][t("0x31f7")](t("0x3f87"));n&&n[t("0x2beb")](),this[t("0x10da")]()},n[e("0x20f")][e("0xcf")]=function(){var t=e;this[t("0x2966")]=!0,this[t("0x4308")](),this.resetSelectedChip()},n[e("0x20f")][e("0x3dac")]=function(){var t=e;this[t("0x2966")]=!1,this.shouldAddOnBlur()&&(this.appendChip(this[t("0x299")]()[t("0x2dc4")]()),this[t("0x3a78")]())},n.prototype[e("0x3aab")]=function(t){var n=e,a=t[n("0x1194")](n("0x12bc")),r=this;a&&(this[n("0x4d34")][n("0x459a")](this[n("0x36af")][n("0x7a")]((function(){return a.$touched}),(function(e){e&&r[n("0x1df3")].$setTouched()}))),this[n("0x4d34")][n("0x459a")](this[n("0x36af")][n("0x7a")]((function(){return a[n("0x5f6")]}),(function(e){var t=n;e&&r[t("0x1df3")][t("0x3e22")]()}))))},n.prototype[e("0x3bb5")]=function(n){var a=e;this[a("0x11da")]=n;var r=n[a("0x1194")](a("0x12bc"));r!==this[a("0x1df3")]&&(this.userInputNgModelCtrl=r);var i=this.$scope,o=this,x=function(e,n){var r=a;i.$evalAsync(t[r("0x2b0c")](o,n,e))};n.attr({tabindex:0}).on(a("0x468d"),(function(e){x(e,o.inputKeydown)})).on(a("0x2beb"),(function(e){x(e,o[a("0xcf")])})).on(a("0x4a1"),(function(e){x(e,o[a("0x3dac")])}))},n[e("0x20f")].configureAutocomplete=function(n){var a=e;n&&(this[a("0x34cd")]=n,!this[a("0x4998")].attr("container-empty-hint")&&(this[a("0x1655")]=a("0x2941")+"type text to search, and then use the up and down arrow keys to select an option. Press enter to add the selected option as a chip.",this.setupWrapperAria()),n[a("0x203e")](t[a("0x2b0c")](this,(function(e){var t=a;if(e){if(this[t("0x180")]())return;this[t("0x389e")](e),this[t("0x3a78")]()}}))),this[a("0x4998")].find(a("0x3f87")).on(a("0x2beb"),t[a("0x2b0c")](this,this[a("0xcf")])).on("blur",t[a("0x2b0c")](this,this[a("0x3dac")])))},n[e("0x20f")][e("0x3c15")]=function(){var t=e;this.validateModel();var n=this.getChipBuffer().trim(),a=this.ngModelCtrl[t("0x8b2")](this[t("0x1df3")][t("0x2dce")])||this[t("0x1df3")][t("0x4655")],r=this.autocompleteCtrl&&!this[t("0x34cd")][t("0xd4f")];return this.userInputNgModelCtrl&&(a=a&&this[t("0x4a1d")][t("0x4655")]),this[t("0x2e0c")]&&!this.requireMatch&&n&&a&&!r},n.prototype[e("0x1f69")]=function(){return this[e("0x2966")]||this.selectedChip>=0},n[e("0x20f")][e("0x3445")]=function(t){return this[e("0x4b48")][t]}}(),function(){var e=a2_0x37cf;i[e("0x4670")]=[e("0x191b"),"$mdUtil",e("0x4728"),e("0x1a4"),e("0x38d4"),"$$mdSvgRegistry"],t.module(e("0x4a7d")).directive(e("0x196c"),i);var n=e("0x203d"),a=e("0x186c"),r=e("0x25cf");function i(t,i,o,x,s,c){var l,d=e,u={chips:i[(l=d)("0x19ee")](n),input:i[l("0x19ee")](a),default:i[l("0x19ee")](r),remove:i[l("0x19ee")]('      <button          class="md-chip-remove"          ng-if="$mdChipsCtrl.isRemovable()"          ng-click="$mdChipsCtrl.removeChipAndFocusInput($$replacedScope.$index, $event)"          type="button"          tabindex="-1"          aria-label="{{$mdChipsCtrl.deleteButtonLabel}}{{$mdChipsCtrl._isChipObject($chip) ? \'\' : \' \' + $chip}}">        <md-icon md-svg-src="{{$mdChipsCtrl.mdCloseIcon}}" aria-hidden="true"></md-icon>      </button>')};return{template:function(e,t){var n=a2_0x37cf;return t[n("0xa2e")]=e[n("0x42df")](),u.chips},require:[d("0x196c")],restrict:"E",controller:"MdChipsCtrl",controllerAs:d("0x32a4"),bindToController:!0,compile:function(e,n){var a=d,r=n[a("0xa2e")];n[a("0xa2e")]=null;var l=p("md-chips>md-chip-template"),f=p(i[a("0x13ba")]()[a("0x119b")]("md-chip-remove")[a("0x19e8")]((function(e){return a("0x38f3")+e+"]"}))[a("0xc60")](","))||u.remove,m=l||u[a("0x3993")],b=p(a("0x1b16"))||p(a("0x20b1"))||u.input,_=r.find("md-chip");function p(e){var t=a;if(n[t("0x12bc")]){var i=r[0].querySelector(e);return i&&i[t("0x2b5b")]}}return r[0].querySelector("md-chip-template>*[md-chip-remove]")&&x.warn(a("0x78b")),function(e,r,x,d){var p=a;i[p("0x35da")](e,n),t(r);var h=d[0];if(l&&(h[p("0x27f5")]=!1),h.chipContentsTemplate=m,h[p("0x33f1")]=f,h[p("0x3583")]=b,h[p("0x4bfa")]=c[p("0x4491")],r[p("0x417f")]({tabindex:-1}).on(p("0x2beb"),(function(){h[p("0x5005")]()})).on(p("0x7cb"),(function(){var e=p;!h[e("0x3330")]&&-1===h[e("0x4df3")]&&h.onFocus()})),n[p("0x12bc")]&&(h.configureNgModel(r[p("0x1194")](p("0x12bc"))),x[p("0x34a9")]&&h[p("0x1a0")](),x.mdOnAppend&&h[p("0x1de8")](),x[p("0x45c9")]&&h[p("0x381e")](),x[p("0x20e")]&&h[p("0x450e")](),x[p("0x264a")]&&h[p("0xce")](),b!==u[p("0x3f87")]&&e[p("0x7a")]("$mdChipsCtrl.readonly",(function(e){!e&&i.nextTick((function(){var e=a2_0x37cf;if(0===b[e("0x3507")](e("0x26d6"))){var t=r.find(e("0x199"));h[e("0x12cc")](t[e("0x1194")]("mdAutocomplete"))}h.configureUserInput(r[e("0x372f")]("input"))}))})),i[p("0x4ee4")]((function(){var e=p,t=r[e("0x372f")]("input");t&&(h[e("0x3aab")](t),t[e("0x411b")](e("0x1bb1"),!0))}))),_.length>0){var g=o(_[p("0x42df")]())(e[p("0x20cb")]);s((function(){var e=p;r[e("0x372f")](e("0x3f6f")).prepend(g)}))}}},scope:{readonly:"=?readonly",removable:d("0x3806"),placeholder:"@?",secondaryPlaceholder:"@?",maxChips:d("0x62"),transformChip:"&mdTransformChip",onAppend:d("0x1e96"),onAdd:d("0x3f85"),onRemove:d("0x2bb9"),addedMessage:d("0x1030"),removedMessage:d("0x3fd"),onSelect:"&?mdOnSelect",inputAriaDescribedBy:"@?inputAriaDescribedby",inputAriaLabelledBy:d("0xf4a"),inputAriaLabel:"@?",containerHint:"@?",containerEmptyHint:"@?",deleteHint:"@?",deleteButtonLabel:"@?",separatorKeys:d("0x4ea"),requireMatch:d("0x2aa0"),chipAppendDelayString:d("0x41d4"),ngChange:"&?"}}}}(),function(){var e=a2_0x37cf;function n(t,n,a){var r=e;this[r("0x4998")]=n,this[r("0x428f")]=t,this[r("0x38d4")]=a,this.selectedItem=null,this[r("0x4553")]="",this[r("0x4d34")]=[],this[r("0xeed")]()}n[e("0x4670")]=[e("0x428f"),e("0x4998"),e("0x38d4")],t[e("0x39e9")](e("0x4a7d"))[e("0x1194")]("MdContactChipsCtrl",n),n[e("0x20f")][e("0xeed")]=function(){var t=e,n=this,a=this[t("0x4d34")],r=this[t("0x4998")];this[t("0x38d4")]((function(){var e=t;a[e("0x459a")](r[e("0x372f")](e("0x3316"))[e("0x1194")](e("0x196c")).$scope[e("0x49f2")](e("0x4834"),(function(){var t=e;n[t("0x213a")](),n[t("0x2b3b")]()})))}))},n[e("0x20f")][e("0x213a")]=function(){var t=e,n=this[t("0x4998")][t("0x372f")]("md-chips"),a=n[t("0x1194")](t("0x196c"));this[t("0x218e")]&&(a[t("0x218e")]=this[t("0x218e")]),this[t("0x2b9a")]&&(a.containerHint=this[t("0x2b9a")]),this.containerEmptyHint&&(n.attr("container-empty-hint",this.containerEmptyHint),a[t("0x1655")]=this[t("0x1655")]),this[t("0x3d31")]&&(a[t("0x3d31")]=this[t("0x3d31")]),this[t("0xd96")]&&(a[t("0xd96")]=this[t("0xd96")])},n[e("0x20f")][e("0x2b3b")]=function(){var t=e,n=this[t("0x4998")][t("0x372f")](t("0x3f6f"))[t("0x372f")]("md-autocomplete")[t("0x372f")](t("0x3f87"));this[t("0x3ed8")]&&n[t("0x417f")](t("0x3867"),this.inputAriaDescribedBy),this.inputAriaLabelledBy&&(n.removeAttr(t("0x194a")),n.attr("aria-labelledby",this[t("0x3618")]))},n[e("0x20f")][e("0x863")]=function(t){return this[e("0x215f")]({$query:t})},n[e("0x20f")][e("0x3477")]=function(n){var a=e;if(this[a("0x460f")]&&!(this.separatorKeys[a("0x3507")](n[a("0x4ff2")])<0)){n[a("0x4c98")](),n[a("0xe50")]();var r=t[a("0xb48")](n[a("0x55d")])[a("0x1194")](a("0x334d"));r[a("0x2d7b")](r.index)}},n[e("0x20f")][e("0x3f0")]=function(t){return t[this[e("0x43e0")]]},n[e("0x20f")][e("0x1f51")]=function(){for(var t,n=e;t=this[n("0x4d34")][n("0x4acd")]();)t.call(this)}}(),function(){var e=a2_0x37cf;a[e("0x4670")]=[e("0x191b"),e("0xfb8")],t[e("0x39e9")](e("0x4a7d"))[e("0x1b75")](e("0x4119"),a);var n=e("0x2c30");function a(t,a){var r=e;return{template:function(e,t){return n},restrict:"E",controller:r("0x28a4"),controllerAs:r("0x65a"),bindToController:!0,compile:function(e,n){return function(e,r,i,o){var x=a2_0x37cf,s=o;a.initOptionalProperties(e,n),t(r),r.attr(x("0x562"),"-1"),i[x("0xf52")](x("0x211d"),(function(e){s[x("0x8c7")]=e}))}},scope:{contactQuery:"&mdContacts",placeholder:"@?",secondaryPlaceholder:"@?",contactName:r("0x45a0"),contactImage:r("0x3cd9"),contactEmail:r("0x2922"),contacts:r("0x2cd1"),ngChange:"&?",requireMatch:r("0x2aa0"),minLength:r("0x4924"),highlightFlags:"@?mdHighlightFlags",chipAppendDelay:r("0x41d4"),separatorKeys:"=?mdSeparatorKeys",removedMessage:r("0x3fd"),inputAriaDescribedBy:r("0x4764"),inputAriaLabelledBy:"@?inputAriaLabelledby",inputAriaLabel:"@?",containerHint:"@?",containerEmptyHint:"@?",deleteHint:"@?"}}}}(),function(){var e=a2_0x37cf;i[e("0x4670")]=[e("0x35f3"),e("0xfb8"),"$log",e("0x68c")],r[e("0x4670")]=[e("0x191b"),e("0xfb8"),e("0x1a4")];var n=/^{((\s|,)*?["'a-zA-Z-]+?\s*?:\s*?('|")[a-zA-Z0-9-.]*('|"))+\s*}$/,a=null;function r(n,r,i){var o=e;return a=a||Object[o("0xa35")](n[o("0x4b6f")]),{applyThemeColors:function(e,n){var a,r,c,l,d=o;try{n&&e[d("0x42b1")]((c={},l=(a=n)[(r=o)("0x1bd4")](r("0xf2c")),t[r("0x5ba")](a,(function(e,t){var n=r,a=s(e),i=t[n("0x3507")]("background")>-1;c[t]=x(a),i&&!l&&(c[n("0xf2c")]=x(a,!0))})),c))}catch(e){i.error(e[d("0x45ea")])}},getThemeColor:function(e){return x(s(e))},hasTheme:function(e){var a=o;return t[a("0x64a")](n[a("0x3797")][e[a("0x9e5")]("-")[0]])}};function x(e,t){var a=o;t=t||!1;var i=n.PALETTES[e[a("0x4183")]][e[a("0x2705")]];return i=t?i[a("0x18ed")]:i[a("0x3a33")],r[a("0x147e")](a("0x1496"),[i[0],i[1],i[2],i[3]||e[a("0x47e0")]])}function s(e){var a=o,r=e.split("-"),i=t[a("0x64a")](n.THEMES[r[0]])?r[a("0x2bcf")](0,1)[0]:n[a("0x3640")]();return{theme:i,palette:c(r,i),hue:l(r,i),opacity:r[2]||1}}function c(e,t){var i=o,x=e[i("0x5e9")]>1&&-1!==a[i("0x3507")](e[1]),s=e[0][i("0x3cc0")](/([a-z])([A-Z])/g,"$1-$2")[i("0x2eb9")]();if(x&&(s=e[0]+"-"+e[i("0x2bcf")](1,1)),-1===a[i("0x3507")](s)){var c=n[i("0x3797")][t][i("0x273f")][s];if(!c)throw new Error(r[i("0x147e")](i("0x133c"),{palette:s}));s=c[i("0x98c")]}return s}function l(e,t){var a=o,i=n[a("0x3797")][t][a("0x273f")];if(e[1]===a("0x2705")){var x=parseInt(e[a("0x2bcf")](2,1)[0],10);if(x<1||x>3)throw new Error(r[a("0x147e")](a("0x4bf1"),{hueNumber:x}));if(e[1]=a("0x172c")+x,!(e[0]in i))throw new Error(r[a("0x147e")]("mdColors: 'hue-x' can only be used with [{availableThemes}], but was used with '{usedTheme}'",{availableThemes:Object.keys(i)[a("0xc60")](", "),usedTheme:e[0]}));return i[e[0]][a("0x4861")][e[1]]}return e[1]||i[e[0]in i?e[0]:a("0x1c61")].hues[a("0x3993")]}}function i(a,r,i,o){return{restrict:"A",require:[e("0x599")],compile:function(e,x){var s=function(){var e=a2_0x37cf,a=x[e("0x267f")],i=a[e("0x3507")]("::")>-1,o=!!i||n[e("0x3ff3")](x[e("0x267f")]);x[e("0x267f")]=a[e("0x3cc0")]("::","");var s=t[e("0x64a")](x.mdColorsWatch);return!i&&!o&&(!s||r[e("0x41a5")](x[e("0x32c7")]))}();return function(e,n,r,x){var c=a2_0x37cf,l=x[0],d={},u=function(t){var n=a2_0x37cf;"string"!=typeof t&&(t=""),!r[n("0x267f")]&&(r.mdColors="{}");var i=o(r[n("0x267f")])(e);return l&&Object[n("0xa35")](i)[n("0x5ba")]((function(e){var r=n,o=i[e];!a[r("0x2a33")](o)&&(i[e]=(t||l[r("0x3d78")])+"-"+o)})),f(i),i},f=function(e){var a=a2_0x37cf;if(!t[a("0x34f9")](e,d)){var r=Object[a("0xa35")](d);d[a("0x1318")]&&!r.color&&r[a("0x459a")](a("0xf2c")),r[a("0x5ba")]((function(e){n[a("0x42b1")](e,"")}))}d=e},m=t[c("0x49d1")];l&&(m=l[c("0x4ea1")]((function(e){a.applyThemeColors(n,u(e))}))),e.$on("$destroy",(function(){m()}));try{s?e.$watch(u,t[c("0x2b0c")](this,a[c("0x260d")],n),!0):a[c("0x260d")](n,u())}catch(e){i[c("0x4ad3")](e.message)}}}}}t[e("0x39e9")](e("0x14f8"),["material.core"]).directive("mdColors",i)[e("0xc3b")](e("0x35f3"),r)}(),function(){var e=a2_0x37cf;function n(n){var a=e;return{restrict:"E",controller:[a("0x36af"),"$element",function(e,t){var n=a;this[n("0x36af")]=e,this[n("0x4998")]=t}],link:function(r,i){var o,x,s=a;i[s("0x31dc")]("_md"),n(i),r[s("0x2050")](s("0x11e2"),i),o=i[0],t[(x=e)("0xb48")](o).on("$md.pressdown",(function(e){var t=x;"t"===e.pointer[t("0x3298")]&&(e.$materialScrollFixed||(e[t("0x968")]=!0,0===o.scrollTop?o[t("0x1423")]=1:o.scrollHeight===o[t("0x1423")]+o[t("0x2b02")]&&(o[t("0x1423")]-=1)))}))}}}n.$inject=[e("0x191b")],t[e("0x39e9")](e("0x3c93"),["material.core"])[e("0x1b75")](e("0x1d3b"),n)}(),t[(h=a2_0x37cf)("0x39e9")]("material.components.datepicker",[h("0x1b0c"),"material.components.icon",h("0x7a8")]),function(){var e=a2_0x37cf;function a(t){var n=e;return{template:function(e,t){var n=a2_0x37cf,a=t[n("0x1bd4")](n("0x479"))?"":'ng-if="calendarCtrl.isInitialized"';return""+n("0x331e")+a+">"+n("0x369c")+"<md-calendar-month ng-switch-default></md-calendar-month>"+n("0x1fa8")},scope:{minDate:n("0x17d7"),maxDate:n("0x99"),dateFilter:n("0x32ed"),monthFilter:n("0x189f"),_mode:n("0x2be7"),_currentView:n("0x4865")},require:["ngModel",n("0xe06")],controller:o,controllerAs:"calendarCtrl",bindToController:!0,link:function(e,n,a,r){var i=r[0];r[1].configureNgModel(i,t)}}}o[e("0x4670")]=[e("0x4998"),e("0x36af"),"$$mdDateUtil","$mdUtil",e("0x4572"),e("0x191b"),e("0x47aa"),e("0x428f"),e("0x1603"),"$filter"],a[e("0x4670")]=["inputDirective"],t[e("0x39e9")](e("0x1c3"))[e("0x1b75")]("mdCalendar",a);var r=0,i={day:e("0x1b62"),month:e("0x572")};function o(a,i,o,x,s,c,l,d,u,f){var m=e;c(a),this[m("0x4998")]=a,this[m("0x36af")]=i,this.$attrs=d,this[m("0x2e18")]=o,this[m("0xfb8")]=x,this[m("0x4ff2")]=s[m("0x4c0f")],this.$$rAF=l,this.$mdDateLocale=u,this.ngDateFilter=f(m("0x306c")),this[m("0x1a11")]=this[m("0x2e18")][m("0x3dab")](),this.ngModelCtrl=n,this[m("0x3ee4")]=m("0x843"),this[m("0x210")]=m("0x148d"),this[m("0x149c")]=m("0xb6c"),this.id=r++,this.displayDate=null,this.mode=null,this[m("0x1134")]=null,this[m("0x4082")]=null,this[m("0xbaa")]=null,this[m("0x2b65")]=!1,this[m("0xbbf")]=0,this[m("0x18c1")]=0,!d.tabindex&&a.attr(m("0x562"),"-1");var b,_=t[m("0x2b0c")](this,this[m("0x1fc")]);(b=a[m("0x731")]()[m("0x3a35")](m("0x4d57"))?t.element(document[m("0x3b3e")]):a).on(m("0x468d"),_),i.$on(m("0x4c91"),(function(){b[m("0x30f8")]("keydown",_)})),1===t.version[m("0x2c74")]&&t[m("0x10ea")].minor<=4&&this[m("0x4393")]()}o[e("0x20f")][e("0x4393")]=function(){var t=e;this[t("0x2992")]&&i.hasOwnProperty(this[t("0x2992")])?(this.currentView=i[this[t("0x2992")]],this[t("0x38aa")]=this[t("0x2992")]):(this[t("0x3ce")]=this[t("0x3321")]||"month",this.mode=null),this[t("0x1d23")]&&this[t("0x1d23")]>this[t("0x1603")][t("0x4082")]?this[t("0x4082")]=this.minDate:this[t("0x4082")]=this[t("0x1603")][t("0x4082")],this.maxDate&&this[t("0x16d9")]<this[t("0x1603")][t("0xbaa")]?this[t("0xbaa")]=this.maxDate:this[t("0xbaa")]=this[t("0x1603")][t("0xbaa")]},o[e("0x20f")][e("0xa82")]=function(n,a){var r=e,i=this;i[r("0x1df3")]=n,this[r("0x428f")][r("0x35be")](r("0x3298"),r("0x306c")),a[0][r("0x28f2")][r("0x3bf0")](this[r("0x36af")],{on:t[r("0x49d1")],val:t[r("0x49d1")],0:{}},this[r("0x428f")],[n]),n[r("0x4dbb")]=function(){var e,t=r,n=this[t("0x326c")];!i.dateUtil.isValidDate(n)&&(e=i[t("0x2e18")][t("0x3f0a")](new Date(n)),i[t("0x2e18")].isValidDate(e)&&(n=e)),i[t("0x36af")][t("0x2050")](t("0x107a"),n),!i[t("0x1134")]&&(i[t("0x1134")]=n),!i[t("0x4e1b")]&&(i[t("0x4e1b")]=i[t("0x1134")]||i[t("0x1a11")])},i.$mdUtil[r("0x4ee4")]((function(){i[r("0x2b65")]=!0}))},o[e("0x20f")][e("0x62f")]=function(t){var n=e,a=this[n("0xfb8")][n("0x31d0")](this[n("0x1df3")],n("0x68b")),r=this.dateUtil[n("0x3dab")](t);return this[n("0x789")](r),this[n("0x36af")][n("0x7e0")](n("0x1576"),r),null==a||r[n("0xa01")]()<0?this[n("0x1df3")][n("0x1605")](this.ngDateFilter(r,"yyyy-MM-dd"),n("0x3993")):this[n("0x1df3")].$setViewValue(this[n("0x7e5")](r,n("0x2661"),a),n("0x3993")),this.ngModelCtrl.$render(),r},o.prototype[e("0x31a9")]=function(n,a){var r=e,i=this;i[r("0xfb8")][r("0x4ee4")]((function(){var e=r;i.currentView=n,a&&(i.displayDate=t[e("0x24a9")](a)?a:new Date(a))}))},o[e("0x20f")].focusDate=function(t){var n=e;if(this[n("0x2e18")][n("0x25b2")](t)){var a=this[n("0x4998")][0][n("0x31f7")]("."+this.FOCUSED_DATE_CLASS);a&&a[n("0x1e2d")][n("0xf82")](this.FOCUSED_DATE_CLASS);var r=this[n("0x4cfa")](t,this[n("0x3ce")]),i=document[n("0x91")](r);i&&(i[n("0x1e2d")][n("0x2d6e")](this[n("0x149c")]),i[n("0x2beb")](),this[n("0x4e1b")]=t)}else{var o=this[n("0x4998")][0].querySelector("[ng-switch]");o&&o[n("0x2beb")]()}},o[e("0x20f")][e("0x58f")]=function(t){var n=e,a=this.SELECTED_DATE_CLASS,r=this[n("0x4998")][0][n("0x31f7")]("."+a);if(r&&(r[n("0x1e2d")].remove(a),r.setAttribute("aria-selected",n("0x22b7"))),t){var i=document[n("0x91")](this.getDateId(t,this[n("0x3ce")]));i&&(i[n("0x1e2d")][n("0x2d6e")](a),i[n("0x4480")](n("0x2126"),n("0x1509")))}this[n("0x1134")]=t},o.prototype[e("0x2700")]=function(t){var n=e,a=this[n("0x4ff2")];switch(t[n("0x2d41")]){case a[n("0x25ba")]:return n("0x2d7b");case a[n("0x2c29")]:return n("0x277e");case a.LEFT_ARROW:return"move-left";case a[n("0xedf")]:return t[n("0x366c")]?n("0x4346"):"move-row-down";case a[n("0x3a34")]:return t.metaKey?n("0x3e9a"):n("0x329a");case a[n("0x4c08")]:return"move-page-down";case a[n("0x46aa")]:return n("0x3e9a");case a[n("0x2726")]:return n("0x1023");case a.END:return n("0x3a59");default:return null}},o[e("0x20f")][e("0x1fc")]=function(t){var n=e,a=this;this[n("0x36af")][n("0xd66")]((function(){var e=n;if(t.which===a[e("0x4ff2")][e("0x7eb")]||t.which===a.keyCode[e("0x27a4")])return a[e("0x36af")][e("0x7e0")](e("0x2021")),void(t[e("0x2d41")]===a[e("0x4ff2")][e("0x27a4")]&&t[e("0xe50")]());var r=a[e("0x2700")](t);r&&(t[e("0xe50")](),t.stopPropagation(),a.$scope[e("0x2050")](e("0x2ddd"),r))}))},o[e("0x20f")][e("0x103e")]=function(t){var n=e,a=this,r=t[n("0x4998")][0],i=r[n("0x31f7")](n("0x6b"));function o(){var e=n,r=a.width||340,o=a[e("0x18c1")],x=t[e("0x27e9")];i[e("0x4025")][e("0xbbf")]=r+"px",x[e("0x4025")][e("0xbbf")]=r+o+"px",x.style[e("0x49ca")]=o+"px"}a[n("0xbbf")]>0?o():a[n("0x47aa")]((function(){var e=n,i=t[e("0x27e9")];a.scrollbarWidth=i.offsetWidth-i[e("0x538")],a[e("0xbbf")]=r[e("0x31f7")]("table")[e("0xe76")],o()}))},o[e("0x20f")][e("0x4cfa")]=function(t,n){var a=e;if(!n)throw new Error("A namespace for the date id has to be specified.");return["md",this.id,n,t.getFullYear(),t[a("0x1d51")](),t.getDate()].join("-")},o.prototype[e("0x268b")]=function(){var t=e,n=this[t("0x36af")],a=n[t("0x24c9")]("$md-resize-enable",(function(){var e=t;!n[e("0x4fca")]&&n[e("0xd66")](),a()}))}}(),function(){var e=a2_0x37cf;a.$inject=[e("0x4998"),e("0x36af"),e("0xc00"),"$q",e("0x308b"),e("0x1603")],t[e("0x39e9")](e("0x1c3"))[e("0x1b75")]("mdCalendarMonth",(function(){var t=e;return{template:t("0x3282")+t("0x189")+'<md-virtual-repeat-container class="md-calendar-scroll-container" '+t("0x4951")+'-220">'+t("0x16cc")+t("0x2f30")+"md-calendar-month-body "+t("0x1f87")+t("0x2c61")+'md-month-offset="$index" '+t("0x2161")+t("0x4ecf")+t("0x2a20")+'265">'+t("0x3ef5")+n+t("0x4e42")+"</tbody>"+t("0x44cf")+t("0x4a06")+"</div>",require:["^^mdCalendar","mdCalendarMonth"],controller:a,controllerAs:t("0x4689"),bindToController:!0,link:function(e,n,a,r){var i=t,o=r[0];r[1][i("0x278b")](o)}}}));var n=265;function a(t,n,a,r,i,o){var x=e;this[x("0x4998")]=t,this[x("0x36af")]=n,this[x("0xc00")]=a,this.$q=r,this[x("0x2e18")]=i,this[x("0x44ca")]=o,this[x("0x27e9")]=t[0].querySelector(x("0x2703")),this.isInitialized=!1,this[x("0x912")]=!1;var s=this;this[x("0x349e")]=function(){var e=x,t=i[e("0x35bb")](this);s[e("0x36af")][e("0xd66")]((function(){var n=e;s[n("0x36eb")][n("0x62f")](new Date(t))}))},this[x("0x409d")]=function(){var e=x;s[e("0x36eb")].setCurrentView(e("0x572"),i[e("0x35bb")](this))}}a.prototype[e("0x278b")]=function(t){var n=e;this[n("0x158a")]={length:this[n("0x2e18")].getMonthDistance(t[n("0x4082")],t[n("0xbaa")])+2},this[n("0x36eb")]=t,this.attachScopeListeners(),t[n("0x268b")](),t.ngModelCtrl&&t[n("0x1df3")][n("0x4dbb")]()},a.prototype.getSelectedMonthIndex=function(){var t=e,n=this[t("0x36eb")];return this[t("0x2e18")][t("0x143b")](n[t("0x4082")],n[t("0x4e1b")]||n[t("0x1134")]||n[t("0x1a11")])},a[e("0x20f")][e("0x2d59")]=function(t){var n=e;if(!this[n("0x2b65")])return this[n("0x1864")](),this[n("0x36eb")][n("0x103e")](this),this[n("0x2b65")]=!0,this.$q[n("0x2c66")]();if(!this[n("0x2e18")].isValidDate(t)||this.isMonthTransitionInProgress)return this.$q[n("0x2c66")]();this.isMonthTransitionInProgress=!0;var a=this.animateDateChange(t);this[n("0x36eb")][n("0x4e1b")]=t;var r=this;return a[n("0x34e8")]((function(){r.isMonthTransitionInProgress=!1})),a},a[e("0x20f")][e("0x3573")]=function(t){var a=e;if(this[a("0x2e18")].isValidDate(t)){var r=this[a("0x2e18")].getMonthDistance(this.calendarCtrl[a("0x4082")],t);this[a("0x27e9")][a("0x1423")]=r*n}return this.$q.when()},a[e("0x20f")][e("0x1864")]=function(){for(var t=e,n=this[t("0x44ca")].firstDayOfWeek,a=this.dateLocale.shortDays,r=document[t("0x4202")]("tr"),i=0;i<7;i++){var o=document[t("0x4202")]("th");o[t("0x12ee")]=a[(i+n)%7],r[t("0x4238")](o)}this.$element[t("0x372f")](t("0x4b3")).append(r)},a[e("0x20f")].attachScopeListeners=function(){var n=e,a=this;a[n("0x36af")].$on(n("0x107a"),(function(e,t){var r=n;a[r("0x36eb")][r("0x58f")](t),a.changeDisplayDate(t)})),a[n("0x36af")][n("0x24c9")](n("0x2ddd"),t[n("0x2b0c")](this,this.handleKeyEvent))},a[e("0x20f")][e("0x1fc")]=function(t,n){var a=e,r=this[a("0x36eb")],i=r[a("0x4e1b")];if(n===a("0x2d7b"))r.setNgModelValue(i);else{var o=null,x=this[a("0x2e18")];switch(n){case a("0x277e"):o=x[a("0x4887")](i,1);break;case a("0xff0"):o=x.incrementDays(i,-1);break;case a("0x4346"):o=x.incrementMonths(i,1);break;case a("0x3e9a"):o=x.incrementMonths(i,-1);break;case"move-row-down":o=x[a("0x4887")](i,7);break;case a("0x329a"):o=x[a("0x4887")](i,-7);break;case a("0x1023"):o=x[a("0x5002")](i);break;case"end":o=x[a("0x1dbc")](i)}o&&(o=this[a("0x2e18")][a("0x27b5")](o,r[a("0x1d23")],r[a("0x16d9")]),this[a("0x2d59")](o).then((function(){r.focusDate(o)})))}}}(),function(){var e=a2_0x37cf;function n(n,r){var i=e,o=n('<md-icon md-svg-src="'+r[i("0x140b")]+i("0x1c0b"))({})[0];return{require:["^^mdCalendar",i("0x2c4e"),i("0x231b")],scope:{offset:i("0x1ca0")},controller:a,controllerAs:i("0x282e"),bindToController:!0,link:function(e,n,a,r){var x=i,s=r[0],c=r[1],l=r[2];l[x("0x36eb")]=s,l.monthCtrl=c,l[x("0x1ae2")]=o[x("0x3e91")](!0),e.$watch((function(){return l[x("0x1feb")]}),(function(e){var n=x;t[n("0x1ba0")](e)&&l[n("0x3892")]()}))}}}function a(t,n,a){var r=e;this.$element=t,this.dateUtil=n,this.dateLocale=a,this[r("0x4689")]=null,this[r("0x36eb")]=null,this[r("0x1feb")]=null,this[r("0x3bd")]=null}n[e("0x4670")]=[e("0x4728"),e("0x26ba")],a.$inject=[e("0x4998"),"$$mdDateUtil",e("0x1603")],t.module("material.components.datepicker")[e("0x1b75")](e("0x231b"),n),a.prototype[e("0x3892")]=function(){var t=e,n=this[t("0x2e18")][t("0x2000")](this.calendarCtrl.firstRenderableDate,this[t("0x1feb")]);this[t("0x4998")].empty()[t("0x136a")](this[t("0x280e")](n)),this[t("0x3bd")]&&(this[t("0x3bd")].classList[t("0x2d6e")](this[t("0x36eb")][t("0x149c")]),this.focusAfterAppend=null)},a[e("0x20f")][e("0x3686")]=function(t){var n=e,a=this[n("0x4689")],r=this[n("0x36eb")],i=document[n("0x4202")]("td");if(i[n("0x322f")]=-1,i.classList[n("0x2d6e")](n("0x9ed")),i[n("0x4480")](n("0x3517"),n("0x4ec1")),t){i[n("0x4480")]("tabindex","-1"),i.setAttribute("aria-label",this[n("0x44ca")][n("0x23b1")](t)),i.id=r[n("0x4cfa")](t,n("0x1b62")),i[n("0x4480")](n("0x3aae"),t.getTime()),this[n("0x2e18")][n("0x877")](t,r.today)&&i[n("0x1e2d")][n("0x2d6e")](r.TODAY_CLASS),this[n("0x2e18")].isValidDate(r[n("0x1134")])&&this[n("0x2e18")][n("0x877")](t,r[n("0x1134")])&&(i[n("0x1e2d")].add(r[n("0x3ee4")]),i[n("0x4480")](n("0x2126"),n("0x1509")));var o=this[n("0x44ca")].dates[t[n("0x18f4")]()];if(this[n("0x1b35")](t)){var x=document[n("0x4202")]("span");x[n("0x1e2d")][n("0x2d6e")](n("0x18e0")),x[n("0x12ee")]=o,i[n("0x4238")](x),i[n("0x4944")](n("0x7cb"),a[n("0x349e")]),r.displayDate&&this[n("0x2e18")].isSameDay(t,r[n("0x4e1b")])&&(this[n("0x3bd")]=i)}else i.classList[n("0x2d6e")](n("0x1aee")),i[n("0x12ee")]=o}return i},a[e("0x20f")][e("0x1b35")]=function(n){var a=e;return this[a("0x2e18")][a("0x4915")](n,this[a("0x36eb")][a("0x1d23")],this.calendarCtrl.maxDate)&&(!t[a("0x4977")](this[a("0x36eb")].dateFilter)||this[a("0x36eb")].dateFilter(n))},a[e("0x20f")][e("0x386d")]=function(t){var n=e,a=document[n("0x4202")]("tr");return a.setAttribute(n("0x3517"),"row"),a.setAttribute(n("0x194a"),this[n("0x44ca")][n("0x157")](t)),a},a[e("0x20f")][e("0x280e")]=function(t){var n=e,a=this[n("0x2e18")][n("0x25b2")](t)?t:new Date,r=this[n("0x2e18")][n("0x5002")](a),i=this[n("0x4206")](r),o=this[n("0x2e18")].getNumberOfDaysInMonth(a),x=document[n("0x837")](),s=1,c=this[n("0x386d")](s);x[n("0x4238")](c);var l=this[n("0x1feb")]===this[n("0x4689")][n("0x158a")][n("0x5e9")]-1,d=0,u=document[n("0x4202")]("td"),f=document.createElement(n("0x299e")),m=this.calendarCtrl;if(f[n("0x12ee")]=this[n("0x44ca")].monthHeaderFormatter(a),u[n("0x4238")](f),u.classList.add(n("0x558")),m[n("0x16d9")]&&r>m[n("0x16d9")]?u[n("0x1e2d")][n("0x2d6e")](n("0x3213")):!m[n("0x38aa")]&&(u.addEventListener(n("0x7cb"),this[n("0x4689")][n("0x409d")]),u.setAttribute(n("0x3aae"),r[n("0x4dad")]()),u.setAttribute(n("0x194a"),this[n("0x44ca")][n("0x4bad")](a)),u.classList[n("0x2d6e")](n("0x29cd")),u[n("0x4238")](this[n("0x1ae2")][n("0x3e91")](!0))),i<=2){u[n("0x4480")](n("0x36df"),"7");var b=this[n("0x386d")]();if(b[n("0x4238")](u),x[n("0x1437")](b,c),l)return x}else d=3,u[n("0x4480")](n("0x36df"),"3"),c[n("0x4238")](u);for(var _=d;_<i;_++)c[n("0x4238")](this[n("0x3686")]());for(var p=i,h=r,g=1;g<=o;g++){if(7===p){if(l)return x;p=0,s++,c=this[n("0x386d")](s),x[n("0x4238")](c)}h[n("0x354d")](g);var v=this[n("0x3686")](h);c[n("0x4238")](v),p++}for(;c.childNodes.length<7;)c.appendChild(this[n("0x3686")]());for(;x.childNodes[n("0x5e9")]<6;){for(var S=this[n("0x386d")](),E=0;E<7;E++)S[n("0x4238")](this[n("0x3686")]());x[n("0x4238")](S)}return x},a[e("0x20f")].getLocaleDay_=function(t){var n=e;return(t.getDay()+(7-this[n("0x44ca")][n("0x3009")]))%7}}(),function(){var e=a2_0x37cf;function n(t,n,a,r,i,o){var x=e;this[x("0x4998")]=t,this[x("0x36af")]=n,this[x("0xc00")]=a,this.$q=r,this.dateUtil=i,this[x("0x27e9")]=t[0][x("0x31f7")](".md-virtual-repeat-scroller"),this[x("0x2b65")]=!1,this[x("0x912")]=!1,this[x("0xfb8")]=o;var s=this;this.cellClickHandler=function(){var e=x;s[e("0x18d6")](i[e("0x35bb")](this))}}n[e("0x4670")]=[e("0x4998"),e("0x36af"),e("0xc00"),"$q",e("0x308b"),"$mdUtil"],t[e("0x39e9")](e("0x1c3"))[e("0x1b75")]("mdCalendarYear",(function(){var t=e;return{template:'<div class="md-calendar-scroll-mask"><md-virtual-repeat-container class="md-calendar-scroll-container">'+t("0x16cc")+"<tbody "+t("0x8ef")+t("0x1f87")+t("0x7ec")+t("0x2616")+'md-start-index="yearCtrl.getFocusedYearIndex()" '+t("0x2a20")+'88">'+t("0x3ef5")+88+t("0x4e42")+t("0x1e0b")+t("0x44cf")+t("0x4a06")+"</div>",require:["^^mdCalendar",t("0x4a0e")],controller:n,controllerAs:t("0x3ac1"),bindToController:!0,link:function(e,t,n,a){var r=a[0];a[1].initialize(r)}}})),n.prototype[e("0x278b")]=function(t){var n=e;this.items={length:this[n("0x2e18")][n("0x15b8")](t[n("0x4082")],t.lastRenderableDate)+1},this[n("0x36eb")]=t,this[n("0x4039")](),t[n("0x268b")](),t[n("0x1df3")]&&t[n("0x1df3")][n("0x4dbb")]()},n[e("0x20f")][e("0x40e4")]=function(){var t=e,n=this.calendarCtrl;return this.dateUtil.getYearDistance(n[t("0x4082")],n[t("0x4e1b")]||n.selectedDate||n.today)},n[e("0x20f")][e("0x895")]=function(t){var n=e;if(!this[n("0x2b65")])return this[n("0x36eb")][n("0x103e")](this),this[n("0x2b65")]=!0,this.$q[n("0x2c66")]();if(this.dateUtil[n("0x25b2")](t)&&!this.isMonthTransitionInProgress){var a=this,r=this[n("0x3573")](t);return a[n("0x912")]=!0,a[n("0x36eb")].displayDate=t,r[n("0x34e8")]((function(){a[n("0x912")]=!1}))}},n[e("0x20f")][e("0x3573")]=function(t){var n=e;if(this[n("0x2e18")][n("0x25b2")](t)){var a=this.dateUtil[n("0x15b8")](this[n("0x36eb")][n("0x4082")],t);this[n("0x27e9")][n("0x1423")]=88*a}return this.$q.when()},n.prototype[e("0x1fc")]=function(t,n){var a=e,r=this,i=r.calendarCtrl,o=i[a("0x4e1b")];if(n===a("0x2d7b"))r[a("0x895")](o)[a("0x34e8")]((function(){r[a("0x18d6")](o)}));else{var x=null,s=r[a("0x2e18")];switch(n){case a("0x277e"):x=s[a("0x2000")](o,1);break;case a("0xff0"):x=s[a("0x2000")](o,-1);break;case a("0x2cec"):x=s[a("0x2000")](o,6);break;case a("0x329a"):x=s.incrementMonths(o,-6)}if(x){var c=i.minDate?s[a("0x5002")](i[a("0x1d23")]):null,l=i[a("0x16d9")]?s[a("0x5002")](i[a("0x16d9")]):null;x=s[a("0x5002")](r.dateUtil[a("0x27b5")](x,c,l)),r.changeDate(x)[a("0x34e8")]((function(){i[a("0x789")](x)}))}}},n[e("0x20f")][e("0x4039")]=function(){var n=e,a=this;a[n("0x36af")][n("0x24c9")](n("0x107a"),(function(e,t){var r=n;a.calendarCtrl[r("0x58f")](t?a[r("0x2e18")][r("0x5002")](t):t),a.changeDate(t)})),a.$scope[n("0x24c9")](n("0x2ddd"),t[n("0x2b0c")](a,a.handleKeyEvent))},n.prototype[e("0x18d6")]=function(t){var n=e,a=this[n("0x36eb")];a[n("0x38aa")]?this[n("0xfb8")][n("0x4ee4")]((function(){a[n("0x62f")](new Date(t))})):a[n("0x31a9")](n("0x1b62"),t)}}(),function(){var e=a2_0x37cf;function n(t,n,a){var r=e;this[r("0x4998")]=t,this.dateUtil=n,this[r("0x44ca")]=a,this.calendarCtrl=null,this[r("0x3ac1")]=null,this[r("0x1feb")]=null,this[r("0x3bd")]=null}n[e("0x4670")]=["$element",e("0x308b"),e("0x1603")],t[e("0x39e9")](e("0x1c3"))[e("0x1b75")](e("0x188e"),(function(){var a=e;return{require:[a("0x123b"),"^^mdCalendarYear","mdCalendarYearBody"],scope:{offset:a("0x1b4d")},controller:n,controllerAs:"mdYearBodyCtrl",bindToController:!0,link:function(e,n,r,i){var o=a,x=i[0],s=i[1],c=i[2];c[o("0x36eb")]=x,c[o("0x3ac1")]=s,e[o("0x7a")]((function(){return c.offset}),(function(e){var n=o;t[n("0x1ba0")](e)&&c[n("0x3892")]()}))}}})),n[e("0x20f")][e("0x3892")]=function(){var t=e,n=this[t("0x2e18")].incrementYears(this[t("0x36eb")].firstRenderableDate,this[t("0x1feb")]);this.$element[t("0x21c")]()[t("0x136a")](this.buildCalendarForYear(n)),this[t("0x3bd")]&&(this[t("0x3bd")][t("0x1e2d")][t("0x2d6e")](this[t("0x36eb")][t("0x149c")]),this.focusAfterAppend=null)},n.prototype[e("0x2e70")]=function(n,a){var r=e,i=this[r("0x36eb")],o=this[r("0x3ac1")],x=this[r("0x33ed")](),s=new Date(n,a,1);x.setAttribute(r("0x194a"),this[r("0x44ca")][r("0x4bad")](s)),x.id=i[r("0x4cfa")](s,r("0x572")),x[r("0x4480")](r("0x3aae"),String(s[r("0x4dad")]())),this[r("0x2e18")][r("0x4262")](s,i[r("0x1a11")])&&x[r("0x1e2d")][r("0x2d6e")](i[r("0x210")]),this[r("0x2e18")].isValidDate(i.selectedDate)&&this.dateUtil[r("0x4262")](s,i[r("0x1134")])&&(x[r("0x1e2d")][r("0x2d6e")](i[r("0x3ee4")]),x[r("0x4480")](r("0x2126"),"true"));var c=this[r("0x44ca")][r("0xc88")][a];if(!this[r("0x2e18")][r("0x1284")](s,i[r("0x1d23")],i.maxDate)||t[r("0x4977")](i[r("0x47a5")])&&!i[r("0x47a5")](s))x.classList.add(r("0x1aee")),x[r("0x12ee")]=c;else{var l=document[r("0x4202")](r("0x299e"));l[r("0x1e2d")].add(r("0x18e0")),l[r("0x12ee")]=c,x[r("0x4238")](l),x[r("0x4944")](r("0x7cb"),o[r("0x349e")]),i[r("0x4e1b")]&&this[r("0x2e18")][r("0x4262")](s,i[r("0x4e1b")])&&(this[r("0x3bd")]=x)}return x},n[e("0x20f")][e("0x33ed")]=function(){var t=e,n=document.createElement("td");return n[t("0x322f")]=-1,n[t("0x1e2d")][t("0x2d6e")]("md-calendar-date"),n[t("0x4480")](t("0x3517"),t("0x4ec1")),n[t("0x4480")](t("0x562"),"-1"),n},n[e("0x20f")][e("0xc8a")]=function(t){var n,a=e,r=t[a("0x3915")](),i=document[a("0x837")](),o=document.createElement("tr"),x=document.createElement("td");for(x.className=a("0x558"),x[a("0x12ee")]=String(r),o[a("0x4238")](x),n=0;n<6;n++)o.appendChild(this.buildMonthCell(r,n));i[a("0x4238")](o);var s=document[a("0x4202")]("tr");for(s[a("0x4238")](this[a("0x33ed")]()),n=6;n<12;n++)s.appendChild(this[a("0x2e70")](r,n));return i[a("0x4238")](s),i}}(),p=a2_0x37cf,t.module(p("0x1c3"))[p("0x1805")]([p("0x193e"),function(e){var t=p;function n(){var e=a2_0x37cf;this.months=null,this[e("0xc88")]=null,this[e("0x276c")]=null,this[e("0x251c")]=null,this[e("0x379")]=null,this[e("0x3009")]=0,this.formatDate=null,this[e("0x1aab")]=null,this.monthHeaderFormatter=null,this[e("0x157")]=null,this[e("0x23b1")]=null,this[e("0xa0")]=null,this.msgCalendar="",this[e("0x4b79")]=""}n[t("0x20f")].$get=function(e,n){for(var a=t,r=e[a("0x32e")][a("0x30e1")][a("0x19e8")]((function(e){return e[a("0x35e7")](0,1)})),i=Array(32),o=1;o<=31;o++)i[o]=o;var x=a("0x36fc"),s=new Date(1880,0,1),c=new Date(s.getFullYear()+250,0,1),l={months:this[a("0x3dc5")]||e[a("0x32e")][a("0x4a4")],shortMonths:this[a("0xc88")]||e[a("0x32e")].SHORTMONTH,days:this[a("0x276c")]||e.DATETIME_FORMATS[a("0x1883")],shortDays:this.shortDays||r,dates:this.dates||i,firstDayOfWeek:this[a("0x3009")]||0,formatDate:this[a("0x47fb")]||function(e,t){var a=a2_0x37cf;if(!e)return"";var r=e[a("0x2b00")](),i=e;return 0===e[a("0x40a0")]()&&(-1!==r[a("0x3507")]("11:")||-1!==r[a("0x3507")]("23:"))&&(i=new Date(e[a("0x3915")](),e[a("0x1d51")](),e[a("0x18f4")](),1,0,0)),n(a("0x306c"))(i,a("0x355d"),t)},parseDate:this.parseDate||function(e){return new Date(e)},isDateComplete:this[a("0xa0")]||function(e){var t=a2_0x37cf;return e=e[t("0x2dc4")](),/^(([a-zA-Z]{3,}|[0-9]{1,4})([ .,]+|[/-])){2}([a-zA-Z]{3,}|[0-9]{1,4})$/[t("0x3ff3")](e)},monthHeaderFormatter:this[a("0x3637")]||function(e){var t=a2_0x37cf;return l[t("0xc88")][e[t("0x1d51")]()]+" "+e[t("0x3915")]()},monthFormatter:this[a("0x4bad")]||function(e){var t=a2_0x37cf;return l.months[e[t("0x1d51")]()]+" "+e[t("0x3915")]()},weekNumberFormatter:this[a("0x157")]||function(e){return a2_0x37cf("0x16d4")+e},longDateFormatter:this[a("0x23b1")]||function(e){var t=a2_0x37cf;return[l.days[e[t("0xd2b")]()],l[t("0x3dc5")][e[t("0x1d51")]()],l[t("0x379")][e[t("0x18f4")]()],e[t("0x3915")]()][t("0xc60")](" ")},msgCalendar:this[a("0xe0d")]||x,msgOpenCalendar:this[a("0x4b79")]||"Open calendar",firstRenderableDate:this.firstRenderableDate||s,lastRenderableDate:this[a("0xbaa")]||c};return l},n[t("0x20f")].$get.$inject=[t("0x1e84"),"$filter"],e.provider(t("0x1603"),new n)}]),t[(_=a2_0x37cf)("0x39e9")](_("0x1c3"))[_("0x3faf")](_("0x308b"),["$mdDateLocale",function(e){return{getFirstDateOfMonth:n,getNumberOfDaysInMonth:a,getDateInNextMonth:r,getDateInPreviousMonth:i,isInNextMonth:function(e,t){return o(r(e),t)},isInPreviousMonth:function(e,t){var n=i(e);return o(t,n)},getDateMidpoint:function(e,t){var n=a2_0x37cf;return l((e.getTime()+t[n("0x4dad")]())/2)},isSameMonthAndYear:o,getWeekOfMonth:function(e){var t=a2_0x37cf,a=n(e);return Math[t("0x4184")]((a[t("0xd2b")]()+e.getDate()-1)/7)},incrementDays:function(e,t){var n=a2_0x37cf;return new Date(e[n("0x3915")](),e[n("0x1d51")](),e[n("0x18f4")]()+t)},incrementMonths:x,getLastDateOfMonth:function(e){var t=a2_0x37cf;return new Date(e.getFullYear(),e[t("0x1d51")](),a(e))},isSameDay:function(e,t){return e[a2_0x37cf("0x18f4")]()==t.getDate()&&o(e,t)},getMonthDistance:function(e,t){var n=a2_0x37cf;return 12*(t[n("0x3915")]()-e[n("0x3915")]())+(t[n("0x1d51")]()-e[n("0x1d51")]())},isValidDate:s,setDateTimeToMidnight:c,createDateAtMidnight:l,isDateWithinRange:function(e,t,n){var a=l(e),r=s(t)?l(t):null,i=s(n)?l(n):null;return(!r||r<=a)&&(!i||i>=a)},incrementYears:function(e,t){return x(e,12*t)},getYearDistance:function(e,t){var n=a2_0x37cf;return t[n("0x3915")]()-e[n("0x3915")]()},clampDate:function(e,t,n){var a=a2_0x37cf,r=e;return t&&e<t&&(r=new Date(t[a("0x4dad")]())),n&&e>n&&(r=new Date(n[a("0x4dad")]())),r},getTimestampFromNode:function(e){var t=a2_0x37cf;if(e&&e[t("0x3a67")](t("0x3aae")))return Number(e[t("0x22b9")]("data-timestamp"))},isMonthWithinRange:function(e,t,n){var a=a2_0x37cf,r=e[a("0x1d51")](),i=e[a("0x3915")]();return(!t||t[a("0x3915")]()<i||t[a("0x1d51")]()<=r)&&(!n||n[a("0x3915")]()>i||n[a("0x1d51")]()>=r)},removeLocalTzAndReparseDate:function(t){var n,a,r=a2_0x37cf;return n=new Date(t[r("0x4dad")]()+6e4*t.getTimezoneOffset()),a=e.formatDate(n),e[r("0x1aab")](a)}};function n(e){var t=a2_0x37cf;return new Date(e[t("0x3915")](),e[t("0x1d51")](),1)}function a(e){var t=a2_0x37cf;return new Date(e[t("0x3915")](),e.getMonth()+1,0)[t("0x18f4")]()}function r(e){var t=a2_0x37cf;return new Date(e[t("0x3915")](),e[t("0x1d51")]()+1,1)}function i(e){return new Date(e[a2_0x37cf("0x3915")](),e.getMonth()-1,1)}function o(e,t){var n=a2_0x37cf;return e[n("0x3915")]()===t[n("0x3915")]()&&e[n("0x1d51")]()===t[n("0x1d51")]()}function x(e,t){var n=a2_0x37cf,r=new Date(e.getFullYear(),e[n("0x1d51")]()+t,1),i=a(r);return i<e[n("0x18f4")]()?r[n("0x354d")](i):r.setDate(e[n("0x18f4")]()),r}function s(e){var t=a2_0x37cf;return e&&e[t("0x4dad")]&&!isNaN(e[t("0x4dad")]())}function c(e){var t=a2_0x37cf;s(e)&&e[t("0x3eef")](0,0,0,0)}function l(e){var n;return c(n=t[a2_0x37cf("0x24a9")](e)?e:t.isNumber(e)?new Date(e):new Date),n}}]),function(){var a=a2_0x37cf;function r(e,n,r,i){var o=a;return{template:function(t,n){var a=a2_0x37cf,r=n[a("0x1f5b")],i=n[a("0xaee")]||n[a("0x44e1")],o=n[a("0x31d")],x=r===a("0x3217")||r===a("0x25f4")?"":a("0x1375")+a("0x19a5")+a("0x481b")+a("0x225b")+a("0x4358")+e.mdCalendar+a("0x1c0b")+a("0x3279"),s="";return r!==a("0x3217")&&r!==a("0x4142")&&(s=""+a("0x1c8e")+a("0x1068")+'ng-click="ctrl.openCalendarPane($event)" '+a("0x5f1")+a("0x34fc")+a("0x3279"),t[a("0x31dc")](c)),x+a("0x46bf")+a("0x34d2")+(i?a("0x38fe")+i+'" ':"")+a("0x2b48")+a("0x2687")+'ng-focus="ctrl.setFocused(true)" '+a("0x214")+s+"</div>"+a("0x3afc")+a("0x25a0")+'<div class="md-datepicker-input-mask-opaque"></div>'+a("0x1fa8")+a("0x250c")+'<md-calendar role="dialog" aria-label="{{::ctrl.locale.msgCalendar}}" '+a("0x495b")+a("0xa8b")+'md-min-date="ctrl.minDate" '+a("0x3835")+a("0x15f0")+a("0x1ec1")+(o?a("0x4bfc")+o+'" ':"")+a("0x25d8")+a("0x2d5d")+a("0x1fa8")+a("0x1fa8")},require:["ngModel",o("0x2b86"),o("0x4e3"),"?^form"],scope:{minDate:o("0x17d7"),maxDate:o("0x99"),placeholder:"@mdPlaceholder",currentView:o("0x4865"),mode:o("0x2be7"),dateFilter:"=mdDateFilter",monthFilter:o("0x189f"),isOpen:o("0x28a6"),debounceInterval:o("0x2a34"),dateLocale:o("0x3253")},controller:u,controllerAs:o("0xd7a"),bindToController:!0,link:function(e,a,c,l){var d=o,u=l[0],f=l[1],m=l[2],b=l[3],_=n[d("0x41a5")](c.mdNoAsterisk);if(f[d("0xa82")](u,m,i),m){var p=a[0][d("0x31f7")](".md-errors-spacer");p&&a[d("0x477b")](t[d("0xb48")]("<div>").append(p)),m[d("0x4921")](c[d("0x44e1")]),m[d("0x3f87")]=a,m[d("0xb48")].addClass(x)[d("0x411b")](s,c.mdHideIcons!==d("0x25f4")&&"all"!==c.mdHideIcons),m[d("0x32b")]?!_&&c[d("0xf52")](d("0x4c36"),(function(e){var t=d;m[t("0x32b")][t("0x411b")](t("0xb68"),!!e)})):r[d("0x1aa6")](a,"aria-label",c.mdPlaceholder),e.$watch(m.isErrorGetter||function(){var e=d;return u.$invalid&&(u.$touched||b&&b[e("0x1757")])},m[d("0x2aad")])}else if(b)var h=e[d("0x7a")]((function(){return b.$submitted}),(function(e){e&&(f.updateErrorState(),h())}))}}}u[a("0x4670")]=["$scope",a("0x4998"),a("0x428f"),a("0xe11"),a("0x4572"),a("0x191b"),"$mdUtil",a("0x1603"),a("0x308b"),a("0x47aa"),a("0x404d"),a("0x38d4")],r[a("0x4670")]=[a("0x26ba"),a("0xfb8"),a("0x219f"),a("0x3930")],t[a("0x39e9")](a("0x1c3"))[a("0x1b75")](a("0x2b86"),r);var i=a("0x4f51"),o=a("0xb1f"),x=a("0x4972"),s=a("0x2217"),c=a("0x2c7f"),l=360,d=/ipad|iphone|ipod|android/i;function u(r,i,o,x,s,c,l,u,f,m,b,_){var p=a;this[p("0xe11")]=x,this.dateUtil=f,this.$mdConstant=s,this[p("0xfb8")]=l,this[p("0x47aa")]=m,this[p("0x1603")]=u,this[p("0x38d4")]=_,this.documentElement=t[p("0xb48")](document[p("0x4c17")]),this[p("0x1df3")]=null,this[p("0x1a1c")]=i[0][p("0x31f7")](p("0x3f87")),this.ngInputElement=t[p("0xb48")](this[p("0x1a1c")]),this[p("0x2b3e")]=i[0][p("0x31f7")](p("0x22d5")),this[p("0x15a7")]=i[0][p("0x31f7")](".md-datepicker-calendar-pane"),this[p("0x229e")]=i[0][p("0x31f7")](p("0xc80")),this[p("0x4545")]=t[p("0xb48")](i[0][p("0x31f7")](p("0x44de"))),this[p("0x4998")]=i,this.$attrs=o,this[p("0x36af")]=r,this.date=null,this.isFocused=!1,this[p("0xf9e")]=n,this[p("0x73f")](i[0][p("0x1c54")]||t[p("0x1236")](o.disabled)),this[p("0x2940")]=!1,this[p("0x397c")]=o[p("0x1bd4")]("mdOpenOnFocus"),this[p("0xbd0")]=null,this.calendarPaneOpenedFrom=null,this.calendarPaneId="md-date-pane-"+l[p("0x2feb")](),this[p("0x74")]=t.bind(this,this[p("0x6fb")]),this.windowEventName=d[p("0x3ff3")](navigator[p("0x22fc")]||navigator.vendor||e[p("0x1ffb")])?"orientationchange":p("0x39d4"),this.windowEventHandler=l[p("0x1f89")](t.bind(this,this[p("0x2174")]),100),this.windowBlurHandler=t[p("0x2b0c")](this,this[p("0x1589")]),this[p("0x7e5")]=b(p("0x306c")),this.leftMargin=20,this.topMargin=null,o[p("0x562")]?(this.ngInputElement[p("0x417f")]("tabindex",o.tabindex),o[p("0x35be")]("tabindex",null)):o[p("0x35be")]("tabindex","-1"),o[p("0x35be")](p("0x1db8"),this[p("0x4805")]),c(i),c(t[p("0xb48")](this.calendarPane));var h=this;r[p("0x24c9")](p("0x4c91"),(function(){h[p("0x1b7c")]()})),o.mdIsOpen&&r.$watch(p("0x34f5"),(function(e){var t=p;e?h[t("0x264d")]({target:h[t("0x1a1c")]}):h[t("0x2174")]()})),1===t.version[p("0x2c74")]&&t[p("0x10ea")][p("0x8b1")]<=4&&this[p("0x4393")]()}u[a("0x20f")].$onInit=function(){var e=a;this[e("0xf15")]=this[e("0x44ca")]?t[e("0x3448")]({},this[e("0x1603")],this[e("0x44ca")]):this[e("0x1603")],this[e("0x1e27")](),this.attachChangeListeners(),this[e("0xde5")]()},u[a("0x20f")][a("0xa82")]=function(e,n,r){var i=a;this.ngModelCtrl=e,this.mdInputContainer=n,this.$attrs[i("0x35be")]("type",i("0x306c")),r[0][i("0x28f2")][i("0x3bf0")](this[i("0x36af")],{on:t[i("0x49d1")],val:t.noop,0:{}},this[i("0x428f")],[e]);var o=this;o[i("0x1df3")][i("0x3b53")][i("0x459a")]((function(e){var n=i,a=t[n("0x64a")](e)?e:null;if(!(e instanceof Date)&&(a=Date[n("0x1fb8")](e),!isNaN(a)&&t[n("0x1ba0")](a)&&(e=new Date(a)),e&&!(e instanceof Date)))throw Error(n("0x3863")+n("0x38f2")+typeof e);return o[n("0x30a")](e),e})),e[i("0x302a")].unshift(t[i("0x2b0c")](this,this.updateErrorState));var x=o[i("0xfb8")][i("0x31d0")](e,"updateOn");x&&this[i("0xb6")].on(x,t[i("0x2b0c")](this[i("0x4998")],this.$element[i("0x59d")],x))},u[a("0x20f")][a("0x22d3")]=function(){var e=a,n=this;n.$scope[e("0x24c9")](e("0x1576"),(function(t,a){var r=e;n[r("0x2133")](a),n[r("0x30a")](a),n.closeCalendarPane()})),n[e("0xb6")].on(e("0x3f87"),t[e("0x2b0c")](n,n[e("0x3d00")]));var r=t[e("0x64a")](this[e("0x3bf3")])?this[e("0x3bf3")]:500;n[e("0xb6")].on("input",n[e("0xfb8")][e("0x1f89")](n[e("0x189b")],r,n))},u.prototype[a("0xde5")]=function(){var e=a,n=this,r=this.$scope,i=this[e("0x4572")][e("0x4c0f")];n[e("0xb6")].on(e("0x468d"),(function(t){var a=e;t[a("0x42a6")]&&t[a("0x4ff2")]===i.DOWN_ARROW&&(n.openCalendarPane(t),r.$digest())})),n[e("0x397c")]&&(n[e("0xb6")].on("focus",t[e("0x2b0c")](n,n[e("0x264d")])),n[e("0xb6")].on(e("0x7cb"),(function(t){t[e("0x4c98")]()})),n[e("0xb6")].on("pointerdown",(function(t){var n=e;t.target&&t[n("0x55d")][n("0x408")]&&t[n("0x55d")][n("0x408")](t[n("0x2089")])})),t[e("0xb48")](n.$window).on("blur",n[e("0x1d3")]),r.$on(e("0x4c91"),(function(){var a=e;t[a("0xb48")](n[a("0xe11")]).off(a("0x4a1"),n[a("0x1d3")])}))),r[e("0x24c9")](e("0x2021"),(function(){n[e("0x2174")]()}))},u[a("0x20f")][a("0x1e27")]=function(){var e=a,t=this;if(this[e("0x428f")][e("0x28cb")]){var n=this[e("0x36af")].$parent;n&&n[e("0x7a")](this[e("0x428f")][e("0x28cb")],(function(n){t[e("0x73f")](n)}))}Object[e("0x47ad")](this,"placeholder",{get:function(){var n=e;return t[n("0x1a1c")][n("0x21e2")]},set:function(n){var a=e;t[a("0x1a1c")][a("0x21e2")]=n||""}})},u[a("0x20f")][a("0x73f")]=function(e){var t=a;this.isDisabled=e,this[t("0x1a1c")].disabled=e,this[t("0x229e")]&&(this.calendarButton[t("0x1c54")]=e)},u[a("0x20f")].updateErrorState=function(e){var n=a,r=e||this[n("0x306c")];if(this[n("0x2d43")](),this.dateUtil[n("0x25b2")](r)){if(r=this[n("0x2e18")][n("0x3dab")](r),this[n("0x2e18")].isValidDate(this[n("0x1d23")])){var o=this.dateUtil[n("0x3dab")](this[n("0x1d23")]);this[n("0x1df3")][n("0x234f")](n("0x41e5"),r>=o)}if(this[n("0x2e18")].isValidDate(this.maxDate)){var x=this.dateUtil[n("0x3dab")](this[n("0x16d9")]);this[n("0x1df3")].$setValidity("maxdate",r<=x)}t.isFunction(this[n("0x4371")])&&this.ngModelCtrl[n("0x234f")](n("0x8f5"),this[n("0x4371")](r)),t[n("0x4977")](this[n("0x47a5")])&&this[n("0x1df3")][n("0x234f")]("filtered",this[n("0x47a5")](r))}else this[n("0x1df3")].$setValidity(n("0x1d57"),null==r);var s=this[n("0x1a1c")][n("0x3a33")],c=this[n("0xf15")][n("0x1aab")](s);!this.isInputValid(s,c)&&this[n("0x1df3")][n("0x4655")]&&this[n("0x1df3")][n("0x234f")](n("0x1d57"),null==r),t[n("0xb48")](this[n("0x2b3e")])[n("0x411b")](i,this[n("0x1df3")][n("0x1d4c")]&&(this.ngModelCtrl[n("0x47cd")]||this[n("0x1df3")].$submitted))},u[a("0x20f")][a("0x3a60")]=function(e,t){var n=a;return""===e||this[n("0x2e18")][n("0x25b2")](t)&&this.locale[n("0xa0")](e)&&this[n("0x1b35")](t)},u.prototype[a("0x2d43")]=function(){var e=a;this[e("0x2b3e")][e("0x1e2d")][e("0xf82")](i),[e("0x41e5"),e("0x3bf5"),e("0x8f5"),e("0x1d57")].forEach((function(t){var n=e;this[n("0x1df3")][n("0x234f")](t,!0)}),this)},u.prototype[a("0x3d00")]=function(){var e=a;this[e("0x1a1c")][e("0x27ff")]=this.inputElement[e("0x3a33")][e("0x5e9")]+3},u[a("0x20f")][a("0x189b")]=function(){var e=a,t=this[e("0x1a1c")].value,n=t?this[e("0xf15")][e("0x1aab")](t):null;this[e("0x2e18")][e("0x5c1")](n),this[e("0x3a60")](t,n)&&(this.setModelValue(n),this[e("0x306c")]=n),this[e("0x3376")](n)},u.prototype[a("0x1b35")]=function(e){var n=a;return this[n("0x2e18")][n("0x4915")](e,this.minDate,this[n("0x16d9")])&&(!t.isFunction(this[n("0x4371")])||this[n("0x4371")](e))&&(!t[n("0x4977")](this[n("0x47a5")])||this[n("0x47a5")](e))},u.prototype[a("0x1175")]=function(){var e=a,n=this.calendarPane,r=document[e("0x3b3e")];n.style.transform="",this[e("0x4998")].addClass(o),this[e("0xbd0")]&&this[e("0xbd0")].element.addClass(o),t[e("0xb48")](r)[e("0x31dc")](e("0x4609"));var i=this[e("0x2b3e")][e("0x1a8b")](),x=r[e("0x1a8b")]();(!this[e("0x28f")]||this.topMargin<0)&&(this[e("0x28f")]=(this[e("0x4545")][e("0x731")]().prop("clientHeight")-this[e("0xb6")][e("0x40ea")]("clientHeight"))/2);var s=i.top-x[e("0x228a")]-this.topMargin,c=i[e("0x2885")]-x[e("0x2885")]-this[e("0x130d")],d=x.top<0&&0===document[e("0x3b3e")].scrollTop?-x[e("0x228a")]:document[e("0x3b3e")].scrollTop,u=x[e("0x2885")]<0&&0===document.body[e("0xc1")]?-x[e("0x2885")]:document[e("0x3b3e")][e("0xc1")],f=d+this[e("0xe11")][e("0x4b6b")],m=u+this.$window.innerWidth;if(this.inputMask[e("0x42b1")]({position:e("0xc1a"),left:this[e("0x130d")]+"px",top:this[e("0x28f")]+"px",width:i[e("0xbbf")]-1+"px",height:i[e("0x4e66")]-2+"px"}),c+l>m){if(m-l>0)c=m-l;else{c=u;var b=this[e("0xe11")][e("0x105d")]/l;n[e("0x4025")].transform=e("0x3e01")+b+")"}n[e("0x1e2d")][e("0x2d6e")]("md-datepicker-pos-adjusted")}s+368>f&&f-368>d&&(s=f-368,n[e("0x1e2d")].add(e("0x4b2a"))),n[e("0x4025")][e("0x2885")]=c+"px",n[e("0x4025")][e("0x228a")]=s+"px",document[e("0x3b3e")][e("0x4238")](n),this.$$rAF((function(){var t=e;n[t("0x1e2d")][t("0x2d6e")](t("0x36ff"))}))},u[a("0x20f")].detachCalendarPane=function(){var e=a;this[e("0x4998")][e("0xa81")](o),this[e("0xbd0")]&&this[e("0xbd0")][e("0xb48")][e("0xa81")](o),t.element(document[e("0x3b3e")])[e("0xa81")](e("0x4609")),this[e("0x15a7")][e("0x1e2d")][e("0xf82")]("md-pane-open"),this[e("0x15a7")].classList[e("0xf82")]("md-datepicker-pos-adjusted"),this.isCalendarOpen&&this[e("0xfb8")][e("0x1fbc")](),this[e("0x15a7")][e("0x368c")]&&this[e("0x15a7")].parentNode.removeChild(this[e("0x15a7")])},u[a("0x20f")][a("0x264d")]=function(t){var n=a;if(this[n("0x2940")]||this.isDisabled||this[n("0x30ef")])this[n("0x30ef")]&&this[n("0x29d6")]();else{this.isCalendarOpen=this[n("0x4447")]=!0,this[n("0x569")]=t[n("0x55d")],this[n("0xfb8")][n("0xa94")](this[n("0x15a7")]),this.attachCalendarPane(),this[n("0x4ec5")](),this[n("0x2034")](n("0x4667"));var r=this;this[n("0xfb8")][n("0x4ee4")]((function(){var e=n;r[e("0x4c17")].on("click touchstart",r[e("0x74")])}),!1),e[n("0x4944")](this.windowEventName,this[n("0x1810")])}},u.prototype[a("0x2174")]=function(){var t=a;if(this[t("0x2940")]){var n=this;n[t("0x1b7c")](),n[t("0x1df3")][t("0x49cb")](),n[t("0x2034")](t("0x2b8f")),n[t("0x4c17")][t("0x30f8")](t("0x2c32"),n[t("0x74")]),e[t("0x4b59")](n[t("0xbf0")],n[t("0x1810")]),n[t("0x569")][t("0x2beb")](),n[t("0x569")]=null,n[t("0x397c")]?n[t("0x38d4")](r):r()}function r(){n[t("0x2940")]=n.isOpen=!1}},u[a("0x20f")][a("0x40c")]=function(){var e=a;return t.element(this[e("0x15a7")][e("0x31f7")](e("0x17ac")))[e("0x1194")](e("0xe06"))},u[a("0x20f")][a("0x4ec5")]=function(){var e=a,t=this;this[e("0xfb8")][e("0x4ee4")]((function(){var n=e;t[n("0x40c")]()[n("0x789")]()}),!1)},u[a("0x20f")].setFocused=function(e){var t=a;!e&&this.ngModelCtrl[t("0x49cb")](),!this.openOnFocus&&this[t("0x2034")](e?"ngFocus":t("0x2b8f")),this[t("0x37c7")]=e},u[a("0x20f")][a("0x6fb")]=function(e){var t=a;this.isCalendarOpen&&(!this[t("0xfb8")][t("0x3731")](e.target,"md-calendar")&&this.closeCalendarPane(),this[t("0x36af")][t("0x437c")]())},u[a("0x20f")][a("0x1589")]=function(){var e=a;this[e("0x30ef")]=document[e("0x3671")]===this[e("0x1a1c")]},u.prototype[a("0x29d6")]=function(){this.inputFocusedOnWindowBlur=!1},u[a("0x20f")][a("0x2034")]=function(e){var t=a;this[t("0x428f")][e]&&this[t("0x36af")].$parent[t("0xe2b")](this.$attrs[e])},u.prototype[a("0x2133")]=function(e){var t=a,n=this.$mdUtil[t("0x31d0")](this[t("0x1df3")],"timezone");null==n||e[t("0xa01")]()<0?this.ngModelCtrl.$setViewValue(this[t("0x7e5")](e,t("0x2661")),t("0x3993")):this.ngModelCtrl.$setViewValue(this.ngDateFilter(e,t("0x2661"),n),t("0x3993"))},u[a("0x20f")][a("0x30a")]=function(e){var t=a,n=this,r=this[t("0xfb8")][t("0x31d0")](this[t("0x1df3")],t("0x68b"));this[t("0x2e18")][t("0x25b2")](e)&&null!=r&&e.getTimezoneOffset()>=0?this[t("0x306c")]=this[t("0x2e18")][t("0x3f0a")](e):this.date=e,null==r||e.getTimezoneOffset()<0?this[t("0x1a1c")].value=this[t("0xf15")].formatDate(e):this[t("0x1a1c")][t("0x3a33")]=this[t("0xf15")][t("0x47fb")](e,r),this.mdInputContainer&&this[t("0xbd0")][t("0x17e9")](!!e),this[t("0x3d00")](),this.$mdUtil[t("0x4ee4")]((function(){n[t("0x3376")]()}),!1,n[t("0x36af")])}}(),function(){var e=a2_0x37cf;function a(e,n,a){return{restrict:"E",link:function(r,i){i.addClass("_md"),n(i),e((function(){var e,n=a2_0x37cf,o=i[0].querySelector(n("0x4641"));function x(){var e=n;i[e("0x411b")](e("0x181d"),o[e("0x2afd")]>o[e("0x2838")])}o&&(e=o[n("0x3684")](n("0x11a9")),x(),t.element(e).on(n("0x2de8"),x)),r.$on(n("0x4c91"),(function(){a.destroy(i)}))}))}}}function r(a){var r,i,o=e;return s[o("0x4670")]=[o("0x475c"),o("0x4572")],c.$inject=["$mdDialog",o("0x219f"),"$mdUtil",o("0x4572"),o("0xc00"),o("0x45e2"),o("0xe11"),"$rootElement",o("0x1a4"),o("0x1f10"),o("0x191b"),o("0x3a1e"),"$mdInteraction"],a("$mdDialog").setDefaults({methods:[o("0x2769"),"hasBackdrop",o("0x4ce6"),o("0x346f"),o("0xe57"),o("0x1c34"),o("0x3c52"),o("0x731"),o("0x481c"),o("0x5c5")],options:c})[o("0x28d8")](o("0x2354"),{methods:[o("0x2fdc"),"htmlContent",o("0x12ee"),"content",o("0xaee"),"ok",o("0x4228"),o("0x42b1")],options:x})[o("0x28d8")](o("0x3ed5"),{methods:[o("0x2fdc"),o("0x42c"),"textContent",o("0xa9f"),o("0xaee"),"ok",o("0x4920"),o("0x4228"),"css"],options:x})[o("0x28d8")]("prompt",{methods:["title",o("0x42c"),o("0x12ee"),o("0x30fe"),"content",o("0x21e2"),o("0xaee"),"ok",o("0x4920"),"theme",o("0x42b1"),o("0x4c36")],options:x});function x(){var e=o;return{template:[e("0x2cfc"),e("0x4c21"),e("0x3e71"),e("0x1246"),e("0x4e0e"),e("0x3be9"),e("0x1177"),e("0x173"),e("0x2a53"),e("0x100d")+e("0x2443"),"    </md-input-container>",e("0x4e7f"),e("0x2515"),e("0x138b")+e("0x4e8f"),e("0x3661"),e("0x164a"),e("0x316")+e("0x200c"),e("0x4d67"),e("0x164a"),e("0x4030"),"</md-dialog>"][e("0xc60")]("").replace(/\s\s+/g,""),controller:s,controllerAs:e("0x201e"),bindToController:!0}}function s(e,n){var a=o;this[a("0x4393")]=function(){var r=a,i=this[r("0x67c")]==r("0x46c9");i&&this.initialValue&&(this[r("0x1e64")]=this[r("0x30fe")]),this[r("0x29cb")]=function(){e[r("0x29cb")](!i||this.result)},this[r("0x48b0")]=function(){e[r("0x4920")]()},this[r("0x1a29")]=function(a){var o=r,x=i&&this[o("0x4c36")]&&!t[o("0x64a")](this[o("0x1e64")]);a[o("0x4ff2")]===n[o("0x4c0f")][o("0x25ba")]&&!x&&e[o("0x29cb")](this[o("0x1e64")])}}}function c(e,a,o,x,s,c,l,d,u,f,m,b,_){return{hasBackdrop:!0,isolateScope:!0,onCompiling:function(e){var n=a2_0x37cf;e[n("0x3640")]=m[n("0x3640")](),function(e){var n,a=a2_0x37cf;e[a("0xe57")]&&e.targetEvent[a("0x55d")]&&(n=t.element(e[a("0xe57")][a("0x55d")]));var r=n&&n[a("0x1194")](a("0x114f"));if(e[a("0x2a33")]=!!r,!e[a("0x2a33")])return;e.themeWatch=r[a("0x32f4")];var i=e[a("0x4228")]||r[a("0x3d78")];i&&(e[a("0xd20")].theme=i);var o=r[a("0x4ea1")]((function(t){var n=a;e[n("0xd20")][n("0x4228")]=t,!e.themeWatch&&o()}))}(e)},onShow:function(e,n,a,r){var i=a2_0x37cf;t[i("0xb48")](c[0].body)[i("0x31dc")](i("0xc24"));var x=n.find(i("0x1a5e"));if(x[i("0x3a35")]("ng-cloak")){u[i("0x1dc6")]("$mdDialog: using `<md-dialog ng-cloak>` will affect the dialog opening animations.",n[0])}return p(a),v(x,a),g(e,n,a),h(n,a),E(n,a).then((function(){var e;(function(e,t){var n=a2_0x37cf,a=!0;function r(e){for(var t=n,a=[];e[t("0x368c")];){if(e===document[t("0x3b3e")])return a;for(var r=e[t("0x368c")][t("0x71b")],i=0;i<r[t("0x5e9")];i++)e!==r[i]&&!A(r[i],["SCRIPT",t("0xba2")])&&!r[i][t("0x3a67")](t("0x42a2"))&&a[t("0x459a")](r[i]);e=e[t("0x368c")]}return a}function i(e){for(var t=n,i=r(e),o=0;o<i[t("0x5e9")];o++)i[o][t("0x4480")](t("0x240d"),a)}i(e[0]),t[n("0x41d")]=function(){var r=n;a=!1,i(e[0]),t[r("0x41d")]=null}})(n,a),e=i,n[0].querySelector(".md-actions")&&u[e("0x1dc6")]("Using a class of md-actions is deprecated, please use <md-dialog-actions>."),function(){var e=i;if(a[e("0x751")]){(o.findFocusTarget(n)||t()||x)[e("0x2beb")]()}function t(){var t=e;return n[0][t("0x31f7")](".dialog-close, md-dialog-actions button:last-child")}}()}))},onShowing:function(e,t,n,a){var r=a2_0x37cf;if(a){var i=a.htmlContent||n[r("0x42c")]||"",o=a[r("0x12ee")]||n[r("0x12ee")]||a.content||n[r("0xa9f")]||"";if(i&&!f[r("0x519")](r("0x4581")))throw Error(r("0x8d"));if(i&&o)throw Error(r("0x1858"));a[r("0x4d5e")]=i,a[r("0x1c9c")]=o}},onRemove:function(e,n,a){var o=a2_0x37cf;return a[o("0x4e3a")](),a[o("0x41d")](),a[o("0x3d8e")](a[o("0x4c91")]),r&&r[o("0x368c")]&&r[o("0x368c")][o("0xffd")](r),i&&i[o("0x368c")]&&i[o("0x368c")][o("0xffd")](i),a.$destroy?x():function(){return e=a,t=a2_0x37cf,e[t("0x2f02")]()[t("0x34e8")]((function(){var n=t;e[n("0x163a")]&&e[n("0x1595")]()}));var e,t}()[o("0x34e8")](x);function x(){var e=o;t[e("0xb48")](c[0].body)[e("0xa81")](e("0xc24")),a.contentElement&&a[e("0x45c3")](),a[e("0xf72")](),!a.$destroy&&a[e("0x147c")]===e("0x4804")&&a.origin[e("0x2beb")]()}},clickOutsideToClose:!1,escapeToClose:!0,targetEvent:null,closeTo:null,openFrom:null,focusOnOpen:!0,disableParentScroll:!0,autoWrap:!0,fullscreen:!1,transformTemplate:function(e,t){var n,a,r=a2_0x37cf,i=b[r("0xcfc")](),o=b.endSymbol(),x=i+(t[r("0x3b33")]?"":"::")+r("0x4228")+o,s=t[r("0x2a33")]?'md-theme="'+x+'"':"";return r("0x45b4")+s+">"+(n=e,(t[(a=r)("0x11de")]&&!/<\/md-dialog>/g[a("0x3ff3")](n)?a("0x25cc")+(n||"")+"</md-dialog>":n||"")+"</div>")}};function p(e){var a=a2_0x37cf;function r(e,r){var i=a,o=t.element(e||{});if(o&&o[i("0x5e9")]){var x=t.isFunction(o[0][i("0x1a8b")]);return t[i("0x3448")](r||{},{element:x?o:n,bounds:x?o[0][i("0x1a8b")]():t[i("0x3448")]({},{top:0,left:0,height:0,width:0},o[0]),focus:t.bind(o,o[i("0x2beb")])})}}function i(e,n){return t[a("0x1236")](e)&&(e=c[0].querySelector(e)),t.element(e||n)}e.origin=t[a("0x3448")]({element:null,bounds:null,focus:t.noop},e.origin||{}),e[a("0x731")]=i(e.parent,d),e[a("0x1c34")]=r(i(e[a("0x1c34")])),e[a("0x3c52")]=r(i(e.openFrom)),e[a("0xe57")]&&(e.origin=r(e[a("0xe57")][a("0x55d")],e[a("0x25e3")]),e.originInteraction=_.getLastInteractionType())}function h(n,a){var r=a2_0x37cf,i=t.element(l),s=o.debounce((function(){S(n,a)}),60),c=[],d=function(){var t=a2_0x37cf,n=a.$type==t("0x2354")?e.hide:e[t("0x4920")];o[t("0x4ee4")](n,!0)};if(a.escapeToClose){var u=a[r("0x731")],f=function(e){var t=r;e[t("0x4ff2")]===x[t("0x4c0f")][t("0x7eb")]&&(e[t("0x360b")](),e[t("0xe50")](),d())};n.on(r("0x468d"),f),u.on(r("0x468d"),f),c.push((function(){var e=r;n.off(e("0x468d"),f),u[e("0x30f8")]("keydown",f)}))}if(i.on(r("0x39d4"),s),c[r("0x459a")]((function(){var e=r;i.off(e("0x39d4"),s)})),a[r("0x4ce6")]){var m,b=n,_=function(e){m=e[r("0x55d")]},p=function(e){var t=r;m===b[0]&&e[t("0x55d")]===b[0]&&(e[t("0x4c98")](),e[t("0xe50")](),d())};b.on(r("0x4a2b"),_),b.on(r("0x1f"),p),c.push((function(){var e=r;b[e("0x30f8")](e("0x4a2b"),_),b[e("0x30f8")](e("0x1f"),p)}))}a[r("0x4e3a")]=function(){var e=r;c[e("0x5ba")]((function(e){e()})),a[e("0x4e3a")]=null}}function g(e,t,n){var a=a2_0x37cf;n[a("0x2769")]&&(n[a("0x1a73")]=o[a("0xa94")](t,n[a("0x731")])),n[a("0x2fb9")]&&(n[a("0x4e55")]=o[a("0x43d0")](e,a("0xc4")),s[a("0x3b11")](n[a("0x4e55")],n[a("0x731")])),n[a("0x3d8e")]=function(e){var t=a;n[t("0x4e55")]&&(e?n[t("0x4e55")].remove():s.leave(n[t("0x4e55")])),n[t("0x2769")]&&(n.restoreScroll&&n[t("0x1a73")](),delete n[t("0x1a73")]),n[t("0x3d8e")]=null}}function v(e,t){var n=a2_0x37cf,x=t[n("0x67c")]===n("0x2354")?n("0x3f1a"):n("0x201e"),s=e[n("0x372f")]("md-dialog-content"),c=e[n("0x417f")]("id"),l=n("0x2e60")+(c||o[n("0x2feb")]());e[n("0x417f")]({role:x,tabIndex:"-1"}),0===s.length&&(s=e,c&&(l=c)),s[n("0x417f")]("id",l),e[n("0x417f")](n("0x3867"),l),t.ariaLabel?a[n("0x1aa6")](e,n("0x194a"),t.ariaLabel):a.expectAsync(e,n("0x194a"),(function(){var e=n;if(t[e("0x2fdc")])return t[e("0x2fdc")];var a=s.text()[e("0x9e5")](/\s+/);return a.length>3&&(a=a[e("0x9b3")](0,3)[e("0x3abc")](e("0x31d5"))),a[e("0xc60")](" ")})),(r=document[n("0x4202")]("div")).classList[n("0x2d6e")](n("0x277a")),r[n("0x322f")]=0,i=r[n("0x3e91")](!1);var d=function(){e[n("0x2beb")]()};r.addEventListener(n("0x2beb"),d),i[n("0x4944")](n("0x2beb"),d),e[0].parentNode[n("0x1437")](r,e[0]),e[n("0x477b")](i)}function S(e,t){var n=a2_0x37cf,a=l.getComputedStyle(c[0][n("0x3b3e")]).position==n("0x2e56"),r=t[n("0x4e55")]?l[n("0x2b64")](t[n("0x4e55")][0]):null,i=r?Math.min(c[0][n("0x3b3e")][n("0x2838")],Math[n("0x3c59")](Math[n("0x681")](parseInt(r[n("0x4e66")],10)))):0,o={top:e.css("top"),height:e.css(n("0x4e66"))},x=Math[n("0x681")](t[n("0x731")][0][n("0x1a8b")]()[n("0x228a")]);return e[n("0x42b1")]({top:(a?x:0)+"px",height:i?i+"px":n("0x590")}),function(){e[n("0x42b1")](o)}}function E(e,t){var n=a2_0x37cf;t[n("0x731")].append(e),t[n("0x45c3")]=S(e,t);var a=e[n("0x372f")](n("0x1a5e")),r=o[n("0x1c30")][n("0x17af")],i=r[n("0x42a0")],x={transitionInClass:n("0x20f8"),transitionOutClass:n("0x3f3f")},s=r[n("0x49e")](i(a,t[n("0x3c52")]||t.origin)),c=r.toTransformCss("");return a.toggleClass("md-dialog-fullscreen",!!t[n("0x481c")]),r[n("0x2e46")](a,s,c,x)[n("0x34e8")]((function(e){var o=n;return t[o("0x2f02")]=function(){var n=o;return delete t[n("0x2f02")],t[n("0x1c34")]?(x={transitionInClass:"md-transition-out",transitionOutClass:"md-transition-in"},s=c,c=r[n("0x49e")](i(a,t.closeTo)),r[n("0x2e46")](a,s,c,x)):e(c=r[n("0x49e")](i(a,t.origin)))},t[o("0x1595")]=function(){var e=o;return delete t.clearAnimate,a[e("0xa81")]([x[e("0x4056")],x.transitionInClass][e("0xc60")](" ")),r[e("0x2e46")](a,c,r[e("0x49e")](""),{})},!0}))}function A(e,t){var n=a2_0x37cf;if(-1!==t[n("0x3507")](e[n("0x4907")]))return!0}}}a[e("0x4670")]=[e("0x47aa"),e("0x191b"),"$mdDialog"],r[e("0x4670")]=["$$interimElementProvider"],t[e("0x39e9")](e("0x30ee"),[e("0x1b0c"),e("0x2ee6")]).directive(e("0x2ea3"),a)[e("0x4b0")](e("0x475c"),r)}(),function(){var e=a2_0x37cf;function n(e){return{restrict:"E",link:e}}n.$inject=[e("0x191b")],t.module(e("0xb3e"),[e("0x1b0c")])[e("0x1b75")](e("0x4923"),n)}(),function(){var e=a2_0x37cf;function n(t){var n=e;return{restrict:"E",require:[n("0x3606"),"^?mdFabToolbar"],compile:function(e,a){var r=n,i=e.children();t[r("0x13ba")]().hasAttribute(i,r("0x347f"))?i[r("0x31dc")](r("0x3a11")):i[r("0x2fcb")](r("0x1d07"))}}}n.$inject=["$mdUtil"],t[e("0x39e9")](e("0x14cd"),[e("0x1b0c")])[e("0x1b75")](e("0x6f"),n)}(),function(){var e=a2_0x37cf;function n(n,a,r,i,o,x){var s,c=e,l=this,d=0;function u(e){var t,n,a,r,o,d,u=c;e[u("0x3298")]==u("0x7cb")&&(o=(t=e)[(n=c)("0x55d")],i[(d=c)("0x3731")](o,d("0x37f1"))&&l.toggle(),a=t[n("0x55d")],i[(r=c)("0x3731")](a,r("0x219b"))&&l[n("0x440f")]()),e[u("0x3298")]==u("0x2132")&&!s&&(s=x((function(){l.close()}),100,!1)),e[u("0x3298")]==u("0x12df")&&s&&(x[u("0x4920")](s),s=null)}function f(){l.currentActionIndex=-1}function m(){var e=c;a[0][e("0x2afd")]>0?r[e("0x31dc")](a,e("0x22fe"))[e("0x34e8")]((function(){var t=e;a[t("0xa81")](t("0xe79"))})):d<10&&(x(m,100),d+=1)}function b(){var e=c;a[e("0x30f8")](e("0x468d"),p),t[e("0xb48")](document)[e("0x30f8")]("click touchend",_)}function _(e){var t=c;if(e[t("0x55d")]){var n=i[t("0x3731")](e.target,t("0x37f1")),a=i[t("0x3731")](e.target,t("0x219b"));!n&&!a&&l[t("0x440f")]()}}function p(e){var t,n,a,r,i,x,s,d=c;switch(e[d("0x2d41")]){case o[d("0x4c0f")][d("0x7eb")]:return l.close(),e[d("0xe50")](),!1;case o[d("0x4c0f")].LEFT_ARROW:return x=e,l[(s=c)("0xb72")]===s("0x2885")?g(x):h(x),!1;case o[d("0x4c0f")][d("0x3a34")]:return r=e,l[(i=c)("0xb72")]===i("0x347a")?h(r):g(r),!1;case o[d("0x4c0f")][d("0x2c29")]:return n=e,l[(a=c)("0xb72")]===a("0x2885")?h(n):g(n),!1;case o.KEY_CODE[d("0xedf")]:return t=e,"up"===l[c("0xb72")]?h(t):g(t),!1}}function h(e){v(e,-1)}function g(e){v(e,1)}function v(e,n){var a,r,i=c,o=(a=c,r=S()[0][a("0x1e72")](a("0x2c13")),t[a("0x5ba")](r,(function(e){var n=a;t[n("0xb48")](t[n("0xb48")](e)[n("0x71b")]()[0])[n("0x417f")](n("0x562"),-1)})),r);l[i("0x1b2e")]=l[i("0x1b2e")]+n,l[i("0x1b2e")]=Math[i("0x11db")](o[i("0x5e9")]-1,l.currentActionIndex),l[i("0x1b2e")]=Math[i("0x242b")](0,l[i("0x1b2e")]);var x=t[i("0xb48")](o[l.currentActionIndex])[i("0x71b")]()[0];t[i("0xb48")](x)[i("0x417f")](i("0x562"),0),x.focus(),e[i("0xe50")](),e[i("0x360b")]()}function S(){return a.find("md-fab-actions")}l[c("0x55a")]=function(){var e=c;n[e("0x33ff")](e("0x241c"))},l[c("0x440f")]=function(){var e=c;n[e("0x33ff")](e("0x36de")),a[e("0x372f")](e("0x37f1"))[0][e("0x2beb")]()},l[c("0x4368")]=function(){var e=c;n[e("0x33ff")](e("0x2e79"))},l.$onInit=function(){var e,o,x,s,d,h;l[(h=c)("0xb72")]=l[h("0xb72")]||h("0x347a"),l.isOpen=l[h("0x4447")]||!1,f(),a.addClass(h("0xe79")),d=["click",(s=c)("0x12df"),s("0x2132")],t[s("0x5ba")](d,(function(e){a.on(e,u)})),n.$on(s("0x4c91"),(function(){t[s("0x5ba")](d,(function(e){a.off(e,u)})),b()})),x=c,n.$watch(x("0x39d5"),(function(e,t){var n=x;r.removeClass(a,"md-"+t),r.addClass(a,n("0xe78")+e),f()})),n[x("0x7a")]("vm.isOpen",(function(n){var s,l=x;f(),(!e||!o)&&(s=c,e=a.find(s("0x37f1")),o=S()),n?(a.on("keydown",p),i.nextTick((function(){var e=a2_0x37cf;t[e("0xb48")](document).on(e("0x14b8"),_)}))):b();var d=n?l("0x14af"):"",u=n?"":l("0x14af");e[l("0x417f")]("aria-haspopup",!0),e[l("0x417f")](l("0x766"),n),o.attr(l("0x240d"),!n),r[l("0x421c")](a,d,u)})),m()},1===t.version[c("0x2c74")]&&t[c("0x10ea")][c("0x8b1")]<=4&&this[c("0x4393")]()}n[e("0x4670")]=["$scope",e("0x4998"),"$animate",e("0xfb8"),e("0x4572"),e("0x38d4")],t[e("0x39e9")](e("0x318c"),[e("0x1b0c")])[e("0x1194")]("MdFabController",n)}(),function(){var n=a2_0x37cf;function a(n){function a(e){n(e,300,!1)}function r(n){var a=a2_0x37cf;if(!n.hasClass(a("0xe79"))||n[a("0x3a35")](a("0x22fe"))){var r=n[0],i=n[a("0x1194")]("mdFabSpeedDial"),o=r[a("0x1e72")](a("0x2c13")),x=r.querySelector(a("0x37f1")),s=r[a("0x31f7")](a("0x2a63")),c=parseInt(e[a("0x2b64")](s)[a("0x3f8a")]);t[a("0x5ba")](o,(function(e,t){var n=a,r=e.style;r.transform=r.webkitTransform="",r[n("0x26bd")]="",r[n("0x47e0")]=1,r.zIndex=o.length-t+c})),x[a("0x4025")][a("0x3f8a")]=c+o.length+1,!i[a("0x4447")]&&t[a("0x5ba")](o,(function(e,t){var n,r,o=a,s=e[o("0x4025")],c=(x.clientHeight-e[o("0x2838")])/2,l=(x[o("0x538")]-e[o("0x538")])/2;switch(i[o("0xb72")]){case"up":n=e[o("0x2afd")]*(t+1)+c,r="Y";break;case o("0x347a"):n=-(e[o("0x2afd")]*(t+1)+c),r="Y";break;case o("0x2885"):n=e[o("0x3d33")]*(t+1)+l,r="X";break;case o("0x30eb"):n=-(e.scrollWidth*(t+1)+l),r="X"}var d=o("0x2112")+r+"("+n+o("0x1073");s[o("0x3c4")]=s.webkitTransform=d}))}}return{addClass:function(e,t,n){e[a2_0x37cf("0x3a35")]("md-fling")?(r(e),a(n)):n()},removeClass:function(e,t,n){r(e),a(n)}}}function r(n){function a(e){n(e,300,!1)}function r(n){var a=a2_0x37cf,r=n[0],i=n[a("0x1194")](a("0x4ff7")),o=r[a("0x1e72")](".md-fab-action-item"),x=r[a("0x31f7")]("._md-css-variables"),s=parseInt(e.getComputedStyle(x)[a("0x3f8a")]);t[a("0x5ba")](o,(function(e,t){var n=a,r=e[n("0x4025")],x=65*t;r[n("0x47e0")]=i[n("0x4447")]?1:0,r[n("0x3c4")]=r[n("0x25c5")]=i[n("0x4447")]?n("0x172e"):"scale(0)",r[n("0x26bd")]=(i[n("0x4447")]?x:o[n("0x5e9")]-x)+"ms",r.zIndex=o[n("0x5e9")]-t+s}))}return{addClass:function(e,t,n){r(e),a(n)},removeClass:function(e,t,n){r(e),a(n)}}}a[n("0x4670")]=["$timeout"],r[n("0x4670")]=[n("0x38d4")],t[n("0x39e9")]("material.components.fabSpeedDial",["material.core","material.components.fabShared",n("0x14cd")])[n("0x1b75")]("mdFabSpeedDial",(function(){var e=n;return{restrict:"E",scope:{direction:e("0x47f6"),isOpen:e("0x934")},bindToController:!0,controller:e("0x58d"),controllerAs:"vm",link:function(t,n){var a=e;n.prepend(a("0x4f4"))}}}))[n("0x2f73")](".md-fling",a)[n("0x2f73")](n("0x1a4c"),r).service(n("0x6b8"),a)[n("0xc3b")](n("0x1cf5"),r)}(),function(){var n=a2_0x37cf;function a(){function n(n,a,r){var i=a2_0x37cf;if(a){var o=n[0],x=n[i("0x1194")](i("0x4e5e")),s=o[i("0x31f7")](i("0x4c41")),c=o[i("0x31f7")]("md-fab-trigger button"),l=o[i("0x31f7")](i("0x4e8b")),d=o[i("0x31f7")]("md-fab-trigger button md-icon"),u=n[i("0x372f")]("md-fab-actions").children();if(c&&s){var f=e[i("0x2b64")](c)[i("0x4aba")](i("0x2717")),m=o[i("0xe76")],b=(o.offsetHeight,m/c[i("0xe76")]*2);s[i("0x4025")][i("0xd5e")]=f,s[i("0x4025")][i("0x426b")]=m+"px",x[i("0x4447")]?(l[i("0x4025")][i("0x23ef")]="inherit",s[i("0x4025")][i("0xbbf")]=c[i("0xe76")]+"px",s.style[i("0x4e66")]=c.offsetHeight+"px",s.style[i("0x3c4")]=i("0x3e01")+b+")",s[i("0x4025")].transitionDelay=i("0x410f"),d&&(d.style.transitionDelay=i("0x40ad")),t[i("0x5ba")](u,(function(e,t){var n=i;e[n("0x4025")][n("0x26bd")]=25*(u[n("0x5e9")]-t)+"ms"}))):(l[i("0x4025")].pointerEvents=i("0x2847"),s.style[i("0x3c4")]="scale(1)",s[i("0x4025")][i("0x228a")]="0",n[i("0x3a35")](i("0x18da"))&&(s[i("0x4025")][i("0x2885")]="0",s.style[i("0x30eb")]=null),n.hasClass(i("0x2f4d"))&&(s[i("0x4025")][i("0x30eb")]="0",s[i("0x4025")][i("0x2885")]=null),s[i("0x4025")][i("0x26bd")]=i("0x3a8"),d&&(d[i("0x4025")][i("0x26bd")]="0ms"),t[i("0x5ba")](u,(function(e,t){e[i("0x4025")].transitionDelay=200+25*t+"ms"})))}}}return{addClass:function(e,t,a){n(e,t),a()},removeClass:function(e,t,a){n(e,t),a()}}}t[n("0x39e9")](n("0x354c"),[n("0x1b0c"),"material.components.fabShared",n("0x14cd")]).directive("mdFabToolbar",(function(){var e=n;return{restrict:"E",transclude:!0,template:'<div class="md-fab-toolbar-wrapper">'+e("0x20ea")+e("0x1fa8"),scope:{direction:e("0x47f6"),isOpen:e("0x934")},bindToController:!0,controller:e("0x58d"),controllerAs:"vm",link:function(t,n,a){var r=e;n.addClass(r("0x176f")),n[r("0x372f")](r("0x37f1"))[r("0x372f")](r("0x22d7"))[r("0x2bdd")](r("0x108c"))}}})).animation(n("0x4ec0"),a)[n("0xc3b")](n("0xa97"),a)}(),function(){var e=a2_0x37cf;function n(e,n,r,i,o){return{restrict:"E",controller:a,scope:{mdOnLayout:"&"},link:function(a,x,s,c){var l=a2_0x37cf;x[l("0x31dc")](l("0x16ce")),x[l("0x417f")]("role","list"),c[l("0x180f")]=function(e){var n=l,i=(s=l,[][s("0x6a6")][s("0x3c6b")](x[s("0x71b")](),(function(e){var t=s;return e[t("0x4d74")]==t("0x1d7b")&&!e.$$mdDestroyed}))),o={tileSpans:A(i),colCount:T(),rowMode:w(),rowHeight:C(),gutter:y()};var s;if(!e&&t[n("0x34f9")](o,d))return;var c=r(o.colCount,o[n("0x48b6")],i)[n("0x19e8")]((function(e,a){var r=n;return{grid:{element:x,style:E(o[r("0x32aa")],a,o[r("0x2aa8")],o[r("0x20d7")],o[r("0x39d")])},tiles:e[r("0x19e8")]((function(e,n){var x=r;return{element:t[x("0xb48")](i[n]),style:S(e[x("0x342c")],e[x("0x21c0")],o[x("0x32aa")],a,o[x("0x2aa8")],o.rowMode,o[x("0x39d")])}}))}}))[n("0xf79")]()[n("0x1b53")]();a[n("0x2bc4")]({$event:{performance:c}}),d=o};var d,u=t[l("0x2b0c")](c,c.invalidateLayout),f=function(){var e=l;for(var t in n.MEDIA)i(t),i[e("0x2f66")](n.MEDIA[t]).addListener(u);return i.watchResponsiveAttributes([e("0x860"),"md-row-height",e("0x18c0")],s,m)}();function m(e){var t=l;(null==e||i(e))&&c[t("0x2fa3")]()}a.$on(l("0x4c91"),(function(){var e=l;for(var a in c[e("0x180f")]=t[e("0x49d1")],f(),n[e("0x2288")])i[e("0x2f66")](n[e("0x2288")][a])[e("0x1dc")](u)}));var b=e[l("0xcfc")](),_=e[l("0x2aef")]();function p(e){return b+e+_}var h=e(p(l("0x4702"))+l("0x19ec")+p(l("0x2aa8"))+l("0x4e1c")+p("gutterShare")+")"),g=e(l("0x3de3")+p(l("0x360"))+l("0x2b98")+p("gutter")+l("0x4109")+p("offset")+")"),v=e(l("0x3de3")+p("unit")+l("0x4109")+p(l("0x299e"))+l("0x1477")+p(l("0x299e"))+" - 1) * "+p(l("0x2aa8"))+")");function S(e,t,n,a,r,i,x){var c=l,d=1/n*100,u=(n-1)/n,f=h({share:d,gutterShare:u,gutter:r}),m=o[c("0x3475")](s)?{right:g({unit:f,offset:e.col,gutter:r}),width:v({unit:f,span:t[c("0x1768")],gutter:r}),paddingTop:"",marginTop:"",top:"",height:""}:{left:g({unit:f,offset:e[c("0x1768")],gutter:r}),width:v({unit:f,span:t[c("0x1768")],gutter:r}),paddingTop:"",marginTop:"",top:"",height:""};switch(i){case c("0x2e56"):m[c("0x228a")]=g({unit:x,offset:e.row,gutter:r}),m.height=v({unit:x,span:t[c("0x3c95")],gutter:r});break;case"ratio":var b=d/x,_=h({share:b,gutterShare:u,gutter:r});m[c("0x4e0")]=v({unit:_,span:t[c("0x3c95")],gutter:r}),m[c("0x464f")]=g({unit:_,offset:e[c("0x3c95")],gutter:r});break;case c("0x4da1"):_=h({share:b=1/a*100,gutterShare:(a-1)/a,gutter:r}),m[c("0x228a")]=g({unit:_,offset:e[c("0x3c95")],gutter:r}),m[c("0x4e66")]=v({unit:_,span:t[c("0x3c95")],gutter:r})}return m}function E(e,t,n,a,r){var i=l,o={};switch(a){case i("0x2e56"):o[i("0x4e66")]=v({unit:r,span:t,gutter:n}),o.paddingBottom="";break;case i("0x2911"):var x=h({share:1/e*100*(1/r),gutterShare:1===e?0:(e-1)/e,gutter:n});o[i("0x4e66")]="",o[i("0x4cd0")]=v({unit:x,span:t,gutter:n});break;case i("0x4da1"):}return o}function A(e){var n=l;return[][n("0x19e8")][n("0x3c6b")](e,(function(e){var a=n,r=t[a("0xb48")](e)[a("0x1194")](a("0x34a0"));return{row:parseInt(i[a("0x786")](r[a("0x428f")],a("0x45a")),10)||1,col:parseInt(i[a("0x786")](r.$attrs,a("0x501")),10)||1}}))}function T(){var e=parseInt(i[l("0x786")](s,"md-cols"),10);if(isNaN(e))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return e}function y(){var e=l;return M(i[e("0x786")](s,e("0x18c0"))||1)}function C(){var e=l,t=i[e("0x786")](s,e("0x27fe"));if(!t)throw e("0x411e");switch(w()){case e("0x2e56"):return M(t);case"ratio":var n=t[e("0x9e5")](":");return parseFloat(n[0])/parseFloat(n[1]);case e("0x4da1"):return 0}}function w(){var e=l,t=i[e("0x786")](s,e("0x27fe"));if(!t)throw"md-grid-list: md-row-height attribute was not found";return t==e("0x4da1")?e("0x4da1"):-1!==t[e("0x3507")](":")?e("0x2911"):e("0x2e56")}function M(e){return/\D$/[l("0x3ff3")](e)?e:e+"px"}}}}function a(n){var a=e;this[a("0x42ed")]=!1,this[a("0x17a2")]=!1,this.$timeout_=n[a("0x4ee4")],this[a("0x180f")]=t[a("0x49d1")]}function r(n){var a=e,r=o;return i[a("0x39a1")]=function(e){r=t.isFunction(e)?e:o},i;function i(e,t){var i,o,x,s,c,l,d=a;return s=n[d("0x1c9f")]((function(){o=function(e,t){var n=a,r=0,i=0,o=d();return{positioning:t[n("0x19e8")]((function(e,t){return{spans:e,position:x(e,t)}})),rowCount:i+Math.max[n("0x4884")](Math,o)};function x(t,a){var x=n;if(t[x("0x1768")]>e)throw"md-grid-list: Tile at position "+a+" has a colspan ("+t[x("0x1768")]+x("0x13b1")+"("+e+")";for(var d=0,u=0;u-d<t[x("0x1768")];)r>=e?s():-1!==(d=o.indexOf(0,r))&&-1!==(u=l(d+1))?r=u+1:(d=u=0,s());return c(d,t[x("0x1768")],t[x("0x3c95")]),r=d+t[x("0x1768")],{col:d,row:i}}function s(){r=0,i++,c(0,e,-1)}function c(e,t,a){for(var r=n,i=e;i<e+t;i++)o[i]=Math[r("0x242b")](o[i]+a,0)}function l(e){var t,a=n;for(t=e;t<o[a("0x5e9")];t++)if(0!==o[t])return t;if(t===o.length)return t}function d(){for(var t=n,a=[],r=0;r<e;r++)a[t("0x459a")](0);return a}}(e,t)})),i={layoutInfo:function(){return o},map:function(e){var t=d;return c=n[t("0x1c9f")]((function(){var n=t,a=i.layoutInfo();x=e(a.positioning,a[n("0x29f2")])})),i},reflow:function(e){var t=d;return l=n[t("0x1c9f")]((function(){var n=t;(e||r)(x[n("0x169b")],x[n("0x2c6a")])})),i},performance:function(){return{tileCount:t[d("0x5e9")],layoutTime:s,mapTime:c,reflowTime:l,totalTime:s+c+l}}}}function o(e,t){var n=a;e[n("0xb48")][n("0x42b1")](e[n("0x4025")]),t[n("0x5ba")]((function(e){var t=n;e.element[t("0x42b1")](e[t("0x4025")])}))}}function i(n){var a=e;return{restrict:"E",require:a("0xb82"),template:"<figure ng-transclude></figure>",transclude:!0,scope:{},controller:[a("0x428f"),function(e){this.$attrs=e}],link:function(e,r,i,o){var x=a;r[x("0x417f")](x("0x3517"),x("0x2781"));var s=n[x("0x32dc")]([x("0x501"),x("0x45a")],i,t[x("0x2b0c")](o,o[x("0x2fa3")]));o[x("0x3746")](),e[x("0x24c9")]("$destroy",(function(){var e=x;r[0][e("0x4703")]=!0,s(),o[e("0x2fa3")]()})),t.isDefined(e.$parent.$index)&&e[x("0x7a")]((function(){return e[x("0x20cb")].$index}),(function(e,t){e!==t&&o[x("0x3746")]()}))}}}function o(){return{template:e("0x4cf6"),transclude:!0}}a[e("0x4670")]=["$mdUtil"],r[e("0x4670")]=[e("0xfb8")],n.$inject=["$interpolate",e("0x4572"),e("0x4c04"),e("0x790"),e("0xfb8")],i.$inject=[e("0x790")],t.module(e("0x2d8c"),[e("0x1b0c")])[e("0x1b75")](e("0x4df"),n).directive(e("0x34a0"),i).directive("mdGridTileFooter",o)[e("0x1b75")](e("0x2474"),o)[e("0x3faf")]("$mdGridLayout",r),a[e("0x20f")]={invalidateTiles:function(){var t=e;this[t("0x17a2")]=!0,this[t("0x2fa3")]()},invalidateLayout:function(){var n=e;this[n("0x42ed")]||(this[n("0x42ed")]=!0,this[n("0x57f")](t.bind(this,this[n("0x39f7")])))},layout:function(){var t=e;try{this[t("0x180f")](this[t("0x17a2")])}finally{this[t("0x42ed")]=!1,this[t("0x17a2")]=!1}}}}(),t[(b=a2_0x37cf)("0x39e9")](b("0x3134"),[b("0x1b0c")]),t[(m=a2_0x37cf)("0x39e9")](m("0x3134"))[m("0x1b75")](m("0x87"),[m("0x1af5"),m("0x191b"),m("0x219f"),m("0x4f60"),function(e,t,n,a){return{restrict:"E",link:function(a,r,i){var o=a2_0x37cf;t(r);var x=i[o("0x2538")],s=e[o("0x4bd2")](i[o("0x4b9d")]);d(),i[o("0xf52")](o("0x2538"),u),i.$observe(o("0x4b9d"),u),r[0][o("0x22b9")](i.$attr[o("0x17eb")]);var c,l=i[o("0x3256")](i.$attr.mdSvgIcon||i[o("0xb7")][o("0x17eb")]||"");function d(){var e=o;!i[e("0x1311")]&&!i[e("0x17eb")]&&(i[e("0x2538")]&&r[e("0x31dc")](e("0xef7")+i[e("0x2538")]),r.addClass(s))}function u(){var t=o;if(!i[t("0x1311")]&&!i[t("0x17eb")]){i.mdFontIcon&&(r.removeClass(x),r[t("0x31dc")](i[t("0x2538")]),x=i[t("0x2538")]);var n=e[t("0x4bd2")](i[t("0x4b9d")]);s!==n&&(r.removeClass(s),r[t("0x31dc")](n),s=n)}}!i.role&&(n[o("0x1aa6")](r,o("0x3517"),"img"),i[o("0x3517")]="img"),i[o("0x3517")]!==o("0x11a9")||i[o("0x3f36")]||n[o("0x33a8")](r)||(i.alt?n.expect(r,"aria-label",i.alt):n[o("0x1cf0")](r,2)?n[o("0x1aa6")](r,o("0x240d"),o("0x1509")):(c=i[o("0x2538")]||i.mdSvgIcon||r.text())?n[o("0x1aa6")](r,o("0x194a"),c):n[o("0x1aa6")](r,o("0x240d"),o("0x1509"))),l&&i[o("0xf52")](l,(function(t){var n=o;r[n("0x21c")](),t&&e(t)[n("0x34e8")]((function(e){var t=n;r[t("0x21c")](),r[t("0x136a")](e)}))}))}}}]),function(){var a=a2_0x37cf;x[a("0x4670")]=[a("0x1805"),"$templateRequest","$q",a("0x1a4"),"$mdUtil",a("0x4f60")],t.module("material.components.icon").constant(a("0x26ba"),{mdTabsArrow:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4=",mdClose:a("0x1b84"),mdCancel:a("0x14fb"),mdMenu:a("0x12c5"),mdToggleArrow:a("0x176"),mdCalendar:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgM2gtMVYxaC0ydjJIOFYxSDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY4aDE0djExek03IDEwaDV2NUg3eiIvPjwvc3ZnPg==",mdChecked:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz48L2c+PC9zdmc+"})[a("0x4b0")](a("0x1af5"),i);var r={defaultViewBoxSize:24,defaultFontSet:a("0xf09"),fontSets:[]};function i(){}function o(e,t){var n=a;this[n("0x4aef")]=e,this[n("0x420b")]=t||r[n("0x2965")]}function x(r,i,o,x,s,c){var l=a,d={},u={},f=/[-\w@:%+.~#?&//=]{2,}\.[a-z]{2,4}\b(\/[-\w@:%+.~#?&//=]*)?/i,m=/^data:image\/svg\+xml[\s*;\w\-=]*?(base64)?,(.*)$/i;return E.prototype={clone:function(){var e=l;return this[e("0xb48")][e("0x3e91")](!0)},prepare:function(){var e=l,n=this.config?this[e("0x1805")][e("0x420b")]:r[e("0x2965")];t.forEach({fit:"",height:e("0x590"),width:"100%",preserveAspectRatio:e("0x4078"),viewBox:this.element[e("0x22b9")](e("0x287e"))||e("0x3827")+n+" "+n,focusable:!1},(function(e,t){this.element.setAttribute(t,e)}),this)}},b[l("0x4bd2")]=function(e){var n=l;if(t.isUndefined(e)||!e||!e[n("0x5e9")])return r[n("0xeae")];var a=e;return t.forEach(r[n("0x16c8")],(function(t){var r=n;t[r("0x623")]===e&&(a=t[r("0x4bd2")]||a)})),a},b;function b(e){var n=l;return e=e||"",!t[n("0x1236")](e)&&(e=c[n("0x4e2b")](e)),d[e]?o[n("0x2c66")](_(d[e])):f[n("0x3ff3")](e)||m.test(e)?S(e)[n("0x34e8")](h(e)):(-1===e[n("0x3507")](":")&&(e=n("0x2fb7")+e),(r[e]?g:v)(e)[n("0x34e8")](h(e)))}function _(e){var a,r,i,o,x=l,c=e[x("0x42df")](),d=s[x("0x2feb")](),u=[x("0x2baf"),"color-profile",x("0x18cd"),x("0x2773"),x("0x6a6"),x("0x44a3"),x("0x390"),x("0x4e2a"),x("0xe9d"),x("0x4b84"),x("0x2591"),x("0x4025"),x("0x2ad")],f=c[x("0x18c4")]===n;if(!isFinite(Number(d)))throw new Error(x("0x34c5"));return a=x("0x1cfc")+d,c.id&&(c.id+=a),t[x("0x5ba")](c.querySelectorAll(x("0x141e")),(function(e){var n=x;for(r="",i=0;i<u[n("0x5e9")];i++)r+="["+u[i]+n("0x4b7d")+e.id+')"]',i+1<u[n("0x5e9")]&&(r+=", ");t[n("0x5ba")](c[n("0x1e72")](r),(function(t){p(e,t,f,d)})),t[n("0x5ba")](c[n("0x1e72")](n("0x4025")),(function(t){p(e,t,f,d)})),t.forEach(c[n("0x1e72")](n("0xaf6")),(function(t){var r=n;(o=t[r("0x22b9")]("xlink:href"))&&(o=o[r("0x3cc0")]("#"+e.id,"#"+e.id+a),t[r("0x4480")](r("0x1be1"),o))})),e.id+=a})),c}function p(e,n,a,r){var i,o,x=l;if(!isFinite(Number(r)))throw new Error(x("0x2be5"));o=x("0x1cfc")+r,a?(i=(i=s.getOuterHTML(n))[x("0x3cc0")](x("0x76")+e.id+")",x("0x76")+e.id+o+")"),n[x("0x12ee")]=t[x("0xb48")](i)[0].innerHTML):n[x("0x2b5b")]=n[x("0x2b5b")][x("0x3cc0")]("url(#"+e.id+")","url(#"+e.id+o+")")}function h(e){return function(n){return d[e]=(a=n,t[(i=l)("0x64a")](a[i("0xb48")])&&t[i("0x64a")](a[i("0x1805")])?n:new E(n,r[e])),_(d[e]);var a,i}}function g(e){var t=l,n=r[e];return S(n[t("0x4aef")]).then((function(e){return new E(e,n)}))}function v(e){var t=l,n=e[t("0x35e7")](0,e.lastIndexOf(":"))||t("0x22f8"),a=r[n];return a?S(a[t("0x4aef")])[t("0x34e8")]((function(n){var r=t,o=e[r("0x9b3")](e[r("0x4e")](":")+1),x=n[r("0x31f7")]("#"+o);return x?new E(x,a):i(e)})):i(e);function i(e){var n=t,a="icon "+e+" not found";return x[n("0x1dc6")](a),o[n("0x2078")](a||e)}}function S(n){var a,r,s,c,d;return m[l("0x3ff3")](n)?(r=n,c=m[(s=a2_0x37cf)("0x3629")](r),d=/base64/i[s("0x3ff3")](r)?e[s("0x2d3")](c[2]):c[2],o[s("0x2c66")](t.element(d)[0])):(a=n,o((function(e,n){var r=a2_0x37cf;i(a,!0)[r("0x34e8")]((function(n){var r=a2_0x37cf;!u[a]&&(u[a]=t.element("<div>").append(n)[0][r("0x31f7")](r("0xb2b"))),e(u[a])}),(function(e){var a=a2_0x37cf,r=t[a("0x1236")](e)?e:e[a("0x45ea")]||e[a("0x237c")]||e[a("0x3875")];x.warn(r),n(e)}))})))}function E(e,n){var a=l;if(e&&e[a("0x4d74")].toLowerCase()===a("0x40c6")){var r=e[a("0x22b9")](a("0x287e"));e=e[a("0x18c4")]?t[a("0xb48")]('<svg xmlns="http://www.w3.org/2000/svg">')[a("0x1059")](e[a("0x18c4")])[0]:t[a("0xb48")](a("0x4336"))[a("0x136a")](s[a("0x4458")](e))[0],r&&e[a("0x4480")](a("0x287e"),r)}e&&e.tagName[a("0x2eb9")]()!==a("0xb2b")&&(e=t.element(a("0x4336"))[a("0x136a")](e[a("0x3e91")](!0))[0]),!e[a("0x22b9")](a("0x2f0c"))&&e[a("0x4480")]("xmlns",a("0x37aa")),this[a("0xb48")]=e,this.config=n,this[a("0x1d3d")]()}}i[a("0x20f")]={icon:function(e,t,n){return-1==e[a("0x3507")](":")&&(e="$default:"+e),r[e]=new o(t,n),this},iconSet:function(e,t,n){return r[e]=new o(t,n),this},defaultIconSet:function(e,t){var n=a;return!r.$default&&(r.$default=new o(e,t)),r.$default[n("0x420b")]=t||r.defaultViewBoxSize,this},defaultViewBoxSize:function(e){return r[a("0x2965")]=e,this},fontSet:function(e,t){var n=a;return r[n("0x16c8")][n("0x459a")]({alias:e,fontSet:t||e}),this},defaultFontSet:function(e){return r.defaultFontSet=e||"",this},defaultIconSize:function(e){return r[a("0x18eb")]=e,this},$get:["$templateRequest","$q",a("0x1a4"),a("0xfb8"),a("0x4f60"),function(e,t,n,a,i){return x(r,e,t,n,a,i)}]}}(),function(){var a=a2_0x37cf;i[a("0x4670")]=[a("0x191b"),a("0x68c"),a("0x47aa")],o[a("0x4670")]=[a("0xfb8"),a("0xe11"),"$mdAria","$timeout","$mdGesture"],x.$inject=[a("0xc00"),a("0xfb8")],s.$inject=["$compile"],m.$inject=[a("0xfb8")],c.$inject=[a("0x45e2"),a("0x38d4")],b[a("0x4670")]=["$$AnimateRunner",a("0x7c3"),a("0xfb8")],_[a("0x4670")]=[a("0x4d64"),a("0x7c3"),a("0xfb8")],p[a("0x4670")]=[a("0x4d64"),a("0x7c3"),"$mdUtil",a("0x1a4")];var r=t[a("0x39e9")](a("0xc57"),[a("0x1b0c")])[a("0x1b75")](a("0xbd0"),i).directive(a("0x32b"),(function(){var e=a;return{restrict:"E",require:e("0x9e1"),link:function(t,n,a,r){var i=e;!r||a[i("0x3b4d")]||n.hasClass(i("0x3a8c"))||(r.label=n,t.$on("$destroy",(function(){r[i("0x32b")]=null})))}}})).directive(a("0x3f87"),o)[a("0x1b75")](a("0x1f05"),o)[a("0x1b75")]("mdMaxlength",x)[a("0x1b75")](a("0x21e2"),s)[a("0x1b75")](a("0x474"),(function(){var e=a;return{restrict:"EA",link:function(t,n,a,r){var i=e;if(!r)return;n[i("0x411b")](i("0x14c6"),!0),n[i("0x411b")](i("0x2ed2"),!0),(a.mdAutoHide==i("0x22b7")||(o=a,f.some((function(e){return o[e]}))))&&n[i("0x411b")]("md-auto-hide",!1);var o},require:e("0x3f08")}}))[a("0x1b75")](a("0x1865"),m)[a("0x1b75")](a("0x82"),m)[a("0x1b75")](a("0x1765"),c)[a("0x2f73")](a("0x4d0"),b)[a("0x2f73")](a("0x37bc"),_)[a("0x2f73")](a("0x2853"),p);function i(e,t,n){var r=a;s[r("0x4670")]=[r("0x36af"),r("0x4998"),r("0x428f"),"$animate"];var i=[r("0x3738"),r("0x3db0"),r("0x4d18"),r("0x3a48")],o=i[r("0x2e06")]((function(e,t){var n=r;return e[n("0x3abc")]([n("0x2727")+t,n("0x4acc")+t])}),[]).join(","),x=i[r("0x2e06")]((function(e,t){var n=r;return e[n("0x3abc")]([t+n("0x1577"),t+" ~ .md-icon"])}),[])[r("0xc60")](",");return{restrict:"E",compile:function(t){var a=r,i=t[0].querySelector(o),s=t[0][a("0x31f7")](x);return function(t,a){e(a),(i||s)&&n((function(){var e=a2_0x37cf,t=a[0][e("0x31f7")](e("0x48a3"))||a[0].querySelector(e("0xe41"));i&&t&&a.addClass("md-icon-left"),s&&t&&a[e("0x31dc")](e("0x49cd"))}))}},controller:s};function s(e,n,a,i){var o=r,x=this;x[o("0x826")]=a[o("0x16b")]&&t(a[o("0x16b")]),x.delegateClick=function(){var e=o;x.input[e("0x2beb")]()},x[o("0xb48")]=n,x[o("0x4e03")]=function(e){var t=o;n.toggleClass(t("0x1190"),!!e)},x.setHasValue=function(e){n.toggleClass("md-input-has-value",!!e)},x[o("0x4921")]=function(e){n[o("0x411b")]("md-input-has-placeholder",!!e)},x[o("0x2aad")]=function(e){var t=o;e?i[t("0x31dc")](n,t("0x9e3")):i[t("0xa81")](n,"md-input-invalid")},e[o("0x7a")]((function(){var e=o;return x[e("0x32b")]&&x[e("0x3f87")]}),(function(e){var t=o;e&&!x.label[t("0x417f")]("for")&&x[t("0x32b")][t("0x417f")](t("0x2d1a"),x[t("0x3f87")][t("0x417f")]("id"))}))}}function o(e,n,r,i,o){var x=a;return{restrict:"E",require:[x("0x9e1"),"?ngModel",x("0x1ec8")],link:function(a,s,c,l){var d=x,u=l[0],f=!!l[1],m=l[1]||e[d("0xfab")](),b=l[2],_=t[d("0x64a")](c[d("0x3330")]),p=e.parseAttributeBoolean(c[d("0x14bc")]),h=s[0].tagName[d("0x2eb9")]();if(!u)return;if(c.type===d("0xd4f"))return void s[d("0x417f")](d("0x240d"),d("0x1509"));if(u[d("0x3f87")]){if(u.input[0][d("0x2a10")](s[0]))return;throw new Error(d("0xfa4"))}u[d("0x3f87")]=s,g=d,u[g("0x32b")]&&c[g("0xf52")](g("0x4c36"),(function(e){var t=g;u[t("0x32b")][t("0x411b")](t("0xb68"),e&&!p)}));var g;var v=t[d("0xb48")](d("0x46eb"));s[d("0x477b")](v);var S=t[d("0x1236")](c[d("0x21e2")])?c[d("0x21e2")].trim():"";!u[d("0x32b")]&&!S[d("0x5e9")]&&r[d("0x1aa6")](s,d("0x194a")),s[d("0x31dc")](d("0x1bb1")),!s.attr("id")&&s[d("0x417f")]("id",d("0x3619")+e[d("0x2feb")]()),"input"===h&&c.type===d("0x2231")&&c[d("0x11db")]&&c[d("0x242b")]&&!c[d("0x2e41")]?s[d("0x417f")](d("0x2e41"),d("0x8b6")):h===d("0x1f05")&&function(){var r=d,x=!c[r("0x1bd4")](r("0x42ef"));if(A(),!x)return;var l=c[r("0x1bd4")](r("0x47d8"))?parseInt(c.rows):NaN,b=c[r("0x1bd4")](r("0x4e25"))?parseInt(c[r("0x4e25")]):NaN,_=a[r("0x24c9")](r("0x1ec3"),g),p=null,h=s[0];function g(){var e=r;s[e("0x417f")](e("0x47d8"),1)[e("0x42b1")]("height","auto")[e("0x31dc")](e("0x2bee"));var t=v();if(!p){var n=s[0][e("0x4025")].padding||"";p=s.css(e("0x2afb"),0).prop(e("0x2b02")),s[0].style[e("0x2afb")]=n}if(l&&p&&(t=Math.max(t,p*l)),b&&p){var a=p*b;a<t?(s[e("0x417f")](e("0x1d5a"),""),t=a):s[e("0xf44")](e("0x1d5a"))}p&&s[e("0x417f")](e("0x47d8"),Math[e("0x46d")](t/p)),s.css(e("0x4e66"),t+"px").removeClass(e("0x2bee"))}function v(){var e=r,t=h[e("0x2b02")],n=h[e("0x2afd")]-t;return t+Math[e("0x242b")](n,0)}function S(t){return e.nextTick(g),t}function E(){var e=r;if(x&&(x=!1,t.element(n).off(e("0x39d4"),g),_&&_(),s[e("0x417f")]("md-no-autogrow","")[e("0x30f8")](e("0x3f87"),g),f)){var a=m[e("0x3b53")][e("0x3507")](S);a>-1&&m[e("0x3b53")][e("0x2bcf")](a,1)}}function A(){var e=r;if(!c[e("0x1bd4")](e("0x2f8e"))){var n=t.element(e("0x136f")),i=!1,x=0,l=u[e("0xb48")],d=o.register(n,e("0x391a"),{horizontal:!1});s.wrap(e("0x42b0"))[e("0x477b")](n),n.on("mousedown",f),l.on(e("0x43f"),m).on(e("0x78f"),b).on("$md.dragend",_),a[e("0x24c9")](e("0x4c91"),(function(){var t=e;n[t("0x30f8")](t("0x4a2b"),f)[t("0xf82")](),l[t("0x30f8")](t("0x43f"),m)[t("0x30f8")](t("0x78f"),b)[t("0x30f8")](t("0x27e6"),_),d(),n=null,l=null,d=null}))}function f(t){var n=e;t[n("0xe50")](),i=!0,t[n("0x1c24")],x=parseFloat(s.css("height"))||s.prop(n("0x2b02"))}function m(t){var n=e;i&&(t.preventDefault(),E(),l[n("0x31dc")]("md-input-resized"))}function b(t){var n=e;i&&s[n("0x42b1")](n("0x4e66"),x+t.pointer[n("0x36fe")]+"px")}function _(t){var n=e;i&&(i=!1,l[n("0xa81")](n("0xe26")))}}if(i((function(){e[r("0x4ee4")](g)}),10,!1),s.on(r("0x3f87"),g),f&&m.$formatters[r("0x459a")](S),!l&&s.attr("rows",1),t[r("0xb48")](n).on(r("0x39d4"),g),a.$on(r("0x4c91"),E),c[r("0x1bd4")](r("0x4e6c"))){var T=(y=!1,function(){var e=0===h.offsetHeight;!1===e&&!0===y&&g(),y=e});a[r("0x7a")]((function(){return e.nextTick(T,!1),!0}))}var y}();!f&&T();var E=u[d("0x826")]||function(){var e=d;return m[e("0x1d4c")]&&(m[e("0x47cd")]||b&&b[e("0x1757")])};function A(e){var t=d;return u[t("0x17e9")](!m[t("0x8b2")](e)),e}function T(){var e=d;u[e("0x17e9")](s[e("0x435d")]().length>0||(s[0][e("0x1d3a")]||{})[e("0x4e0d")])}a[d("0x7a")](E,u[d("0x2aad")]),c[d("0x4c6")]&&c[d("0xf52")](d("0x3a33"),T),m.$parsers.push(A),m.$formatters[d("0x459a")](A),s.on(d("0x3f87"),T),!_&&s.on(d("0x2beb"),(function(t){var n=d;e[n("0x4ee4")]((function(){u[n("0x4e03")](!0)}))})).on(d("0x4a1"),(function(t){var n=d;e[n("0x4ee4")]((function(){u[n("0x4e03")](!1),T()}))})),a[d("0x24c9")](d("0x4c91"),(function(){var e=d;u[e("0x4e03")](!1),u.setHasValue(!1),u[e("0x3f87")]=null}))}}}function x(e,r){var i=a;return{restrict:"A",require:[i("0x12bc"),i("0xdc0")],link:function(a,o,x,s){var c=i,l=parseInt(x.mdMaxlength);isNaN(l)&&(l=-1);var d,u,f=s[0],m=s[1],b=!t[c("0x64a")](x[c("0xea")])||r[c("0x41a5")](x[c("0xea")]),_=x[c("0x3298")]===c("0x88");function p(e){var a=c;return((e=b&&!_&&t[a("0x1236")](e)?e[a("0x2dc4")]():e)===n||null===e)&&(e=""),String(e)[a("0x5e9")]}function h(){var e=c;d&&d[e("0x731")]()&&d.text(p(o[e("0x435d")]())+e("0x1251")+l)}a[c("0x7a")](x[c("0x33ba")],(function(e){l=e})),f.$validators["md-maxlength"]=function(e,a){var r=c;if(!t.isNumber(l)||l<0)return!0;h();var i=o[r("0x435d")]()||a;return(i===n||null===i)&&(i=""),i=b&&!_&&t.isString(i)?i[r("0x2dc4")]():i,String(i)[r("0x5e9")]<=l},f[c("0x8b2")]=function(e){return 0===p(e)},r[c("0x4ee4")]((function(){var n=c;u=t.element(m[n("0xb48")][0][n("0x31f7")](n("0x28fd"))),d=t[n("0xb48")](n("0x2091")),u[n("0x136a")](d),x[n("0xf52")](n("0xea"),(function(e){var a=n;b=!t[a("0x64a")](e)||r[a("0x41a5")](e)})),a[n("0x7a")](x[n("0x33ba")],(function(a){var r=n;t[r("0x1ba0")](a)&&a>0?(!d[r("0x731")]()[r("0x5e9")]&&e[r("0x3b11")](d,u),h()):e[r("0xf77")](d)}))}))}}}function s(e){var n=a;return{restrict:"A",require:n("0x3f08"),priority:200,link:{pre:function(a,r,i,o){var x=n;if(!o)return;var s=o[x("0xb48")][x("0x372f")](x("0x32b")),c=o[x("0xb48")][x("0x417f")](x("0x2801"));if(s&&s[x("0x5e9")]||""===c||a[x("0xe2b")](c))return void o[x("0x4921")](!0);if(r[0][x("0x4907")]!==x("0x3a48")){var l=t[x("0xb48")](x("0x42bc")+i.placeholder+x("0x392b"));i[x("0x35be")](x("0x21e2"),null),o[x("0xb48")].addClass(x("0x423"))[x("0x2bdd")](l),e(l)(a)}}}}}function c(e,t){return{restrict:"A",link:function(n,a,r){var i=a2_0x37cf;if(a[0][i("0x4907")]!==i("0x3738")&&a[0][i("0x4907")]!==i("0x3db0"))return;var o=!1;function x(){o=!0,t((function(){var t=a2_0x37cf;e[0][t("0x3671")]===a[0]&&a[0][t("0x2d7b")](),o=!1}),1,!1)}function s(e){o&&e.preventDefault()}a.on("focus",x).on(i("0x1f"),s),n[i("0x24c9")]("$destroy",(function(){var e=i;a[e("0x30f8")](e("0x2beb"),x)[e("0x30f8")]("mouseup",s)}))}}}e._mdMocksIncluded&&r.service(a("0xf3f"),(function(){return{messages:{getElement:E}}}))[a("0xc3b")]("mdInputInvalidAnimation",b)[a("0xc3b")](a("0x190f"),_).service("mdInputMessageAnimation",p);var l,d,u,f=[a("0x479"),"ngShow",a("0x470d"),"ngSwitchWhen",a("0x2738")];function m(e){return{restrict:"EA",compile:function(t){if(n(t))a(t);else if(function(){var e=t[0];for(;e=e.parentNode;)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)return!0;return!1}())return function(e,r){n(r)&&a(t)};function n(t){var n=a2_0x37cf;return!!e[n("0x3731")](t,n("0x1efc"))}function a(e){var t=a2_0x37cf;e[t("0x411b")](t("0x20f5"),!0)}},priority:100}}function b(e,t,n){return A(e,t,n),{addClass:function(e,t,n){h(e,n)}}}function _(e,t,n){return A(e,t,n),{enter:function(e,t){h(e,t)},leave:function(e,t){g(e,t)},addClass:function(e,t,n){"ng-hide"==t?g(e,n):n()},removeClass:function(e,t,n){t==a2_0x37cf("0x2b2b")?h(e,n):n()}}}function p(e,t,n,a){return A(e,t,n),{enter:function(e,t){var n=a2_0x37cf;v(e)[n("0x1023")]()[n("0x2d52")](t)},leave:function(e,t){var n=a2_0x37cf;S(e).start()[n("0x2d52")](t)}}}function h(e,n){var r,i=a,o=[],x=E(e),s=x[i("0x71b")]();0!=x[i("0x5e9")]&&0!=s[i("0x5e9")]?(t.forEach(s,(function(e){var n=i;r=v(t[n("0xb48")](e)),o[n("0x459a")](r[n("0x1023")]())})),l[i("0x3217")](o,n)):n()}function g(e,n){var r,i=a,o=[],x=E(e),s=x.children();0!=x[i("0x5e9")]&&0!=s[i("0x5e9")]?(t[i("0x5ba")](s,(function(e){var n=i;r=S(t[n("0xb48")](e)),o.push(r[n("0x1023")]())})),l[i("0x3217")](o,n)):n()}function v(t){var n,r=a,i=parseInt(e.getComputedStyle(t[0])[r("0x4e66")]),o=parseInt(e.getComputedStyle(t[0])[r("0x464f")]),x=E(t),s=t[(n=a)("0x1194")](n("0xbd0"))[n("0xb48")];return o>-i||x[r("0x3a35")]("md-auto-hide")&&!s[r("0x3a35")](r("0x9e3"))?d(t,{}):d(t,{event:"enter",structural:!0,from:{opacity:0,"margin-top":-i+"px"},to:{opacity:1,"margin-top":"0"},duration:.3})}function S(t){var n=a,r=t[0][n("0x2b02")],i=e[n("0x2b64")](t[0]);return 0===parseInt(i[n("0x47e0")])?d(t,{}):d(t,{event:n("0xf77"),structural:!0,from:{opacity:1,"margin-top":0},to:{opacity:0,"margin-top":-r+"px"},duration:.3})}function E(e){var n=a;return e[n("0x3a35")]("md-input-messages-animation")?e:e[n("0x3a35")](n("0x20f5"))?t[n("0xb48")](u.getClosest(e,(function(e){var t=n;return e.classList[t("0x2a10")](t("0x14c6"))}))):t[n("0xb48")](e[0][n("0x31f7")](n("0x37bc")))}function A(e,t,n){l=e,d=t,u=n}}(),function(){var e=a2_0x37cf;function n(e){return{restrict:"E",compile:function(t){var n=a2_0x37cf;return t[0][n("0x4480")]("role",n("0x36ed")),e}}}function a(n,a,r,i){var o=e,x=[o("0x3cf8"),"md-switch",o("0x28b")];return{restrict:"E",controller:o("0x15d6"),compile:function(e,s){var c,l,d,u,f=o,m=e[0][f("0x1e72")](f("0x2a11")),b=e;if(e[0][f("0x4480")](f("0x3517"),"listitem"),s[f("0x17e3")]||s[f("0x28fb")]||s[f("0x376a")]||s[f("0x44a3")]||s[f("0x4bbd")]||s.ngAttrUiSref)p(f("0x22d7"));else if(!e[f("0x3a35")](f("0x4320"))){for(var _=0;_<x.length;++_)if(null!==(l=e[0].querySelector(x[_]))){c=!0;break}c?p(f("0x4774")):e[f("0x31dc")](f("0x4320"))}function p(a){var r=f;if(a===r("0x4774"))(b=t[r("0xb48")](r("0x1e0c"))).append(e.contents()),e[r("0x31dc")](r("0x6a9"));else{b=t[r("0xb48")](r("0x46ce")+r("0x4bc3")+r("0x1fa8"));var i=t[r("0xb48")](r("0x10d6"));h(e[0],i[0]),!i[r("0x417f")]("aria-label")&&i[r("0x417f")]("aria-label",n[r("0x114e")](e)),e[r("0x3a35")]("md-no-focus")&&i[r("0x31dc")]("md-no-focus"),b.prepend(i),b[r("0x71b")]().eq(1)[r("0x136a")](e[r("0x1163")]()),e[r("0x31dc")](r("0x4685"))}e[0][r("0x4480")](r("0x562"),"-1"),e[r("0x136a")](b)}function h(e,n,a){var i=f,o=r[i("0x13ba")]([i("0x383d"),i("0xfcc"),"ng-dblclick","aria-label",i("0x30f3"),i("0x15ce"),i("0x44a3"),i("0x5c6"),"rel",i("0x55d"),i("0x4631"),i("0x4a4a"),i("0x1149")]);a&&(o=o[i("0x3abc")](r[i("0x13ba")](a))),t[i("0x5ba")](o,(function(t){var a=i;e[a("0x3a67")](t)&&(n[a("0x4480")](t,e[a("0x22b9")](t)),e[a("0x25b3")](t))}))}function g(e){for(var t=f,n=e[t("0x184f")],a=0;a<n[t("0x5e9")];a++)if(s[t("0x3256")](n[a][t("0x98c")])===t("0x17e3"))return!0;return!1}return u=t[(d=f)("0xb48")]('<div class="md-secondary-container">'),t[d("0x5ba")](m,(function(a){!function(a,r){var i,o,c,l,d=f;if(a&&((o=a[(i=f)("0x4907")][i("0x110")]())!==i("0x8e8")&&o!==i("0x1622"))&&a.hasAttribute("ng-click")){n[d("0x1aa6")](a,d("0x194a"));var u=t[d("0xb48")](d("0x3f72"));h(a,u[0],[d("0x383d"),"ng-hide","ng-show"]),a[d("0x4480")]("tabindex","-1"),u[d("0x136a")](a),a=u[0]}a&&(!g(a)||!s[d("0x17e3")]&&(c=a,-1!==x[(l=f)("0x3507")](c[l("0x4907")].toLowerCase())))&&t[d("0xb48")](a)[d("0xa81")]("md-secondary"),e[d("0x31dc")]("md-with-secondary"),r.append(a)}(a,u)})),b.append(u),function(){for(var t,n=f,a=[n("0x2be6"),"md-checkbox"],r=0;r<a[n("0x5e9")];++r)if((t=e.find(a[r])[0])&&!t[n("0x3a67")](n("0x194a"))){var i=e.find("p")[0];if(!i&&(i=e[n("0x372f")](n("0x299e"))[0]),!i)return;t[n("0x4480")](n("0x194a"),n("0xeff")+i[n("0x12ee")])}}(),c&&l[f("0x4907")]===f("0xdfb")&&function(){var e=f,n=t.element(l),a=n[e("0x731")]()[e("0x3a35")]("md-secondary-container")||l[e("0x368c")][e("0x1234")]!==l,r=e("0x2885");a&&(r=e("0x30eb")),!n.attr(e("0x2f0a"))&&n[e("0x417f")](e("0x2f0a"),r+e("0x979"));var i=n[e("0x71b")]().eq(0);!g(i[0])&&i.attr(e("0xfcc"),e("0x830")),!i[e("0x417f")](e("0x194a"))&&i[e("0x417f")](e("0x194a"),e("0x49f9"))}(),function(e,n,o,s){var c=f;n.addClass(c("0x16ce"));var l=[],d=n[0][c("0x1234")],u=n[c("0x3a35")](c("0x4685"))?d[c("0x1234")]:d,m=u&&g(u),b=n.hasClass("md-no-proxy");p=c,d&&d[p("0x71b")]&&!m&&!b&&t[p("0x5ba")](x,(function(e){var n=p;t.forEach(d.querySelectorAll(e+n("0x13ca")),(function(e){l[n("0x459a")](e)}))})),_=c,(1===l.length||m)&&(n[_("0x31dc")](_("0x213e")),!m&&s[_("0x221f")](e,t[_("0xb48")](n[0][_("0x31f7")](_("0x1157"))))),l[c("0x5e9")]&&t.forEach(l,(function(a){var r=c;a=t[r("0xb48")](a),e[r("0x4c6b")]=!1,a.on(r("0x4a2b"),(function(){var t=r;e[t("0x4c6b")]=!0,i((function(){e[t("0x4c6b")]=!1}),100)})).on("focus",(function(){var t=r;!1===e[t("0x4c6b")]&&n[t("0x31dc")]("md-focused"),a.on(t("0x4a1"),(function e(){var r=t;n[r("0xa81")](r("0x43ba")),a[r("0x30f8")](r("0x4a1"),e)}))}))}));var _;var p;var h=function(e){var t=c;e[t("0x55d")][t("0x4907")]===t("0x3738")||e.target[t("0x4907")]===t("0x3db0")||e[t("0x55d")].isContentEditable||(e[t("0x2d41")]||e[t("0x4ff2")])===a[t("0x4c0f")][t("0x128a")]&&u&&(u[t("0x7cb")](),e.preventDefault(),e[t("0x4c98")]())};!m&&!l[c("0x5e9")]&&u&&u[c("0x4944")](c("0x1a29"),h),n[c("0x30f8")]("click"),n[c("0x30f8")](c("0x1a29")),n.off(c("0x468d")),1===l.length&&u&&n.children().eq(0).on("click",(function(e){var a=c;(function(e){var t=c,a=["md-slider"],i=r[t("0x11f8")](e);if(!i||0===i[t("0x5e9")])return-1!==a[t("0x3507")](e[t("0x55d")][t("0x4d74")].toLowerCase());for(var o=i[t("0x3507")](n[t("0x71b")]()[0]),x=0;x<o;x++)if(-1!==a[t("0x3507")](i[x].tagName[t("0x2eb9")]()))return!0;return!1})(e)||!r[a("0x3731")](e.target,"BUTTON")&&u.contains(e[a("0x55d")])&&t.forEach(l,(function(n){var r=a;e[r("0x55d")]!==n&&!n[r("0x2a10")](e.target)&&("MD-MENU"===n.nodeName&&(n=n[r("0x71b")][0]),t.element(n)[r("0x59d")](r("0x7cb")))}))})),e[c("0x24c9")](c("0x4c91"),(function(){var e=c;u&&u[e("0x4b59")](e("0x1a29"),h)}))}}}}function r(e,t,n){this.attachRipple=function(e,t){n[a2_0x37cf("0x226")](e,t,{})}}r[e("0x4670")]=[e("0x36af"),e("0x4998"),e("0x25ff")],n[e("0x4670")]=[e("0x191b")],a.$inject=[e("0x219f"),e("0x4572"),e("0xfb8"),e("0x38d4")],t[e("0x39e9")](e("0x2e0f"),[e("0x1b0c")])[e("0x1194")](e("0x15d6"),r)[e("0x1b75")]("mdList",n).directive(e("0x264f"),a)}(),t[(f=a2_0x37cf)("0x39e9")](f("0x450d"),[f("0x1b0c"),f("0x2ee6")]),function(){var e=a2_0x37cf;function a(a,r,i,o,x,s,c,l,d){var u,f,m=e,b=x.prefixer(),_=this;this[m("0x45ad")]=parseInt(r[m("0x291")],10)||0,this[m("0xeed")]=function(e,n){var r=m;n=n||{},u=e,(f=i[0][r("0x31f7")](b.buildSelector(["ng-click",r("0x4d0c")]))).setAttribute("aria-expanded",r("0x22b7")),this.isInMenuBar=n[r("0x488c")],this[r("0x3aa")]=n[r("0x3aa")],this[r("0x2d3e")]=x[r("0x328a")](u[0][r("0x1e72")](".md-nested-menu")),u.on(r("0x35a1"),(function(){var e=r;_[e("0x4447")]=!1,x[e("0x4ee4")]((function(){var t=e;_[t("0x2301")](_[t("0x4447")])}))})),x[r("0x4ee4")]((function(){var e=r;_[e("0x2301")](_[e("0x4447")])}));var s=r("0x1eda")+x.nextUid();u[r("0x417f")]("id",s),t[r("0xb48")](f)[r("0x417f")]({"aria-owns":s,"aria-haspopup":r("0x1509")}),o[r("0x24c9")](r("0x4c91"),t[r("0x2b0c")](this,(function(){this.disableHoverListener(),a.destroy()}))),u.on("$destroy",(function(){a[r("0xdc5")]()}))};var p,h,g=[];this.enableHoverListener=function(){var e=m;g[e("0x459a")](c[e("0x24c9")](e("0xce8"),(function(t,n){var a=e;u[0].contains(n[0])&&(_[a("0x2b3")]=n[a("0x1194")](a("0x4fd3")),_[a("0x3929")]=!1,_.currentlyOpenMenu[a("0x4ccc")](_.triggerContainerProxy[a("0x2b0c")](_)))}))),g[e("0x459a")](c[e("0x24c9")]("$mdMenuClose",(function(t,a){var r=e;u[0][r("0x2a10")](a[0])&&(_[r("0x2b3")]=n)}))),(h=t.element(x[e("0x328a")](u[0][e("0x71b")][0][e("0x71b")]))).on(e("0x4577"),_[e("0x102")]),h.on(e("0x5c0"),_[e("0x4c7e")])},this[m("0x4165")]=function(){for(var e=m;g[e("0x5e9")];)g[e("0x4534")]()();h&&h[e("0x30f8")]("mouseenter",_[e("0x102")]),h&&h[e("0x30f8")]("mouseleave",_[e("0x4c7e")])},this[m("0x102")]=function(e){var n=m;if(!_[n("0x3929")]){var a=e.target[n("0x31f7")](n("0x28b"))||x.getClosest(e.target,n("0xdfb"));p=s((function(){var e=n;if(a&&(a=t.element(a).controller("mdMenu")),_[e("0x2b3")]&&_[e("0x2b3")]!=a){var r=_[e("0x45ad")]+1;_.currentlyOpenMenu.close(!0,{closeTo:r}),_[e("0x3929")]=!!a,a&&a[e("0x55a")]()}else a&&!a[e("0x4447")]&&a.open&&(_.isAlreadyOpening=!!a,a&&a[e("0x55a")]())}),a?100:250);var r=e[n("0x2e3f")][n("0x31f7")](n("0x90c"));r&&r[n("0x2beb")]()}},this[m("0x4c7e")]=function(){p&&(s.cancel(p),p=n)},this[m("0x55a")]=function(e){var t=m;e&&e.stopPropagation(),e&&e.preventDefault(),_[t("0x4447")]||(_.enableHoverListener(),_.isOpen=!0,x.nextTick((function(){var e=t;_[e("0x2301")](_[e("0x4447")])})),(f=f||(e?e[t("0x55d")]:i[0]))[t("0x4480")](t("0x766"),t("0x1509")),o.$emit(t("0xce8"),i),a[t("0x262c")]({scope:o,mdMenuCtrl:_,nestLevel:_[t("0x45ad")],element:u,target:f,preserveElement:!0,parent:t("0x3b3e")}).finally((function(){var e=t;f.setAttribute(e("0x766"),e("0x22b7")),_[e("0x4165")]()})))},this[m("0x2301")]=function(e){var n=m;e?(u[n("0x417f")](n("0x240d"),n("0x22b7")),i[0][n("0x1e2d")][n("0x2d6e")](n("0x146c")),t[n("0x5ba")](_.nestedMenus,(function(e){e[n("0x1e2d")].remove("md-open")}))):(u[n("0x417f")](n("0x240d"),n("0x1509")),i[0][n("0x1e2d")].remove("md-open")),o[n("0x2502")]=_[n("0x4447")]},this[m("0x372")]=function(){var e=m,t=u[0][e("0x31f7")](b.buildSelector(["md-menu-focus-target","md-autofocus"]));t||(t=u[0][e("0x31f7")](e("0x90c"))),t[e("0x2beb")]()},this[m("0x4ccc")]=function(e){this[m("0xf75")]=e},this[m("0x3793")]=function(e){var t=m;this.containerProxy&&this[t("0xf75")](e)},this[m("0xdc5")]=function(){var e=m;return _[e("0x4447")]?a[e("0xdc5")]():l[e("0x2c66")](!1)},this[m("0x440f")]=function(e,n){var r=m;if(_[r("0x4447")]){_[r("0x4447")]=!1,x[r("0x4ee4")]((function(){var e=r;_.onIsOpenChanged(_[e("0x4447")])}));var s=t.extend({},n,{skipFocus:e});if(o[r("0x7e0")](r("0x1972"),i,s),a[r("0x29cb")](null,n),!e){var c=_.restoreFocusTo||i.find(r("0x22d7"))[0];c instanceof t[r("0xb48")]&&(c=c[0]),c&&c[r("0x2beb")]()}}},this.positionMode=function(){var e=m,t=(r.mdPositionMode||"target")[e("0x9e5")](" ");return 1===t[e("0x5e9")]&&t[e("0x459a")](t[0]),{left:t[0],top:t[1]}},this.offsets=function(){var e=m,t=(r.mdOffset||e("0xe1c")).split(" ")[e("0x19e8")](parseFloat);if(2===t[e("0x5e9")])return{left:t[0],top:t[1]};if(1===t[e("0x5e9")])return{top:t[0],left:t[0]};throw Error(e("0x2921"))},o[m("0x3125")]={open:this[m("0x55a")],close:this.close},o[m("0x83")]=t[m("0x2b0c")](this,(function(){var e=m;return d.warn(e("0x4b93")),this[e("0x55a")][e("0x4884")](this,arguments)}))}a[e("0x4670")]=[e("0x3125"),e("0x428f"),e("0x4998"),"$scope",e("0xfb8"),e("0x38d4"),e("0x47ed"),"$q","$log"],t.module(e("0x450d"))[e("0x1194")](e("0x27ae"),a)}(),function(){var e=a2_0x37cf;function n(n){var a=e,r="Invalid HTML for md-menu: ";return{restrict:"E",require:["mdMenu",a("0x17d")],controller:a("0x27ae"),scope:!0,compile:function(e){var o=a;e[o("0x31dc")](o("0x28b"));var x=e[o("0x71b")]()[0],s=n[o("0x13ba")]();!s[o("0x3a67")](x,o("0xfcc"))&&(x=x.querySelector(s[o("0x1dbd")]([o("0xfcc"),o("0x4d0c")]))||x);var c=x.nodeName===o("0x8e8")||x[o("0x4907")]===o("0x1622");if(x&&c&&!x.hasAttribute(o("0x3298"))&&x.setAttribute("type",o("0x22d7")),!x)throw Error(r+o("0x30d1"));if(2!==e.children().length)throw Error(r+"Expected two children elements. The second element must have a `md-menu-content` element.");x&&x.setAttribute("aria-haspopup",o("0x1509"));var l=e[0][o("0x1e72")](o("0x28b")),d=parseInt(e[0].getAttribute(o("0x104b")),10)||0;return l&&t[o("0x5ba")](n[o("0x328a")](l),(function(e){var t=o;!e.hasAttribute(t("0x2f0a"))&&e[t("0x4480")]("md-position-mode",t("0x2a04")),e[t("0x1e2d")][t("0x2d6e")](t("0x271")),e[t("0x4480")]("md-nest-level",d+1)})),i}};function i(e,n,r,i){var o=a,x=i[0],s=!!i[1],c=i[1],l=t[o("0xb48")](o("0x19a1")),d=n.children()[1];n.addClass(o("0x16ce")),!d[o("0x3a67")](o("0x3517"))&&d[o("0x4480")](o("0x3517"),"menu"),l[o("0x136a")](d),n.on(o("0x4c91"),(function(){l.remove()})),n.append(l),l[0].style.display="none",x[o("0xeed")](l,{isInMenuBar:s,mdMenuBarCtrl:c})}}n[e("0x4670")]=[e("0xfb8")],t[e("0x39e9")](e("0x450d")).directive("mdMenu",n)}(),function(){var e=a2_0x37cf;function a(a){var r=e;i[r("0x4670")]=[r("0xfb8"),r("0x191b"),r("0x4572"),"$document","$window","$q",r("0x47aa"),r("0x7c3"),r("0xc00"),r("0x1a4")];return a("$mdMenu")[r("0x34e5")]({methods:[r("0x55d")],options:i});function i(e,a,i,x,s,c,l,d,u,f){var m=r,b=e.prefixer(),_=e[m("0x1c30")].animator;return{parent:m("0x3b3e"),onShow:function(n,r,o){var x=m;return function(){var e=x;if(!o[e("0x55d")])throw Error(e("0x2c23"));t.extend(o,{alreadyOpen:!1,isRemoved:!1,target:t[e("0xb48")](o[e("0x55d")]),parent:t[e("0xb48")](o[e("0x731")]),menuContentEl:t[e("0xb48")](r[0][e("0x31f7")]("md-menu-content"))})}(),o[x("0x23fb")][0]?a[x("0xbe2")](o.menuContentEl,o[x("0x55d")]):f[x("0x1dc6")](x("0x86e")+x("0x1604"),r),o[x("0x332d")]=function(){var e=x,t=(n=r,a=o,l.throttle((function(){var e=a2_0x37cf;if(!o.isRemoved){var t=v(n,a);n[e("0x42b1")](_.toCss(t))}})));var n,a;return s[e("0x4944")]("resize",t),s.addEventListener(e("0x1f21"),t),function(){var n=e;s[n("0x4b59")](n("0x39d4"),t),s[n("0x4b59")](n("0x1f21"),t)}}(),o[x("0x3d8e")]=p(n,r,o),function(){var e=x;return o[e("0x731")][e("0x136a")](r),r[0][e("0x4025")][e("0x37b3")]="",c((function(t){var n=e,a=v(r,o);r[n("0xa81")](n("0x15d2")),d(r,{addClass:n("0x3598"),from:_[n("0x4208")](a),to:_.toCss({transform:""})})[n("0x1023")]()[n("0x34e8")](t)}))}()[x("0x34e8")]((function(a){var s,c=x;return o[c("0x49de")]=!0,o[c("0x4e6f")]=function(){var a=x;if(!o.menuContentEl[0])return t[a("0x49d1")];o[a("0x23fb")].on(a("0x468d"),d),o[a("0x23fb")][0].addEventListener(a("0x7cb"),u,!0);var r=o[a("0x23fb")][0].querySelector(b[a("0x1dbd")]([a("0x2678"),a("0x2bc5")]));if(!r)for(var s=o[a("0x23fb")][0][a("0x71b")][a("0x5e9")],c=0;c<s;c++){var l=o[a("0x23fb")][0][a("0x71b")][c];if(r=l[a("0x31f7")](".md-button:not([disabled])"))break;if(l.firstElementChild&&!l[a("0x1234")][a("0x1c54")]){r=l.firstElementChild;break}}return r&&r[a("0x2beb")](),function(){var e=a;o.menuContentEl.off(e("0x468d"),d),o[e("0x23fb")][0][e("0x4b59")](e("0x7cb"),u,!0)};function d(t){var n,r=a;switch(t[r("0x4ff2")]){case i[r("0x4c0f")][r("0x7eb")]:o[r("0x45ad")]?o[r("0x27ae")][r("0x440f")]():o[r("0x27ae")].close(!1,{closeAll:!0}),n=!0;break;case i[r("0x4c0f")].TAB:o[r("0x27ae")][r("0x440f")](!1,{closeAll:!0}),n=!1;break;case i[r("0x4c0f")][r("0x3a34")]:!h(t,o[r("0x23fb")],o,-1)&&!o[r("0x45ad")]&&o[r("0x27ae")][r("0x3793")](t),n=!0;break;case i.KEY_CODE[r("0xedf")]:!h(t,o[r("0x23fb")],o,1)&&!o[r("0x45ad")]&&o[r("0x27ae")][r("0x3793")](t),n=!0;break;case i[r("0x4c0f")].LEFT_ARROW:o[r("0x45ad")]?o[r("0x27ae")][r("0x440f")]():o[r("0x27ae")][r("0x3793")](t),n=!0;break;case i[r("0x4c0f")][r("0x2c29")]:var x=e[r("0x3731")](t[r("0x55d")],r("0xdfb"));x&&x!=o[r("0x731")][0]?t[r("0x55d")][r("0x7cb")]():o.mdMenuCtrl[r("0x3793")](t),n=!0}n&&(t.preventDefault(),t[r("0x360b")]())}function u(t){var r=a,i=t[r("0x55d")];do{if(i==o[r("0x23fb")][0])return;if((c(i,["ng-click","ng-href","ui-sref"])||i.nodeName==r("0x1622")||"MD-BUTTON"==i[r("0x4907")])&&!c(i,[r("0x18a7")])){var x=e[r("0x3731")](i,r("0xdfb"));!i[r("0x3a67")](r("0x1c54"))&&(!x||x==o.parent[0])&&s();break}}while(i=i[r("0x368c")]);function s(){var e=r;n[e("0xd66")]((function(){o[e("0x27ae")].close(!0,{closeAll:!0})}))}function c(e,t){var n=r;if(!e)return!1;for(var a,i=0;a=t[i];++i)if(b[n("0x3a67")](e,a))return!0;return!1}}}(),o[c("0x2741")]=o[(s=x)("0x4e55")]?(o[s("0x4e55")].on(s("0x7cb"),u),function(){var e=s;o.backdrop.off(e("0x7cb"),u)}):t[s("0x49d1")],r[c("0x31dc")](c("0x213e")),a}));function u(e){var t=x;e.preventDefault(),e[t("0x4c98")](),n.$apply((function(){var e=t;o.mdMenuCtrl[e("0x440f")](!0,{closeAll:!0})}))}},onRemove:function(e,t,n){var a=m;return n.cleanupInteraction(),n[a("0x2741")](),n[a("0x332d")](),n.hideBackdrop(),t[a("0xa81")](a("0x213e")),!0===n[a("0x4c91")]?r():function(){return d(t,{addClass:a("0x15d2")}).start()}()[a("0x34e8")](r);function r(){var e,r,i,x=a;t[x("0xa81")](x("0x3598")),e=t,(r=n)[(i=m)("0x3765")]?o(e)[i("0x4025")].display=i("0x2847"):o(e)[i("0x368c")]===o(r[i("0x731")])&&o(r.parent).removeChild(o(e)),n[x("0x49de")]=!1}},hasBackdrop:!0,disableParentScroll:!0,skipCompile:!0,preserveScope:!0,multiple:!0,themable:!0};function p(n,a,r){var i=m;return r[i("0x45ad")]?t[i("0x49d1")]:(r[i("0x2769")]&&!e[i("0x3731")](r[i("0x55d")],i("0x3491"))?r[i("0x1a73")]=e[i("0xa94")](r[i("0xb48")],r.parent):r[i("0x2769")]=!1,r[i("0x2fb9")]&&(r.backdrop=e[i("0x43d0")](n,i("0xa75")),u.enter(r[i("0x4e55")],x[0].body)),function(){var e=i;r[e("0x4e55")]&&r[e("0x4e55")][e("0xf82")](),r[e("0x2769")]&&r[e("0x1a73")]()})}function h(t,n,a,r){for(var i,o=m,x=e[o("0x3731")](t[o("0x55d")],o("0x2eb5")),s=e[o("0x328a")](n[0][o("0x71b")]),c=s.indexOf(x)+r;c>=0&&c<s[o("0x5e9")];c+=r){if(i=g(s[c][o("0x31f7")](".md-button")))break}return i}function g(e){var t=m;if(e&&-1!=e.getAttribute("tabindex"))return e[t("0x2beb")](),x[0][t("0x3671")]==e}function v(t,a){var r,i=m,o=t[0],c=t[0][i("0x1234")],l=c.getBoundingClientRect(),d=x[0][i("0x3b3e")][i("0x1a8b")](),u=s[i("0x2b64")](c),f=a[i("0x55d")][0][i("0x31f7")](b.buildSelector(i("0x1664")))||a[i("0x55d")][0],_=f[i("0x1a8b")](),p={left:d[i("0x2885")]+8,top:Math[i("0x242b")](d.top,0)+8,bottom:Math[i("0x242b")](d[i("0x47d9")],Math[i("0x242b")](d.top,0)+d.height)-8,right:d[i("0x30eb")]-8},h={top:0,left:0,right:0,bottom:0},g={top:0,left:0,right:0,bottom:0},v=a[i("0x27ae")][i("0x4892")]();(v[i("0x228a")]===i("0x55d")||"target"===v[i("0x2885")]||v.left===i("0x37da"))&&((r=function(){for(var e=i,t=0;t<c[e("0x71b")][e("0x5e9")];++t)if("none"!=s[e("0x2b64")](c[e("0x71b")][t])[e("0x37b3")])return c[e("0x71b")][t]}())&&(h=(r=(r=r[i("0x1234")]||r)[i("0x31f7")](b[i("0x1dbd")](i("0x17f4")))||r).getBoundingClientRect(),g={top:parseFloat(o[i("0x4025")][i("0x228a")]||0),left:parseFloat(o[i("0x4025")][i("0x2885")]||0)}));var S={},E=i("0x10ba");switch(v[i("0x228a")]){case i("0x55d"):S[i("0x228a")]=g[i("0x228a")]+_[i("0x228a")]-h[i("0x228a")];break;case i("0x2a04"):S[i("0x228a")]=_[i("0x228a")]-parseFloat(u.paddingTop)-f[i("0x4025")][i("0x228a")];break;case i("0x47d9"):S[i("0x228a")]=_[i("0x228a")]+_.height;break;default:throw new Error(i("0x104a")+v[i("0x228a")]+i("0x1551"))}var A=e[i("0x3475")](t);switch(v[i("0x2885")]){case i("0x55d"):S[i("0x2885")]=g[i("0x2885")]+_[i("0x2885")]-h.left,E+=A?i("0x30eb"):"left";break;case i("0x10b7"):S[i("0x2885")]=_[i("0x2885")],E+="left";break;case i("0x37da"):S[i("0x2885")]=_[i("0x30eb")]-l[i("0xbbf")]+(l[i("0x30eb")]-h[i("0x30eb")]),E+="right";break;case"cascade":var T=A?_.left-l[i("0xbbf")]<p.left:_[i("0x30eb")]+l[i("0xbbf")]<p[i("0x30eb")];S[i("0x2885")]=T?_[i("0x30eb")]-f[i("0x4025")][i("0x2885")]:_.left-f[i("0x4025")].left-l[i("0xbbf")],E+=T?i("0x2885"):"right";break;case"right":A?(S[i("0x2885")]=_[i("0x30eb")]-_[i("0xbbf")],E+="left"):(S[i("0x2885")]=_[i("0x30eb")]-l.width,E+=i("0x30eb"));break;case i("0x2885"):A?(S[i("0x2885")]=_[i("0x30eb")]-l.width,E+="right"):(S[i("0x2885")]=_.left,E+=i("0x2885"));break;default:throw new Error('Invalid target mode "'+v[i("0x2885")]+i("0x246e"))}var y,C,w=a.mdMenuCtrl[i("0x297")]();S[i("0x228a")]+=w[i("0x228a")],S[i("0x2885")]+=w[i("0x2885")],C=i,(y=S).top=Math.max(Math[C("0x11db")](y[C("0x228a")],p.bottom-o[C("0x2b02")]),p.top),y[C("0x2885")]=Math[C("0x242b")](Math[C("0x11db")](y.left,p[C("0x30eb")]-o[C("0xe76")]),p[C("0x2885")]);var M=Math[i("0x46d")](100*Math[i("0x11db")](_.width/o[i("0xe76")],1))/100,R=Math[i("0x46d")](100*Math.min(_[i("0x4e66")]/o.offsetHeight,1))/100;return{top:Math[i("0x46d")](S[i("0x228a")]),left:Math[i("0x46d")](S.left),transform:a[i("0x49de")]?n:e.supplant(i("0x10ed"),[M,R]),transformOrigin:E}}}function o(e){return e instanceof t[r("0xb48")]&&(e=e[0]),e}}a.$inject=[e("0x11cb")],t[e("0x39e9")](e("0x450d"))[e("0x4b0")]("$mdMenu",a)}(),t[(u=a2_0x37cf)("0x39e9")](u("0x44b3"),[u("0x1b0c"),u("0x3134"),u("0x450d")]),function(){var e=a2_0x37cf;r[e("0x4670")]=[e("0x36af"),e("0x47ed"),e("0x4998"),e("0x428f"),"$mdConstant","$document",e("0xfb8"),e("0x38d4")],t[e("0x39e9")](e("0x44b3"))[e("0x1194")](e("0x4762"),r);var a=[e("0x3fac"),e("0x2571"),e("0x4f0b"),e("0x4952")];function r(n,r,i,o,x,s,c,l){var d=e;this[d("0x4998")]=i,this[d("0x428f")]=o,this[d("0x4572")]=x,this[d("0xfb8")]=c,this[d("0x45e2")]=s,this[d("0x36af")]=n,this[d("0x47ed")]=r,this[d("0x38d4")]=l;var u=this;t[d("0x5ba")](a,(function(e){u[e]=t.bind(u,u[e])}))}r[e("0x20f")][e("0xeed")]=function(){var a=e,r=this[a("0x4998")],i=this[a("0xfb8")],o=this[a("0x36af")],x=this,s=[];r.on("keydown",this[a("0x3fac")]),this[a("0x4733")]=i[a("0x3731")](r,a("0xf86")),s[a("0x459a")](this[a("0x47ed")].$on("$mdMenuOpen",(function(e,t){var n=a;-1!=x[n("0x4077")]()[n("0x3507")](t[0])&&(r[0][n("0x1e2d")][n("0x2d6e")](n("0x146c")),t[0][n("0x1e2d")][n("0x2d6e")](n("0x146c")),x[n("0x2b3")]=t[n("0x1194")](n("0x4fd3")),x[n("0x2b3")][n("0x4ccc")](x[n("0x3fac")]),x[n("0x5b7")]())}))),s[a("0x459a")](this[a("0x47ed")][a("0x24c9")](a("0x1972"),(function(e,o,s){var c=a,l=x[c("0x4077")]();-1!=l[c("0x3507")](o[0])&&(r[0][c("0x1e2d")][c("0xf82")](c("0x146c")),o[0][c("0x1e2d")][c("0xf82")](c("0x146c")));var d=t[c("0xb48")](o[0])[c("0x1194")]("mdMenu");if(d.isInMenuBar&&d[c("0x3aa")]===x){for(var u=o[0];u&&-1==l[c("0x3507")](u);)u=i[c("0x3731")](u,"MD-MENU",!0);u&&(s[c("0x38f4")]||u[c("0x31f7")]("button:not([disabled])").focus(),x.currentlyOpenMenu=n),x[c("0x451a")](),x[c("0xa85")](!0)}}))),o[a("0x24c9")](a("0x4c91"),(function(){var e=a;for(x[e("0x451a")]();s[e("0x5e9")];)s[e("0x4534")]()()})),this[a("0xa85")](!0)},r[e("0x20f")][e("0xa85")]=function(t){var n=e;t?this[n("0x4998")][0][n("0x1e2d")].add(n("0xac3")):this[n("0x4998")][0][n("0x1e2d")][n("0xf82")](n("0xac3"))},r[e("0x20f")][e("0x5b7")]=function(){var n=e;if(!this[n("0x270d")]){var a=this;a[n("0x270d")]=!0,a[n("0x4733")]&&(a[n("0x4733")][n("0x1e2d")][n("0x2d6e")](n("0x1146")),a.$mdUtil[n("0x4ee4")]((function(){var e=n;t[e("0xb48")](a[e("0x4733")]).on(e("0x7cb"),a[e("0x39cc")])}),!1)),t[n("0xb48")](a.getMenus()).on(n("0x4577"),a[n("0x2571")])}},r[e("0x20f")][e("0x2571")]=function(t){var n=e;this[n("0xa85")](!1),this[n("0x270d")]&&this[n("0x4f0b")](t)},r[e("0x20f")][e("0x451a")]=function(){var n=e;this[n("0x270d")]&&(this[n("0x270d")]=!1,this[n("0x4733")]&&(this.parentToolbar.classList.remove(n("0x1146")),t[n("0xb48")](this[n("0x4733")])[n("0x30f8")](n("0x7cb"),this.handleParentClick)),t.element(this[n("0x4077")]())[n("0x30f8")]("mouseenter",this.handleMenuHover))},r[e("0x20f")].scheduleOpenHoveredMenu=function(n){var a=e,r=t.element(n[a("0x2e3f")])[a("0x1194")]("mdMenu");this[a("0xa85")](!1),this[a("0x40b7")](r)},r[e("0x20f")][e("0x40b7")]=function(t){var a=e,r=this,i=this.$timeout;t!=r[a("0x2b3")]&&(i[a("0x4920")](r[a("0x37c6")]),r[a("0x37c6")]=i((function(){var e=a;r[e("0x37c6")]=n,r[e("0x2b3")]&&r.currentlyOpenMenu[e("0x440f")](!0,{closeAll:!0}),t[e("0x55a")]()}),200,!1))},r.prototype[e("0x3fac")]=function(n){var a,r,i,o=e,x=this[o("0x4572")][o("0x4c0f")],s=this[o("0x2b3")],c=s&&s[o("0x4447")];switch(this.setKeyboardMode(!0),n[o("0x4ff2")]){case x[o("0xedf")]:s?s[o("0x372")]():this.openFocusedMenu(),a=!0;break;case x[o("0x3a34")]:s&&s[o("0x440f")](),a=!0;break;case x[o("0x4620")]:r=this[o("0x4656")](-1),c&&(i=t.element(r)[o("0x1194")](o("0x4fd3")),this[o("0x40b7")](i)),a=!0;break;case x[o("0x2c29")]:r=this[o("0x4656")](1),c&&(i=t.element(r)[o("0x1194")](o("0x4fd3")),this[o("0x40b7")](i)),a=!0}a&&(n&&n[o("0xe50")]&&n[o("0xe50")](),n&&n[o("0x360b")]&&n[o("0x360b")]())},r[e("0x20f")].focusMenu=function(t){var n=e,a=this.getMenus(),r=this[n("0x3cb6")]();-1==r&&(r=this.getOpenMenuIndex());var i=!1;if(-1==r?(r=0,i=!0):(t<0&&r>0||t>0&&r<a[n("0x5e9")]-t)&&(r+=t,i=!0),i)return a[r][n("0x31f7")]("button")[n("0x2beb")](),a[r]},r[e("0x20f")].openFocusedMenu=function(){var n=e,a=this.getFocusedMenu();a&&t.element(a)[n("0x1194")](n("0x4fd3"))[n("0x55a")]()},r.prototype[e("0x4077")]=function(){var t=e,n=this.$element;return this[t("0xfb8")].nodesToArray(n[0][t("0x71b")])[t("0x6a6")]((function(e){var n=t;return e[n("0x4907")]==n("0xdfb")}))},r[e("0x20f")].getFocusedMenu=function(){var t=e;return this.getMenus()[this[t("0x3cb6")]()]},r[e("0x20f")].getFocusedMenuIndex=function(){var t=e,n=this[t("0xfb8")][t("0x3731")](this.$document[0][t("0x3671")],t("0xdfb"));return n?this[t("0x4077")]()[t("0x3507")](n):-1},r[e("0x20f")][e("0x4ae1")]=function(){for(var t=e,n=this[t("0x4077")](),a=0;a<n[t("0x5e9")];++a)if(n[a][t("0x1e2d")][t("0x2a10")]("md-open"))return a;return-1},r[e("0x20f")][e("0x39cc")]=function(n){var a=e,r=this.querySelector(a("0x949"));r&&!r.contains(n[a("0x55d")])&&t[a("0xb48")](r)[a("0x1194")](a("0x4fd3"))[a("0x440f")](!0,{closeAll:!0})}}(),function(){var e=a2_0x37cf;function n(n,a){var r=e;return{restrict:"E",require:r("0x2e68"),controller:r("0x4762"),compile:function(e,i){var o=r;return!i.ariaRole&&e[0][o("0x4480")]("role","menubar"),t[o("0x5ba")](e[0][o("0x71b")],(function(e){var a=o;if(e[a("0x4907")]==a("0xdfb")){!e.hasAttribute(a("0x2f0a"))&&(e[a("0x4480")](a("0x2f0a"),"left bottom"),e[a("0x31f7")](a("0x282")).setAttribute(a("0x3517"),a("0x313c")));var r=n[a("0x328a")](e[a("0x1e72")](a("0x3479")));t[a("0x5ba")](r,(function(e){var t=a;e[t("0x1e2d")][t("0x2d6e")](t("0x26a5")),e.classList[t("0x2d6e")](t("0x2fc8")),!e[t("0x3a67")]("width")&&e[t("0x4480")](t("0xbbf"),5)}))}})),e.find(o("0x1c93"))[o("0x31dc")](o("0x24df")),function(e,t,n,r){var i=o;t[i("0x31dc")]("_md"),a(e,t),r[i("0xeed")]()}}}}n[e("0x4670")]=[e("0xfb8"),"$mdTheming"],t[e("0x39e9")](e("0x44b3")).directive("mdMenuBar",n)}(),t[(d=a2_0x37cf)("0x39e9")](d("0x44b3")).directive("mdMenuDivider",(function(){return{restrict:"E",compile:function(e,t){var n=a2_0x37cf;!t[n("0x3517")]&&e[0][n("0x4480")]("role",n("0x1d12"))}}})),function(){var e=a2_0x37cf;function n(t,n,a){var r=e;this.$element=n,this[r("0x428f")]=a,this[r("0x36af")]=t}n[e("0x4670")]=["$scope","$element","$attrs"],t[e("0x39e9")](e("0x44b3"))[e("0x1194")]("MenuItemController",n),n[e("0x20f")][e("0xeed")]=function(t){var n=e,a=this[n("0x4998")],r=this[n("0x428f")];this.ngModel=t,(r[n("0x3298")]==n("0xb63")||r[n("0x3298")]==n("0x1629"))&&(this[n("0x38aa")]=r[n("0x3298")],this[n("0x8de")]=a[0][n("0x71b")][0],this.buttonEl=a[0][n("0x71b")][1],t&&this[n("0xe25")]())},n[e("0x20f")].clearNgAria=function(){var n=e,a=this[n("0x4998")][0],r=[n("0x3517"),n("0x562"),n("0x2233"),n("0x4c92")];t[n("0x5ba")](r,(function(e){a.removeAttribute(e)}))},n[e("0x20f")][e("0xe25")]=function(){var n=e,a=this,r=this[n("0x12bc")],i=this[n("0x36af")],o=this[n("0x428f")],x=(this[n("0x4998")],this[n("0x38aa")]);this[n("0x2309")]=t[n("0x2b0c")](this,this[n("0x2309")]);var s=this[n("0x8de")],c=t[n("0xb48")](this[n("0x3e21")]),l=this[n("0x2309")];function d(e){var t=n;e?c.off(t("0x7cb"),l):c.on(t("0x7cb"),l)}o[n("0xf52")](n("0x1c54"),d),d(o[n("0x1c54")]),r[n("0x4dbb")]=function(){var e=n;a.clearNgAria(),function(){var e=n;if(x==e("0x1629")){var t=o[e("0x4c6")]?i.$eval(o.ngValue):o[e("0x3a33")];return r[e("0x2dce")]==t}return r[e("0x2dce")]}()?(s.style.display="",c[e("0x417f")]("aria-checked",e("0x1509"))):(s.style[e("0x37b3")]=e("0x2847"),c[e("0x417f")](e("0x4c92"),e("0x22b7")))},i[n("0x722")](r[n("0x4dbb")])},n[e("0x20f")][e("0x2309")]=function(t){var n,a=e,r=this[a("0x38aa")],i=this[a("0x12bc")],o=this.$attrs;r==a("0xb63")?n=!i[a("0x2dce")]:"radio"==r&&(n=o[a("0x4c6")]?this[a("0x36af")][a("0xe2b")](o[a("0x4c6")]):o[a("0x3a33")]),i[a("0x1605")](n),i[a("0x4dbb")]()}}(),function(){var e=a2_0x37cf;function n(n,a,r){var i=e;return{controller:"MenuItemController",require:[i("0x2b14"),i("0x3cc1")],priority:a.BEFORE_NG_ARIA,compile:function(e,a){var o,x,s,c=i,l=a[c("0x3298")],d=c("0x24df");if(l!==c("0xb63")&&l!==c("0x1629")||!e.hasClass(d))b(c("0x3517"),c("0x313c"),e[0][c("0x31f7")]("md-button, button, a"));else{var u=e[0].textContent,f=t.element(c("0x160d")),m=c("0x501a")+r[c("0x3876")]+c("0x1c0b");f[c("0x1059")](u),f.attr(c("0x562"),"0"),t.isDefined(a[c("0x208b")])&&f[c("0x417f")](c("0x18a7"),a[c("0x208b")]),e.html(""),e[c("0x136a")](t.element(m)),e[c("0x136a")](f),e[c("0x31dc")](c("0xb9f"))[c("0xa81")](d),b(c("0x3517"),l===c("0xb63")?c("0x190c"):c("0x4ead"),f),o="ng-disabled",s=n[(x=c)("0x13ba")](o),t.forEach(s,(function(t){var n=x;if(e[0].hasAttribute(t)){var a=e[0].getAttribute(t);f[0][n("0x4480")](t,a),e[0][n("0x25b3")](t)}}))}return function(e,t,n,a){var r=c,i=a[0],o=a[1];i[r("0xeed")](o)};function b(n,a,r){var i=c;(r=r||e)instanceof t[i("0xb48")]&&(r=r[0]),!r[i("0x3a67")](n)&&r[i("0x4480")](n,a)}}}}n[e("0x4670")]=[e("0xfb8"),e("0x4572"),e("0x26ba")],t[e("0x39e9")](e("0x44b3"))[e("0x1b75")](e("0x2b14"),n)}(),function(){var e=a2_0x37cf;function a(n,a,i,o){var x=e;return{restrict:"E",transclude:!0,controller:r,controllerAs:x("0xd7a"),bindToController:!0,scope:{mdSelectedNavItem:"=?",mdNoInkBar:"=?",navBarAriaLabel:"@?"},template:x("0x3f1d")+'<nav role="navigation"><ul class="_md-nav-bar-list" ng-transclude role="tablist" ng-focus="ctrl.onFocus()" '+x("0xf47")+x("0x3764")+x("0x438")+x("0xf78")+x("0x1fa8"),link:function(e,r,s,c){var l=x;function d(){var t=a2_0x37cf;c[t("0xbbf")]!==i[t("0x105d")]&&(c.updateSelectedTabInkBar(),c[t("0xbbf")]=i.innerWidth,e.$digest())}c.width=i.innerWidth,t[l("0xb48")](i).on(l("0x39d4"),o.debounce(d,300)),e.$on(l("0x4c91"),(function(){var e=a2_0x37cf;t[e("0xb48")](i)[e("0x30f8")](e("0x39d4"),d)})),a(r),!c[l("0x20b0")]&&n.expectAsync(r,"aria-label",t.noop)}}}function r(t,n,a,r){var i=e;this[i("0x1932")]=a,this[i("0x4d1e")]=n,this._$mdConstant=r,this[i("0x2cd0")],this[i("0x20b0")],this[i("0x321b")]=t[0],this[i("0x3918")];var o=this,x=this[i("0x4d1e")][i("0x7a")]((function(){var e=i;return o[e("0x321b")][e("0x1e72")](e("0x4cf7"))[e("0x5e9")]}),(function(e){e>0&&(o[i("0x3739")](),x())}))}function i(a,r,i,x){var s=e;return{restrict:"E",require:[s("0x191f"),s("0x37b4")],controller:o,bindToController:!0,controllerAs:s("0xd7a"),replace:!0,transclude:!0,template:function(e,t){var a,r,i,o=s,x=t[o("0x4343")],c=t.mdNavHref,l=t[o("0x1fbb")],d=t[o("0x16f8")];if((x?1:0)+(c?1:0)+(l?1:0)>1)throw Error(o("0x3f3")+o("0xeab"));if(x!==n&&null!==x)a='ng-click="ctrl.mdNavClick()"';else if(c!==n&&null!==c)a=o("0x3732");else{if(l===n||null===l)throw Error("Please specify at least one of the md-nav-click, md-nav-href, or md-nav-sref "+o("0x3385"));a='ui-sref="{{ctrl.mdNavSref}}"'}return r=d?o("0x49e4"):"",a&&(i=""+o("0x3057")+o("0x4301")+o("0x293b")+o("0x23c7")+o("0xec1")+o("0x3e5e")+o("0x1dfc")+o("0x37d6")+r+a+">"+o("0x23cc")+o("0x3279")),o("0xd93")+'role="presentation">'+(i||"")+o("0x29a8")},scope:{mdNavClick:"&?",mdNavHref:"@?",mdNavSref:"@?",srefOpts:"=?",name:"@",navItemAriaLabel:"@?"},link:function(e,n,o,c){var l,d,u,f,m=s;r((function(){var r=a2_0x37cf;if(d=c[0],u=c[1],f=t.element(n[0][r("0x31f7")]("._md-nav-button")),!d[r("0x98c")]&&(d.name=t[r("0xb48")](n[0].querySelector(r("0x21e")))[r("0x806")]()[r("0x2dc4")]()),f.on(r("0x468d"),(function(e){u[r("0x457c")](e)})),f.on(r("0x2beb"),(function(){d[r("0x4a18")]=!0})),f.on("click",(function(){var t=r;u[t("0x2cd0")]=d[t("0x98c")],e.$apply()})),d[r("0x1c54")]=i[r("0x41a5")](o[r("0x1c54")],!1),r("0x4d85")in x){var s={attributes:!0,attributeFilter:[r("0x1c54")]},m=n[0],b=new MutationObserver((function(e){i.nextTick((function(){var t=a2_0x37cf;d[t("0x1c54")]=i[t("0x41a5")](o[e[0][t("0x24bf")]],!1)}))}));b[r("0x1d7a")](m,s),l=b[r("0x2a37")][r("0x2b0c")](b)}else o[r("0xf52")](r("0x1c54"),(function(e){var t=r;d.disabled=i[t("0x41a5")](e,!1)}));!d[r("0x36e5")]&&a[r("0x47df")](f,r("0x194a"))})),e[m("0x24c9")]("destroy",(function(){var e=m;f[e("0x30f8")](e("0x468d")),f[e("0x30f8")]("focus"),f.off(e("0x7cb")),l()}))}}}function o(t){var n=e;this[n("0x42f4")]=t,this[n("0x4343")],this[n("0x4777")],this[n("0x1fbb")],this[n("0x16f8")],this.name,this.navItemAriaLabel,this[n("0x3b5b")]=!1,this._focused=!1}a[e("0x4670")]=[e("0x219f"),e("0x191b"),e("0xe11"),"$mdUtil"],r.$inject=[e("0x4998"),e("0x36af"),e("0x38d4"),e("0x4572")],i[e("0x4670")]=["$mdAria",e("0x47aa"),e("0xfb8"),e("0xe11")],o[e("0x4670")]=["$element"],t[e("0x39e9")](e("0xad8"),[e("0x1b0c")])[e("0x1194")](e("0x15f1"),r)[e("0x1b75")](e("0x4d59"),a)[e("0x1194")]("MdNavItemController",o)[e("0x1b75")]("mdNavItem",i),r[e("0x20f")][e("0x3739")]=function(){var n=e;this[n("0x3918")]=t[n("0xb48")](this[n("0x321b")][n("0x31f7")](n("0x3c92")));var a=this;this[n("0x1932")]((function(){a[n("0x5f")](a.mdSelectedNavItem,null)})),this[n("0x4d1e")][n("0x7a")]("ctrl.mdSelectedNavItem",(function(e,t){var r=n;a[r("0x1932")]((function(){a[r("0x5f")](e,t)}))}))},r[e("0x20f")]._updateTabs=function(t,n){var a=e,r=this,i=this[a("0xbac")](),o=t===n;if(i){var x=-1,s=-1,c=this[a("0x17ab")](t),l=this[a("0x17ab")](n);l&&(l.setSelected(!1),x=i[a("0x3507")](l)),c&&(c[a("0x2df5")](!0),s=i[a("0x3507")](c)),this._$timeout((function(){var e=a;r[e("0x11e3")](c,s,x),c&&l&&!o&&r[e("0x2a68")](l,c)}))}},r[e("0x20f")][e("0x11e3")]=function(t,n){var a=e;if(this[a("0x3918")].css({display:n<0?a("0x2847"):""}),t){var r=t[a("0x4f84")](),i=r[a("0x3c94")],o=r.offsetWidth,x=this[a("0x321b")][a("0x1a8b")]()[a("0xbbf")],s=o/x,c=i/x*100;this[a("0x3918")][a("0x42b1")]({transform:a("0x38d8")+c+"%) scaleX("+s+")"})}},r.prototype.updateSelectedTabInkBar=function(){this[e("0x11e3")](this._getSelectedTab())},r[e("0x20f")]._getTabs=function(){var a=e,r=Array[a("0x20f")][a("0x9b3")][a("0x3c6b")](this._navBarEl[a("0x1e72")](a("0x2fd2")))[a("0x19e8")]((function(e){var n=a;return t[n("0xb48")](e)[n("0x1194")]("mdNavItem")}));return r[a("0x3507")](n)?r:null},r[e("0x20f")][e("0x17ab")]=function(t){var n=e;return this[n("0x2902")]((function(e){return e[n("0x48f0")]()===t}))},r[e("0x20f")]._getSelectedTab=function(){var t=e;return this[t("0x2902")]((function(e){return e[t("0x3ee2")]()}))},r[e("0x20f")][e("0x18d9")]=function(){var t=e;return this[t("0x2902")]((function(e){return e[t("0x1f69")]()}))},r.prototype._findTab=function(t,a){var r=e,i=this[r("0xbac")]();(a===n||null===a)&&(a=0);for(var o=a;o<i[r("0x5e9")];o++)if(t(i[o]))return i[o];return null},r[e("0x20f")]._findTabReverse=function(t,a){var r=e,i=this[r("0xbac")]();(a===n||null===a)&&(a=i[r("0x5e9")]-1);for(var o=a;o>=0;o--)if(t(i[o]))return i[o];return null},r[e("0x20f")].onFocus=function(){var t=e,n=this[t("0x3be2")]();n&&!n[t("0x4a18")]&&n[t("0x4e03")](!0)},r[e("0x20f")][e("0x2a68")]=function(t,n){t[e("0x4e03")](!1),n.setFocused(!0)},r[e("0x20f")][e("0x3e28")]=function(){var t=e;if(this[t("0xbac")]()){var n=this._findTab((function(e){return e[t("0x24a1")]()}));n&&this._moveFocus(this[t("0x18d9")](),n)}},r.prototype._focusLastTab=function(){var t=e;if(this[t("0xbac")]()){var n=this[t("0x44a6")]((function(e){return e._isEnabled()}));n&&this[t("0x2a68")](this[t("0x18d9")](),n)}},r[e("0x20f")][e("0x4720")]=function(t){var n=e;if(this[n("0xbac")]()){var a=this[n("0x2902")]((function(e){return e._isEnabled()}),t+1);a?this[n("0x2a68")](this.getFocusedTab(),a):this[n("0x3e28")]()}},r[e("0x20f")][e("0x4b80")]=function(t){var n=e;if(this._getTabs()){var a=this._findTabReverse((function(e){return e[a2_0x37cf("0x24a1")]()}),t-1);a?this[n("0x2a68")](this.getFocusedTab(),a):this[n("0x3e72")]()}},r.prototype.onKeydown=function(t){var n=e,a=this._$mdConstant[n("0x4c0f")],r=this[n("0xbac")](),i=this[n("0x18d9")]();if(i&&r){var o=r[n("0x3507")](i);switch(t[n("0x4ff2")]){case a[n("0x3a34")]:case a[n("0x4620")]:t.preventDefault(),this[n("0x4b80")](o);break;case a[n("0xedf")]:case a[n("0x2c29")]:t.preventDefault(),this._focusNextTab(o);break;case a.SPACE:case a[n("0x25ba")]:this._$timeout((function(){var e=n;i[e("0x4f84")]()[e("0x7cb")]()}));break;case a.HOME:t[n("0xe50")](),this._focusFirstTab();break;case a[n("0xac8")]:t[n("0xe50")](),this[n("0x3e72")]()}}},o[e("0x20f")].getNgClassMap=function(){var t=e;return{"md-active":this[t("0x3b5b")],"md-primary":this[t("0x3b5b")],"md-unselected":!this[t("0x3b5b")],"md-focused":this[t("0x4a18")]}},o[e("0x20f")].getName=function(){return this[e("0x98c")]},o[e("0x20f")][e("0x4f84")]=function(){var t=e;return this[t("0x42f4")][0][t("0x31f7")](t("0x4cf7"))},o[e("0x20f")][e("0x2df5")]=function(t){var n=e;this[n("0x3b5b")]=t,t?this.getButtonEl()[n("0x4480")]("tabindex","0"):this[n("0x4f84")]()[n("0x4480")](n("0x562"),"-1")},o[e("0x20f")][e("0x3ee2")]=function(){return this._selected},o.prototype.setFocused=function(t){var n=e;this[n("0x4a18")]=t,t&&this[n("0x4f84")]()[n("0x2beb")]()},o[e("0x20f")].hasFocus=function(){return this[e("0x4a18")]},o[e("0x20f")][e("0x24a1")]=function(){var t=e;return!this[t("0x42f4")][t("0x417f")](t("0x1c54"))}}(),function(){var e=a2_0x37cf;c.$inject=[e("0x20c6"),e("0x47e6"),e("0x47ed"),e("0x1f10"),e("0xe11")],t[e("0x39e9")]("material.components.panel",[e("0x1b0c"),e("0x2ee6")])[e("0x4b0")](e("0x2495"),(function(){return{definePreset:o,getAllPresets:x,clearPresets:s,$get:(t=e,[t("0x47e6"),"$rootScope",t("0x1f10"),"$window",function(e,t,n,a){return new c(i,e,t,n,a)}])};var t}));var a=e("0x24d0"),r=t[e("0xb48")](e("0x292a")),i={};function o(t,n){var a=e;if(!t||!n)throw new Error("mdPanelProvider: The panel preset definition is "+a("0x45ca"));if(i.hasOwnProperty(t))throw new Error(a("0x3342")+a("0x4c3e"));delete n.id,delete n[a("0x342c")],delete n[a("0x2f73")],i[t]=n}function x(){return t.copy(i)}function s(){i={}}function c(n,a,r,i,o){var x=e;this[x("0x1b6a")]={bindToController:!0,clickOutsideToClose:!1,disableParentScroll:!1,escapeToClose:!1,focusOnOpen:!0,fullscreen:!1,hasBackdrop:!1,propagateContainerEvents:!1,transformTemplate:t[x("0x2b0c")](this,this[x("0x18ea")]),trapFocus:!1,zIndex:80},this[x("0x3188")]={},this[x("0x4845")]=n,this[x("0x3611")]=a,this[x("0x1ee9")]=r,this[x("0x4704")]=i,this._$window=o,this[x("0x1a6d")]=this[x("0x4704")][x("0x1cf")](x("0xfb8")),this._trackedPanels={},this[x("0xa7e")]=Object[x("0x4b8c")](null),this[x("0x2f73")]=u[x("0x2f73")],this[x("0x12af")]=d[x("0x12af")],this.yPosition=d[x("0x3183")],this[x("0x1e0d")]=l[x("0x1e0d")],this[x("0x3e32")]=l[x("0x3e32")],this[x("0x20bb")]=d.absPosition}function l(t,a){var r=e;this._$q=a.get("$q"),this[r("0x334")]=a[r("0x1cf")](r("0x22b8")),this[r("0x2086")]=a.get(r("0x4572")),this[r("0x1a6d")]=a[r("0x1cf")](r("0xfb8")),this[r("0x15b0")]=a.get("$mdTheming"),this[r("0x1ee9")]=a[r("0x1cf")](r("0x47ed")),this._$animate=a[r("0x1cf")]("$animate"),this[r("0x304e")]=a[r("0x1cf")](r("0x2495")),this[r("0x7f0")]=a[r("0x1cf")]("$log"),this[r("0x2a77")]=a[r("0x1cf")](r("0xe11")),this[r("0x2863")]=a.get("$$rAF"),this.id=t.id,this[r("0x1805")]=t,this[r("0x1e4d")]=n,this[r("0x43b8")]=n,this[r("0x1554")]=n,this[r("0x4be4")]=!1,this[r("0x4963")]=[],this._topFocusTrap=n,this._bottomFocusTrap=n,this._backdropRef=n,this[r("0x325e")]=null,this[r("0x3b8a")]=Object[r("0x4b8c")](null),this._compilerCleanup=null,this[r("0x225f")]={styles:"",classes:""}}function d(t){var a=e;this[a("0x2a77")]=t.get("$window"),this[a("0x1fe4")]=t.get(a("0xfb8"))[a("0x3475")](),this[a("0x2086")]=t[a("0x1cf")](a("0x4572")),this[a("0x54b")]=!1,this[a("0x2a0b")]=n,this._top="",this[a("0x7b7")]="",this[a("0x4570")]="",this[a("0x16b2")]="",this[a("0x2c96")]=[],this[a("0x3e12")]=[],this[a("0x465f")]=[],this._actualPosition=n}function u(t){var n=e;this[n("0x1a6d")]=t[n("0x1cf")](n("0xfb8")),this._openFrom,this[n("0x49da")],this[n("0x3c0")]="",this._openDuration,this[n("0x3803")],this[n("0x48b2")]}function f(n){var a=e,r=t[a("0x1236")](n)?document.querySelector(n):n;return t[a("0xb48")](r)}function m(n,a){var r=e;if(null!==a&&!t[r("0x29ab")](a)){for(var i,o=Object[r("0xa35")](n),x=[],s=0;i=o[s];s++){var c=n[i];if(x[r("0x459a")](c),c===a)return}throw new Error("Panel position only accepts the following values:\n"+x[r("0xc60")](r("0xce2")))}}function b(e){return t.isNumber(e)?e+"px":e}c[e("0x20f")].create=function(n,a){var r=e;if(typeof n===r("0x38b7")?n=this[r("0x4217")](n):"object"==typeof n&&(t[r("0x29ab")](a)||!a)&&(a=n,n={}),n=n||{},a=a||{},t[r("0x64a")](a.id)&&this[r("0x248")][a.id]){var i=this[r("0x248")][a.id];return t[r("0x3448")](i.config,a),i}this._config=t[r("0x3448")]({id:a.id||r("0x1015")+this._$mdUtil[r("0x2feb")](),scope:this._$rootScope[r("0x28da")](!0),attachTo:this[r("0x3611")]},this[r("0x1b6a")],a,n);var o=new l(this[r("0x3188")],this._$injector);return this[r("0x248")][this[r("0x3188")].id]=o,this._config[r("0x39e2")]&&(t[r("0x1236")](this[r("0x3188")][r("0x39e2")])&&(this[r("0x3188")][r("0x39e2")]=[this._config[r("0x39e2")]]),t[r("0x5ba")](this._config[r("0x39e2")],(function(e){o[r("0x2e24")](e)}))),this[r("0x3188")][r("0xd20")][r("0x24c9")](r("0x4c91"),t[r("0x2b0c")](o,o[r("0x166")])),o},c[e("0x20f")].open=function(t,n){var a=e,r=this[a("0x4b8c")](t,n);return r[a("0x55a")]()[a("0x34e8")]((function(){return r}))},c.prototype[e("0x4217")]=function(t){var n=e;if(!this[n("0x4845")][t])throw new Error("mdPanel: The panel preset configuration that you "+n("0x35b0")+n("0xb54"));return this[n("0x4845")][t]},c[e("0x20f")][e("0x3499")]=function(){return new d(this[e("0x4704")])},c.prototype[e("0x369a")]=function(){return new u(this[e("0x4704")])},c[e("0x20f")][e("0x2e4c")]=function(t,n){var a=e;if(!this[a("0xa7e")][t]){var r={panels:[],openPanels:[],maxOpen:(n=n||{})[a("0xad1")]>0?n[a("0xad1")]:1/0};this._groups[t]=r}return this[a("0xa7e")][t]},c.prototype[e("0xae1")]=function(t,n){var a=e;if(!this[a("0xa7e")][t])throw new Error(a("0x2b51"));this[a("0xa7e")][t][a("0xad1")]=n},c.prototype[e("0x219d")]=function(t){var n=e;if(this[n("0xa7e")][t]){var a=this[n("0xa7e")][t];return a.maxOpen>0&&a[n("0x16f9")][n("0x5e9")]>a.maxOpen}return!1},c[e("0x20f")][e("0x3c5c")]=function(t){var n=e;this._groups[t][n("0x16f9")][0][n("0x440f")]()},c[e("0x20f")][e("0x18ea")]=function(t){var n=e,a=t||"";return'<div class="md-panel-outer-wrapper"><div class="md-panel-inner-wrapper _md-panel-offscreen">'+n("0x7b5")+a+n("0x1fa8")+"</div></div>"},c[e("0x20f")][e("0x40dd")]=function(n){var a=e,r=t[a("0xb48")](a("0x24f6")+a("0xde6")+"</div>");return n[a("0x31dc")](a("0x27f0")),r[a("0x71b")]().eq(0)[a("0x136a")](n),r},l[e("0x1e0d")]={CLOSE:e("0x20f2")},l[e("0x20f")].open=function(){var n=e,a=this;return this[n("0x3eed")]((function(e,r){var i=n,o=a[i("0x4a53")](e,a),x=a[i("0x26c")](a[i("0x262c")],a);a[i("0x226")]()[i("0x34e8")](x)[i("0x34e8")]((function(){var e=i;a[e("0x1805")].groupName&&t[e("0x5ba")](a[e("0x1805")].groupName,(function(t){var n=e;a[n("0x304e")][n("0x219d")](t)&&a[n("0x304e")][n("0x3c5c")](t)}))}))[i("0x34e8")](o).catch(r)}))},l[e("0x20f")][e("0x440f")]=function(n){var a=e,r=this;return this[a("0x3eed")]((function(e,i){var o=a;r[o("0x4064")](l[o("0x1e0d")][o("0x4dda")])[o("0x34e8")]((function(){var a=o,x=r._done(e,r),s=r[a("0x26c")](r[a("0x166")],r),c=r[a("0x1805")][a("0x25e7")]||t[a("0x49d1")];c=t[a("0x2b0c")](r,c,r,n),r[a("0x29cb")]()[a("0x34e8")](s)[a("0x34e8")](x)[a("0x34e8")](c).catch(i)}),i)}))},l[e("0x20f")][e("0x226")]=function(){var n=e;if(this[n("0x4be4")]&&this[n("0x43b8")])return this._$q[n("0x2c66")](this);var a=this;return this[n("0x3eed")]((function(e,r){var i=n,o=a._done(e,a),x=a[i("0x1805")][i("0x289")]||t[i("0x49d1")];a[i("0x3eed")][i("0x3217")]([a._createBackdrop(),a[i("0x4b74")]()[i("0x34e8")]((function(e){var t=i;return a[t("0x4be4")]=!0,a[t("0x4dde")](),e}))[i("0x373a")](r)])[i("0x34e8")](x).then(o)[i("0x373a")](r)}))},l[e("0x20f")].detach=function(){var n=e;if(!this[n("0x4be4")])return this[n("0x3eed")][n("0x2c66")](this);var a=this,r=a.config.onDomRemoved||t[n("0x49d1")];return this[n("0x325e")]&&(this[n("0x325e")](),this[n("0x325e")]=null),this[n("0x3eed")]((function(e,t){var i,o=n,x=a[o("0x4a53")](e,a);a[o("0x3eed")].all([(i=n,a._removeEventListeners(),a[i("0x1a67")]&&a._topFocusTrap[i("0x368c")]&&a[i("0x1a67")][i("0x368c")].removeChild(a[i("0x1a67")]),a[i("0x1bff")]&&a[i("0x1bff")].parentNode&&a[i("0x1bff")][i("0x368c")][i("0xffd")](a[i("0x1bff")]),a[i("0x225f")][i("0x3dd1")]&&(a[i("0x43b8")][0][i("0x14a8")]=a[i("0x225f")][i("0x3dd1")]),a[i("0x43b8")][0][i("0x4025")][i("0x3d0c")]=a[i("0x225f")].styles||"",a[i("0x33")](),a[i("0x1e4d")][i("0xf82")](),a[i("0x4be4")]=!1,a._$q[i("0x2c66")](a)),!a._backdropRef||a[o("0x2285")][o("0x166")]()])[o("0x34e8")](r)[o("0x34e8")](x)[o("0x373a")](t)}))},l[e("0x20f")].destroy=function(){var a=e,r=this;this[a("0x1805")][a("0x39e2")]&&t[a("0x5ba")](this[a("0x1805")][a("0x39e2")],(function(e){r[a("0x3e44")](e)})),this[a("0x1805")][a("0xd20")][a("0x4c91")](),this.config.locals=null,this[a("0x1805")][a("0x289")]=null,this[a("0x1805")].onDomRemoved=null,this[a("0x1805")][a("0x26b8")]=null,this.config[a("0x4671")]=null,this[a("0x3b8a")]=n},l.prototype.show=function(){var n=e;if(!this[n("0x1e4d")])return this[n("0x3eed")]((function(e,t){t("mdPanel: Panel does not exist yet. Call open() or attach().")}));if(!this[n("0x1e4d")][n("0x3a35")](a))return this._$q[n("0x2c66")](this);var r=this;return this[n("0x3eed")]((function(e,i){var o,x=n,s=r[x("0x4a53")](e,r),c=r[x("0x1805")][x("0x4671")]||t[x("0x49d1")];r[x("0x3eed")].all([r[x("0x2285")]?r[x("0x2285")][x("0x262c")]():r,(o=n,r[o("0x1e4d")][o("0xa81")](a),r[o("0x14f5")]()).then((function(){r[x("0x3ece")]()}),i)])[x("0x34e8")](c)[x("0x34e8")]((function(){var e=x;r.config[e("0x39e2")]&&t[e("0x5ba")](r[e("0x1805")][e("0x39e2")],(function(t){var n=e;r[n("0x304e")][n("0xa7e")][t].openPanels[n("0x459a")](r)}))}))[x("0x34e8")](s)[x("0x373a")](i)}))},l.prototype.hide=function(){var n=e;if(!this[n("0x1e4d")])return this[n("0x3eed")]((function(e,t){t(n("0x3369"))}));if(this[n("0x1e4d")][n("0x3a35")](a))return this[n("0x3eed")][n("0x2c66")](this);var r=this;return this[n("0x3eed")]((function(e,i){var o=n,x=r[o("0x4a53")](e,r),s=r[o("0x1805")][o("0x26b8")]||t[o("0x49d1")];r[o("0x3eed")][o("0x3217")]([r[o("0x2285")]?r[o("0x2285")].hide():r,r[o("0x2771")]()[o("0x34e8")](s)[o("0x34e8")]((function(){var e=o;r[e("0x1e4d")][e("0x31dc")](a)}))[o("0x34e8")]((function(){var e,n=o;r[n("0x1805")][n("0x39e2")]&&t[n("0x5ba")](r[n("0x1805")][n("0x39e2")],(function(t){var a=n;t=r[a("0x304e")][a("0xa7e")][t],(e=t.openPanels[a("0x3507")](r))>-1&&t[a("0x16f9")][a("0x2bcf")](e,1)}))}))[o("0x34e8")]((function(){var e=o,t=r[e("0x1805")][e("0x25e3")];t&&f(t)[e("0x2beb")]()}))[o("0x373a")](i)])[o("0x34e8")](x,i)}))},l[e("0x20f")][e("0x31dc")]=function(t,n){var a=e;if(this[a("0x7f0")][a("0x1dc6")](a("0x2a9d")+a("0xf7b")+a("0x3747")+a("0x1fa2")),!this[a("0x1e4d")])throw new Error(a("0x3369"));n||this.panelContainer[a("0x3a35")](t)?n&&!this.panelEl.hasClass(t)&&this[a("0x43b8")][a("0x31dc")](t):this[a("0x1e4d")][a("0x31dc")](t)},l[e("0x20f")][e("0xa81")]=function(t,n){var a=e;if(this[a("0x7f0")][a("0x1dc6")]("mdPanel: The removeClass method is in the process of being deprecated. "+a("0xf7b")+"To achieve the same results, use the panelContainer or panelEl "+a("0x1fa2")),!this[a("0x1e4d")])throw new Error(a("0x3369"));!n&&this[a("0x1e4d")][a("0x3a35")](t)?this.panelContainer.removeClass(t):n&&this[a("0x43b8")][a("0x3a35")](t)&&this[a("0x43b8")].removeClass(t)},l[e("0x20f")][e("0x411b")]=function(t,n){var a=e;if(this[a("0x7f0")][a("0x1dc6")]("mdPanel: The toggleClass method is in the process of being deprecated. "+a("0xf7b")+"To achieve the same results, use the panelContainer or panelEl JQLite elements that are referenced in MdPanelRef."),!this[a("0x1e4d")])throw new Error(a("0x3369"));n?this.panelEl[a("0x411b")](t):this[a("0x1e4d")][a("0x411b")](t)},l[e("0x20f")][e("0x2047")]=function(){var n=e,a=this;return a[n("0x334")][n("0x1d80")](a.config)[n("0x34e8")]((function(e){var r=n,i=a[r("0x1805")];if(i.contentElement){var o=e[r("0xb48")];a._restoreCache[r("0x365d")]=o[0][r("0x4025")][r("0x3d0c")],a[r("0x225f")][r("0x3dd1")]=o[0].className,a[r("0x1e4d")]=a[r("0x304e")][r("0x40dd")](o),a[r("0x43b8")]=o}else a[r("0x1e4d")]=e[r("0x28f2")](i[r("0xd20")]),a.panelEl=t[r("0xb48")](a[r("0x1e4d")][0][r("0x31f7")](r("0x3a00")));return a[r("0x1554")]=t.element(a[r("0x1e4d")][0][r("0x31f7")](r("0x650"))),a._compilerCleanup=e[r("0x1c09")],f(a.config[r("0x4778")])[r("0x136a")](a.panelContainer),a}))},l.prototype._createPanel=function(){var t=e,n=this;return this[t("0x3eed")]((function(e,a){var r=t;!n[r("0x1805")][r("0x9dc")]&&(n[r("0x1805")].locals={}),n[r("0x1805")][r("0x9dc")][r("0x5a4")]=n,n[r("0x2047")]()[r("0x34e8")]((function(){var t=r;n[t("0x1805")].disableParentScroll&&(n[t("0x325e")]=n[t("0x1a6d")][t("0xa94")](null,n[t("0x1e4d")],{disableScrollMask:!0})),n.config.panelClass&&n.panelEl[t("0x31dc")](n[t("0x1805")][t("0x1cd2")]),n[t("0x1805")][t("0x4087")]&&(n[t("0x1e4d")][t("0x42b1")](t("0x47d"),t("0x2847")),n[t("0x43b8")][t("0x42b1")](t("0x47d"),t("0x3217"))),n[t("0x3e5f")].pin&&n[t("0x3e5f")][t("0x3eb")](n[t("0x1e4d")],f(n[t("0x1805")][t("0x4778")])),n[t("0x3bd0")](),n[t("0x12f5")]().then((function(){e(n)}),a)}),a)}))},l[e("0x20f")][e("0x12f5")]=function(){var t=e,n=this;return this[t("0x3eed")]((function(e){var r=t;n[r("0x1e4d")][r("0x42b1")](r("0x1b79"),n.config[r("0x3f8a")]),n[r("0x1554")].css(r("0x1b79"),n[r("0x1805")].zIndex+1);var i=function(){var t=r;n._setTheming(),n.panelEl[t("0xa81")](t("0x1ea7")),n[t("0x1554")][t("0xa81")](t("0x1ea7")),n[t("0x1e4d")][t("0x31dc")](a),e(n)};if(n[r("0x1805")][r("0x481c")])return n[r("0x43b8")][r("0x31dc")]("_md-panel-fullscreen"),void i();n.config.position?n[r("0x1ee9")][r("0x722")]((function(){var t=r;n[t("0x102e")](!0),n[t("0xbab")](),e(n)})):i()}))},l.prototype[e("0xbab")]=function(){var t=e;this[t("0x15b0")](this[t("0x43b8")]),this[t("0x15b0")](this[t("0x1e4d")])},l.prototype[e("0x1ddb")]=function(t){var n=e;if(!this[n("0x1e4d")])throw new Error("mdPanel: Panel does not exist yet. Call open() or attach().");this[n("0x1805")][n("0x342c")]=t,this[n("0x102e")]()},l.prototype[e("0x102e")]=function(t){var n=e,r=this[n("0x1805")][n("0x342c")];r&&(r[n("0x1f9c")](this.innerWrapper),t&&(this.panelEl[n("0xa81")]("_md-panel-offscreen"),this[n("0x1554")][n("0xa81")](n("0x1ea7")),this.panelContainer[n("0x31dc")](a)),this[n("0x1554")].css(d[n("0x20bb")][n("0x2ca1")],r[n("0x1d47")]()),this.innerWrapper.css(d[n("0x20bb")].BOTTOM,r.getBottom()),this.innerWrapper[n("0x42b1")](d[n("0x20bb")][n("0x986")],r[n("0x21c7")]()),this[n("0x1554")][n("0x42b1")](d[n("0x20bb")][n("0x1d69")],r.getRight()))},l[e("0x20f")][e("0x3ece")]=function(){var t=e;if(this.config[t("0x751")]){var n=this;this._$rootScope[t("0x722")]((function(){var e=t;(n[e("0x1a6d")].findFocusTarget(n[e("0x43b8")])||n.panelEl)[e("0x2beb")]()}))}},l.prototype[e("0x1084")]=function(){var t=e;if(this[t("0x1805")][t("0x2fb9")]){if(!this._backdropRef){var n=this._$mdPanel.newPanelAnimation()[t("0x3c52")](this[t("0x1805")][t("0x4778")])[t("0x37a7")]({open:t("0x4bb2"),close:t("0x32ca")});this[t("0x1805")][t("0x2f73")]&&n[t("0x40b2")](this.config.animation[t("0x48b2")]);var a={animation:n,attachTo:this[t("0x1805")][t("0x4778")],focusOnOpen:!1,panelClass:t("0x24b8"),zIndex:this[t("0x1805")][t("0x3f8a")]-1};this[t("0x2285")]=this[t("0x304e")][t("0x4b8c")](a)}if(!this[t("0x2285")][t("0x4be4")])return this._backdropRef[t("0x226")]()}},l[e("0x20f")][e("0x4dde")]=function(){var t=e;this[t("0x4be9")](),this._configureClickOutsideToClose(),this[t("0x363")]()},l.prototype[e("0x3893")]=function(){var t=e;this[t("0x4963")]&&this[t("0x4963")][t("0x5ba")]((function(e){e()})),this[t("0x4963")]=[]},l[e("0x20f")][e("0x4be9")]=function(){var t=e;if(this[t("0x1805")][t("0x346f")]){var n=f(this[t("0x1805")][t("0x4778")]),a=this,r=function(e){var n=t;e.keyCode===a[n("0x2086")][n("0x4c0f")][n("0x7eb")]&&(e[n("0x4c98")](),e[n("0xe50")](),a[n("0x440f")](l[n("0x3e32")][n("0x7eb")]))};this.panelContainer.on("keydown",r),n.on(t("0x468d"),r),this[t("0x4963")].push((function(){var e=t;a[e("0x1e4d")][e("0x30f8")]("keydown",r),n.off(e("0x468d"),r)}))}},l[e("0x20f")]._configureClickOutsideToClose=function(){var n=e;if(this.config[n("0x4ce6")]){var a,r=this[n("0x1805")][n("0x4087")]?t[n("0xb48")](document[n("0x3b3e")]):this.panelContainer,i=function(e){a=e[n("0x55d")]},o=this,x=function(e){var t=n;o[t("0x1805")][t("0x4087")]?a!==o.panelEl[0]&&!o.panelEl[0][t("0x2a10")](a)&&o[t("0x440f")]():a===r[0]&&e.target===r[0]&&(e[t("0x4c98")](),e.preventDefault(),o[t("0x440f")](l[t("0x3e32")][t("0x1c45")]))};r.on(n("0x4a2b"),i),r.on(n("0x1f"),x),this[n("0x4963")].push((function(){var e=n;r[e("0x30f8")]("mousedown",i),r[e("0x30f8")](e("0x1f"),x)}))}},l.prototype._configureScrollListener=function(){var n=e;if(!this[n("0x1805")][n("0x2769")]){var a=t.bind(this,this._updatePosition),r=this._$$rAF.throttle(a),i=this,o=function(){r()};this[n("0x2a77")].addEventListener(n("0x3def"),o,!0),this._removeListeners.push((function(){var e=n;i[e("0x2a77")][e("0x4b59")](e("0x3def"),o,!0)}))}},l[e("0x20f")][e("0x3bd0")]=function(){var t=e;if(this[t("0x43b8")].attr(t("0x322f"),"-1"),this.config.trapFocus){var n=this[t("0x43b8")];this[t("0x1a67")]=r[t("0x42df")]()[0],this[t("0x1bff")]=r.clone()[0];var a=function(){n[t("0x2beb")]()};this[t("0x1a67")][t("0x4944")]("focus",a),this[t("0x1bff")][t("0x4944")](t("0x2beb"),a),this[t("0x4963")][t("0x459a")](this[t("0x26c")]((function(){var e=t;this[e("0x1a67")][e("0x4b59")](e("0x2beb"),a),this._bottomFocusTrap.removeEventListener(e("0x2beb"),a)}),this)),n[0][t("0x368c")][t("0x1437")](this[t("0x1a67")],n[0]),n[t("0x477b")](this[t("0x1bff")])}},l[e("0x20f")].updateAnimation=function(t){var n=e;this[n("0x1805")][n("0x2f73")]=t,this[n("0x2285")]&&this[n("0x2285")].config[n("0x2f73")][n("0x40b2")](t[n("0x48b2")])},l[e("0x20f")][e("0x14f5")]=function(){var t=e;this.panelContainer.addClass(t("0x463e"));var n=this.config[t("0x2f73")];if(!n)return this[t("0x1e4d")][t("0x31dc")](t("0x7bb")),this[t("0x3eed")].when(this);var a=this;return this[t("0x3eed")]((function(e){var r=t,i=a._done(e,a);n[r("0xa7c")](a[r("0x43b8")])[r("0x34e8")](i,(function(){var e=a2_0x37cf;a[e("0x7f0")][e("0x1dc6")](e("0x2342")+e("0x34c0")),i()}))}))},l.prototype[e("0x2771")]=function(){var t=e,n=this,a=this[t("0x1805")][t("0x2f73")];return a?this[t("0x3eed")]((function(e){var r=t,i=function(){var t=a2_0x37cf;n[t("0x1e4d")][t("0xa81")](t("0x463e")),n[t("0x43b8")][t("0x42b1")](t("0x3c4"),""),e(n)};a[r("0x3413")](n[r("0x43b8")])[r("0x34e8")](i,(function(){var e=a2_0x37cf;n[e("0x7f0")][e("0x1dc6")](e("0x2784")),i()}))})):(this[t("0x1e4d")][t("0xa81")]("md-panel-is-showing"),this.panelContainer[t("0xa81")]("_md-panel-shown"),this[t("0x3eed")].when(this))},l[e("0x20f")][e("0x481f")]=function(n,a){var r=e,i=null;if(t[r("0x1236")](n)?!t[r("0x4977")](a)&&(i=r("0x197f")+typeof a):i=r("0x454e")+typeof n,i)throw new Error(r("0x45c6")+i);var o=this._interceptors[n]=this[r("0x3b8a")][n]||[];return-1===o[r("0x3507")](a)&&o.push(a),this},l[e("0x20f")][e("0x389f")]=function(t,n){var a=e,r=this._interceptors[t]?this[a("0x3b8a")][t][a("0x3507")](n):-1;return r>-1&&this[a("0x3b8a")][t][a("0x2bcf")](r,1),this},l[e("0x20f")][e("0x434f")]=function(t){var n=e;return t?this[n("0x3b8a")][t]=[]:this[n("0x3b8a")]=Object[n("0x4b8c")](null),this},l.prototype[e("0x4064")]=function(n){var a=e,r=this,i=r[a("0x3eed")];return(r[a("0x3b8a")]&&r[a("0x3b8a")][n]||[])[a("0x308f")]((function(e,n){var o=a,x=n&&t[o("0x4977")](n[o("0x34e8")])?n:null;return e[o("0x34e8")]((function(){if(!x)try{x=n(r)}catch(e){x=i.reject(e)}return x}))}),i[a("0x407b")](r))},l.prototype._simpleBind=function(e,t){return function(n){return e[a2_0x37cf("0x4884")](t,n)}},l.prototype[e("0x4a53")]=function(e,t){return function(){e(t)}},l.prototype.addToGroup=function(t){var n=e;!this[n("0x304e")]._groups[t]&&this[n("0x304e")][n("0x2e4c")](t);var a=this._$mdPanel[n("0xa7e")][t];a.panels[n("0x3507")](this)<0&&a[n("0x223a")][n("0x459a")](this)},l.prototype[e("0x3e44")]=function(t){var n=e;if(!this[n("0x304e")][n("0xa7e")][t])throw new Error(n("0x1f2d")+t+" does not exist.");var a=this[n("0x304e")]._groups[t],r=a.panels[n("0x3507")](this);r>-1&&a[n("0x223a")][n("0x2bcf")](r,1)},l[e("0x3e32")]={CLICK_OUTSIDE:e("0x4ce6"),ESCAPE:e("0x346f")},d[e("0x12af")]={CENTER:e("0x2167"),ALIGN_START:e("0x14be"),ALIGN_END:e("0x4b7c"),OFFSET_START:e("0x3b5f"),OFFSET_END:e("0x3eec")},d[e("0x3183")]={CENTER:"center",ALIGN_TOPS:"align-tops",ALIGN_BOTTOMS:e("0x3a6e"),ABOVE:e("0x4203"),BELOW:e("0x46bc")},d[e("0x20bb")]={TOP:"top",RIGHT:e("0x30eb"),BOTTOM:e("0x47d9"),LEFT:e("0x2885")},d[e("0xe3b")]=8,d[e("0x20f")][e("0xc1a")]=function(){return this[e("0x54b")]=!0,this},d[e("0x20f")][e("0x2444")]=function(n,a){var r=e;if(n===d[r("0x20bb")][r("0x1d69")]||n===d[r("0x20bb")].LEFT)this[r("0x4570")]=this._right="";else{if(n!==d[r("0x20bb")].BOTTOM&&n!==d.absPosition[r("0x2ca1")]){var i=Object.keys(d[r("0x20bb")])[r("0xc60")]()[r("0x2eb9")]();throw new Error(r("0xd14")+i+".")}this[r("0xb28")]=this[r("0x7b7")]=""}return this["_"+n]=t[r("0x1236")](a)?a:"0",this},d.prototype[e("0x228a")]=function(t){var n=e;return this[n("0x2444")](d[n("0x20bb")][n("0x2ca1")],t)},d[e("0x20f")][e("0x47d9")]=function(t){var n=e;return this[n("0x2444")](d[n("0x20bb")][n("0x4f0c")],t)},d[e("0x20f")][e("0x1023")]=function(t){var n=e,a=this[n("0x1fe4")]?d.absPosition[n("0x1d69")]:d.absPosition[n("0x986")];return this._setPosition(a,t)},d[e("0x20f")][e("0x3a59")]=function(t){var n=e,a=this[n("0x1fe4")]?d[n("0x20bb")][n("0x986")]:d[n("0x20bb")].RIGHT;return this[n("0x2444")](a,t)},d[e("0x20f")].left=function(t){var n=e;return this[n("0x2444")](d.absPosition[n("0x986")],t)},d[e("0x20f")].right=function(t){var n=e;return this[n("0x2444")](d[n("0x20bb")].RIGHT,t)},d[e("0x20f")][e("0x49d8")]=function(){var t=e;return this[t("0x4570")]=t("0x3718"),this[t("0x16b2")]="",this._translateX=[t("0x4a33")],this},d[e("0x20f")][e("0x11c1")]=function(){var t=e;return this[t("0xb28")]=t("0x3718"),this[t("0x7b7")]="",this[t("0x3e12")]=[t("0x4a33")],this},d[e("0x20f")][e("0x2167")]=function(){var t=e;return this[t("0x49d8")]()[t("0x11c1")]()},d[e("0x20f")].relativeTo=function(t){var n=e;return this[n("0x54b")]=!1,this[n("0x2a0b")]=f(t),this},d[e("0x20f")][e("0x4aec")]=function(t,n){var a=e;if(!this[a("0x2a0b")])throw new Error(a("0x13e2")+"relative positioning. Set relativeTo first.");return m(d[a("0x12af")],t),m(d[a("0x3183")],n),this[a("0x465f")].push({x:t,y:n}),this},d[e("0x20f")][e("0x162f")]=function(t){var n=e;return this[n("0x2c96")][n("0x459a")](b(t)),this},d[e("0x20f")][e("0x412b")]=function(t){var n=e;return this[n("0x3e12")][n("0x459a")](b(t)),this},d[e("0x20f")][e("0x1d47")]=function(){return this[e("0xb28")]},d[e("0x20f")][e("0x19d5")]=function(){return this[e("0x7b7")]},d.prototype[e("0x21c7")]=function(){return this[e("0x4570")]},d.prototype[e("0x31a3")]=function(){return this[e("0x16b2")]},d.prototype.getTransform=function(){var t=e;return(this[t("0x4536")](t("0x757"),this[t("0x2c96")])+" "+this[t("0x4536")](t("0x13a3"),this[t("0x3e12")])).trim()},d[e("0x20f")]._setTransform=function(t){var n=e;return t[n("0x42b1")](this[n("0x2086")].CSS[n("0x44aa")],this[n("0x1ecf")]())},d[e("0x20f")][e("0x2a6a")]=function(t){var n=e,a=parseInt(this[n("0x21c7")]()),r=parseInt(this[n("0x1d47")]());if(this[n("0x2c96")][n("0x5e9")]||this._translateY[n("0x5e9")]){var i=function(t,n){var a=e,r=getComputedStyle(t[0]||t)[n],i=r[a("0x3507")]("("),o=r[a("0x4e")](")"),x={x:0,y:0};if(i>-1&&o>-1){var s=r.substring(i+1,o)[a("0x9e5")](", ")[a("0x9b3")](-2);x.x=parseInt(s[0]),x.y=parseInt(s[1])}return x}(t,this._$mdConstant[n("0x387f")].TRANSFORM);a+=i.x,r+=i.y}var o=a+t[0][n("0xe76")],x=r+t[0][n("0x2b02")];return a>=0&&r>=0&&x<=this[n("0x2a77")][n("0x4b6b")]&&o<=this[n("0x2a77")][n("0x105d")]},d[e("0x20f")][e("0x4707")]=function(){return this[e("0x4433")]},d[e("0x20f")]._reduceTranslateValues=function(n,a){var r=e;return a[r("0x19e8")]((function(e){var a=t[r("0x4977")](e)?b(e(this)):e;return n+"("+a+")"}),this)[r("0xc60")](" ")},d[e("0x20f")][e("0x1f9c")]=function(t){var n=e;if(t.removeClass(n("0x2e47")),this[n("0x54b")])this[n("0x3d23")](t);else{if(this[n("0x4433")])return this._calculatePanelPosition(t,this[n("0x4433")]),this[n("0x3d23")](t),void this._constrainToViewport(t);for(var a=0;a<this._positions[n("0x5e9")];a++)if(this[n("0x4433")]=this[n("0x465f")][a],this[n("0x4567")](t,this[n("0x4433")]),this[n("0x3d23")](t),this._isOnscreen(t))return;this[n("0xbcd")](t)}},d[e("0x20f")][e("0xbcd")]=function(t){var n=e,a=d.viewportMargin,r=this[n("0xb28")],i=this[n("0x4570")];if(this[n("0x1d47")]()){var o=parseInt(this[n("0x1d47")]()),x=t[0][n("0x2b02")]+o,s=this[n("0x2a77")][n("0x4b6b")];o<a?this[n("0xb28")]=a+"px":x>s&&(this._top=o-(x-s+a)+"px")}if(this.getLeft()){var c=parseInt(this[n("0x21c7")]()),l=t[0][n("0xe76")]+c,u=this[n("0x2a77")][n("0x105d")];c<a?this[n("0x4570")]=a+"px":l>u&&(this[n("0x4570")]=c-(l-u+a)+"px")}t[n("0x411b")]("_md-panel-position-adjusted",this[n("0xb28")]!==r||this[n("0x4570")]!==i)},d[e("0x20f")][e("0x2834")]=function(t){var n=e;if(t===d[n("0x12af")][n("0x2a2d")])return t;var a=n("0x1023"),r=n("0x3a59");return t[n("0x3507")](a)>-1?t.replace(a,r):t[n("0x3cc0")](r,a)},d[e("0x20f")][e("0x2486")]=function(t){var n=e;return this[n("0x1fe4")]?this[n("0x2834")](t):t},d[e("0x20f")][e("0x4567")]=function(t,n){var a=e,r=t[0].getBoundingClientRect(),i=Math.max(r.width,t[0][a("0x538")]),o=Math[a("0x242b")](r.height,t[0][a("0x2838")]),x=this[a("0x2a0b")][0][a("0x1a8b")](),s=x[a("0x2885")],c=x[a("0x30eb")],l=x.width;switch(this._bidi(n.x)){case d[a("0x12af")].OFFSET_START:this[a("0x4570")]=s-i+"px";break;case d[a("0x12af")].ALIGN_END:this[a("0x4570")]=c-i+"px";break;case d.xPosition.CENTER:var u=s+.5*l-.5*i;this[a("0x4570")]=u+"px";break;case d[a("0x12af")].ALIGN_START:this[a("0x4570")]=s+"px";break;case d[a("0x12af")][a("0x49e5")]:this._left=c+"px"}var f=x.top,m=x[a("0x47d9")],b=x.height;switch(n.y){case d[a("0x3183")][a("0x3fc9")]:this._top=f-o+"px";break;case d[a("0x3183")].ALIGN_BOTTOMS:this[a("0xb28")]=m-o+"px";break;case d[a("0x3183")][a("0x2a2d")]:var _=f+.5*b-.5*o;this[a("0xb28")]=_+"px";break;case d[a("0x3183")].ALIGN_TOPS:this[a("0xb28")]=f+"px";break;case d[a("0x3183")][a("0x375b")]:this[a("0xb28")]=m+"px"}},u[e("0x2f73")]={SLIDE:e("0x197b"),SCALE:e("0x4212"),FADE:e("0x11ef")},u[e("0x20f")].openFrom=function(t){var n=e;return t=t.target?t.target:t,this[n("0x1758")]=this[n("0x1a5d")](t),!this[n("0x49da")]&&(this[n("0x49da")]=this._openFrom),this},u[e("0x20f")].closeTo=function(t){var n=e;return this._closeTo=this[n("0x1a5d")](t),this},u[e("0x20f")][e("0x40b2")]=function(n){var a=e;return n&&(t[a("0x1ba0")](n)?this[a("0x31c4")]=this[a("0x3803")]=r(n):t[a("0x1f1a")](n)&&(this._openDuration=r(n.open),this[a("0x3803")]=r(n[a("0x440f")]))),this[a("0x48b2")]=n,this;function r(e){if(t[a("0x1ba0")](e))return e/1e3}},u[e("0x20f")][e("0x1a5d")]=function(a){var r=e;return t.isDefined(a[r("0x228a")])||t[r("0x64a")](a[r("0x2885")])?{element:n,bounds:{top:a[r("0x228a")]||0,left:a[r("0x2885")]||0}}:this._getBoundingClientRect(f(a))},u[e("0x20f")].withAnimation=function(e){return this._animationClass=e,this},u[e("0x20f")][e("0xa7c")]=function(n){var a=e,r=this._$mdUtil[a("0x1c30")][a("0x17af")];this._fixBounds(n);var i={},o=n[0][a("0x4025")].transform||"",x=r[a("0x49e")](o),s=r[a("0x49e")](o);switch(this._animationClass){case u[a("0x2f73")][a("0x279b")]:n[a("0x42b1")](a("0x47e0"),"1"),i={transitionInClass:"_md-panel-animate-enter",transitionOutClass:a("0x6a1")};var c=r[a("0x4012")](n,this[a("0x1758")])||"";x=r[a("0x49e")](c+" "+o);break;case u[a("0x2f73")].SCALE:i={transitionInClass:a("0x3ebf")};var l=r[a("0x42a0")](n,this[a("0x1758")])||"";x=r.toTransformCss(o+" "+l);break;case u[a("0x2f73")][a("0x39df")]:i={transitionInClass:"_md-panel-animate-enter"};break;default:i=t.isString(this[a("0x3c0")])?{transitionInClass:this[a("0x3c0")]}:{transitionInClass:this[a("0x3c0")].open,transitionOutClass:this[a("0x3c0")][a("0x440f")]}}return i[a("0x40b2")]=this[a("0x31c4")],r[a("0x2e46")](n,x,s,i)},u[e("0x20f")].animateClose=function(n){var a=e,r=this[a("0x1a6d")][a("0x1c30")][a("0x17af")],i={},o=n[0].style[a("0x3c4")]||"",x=r.toTransformCss(o),s=r.toTransformCss(o);switch(this._animationClass){case u[a("0x2f73")].SLIDE:n[a("0x42b1")](a("0x47e0"),"1"),i={transitionInClass:"_md-panel-animate-leave",transitionOutClass:a("0x1fa3")};var c=r.calculateSlideToOrigin(n,this[a("0x49da")])||"";s=r[a("0x49e")](c+" "+o);break;case u[a("0x2f73")][a("0x33bc")]:i={transitionInClass:a("0x2bb7"),transitionOutClass:a("0x1b3b")};var l=r[a("0x42a0")](n,this[a("0x49da")])||"";s=r[a("0x49e")](o+" "+l);break;case u[a("0x2f73")][a("0x39df")]:i={transitionInClass:a("0xd6e"),transitionOutClass:a("0x1e75")};break;default:i=t[a("0x1236")](this[a("0x3c0")])?{transitionOutClass:this[a("0x3c0")]}:{transitionInClass:this[a("0x3c0")][a("0x440f")],transitionOutClass:this._animationClass.open}}return i[a("0x40b2")]=this[a("0x3803")],r[a("0x2e46")](n,x,s,i)},u[e("0x20f")]._fixBounds=function(t){var n=e,a=t[0].offsetWidth,r=t[0][n("0x2b02")];this[n("0x1758")]&&null==this._openFrom[n("0x3137")][n("0x4e66")]&&(this[n("0x1758")][n("0x3137")][n("0x4e66")]=r),this._openFrom&&null==this[n("0x1758")].bounds.width&&(this[n("0x1758")].bounds[n("0xbbf")]=a),this._closeTo&&null==this[n("0x49da")][n("0x3137")].height&&(this[n("0x49da")].bounds[n("0x4e66")]=r),this[n("0x49da")]&&null==this._closeTo[n("0x3137")].width&&(this[n("0x49da")][n("0x3137")].width=a)},u[e("0x20f")][e("0x25dc")]=function(n){var a=e;if(n instanceof t[a("0xb48")])return{element:n,bounds:n[0][a("0x1a8b")]()}}}(),t[(l=a2_0x37cf)("0x39e9")](l("0x3327"),["material.core"]),function(){var e=a2_0x37cf;function n(n,a,r,i,o,x){var s=e,c=n.requestAnimationFrame||n[s("0x3508")]||t[s("0x49d1")],l=n[s("0xf5")]||n.webkitCancelAnimationFrame||n[s("0x2fdf")]||t[s("0x49d1")],d=s("0xa26"),u=s("0x15f5"),f=s("0x684"),m=s("0x3520");return{restrict:"E",scope:{value:"@",mdDiameter:"@",mdMode:"@"},template:s("0x4336")+s("0x2347")+"</svg>",compile:function(e,n){var a=s;if(e[a("0x417f")]({"aria-valuemin":0,"aria-valuemax":100,role:a("0x185")}),t[a("0x29ab")](n[a("0x11ec")])){var r=n.hasOwnProperty("value")?d:u;n[a("0x35be")](a("0x11ec"),r)}else n.$set("mdMode",n[a("0x11ec")][a("0x2dc4")]());return b}};function b(e,x,b){var E,A,T=s,y=x[0],C=t[T("0xb48")](y[T("0x31f7")](T("0xb2b"))),w=t.element(y.querySelector(T("0x1da4"))),M=a[T("0x1942")],R=a.endIndeterminate,D=0,I=0;function N(t,r,o,x,s,l){var d=T,u=++I,f=i[d("0x4706")](),m=r-t,b=g(e[d("0x39ba")]),_=v(b),h=o||a[d("0x415b")],S=x||a[d("0x40b2")],A=-90*(s||0),y=l||100;function C(e){var t=d;w[t("0x417f")](t("0x3469"),p(b,_,e,y)),w[t("0x417f")](t("0x3c4"),t("0x2d7")+A+" "+b/2+" "+b/2+")")}r===t?C(r):E=c((function e(){var a=d,r=n[a("0x4913")].max(0,n[a("0x4913")][a("0x11db")](i[a("0x4706")]()-f,S));C(h(r,t,m,S)),u===I&&r<S&&(E=c(e))}))}function O(){var e=T;N(M,R,a[e("0x8ab")],a[e("0x364a")],D,75),D=++D%4}function k(){var e=T;!A&&(A=o(O,a[e("0x364a")],0,!1),O(),x[e("0x31dc")](m).removeAttr(e("0x6d4")))}function P(){var e=T;A&&(o[e("0x4920")](A),A=null,x[e("0xa81")](m))}r(x),x[T("0x411b")](f,b[T("0x1bd4")]("disabled")),e.mdMode===u&&k(),e.$on(T("0x4c91"),(function(){P(),E&&l(E)})),e[T("0x2952")]([T("0x3a33"),"mdMode",function(){var e=T,n=y.disabled;return!0===n||!1===n?n:t[e("0x64a")](x.attr(e("0x1c54")))}],(function(t,n){var a=T,r=t[1],i=t[2],o=0,s=0;if(i!==n[2]&&x[a("0x411b")](f,!!i),i)P();else if(r!==d&&r!==u&&(r=u,b[a("0x35be")](a("0x11ec"),r)),r===u)n[1]===d&&(s=v(o=g(e.mdDiameter)),w[a("0x417f")]("d",_(o,s,!0)),w[a("0x417f")](a("0x17a3"),S(o,s,75))),k();else{var c=h(t[0]),l=h(n[0]);P(),n[1]===u&&(s=v(o=g(e.mdDiameter)),w[a("0x417f")]("d",_(o,s,!1)),w[a("0x417f")]("stroke-dasharray",S(o,s,100))),x.attr(a("0x6d4"),c),N(l,c)}})),e[T("0x7a")](T("0x39ba"),(function(t){var n=T,a=g(t),r=v(a),i=h(e[n("0x3a33")]),o=a/2+"px",s={width:a+"px",height:a+"px"};C[0].setAttribute(n("0x287e"),n("0x3827")+a+" "+a),C.css(s)[n("0x42b1")]("transform-origin",o+" "+o+" "+o),x[n("0x42b1")](s),w[n("0x417f")](n("0x2ff3"),r),w[n("0x417f")](n("0x3006"),n("0x62b")),e[n("0x11ec")]==u?(w[n("0x417f")]("d",_(a,r,!0)),w[n("0x417f")](n("0x17a3"),S(a,r,75)),w[n("0x417f")](n("0x3469"),p(a,r,1,75))):(w[n("0x417f")]("d",_(a,r,!1)),w.attr("stroke-dasharray",S(a,r,100)),w.attr(n("0x3469"),p(a,r,0,100)),N(i,i))}))}function _(e,t,n){var a=s,r=e/2,i=t/2,o=r+","+i,x=i+","+r,c=r-i;return"M"+o+"A"+c+","+c+a("0x92c")+x+(n?"":"A"+c+","+c+a("0x42e1")+o)}function p(e,t,n,a){return E(e,t)*((a-n)/100)}function h(e){var t=s;return n[t("0x4913")][t("0x242b")](0,n[t("0x4913")].min(e||0,100))}function g(e){var t=s,n=a[t("0x33cb")];if(e){var r=parseFloat(e);return e[t("0x4e")]("%")===e[t("0x5e9")]-1&&(r=r/100*n),r}return n}function v(e){return a[s("0x249a")]/100*e}function S(e,t,n){return E(e,t)*(n/100)}function E(e,t){return(e-t)*n[s("0x4913")].PI}}n[e("0x4670")]=[e("0xe11"),e("0x39b4"),e("0x191b"),e("0xfb8"),e("0x25fb"),"$log"],t[e("0x39e9")](e("0x3327"))[e("0x1b75")]("mdProgressCircular",n)}(),t[(c=a2_0x37cf)("0x39e9")](c("0x3327")).provider(c("0x39b4"),(function(){var e={progressSize:50,strokeWidth:10,duration:100,easeFn:n,durationIndeterminate:1333,startIndeterminate:1,endIndeterminate:149,easeFnIndeterminate:a,easingPresets:{linearEase:n,materialEase:a}};return{configure:function(n){return e=t[a2_0x37cf("0x3448")](e,n||{})},$get:function(){return e}};function n(e,t,n,a){return n*e/a+t}function a(e,t,n,a){var r=(e/=a)*e,i=r*e;return t+n*(6*i*r+-15*r*r+10*i)}})),function(){var e=a2_0x37cf;function n(n,a,r){var i=e,o=i("0xa26"),x="indeterminate",s=i("0x1920"),c="query",l="_md-progress-linear-disabled";return{restrict:"E",template:i("0x364d")+'<div class="md-dashed"></div>'+i("0x8f4")+i("0x390e")+i("0x1fa8"),compile:function(e,t,n){var a=i;return e[a("0x417f")](a("0x2cfb"),0),e[a("0x417f")](a("0x44b"),100),e[a("0x417f")](a("0x3517"),a("0x185")),d}};function d(e,r,d){var f=i;n(r);var m,b,_=d[f("0x1bd4")]("disabled"),p=a.dom[f("0x17af")].toCss,h=t.element(r[0][f("0x31f7")](f("0x3f84"))),g=t.element(r[0][f("0x31f7")](".md-bar2")),v=t[f("0xb48")](r[0][f("0x31f7")](f("0x39fd")));function S(){var e=f,t=(d[e("0x11ec")]||"")[e("0x2dc4")]();if(t)switch(t){case o:case x:case s:case c:break;default:t=x}return t}function E(e,n){var r=f;if(!_&&S()){var i=a[r("0x147e")](r("0xe75"),[(n-100)/2,n/100]),o=p({transform:i});t[r("0xb48")](e).css(o)}}r[f("0x417f")]("md-mode",S())[f("0x411b")](l,_),function(){var e=f;if(t[e("0x29ab")](d.mdMode)){var n=t.isDefined(d[e("0x3a33")])?o:x;e("0x657");r.attr(e("0x4388"),n),d[e("0x11ec")]=n}}(),b=f,d.$observe(b("0x3a33"),(function(e){var t=b,n=u(e);r[t("0x417f")](t("0x6d4"),n),S()!=c&&E(g,n)})),d[b("0xf52")]("mdBufferValue",(function(e){E(h,u(e))})),d.$observe(b("0x1c54"),(function(e){var n=b;_=!0===e||!1===e?!!e:t[n("0x64a")](e),r[n("0x411b")](l,_),v[n("0x411b")](m,!_)})),d.$observe("mdMode",(function(e){var t=b;switch(m&&v[t("0xa81")](m),e){case c:case s:case o:case x:v[t("0x31dc")](m="md-mode-"+e);break;default:v[t("0x31dc")](m=t("0x4418")+x)}}))}function u(e){return Math[i("0x242b")](0,Math.min(e||0,100))}}n[e("0x4670")]=["$mdTheming","$mdUtil",e("0x1a4")],t[e("0x39e9")](e("0x4f6d"),[e("0x1b0c")])[e("0x1b75")](e("0x305c"),n)}(),function(){var e=a2_0x37cf;function n(n,a,r,i){var o=e;return x[o("0x20f")]={init:function(e){var n=a2_0x37cf;this._ngModelCtrl=e,this[n("0x2e7f")][n("0x4dbb")]=t[n("0x2b0c")](this,this[n("0x4537")])},add:function(e){this[a2_0x37cf("0x14fa")].push(e)},remove:function(e){var t=a2_0x37cf,n=this._radioButtonRenderFns[t("0x3507")](e);-1!==n&&this[t("0x14fa")][t("0x2bcf")](n,1)},render:function(){this[a2_0x37cf("0x14fa")].forEach((function(e){e()}))},setViewValue:function(e,t){var n=a2_0x37cf;this._ngModelCtrl[n("0x1605")](e,t),this[n("0x4537")]()},getViewValue:function(){var e=a2_0x37cf;return this[e("0x2e7f")][e("0x326c")]},selectNext:function(){return s(this.$element,1)},selectPrevious:function(){return s(this[a2_0x37cf("0x4998")],-1)},setActiveDescendant:function(e){var t=a2_0x37cf;this[t("0x4998")][t("0x417f")](t("0x429f"),e)},isDisabled:function(){var e=a2_0x37cf;return this[e("0x4998")][0].hasAttribute(e("0x1c54"))}},{restrict:"E",controller:[o("0x4998"),x],require:[o("0x2478"),o("0x3cc1")],link:{pre:function(e,x,s,c){var l=o;x[l("0x31dc")]("_md"),r(x);var d=c[0],u=c[1]||n[l("0xfab")]();function f(){var e=l;!x[e("0x3a35")]("md-focused")&&x[e("0x31dc")]("md-focused")}d.init(u),e[l("0x4c6b")]=!1,x.attr({role:l("0x12d4"),tabIndex:x.attr(l("0x562"))||"0"}).on("keydown",(function(e){var r=l,i=e[r("0x2d41")]||e.keyCode;if(i===a[r("0x4c0f")][r("0x25ba")]||e[r("0x2e3f")]===e[r("0x55d")])switch(i){case a[r("0x4c0f")][r("0x4620")]:case a[r("0x4c0f")][r("0x3a34")]:e[r("0xe50")](),d.selectPrevious(),f();break;case a[r("0x4c0f")].RIGHT_ARROW:case a.KEY_CODE[r("0xedf")]:e.preventDefault(),d[r("0x1a85")](),f();break;case a[r("0x4c0f")][r("0x25ba")]:var o=t.element(n.getClosest(x[0],"form"));o[r("0x5e9")]>0&&o.triggerHandler(r("0x1f70"))}})).on("mousedown",(function(t){var n=l;e[n("0x4c6b")]=!0,i((function(){e[n("0x4c6b")]=!1}),100)})).on("focus",(function(){var t=l;!1===e[t("0x4c6b")]&&d[t("0x4998")][t("0x31dc")]("md-focused")})).on(l("0x4a1"),(function(){d.$element.removeClass("md-focused")}))}}};function x(e){var t=o;this[t("0x14fa")]=[],this[t("0x4998")]=e}function s(e,a){var r=o,i=n[r("0x1275")](e[0].querySelectorAll("md-radio-button"),!0);if(i[r("0x10d1")]()){var x=e[0][r("0x31f7")](r("0x454a")),s=i[a<0?"previous":r("0xa8")](x,(function(e){var n=r;return!t.element(e)[n("0x417f")](n("0x1c54"))}))||i.first();t[r("0xb48")](s)[r("0x59d")](r("0x7cb"))}}}function a(t,n,a){var r=e,i=r("0x5df");return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox>'+r("0x3519")+'<div class="md-on"></div>'+r("0x1fa8")+r("0x1d35"),link:function(e,o,x,s){var c,l=r;function d(){var e=l;if(!s)throw e("0x3b8b");s[e("0x2d6e")](f),x[e("0xf52")](e("0x3a33"),f),o.on(e("0x7cb"),u).on("$destroy",(function(){s[e("0xf82")](f)}))}function u(t){var n=l;o[0][n("0x3a67")](n("0x1c54"))||s.isDisabled()||e[n("0xd66")]((function(){var e=n;s[e("0x49b5")](x.value,t&&t[e("0x3298")])}))}function f(){var e=l,t=s[e("0xbe4")]()==x[e("0x3a33")];t!==c&&(o[0][e("0x368c")][e("0x4907")][e("0x2eb9")]()!==e("0x4bba")&&o.parent()[e("0x411b")](i,t),t&&s[e("0x491f")](o[e("0x417f")]("id")),c=t,o[e("0x417f")](e("0x4c92"),t).toggleClass(i,t))}a(o),m=o,b=l,m[b("0x417f")]({id:x.id||"radio_"+n.nextUid(),role:b("0x1629"),"aria-checked":b("0x22b7")}),t[b("0x47df")](m,b("0x194a")),x[l("0x4c6")]?n.nextTick(d,!1):d();var m,b}}}n.$inject=[e("0xfb8"),e("0x4572"),e("0x191b"),"$timeout"],a[e("0x4670")]=["$mdAria",e("0xfb8"),e("0x191b")],t[e("0x39e9")](e("0x53"),[e("0x1b0c")])[e("0x1b75")](e("0x2478"),n)[e("0x1b75")](e("0x135d"),a)}(),function(){var a=a2_0x37cf;o[a("0x4670")]=["$mdSelect",a("0xfb8"),a("0x4572"),a("0x191b"),a("0x219f"),a("0x68c"),a("0x4f60"),a("0x1f10")],x[a("0x4670")]=[a("0x68c"),a("0xfb8"),a("0x4572"),a("0x191b")],s[a("0x4670")]=[a("0x1195"),a("0xfb8"),a("0x191b")],l[a("0x4670")]=["$$interimElementProvider"],c[a("0x4670")]=[a("0x4998")];var r=0,i=t.element('<div class="md-container"><div class="md-icon"></div></div>');function o(e,r,i,o,x,s,c,l){var u=a;return{restrict:"E",require:[u("0x9e1"),u("0x17fb"),"ngModel","?^form"],compile:function(a,l){var f=u,m=r[f("0x41a5")](l[f("0x5c5")]),b=t[f("0xb48")](f("0x2607"));b.append(f("0x45d8")),b[f("0x31dc")]("md-select-value"),!b[0][f("0x3a67")]("id")&&b[f("0x417f")]("id",f("0x1260")+r[f("0x2feb")]());var _=a[f("0x372f")](f("0x477d"));if(!_[f("0x5e9")]&&(a[f("0x136a")](t[f("0xb48")](f("0x41b1"))[f("0x136a")](a[f("0x1163")]())),_=a[f("0x372f")](f("0x477d"))),_[f("0x417f")](f("0x3517"),"listbox"),_[f("0x417f")](f("0x562"),"-1"),m?_[f("0x417f")](f("0x3d2e"),f("0x1509")):_[f("0x417f")]("aria-multiselectable",f("0x22b7")),l[f("0x197c")]&&(a[f("0x372f")](f("0x477d"))[f("0x2bdd")](t[f("0xb48")]("<div>"+f("0x437a")+' md-diameter="25px"></md-progress-circular>'+f("0x1fa8"))),a.find(f("0x1752"))[f("0x417f")]("ng-show",f("0x1dc1"))),l[f("0x98c")]){var p=t[f("0xb48")](f("0x491d"));p.attr({name:l.name,"aria-hidden":f("0x1509"),tabindex:"-1"});var h=a[f("0x372f")](f("0x1752"));t.forEach(h,(function(e){var n=f,a=t[n("0xb48")]("<option>"+e[n("0x18c4")]+"</option>");e[n("0x3a67")]("ng-value")?a[n("0x417f")](n("0x4e31"),e[n("0x22b9")](n("0x4e31"))):e[n("0x3a67")](n("0x3a33"))&&a.attr(n("0x3a33"),e[n("0x22b9")]("value")),p[n("0x136a")](a)})),p.append(f("0x2945")+l[f("0x12bc")]+'" selected></option>'),a[f("0x731")]()[f("0x136a")](p)}var g=m?"multiple":"",v=l[f("0x31d")]?r.supplant('ng-model-options="{0}"',[l.ngModelOptions]):"",S=""+f("0x1270")+f("0x1bc")+f("0x1fa8");return S=r.supplant(S,[g,v,a[f("0x1059")]()]),a[f("0x21c")]()[f("0x136a")](b),a.append(S),!l[f("0x562")]&&l[f("0x35be")](f("0x562"),0),function(a,l,u,m){var b,_,p,h,g,v,S,E=f,A=!0,T=m[0],y=m[1],C=m[2],w=m[3],M=l.find(E("0xcb7")),R=t[E("0x64a")](u[E("0x3330")]),D=r[E("0x41a5")](u[E("0x14bc")]),I=t[E("0x64a")](u[E("0xd9c")]),N=l[E("0x372f")](E("0x477d"));if(D&&l[E("0x31dc")](E("0x4dbc")),T){var O=T[E("0x826")]||function(){var e=E;return C[e("0x1d4c")]&&(C[e("0x47cd")]||w&&w[e("0x1757")])};if(T.input&&l[E("0x372f")](E("0x3a73"))[E("0x372f")](E("0x3f87"))[0]!==T[E("0x3f87")][0])throw new Error(E("0x3a92"));if(T[E("0x3f87")]=l,T.label)T[E("0x32b")][E("0x417f")](E("0x240d"),E("0x1509")),N[E("0x417f")](E("0x194a"),T.label[E("0x806")]());else{x.expect(l,"aria-label",l[E("0x417f")](E("0x21e2")));var k=l.attr("aria-label");!k&&(k=l[E("0x417f")](E("0x21e2"))),N.attr(E("0x194a"),k)}var P=a[E("0x7a")](O,T[E("0x2aad")])}S=t[(v=E)("0xb48")](l[0][v("0x31f7")](v("0x2a7e"))),h=a,u[v("0x32a0")]&&S.addClass(u[v("0x32a0")]),(g=S[v("0x372f")](v("0xf53"))[v("0x1194")]("mdSelectMenu"))[v("0xeed")](C,u),l.on(v("0x4c91"),(function(){S[v("0xf82")]()})),p=S,o(l);var L=C[E("0x4dbb")];C.$render=function(){L(),G(),W()};var F=u[E("0xf52")](E("0x21e2"),C.$render),B=u[E("0xf52")](E("0x4c36"),(function(e){var t=E;T&&T.label&&T[t("0x32b")].toggleClass("md-required",e&&!D),l[t("0xf44")](t("0x15a0")),e?N[t("0x417f")](t("0x15a0"),"true"):N[t("0xf44")](t("0x15a0"))}));if(y[E("0x438e")]=function(e){var t=E,r=e===n||""===e,i=!1;if(y[t("0x1b9")](!e),u.mdSelectedText&&u[t("0x1010")])throw Error("md-select cannot have both `md-selected-text` and `md-selected-html`");u[t("0x1960")]||u[t("0x1010")]?(e=s(u[t("0x1960")]||u[t("0x1010")])(a),i=!0):r&&(e=u[t("0x21e2")]||(T&&T[t("0x32b")]?T[t("0x32b")].text():"")||"",i=!0);var o=M[t("0x71b")]().eq(0);u[t("0x1010")]?o[t("0x1059")](c[t("0x3874")](e)):i?o[t("0x806")](e):o[t("0x1059")](e),r?(M[t("0x417f")](t("0x240d"),t("0x1509")),!I&&l.removeAttr(t("0x1d71"))):(M.removeAttr(t("0x240d")),!I&&l[t("0x417f")]("aria-labelledby",l[0].id+" "+M[0].id))},y[E("0x1b9")]=function(e){var t=E;e?(M[t("0x31dc")](t("0x47f1")),T&&T[t("0x32b")]&&T[t("0x32b")][t("0x31dc")](t("0x4f19"))):(M[t("0xa81")]("md-select-placeholder"),T&&T[t("0x32b")]&&T[t("0x32b")].removeClass("md-placeholder"))},!R){l.on(E("0x2beb"),(function(e){T&&T[E("0x4e03")](!0)})),l.on(E("0x4a1"),(function(e){var t=E;A&&(A=!1,h._mdSelectIsOpen&&e[t("0x360b")]()),T&&T[t("0x4e03")](!1),W()}))}y[E("0x3c73")]=function(){s(u.mdOnClose)(a)},a[E("0x722")]((function(){var e,t;e=E,!(t=l.attr(e("0x194a"))||l[e("0x417f")](e("0x21e2")))&&T&&T.label&&(t=T.label[e("0x806")]()),x[e("0x1aa6")](l,e("0x194a"),t),G()}));var Y=a[E("0x7a")]((function(){return g[E("0x3bf8")]()}),G);function G(){var e=E;g=g||p[e("0x372f")]("md-select-menu")[e("0x1194")](e("0x3fd4")),y[e("0x438e")](g[e("0x3bf8")]())}var H=u[E("0xf52")](E("0x4367"),(function(e){_&&_();var t=s(e);_=a.$watch((function(){return t(a)}),(function(e,t){var a=a2_0x37cf,r=p[a("0x372f")]("md-select-menu");if(e!==n||t!==n){if(e){var i={multiple:a("0x5c5")};l[a("0x417f")](i),r.attr(i)}else l.removeAttr(a("0x5c5")),r[a("0xf44")](a("0x5c5"));l[a("0x372f")](a("0x477d")).attr("aria-multiselectable",e?"true":a("0x22b7")),p&&(g.setMultiple(Boolean(e)),L=C.$render,C[a("0x4dbb")]=function(){L(),G(),W()},C[a("0x4dbb")]())}}))})),U=u[E("0xf52")](E("0x1c54"),(function(e){var a=E;t[a("0x1236")](e)&&(e=!0),b!==n&&b===e||(b=e,e?l[a("0x417f")]({"aria-disabled":a("0x1509")})[a("0xf44")](a("0x562")).removeAttr("aria-expanded")[a("0xf44")]("aria-haspopup")[a("0x30f8")](a("0x7cb"),z).off(a("0x468d"),q):l[a("0x417f")]({tabindex:u[a("0x562")],"aria-haspopup":a("0x3328")})[a("0xf44")](a("0x2184")).on(a("0x7cb"),z).on(a("0x468d"),q))}));!u.hasOwnProperty(E("0x1c54"))&&!u[E("0x1bd4")](E("0x28cb"))&&(l[E("0x417f")]({"aria-disabled":E("0x22b7")}),l.on(E("0x7cb"),z),l.on(E("0x468d"),q));var $={role:E("0x22d7"),"aria-haspopup":E("0x3328")};!l[0].hasAttribute("id")&&($.id=E("0x3821")+r[E("0x2feb")]());var j="select_container_"+r[E("0x2feb")]();p[E("0x417f")]("id",j);var V=E("0x4862")+r[E("0x2feb")]();function W(){var e=E;r[e("0x4ee4")]((function(){var t=e;T&&T[t("0x17e9")](g.getSelectedLabels()[t("0x5e9")]>0||(l[0][t("0x1d3a")]||{}).badInput)}))}function q(e){var n=E;if(i.isNavigationKey(e))e[n("0xe50")](),z();else if(d(e,i)){e[n("0xe50")]();var a=g[n("0x5fd")](e);if(!a||a[n("0x3a67")]("disabled"))return;var r=t.element(a)[n("0x1194")]("mdOption");!g.isMultiple&&t[n("0x5ba")](Object.keys(g[n("0x2f89")]),(function(e){g[n("0x1428")](e)})),g.select(r.hashKey,r[n("0x3a33")]),g[n("0x4f90")]()}}function z(){var t=E;h[t("0x3e0f")]=!0,l[t("0x417f")](t("0x766"),t("0x1509")),e[t("0x262c")]({scope:h,preserveScope:!0,skipCompile:!0,element:p,target:l[0],selectCtrl:y,preserveElement:!0,hasBackdrop:!0,loadingAsync:!!u[t("0x197c")]&&(a[t("0xe2b")](u[t("0x197c")])||!0)})[t("0x2cfe")]((function(){var e=t;h._mdSelectIsOpen=!1,l[e("0xf44")](e("0x766")),l[e("0xf44")](e("0x429f")),C[e("0x49cb")]()}))}p[E("0x372f")](E("0x477d")).attr("id",V),!l[E("0x372f")]("md-select-menu")[E("0x5e9")]&&($["aria-owns"]=V),l[E("0x417f")]($),a[E("0x24c9")](E("0x4c91"),(function(){var t=E;B&&B(),U&&U(),_&&_(),H&&H(),Y&&Y(),F&&F(),P&&P(),l[t("0x30f8")](t("0x2beb")),l.off(t("0x4a1")),e[t("0xdc5")]().finally((function(){var e=t;T&&(T[e("0x4e03")](!1),T[e("0x17e9")](!1),T[e("0x3f87")]=null),C[e("0x49cb")]()}))}))}},controller:function(){}}}function x(e,i,o,x){var s=a;return c.$inject=[s("0x36af"),"$attrs",s("0x4998")],{restrict:"E",require:[s("0x3fd4")],scope:!1,controller:c,link:{pre:function(e,n,a,r){var o=s,c=r[0];function l(n){var a=o,r=i[a("0x3731")](n[a("0x55d")],a("0x1752")),x=r&&t[a("0xb48")](r).data("$mdOptionController");if(r&&x)if(r[a("0x3a67")]("disabled"))n[a("0x360b")]();else{var s=c[a("0x4207")](x[a("0x3a33")]),l=t.isDefined(c[a("0x2f89")][s]);e[a("0xd66")]((function(){var e=a;c[e("0x4a39")]?l?c[e("0x1428")](s):c[e("0x2d7b")](s,x[e("0x3a33")]):!l&&(t[e("0x5ba")](Object[e("0xa35")](c[e("0x2f89")]),(function(t){c[e("0x1428")](t)})),c[e("0x2d7b")](s,x[e("0x3a33")])),c.refreshViewValue()}))}else n[a("0x55d")]&&n[a("0x55d")][a("0x368c")]&&n[a("0x55d")][a("0x368c")][a("0x4d74")]===a("0x4cf4")&&n[a("0x360b")]()}n[o("0x31dc")](o("0x16ce")),x(n),n.on(o("0x7cb"),l),n.on(o("0x1a29"),(function(e){var t=o;(13===e[t("0x4ff2")]||32===e[t("0x4ff2")])&&l(e)}))}}};function c(a,o,x){var c,l,d,u,f=s,m=this,b="";function _(){var e=f,n=m[e("0x12bc")][e("0x2dce")]||m.ngModel[e("0x326c")]||[];if(t[e("0x498f")](n)){var a=Object[e("0xa35")](m[e("0x2f89")]),r=n[e("0x19e8")](m[e("0x4207")]);a.filter((function(e){return-1===r.indexOf(e)}))[e("0x5ba")](m[e("0x1428")]),r[e("0x5ba")]((function(t,a){m[e("0x2d7b")](t,n[a])}))}}function p(){var e=f,t=m[e("0x12bc")][e("0x326c")]||m[e("0x12bc")][e("0x2dce")];Object[e("0xa35")](m[e("0x2f89")])[e("0x5ba")](m[e("0x1428")]),m[e("0x2d7b")](m[e("0x4207")](t),t)}m[f("0x4a39")]=t[f("0x64a")](o[f("0x5c5")]),m[f("0x2f89")]={},m.options={},a[f("0x49f2")]((function(){return m[f("0x16d1")]}),(function(){var e=f;m[e("0x12bc")][e("0x4dbb")](),function(){var e,t,n=f;if(!x.find(n("0x4c3"))[n("0x5e9")])return;for(t=x[n("0x372f")]("md-option"),e=0;e<t[n("0x5e9")];e++)t[e].setAttribute("aria-setsize",t[n("0x5e9")]),t[e].setAttribute(n("0x3fb3"),e+1)}()})),m.setMultiple=function(e){var n=f,r=m.ngModel;if(c=c||r[n("0x8b2")],m[n("0x4a39")]=e,m.isMultiple){var o=!1,x=function(e){var t=n;o?_():i[t("0x4ee4")]((function(){_(),o=!0}))};r[n("0x1b85")][n("0x1818")]=s,r.$render=x,a[n("0x49f2")](m[n("0x2cbe")],(function(e){s(e)&&x()})),r.$isEmpty=function(e){return!e||0===e[n("0x5e9")]}}else delete r.$validators[n("0x1818")],r.$render=p;function s(e,a){return t[n("0x498f")](e||a||[])}},m.optNodeForKeyboardSearch=function(e){var a,r,o=f;for(l&&clearTimeout(l),l=setTimeout((function(){l=n,b="",u=n,d=n}),300),b+=e[o("0x2646")],a=new RegExp("^"+i[o("0x4bab")](b),"i"),!d&&(d=x[o("0x372f")](o("0x1752")),u=new Array(d[o("0x5e9")]),t[o("0x5ba")](d,(function(e,t){var n=o;u[t]=e[n("0x12ee")][n("0x2dc4")]()}))),r=0;r<u[o("0x5e9")];++r)if(a.test(u[r]))return d[r]},m[f("0xeed")]=function(n,x){var s=f;function c(e){var n=s;return t[n("0x1f1a")](e)&&!t[n("0x498f")](e)?n("0x613")+(e[n("0x456c")]||(e[n("0x456c")]=++r)):e+""}m[s("0x12bc")]=n,m.modelBinding=x[s("0x12bc")],m[s("0x12bc")][s("0x8b2")]=function(e){return!m[s("0x16d1")][m.hashGetter(e)]},o[s("0x31d")]?m.hashGetter=function(n){var r=s,i=e(o[r("0x31d")])(a),x=i&&i[r("0x34d7")];return x?e(x)(a,{$value:n}):t[r("0x1f1a")](n)?c(n):n}:m[s("0x4207")]=c,m.setMultiple(m[s("0x4a39")]),x.hasOwnProperty(s("0x48c"))&&i[s("0x4ee4")]((function(){var e=s,t=Object[e("0xa35")](m[e("0x16d1")]);if(1===t.length){var n=m.options[t[0]];m[e("0x1428")](Object[e("0xa35")](m[e("0x2f89")])[0]),m.select(m[e("0x4207")](n[e("0x3a33")]),n[e("0x3a33")]),m.refreshViewValue(),m[e("0x12bc")][e("0x3ba")]()}}),!1)},m[f("0x491f")]=function(e){var n=f;t.isDefined(e)?x[n("0x372f")](n("0x477d"))[n("0x417f")]("aria-activedescendant",e):x.find("md-content")[n("0xf44")](n("0x429f"))},m[f("0x3bf8")]=function(e){var t,n=f,a=(e=e||{})[n("0x38aa")]||n("0x1059"),r=i[n("0x328a")](x[0][n("0x1e72")](n("0x4316")));return r[n("0x5e9")]?(a===n("0x1059")?t=function(e){var t=n;if(e[t("0x3a67")](t("0x2d69")))return"";var a=e[t("0x18c4")],r=e[t("0x31f7")](t("0x4f12"));r&&(a=a.replace(r[t("0x2b5b")],""));var i=e.querySelector(t("0x39fd"));return i&&(a=a.replace(i[t("0x2b5b")],"")),a}:a===n("0x276a")&&(t=function(e){var t=n;return e[t("0x3a67")]("aria-label")?e[t("0x22b9")](t("0x194a")):e[t("0x12ee")]}),i[n("0xe16")](r[n("0x19e8")](t))[n("0xc60")](", ")):""},m[f("0x2d7b")]=function(e,t){var n=f,a=m[n("0x16d1")][e];a&&a.setSelected(!0,m[n("0x4a39")]),m[n("0x2f89")][e]=t},m[f("0x1428")]=function(e){var t=f,n=m[t("0x16d1")][e];n&&n.setSelected(!1,m.isMultiple),delete m[t("0x2f89")][e]},m[f("0x4e26")]=function(e,n){var a=f;if(t.isDefined(m.options[e]))throw new Error("Duplicate md-option values are not allowed in a select. "+a("0x6b4")+n[a("0x3a33")]+'" found.');m[a("0x16d1")][e]=n,t[a("0x64a")](m[a("0x2f89")][e])&&(m[a("0x2d7b")](e,n.value),t.isDefined(m[a("0x12bc")][a("0x3b45")])&&m[a("0x4207")](m[a("0x12bc")].$$rawModelValue)===e&&m[a("0x12bc")].$validate(),m[a("0x4f90")]())},m.removeOption=function(e){delete m[f("0x16d1")][e]},m[f("0x4f90")]=function(){var e,n=f,a=[];for(var r in m.selected)(e=m[n("0x16d1")][r])?a[n("0x459a")](e[n("0x3a33")]):a[n("0x459a")](m[n("0x2f89")][r]);var i=m[n("0x4a39")]?a:a[0];!function(e,a){var r=n;if(m[r("0x4a39")]){if(t[r("0x498f")](e)){if(e.length!==a[r("0x5e9")])return!1;var i=e[r("0x19e8")]((function(e){return m[r("0x4207")](e)}));return a[r("0x1906")]((function(e){var t=r,n=m[t("0x4207")](e);return i[t("0x906")]((function(e){return e===n}))}))}return!1}return m[r("0x4207")](e)===m[r("0x4207")](a)}(m.ngModel.$modelValue,i)&&(m[n("0x12bc")].$setViewValue(i),m[n("0x12bc")][n("0x4dbb")]())}}}function s(e,n,r){var o=a;return{restrict:"E",require:[o("0x2cf4"),o("0x4715")],controller:c,compile:function(e,n){var a=o;return e.append(t[a("0xb48")](a("0x1b57"))[a("0x136a")](e[a("0x1163")]())),e[a("0x417f")](a("0x562"),n[a("0x562")]||"0"),r=n,i=o,s=r[i("0x3a33")],c=r[i("0x4c6")],!(s||c)&&e.attr(a("0x2d69"),""),x;var r,i,s,c}};function x(a,x,s,c){var l,d,u=o,f=c[0],m=c[1];function b(e,t,n){var r=u;if(m[r("0x4207")]){var i=m[r("0x4207")](t,a),o=m.hashGetter(e,a);f[r("0x4482")]=o,f[r("0x3a33")]=e,m.removeOption(i,f),m[r("0x4e26")](o,f)}else!n&&a[r("0x722")]((function(){b(e,t,!0)}))}r(x),m[u("0x4a39")]&&(x[u("0x31dc")](u("0x3fb0")),x.prepend(i[u("0x42df")]())),t[u("0x64a")](s[u("0x4c6")])?a[u("0x7a")](s[u("0x4c6")],(function(e,t){var n=u;b(e,t),x[n("0xf44")](n("0x4c92"))})):t.isDefined(s[u("0x3a33")])?b(s[u("0x3a33")]):a.$watch((function(){return x.text().trim()}),b),s[u("0xf52")](u("0x1c54"),(function(e){var t=u;e?x[t("0x417f")](t("0x562"),"-1"):x[t("0x417f")](t("0x562"),"0")})),a[u("0x722")]((function(){var e=u;s[e("0xf52")](e("0x2f89"),(function(n){var a=e;t[a("0x64a")](n)&&(typeof n==a("0x38b7")&&(n=!0),n?(!m.isMultiple&&m[a("0x1428")](Object[a("0xa35")](m[a("0x2f89")])[0]),m[a("0x2d7b")](f[a("0x4482")],f.value)):m[a("0x1428")](f[a("0x4482")]),m[a("0x4f90")]())}))})),e[u("0x226")](a,x),d={role:(l=u)("0x2d68")},m.isMultiple&&(d[l("0x2126")]=l("0x22b7")),!x[0][l("0x3a67")]("id")&&(d.id=l("0x211b")+n.nextUid()),x[l("0x417f")](d),a[u("0x24c9")](u("0x4c91"),(function(){m[u("0x4b9a")](f.hashKey,f)}))}}function c(e){var t=a;this[t("0x2df5")]=function(n,a){var r=t;n?e.attr({selected:r("0x1509"),"aria-selected":r("0x1509")}):!n&&(e[r("0xf44")]("selected"),a?e[r("0x417f")](r("0x2126"),r("0x22b7")):e[r("0xf44")]("aria-selected"))}}function l(n){var r=a;return i[r("0x4670")]=[r("0x37ed"),r("0x4572"),r("0xfb8"),r("0xe11"),"$q",r("0x47aa"),r("0x7c3"),r("0xc00"),r("0x45e2")],n("$mdSelect").setDefaults({methods:[r("0x55d")],options:i});function i(n,a,i,x,s,c,l,u,f){var m=r,b=m("0x193d"),_=i.dom[m("0x17af")],p=a[m("0x4c0f")];return{parent:m("0x3b3e"),themable:!0,onShow:function(e,r,o){var g=m;return function(){var t=g;o[t("0x2dd9")]&&!o[t("0x1bcd")]&&(e[t("0x1dc1")]=!1,s[t("0x2c66")](o[t("0x2dd9")])[t("0x34e8")]((function(){var n=t;e[n("0x1dc1")]=!0,delete o[n("0x2dd9")]}))[t("0x34e8")]((function(){c(v)})))}(),function(e,n){var a=g,o=r.find(a("0xf53"));if(!n[a("0x55d")])throw new Error(i[a("0x147e")](b,[n.target]));t[a("0x3448")](n,{isRemoved:!1,target:t[a("0xb48")](n.target),parent:t.element(n.parent),selectEl:o,contentEl:r.find(a("0x477d")),optionNodes:o[0][a("0x3684")](a("0x1752"))})}(0,o),o[g("0x3d8e")]=function(e,t,n){var a=g;return n[a("0x2769")]&&!i[a("0x3731")](n.target,a("0x3491"))?n[a("0x1a73")]=i[a("0xa94")](n[a("0xb48")],n[a("0x731")]):n.disableParentScroll=!1,n[a("0x2fb9")]&&(n[a("0x4e55")]=i[a("0x43d0")](e,"md-select-backdrop md-click-catcher"),u[a("0x3b11")](n[a("0x4e55")],f[0].body,null,{duration:0})),function(){var e=a;n[e("0x4e55")]&&n[e("0x4e55")][e("0xf82")](),n[e("0x2769")]&&n[e("0x1a73")](),delete n.restoreScroll}}(e,0,o),function(e,t,n){var a=g;return n[a("0x731")]!==t[a("0x731")]()&&t.parent().attr(a("0x1db8"),t[a("0x372f")](a("0x477d"))[a("0x417f")]("id")),n[a("0x731")][a("0x136a")](t),s((function(e,n){var r=a;try{l(t,{removeClass:r("0x15d2"),duration:0})[r("0x1023")]().then(v)[r("0x34e8")](e)}catch(e){n(e)}}))}(0,r,o).then((function(s){var c,l,u,f,m,b,v=g;return r[v("0x417f")]("aria-hidden",v("0x22b7")),o[v("0x49de")]=!0,o[v("0x4e6f")]=function(){var e=g;if(o[e("0x1bcd")])return;var t=o[e("0x3040")],x=t.controller(e("0x3fd4"))||{};o.contentEl;return r[e("0x31dc")]("md-clickable"),o.backdrop&&o[e("0x4e55")].on(e("0x7cb"),s),t.on(e("0x468d"),c),t.on(e("0x7cb"),m),function(){var n=e;o.backdrop&&o[n("0x4e55")][n("0x30f8")](n("0x7cb"),s),t[n("0x30f8")](n("0x468d"),c),t[n("0x30f8")](n("0x7cb"),m),r[n("0xa81")](n("0x213e")),o[n("0x1bcd")]=!0};function s(t){var a=e;t[a("0xe50")](),t[a("0x4c98")](),o[a("0x39cd")]=!1,i[a("0x4ee4")](n[a("0x29cb")],!0)}function c(r){var s=e;switch(r[s("0xe50")](),r[s("0x4c98")](),r[s("0x4ff2")]){case p[s("0x3a34")]:return f();case p[s("0xedf")]:return u();case p[s("0x128a")]:case p[s("0x25ba")]:o[s("0x2d22")]&&(t[s("0x59d")]({type:s("0x7cb"),target:o[s("0x2d22")]}),r[s("0xe50")]()),m(r);break;case p[s("0x27a4")]:case p[s("0x7eb")]:r[s("0x4c98")](),r.preventDefault(),o[s("0x39cd")]=!0,i[s("0x4ee4")](n[s("0x29cb")],!0);break;default:if(d(r,a)){var c=x[s("0x5fd")](r);c&&!c[s("0x3a67")](s("0x1c54"))&&S(o[s("0x2d22")],c,x)}}}function l(t){var n,a=e,r=i[a("0x328a")](o[a("0x687")]),s=r[a("0x3507")](o.focusedNode),c=r[s];do{-1===s?s=0:t===a("0xa8")&&s<r[a("0x5e9")]-1?s++:t===a("0xc90")&&s>0&&s--,(n=r[s])[a("0x3a67")](a("0x1c54"))&&(n=null)}while(!n&&s<r.length-1&&s>0);S(c,n,x)}function u(){l("next")}function f(){l(e("0xc90"))}function m(a){var r=e;function s(){var e=r,t=!1;if(a&&a.currentTarget.children[e("0x5e9")]>0){var n=a[e("0x2e3f")][e("0x71b")][0];if(n[e("0x2afd")]>n[e("0x2838")]&&n[e("0x71b")].length>0)a.pageX-a[e("0x2e3f")].getBoundingClientRect().left>n[e("0x31f7")](e("0x1752"))[e("0xe76")]&&(t=!0)}return t}a&&"click"===a[r("0x3298")]&&a.currentTarget!==t[0]||s()||o.focusedNode&&o[r("0x2d22")].hasAttribute&&!o.focusedNode.hasAttribute(r("0x1c54"))&&(a[r("0xe50")](),a[r("0x4c98")](),!x[r("0x4a39")]&&(o[r("0x39cd")]=!0,i[r("0x4ee4")]((function(){var e=r;n.hide(x[e("0x12bc")][e("0x326c")]),o.focusedNode[e("0x1e2d")][e("0xf82")](e("0x43ba"))}),!0)))}}(),o.cleanupResizing=(c=g,f=e,m=r,b=o,l=function(){var e=a2_0x37cf;if(!b[e("0x1bcd")]){var t=h(f,m,b),n=t.container,a=t[e("0x25a6")];n[e("0xb48")][e("0x42b1")](_[e("0x4208")](n.styles)),a.element.css(_[e("0x4208")](a.styles))}},(u=t.element(x)).on(c("0x39d4"),l),u.on(c("0x1f21"),l),function(){var e=c;u[e("0x30f8")](e("0x39d4"),l),u[e("0x30f8")]("orientationchange",l)}),o[v("0x350a")][0].focus(),s}),o.hideBackdrop);function v(){return s((function(t){var n=a2_0x37cf;if(o[n("0x1bcd")])return s[n("0x2078")](!1);var a=h(e,r,o);a[n("0x110e")][n("0xb48")][n("0x42b1")](_[n("0x4208")](a[n("0x110e")][n("0x365d")])),a.dropDown[n("0xb48")][n("0x42b1")](_[n("0x4208")](a[n("0x25a6")][n("0x365d")])),c((function(){var e,i,x,s=n;r[s("0x31dc")](s("0x3598")),a.dropDown[s("0xb48")][s("0x42b1")](_[s("0x4208")]({transform:""})),e=o[s("0x2d22")],x=g,e&&!e[x("0x3a67")](x("0x1c54"))&&(i=o.selectEl[x("0x1194")](x("0x3fd4")),S(null,e,i)),t()}))}))}function S(e,t,n){var a=g,r=o[a("0x350a")][0];if(t){if(e&&e.classList.remove(a("0x43ba")),t[a("0x1e2d")][a("0x2d6e")](a("0x43ba")),n&&n.setActiveDescendant&&n.setActiveDescendant(t.id),r[a("0x2afd")]>r[a("0x2838")]){var i=r[a("0x2838")]+r[a("0x1423")],x=t[a("0x2ac6")]+t[a("0x2b02")];x>i?r[a("0x1423")]=x-r[a("0x2838")]:t.offsetTop<r[a("0x1423")]&&(r.scrollTop=t[a("0x2ac6")])}o.focusedNode=t,n&&n[a("0x4f90")]&&n[a("0x4f90")]()}}},onRemove:function(e,t,n){var a=m,r=null,o=e[a("0x24c9")](a("0x4c91"),(function(){r.end()}));return(n=n||{}).cleanupInteraction(),n[a("0x332d")](),n[a("0x3d8e")](),!0===n.$destroy?x():function(){var e=a;return(r=l(t,{addClass:e("0x15d2")}))[e("0x1023")]()}().then(x);function x(){var e=a;o(),t[e("0xa81")](e("0x3598"))[e("0x417f")](e("0x240d"),e("0x1509"))[e("0x42b1")]({display:e("0x2847"),top:"",right:"",bottom:"",left:"","font-size":"","min-width":""}),function(e){var t=m,n=e[t("0x4288")];if(n){var a=e[t("0x3040")].controller(t("0x3fd4"));n[t("0x438e")](a?a[t("0x3bf8")]():""),n.triggerClose()}}(n),!n[e("0x4c91")]&&(n.restoreFocus?n[e("0x55d")][e("0x2beb")]():i.nextTick((function(){var t=e;n[t("0x55d")][t("0x59d")](t("0x4a1"))}),!0))}},hasBackdrop:!0,disableParentScroll:!0};function h(n,a,s){var c,l,d,u=m,b=a[0],_=s[u("0x55d")][0][u("0x71b")][0],p=f[0][u("0x3b3e")],h=s[u("0x3040")][0],g=s[u("0x350a")][0],v=p[u("0x1a8b")](),S=_[u("0x1a8b")](),E={left:v.left+8,top:8,bottom:v[u("0x4e66")]-8,right:v[u("0xbbf")]-8-(i[u("0x1f27")]()?16:0)},A={top:S[u("0x228a")]-E[u("0x228a")],left:S[u("0x2885")]-E[u("0x2885")],right:E[u("0x30eb")]-(S[u("0x2885")]+S.width),bottom:E[u("0x47d9")]-(S[u("0x228a")]+S.height)},T=v[u("0xbbf")]-16,y=h.querySelector(u("0x4316")),C=h.getElementsByTagName(u("0x1752")),w=h[u("0x3684")](u("0x4c3")),M=function(e,t){var n=r,a=!1;try{var i=e[0].style[n("0x37b3")];e[0][n("0x4025")].display="block",a=t[n("0x2afd")]>t.offsetHeight,e[0][n("0x4025")][n("0x37b3")]=i}finally{}return a}(a,g);c=(l=s[u("0x2dd9")],d=r,l&&t[d("0x4977")](l[d("0x34e8")]))?g.firstElementChild||g:y||(w.length?w[0]:C[u("0x5e9")]?C[0]:g.firstElementChild||g),g[u("0xe76")]>T?g.style["max-width"]=T+"px":g[u("0x4025")].maxWidth=null,M&&h[u("0x1e2d")][u("0x2d6e")](u("0x3c7"));var R=c;(R[u("0x4d74")]||"").toUpperCase()===u("0x1ec4")&&(c=R=C[0]||g[u("0x1234")]||g),s[u("0x2d22")]=R,b[u("0x4025")][u("0x37b3")]=u("0x37ca");var D,I,N,O,k,P,L,F=h[u("0x1a8b")](),B=(I=r,(D=c)?{left:D[I("0x3c94")],top:D.offsetTop,width:D[I("0xe76")],height:D.offsetHeight}:{left:0,top:0,width:0,height:0});if(c){var Y=x[u("0x2b64")](c);B[u("0x3cd")]=parseInt(Y[u("0x3cd")],10)||0,B[u("0x49ca")]=parseInt(Y[u("0x49ca")],10)||0}if(M){var G=g[u("0x2b02")]/2;g[u("0x1423")]=B[u("0x228a")]+B[u("0x4e66")]/2-G,A[u("0x228a")]<G?g.scrollTop=Math[u("0x11db")](B.top,g.scrollTop+G-A[u("0x228a")]):A[u("0x47d9")]<G&&(g[u("0x1423")]=Math.max(B[u("0x228a")]+B.height-F[u("0x4e66")],g[u("0x1423")]-G+A.bottom))}N=S.left+B[u("0x2885")]-B[u("0x3cd")]+2,O=Math[u("0x4184")](S[u("0x228a")]+S[u("0x4e66")]/2-B.height/2-B[u("0x228a")]+g[u("0x1423")])+2,k=B[u("0x2885")]+S[u("0xbbf")]/2+u("0x3886")+(B[u("0x228a")]+B[u("0x4e66")]/2-g[u("0x1423")])+u("0x1f1f"),P=Math.min(S.width+B.paddingLeft+B[u("0x49ca")],T),L=e[u("0x2b64")](_)[u("0x32e5")];var H=b[u("0x1a8b")](),U=Math[u("0x46d")](100*Math[u("0x11db")](S[u("0xbbf")]/F[u("0xbbf")],1))/100,$=Math[u("0x46d")](100*Math[u("0x11db")](S[u("0x4e66")]/F[u("0x4e66")],1))/100;return{container:{element:t[u("0xb48")](b),styles:{left:Math[u("0x4184")](o(E[u("0x2885")],N,E[u("0x30eb")]-P)),top:Math[u("0x4184")](o(E[u("0x228a")],O,E.bottom-H[u("0x4e66")])),"min-width":P,"font-size":L}},dropDown:{element:t[u("0xb48")](h),styles:{transformOrigin:k,transform:s.alreadyOpen?"":i[u("0x147e")]("scale({0},{1})",[U,$])}}}}}function o(e,t,n){var a=r;return Math[a("0x242b")](e,Math[a("0x11db")](t,n))}}function d(e,t){var n=a,r=String[n("0x1e62")](e[n("0x4ff2")]),i=e[n("0x4ff2")]<=31;return r&&r[n("0x5e9")]&&!i&&!t.isMetaKey(e)&&!t[n("0x9f9")](e)&&!t[n("0x3c8d")](e)}t.module("material.components.select",[a("0x1b0c"),a("0x2ee6")])[a("0x1b75")](a("0x17fb"),o)[a("0x1b75")](a("0x3fd4"),x)[a("0x1b75")](a("0x2cf4"),s).directive("mdOptgroup",(function(){return{restrict:"E",compile:function(e,n){var a=a2_0x37cf;function r(){var t=a;return e[t("0x731")]().find(t("0x3a73"))[t("0x5e9")]}function i(){var r=a,i=e[r("0x372f")](r("0x32b"));!i[r("0x5e9")]&&(i=t[r("0xb48")](r("0x46e6")),e.prepend(i)),i[r("0x31dc")](r("0x3a8c")),i[r("0x417f")](r("0x240d"),r("0x1509")),n.label&&i[r("0x806")](n[r("0x32b")]),e.attr("aria-label",i.text())}!r()&&i(),e[a("0x417f")]("role","group")}}})).directive(a("0x4e18"),(function(){return{restrict:"E"}}))[a("0x4b0")](a("0x37ed"),l)}(),function(){var e=a2_0x37cf;function n(t,n){var a=e;return[a("0xfb8"),a("0xe11"),function(e,a){return{restrict:"A",multiElement:!0,link:function(r,i,o){var x=a2_0x37cf,s=r[x("0x24c9")](x("0x3d5c"),(function(){var c=x;s();var l=i[0],d=l.nodeType===a[c("0x1bf8")].ELEMENT_NODE?a[c("0x2b64")](l):{};r[c("0x7a")](o[t],(function(t){var a=c;if(!!t===n){e[a("0x4ee4")]((function(){var e=a;r[e("0x2050")](e("0x359c"))}));var o={cachedTransitionStyles:d};e[a("0x1c30")][a("0x17af")][a("0x3716")](i,o)[a("0x34e8")]((function(){var e=a;r.$broadcast(e("0x359c"))}))}}))}))}}}]}t[e("0x39e9")](e("0x4814"),[e("0x1b0c")]).directive(e("0x13d0"),n(e("0x13d0"),!0))[e("0x1b75")]("ngHide",n(e("0x470d"),!1))}(),function(){var e=a2_0x37cf;function a(a,r,i,o){var x=e,s=x("0x14dd"),c={find:function(e,t){var i=x,c=a[i("0x1cf")](e);return c||t?c:(o[i("0x4ad3")](r[i("0x147e")](s,[e||""])),n)},waitFor:l};return function(e,n){var a=x;if(t.isUndefined(e))return c;var o,d,u,f,m,b=!0===n,_=c.find(e,b);return!_&&b?c[a("0x12bf")](e):!_&&t[a("0x29ab")](n)?(o=c,d=e,f=function(){return!1},m=function(){var e=a2_0x37cf;return i[e("0x2c66")](r[e("0x147e")](s,[d||""]))},t[(u=x)("0x3448")]({isLockedOpen:f,isOpen:f,toggle:m,open:m,close:m,onClose:t[u("0x49d1")],then:function(e){var n=u;return l(d)[n("0x34e8")](e||t[n("0x49d1")])}},o)):_};function l(e){var t=x;return a.when(e)[t("0x373a")](o.error)}}function r(a,r,i,o,x,s,c,l,d,u,f,m,b){var _=e;return{restrict:"E",scope:{isOpen:_("0x28a6")},controller:_("0x2ac"),compile:function(e){var t=_;return e[t("0x31dc")](t("0xc68")).attr("tabIndex","-1"),p}};function p(e,c,p,h){var g,v,S,E,A,T=_,y=null,C=null,w=u.when(!0),M=l(p.mdIsLockedOpen),R=t.element(m);function D(e){var t=T;return e[t("0x4ff2")]===i[t("0x4c0f")][t("0x7eb")]?I(e):u[t("0x2c66")](!0)}function I(e){var t=T;return e[t("0xe50")](),h[t("0x440f")]()}p.mdDisableScrollTarget&&((y=f[0].querySelector(p.mdDisableScrollTarget))?y=t[T("0xb48")](y):d[T("0x1dc6")](r[T("0x147e")](T("0x35c3")+'selector "{selector}". Falling back to parent.',{selector:p[T("0x3f14")]}))),!y&&(y=c[T("0x731")]()),!p[T("0x1bd4")]("mdDisableBackdrop")&&(v=r[T("0x43d0")](e,"md-sidenav-backdrop md-opaque ng-enter")),p[T("0x1bd4")](T("0x1eb0"))&&(S=!0),c.addClass(T("0x16ce")),o(c),v&&o[T("0xbe2")](v,c),c.on("$destroy",(function(){v&&v.remove(),h.destroy()})),e.$on(T("0x4c91"),(function(){v&&v[T("0xf82")]()})),e[T("0x7a")]((function(){var t=a2_0x37cf;return M(e[t("0x20cb")],{$media:function(e){var n=t;return d[n("0x1dc6")](n("0x2305")),a(e)},$mdMedia:a})}),(function(t,n){var a=T;e[a("0x3135")]=t,t===n?c[a("0x411b")](a("0x12f3"),!!t):s[a(t?"0x31dc":"0xa81")](c,"md-locked-open"),v&&v.toggleClass(a("0x12f3"),!!t)})),e[T("0x7a")](T("0x4447"),(function(a){var i,o=T,l=r[o("0x274e")](c)||r[o("0x274e")](c,o("0xcee"))||c,d=c[o("0x731")]();S||(d[a?"on":o("0x30f8")]("keydown",D),v&&v[a?"on":o("0x30f8")]("click",I));return i=function(e,t){var n=T,a=c[0],r=e[0][n("0x1423")];if(t&&r){A={top:a.style.top,bottom:a[n("0x4025")][n("0x47d9")],height:a.style[n("0x4e66")]};var i={top:r+"px",bottom:n("0x15ac"),height:e[0][n("0x2838")]+"px"};c.css(i),v[n("0x42b1")](i)}if(!t&&A)return function(){var e=n;a[e("0x4025")][e("0x228a")]=A[e("0x228a")],a[e("0x4025")].bottom=A[e("0x47d9")],a[e("0x4025")][e("0x4e66")]=A.height,v[0][e("0x4025")][e("0x228a")]=null,v[0][e("0x4025")].bottom=null,v[0][e("0x4025")][e("0x4e66")]=null,A=null}}(d,a),a&&(C=f[0][o("0x3671")],E=x[o("0x1a20")]()),m=a,_=T,m&&!g?(g=y[_("0x42b1")](_("0x905")),y[_("0x42b1")](_("0x905"),_("0xd4f"))):t.isDefined(g)&&(y.css("overflow",g),g=n),w=u.all([a&&v?s.enter(v,d):v?s[o("0xf77")](v):u[o("0x2c66")](!0),s[a?"removeClass":o("0x31dc")](c,"md-closed")])[o("0x34e8")]((function(){var t=o;e[t("0x4447")]&&(b((function(){R[t("0x59d")]("resize")})),l&&l[t("0x2beb")]()),i&&i()}));var m,_})),h.$toggleOpen=function(t){var n=T;return e.isOpen===t?u[n("0x2c66")](!0):(e[n("0x4447")]&&h[n("0x315f")]&&h[n("0x315f")](),u((function(a){var i=n;e[i("0x4447")]=t,r[i("0x4ee4")]((function(){w.then((function(t){var n=a2_0x37cf;!e.isOpen&&C&&E===n("0x4804")&&(C[n("0x2beb")](),C=null),a(t)}))}))})))}}}function i(t,n,a,r,i){var o=e,x=this;x[o("0x4447")]=function(){return!!t[o("0x4447")]},x.isLockedOpen=function(){return!!t[o("0x3135")]},x[o("0x20f2")]=function(e){return x[o("0x315f")]=e,x},x[o("0x55a")]=function(){return x[o("0x3aed")](!0)},x[o("0x440f")]=function(){return x.$toggleOpen(!1)},x.toggle=function(){var e=o;return x[e("0x3aed")](!t[e("0x4447")])},x[o("0x3aed")]=function(e){var n=o;return r[n("0x2c66")](t[n("0x4447")]=e)};var s=n.mdComponentId,c=s&&s[o("0x3507")](i[o("0xcfc")]())>-1,l=c?i(s)(t[o("0x20cb")]):s;x[o("0xdc5")]=a[o("0x4ce9")](x,l),c&&n[o("0xf52")](o("0xe5f"),(function(e){e&&e!==x[o("0x2c0f")]&&(x.destroy(),x.destroy=a.register(x,e))}))}a.$inject=["$mdComponentRegistry",e("0xfb8"),"$q",e("0x1a4")],r[e("0x4670")]=["$mdMedia",e("0xfb8"),e("0x4572"),"$mdTheming",e("0x2a5a"),"$animate",e("0x4728"),e("0x68c"),"$log","$q",e("0x45e2"),e("0xe11"),e("0x47aa")],i.$inject=[e("0x36af"),e("0x428f"),e("0x22cd"),"$q",e("0x3a1e")],t[e("0x39e9")](e("0x332a"),[e("0x1b0c"),e("0x2ee6")])[e("0x3faf")](e("0x3149"),a)[e("0x1b75")](e("0x3337"),r)[e("0x1b75")](e("0x1cf1"),(function(){return{restrict:"A",require:"^mdSidenav",link:function(e,t,n,a){}}}))[e("0x1194")]("$mdSidenavController",i)}(),function(){var e=a2_0x37cf;a[e("0x4670")]=[e("0x47aa"),e("0xe11"),e("0x219f"),e("0xfb8"),e("0x4572"),e("0x191b"),"$mdGesture",e("0x68c"),"$log",e("0x38d4")],t[e("0x39e9")](e("0x1e3d"),[e("0x1b0c")]).directive(e("0x3541"),a)[e("0x1b75")]("mdSliderContainer",(function(){return{controller:function(){},compile:function(e){var a=a2_0x37cf,r=e[a("0x372f")](a("0x3984"));if(r)return r[a("0x417f")]("md-vertical")!==n&&e.attr(a("0x9e0"),""),!r.attr("flex")&&r[a("0x417f")](a("0x26f1"),""),function(e,n,r,i){var o=a;function x(e){var t=o;n[t("0x71b")]().attr(t("0x1c54"),e),n.find(t("0x3f87"))[t("0x417f")](t("0x1c54"),e)}n[o("0x31dc")](o("0x16ce"));var s,c=t[o("0x49d1")];r.disabled?x(!0):r[o("0x28cb")]&&(c=e[o("0x7a")](r[o("0x28cb")],(function(e){x(e)}))),e[o("0x24c9")]("$destroy",(function(){c()})),i.fitInputWidthToTextLength=function(e){var t=o,a=n[0][t("0x31f7")](t("0x1efc"));if(a){var r=getComputedStyle(a),i=parseInt(r.minWidth),x=parseInt(r[t("0x3cd")])+parseInt(r[t("0x49ca")]);s=s||parseInt(r[t("0x4352")]);var c=Math[t("0x242b")](s,i+x+i/2*e);a[t("0x4025")].maxWidth=c+"px"}}}}}}));function a(n,a,r,i,o,x,s,c,l,d){var u=e;return{scope:{},require:[u("0x3cc1"),"?^mdSliderContainer"],template:u("0x1d08")+u("0x4353")+u("0x3960")+u("0x257c")+'<div class="md-track md-track-fill"></div><div class="md-track-ticks"></div>'+u("0x1fa8")+'<div class="md-thumb-container">'+u("0x3607")+u("0x3295")+'<div class="md-focus-ring"></div>'+u("0x6c5")+u("0xaa")+u("0x1fa8")+u("0x1fab")+"</div>"+u("0x1fa8")+u("0x1fa8"),compile:function(e,n){var a=u,i=t.element(e[0][a("0x4cb4")]("md-slider-wrapper")),o=n[a("0x562")]||0;i.attr(a("0x562"),o),(n[a("0x1c54")]||n.ngDisabled)&&i.attr(a("0x562"),-1);return i[a("0x417f")]("role",a("0x1b4e")),r[a("0x1aa6")](e,a("0x194a")),f}};function f(e,r,f,m){var b=u;x(r);var _=m[0]||{$setViewValue:function(e){var t=a2_0x37cf;this.$viewValue=e,this[t("0x302a")].forEach((function(e){e()}))},$parsers:[],$formatters:[],$viewChangeListeners:[]},p=m[1],h=(t[b("0xb48")](i[b("0x3731")](r,b("0x348c"),!0)),f[b("0x28cb")]?t[b("0x2b0c")](null,c(f[b("0x28cb")]),e[b("0x20cb")]):function(){var e=b;return r[0].hasAttribute(e("0x1c54"))}),g=t[b("0xb48")](r[0][b("0x31f7")](".md-thumb")),v=t.element(r[0][b("0x31f7")](".md-thumb-text")),S=g[b("0x731")](),E=t.element(r[0].querySelector(b("0xb67"))),A=t.element(r[0][b("0x31f7")](b("0x29ee"))),T=t.element(r[0][b("0x31f7")](".md-track-ticks")),y=t.element(r[0][b("0x4cb4")]("md-slider-wrapper")),C=(t.element(r[0][b("0x4cb4")]("md-slider-content")),i[b("0x3fe4")]($,5e3)),w=t[b("0x64a")](f[b("0x1044")]),M=t[b("0x64a")](f[b("0x71f")]),R=t[b("0x64a")](f[b("0x30d7")]);t[b("0x64a")](f[b("0x11db")])?f.$observe(b("0x11db"),B):B(0),t[b("0x64a")](f.max)?f[b("0xf52")](b("0x242b"),Y):Y(100),t[b("0x64a")](f[b("0x2e41")])?f[b("0xf52")]("step",G):G(1),t[b("0x64a")](f[b("0x46d")])?f.$observe("round",H):H(3);t[b("0x49d1")];function D(){$(),q()}f[b("0x28cb")]&&e[b("0x20cb")][b("0x7a")](f[b("0x28cb")],(function(){var e=b;r[e("0x417f")](e("0x2184"),!!h())})),s.register(y,"drag",{horizontal:!w}),e[b("0x4c6b")]=!1,y.on("keydown",(function(e){var t=b;if(h())return;var n,a=o[t("0x4c0f")];switch(e[t("0x4ff2")]){case a[t("0xedf")]:case a.LEFT_ARROW:e[t("0xe50")](),n=-O;break;case a[t("0x3a34")]:case a[t("0x2c29")]:e[t("0xe50")](),n=O;break;case a[t("0x4c08")]:e.preventDefault(),n=10*-O;break;case a[t("0x46aa")]:e[t("0xe50")](),n=10*O;break;case a[t("0x2726")]:e.preventDefault(),e[t("0x4c98")](),V(I);break;case a[t("0xac8")]:e[t("0xe50")](),e[t("0x4c98")](),V(N)}n&&(n=R?-n:n,(e[t("0x366c")]||e[t("0x4786")]||e.altKey)&&(n*=4),e[t("0xe50")](),e[t("0x4c98")](),V(_[t("0x326c")]+n))})).on("mousedown",(function(){var n=b;(function(){var e=b;if(!M||h())return;if(t[e("0x29ab")](O))return;if(O<=0){var n="Slider step value must be greater than zero when in discrete mode";throw l[e("0x4ad3")](n),new Error(n)}var r=Math[e("0x4184")]((N-I)/O);!P&&(P=t[e("0xb48")](e("0x10af"))[e("0x42b1")](e("0x342c"),"absolute"),T.append(P),L=P[0][e("0x24e3")]("2d"));var i,o=j();o&&!o[e("0x4e66")]&&!o[e("0xbbf")]&&($(),o=U),P[0].width=o.width,P[0][e("0x4e66")]=o[e("0x4e66")];for(var x=0;x<=r;x++){var s=a.getComputedStyle(T[0]);L[e("0x20f0")]=s.color||e("0x242d"),i=Math[e("0x4184")]((w?o.height:o[e("0xbbf")])*(x/r)),L[e("0xaf7")](w?0:i-1,w?i-1:0,w?o.width:2,w?2:o[e("0x4e66")])}})(),e[n("0x4c6b")]=!0,y[n("0xa81")](n("0x43ba")),d((function(){e.mouseActive=!1}),100)})).on(b("0x2beb"),(function(){var t=b;!1===e[t("0x4c6b")]&&y[t("0x31dc")](t("0x43ba"))})).on("blur",(function(){var e=b;y.removeClass(e("0x43ba")),r[e("0xa81")](e("0x3598")),function(){var e=b;if(P&&L){var t=j();L.clearRect(0,0,t[e("0xbbf")],t[e("0x4e66")])}}()})).on("$md.pressdown",(function(t){var n=b;if(h())return;r[n("0x31dc")]("md-active"),r[0].focus(),$();var a=z(Q(ee(Z(w?t.srcEvent[n("0x1c24")]:t[n("0x23ab")][n("0x9f5")]))));e[n("0xd66")]((function(){W(a),K(te(a))}))})).on(b("0x4f2c"),(function(t){var n=b;if(h())return;r[n("0xa81")](n("0x1f92"));var a=z(Q(ee(Z(w?t[n("0x23ab")][n("0x1c24")]:t[n("0x23ab")].clientX))));e[n("0xd66")]((function(){W(a),q()}))})).on(b("0x43f"),(function(e){var t=b;if(h())return;X=!0,e[t("0x4c98")](),r[t("0x31dc")](t("0x1f92")),J(e)})).on("$md.drag",(function(e){var t=b;if(!X)return;e[t("0x4c98")](),J(e)})).on(b("0x27e6"),(function(e){var t=b;if(!X)return;e[t("0x4c98")](),X=!1})),setTimeout(D,0);var I,N,O,k,P,L,F=n[b("0x3fe4")](D);function B(e){var t=b;I=parseFloat(e),_[t("0x326c")]=z(_[t("0x2dce")],I,N),y[t("0x417f")](t("0x2cfb"),e),D()}function Y(e){var t=b;N=parseFloat(e),_[t("0x326c")]=z(_[t("0x2dce")],I,N),y[t("0x417f")]("aria-valuemax",e),D()}function G(e){O=parseFloat(e)}function H(e){k=z(parseInt(e),0,6)}t[b("0xb48")](a).on("resize",F),e[b("0x24c9")](b("0x4c91"),(function(){var e=b;t[e("0xb48")](a)[e("0x30f8")](e("0x39d4"),F)})),_[b("0x4dbb")]=q,_.$viewChangeListeners[b("0x459a")](q),_[b("0x3b53")][b("0x459a")](z),_[b("0x3b53")].push(Q);var U={};function $(){U=E[0].getBoundingClientRect()}function j(){return C(),U}function V(t){e[b("0x33ff")]((function(){W(t)}))}function W(e){_[b("0x1605")](z(Q(e)))}function q(){var t=b;isNaN(_[t("0x326c")])&&(_.$viewValue=_[t("0x2dce")]),_[t("0x326c")]=z(_[t("0x326c")]);var n=te(_[t("0x326c")]);e[t("0x1a7b")]=_.$viewValue,y[t("0x417f")](t("0x6d4"),_[t("0x326c")]),K(n),v[t("0x806")](_[t("0x326c")])}function z(e,n,a){var r=b;if(t[r("0x1ba0")](e))return n=t[r("0x1ba0")](n)?n:I,a=t.isNumber(a)?a:N,Math[r("0x242b")](n,Math[r("0x11db")](a,e))}function Q(e){var n=b;if(t[n("0x1ba0")](e)){var a=Math[n("0x46d")]((e-I)/O)*O+I;return a=Math.round(a*Math[n("0x3861")](10,k))/Math[n("0x3861")](10,k),p&&p.fitInputWidthToTextLength&&i[n("0x1f89")]((function(){var e=n;p[e("0x4931")](a[e("0x3c88")]()[e("0x5e9")])}),100)(),a}}function K(e){var t,n=b;t=e;var a=100*(e=Math.max(0,Math.min(t||0,1)))+"%",o=R?100*(1-e)+"%":a;w?S.css(n("0x47d9"),a):i[n("0x199f")](S,n("0x2885"),n("0x30eb"),a),A.css(n(w?"0x4e66":"0xbbf"),o),r.toggleClass(R?"md-max":"md-min",0===e),r[n("0x411b")](R?n("0x3656"):"md-max",1===e)}$();var X=!1;function J(t){var n,a,r,i,o=b;M?(a=w?t[o("0x23ab")].clientY:t.srcEvent[o("0x9f5")],r=b,i=z(Q(ee(Z(a)))),K(Z(a)),v[r("0x806")](i)):(n=w?t[o("0x23ab")].clientY:t[o("0x23ab")][o("0x9f5")],e.$evalAsync((function(){W(ee(Z(n)))})))}function Z(e){var t=b,n=(e-(w?U.top:U[t("0x2885")]))/(w?U.height:U[t("0xbbf")]);return!w&&i[t("0x3475")](f)&&(n=1-n),Math[t("0x242b")](0,Math[t("0x11db")](1,w?1-n:n))}function ee(e){return I+(R?1-e:e)*(N-I)}function te(e){var t=(e-I)/(N-I);return R?1-t:t}}}}(),function(){var e=a2_0x37cf;function a(t,a,r,i){var o=e,x=r[o("0x373c")]();return function(e,s,c){var l=o,d=s[l("0x1194")](l("0x1d3b"));if(d)if(x)s[l("0x42b1")]({position:x,top:0,"z-index":2});else{var u=d[l("0x4998")][l("0x237c")]("$$sticky");!u&&(u=function(e){var i,x=o,s=e[x("0x4998")],c=a[x("0x3fe4")](d);return function(e){var t,n,i=200;function o(){var x=a2_0x37cf;+r[x("0x4706")]()-n>i?(t=!1,e[x("0x59d")](x("0x1f7e"))):(e.triggerHandler(x("0xdcd")),a[x("0x3fe4")](o))}e.on("scroll touchmove",(function(){var i=a2_0x37cf;!t&&(t=!0,a[i("0x3fe4")](o),e[i("0x59d")]("$scrollstart")),e[i("0x59d")](i("0xdcd")),n=+r.now()}))}(s),s.on("$scrollstart",c),s.on(x("0xdcd"),f),i={prev:null,current:null,next:null,items:[],add:l,refreshElements:d};function l(e,t){var n=x;t[n("0x31dc")](n("0x193f"));var a={element:e,clone:t};return i[n("0x158a")].push(a),r[n("0x4ee4")]((function(){s[n("0x2bdd")](a.clone)})),c(),function(){var t=n;i[t("0x158a")][t("0x5ba")]((function(n,a){var r=t;n[r("0xb48")][0]===e[0]&&(i[r("0x158a")][r("0x2bcf")](a,1),n.clone.remove())})),c()}}function d(){var e=x;i[e("0x158a")][e("0x5ba")](u),i.items=i[e("0x158a")][e("0x4d63")]((function(e,t){return e.top<t.top?-1:1}));for(var t,n=s[e("0x40ea")]("scrollTop"),a=i[e("0x158a")].length-1;a>=0;a--)if(n>i[e("0x158a")][a][e("0x228a")]){t=i.items[a];break}m(t)}function u(e){var t=x,a=e[t("0xb48")][0];for(e[t("0x228a")]=0,e[t("0x2885")]=0,e.right=0;a&&a!==s[0];)e[t("0x228a")]+=a[t("0x2ac6")],e.left+=a.offsetLeft,a[t("0x12c")]&&(e[t("0x30eb")]+=a[t("0x12c")][t("0xe76")]-a.offsetWidth-a[t("0x3c94")]),a=a.offsetParent;e.height=e[t("0xb48")][t("0x40ea")]("offsetHeight");var i=r[t("0x1f27")]()?"0":n;r[t("0x2701")](e[t("0x42df")],"margin-left",e.left,i),r[t("0x2701")](e[t("0x42df")],t("0x263b"),i,e[t("0x30eb")])}function f(){var e=x,t=s[e("0x40ea")]("scrollTop"),n=t>(f[e("0x2599")]||0);if(f[e("0x2599")]=t,0!==t){if(n){if(i.next&&i[e("0xa8")][e("0x228a")]<=t)return void m(i[e("0xa8")]);if(i[e("0x4ab2")]&&i[e("0xa8")]&&i[e("0xa8")][e("0x228a")]-t<=i[e("0xa8")].height)return void _(i[e("0x4ab2")],t+(i[e("0xa8")].top-i[e("0xa8")].height-t))}if(!n){if(i[e("0x4ab2")]&&i[e("0xc90")]&&t<i[e("0x4ab2")].top)return void m(i[e("0xc90")]);if(i[e("0xa8")]&&i[e("0x4ab2")]&&t>=i[e("0xa8")][e("0x228a")]-i[e("0x4ab2")][e("0x4e66")])return void _(i[e("0x4ab2")],t+(i[e("0xa8")][e("0x228a")]-t-i[e("0x4ab2")].height))}i[e("0x4ab2")]&&_(i[e("0x4ab2")],t)}else m(null)}function m(e){var t=x;if(i[t("0x4ab2")]!==e){i[t("0x4ab2")]&&(_(i[t("0x4ab2")],null),b(i[t("0x4ab2")],null)),e&&b(e,"active"),i[t("0x4ab2")]=e;var n=i[t("0x158a")][t("0x3507")](e);i[t("0xa8")]=i[t("0x158a")][n+1],i[t("0xc90")]=i.items[n-1],b(i[t("0xa8")],t("0xa8")),b(i[t("0xc90")],t("0xc90"))}}function b(e,t){var n=x;e&&e.state!==t&&(e[n("0x81c")]&&(e[n("0x42df")][n("0x417f")]("sticky-prev-state",e[n("0x81c")]),e.element[n("0x417f")](n("0x3a1f"),e[n("0x81c")])),e[n("0x42df")][n("0x417f")]("sticky-state",t),e[n("0xb48")][n("0x417f")](n("0x3a04"),t),e[n("0x81c")]=t)}function _(e,a){var i=x;e&&(null===a||a===n?e[i("0x13a3")]&&(e[i("0x13a3")]=null,e[i("0x42df")][i("0x42b1")](t[i("0x387f")].TRANSFORM,"")):(e[i("0x13a3")]=a,r[i("0x2701")](e[i("0x42df")],t[i("0x387f")].TRANSFORM,"translate3d("+e.left+i("0x4540")+a+"px,0)",i("0x2e74")+a+i("0x1073"))))}}(d),d[l("0x4998")][l("0x237c")]("$$sticky",u));var f=c||i(s.clone())(e),m=u[l("0x2d6e")](s,f);e[l("0x24c9")](l("0x4c91"),m)}}}a.$inject=[e("0x4572"),e("0x47aa"),"$mdUtil",e("0x4728")],t.module("material.components.sticky",[e("0x1b0c"),"material.components.content"])[e("0x3faf")](e("0x227a"),a)}(),function(){var e=a2_0x37cf;function n(n,a,r,i,o){var x=e;return{restrict:"E",replace:!0,transclude:!0,template:x("0x1d9b")+x("0x2d82")+x("0x2fc1")+x("0x3419")+x("0x1fa8"),link:function(e,s,c,l,d){var u=x;r(s),s[u("0x31dc")]("_md"),i[u("0x13ba")]()[u("0x25b3")](s,u("0x347f"));var f=s[0].outerHTML;function m(e){var n=u;return t[n("0xb48")](e[0][n("0x31f7")](n("0x3f")))}c.$set(u("0x3517"),"heading"),o[u("0x1aa6")](s,"aria-level","2"),d(e,(function(e){m(s).append(e)})),!s[u("0x3a35")](u("0x1ca4"))&&d(e,(function(t){var r=u,o=a(r("0x4708")+f+r("0x1fa8"))(e);i[r("0x4ee4")]((function(){m(o).append(t)})),n(e,s,o)}))}}}n.$inject=[e("0x227a"),e("0x4728"),e("0x191b"),e("0xfb8"),e("0x219f")],t[e("0x39e9")](e("0x47a8"),[e("0x1b0c"),e("0x3be4")])[e("0x1b75")](e("0x28f8"),n)}(),function(){var e=a2_0x37cf;function n(t){var n=e;i[n("0x4670")]=[n("0x68c")];var a="md"+t,r=n("0xaf8")+t[n("0x2eb9")]();return i;function i(e){return{restrict:"A",link:function(t,n,i){var o=e(i[a]);n.on(r,(function(e){var n=a2_0x37cf,a=e[n("0x2e3f")];t[n("0x45a4")]((function(){o(t,{$event:e,$target:{current:a}})}))}))}}}}t[e("0x39e9")]("material.components.swipe",[e("0x1b0c")])[e("0x1b75")]("mdSwipeLeft",n("SwipeLeft"))[e("0x1b75")](e("0x1d6d"),n(e("0x2995")))[e("0x1b75")](e("0x3d64"),n(e("0x2671")))[e("0x1b75")](e("0x2562"),n(e("0x3417")))}(),function(){var e=a2_0x37cf;function n(n,a,r,i,o,x,s){var c=e,l=n[0];return{restrict:"E",priority:r[c("0x3a19")],transclude:!0,template:c("0x364d")+c("0x2544")+c("0x433e")+c("0x43e4")+c("0x1fa8")+c("0x1fa8")+c("0x1d35"),require:["^?mdInputContainer",c("0x3cc1"),c("0x1ec8")],compile:function(e,n){var d=c,u=l[d("0x1d80")](e,n)[d("0x1e3a")];return e[d("0x31dc")](d("0x1f92")),function(e,n,c,l){var f=d,m=(l[0],l[1]||a.fakeNgModel()),b=(l[2],null);null!=c[f("0x1c54")]?b=function(){return!0}:c[f("0x28cb")]&&(b=i(c[f("0x28cb")]));var _,p=t.element(n[0][f("0x31f7")](f("0x4a26"))),h=t.element(n[0][f("0x31f7")](f("0x39fd"))),g=t[f("0xb48")](n[0][f("0x31f7")](f("0x4b06")));o((function(){var e=f;n[e("0xa81")](e("0x1f92"))})),u(e,n,c,l),b&&e[f("0x7a")](b,(function(e){var t=f;n[t("0x417f")](t("0x562"),e?-1:0)})),c[f("0xf52")](f("0x30d7"),(function(e){var t=f,r=a[t("0x41a5")](e);r?n[t("0x2bdd")](g):n[t("0x2bdd")](h),n[t("0x411b")]("md-inverted",r)})),x[f("0x4ce9")](h,f("0x391a")),h.on(f("0x43f"),(function(t){var a=f;if(b&&b(e))return;t.stopPropagation(),n[a("0x31dc")](a("0x1f92")),_={width:p.prop("offsetWidth")}})).on("$md.drag",(function(e){var t=f;if(!_)return;e[t("0x4c98")](),e[t("0x23ab")]&&e.srcEvent[t("0xe50")]();var n=e[t("0x452d")][t("0x4794")]/_[t("0xbbf")],a=m[t("0x326c")]?1+n:n;a=Math[t("0x242b")](0,Math[t("0x11db")](1,a)),p[t("0x42b1")](r[t("0x387f")][t("0x44aa")],t("0x22e")+100*a+t("0x1a51")),_.translate=a})).on(f("0x27e6"),(function(t){var a=f;if(!_)return;t.stopPropagation(),n[a("0xa81")](a("0x1f92")),p[a("0x42b1")](r[a("0x387f")][a("0x44aa")],""),(m[a("0x326c")]?_[a("0x2112")]<.5:_[a("0x2112")]>.5)&&(i=!m[a("0x326c")],o=f,e[o("0xd66")]((function(){var e=o;m[e("0x1605")](i),m[e("0x4dbb")]()}))),_=null,e[a("0x36f7")]=!0,s((function(){e[a("0x36f7")]=!1}),1);var i,o}))}}}}n[e("0x4670")]=["mdCheckboxDirective","$mdUtil","$mdConstant",e("0x68c"),e("0x47aa"),e("0x36b2"),e("0x38d4")],t.module(e("0x2fdb"),[e("0x1b0c"),"material.components.checkbox"])[e("0x1b75")]("mdSwitch",n)}(),t[(s=a2_0x37cf)("0x39e9")](s("0x7d4"),[s("0x1b0c"),"material.components.icon"]),x=a2_0x37cf,t.module(x("0x7d4"))[x("0xc3b")](x("0x4b16"),(function(){return{decreasePageOffset:function(t,n){var a,r,i=a2_0x37cf,o=t[i("0x4859")],x=e(t);for(a=0;a<x[i("0x5e9")];a++)if(x[a]>=n){r=x[a];break}return Math[i("0x242b")](0,r-o[i("0x538")])},increasePageOffset:function(n,a){var r,i,o=a2_0x37cf,x=n[o("0x4859")],s=t(n)-x.clientWidth,c=e(n);for(r=0;c.length,c[r]<=a+x.clientWidth;r++)i=c[r];return Math[o("0x11db")](s,i)},getTabOffsets:e,getTotalTabsWidth:t};function e(e){var t,n,a=a2_0x37cf,r=0,i=[];for(t=0;t<e[a("0x2597")][a("0x5e9")];t++)n=e[a("0x2597")][t],i.push(r),r+=n.offsetWidth;return i}function t(e){var t,n=a2_0x37cf,a=0;for(t=0;t<e[n("0x2597")][n("0x5e9")];t++)a+=e.tabs[t][n("0xe76")];return a}})),t[(o=a2_0x37cf)("0x39e9")](o("0x7d4"))[o("0x1b75")](o("0x400d"),(function(){var e=o;return{require:"^?mdTabs",terminal:!0,compile:function(e,r){var i=a2_0x37cf,o=a(e,"md-tab-label"),x=a(e,"md-tab-body");if(0===o[i("0x5e9")]&&(o=t[i("0xb48")](i("0xe58")),r.label?o[i("0x806")](r.label):o[i("0x136a")](e[i("0x1163")]()),0===x[i("0x5e9")])){var s=e[i("0x1163")]()[i("0x166")]();(x=t.element(i("0x33b9")))[i("0x136a")](s)}return e[i("0x136a")](o),x[i("0x1059")]()&&e.append(x),n},scope:{active:e("0xcd3"),disabled:e("0x3625"),select:e("0x33a"),deselect:"&?mdOnDeselect",tabClass:"@mdTabClass"}};function n(n,r,i,o){var x=e;if(o){var s=o[x("0x3fa8")](r),c=a(r,x("0x76d")).remove(),l=a(r,x("0x313a"))[x("0xf82")](),d=o[x("0x44e0")]({scope:n,parent:n[x("0x20cb")],index:s,element:r,template:c[x("0x1059")](),label:l.html()},s);n[x("0x2d7b")]=n[x("0x2d7b")]||t.noop,n[x("0x1428")]=n.deselect||t[x("0x49d1")],n[x("0x7a")](x("0x48c8"),(function(e){var t=x;e&&o.select(d[t("0x1101")](),!0)})),n.$watch(x("0x1c54"),(function(){o[x("0x48af")]()})),n[x("0x7a")]((function(){return o[x("0x3fa8")](r)}),(function(e){var t=x;d[t("0x2d50")]=e,o[t("0x48a2")]()})),n.$on(x("0x4c91"),(function(){o[x("0x422d")](d)}))}}function a(n,a){for(var r=e,i=n[0][r("0x71b")],o=0,x=i[r("0x5e9")];o<x;o++){var s=i[o];if(s[r("0x4d74")]===a[r("0x110")]())return t.element(s)}return t[r("0xb48")]()}})),i=a2_0x37cf,t.module(i("0x7d4"))[i("0x1b75")](i("0x2397"),(function(){return{require:"^?mdTabs",link:function(e,t,n,a){a&&a[a2_0x37cf("0x221f")](e,t)}}})),t[(r=a2_0x37cf)("0x39e9")](r("0x7d4")).directive(r("0x48e"),(function(){return{terminal:!0}})),function(){var e=a2_0x37cf;function n(e){return{restrict:"A",compile:function(t,n){var a=e(n.mdTabScroll,null,!0);return function(e,t){var n=a2_0x37cf;t.on(n("0x1027"),(function(t){e.$apply((function(){a(e,{$event:t})}))}))}}}}n[e("0x4670")]=["$parse"],t[e("0x39e9")](e("0x7d4"))[e("0x1b75")]("mdTabScroll",n)}(),function(){var e=a2_0x37cf;function a(a,r,i,o,x,s,c,l,d,u,f,m,b){var _=e,p=this,h=!1,g=[],v=!1,S=!1;function E(e,t){var a=_,r=l[a("0x3256")](a("0xe78")+e);function i(t){var n=a;p[e]=t!==n("0x22b7")}t&&G(e,t,n),l[a("0x1bd4")](r)&&i(l[r]),l[a("0xf52")](r,i)}function A(){var e=_;v=!0,t.element(i)[e("0x30f8")](e("0x39d4"),k)}function T(){var e=_,n=F();t.element(n.wrapper)[e("0x411b")](e("0x3395"),function(){var e=_;switch(p.stretchTabs){case e("0x29e2"):return!0;case e("0x2ed3"):return!1;default:return!p[e("0x261e")]&&i[e("0x31ab")](e("0x23bd")).matches}}()),Q()}function y(){p[_("0x21a1")]=B()}function C(e,n){var a=_;if(e!==n){var r=F();t[a("0x5ba")](r[a("0x2597")],(function(t){var n=a;t[n("0x4025")][n("0x4352")]=e+"px"})),t[a("0x5ba")](r.dummies,(function(t){t.style.maxWidth=e+"px"})),s[a("0x4ee4")](p[a("0x17a8")])}}function w(e,t){var n=_;e!==t&&(p[n("0x3a87")]=$(),p[n("0x21a1")]=B(),s[n("0x4ee4")]((function(){var e=n;p[e("0x3a87")]=$(),W(p[e("0x158d")])})))}function M(e){var t=_;r[e?"removeClass":t("0x31dc")](t("0x2cab"))}function R(e){var n=_,r=(p[n("0x21a1")]||X()?"":"-")+e+"px";r=r.replace("--",""),t.element(F()[n("0x2d25")])[n("0x42b1")](o.CSS[n("0x44aa")],n("0x37dc")+r+", 0)"),a[n("0x2050")](n("0x2f3b"))}function D(e,t){var n=_;e!==t&&F()[n("0x2597")][e]&&(W(),V())}function I(e,t){var n=_;e!==t&&(p[n("0x158d")]=Y(e),p[n("0x1c14")]=t,p.updateInkBarStyles(),z(),W(e),a[n("0x2050")](n("0x350c")),p[n("0x2597")][t]&&p[n("0x2597")][t][n("0xd20")][n("0x1428")](),p[n("0x2597")][e]&&p[n("0x2597")][e][n("0xd20")][n("0x2d7b")]())}function N(){var e=_;N.watcher||(N.watcher=a[e("0x7a")]((function(){var t=e;s[t("0x4ee4")]((function(){var e=t;N[e("0x2d92")]&&r.prop(e("0x12c"))&&(N[e("0x2d92")](),N.watcher=null,k())}),!1)})))}function O(e,t){var n=_;h||(p[n("0x167f")]=p[n("0x158d")]=e),t&&p.noSelectClick||s[n("0x4ee4")]((function(){var t=n;p.tabs[e][t("0xb48")][t("0x59d")](t("0x7cb"))}),!1)}function k(){var e=_;p[e("0x1c14")]=p[e("0x158d")],p[e("0x3c94")]=K(p.offsetLeft),s.nextTick((function(){p.updateInkBarStyles(),H()}))}function P(e){var n=_;t.element(F()[n("0x4159")]).toggleClass(n("0x2b2b"),e)}function L(e){var t=_;r[t("0x411b")](t("0x1c18"),e)}function F(){var e=_,t={},n=r[0];return t[e("0x1fbe")]=n.querySelector(e("0x6c4")),t[e("0x4859")]=t[e("0x1fbe")][e("0x31f7")](e("0x37b7")),t.paging=t.canvas[e("0x31f7")](e("0x27a2")),t[e("0x4159")]=t[e("0x2d25")][e("0x31f7")](e("0x4be")),t[e("0x3bc0")]=n[e("0x31f7")](e("0x4459")),t.prevButton=n[e("0x31f7")]("md-prev-button"),t[e("0x1163")]=n[e("0x1e72")]("md-tabs-content-wrapper > md-tab-content"),t[e("0x2597")]=t[e("0x2d25")][e("0x1e72")](e("0x3a1d")),t[e("0x240f")]=t[e("0x4859")].querySelectorAll(e("0x13")),t}function B(){return p[_("0xa29")]&&!p.shouldPaginate}function Y(e){var t=_;if(-1===e)return-1;var n,a,r=Math[t("0x242b")](p[t("0x2597")].length-e,e);for(n=0;n<=r;n++){if((a=p[t("0x2597")][e+n])&&!0!==a[t("0xd20")][t("0x1c54")])return a[t("0x1101")]();if((a=p.tabs[e-n])&&!0!==a[t("0xd20")][t("0x1c54")])return a[t("0x1101")]()}return e}function G(e,t,n){Object[_("0x47ad")](p,e,{get:function(){return n},set:function(e){var a=n;n=e,t&&t(e,a)}})}function H(){var e=_;p[e("0x3a87")]=$(),p[e("0x261e")]=function(){var e,a=_;if(p[a("0x417e")]||!S)return!1;var i=r[a("0x40ea")](a("0x538"));return t[a("0x5ba")](F()[a("0x2597")],(function(e){i-=e[a("0xe76")]})),e=i<0,s.msie&&(e?F()[a("0x2d25")].style[a("0xbbf")]=a("0x16b8"):F()[a("0x2d25")][a("0x4025")][a("0xbbf")]=n),e}()}function U(e){var n=_,a=0;return t[n("0x5ba")](e,(function(e){var t=n;a+=Math[t("0x242b")](e[t("0xe76")],e[t("0x1a8b")]()[t("0xbbf")])})),Math[n("0x3c59")](a)}function $(){var e=_,t=F().canvas[e("0x538")];return Math.max(0,Math.min(t-1,264))}function j(e,t){var n,a=_,r=a(t?"0x167f":"0x158d"),i=p[r];for(n=i+e;p.tabs[n]&&p[a("0x2597")][n][a("0xd20")].disabled;n+=e);n=(i+e+p.tabs[a("0x5e9")])%p[a("0x2597")][a("0x5e9")],p[a("0x2597")][n]&&(p[r]=n)}function V(){var e=_;p[e("0x103c")]=f.getLastInteractionType()===e("0x4804");var t=F()[e("0x2597")][p[e("0x167f")]];t&&t[e("0x2beb")]()}function W(e){var n=_,a=F();if(t[n("0x1ba0")](e)||(e=p.focusIndex),a[n("0x2597")][e]&&!p[n("0x21a1")]){var r=a[n("0x2597")][e],i=r[n("0x3c94")],o=r[n("0xe76")]+i;if(0!==e)if(X()){var x=U(Array[n("0x20f")][n("0x9b3")][n("0x3c6b")](a[n("0x2597")],0,e)),s=U(Array.prototype.slice[n("0x3c6b")](a[n("0x2597")],0,e+1));p.offsetLeft=Math.min(p[n("0x3c94")],K(x)),p[n("0x3c94")]=Math.max(p[n("0x3c94")],K(s-a[n("0x4859")][n("0x538")]))}else p[n("0x3c94")]=Math.max(p[n("0x3c94")],K(o-a.canvas[n("0x538")]+32)),p[n("0x3c94")]=Math[n("0x11db")](p[n("0x3c94")],K(i));else p[n("0x3c94")]=0}}function q(){var e=_;p[e("0x158d")]=Y(p.selectedIndex),p[e("0x167f")]=Y(p[e("0x167f")])}function z(){var e=_;if(!p[e("0x2723")])return r[e("0x42b1")](e("0x4e66"),"");if(!p[e("0x2597")][e("0x5e9")])return g[e("0x459a")](z);var t=F(),a=t[e("0x1163")][p.selectedIndex],i=a?a[e("0x2b02")]:0,o=t.wrapper[e("0x2b02")],x=i+o,l=r[e("0x40ea")]("clientHeight");if(l!==x){"bottom"===r[e("0x417f")](e("0x243e"))&&(l-=o,x-=o,r[e("0x417f")](e("0x1dfb"))!==n&&++l),h=!0;var d={height:l+"px"},u={height:x+"px"};r[e("0x42b1")](d),c(r,{from:d,to:u,easing:e("0x2f28"),duration:.5})[e("0x1023")]().done((function(){var t=e;r[t("0x42b1")]({transition:t("0x2847"),height:""}),s.nextTick((function(){r[t("0x42b1")]("transition","")})),h=!1}))}}function Q(e,n){var a=_;if(!p[a("0x1d76")]){var i=F();if(i[a("0x2597")][p[a("0x158d")]])if(p.tabs[a("0x5e9")])if(r[a("0x40ea")](a("0x12c"))){var o=p[a("0x158d")],x=i[a("0x2d25")][a("0xe76")],s=i.tabs[o],c=s[a("0x3c94")],l=x-c-s.offsetWidth;if(p.shouldCenterTabs){var d=U(i.tabs);x>d&&e!==x&&n!==d&&m(Q,0,!0,x,d)}(function(){var e=_,n=F(),a=p[e("0x158d")],r=p[e("0x1c14")],i=t[e("0xb48")](n[e("0x4159")]);if(!t[e("0x1ba0")](r))return;i[e("0x411b")](e("0x2f4d"),a<r).toggleClass("md-right",a>r)})(),t[a("0xb48")](i.inkBar).css({left:c+"px",right:l+"px"})}else N();else g[a("0x459a")](p[a("0x17a8")]);else t.element(i[a("0x4159")])[a("0x42b1")]({left:a("0x15ac"),right:a("0x15ac")})}}function K(e){var t=_,n=F();if(!n[t("0x2597")][t("0x5e9")]||!p[t("0x261e")])return 0;var a=n[t("0x2597")][n[t("0x2597")].length-1],r=a.offsetLeft+a[t("0xe76")];return X()?(e=Math[t("0x11db")](n[t("0x2d25")].offsetWidth-n[t("0x4859")].clientWidth,e),e=Math.max(0,e)):(e=Math[t("0x242b")](0,e),e=Math[t("0x11db")](r-n[t("0x4859")].clientWidth,e)),e}function X(){return s[_("0x3475")](l)}p[_("0x4393")]=function(){var e=_;(function(e,t){var n=_,a=l[n("0x3256")](n("0xe78")+e);t&&G(e,t);l[n("0xf52")](a,(function(t){p[e]=t}))})(e("0x2731"),T),G(e("0x167f"),D,p[e("0x158d")]||0),G(e("0x3c94"),R,0),G(e("0x3eb8"),M,!1),G(e("0x3a87"),C,$()),G("shouldPaginate",w,!1),E("noInkBar",P),E(e("0x2723"),L),E(e("0x417e")),E("swipeContent"),E(e("0x2f65")),E(e("0x46a7")),E("noSelectClick"),E(e("0xa29"),y),E("enableDisconnect"),p.scope=a,p[e("0x731")]=a[e("0x20cb")],p[e("0x2597")]=[],p.lastSelectedIndex=null,p[e("0x1f69")]=!1,p.styleTabItemFocus=!1,p[e("0x21a1")]=B(),p[e("0x3cba")]=e("0x3d2d"),p[e("0xa13")]="Use the left and right arrow keys to navigate between tabs",n=_,p[n("0x158d")]=p[n("0x158d")]||0,c=_,f=l.$mdTabsTemplate,m=t[c("0xb48")](r[0][c("0x31f7")](c("0x2e6c"))),m[c("0x1059")](f),d(m[c("0x1163")]())(p.parent),delete l.$mdTabsTemplate,x=_,a[x("0x7a")](x("0x3c45"),I),o=_,t[o("0xb48")](i).on(o("0x39d4"),k),a[o("0x24c9")](o("0x4c91"),A),u(r),s[n("0x4ee4")]((function(){var e=n;z(),W(),Q(),p[e("0x2597")][p[e("0x158d")]]&&p.tabs[p.selectedIndex][e("0xd20")][e("0x2d7b")](),S=!0,H()}));var n,o,x,c,f,m},p.updatePagination=s[_("0x1f89")](H,100),p[_("0x2a6e")]=V,p[_("0x221f")]=function(e,n){var a=_,r=F(),i={colorElement:t[a("0xb48")](r[a("0x4159")])};x[a("0x226")](e,n,i)},p[_("0x44e0")]=function(e,n){var a=_,i=S,o={getIndex:function(){return p.tabs.indexOf(x)},isActive:function(){return this[a2_0x37cf("0x1101")]()===p.selectedIndex},isLeft:function(){var e=a2_0x37cf;return this[e("0x1101")]()<p[e("0x158d")]},isRight:function(){var e=a2_0x37cf;return this[e("0x1101")]()>p[e("0x158d")]},shouldRender:function(){return!p[a2_0x37cf("0x2f65")]||this.isActive()},hasFocus:function(){var e=a2_0x37cf;return p[e("0x103c")]&&p[e("0x1f69")]&&this.getIndex()===p[e("0x167f")]},id:s[a("0x2feb")](),hasContent:!(!e[a("0x371b")]||!e[a("0x371b")][a("0x2dc4")]())},x=t.extend(o,e);return t[a("0x64a")](n)?p[a("0x2597")][a("0x2bcf")](n,0,x):p[a("0x2597")][a("0x459a")](x),g[_("0x5ba")]((function(e){s.nextTick(e)})),g=[],function(){var e,t=_,n=!1;for(e=0;e<p[t("0x2597")][t("0x5e9")];e++)if(p[t("0x2597")][e].hasContent){n=!0;break}p[t("0x3eb8")]=n}(),s[a("0x4ee4")]((function(){var e=a;H(),function(e){var n=_;if(e[n("0x3eb8")]){var a=r[0][n("0x1e72")](n("0x973")+e.id+'"]');t[n("0xb48")](a).attr("aria-controls",p[n("0x3cba")]+e.id)}}(x),i&&p[e("0x46a7")]&&s[e("0x4ee4")]((function(){var t=e;s[t("0x4ee4")]((function(){var e=t;O(p[e("0x2597")][e("0x3507")](x))}))}))})),x},p.removeTab=function(e){var t=_;if(v)return;var n=p[t("0x158d")],a=p[t("0x2597")][t("0x2bcf")](e[t("0x1101")](),1)[0];q(),p[t("0x158d")]===n&&(a.scope[t("0x1428")](),p[t("0x2597")][p[t("0x158d")]]&&p[t("0x2597")][p[t("0x158d")]].scope.select()),s[t("0x4ee4")]((function(){var e=t;H(),p.offsetLeft=K(p[e("0x3c94")])}))},p[_("0x2d7b")]=O,p[_("0x3def")]=function(e){var t=_;if(!p[t("0x261e")])return;e[t("0xe50")](),e[t("0x487")]?p[t("0x3c94")]=K(p[t("0x3c94")]+e[t("0x487")]):e.deltaX&&(p[t("0x3c94")]=K(p.offsetLeft+e[t("0x3533")]))},p[_("0x48a4")]=function(){var e=_;if(!p[e("0x14dc")]())return;var t=b.increasePageOffset(F(),p[e("0x3c94")]);p[e("0x3c94")]=K(t)},p.previousPage=function(){var e=_;if(!p[e("0x38ee")]())return;var t=b[e("0x16eb")](F(),p[e("0x3c94")]);p[e("0x3c94")]=K(t)},p[_("0x468d")]=function(e){var t=_;switch(e.keyCode){case o[t("0x4c0f")].LEFT_ARROW:e[t("0xe50")](),j(-1,!0);break;case o[t("0x4c0f")].RIGHT_ARROW:e[t("0xe50")](),j(1,!0);break;case o.KEY_CODE[t("0x128a")]:case o[t("0x4c0f")][t("0x25ba")]:e.preventDefault(),h||O(p[t("0x167f")]);break;case o[t("0x4c0f")][t("0x27a4")]:p.focusIndex!==p[t("0x158d")]&&(p[t("0x167f")]=p.selectedIndex)}},p[_("0x14dc")]=function(){var e=_,t=F(),n=t[e("0x2597")][t[e("0x2597")][e("0x5e9")]-1];return X()?p[e("0x3c94")]<t[e("0x2d25")][e("0xe76")]-t[e("0x4859")].offsetWidth:n&&n[e("0x3c94")]+n.offsetWidth>t[e("0x4859")][e("0x538")]+p[e("0x3c94")]},p[_("0x38ee")]=function(){return p.offsetLeft>0},p[_("0x48af")]=q,p.incrementIndex=j,p[_("0x3fa8")]=function(e){var t=_,n=r[0][t("0x3684")]("md-tab");return Array[t("0x20f")][t("0x3507")][t("0x3c6b")](n,e[0])},p[_("0x17a8")]=s[_("0x1f89")](Q,100),p.updateTabOrder=s[_("0x1f89")]((function(){var e=_,t=p[e("0x2597")][p[e("0x158d")]],n=p.tabs[p[e("0x167f")]];p.tabs=p[e("0x2597")].sort((function(t,n){var a=e;return t[a("0x2d50")]-n[a("0x2d50")]})),p[e("0x158d")]=p[e("0x2597")][e("0x3507")](t),p.focusIndex=p[e("0x2597")][e("0x3507")](n)}),100),p[_("0x17ff")]=function(){var e=p[_("0x2597")][p.focusIndex];return e&&e.id?"tab-item-"+e.id:null},1===t[_("0x10ea")][_("0x2c74")]&&t.version[_("0x8b1")]<=4&&this.$onInit()}a.$inject=["$scope","$element",e("0xe11"),e("0x4572"),e("0x6c"),e("0xfb8"),e("0x7c3"),e("0x428f"),e("0x4728"),e("0x191b"),"$mdInteraction",e("0x38d4"),"MdTabsPaginationService"],t[e("0x39e9")](e("0x7d4"))[e("0x1194")](e("0x1ba"),a)}(),function(){var e=a2_0x37cf;function n(t){var n=e;return{scope:{navigationHint:n("0x3b50"),selectedIndex:n("0x3041")},template:function(e,a){var r=n;return a[r("0x3595")]=e[r("0x1059")](),"<md-tabs-wrapper> "+r("0x3802")+r("0x3856")+r("0xec1")+r("0x38")+r("0x33a7")+r("0x1609")+r("0x4ca0")+r("0x1bdb")+'ng-click="$mdTabsCtrl.previousPage()"> '+r("0x501a")+t.mdTabsArrow+r("0x4ce8")+r("0x4fe7")+"<md-next-button "+r("0xec1")+r("0x38")+r("0x2e61")+r("0x2b53")+r("0x2b7c")+r("0x1bdb")+r("0xa45")+'<md-icon md-svg-src="'+t[r("0x140b")]+r("0x4ce8")+"</md-next-button> "+r("0x152b")+'tabindex="{{ $mdTabsCtrl.hasFocus ? -1 : 0 }}" '+r("0x1457")+'ng-class="{ '+r("0x3e8f")+r("0x361d")+r("0x390f")+'ng-keydown="$mdTabsCtrl.keydown($event)"> <md-pagination-wrapper '+r("0x146f")+'md-tab-scroll="$mdTabsCtrl.scroll($event)" '+r("0x32a8")+'aria-label="{{::$mdTabsCtrl.navigationHint}}">'+r("0x8e3")+'tabindex="{{ tab.isActive() ? 0 : -1 }}" class="md-tab {{::tab.scope.tabClass}}" '+r("0x45af")+r("0x3e5e")+r("0x4bea")+r("0x11d7")+r("0xa54")+'aria-disabled="{{tab.scope.disabled || \'false\'}}" ng-click="$mdTabsCtrl.select(tab.getIndex())" '+r("0x179c")+r("0x3f99")+r("0x1882")+r("0x1c7c")+"'md-focused':   tab.hasFocus(), "+r("0x4d2")+'}" '+r("0xafb")+r("0x4e8")+r("0x16dd")+'md-tabs-template="::tab.label" '+r("0x3667")+"<md-ink-bar></md-ink-bar> "+r("0x1976")+r("0x2980")+r("0x27e2")+r("0x47f")+'tabindex="-1" ng-focus="$mdTabsCtrl.hasFocus = true" ng-blur="$mdTabsCtrl.hasFocus = false" '+r("0x45af")+r("0x3437")+r("0x224")+r("0x2b8a")+r("0x207f")+r("0x410b")+r("0x407e")+r("0x952")+r("0x301c")+r("0x1d9c")+r("0x1b97")+r("0x20df")+r("0x3dde")+r("0x13a0")+r("0x2ec5")+r("0x1f45")+r("0x1882")+r("0x1276")+r("0x296c")+r("0x119")+r("0x486d")+"'md-no-scroll':     $mdTabsCtrl.dynamicHeight }\"> "+r("0x1913")+r("0x26ae")+r("0xe7a")+r("0x30b0")+r("0x48c2")+"</md-tab-content> </md-tabs-content-wrapper>"},controller:"MdTabsController",controllerAs:n("0x21aa"),bindToController:!0}}n[e("0x4670")]=[e("0x26ba")],t[e("0x39e9")](e("0x7d4"))[e("0x1b75")]("mdTabs",n)}(),function(){var e=a2_0x37cf;function n(t,n){var a=e;return{require:a("0x8f9"),link:function(e,r,i,o){var x=a;if(o){var s,c,l=function(){var e=a2_0x37cf;o[e("0x38d1")](),o[e("0x17a8")]()};if(x("0x4d85")in n){(s=new MutationObserver(l))[x("0x1d7a")](r[0],{childList:!0,subtree:!0,characterData:!0}),c=s[x("0x2a37")][x("0x2b0c")](s)}else{var d=t[x("0x1f89")](l,15,null,!1);r.on(x("0x44cc"),d),c=r[x("0x30f8")][x("0x2b0c")](r,x("0x44cc"),d)}e[x("0x24c9")](x("0x4c91"),(function(){c()}))}}}}n.$inject=[e("0xfb8"),"$window"],t[e("0x39e9")](e("0x7d4"))[e("0x1b75")](e("0xdc6"),n)}(),function(){var e=a2_0x37cf;function n(t,n){var a=e;return{restrict:"A",link:function(e,r,i,o){var x=a;if(!o)return;var s=o.enableDisconnect?e[x("0x4aa7")][x("0x28da")]():e.compileScope;return r[x("0x1059")](e[x("0x371b")]),t(r[x("0x1163")]())(s),n.nextTick((function(){var t=x;e[t("0x7a")](t("0x2468"),(function(e){!1===e?c():l()})),e[t("0x24c9")](t("0x4c91"),l)}));function c(){var e=x;o[e("0x3815")]&&n[e("0x32a3")](s)}function l(){o.enableDisconnect&&n.reconnectScope(s)}},scope:{template:a("0x2ce"),connected:a("0x300f"),compileScope:a("0x2146")},require:a("0x8f9")}}n[e("0x4670")]=["$compile",e("0xfb8")],t[e("0x39e9")](e("0x7d4"))[e("0x1b75")]("mdTabsTemplate",n)}(),function(){var e=a2_0x37cf;function a(e){return{restrict:"E",link:function(t,n){var a=a2_0x37cf;n[a("0x31dc")](a("0x16ce")),t[a("0x24c9")](a("0x4c91"),(function(){e[a("0xdc5")]()}))}}}function r(a){var r=e;s[r("0x4670")]=[r("0xf1d"),"$scope",r("0x1a4")],c.$inject=[r("0xc00"),r("0xf1d"),r("0xfb8"),r("0x790"),r("0x45e2"),"$q"];var i,o="ok";function x(e){i=e}return a(r("0xf1d")).setDefaults({methods:["position",r("0x4988"),r("0x2536"),r("0x731"),"position",r("0x31b1")],options:c})[r("0x28d8")](r("0x3bdd"),{argOption:"textContent",methods:[r("0x12ee"),"content",r("0x39a8"),r("0xd43"),r("0x1506"),"highlightAction",r("0x7a7"),"theme",r("0x731"),"dismissHint"],options:[r("0xf1d"),r("0x191b"),function(e,t){var n=r;return{template:n("0xe4c")+'  <div class="md-toast-content" aria-live="polite" aria-relevant="all">'+n("0x1c5f")+n("0xc15")+n("0x1ce8")+'    <span class="md-visually-hidden">{{ toast.dismissHint }}</span>    <span class="md-visually-hidden" ng-if="toast.action && toast.actionKey">'+n("0x257b")+n("0x1ce8")+n("0x3554")+n("0x3c27")+n("0x2929")+n("0x164a")+n("0x3419")+n("0x1e26"),controller:s,theme:t.defaultTheme(),controllerAs:n("0x3ef8"),bindToController:!0}}]})[r("0x483b")](r("0x3f59"),x).addMethod(r("0x4cc7"),x);function s(e,t,n){this.$onInit=function(){var a=a2_0x37cf,r=this;r[a("0x4c64")]&&(t[a("0x3c18")]=[a("0x200b"),r.highlightClass]),r.action&&!r[a("0xd43")]&&n[a("0x1dc6")](a("0x35df"),a("0x2828")),r[a("0xd43")]&&!r[a("0x1506")]&&(r[a("0x1506")]=a("0x4153")+r.actionKey+a("0x1456")),!r[a("0x28fe")]&&(r[a("0x28fe")]=a("0x1387")),t[a("0x7a")]((function(){return i}),(function(){r[a("0xa9f")]=i})),this[a("0x407b")]=function(){e[a("0x29cb")]("ok")}}}function c(e,a,x,s,c,l){var d=r,u=d("0x39bd");return{onShow:function(t,r,l){var f=d;i=l[f("0x12ee")]||l[f("0xa9f")];var m=!s(f("0x2322"));return r=x.extractElementByName(r,f("0x31a2"),!0),l[f("0xb48")]=r,l[f("0x3f4a")]=function(e,t){var n=f,i=e[n("0x3298")].replace("$md.",""),o=i[n("0x3cc0")](n("0x49b0"),"");o===n("0x347a")&&-1!==l[n("0x342c")].indexOf(n("0x228a"))&&!m||"up"===o&&(-1!==l[n("0x342c")][n("0x3507")](n("0x47d9"))||m)||("left"!==o&&o!==n("0x30eb")||!m)&&(r.addClass("md-"+i),x[n("0x4ee4")](a[n("0x4920")]))},l[f("0x41c2")]=(p=l.position,h=d,s("gt-xs")?h("0x467f")+(p[h("0x3507")]("top")>-1?h("0x228a"):h("0x47d9")):"md-toast-open-bottom"),r.addClass(l[f("0x31b1")]),l[f("0x731")][f("0x31dc")](l.openClass),x.hasComputedStyle(l[f("0x731")],"position",f("0x2704"))&&l.parent.css("position","relative"),b=t[f("0x3ef8")]&&t[f("0x3ef8")][f("0xd43")]?t[f("0x3ef8")][f("0xd43")]:n,_=function(e){var t=a2_0x37cf;e[t("0x2646")]===t("0x2f6a")&&a[t("0x29cb")](!1),b&&e.key===b&&e[t("0x4786")]&&a.hide(o)},c.on("keydown",_),r.on(u,l.onSwipe),r[f("0x31dc")](m?f("0x2b17"):l.position[f("0x9e5")](" ").map((function(e){return f("0xe78")+e}))[f("0xc60")](" ")),l[f("0x731")]&&l[f("0x731")][f("0x31dc")](f("0x1835")),e[f("0x3b11")](r,l[f("0x731")])[f("0x34e8")]((function(){var e=f;l[e("0x731")]&&l[e("0x731")][e("0xa81")]("md-toast-animating")}));var b,_;var p,h},onRemove:function(t,n,a){var r=d;t[r("0x3ef8")]&&t[r("0x3ef8")][r("0xd43")]&&f(),n[r("0x30f8")](u,a.onSwipe),a[r("0x731")]&&a[r("0x731")].addClass(r("0x1835"));a[r("0x41c2")]&&a[r("0x731")][r("0xa81")](a[r("0x41c2")]);return(!0===a[r("0x4c91")]?l[r("0x2c66")](n.remove()):e.leave(n))[r("0x34e8")]((function(){var e=r;a[e("0x731")]&&a[e("0x731")][e("0xa81")](e("0x1835")),x[e("0x6ab")](a[e("0x731")],e("0x342c"),e("0x2704"))&&a[e("0x731")].css(e("0x342c"),"")}))},toastClass:"",position:d("0x15a1"),themable:!0,hideDelay:3e3,autoWrap:!0,transformTemplate:function(e,n){var a=d;if(n[a("0x11de")]&&e&&!/md-toast-content/g[a("0x3ff3")](e)){var r=document[a("0x4202")]("md-template");r.innerHTML=e;for(var i=0;i<r[a("0x71b")][a("0x5e9")];i++)if(r[a("0x71b")][i][a("0x4907")]===a("0x1f42")){var o=t[a("0xb48")](a("0x1e7"));o.append(t[a("0xb48")](r[a("0x71b")][i][a("0xf5c")])),r[a("0x71b")][i][a("0x4238")](o[0])}return r.innerHTML}return e||""}};function f(){var e=d;c.off(e("0x468d"))}}}a[e("0x4670")]=[e("0xf1d")],r.$inject=[e("0x11cb")],t[e("0x39e9")](e("0x4ac7"),["material.core",e("0x421e")])[e("0x1b75")](e("0x23d4"),a)[e("0x4b0")]("$mdToast",r)}(),function(){var e=a2_0x37cf;function n(n,a,r,i,o,x){var s=e,c=t.bind(null,r.supplant,s("0x435c"));return{template:"",restrict:"E",link:function(e,l,d){var u=s;l[u("0x31dc")](u("0x16ce")),i(l),r[u("0x4ee4")]((function(){l.addClass("_md-toolbar-transitions")}),!1),t.isDefined(d[u("0x4d41")])&&function(){var i,s,f=u,m=t[f("0x49d1")],b=0,_=0,p=d[f("0x1283")]||.5,h=n.throttle(S),g=r[f("0x1f89")](A,5e3);function v(e,t){var n=f;t&&l[n("0x731")]()[0]===t[n("0x731")]()[0]&&(s&&s[n("0x30f8")](n("0x3def"),h),s=t,m=E())}function S(e){var t=f,n=e?e[t("0x55d")][t("0x1423")]:_;g(),b=Math[t("0x11db")](i/p,Math.max(0,b+n-_)),l[t("0x42b1")](a.CSS[t("0x44aa")],c([-b*p])),s[t("0x42b1")](a.CSS.TRANSFORM,c([(i-b)*p])),_=n,r[t("0x4ee4")]((function(){var e=t,n=l[e("0x3a35")](e("0x4ed"));n&&!b?o[e("0xa81")](l,e("0x4ed")):!n&&b&&o.addClass(l,e("0x4ed"))}))}function E(){var e=f;return s?(s.on(e("0x3def"),h),s[e("0x417f")](e("0x4850"),e("0x1509")),x(A),function(){var t=e;s[t("0x30f8")](t("0x3def"),h),s[t("0x417f")]("scroll-shrink",t("0x22b7")),A()}):t.noop}function A(){var e=f,t=-(i=l[e("0x40ea")](e("0x2b02")))*p+"px";s[e("0x42b1")]({"margin-top":t,"margin-bottom":t}),S()}e.$on(f("0x11e2"),v),d[f("0xf52")]("mdScrollShrink",(function(t){var n=f,a=r[n("0xad4")](l,n("0x477d"));!s&&a.length&&v(0,a[0]),!1===(t=e[n("0xe2b")](t))?m():m=E()})),d[f("0x13d0")]&&e.$watch(d[f("0x13d0")],A),d[f("0x470d")]&&e[f("0x7a")](d[f("0x470d")],A),e[f("0x24c9")](f("0x4c91"),m)}()}}}n[e("0x4670")]=[e("0x47aa"),e("0x4572"),e("0xfb8"),e("0x191b"),e("0xc00"),e("0x38d4")],t[e("0x39e9")](e("0x48b3"),[e("0x1b0c"),"material.components.content"]).directive(e("0x99c"),n)}(),function(){var n=a2_0x37cf;function a(e,a,r,i,o,x,s,c){var l=n,d=l("0x1717"),u=l("0x2d66"),f=l("0x47d9"),m={top:{x:s[l("0x12af")][l("0x2a2d")],y:s[l("0x3183")][l("0x3fc9")]},right:{x:s[l("0x12af")][l("0x49e5")],y:s[l("0x3183")][l("0x2a2d")]},bottom:{x:s[l("0x12af")][l("0x2a2d")],y:s[l("0x3183")][l("0x375b")]},left:{x:s[l("0x12af")][l("0x2e0")],y:s[l("0x3183")][l("0x2a2d")]}};return{restrict:"E",priority:210,scope:{mdZIndex:"=?mdZIndex",mdDelay:l("0x1ee5"),mdVisible:"=?mdVisible",mdAutohide:l("0x3649"),mdDirection:l("0x47f6")},link:function(n,b,_){var p,h,g,v,S,E=l,A=E("0x21bb")+x[E("0x2feb")](),T=x[E("0x3a5f")](b),y=r.throttle(D),C=!1,w=null;function M(){var e=E;n.mdZIndex=n[e("0x26b5")]||100,n[e("0xb19")]=n[e("0xb19")]||0,!m[n.mdDirection]&&(n[e("0x91c")]=f)}function R(e){var t=E,a=e||o(b[t("0x806")]()[t("0x2dc4")]())(n[t("0x20cb")]);(!T[t("0x417f")](t("0x194a"))&&!T[t("0x417f")]("aria-labelledby")||T.attr(t("0x4c87")))&&(T[t("0x417f")]("aria-label",a),!T[t("0x417f")]("md-labeled-by-tooltip")&&T[t("0x417f")](t("0x4c87"),A))}function D(){var e=E;M(),v&&v[e("0x43b8")]&&v.panelEl[e("0xa81")](p),p=e("0x36")+n.mdDirection,h=m[n[e("0x91c")]],g=s[e("0x3499")]()[e("0x42b2")](T)[e("0x4aec")](h.x,h.y),v&&v[e("0x43b8")]&&(v[e("0x43b8")][e("0x31dc")](p),v[e("0x1ddb")](g))}function I(t){var a=E;I[a("0x2f19")]&&I[a("0x3a33")]===!!t||!I.queued&&n[a("0x2ae9")]===!!t||(I.value=!!t,!I[a("0x2f19")]&&(t?(I[a("0x2f19")]=!0,S=e((function(){var e=a;n[e("0x2ae9")]=I[e("0x3a33")],I[e("0x2f19")]=!1,S=null,!n[e("0x351c")]&&N(n[e("0x2ae9")])}),n[a("0xb19")])):x[a("0x4ee4")]((function(){var e=a;n[e("0x2ae9")]=!1,!n[e("0x351c")]&&N(!1)}))))}function N(e){var a;e?function(){var e=E;if(!b[0].textContent.trim())throw new Error("Text for the tooltip has not been provided. Please include text within the mdTooltip element.");if(!v){var a=t[e("0xb48")](document.body),r=s[e("0x369a")]()[e("0x3c52")](T).closeTo(T).withAnimation({open:"md-show",close:e("0x4438")}),i={id:A,attachTo:a,contentElement:b,propagateContainerEvents:!0,panelClass:"md-tooltip",animation:r,position:g,zIndex:n[e("0x26b5")],focusOnOpen:!1,onDomAdded:function(){var t=e;v[t("0x43b8")][t("0x31dc")](p)}};v=s.create(i)}v[e("0x55a")]()[e("0x34e8")]((function(){var t=e;v[t("0x43b8")][t("0x417f")]("role","tooltip")}))}():(a=E,v&&v[a("0x440f")]())}M(),R(),b[E("0x166")](),D(),function(){var t=E;if(T[0]&&t("0x4d85")in a){var r=new MutationObserver((function(e){var n;e[(n=t)("0x906")]((function(e){var t=n;return e[t("0x24bf")]===t("0x1c54")&&T[0][t("0x1c54")]}))}));r.observe(T[0],{attributes:!0})}function o(){I(!1)}function s(){w=document[t("0x3671")]===T[0]}function l(e){var a=t;e[a("0x3298")]===a("0x2beb")&&w?w=!1:!n[a("0x2ae9")]&&(T.on(u,f),I(!0),e[a("0x3298")]===a("0x2198")&&T.one("touchend",(function(){var e=a;x[e("0x4ee4")]((function(){var t=e;i.one(t("0x1342"),f)}),!1)})))}function f(){var a=t;((n[a("0x1bd4")]("mdAutohide")?n[a("0x3b5d")]:_[a("0x1bd4")]("mdAutohide"))||C||i[0].activeElement!==T[0])&&(S&&(e.cancel(S),I[a("0x2f19")]=!1,S=null),T[a("0x30f8")](u,f),T[a("0x59d")](a("0x4a1")),I(!1)),C=!1}function m(){C=!0}w=!1,c[t("0x4ce9")](t("0x3def"),o,!0),c[t("0x4ce9")](t("0x4a1"),s),c[t("0x4ce9")](t("0x39d4"),y),n[t("0x24c9")](t("0x4c91"),(function(){var e=t;c[e("0x1388")]("scroll",o,!0),c[e("0x1388")](e("0x4a1"),s),c[e("0x1388")](e("0x39d4"),y),T[e("0x30f8")](d,l)[e("0x30f8")](u,f)[e("0x30f8")]("mousedown",m),f(),r&&r[e("0x2a37")]()})),T.on("mousedown",m),T.on(d,l)}(),function(){var e=E;if(b[0]&&"MutationObserver"in a){var t=new MutationObserver((function(e){var t=a2_0x37cf;e[t("0x5ba")]((function(e){var a=t;"md-visible"===e[a("0x24bf")]&&!n.visibleWatcher&&(n.visibleWatcher=n[a("0x7a")](a("0x2ae9"),N))}))}));t[e("0x1d7a")](b[0],{attributes:!0}),_.hasOwnProperty(e("0x2ae9"))&&(n.visibleWatcher=n[e("0x7a")](e("0x2ae9"),N))}else n.visibleWatcher=n[e("0x7a")](e("0x2ae9"),N);function r(){n.$destroy()}n.$watch(e("0x91c"),D),b[e("0x68f")](e("0x4c91"),r),T.one(e("0x4c91"),r),n[e("0x24c9")](e("0x4c91"),(function(){var n=e;I(!1),v&&v[n("0xdc5")](),t&&t.disconnect(),b[n("0xf82")]()})),b[e("0x806")]()[e("0x3507")](o[e("0xcfc")]())>-1&&n[e("0x7a")]((function(){var t=e;return b[t("0x806")]()[t("0x2dc4")]()}),R)}()}}}a.$inject=[n("0x38d4"),"$window",n("0x47aa"),n("0x45e2"),n("0x3a1e"),"$mdUtil",n("0x2495"),n("0x1295")],t[n("0x39e9")](n("0x2189"),["material.core",n("0xecd")])[n("0x1b75")]("mdTooltip",a)[n("0xc3b")]("$$mdTooltipRegistry",(function(){var n={},a=t.element(e);return{register:function(t,i,o){var x=a2_0x37cf,s=n[t]=n[t]||[];!s[x("0x5e9")]&&(o?e.addEventListener(t,r,!0):a.on(t,r)),-1===s[x("0x3507")](i)&&s[x("0x459a")](i)},deregister:function(t,i,o){var x=a2_0x37cf,s=n[t],c=s?s[x("0x3507")](i):-1;c>-1&&(s[x("0x2bcf")](c,1),0===s[x("0x5e9")]&&(o?e[x("0x4b59")](t,r,!0):a[x("0x30f8")](t,r)))}};function r(e){var t=a2_0x37cf;n[e[t("0x3298")]]&&n[e.type][t("0x5ba")]((function(n){n[t("0x3c6b")](this,e)}),this)}}))}(),function(){var e=a2_0x37cf;function n(t){var n=e;t[n("0x31dc")](n("0x183f"))}n[e("0x4670")]=[e("0x4998")],t[e("0x39e9")](e("0x3c2e"),[e("0x1b0c")])[e("0x1b75")]("mdTruncate",(function(){return{restrict:"AE",controller:n}}))}(),function(){var e=a2_0x37cf;function n(t){var n=e;return'<div class="md-virtual-repeat-scroller" role="presentation">'+n("0x4ed0")+n("0x1bc0")+t[0][n("0x18c4")]+"</div></div>"}a[e("0x4670")]=[e("0x47aa"),e("0xfb8"),"$mdConstant","$parse",e("0x47ed"),"$window",e("0x36af"),"$element","$attrs"],i[e("0x4670")]=[e("0x36af"),"$element",e("0x428f"),e("0x26e"),"$document",e("0x47ed"),e("0x47aa"),"$mdUtil"],r[e("0x4670")]=[e("0x68c")],t[e("0x39e9")](e("0x7a8"),[e("0x1b0c"),e("0x4814")])[e("0x1b75")](e("0xb93"),(function(){return{controller:a,template:n,compile:function(e,t){var n=a2_0x37cf;e[n("0x31dc")](n("0x3dea"))[n("0x31dc")](t.hasOwnProperty(n("0x3456"))?"md-orient-horizontal":n("0x1df8"))}}})).directive(e("0x25b1"),r)[e("0x1b75")](e("0x133e"),x);function a(n,a,r,i,o,x,s,c,l){var d=e;this.$rootScope=o,this[d("0x36af")]=s,this[d("0x4998")]=c,this.$attrs=l,this[d("0x27ff")]=0,this.scrollSize=0,this.scrollOffset=0,this.horizontal=this[d("0x428f")].hasOwnProperty(d("0x3456")),this[d("0x29e")]=null,this.autoShrink=this.$attrs[d("0x1bd4")](d("0x431")),this[d("0x328f")]=parseInt(this[d("0x428f")][d("0x420")],10)||0,this[d("0xb4c")]=null,this[d("0x4127")]=parseInt(this[d("0x428f")].mdOffsetSize,10)||0,this[d("0x4e9c")]=null,this.maxElementPixels=r[d("0x293f")],this[d("0x211f")]=!a[d("0x3475")](this[d("0x428f")]),this[d("0x428f")][d("0x1257")]?(this[d("0x2c71")]=i(this[d("0x428f")].mdTopIndex),this[d("0x4fe6")]=this[d("0x2c71")](this.$scope),!t[d("0x64a")](this.topIndex)&&(this[d("0x4fe6")]=0,this[d("0x2c71")][d("0x3df0")](this[d("0x36af")],0)),this[d("0x36af")][d("0x7a")](this.bindTopIndex,t[d("0x2b0c")](this,(function(e){e!==this[d("0x4fe6")]&&this.scrollToIndex(e)})))):this.topIndex=0,this.scroller=c[0].querySelector(d("0x2703")),this[d("0x2a70")]=this[d("0x1090")][d("0x31f7")](d("0xa43")),this[d("0x492")]=this.scroller[d("0x31f7")](".md-virtual-repeat-offsetter");var u=t[d("0x2b0c")](this,this[d("0x1b39")]);n(t[d("0x2b0c")](this,(function(){var e=d;u();var n=a.debounce(u,10,null,!1),r=t[e("0xb48")](x);!this.size&&n(),r.on(e("0x39d4"),n),s[e("0x24c9")]("$destroy",(function(){var t=e;r.off(t("0x39d4"),n)})),s[e("0x7e0")](e("0x3d5c")),s.$on(e("0x359c"),u)})))}function r(t){var n=e;return{controller:i,priority:1e3,require:[n("0x25b1"),n("0x4eaf")],restrict:"A",terminal:!0,transclude:n("0xb48"),compile:function(e,a){var r=n,i=a[r("0x25b1")][r("0x2cd9")](/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)\s*$/),o=i[1],x=t(i[2]),s=a.mdExtraName&&t(a.mdExtraName);return function(e,t,n,a,i){var c=r;a[0][c("0x3d8")](a[1],i,o,x,s)}}}}function i(n,a,r,i,o,x,s,c){var l=e;this[l("0x36af")]=n,this.$element=a,this.$attrs=r,this[l("0x26e")]=i,this.$document=o,this.$mdUtil=c,this.$rootScope=x,this.$$rAF=s,this[l("0x1b43")]=c[l("0x41a5")](r[l("0x1c4f")]),this[l("0x1bab")]=i[l("0x241")],this[l("0x4bcd")]=0,this[l("0x349b")]=0,this.newVisibleEnd=0,this[l("0xd11")]=0,this[l("0x330e")]=0,this.itemSize=n[l("0xe2b")](r[l("0x3872")])||null,this[l("0x247d")]=!0,this[l("0xa5f")]=!1,this[l("0x4927")]=0,this[l("0x98b")]=t.noop,this[l("0x32bf")]={},this[l("0x2c48")]=[],n[l("0x24c9")](l("0x4c91"),t[l("0x2b0c")](this,this[l("0x278e")]))}function o(n){var a=e;if(!t[a("0x4977")](n[a("0x3b7f")])||!t.isFunction(n[a("0x2423")]))throw Error(a("0x2cda")+a("0x3cec"));this[a("0x4933")]=n}function x(e){return{restrict:"A",link:function(e,t,n){var a=a2_0x37cf,r=e.$eval(n.mdForceHeight)||null;r&&t&&(t[0][a("0x4025")][a("0x4e66")]=r)}}}a[e("0x20f")][e("0x4ce9")]=function(n){var a=e;this[a("0x29e")]=n,t.element(this[a("0x1090")]).on(a("0x3da1"),t[a("0x2b0c")](this,this[a("0x1fac")]))},a[e("0x20f")][e("0x3b39")]=function(){return this[e("0x1377")]},a.prototype[e("0x15c3")]=function(){return this.size},a.prototype.setSize_=function(t){var n=e,a=this[n("0x3ce2")]();this.size=t,this[n("0x4998")][0].style[a]=t+"px"},a.prototype.unsetSize_=function(){var t=e;this[t("0x4998")][0][t("0x4025")][this[t("0x3ce2")]()]=this.oldElementSize,this[t("0x4e9c")]=null},a[e("0x20f")][e("0x1b39")]=function(){var t=e;if(!this[t("0xb4c")]){var n=this[t("0x3b39")]()?this[t("0x4998")][0][t("0x538")]:this[t("0x4998")][0][t("0x2838")];n&&(this[t("0x27ff")]=n),this[t("0x1fac")](),this[t("0x29e")]&&this[t("0x29e")].containerUpdated()}},a[e("0x20f")][e("0x9a6")]=function(){return this.scrollSize},a[e("0x20f")][e("0x3ce2")]=function(){var t=e;return this[t("0x3b39")]()?t("0xbbf"):"height"},a.prototype.sizeScroller_=function(t){var n=e,a=this[n("0x3ce2")](),r=this[n("0x3b39")]()?n("0x4e66"):n("0xbbf");if(this[n("0x2a70")][n("0x18c4")]="",t<this[n("0x742")])this[n("0x2a70")][n("0x4025")][a]=t+"px";else{this[n("0x2a70")][n("0x4025")][a]="auto",this[n("0x2a70")][n("0x4025")][r]=n("0x15ac");var i=Math[n("0x4184")](t/this[n("0x742")]),o=document[n("0x4202")](n("0x4774"));o[n("0x4025")][a]=this[n("0x742")]+"px",o.style[r]=n("0x3c00");for(var x=0;x<i;x++)this.sizer.appendChild(o[n("0x3e91")](!1));o.style[a]=t-i*this.maxElementPixels+"px",this[n("0x2a70")][n("0x4238")](o)}},a[e("0x20f")][e("0x183b")]=function(t){var n=e,a=Math[n("0x242b")](t,this.autoShrinkMin*this.repeater[n("0x19d")]());if(this[n("0x3b27")]&&a!==this[n("0x27ff")]){null===this[n("0x4e9c")]&&(this[n("0x4e9c")]=this[n("0x4998")][0][n("0x4025")][this[n("0x3ce2")]()]);var r=this[n("0xb4c")]||this[n("0x27ff")];if(!r||a<r)!this.originalSize&&(this[n("0xb4c")]=this.size),this.setSize_(a);else if(null!==this.originalSize){this[n("0x500f")]();var i=this.originalSize;this[n("0xb4c")]=null,i||this[n("0x1b39")](),this[n("0x4c03")](i||this.size)}this[n("0x29e")][n("0x1a2e")]()}},a[e("0x20f")][e("0x2748")]=function(t){var n=e,a=t+this[n("0x4127")];this[n("0x35f4")]!==a&&(this[n("0x2074")](a),this[n("0x183b")](a),this.scrollSize=a)},a[e("0x20f")][e("0x1346")]=function(){return this[e("0x46b4")]},a[e("0x20f")][e("0x1359")]=function(t){var n=e;this[n("0x1090")][this[n("0x3b39")]()?n("0xc1"):n("0x1423")]=t,this.handleScroll_()},a[e("0x20f")][e("0xb55")]=function(t){var n=e,a=this[n("0x29e")][n("0x19d")](),r=this[n("0x29e")][n("0x4927")];t>r&&(t=r-1),this[n("0x1359")](a*t)},a.prototype.resetScroll=function(){this[e("0x1359")](0)},a.prototype[e("0x1fac")]=function(){var t=e;!this[t("0x211f")]&&!this.maxSize&&(this[t("0x1090")][t("0xc1")]=this[t("0x35f4")],this[t("0x3262")]=this.scroller[t("0xc1")]);var n=this.isHorizontal()?this.ltr?this.scroller[t("0xc1")]:this[t("0x3262")]-this[t("0x1090")][t("0xc1")]:this[t("0x1090")][t("0x1423")];if(!(this.scrollSize<this[t("0x27ff")])&&(n>this.scrollSize-this[t("0x27ff")]&&(n=this[t("0x35f4")]-this[t("0x27ff")]),n!==this[t("0x46b4")])){var a=this[t("0x29e")][t("0x19d")]();if(a){var r=Math[t("0x242b")](0,Math[t("0x4184")](n/a)-3),i=(this[t("0x3b39")]()?t("0x38d8"):t("0x2e74"))+(!this[t("0x3b39")]()||this[t("0x211f")]?r*a:-r*a)+t("0x1073");if(this[t("0x46b4")]=n,this[t("0x492")].style[t("0x25c5")]=i,this[t("0x492")][t("0x4025")].transform=i,this[t("0x2c71")]){var o=Math[t("0x4184")](n/a);o!==this.topIndex&&o<this.repeater.getItemCount()&&(this[t("0x4fe6")]=o,this[t("0x2c71")].assign(this[t("0x36af")],o),this[t("0x47ed")][t("0x4fca")]||this.$scope[t("0x437c")]())}this[t("0x29e")][t("0x1a2e")]()}}},i[e("0x4f62")],i[e("0x20f")].link_=function(n,a,r,i,o){var x=e;this[x("0x110e")]=n,this[x("0x31fc")]=a,this[x("0x9c")]=r,this.rawRepeatListExpression=i,this[x("0x453")]=o,this[x("0x3dff")]=!1,this[x("0xd53")]=t.bind(this,this[x("0x3647")]),this.container[x("0x4ce9")](this)},i[e("0x20f")][e("0x278e")]=function(){var n=e;t[n("0x5ba")](this[n("0x2c48")],(function(e){var t=n;e[t("0xb48")][t("0xf82")]()}))},i[e("0x20f")].readItemSize_=function(){var t=e;if(!this[t("0x159b")]){this[t("0x158a")]=this[t("0xd53")](this[t("0x36af")]),this.parentNode=this[t("0x4998")][0][t("0x368c")];var n=this[t("0x185f")](0);!n[t("0xb48")][0][t("0x368c")]&&this.parentNode[t("0x4238")](n[t("0xb48")][0]),this[t("0x159b")]=n.element[0][this[t("0x110e")][t("0x3b39")]()?"offsetWidth":t("0x2b02")]||null,this[t("0x32bf")][0]=n,this[t("0x423d")](0),this[t("0x159b")]&&this[t("0x1a2e")]()}},i[e("0x20f")][e("0x3647")]=function(t){var n=e,a=this[n("0x19f1")](t);if(this[n("0x1b43")]&&a){var r=new o(a);return r[n("0x380a")](this[n("0x4bcd")],this[n("0x30a5")]),r}return a},i[e("0x20f")][e("0x1a2e")]=function(){var n=e;if(!this[n("0x159b")])return this[n("0x98b")]&&this[n("0x98b")]!==t[n("0x49d1")]&&this[n("0x98b")](),this[n("0x98b")]=this[n("0x36af")][n("0x49f2")](this[n("0xd53")],t[n("0x2b0c")](this,(function(e){var t=n;e&&e[t("0x5e9")]&&this[t("0x3c9")]()}))),void(this[n("0x47ed")].$$phase||this[n("0x36af")][n("0x437c")]());!this.sized&&(this[n("0x158a")]=this.repeatListExpression(this[n("0x36af")])),!this[n("0x3dff")]&&(this[n("0x98b")](),this.sized=!0,this.$scope[n("0x49f2")](this[n("0xd53")],t[n("0x2b0c")](this,(function(e,t){var a=n;!this[a("0xa5f")]&&this[a("0x3206")](e,t)})))),this[n("0x2d9a")](),(this[n("0x4bcd")]!==this[n("0xd11")]||this[n("0x349b")]!==this[n("0x330e")]||this[n("0x110e")][n("0x1346")]()>this.container[n("0x9a6")]())&&(this[n("0x158a")]instanceof o&&this.items[n("0x380a")](this[n("0x4bcd")],this[n("0x349b")]),this[n("0x3206")](this[n("0x158a")],this[n("0x158a")]))},i[e("0x20f")][e("0x19d")]=function(){return this[e("0x159b")]},i[e("0x20f")][e("0x4122")]=function(){return this.itemsLength},i.prototype[e("0x3206")]=function(n,a){var r=e;this.isVirtualRepeatUpdating_=!0;var i=n&&n.length||0,o=!1;if(this.items&&i<this[r("0x158a")][r("0x5e9")]&&0!==this.container.getScrollOffset()){this.items=n;var x=this.container.getScrollOffset();this[r("0x110e")][r("0x42f1")](),this.container.scrollTo(x)}i!==this[r("0x4927")]&&(o=!0,this[r("0x4927")]=i),this.items=n,(n!==a||o)&&this.updateIndexes_(),this.parentNode=this[r("0x4998")][0][r("0x368c")],o&&this.container.setScrollSize(i*this[r("0x159b")]),Object[r("0xa35")](this[r("0x32bf")])[r("0x5ba")]((function(e){var t=r,n=parseInt(e,10);(n<this[t("0x4bcd")]||n>=this[t("0x349b")])&&this[t("0x423d")](n)}),this),this[r("0x26e")].$$checkUrlChange=t[r("0x49d1")];var s,c,l=[],d=[];for(s=this[r("0x4bcd")];s<this[r("0x349b")]&&null==this.blocks[s];s++)c=this[r("0x185f")](s),this[r("0x4cde")](c,s),l[r("0x459a")](c);for(;null!=this.blocks[s];s++)this[r("0x4cde")](this.blocks[s],s);for(var u=s-1;s<this.newEndIndex;s++)c=this[r("0x185f")](s),this[r("0x4cde")](c,s),d[r("0x459a")](c);if(l[r("0x5e9")]&&this[r("0x368c")].insertBefore(this[r("0x4af7")](l),this[r("0x4998")][0].nextSibling),d.length&&this[r("0x368c")][r("0x1437")](this[r("0x4af7")](d),this[r("0x32bf")][u]&&this[r("0x32bf")][u][r("0xb48")][0][r("0x1681")]),this[r("0x26e")][r("0x241")]=this[r("0x1bab")],this[r("0xd11")]=this[r("0x4bcd")],this[r("0x330e")]=this[r("0x349b")],this[r("0x247d")]){this.isFirstRender=!1;var f=this.$attrs[r("0x28bc")]?this[r("0x36af")][r("0xe2b")](this[r("0x428f")][r("0x28bc")]):this[r("0x110e")][r("0x4fe6")];this[r("0xfb8")].nextTick(function(){var e=r;this[e("0x110e")][e("0xb55")](f)}[r("0x2b0c")](this))}this[r("0xa5f")]=!1},i[e("0x20f")][e("0x185f")]=function(n){var a,r=e;return this[r("0x2c48")][r("0x5e9")]?this[r("0x2c48")][r("0x4acd")]():(this[r("0x31fc")](t.bind(this,(function(e,t){a={element:e,new:!0,scope:t},this[r("0x4a8d")](t,n),this.parentNode.appendChild(e[0])}))),a)},i[e("0x20f")].updateBlock_=function(t,n){var a=e;this[a("0x32bf")][n]=t,(t[a("0x4cf9")]||t[a("0xd20")][a("0x3f96")]!==n||t[a("0xd20")][this[a("0x9c")]]!==this.items[n])&&(t[a("0x4cf9")]=!1,this.updateScope_(t[a("0xd20")],n),!this.$rootScope[a("0x4fca")]&&t[a("0xd20")][a("0x437c")]())},i.prototype.updateScope_=function(t,n){var a=e;t.$index=n,t[this.repeatName]=this[a("0x158a")]&&this[a("0x158a")][n],this[a("0x453")]&&(t[this[a("0x453")](this[a("0x36af")])]=this[a("0x158a")][n])},i.prototype.poolBlock_=function(t){var n=e;this.pooledBlocks[n("0x459a")](this[n("0x32bf")][t]),this[n("0x368c")].removeChild(this.blocks[t].element[0]),delete this[n("0x32bf")][t]},i[e("0x20f")][e("0x4af7")]=function(t){var n=e,a=this[n("0x45e2")][0].createDocumentFragment();return t[n("0x5ba")]((function(e){var t=n;a.appendChild(e[t("0xb48")][0])})),a},i[e("0x20f")].updateIndexes_=function(){var t=e,n=this.items?this[t("0x158a")][t("0x5e9")]:0,a=Math[t("0x3c59")](this[t("0x110e")][t("0x15c3")]()/this[t("0x159b")]);this[t("0x4bcd")]=Math[t("0x242b")](0,Math.min(n-a,Math.floor(this[t("0x110e")].getScrollOffset()/this[t("0x159b")]))),this[t("0x30a5")]=this[t("0x4bcd")]+a+3,this[t("0x349b")]=Math[t("0x11db")](n,this[t("0x30a5")]),this[t("0x4bcd")]=Math[t("0x242b")](0,this[t("0x4bcd")]-3)},o[e("0x20f")][e("0x380a")]=function(t,n){for(var a=e,r=t;r<n;r++)!this[a("0x1bd4")](r)&&(this[r]=this[a("0x4933")][a("0x3b7f")](r));this[a("0x5e9")]=this[a("0x4933")][a("0x2423")]()},x[e("0x4670")]=[e("0xfb8")]}(),function(){var e=a2_0x37cf;function n(e){return{link:function(t,n,a){var r=a2_0x37cf,i="";a[r("0xf52")](r("0x2f82"),(function(t){var o=r;-1!=(t=parseInt(t,10)||4)&&(t>24||t<1)&&(e.warn(o("0x2fc4")+1+o("0x487a")+24,n[0]),t=4);var x=-1==t?"":o("0x2679")+t+"dp";a[o("0x1d53")](x,i),i=x}))}}}n[e("0x4670")]=[e("0x1a4")],t[e("0x39e9")](e("0x283a"),[e("0x1b0c")])[e("0x1b75")]("mdWhiteframe",n)}(),t[(a=a2_0x37cf)("0x39e9")](a("0x1b0c"))[a("0x4d94")](a("0x41bc"),a("0x3391"))}(window,window[e("0x40e2")]),window[e("0x72f")]={version:{full:e("0x4c61")}}},9672:(e,t,n)=>{var a=_0x299160;n(5734),n(3234),n(7828),n(7191),e[a("0x33f9")]=a("0x72f")},918:()=>{!function(e,t){var n,a,r,i,o=a2_0x37cf;function x(e){var t=o;return[t("0xc00"),function(n){var r=t;return{restrict:"AE",transclude:r("0xb48"),priority:1,terminal:!0,require:"^^ngMessages",link:function(i,o,x,s,c){var l,d,u,f,m,b,_=r;if(!e){l=o[0],u=x.ngMessage||x[_("0x2c66")];var p=function(e){var t=_;d=e?a(e)?e:e.split(/[\s,]+/):null,s[t("0x18a9")]()};(f=x[_("0x82")]||x[_("0x4975")])?(p(i.$eval(f)),i.$watchCollection(f,p)):p(u)}s[_("0x4ce9")](l,b={test:function(e){return function(e,n){var r=t;if(e)return a(e)?e[r("0x3507")](n)>=0:e[r("0x1bd4")](n)}(d,e)},attach:function(){!m&&c((function(t,a){var r=a2_0x37cf;n.enter(t,null,o);var i=(m=t)[r("0x9d9")]=s[r("0xa5e")]();m.on("$destroy",(function(){var t=r;m&&m[t("0x9d9")]===i&&(s.deregister(l,e),b[t("0x166")]()),a[t("0x4c91")]()}))}))},detach:function(){if(m){var e=m;m=null,n[_("0xf77")](e)}}},e),i[_("0x24c9")]("$destroy",(function(){s[_("0x1388")](l,e)}))}}}]}t[o("0x39e9")](o("0x474"),[],(function(){var e=o;n=t[e("0x5ba")],a=t[e("0x498f")],r=t.isString,i=t[e("0xb48")]}))[o("0x14eb")]({angularVersion:"1.8.2"})[o("0x1b75")](o("0x474"),[o("0xc00"),function(e){var t=o,a=t("0x2e2e"),i=t("0x25d");return{require:"ngMessages",restrict:"AE",controller:["$element",t("0x36af"),t("0x428f"),function(r,o,c){var l=t,d=this,u=0,f=0;this[l("0xa5e")]=function(){return f++};var m,b,_=this[l("0x1ccf")]={};function p(e,t){for(var n=l,a=t,r=[];a&&a!==e;){var i=a[n("0x824")];if(i&&i.length)return _[i];a[n("0xf5c")][n("0x5e9")]&&-1===r[n("0x3507")](a)?(r[n("0x459a")](a),a=a[n("0xf5c")][a.childNodes[n("0x5e9")]-1]):a.previousSibling?a=a[n("0x19ab")]:(a=a.parentNode,r[n("0x459a")](a))}}this.render=function(t){var u=l;m=!1,b=t=t||{};for(var f=x(o,c.ngMessagesMultiple)||x(o,c.multiple),_=[],p={},h=0,g=d[u("0x1d45")],v=!1,S=0;null!=g;){S++;var E=g.message,A=!1;!v&&n(t,(function(e,t){var n=u;if(s(e)&&!A&&(h++,E[n("0x3ff3")](t))){if(p[t])return;p[t]=!0,A=!0,E[n("0x226")]()}})),A?v=!f:_[u("0x459a")](E),g=g.next}n(_,(function(e){e[u("0x166")]()}));var T=_[u("0x5e9")]!==S,y=d[u("0x3993")]&&!T&&h>0;y?d[u("0x3993")].attach():d[u("0x3993")]&&d.default.detach(),T||y?e[u("0x421c")](r,a,i):e[u("0x421c")](r,i,a)},o[l("0x49f2")](c.ngMessages||c.for,d[l("0x4537")]),this[l("0x18a9")]=function(){!m&&(m=!0,o.$evalAsync((function(){m&&b&&d[a2_0x37cf("0x4537")](b)})))},this[l("0x4ce9")]=function(e,t,n){var a=l;if(n)d[a("0x3993")]=t;else{var i=u[a("0x3c88")]();_[i]={message:t},function(e,t,n){var a=l,r=_[n];if(d[a("0x1d45")]){var i=p(e,t);i?(r.next=i[a("0xa8")],i[a("0xa8")]=r):(r[a("0xa8")]=d[a("0x1d45")],d[a("0x1d45")]=r)}else d.head=r}(r[0],e,i),e[a("0x824")]=i,u++}d.reRender()},this[l("0x1388")]=function(e,t){var n=l;if(t)delete d[n("0x3993")];else{var a=e[n("0x824")];delete e[n("0x824")],function(e,t,n){var a=l,r=_[n];if(!r)return;var i=p(e,t);i?i[a("0xa8")]=r[a("0xa8")]:d[a("0x1d45")]=r[a("0xa8")]}(r[0],e,a),delete _[a]}d.reRender()}}]};function x(e,t){return r(t)&&0===t.length||s(e.$eval(t))}function s(e){var n=t;return r(e)?e[n("0x5e9")]:!!e}}])[o("0x1b75")](o("0x2e1c"),["$templateRequest",o("0x45e2"),o("0x4728"),function(e,t,n){var a=o;return{restrict:"AE",require:a("0x58c"),link:function(t,i,o){var s=a,c=o[s("0x2e1c")]||o[s("0x21d6")];e(c).then((function(e){var a=s;t[a("0x4bd1")]||(r(e)&&!e.trim()?x(i,c):n(e)(t,(function(e){i[a("0x477b")](e),x(i,c)})))}))}};function x(e,r){var o=a,x=n[o("0x4ab3")]?n.$$createComment("ngMessagesInclude",r):t[0][o("0x4432")](o("0x3d3b")+r+" "),s=i(x);e[o("0x477b")](s),e.remove()}}])[o("0x1b75")](o("0x1865"),x()).directive(o("0x82"),x())[o("0x1b75")](o("0x248f"),x(!0))}(window,window.angular)},4590:(e,t,n)=>{var a=_0x299160;n(918),e[a("0x33f9")]=a("0x474")},8963:()=>{var e;e=a2_0x37cf,angular[e("0x39e9")](e("0x239c"),[]).directive(e("0x3fef"),(function(){var e=a2_0x37cf;return{restrict:"A",require:[e("0x18ec"),e("0x486e")],link:function(e,t,n,a){var r=a2_0x37cf,i=a[1],o=a[0],x=i[n.matchPassword];e[r("0x7a")]((function(){return x[a2_0x37cf("0x326c")]}),(function(){o[r("0x1560")]()})),o[r("0x1b85")]?o[r("0x1b85")][r("0x847")]=function(e){var t=r;return!e&&!x[t("0x2dce")]||e===x[t("0x2dce")]}:o[r("0x2888")][r("0x459a")]((function(e){var t=r;return o[t("0x234f")](t("0x847"),!e&&!x[t("0x326c")]||e===x.$viewValue),e})),x[r("0x2888")][r("0x459a")]((function(e){var t=r;return o[t("0x234f")](t("0x847"),!e&&!o[t("0x326c")]||e===o[t("0x326c")]),e}))}}})),angular[e("0x39e9")](e("0x202"),[e("0x239c")]),angular[e("0x39e9")](e("0x3acc"),[e("0x239c")])},2531:()=>{!function(e,t){var n=a2_0x37cf,a=t[n("0x1041")]("$resource"),r=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;function i(e,i){var o,x,s=n;if(x=n,null==(o=i)||""===o||o===x("0x1bd4")||!r[x("0x3ff3")]("."+o))throw a("badmember",s("0xa67"),i);for(var c=i.split("."),l=0,d=c.length;l<d&&t[s("0x64a")](e);l++){var u=c[l];e=null!==e?e[u]:void 0}return e}function o(e,a){var r=n;for(var i in a=a||{},t[r("0x5ba")](a,(function(e,t){delete a[t]})),e)e[r("0x1bd4")](i)&&("$"!==i[r("0x24de")](0)||"$"!==i[r("0x24de")](1))&&(a[i]=e[i]);return a}t[n("0x39e9")](n("0x3dd4"),["ng"])[n("0x14eb")]({angularVersion:n("0x1830")})[n("0x4b0")](n("0x47f0"),(function(){var e=n,r=/^https?:\/\/\[[^\]]*][^/]*/,x=this;this.defaults={stripTrailingSlashes:!0,cancellable:!1,actions:{get:{method:e("0x30f1")},save:{method:e("0x1406")},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},delete:{method:e("0x253d")}}},this.$get=[e("0x3626"),"$log","$q",e("0x38d4"),function(n,s,c,l){var d=e,u=t[d("0x49d1")],f=t.forEach,m=t[d("0x3448")],b=t[d("0x4d98")],_=t[d("0x498f")],p=t.isDefined,h=t[d("0x4977")],g=t.isNumber,v=t[d("0x44d8")],S=t[d("0x132")];function E(e,t){var n=d;this[n("0x371b")]=e,this[n("0xbda")]=m({},x[n("0xbda")],t),this.urlParams={}}return E[d("0x20f")]={setUrlParams:function(e,t,n){var i,o,x=d,s=this,c=n||s[x("0x371b")],l="",u=s[x("0xd32")]=Object.create(null);f(c[x("0x9e5")](/\W/),(function(e){var t=x;if(e===t("0x1bd4"))throw a(t("0x23f7"),t("0x483c"));!new RegExp(t("0x492f"))[t("0x3ff3")](e)&&e&&new RegExp(t("0x5000")+e+"(\\W|$)")[t("0x3ff3")](c)&&(u[e]={isQueryParamValue:new RegExp(t("0x97d")+e+t("0x47d7")).test(c)})})),c=(c=c[x("0x3cc0")](/\\:/g,":"))[x("0x3cc0")](r,(function(e){return l=e,""})),t=t||{},f(s[x("0xd32")],(function(e,n){var a=x;i=t[a("0x1bd4")](n)?t[n]:s[a("0xbda")][n],p(i)&&null!==i?(o=e.isQueryParamValue?v(i,!0):S(i),c=c[a("0x3cc0")](new RegExp(":"+n+a("0x4a0"),"g"),(function(e,t){return o+t}))):c=c[a("0x3cc0")](new RegExp(a("0x1226")+n+a("0x4a0"),"g"),(function(e,t,n){return"/"===n[a("0x24de")](0)?n:t+n}))})),s[x("0xbda")][x("0x1adc")]&&(c=c.replace(/\/+$/,"")||"/"),c=c[x("0x3cc0")](/\/\.(?=\w+($|\?))/,"."),e[x("0x4aef")]=l+c[x("0x3cc0")](/\/(\\|%5C)\./,"/."),f(t,(function(t,n){var a=x;!s[a("0xd32")][n]&&(e[a("0x48ad")]=e[a("0x48ad")]||{},e[a("0x48ad")][n]=t)}))}},function(e,t,r,v){var S=d,A=new E(e,v);function T(e,n){var a={};return n=m({},t,n),f(n,(function(t,n){var r=a2_0x37cf;h(t)&&(t=t(e)),a[n]=t&&t.charAt&&"@"===t[r("0x24de")](0)?i(e,t.substr(1)):t})),a}function y(e){return e[S("0x15d")]}function C(e){o(e||{},this)}return r=m({},x[S("0xbda")][S("0x4a6b")],r),C.prototype.toJSON=function(){var e=S,t=m({},this);return delete t[e("0x4525")],delete t.$resolved,delete t.$cancelRequest,t},f(r,(function(e,t){var r=S,i=!0===e[r("0xbb")]||!1!==e[r("0xbb")]&&/^(POST|PUT|PATCH)$/i.test(e.method),x=e[r("0x1612")],d=p(e[r("0x311")])?e.cancellable:A[r("0xbda")][r("0x311")];x&&!g(x)&&(s.debug("ngResource:\n"+r("0x27f4")+r("0x371d")+r("0x284f")+r("0x11d6")),delete e[r("0x1612")],x=null),C[t]=function(s,p,g,v){var S,E,w,M=r,R={};switch(arguments[M("0x5e9")]){case 4:w=v,E=g;case 3:case 2:if(!h(p)){R=s,S=p,E=g;break}if(h(s)){E=s,w=p;break}E=p,w=g;case 1:h(s)?E=s:i?S=s:R=s;break;case 0:break;default:throw a(M("0x29c9"),M("0x3daf"),arguments.length)}var D,I,N,O=this instanceof C,k=O?S:e.isArray?[]:new C(S),P={},L=e[M("0x4f8c")]&&e[M("0x4f8c")][M("0x38ce")]||void 0,F=e.interceptor&&e[M("0x4f8c")][M("0x2205")]||void 0,B=e[M("0x4f8c")]&&e[M("0x4f8c")].response||y,Y=e.interceptor&&e[M("0x4f8c")][M("0x80b")]||c.reject,G=E?function(e){var t=M;E(e,N[t("0x65c")],N[t("0x4e5c")],N[t("0x3875")])}:void 0,H=w||void 0;f(e,(function(e,t){switch(t){default:P[t]=b(e);break;case"params":case"isArray":case"interceptor":case M("0x311"):}})),!O&&d&&(D=c[M("0x3a26")](),P[M("0x1612")]=D[M("0x234e")],x&&(I=l(D[M("0x407b")],x))),i&&(P.data=S),A[M("0x4d56")](P,m({},T(S,e.params||{}),R),e[M("0x4aef")]);var U=c.resolve(P)[M("0x34e8")](L)[M("0x373a")](F)[M("0x34e8")](n);return(U=(U=U.then((function(n){var r=M,i=n.data;if(i){if(_(i)!==!!e[r("0x498f")])throw a(r("0x4f8e"),r("0x17b2")+"contain an {1} but got an {2} (Request: {3} {4})",t,e.isArray?r("0x2c5e"):"object",_(i)?r("0x2c5e"):"object",P.method,P[r("0x4aef")]);if(e.isArray)k[r("0x5e9")]=0,f(i,(function(e){var t=r;typeof e===t("0x1b1d")?k[t("0x459a")](new C(e)):k.push(e)}));else{var x=k[r("0x4525")];o(i,k),k[r("0x4525")]=x}}return n[r("0x15d")]=k,N=n,B(n)}),(function(e){return e[M("0x15d")]=k,N=e,Y(e)}))).finally((function(){var e=M;k.$resolved=!0,!O&&d&&(k[e("0xc2c")]=u,l.cancel(I),D=I=P.timeout=null)}))).then(G,H),O?U:(k.$promise=U,k.$resolved=!1,d&&(k.$cancelRequest=$),k);function $(e){U[M("0x373a")](u),null!==D&&D.resolve(e)}},C[r("0x20f")]["$"+t]=function(e,n,a){var i=r;h(e)&&(a=n,n=e,e={});var o=C[t][i("0x3c6b")](this,e,this,n,a);return o.$promise||o}})),C}}]}))}(window,window[_0x299160("0x40e2")])},878:(e,t,n)=>{var a=_0x299160;n(2531),e[a("0x33f9")]="ngResource"},768:()=>{var e,t,n,a,r,i,o,x,s,c,l,d,u,f;e=window,t=window.angular,u=a2_0x37cf,f=t.$$minErr(u("0x4581")),t[u("0x39e9")](u("0x4dab"),[])[u("0x4b0")]("$sanitize",(function(){var m=u,b=!1,_=!1;this[m("0x1cc9")]=[m("0x25e2"),function(e){return b=!0,_&&a(w,y),function(t){var n=a2_0x37cf,a=[];return l(t,d(a,(function(t,n){return!/^unsafe:/[a2_0x37cf("0x3ff3")](e(t,n))}))),a[n("0xc60")]("")}}],this[m("0x2222")]=function(e){return o(e)?(_=e,this):_},this[m("0x24f8")]=function(e){var t=m;return!b&&(i(e)&&(e={htmlElements:e}),k(y,e[t("0x4809")]),k(g,e[t("0x18a")]),k(w,e[t("0x18a")]),k(w,e[t("0x2e53")])),this},this[m("0x1534")]=function(e){return!b&&a(I,O(e,!0)),this},n=t[m("0x2b0c")],a=t[m("0x3448")],r=t[m("0x5ba")],i=t[m("0x498f")],o=t[m("0x64a")],x=t[m("0x7fa")],s=t.noop,l=function(e,t){var n=m;null==e?e="":"string"!=typeof e&&(e=""+e);var a=P(e);if(!a)return"";var r=5;do{if(0===r)throw f("uinput",n("0xe"));r--,e=a[n("0x18c4")],a=P(e)}while(e!==a.innerHTML);for(var i=a[n("0x2aab")];i;){switch(i.nodeType){case 1:t[n("0x1023")](i[n("0x4907")][n("0x2eb9")](),L(i[n("0x184f")]));break;case 3:t.chars(i[n("0x12ee")])}var o;if(!((o=i[n("0x2aab")])||(1===i.nodeType&&t[n("0x3a59")](i[n("0x4907")][n("0x2eb9")]()),o=Y(n("0x1681"),i))))for(;null==o&&(i=Y("parentNode",i))!==a;)o=Y(n("0x1681"),i),1===i[n("0x4879")]&&t[n("0x3a59")](i.nodeName[n("0x2eb9")]());i=o}for(;i=a[n("0x2aab")];)a[n("0xffd")](i)},d=function(e,t){var a=!1,i=n(e,e[m("0x459a")]);return{start:function(e,n){e=x(e),!a&&C[e]&&(a=e),!a&&!0===w[e]&&(i("<"),i(e),r(n,(function(n,a){var r=a2_0x37cf,o=x(a),s=e===r("0x11a9")&&o===r("0x21d6")||o===r("0x1318");!0===I[o]&&(!0!==M[o]||t(n,s))&&(i(" "),i(a),i('="'),i(F(n)),i('"'))})),i(">"))},end:function(e){e=x(e),!a&&!0===w[e]&&!0!==g[e]&&(i("</"),i(e),i(">")),e==a&&(a=!1)},chars:function(e){!a&&i(F(e))}}},c=e[m("0x1bf8")][m("0x20f")][m("0x2a10")]||function(e){return!!(16&this[m("0x2fb2")](e))};var p=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,h=/([^#-~ |!])/g,g=N("area,br,col,hr,img,wbr"),v=N(m("0x2f85")),S=N(m("0x4281")),E=a({},S,v),A=a({},v,N(m("0x40bf")+m("0x4f54")+m("0xda5"))),T=a({},S,N(m("0xcf6")+m("0x42b")+m("0x298f"))),y=N("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),C=N(m("0x16f6")),w=a({},g,A,T,E),M=N(m("0x137e")),R=N(m("0x2cf5")+"color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,"+m("0xec3")+m("0x2357")+m("0x4818")),D=N(m("0x4d22")+m("0xaa9")+m("0x107e")+m("0x1409")+"height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,"+m("0x19b9")+m("0xf22")+m("0x565")+"requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,"+m("0x3c0e")+m("0x47ee")+m("0x31fe")+m("0x440b")+"xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),I=a({},M,D,R);function N(e,t){return O(e[m("0x9e5")](","),t)}function O(e,t){var n,a=m,r={};for(n=0;n<e[a("0x5e9")];n++)r[t?x(e[n]):e[n]]=!0;return r}function k(e,t){t&&t.length&&a(e,O(t))}var P=function(e,t){var n=m;if(function(){try{return!!i("")}catch(e){return!1}}())return i;if(!t||!t[n("0x4d0d")])throw f(n("0x19a8"),"Can't create an inert html document");var a=t[n("0x4d0d")][n("0x1f98")](n("0x268f")),r=(a[n("0x4c17")]||a.getDocumentElement())[n("0x31f7")](n("0x3b3e"));return function(e){var a=n;return r[a("0x18c4")]=e,t[a("0x3f66")]&&B(r),r};function i(t){var a=n;t=a("0x301f")+t;try{var r=(new(e[a("0x2cd4")]))[a("0x3cb3")](t,a("0x4645"))[a("0x3b3e")];return r.firstChild[a("0xf82")](),r}catch(e){return}}}(e,e[m("0x3afa")]);function L(e){for(var t=m,n={},a=0,r=e[t("0x5e9")];a<r;a++){var i=e[a];n[i.name]=i[t("0x3a33")]}return n}function F(e){var t=m;return e[t("0x3cc0")](/&/g,t("0xcfa")).replace(p,(function(e){var n=t;return"&#"+(1024*(e.charCodeAt(0)-55296)+(e[n("0x11df")](1)-56320)+65536)+";"}))[t("0x3cc0")](h,(function(e){return"&#"+e[t("0x11df")](0)+";"}))[t("0x3cc0")](/</g,t("0x244b"))[t("0x3cc0")](/>/g,"&gt;")}function B(t){for(var n=m;t;){if(t[n("0x4879")]===e.Node.ELEMENT_NODE)for(var a=t[n("0x184f")],r=0,i=a[n("0x5e9")];r<i;r++){var o=a[r],x=o[n("0x98c")].toLowerCase();(x===n("0x3a4a")||0===x[n("0x4e")](n("0xcc2"),0))&&(t[n("0x4a77")](o),r--,i--)}var s=t[n("0x2aab")];s&&B(s),t=Y(n("0x1681"),t)}}function Y(e,t){var n=m,a=t[e];if(a&&c[n("0x3c6b")](t,a))throw f(n("0x17c5"),n("0x4dc5"),t.outerHTML||t[n("0x484f")]);return a}})).info({angularVersion:"1.8.2"}),t.module(u("0x4dab"))[u("0x6a6")]("linky",[u("0x4581"),function(e){var n=u,a=/((s?ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,r=/^mailto:/i,i=t.$$minErr(n("0x398c")),o=t[n("0x64a")],x=t[n("0x4977")],c=t[n("0x1f1a")],l=t[n("0x1236")];return function(t,f,m){var b=n;if(null==t||""===t)return t;if(!l(t))throw i(b("0x3df8"),"Expected string but received: {0}",t);for(var _,p,h,g=x(m)?m:c(m)?function(){return m}:function(){return{}},v=t,S=[];_=v.match(a);)p=_[0],!_[2]&&!_[4]&&(p=(_[3]?b("0x3cdb"):b("0x3fbe"))+p),h=_[b("0x2d50")],E(v[b("0x39fa")](0,h)),A(p,_[0].replace(r,"")),v=v.substring(h+_[0][b("0x5e9")]);return E(v),e(S.join(""));function E(e){var t,n,a;e&&S.push((t=e,n=u,d(a=[],s)[n("0x3285")](t),a.join("")))}function A(e,t){var n,a=b,r=g(e);for(n in S[a("0x459a")](a("0x4f56")),r)S[a("0x459a")](n+'="'+r[n]+'" ');o(f)&&!(a("0x55d")in r)&&S.push(a("0xf46"),f,'" '),S[a("0x459a")]('href="',e[a("0x3cc0")](/"/g,"&quot;"),'">'),E(t),S[a("0x459a")]("</a>")}}}])},7131:(e,t,n)=>{var a=_0x299160;n(768),e[a("0x33f9")]="ngSanitize"},7855:()=>{!function(e,t){var n=a2_0x37cf,a=t[n("0x39e9")]("angular-sortable-view",[]);function r(e){var t=n;if(!("clientX"in e)&&!(t("0x1c24")in e)){var a=e[t("0x4d33")]||e[t("0x2154")][t("0x4d33")];a&&a[t("0x5e9")]&&(e[t("0x9f5")]=a[0].clientX,e[t("0x1c24")]=a[0][t("0x1c24")]),e[t("0xe50")]()}}a[n("0x1b75")](n("0x809"),[function(){var e=n;function a(e){return s[e]}function r(e){var t=a2_0x37cf;return[{x:e.left,y:e[t("0x228a")]},{x:e[t("0x2885")]+e[t("0xbbf")],y:e[t("0x228a")]},{x:e.left,y:e[t("0x228a")]+e[t("0x4e66")]},{x:e[t("0x2885")]+e[t("0xbbf")],y:e[t("0x228a")]+e[t("0x4e66")]},{x:e.left+e[t("0xbbf")]/2,y:e[t("0x228a")]+e[t("0x4e66")]/2}]}function i(e,t){var n=a2_0x37cf;return e.x>=t[0].x&&e.x<=t[1].x&&e.y>=t[0].y&&e.y<=t[2].y?0:Math.min[n("0x4884")](Math,t[n("0x19e8")]((function(t){return(t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y)})))}var o,s=Object[e("0x4b8c")](null);return{restrict:"A",controller:[e("0x36af"),e("0x428f"),e("0x3a1e"),e("0x68c"),function(c,l,d,u){var f=e,m=d(l[f("0x809")])(c)||c[f("0x2933")];s[m]||(s[m]=[]);var b,_,p,h,g,v=!1,S=u(l[f("0x3760")]);l.svOnStart=l[f("0x3af4")][0][f("0x184f")][f("0x1183")],l[f("0x3c10")]=l.svOnStart&&l[f("0x3c10")][f("0x3a33")],l.svOnStop=l[f("0x3af4")][0][f("0x184f")][f("0x3138")],l[f("0x318")]=l.svOnStop&&l[f("0x318")][f("0x3a33")];var E=u(l[f("0x3c10")]),A=u(l[f("0x318")]);if(this[f("0x3f63")]=function(){return o},l[f("0x3d1e")]){if(null===(v=l[f("0x3d1e")]===f("0x1509")||l.svGrid!==f("0x22b7")&&null))throw f("0x4555")}else c[f("0x49f2")]((function(){return a(m)}),(function(e){var t=f;v=!1;var n=e[t("0x6a6")]((function(e){return!e[t("0x110e")]}))[t("0x19e8")]((function(e){var n=t;return{part:e[n("0x3147")]().id,y:e[n("0xb48")][0].getBoundingClientRect()[n("0x228a")]}})),a=Object[t("0x4b8c")](null);n[t("0x5ba")]((function(e){var n=t;a[e.part]?a[e[n("0x2291")]].push(e.y):a[e.part]=[e.y]})),Object.keys(a)[t("0x5ba")]((function(e){var n=t;a[e][n("0x4d63")](),a[e].forEach((function(t,r){var i=n;r<a[e][i("0x5e9")]-1&&t>0&&t===a[e][r+1]&&(v=!0)}))}))}));this[f("0x3360")]=function(e,s,l,d,u,S,A){var T=f,y=l[0][T("0x1a8b")]();e[T("0x23b6")]===T("0xb48")&&(s={x:~~(y[T("0x2885")]+y[T("0xbbf")]/2),y:~~(y[T("0x228a")]+y[T("0x4e66")]/2)}),o=!0,b=[],!_&&(u?(_=u[T("0x42df")]()).removeClass(T("0x2b2b")):((_=d[T("0x42df")]())[T("0x31dc")](T("0x3d84")),_.addClass(T("0x4fcf")),_[T("0x42b1")]({height:y[T("0x4e66")]+"px",width:y[T("0xbbf")]+"px"})),d.after(_),!S[T("0x2d62")]&&d.addClass(T("0x2b2b")),h=d,e,E(c,{$helper:{element:p=l},$part:S[T("0x4933")](S[T("0xd20")]),$index:A,$item:S[T("0x4933")](S[T("0xd20")])[A]}),c[T("0x645")]&&c[T("0x645")][T("0x4fca")]||c[T("0xd66")]()),p[0][T("0xc78")]({x:s.x+document[T("0x3b3e")].scrollLeft-s[T("0x1feb")].x*y[T("0xbbf")],y:s.y+document[T("0x3b3e")][T("0x1423")]-s.offset.y*y[T("0x4e66")]}),a(m).forEach((function(t,n){var a=T;if(null==e.containment||x(t[a("0xb48")],e[a("0x1475")])||x(t[a("0xb48")],e[a("0x1475")]+" *")){var o,c,l,d=t[a("0xb48")][0][a("0x1a8b")](),u=r(d),f={x:~~(d[a("0x2885")]+d[a("0xbbf")]/2),y:~~(d[a("0x228a")]+d[a("0x4e66")]/2)},m={x:~~(d[a("0x2885")]+d[a("0xbbf")]/2),y:~~d[a("0x228a")]},_={x:~~d[a("0x2885")],y:~~(d[a("0x228a")]+d[a("0x4e66")]/2)};if(!t.container&&(t[a("0xb48")][0][a("0x2afd")]||t[a("0xb48")][0].scrollWidth)){var p=t[a("0x3147")]();b[a("0x459a")]({element:t[a("0xb48")],q:i(s,u),view:p,targetIndex:t[a("0x1101")](),after:(o=f,c=s,l="isGrid"in p?p.isGrid:v,l?o.x-c.x<0:o.y-c.y<0)})}if(t[a("0x110e")]&&!t[a("0xb48")][0][a("0x31f7")](a("0x44c8"))){var h=f;t[a("0x4f09")]===a("0x40a3")?h=_:"horizontal"===t.centerVariant&&(h=m),b[a("0x459a")]({element:t[a("0xb48")],q:(h.x-s.x)*(h.x-s.x)+(h.y-s.y)*(h.y-s.y),view:t[a("0x3147")](),targetIndex:0,container:!0})}}}));var C=_[0][T("0x1a8b")]();b.push({q:i(s,r(C)),element:_,placeholder:!0}),b.sort((function(e,t){return e.q-t.q})),b[T("0x5ba")]((function(e,a){var r,i,o,x,s=T;0!==a||e.placeholder||e[s("0x110e")]?0===a&&e.container?(g=e,e[s("0xb48")][s("0x136a")](_)):e[s("0xb48")][s("0xa81")]("sv-candidate"):(g=e,e.element[s("0x31dc")](s("0x2062")),e[s("0x477b")]?e[s("0xb48")][s("0x477b")](_):(r=e[s("0xb48")],i=_,o=n,(x=function(e){var a=n;if((e=e[0])[a("0x1f71")])return t[a("0xb48")](e[a("0x1f71")]);for(var r=e[a("0x19ab")];null!=r&&1!=r.nodeType;)r=r[a("0x19ab")];return t[a("0xb48")](r)}(r))[o("0x5e9")]>0?x[o("0x477b")](i):r[o("0x731")]()[o("0x2bdd")](i)))}))},this[f("0x3e95")]=function(e,t,n){var a=f;if(_)if(!n.revert||g&&g.view&&g.view.noRevert)l();else{var r=_[0][a("0x1a8b")](),i=p[0][a("0x1a8b")](),x=Math.sqrt(Math[a("0x3861")](i.top-r.top,2)+Math.pow(i[a("0x2885")]-r.left,2)),s=+n.revert*x/200;s=Math[a("0x11db")](s,+n[a("0x2fed")]),[a("0x4dc9"),a("0x425"),"-ms-",a("0x367b"),""][a("0x5ba")]((function(e){var t=a;typeof p[0].style[e+t("0x2f61")]!==t("0xc42")&&(p[0].style[e+t("0x2f61")]=t("0x4361")+s+"ms ease")})),setTimeout(l,s),p[a("0x42b1")]({top:r[a("0x228a")]+document[a("0x3b3e")].scrollTop+"px",left:r[a("0x2885")]+document[a("0x3b3e")][a("0xc1")]+"px"})}function l(){var r=a;if(o=!1,_[r("0xf82")](),p[r("0xf82")](),h[r("0xa81")](r("0x2b2b")),b=void 0,_=void 0,n=void 0,p=void 0,h=void 0,A(c,{$part:e[r("0x4933")](e[r("0xd20")]),$index:t,$item:e[r("0x4933")](e.scope)[t]}),g){g[r("0xb48")][r("0xa81")](r("0x2062"));var i=e.model(e[r("0xd20")])[r("0x2bcf")](t,1),x=g.targetIndex;g.view===e&&g[r("0xb90")]>t&&x--,g[r("0x477b")]&&x++,g[r("0xaf1")][r("0x4933")](g[r("0xaf1")][r("0xd20")])[r("0x2bcf")](x,0,i[0]),g[r("0xaf1")]===e&&t===x||S(c,{$partTo:g[r("0xaf1")][r("0x4933")](g.view[r("0xd20")]),$partFrom:e[r("0x4933")](e.scope),$item:i[0],$indexTo:x,$indexFrom:t})}g=void 0,c[r("0x645")]&&c[r("0x645")][r("0x4fca")]||c.$apply()}},this[f("0x942")]=function(e){var t=f;a(m)[t("0x459a")](e)},this[f("0x16a")]=function(e){var t=f,n=a(m),r=n.indexOf(e);r>-1&&(n[t("0x2bcf")](r,1),0===n[t("0x5e9")]&&delete s[m])}}]}}]),a.directive(n("0x3790"),[n("0x68c"),function(e){var t=n;return{restrict:"A",require:t("0xfd1"),controller:["$scope",function(e){var n=t;e[n("0x387e")]=this,this[n("0x3147")]=function(){return e[n("0x2291")]},this[n("0x3e95")]=function(t,a){var r=n;e.$sortableRoot[r("0x3e95")](e[r("0x2291")],t,a)}}],scope:!0,link:function(n,a,r,i){var o=t;if(!r.svPart)throw new Error(o("0x285c"));var x=e(r[o("0x3790")]);if(!x[o("0x3df0")])throw new Error(o("0x1975"));n.part={id:n[o("0x2933")],element:a,model:x,copyMode:r[o("0x24da")]===o("0x1509"),noRevert:r.svNoRevert===o("0x1509"),scope:n},o("0x3f50")in r&&(n[o("0x2291")].isGrid=r[o("0x3f50")]===o("0x1509")),n.$sortableRoot=i;var s={element:a,getPart:n[o("0x387e")].getPart,container:!0,centerVariant:r[o("0x913")]||o("0x4ceb")};i.addToSortableElements(s),n[o("0x24c9")](o("0x4c91"),(function(){i.removeFromSortableElements(s)}))}}}]),a[n("0x1b75")](n("0x434a"),[n("0x68c"),function(e){var a=n;return{restrict:"A",require:["^svPart",a("0xfd1")],controller:[a("0x36af"),function(e){e.$ctrl=this}],link:function(n,i,o,x){var c=a,l={element:i,getPart:x[0].getPart,getIndex:function(){return n[a2_0x37cf("0x3f96")]}};x[1][c("0x942")](l),n[c("0x24c9")](c("0x4c91"),(function(){var e=c;x[1][e("0x16a")](l)}));var d,u,f=i;f.on(c("0x2b13"),_),n[c("0x7a")]("$ctrl.handle",(function(e){var t=c;e&&(f[t("0x30f8")](t("0x2b13"),_),(f=e).on("mousedown touchstart",_))})),n[c("0x7a")](c("0x2ffd"),(function(e){e&&(d=e)})),n[c("0x7a")]("$ctrl.placeholder",(function(e){e&&(u=e)}));t[c("0xb48")](document.body);var m,b=t[c("0xb48")](document[c("0x4c17")]);function _(a){var l=c;if(r(a),!x[1][l("0x3f63")]()&&(0==a[l("0x22d7")]||a[l("0x3298")]!==l("0x4a2b"))){var f=a[l("0x55d")][l("0x184f")][l("0x24cb")];if(!f||"true"!==f[l("0x3a33")]){m=!1;var _=e(o[l("0x434a")])(n);if((_=t.extend({},{tolerance:l("0x452d"),revert:200,containment:l("0x1059")},_))[l("0x1475")])var p=s[l("0x3c6b")](i,_[l("0x1475")])[0][l("0x1a8b")]();var h,g=i,v=i[0][l("0x1a8b")]();d||(d=x[0][l("0x44db")]),u||(u=x[0][l("0x21e2")]),d?((h=d[l("0x42df")]())[l("0xa81")](l("0x2b2b")),h.css({left:v[l("0x2885")]+document[l("0x3b3e")][l("0xc1")]+"px",top:v[l("0x228a")]+document[l("0x3b3e")].scrollTop+"px"}),g[l("0x31dc")](l("0x3d84"))):(h=g.clone())[l("0x31dc")](l("0x3caa"))[l("0x42b1")]({left:v[l("0x2885")]+document.body.scrollLeft+"px",top:v[l("0x228a")]+document.body[l("0x1423")]+"px",width:v[l("0xbbf")]+"px"}),h[0][l("0xc78")]=function(e){var t=l,n=e.x,a=e.y,r=h[0][t("0x1a8b")](),i=document[t("0x3b3e")];p&&(a<p[t("0x228a")]+i.scrollTop&&(a=p[t("0x228a")]+i.scrollTop),a+r[t("0x4e66")]>p[t("0x228a")]+i[t("0x1423")]+p[t("0x4e66")]&&(a=p[t("0x228a")]+i[t("0x1423")]+p[t("0x4e66")]-r[t("0x4e66")]),n<p[t("0x2885")]+i.scrollLeft&&(n=p[t("0x2885")]+i[t("0xc1")]),n+r.width>p[t("0x2885")]+i[t("0xc1")]+p[t("0xbbf")]&&(n=p[t("0x2885")]+i[t("0xc1")]+p.width-r[t("0xbbf")])),this[t("0x4025")][t("0x2885")]=n-i[t("0xc1")]+"px",this.style[t("0x228a")]=a-i[t("0x1423")]+"px"};var S={x:(a.clientX-v[l("0x2885")])/v[l("0xbbf")],y:(a[l("0x1c24")]-v.top)/v[l("0x4e66")]};b[l("0x31dc")](l("0x6ef")),b.on("mousemove touchmove",E).on(l("0x27c9"),(function e(t){var a=l;b.off(a("0x2785"),E),b[a("0x30f8")](a("0x27c9"),e),b[a("0xa81")](a("0x6ef")),m&&x[0][a("0x3e95")](n[a("0x3f96")],_),i[a("0xa81")](a("0x3d84"))}))}}function E(e){var t=l;r(e),!m&&(i[t("0x731")]()[t("0x2bdd")](h),m=!0),x[1][t("0x3360")](_,{x:e[t("0x9f5")],y:e[t("0x1c24")],offset:S},h,i,u,x[0].getPart(),n[t("0x3f96")])}}}}}]),a.directive("svHandle",(function(){var e=n;return{require:e("0x4c94"),link:function(t,n,a,r){var i=e;r&&(r[i("0x4757")]=n[i("0x2d6e")](r[i("0x4757")]))}}})),a[n("0x1b75")](n("0x3e81"),(function(){var e=n;return{require:[e("0x1ca1"),e("0x4c94")],link:function(t,n,a,r){var i=e;n[i("0x31dc")]("sv-helper").addClass("ng-hide"),r[1]?r[1][i("0x44db")]=n:r[0]&&(r[0].helper=n)}}})),a[n("0x1b75")]("svPlaceholder",(function(){var e=n;return{require:[e("0x1ca1"),e("0x4c94")],link:function(t,n,a,r){var i=e;n[i("0x31dc")]("sv-placeholder")[i("0x31dc")]("ng-hide"),r[1]?r[1][i("0x21e2")]=n:r[0]&&(r[0][i("0x21e2")]=n)}}})),t.element(document[n("0x1d45")]).append([n("0x44dc")+".sv-helper{"+n("0x10a6")+n("0x23f2")+"margin: 0 !important;}"+n("0x4c62")+"}"+n("0x32e1")+"}"+n("0x2151")+n("0x2ae0")+n("0x7d3")+n("0x3e11")+n("0x24a0")+"}"+n("0x2068")+n("0x44fc")+n("0x1591")+"}"+n("0x20d")][n("0xc60")](""));var i=document[n("0x4c17")],o=i[n("0x3c01")]?n("0x3c01"):i[n("0x24fa")]?n("0x24fa"):i[n("0x3c11")]?n("0x3c11"):i[n("0x46d8")]?"webkitMatchesSelector":i[n("0x529")]?n("0x529"):i[n("0x1e5f")]?n("0x1e5f"):i[n("0x1871")]?n("0x1871"):i[n("0x2cf1")]?n("0x2cf1"):null;if(null==o)throw n("0x2dd");function x(e,a){if(e instanceof t[n("0xb48")]&&(e=e[0]),null!==o)return e[o](a)}var s=t[n("0xb48")][n("0x20f")][n("0x2fc6")]||function(e){for(var a=n,r=this[0][a("0x368c")];r!==document[a("0x4c17")]&&!r[o](e);)r=r[a("0x368c")];return r[o](e)?t[a("0xb48")](r):t.element()};"function"!=typeof t[n("0xb48")].prototype.add&&(t[n("0xb48")][n("0x20f")].add=function(e){var a,r=n,i=t[r("0xb48")]();for(e=t[r("0xb48")](e),a=0;a<this.length;a++)i[r("0x459a")](this[a]);for(a=0;a<e[r("0x5e9")];a++)i[r("0x459a")](e[a]);return i})}(window,angular)},772:()=>{var e=_0x299160;angular[e("0x39e9")]("angular-toasty",[]),angular[e("0x39e9")](e("0xd13"))[e("0x1b75")](e("0x1f74"),[e("0x1f74"),e("0x38d4"),e("0x4f60"),function(t,n,a){var r=e;return{replace:!0,restrict:"EA",scope:!0,link:function(e,t,r){var i=a2_0x37cf,o=0,x=[i("0x3993"),i("0x89e"),i("0x31d1")];function s(t){var n=i;t?angular[n("0x5ba")](e.toasty,(function(a,r){var i=n;a.id==t&&(e[i("0x2050")]("toasty-cleared",e[i("0x1f74")][r]),a[i("0x3420")]&&angular[i("0x4977")](a.onRemove)&&a.onRemove[i("0x3c6b")](e[i("0x1f74")][r]),e[i("0x1f74")][i("0x2bcf")](r,1),e[i("0x4fca")]||e[i("0x437c")]())})):(angular[n("0x5ba")](e[n("0x1f74")],(function(t,a){var r=n;t[r("0x3420")]&&angular[r("0x4977")](t[r("0x3420")])&&t[r("0x3420")].call(e.toasty[a])})),e[n("0x1f74")]=[],e[n("0x2050")](n("0x23ee")))}function c(e,t,n){return 0!=t[n]&&(!!t[n]||e[n])}e[i("0x342c")]="",e.toasty=[],e[i("0x24c9")](i("0x2e3c"),(function(t,r){var l=i,d=r[l("0x1805")],u=r[l("0x16d1")];e[l("0x342c")]||(e[l("0x342c")]=l("0x45a8")+d[l("0x342c")]),function(t,r){var l=i;o++;var d,u=c(t,r,l("0x2798")),f=c(t,r,l("0xb3d")),m=c(t,r,l("0x3356")),b=c(t,r,"html"),_=c(t,r,l("0x4dc4"));d=r[l("0x4228")]&&x.indexOf(r[l("0x4228")])>-1?r[l("0x4228")]:t[l("0x4228")];e.toasty[l("0x5e9")]>=t.limit&&e[l("0x1f74")][l("0x4534")]();u&&document.getElementById("toasty-sound").play();var p={id:o,title:b?a[l("0x1243")](r[l("0x2fdc")]):r[l("0x2fdc")],msg:b?a.trustAsHtml(r[l("0x309e")]):r[l("0x309e")],showClose:f,clickToClose:m,sound:u,shake:_?l("0x273b"):"",html:b,type:"toasty-type-"+r[l("0x3298")],theme:l("0x2826")+d,onAdd:r.onAdd&&angular[l("0x4977")](r[l("0xdd8")])?r.onAdd:null,onRemove:r.onRemove&&angular[l("0x4977")](r[l("0x3420")])?r.onRemove:null,onClick:r[l("0x458e")]&&angular[l("0x4977")](r[l("0x458e")])?r[l("0x458e")]:null,onAccept:r[l("0x440d")]&&angular[l("0x4977")](r[l("0x440d")])?r[l("0x440d")]:null,onReject:r[l("0x4db6")]&&angular[l("0x4977")](r.onReject)?r[l("0x4db6")]:null};e[l("0x1f74")][l("0x459a")](p),r.onAdd&&angular[l("0x4977")](r[l("0xdd8")])&&r[l("0xdd8")][l("0x3c6b")](p);e.$broadcast(l("0x3b14"),p),0!=r.timeout&&(r[l("0x1612")]||t[l("0x1612")])&&(h=e[l("0x1f74")][e[l("0x1f74")][l("0x5e9")]-1],g=r[l("0x1612")]||t[l("0x1612")],h.timeout=n((function(){s(h.id)}),g));var h,g}(d,u)})),e.$on(i("0x35e3"),(function(e,t){s(t.id)})),e[i("0x440f")]=function(e){s(e)},e[i("0x420c")]=function(t){var n=i;e.$broadcast(n("0x49c2"),t),t.onClick&&angular[n("0x4977")](t.onClick)&&t[n("0x458e")][n("0x3c6b")](t),t[n("0x3356")]&&s(t.id)}},template:r("0x3249")+r("0x2447")+r("0x1ca9")+r("0x294d")+r("0x3107")+r("0x3f58")+r("0x4c1d")+'<br ng-if="toast.title && toast.msg" />'+r("0x2576")+r("0x1d06")+r("0x3763")+r("0x4bec")+r("0x368f")+r("0x1fa8")+r("0x1fa8")+r("0x1fa8")+"</div>"}}]),angular[e("0x39e9")](e("0xd13"))[e("0x4b0")](e("0x2688"),(function(){var t={limit:5,showClose:!0,clickToClose:!1,position:e("0x41e4"),timeout:5e3,sound:!0,html:!1,shake:!1,theme:"default"},n={};return{setConfig:function(e){n=e},$get:function(){return{config:angular.extend(t,n)}}}})),angular[e("0x39e9")](e("0xd13"))[e("0x3faf")]("toasty",["$rootScope",e("0x2688"),function(t,n){var a=e,r=n[a("0x1805")],i=function(e,n){var i=a;(angular[i("0x1236")](e)&&""!=e||angular.isNumber(e))&&(e={title:e.toString()}),e&&(e[i("0x2fdc")]||e[i("0x309e")])?(e.type=n||i("0x3993"),t[i("0x2050")]("toasty-new",{config:r,options:e})):console[i("0x4ad3")](i("0xc17"))};return i.default=function(e){i(e)},i[a("0x14eb")]=function(e){i(e,a("0x14eb"))},i[a("0x3f2")]=function(e){i(e,a("0x3f2"))},i[a("0x256d")]=function(e){i(e,a("0x256d"))},i.error=function(e){i(e,a("0x4ad3"))},i[a("0x1b0d")]=function(e){i(e,"warning")},i[a("0x2066")]=function(e){var n=a;t.$broadcast(n("0x35e3"),{id:e})},i.getGlobalConfig=function(){return r},i}])},3583:function(e,t){var n,a;a=a2_0x37cf,void 0===(n=function(){return function(){var e=a2_0x37cf;function t(){var t=e;function n(e,t,n){var a=a2_0x37cf;this[a("0x98c")]=e,this[a("0x1494")]=!0,this[a("0x4c83")]={},this[a("0x20e3")]=t||0,this[a("0x32e4")]={},this[a("0xc19")]=n}n[t("0x20f")][t("0x3de7")]=function(e,n){var a=t;return angular.isFunction(e)?e(this.name,n):e[a("0x3cc0")](/\{part\}/g,this.name)[a("0x3cc0")](/\{lang\}/g,n)},n[t("0x20f")][t("0x3e7")]=function(e,n,a,r,i,o){var x=t,s=this,c=this[x("0x32e4")][e],l=n[x("0x3a26")](),d=function(){var t=x;return a(angular[t("0x3448")]({method:t("0x30f1"),url:s.parseUrl(s[t("0xc19")]||i,e)},r))},u=function(t){s[x("0x4c83")][e]=t,l.resolve(t)},f=function(){var e=x;l.reject(s[e("0x98c")])},m=function(){var t=x;d()[t("0x34e8")]((function(e){u(e.data)}),(function(n){var a=t;o?o(s.name,e,n)[a("0x34e8")](u,f):f()}))};return this[x("0x4c83")][e]?l[x("0x407b")](this[x("0x4c83")][e]):(c?c[x("0x34e8")](l[x("0x407b")],m):m(),this.langPromises[e]=l[x("0x234e")]),l[x("0x234e")]};var a={};function r(e){var n=t;return Object[n("0x20f")][n("0x1bd4")].call(a,e)}function i(e){return angular[t("0x1236")](e)&&""!==e}function o(e){var n=t;if(!i(e))throw new TypeError(n("0x1c4d"));return r(e)&&a[e][n("0x1494")]}function x(e,n){var a=t;for(var r in n)n[r]&&n[r].constructor&&n[r][a("0x11ae")]===Object?(e[r]=e[r]||{},x(e[r],n[r])):e[r]=n[r];return e}function s(){var e=t,n=[];for(var r in a)a[r][e("0x1494")]&&n[e("0x459a")](a[r]);return n[e("0x4d63")]((function(t,n){var a=e;return t[a("0x20e3")]-n[a("0x20e3")]})),n}this[t("0x1594")]=function(e,o,x){var s=t;if(!i(e))throw new TypeError("Couldn't add part, part name has to be a string!");return!r(e)&&(a[e]=new n(e,o,x)),a[e][s("0x1494")]=!0,this},this[t("0x3013")]=function(e,o,x){var s=t;if(!i(e))throw new TypeError(s("0x8bd"));if(!i(o))throw new TypeError("Couldn't set part.`part` parameter has to be a string!");if(typeof x!==s("0x1b1d")||null===x)throw new TypeError(s("0x1bd6"));return!r(o)&&(a[o]=new n(o),a[o].isActive=!1),a[o][s("0x4c83")][e]=x,this},this[t("0x21ec")]=function(e){if(!i(e))throw new TypeError("Couldn't delete part, first arg has to be string.");return r(e)&&(a[e].isActive=!1),this},this.isPartAvailable=o,this[t("0x1cc9")]=["$rootScope",t("0x1f10"),"$q","$http",t("0x1a4"),function(e,c,l,d,u){var f=t,m=function(t){var n=a2_0x37cf;if(!i(t.key))throw new TypeError(n("0x1633"));if(!i(t[n("0xc19")])&&!angular[n("0x4977")](t[n("0xc19")]))throw new TypeError(n("0x2e93"));var a=t[n("0x273")];if(void 0!==a){if(!angular.isString(a))throw new Error("Unable to load data, a loadFailureHandler is not a string.");a=c.get(a)}var r=[],o=s();angular[n("0x5ba")](o,(function(e){var i=n;r[i("0x459a")](e[i("0x3e7")](t[i("0x2646")],l,d,t.$http,t[i("0xc19")],a)),e.urlTemplate=e[i("0xc19")]||t[i("0xc19")]}));var f=!1,b=e.$on("$translatePartialLoaderStructureChanged",(function(){f=!0}));return l[n("0x3217")](r)[n("0x34e8")]((function(){var e=n;if(b(),f){if(!t[e("0x2a42")])return t[e("0x2a42")]=(t.__retries||0)+1,m(t);u.warn(e("0x4dd4")+e("0xc25")+"$translate.refresh(). Also parts should be added/removed right before an explicit refresh "+e("0x4ff4"))}var a={};return o=s(),angular[e("0x5ba")](o,(function(n){var r=e;x(a,n[r("0x4c83")][t[r("0x2646")]])})),a}),(function(){var e=n;return b(),l[e("0x2078")](t[e("0x2646")])}))};return m[f("0x1594")]=function(t,o,x){var s=f;if(!i(t))throw new TypeError(s("0x33cf"));return r(t)?!a[t].isActive&&(a[t][s("0x1494")]=!0,e[s("0x7e0")](s("0x22a1"),t)):(a[t]=new n(t,o,x),e[s("0x7e0")](s("0x22a1"),t)),m},m[f("0x21ec")]=function(t,n){var o=f;if(!i(t))throw new TypeError("Couldn't delete part, first arg has to be string");if(void 0===n)n=!1;else if(typeof n!==o("0xacc"))throw new TypeError(o("0x4fa8"));if(r(t)){var x=a[t].isActive;if(n){var s=c[o("0x1cf")](o("0x1a1b"))[o("0x222a")]();typeof s===o("0x38b7")&&(s=c[o("0x1cf")](s)),typeof s===o("0x1b1d")&&angular[o("0x5ba")](a[t][o("0x4c83")],(function(e,n){s[o("0xf82")](a[t].parseUrl(a[t].urlTemplate,n))})),delete a[t]}else a[t].isActive=!1;x&&e[o("0x7e0")]("$translatePartialLoaderStructureChanged",t)}return m},m[f("0x3102")]=function(e,t){var n=f;return angular[n("0x64a")](a[e])&&angular[n("0x64a")](a[e].tables[t])},m.getRegisteredParts=function(){var e=f,t=[];return angular[e("0x5ba")](a,(function(n){var a=e;n[a("0x1494")]&&t.push(n[a("0x98c")])})),t},m[f("0x2e2d")]=o,m}]}return angular[e("0x39e9")](e("0x41cf"))[e("0x4b0")](e("0x2737"),t),t.displayName="$translatePartialLoader",e("0x41cf")}()}.apply(t,[]))||(e[a("0x33f9")]=n)},2067:function(e,t){var n,a;n=[],void 0===(a=function(){return function(){var e=a2_0x37cf;function t(t){var n=e,a=t[n("0x213c")](),r=t[n("0x3db5")](),i=function(){var e=n,i=t[e("0x3540")]();angular.isString(i)?t[e("0x127d")](i):r[e("0x32f3")](a,t[e("0x127d")]())};i[n("0x2d03")]="fallbackFromIncorrectStorageValue",r?r.get(a)?t.use(r.get(a)).catch(i):i():angular.isString(t[n("0x3540")]())&&t.use(t.preferredLanguage())}function n(){var t,n,a,r=e,i=null,o=!1,x=!1;(a={sanitize:function(e,t){return t===a2_0x37cf("0x806")&&(e=c(e)),e},escape:function(e,t){return t===a2_0x37cf("0x806")&&(e=s(e)),e},sanitizeParameters:function(e,t){return t===a2_0x37cf("0x48ad")&&(e=d(e,c)),e},escapeParameters:function(e,t){return t===a2_0x37cf("0x48ad")&&(e=d(e,s)),e},sce:function(e,t,n){var a=a2_0x37cf;return"text"===t?e=l(e):t===a("0x48ad")&&"filter"!==n&&(e=d(e,s)),e},sceParameters:function(e,t){return t===a2_0x37cf("0x48ad")&&(e=d(e,l)),e}}).escaped=a[r("0x3655")],this[r("0x2093")]=function(e,t){return a[e]=t,this},this.removeStrategy=function(e){return delete a[e],this},this.useStrategy=function(e){return o=!0,i=e,this},this[r("0x1cc9")]=[r("0x1f10"),r("0x1a4"),function(e,s){var c,l=r,d={},u=function(t,n,r,i){var o=a2_0x37cf;return angular[o("0x5ba")](i,(function(i){var x=o;if(angular[x("0x4977")](i))t=i(t,n,r);else if(angular[x("0x4977")](a[i]))t=a[i](t,n,r);else{if(!angular.isString(a[i]))throw new Error(x("0x47b1")+i+"'");if(!d[a[i]])try{d[a[i]]=e[x("0x1cf")](a[i])}catch(e){throw d[a[i]]=function(){},new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+i+"'")}t=d[a[i]](t,n,r)}})),t},f=function(){var e=a2_0x37cf;!o&&!x&&(s.warn(e("0x1ff9")),x=!0)};return e.has(l("0x4581"))&&(t=e.get(l("0x4581"))),e[l("0x519")](l("0x4f60"))&&(n=e[l("0x1cf")](l("0x4f60"))),{useStrategy:(c=this,function(e){c.useStrategy(e)}),sanitize:function(e,t,n,a){var r=l;if(!i&&f(),!n&&null!==n&&(n=i),!n)return e;!a&&(a=r("0xc3b"));var o=angular[r("0x498f")](n)?n:[n];return u(e,t,a,o)}}}];var s=function(e){var t=r,n=angular[t("0xb48")](t("0x1760"));return n.text(e),n.html()},c=function(e){if(!t)throw new Error(r("0x267e"));return t(e)},l=function(e){var t=r;if(!n)throw new Error(t("0x49a2"));return n[t("0x1243")](e)},d=function(e,t,n){var a=r;if(angular[a("0x24a9")](e))return e;if(angular[a("0x1f1a")](e)){var i=angular.isArray(e)?[]:{};if(n){if(n[a("0x3507")](e)>-1)throw new Error(a("0x39a7"))}else n=[];return n[a("0x459a")](e),angular[a("0x5ba")](e,(function(e,r){angular[a("0x4977")](e)||(i[r]=d(e,t,n))})),n[a("0x2bcf")](-1,1),i}return angular[a("0x1ba0")](e)||!0===e||!1===e||angular[a("0x29ab")](e)||null===e?e:t(e)}}function a(t,n,a,r){var i,o,x,s,c,l,d,u,f,m,b,_,p,h,g,v,S=e,E={},A=[],T=t,y=[],C="translate-cloak",w=!1,M=!1,R=".",D=!1,I=!1,N=0,O=!0,k=S("0x3993"),P={default:function(e){var t=S;return(e||"").split("-")[t("0xc60")]("_")},java:function(e){var t=S,n=(e||"")[t("0x9e5")]("-")[t("0xc60")]("_"),a=n[t("0x9e5")]("_");return a[t("0x5e9")]>1?a[0][t("0x2eb9")]()+"_"+a[1].toUpperCase():n},bcp47:function(e){var t=S,n=(e||"")[t("0x9e5")]("_").join("-"),a=n.split("-");switch(a[t("0x5e9")]){case 1:a[0]=a[0][t("0x2eb9")]();break;case 2:a[0]=a[0].toLowerCase(),4===a[1].length?a[1]=a[1][t("0x24de")](0).toUpperCase()+a[1][t("0x9b3")](1)[t("0x2eb9")]():a[1]=a[1][t("0x110")]();break;case 3:a[0]=a[0].toLowerCase(),a[1]=a[1][t("0x24de")](0)[t("0x110")]()+a[1][t("0x9b3")](1).toLowerCase(),a[2]=a[2].toUpperCase();break;default:return n}return a[t("0xc60")]("-")},"iso639-1":function(e){var t=S;return(e||"").split("_")[t("0xc60")]("-")[t("0x9e5")]("-")[0][t("0x2eb9")]()}},L="2.18.3",F=function(){var e=S;if(angular[e("0x4977")](r[e("0x2719")]))return r[e("0x2719")]();var t,a,i=n[e("0x1cc9")]()[e("0x149d")],o=["language",e("0x2c2b"),e("0x154d"),e("0x429c")];if(angular[e("0x498f")](i[e("0x2324")]))for(t=0;t<i[e("0x2324")][e("0x5e9")];t++)if((a=i.languages[t])&&a[e("0x5e9")])return a;for(t=0;t<o.length;t++)if((a=i[o[t]])&&a[e("0x5e9")])return a;return null};F[S("0x2d03")]="angular-translate/service: getFirstBrowserLanguage";var B=function(){var e=F()||"";return P[k]&&(e=P[k](e)),e};B[S("0x2d03")]=S("0x2ca3");var Y=function(e,t){for(var n=0,a=e[S("0x5e9")];n<a;n++)if(e[n]===t)return n;return-1},G=function(){return this[S("0x3c88")]().replace(/^\s+|\s+$/g,"")},H=function(e){var t=S;return angular.isString(e)?e[t("0x2eb9")]():e},U=function(e){var t=S;if(e){for(var n,a=[],r=H(e),i=0,x=A.length;i<x;i++)a.push(H(A[i]));if((i=Y(a,r))>-1)return A[i];if(o)for(var s in o)if(o[t("0x1bd4")](s)){var c=!1,l=Object[t("0x20f")][t("0x1bd4")][t("0x3c6b")](o,s)&&H(s)===H(e);if("*"===s[t("0x9b3")](-1)&&(c=H(s[t("0x9b3")](0,-1))===H(e[t("0x9b3")](0,s[t("0x5e9")]-1))),(l||c)&&(n=o[s],Y(a,H(n))>-1))return n}var d=e[t("0x9e5")]("_");return d[t("0x5e9")]>1&&Y(a,H(d[0]))>-1?d[0]:void 0}},$=function(e,t){var n=S;if(!e&&!t)return E;if(e&&!t){if(angular.isString(e))return E[e]}else!angular[n("0x1f1a")](E[e])&&(E[e]={}),angular.extend(E[e],j(t));return this};this[S("0x82e")]=$,this[S("0x39b3")]=function(e){return e?(C=e,this):C},this[S("0x416f")]=function(e){return e?(R=e,this):R};var j=function(e,t,n,a){var r,i,o,x=S;for(r in!t&&(t=[]),!n&&(n={}),e)Object[x("0x20f")].hasOwnProperty[x("0x3c6b")](e,r)&&(o=e[r],angular[x("0x1f1a")](o)?j(o,t[x("0x3abc")](r),n,r):(i=t.length?""+t[x("0xc60")](R)+R+r:r,t[x("0x5e9")]&&r===a&&(n[""+t[x("0xc60")](R)]="@:"+i),n[i]=o));return n};j[S("0x2d03")]=S("0x3bd9"),this[S("0x2987")]=function(e){return y[S("0x459a")](e),this},this.useMessageFormatInterpolation=function(){var e=S;return this.useInterpolation(e("0xac5"))},this[S("0x2cce")]=function(e){return m=e,this},this[S("0x1c43")]=function(e){return a[S("0x2de4")](e),this},this[S("0x3540")]=function(e){return e?(V(e),this):i};var V=function(e){return e&&(i=e),i};this.translationNotFoundIndicator=function(e){var t=S;return this.translationNotFoundIndicatorLeft(e),this[t("0x263f")](e),this},this[S("0x3be7")]=function(e){return e?(p=e,this):p},this[S("0x263f")]=function(e){return e?(h=e,this):h},this[S("0x2469")]=function(e){return W(e),this};var W=function(e){var t=S;return e?(angular[t("0x1236")](e)?(s=!0,x=[e]):angular[t("0x498f")](e)&&(s=!1,x=e),angular[t("0x1236")](i)&&Y(x,i)<0&&x[t("0x459a")](i),this):s?x[0]:x};this[S("0x127d")]=function(e){if(e){if(!E[e]&&!b)throw new Error("$translateProvider couldn't find translationTable for langKey: '"+e+"'");return c=e,this}return c},this[S("0x2371")]=function(){return B()};var q=function(e){return e?(T=e,this):u?u+T:T};this.storageKey=q,this[S("0x40d0")]=function(e,t){return this[S("0x3a3e")]("$translateUrlLoader",angular.extend({url:e},t))},this[S("0x4c0e")]=function(e){var t=S;return this[t("0x3a3e")](t("0xbb1"),e)},this[S("0x3a3e")]=function(e,t){return b=e,_=t||{},this},this.useLocalStorage=function(){var e=S;return this[e("0x3b44")](e("0x172d"))},this[S("0x2a17")]=function(){var e=S;return this[e("0x3b44")](e("0x20e1"))},this[S("0x3b44")]=function(e){return d=e,this},this[S("0x172b")]=function(e){return e?(u=e,this):e},this[S("0x10d4")]=function(){var e=S;return this[e("0x34b4")](e("0x6e0"))},this[S("0x34b4")]=function(e){return f=e,this},this[S("0x2b5c")]=function(e){return w=!!e,this},this[S("0x1931")]=function(e){return M=!!e,this},this[S("0xf43")]=function(e){return e?angular[S("0x1236")](e)&&(e={standard:e}):e={},k=e.standard,this},this[S("0x420e")]=function(e){var t=S,n=e&&angular[t("0x4977")](e)?e():B();return i=A[t("0x5e9")]&&U(n)||n,this},this.registerAvailableLanguageKeys=function(e,t){return e?(A=e,t&&(o=t),this):A},this.useLoaderCache=function(e){var t=S;return!1===e?g=void 0:!0===e?g=!0:typeof e===t("0xc42")?g=t("0xdc"):e&&(g=e),this},this[S("0x1331")]=function(e){return void 0===e?N:(N=e,this)},this[S("0x1e50")]=function(e){return void 0===e?O:(O=e,this)},this[S("0x4ef4")]=function(e){return v=e||void 0,this},this[S("0x44d1")]=function(e){return I=!!e,this},this[S("0x1cc9")]=[S("0x1a4"),"$injector",S("0x47ed"),"$q",function(e,t,n,a){var r,o,u,k=S,P=t[k("0x1cf")](m||k("0x1a19")),F=!1,H={},z={},Q=function(e,t,n,s,l,u){var f=k;!c&&i&&(c=i);var m=l&&l!==c?U(l)||l:c;if(l&&ue(l),angular[f("0x498f")](e))return function(e){for(var r=f,i={},o=[],x=function(e){var r=a2_0x37cf,o=a.defer(),x=function(t){i[e]=t,o.resolve([e,t])};return Q(e,t,n,s,l,u)[r("0x34e8")](x,x),o[r("0x234e")]},c=0,d=e[r("0x5e9")];c<d;c++)o[r("0x459a")](x(e[c]));return a.all(o)[r("0x34e8")]((function(){return i}))}(e);var b=a[f("0x3a26")]();if(!e)throw new TypeError(f("0x3ff9"));e=G[f("0x4884")](e);var _=function(){var e=f,t=z[m]||z[i];if(o=0,d&&!t){var n=r.get(T);if(t=z[n],x&&x[e("0x5e9")]){var a=Y(x,n);o=0===a?1:0,Y(x,i)<0&&x[e("0x459a")](i)}}return t}();if(_){var p=function(){var a=f;!l&&(m=c),se(e,t,n,s,m,u).then(b[a("0x407b")],b.reject)};p.displayName=f("0x3461"),_[f("0x2cfe")](p)[f("0x373a")](angular[f("0x49d1")])}else se(e,t,n,s,m,u)[f("0x34e8")](b[f("0x407b")],b.reject);return b[f("0x234e")]},K=function(e){var t=k;return p&&(e=[p,e][t("0xc60")](" ")),h&&(e=[e,h][t("0xc60")](" ")),e},X=function(e){var t=k;c=e,d&&r[t("0x32f3")](Q.storageKey(),c),n[t("0x7e0")](t("0x29de"),{language:e}),P.setLocale(c);var a=function(e,t){H[t].setLocale(c)};a[t("0x2d03")]="eachInterpolatorLocaleSetter",angular[t("0x5ba")](H,a),n.$emit(t("0x1a01"),{language:e})},J=function(e){var r=k;if(!e)throw r("0xfa3");var i=a[r("0x3a26")]();n[r("0x7e0")](r("0x14ee"),{language:e}),F=!0;var o=g;typeof o===r("0x38b7")&&(o=t[r("0x1cf")](o));var x=angular[r("0x3448")]({},_,{key:e,$http:angular[r("0x3448")]({},{cache:o},_[r("0x3626")])}),s=function(t){var a=r,o={};n[a("0x7e0")]("$translateLoadingSuccess",{language:e}),angular.isArray(t)?angular[a("0x5ba")](t,(function(e){angular.extend(o,j(e))})):angular[a("0x3448")](o,j(t)),F=!1,i.resolve({key:e,table:o}),n[a("0x7e0")]("$translateLoadingEnd",{language:e})};s[r("0x2d03")]="onLoaderSuccess";var c=function(e){var t=r;n.$emit(t("0x2dd1"),{language:e}),i[t("0x2078")](e),n[t("0x7e0")](t("0x4514"),{language:e})};return c.displayName=r("0x185d"),t[r("0x1cf")](b)(x)[r("0x34e8")](s,c),i[r("0x234e")]};if(d&&(!(r=t[k("0x1cf")](d))[k("0x1cf")]||!r[k("0x32f3")]))throw new Error("Couldn't use storage '"+d+k("0x1cc2"));if(y[k("0x5e9")]){var Z=function(e){var n=k,a=t.get(e);a[n("0x45c1")](i||c),H[a[n("0x42fc")]()]=a};Z.displayName=k("0x29ed"),angular[k("0x5ba")](y,Z)}var ee=function(e){var t=k,n=a.defer();if(Object[t("0x20f")][t("0x1bd4")][t("0x3c6b")](E,e))n[t("0x407b")](E[e]);else if(z[e]){var r=function(e){var a=t;$(e[a("0x2646")],e[a("0x37f3")]),n[a("0x407b")](e[a("0x37f3")])};r[t("0x2d03")]=t("0x82b"),z[e].then(r,n[t("0x2078")])}else n.reject();return n[t("0x234e")]},te=function(e,t,n,r,i){var o=k,x=a.defer(),s=function(a){var o=a2_0x37cf;if(Object[o("0x20f")].hasOwnProperty.call(a,t)&&null!==a[t]){r[o("0x45c1")](e);var s=a[t];if("@:"===s.substr(0,2))te(e,s[o("0x39fa")](2),n,r,i)[o("0x34e8")](x[o("0x407b")],x.reject);else{var l=r[o("0x3543")](a[t],n,o("0xc3b"),i,t);l=de(t,a[t],l,n,e),x[o("0x407b")](l)}r.setLocale(c)}else x.reject()};return s[o("0x2d03")]="fallbackTranslationResolver",ee(e)[o("0x34e8")](s,x.reject),x[o("0x234e")]},ne=function(e,t,n,a,r){var i,o=k,x=E[e];if(x&&Object[o("0x20f")][o("0x1bd4")][o("0x3c6b")](x,t)&&null!==x[t]){if(a[o("0x45c1")](e),i=a[o("0x3543")](x[t],n,o("0x6a6"),r,t),i=de(t,x[t],i,n,e,r),!angular[o("0x1236")](i)&&angular[o("0x4977")](i.$$unwrapTrustedValue)){var s=i[o("0x3ab2")]();if("@:"===s[o("0x39fa")](0,2))return ne(e,s[o("0x39fa")](2),n,a,r)}else if("@:"===i.substr(0,2))return ne(e,i.substr(2),n,a,r);a[o("0x45c1")](c)}return i},ae=function(e,n,a,r){return f?t[k("0x1cf")](f)(e,c,n,a,r):e},re=function(e,t,n,r,i,o){var s=k,c=a[s("0x3a26")]();if(e<x.length){var l=x[e];te(l,t,n,r,o)[s("0x34e8")]((function(e){c[s("0x407b")](e)}),(function(){var a=s;return re(e+1,t,n,r,i,o)[a("0x34e8")](c[a("0x407b")],c.reject)}))}else if(i)c[s("0x407b")](i);else{var d=ae(t,n,i);f&&d?c.resolve(d):c.reject(K(t))}return c[s("0x234e")]},ie=function(e,t,n,a,r){var i;if(e<x[k("0x5e9")]){var o=x[e];!(i=ne(o,t,n,a,r))&&""!==i&&(i=ie(e+1,t,n,a))}return i},oe=function(e,t,n,a,r){return re(u>0?u:o,e,t,n,a,r)},xe=function(e,t,n,a){return ie(u>0?u:o,e,t,n,a)},se=function(e,t,n,r,i,o){var s=k,c=a[s("0x3a26")](),l=i?E[i]:E,d=n?H[n]:P;if(l&&Object[s("0x20f")][s("0x1bd4")].call(l,e)&&null!==l[e]){var u=l[e];if("@:"===u[s("0x39fa")](0,2))Q(u[s("0x39fa")](2),t,n,r,i,o).then(c[s("0x407b")],c.reject);else{var m=d[s("0x3543")](u,t,s("0xc3b"),o,e);m=de(e,u,m,t,i),c.resolve(m)}}else{var b;f&&!F&&(b=ae(e,t,r)),i&&x&&x[s("0x5e9")]?oe(e,t,d,r,o)[s("0x34e8")]((function(e){c[s("0x407b")](e)}),(function(e){c[s("0x2078")](K(e))})):f&&!F&&b?r?c[s("0x407b")](r):c[s("0x407b")](b):r?c[s("0x407b")](r):c[s("0x2078")](K(e))}return c.promise},ce=function(e,t,n,a,r){var i,s=k,c=a?E[a]:E,l=P;if(H&&Object[s("0x20f")][s("0x1bd4")][s("0x3c6b")](H,n)&&(l=H[n]),c&&Object[s("0x20f")][s("0x1bd4")][s("0x3c6b")](c,e)&&null!==c[e]){var d=c[e];"@:"===d[s("0x39fa")](0,2)?i=ce(d[s("0x39fa")](2),t,n,a,r):(i=l.interpolate(d,t,s("0x6a6"),r,e),i=de(e,d,i,t,a,r))}else{var u;f&&!F&&(u=ae(e,t,r)),a&&x&&x[s("0x5e9")]?(o=0,i=xe(e,t,l,r)):i=f&&!F&&u?u:K(e)}return i},le=function(e){l===e&&(l=void 0),z[e]=void 0},de=function(e,n,a,r,i,o){var x=v;return x&&(typeof x===k("0x38b7")&&(x=t.get(x)),x)?x(e,n,a,r,i,o):a},ue=function(e){var t=k;!E[e]&&b&&!z[e]&&(z[e]=J(e)[t("0x34e8")]((function(e){var n=t;return $(e[n("0x2646")],e[n("0x37f3")]),e})))};Q.preferredLanguage=function(e){return e&&V(e),i},Q[k("0x39b3")]=function(){return C},Q[k("0x416f")]=function(){return R},Q[k("0x2469")]=function(e){var t=k;if(null!=e){if(W(e),b&&x&&x[t("0x5e9")])for(var n=0,a=x[t("0x5e9")];n<a;n++)!z[x[n]]&&(z[x[n]]=J(x[n]));Q[t("0x127d")](Q[t("0x127d")]())}return s?x[0]:x},Q[k("0x4516")]=function(e){if(null!=e)if(e){var t=Y(x,e);t>-1&&(u=t)}else u=0},Q.proposedLanguage=function(){return l},Q.storage=function(){return r},Q.negotiateLocale=U,Q[k("0x127d")]=function(e){var t=k;if(!e)return c;var r=a[t("0x3a26")]();r[t("0x234e")].then(null,angular.noop),n[t("0x7e0")](t("0x2295"),{language:e});var i=U(e);return A[t("0x5e9")]>0&&!i?a[t("0x2078")](e):(i&&(e=i),l=e,!M&&E[e]||!b||z[e]?z[e]?z[e].then((function(e){var n=t;return l===e.key&&X(e[n("0x2646")]),r[n("0x407b")](e[n("0x2646")]),e}),(function(e){var n=t;return!c&&x&&x.length>0&&x[0]!==e?Q[n("0x127d")](x[0]).then(r[n("0x407b")],r[n("0x2078")]):r[n("0x2078")](e)})):(r[t("0x407b")](e),X(e)):(z[e]=J(e).then((function(n){var a=t;return $(n[a("0x2646")],n[a("0x37f3")]),r.resolve(n.key),l===e&&X(n[a("0x2646")]),n}),(function(e){var i=t;return n[i("0x7e0")](i("0x47e7"),{language:e}),r[i("0x2078")](e),n[i("0x7e0")](i("0x1a01"),{language:e}),a[i("0x2078")](e)})),z[e].finally((function(){le(e)}))[t("0x373a")](angular[t("0x49d1")])),r[t("0x234e")])},Q.resolveClientLocale=function(){return B()},Q[k("0x213c")]=function(){return q()},Q[k("0x1b3f")]=function(){return w},Q[k("0x2ee9")]=function(){return M},Q[k("0x3bac")]=function(){return I},Q[k("0x29a5")]=function(e){var t=k;if(!b)throw new Error(t("0x3a6f"));n[t("0x7e0")](t("0x38a"),{language:e});var r=a[t("0x3a26")](),i={};function o(e){var n=t,a=J(e);return z[e]=a,a[n("0x34e8")]((function(t){var a=n;E[e]={},$(e,t[a("0x37f3")]),i[e]=!0}),angular[n("0x49d1")]),a}if(r[t("0x234e")][t("0x34e8")]((function(){var e=t;for(var n in E)E[e("0x1bd4")](n)&&!(n in i)&&delete E[n];c&&X(c)}),angular[t("0x49d1")])[t("0x2cfe")]((function(){var a=t;n[a("0x7e0")](a("0x10e6"),{language:e})})),e)E[e]?o(e).then(r.resolve,r[t("0x2078")]):r[t("0x2078")]();else{var s=x&&x.slice()||[];c&&-1===s[t("0x3507")](c)&&s[t("0x459a")](c),a.all(s.map(o))[t("0x34e8")](r[t("0x407b")],r[t("0x2078")])}return r[t("0x234e")]},Q.instant=function(e,t,n,a,r){var o=k,s=a&&a!==c?U(a)||a:c;if(null===e||angular[o("0x29ab")](e))return e;if(a&&ue(a),angular.isArray(e)){for(var l={},d=0,u=e[o("0x5e9")];d<u;d++)l[e[d]]=Q[o("0x26a9")](e[d],t,n,a,r);return l}if(angular[o("0x1236")](e)&&e[o("0x5e9")]<1)return e;e&&(e=G.apply(e));var m,b,_=[];i&&_[o("0x459a")](i),s&&_.push(s),x&&x[o("0x5e9")]&&(_=_[o("0x3abc")](x));for(var g=0,v=_[o("0x5e9")];g<v;g++){var S=_[g];if(E[S]&&typeof E[S][e]!==o("0xc42")&&(m=ce(e,t,n,s,r)),void 0!==m)break}return m||""===m||(p||h?m=K(e):(m=P.interpolate(e,t,o("0x6a6"),r),f&&!F&&(b=ae(e,t,r)),f&&!F&&b&&(m=b))),m},Q[k("0x1d05")]=function(){return L},Q[k("0x222a")]=function(){return g},Q.directivePriority=function(){return N},Q.statefulFilter=function(){return O},Q[k("0x74f")]=function(){return D};var fe=a[k("0x3a26")]();fe[k("0x234e")][k("0x34e8")]((function(){D=!0})),Q.onReady=function(e){var t=k,n=a[t("0x3a26")]();return angular[t("0x4977")](e)&&n[t("0x234e")][t("0x34e8")](e),D?n[t("0x407b")]():fe[t("0x234e")][t("0x34e8")](n.resolve),n.promise},Q.getAvailableLanguageKeys=function(){return A[k("0x5e9")]>0?A:null},Q[k("0x48b1")]=function(e){var t=k;return(e=e||Q[t("0x127d")]())&&E[e]?angular[t("0x4d98")](E[e]):null};var me=n[k("0x24c9")]("$translateReady",(function(){fe.resolve(),me(),me=null})),be=n[k("0x24c9")](k("0x1a01"),(function(){fe.resolve(),be(),be=null}));if(b){if(angular[k("0x34f9")](E,{})&&Q[k("0x127d")]()&&Q.use(Q.use()),x&&x[k("0x5e9")])for(var _e=function(e){var t=k;return $(e[t("0x2646")],e[t("0x37f3")]),n[t("0x7e0")](t("0x1a01"),{language:e[t("0x2646")]}),e},pe=0,he=x[k("0x5e9")];pe<he;pe++){var ge=x[pe];(M||!E[ge])&&(z[ge]=J(ge)[k("0x34e8")](_e))}}else n[k("0x7e0")](k("0x30d9"),{language:Q[k("0x127d")]()});return Q}]}function r(t,n){var a=e,r={},i=a("0x3993");return r[a("0x45c1")]=function(e){},r[a("0x42fc")]=function(){return i},r[a("0x1c43")]=function(e){return n[a("0x2de4")](e),this},r[a("0x3543")]=function(e,r,i,o,x){var s,c=a;return r=r||{},r=n[c("0x4bab")](r,c("0x48ad"),o,i),angular[c("0x1ba0")](e)?s=""+e:angular[c("0x1236")](e)?(s=t(e)(r),s=n[c("0x4bab")](s,c("0x806"),o,i)):s="",s},r}function i(t,n,a,r,i){var x=e,s=function(){return this[a2_0x37cf("0x3c88")]().replace(/^\s+|\s+$/g,"")},c=function(e){return angular.isString(e)?e.toLowerCase():e};return{restrict:"AE",scope:!0,priority:t[x("0x1331")](),compile:function(e,l){var d=x,u=l[d("0x19bf")]?l.translateValues:void 0,f=l.translateInterpolation?l.translateInterpolation:void 0,m=l.translateSanitizeStrategy?l.translateSanitizeStrategy:void 0,b=e[0][d("0x2b5b")][d("0x2cd9")](/translate-value-+/i),_="^(.*)("+n[d("0xcfc")]()+".*"+n[d("0x2aef")]()+")(.*)",p=d("0x1c63")+n[d("0xcfc")]()+d("0x2c57")+n[d("0x2aef")]()+d("0x2c57");return function(e,x,h){var g=d;e[g("0x1896")]={},e[g("0xa16")]="",e[g("0x1c3a")]="",e[g("0xa30")]=o(e);var v={},S=function(t){var a=g;if(angular[a("0x4977")](S[a("0x18ae")])&&(S[a("0x18ae")](),S[a("0x18ae")]=void 0),angular[a("0x34f9")](t,"")||!angular.isDefined(t)){var r=s.apply(x[a("0x806")]())[a("0x3cc0")](/\n/g," "),i=r.match(_);if(angular.isArray(i)){e[a("0xa16")]=i[1],e.postText=i[3],v[a("0x2112")]=n(i[2])(e[a("0x20cb")]);var o=r[a("0x2cd9")](p);angular[a("0x498f")](o)&&o[2]&&o[2][a("0x5e9")]&&(S[a("0x18ae")]=e[a("0x7a")](o[2],(function(e){v.translate=e,w()})))}else v[a("0x2112")]=r||void 0}else v.translate=t;w()},E=function(e){h[g("0xf52")](e,(function(t){v[e]=t,w()}))};!function(t,n,a){var i=g;if(n[i("0x19bf")]&&angular[i("0x3448")](t,r(n.translateValues)(e.$parent)),b)for(var o in a)Object[i("0x20f")].hasOwnProperty.call(n,o)&&o[i("0x39fa")](0,14)===i("0xe93")&&o!==i("0x19bf")&&(t[c(o[i("0x39fa")](14,1))+o[i("0x39fa")](15)]=a[o])}(e.interpolateParams,h,l);var A=!0;for(var T in h[g("0xf52")](g("0x2112"),(function(e){var t=g;typeof e===t("0xc42")?S(""):(""!==e||!A)&&(v[t("0x2112")]=e,w()),A=!1})),h)h.hasOwnProperty(T)&&"translateAttr"===T[g("0x39fa")](0,13)&&T[g("0x5e9")]>13&&E(T);if(h[g("0xf52")]("translateDefault",(function(t){e[g("0x4259")]=t,w()})),m&&h.$observe(g("0x2762"),(function(t){var n=g;e.sanitizeStrategy=r(t)(e[n("0x20cb")]),w()})),u&&h.$observe("translateValues",(function(t){var n=g;t&&e[n("0x20cb")][n("0x7a")]((function(){var a=n;angular.extend(e[a("0x1896")],r(t)(e[a("0x20cb")]))}))})),b){var y=function(t){h.$observe(t,(function(n){var a=a2_0x37cf,r=c(t.substr(14,1))+t[a("0x39fa")](15);e[a("0x1896")][r]=n}))};for(var C in h)Object[g("0x20f")][g("0x1bd4")][g("0x3c6b")](h,C)&&C.substr(0,14)===g("0xe93")&&C!==g("0x19bf")&&y(C)}var w=function(){var t=g;for(var n in v)v[t("0x1bd4")](n)&&void 0!==v[n]&&M(n,v[n],e,e[t("0x1896")],e[t("0x4259")],e.translateNamespace)},M=function(e,n,a,r,i,o){var x=g;n?(o&&"."===n[x("0x24de")](0)&&(n=o+n),t(n,r,f,i,a[x("0x2ba")],a.sanitizeStrategy)[x("0x34e8")]((function(t){R(t,a,!0,e)}),(function(t){R(t,a,!1,e)}))):R(n,a,!1,e)},R=function(e,n,r,i){var o=g;if(!r&&typeof n[o("0x4259")]!==o("0xc42")&&(e=n[o("0x4259")]),i===o("0x2112")){(r||!r&&!t.isKeepContent()&&typeof h[o("0x1eff")]===o("0xc42"))&&x.empty()[o("0x136a")](n[o("0xa16")]+e+n[o("0x1c3a")]);var s=t.isPostCompilingEnabled(),c=typeof l[o("0x309b")]!==o("0xc42"),d=c&&l[o("0x309b")]!==o("0x22b7");(s&&!c||d)&&a(x[o("0x1163")]())(n)}else{var u=h[o("0xb7")][i];"data-"===u[o("0x39fa")](0,5)&&(u=u[o("0x39fa")](5)),u=u[o("0x39fa")](15),x[o("0x417f")](u,e)}};(u||b||h[g("0x30ac")])&&e[g("0x7a")](g("0x1896"),w,!0),e.$on("translateLanguageChanged",w);var D=i.$on(g("0x29de"),w);x[g("0x806")]()[g("0x5e9")]?h[g("0x2112")]?S(h[g("0x2112")]):S(""):h[g("0x2112")]&&S(h[g("0x2112")]),w(),e[g("0x24c9")](g("0x4c91"),D)}}}}function o(t){var n=e;return t.translateNamespace?t[n("0xa30")]:t[n("0x20cb")]?o(t[n("0x20cb")]):void 0}function x(t,n){var a=e;return{restrict:"A",priority:t[a("0x1331")](),link:function(e,r,i){var o,x,c,l=a,d={},u=function(){var n=a2_0x37cf;angular[n("0x5ba")](o,(function(a,o){var s=n;a&&(d[o]=!0,e[s("0xa30")]&&"."===a[s("0x24de")](0)&&(a=e.translateNamespace+a),t(a,x,i[s("0x5c4")],void 0,e.translateLanguage,c).then((function(e){r.attr(o,e)}),(function(e){r[s("0x417f")](o,e)})))})),angular[n("0x5ba")](d,(function(e,t){var a=n;!o[t]&&(r[a("0xf44")](t),delete d[t])}))};s(e,i[l("0x5b9")],(function(e){o=e}),u),s(e,i[l("0x19bf")],(function(e){x=e}),u),s(e,i[l("0x2762")],(function(e){c=e}),u),i[l("0x19bf")]&&e.$watch(i[l("0x19bf")],u,!0),e.$on(l("0x444b"),u);var f=n.$on(l("0x29de"),u);u(),e.$on("$destroy",f)}}}function s(t,n,a,r){var i=e;n&&("::"===n[i("0x39fa")](0,2)?n=n[i("0x39fa")](2):t[i("0x7a")](n,(function(e){a(e),r()}),!0),a(t[i("0xe2b")](n)))}function c(e,t){"use strict";return{compile:function(n){var a=function(t){var n=a2_0x37cf;t[n("0x31dc")](e[n("0x39b3")]())},r=function(t){var n=a2_0x37cf;t[n("0xa81")](e[n("0x39b3")]())};return a(n),function(n,i,o){var x=a2_0x37cf,s=r.bind(this,i),c=a[x("0x2b0c")](this,i);o.translateCloak&&o.translateCloak.length?(o[x("0xf52")]("translateCloak",(function(t){e(t).then(s,c)})),t.$on(x("0x29de"),(function(){var t=x;e(o.translateCloak)[t("0x34e8")](s,c)}))):e.onReady(s)}}}}function l(){"use strict";return{restrict:"A",scope:!0,compile:function(){return{pre:function(e,t,n){var a=a2_0x37cf;e[a("0xa30")]=d(e),e[a("0xa30")]&&"."===n[a("0xa30")][a("0x24de")](0)?e[a("0xa30")]+=n.translateNamespace:e[a("0xa30")]=n.translateNamespace}}}}}function d(t){var n=e;return t[n("0xa30")]?t[n("0xa30")]:t.$parent?d(t[n("0x20cb")]):void 0}function u(){"use strict";return{restrict:"A",scope:!0,compile:function(){return function(e,t,n){var a=a2_0x37cf;n[a("0xf52")]("translateLanguage",(function(t){e[a("0x2ba")]=t})),e.$watch(a("0x2ba"),(function(){var t=a;e[t("0x2050")](t("0x444b"))}))}}}}function f(t,n){var a=e,r=function(e,a,r,i){var o=a2_0x37cf;if(!angular[o("0x1f1a")](a)){var x=this||{__SCOPE_IS_NOT_AVAILABLE:o("0x7b4")};a=t(a)(x)}return n[o("0x26a9")](e,a,r,i)};return n[a("0x1e50")]()&&(r[a("0x2378")]=!0),r}function m(t){return t(e("0x82e"))}return t.$inject=[e("0x1a1b")],a[e("0x4670")]=[e("0x10c0"),e("0x12d1"),e("0x3e58"),e("0x1093")],r[e("0x4670")]=["$interpolate","$translateSanitization"],i.$inject=[e("0x1a1b"),"$interpolate",e("0x4728"),"$parse",e("0x47ed")],x[e("0x4670")]=[e("0x1a1b"),e("0x47ed")],c[e("0x4670")]=["$translate",e("0x47ed")],f.$inject=["$parse",e("0x1a1b")],m[e("0x4670")]=["$cacheFactory"],angular[e("0x39e9")](e("0x41cf"),["ng"])[e("0x4c69")](t),t[e("0x2d03")]="runTranslate",angular[e("0x39e9")](e("0x41cf"))[e("0x4b0")](e("0x1a70"),n),angular[e("0x39e9")](e("0x41cf"))[e("0x4d94")]("pascalprechtTranslateOverrider",{})[e("0x4b0")](e("0x1a1b"),a),a[e("0x2d03")]=e("0x2d03"),angular[e("0x39e9")](e("0x41cf"))[e("0x3faf")](e("0x1a19"),r),r[e("0x2d03")]=e("0x1a19"),angular.module(e("0x41cf"))[e("0x4d94")]("$STORAGE_KEY",e("0x3fba")),angular[e("0x39e9")]("pascalprecht.translate")[e("0x1b75")](e("0x2112"),i),i.displayName="translateDirective",angular[e("0x39e9")](e("0x41cf"))[e("0x1b75")](e("0x5b9"),x),x[e("0x2d03")]="translateAttrDirective",angular.module(e("0x41cf"))[e("0x1b75")](e("0x429e"),c),c.displayName="translateCloakDirective",angular.module(e("0x41cf"))[e("0x1b75")]("translateNamespace",l),l[e("0x2d03")]=e("0x4523"),angular[e("0x39e9")](e("0x41cf"))[e("0x1b75")](e("0x2ba"),u),u[e("0x2d03")]=e("0x4365"),angular.module(e("0x41cf"))[e("0x6a6")](e("0x2112"),f),f[e("0x2d03")]="translateFilterFactory",angular[e("0x39e9")](e("0x41cf"))[e("0x3faf")](e("0xdc"),m),m[e("0x2d03")]="$translationCache","pascalprecht.translate"}()}[a2_0x37cf("0x4884")](t,n))||(e.exports=a)},539:()=>{var e=_0x299160;angular.module(e("0x388a"),["ui.bootstrap.tpls","ui.bootstrap.collapse",e("0x2b06"),e("0x3c62"),e("0x345f"),e("0x3234"),"ui.bootstrap.carousel",e("0x1921"),e("0x2f0f"),e("0x350e"),e("0x43cb"),e("0x194"),"ui.bootstrap.debounce",e("0x2c3b"),e("0x4ddc"),e("0x29d4"),e("0x22fd"),e("0x135a"),e("0x142e"),e("0x1a7a"),e("0x3370"),e("0x3da9"),"ui.bootstrap.progressbar",e("0x340c"),"ui.bootstrap.tabs","ui.bootstrap.timepicker",e("0x3877")]),angular[e("0x39e9")](e("0x2f6c"),[e("0x1f59"),e("0x2684"),e("0x4a8e"),e("0x655"),"uib/template/carousel/slide.html",e("0xc67"),e("0x15e0"),e("0x3372"),"uib/template/datepicker/year.html",e("0x1408"),e("0x3fd7"),e("0x3dcf"),e("0x1060"),e("0x1c08"),"uib/template/tooltip/tooltip-popup.html",e("0x4f63"),e("0x41fa"),e("0x1859"),e("0x2984"),"uib/template/progressbar/bar.html",e("0x19c4"),"uib/template/progressbar/progressbar.html","uib/template/rating/rating.html","uib/template/tabs/tab.html",e("0x2ef3"),"uib/template/timepicker/timepicker.html",e("0x2dfd"),e("0x3795")]),angular[e("0x39e9")](e("0x40f6"),[])[e("0x1b75")](e("0x4508"),[e("0xc00"),"$q","$parse",e("0x1f10"),function(t,n,a,r){var i=e,o=r[i("0x519")]("$animateCss")?r[i("0x1cf")]("$animateCss"):null;return{link:function(e,r,x){var s,c=i,l=a(x[c("0xe3d")]),d=a(x.expanded),u=a(x[c("0x36c")]),f=a(x[c("0x293")]),m=!1,b={},_={};function p(e){var t=c;return m?{width:e[t("0x3d33")]+"px"}:{height:e[t("0x2afd")]+"px"}}function h(){var t=c;r[t("0xa81")](t("0x36c")).addClass("collapse")[t("0x42b1")](b),d(e)}function g(){var t=c;r[t("0x42b1")](_),r[t("0xa81")]("collapsing")[t("0x31dc")](t("0x22c2")),f(e)}(m=!!((s=c)("0x1377")in x))?(b={width:""},_={width:"0"}):(b={height:""},_={height:"0"}),!e[s("0xe2b")](x[s("0x4508")])&&r[s("0x31dc")]("in").addClass("collapse")[s("0x417f")](s("0x766"),!0)[s("0x417f")](s("0x240d"),!1)[s("0x42b1")](b),e[c("0x7a")](x.uibCollapse,(function(a){var i;a?function(){var a=c;if(!r[a("0x3a35")](a("0x22c2"))&&!r[a("0x3a35")]("in"))return g();n.resolve(u(e))[a("0x34e8")]((function(){var e=a;r[e("0x42b1")](p(r[0]))[e("0xa81")](e("0x22c2"))[e("0x31dc")](e("0x36c")).attr(e("0x766"),!1)[e("0x417f")](e("0x240d"),!0),o?o(r,{removeClass:"in",to:_})[e("0x1023")]().finally(g):t[e("0xa81")](r,"in",{to:_}).then(g)}),angular[a("0x49d1")])}():r[(i=c)("0x3a35")](i("0x22c2"))&&r[i("0x3a35")]("in")||n[i("0x407b")](l(e))[i("0x34e8")]((function(){var e=i;r.removeClass(e("0x22c2"))[e("0x31dc")]("collapsing").attr(e("0x766"),!0)[e("0x417f")](e("0x240d"),!1),o?o(r,{addClass:"in",easing:e("0x104e"),css:{overflow:e("0xd4f")},to:p(r[0])}).start().finally(h):t[e("0x31dc")](r,"in",{css:{overflow:e("0xd4f")},to:p(r[0])})[e("0x34e8")](h)}),angular.noop)}))}}}]),angular[e("0x39e9")](e("0x2b06"),[]).directive(e("0x1f19"),(function(){return{restrict:"A",link:function(e,t,n){var a=a2_0x37cf;n[a("0xf52")](a("0x1c54"),(function(e){var t=a;n[t("0x35be")](t("0x562"),e?-1:null)}))}}})),angular[e("0x39e9")]("ui.bootstrap.accordion",["ui.bootstrap.collapse",e("0x2b06")]).constant(e("0x155e"),{closeOthers:!0}).controller(e("0x1a3c"),[e("0x36af"),e("0x428f"),e("0x155e"),function(t,n,a){var r=e;this[r("0x2de9")]=[],this.closeOthers=function(e){var i=r;(angular[i("0x64a")](n[i("0x33f6")])?t.$eval(n.closeOthers):a[i("0x33f6")])&&angular.forEach(this.groups,(function(t){t!==e&&(t.isOpen=!1)}))},this[r("0x16f1")]=function(e){var t=r,n=this;this[t("0x2de9")][t("0x459a")](e),e[t("0x24c9")](t("0x4c91"),(function(a){n[t("0x3949")](e)}))},this[r("0x3949")]=function(e){var t=r,n=this[t("0x2de9")][t("0x3507")](e);-1!==n&&this[t("0x2de9")][t("0x2bcf")](n,1)}}])[e("0x1b75")](e("0x42ce"),(function(){var t=e;return{controller:t("0x1a3c"),controllerAs:"accordion",transclude:!0,templateUrl:function(e,n){return n[t("0x1d64")]||"uib/template/accordion/accordion.html"}}}))[e("0x1b75")]("uibAccordionGroup",(function(){return{require:"^uibAccordion",transclude:!0,restrict:"A",templateUrl:function(e,t){var n=a2_0x37cf;return t.templateUrl||n("0x1f59")},scope:{heading:"@",panelClass:"@?",isOpen:"=?",isDisabled:"=?"},controller:function(){var e=a2_0x37cf;this[e("0xee4")]=function(t){this[e("0x1056")]=t}},link:function(e,t,n,a){var r=a2_0x37cf;t[r("0x31dc")]("panel"),a[r("0x16f1")](e),e.openClass=n[r("0x41c2")]||"panel-open",e.panelClass=n[r("0x1cd2")]||r("0x1885"),e[r("0x7a")]("isOpen",(function(n){t[r("0x411b")](e.openClass,!!n),n&&a.closeOthers(e)})),e[r("0x1ae9")]=function(t){var n=r;!e[n("0xf9e")]&&(!t||32===t[n("0x2d41")])&&(e[n("0x4447")]=!e.isOpen)};var i=r("0x3cb1")+e[r("0x2933")]+"-"+Math[r("0x4184")](1e4*Math.random());e.headingId=i+"-tab",e[r("0x3fa7")]=i+"-panel"}}}))[e("0x1b75")](e("0x3bad"),(function(){var t=e;return{transclude:!0,template:"",replace:!0,require:t("0x3031"),link:function(e,n,a,r,i){var o=t;r[o("0xee4")](i(e,angular[o("0x49d1")]))}}}))[e("0x1b75")](e("0x2ea6"),(function(){var t=e;return{require:t("0x3031"),link:function(e,n,a,r){var i=t;e[i("0x7a")]((function(){return r[a[i("0x2ea6")]]}),(function(e){var a,r=i;if(e){var o=angular[r("0xb48")](n[0][r("0x31f7")]((a=t)("0x244e")+a("0x4c8e")+a("0x431b")+"uib\\:accordion-header,[uib-accordion-header],"+a("0x1f8d")+a("0x1922")));o[r("0x1059")](""),o[r("0x136a")](e)}}))}}})),angular[e("0x39e9")](e("0x345f"),[])[e("0x1194")]("UibAlertController",["$scope",e("0x4998"),"$attrs",e("0x3a1e"),e("0x38d4"),function(t,n,a,r,i){var o=e;t[o("0x46a0")]=!!a[o("0x440f")],n.addClass(o("0x2354")),a[o("0x35be")](o("0x3517"),"alert"),t.closeable&&n.addClass(o("0x1cff"));var x=angular.isDefined(a[o("0x484c")])?r(a.dismissOnTimeout)(t[o("0x20cb")]):null;x&&i((function(){t[o("0x440f")]()}),parseInt(x,10))}])[e("0x1b75")](e("0x38b6"),(function(){var t=e;return{controller:t("0x4baf"),controllerAs:"alert",restrict:"A",templateUrl:function(e,n){var a=t;return n[a("0x1d64")]||a("0x4a8e")},transclude:!0,scope:{close:"&"}}})),angular[e("0x39e9")]("ui.bootstrap.buttons",[])[e("0x4d94")](e("0x8d4"),{activeClass:"active",toggleEvent:e("0x7cb")})[e("0x1194")](e("0x2d3a"),["uibButtonConfig",function(t){var n=e;this[n("0x4345")]=t[n("0x4345")]||n("0x48c8"),this[n("0x2c86")]=t.toggleEvent||n("0x7cb")}])[e("0x1b75")]("uibBtnRadio",[e("0x68c"),function(t){var n=e;return{require:[n("0xaf0"),n("0x12bc")],controller:n("0x2d3a"),controllerAs:n("0x28e3"),link:function(e,a,r,i){var o=n,x=i[0],s=i[1],c=t(r.uibUncheckable);a.find(o("0x3f87"))[o("0x42b1")]({display:o("0x2847")}),s[o("0x4dbb")]=function(){var t=o;a[t("0x411b")](x[t("0x4345")],angular[t("0x34f9")](s[t("0x2dce")],e[t("0xe2b")](r[t("0xaf0")])))},a.on(x[o("0x2c86")],(function(){var t=o;if(!r.disabled){var n=a.hasClass(x[t("0x4345")]);(!n||angular[t("0x64a")](r[t("0x3ad4")]))&&e[t("0xd66")]((function(){var a=t;s[a("0x1605")](n?null:e[a("0xe2b")](r[a("0xaf0")])),s[a("0x4dbb")]()}))}})),r[o("0x392")]&&e[o("0x7a")](c,(function(e){var t=o;r.$set(t("0x3ad4"),e?"":void 0)}))}}}])[e("0x1b75")](e("0x1d49"),(function(){var t=e;return{require:["uibBtnCheckbox",t("0x12bc")],controller:"UibButtonsController",controllerAs:"button",link:function(e,n,a,r){var i=t,o=r[0],x=r[1];function s(){return c(a[i("0x2cfd")],!0)}function c(t,n){var a=i;return angular[a("0x64a")](t)?e[a("0xe2b")](t):n}n[i("0x372f")](i("0x3f87"))[i("0x42b1")]({display:"none"}),x.$render=function(){var e=i;n[e("0x411b")](o.activeClass,angular[e("0x34f9")](x.$modelValue,s()))},n.on(o[i("0x2c86")],(function(){a.disabled||e.$apply((function(){var e=a2_0x37cf;x[e("0x1605")](n[e("0x3a35")](o.activeClass)?c(a[i("0x498d")],!1):s()),x[e("0x4dbb")]()}))}))}}})),angular[e("0x39e9")](e("0x36f0"),[])[e("0x1194")](e("0x5bc"),[e("0x36af"),e("0x4998"),e("0x25fb"),e("0x38d4"),e("0xc00"),function(t,n,a,r,i){var o,x,s=e,c=this,l=c[s("0x3719")]=t.slides=[],d=s("0x463d"),u=t[s("0x48c8")],f=!1;function m(e){for(var t=s,n=0;n<l[t("0x5e9")];n++)l[n][t("0x419a")][t("0x48c8")]=n===e}function b(e){for(var t=s,n=0;n<l[t("0x5e9")];n++)if(l[n][t("0x419a")]===e)return n}function _(){o&&(a[s("0x4920")](o),o=null)}function p(){_();var e=+t.interval;!isNaN(e)&&e>0&&(o=a(h,e))}function h(){var e=s,n=+t.interval;x&&!isNaN(n)&&n>0&&l[e("0x5e9")]?t.next():t[e("0x27e5")]()}n.addClass(s("0x31b")),c[s("0x1dc3")]=function(e,n){var a=s;l.push({slide:e,element:n}),l[a("0x4d63")]((function(e,t){var n=a;return+e[n("0x419a")][n("0x2d50")]-+t[n("0x419a")][n("0x2d50")]})),(e.index===t.active||1===l[a("0x5e9")]&&!angular.isNumber(t[a("0x48c8")]))&&(t[a("0x44c0")]&&(t[a("0x44c0")]=null),u=e[a("0x2d50")],t.active=e[a("0x2d50")],m(u),c[a("0x2d7b")](l[b(e)]),1===l[a("0x5e9")]&&t.play())},c.getCurrentIndex=function(){for(var e=s,t=0;t<l[e("0x5e9")];t++)if(l[t][e("0x419a")].index===u)return t},c.next=t[s("0xa8")]=function(){var e=s,n=(c[e("0x2cf7")]()+1)%l[e("0x5e9")];if(0!==n||!t.noWrap())return c[e("0x2d7b")](l[n],e("0xa8"));t[e("0x27e5")]()},c[s("0xc90")]=t[s("0xc90")]=function(){var e=s,n=c[e("0x2cf7")]()-1<0?l[e("0x5e9")]-1:c[e("0x2cf7")]()-1;if(!t[e("0x3f25")]()||n!==l[e("0x5e9")]-1)return c[e("0x2d7b")](l[n],e("0xc90"));t[e("0x27e5")]()},c[s("0x32e0")]=function(e){var n=s,a=b(e);l[n("0x2bcf")](a,1),l[n("0x5e9")]>0&&u===a?a>=l[n("0x5e9")]?(u=l[n("0x5e9")]-1,t[n("0x48c8")]=u,m(u),c[n("0x2d7b")](l[l.length-1])):(u=a,t[n("0x48c8")]=u,m(u),c[n("0x2d7b")](l[a])):u>a&&(u--,t[n("0x48c8")]=u),0===l[n("0x5e9")]&&(u=null,t[n("0x48c8")]=null)},c[s("0x2d7b")]=t.select=function(e,a){var r=s,o=b(e[r("0x419a")]);void 0===a&&(a=o>c[r("0x2cf7")]()?r("0xa8"):"prev"),e[r("0x419a")][r("0x2d50")]!==u&&!t[r("0x44c0")]&&function(e,a,r){var o=s;if(f)return;if(angular.extend(e,{direction:r}),angular.extend(l[u][o("0x419a")]||{},{direction:r}),i.enabled(n)&&!t.$currentTransition&&l[a].element&&c.slides[o("0x5e9")]>1){l[a][o("0xb48")].data(d,e[o("0xb72")]);var x=c[o("0x2cf7")]();angular[o("0x1ba0")](x)&&l[x][o("0xb48")]&&l[x][o("0xb48")].data(d,e[o("0xb72")]),t[o("0x44c0")]=!0,i.on(o("0x31dc"),l[a][o("0xb48")],(function(e,n){var a=o;n===a("0x440f")&&(t.$currentTransition=null,i[a("0x30f8")]("addClass",e))}))}t[o("0x48c8")]=e[o("0x2d50")],u=e.index,m(a),p()}(e[r("0x419a")],o,a)},t[s("0x401f")]=function(e){var t=s;return+e[t("0x419a")][t("0x2d50")]},t.isActive=function(e){var n=s;return t[n("0x48c8")]===e[n("0x419a")][n("0x2d50")]},t[s("0x32a5")]=function(){var e=s;return 0===t.active&&t[e("0x3f25")]()},t[s("0x3fa4")]=function(){var e=s;return t[e("0x48c8")]===l[e("0x5e9")]-1&&t[e("0x3f25")]()},t[s("0x27e5")]=function(){!t.noPause&&(x=!1,_())},t[s("0x4b31")]=function(){!x&&(x=!0,p())},n.on(s("0x4577"),t[s("0x27e5")]),n.on("mouseleave",t.play),t[s("0x24c9")](s("0x4c91"),(function(){f=!0,_()})),t.$watch(s("0x267a"),(function(e){i[s("0x48b5")](n,!e)})),t[s("0x7a")](s("0xdb7"),p),t[s("0x49f2")](s("0x3719"),(function(e){var n=s;!e[n("0x5e9")]&&(t[n("0x44c0")]=null)})),t.$watch(s("0x48c8"),(function(e){var t=s;if(angular.isNumber(e)&&u!==e){for(var n=0;n<l[t("0x5e9")];n++)if(l[n][t("0x419a")][t("0x2d50")]===e){e=n;break}l[e]&&(m(e),c.select(l[e]),u=e)}}))}])[e("0x1b75")]("uibCarousel",(function(){return{transclude:!0,controller:"UibCarouselController",controllerAs:"carousel",restrict:"A",templateUrl:function(e,t){var n=a2_0x37cf;return t[n("0x1d64")]||n("0x655")},scope:{active:"=",interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}))[e("0x1b75")](e("0x291a"),["$animate",function(e){return{require:"^uibCarousel",restrict:"A",transclude:!0,templateUrl:function(e,t){return t[a2_0x37cf("0x1d64")]||"uib/template/carousel/slide.html"},scope:{actual:"=?",index:"=?"},link:function(t,n,a,r){var i=a2_0x37cf;n[i("0x31dc")](i("0x17a9")),r[i("0x1dc3")](t,n),t[i("0x24c9")](i("0x4c91"),(function(){r[i("0x32e0")](t)})),t[i("0x7a")](i("0x48c8"),(function(t){var a=i;e[a(t?"0x31dc":"0xa81")](n,a("0x48c8"))}))}}}])[e("0x2f73")](e("0x443b"),["$animateCss",function(t){var n=e,a=n("0x463d");function r(e,t,a){e[n("0xa81")](t),a&&a()}return{beforeAddClass:function(e,i,o){var x=n;if(i===x("0x48c8")){var s=e[x("0x237c")](a),c=s===x("0xa8")?x("0x2885"):x("0x30eb"),l=r[x("0x2b0c")](this,e,c+" "+s,o);return e[x("0x31dc")](s),t(e,{addClass:c})[x("0x1023")]()[x("0x2d52")](l),function(){!0}}o()},beforeRemoveClass:function(e,i,o){var x=n;if("active"===i){var s=e.data(a)===x("0xa8")?x("0x2885"):x("0x30eb"),c=r.bind(this,e,s,o);return t(e,{addClass:s})[x("0x1023")]()[x("0x2d52")](c),function(){!0}}o()}}}]),angular[e("0x39e9")](e("0x1921"),[]).service(e("0x419c"),[e("0x1a4"),"$locale","dateFilter",e("0x388"),e("0x2aac"),function(t,n,a,r,i){var o,x,s=e,c=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;function l(e){return i(x,{key:e},!0)[0]}function d(e,t,n){return function(){return e[a2_0x37cf("0x39fa")](t+1,n-t-1)}}function u(e,t){for(var n=s,a=e[n("0x39fa")](t),r=0;r<x[n("0x5e9")];r++)if(new RegExp("^"+x[r][n("0x2646")])[n("0x3ff3")](a)){var i=x[r];return{endIdx:t+i[n("0x2646")].length,parser:i[n("0x4e61")]}}return{endIdx:t+1,parser:function(){return a.charAt(0)}}}function f(e){return parseInt(e,10)}function m(e,t){var n=s;e=e.replace(/:/g,"");var a=Date.parse(n("0x38c8")+e)/6e4;return isNaN(a)?t:a}function b(e,t){var n=s;return(e=new Date(e[n("0x4dad")]())).setMinutes(e[n("0x11e8")]()+t),e}function _(e,t,n){n=n?-1:1;var a=e[s("0xa01")]();return b(e,n*(m(t,a)-a))}this[s("0xeed")]=function(){var e=s;o=n.id,this[e("0x2aa1")]={},this.formatters={},x=[{key:e("0x1b1c"),regex:e("0x4095"),apply:function(e){this.year=+e},formatter:function(t){var n=e,r=new Date;return r[n("0x4866")](Math[n("0x681")](t[n("0x3915")]())),a(r,n("0x1b1c"))}},{key:"yy",regex:e("0x3eaa"),apply:function(t){t=+t,this[e("0x572")]=t<69?t+2e3:t+1900},formatter:function(t){var n=e,r=new Date;return r.setFullYear(Math[n("0x681")](t[n("0x3915")]())),a(r,"yy")}},{key:"y",regex:e("0xc53"),apply:function(t){this[e("0x572")]=+t},formatter:function(t){var n=e,r=new Date;return r[n("0x4866")](Math[n("0x681")](t[n("0x3915")]())),a(r,"y")}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(t){this[e("0x1b62")]=t-1},formatter:function(t){var n=e,r=t[n("0x1d51")]();return/^[0-9]$/[n("0x3ff3")](r)?a(t,"MM"):a(t,"M")}},{key:e("0x3480"),regex:n.DATETIME_FORMATS[e("0x4a4")].join("|"),apply:function(t){var a=e;this[a("0x1b62")]=n[a("0x32e")][a("0x4a4")].indexOf(t)},formatter:function(t){return a(t,e("0x3480"))}},{key:"MMM",regex:n[e("0x32e")][e("0x15ed")][e("0xc60")]("|"),apply:function(t){var a=e;this[a("0x1b62")]=n.DATETIME_FORMATS.SHORTMONTH[a("0x3507")](t)},formatter:function(e){return a(e,"MMM")}},{key:"MM",regex:e("0x4ae6"),apply:function(t){this[e("0x1b62")]=t-1},formatter:function(e){return a(e,"MM")}},{key:"M",regex:e("0x3add"),apply:function(t){this[e("0x1b62")]=t-1},formatter:function(e){return a(e,"M")}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(t){this[e("0x306c")]=+t},formatter:function(t){var n=t[e("0x18f4")]();return/^[1-9]$/.test(n)?a(t,"dd"):a(t,"d")}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(t){this[e("0x306c")]=+t},formatter:function(e){return a(e,"dd")}},{key:"d",regex:e("0x4f06"),apply:function(e){this.date=+e},formatter:function(e){return a(e,"d")}},{key:"EEEE",regex:n[e("0x32e")][e("0x1883")][e("0xc60")]("|"),formatter:function(t){return a(t,e("0x2249"))}},{key:e("0x37e4"),regex:n[e("0x32e")][e("0x30e1")].join("|"),formatter:function(t){return a(t,e("0x37e4"))}},{key:"HH",regex:e("0x3489"),apply:function(t){this[e("0x1fa0")]=+t},formatter:function(e){return a(e,"HH")}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(t){this[e("0x1fa0")]=+t},formatter:function(e){return a(e,"hh")}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(t){this[e("0x1fa0")]=+t},formatter:function(e){return a(e,"H")}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(t){this[e("0x1fa0")]=+t},formatter:function(e){return a(e,"h")}},{key:"mm",regex:"[0-5][0-9]",apply:function(t){this[e("0x5e")]=+t},formatter:function(e){return a(e,"mm")}},{key:"m",regex:e("0x44f0"),apply:function(t){this[e("0x5e")]=+t},formatter:function(e){return a(e,"m")}},{key:"sss",regex:e("0x48bd"),apply:function(t){this[e("0x5a6")]=+t},formatter:function(t){return a(t,e("0x3a6c"))}},{key:"ss",regex:e("0x4d04"),apply:function(e){this.seconds=+e},formatter:function(e){return a(e,"ss")}},{key:"s",regex:e("0x44f0"),apply:function(e){this.seconds=+e},formatter:function(e){return a(e,"s")}},{key:"a",regex:n.DATETIME_FORMATS[e("0x3493")].join("|"),apply:function(t){var n=e;12===this[n("0x1fa0")]&&(this[n("0x1fa0")]=0),"PM"===t&&(this[n("0x1fa0")]+=12)},formatter:function(e){return a(e,"a")}},{key:"Z",regex:e("0x47f5"),apply:function(t){var n=e,a=t[n("0x2cd9")](/([+-])(\d{2})(\d{2})/),r=a[1],i=a[2],o=a[3];this[n("0x1fa0")]+=f(r+i),this[n("0x5e")]+=f(r+o)},formatter:function(e){return a(e,"Z")}},{key:"ww",regex:"[0-4][0-9]|5[0-3]",formatter:function(e){return a(e,"ww")}},{key:"w",regex:e("0x4ff1"),formatter:function(e){return a(e,"w")}},{key:e("0x1fc4"),regex:n.DATETIME_FORMATS[e("0x305f")][e("0xc60")]("|")[e("0x3cc0")](/\s/g,"\\s"),formatter:function(t){return a(t,e("0x1fc4"))}},{key:e("0x39dc"),regex:n.DATETIME_FORMATS[e("0x4cd6")].join("|"),formatter:function(t){return a(t,e("0x39dc"))}},{key:"GG",regex:n[e("0x32e")][e("0x4cd6")][e("0xc60")]("|"),formatter:function(e){return a(e,"GG")}},{key:"G",regex:n[e("0x32e")][e("0x4cd6")][e("0xc60")]("|"),formatter:function(e){return a(e,"G")}}],angular[e("0x10ea")][e("0x2c74")]>=1&&angular[e("0x10ea")][e("0x8b1")]>4&&x[e("0x459a")]({key:e("0x378e"),regex:n[e("0x32e")][e("0x3caf")].join("|"),apply:function(t){var a=e;this[a("0x1b62")]=n.DATETIME_FORMATS.STANDALONEMONTH[a("0x3507")](t)},formatter:function(t){return a(t,e("0x378e"))}})},this[s("0xeed")](),this[s("0x21d1")]=function(e){var t=l(e);return t&&t.apply||null},this.overrideParser=function(e,t){var n=s,a=l(e);a&&angular[n("0x4977")](t)&&(this[n("0x2aa1")]={},a[n("0x4884")]=t)}[s("0x2b0c")](this),this[s("0x6a6")]=function(e,t){var a=s;return angular.isDate(e)&&!isNaN(e)&&t?(t=n.DATETIME_FORMATS[t]||t,n.id!==o&&this.init(),!this[a("0x2d44")][t]&&(this[a("0x2d44")][t]=function(e){for(var t,n,a=s,r=[],i=0;i<e[a("0x5e9")];)if(angular.isNumber(n)){if("'"===e.charAt(i))(i+1>=e[a("0x5e9")]||"'"!==e.charAt(i+1))&&(r[a("0x459a")](d(e,n,i)),n=null);else if(i===e.length)for(;n<e[a("0x5e9")];)t=u(e,n),r[a("0x459a")](t),n=t[a("0x25f8")];i++}else"'"!==e.charAt(i)?(t=u(e,i),r.push(t.parser),i=t[a("0x25f8")]):(n=i,i++);return r}(t)),this.formatters[t][a("0x2e06")]((function(t,n){return t+n(e)}),"")):""},this[s("0x1fb8")]=function(e,a,i){var l=s;if(!angular.isString(e)||!a)return e;a=(a=n[l("0x32e")][a]||a)[l("0x3cc0")](c,"\\$&"),n.id!==o&&this[l("0xeed")](),!this.parsers[a]&&(this[l("0x2aa1")][a]=function(e){var t=s,n=[],a=e[t("0x9e5")](""),i=e.indexOf("'");if(i>-1){var o=!1;e=e[t("0x9e5")]("");for(var c=i;c<e.length;c++)o?("'"===e[c]&&(c+1<e[t("0x5e9")]&&"'"===e[c+1]?(e[c+1]="$",a[c+1]=""):(a[c]="",o=!1)),e[c]="$"):"'"===e[c]&&(e[c]="$",a[c]="",o=!0);e=e[t("0xc60")]("")}return angular.forEach(x,(function(r){var i=t,o=e[i("0x3507")](r[i("0x2646")]);if(o>-1){e=e.split(""),a[o]="("+r.regex+")",e[o]="$";for(var x=o+1,s=o+r.key[i("0x5e9")];x<s;x++)a[x]="",e[x]="$";e=e.join(""),n[i("0x459a")]({index:o,key:r[i("0x2646")],apply:r.apply,matcher:r[i("0x417")]})}})),{regex:new RegExp("^"+a[t("0xc60")]("")+"$"),map:r(n,t("0x2d50"))}}(a,l("0x4884")));var d,u,f,m=this[l("0x2aa1")][a],b=m[l("0x417")],_=m[l("0x19e8")],p=e[l("0x2cd9")](b),h=!1;if(p&&p[l("0x5e9")]){var g,v;angular[l("0x24a9")](i)&&!isNaN(i[l("0x4dad")]())?g={year:i[l("0x3915")](),month:i[l("0x1d51")](),date:i[l("0x18f4")](),hours:i[l("0x40a0")](),minutes:i.getMinutes(),seconds:i[l("0x3822")](),milliseconds:i[l("0x3506")]()}:(i&&t[l("0x1dc6")](l("0x29e9"),l("0x4214")),g={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var S=1,E=p[l("0x5e9")];S<E;S++){var A=_[S-1];"Z"===A[l("0x44da")]&&(h=!0),A[l("0x4884")]&&A[l("0x4884")][l("0x3c6b")](g,p[S])}var T=h?Date.prototype.setUTCFullYear:Date[l("0x20f")][l("0x4866")],y=h?Date[l("0x20f")][l("0xa1")]:Date[l("0x20f")][l("0x3eef")];return d=g[l("0x572")],u=g.month,!((f=g[l("0x306c")])<1)&&(1===u&&f>28?29===f&&(d%4==0&&d%100!=0||d%400==0):3!==u&&5!==u&&8!==u&&10!==u||f<31)&&(!angular[l("0x24a9")](i)||isNaN(i[l("0x4dad")]())||h?(v=new Date(0),T[l("0x3c6b")](v,g[l("0x572")],g[l("0x1b62")],g.date),y[l("0x3c6b")](v,g[l("0x1fa0")]||0,g[l("0x5e")]||0,g[l("0x4c5c")]||0,g.milliseconds||0)):(v=new Date(i),T.call(v,g[l("0x572")],g[l("0x1b62")],g[l("0x306c")]),y[l("0x3c6b")](v,g[l("0x1fa0")],g.minutes,g.seconds,g.milliseconds))),v}},this[s("0x408d")]=function(e,t){return e&&t?_(e,t):e},this[s("0x2a4f")]=function(e,t){return e&&t?_(e,t,!0):e},this.timezoneToOffset=m,this[s("0x19d0")]=b,this[s("0x3e3c")]=_}]),angular[e("0x39e9")](e("0x2f0f"),[])[e("0x1b75")](e("0x4dae"),["$animate",function(e){var t=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,n=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(a,r){var i=a2_0x37cf,o=[],x=[],s={},c=r[i("0x4dae")][i("0x2cd9")](t),l=c[2],d=c[1][i("0x9e5")](",");return function(t,a,r){var c=i;o[c("0x459a")](t),x[c("0x459a")]({scope:t,element:a}),d.forEach((function(a,r){!function(t,a){var r=i,o=t[r("0x2cd9")](n),c=a.$eval(o[1]),d=o[2],u=s[t];if(!u){var f=function(t){var n=r,a=null;x[n("0x906")]((function(e){if(e[n("0xd20")].$eval(l)===t)return a=e,!0})),u[n("0x2d40")]!==a&&(u[n("0x2d40")]&&e[n("0xa81")](u.lastActivated[n("0xb48")],c),a&&e.addClass(a[n("0xb48")],c),u.lastActivated=a)};s[t]=u={lastActivated:null,scope:a,watchFn:f,compareWithExp:d,watcher:a[r("0x7a")](d,f)}}u.watchFn(a[r("0xe2b")](d))}(a,t)})),t[c("0x24c9")](c("0x4c91"),u)};function u(e){var t=i,n=e[t("0x37de")],a=o[t("0x3507")](n);if(o[t("0x2bcf")](a,1),x[t("0x2bcf")](a,1),o[t("0x5e9")]){var r=o[0];angular[t("0x5ba")](s,(function(e){var a=t;e[a("0xd20")]===n&&(e[a("0x2d92")]=r[a("0x7a")](e[a("0x1285")],e.watchFn),e[a("0xd20")]=r)}))}else s={}}}}}]),angular.module("ui.bootstrap.datepicker",[e("0x1921"),e("0x2f0f")])[e("0x3a33")](e("0x1b13"),!1)[e("0x3a33")](e("0x4c74"),!0)[e("0x4d94")](e("0x2f91"),{datepickerMode:e("0x1588"),formatDay:"dd",formatMonth:e("0x3480"),formatYear:"yyyy",formatDayHeader:e("0x37e4"),formatDayTitle:e("0x276e"),formatMonthTitle:e("0x1b1c"),maxDate:null,maxMode:e("0x572"),minDate:null,minMode:e("0x1588"),monthColumns:3,ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4})[e("0x1194")](e("0x4a"),[e("0x36af"),e("0x4998"),e("0x428f"),e("0x68c"),e("0x3a1e"),e("0x1e84"),e("0x1a4"),"dateFilter",e("0x2f91"),e("0x4c74"),e("0x1b13"),e("0x419c"),function(t,n,a,r,i,o,x,s,c,l,d,u){var f=e,m=this,b={$setViewValue:angular.noop},_={},p=[];n[f("0x31dc")](f("0x120b")),a[f("0x35be")]("role",f("0x5e1")),!t[f("0x4342")]&&(t[f("0x4342")]={}),this[f("0x369")]=["day",f("0x1b62"),f("0x572")],["customClass",f("0x166c"),f("0xbc3"),f("0x2d67"),f("0x3e16"),"formatDayTitle","formatMonth",f("0x1167"),"formatYear","maxDate",f("0x7d0"),f("0x1d23"),f("0x4743"),f("0x1110"),f("0x3767"),"shortcutPropagation","startingDay",f("0x6e9"),f("0x300d")].forEach((function(e){var n=f;switch(e){case"customClass":case n("0x166c"):t[e]=t[n("0x4342")][e]||angular[n("0x49d1")];break;case n("0xbc3"):t[n("0xbc3")]=angular[n("0x64a")](t[n("0x4342")][n("0xbc3")])?t[n("0x4342")][n("0xbc3")]:c.datepickerMode;break;case n("0x2d67"):case n("0x3e16"):case"formatDayTitle":case n("0xfea"):case n("0x1167"):case n("0x8f0"):m[e]=angular[n("0x64a")](t[n("0x4342")][e])?i(t[n("0x4342")][e])(t[n("0x20cb")]):c[e];break;case"monthColumns":case n("0x3767"):case n("0x3166"):case n("0x6e9"):case n("0x300d"):m[e]=angular.isDefined(t.datepickerOptions[e])?t[n("0x4342")][e]:c[e];break;case n("0x29d9"):angular[n("0x64a")](t[n("0x4342")][n("0x29d9")])?m[n("0x29d9")]=t[n("0x4342")][n("0x29d9")]:angular[n("0x1ba0")](c[n("0x29d9")])?m[n("0x29d9")]=c[n("0x29d9")]:m[n("0x29d9")]=(o[n("0x32e")][n("0x265a")]+8)%7;break;case"maxDate":case n("0x1d23"):t[n("0x7a")](n("0x49d6")+e,(function(t){var a=n;t?angular.isDate(t)?m[e]=u[a("0x2a4f")](new Date(t),_[a("0x2e89")](a("0x68b"))):(l&&x.warn(a("0x1f6d")),m[e]=new Date(s(t,"medium"))):m[e]=c[e]?u[a("0x2a4f")](new Date(c[e]),_.getOption(a("0x68b"))):null,m[a("0x7ac")]()}));break;case n("0x7d0"):case n("0x4743"):t[n("0x4342")][e]?t.$watch((function(){return t[n("0x4342")][e]}),(function(a){var r=n;m[e]=t[e]=angular.isDefined(a)?a:t[r("0x4342")][e],("minMode"===e&&m[r("0x369")][r("0x3507")](t[r("0x4342")][r("0xbc3")])<m[r("0x369")][r("0x3507")](m[e])||e===r("0x7d0")&&m.modes[r("0x3507")](t.datepickerOptions[r("0xbc3")])>m[r("0x369")][r("0x3507")](m[e]))&&(t[r("0xbc3")]=m[e],t[r("0x4342")][r("0xbc3")]=m[e])})):m[e]=t[e]=c[e]||null}})),t[f("0x38ed")]="datepicker-"+t[f("0x2933")]+"-"+Math[f("0x4184")](1e4*Math[f("0xcbb")]()),t.disabled=angular[f("0x64a")](a[f("0x1c54")])||!1,angular[f("0x64a")](a[f("0x28cb")])&&p[f("0x459a")](t[f("0x20cb")][f("0x7a")](a[f("0x28cb")],(function(e){t.disabled=e,m.refreshView()}))),t[f("0x1494")]=function(e){var n=f;return 0===m[n("0xc0")](e[n("0x306c")],m.activeDate)&&(t.activeDateId=e[n("0x1c83")],!0)},this.init=function(e){var n=f;_=function(e){var n,a=f;if(angular[a("0x10ea")][a("0x8b1")]<6)(n=e[a("0x374")]||t[a("0x4342")][a("0x31d")]||c[a("0x31d")]||{})[a("0x2e89")]=function(e){return n[e]};else{var r=e[a("0x374")][a("0x2e89")](a("0x68b"))||(t[a("0x4342")][a("0x31d")]?t[a("0x4342")][a("0x31d")][a("0x68b")]:null)||(c[a("0x31d")]?c[a("0x31d")][a("0x68b")]:null);n=e[a("0x374")][a("0x1778")](c[a("0x31d")])[a("0x1778")](t.datepickerOptions[a("0x31d")])[a("0x1778")](e[a("0x374")])[a("0x1778")]({timezone:r})}return n}(b=e),t[n("0x4342")][n("0x2c6b")]?(m[n("0x4d7b")]=u[n("0x2a4f")](t[n("0x4342")].initDate,_[n("0x2e89")](n("0x68b")))||new Date,t.$watch(n("0x34f0"),(function(e){var t=n;e&&(b.$isEmpty(b.$modelValue)||b[t("0x1d4c")])&&(m[t("0x4d7b")]=u.fromTimezone(e,_[t("0x2e89")](t("0x68b"))),m[t("0x7ac")]())}))):m.activeDate=new Date;var a=b[n("0x2dce")]?new Date(b.$modelValue):new Date;this.activeDate=isNaN(a)?u.fromTimezone(new Date,_[n("0x2e89")]("timezone")):u[n("0x2a4f")](a,_.getOption("timezone")),b.$render=function(){m[n("0x4537")]()}},this[f("0x4537")]=function(){var e=f;if(b[e("0x326c")]){var t=new Date(b[e("0x326c")]);!isNaN(t)?this[e("0x4d7b")]=u[e("0x2a4f")](t,_[e("0x2e89")](e("0x68b"))):!d&&x[e("0x4ad3")](e("0x4cea"))}this[e("0x7ac")]()},this[f("0x7ac")]=function(){var e=f;if(this[e("0xb48")]){t[e("0x4c8f")]=null,this._refreshView(),t[e("0x3ef4")]&&(t[e("0x2edb")]=t[e("0x3ef4")][e("0x1c83")]);var n=b[e("0x326c")]?new Date(b[e("0x326c")]):null;n=u[e("0x2a4f")](n,_[e("0x2e89")](e("0x68b"))),b[e("0x234f")](e("0x166c"),!n||this[e("0xb48")]&&!this[e("0xf9e")](n))}},this.createDateObject=function(e,n){var a=f,r=b[a("0x326c")]?new Date(b[a("0x326c")]):null;r=u[a("0x2a4f")](r,_.getOption("timezone"));var i=new Date;i=u[a("0x2a4f")](i,_[a("0x2e89")](a("0x68b")));var o=this.compare(e,i),x={date:e,label:u[a("0x6a6")](e,n),selected:r&&0===this.compare(e,r),disabled:this[a("0xf9e")](e),past:o<0,current:0===o,future:o>0,customClass:this[a("0xc8e")](e)||null};return r&&0===this[a("0xc0")](e,r)&&(t[a("0x4c8f")]=x),m[a("0x4d7b")]&&0===this.compare(x[a("0x306c")],m[a("0x4d7b")])&&(t.activeDt=x),x},this[f("0xf9e")]=function(e){var n=f;return t[n("0x1c54")]||this.minDate&&this[n("0xc0")](e,this[n("0x1d23")])<0||this[n("0x16d9")]&&this[n("0xc0")](e,this.maxDate)>0||t.dateDisabled&&t[n("0x166c")]({date:e,mode:t[n("0xbc3")]})},this[f("0xc8e")]=function(e){return t[f("0xc8e")]({date:e,mode:t.datepickerMode})},this.split=function(e,t){for(var n=f,a=[];e[n("0x5e9")]>0;)a[n("0x459a")](e[n("0x2bcf")](0,t));return a},t[f("0x2d7b")]=function(e){var n=f;if(t[n("0xbc3")]===m[n("0x4743")]){var a=b[n("0x326c")]?u[n("0x2a4f")](new Date(b[n("0x326c")]),_.getOption(n("0x68b"))):new Date(0,0,0,0,0,0,0);a.setFullYear(e[n("0x3915")](),e[n("0x1d51")](),e[n("0x18f4")]()),a=u[n("0x408d")](a,_[n("0x2e89")](n("0x68b"))),b[n("0x1605")](a),b[n("0x4dbb")]()}else m[n("0x4d7b")]=e,h(m.modes[m[n("0x369")][n("0x3507")](t[n("0xbc3")])-1]),t[n("0x7e0")]("uib:datepicker.mode");t[n("0x2050")](n("0x3171"))},t[f("0x1ff3")]=function(e){var t=f,n=m[t("0x4d7b")][t("0x3915")]()+e*(m[t("0x2e41")][t("0x9cd")]||0),a=m.activeDate[t("0x1d51")]()+e*(m.step.months||0);m.activeDate[t("0x4866")](n,a,1),m[t("0x7ac")]()},t.toggleMode=function(e){var n=f;e=e||1,t[n("0xbc3")]===m.maxMode&&1===e||t[n("0xbc3")]===m[n("0x4743")]&&-1===e||(h(m[n("0x369")][m[n("0x369")].indexOf(t[n("0xbc3")])+e]),t[n("0x7e0")]("uib:datepicker.mode"))},t[f("0xa35")]={13:f("0x3b11"),32:"space",33:f("0x2b01"),34:"pagedown",35:f("0x3a59"),36:f("0x3200"),37:f("0x2885"),38:"up",39:f("0x30eb"),40:f("0x347a")};function h(e){var n=f;t[n("0xbc3")]=e,t[n("0x4342")][n("0xbc3")]=e}t.$on("uib:datepicker.focus",(function(){var e=f;m[e("0xb48")][0][e("0x2beb")]()})),t.keydown=function(e){var n=f,a=t.keys[e[n("0x2d41")]];if(a&&!e[n("0x3d90")]&&!e.altKey&&!t.disabled)if(e[n("0xe50")](),!m[n("0x3166")]&&e[n("0x4c98")](),a===n("0x3b11")||a===n("0x1034")){if(m[n("0xf9e")](m[n("0x4d7b")]))return;t.select(m[n("0x4d7b")])}else!e.ctrlKey||"up"!==a&&"down"!==a?(m[n("0x3fac")](a,e),m[n("0x7ac")]()):t.toggleMode("up"===a?1:-1)},n.on(f("0x468d"),(function(e){var n=f;t[n("0xd66")]((function(){t[n("0x468d")](e)}))})),t[f("0x24c9")]("$destroy",(function(){for(var e=f;p[e("0x5e9")];)p[e("0x4534")]()()}))}])[e("0x1194")](e("0x1e"),[e("0x36af"),e("0x4998"),e("0x4371"),function(t,n,a){var r=e,i=[31,28,31,30,31,30,31,31,30,31,30,31];function o(e,t){return 1!==t||e%4!=0||e%100==0&&e%400!=0?i[t]:29}function x(e){var t=r,n=new Date(e);n[t("0x354d")](n[t("0x18f4")]()+4-(n.getDay()||7));var a=n[t("0x4dad")]();return n[t("0x162")](0),n[t("0x354d")](1),Math[t("0x4184")](Math.round((a-n)/864e5)/7)+1}this[r("0x2e41")]={months:1},this[r("0xb48")]=n,this[r("0xeed")]=function(e){var n=r;angular.extend(e,this),t[n("0x3767")]=e.showWeeks,e.refreshView()},this.getDates=function(e,t){for(var n,a=r,i=new Array(t),o=new Date(e),x=0;x<t;)n=new Date(o),i[x++]=n,o[a("0x354d")](o[a("0x18f4")]()+1);return i},this[r("0x140e")]=function(){var e=r,n=this[e("0x4d7b")][e("0x3915")](),i=this.activeDate[e("0x1d51")](),o=new Date(this.activeDate);o[e("0x4866")](n,i,1);var s=this[e("0x29d9")]-o[e("0xd2b")](),c=s>0?7-s:-s,l=new Date(o);c>0&&l.setDate(1-c);for(var d=this[e("0x3e87")](l,42),u=0;u<42;u++)d[u]=angular[e("0x3448")](this[e("0x4ac")](d[u],this[e("0x2d67")]),{secondary:d[u][e("0x1d51")]()!==i,uid:t.uniqueId+"-"+u});t[e("0x374b")]=new Array(7);for(var f=0;f<7;f++)t[e("0x374b")][f]={abbr:a(d[f][e("0x306c")],this[e("0x3e16")]),full:a(d[f][e("0x306c")],"EEEE")};if(t[e("0x2fdc")]=a(this[e("0x4d7b")],this[e("0x1d84")]),t.rows=this[e("0x9e5")](d,7),t[e("0x3767")]){t[e("0x2f3a")]=[];for(var m=(11-this[e("0x29d9")])%7,b=t[e("0x47d8")][e("0x5e9")],_=0;_<b;_++)t[e("0x2f3a")].push(x(t[e("0x47d8")][_][m][e("0x306c")]))}},this[r("0xc0")]=function(e,t){var n=r,a=new Date(e[n("0x3915")](),e[n("0x1d51")](),e[n("0x18f4")]()),i=new Date(t[n("0x3915")](),t.getMonth(),t[n("0x18f4")]());return a[n("0x4866")](e[n("0x3915")]()),i[n("0x4866")](t[n("0x3915")]()),a-i},this[r("0x3fac")]=function(e,t){var n=r,a=this[n("0x4d7b")].getDate();if(e===n("0x2885"))a-=1;else if("up"===e)a-=7;else if("right"===e)a+=1;else if("down"===e)a+=7;else if(e===n("0x2b01")||"pagedown"===e){var i=this.activeDate[n("0x1d51")]()+(e===n("0x2b01")?-1:1);this[n("0x4d7b")][n("0x162")](i,1),a=Math[n("0x11db")](o(this[n("0x4d7b")][n("0x3915")](),this[n("0x4d7b")][n("0x1d51")]()),a)}else"home"===e?a=1:e===n("0x3a59")&&(a=o(this.activeDate.getFullYear(),this[n("0x4d7b")].getMonth()));this.activeDate[n("0x354d")](a)}}]).controller(e("0x3b5c"),["$scope",e("0x4998"),"dateFilter",function(t,n,a){var r=e;this[r("0x2e41")]={years:1},this.element=n,this[r("0xeed")]=function(e){var t=r;angular.extend(e,this),e[t("0x7ac")]()},this[r("0x140e")]=function(){for(var e,n=r,i=new Array(12),o=this[n("0x4d7b")][n("0x3915")](),x=0;x<12;x++)(e=new Date(this.activeDate))[n("0x4866")](o,x,1),i[x]=angular[n("0x3448")](this[n("0x4ac")](e,this[n("0xfea")]),{uid:t[n("0x38ed")]+"-"+x});t[n("0x2fdc")]=a(this[n("0x4d7b")],this[n("0x1167")]),t[n("0x47d8")]=this[n("0x9e5")](i,this[n("0x1110")]),t.yearHeaderColspan=this[n("0x1110")]>3?this.monthColumns-2:1},this.compare=function(e,t){var n=r,a=new Date(e.getFullYear(),e[n("0x1d51")]()),i=new Date(t[n("0x3915")](),t[n("0x1d51")]());return a[n("0x4866")](e[n("0x3915")]()),i[n("0x4866")](t[n("0x3915")]()),a-i},this.handleKeyDown=function(e,t){var n=r,a=this[n("0x4d7b")].getMonth();if(e===n("0x2885"))a-=1;else if("up"===e)a-=this[n("0x1110")];else if("right"===e)a+=1;else if(e===n("0x347a"))a+=this.monthColumns;else if("pageup"===e||e===n("0x2560")){var i=this[n("0x4d7b")].getFullYear()+(e===n("0x2b01")?-1:1);this[n("0x4d7b")][n("0x4866")](i)}else e===n("0x3200")?a=0:e===n("0x3a59")&&(a=11);this[n("0x4d7b")].setMonth(a)}}])[e("0x1194")]("UibYearpickerController",[e("0x36af"),e("0x4998"),e("0x4371"),function(t,n,a){var r,i,o=e;function x(e){return parseInt((e-1)/i,10)*i+1}this[o("0xb48")]=n,this[o("0x413f")]=function(){var e=o;r=this[e("0x6e9")],i=this[e("0x300d")]*r,this[e("0x2e41")]={years:i}},this[o("0x140e")]=function(){for(var e,n=o,a=new Array(i),s=0,c=x(this[n("0x4d7b")][n("0x3915")]());s<i;s++)(e=new Date(this[n("0x4d7b")]))[n("0x4866")](c+s,0,1),a[s]=angular[n("0x3448")](this.createDateObject(e,this.formatYear),{uid:t[n("0x38ed")]+"-"+s});t[n("0x2fdc")]=[a[0].label,a[i-1][n("0x32b")]][n("0xc60")](n("0x293e")),t.rows=this[n("0x9e5")](a,r),t.columns=r},this[o("0xc0")]=function(e,t){var n=o;return e[n("0x3915")]()-t[n("0x3915")]()},this[o("0x3fac")]=function(e,t){var n=o,a=this[n("0x4d7b")][n("0x3915")]();e===n("0x2885")?a-=1:"up"===e?a-=r:"right"===e?a+=1:e===n("0x347a")?a+=r:e===n("0x2b01")||e===n("0x2560")?a+=(e===n("0x2b01")?-1:1)*i:e===n("0x3200")?a=x(this[n("0x4d7b")][n("0x3915")]()):e===n("0x3a59")&&(a=x(this[n("0x4d7b")][n("0x3915")]())+i-1),this[n("0x4d7b")][n("0x4866")](a)}}])[e("0x1b75")]("uibDatepicker",(function(){var t=e;return{templateUrl:function(e,t){var n=a2_0x37cf;return t[n("0x1d64")]||n("0xc67")},scope:{datepickerOptions:"=?"},require:[t("0x11bb"),t("0x18ec")],restrict:"A",controller:"UibDatepickerController",controllerAs:t("0x25de"),link:function(e,t,n,a){var r=a[0],i=a[1];r.init(i)}}}))[e("0x1b75")](e("0x44be"),(function(){var t=e;return{templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/day.html"},require:[t("0x3dbb"),t("0x44be")],restrict:"A",controller:t("0x1e"),link:function(e,n,a,r){var i=t,o=r[0];r[1][i("0xeed")](o)}}})).directive(e("0xcca"),(function(){var t=e;return{templateUrl:function(e,t){var n=a2_0x37cf;return t[n("0x1d64")]||n("0x3372")},require:[t("0x3dbb"),t("0xcca")],restrict:"A",controller:"UibMonthpickerController",link:function(e,n,a,r){var i=t,o=r[0];r[1][i("0xeed")](o)}}})).directive(e("0x4378"),(function(){var t=e;return{templateUrl:function(e,t){var n=a2_0x37cf;return t[n("0x1d64")]||n("0x4e32")},require:[t("0x3dbb"),"uibYearpicker"],restrict:"A",controller:t("0x10f"),link:function(e,n,a,r){var i=t,o=r[0];angular[i("0x3448")](o,r[1]),o.yearpickerInit(),o.refreshView()}}})),angular[e("0x39e9")]("ui.bootstrap.position",[])[e("0x3faf")](e("0x2052"),[e("0x45e2"),e("0xe11"),function(e,t){var n,a,r={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},i={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/},o=/(HTML|BODY)/;return{getRawNode:function(e){return e[a2_0x37cf("0x4907")]?e:e[0]||e},parseStyle:function(e){return e=parseFloat(e),isFinite(e)?e:0},offsetParent:function(n){var a,r,i=a2_0x37cf,o=(n=this[i("0x106e")](n))[i("0x12c")]||e[0][i("0x4c17")];for(;o&&o!==e[0][i("0x4c17")]&&(a=o,r=void 0,(t[(r=i)("0x2b64")](a).position||r("0x2704"))===r("0x2704"));)o=o.offsetParent;return o||e[0][i("0x4c17")]},scrollbarWidth:function(r){var i=a2_0x37cf;if(r){if(angular[i("0x29ab")](a)){var o=e[i("0x372f")](i("0x3b3e"));o[i("0x31dc")](i("0x3440")),a=t[i("0x105d")]-o[0].clientWidth,a=isFinite(a)?a:0,o[i("0xa81")](i("0x3440"))}return a}if(angular[i("0x29ab")](n)){var x=angular[i("0xb48")](i("0x2ce9"));e[i("0x372f")](i("0x3b3e"))[i("0x136a")](x),n=x[0][i("0xe76")]-x[0].clientWidth,n=isFinite(n)?n:0,x[i("0xf82")]()}return n},scrollbarPadding:function(e){var n=a2_0x37cf;e=this[n("0x106e")](e);var a=t.getComputedStyle(e),r=this[n("0x1290")](a[n("0x49ca")]),i=this[n("0x1290")](a[n("0x4cd0")]),x=this[n("0x3654")](e,!1,!0),s=this[n("0x18c1")](o[n("0x3ff3")](x.tagName));return{scrollbarWidth:s,widthOverflow:x[n("0x3d33")]>x[n("0x538")],right:r+s,originalRight:r,heightOverflow:x[n("0x2afd")]>x.clientHeight,bottom:i+s,originalBottom:i}},isScrollable:function(e,n){var a=a2_0x37cf;e=this[a("0x106e")](e);var i=n?r.hidden:r.normal,o=t[a("0x2b64")](e);return i[a("0x3ff3")](o[a("0x905")]+o[a("0x635")]+o[a("0x6db")])},scrollParent:function(n,a,i){var o=a2_0x37cf;n=this[o("0x106e")](n);var x=a?r.hidden:r[o("0x1e4")],s=e[0][o("0x4c17")],c=t[o("0x2b64")](n);if(i&&x[o("0x3ff3")](c[o("0x905")]+c[o("0x635")]+c[o("0x6db")]))return n;var l=c[o("0x342c")]===o("0xc1a"),d=n[o("0x81a")]||s;if(d===s||c[o("0x342c")]===o("0x2e56"))return s;for(;d[o("0x81a")]&&d!==s;){var u=t[o("0x2b64")](d);if(l&&"static"!==u[o("0x342c")]&&(l=!1),!l&&x[o("0x3ff3")](u[o("0x905")]+u[o("0x635")]+u[o("0x6db")]))break;d=d[o("0x81a")]}return d},position:function(n,a){var r=a2_0x37cf;n=this[r("0x106e")](n);var i=this.offset(n);if(a){var o=t[r("0x2b64")](n);i[r("0x228a")]-=this[r("0x1290")](o.marginTop),i[r("0x2885")]-=this.parseStyle(o[r("0x314b")])}var x=this[r("0x12c")](n),s={top:0,left:0};return x!==e[0][r("0x4c17")]&&((s=this[r("0x1feb")](x))[r("0x228a")]+=x.clientTop-x[r("0x1423")],s[r("0x2885")]+=x.clientLeft-x[r("0xc1")]),{width:Math[r("0x46d")](angular.isNumber(i[r("0xbbf")])?i.width:n[r("0xe76")]),height:Math[r("0x46d")](angular.isNumber(i[r("0x4e66")])?i[r("0x4e66")]:n[r("0x2b02")]),top:Math[r("0x46d")](i.top-s[r("0x228a")]),left:Math[r("0x46d")](i[r("0x2885")]-s[r("0x2885")])}},offset:function(n){var a=a2_0x37cf,r=(n=this[a("0x106e")](n))[a("0x1a8b")]();return{width:Math.round(angular[a("0x1ba0")](r[a("0xbbf")])?r[a("0xbbf")]:n.offsetWidth),height:Math[a("0x46d")](angular[a("0x1ba0")](r[a("0x4e66")])?r[a("0x4e66")]:n.offsetHeight),top:Math.round(r[a("0x228a")]+(t[a("0x8a1")]||e[0][a("0x4c17")][a("0x1423")])),left:Math[a("0x46d")](r[a("0x2885")]+(t.pageXOffset||e[0][a("0x4c17")][a("0xc1")]))}},viewportOffset:function(n,a,r){var i=a2_0x37cf;r=!1!==r;var o=(n=this.getRawNode(n))[i("0x1a8b")](),x={top:0,left:0,bottom:0,right:0},s=a?e[0][i("0x4c17")]:this[i("0x3654")](n),c=s[i("0x1a8b")]();if(x[i("0x228a")]=c[i("0x228a")]+s[i("0x18b5")],x[i("0x2885")]=c[i("0x2885")]+s.clientLeft,s===e[0][i("0x4c17")]&&(x.top+=t[i("0x8a1")],x[i("0x2885")]+=t[i("0x1dac")]),x.bottom=x[i("0x228a")]+s.clientHeight,x[i("0x30eb")]=x[i("0x2885")]+s.clientWidth,r){var l=t.getComputedStyle(s);x[i("0x228a")]+=this[i("0x1290")](l[i("0x4e0")]),x[i("0x47d9")]-=this.parseStyle(l[i("0x4cd0")]),x[i("0x2885")]+=this[i("0x1290")](l.paddingLeft),x.right-=this[i("0x1290")](l[i("0x49ca")])}return{top:Math[i("0x46d")](o[i("0x228a")]-x[i("0x228a")]),bottom:Math.round(x.bottom-o[i("0x47d9")]),left:Math[i("0x46d")](o[i("0x2885")]-x.left),right:Math[i("0x46d")](x[i("0x30eb")]-o.right)}},parsePlacement:function(e){var t=a2_0x37cf,n=i[t("0x15ac")][t("0x3ff3")](e);return n&&(e=e.replace(i[t("0x15ac")],"")),(e=e[t("0x9e5")]("-"))[0]=e[0]||t("0x228a"),!i[t("0x1c61")][t("0x3ff3")](e[0])&&(e[0]=t("0x228a")),e[1]=e[1]||t("0x2167"),!i[t("0x34fa")][t("0x3ff3")](e[1])&&(e[1]=t("0x2167")),e[2]=!!n,e},positionElements:function(e,n,a,r){var o=a2_0x37cf;e=this[o("0x106e")](e),n=this[o("0x106e")](n);var x=angular.isDefined(n[o("0xe76")])?n[o("0xe76")]:n[o("0x40ea")](o("0xe76")),s=angular[o("0x64a")](n[o("0x2b02")])?n[o("0x2b02")]:n.prop(o("0x2b02"));a=this[o("0x4055")](a);var c=r?this.offset(e):this[o("0x342c")](e),l={top:0,left:0,placement:""};if(a[2]){var d=this[o("0x3ccc")](e,r),u=t.getComputedStyle(n),f={width:x+Math.round(Math.abs(this[o("0x1290")](u[o("0x314b")])+this[o("0x1290")](u.marginRight))),height:s+Math.round(Math[o("0x681")](this[o("0x1290")](u.marginTop)+this[o("0x1290")](u[o("0x2e10")])))};if(a[0]=a[0]===o("0x228a")&&f[o("0x4e66")]>d[o("0x228a")]&&f[o("0x4e66")]<=d[o("0x47d9")]?"bottom":a[0]===o("0x47d9")&&f[o("0x4e66")]>d[o("0x47d9")]&&f[o("0x4e66")]<=d.top?o("0x228a"):a[0]===o("0x2885")&&f[o("0xbbf")]>d[o("0x2885")]&&f[o("0xbbf")]<=d[o("0x30eb")]?"right":a[0]===o("0x30eb")&&f[o("0xbbf")]>d.right&&f[o("0xbbf")]<=d[o("0x2885")]?o("0x2885"):a[0],a[1]=a[1]===o("0x228a")&&f[o("0x4e66")]-c[o("0x4e66")]>d[o("0x47d9")]&&f[o("0x4e66")]-c.height<=d[o("0x228a")]?o("0x47d9"):"bottom"===a[1]&&f[o("0x4e66")]-c[o("0x4e66")]>d.top&&f[o("0x4e66")]-c[o("0x4e66")]<=d[o("0x47d9")]?o("0x228a"):a[1]===o("0x2885")&&f.width-c[o("0xbbf")]>d[o("0x30eb")]&&f[o("0xbbf")]-c[o("0xbbf")]<=d[o("0x2885")]?"right":a[1]===o("0x30eb")&&f.width-c[o("0xbbf")]>d[o("0x2885")]&&f[o("0xbbf")]-c.width<=d.right?"left":a[1],a[1]===o("0x2167"))if(i[o("0x40a3")][o("0x3ff3")](a[0])){var m=c[o("0xbbf")]/2-x/2;d[o("0x2885")]+m<0&&f[o("0xbbf")]-c.width<=d.right?a[1]="left":d[o("0x30eb")]+m<0&&f[o("0xbbf")]-c[o("0xbbf")]<=d[o("0x2885")]&&(a[1]=o("0x30eb"))}else{var b=c.height/2-f[o("0x4e66")]/2;d[o("0x228a")]+b<0&&f[o("0x4e66")]-c.height<=d[o("0x47d9")]?a[1]=o("0x228a"):d[o("0x47d9")]+b<0&&f.height-c.height<=d[o("0x228a")]&&(a[1]=o("0x47d9"))}}switch(a[0]){case"top":l[o("0x228a")]=c[o("0x228a")]-s;break;case o("0x47d9"):l[o("0x228a")]=c[o("0x228a")]+c[o("0x4e66")];break;case o("0x2885"):l[o("0x2885")]=c.left-x;break;case o("0x30eb"):l[o("0x2885")]=c[o("0x2885")]+c[o("0xbbf")]}switch(a[1]){case"top":l[o("0x228a")]=c[o("0x228a")];break;case o("0x47d9"):l[o("0x228a")]=c[o("0x228a")]+c[o("0x4e66")]-s;break;case o("0x2885"):l.left=c.left;break;case o("0x30eb"):l[o("0x2885")]=c.left+c.width-x;break;case o("0x2167"):i[o("0x40a3")].test(a[0])?l[o("0x2885")]=c[o("0x2885")]+c[o("0xbbf")]/2-x/2:l[o("0x228a")]=c[o("0x228a")]+c[o("0x4e66")]/2-s/2}return l.top=Math[o("0x46d")](l[o("0x228a")]),l[o("0x2885")]=Math.round(l.left),l[o("0x3cfe")]=a[1]===o("0x2167")?a[0]:a[0]+"-"+a[1],l},adjustTop:function(e,t,n,a){var r=a2_0x37cf;if(-1!==e[r("0x3507")](r("0x228a"))&&n!==a)return{top:t[r("0x228a")]-a+"px"}},positionArrow:function(e,n){var a=a2_0x37cf,r=(e=this[a("0x106e")](e))[a("0x31f7")](a("0xc35"));if(r){var o=angular.element(r)[a("0x3a35")](a("0x493d")),x=o?e[a("0x31f7")](".tooltip-arrow"):e[a("0x31f7")](a("0x15a9"));if(x){var s={top:"",bottom:"",left:"",right:""};if((n=this[a("0x4055")](n))[1]!==a("0x2167")){var c=a("0x4f7b")+n[0]+a("0x2f15"),l=t[a("0x2b64")](x)[c],d=a("0x4f7b");i[a("0x40a3")][a("0x3ff3")](n[0])?d+=n[0]+"-"+n[1]:d+=n[1]+"-"+n[0],d+="-radius";var u=t[a("0x2b64")](o?r:e)[d];switch(n[0]){case a("0x228a"):s.bottom=o?"0":"-"+l;break;case a("0x47d9"):s[a("0x228a")]=o?"0":"-"+l;break;case a("0x2885"):s[a("0x30eb")]=o?"0":"-"+l;break;case a("0x30eb"):s[a("0x2885")]=o?"0":"-"+l}s[n[1]]=u,angular[a("0xb48")](x)[a("0x42b1")](s)}else angular.element(x)[a("0x42b1")](s)}}}}}]),angular.module("ui.bootstrap.datepickerPopup",["ui.bootstrap.datepicker",e("0x43cb")])[e("0x3a33")](e("0x1e55"),!0).constant(e("0x4c07"),{altInputFormats:[],appendToBody:!1,clearText:e("0x3028"),closeOnDateSelection:!0,closeText:e("0x260c"),currentText:e("0x22d1"),datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:e("0x1408"),datepickerTemplateUrl:e("0xc67"),html5Types:{date:"yyyy-MM-dd","datetime-local":e("0x2bb8"),month:e("0x48f3")},onOpenFocus:!0,showButtonBar:!0,placement:"auto bottom-left"}).controller("UibDatepickerPopupController",[e("0x36af"),e("0x4998"),e("0x428f"),e("0x4728"),e("0x1a4"),e("0x68c"),e("0xe11"),e("0x45e2"),e("0x47ed"),e("0x2052"),e("0x4371"),"uibDateParser",e("0x4c07"),e("0x38d4"),"uibDatepickerConfig",e("0x1e55"),function(t,n,a,r,i,o,x,s,c,l,d,u,f,m,b,_){var p,h,g,v,S,E,A,T,y,C,w,M,R,D=e,I=!1,N=[];function O(e){var n=D,a=u[n("0x1fb8")](e,p,t[n("0x306c")]);if(isNaN(a))for(var r=0;r<R.length;r++)if(a=u[n("0x1fb8")](e,R[r],t[n("0x306c")]),!isNaN(a))return a;return a}function k(e){var t=D;if(angular.isNumber(e)&&(e=new Date(e)),!e)return null;if(angular[t("0x24a9")](e)&&!isNaN(e))return e;if(angular[t("0x1236")](e)){var n=O(e);if(!isNaN(n))return u[t("0x408d")](n,w.getOption(t("0x68b")))}return w.getOption(t("0x1804"))?e:void 0}function P(e,t){var n=D,r=e||t;return!a[n("0x2ec2")]&&!r||(angular[n("0x1ba0")](r)&&(r=new Date(r)),!r||(!(!angular[n("0x24a9")](r)||isNaN(r))||!!angular[n("0x1236")](r)&&!isNaN(O(r))))}function L(e){var a=D;if(t.isOpen||!t[a("0x1c54")]){var r=M[0],i=n[0].contains(e[a("0x55d")]),o=void 0!==r[a("0x2a10")]&&r[a("0x2a10")](e[a("0x55d")]);t[a("0x4447")]&&!i&&!o&&t[a("0xd66")]((function(){t[a("0x4447")]=!1}))}}function F(e){var a=D;27===e[a("0x2d41")]&&t[a("0x4447")]?(e[a("0xe50")](),e[a("0x4c98")](),t[a("0xd66")]((function(){t[a("0x4447")]=!1})),n[0][a("0x2beb")]()):40===e[a("0x2d41")]&&!t[a("0x4447")]&&(e.preventDefault(),e[a("0x4c98")](),t[a("0xd66")]((function(){t[a("0x4447")]=!0})))}function B(){var e=D;if(t[e("0x4447")]){var r=angular[e("0xb48")](M[0][e("0x31f7")](e("0x253a"))),i=a[e("0x1a3f")]?a[e("0x1a3f")]:f[e("0x3cfe")],o=l[e("0x3e59")](n,r,i,g);r[e("0x42b1")]({top:o[e("0x228a")]+"px",left:o.left+"px"}),r[e("0x3a35")](e("0x5008"))&&r[e("0xa81")](e("0x5008"))}}this[D("0xeed")]=function(e){var i,o,l,d=D;if(i=C=e,l=D,angular[l("0x10ea")][l("0x8b1")]<6?(o=angular.isObject(i[l("0x374")])?i[l("0x374")]:{timezone:null})[l("0x2e89")]=function(e){return o[e]}:o=i[l("0x374")],w=o,h=angular.isDefined(a[d("0x10aa")])?t[d("0x20cb")][d("0xe2b")](a.closeOnDateSelection):f[d("0x10aa")],g=angular[d("0x64a")](a.datepickerAppendToBody)?t[d("0x20cb")].$eval(a[d("0x8ed")]):f[d("0xe87")],v=angular.isDefined(a[d("0x1596")])?t[d("0x20cb")][d("0xe2b")](a[d("0x1596")]):f[d("0x1596")],S=angular[d("0x64a")](a[d("0x632")])?a[d("0x632")]:f[d("0x632")],E=angular[d("0x64a")](a.datepickerTemplateUrl)?a[d("0x1b70")]:f[d("0x1b70")],R=angular.isDefined(a[d("0x2ec7")])?t[d("0x20cb")][d("0xe2b")](a[d("0x2ec7")]):f[d("0x2ec7")],t[d("0x4965")]=angular[d("0x64a")](a.showButtonBar)?t[d("0x20cb")][d("0xe2b")](a[d("0x4965")]):f[d("0x4965")],f.html5Types[a[d("0x3298")]]?(p=f[d("0x4163")][a[d("0x3298")]],I=!0):(p=a[d("0x1176")]||f[d("0x3d8a")],a[d("0xf52")](d("0x1176"),(function(e,t){var n=d,a=e||f[n("0x3d8a")];if(a!==p&&(p=a,C[n("0x2dce")]=null,!p))throw new Error(n("0x145d"))}))),!p)throw new Error(d("0x145d"));if(I&&a[d("0x1176")])throw new Error("HTML5 date input types do not support custom formats.");(A=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>"))[d("0x417f")]({"ng-model":d("0x306c"),"ng-change":d("0xc96"),"template-url":S}),(T=angular[d("0xb48")](A[d("0x71b")]()[0]))[d("0x417f")](d("0x2da3"),E),!t[d("0x4342")]&&(t[d("0x4342")]={}),I&&a[d("0x3298")]===d("0x1b62")&&(t[d("0x4342")][d("0xbc3")]=d("0x1b62"),t.datepickerOptions[d("0x4743")]=d("0x1b62")),T[d("0x417f")](d("0x2c17"),d("0x4342")),I?C[d("0x3b53")].push((function(e){var n=d;return t[n("0x306c")]=u[n("0x2a4f")](e,w[n("0x2e89")](n("0x68b"))),e})):(C[d("0x2260")]=d("0x306c"),C[d("0x1b85")][d("0x306c")]=P,C[d("0x2888")][d("0x4e4a")](k),C[d("0x3b53")].push((function(e){var n=d;return C[n("0x8b2")](e)?(t[n("0x306c")]=e,e):(angular[n("0x1ba0")](e)&&(e=new Date(e)),t[n("0x306c")]=u.fromTimezone(e,w[n("0x2e89")](n("0x68b"))),u[n("0x6a6")](t[n("0x306c")],p))}))),C.$viewChangeListeners[d("0x459a")]((function(){var e=d;t[e("0x306c")]=O(C[e("0x326c")])})),n.on(d("0x468d"),F),M=r(A)(t),A[d("0xf82")](),g?s[d("0x372f")](d("0x3b3e"))[d("0x136a")](M):n[d("0x477b")](M),t.$on("$destroy",(function(){var e=d;for(!0===t.isOpen&&!c.$$phase&&t.$apply((function(){t.isOpen=!1})),M.remove(),n[e("0x30f8")](e("0x468d"),F),s.off(e("0x7cb"),L),y&&y[e("0x30f8")](e("0x3def"),B),angular[e("0xb48")](x)[e("0x30f8")](e("0x39d4"),B);N[e("0x5e9")];)N[e("0x4534")]()()}))},t[D("0x114e")]=function(e){var n=D;return t[e+n("0x23d0")]||f[e+n("0x23d0")]},t[D("0xf9e")]=function(e){var n=D;e===n("0x1a11")&&(e=u.fromTimezone(new Date,w[n("0x2e89")]("timezone")));var a={};return angular[n("0x5ba")]([n("0x1d23"),"maxDate"],(function(e){var r=n;t[r("0x4342")][e]?angular[r("0x24a9")](t[r("0x4342")][e])?a[e]=new Date(t[r("0x4342")][e]):(_&&i[r("0x1dc6")](r("0x1f6d")),a[e]=new Date(d(t[r("0x4342")][e],r("0x3cf5")))):a[e]=null})),t[n("0x4342")]&&a[n("0x1d23")]&&t[n("0xc0")](e,a[n("0x1d23")])<0||a[n("0x16d9")]&&t[n("0xc0")](e,a.maxDate)>0},t.compare=function(e,t){var n=D;return new Date(e.getFullYear(),e.getMonth(),e[n("0x18f4")]())-new Date(t[n("0x3915")](),t.getMonth(),t[n("0x18f4")]())},t[D("0x55c")]=function(e){var a=D;t.date=e;var r=t[a("0x306c")]?u[a("0x6a6")](t[a("0x306c")],p):null;n[a("0x435d")](r),C[a("0x1605")](r),h&&(t.isOpen=!1,n[0][a("0x2beb")]())},t.keydown=function(e){var a=D;27===e[a("0x2d41")]&&(e[a("0x4c98")](),t.isOpen=!1,n[0][a("0x2beb")]())},t.select=function(e,n){var a=D;if(n[a("0x4c98")](),e===a("0x1a11")){var r=new Date;angular.isDate(t[a("0x306c")])?(e=new Date(t[a("0x306c")]))[a("0x4866")](r[a("0x3915")](),r.getMonth(),r.getDate()):(e=u[a("0x2a4f")](r,w[a("0x2e89")](a("0x68b"))))[a("0x3eef")](0,0,0,0)}t[a("0x55c")](e)},t[D("0x440f")]=function(e){var a=D;e[a("0x4c98")](),t[a("0x4447")]=!1,n[0][a("0x2beb")]()},t.disabled=angular[D("0x64a")](a[D("0x1c54")])||!1,a.ngDisabled&&N.push(t[D("0x20cb")].$watch(o(a.ngDisabled),(function(e){t[D("0x1c54")]=e}))),t[D("0x7a")](D("0x4447"),(function(e){var r=D;e?t[r("0x1c54")]?t[r("0x4447")]=!1:m((function(){var e=r;B(),v&&t[e("0x2050")](e("0x3171")),s.on("click",L);var i=a[e("0x1a3f")]?a.popupPlacement:f[e("0x3cfe")];g||l[e("0x4055")](i)[2]?(y=y||angular[e("0xb48")](l[e("0x3654")](n)))&&y.on("scroll",B):y=null,angular[e("0xb48")](x).on("resize",B)}),0,!1):(s[r("0x30f8")]("click",L),y&&y[r("0x30f8")](r("0x3def"),B),angular[r("0xb48")](x)[r("0x30f8")](r("0x39d4"),B))})),t.$on(D("0x3cb7"),(function(){m(B,0,!1)}))}])[e("0x1b75")](e("0x1176"),(function(){var t=e;return{require:[t("0x12bc"),t("0x1176")],controller:"UibDatepickerPopupController",scope:{datepickerOptions:"=?",isOpen:"=?",currentText:"@",clearText:"@",closeText:"@"},link:function(e,n,a,r){var i=t,o=r[0];r[1][i("0xeed")](o)}}}))[e("0x1b75")]("uibDatepickerPopupWrap",(function(){return{restrict:"A",transclude:!0,templateUrl:function(e,t){var n=a2_0x37cf;return t[n("0x1d64")]||n("0x1408")}}})),angular.module("ui.bootstrap.debounce",[])[e("0x3faf")]("$$debounce",["$timeout",function(e){return function(t,n){var a;return function(){var r=a2_0x37cf,i=this,o=Array.prototype[r("0x9b3")][r("0x3c6b")](arguments);a&&e[r("0x4920")](a),a=e((function(){t[r("0x4884")](i,o)}),n)}}}]),angular.module(e("0x2c3b"),[]).factory("$$multiMap",(function(){return{createNew:function(){var e={};return{entries:function(){var t=a2_0x37cf;return Object.keys(e)[t("0x19e8")]((function(t){return{key:t,value:e[t]}}))},get:function(t){return e[t]},hasKey:function(t){return!!e[t]},keys:function(){return Object.keys(e)},put:function(t,n){var a=a2_0x37cf;!e[t]&&(e[t]=[]),e[t][a("0x459a")](n)},remove:function(t,n){var a=a2_0x37cf,r=e[t];if(r){var i=r.indexOf(n);-1!==i&&r[a("0x2bcf")](i,1),!r.length&&delete e[t]}}}}}})),angular[e("0x39e9")](e("0x4ddc"),[e("0x2c3b"),e("0x43cb")])[e("0x4d94")](e("0x421"),{appendToOpenClass:"uib-dropdown-open",openClass:e("0x55a")})[e("0xc3b")](e("0x11fc"),["$document",e("0x47ed"),e("0x39f2"),function(t,n,a){var r=e,i=null,o=a[r("0x1d94")]();this[r("0x4abd")]=function(e,t){var n=r,a=o[n("0x1cf")](t);if(a&&a.reduce((function(t,a){return a[n("0xd20")]===e?a:t}),{}))return 1===a[n("0x5e9")];return!1},this.open=function(e,n,a){var s=r;if(!i&&t.on(s("0x7cb"),x),i&&i!==e&&(i[s("0x4447")]=!1),i=e,a){var c=o[s("0x1cf")](a);if(c)-1===c[s("0x19e8")]((function(e){return e[s("0xd20")]}))[s("0x3507")](e)&&o.put(a,{scope:e});else o[s("0x32f3")](a,{scope:e})}},this.close=function(e,n,a){var s=r;if(i===e&&(t[s("0x30f8")](s("0x7cb"),x),t[s("0x30f8")](s("0x468d"),this[s("0x4d10")]),i=null),a){var c=o[s("0x1cf")](a);if(c){var l=c[s("0x2e06")]((function(t,n){return n[s("0xd20")]===e?n:t}),{});l&&o.remove(a,l)}}};var x=function(e){var t=r;if(i&&i[t("0x4447")]&&!(e&&i.getAutoClose()===t("0x1c54")||e&&3===e[t("0x2d41")])){var a=i.getToggleElement();if(!(e&&a&&a[0][t("0x2a10")](e[t("0x55d")]))){var o=i[t("0x41be")]();e&&"outsideClick"===i[t("0x2648")]()&&o&&o[0][t("0x2a10")](e.target)||(i[t("0x19e5")](),i.isOpen=!1,!n[t("0x4fca")]&&i[t("0xd66")]())}}};this[r("0x4d10")]=function(e){var t=r;if(i){var n=i[t("0x41be")](),a=i[t("0x4b34")](),o=n&&n[0].contains(e.target),s=a&&a[0].contains(e[t("0x55d")]);27===e[t("0x2d41")]?(e[t("0x4c98")](),i.focusToggleElement(),x()):i[t("0x2c7d")]()&&-1!==[38,40][t("0x3507")](e[t("0x2d41")])&&i[t("0x4447")]&&(o||s)&&(e[t("0xe50")](),e[t("0x4c98")](),i[t("0x3169")](e[t("0x2d41")]))}}}])[e("0x1194")](e("0x4a4b"),[e("0x36af"),e("0x4998"),e("0x428f"),"$parse","uibDropdownConfig",e("0x11fc"),e("0xc00"),e("0x2052"),"$document",e("0x4728"),e("0x1d93"),function(t,n,a,r,i,o,x,s,c,l,d){var u,f,m=e,b=this,_=t[m("0x28da")](),p=i[m("0x2d18")],h=i[m("0x41c2")],g=angular.noop,v=a.onToggle?r(a[m("0x2dc")]):angular[m("0x49d1")],S=!1,E=c[m("0x372f")](m("0x3b3e"));function A(){var e=m;n[e("0x136a")](b[e("0x2411")])}n[m("0x31dc")](m("0x1d21")),this.init=function(){var e=m;a[e("0x4447")]&&(f=r(a[e("0x4447")]),g=f[e("0x3df0")],t.$watch(f,(function(e){_.isOpen=!!e}))),S=angular[e("0x64a")](a[e("0x3ec6")])},this[m("0x4368")]=function(e){var t=m;return _[t("0x4447")]=arguments.length?!!e:!_[t("0x4447")],angular.isFunction(g)&&g(_,_[t("0x4447")]),_.isOpen},this.isOpen=function(){return _[m("0x4447")]},_[m("0x4b34")]=function(){return b.toggleElement},_[m("0x2648")]=function(){return a.autoClose||"always"},_.getElement=function(){return n},_[m("0x2c7d")]=function(){return S},_[m("0x3169")]=function(e){var t=m,a=b[t("0x2411")]?angular[t("0xb48")](b[t("0x2411")])[t("0x372f")]("a"):n[t("0x372f")]("ul").eq(0).find("a");switch(e){case 40:angular[t("0x1ba0")](b[t("0x244f")])?b[t("0x244f")]=b.selectedOption===a[t("0x5e9")]-1?b.selectedOption:b[t("0x244f")]+1:b[t("0x244f")]=0;break;case 38:angular[t("0x1ba0")](b[t("0x244f")])?b[t("0x244f")]=0===b[t("0x244f")]?0:b[t("0x244f")]-1:b[t("0x244f")]=a.length-1}a[b[t("0x244f")]].focus()},_[m("0x41be")]=function(){return b.dropdownMenu},_[m("0x19e5")]=function(){var e=m;b[e("0x1be6")]&&b[e("0x1be6")][0][e("0x2beb")]()},_.$watch(m("0x4447"),(function(e,i){var f=m,S=null,T=!1;if(angular[f("0x64a")](a.dropdownAppendTo)){var y=r(a[f("0x36ea")])(_);y&&(S=angular[f("0xb48")](y))}angular[f("0x64a")](a[f("0x1fd")])&&(!1!==r(a[f("0x1fd")])(_)&&(T=!0));if(T&&!S&&(S=E),S&&b[f("0x2411")]&&(e?(S[f("0x136a")](b[f("0x2411")]),n.on(f("0x4c91"),A)):(n.off(f("0x4c91"),A),A())),S&&b[f("0x2411")]){var C,w,M,R=s[f("0x3e59")](n,b[f("0x2411")],f("0x1b91"),!0),D=0;if(C={top:R.top+"px",display:f(e?"0x37ca":"0x2847")},(w=b[f("0x2411")][f("0x3a35")](f("0x18ac")))?(C[f("0x2885")]=f("0x15ac"),(M=s[f("0x164c")](S)).heightOverflow&&M[f("0x18c1")]&&(D=M[f("0x18c1")]),C[f("0x30eb")]=window[f("0x105d")]-D-(R[f("0x2885")]+n[f("0x40ea")](f("0xe76")))+"px"):(C[f("0x2885")]=R[f("0x2885")]+"px",C[f("0x30eb")]=f("0x15ac")),!T){var I=s[f("0x1feb")](S);C[f("0x228a")]=R[f("0x228a")]-I.top+"px",w?C[f("0x30eb")]=window[f("0x105d")]-(R[f("0x2885")]-I.left+n[f("0x40ea")](f("0xe76")))+"px":C[f("0x2885")]=R[f("0x2885")]-I[f("0x2885")]+"px"}b[f("0x2411")][f("0x42b1")](C)}var N,O=S||n,k=S?p:h,P=O[f("0x3a35")](k),L=o[f("0x4abd")](t,S);P===!e&&(N=f(S?L?"0xa81":"0x31dc":e?"0x31dc":"0xa81"),x[N](O,k)[f("0x34e8")]((function(){angular.isDefined(e)&&e!==i&&v(t,{open:!!e})})));if(e)b[f("0xd73")]?d(b[f("0xd73")])[f("0x34e8")]((function(e){var t=f;u=_.$new(),l(e[t("0x2dc4")]())(u,(function(e){var n=t,a=e;b[n("0x2411")][n("0x2ef")](a),b.dropdownMenu=a,c.on(n("0x468d"),o[n("0x4d10")])}))})):c.on(f("0x468d"),o[f("0x4d10")]),_.focusToggleElement(),o[f("0x55a")](_,n,S);else{if(o[f("0x440f")](_,n,S),b[f("0xd73")]){u&&u[f("0x4c91")]();var F=angular[f("0xb48")](f("0x22df"));b[f("0x2411")][f("0x2ef")](F),b[f("0x2411")]=F}b[f("0x244f")]=null}angular[f("0x4977")](g)&&g(t,e)}))}])[e("0x1b75")](e("0x1ae3"),(function(){return{controller:"UibDropdownController",link:function(e,t,n,a){a[a2_0x37cf("0xeed")]()}}}))[e("0x1b75")](e("0x4694"),(function(){var t=e;return{restrict:"A",require:t("0x4d48"),link:function(e,n,a,r){var i=t;if(r&&!angular[i("0x64a")](a.dropdownNested)){n[i("0x31dc")]("dropdown-menu");var o=a[i("0x1d64")];o&&(r.dropdownMenuTemplateUrl=o),!r[i("0x2411")]&&(r.dropdownMenu=n)}}}}))[e("0x1b75")](e("0x45b0"),(function(){var t=e;return{require:t("0x4d48"),link:function(e,n,a,r){var i=t;if(r){n[i("0x31dc")]("dropdown-toggle"),r[i("0x1be6")]=n;var o=function(t){var o=i;t[o("0xe50")](),!n[o("0x3a35")](o("0x1c54"))&&!a[o("0x1c54")]&&e.$apply((function(){r[o("0x4368")]()}))};n.on(i("0x7cb"),o),n[i("0x417f")]({"aria-haspopup":!0,"aria-expanded":!1}),e[i("0x7a")](r[i("0x4447")],(function(e){n[i("0x417f")]("aria-expanded",!!e)})),e[i("0x24c9")](i("0x4c91"),(function(){var e=i;n[e("0x30f8")](e("0x7cb"),o)}))}}}})),angular[e("0x39e9")]("ui.bootstrap.stackedMap",[])[e("0x3faf")](e("0xb4f"),(function(){return{createNew:function(){var e=[];return{add:function(t,n){e[a2_0x37cf("0x459a")]({key:t,value:n})},get:function(t){for(var n=a2_0x37cf,a=0;a<e.length;a++)if(t===e[a][n("0x2646")])return e[a]},keys:function(){for(var t=a2_0x37cf,n=[],a=0;a<e.length;a++)n.push(e[a][t("0x2646")]);return n},top:function(){return e[e[a2_0x37cf("0x5e9")]-1]},remove:function(t){for(var n=a2_0x37cf,a=-1,r=0;r<e[n("0x5e9")];r++)if(t===e[r].key){a=r;break}return e[n("0x2bcf")](a,1)[0]},removeTop:function(){return e.pop()},length:function(){return e[a2_0x37cf("0x5e9")]}}}}})),angular[e("0x39e9")](e("0x22fd"),[e("0x2c3b"),"ui.bootstrap.stackedMap",e("0x43cb")]).provider("$uibResolve",(function(){var t=e,n=this;this.resolver=null,this.setResolver=function(e){this.resolver=e},this.$get=[t("0x1f10"),"$q",function(e,t){var a=n.resolver?e.get(n.resolver):null;return{resolve:function(n,r,i,o){var x=a2_0x37cf;if(a)return a.resolve(n,r,i,o);var s=[];return angular[x("0x5ba")](n,(function(n){var a=x;angular[a("0x4977")](n)||angular[a("0x498f")](n)?s[a("0x459a")](t.resolve(e[a("0x1fd4")](n))):angular[a("0x1236")](n)?s[a("0x459a")](t[a("0x407b")](e.get(n))):s.push(t[a("0x407b")](n))})),t[x("0x3217")](s)[x("0x34e8")]((function(e){var t={},a=0;return angular[x("0x5ba")](n,(function(n,r){t[r]=e[a++]})),t}))}}}]})).directive("uibModalBackdrop",[e("0xc00"),e("0x1f10"),e("0x40e1"),function(e,t,n){return{restrict:"A",compile:function(e,t){return e[a2_0x37cf("0x31dc")](t.backdropClass),a}};function a(t,a,r){var i=a2_0x37cf;r[i("0x225a")]&&(e[i("0x31dc")](a,r[i("0x225a")]),t.$on(n[i("0x3286")],(function(n,o){var x=i,s=o();t[x("0x3f71")][x("0x2f73")]?e[x("0xa81")](a,r[x("0x225a")])[x("0x34e8")](s):s()})))}}])[e("0x1b75")](e("0x1218"),["$uibModalStack","$q",e("0x7c3"),"$document",function(e,t,n,a){return{scope:{index:"@"},restrict:"A",transclude:!0,templateUrl:function(e,t){var n=a2_0x37cf;return t[n("0x1d64")]||n("0x3fd7")},link:function(r,i,o){var x=a2_0x37cf;i[x("0x31dc")](o[x("0x2011")]||""),r.size=o[x("0x27ff")],r[x("0x440f")]=function(t){var n=x,a=e[n("0x1d47")]();a&&a.value[n("0x4e55")]&&a.value.backdrop!==n("0x2704")&&t.target===t[n("0x2e3f")]&&(t[n("0xe50")](),t[n("0x4c98")](),e[n("0x12e7")](a.key,n("0x142f")))},i.on("click",r[x("0x440f")]),r[x("0x3988")]=!0;var s=t[x("0x3a26")]();r[x("0x722")]((function(){s[x("0x407b")]()})),s[x("0x234e")][x("0x34e8")]((function(){var s=x,c=null;o[s("0x225a")]&&(c=n(i,{addClass:o[s("0x225a")]}).start(),r.$on(e[s("0x3286")],(function(e,t){var a=s,r=t();n(i,{removeClass:o[a("0x225a")]})[a("0x1023")]()[a("0x34e8")](r)}))),t[s("0x2c66")](c)[s("0x34e8")]((function(){var t=s,n=e[t("0x1d47")]();if(n&&e[t("0x33bd")](n[t("0x2646")]),!a[0][t("0x3671")]||!i[0][t("0x2a10")](a[0].activeElement)){var r=i[0][t("0x31f7")](t("0x12d0"));r?r[t("0x2beb")]():i[0][t("0x2beb")]()}}))}))}}}])[e("0x1b75")](e("0x2ad8"),(function(){return{compile:function(e,t){t[a2_0x37cf("0x3d2f")]&&e.addClass(t.uibModalAnimationClass)}}}))[e("0x1b75")](e("0x41f4"),[e("0xc00"),function(e){return{link:function(t,n,a,r,i){var o=a2_0x37cf;i(t[o("0x20cb")],(function(t){n[o("0x21c")](),e.enter(t,n)}))}}}])[e("0x3faf")](e("0x40e1"),[e("0xc00"),e("0x7c3"),"$document",e("0x4728"),e("0x47ed"),"$q",e("0x39f2"),e("0xb4f"),"$uibPosition",function(t,n,a,r,i,o,x,s,c){var l,d,u,f=e,m="modal-open",b=s[f("0x1d94")](),_=x[f("0x1d94")](),p={NOW_CLOSING_EVENT:"modal.stack.now-closing"},h=0,g=null,v=f("0x4135"),S=f("0x4bcc")+f("0x32b0")+f("0x96a"),E=/[A-Z]/g;function A(){for(var e=f,t=-1,n=b[e("0xa35")](),a=0;a<n.length;a++)b[e("0x1cf")](n[a])[e("0x3a33")][e("0x4e55")]&&(t=a);return t>-1&&t<h&&(t=h),t}function T(e,t){var n=f,a=b.get(e).value,r=a[n("0x2651")];b[n("0xf82")](e),(g=b[n("0x228a")]())&&(h=parseInt(g[n("0x3a33")][n("0x1c6a")][n("0x417f")](n("0x2d50")),10)),C(a.modalDomEl,a[n("0x1e90")],(function(){var t=n,i=a.openedClass||m;_.remove(i,e);var o=_[t("0x395a")](i);r[t("0x411b")](i,o),!o&&u&&u[t("0x6e5")]&&u[t("0x18c1")]&&(u.originalRight?r[t("0x42b1")]({paddingRight:u[t("0x991")]+"px"}):r[t("0x42b1")]({paddingRight:""}),u=null),y(!0)}),a[n("0x3488")]),function(){if(l&&-1===A()){C(l,d,(function(){null})),l=void 0,d=void 0}}(),t&&t.focus?t.focus():r[n("0x2beb")]&&r[n("0x2beb")]()}function y(e){var t,n=f;b[n("0x5e9")]()>0&&(t=b[n("0x228a")]()[n("0x3a33")]).modalDomEl[n("0x411b")](t[n("0x2011")]||"",e)}function C(e,n,a,r){var i,x=f,s=null;return n[x("0x2050")](p.NOW_CLOSING_EVENT,(function(){var e=a2_0x37cf;return!i&&(i=o[e("0x3a26")](),s=i.promise),function(){i[e("0x407b")]()}})),o[x("0x2c66")](s).then((function i(){var o=x;if(i[o("0x2d52")])return;i[o("0x2d52")]=!0,t[o("0xf77")](e)[o("0x34e8")]((function(){var t=o;a&&a(),e[t("0xf82")](),r&&r.resolve()})),n[o("0x4c91")]()}))}function w(e){var t=f;if(e.isDefaultPrevented())return e;var n=b[t("0x228a")]();if(n)switch(e[t("0x2d41")]){case 27:n.value[t("0x4804")]&&(e[t("0xe50")](),i[t("0xd66")]((function(){var e=t;p.dismiss(n[e("0x2646")],e("0x3ce1"))})));break;case 9:var a=p.loadFocusElementList(n),r=!1;e[t("0x3d90")]?(p[t("0x20a8")](e,a)||p[t("0x1547")](e,n))&&(r=p[t("0x2b21")](a)):p[t("0x322e")](e,a)&&(r=p[t("0x1238")](a)),r&&(e[t("0xe50")](),e[t("0x4c98")]())}}function M(e,t,n){var a=f;return!e.value[a("0x1e90")][a("0x2050")](a("0x26e0"),t,n)[a("0xc5d")]}function R(){var e=f;Array[e("0x20f")].forEach[e("0x3c6b")](document.querySelectorAll("["+v+"]"),(function(t){var n=e,a=parseInt(t[n("0x22b9")](v),10)-1;t[n("0x4480")](v,a),!a&&(t[n("0x25b3")](v),t[n("0x25b3")](n("0x240d")))}))}return i.$watch(A,(function(e){d&&(d[f("0x2d50")]=e)})),a.on(f("0x468d"),w),i.$on(f("0x4c91"),(function(){a[f("0x30f8")]("keydown",w)})),p[f("0x55a")]=function(e,n){var o=f,x=a[0][o("0x3671")],s=n[o("0x14f6")]||m;y(!1),g=b.top(),b[o("0x2d6e")](e,{deferred:n[o("0x2a7c")],renderDeferred:n.renderDeferred,closedDeferred:n[o("0x3488")],modalScope:n[o("0xd20")],backdrop:n[o("0x4e55")],keyboard:n[o("0x4804")],openedClass:n[o("0x14f6")],windowTopClass:n[o("0x2011")],animation:n[o("0x2f73")],appendTo:n[o("0x2651")]}),_[o("0x32f3")](s,e);var p,S,T=n[o("0x2651")],C=A();C>=0&&!l&&((d=i[o("0x28da")](!0))[o("0x3f71")]=n,d[o("0x2d50")]=C,(l=angular.element('<div uib-modal-backdrop="modal-backdrop"></div>')).attr({class:"modal-backdrop","ng-style":o("0x8fb"),"uib-modal-animation-class":o("0x4c26"),"modal-in-class":"in"}),n[o("0x33cd")]&&l.addClass(n[o("0x33cd")]),n[o("0x2f73")]&&l[o("0x417f")](o("0x29c"),o("0x1509")),r(l)(d),t[o("0x3b11")](l,T),c[o("0x5fb")](T)&&((u=c.scrollbarPadding(T))[o("0x6e5")]&&u[o("0x18c1")]&&T[o("0x42b1")]({paddingRight:u[o("0x30eb")]+"px"}))),n[o("0x11e9")]?(p=document[o("0x4202")](n.component[o("0x98c")][(S=f)("0x3cc0")](E,(function(e,t){return(t?"-":"")+e[S("0x2eb9")]()}))),(p=angular[o("0xb48")](p))[o("0x417f")]({resolve:o("0x2fd8"),"modal-instance":o("0x1e78"),close:"$close($value)",dismiss:o("0x39f5")})):p=n[o("0xa9f")],h=g?parseInt(g[o("0x3a33")][o("0x1c6a")].attr(o("0x2d50")),10)+1:0;var w=angular.element('<div uib-modal-window="modal-window"></div>');w[o("0x417f")]({class:"modal","template-url":n[o("0x4ea4")],"window-top-class":n.windowTopClass,role:"dialog","aria-labelledby":n[o("0x36d7")],"aria-describedby":n.ariaDescribedBy,size:n.size,index:h,animate:o("0x2677"),"ng-style":o("0x4997"),tabindex:-1,"uib-modal-animation-class":o("0x4c26"),"modal-in-class":"in"})[o("0x136a")](p),n[o("0x10b9")]&&w.addClass(n[o("0x10b9")]),n[o("0x2f73")]&&w[o("0x417f")](o("0x29c"),"true"),T[o("0x31dc")](s),n[o("0xd20")]&&(n[o("0xd20")][o("0x12b8")]=h),t.enter(r(w)(n[o("0xd20")]),T),b[o("0x228a")]()[o("0x3a33")][o("0x1c6a")]=w,b[o("0x228a")]()[o("0x3a33")].modalOpener=x,function e(t){var n=o;if(!t||"BODY"===t[0][n("0x4d74")])return;return function(e){var t=n,a=e[t("0x731")]()?e.parent()[t("0x71b")]():[];return Array[t("0x20f")][t("0x6a6")][t("0x3c6b")](a,(function(t){return t!==e[0]}))}(t)[n("0x5ba")]((function(e){var t=n,a="true"===e.getAttribute(t("0x240d")),r=parseInt(e[t("0x22b9")](v),10);!r&&(r=a?1:0),e[t("0x4480")](v,r+1),e.setAttribute(t("0x240d"),t("0x1509"))})),e(t[n("0x731")]())}(w)},p[f("0x440f")]=function(e,t){var n=f,a=b[n("0x1cf")](e);return R(),a&&M(a,t,!0)?(a[n("0x3a33")][n("0x1e90")][n("0x212d")]=!0,a[n("0x3a33")].deferred.resolve(t),T(e,a[n("0x3a33")][n("0x30c2")]),!0):!a},p[f("0x12e7")]=function(e,t){var n=f,a=b.get(e);return R(),a&&M(a,t,!1)?(a.value[n("0x1e90")].$$uibDestructionScheduled=!0,a[n("0x3a33")][n("0x2a7c")][n("0x2078")](t),T(e,a[n("0x3a33")].modalOpener),!0):!a},p[f("0xb95")]=function(e){for(var t=f,n=this.getTop();n&&this[t("0x12e7")](n[t("0x2646")],e);)n=this[t("0x1d47")]()},p.getTop=function(){return b[f("0x228a")]()},p[f("0x33bd")]=function(e){var t=f,n=b[t("0x1cf")](e);n&&n.value[t("0x4f5c")][t("0x407b")]()},p[f("0x1238")]=function(e){var t=f;return e[t("0x5e9")]>0&&(e[0][t("0x2beb")](),!0)},p[f("0x2b21")]=function(e){var t=f;return e[t("0x5e9")]>0&&(e[e[t("0x5e9")]-1].focus(),!0)},p.isModalFocused=function(e,t){var n=f;if(e&&t){var a=t[n("0x3a33")].modalDomEl;if(a&&a[n("0x5e9")])return(e[n("0x55d")]||e.srcElement)===a[0]}return!1},p.isFocusInFirstItem=function(e,t){return t[f("0x5e9")]>0&&(e.target||e.srcElement)===t[0]},p[f("0x322e")]=function(e,t){var n=f;return t.length>0&&(e[n("0x55d")]||e[n("0x3ee5")])===t[t.length-1]},p[f("0x220e")]=function(e){var t=f;if(e){var n=e.value[t("0x1c6a")];if(n&&n[t("0x5e9")]){var a=n[0].querySelectorAll(S);return a?Array.prototype[t("0x6a6")][t("0x3c6b")](a,(function(e){return!!((t=e)[(n=f)("0xe76")]||t[n("0x2b02")]||t[n("0x4c70")]()[n("0x5e9")]);var t,n})):a}}},p}])[e("0x4b0")]("$uibModal",(function(){var t=e,n={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$rootScope","$q",t("0x45e2"),t("0x1d93"),t("0xd68"),t("0xdb5"),t("0x40e1"),function(e,a,r,i,o,x,s){var c=t,l={};var d=null;return l[c("0x133a")]=function(){return d},l[c("0x55a")]=function(t){var l,u,f,m,b=c,_=a.defer(),p=a[b("0x3a26")](),h=a[b("0x3a26")](),g=a.defer(),v={result:_[b("0x234e")],opened:p.promise,closed:h[b("0x234e")],rendered:g[b("0x234e")],close:function(e){return s[b("0x440f")](v,e)},dismiss:function(e){return s.dismiss(v,e)}};if((t=angular.extend({},n[b("0x16d1")],t)).resolve=t[b("0x407b")]||{},t[b("0x2651")]=t[b("0x2651")]||r[b("0x372f")](b("0x3b3e")).eq(0),!t[b("0x2651")][b("0x5e9")])throw new Error("appendTo element not found. Make sure that the element passed is in DOM.");if(!t.component&&!t[b("0x371b")]&&!t[b("0x1d64")])throw new Error(b("0x18a1"));function S(){return l}return l=t[b("0x11e9")]?a[b("0x2c66")](x[b("0x407b")](t[b("0x407b")],{},null,null)):a[b("0x3217")]([(u=t,f=a2_0x37cf,u[f("0x371b")]?a[f("0x2c66")](u[f("0x371b")]):i(angular[f("0x4977")](u.templateUrl)?u[f("0x1d64")]():u[f("0x1d64")])),x[b("0x407b")](t[b("0x407b")],{},null,null)]),m=d=a[b("0x3217")]([d])[b("0x34e8")](S,S).then((function(n){var a=b,r=t[a("0xd20")]||e,i=r[a("0x28da")]();i[a("0x17c8")]=v.close,i[a("0xd0")]=v[a("0x12e7")],i[a("0x24c9")](a("0x4c91"),(function(){var e=a;!i[e("0x212d")]&&i[e("0xd0")](e("0x1c5c"))}));var x,c,l={scope:i,deferred:_,renderDeferred:g,closedDeferred:h,animation:t[a("0x2f73")],backdrop:t[a("0x4e55")],keyboard:t[a("0x4804")],backdropClass:t.backdropClass,windowTopClass:t[a("0x2011")],windowClass:t[a("0x10b9")],windowTemplateUrl:t[a("0x4ea4")],ariaLabelledBy:t[a("0x36d7")],ariaDescribedBy:t.ariaDescribedBy,size:t[a("0x27ff")],openedClass:t[a("0x14f6")],appendTo:t[a("0x2651")]},d={},u={};function f(e,t,r,o){var x=a;e[x("0x36af")]=i,e[x("0x36af")][x("0x2fd8")]={},r?e[x("0x36af")].$uibModalInstance=v:e.$uibModalInstance=v;var s=t?n[1]:n;angular[x("0x5ba")](s,(function(t,n){var a=x;o&&(e[n]=t),e[a("0x36af")][a("0x2fd8")][n]=t}))}t[a("0x11e9")]?(f(d,!1,!0,!1),d.name=t[a("0x11e9")],l[a("0x11e9")]=d):t[a("0x1194")]&&(f(u,!0,!1,!0),c=o(t[a("0x1194")],u,!0,t[a("0x13b4")]),t[a("0x13b4")]&&t[a("0x44d3")]&&((x=c.instance)[a("0x17c8")]=i.$close,x.$dismiss=i[a("0xd0")],angular[a("0x3448")](x,{$resolve:u[a("0x36af")][a("0x2fd8")]},r)),x=c(),angular[a("0x4977")](x[a("0x4393")])&&x.$onInit()),!t[a("0x11e9")]&&(l[a("0xa9f")]=n[0]),s.open(v,l),p[a("0x407b")](!0)}),(function(e){var t=b;p[t("0x2078")](e),_[t("0x2078")](e)}))[b("0x2cfe")]((function(){d===m&&(d=null)})),v},l}]};return n})),angular[e("0x39e9")](e("0x135a"),[]).factory(e("0x4e11"),[e("0x68c"),function(e){return{create:function(t,n,a){var r=a2_0x37cf;t[r("0x37ac")]=a[r("0x4ad0")]?e(a.numPages)[r("0x3df0")]:angular.noop,t[r("0x1df3")]={$setViewValue:angular[r("0x49d1")]},t._watchers=[],t.init=function(e,i){var o=r;t.ngModelCtrl=e,t[o("0x1805")]=i,e[o("0x4dbb")]=function(){t[o("0x4537")]()},a[o("0x1a8e")]?t[o("0xb17")].push(n.$parent[o("0x7a")](a[o("0x1a8e")],(function(e){var a=o;t[a("0x1a8e")]=parseInt(e,10),n[a("0x326f")]=t[a("0xcb4")](),t[a("0x617")]()}))):t.itemsPerPage=i[o("0x1a8e")],n[o("0x7a")](o("0x1a78"),(function(e,a){var r=o;(angular[r("0x64a")](e)||e!==a)&&(n[r("0x326f")]=t.calculateTotalPages(),t[r("0x617")]())}))},t[r("0xcb4")]=function(){var e=r,a=t.itemsPerPage<1?1:Math[e("0x3c59")](n[e("0x1a78")]/t[e("0x1a8e")]);return Math[e("0x242b")](a||0,1)},t[r("0x4537")]=function(){var e=r;n[e("0x1dcc")]=parseInt(t[e("0x1df3")][e("0x326c")],10)||1},n.selectPage=function(e,a){var i=r;a&&a[i("0xe50")](),(!n.ngDisabled||!a)&&n[i("0x1dcc")]!==e&&e>0&&e<=n[i("0x326f")]&&(a&&a.target&&a[i("0x55d")][i("0x4a1")](),t.ngModelCtrl[i("0x1605")](e),t.ngModelCtrl[i("0x4dbb")]())},n[r("0x114e")]=function(e){var a=r;return n[e+a("0x23d0")]||t.config[e+a("0x23d0")]},n[r("0x321e")]=function(){return 1===n[r("0x1dcc")]},n.noNext=function(){var e=r;return n[e("0x1dcc")]===n[e("0x326f")]},t.updatePage=function(){var e=r;t.setNumPages(n[e("0x20cb")],n.totalPages),n[e("0x1dcc")]>n[e("0x326f")]?n[e("0x1013")](n[e("0x326f")]):t[e("0x1df3")][e("0x4dbb")]()},n[r("0x24c9")](r("0x4c91"),(function(){for(var e=r;t[e("0xb17")][e("0x5e9")];)t[e("0xb17")][e("0x4534")]()()}))}}}]),angular.module(e("0x142e"),[e("0x135a"),e("0x2b06")]).controller("UibPagerController",["$scope","$attrs",e("0x4e11"),e("0x48d9"),function(t,n,a,r){var i=e;t[i("0x4f21")]=angular.isDefined(n[i("0x4f21")])?t[i("0x20cb")][i("0xe2b")](n[i("0x4f21")]):r.align,a[i("0x4b8c")](this,t,n)}]).constant(e("0x48d9"),{itemsPerPage:10,previousText:e("0x8b4"),nextText:e("0x488e"),align:!0})[e("0x1b75")](e("0x3ea1"),["uibPagerConfig",function(t){var n=e;return{scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:[n("0x3ea1"),n("0x3cc1")],restrict:"A",controller:n("0x229c"),controllerAs:n("0x2a6d"),templateUrl:function(e,t){var a=n;return t[a("0x1d64")]||a("0x3dcf")},link:function(e,a,r,i){var o=n;a[o("0x31dc")](o("0x2a6d"));var x=i[0],s=i[1];s&&x.init(s,t)}}}]),angular[e("0x39e9")]("ui.bootstrap.pagination",[e("0x135a"),e("0x2b06")]).controller(e("0x4c6a"),[e("0x36af"),e("0x428f"),e("0x68c"),e("0x4e11"),e("0x5e6"),function(t,n,a,r,i){var o=e,x=this,s=angular[o("0x64a")](n[o("0x3262")])?t[o("0x20cb")][o("0xe2b")](n[o("0x3262")]):i.maxSize,c=angular.isDefined(n[o("0x1ad")])?t[o("0x20cb")][o("0xe2b")](n[o("0x1ad")]):i[o("0x1ad")],l=angular[o("0x64a")](n[o("0x4968")])?t[o("0x20cb")][o("0xe2b")](n[o("0x4968")]):i[o("0x4968")],d=angular[o("0x64a")](n[o("0x1273")])?t[o("0x20cb")][o("0xe2b")](n.boundaryLinkNumbers):i.boundaryLinkNumbers,u=angular.isDefined(n.pageLabel)?function(e){var a=o;return t[a("0x20cb")][a("0xe2b")](n[a("0x1973")],{$page:e})}:angular[o("0x356b")];function f(e,t,n){return{number:e,text:t,active:n}}t[o("0x45e9")]=angular[o("0x64a")](n[o("0x45e9")])?t[o("0x20cb")][o("0xe2b")](n[o("0x45e9")]):i[o("0x45e9")],t[o("0x311d")]=angular[o("0x64a")](n[o("0x311d")])?t.$parent.$eval(n[o("0x311d")]):i.directionLinks,n[o("0x35be")](o("0x3517"),o("0x2ba9")),r[o("0x4b8c")](this,t,n),n[o("0x3262")]&&x[o("0xb17")][o("0x459a")](t[o("0x20cb")][o("0x7a")](a(n[o("0x3262")]),(function(e){var t=o;s=parseInt(e,10),x[t("0x4537")]()})));var m=this[o("0x4537")];this.render=function(){var e=o;m(),t[e("0x1dcc")]>0&&t.page<=t.totalPages&&(t.pages=function(e,t){var n=o,a=[],r=1,i=t,x=angular.isDefined(s)&&s<t;x&&(c?(i=(r=Math[n("0x242b")](e-Math[n("0x4184")](s/2),1))+s-1)>t&&(r=(i=t)-s+1):(r=(Math[n("0x3c59")](e/s)-1)*s+1,i=Math.min(r+s-1,t)));for(var m=r;m<=i;m++){var b=f(m,u(m),m===e);a[n("0x459a")](b)}if(x&&s>0&&(!c||l||d)){if(r>1){if(!d||r>3){var _=f(r-1,n("0x31d5"),!1);a[n("0x4e4a")](_)}if(d){if(3===r){var p=f(2,"2",!1);a[n("0x4e4a")](p)}var h=f(1,"1",!1);a[n("0x4e4a")](h)}}if(i<t){if(!d||i<t-2){var g=f(i+1,n("0x31d5"),!1);a[n("0x459a")](g)}if(d){if(i===t-2){var v=f(t-1,t-1,!1);a.push(v)}var S=f(t,t,!1);a[n("0x459a")](S)}}}return a}(t.page,t[e("0x326f")]))}}]).constant(e("0x5e6"),{itemsPerPage:10,boundaryLinks:!1,boundaryLinkNumbers:!1,directionLinks:!0,firstText:e("0x34a6"),previousText:e("0x3911"),nextText:e("0x4622"),lastText:e("0x1e02"),rotate:!0,forceEllipses:!1})[e("0x1b75")](e("0x3a2d"),[e("0x68c"),e("0x5e6"),function(t,n){var a=e;return{scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:[a("0x3a2d"),a("0x3cc1")],restrict:"A",controller:a("0x4c6a"),controllerAs:a("0x3fa5"),templateUrl:function(e,t){var n=a;return t.templateUrl||n("0x1060")},link:function(e,t,r,i){var o=a;t[o("0x31dc")]("pagination");var x=i[0],s=i[1];s&&x[o("0xeed")](s,n)}}}]),angular.module(e("0x3370"),[e("0x43cb"),e("0x29d4")])[e("0x4b0")](e("0x8cb"),(function(){var t=e,n={placement:t("0x228a"),placementClassPrefix:"",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},a={mouseenter:"mouseleave",click:t("0x7cb"),outsideClick:t("0x380f"),focus:"blur",none:""},r={};this[t("0x16d1")]=function(e){angular[t("0x3448")](r,e)},this[t("0x507")]=function(e){angular[t("0x3448")](a,e)},this[t("0x1cc9")]=[t("0xe11"),"$compile","$timeout",t("0x45e2"),t("0x2052"),"$interpolate",t("0x47ed"),t("0x68c"),t("0xb4f"),function(e,i,o,x,s,c,l,d,u){var f=t,m=u[f("0x1d94")]();function b(e){var t=f;if(27===e[t("0x2d41")]){var n=m[t("0x228a")]();n&&(n[t("0x3a33")].close(),n=null)}}return x.on(f("0xa20"),b),l.$on("$destroy",(function(){var e=f;x[e("0x30f8")](e("0xa20"),b)})),function(e,l,u,b){var _=f;function p(e){var t=_,n=(e||b[t("0x3cef")]||u)[t("0x9e5")](" "),r=n.map((function(e){return a[e]||e}));return{show:n,hide:r}}b=angular[_("0x3448")]({},n,r,b);var h=e[t("0x3cc0")](/[A-Z]/g,(function(e,t){return(t?"-":"")+e.toLowerCase()})),g=c.startSymbol(),v=c[_("0x2aef")](),S=_("0x1913")+h+"-popup "+_("0x22c7")+g+"title"+v+'" '+(b[_("0x3d3f")]?'content-exp="contentExp()" ':_("0x208f")+g+_("0xa9f")+v+'" ')+_("0x3b38")+_("0xd98")+l+'" tooltip-animation-class="fade"'+_("0x10b8")+'ng-class="{ in: isOpen }" >'+_("0x1fa8");return{compile:function(t,n){var a=i(S);return function(t,n,r,i){var c,u,f,_,h,g,v,S,E=a2_0x37cf,A=!!angular.isDefined(b.appendToBody)&&b[E("0xe87")],T=p(void 0),y=angular[E("0x64a")](r[l+E("0x4ac6")]),C=t[E("0x28da")](!0),w=!1,M=!!angular[E("0x64a")](r[l+E("0xfe0")])&&d(r[l+E("0xfe0")]),R=!!b[E("0x3d3f")]&&d(r[e]),D=[],I=function(){var e=E;c&&c[e("0x1059")]()&&!g&&(g=o((function(){var t=e,a=s[t("0x3e59")](n,c,C[t("0x3cfe")],A),r=angular[t("0x64a")](c.offsetHeight)?c[t("0x2b02")]:c[t("0x40ea")](t("0x2b02")),i=A?s.offset(n):s[t("0x342c")](n);c[t("0x42b1")]({top:a[t("0x228a")]+"px",left:a[t("0x2885")]+"px"});var x=a[t("0x3cfe")][t("0x9e5")]("-");!c.hasClass(x[0])&&(c[t("0xa81")](S[t("0x9e5")]("-")[0]),c[t("0x31dc")](x[0])),!c[t("0x3a35")](b[t("0x3962")]+a.placement)&&(c[t("0xa81")](b[t("0x3962")]+S),c.addClass(b[t("0x3962")]+a[t("0x3cfe")])),v=o((function(){var e=t,n=angular.isDefined(c[e("0x2b02")])?c[e("0x2b02")]:c[e("0x40ea")]("offsetHeight"),a=s[e("0x2110")](x,i,r,n);a&&c[e("0x42b1")](a),v=null}),0,!1),c.hasClass(t("0x5008"))?(s.positionArrow(c,a[t("0x3cfe")]),c[t("0xa81")](t("0x5008"))):S!==a[t("0x3cfe")]&&s[t("0x3aec")](c,a[t("0x3cfe")]),S=a[t("0x3cfe")],g=null}),0,!1))};function N(){C.isOpen?k():O()}function O(){var n=E;y&&!t[n("0xe2b")](r[l+n("0x4ac6")])||(B(),function(){var n=E;C.title=r[l+n("0xa3f")],C[n("0xa9f")]=R?R(t):r[e],C[n("0x2c65")]=r[l+"Class"],C[n("0x3cfe")]=angular[n("0x64a")](r[l+n("0x4ad9")])?r[l+"Placement"]:b[n("0x3cfe")];var a=s.parsePlacement(C[n("0x3cfe")]);S=a[1]?a[0]+"-"+a[1]:a[0];var i=parseInt(r[l+"PopupDelay"],10),o=parseInt(r[l+n("0x577")],10);C.popupDelay=isNaN(i)?b[n("0xc99")]:i,C.popupCloseDelay=isNaN(o)?b[n("0x139f")]:o}(),C[n("0xc99")]?!_&&(_=o(P,C[n("0xc99")],!1)):P())}function k(){var e=E;L(),C[e("0x139f")]?!h&&(h=o(F,C[e("0x139f")],!1)):F()}function P(){var i=E;if(L(),B(),!C.content)return angular[i("0x49d1")];(function(){var i=E;if(c)return;u=C.$new(),c=a(u,(function(e){var t=a2_0x37cf;A?x[t("0x372f")](t("0x3b3e")).append(e):n[t("0x477b")](e)})),m[i("0x2d6e")](C,{close:F}),o=E,D.length=0,R?(D[o("0x459a")](t.$watch(R,(function(e){var t=o;C[t("0xa9f")]=e,!e&&C[t("0x4447")]&&F()}))),D[o("0x459a")](u[o("0x7a")]((function(){!w&&(w=!0,u.$$postDigest((function(){w=!1,C&&C[a2_0x37cf("0x4447")]&&I()})))})))):D.push(r[o("0xf52")](e,(function(e){var t=o;C[t("0xa9f")]=e,!e&&C[t("0x4447")]?F():I()}))),D[o("0x459a")](r[o("0xf52")](l+o("0xa3f"),(function(e){var t=o;C.title=e,C[t("0x4447")]&&I()}))),D[o("0x459a")](r.$observe(l+o("0x4ad9"),(function(e){var t=o;C[t("0x3cfe")]=e||b[t("0x3cfe")],C[t("0x4447")]&&I()})));var o})(),C.$evalAsync((function(){C[i("0x4447")]=!0,G(!0),I()}))}function L(){var e=E;_&&(o[e("0x4920")](_),_=null),g&&(o[e("0x4920")](g),g=null)}function F(){var e=E;C&&C[e("0x33ff")]((function(){var t=e;C&&(C.isOpen=!1,G(!1),C[t("0x2f73")]?!f&&(f=o(Y,150,!1)):Y())}))}function B(){var e=E;h&&(o[e("0x4920")](h),h=null),f&&(o[e("0x4920")](f),f=null)}function Y(){var e,t=E;L(),B(),D[(e=E)("0x5e9")]&&(angular.forEach(D,(function(e){e()})),D[e("0x5e9")]=0),c&&(c[t("0xf82")](),c=null,v&&o[t("0x4920")](v)),m[t("0xf82")](C),u&&(u[t("0x4c91")](),u=null)}function G(e){var n=E;M&&angular.isFunction(M.assign)&&M[n("0x3df0")](t,e)}function H(e){var t=E;C&&C[t("0x4447")]&&c&&!n[0][t("0x2a10")](e[t("0x55d")])&&!c[0][t("0x2a10")](e[t("0x55d")])&&k()}function U(e){27===e.which&&k()}C.origScope=t,C.isOpen=!1,C[E("0x49d2")]=function(){return C[E("0xa9f")]},r.$observe(E("0x1c54"),(function(e){var t=E;e&&L(),e&&C[t("0x4447")]&&F()})),M&&t[E("0x7a")](M,(function(e){C&&!e===C[E("0x4447")]&&N()}));var $,j,V,W,q=function(){var e=E;T[e("0x262c")][e("0x5ba")]((function(t){var a=e;"outsideClick"===t?n[a("0x30f8")]("click",N):(n.off(t,O),n[a("0x30f8")](t,N)),n[a("0x30f8")](a("0x1a29"),U)})),T[e("0x29cb")][e("0x5ba")]((function(t){var a=e;t===a("0x380f")?x.off(a("0x7cb"),H):n[a("0x30f8")](t,k)}))};j=[],V=[],W=t[($=E)("0xe2b")](r[l+$("0x3144")]),q(),angular[$("0x1f1a")](W)?(Object[$("0xa35")](W).forEach((function(e){var t=$;j.push(e),V[t("0x459a")](W[e])})),T={show:j,hide:V}):T=p(W),T[$("0x262c")]!==$("0x2847")&&T[$("0x262c")][$("0x5ba")]((function(e,t){var a=$;e===a("0x380f")?(n.on("click",N),x.on("click",H)):e===T[a("0x29cb")][t]?n.on(e,N):e&&(n.on(e,O),n.on(T[a("0x29cb")][t],k)),n.on("keypress",U)}));var z=t[E("0xe2b")](r[l+"Animation"]);C[E("0x2f73")]=angular[E("0x64a")](z)?!!z:b[E("0x2f73")];var Q,K=l+E("0x4e97");Q=K in r&&void 0===r[K]||t[E("0xe2b")](r[K]),A=angular[E("0x64a")](Q)?Q:A,t[E("0x24c9")](E("0x4c91"),(function(){q(),Y(),C=null}))}}}}}]}))[e("0x1b75")](e("0x4b96"),["$animate",e("0x4f60"),e("0x4728"),e("0x1d93"),function(e,t,n,a){return{link:function(r,i,o){var x,s,c,l=a2_0x37cf,d=r.$eval(o[l("0x147b")]),u=0,f=function(){var t=l;s&&(s[t("0xf82")](),s=null),x&&(x.$destroy(),x=null),c&&(e.leave(c)[t("0x34e8")]((function(){s=null})),s=c,c=null)};r[l("0x7a")](t[l("0x3114")](o[l("0x4b96")]),(function(t){var o=l,s=++u;t?(a(t,!0)[o("0x34e8")]((function(a){var r=o;if(s===u){var l=d[r("0x28da")](),m=n(a)(l,(function(t){f(),e.enter(t,i)}));c=m,(x=l)[r("0x7e0")](r("0x4535"),t)}}),(function(){var e=o;s===u&&(f(),r[e("0x7e0")]("$includeContentError",t))})),r[o("0x7e0")](o("0x4098"),t)):f()})),r[l("0x24c9")](l("0x4c91"),f)}}}])[e("0x1b75")](e("0x33c8"),[e("0x2052"),function(e){return{restrict:"A",link:function(t,n,a){var r=a2_0x37cf;if(t[r("0x3cfe")]){var i=e[r("0x4055")](t[r("0x3cfe")]);n.addClass(i[0])}t.popupClass&&n.addClass(t[r("0x2c65")]),t[r("0x2f73")]&&n.addClass(a[r("0x2635")])}}}])[e("0x1b75")](e("0xfe2"),(function(){return{restrict:"A",scope:{content:"@"},templateUrl:e("0x3c90")}}))[e("0x1b75")](e("0x1e6"),[e("0x8cb"),function(t){return t(e("0x1e6"),"tooltip","mouseenter")}])[e("0x1b75")](e("0x4a54"),(function(){return{restrict:"A",scope:{contentExp:"&",originScope:"&"},templateUrl:e("0x4f63")}}))[e("0x1b75")](e("0x4c4d"),["$uibTooltip",function(t){var n=e;return t(n("0x4c4d"),n("0x46ca"),n("0x4577"),{useContentExp:!0})}])[e("0x1b75")](e("0x3a7"),(function(){return{restrict:"A",scope:{contentExp:"&"},templateUrl:e("0x1c08")}})).directive(e("0x1094"),[e("0x8cb"),function(t){var n=e;return t(n("0x1094"),n("0x46ca"),n("0x4577"),{useContentExp:!0})}]),angular[e("0x39e9")](e("0x3da9"),[e("0x3370")])[e("0x1b75")]("uibPopoverTemplatePopup",(function(){return{restrict:"A",scope:{uibTitle:"@",contentExp:"&",originScope:"&"},templateUrl:e("0x1859")}})).directive(e("0x242f"),["$uibTooltip",function(t){var n=e;return t(n("0x242f"),"popover",n("0x7cb"),{useContentExp:!0})}])[e("0x1b75")]("uibPopoverHtmlPopup",(function(){return{restrict:"A",scope:{contentExp:"&",uibTitle:"@"},templateUrl:e("0x41fa")}}))[e("0x1b75")](e("0x27c7"),[e("0x8cb"),function(t){var n=e;return t("uibPopoverHtml",n("0x4f44"),n("0x7cb"),{useContentExp:!0})}]).directive(e("0x373"),(function(){return{restrict:"A",scope:{uibTitle:"@",content:"@"},templateUrl:"uib/template/popover/popover.html"}}))[e("0x1b75")](e("0x192c"),[e("0x8cb"),function(t){var n=e;return t(n("0x192c"),n("0x4f44"),n("0x7cb"))}]),angular[e("0x39e9")](e("0x29d"),[])[e("0x4d94")](e("0x2750"),{animate:!0,max:100})[e("0x1194")]("UibProgressController",[e("0x36af"),"$attrs","uibProgressConfig",function(t,n,a){var r=e,i=this,o=angular.isDefined(n.animate)?t[r("0x20cb")].$eval(n[r("0x2677")]):a.animate;function x(){var e=r;return angular[e("0x64a")](t[e("0x356a")])?t[e("0x356a")]:a[e("0x242b")]}this.bars=[],t.max=x(),this[r("0x11d8")]=function(e,t,n){var a=r;!o&&t.css({transition:a("0x2847")}),this[a("0x296f")][a("0x459a")](e),e[a("0x242b")]=x(),e[a("0x2fdc")]=n&&angular[a("0x64a")](n[a("0x2fdc")])?n[a("0x2fdc")]:"progressbar",e[a("0x7a")]("value",(function(t){e[a("0x16fc")]()})),e[a("0x16fc")]=function(){var t=a,n=i.bars[t("0x2e06")]((function(e,n){var a=t;return n[a("0x1459")]=+(100*n.value/n[a("0x242b")]).toFixed(2),e+n[a("0x1459")]}),0);n>100&&(e[t("0x1459")]-=n-100)},e[a("0x24c9")](a("0x4c91"),(function(){t=null,i.removeBar(e)}))},this[r("0x2949")]=function(e){var t=r;this[t("0x296f")].splice(this[t("0x296f")][t("0x3507")](e),1),this.bars[t("0x5ba")]((function(e){e[t("0x16fc")]()}))},t[r("0x7a")](r("0x356a"),(function(e){var t=r;i[t("0x296f")][t("0x5ba")]((function(e){var n=t;e[n("0x242b")]=x(),e[n("0x16fc")]()}))}))}])[e("0x1b75")](e("0x28a7"),(function(){var t=e;return{replace:!0,transclude:!0,controller:t("0x13aa"),require:t("0x28a7"),scope:{maxParam:"=?max"},templateUrl:t("0x19c4")}}))[e("0x1b75")](e("0x4f26"),(function(){var t=e;return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:t("0x3920"),link:function(e,n,a,r){r[t("0x11d8")](e,n,a)}}})).directive("uibProgressbar",(function(){var t=e;return{replace:!0,transclude:!0,controller:t("0x13aa"),scope:{value:"=",maxParam:t("0x4b10"),type:"@"},templateUrl:t("0x17d5"),link:function(e,n,a,r){var i=t;r[i("0x11d8")](e,angular[i("0xb48")](n[i("0x71b")]()[0]),{title:a.title})}}})),angular[e("0x39e9")](e("0x340c"),[])[e("0x4d94")]("uibRatingConfig",{max:5,stateOn:null,stateOff:null,enableReset:!0,titles:["one",e("0x3b13"),e("0x4747"),e("0x4194"),e("0x1c1a")]})[e("0x1194")](e("0x1702"),["$scope","$attrs",e("0x371"),function(t,n,a){var r=e,i={$setViewValue:angular[r("0x49d1")]},o=this;this.init=function(e){var o=r;(i=e)[o("0x4dbb")]=this[o("0x4537")],i.$formatters[o("0x459a")]((function(e){var t=o;return angular[t("0x1ba0")](e)&&e<<0!==e&&(e=Math[t("0x46d")](e)),e})),this.stateOn=angular[o("0x64a")](n[o("0x232")])?t[o("0x20cb")][o("0xe2b")](n[o("0x232")]):a[o("0x232")],this[o("0x2b6d")]=angular[o("0x64a")](n[o("0x2b6d")])?t[o("0x20cb")][o("0xe2b")](n[o("0x2b6d")]):a[o("0x2b6d")],this.enableReset=angular[o("0x64a")](n[o("0x480c")])?t[o("0x20cb")].$eval(n[o("0x480c")]):a.enableReset;var x=angular[o("0x64a")](n.titles)?t[o("0x20cb")][o("0xe2b")](n[o("0xbe9")]):a.titles;this.titles=angular[o("0x498f")](x)&&x.length>0?x:a[o("0xbe9")];var s=angular[o("0x64a")](n[o("0x994")])?t.$parent[o("0xe2b")](n[o("0x994")]):new Array(angular[o("0x64a")](n[o("0x242b")])?t.$parent[o("0xe2b")](n[o("0x242b")]):a[o("0x242b")]);t.range=this[o("0x3245")](s)},this[r("0x3245")]=function(e){for(var t=r,n=0,a=e[t("0x5e9")];n<a;n++)e[n]=angular[t("0x3448")]({index:n},{stateOn:this[t("0x232")],stateOff:this[t("0x2b6d")],title:this[t("0x3233")](n)},e[n]);return e},this[r("0x3233")]=function(e){var t=r;return e>=this[t("0xbe9")][t("0x5e9")]?e+1:this.titles[e]},t[r("0x191c")]=function(e){var n=r;if(!t[n("0x3330")]&&e>=0&&e<=t.range[n("0x5e9")]){var a=o[n("0x480c")]&&i[n("0x326c")]===e?0:e;i.$setViewValue(a),i[n("0x4dbb")]()}},t[r("0x3b11")]=function(e){var n=r;!t.readonly&&(t[n("0x3a33")]=e),t[n("0x4ca5")]({value:e})},t[r("0x19a7")]=function(){var e=r;t[e("0x3a33")]=i[e("0x326c")],t[e("0x316b")]()},t[r("0x457c")]=function(e){var n=r;/(37|38|39|40)/[n("0x3ff3")](e[n("0x2d41")])&&(e[n("0xe50")](),e[n("0x4c98")](),t[n("0x191c")](t[n("0x3a33")]+(38===e[n("0x2d41")]||39===e[n("0x2d41")]?1:-1)))},this[r("0x4537")]=function(){var e=r;t[e("0x3a33")]=i[e("0x326c")],t[e("0x2fdc")]=o[e("0x3233")](t[e("0x3a33")]-1)}}])[e("0x1b75")](e("0x21f2"),(function(){var t=e;return{require:["uibRating","ngModel"],restrict:"A",scope:{readonly:t("0x3bc9"),onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:t("0x1366"),link:function(e,n,a,r){var i=t,o=r[0],x=r[1];o[i("0xeed")](x)}}})),angular[e("0x39e9")](e("0x32a9"),[]).controller("UibTabsetController",["$scope",function(t){var n,a,r=e,i=this;function o(e){for(var t=r,n=0;n<i[t("0x2597")].length;n++)if(i.tabs[n][t("0x2d50")]===e)return n}i[r("0x2597")]=[],i.select=function(e,t){var x=r;if(!a){var s=o(n),c=i.tabs[s];if(c){if(c.tab[x("0x3b09")]({$event:t,$selectedIndex:e}),t&&t[x("0x3f7c")]())return;c[x("0x453c")].active=!1}var l=i[x("0x2597")][e];l?(l[x("0x453c")][x("0x1e08")]({$event:t}),l.tab[x("0x48c8")]=!0,i[x("0x48c8")]=l[x("0x2d50")],n=l[x("0x2d50")]):!l&&angular[x("0x64a")](n)&&(i[x("0x48c8")]=null,n=null)}},i.addTab=function(e){var t=r;if(i[t("0x2597")][t("0x459a")]({tab:e,index:e[t("0x2d50")]}),i.tabs[t("0x4d63")]((function(e,n){var a=t;return e[a("0x2d50")]>n[a("0x2d50")]?1:e[a("0x2d50")]<n[a("0x2d50")]?-1:0})),e[t("0x2d50")]===i[t("0x48c8")]||!angular[t("0x64a")](i.active)&&1===i.tabs[t("0x5e9")]){var n=o(e.index);i.select(n)}},i[r("0x422d")]=function(e){for(var t,n=r,a=0;a<i[n("0x2597")].length;a++)if(i[n("0x2597")][a][n("0x453c")]===e){t=a;break}if(i.tabs[t][n("0x2d50")]===i[n("0x48c8")]){var o=t===i.tabs[n("0x5e9")]-1?t-1:t+1%i[n("0x2597")].length;i.select(o)}i[n("0x2597")][n("0x2bcf")](t,1)},t[r("0x7a")](r("0x2433"),(function(e){var t=r;angular[t("0x64a")](e)&&e!==n&&i[t("0x2d7b")](o(e))})),t[r("0x24c9")](r("0x4c91"),(function(){a=!0}))}])[e("0x1b75")](e("0x17b6"),(function(){var t=e;return{transclude:!0,replace:!0,scope:{},bindToController:{active:"=?",type:"@"},controller:t("0x20d5"),controllerAs:t("0x3882"),templateUrl:function(e,n){var a=t;return n[a("0x1d64")]||a("0x2ef3")},link:function(e,n,a){var r=t;e[r("0x40a3")]=!!angular.isDefined(a[r("0x40a3")])&&e[r("0x20cb")][r("0xe2b")](a[r("0x40a3")]),e[r("0x4f5e")]=!!angular[r("0x64a")](a.justified)&&e[r("0x20cb")][r("0xe2b")](a[r("0x4f5e")])}}}))[e("0x1b75")](e("0x2b84"),[e("0x68c"),function(t){var n=e;return{require:n("0x154"),replace:!0,templateUrl:function(e,t){var a=n;return t[a("0x1d64")]||a("0x14d3")},transclude:!0,scope:{heading:"@",index:"=?",classes:"@?",onSelect:"&select",onDeselect:n("0xf7f")},controller:function(){},controllerAs:"tab",link:function(e,a,r,i,o){var x=n;e[x("0x1c54")]=!1,r[x("0x1f4d")]&&e.$parent[x("0x7a")](t(r.disable),(function(t){e[x("0x1c54")]=!!t})),angular[x("0x29ab")](r[x("0x2d50")])&&(i.tabs&&i[x("0x2597")][x("0x5e9")]?e.index=Math.max[x("0x4884")](null,i[x("0x2597")][x("0x19e8")]((function(e){return e[x("0x2d50")]})))+1:e[x("0x2d50")]=0),angular[x("0x29ab")](r.classes)&&(e.classes=""),e[x("0x2d7b")]=function(t){var n=x;if(!e.disabled){for(var a,r=0;r<i[n("0x2597")][n("0x5e9")];r++)if(i[n("0x2597")][r][n("0x453c")]===e){a=r;break}i.select(a,t)}},i[x("0x566")](e),e.$on("$destroy",(function(){i[x("0x422d")](e)})),e[x("0x59e")]=o}}}]).directive("uibTabHeadingTransclude",(function(){var t=e;return{restrict:"A",require:t("0x318b"),link:function(e,n){var a=t;e.$watch(a("0x1049"),(function(e){var t=a;e&&(n.html(""),n[t("0x136a")](e))}))}}})).directive(e("0x1f85"),(function(){var t=e;return{restrict:"A",require:t("0x154"),link:function(e,n,a){var r=t,i=e[r("0xe2b")](a[r("0x1f85")])[r("0x453c")];i.$transcludeFn(i[r("0x20cb")],(function(e){angular.forEach(e,(function(e){var a,r,o=a2_0x37cf;(a=e)[(r=t)("0x4d74")]&&(a[r("0x3a67")]("uib-tab-heading")||a[r("0x3a67")](r("0x1841"))||a[r("0x3a67")]("x-uib-tab-heading")||a[r("0x4d74")].toLowerCase()===r("0x2fd0")||a[r("0x4d74")][r("0x2eb9")]()===r("0x1841")||a[r("0x4d74")][r("0x2eb9")]()===r("0x8bc")||a[r("0x4d74")][r("0x2eb9")]()===r("0x3dc7"))?i.headingElement=e:n[o("0x136a")](e)}))}))}}})),angular[e("0x39e9")](e("0x1b6"),[]).constant(e("0x27ca"),{hourStep:1,minuteStep:1,secondStep:1,showMeridian:!0,showSeconds:!1,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0,templateUrl:e("0xa57")})[e("0x1194")]("UibTimepickerController",[e("0x36af"),e("0x4998"),e("0x428f"),"$parse",e("0x1a4"),e("0x1e84"),e("0x27ca"),function(t,n,a,r,i,o,x){var s,c,l,d=e,u=new Date,f=[],m={$setViewValue:angular.noop},b=angular[d("0x64a")](a[d("0x1ed3")])?t[d("0x20cb")][d("0xe2b")](a[d("0x1ed3")]):x[d("0x1ed3")]||o[d("0x32e")][d("0x3493")],_=!angular[d("0x64a")](a[d("0x33be")])||t[d("0x20cb")].$eval(a[d("0x33be")]);t[d("0x562")]=angular[d("0x64a")](a[d("0x562")])?a[d("0x562")]:0,n[d("0xf44")](d("0x562")),this[d("0xeed")]=function(e,n){var r=d;(m=e)[r("0x4dbb")]=this[r("0x4537")],m.$formatters[r("0x4e4a")]((function(e){return e?new Date(e):null}));var i=n.eq(0),o=n.eq(1),u=n.eq(2);s=i[r("0x1194")](r("0x12bc")),c=o[r("0x1194")](r("0x12bc")),l=u.controller(r("0x12bc")),(angular[r("0x64a")](a[r("0x4b5")])?t[r("0x20cb")][r("0xe2b")](a.mousewheel):x.mousewheel)&&this.setupMousewheelEvents(i,o,u),(angular[r("0x64a")](a[r("0x3881")])?t[r("0x20cb")][r("0xe2b")](a.arrowkeys):x.arrowkeys)&&this[r("0x5a1")](i,o,u),t[r("0x2268")]=angular.isDefined(a[r("0x2268")])?t[r("0x20cb")][r("0xe2b")](a[r("0x2268")]):x[r("0x2268")],this[r("0x9ee")](i,o,u)};var p=x[d("0x3b72")];a[d("0x3b72")]&&f.push(t.$parent[d("0x7a")](r(a.hourStep),(function(e){p=+e})));var h,g,v=x[d("0x2f68")];a[d("0x2f68")]&&f.push(t[d("0x20cb")][d("0x7a")](r(a.minuteStep),(function(e){v=+e}))),f.push(t.$parent.$watch(r(a[d("0x11db")]),(function(e){var t=new Date(e);h=isNaN(t)?void 0:t}))),f[d("0x459a")](t.$parent.$watch(r(a[d("0x242b")]),(function(e){var t=new Date(e);g=isNaN(t)?void 0:t})));var S=!1;a[d("0x28cb")]&&f[d("0x459a")](t[d("0x20cb")][d("0x7a")](r(a[d("0x28cb")]),(function(e){S=e}))),t[d("0x37a1")]=function(){var e=D(u,60*p);return S||e>g||e<u&&e<h},t[d("0x3218")]=function(){var e=D(u,60*-p);return S||e<h||e>u&&e>g},t[d("0x46c3")]=function(){var e=D(u,v);return S||e>g||e<u&&e<h},t[d("0x2ec4")]=function(){var e=D(u,-v);return S||e<h||e>u&&e>g},t[d("0x4ebf")]=function(){var e=I(u,E);return S||e>g||e<u&&e<h},t.noDecrementSeconds=function(){var e=I(u,-E);return S||e<h||e>u&&e>g},t.noToggleMeridian=function(){return u.getHours()<12?S||D(u,720)>g:S||D(u,-720)<h};var E=x[d("0x4ae3")];function A(){var e=d,n=+t[e("0x1fa0")];if((t[e("0x1bfa")]?n>0&&n<13:n>=0&&n<24)&&""!==t[e("0x1fa0")])return t.showMeridian&&(12===n&&(n=0),t.meridian===b[1]&&(n+=12)),n}function T(){var e=d,n=+t[e("0x5e")];if(n>=0&&n<60&&""!==t[e("0x5e")])return n}function y(e,t){var n=d;return null===e?"":angular.isDefined(e)&&e[n("0x3c88")]()[n("0x5e9")]<2&&!t?"0"+e:e.toString()}function C(e){var t=d;w(),m[t("0x1605")](new Date(u)),M(e)}function w(){var e=d;s&&s.$setValidity(e("0x1fa0"),!0),c&&c[e("0x234f")](e("0x5e"),!0),l&&l[e("0x234f")](e("0x4c5c"),!0),m[e("0x234f")](e("0x1c9f"),!0),t[e("0x3a74")]=!1,t.invalidMinutes=!1,t[e("0x13ef")]=!1}function M(e){var n=d;if(m.$modelValue){var a=u[n("0x40a0")](),r=u[n("0x11e8")](),i=u[n("0x3822")]();t[n("0x1bfa")]&&(a=0===a||12===a?12:a%12),t[n("0x1fa0")]="h"===e?a:y(a,!_),"m"!==e&&(t[n("0x5e")]=y(r)),t.meridian=u.getHours()<12?b[0]:b[1],"s"!==e&&(t[n("0x4c5c")]=y(i)),t[n("0x3552")]=u.getHours()<12?b[0]:b[1]}else t.hours=null,t[n("0x5e")]=null,t[n("0x4c5c")]=null,t[n("0x3552")]=b[0]}function R(e){u=I(u,e),C()}function D(e,t){return I(e,60*t)}function I(e,t){var n=d,a=new Date(e[n("0x4dad")]()+1e3*t),r=new Date(e);return r[n("0x3eef")](a[n("0x40a0")](),a[n("0x11e8")](),a[n("0x3822")]()),r}function N(){var e=d;return(null===t[e("0x1fa0")]||""===t[e("0x1fa0")])&&(null===t[e("0x5e")]||""===t[e("0x5e")])&&(!t[e("0x3bf4")]||t.showSeconds&&(null===t[e("0x4c5c")]||""===t[e("0x4c5c")]))}a[d("0x4ae3")]&&f[d("0x459a")](t.$parent[d("0x7a")](r(a[d("0x4ae3")]),(function(e){E=+e}))),t[d("0x3bf4")]=x[d("0x3bf4")],a[d("0x3bf4")]&&f[d("0x459a")](t[d("0x20cb")].$watch(r(a[d("0x3bf4")]),(function(e){t[d("0x3bf4")]=!!e}))),t[d("0x1bfa")]=x.showMeridian,a[d("0x1bfa")]&&f.push(t[d("0x20cb")][d("0x7a")](r(a[d("0x1bfa")]),(function(e){var n=d;if(t[n("0x1bfa")]=!!e,m[n("0x394")][n("0x1c9f")]){var a=A(),r=T();angular[n("0x64a")](a)&&angular[n("0x64a")](r)&&(u[n("0x3eef")](a),C())}else M()}))),this[d("0x3e25")]=function(e,n,a){var r=d,i=function(e){var t=a2_0x37cf;e[t("0x2154")]&&(e=e[t("0x2154")]);var n=e.wheelDelta?e[t("0x4770")]:-e[t("0x487")];return e[t("0x1e68")]||n>0};e.on("mousewheel wheel",(function(e){var n=a2_0x37cf;!S&&t[n("0xd66")](i(e)?t[n("0x1dd6")]():t[n("0x3e03")]()),e[n("0xe50")]()})),n.on(r("0x3dcc"),(function(e){var n=r;!S&&t[n("0xd66")](i(e)?t.incrementMinutes():t[n("0x12c1")]()),e.preventDefault()})),a.on(r("0x3dcc"),(function(e){var n=r;!S&&t[n("0xd66")](i(e)?t[n("0x20be")]():t[n("0x3eb2")]()),e[n("0xe50")]()}))},this[d("0x5a1")]=function(e,n,a){var r=d;e.on(r("0x468d"),(function(e){var n=r;S||(38===e.which?(e.preventDefault(),t[n("0x1dd6")](),t[n("0xd66")]()):40===e[n("0x2d41")]&&(e[n("0xe50")](),t[n("0x3e03")](),t.$apply()))})),n.on(r("0x468d"),(function(e){var n=r;S||(38===e.which?(e[n("0xe50")](),t[n("0x2336")](),t[n("0xd66")]()):40===e.which&&(e[n("0xe50")](),t[n("0x12c1")](),t.$apply()))})),a.on(r("0x468d"),(function(e){var n=r;S||(38===e[n("0x2d41")]?(e[n("0xe50")](),t[n("0x20be")](),t.$apply()):40===e.which&&(e[n("0xe50")](),t[n("0x3eb2")](),t[n("0xd66")]()))}))},this[d("0x9ee")]=function(e,n,a){var r=d;if(t[r("0x2268")])return t[r("0x38c")]=angular.noop,t[r("0x1138")]=angular.noop,void(t[r("0x177e")]=angular[r("0x49d1")]);var i=function(e,n,a){var i=r;m[i("0x1605")](null),m[i("0x234f")](i("0x1c9f"),!1),angular[i("0x64a")](e)&&(t[i("0x3a74")]=e,s&&s.$setValidity(i("0x1fa0"),!1)),angular[i("0x64a")](n)&&(t[i("0x38e6")]=n,c&&c[i("0x234f")](i("0x5e"),!1)),angular[i("0x64a")](a)&&(t[i("0x13ef")]=a,l&&l[i("0x234f")](i("0x4c5c"),!1))};t[r("0x38c")]=function(){var e=r,t=A(),n=T();m[e("0x3e22")](),angular[e("0x64a")](t)&&angular.isDefined(n)?(u[e("0x3eef")](t),u[e("0x1f83")](n),u<h||u>g?i(!0):C("h")):i(!0)},e.on(r("0x4a1"),(function(e){var n=r;m[n("0x49cb")](),N()?w():null===t.hours||""===t[n("0x1fa0")]?i(!0):!t[n("0x3a74")]&&t.hours<10&&t[n("0xd66")]((function(){t[n("0x1fa0")]=y(t.hours,!_)}))})),t.updateMinutes=function(){var e=r,t=T(),n=A();m[e("0x3e22")](),angular.isDefined(t)&&angular.isDefined(n)?(u[e("0x3eef")](n),u.setMinutes(t),u<h||u>g?i(void 0,!0):C("m")):i(void 0,!0)},n.on(r("0x4a1"),(function(e){var n=r;m[n("0x49cb")](),N()?w():null===t.minutes?i(void 0,!0):!t.invalidMinutes&&t[n("0x5e")]<10&&t.$apply((function(){var e=n;t[e("0x5e")]=y(t[e("0x5e")])}))})),t[r("0x177e")]=function(){var e,n=r,a=(e=+t[d("0x4c5c")])>=0&&e<60?e:void 0;m[n("0x3e22")](),angular.isDefined(a)?(u.setSeconds(a),C("s")):i(void 0,void 0,!0)},a.on(r("0x4a1"),(function(e){var n=r;N()?w():!t[n("0x13ef")]&&t[n("0x4c5c")]<10&&t[n("0xd66")]((function(){var e=n;t.seconds=y(t[e("0x4c5c")])}))}))},this.render=function(){var e=d,n=m[e("0x326c")];isNaN(n)?(m[e("0x234f")]("time",!1),i[e("0x4ad3")](e("0x1aec"))):(n&&(u=n),u<h||u>g?(m[e("0x234f")]("time",!1),t[e("0x3a74")]=!0,t.invalidMinutes=!0):w(),M())},t[d("0x42a1")]=angular[d("0x64a")](a[d("0x42a1")])?t[d("0x20cb")][d("0xe2b")](a[d("0x42a1")]):x[d("0x42a1")],t[d("0x1dd6")]=function(){!t[d("0x37a1")]()&&R(60*p*60)},t[d("0x3e03")]=function(){!t.noDecrementHours()&&R(60*-p*60)},t[d("0x2336")]=function(){!t[d("0x46c3")]()&&R(60*v)},t[d("0x12c1")]=function(){!t[d("0x2ec4")]()&&R(60*-v)},t[d("0x20be")]=function(){!t[d("0x4ebf")]()&&R(E)},t.decrementSeconds=function(){!t.noDecrementSeconds()&&R(-E)},t[d("0x25ae")]=function(){var e=d,n=T(),a=A();!t[e("0x391b")]()&&(angular.isDefined(n)&&angular[e("0x64a")](a)?R(720*(u.getHours()<12?60:-60)):t.meridian=t.meridian===b[0]?b[1]:b[0])},t[d("0x4a1")]=function(){m[d("0x49cb")]()},t[d("0x24c9")](d("0x4c91"),(function(){for(var e=d;f.length;)f[e("0x4534")]()()}))}])[e("0x1b75")](e("0x1c0f"),[e("0x27ca"),function(t){var n=e;return{require:[n("0x1c0f"),n("0x3e69")],restrict:"A",controller:n("0x12a7"),controllerAs:n("0xd3b"),scope:{},templateUrl:function(e,a){var r=n;return a[r("0x1d64")]||t[r("0x1d64")]},link:function(e,t,a,r){var i=n,o=r[0],x=r[1];x&&o[i("0xeed")](x,t[i("0x372f")](i("0x3f87")))}}}]),angular[e("0x39e9")](e("0x3877"),[e("0x2c6c"),e("0x43cb")])[e("0x3faf")]("uibTypeaheadParser",[e("0x68c"),function(e){var t=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(n){var a=a2_0x37cf,r=n[a("0x2cd9")](t);if(!r)throw new Error(a("0x4512")+' but got "'+n+'".');return{itemName:r[3],source:e(r[4]),viewMapper:e(r[2]||r[1]),modelMapper:e(r[1])}}}}])[e("0x1194")](e("0x4ca"),[e("0x36af"),e("0x4998"),"$attrs",e("0x4728"),"$parse","$q","$timeout",e("0x45e2"),e("0xe11"),e("0x47ed"),e("0xbcb"),e("0x2052"),"uibTypeaheadParser",function(t,n,a,r,i,o,x,s,c,l,d,u,f){var m,b,_=e,p=[9,13,27,38,40],h=t[_("0xe2b")](a.typeaheadMinLength);!h&&0!==h&&(h=1),t.$watch(a[_("0x4811")],(function(e){h=e||0===e?e:1}));var g=t.$eval(a.typeaheadWaitMs)||0,v=!1!==t[_("0xe2b")](a[_("0x4c3c")]);t.$watch(a[_("0x4c3c")],(function(e){v=!1!==e}));var S,E,A=i(a[_("0x937")])[_("0x3df0")]||angular[_("0x49d1")],T=a[_("0x1aba")]?i(a[_("0x1aba")]):function(e,t){var n=_,a=t[n("0x443")];return 13===a[n("0x2d41")]||9===a.which},y=i(a[_("0x2a36")]),C=!!angular.isDefined(a.typeaheadSelectOnBlur)&&t[_("0xe2b")](a[_("0x3a42")]),w=i(a[_("0x1720")])[_("0x3df0")]||angular[_("0x49d1")],M=a.typeaheadInputFormatter?i(a[_("0x4727")]):void 0,R=!!a[_("0x9f6")]&&t[_("0xe2b")](a[_("0x9f6")]),D=a[_("0x2810")]?t[_("0xe2b")](a[_("0x2810")]):null,I=!1!==t[_("0xe2b")](a[_("0xbeb")]),N=!!a.typeaheadSelectOnExact&&t[_("0xe2b")](a[_("0x2d64")]),O=i(a[_("0x290b")])[_("0x3df0")]||angular[_("0x49d1")],k=t[_("0xe2b")](a[_("0x1f2")])||!1,P=i(a[_("0x12bc")]),L=i(a[_("0x12bc")]+_("0x1ab6")),F=f.parse(a.uibTypeahead),B=t[_("0x28da")](),Y=t.$on("$destroy",(function(){B.$destroy()}));B.$on(_("0x4c91"),Y);var G,H,U=_("0x3383")+B[_("0x2933")]+"-"+Math[_("0x4184")](1e4*Math[_("0xcbb")]());n[_("0x417f")]({"aria-autocomplete":_("0x36ed"),"aria-expanded":!1,"aria-owns":U}),k&&((G=angular[_("0xb48")](_("0x1760")))[_("0x42b1")](_("0x342c"),"relative"),n[_("0x477b")](G),(H=n.clone()).attr(_("0x21e2"),""),H[_("0x417f")](_("0x562"),"-1"),H.val(""),H.css({position:_("0xc1a"),top:_("0x22d"),left:_("0x22d"),"border-color":_("0x2859"),"box-shadow":_("0x2847"),opacity:1,background:"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)",color:_("0x2910")}),n.css({position:_("0x38d7"),"vertical-align":_("0x228a"),"background-color":"transparent"}),H[_("0x417f")]("id")&&H.removeAttr("id"),G[_("0x136a")](H),H.after(n));var $=angular.element(_("0x22a7"));$[_("0x417f")]({id:U,matches:_("0x3c01"),active:"activeIdx",select:_("0x2b4b"),"move-in-progress":"moveInProgress",query:"query",position:"position","assign-is-open":"assignIsOpen(isOpen)",debounce:_("0x3f86")}),angular[_("0x64a")](a[_("0x93e")])&&$[_("0x417f")](_("0x2da3"),a[_("0x93e")]),angular[_("0x64a")](a[_("0x420d")])&&$.attr("popup-template-url",a[_("0x420d")]);var j=function(){var e=_;B[e("0x3c01")]=[],B[e("0x1f4f")]=-1,n[e("0x417f")](e("0x766"),!1),k&&H[_("0x435d")]("")},V=function(e){return U+_("0x715")+e};B[_("0x7a")](_("0x1f4f"),(function(e){var t=_;e<0?n[t("0xf44")]("aria-activedescendant"):n[t("0x417f")](t("0x429f"),V(e))}));var W=function(e,a){var r=_,i={$viewValue:e};A(t,!0),w(t,!1),o[r("0x2c66")](F[r("0x4aff")](t,i))[r("0x34e8")]((function(o){var x,s,c,l=r,u=e===m[l("0x326c")];if(u&&S)if(o&&o[l("0x5e9")]>0){B[l("0x1f4f")]=I?0:-1,w(t,!1),B[l("0x3c01")].length=0;for(var f=0;f<o.length;f++)i[F.itemName]=o[f],B[l("0x3c01")][l("0x459a")]({id:V(f),label:F[l("0x20b8")](B,i),model:o[f]});if(B[l("0x3829")]=e,Q(),n[l("0x417f")]("aria-expanded",!0),N&&1===B[l("0x3c01")][l("0x5e9")]&&(x=e,s=0,B[(c=_)("0x3c01")][c("0x5e9")]>s&&x&&x[c("0x110")]()===B.matches[s][c("0x32b")][c("0x110")]())&&(angular[l("0x1ba0")](B[l("0x3f86")])||angular[l("0x1f1a")](B.debounceUpdate)?d((function(){B[l("0x2d7b")](0,a)}),angular[l("0x1ba0")](B[l("0x3f86")])?B[l("0x3f86")]:B[l("0x3f86")][l("0x3993")]):B.select(0,a)),k){var b=B[l("0x3c01")][0][l("0x32b")];angular[l("0x1236")](e)&&e[l("0x5e9")]>0&&b[l("0x9b3")](0,e.length)[l("0x110")]()===e[l("0x110")]()?H[l("0x435d")](e+b.slice(e[l("0x5e9")])):H[l("0x435d")]("")}}else j(),w(t,!0);u&&A(t,!1)}),(function(){j(),A(t,!1),w(t,!0)}))};R&&(angular.element(c).on(_("0x39d4"),z),s[_("0x372f")]("body").on(_("0x3def"),z));var q=d((function(){var e=_;B[e("0x3c01")][e("0x5e9")]&&Q(),B[e("0x1241")]=!1}),200);function z(){var e=_;!B.moveInProgress&&(B.moveInProgress=!0,B[e("0x437c")]()),q()}function Q(){var e=_;B[e("0x342c")]=R?u[e("0x1feb")](n):u.position(n),B[e("0x342c")].top+=n.prop("offsetHeight")}B[_("0x1241")]=!1,B[_("0x3829")]=void 0;var K,X=function(){K&&x[_("0x4920")](K)};j(),B.assignIsOpen=function(e){O(t,e)},B.select=function(e,r){var i,o,s,c,l,d=_,u={};E=!0,u[F[d("0x3f0")]]=o=B[d("0x3c01")][e].model,i=F.modelMapper(t,u),s=t,c=i,l=_,angular[l("0x4977")](P(t))&&b.getOption(l("0xf6b"))?L(s,{$$$p:c}):P[l("0x3df0")](s,c),m[d("0x234f")](d("0xd7f"),!0),m.$setValidity("parse",!0),y(t,{$item:o,$model:i,$label:F[d("0x20b8")](t,u),$event:r}),j(),!1!==B[d("0xe2b")](a.typeaheadFocusOnSelect)&&x((function(){var e=d;n[0][e("0x2beb")]()}),0,!1)},n.on("keydown",(function(e){var n=_;if(0!==B[n("0x3c01")][n("0x5e9")]&&-1!==p[n("0x3507")](e[n("0x2d41")])){var a,r=T(t,{$event:e});if(-1===B[n("0x1f4f")]&&r||9===e[n("0x2d41")]&&e[n("0x3d90")])return j(),void B.$digest();switch(e[n("0xe50")](),e[n("0x2d41")]){case 27:e.stopPropagation(),j(),t[n("0x437c")]();break;case 38:B[n("0x1f4f")]=(B.activeIdx>0?B.activeIdx:B.matches[n("0x5e9")])-1,B[n("0x437c")](),(a=$[0][n("0x1e72")](".uib-typeahead-match")[B[n("0x1f4f")]])[n("0x368c")].scrollTop=a[n("0x2ac6")];break;case 40:B.activeIdx=(B[n("0x1f4f")]+1)%B[n("0x3c01")][n("0x5e9")],B.$digest(),(a=$[0][n("0x1e72")](n("0x12fd"))[B[n("0x1f4f")]])[n("0x368c")][n("0x1423")]=a[n("0x2ac6")];break;default:r&&B[n("0xd66")]((function(){var t=n;angular[t("0x1ba0")](B[t("0x3f86")])||angular.isObject(B[t("0x3f86")])?d((function(){var n=t;B[n("0x2d7b")](B[n("0x1f4f")],e)}),angular[t("0x1ba0")](B.debounceUpdate)?B[t("0x3f86")]:B[t("0x3f86")][t("0x3993")]):B[t("0x2d7b")](B.activeIdx,e)}))}}})),n.on(_("0x2beb"),(function(e){var t=_;S=!0,0===h&&!m[t("0x326c")]&&x((function(){W(m[t("0x326c")],e)}),0)})),n.on(_("0x4a1"),(function(e){var t=_;C&&B.matches[t("0x5e9")]&&-1!==B[t("0x1f4f")]&&!E&&(E=!0,B[t("0xd66")]((function(){var n=t;angular.isObject(B[n("0x3f86")])&&angular[n("0x1ba0")](B.debounceUpdate.blur)?d((function(){B[n("0x2d7b")](B.activeIdx,e)}),B[n("0x3f86")][n("0x4a1")]):B[n("0x2d7b")](B[n("0x1f4f")],e)}))),!v&&m[t("0x394")][t("0xd7f")]&&(m[t("0x1605")](),B.$apply((function(){var e=t;m.$setValidity(e("0xd7f"),!0),m[e("0x234f")](e("0x1fb8"),!0)})),n.val("")),S=!1,E=!1}));var J=function(e){var a=_;n[0]!==e[a("0x55d")]&&3!==e[a("0x2d41")]&&0!==B[a("0x3c01")].length&&(j(),!l[a("0x4fca")]&&t[a("0x437c")]())};s.on(_("0x7cb"),J),t.$on("$destroy",(function(){var e=_;s[e("0x30f8")](e("0x7cb"),J),(R||D)&&Z.remove(),R&&(angular.element(c)[e("0x30f8")](e("0x39d4"),z),s[e("0x372f")]("body")[e("0x30f8")](e("0x3def"),z)),$.remove(),k&&G[e("0xf82")]()}));var Z=r($)(B);R?s.find(_("0x3b3e"))[_("0x136a")](Z):D?angular[_("0xb48")](D).eq(0)[_("0x136a")](Z):n[_("0x477b")](Z),this[_("0xeed")]=function(e){var n,a,r,o=_;n=m=e,r=_,angular[r("0x10ea")][r("0x8b1")]<6?(a=n[r("0x374")]||{})[r("0x2e89")]=function(e){return a[e]}:a=n[r("0x374")],b=a,B[o("0x3f86")]=i(b[o("0x2e89")]("debounce"))(t),m[o("0x2888")][o("0x4e4a")]((function(e){var n,a=o;return S=!0,0===h||e&&e[a("0x5e9")]>=h?g>0?(X(),n=e,K=x((function(){W(n)}),g)):W(e):(A(t,!1),X(),j()),v?e:e?void m[a("0x234f")]("editable",!1):(m[a("0x234f")](a("0xd7f"),!0),null)})),m[o("0x3b53")][o("0x459a")]((function(e){var n,a=o,r={};return!v&&m.$setValidity(a("0xd7f"),!0),M?(r.$model=e,M(t,r)):(r[F[a("0x3f0")]]=e,n=F[a("0x20b8")](t,r),r[F[a("0x3f0")]]=void 0,n!==F[a("0x20b8")](t,r)?n:e)}))}}]).directive(e("0xccb"),(function(){var t=e;return{controller:t("0x4ca"),require:[t("0x12bc"),t("0xccb")],link:function(e,n,a,r){var i=t;r[1][i("0xeed")](r[0])}}}))[e("0x1b75")](e("0x2f06"),[e("0xbcb"),function(e){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&",assignIsOpen:"&",debounce:"&"},replace:!0,templateUrl:function(e,t){return t[a2_0x37cf("0x4d5a")]||"uib/template/typeahead/typeahead-popup.html"},link:function(t,n,a){var r=a2_0x37cf;t[r("0x1d64")]=a[r("0x1d64")],t[r("0x4447")]=function(){var e=t.matches.length>0;return t.assignIsOpen({isOpen:e}),e},t[r("0x1494")]=function(e){return t[r("0x48c8")]===e},t[r("0x4dd")]=function(e){t[r("0x48c8")]=e},t[r("0x15a6")]=function(n,a){var i=r,o=t[i("0x1f89")]();angular[i("0x1ba0")](o)||angular[i("0x1f1a")](o)?e((function(){t[i("0x2d7b")]({activeIdx:n,evt:a})}),angular[i("0x1ba0")](o)?o:o[i("0x3993")]):t[i("0x2d7b")]({activeIdx:n,evt:a})}}}}])[e("0x1b75")](e("0x931"),[e("0x1d93"),e("0x4728"),e("0x68c"),function(e,t,n){return{scope:{index:"=",match:"=",query:"="},link:function(a,r,i){var o=a2_0x37cf,x=n(i[o("0x1d64")])(a[o("0x20cb")])||o("0x2dfd");e(x).then((function(e){var n=o,i=angular[n("0xb48")](e[n("0x2dc4")]());r.replaceWith(i),t(i)(a)}))}}}])[e("0x6a6")](e("0x3da2"),[e("0x4f60"),e("0x1f10"),"$log",function(t,n,a){var r,i=e;return r=n[i("0x519")]("$sanitize"),function(e,n){var o,x=i;return!r&&(o=e,/<.*>/g[i("0x3ff3")](o))&&a[x("0x1dc6")](x("0x295a")),e=n?(""+e)[x("0x3cc0")](new RegExp(n[i("0x3cc0")](/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"gi"),"<strong>$&</strong>"):e,!r&&(e=t[x("0x1243")](e)),e}}]),angular[e("0x39e9")](e("0x1f59"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t.put("uib/template/accordion/accordion-group.html",n("0x2d38")+n("0x22b2")+n("0x1c41")+"  </h4>\n"+n("0x4283")+n("0x3ec5")+'  <div class="panel-body" ng-transclude></div>\n'+n("0x4283"))}]),angular[e("0x39e9")](e("0x2684"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t.put(n("0x2684"),n("0x11e0"))}]),angular.module(e("0x4a8e"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")]("uib/template/alert/alert.html",n("0x180d")+n("0x1471")+n("0x1cb0")+"</button>\n"+n("0x401"))}]),angular[e("0x39e9")](e("0x655"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x655"),n("0x26ce")+n("0x46d1")+n("0x29f0")+'  <span class="sr-only">previous</span>\n</a>\n'+n("0x4b2")+n("0x4d2f")+n("0x3a43")+n("0xd9a")+n("0x4806")+n("0x1c68")+n("0x5c7")+n("0x4172")+n("0x38a5"))}]),angular[e("0x39e9")](e("0x418b"),[])[e("0x4c69")](["$templateCache",function(t){var n=e;t[n("0x32f3")](n("0x418b"),'<div class="text-center" ng-transclude></div>\n')}]),angular[e("0x39e9")](e("0xc67"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t.put(n("0xc67"),'<div ng-switch="datepickerMode">\n'+n("0x2dad")+'  <div uib-monthpicker ng-switch-when="month" tabindex="0" class="uib-monthpicker"></div>\n'+n("0x14ed")+n("0x4283"))}]),angular[e("0x39e9")](e("0x15e0"),[]).run([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x15e0"),'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n'+n("0x2464")+'    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n'+n("0xf11")+n("0x1747")+n("0x37a5")+"    <tr>\n"+n("0x1efd")+'      <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n'+n("0x37a5")+n("0x12f1")+"  <tbody>\n"+n("0x84c")+n("0x2cb1")+n("0x4b95")+n("0x1887")+n("0x1304")+'        <button type="button" class="btn btn-default btn-sm"\n'+n("0x3091")+n("0x449a")+n("0x1715")+'            on dt"\n'+n("0x496b")+n("0x1b28")+n("0x4d9f")+n("0x4291")+n("0x37a5")+n("0x4cf1")+"</table>\n")}]),angular[e("0x39e9")](e("0x3372"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t.put(n("0x3372"),'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n'+n("0xe71")+n("0x5fc")+'      <th colspan="{{::yearHeaderColspan}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n'+n("0x222e")+n("0x37a5")+"  </thead>\n  <tbody>\n"+n("0x2489")+n("0x46e1")+n("0x1887")+'        ng-class="::dt.customClass">\n'+n("0x4d36")+n("0x3091")+n("0x449a")+n("0x1715")+n("0x1ff1")+n("0x496b")+'          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n'+n("0x4291")+n("0x37a5")+n("0x4cf1")+n("0x1ed6"))}]),angular[e("0x39e9")](e("0x77d"),[])[e("0x4c69")](["$templateCache",function(t){var n=e;t[n("0x32f3")]("uib/template/datepicker/popup.html","<div>\n"+n("0x16d")+n("0xc2a")+n("0x46b5")+n("0x128d")+n("0x4546")+n("0x49b4")+n("0x4b75")+n("0x1ee6")+"    </li>\n"+n("0xdaa")+n("0x4283"))}]),angular.module(e("0x4e32"),[]).run([e("0x19f0"),function(t){var n=e;t.put("uib/template/datepicker/year.html",n("0x36e8")+"  <thead>\n"+n("0xe71")+n("0x5fc")+n("0x97e")+n("0x1747")+n("0x37a5")+"  </thead>\n  <tbody>\n"+n("0x3d76")+'      <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n'+n("0x1887")+n("0x1304")+n("0x4d36")+'          uib-is-class="\n'+n("0x449a")+n("0x1715")+n("0x1ff1")+n("0x496b")+n("0x1b28")+n("0x16fa")+n("0x4291")+n("0x37a5")+n("0x4cf1")+n("0x1ed6"))}]),angular[e("0x39e9")]("uib/template/datepickerPopup/popup.html",[])[e("0x4c69")](["$templateCache",function(t){var n=e;t[n("0x32f3")](n("0x1408"),n("0x19ba")+n("0x3ff1")+'  <li ng-if="showButtonBar" class="uib-button-bar">\n'+n("0x262e")+'      <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n'+n("0x38cb")+n("0x4c51")+n("0x3db")+n("0x4172")+n("0x4642"))}]),angular[e("0x39e9")](e("0x14db"),[])[e("0x4c69")](["$templateCache",function(t){var n=e;t[n("0x32f3")](n("0x14db"),n("0xe6a")+n("0x249")+n("0x4c88")+n("0x3a1c")+n("0x2d0c")+"")}]),angular[e("0x39e9")](e("0x3fd7"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x3fd7"),"<div class=\"modal-dialog {{size ? 'modal-' + size : ''}}\"><div class=\"modal-content\" uib-modal-transclude></div></div>\n")}]),angular.module(e("0x3dcf"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x3dcf"),n("0xed")+n("0x872")+"")}]),angular[e("0x39e9")]("uib/template/pagination/pagination.html",[]).run([e("0x19f0"),function(t){var n=e;t.put("uib/template/pagination/pagination.html",n("0x11dd")+n("0xe99")+n("0x191")+'<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'next\')}}</a></li>\n'+n("0x3cee"))}]),angular[e("0x39e9")](e("0x1c08"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x1c08"),n("0x4c5d")+n("0x1d29")+"")}]),angular[e("0x39e9")](e("0x3c90"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x3c90"),n("0x4c5d")+'<div class="tooltip-inner" ng-bind="content"></div>\n')}]),angular[e("0x39e9")]("uib/template/tooltip/tooltip-template-popup.html",[])[e("0x4c69")](["$templateCache",function(t){var n=e;t[n("0x32f3")]("uib/template/tooltip/tooltip-template-popup.html",'<div class="tooltip-arrow"></div>\n'+n("0x1078")+n("0x452a")+n("0x1c6"))}]),angular.module("uib/template/popover/popover-html.html",[]).run([e("0x19f0"),function(t){var n=e;t.put(n("0x41fa"),n("0x1e34")+"\n"+n("0x412e")+n("0x27e8")+n("0xc9a")+"</div>\n")}]),angular[e("0x39e9")](e("0x1859"),[]).run([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x1859"),n("0x1e34")+"\n"+n("0x412e")+'    <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n'+n("0xe10")+n("0xd8a")+n("0x3891")+"</div>\n")}]),angular[e("0x39e9")]("uib/template/popover/popover.html",[]).run([e("0x19f0"),function(t){var n=e;t[n("0x32f3")]("uib/template/popover/popover.html",n("0x1e34")+"\n"+n("0x412e")+n("0x27e8")+'    <div class="popover-content" ng-bind="content"></div>\n</div>\n')}]),angular.module("uib/template/progressbar/bar.html",[]).run([e("0x19f0"),function(t){t[e("0x32f3")]("uib/template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n')}]),angular.module(e("0x19c4"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x19c4"),n("0x1075"))}]),angular[e("0x39e9")](e("0x17d5"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t.put(n("0x17d5"),n("0x27f7")+n("0x7e2")+n("0x4283")+"")}]),angular[e("0x39e9")](e("0x1366"),[]).run(["$templateCache",function(t){var n=e;t[n("0x32f3")](n("0x1366"),n("0x2c9")+n("0x3688")+n("0x449f")+n("0x112e")+"")}]),angular[e("0x39e9")]("uib/template/tabs/tab.html",[]).run([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x14d3"),n("0x2c")+n("0x4021")+n("0x3dcd")+"")}]),angular.module(e("0x2ef3"),[])[e("0x4c69")](["$templateCache",function(t){var n=e;t.put(n("0x2ef3"),n("0x4817")+n("0x359a")+n("0x15a2")+n("0xe1")+n("0x23ba")+n("0x34b8")+n("0x52")+"    </div>\n"+n("0x42fd")+n("0x4283"))}]),angular.module(e("0xa57"),[])[e("0x4c69")]([e("0x19f0"),function(t){var n=e;t[n("0x32f3")]("uib/template/timepicker/timepicker.html",n("0x200")+n("0x203f")+n("0x107f")+n("0x4b67")+n("0x3d7b")+n("0x42b4")+n("0x1cc7")+n("0x25e4")+n("0x33fe")+n("0x37a5")+"    <tr>\n"+n("0x4fb2")+n("0x113f")+'      </td>\n      <td class="uib-separator">:</td>\n      <td class="form-group uib-time minutes" ng-class="{\'has-error\': invalidMinutes}">\n'+n("0x34c8")+n("0x4291")+n("0x4a20")+n("0x1b0a")+n("0x629")+n("0x4291")+n("0x34c9")+"    </tr>\n"+n("0x107f")+'      <td class="uib-decrement hours"><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n'+n("0x3d7b")+n("0x3110")+n("0x1cc7")+n("0x1b8b")+n("0x33fe")+"    </tr>\n  </tbody>\n"+n("0x1ed6"))}]),angular[e("0x39e9")](e("0x2dfd"),[])[e("0x4c69")](["$templateCache",function(t){var n=e;t[n("0x32f3")]("uib/template/typeahead/typeahead-match.html",n("0x320c")+n("0x42dd")+n("0x1d8a")+n("0x4596")+"")}]),angular[e("0x39e9")]("uib/template/typeahead/typeahead-popup.html",[]).run([e("0x19f0"),function(t){var n=e;t[n("0x32f3")](n("0x3795"),'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" role="listbox" aria-hidden="{{!isOpen()}}">\n'+n("0x4e89")+n("0xf90")+n("0x3e3d")+n("0x4642"))}]),angular.module(e("0x36f0"))[e("0x4c69")]((function(){var t=e;!angular[t("0x36bc")]()[t("0x25b9")]&&!angular[t("0x4db2")]&&angular[t("0xb48")](document)[t("0x372f")](t("0x1d45")).prepend(t("0x41c6")),angular.$$uibCarouselCss=!0})),angular[e("0x39e9")](e("0x350e"))[e("0x4c69")]((function(){var t=e;!angular[t("0x36bc")]().noInlineStyle&&!angular[t("0x11c0")]&&angular.element(document)[t("0x372f")](t("0x1d45"))[t("0x2bdd")]('<style type="text/css">.uib-datepicker .uib-title{width:100%;}.uib-day button,.uib-month button,.uib-year button{min-width:100%;}.uib-left,.uib-right{width:100%}</style>'),angular[t("0x11c0")]=!0})),angular[e("0x39e9")](e("0x43cb"))[e("0x4c69")]((function(){var t=e;!angular.$$csp()[t("0x25b9")]&&!angular.$$uibPositionCss&&angular[t("0xb48")](document)[t("0x372f")]("head")[t("0x2bdd")](t("0x2345")),angular[t("0xb99")]=!0})),angular[e("0x39e9")](e("0x194")).run((function(){var t=e;!angular[t("0x36bc")]().noInlineStyle&&!angular.$$uibDatepickerpopupCss&&angular[t("0xb48")](document).find(t("0x1d45"))[t("0x2bdd")](t("0x435a")),angular[t("0x2a95")]=!0})),angular[e("0x39e9")](e("0x3370")).run((function(){var t=e;!angular[t("0x36bc")]()[t("0x25b9")]&&!angular[t("0x25af")]&&angular[t("0xb48")](document)[t("0x372f")]("head")[t("0x2bdd")]('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'),angular[t("0x25af")]=!0})),angular.module(e("0x1b6"))[e("0x4c69")]((function(){var t=e;!angular[t("0x36bc")]()[t("0x25b9")]&&!angular[t("0x419e")]&&angular[t("0xb48")](document)[t("0x372f")]("head")[t("0x2bdd")](t("0x4236")),angular[t("0x419e")]=!0})),angular[e("0x39e9")]("ui.bootstrap.typeahead")[e("0x4c69")]((function(){var t=e;!angular.$$csp()[t("0x25b9")]&&!angular.$$uibTypeaheadCss&&angular.element(document)[t("0x372f")]("head").prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'),angular[t("0x5e2")]=!0}))},8362:(e,t,n)=>{var a=_0x299160;n(539),e.exports=a("0x388a")},1092:()=>{var e,t,n,a=_0x299160;angular[(n=a2_0x37cf)("0x39e9")](n("0x1d0f"),[n("0x72f"),"angular-sortable-view",n("0x474")]),function(e){var t=a2_0x37cf;function n(e){var t=a2_0x37cf;return{restrict:"E",templateUrl:t("0x1667"),scope:{formItem:"=",form:"="},controller:a,controllerAs:t("0x3edb"),bindToController:!0,link:function(t,n,a,r){e((function(){r.init()}),50)}}}function a(e){this[a2_0x37cf("0x1143")]=e}n[t("0x4670")]=[t("0x38d4")],a[t("0x4670")]=["Utils"],e.module(t("0x1d0f")).directive(t("0x27d7"),n),a[t("0x20f")].init=function(){var e=t;this[e("0x1143")][e("0x3448")](this[e("0x4a04")],{config:{}})}}(angular),function(e){var t=a2_0x37cf;function n(e,t){var n=a2_0x37cf;this[n("0x138c")]=t,e.extend(this[n("0x17a9")],{config:{}})}n[t("0x4670")]=[t("0x1143"),t("0x4998")],e[t("0x39e9")]("angularMaterialFormBuilder")[t("0x1b75")]("textareaItem",(function(){var e=a2_0x37cf;return{restrict:"E",templateUrl:e("0x1106"),scope:{item:"="},controller:n,controllerAs:e("0x17da"),bindToController:!0}}))}(angular),function(e){var t=a2_0x37cf;function n(e){return{restrict:"E",templateUrl:"app/directives/select-item/select-view.html",scope:{formItem:"=",isPreview:"&",form:"="},controller:a,controllerAs:"SelectView",bindToController:!0,link:function(t,n,a,r){e((function(){r[a2_0x37cf("0xeed")]()}),50)}}}function a(e){this[a2_0x37cf("0x1143")]=e}n.$inject=[t("0x38d4")],a[t("0x4670")]=[t("0x1143")],e[t("0x39e9")](t("0x1d0f")).directive(t("0x2d5b"),n),a[t("0x20f")][t("0xeed")]=function(){var e=t;this[e("0x1143")][e("0x3448")](this[e("0x4a04")],{config:{},options:[]})}}(angular),function(e){var t=a2_0x37cf;function n(e,t){var n=a2_0x37cf;this[n("0x138c")]=t,e[n("0x3448")](this.item,{config:{},options:[{value:""}]})}n.$inject=["Utils",t("0x4998")],e.module(t("0x1d0f"))[t("0x1b75")]("selectItem",(function(){return{restrict:"E",templateUrl:a2_0x37cf("0x2667"),scope:{item:"="},controller:n,controllerAs:"Select",bindToController:!0}})),n[t("0x20f")][t("0x2aa6")]=function(e){var n=t;this[n("0x17a9")][n("0x16d1")].splice(e,1)},n.prototype[t("0x4e26")]=function(){var e=t;this[e("0x17a9")][e("0x16d1")].push({value:""}),setTimeout(function(){var t=e,n=this[t("0x138c")][t("0x372f")]("input");n[n[t("0x5e9")]-1][t("0x2beb")]()}.bind(this),0)}}(angular),function(e){var t=a2_0x37cf;function n(e){var t=a2_0x37cf;return{restrict:"E",templateUrl:t("0x27e4"),scope:{formItem:"=",isPreview:"&",form:"="},controller:a,controllerAs:t("0xb5f"),bindToController:!0,link:function(t,n,a,r){e((function(){r[a2_0x37cf("0xeed")]()}),50)}}}function a(e){this.Utils=e}n[t("0x4670")]=[t("0x38d4")],a[t("0x4670")]=[t("0x1143")],e[t("0x39e9")](t("0x1d0f"))[t("0x1b75")]("radioButtonView",n),a[t("0x20f")][t("0xeed")]=function(){var e=t;this.Utils[e("0x3448")](this.formItem,{config:{},options:[]})}}(angular),function(e){var t=a2_0x37cf;function n(e,t){var n=a2_0x37cf;this[n("0x138c")]=t,e[n("0x3448")](this.item||{},{config:{},options:[{value:""}]})}n[t("0x4670")]=[t("0x1143"),t("0x4998")],e[t("0x39e9")]("angularMaterialFormBuilder")[t("0x1b75")](t("0xef8"),(function(){return{restrict:"E",templateUrl:a2_0x37cf("0x4753"),scope:{item:"="},controller:n,controllerAs:"RadioButton",bindToController:!0}})),n.prototype[t("0x2aa6")]=function(e){var n=t;this[n("0x17a9")][n("0x16d1")].splice(e,1)},n[t("0x20f")][t("0x4e26")]=function(){var e=t;this.item.options[e("0x459a")]({value:""}),setTimeout(function(){var t=e,n=this[t("0x138c")].find(t("0x3f87"));n[n[t("0x5e9")]-1][t("0x2beb")]()}.bind(this),0)}}(angular),function(e){var t=a2_0x37cf;function n(e){return{restrict:"E",templateUrl:a2_0x37cf("0x17b8"),scope:{formItem:"=",isPreview:"&",form:"="},controller:a,controllerAs:"MatrixView",bindToController:!0,link:function(t,n,a,r){e((function(){r[a2_0x37cf("0xeed")]()}),50)}}}function a(e,t){var n=a2_0x37cf;this[n("0x3eff")]=e,this[n("0x1143")]=t,this[n("0x32d4")]=!0}n[t("0x4670")]=["$timeout"],a[t("0x4670")]=[t("0x36af"),"Utils"],e[t("0x39e9")](t("0x1d0f"))[t("0x1b75")](t("0x3154"),n),a[t("0x20f")].init=function(){var e=t;this[e("0x1143")][e("0x3448")](this[e("0x4a04")],{config:{rows:[],columns:[]}}),this[e("0x664")](),this[e("0x2d06")]()&&this._enableWatchers()},a[t("0x20f")][t("0x664")]=function(){var e=t,n=!0;if(this[e("0x4a04")][e("0x1805")][e("0x4c36")])for(var a=0;a<this[e("0x4a04")][e("0x1805")][e("0x47d8")][e("0x5e9")];a++)if(!this[e("0x4a04")][e("0x1805")].rows[a][e("0x1bd4")]("selected")){n=!1;break}this[e("0x32d4")]=n,this[e("0x35c5")][e("0x234f")](e("0x4c36"),this.isValid)},a[t("0x20f")][t("0x131d")]=function(){var e=t;this[e("0x3eff")][e("0x2952")]([e("0x2758"),e("0x410d")],function(t){void 0!==t&&this[e("0x664")]()}.bind(this))}}(angular),function(e){var t=a2_0x37cf;function n(t,n){var a=a2_0x37cf;this[a("0x206c")]=e[a("0xb48")](n[0][a("0x31f7")](".rowContainer")),this[a("0xb42")]=e[a("0xb48")](n[0][a("0x31f7")](a("0x35b8"))),t[a("0x3448")](this[a("0x17a9")],{config:{rows:[{value:""}],columns:[{value:""}]}})}n[t("0x4670")]=[t("0x1143"),t("0x45e2")],e[t("0x39e9")](t("0x1d0f")).directive(t("0x52f"),(function(){var e=a2_0x37cf;return{restrict:"E",templateUrl:e("0x1d3f"),scope:{item:"="},controller:n,controllerAs:e("0x32ba"),bindToController:!0}})),n[t("0x20f")][t("0x2460")]=function(e){var n=t;this.item[n("0x1805")][n("0x47d8")][n("0x2bcf")](e,1)},n[t("0x20f")][t("0x1f01")]=function(){var e=t;this.item[e("0x1805")][e("0x47d8")][e("0x459a")]({value:""}),setTimeout(function(){var t=e,n=this.RowContainer[t("0x372f")](t("0x3f87"));n[n[t("0x5e9")]-1][t("0x2beb")]()}[e("0x2b0c")](this),0)},n.prototype.deleteColumn=function(e){var n=t;this[n("0x17a9")][n("0x1805")][n("0x2983")][n("0x2bcf")](e,1)},n[t("0x20f")][t("0x35bf")]=function(){var e=t;this[e("0x17a9")][e("0x1805")][e("0x2983")][e("0x459a")]({value:""}),setTimeout(function(){var t=e,n=this[t("0xb42")][t("0x372f")]("input");n[n[t("0x5e9")]-1][t("0x2beb")]()}.bind(this),0)}}(angular),function(e){var t=a2_0x37cf;function n(e){var t=a2_0x37cf;return{restrict:"E",templateUrl:t("0x1ecc"),scope:{formItem:"=",form:"="},controller:a,controllerAs:t("0xfbb"),bindToController:!0,link:function(t,n,a,r){e((function(){r[a2_0x37cf("0xeed")]()}),50)}}}function a(e){this[a2_0x37cf("0x1143")]=e}n.$inject=[t("0x38d4")],a[t("0x4670")]=["Utils"],e[t("0x39e9")](t("0x1d0f"))[t("0x1b75")]("labelView",n),a[t("0x20f")][t("0xeed")]=function(){var e=t;this.Utils[e("0x3448")](this[e("0x4a04")],{})}}(angular),function(e){var t=a2_0x37cf;function n(e,t){this.Element=t}n[t("0x4670")]=["Utils","$element"],e[t("0x39e9")]("angularMaterialFormBuilder").directive(t("0x32d2"),(function(){return{restrict:"E",templateUrl:"app/directives/label-item/label-item.html",scope:{item:"="},controller:n,controllerAs:"Label",bindToController:!0}}))}(angular),function(e){var t=a2_0x37cf;function n(e){return{restrict:"E",templateUrl:"app/directives/input-item/input-view.html",scope:{formItem:"=",form:"="},controller:a,controllerAs:a2_0x37cf("0x2c6e"),bindToController:!0,link:function(t,n,a,r){e((function(){r.init()}),50)}}}function a(e){this[a2_0x37cf("0x1143")]=e}n[t("0x4670")]=[t("0x38d4")],a[t("0x4670")]=[t("0x1143")],e[t("0x39e9")](t("0x1d0f")).directive(t("0x1474"),n),a[t("0x20f")][t("0xeed")]=function(){var e=t;this[e("0x1143")][e("0x3448")](this.formItem,{config:{}})}}(angular),e=angular,(t=a2_0x37cf)("0x4998"),e[t("0x39e9")](t("0x1d0f"))[t("0x1b75")]("inputItem",(function e(){var t=a2_0x37cf;return{restrict:"E",templateUrl:t("0x39a9"),scope:{item:"="},controller:e,controllerAs:t("0x1f65"),bindToController:!0}})),function(e){var t=a2_0x37cf;function n(e){this[a2_0x37cf("0x3eff")]=e}n[t("0x4670")]=[t("0x36af")],e[t("0x39e9")](t("0x1d0f"))[t("0x1b75")]("formView",(function(){var e=a2_0x37cf;return{restrict:"E",templateUrl:e("0x3754"),scope:{form:"="},controller:n,controllerAs:e("0x3c0a"),bindToController:!0,link:function(e,t,n,a){a[a2_0x37cf("0xeed")]()}}})),n.prototype.init=function(){}}(angular),function(e){var t,n=a2_0x37cf;function a(){t=this}e[n("0x39e9")](n("0x1d0f"))[n("0x1b75")](n("0x1eee"),(function(){return{restrict:"E",scope:{form:"="},controller:a,controllerAs:"container",bindToController:!0,templateUrl:a2_0x37cf("0x3680")}})),a.prototype[n("0x23be")]=function(e,a){var r=n;t.form[r("0x158a")][r("0x2bcf")](a,1)},a[n("0x20f")].up=function(e,a){var r=n;if(0!==a){var i=t[r("0x35c5")][r("0x158a")][a-1];t.form[r("0x158a")][a]=i,t[r("0x35c5")][r("0x158a")][a-1]=e}},a.prototype[n("0x347a")]=function(e,a){var r=n;if(a!==t[r("0x35c5")][r("0x158a")].length-1){var i=t[r("0x35c5")][r("0x158a")][a+1];t[r("0x35c5")][r("0x158a")][a]=i,t.form[r("0x158a")][a+1]=e}}}(angular),function(e){var t=a2_0x37cf;function n(e,t){var n=a2_0x37cf;this[n("0x1b90")]=e,this[n("0x1143")]=t}n[t("0x4670")]=[t("0x428f"),t("0x1143")],e.module(t("0x1d0f"))[t("0x1b75")](t("0x4a04"),(function(){var e=a2_0x37cf;return{restrict:"E",scope:{item:"=",onDelete:"&",onUp:"&",onDown:"&",index:"&"},controller:n,controllerAs:e("0x1d1f"),bindToController:!0,templateUrl:e("0x35c1")}})),n.prototype[t("0xeed")]=function(){var e=t;this[e("0x1143")][e("0x3448")](this[e("0x17a9")],{type:this[e("0x1b90")].type,props:{title:"",helpText:""},config:{required:!1}})},n[t("0x20f")][t("0x3cbd")]=function(){var e=t;this[e("0x48bc")]({item:this[e("0x17a9")],index:this[e("0x2d50")]()})}}(angular),function(e){var t=a2_0x37cf;function n(e){var t=a2_0x37cf;return{restrict:"E",templateUrl:t("0x2f1d"),scope:{formItem:"=",isPreview:"&",form:"="},controller:a,controllerAs:t("0x4595"),bindToController:!0,link:function(t,n,a,r){e((function(){r[a2_0x37cf("0xeed")]()}),50)}}}function a(e,t){var n=a2_0x37cf;this.Scope=e,this[n("0x1143")]=t}n[t("0x4670")]=[t("0x38d4")],a[t("0x4670")]=["$scope",t("0x1143")],e[t("0x39e9")](t("0x1d0f"))[t("0x1b75")](t("0x23ed"),n),a[t("0x20f")][t("0xeed")]=function(){var e=t;this[e("0x1143")][e("0x3448")](this[e("0x4a04")],{config:{},options:[]}),this[e("0x2848")]=this[e("0x361a")](),this[e("0x136b")]=!1,this[e("0x32d4")]=!0,this._updateView(),this._updateValidity(),this[e("0x2d06")]()&&this[e("0x131d")]()},a.prototype.toggleSelectedOption=function(){var e=t;this[e("0x2848")]=this[e("0x361a")](),this[e("0x16c")](),this._updateValidity()},a[t("0x20f")][t("0x361a")]=function(){var e=t;return this[e("0x4a04")][e("0x16d1")][e("0x6a6")]((function(t){return t[e("0x2f89")]}))},a[t("0x20f")][t("0x16c")]=function(){var e=t;this.disableOptions=!(!this.formItem[e("0x1805")][e("0x3943")]||this[e("0x2848")][e("0x5e9")]!==this.formItem.config.maxSelections)},a[t("0x20f")][t("0x664")]=function(){var e=t;this.isValid=!this.formItem[e("0x1805")][e("0x4c36")]||this.selectedOptions[e("0x5e9")]>0,this.form[e("0x234f")](e("0x2a56"),this[e("0x32d4")])},a[t("0x20f")][t("0x131d")]=function(){var e=t;this.Scope[e("0x7a")](e("0x3b69"),function(t){var n=e;void 0!==t&&(this[n("0x16c")](),this[n("0x664")]())}.bind(this))}}(angular),function(e){var t=a2_0x37cf;function n(e,t){var n=a2_0x37cf;this.Element=t,e[n("0x3448")](this[n("0x17a9")]||{},{config:{maxSelections:null},options:[{value:"",selected:!1}]})}n[t("0x4670")]=["Utils","$element"],e[t("0x39e9")](t("0x1d0f"))[t("0x1b75")](t("0x299f"),(function(){return{restrict:"E",templateUrl:a2_0x37cf("0x26b3"),scope:{item:"="},controller:n,controllerAs:"Checkboxes",bindToController:!0}})),n[t("0x20f")][t("0x2aa6")]=function(e){var n=t;this[n("0x17a9")][n("0x16d1")].splice(e,1)},n[t("0x20f")][t("0x4e26")]=function(){var e=t;this[e("0x17a9")][e("0x16d1")][e("0x459a")]({value:"",selected:!1}),setTimeout(function(){var t=e,n=this[t("0x138c")][t("0x372f")](t("0x3f87"));n[n[t("0x5e9")]-1][t("0x2beb")]()}[e("0x2b0c")](this),0)}}(angular),function(e){var t=a2_0x37cf;function n(e){var t=a2_0x37cf;return{restrict:"E",templateUrl:t("0x3db4"),scope:{formItem:"=",isPreview:"&",form:"="},controller:a,controllerAs:t("0x1390"),bindToController:!0,link:function(t,n,a,r){e((function(){r[a2_0x37cf("0xeed")]()}),50)}}}function a(e,t){var n=a2_0x37cf;this[n("0x3eff")]=e,this[n("0x1143")]=t}n[t("0x4670")]=[t("0x38d4")],a.$inject=["$scope",t("0x1143")],e.module("angularMaterialFormBuilder")[t("0x1b75")]("agreementView",n),a[t("0x20f")][t("0xeed")]=function(){var e=t;this.Utils.extend(this.formItem,{config:{},options:[{value:"",selected:!1}]}),this[e("0x2848")]=this[e("0x361a")](),this.disableOptions=!1,this.isValid=!0,this[e("0x16c")](),this._updateValidity(),this[e("0x2d06")]()&&this[e("0x131d")]()},a[t("0x20f")].toggleSelectedOption=function(){var e=t;this[e("0x2848")]=this[e("0x361a")](),this._updateView(),this[e("0x664")]()},a.prototype._getSelectedOptions=function(){var e=t;return this.formItem[e("0x16d1")][e("0x6a6")]((function(e){return e.selected}))},a[t("0x20f")]._updateView=function(){var e=t;this.disableOptions=!(!this[e("0x4a04")][e("0x1805")].maxSelections||this[e("0x2848")][e("0x5e9")]!==this[e("0x4a04")][e("0x1805")][e("0x3943")])},a[t("0x20f")][t("0x664")]=function(){var e=t;this.isValid=!this[e("0x4a04")].config[e("0x4c36")]||this.selectedOptions[e("0x5e9")]>0,this[e("0x35c5")].$setValidity(e("0x2a56"),this[e("0x32d4")])},a[t("0x20f")]._enableWatchers=function(){var e=t;this.Scope.$watch(e("0x31a8"),function(t){var n=e;void 0!==t&&(this[n("0x16c")](),this[n("0x664")]())}[e("0x2b0c")](this))}}(angular),function(e){var t=a2_0x37cf;function n(e,t){var n=a2_0x37cf;this[n("0x138c")]=t,e[n("0x3448")](this[n("0x17a9")]||{},{config:{maxSelections:null},options:[{value:"",selected:!1}]})}n[t("0x4670")]=[t("0x1143"),t("0x4998")],e[t("0x39e9")](t("0x1d0f")).directive(t("0x17f5"),(function(){return{restrict:"E",scope:{item:"="},controller:n,controllerAs:"Agreement",bindToController:!0}}))}(angular),function(e){var t=a2_0x37cf;function n(){}e[t("0x39e9")]("angularMaterialFormBuilder").service(t("0x1143"),n),n[t("0x20f")][t("0x3448")]=function(e,n){var a=t;return Object[a("0xa35")](n).forEach(function(t){var r=a;e[r("0x1bd4")](t)?n[t]&&r("0x1b1d")==typeof n[t]&&this.extend(e[t],n[t]):e[t]=n[t]}.bind(this)),e}}(angular),function(e){var t,n=a2_0x37cf;function a(){(t=this)[a2_0x37cf("0x35c5")]={items:[]}}e[n("0x39e9")](n("0x1d0f"))[n("0x1194")]("MainController",a),a.prototype.addItem=function(e){var t=n;this[t("0x35c5")][t("0x158a")].push({type:e})},a.prototype[n("0x23be")]=function(e,a){var r=n;t[r("0x35c5")].items[r("0x2bcf")](a,1)},a[n("0x20f")].up=function(e,a){var r=n;if(0!==a){var i=t.form[r("0x158a")][a-1];t[r("0x35c5")].items[a]=i,t[r("0x35c5")].items[a-1]=e}},a[n("0x20f")].down=function(e,a){var r=n;if(a!==t.form[r("0x158a")][r("0x5e9")]-1){var i=t[r("0x35c5")][r("0x158a")][a+1];t.form.items[a]=i,t[r("0x35c5")][r("0x158a")][a+1]=e}}}(angular),angular[a("0x39e9")](a("0x1d0f")).run([a("0x19f0"),function(e){var t=a;e[t("0x32f3")]("app/directives/agreement-item/agreement-item.html",'<div class="sortable-container" layout="column" sv-root="" sv-part="Agreement.item.options"></div>'),e.put("app/directives/agreement-item/agreement-view.html",t("0x9c6")),e[t("0x32f3")]("app/directives/checkboxes-item/checkboxes-item.html",t("0x24f1")),e.put(t("0x2f1d"),t("0x43d6")),e[t("0x32f3")](t("0x35c1"),t("0x104c")),e[t("0x32f3")](t("0x3680"),'<div><form-item ng-repeat="item in container.form.items track by $index" type="{{item.type}}" item="item" index="$index" on-delete="container.delete(item, index)" on-up="container.up(item, index)" on-down="container.down(item, index)"></form-item></div>'),e[t("0x32f3")]("app/directives/form-view/form-view.html",t("0x4925")),e[t("0x32f3")](t("0x39a9"),t("0x4f1")),e[t("0x32f3")](t("0x48e1"),t("0x39b1")),e[t("0x32f3")](t("0xbca"),t("0x131")),e[t("0x32f3")](t("0x1ecc"),t("0x33a0")),e[t("0x32f3")](t("0x1d3f"),'<div class="sortable-container columnContainer" layout="column" sv-root="" sv-part="Matrix.item.config.columns"><div class="option-item" layout="row" ng-repeat="column in Matrix.item.config.columns track by $index" sv-element=""><md-button class="md-button handle" md-no-ink="" aria-label="option item" sv-handle=""><md-icon md-font-icon="icon-drag-horizontal"></md-icon></md-button><md-input-container class="input-container"><label>Column {{$index + 1}}</label> <input ng-model="column.value"></md-input-container><md-button class="md-button" md-no-ink="" aria-label="column item" ng-click="Matrix.deleteColumn($index)"><md-icon md-font-icon="icon-delete"></md-icon><md-tooltip md-autohide="true">Delete</md-tooltip></md-button></div><div layout="row" layout-align="start"><md-button class="md-primary add-option-button" md-no-ink="" aria-label="add option item" ng-click="Matrix.addColumn()">Add Column</md-button></div></div><div class="sortable-container rowContainer" layout="column" sv-root="" sv-part="Matrix.item.config.rows"><div class="option-item" layout="row" ng-repeat="row in Matrix.item.config.rows track by $index" sv-element=""><md-button class="md-button handle" md-no-ink="" aria-label="row item" sv-handle=""><md-icon md-font-icon="icon-drag-horizontal"></md-icon></md-button><md-input-container class="input-container"><label>Row {{$index + 1}}</label> <input ng-model="row.value"></md-input-container><md-button class="md-button" md-no-ink="" aria-label="row item" ng-click="Matrix.deleteRow($index)"><md-icon md-font-icon="icon-delete"></md-icon><md-tooltip md-autohide="true">Delete</md-tooltip></md-button></div><div layout="row" layout-align="start"><md-button class="md-primary add-option-button" md-no-ink="" aria-label="add row item" ng-click="Matrix.addRow()">Add row</md-button></div></div>'),e[t("0x32f3")](t("0x17b8"),t("0x2e3d")),e[t("0x32f3")](t("0x4753"),t("0x1f84")),e[t("0x32f3")](t("0x27e4"),'<md-input-container class="md-block"><md-radio-group name="formItemInput" ng-required="RadioButtonView.formItem.config.required" ng-model="RadioButtonView.formItem.value" layout="{{RadioButtonView.formItem.config.direction == \'horizontal\' ? \'column\' : \'row\'}}" required=""><md-radio-button ng-repeat="option in RadioButtonView.formItem.options track by $index" value="{{option.value}}" aria-label="...">{{option.value}}</md-radio-button></md-radio-group><div ng-messages="RadioButtonView.form.$error"><div ng-message="required">This field is required</div></div></md-input-container>'),e[t("0x32f3")](t("0x2667"),'<div class="sortable-container" layout="column" sv-root="" sv-part="Select.item.options"><div class="option-item" layout="row" ng-repeat="option in Select.item.options track by $index" sv-element=""><md-button class="md-button handle" md-no-ink="" aria-label="option item" sv-handle=""><md-icon md-font-icon="icon-drag-horizontal"></md-icon></md-button><md-input-container class="md-block"><label>Option {{$index + 1}}</label> <input ng-model="option.value"></md-input-container><md-button class="md-button md-warn" ng-click="Select.deleteOption($index)"><md-icon md-font-icon="icon-delete"></md-icon></md-button></div><md-button class="md-raised md-accent" ng-click="Select.addOption()"><md-icon md-font-icon="icon-plus"></md-icon></md-button></div>'),e[t("0x32f3")](t("0x4e76"),t("0xfb1")),e[t("0x32f3")](t("0x1106"),t("0x30a3")),e[t("0x32f3")](t("0x1667"),t("0x436"))}])},3010:e=>{var t=_0x299160;function n(e){var n=t;e=e||{},this.ms=e[n("0x11db")]||100,this[n("0x242b")]=e[n("0x242b")]||1e4,this[n("0xb0")]=e[n("0xb0")]||2,this[n("0x4967")]=e[n("0x4967")]>0&&e.jitter<=1?e[n("0x4967")]:0,this[n("0x4b7e")]=0}e[t("0x33f9")]=n,n.prototype[t("0x40b2")]=function(){var e=t,n=this.ms*Math[e("0x3861")](this[e("0xb0")],this.attempts++);if(this[e("0x4967")]){var a=Math.random(),r=Math[e("0x4184")](a*this[e("0x4967")]*n);n=0==(1&Math[e("0x4184")](10*a))?n-r:n+r}return 0|Math[e("0x11db")](n,this[e("0x242b")])},n[t("0x20f")].reset=function(){this[t("0x4b7e")]=0},n[t("0x20f")][t("0x27b")]=function(e){this.ms=e},n.prototype[t("0x4832")]=function(e){this.max=e},n[t("0x20f")].setJitter=function(e){this[t("0x4967")]=e}},1419:(e,t,n)=>{var a=_0x299160,r=n(1492)();n(2371)(r),n(3167)(r),n(54)(r),n(393)(r),n(1210)(r),n(3946)(r),n(8448)(r),n(3920)(r),n(7500)(r),n(6925)(r),n(1156)(r),n(66)(r),n(8680)(r),n(2880)(r),n(3693)(r),n(5682)(r),n(547)(r),n(4979)(r),n(3318)(r),n(1503)(r),n(6524)(r),n(8759)(r),n(2172)(r),n(8940)(r),n(9486)(r),n(3547)(r),n(3643)(r),n(3843)(r),n(7340)(r),n(6295)(r),n(8133)(r),n(7362)(r),n(498)(r),n(1653)(r),n(5610)(r),n(8563)(r),window.Chart=e[a("0x33f9")]=r},6295:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf;e[t("0x261")]=function(n,a){return a[t("0x3298")]="bar",new e(n,a)}}},8133:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){e[t("0x4e0c")]=function(t,n){return n.type="bubble",new e(t,n)}}},7362:e=>{e[_0x299160("0x33f9")]=function(e){e.Doughnut=function(t,n){var a=a2_0x37cf;return n[a("0x3298")]=a("0xb5d"),new e(t,n)}}},498:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t;e[n("0xacd")]=function(t,a){return a[n("0x3298")]="line",new e(t,a)}}},1653:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t;e[n("0x1e9c")]=function(t,a){return a[n("0x3298")]="polarArea",new e(t,a)}}},5610:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t;e[n("0x3c38")]=function(t,a){var r=n;return a[r("0x16d1")]=e[r("0x3ad8")][r("0x45b9")]({aspectRatio:1},a[r("0x16d1")]),a.type=r("0x2a8e"),new e(t,a)}}},8563:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf,n={hover:{mode:"single"},scales:{xAxes:[{type:t("0x4d9d"),position:t("0x47d9"),id:"x-axis-1"}],yAxes:[{type:"linear",position:t("0x2885"),id:"y-axis-1"}]},tooltips:{callbacks:{title:function(){return""},label:function(e){var n=t;return"("+e.xLabel+", "+e[n("0x33e0")]+")"}}}};e[t("0xbda")][t("0x447b")]=n,e[t("0x60a")][t("0x447b")]=e[t("0x60a")][t("0x4b2d")],e.Scatter=function(n,a){var r=t;return a.type=r("0x447b"),new e(n,a)}}},8940:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers;e[n("0xbda")].bar={hover:{mode:n("0x32b")},scales:{xAxes:[{type:n("0x4ed9"),categoryPercentage:.8,barPercentage:.9,gridLines:{offsetGridLines:!0}}],yAxes:[{type:n("0x4d9d")}]}},e[n("0x60a")][n("0x7fb")]=e[n("0x4533")][n("0x3448")]({dataElementType:e[n("0x3a17")][n("0x43de")],initialize:function(t,a){var r=n;e.DatasetController[r("0x20f")].initialize.call(this,t,a),this.getMeta().bar=!0},getBarCount:function(){var e=n,t=this,r=0;return a[e("0x3707")](t[e("0xb64")][e("0x237c")][e("0x23c5")],(function(n,a){var i=e;t.chart[i("0xa8e")](a)[i("0x7fb")]&&t[i("0xb64")][i("0x238b")](a)&&++r}),t),r},update:function(e){var t=n,r=this;a[t("0x3707")](r[t("0x137b")]()[t("0x237c")],(function(n,a){r[t("0x2449")](n,a,e)}),r)},updateElement:function(e,t,r){var i=n,o=this,x=o[i("0x137b")](),s=o[i("0x30ca")](x[i("0x116d")]),c=o[i("0x30ca")](x.yAxisID),l=c[i("0x4e00")](),d=o[i("0xb64")][i("0x16d1")][i("0x3a17")][i("0xae3")],u=e.custom||{},f=o[i("0x32b5")]();a[i("0x3448")](e,{_xScale:s,_yScale:c,_datasetIndex:o[i("0x2d50")],_index:t,_model:{x:o.calculateBarX(t,o[i("0x2d50")]),y:r?l:o[i("0x648")](t,o[i("0x2d50")]),label:o.chart[i("0x237c")][i("0x374b")][t],datasetLabel:f[i("0x32b")],base:r?l:o[i("0x2d5c")](o.index,t),width:o[i("0xb9b")](t),backgroundColor:u[i("0xd5e")]?u[i("0xd5e")]:a[i("0x12f6")](f[i("0xd5e")],t,d[i("0xd5e")]),borderSkipped:u.borderSkipped?u[i("0x2e52")]:d[i("0x2e52")],borderColor:u[i("0x25da")]?u[i("0x25da")]:a[i("0x12f6")](f.borderColor,t,d.borderColor),borderWidth:u.borderWidth?u[i("0x1914")]:a.getValueAtIndexOrDefault(f[i("0x1914")],t,d[i("0x1914")])}}),e.pivot()},calculateBarBase:function(e,t){var a=n,r=this,i=r[a("0x137b")](),o=r[a("0x30ca")](i.yAxisID),x=0;if(o[a("0x16d1")][a("0x4247")]){for(var s=r[a("0xb64")],c=s[a("0x237c")][a("0x23c5")],l=Number(c[e].data[t]),d=0;d<e;d++){var u=c[d],f=s.getDatasetMeta(d);if(f.bar&&f.yAxisID===o.id&&s.isDatasetVisible(d)){var m=Number(u[a("0x237c")][t]);x+=l<0?Math.min(m,0):Math.max(m,0)}}return o[a("0x4aa6")](x)}return o[a("0x4e00")]()},getRuler:function(e){var t,a=n,r=this,i=r[a("0x137b")](),o=r[a("0x30ca")](i[a("0x116d")]),x=r.getBarCount(),s=(t=o[a("0x16d1")][a("0x3298")]===a("0x4ed9")?o[a("0x1faf")](e+1)-o[a("0x1faf")](e):o.width/o.ticks.length)*o[a("0x16d1")][a("0x3cf")],c=(t-t*o[a("0x16d1")][a("0x3cf")])/2,l=s/x;o[a("0x3319")][a("0x5e9")]!==r[a("0xb64")].data[a("0x374b")][a("0x5e9")]&&(l*=o[a("0x3319")][a("0x5e9")]/r.chart.data.labels.length);return{datasetCount:x,tickWidth:t,categoryWidth:s,categorySpacing:c,fullBarWidth:l,barWidth:l*o[a("0x16d1")].barPercentage,barSpacing:l-l*o[a("0x16d1")][a("0x43c5")]}},calculateBarWidth:function(e){var t=n,a=this.getScaleForId(this[t("0x137b")]()[t("0x116d")]);if(a[t("0x16d1")][t("0x46f5")])return a.options.barThickness;var r=this[t("0x4875")](e);return a[t("0x16d1")][t("0x4247")]?r[t("0x1b3c")]:r[t("0x440a")]},getBarIndex:function(e){var t,a=n,r=0;for(t=0;t<e;++t)this[a("0xb64")].getDatasetMeta(t).bar&&this[a("0xb64")][a("0x238b")](t)&&++r;return r},calculateBarX:function(e,t){var a=n,r=this,i=r[a("0x137b")](),o=r.getScaleForId(i[a("0x116d")]),x=r.getBarIndex(t),s=r[a("0x4875")](e),c=o.getPixelForValue(null,e,t,r[a("0xb64")][a("0x235")]);return c-=r.chart[a("0x235")]?s[a("0x2831")]/2:0,o.options[a("0x4247")]?c+s[a("0x1b3c")]/2+s.categorySpacing:c+s[a("0x440a")]/2+s[a("0x24d4")]+s[a("0x440a")]*x+s.barSpacing/2+s[a("0x3957")]*x},calculateBarY:function(e,t){var a=n,r=this,i=r[a("0x137b")](),o=r[a("0x30ca")](i[a("0x1ea4")]),x=Number(r[a("0x32b5")]()[a("0x237c")][e]);if(o[a("0x16d1")][a("0x4247")]){for(var s=0,c=0,l=0;l<t;l++){var d=r.chart.data[a("0x23c5")][l],u=r.chart[a("0xa8e")](l);if(u.bar&&u.yAxisID===o.id&&r[a("0xb64")].isDatasetVisible(l)){var f=Number(d.data[e]);f<0?c+=f||0:s+=f||0}}return x<0?o.getPixelForValue(c+x):o[a("0x4aa6")](s+x)}return o[a("0x4aa6")](x)},draw:function(e){var t=n,r=this,i=e||1;a.each(r[t("0x137b")]().data,(function(e,n){var a=t,o=r[a("0x32b5")]().data[n];null!=o&&!isNaN(o)&&e[a("0x2f61")](i)[a("0x19b0")]()}),r)},setHoverStyle:function(e){var t=n,r=this[t("0xb64")][t("0x237c")][t("0x23c5")][e[t("0x561")]],i=e[t("0x6c9")],o=e[t("0x1a92")]||{},x=e[t("0x114d")];x[t("0xd5e")]=o[t("0xcc0")]?o.hoverBackgroundColor:a.getValueAtIndexOrDefault(r[t("0xcc0")],i,a[t("0x395d")](x.backgroundColor)),x[t("0x25da")]=o.hoverBorderColor?o.hoverBorderColor:a[t("0x12f6")](r.hoverBorderColor,i,a[t("0x395d")](x[t("0x25da")])),x[t("0x1914")]=o.hoverBorderWidth?o[t("0x218c")]:a[t("0x12f6")](r[t("0x218c")],i,x[t("0x1914")])},removeHoverStyle:function(e){var t=n,r=this.chart[t("0x237c")][t("0x23c5")][e[t("0x561")]],i=e[t("0x6c9")],o=e[t("0x1a92")]||{},x=e[t("0x114d")],s=this[t("0xb64")][t("0x16d1")][t("0x3a17")][t("0xae3")];x.backgroundColor=o.backgroundColor?o[t("0xd5e")]:a.getValueAtIndexOrDefault(r.backgroundColor,i,s[t("0xd5e")]),x[t("0x25da")]=o[t("0x25da")]?o[t("0x25da")]:a.getValueAtIndexOrDefault(r.borderColor,i,s[t("0x25da")]),x[t("0x1914")]=o[t("0x1914")]?o[t("0x1914")]:a.getValueAtIndexOrDefault(r[t("0x1914")],i,s[t("0x1914")])}}),e[n("0xbda")][n("0x15b1")]={hover:{mode:"label"},scales:{xAxes:[{type:n("0x4d9d"),position:n("0x47d9")}],yAxes:[{position:"left",type:n("0x4ed9"),categoryPercentage:.8,barPercentage:.9,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{callbacks:{title:function(e,t){var a=n,r="";return e[a("0x5e9")]>0&&(e[0][a("0x33e0")]?r=e[0][a("0x33e0")]:t.labels[a("0x5e9")]>0&&e[0][a("0x2d50")]<t[a("0x374b")].length&&(r=t.labels[e[0][a("0x2d50")]])),r},label:function(e,t){var a=n;return(t.datasets[e.datasetIndex][a("0x32b")]||"")+": "+e[a("0x173c")]}}}},e.controllers[n("0x15b1")]=e[n("0x60a")][n("0x7fb")].extend({updateElement:function(e,t,r){var i=n,o=this,x=o[i("0x137b")](),s=o[i("0x30ca")](x.xAxisID),c=o.getScaleForId(x[i("0x1ea4")]),l=s[i("0x4e00")](),d=e.custom||{},u=o[i("0x32b5")](),f=o.chart[i("0x16d1")][i("0x3a17")][i("0xae3")];a[i("0x3448")](e,{_xScale:s,_yScale:c,_datasetIndex:o.index,_index:t,_model:{x:r?l:o[i("0x10f4")](t,o[i("0x2d50")]),y:o.calculateBarY(t,o.index),label:o[i("0xb64")][i("0x237c")][i("0x374b")][t],datasetLabel:u[i("0x32b")],base:r?l:o[i("0x2d5c")](o[i("0x2d50")],t),height:o[i("0x35c2")](t),backgroundColor:d[i("0xd5e")]?d[i("0xd5e")]:a[i("0x12f6")](u[i("0xd5e")],t,f[i("0xd5e")]),borderSkipped:d[i("0x2e52")]?d[i("0x2e52")]:f[i("0x2e52")],borderColor:d[i("0x25da")]?d[i("0x25da")]:a[i("0x12f6")](u[i("0x25da")],t,f[i("0x25da")]),borderWidth:d[i("0x1914")]?d[i("0x1914")]:a[i("0x12f6")](u.borderWidth,t,f[i("0x1914")])},draw:function(){var e=i,t=this[e("0x7a1")].ctx,n=this._view,a=n[e("0x4e66")]/2,r=n.y-a,o=n.y+a,x=n[e("0x20c8")]-(n[e("0x20c8")]-n.x),s=n[e("0x1914")]/2;n.borderWidth&&(r+=s,o-=s,x+=s),t[e("0x3c1")](),t.fillStyle=n[e("0xd5e")],t.strokeStyle=n[e("0x25da")],t[e("0x4588")]=n.borderWidth;var c=[[n[e("0x20c8")],o],[n.base,r],[x,r],[x,o]],l=["bottom",e("0x2885"),"top","right"][e("0x3507")](n[e("0x2e52")],0);function d(e){return c[(l+e)%4]}-1===l&&(l=0),t[e("0x1699")].apply(t,d(0));for(var u=1;u<4;u++)t[e("0x3e41")][e("0x4884")](t,d(u));t[e("0x2773")](),n[e("0x1914")]&&t.stroke()},inRange:function(e,t){var n=i,a=this[n("0xa6f")],r=!1;return a&&(r=a.x<a[n("0x20c8")]?t>=a.y-a[n("0x4e66")]/2&&t<=a.y+a[n("0x4e66")]/2&&e>=a.x&&e<=a.base:t>=a.y-a[n("0x4e66")]/2&&t<=a.y+a.height/2&&e>=a[n("0x20c8")]&&e<=a.x),r}}),e[i("0x9f2")]()},calculateBarBase:function(e,t){var a=n,r=this,i=r[a("0x137b")](),o=r[a("0x30ca")](i[a("0x116d")]),x=0;if(o.options.stacked){for(var s=r.chart,c=s[a("0x237c")][a("0x23c5")],l=Number(c[e][a("0x237c")][t]),d=0;d<e;d++){var u=c[d],f=s.getDatasetMeta(d);if(f[a("0x7fb")]&&f[a("0x116d")]===o.id&&s[a("0x238b")](d)){var m=Number(u[a("0x237c")][t]);x+=l<0?Math.min(m,0):Math[a("0x242b")](m,0)}}return o[a("0x4aa6")](x)}return o[a("0x4e00")]()},getRuler:function(e){var t,a=n,r=this,i=r.getMeta(),o=r.getScaleForId(i[a("0x1ea4")]),x=r[a("0x310b")](),s=(t=o[a("0x16d1")].type===a("0x4ed9")?o[a("0x1faf")](e+1)-o[a("0x1faf")](e):o[a("0xbbf")]/o.ticks.length)*o.options[a("0x3cf")],c=(t-t*o.options[a("0x3cf")])/2,l=s/x;o[a("0x3319")][a("0x5e9")]!==r.chart[a("0x237c")].labels.length&&(l*=o[a("0x3319")][a("0x5e9")]/r[a("0xb64")].data.labels[a("0x5e9")]);return{datasetCount:x,tickHeight:t,categoryHeight:s,categorySpacing:c,fullBarHeight:l,barHeight:l*o.options[a("0x43c5")],barSpacing:l-l*o[a("0x16d1")][a("0x43c5")]}},calculateBarHeight:function(e){var t=n,a=this,r=a[t("0x30ca")](a[t("0x137b")]()[t("0x1ea4")]);if(r[t("0x16d1")].barThickness)return r[t("0x16d1")][t("0x46f5")];var i=a[t("0x4875")](e);return r[t("0x16d1")][t("0x4247")]?i[t("0x10e2")]:i[t("0x3818")]},calculateBarX:function(e,t){var a=n,r=this,i=r.getMeta(),o=r[a("0x30ca")](i.xAxisID),x=Number(r.getDataset()[a("0x237c")][e]);if(o[a("0x16d1")][a("0x4247")]){for(var s=0,c=0,l=0;l<t;l++){var d=r[a("0xb64")][a("0x237c")][a("0x23c5")][l],u=r[a("0xb64")].getDatasetMeta(l);if(u.bar&&u[a("0x116d")]===o.id&&r[a("0xb64")].isDatasetVisible(l)){var f=Number(d.data[e]);f<0?c+=f||0:s+=f||0}}return x<0?o[a("0x4aa6")](c+x):o[a("0x4aa6")](s+x)}return o[a("0x4aa6")](x)},calculateBarY:function(e,t){var a=n,r=this,i=r[a("0x137b")](),o=r[a("0x30ca")](i[a("0x1ea4")]),x=r[a("0x32d3")](t),s=r[a("0x4875")](e),c=o[a("0x4aa6")](null,e,t,r[a("0xb64")][a("0x235")]);return c-=r[a("0xb64")][a("0x235")]?s[a("0x12dc")]/2:0,o.options[a("0x4247")]?c+s[a("0x10e2")]/2+s.categorySpacing:c+s[a("0x3818")]/2+s[a("0x24d4")]+s[a("0x3818")]*x+s[a("0x3957")]/2+s[a("0x3957")]*x}})}},9486:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf,n=e.helpers;e[t("0xbda")].bubble={hover:{mode:t("0x2822")},scales:{xAxes:[{type:t("0x4d9d"),position:t("0x47d9"),id:"x-axis-0"}],yAxes:[{type:t("0x4d9d"),position:t("0x2885"),id:t("0xc7f")}]},tooltips:{callbacks:{title:function(){return""},label:function(e,n){var a=t,r=n[a("0x23c5")][e.datasetIndex].label||"",i=n.datasets[e[a("0x1847")]][a("0x237c")][e.index];return r+a("0x4364")+i.x+", "+i.y+", "+i.r+")"}}}},e[t("0x60a")][t("0x1407")]=e[t("0x4533")][t("0x3448")]({dataElementType:e[t("0x3a17")][t("0x7c9")],update:function(e){var a=t,r=this,i=r[a("0x137b")]()[a("0x237c")];n[a("0x3707")](i,(function(t,n){r[a("0x2449")](t,n,e)}))},updateElement:function(a,r,i){var o=t,x=this,s=x[o("0x137b")](),c=x[o("0x30ca")](s[o("0x116d")]),l=x[o("0x30ca")](s.yAxisID),d=a.custom||{},u=x[o("0x32b5")](),f=u[o("0x237c")][r],m=x.chart[o("0x16d1")][o("0x3a17")].point,b=x[o("0x2d50")];n[o("0x3448")](a,{_xScale:c,_yScale:l,_datasetIndex:b,_index:r,_model:{x:i?c[o("0x249d")](.5):c.getPixelForValue(typeof f===o("0x1b1d")?f:NaN,r,b,x[o("0xb64")].isCombo),y:i?l[o("0x4e00")]():l.getPixelForValue(f,r,b),radius:i?0:d[o("0x17c4")]?d[o("0x17c4")]:x[o("0x2f3f")](f),hitRadius:d[o("0x1f24")]?d[o("0x1f24")]:n.getValueAtIndexOrDefault(u[o("0x1f24")],r,m.hitRadius)}}),e[o("0x4533")][o("0x20f")].removeHoverStyle[o("0x3c6b")](x,a,m);var _=a._model;_.skip=d[o("0x3d17")]?d[o("0x3d17")]:isNaN(_.x)||isNaN(_.y),a[o("0x9f2")]()},getRadius:function(e){var n=t;return e.r||this[n("0xb64")][n("0x16d1")][n("0x3a17")][n("0xef5")][n("0x17c4")]},setHoverStyle:function(a){var r=t,i=this;e[r("0x4533")].prototype.setHoverStyle[r("0x3c6b")](i,a);var o=i[r("0xb64")][r("0x237c")][r("0x23c5")][a[r("0x561")]],x=a[r("0x6c9")],s=a[r("0x1a92")]||{};a[r("0x114d")][r("0x17c4")]=s[r("0x206d")]?s[r("0x206d")]:n[r("0x12f6")](o[r("0x206d")],x,i[r("0xb64")][r("0x16d1")][r("0x3a17")][r("0xef5")][r("0x206d")])+i[r("0x2f3f")](o[r("0x237c")][x])},removeHoverStyle:function(n){var a=t,r=this;e[a("0x4533")][a("0x20f")][a("0x48e9")][a("0x3c6b")](r,n,r[a("0xb64")][a("0x16d1")].elements[a("0xef5")]);var i=r[a("0xb64")][a("0x237c")].datasets[n[a("0x561")]][a("0x237c")][n[a("0x6c9")]],o=n.custom||{};n[a("0x114d")].radius=o.radius?o[a("0x17c4")]:r[a("0x2f3f")](i)}})}},3547:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")],r=e[n("0xbda")];r.doughnut={animation:{animateRotate:!0,animateScale:!1},aspectRatio:1,hover:{mode:n("0x2822")},legendCallback:function(e){var t=n,a=[];a.push(t("0x1675")+e.id+'-legend">');var r=e[t("0x237c")],i=r[t("0x23c5")],o=r[t("0x374b")];if(i.length)for(var x=0;x<i[0][t("0x237c")][t("0x5e9")];++x)a.push(t("0xde3")+i[0][t("0xd5e")][x]+t("0x2761")),o[x]&&a[t("0x459a")](o[x]),a[t("0x459a")]("</li>");return a.push(t("0x3764")),a[t("0xc60")]("")},legend:{labels:{generateLabels:function(e){var t=n,r=e[t("0x237c")];return r.labels[t("0x5e9")]&&r[t("0x23c5")][t("0x5e9")]?r.labels[t("0x19e8")]((function(n,i){var o=t,x=e[o("0xa8e")](0),s=r[o("0x23c5")][0],c=x[o("0x237c")][i],l=c&&c[o("0x1a92")]||{},d=a[o("0x12f6")],u=e.options[o("0x3a17")].arc;return{text:n,fillStyle:l.backgroundColor?l[o("0xd5e")]:d(s[o("0xd5e")],i,u[o("0xd5e")]),strokeStyle:l[o("0x25da")]?l.borderColor:d(s[o("0x25da")],i,u[o("0x25da")]),lineWidth:l[o("0x1914")]?l[o("0x1914")]:d(s[o("0x1914")],i,u[o("0x1914")]),hidden:isNaN(s[o("0x237c")][i])||x[o("0x237c")][i].hidden,index:i}})):[]}},onClick:function(e,t){var a,r,i,o=n,x=t[o("0x2d50")],s=this[o("0xb64")];for(a=0,r=(s[o("0x237c")][o("0x23c5")]||[]).length;a<r;++a)(i=s.getDatasetMeta(a))[o("0x237c")][x]&&(i.data[x][o("0xd4f")]=!i[o("0x237c")][x].hidden);s.update()}},cutoutPercentage:50,rotation:-.5*Math.PI,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return""},label:function(e,t){var a=n;return t[a("0x374b")][e.index]+": "+t[a("0x23c5")][e[a("0x1847")]][a("0x237c")][e[a("0x2d50")]]}}}},r[n("0x45d2")]=a[n("0x42df")](r[n("0xb5d")]),a[n("0x3448")](r[n("0x45d2")],{cutoutPercentage:0}),e[n("0x60a")][n("0xb5d")]=e[n("0x60a")][n("0x45d2")]=e[n("0x4533")].extend({dataElementType:e.elements[n("0x121e")],linkScales:a[n("0x49d1")],getRingIndex:function(e){for(var t=n,a=0,r=0;r<e;++r)this[t("0xb64")][t("0x238b")](r)&&++a;return a},update:function(e){var t=n,r=this,i=r[t("0xb64")],o=i[t("0x281b")],x=i[t("0x16d1")],s=x.elements.arc,c=o.right-o[t("0x2885")]-s[t("0x1914")],l=o.bottom-o[t("0x228a")]-s[t("0x1914")],d=Math[t("0x11db")](c,l),u={x:0,y:0},f=r[t("0x137b")](),m=x[t("0x2428")],b=x[t("0x41f5")];if(b<2*Math.PI){var _=x[t("0x26f4")]%(2*Math.PI),p=(_+=2*Math.PI*(_>=Math.PI?-1:_<-Math.PI?1:0))+b,h={x:Math[t("0x1912")](_),y:Math[t("0x1e9")](_)},g={x:Math[t("0x1912")](p),y:Math[t("0x1e9")](p)},v=_<=0&&0<=p||_<=2*Math.PI&&2*Math.PI<=p,S=_<=.5*Math.PI&&.5*Math.PI<=p||_<=2.5*Math.PI&&2.5*Math.PI<=p,E=_<=-Math.PI&&-Math.PI<=p||_<=Math.PI&&Math.PI<=p,A=_<=.5*-Math.PI&&.5*-Math.PI<=p||_<=1.5*Math.PI&&1.5*Math.PI<=p,T=m/100,y={x:E?-1:Math.min(h.x*(h.x<0?1:T),g.x*(g.x<0?1:T)),y:A?-1:Math.min(h.y*(h.y<0?1:T),g.y*(g.y<0?1:T))},C={x:v?1:Math.max(h.x*(h.x>0?1:T),g.x*(g.x>0?1:T)),y:S?1:Math[t("0x242b")](h.y*(h.y>0?1:T),g.y*(g.y>0?1:T))},w={width:.5*(C.x-y.x),height:.5*(C.y-y.y)};d=Math.min(c/w[t("0xbbf")],l/w[t("0x4e66")]),u={x:-.5*(C.x+y.x),y:-.5*(C.y+y.y)}}i.borderWidth=r.getMaxBorderWidth(f.data),i[t("0xe2d")]=Math[t("0x242b")]((d-i[t("0x1914")])/2,0),i.innerRadius=Math.max(m?i[t("0xe2d")]/100*m:1,0),i.radiusLength=(i[t("0xe2d")]-i.innerRadius)/i[t("0x20da")](),i[t("0x2a3c")]=u.x*i[t("0xe2d")],i[t("0x2ba3")]=u.y*i[t("0xe2d")],f[t("0x166f")]=r.calculateTotal(),r.outerRadius=i[t("0xe2d")]-i[t("0x499f")]*r[t("0x3468")](r[t("0x2d50")]),r[t("0x3e36")]=r.outerRadius-i.radiusLength,a[t("0x3707")](f[t("0x237c")],(function(n,a){r[t("0x2449")](n,a,e)}))},updateElement:function(e,t,r){var i=n,o=this,x=o[i("0xb64")],s=x[i("0x281b")],c=x[i("0x16d1")],l=c[i("0x2f73")],d=(s[i("0x2885")]+s[i("0x30eb")])/2,u=(s[i("0x228a")]+s[i("0x47d9")])/2,f=c.rotation,m=c[i("0x26f4")],b=o[i("0x32b5")](),_=r&&l[i("0x231d")]||e[i("0xd4f")]?0:o.calculateCircumference(b[i("0x237c")][t])*(c[i("0x41f5")]/(2*Math.PI)),p=r&&l[i("0x1100")]?0:o[i("0x3e36")],h=r&&l.animateScale?0:o[i("0xe2d")],g=a.getValueAtIndexOrDefault;a[i("0x3448")](e,{_datasetIndex:o[i("0x2d50")],_index:t,_model:{x:d+x[i("0x2a3c")],y:u+x[i("0x2ba3")],startAngle:f,endAngle:m,circumference:_,outerRadius:h,innerRadius:p,label:g(b[i("0x32b")],t,x[i("0x237c")][i("0x374b")][t])}});var v=e._model;this.removeHoverStyle(e),(!r||!l[i("0x231d")])&&(v[i("0x541")]=0===t?c[i("0x26f4")]:o[i("0x137b")]().data[t-1]._model.endAngle,v[i("0x3a18")]=v[i("0x541")]+v[i("0x41f5")]),e.pivot()},removeHoverStyle:function(t){var a=n;e[a("0x4533")][a("0x20f")].removeHoverStyle[a("0x3c6b")](this,t,this[a("0xb64")].options[a("0x3a17")].arc)},calculateTotal:function(){var e,t=n,r=this[t("0x32b5")](),i=this[t("0x137b")](),o=0;return a[t("0x3707")](i.data,(function(n,a){var i=t;e=r.data[a],!isNaN(e)&&!n[i("0xd4f")]&&(o+=Math[i("0x681")](e))})),o},calculateCircumference:function(e){var t=this[n("0x137b")]().total;return t>0&&!isNaN(e)?2*Math.PI*(e/t):0},getMaxBorderWidth:function(e){for(var t,a,r=n,i=0,o=this[r("0x2d50")],x=e[r("0x5e9")],s=0;s<x;s++)t=e[s][r("0x114d")]?e[s][r("0x114d")].borderWidth:0,i=(a=e[s][r("0x7a1")]?e[s][r("0x7a1")][r("0x1805")][r("0x237c")].datasets[o][r("0x218c")]:0)>(i=t>i?t:i)?a:i;return i}})}},3643:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers;function r(e,t){var r=n;return a.getValueOrDefault(e[r("0x3ddc")],t[r("0x35f8")])}e[n("0xbda")][n("0x4b2d")]={showLines:!0,spanGaps:!1,hover:{mode:n("0x32b")},scales:{xAxes:[{type:n("0x4ed9"),id:"x-axis-0"}],yAxes:[{type:n("0x4d9d"),id:n("0xc7f")}]}},e[n("0x60a")][n("0x4b2d")]=e.DatasetController[n("0x3448")]({datasetElementType:e.elements.Line,dataElementType:e[n("0x3a17")][n("0x7c9")],addElementAndReset:function(t){var a=n,i=this,o=i[a("0xb64")][a("0x16d1")],x=i.getMeta();e.DatasetController.prototype[a("0xa09")][a("0x3c6b")](i,t),r(i[a("0x32b5")](),o)&&0!==x[a("0x415")][a("0x114d")][a("0xdf")]&&i[a("0x4ee8")]()},update:function(e){var t,i,o,x=n,s=this,c=s[x("0x137b")](),l=c[x("0x415")],d=c.data||[],u=s.chart[x("0x16d1")],f=u[x("0x3a17")].line,m=s.getScaleForId(c[x("0x1ea4")]),b=s[x("0x32b5")](),_=r(b,u);for(_&&(o=l[x("0x1a92")]||{},void 0!==b[x("0xdf")]&&void 0===b[x("0x1aed")]&&(b[x("0x1aed")]=b[x("0xdf")]),l[x("0x46a5")]=m,l[x("0x561")]=s[x("0x2d50")],l[x("0x373f")]=d,l[x("0x114d")]={spanGaps:b[x("0x49ec")]?b[x("0x49ec")]:u[x("0x49ec")],tension:o[x("0xdf")]?o[x("0xdf")]:a[x("0x174e")](b[x("0x1aed")],f[x("0xdf")]),backgroundColor:o[x("0xd5e")]?o.backgroundColor:b[x("0xd5e")]||f[x("0xd5e")],borderWidth:o[x("0x1914")]?o.borderWidth:b[x("0x1914")]||f[x("0x1914")],borderColor:o[x("0x25da")]?o[x("0x25da")]:b.borderColor||f[x("0x25da")],borderCapStyle:o[x("0x1cec")]?o[x("0x1cec")]:b[x("0x1cec")]||f[x("0x1cec")],borderDash:o[x("0x4415")]?o[x("0x4415")]:b[x("0x4415")]||f.borderDash,borderDashOffset:o[x("0x26a0")]?o.borderDashOffset:b[x("0x26a0")]||f[x("0x26a0")],borderJoinStyle:o[x("0x1881")]?o.borderJoinStyle:b[x("0x1881")]||f[x("0x1881")],fill:o.fill?o[x("0x2773")]:void 0!==b[x("0x2773")]?b.fill:f[x("0x2773")],steppedLine:o.steppedLine?o[x("0x34cf")]:a[x("0x174e")](b[x("0x34cf")],f[x("0x3bf6")]),cubicInterpolationMode:o[x("0x1cc8")]?o.cubicInterpolationMode:a[x("0x174e")](b[x("0x1cc8")],f.cubicInterpolationMode),scaleTop:m[x("0x228a")],scaleBottom:m.bottom,scaleZero:m[x("0x4e00")]()},l.pivot()),t=0,i=d.length;t<i;++t)s.updateElement(d[t],t,e);for(_&&0!==l[x("0x114d")][x("0xdf")]&&s[x("0x4ee8")](),t=0,i=d.length;t<i;++t)d[t][x("0x9f2")]()},getPointBackgroundColor:function(e,t){var r=n,i=this[r("0xb64")].options[r("0x3a17")][r("0xef5")][r("0xd5e")],o=this[r("0x32b5")](),x=e[r("0x1a92")]||{};return x.backgroundColor?i=x[r("0xd5e")]:o[r("0x3d85")]?i=a[r("0x12f6")](o.pointBackgroundColor,t,i):o.backgroundColor&&(i=o[r("0xd5e")]),i},getPointBorderColor:function(e,t){var r=n,i=this[r("0xb64")][r("0x16d1")][r("0x3a17")].point.borderColor,o=this[r("0x32b5")](),x=e.custom||{};return x[r("0x25da")]?i=x[r("0x25da")]:o.pointBorderColor?i=a[r("0x12f6")](o[r("0x21ca")],t,i):o[r("0x25da")]&&(i=o[r("0x25da")]),i},getPointBorderWidth:function(e,t){var r=n,i=this[r("0xb64")][r("0x16d1")].elements[r("0xef5")][r("0x1914")],o=this.getDataset(),x=e[r("0x1a92")]||{};return x[r("0x1914")]?i=x[r("0x1914")]:o[r("0x4ffc")]?i=a[r("0x12f6")](o.pointBorderWidth,t,i):o[r("0x1914")]&&(i=o[r("0x1914")]),i},updateElement:function(e,t,r){var i,o,x=n,s=this,c=s[x("0x137b")](),l=e.custom||{},d=s[x("0x32b5")](),u=s[x("0x2d50")],f=d[x("0x237c")][t],m=s[x("0x30ca")](c[x("0x1ea4")]),b=s.getScaleForId(c.xAxisID),_=s.chart[x("0x16d1")][x("0x3a17")][x("0xef5")],p=1===(s.chart[x("0x237c")].labels||[])[x("0x5e9")]||1===d[x("0x237c")][x("0x5e9")]||s.chart[x("0x235")];void 0!==d[x("0x17c4")]&&void 0===d[x("0x3da3")]&&(d[x("0x3da3")]=d[x("0x17c4")]),void 0!==d[x("0x1f24")]&&void 0===d[x("0x3e96")]&&(d[x("0x3e96")]=d[x("0x1f24")]),i=b[x("0x4aa6")](typeof f===x("0x1b1d")?f:NaN,t,u,p),o=r?m[x("0x4e00")]():s[x("0x308e")](f,t,u),e[x("0x289b")]=b,e[x("0x9ba")]=m,e[x("0x561")]=u,e[x("0x6c9")]=t,e._model={x:i,y:o,skip:l[x("0x3d17")]||isNaN(i)||isNaN(o),radius:l[x("0x17c4")]||a[x("0x12f6")](d[x("0x3da3")],t,_[x("0x17c4")]),pointStyle:l[x("0xfe9")]||a.getValueAtIndexOrDefault(d[x("0xfe9")],t,_.pointStyle),backgroundColor:s.getPointBackgroundColor(e,t),borderColor:s[x("0x1aa4")](e,t),borderWidth:s[x("0x1129")](e,t),tension:c[x("0x415")][x("0x114d")]?c[x("0x415")][x("0x114d")][x("0xdf")]:0,steppedLine:!!c.dataset[x("0x114d")]&&c.dataset._model[x("0x34cf")],hitRadius:l.hitRadius||a[x("0x12f6")](d[x("0x3e96")],t,_.hitRadius)}},calculatePointY:function(e,t,a){var r,i,o,x=n,s=this,c=s[x("0xb64")],l=s.getMeta(),d=s[x("0x30ca")](l[x("0x1ea4")]),u=0,f=0;if(d.options[x("0x4247")]){for(r=0;r<a;r++)if(i=c[x("0x237c")].datasets[r],(o=c.getDatasetMeta(r))[x("0x3298")]===x("0x4b2d")&&o.yAxisID===d.id&&c[x("0x238b")](r)){var m=Number(d[x("0x3f73")](i[x("0x237c")][t]));m<0?f+=m||0:u+=m||0}var b=Number(d[x("0x3f73")](e));return b<0?d.getPixelForValue(f+b):d[x("0x4aa6")](u+b)}return d[x("0x4aa6")](e)},updateBezierControlPoints:function(){var e,t,r,i,o=n,x=this,s=x.getMeta(),c=x[o("0xb64")][o("0x281b")],l=s[o("0x237c")]||[];function d(e,t,n){return Math.max(Math.min(e,n),t)}if(s[o("0x415")][o("0x114d")].spanGaps&&(l=l[o("0x6a6")]((function(e){return!e[o("0x114d")].skip}))),"monotone"===s[o("0x415")][o("0x114d")][o("0x1cc8")])a[o("0x49c8")](l);else for(e=0,t=l.length;e<t;++e)r=l[e]._model,i=a.splineCurve(a.previousItem(l,e)[o("0x114d")],r,a[o("0x1a5")](l,e)[o("0x114d")],s[o("0x415")]._model.tension),r[o("0x1a95")]=i[o("0xffe")].x,r[o("0x4409")]=i[o("0xffe")].y,r.controlPointNextX=i.next.x,r.controlPointNextY=i[o("0xa8")].y;if(x[o("0xb64")].options[o("0x3a17")][o("0x4b2d")].capBezierPoints)for(e=0,t=l[o("0x5e9")];e<t;++e)(r=l[e][o("0x114d")])[o("0x1a95")]=d(r.controlPointPreviousX,c[o("0x2885")],c[o("0x30eb")]),r[o("0x4409")]=d(r[o("0x4409")],c[o("0x228a")],c[o("0x47d9")]),r[o("0x3ce6")]=d(r.controlPointNextX,c[o("0x2885")],c.right),r[o("0x77e")]=d(r[o("0x77e")],c.top,c[o("0x47d9")])},draw:function(e){var t,a,i=n,o=this,x=o.getMeta(),s=x[i("0x237c")]||[],c=e||1;for(t=0,a=s[i("0x5e9")];t<a;++t)s[t][i("0x2f61")](c);for(r(o[i("0x32b5")](),o[i("0xb64")][i("0x16d1")])&&x[i("0x415")][i("0x2f61")](c)[i("0x19b0")](),t=0,a=s.length;t<a;++t)s[t][i("0x19b0")]()},setHoverStyle:function(e){var t=n,r=this[t("0xb64")][t("0x237c")][t("0x23c5")][e[t("0x561")]],i=e[t("0x6c9")],o=e[t("0x1a92")]||{},x=e[t("0x114d")];x[t("0x17c4")]=o[t("0x206d")]||a[t("0x12f6")](r[t("0x1aac")],i,this[t("0xb64")][t("0x16d1")].elements[t("0xef5")].hoverRadius),x[t("0xd5e")]=o[t("0xcc0")]||a[t("0x12f6")](r[t("0x4af5")],i,a[t("0x395d")](x[t("0xd5e")])),x[t("0x25da")]=o[t("0x10dc")]||a[t("0x12f6")](r[t("0x1507")],i,a[t("0x395d")](x[t("0x25da")])),x[t("0x1914")]=o.hoverBorderWidth||a[t("0x12f6")](r[t("0xb14")],i,x[t("0x1914")])},removeHoverStyle:function(e){var t=n,r=this,i=r.chart[t("0x237c")].datasets[e[t("0x561")]],o=e._index,x=e[t("0x1a92")]||{},s=e[t("0x114d")];void 0!==i.radius&&void 0===i[t("0x3da3")]&&(i[t("0x3da3")]=i[t("0x17c4")]),s[t("0x17c4")]=x[t("0x17c4")]||a[t("0x12f6")](i.pointRadius,o,r.chart.options[t("0x3a17")][t("0xef5")][t("0x17c4")]),s[t("0xd5e")]=r[t("0x407a")](e,o),s[t("0x25da")]=r[t("0x1aa4")](e,o),s.borderWidth=r[t("0x1129")](e,o)}})}},3843:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers;e[n("0xbda")][n("0x89a")]={scale:{type:n("0x44d0"),lineArc:!0,ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,aspectRatio:1,legendCallback:function(e){var t=n,a=[];a[t("0x459a")](t("0x1675")+e.id+t("0x4a22"));var r=e[t("0x237c")],i=r[t("0x23c5")],o=r[t("0x374b")];if(i[t("0x5e9")])for(var x=0;x<i[0][t("0x237c")][t("0x5e9")];++x)a[t("0x459a")](t("0xde3")+i[0][t("0xd5e")][x]+'">'),o[x]&&a[t("0x459a")](o[x]),a[t("0x459a")](t("0x4711"));return a[t("0x459a")](t("0x3764")),a[t("0xc60")]("")},legend:{labels:{generateLabels:function(e){var t=n,r=e[t("0x237c")];return r[t("0x374b")][t("0x5e9")]&&r[t("0x23c5")][t("0x5e9")]?r[t("0x374b")].map((function(n,i){var o=t,x=e[o("0xa8e")](0),s=r[o("0x23c5")][0],c=x[o("0x237c")][i][o("0x1a92")]||{},l=a[o("0x12f6")],d=e.options[o("0x3a17")].arc;return{text:n,fillStyle:c[o("0xd5e")]?c[o("0xd5e")]:l(s[o("0xd5e")],i,d[o("0xd5e")]),strokeStyle:c[o("0x25da")]?c[o("0x25da")]:l(s[o("0x25da")],i,d[o("0x25da")]),lineWidth:c.borderWidth?c[o("0x1914")]:l(s[o("0x1914")],i,d[o("0x1914")]),hidden:isNaN(s[o("0x237c")][i])||x[o("0x237c")][i][o("0xd4f")],index:i}})):[]}},onClick:function(e,t){var a,r,i,o=n,x=t[o("0x2d50")],s=this[o("0xb64")];for(a=0,r=(s[o("0x237c")][o("0x23c5")]||[])[o("0x5e9")];a<r;++a)(i=s[o("0xa8e")](a))[o("0x237c")][x].hidden=!i[o("0x237c")][x].hidden;s[o("0x3fdc")]()}},tooltips:{callbacks:{title:function(){return""},label:function(e,t){var a=n;return t.labels[e[a("0x2d50")]]+": "+e[a("0x33e0")]}}}},e[n("0x60a")].polarArea=e[n("0x4533")][n("0x3448")]({dataElementType:e[n("0x3a17")][n("0x121e")],linkScales:a[n("0x49d1")],update:function(e){var t=n,r=this,i=r[t("0xb64")],o=i[t("0x281b")],x=r[t("0x137b")](),s=i[t("0x16d1")],c=s[t("0x3a17")][t("0x4027")],l=Math[t("0x11db")](o[t("0x30eb")]-o[t("0x2885")],o.bottom-o[t("0x228a")]);i[t("0xe2d")]=Math[t("0x242b")]((l-c.borderWidth/2)/2,0),i[t("0x3e36")]=Math.max(s.cutoutPercentage?i.outerRadius/100*s[t("0x2428")]:1,0),i[t("0x499f")]=(i[t("0xe2d")]-i[t("0x3e36")])/i.getVisibleDatasetCount(),r[t("0xe2d")]=i[t("0xe2d")]-i[t("0x499f")]*r.index,r[t("0x3e36")]=r.outerRadius-i[t("0x499f")],x[t("0x10d1")]=r[t("0x4524")](),a[t("0x3707")](x[t("0x237c")],(function(n,a){r[t("0x2449")](n,a,e)}))},updateElement:function(e,t,r){for(var i=n,o=this,x=o[i("0xb64")],s=o[i("0x32b5")](),c=x[i("0x16d1")],l=c[i("0x2f73")],d=x[i("0x29b4")],u=a[i("0x12f6")],f=x[i("0x237c")][i("0x374b")],m=o.calculateCircumference(s[i("0x237c")][t]),b=d.xCenter,_=d.yCenter,p=0,h=o[i("0x137b")](),g=0;g<t;++g)!isNaN(s[i("0x237c")][g])&&!h[i("0x237c")][g][i("0xd4f")]&&++p;var v=c[i("0x541")],S=e[i("0xd4f")]?0:d[i("0x34b5")](s[i("0x237c")][t]),E=v+m*p,A=E+(e[i("0xd4f")]?0:m),T=l[i("0x1100")]?0:d[i("0x34b5")](s.data[t]);a[i("0x3448")](e,{_datasetIndex:o[i("0x2d50")],_index:t,_scale:d,_model:{x:b,y:_,innerRadius:0,outerRadius:r?T:S,startAngle:r&&l[i("0x231d")]?v:E,endAngle:r&&l[i("0x231d")]?v:A,label:u(f,t,f[t])}}),o[i("0x48e9")](e),e.pivot()},removeHoverStyle:function(t){var a=n;e.DatasetController.prototype.removeHoverStyle.call(this,t,this[a("0xb64")][a("0x16d1")][a("0x3a17")][a("0x4027")])},countVisibleElements:function(){var e=n,t=this[e("0x32b5")](),r=this[e("0x137b")](),i=0;return a[e("0x3707")](r.data,(function(n,a){var r=e;!isNaN(t[r("0x237c")][a])&&!n[r("0xd4f")]&&i++})),i},calculateCircumference:function(e){var t=n,a=this.getMeta()[t("0x10d1")];return a>0&&!isNaN(e)?2*Math.PI/a:0}})}},7340:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf,n=e[t("0x3ad8")];e[t("0xbda")][t("0x2a8e")]={scale:{type:t("0x44d0")},elements:{line:{tension:0}}},e[t("0x60a")][t("0x2a8e")]=e.DatasetController[t("0x3448")]({datasetElementType:e[t("0x3a17")].Line,dataElementType:e[t("0x3a17")][t("0x7c9")],linkScales:n[t("0x49d1")],addElementAndReset:function(n){var a=t;e.DatasetController[a("0x20f")].addElementAndReset.call(this,n),this.updateBezierControlPoints()},update:function(e){var a=t,r=this,i=r[a("0x137b")](),o=i[a("0x415")],x=i[a("0x237c")],s=o.custom||{},c=r[a("0x32b5")](),l=r.chart[a("0x16d1")][a("0x3a17")][a("0x4b2d")],d=r.chart[a("0x29b4")];void 0!==c[a("0xdf")]&&void 0===c[a("0x1aed")]&&(c[a("0x1aed")]=c[a("0xdf")]),n[a("0x3448")](i[a("0x415")],{_datasetIndex:r[a("0x2d50")],_children:x,_loop:!0,_model:{tension:s.tension?s.tension:n[a("0x174e")](c[a("0x1aed")],l[a("0xdf")]),backgroundColor:s.backgroundColor?s[a("0xd5e")]:c[a("0xd5e")]||l[a("0xd5e")],borderWidth:s[a("0x1914")]?s[a("0x1914")]:c[a("0x1914")]||l[a("0x1914")],borderColor:s[a("0x25da")]?s.borderColor:c.borderColor||l.borderColor,fill:s.fill?s[a("0x2773")]:void 0!==c[a("0x2773")]?c[a("0x2773")]:l[a("0x2773")],borderCapStyle:s[a("0x1cec")]?s[a("0x1cec")]:c[a("0x1cec")]||l[a("0x1cec")],borderDash:s[a("0x4415")]?s[a("0x4415")]:c[a("0x4415")]||l.borderDash,borderDashOffset:s[a("0x26a0")]?s[a("0x26a0")]:c[a("0x26a0")]||l[a("0x26a0")],borderJoinStyle:s[a("0x1881")]?s[a("0x1881")]:c[a("0x1881")]||l[a("0x1881")],scaleTop:d[a("0x228a")],scaleBottom:d.bottom,scaleZero:d[a("0x3159")]()}}),i[a("0x415")][a("0x9f2")](),n.each(x,(function(t,n){r[a("0x2449")](t,n,e)}),r),r[a("0x4ee8")]()},updateElement:function(e,a,r){var i=t,o=this,x=e.custom||{},s=o[i("0x32b5")](),c=o.chart[i("0x29b4")],l=o[i("0xb64")][i("0x16d1")][i("0x3a17")][i("0xef5")],d=c[i("0x3986")](a,s[i("0x237c")][a]);n[i("0x3448")](e,{_datasetIndex:o.index,_index:a,_scale:c,_model:{x:r?c.xCenter:d.x,y:r?c[i("0x1b34")]:d.y,tension:x[i("0xdf")]?x.tension:n[i("0x174e")](s.tension,o[i("0xb64")][i("0x16d1")].elements[i("0x4b2d")].tension),radius:x[i("0x17c4")]?x[i("0x17c4")]:n.getValueAtIndexOrDefault(s[i("0x3da3")],a,l.radius),backgroundColor:x[i("0xd5e")]?x[i("0xd5e")]:n[i("0x12f6")](s[i("0x3d85")],a,l[i("0xd5e")]),borderColor:x[i("0x25da")]?x[i("0x25da")]:n[i("0x12f6")](s.pointBorderColor,a,l[i("0x25da")]),borderWidth:x[i("0x1914")]?x.borderWidth:n[i("0x12f6")](s[i("0x4ffc")],a,l[i("0x1914")]),pointStyle:x[i("0xfe9")]?x[i("0xfe9")]:n[i("0x12f6")](s[i("0xfe9")],a,l[i("0xfe9")]),hitRadius:x[i("0x1f24")]?x.hitRadius:n.getValueAtIndexOrDefault(s.hitRadius,a,l[i("0x1f24")])}}),e[i("0x114d")][i("0x3d17")]=x[i("0x3d17")]?x[i("0x3d17")]:isNaN(e[i("0x114d")].x)||isNaN(e._model.y)},updateBezierControlPoints:function(){var e=t,a=this[e("0xb64")][e("0x281b")],r=this[e("0x137b")]();n[e("0x3707")](r.data,(function(t,i){var o=e,x=t._model,s=n[o("0xb8")](n[o("0x4b6")](r[o("0x237c")],i,!0)[o("0x114d")],x,n.nextItem(r[o("0x237c")],i,!0)[o("0x114d")],x[o("0xdf")]);x[o("0x1a95")]=Math.max(Math.min(s[o("0xffe")].x,a[o("0x30eb")]),a[o("0x2885")]),x[o("0x4409")]=Math[o("0x242b")](Math[o("0x11db")](s[o("0xffe")].y,a[o("0x47d9")]),a[o("0x228a")]),x[o("0x3ce6")]=Math[o("0x242b")](Math[o("0x11db")](s[o("0xa8")].x,a[o("0x30eb")]),a.left),x[o("0x77e")]=Math[o("0x242b")](Math[o("0x11db")](s[o("0xa8")].y,a[o("0x47d9")]),a[o("0x228a")]),t.pivot()}))},draw:function(e){var a=t,r=this[a("0x137b")](),i=e||1;n[a("0x3707")](r[a("0x237c")],(function(e){e[a("0x2f61")](i)})),r[a("0x415")][a("0x2f61")](i)[a("0x19b0")](),n[a("0x3707")](r[a("0x237c")],(function(e){e[a("0x19b0")]()}))},setHoverStyle:function(e){var a=t,r=this[a("0xb64")].data[a("0x23c5")][e._datasetIndex],i=e[a("0x1a92")]||{},o=e._index,x=e[a("0x114d")];x.radius=i[a("0x206d")]?i[a("0x206d")]:n[a("0x12f6")](r[a("0x1aac")],o,this.chart.options[a("0x3a17")][a("0xef5")][a("0x206d")]),x[a("0xd5e")]=i[a("0xcc0")]?i[a("0xcc0")]:n[a("0x12f6")](r[a("0x4af5")],o,n[a("0x395d")](x.backgroundColor)),x[a("0x25da")]=i[a("0x10dc")]?i.hoverBorderColor:n.getValueAtIndexOrDefault(r[a("0x1507")],o,n.getHoverColor(x[a("0x25da")])),x[a("0x1914")]=i[a("0x218c")]?i[a("0x218c")]:n[a("0x12f6")](r[a("0xb14")],o,x[a("0x1914")])},removeHoverStyle:function(e){var a=t,r=this[a("0xb64")][a("0x237c")][a("0x23c5")][e[a("0x561")]],i=e[a("0x1a92")]||{},o=e._index,x=e._model,s=this[a("0xb64")][a("0x16d1")].elements[a("0xef5")];x.radius=i[a("0x17c4")]?i.radius:n[a("0x12f6")](r[a("0x17c4")],o,s.radius),x[a("0xd5e")]=i[a("0xd5e")]?i.backgroundColor:n[a("0x12f6")](r[a("0x3d85")],o,s[a("0xd5e")]),x[a("0x25da")]=i[a("0x25da")]?i[a("0x25da")]:n[a("0x12f6")](r.pointBorderColor,o,s[a("0x25da")]),x.borderWidth=i[a("0x1914")]?i.borderWidth:n[a("0x12f6")](r[a("0x4ffc")],o,s[a("0x1914")])}})}},393:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")];e[n("0xbda")][n("0x4d11")][n("0x2f73")]={duration:1e3,easing:n("0x371e"),onProgress:a[n("0x49d1")],onComplete:a[n("0x49d1")]},e[n("0x3446")]=e[n("0x138c")][n("0x3448")]({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),e[n("0x1c4a")]={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(e,t,a,r){var i=n,o=this;!r&&(e[i("0x1d73")]=!0);for(var x=0;x<o[i("0xa86")][i("0x5e9")];++x)if(o[i("0xa86")][x][i("0x2c69")]===e)return void(o.animations[x][i("0x4629")]=t);o.animations[i("0x459a")]({chartInstance:e,animationObject:t}),1===o[i("0xa86")][i("0x5e9")]&&o[i("0x1531")]()},cancelAnimation:function(e){var t=n,r=a[t("0xae5")](this[t("0xa86")],(function(n){return n[t("0x2c69")]===e}));-1!==r&&(this[t("0xa86")][t("0x2bcf")](r,1),e[t("0x1d73")]=!1)},requestAnimationFrame:function(){var e=n,t=this;null===t.request&&(t[e("0x38ce")]=a.requestAnimFrame.call(window,(function(){t[e("0x38ce")]=null,t.startDigest()})))},startDigest:function(){var e=n,t=this,a=Date[e("0x4706")](),r=0;t[e("0x319c")]>1&&(r=Math[e("0x4184")](t.dropFrames),t.dropFrames=t.dropFrames%1);for(var i=0;i<t[e("0xa86")][e("0x5e9")];)null===t.animations[i][e("0x4629")][e("0x4146")]&&(t[e("0xa86")][i][e("0x4629")][e("0x4146")]=0),t[e("0xa86")][i].animationObject[e("0x4146")]+=1+r,t[e("0xa86")][i][e("0x4629")][e("0x4146")]>t.animations[i][e("0x4629")][e("0x1107")]&&(t[e("0xa86")][i][e("0x4629")][e("0x4146")]=t[e("0xa86")][i][e("0x4629")][e("0x1107")]),t.animations[i][e("0x4629")][e("0x4537")](t.animations[i][e("0x2c69")],t[e("0xa86")][i][e("0x4629")]),t[e("0xa86")][i][e("0x4629")][e("0x1bb3")]&&t[e("0xa86")][i].animationObject[e("0x1bb3")][e("0x3c6b")]&&t[e("0xa86")][i].animationObject.onAnimationProgress[e("0x3c6b")](t[e("0xa86")][i][e("0x2c69")],t[e("0xa86")][i]),t[e("0xa86")][i][e("0x4629")][e("0x4146")]===t[e("0xa86")][i].animationObject.numSteps?(t.animations[i][e("0x4629")][e("0x4a7")]&&t[e("0xa86")][i].animationObject.onAnimationComplete[e("0x3c6b")]&&t[e("0xa86")][i][e("0x4629")][e("0x4a7")][e("0x3c6b")](t.animations[i][e("0x2c69")],t.animations[i]),t.animations[i][e("0x2c69")][e("0x1d73")]=!1,t.animations[e("0x2bcf")](i,1)):++i;var o=(Date[e("0x4706")]()-a)/t[e("0x425b")];t[e("0x319c")]+=o,t[e("0xa86")].length>0&&t.requestAnimationFrame()}}}},3167:e=>{e[_0x299160("0x33f9")]=function(e){(e.canvasHelpers={}).drawPoint=function(e,t,n,a,r){var i,o,x,s,c,l,d=a2_0x37cf;if(typeof t!==d("0x1b1d")||(i=t[d("0x3c88")]())!==d("0x265f")&&i!==d("0xc7d")){if(!(isNaN(n)||n<=0)){switch(t){default:e[d("0x3c1")](),e.arc(a,r,n,0,2*Math.PI),e[d("0x927")](),e[d("0x2773")]();break;case d("0x4142"):e[d("0x3c1")](),c=(o=3*n/Math[d("0x17c")](3))*Math.sqrt(3)/2,e[d("0x1699")](a-o/2,r+c/3),e[d("0x3e41")](a+o/2,r+c/3),e.lineTo(a,r-2*c/3),e.closePath(),e[d("0x2773")]();break;case"rect":l=1/Math.SQRT2*n,e[d("0x3c1")](),e[d("0xaf7")](a-l,r-l,2*l,2*l),e[d("0x4020")](a-l,r-l,2*l,2*l);break;case d("0x37cf"):l=1/Math.SQRT2*n,e[d("0x3c1")](),e[d("0x1699")](a-l,r),e[d("0x3e41")](a,r+l),e[d("0x3e41")](a+l,r),e[d("0x3e41")](a,r-l),e[d("0x927")](),e[d("0x2773")]();break;case"cross":e[d("0x3c1")](),e[d("0x1699")](a,r+n),e[d("0x3e41")](a,r-n),e[d("0x1699")](a-n,r),e[d("0x3e41")](a+n,r),e[d("0x927")]();break;case d("0x3e85"):e[d("0x3c1")](),x=Math[d("0x1912")](Math.PI/4)*n,s=Math[d("0x1e9")](Math.PI/4)*n,e[d("0x1699")](a-x,r-s),e[d("0x3e41")](a+x,r+s),e[d("0x1699")](a-x,r+s),e.lineTo(a+x,r-s),e[d("0x927")]();break;case d("0x403e"):e[d("0x3c1")](),e.moveTo(a,r+n),e[d("0x3e41")](a,r-n),e[d("0x1699")](a-n,r),e.lineTo(a+n,r),x=Math[d("0x1912")](Math.PI/4)*n,s=Math[d("0x1e9")](Math.PI/4)*n,e[d("0x1699")](a-x,r-s),e[d("0x3e41")](a+x,r+s),e[d("0x1699")](a-x,r+s),e[d("0x3e41")](a+x,r-s),e.closePath();break;case"line":e.beginPath(),e[d("0x1699")](a-n,r),e[d("0x3e41")](a+n,r),e[d("0x927")]();break;case d("0x68d"):e[d("0x3c1")](),e[d("0x1699")](a,r),e[d("0x3e41")](a+n,r),e[d("0x927")]()}e[d("0x2591")]()}}else e.drawImage(t,a-t[d("0xbbf")]/2,r-t[d("0x4e66")]/2)}}},1210:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")];e.types={},e.instances={},e.controllers={},e[n("0x2fb3")]=function(t){var r=n;return this[r("0xb64")]=t,this[r("0x1805")]=t[r("0x1805")],this[r("0x16d1")]=this.config[r("0x16d1")]=a[r("0x45b9")](e.defaults[r("0x4d11")],e[r("0xbda")][this[r("0x1805")][r("0x3298")]],this[r("0x1805")][r("0x16d1")]||{}),this.id=a[r("0x1c83")](),Object.defineProperty(this,r("0x237c"),{get:function(){var e=r;return this[e("0x1805")][e("0x237c")]}}),e[r("0x273e")][this.id]=this,this[r("0x16d1")][r("0xdf9")]&&this[r("0x39d4")](!0),this[r("0x278b")](),this},a[n("0x3448")](e[n("0x2fb3")][n("0x20f")],{initialize:function(){var t=n,a=this;return e[t("0xb5a")][t("0x1552")](t("0x2ecf"),[a]),a.bindEvents(),a[t("0x49aa")](),a.buildOrUpdateControllers(),a[t("0x301e")](),a[t("0x28f3")](),a[t("0x1e32")](),a[t("0x49d5")](),a.update(),e.plugins.notify("afterInit",[a]),a},clear:function(){return a[n("0x2066")](this.chart),this},stop:function(){var t=n;return e.animationService[t("0x11d2")](this),this},resize:function(t){var r=n,i=this,o=i[r("0xb64")],x=o.canvas,s=a[r("0x2c84")](x),c=o[r("0x341a")],l=i[r("0x16d1")][r("0xb0d")]&&!1===isNaN(c)&&isFinite(c)&&0!==c?s/c:a[r("0x1fe5")](x);if(!(o[r("0xbbf")]!==s||o[r("0x4e66")]!==l))return i;x[r("0xbbf")]=o[r("0xbbf")]=s,x[r("0x4e66")]=o.height=l,a[r("0x442")](o);var d={width:s,height:l};return e[r("0xb5a")].notify(r("0x39d4"),[i,d]),i[r("0x16d1")].onResize&&i[r("0x16d1")][r("0x40f5")](i,d),!t&&(i[r("0x5a")](),i[r("0x3fdc")](i[r("0x16d1")].responsiveAnimationDuration)),i},ensureScalesHaveIDs:function(){var e=n,t=this[e("0x16d1")],r=t[e("0x3dcb")]||{},i=t[e("0x29b4")];a[e("0x3707")](r[e("0x24c1")],(function(t,n){var a=e;t.id=t.id||a("0x2e21")+n})),a.each(r[e("0x4121")],(function(e,t){e.id=e.id||"y-axis-"+t})),i&&(i.id=i.id||e("0x29b4"))},buildScales:function(){var t=n,r=this,i=r[t("0x16d1")],o=r[t("0x3dcb")]={},x=[];i.scales&&(x=x[t("0x3abc")]((i[t("0x3dcb")][t("0x24c1")]||[])[t("0x19e8")]((function(e){return{options:e,dtype:t("0x4ed9")}})),(i.scales.yAxes||[]).map((function(e){return{options:e,dtype:t("0x4d9d")}})))),i[t("0x29b4")]&&x.push({options:i.scale,dtype:t("0x44d0"),isDefault:!0}),a.each(x,(function(n){var i=t,x=n[i("0x16d1")],s=a[i("0x174e")](x[i("0x3298")],n.dtype),c=e[i("0x16e0")][i("0x13ee")](s);if(c){var l=new c({id:x.id,options:x,ctx:r[i("0xb64")][i("0x1ebf")],chart:r});o[l.id]=l,n[i("0x1da8")]&&(r[i("0x29b4")]=l)}})),e[t("0x16e0")][t("0x14a4")](this)},updateLayout:function(){var t=n;e[t("0x169d")][t("0x3fdc")](this,this[t("0xb64")][t("0xbbf")],this[t("0xb64")][t("0x4e66")])},buildOrUpdateControllers:function(){var t=n,r=this,i=[],o=[];if(a.each(r[t("0x237c")][t("0x23c5")],(function(n,a){var x=t,s=r[x("0xa8e")](a);!s[x("0x3298")]&&(s.type=n.type||r[x("0x1805")].type),i[x("0x459a")](s[x("0x3298")]),s[x("0x1194")]?s[x("0x1194")][x("0x1c4e")](a):(s.controller=new(e[x("0x60a")][s.type])(r,a),o[x("0x459a")](s[x("0x1194")]))}),r),i[t("0x5e9")]>1)for(var x=1;x<i[t("0x5e9")];x++)if(i[x]!==i[x-1]){r[t("0x235")]=!0;break}return o},resetElements:function(){var e=n,t=this;a[e("0x3707")](t[e("0x237c")][e("0x23c5")],(function(n,a){var r=e;t[r("0xa8e")](a).controller[r("0x19a7")]()}),t)},update:function(t,r){var i=n,o=this;e[i("0xb5a")].notify(i("0xc75"),[o]),o[i("0x46ca")][i("0x3e7b")]=o.data;var x=o[i("0x4450")]();a.each(o[i("0x237c")][i("0x23c5")],(function(e,t){var n=i;o[n("0xa8e")](t)[n("0x1194")][n("0x29bf")]()}),o),e[i("0x169d")][i("0x3fdc")](o,o[i("0xb64")][i("0xbbf")],o[i("0xb64")][i("0x4e66")]),e[i("0xb5a")][i("0x1552")]("afterScaleUpdate",[o]),a[i("0x3707")](x,(function(e){e.reset()})),o[i("0x47bb")](),e[i("0xb5a")][i("0x1552")]("afterUpdate",[o]),o[i("0x4537")](t,r)},updateDatasets:function(){var t,a,r=n,i=this;if(e[r("0xb5a")][r("0x1552")](r("0x4db9"),[i])){for(t=0,a=i[r("0x237c")].datasets[r("0x5e9")];t<a;++t)i.getDatasetMeta(t)[r("0x1194")][r("0x3fdc")]();e.plugins[r("0x1552")](r("0x42c6"),[i])}},render:function(t,r){var i=n,o=this;e[i("0xb5a")][i("0x1552")]("beforeRender",[o]);var x=o.options[i("0x2f73")];if(x&&(typeof t!==i("0xc42")&&0!==t||void 0===t&&0!==x[i("0x40b2")])){var s=new(e[i("0x3446")]);s[i("0x1107")]=(t||x[i("0x40b2")])/16.66,s[i("0x1a8f")]=x[i("0x1a8f")],s.render=function(e,t){var n=i,r=a.easingEffects[t.easing],o=t.currentStep/t[n("0x1107")],x=r(o);e[n("0x19b0")](x,o,t.currentStep)},s[i("0x1bb3")]=x[i("0x2da8")],s[i("0x4a7")]=x[i("0x1965")],e[i("0x1c4a")].addAnimation(o,s,t,r)}else o[i("0x19b0")](),x&&x[i("0x1965")]&&x[i("0x1965")][i("0x3c6b")]&&x[i("0x1965")][i("0x3c6b")](o);return o},draw:function(t){var r=n,i=this,o=t||1;i[r("0x2066")](),e[r("0xb5a")].notify(r("0x192b"),[i,o]),a[r("0x3707")](i[r("0x12f7")],(function(e){var t=r;e[t("0x19b0")](i[t("0x281b")])}),i),i[r("0x29b4")]&&i.scale.draw(),e[r("0xb5a")].notify(r("0x4f97"),[i,o]),a[r("0x3707")](i[r("0x237c")][r("0x23c5")],(function(e,n){var a=r;i[a("0x238b")](n)&&i[a("0xa8e")](n)[a("0x1194")][a("0x19b0")](t)}),i,!0),e[r("0xb5a")][r("0x1552")](r("0x4096"),[i,o]),i[r("0x46ca")][r("0x2f61")](o)[r("0x19b0")](),e[r("0xb5a")].notify(r("0x3a27"),[i,o])},getElementAtEvent:function(e){var t=n,r=this,i=a[t("0x26ab")](e,r[t("0xb64")]),o=[];return a[t("0x3707")](r[t("0x237c")].datasets,(function(e,n){var x=t;if(r[x("0x238b")](n)){var s=r.getDatasetMeta(n);a[x("0x3707")](s[x("0x237c")],(function(e){var t=x;if(e[t("0x770")](i.x,i.y))return o[t("0x459a")](e),o}))}})),o[t("0x9b3")](0,1)},getElementsAtEvent:function(e){var t=n,r=this,i=a[t("0x26ab")](e,r[t("0xb64")]),o=[],x=function(){var e=t;if(r[e("0x237c")][e("0x23c5")])for(var n=0;n<r[e("0x237c")][e("0x23c5")][e("0x5e9")];n++){var a=r[e("0xa8e")](n);if(r[e("0x238b")](n))for(var o=0;o<a.data[e("0x5e9")];o++)if(a[e("0x237c")][o].inRange(i.x,i.y))return a.data[o]}}[t("0x3c6b")](r);return x?(a[t("0x3707")](r[t("0x237c")].datasets,(function(e,n){var a=t;if(r[a("0x238b")](n)){var i=r[a("0xa8e")](n)[a("0x237c")][x[a("0x6c9")]];i&&!i[a("0xa6f")][a("0x3d17")]&&o.push(i)}}),r),o):o},getElementsAtXAxis:function(e){var t=n,r=this,i=a[t("0x26ab")](e,r.chart),o=[],x=function(){var e=t;if(r.data[e("0x23c5")])for(var n=0;n<r[e("0x237c")][e("0x23c5")].length;n++){var a=r.getDatasetMeta(n);if(r[e("0x238b")](n))for(var o=0;o<a.data[e("0x5e9")];o++)if(a.data[o][e("0x28c3")](i.x,i.y))return a.data[o]}}[t("0x3c6b")](r);return x?(a.each(r[t("0x237c")][t("0x23c5")],(function(e,n){var i=t;if(r[i("0x238b")](n)){var s=r.getDatasetMeta(n),c=a.findIndex(s.data,(function(e){var t=i;return x._model.x===e[t("0x114d")].x}));-1!==c&&!s[i("0x237c")][c][i("0xa6f")].skip&&o[i("0x459a")](s[i("0x237c")][c])}}),r),o):o},getElementsAtEventForMode:function(e,t){var a=n,r=this;switch(t){case a("0x2822"):return r[a("0x4483")](e);case a("0x32b"):return r[a("0x56a")](e);case a("0x415"):return r[a("0xaad")](e);case a("0x30cb"):return r.getElementsAtXAxis(e);default:return e}},getDatasetAtEvent:function(e){var t=n,a=this[t("0x4483")](e);return a.length>0&&(a=this[t("0xa8e")](a[0][t("0x561")])[t("0x237c")]),a},getDatasetMeta:function(e){var t=n,a=this,r=a[t("0x237c")][t("0x23c5")][e];!r[t("0x377")]&&(r[t("0x377")]={});var i=r._meta[a.id];return!i&&(i=r[t("0x377")][a.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),i},getVisibleDatasetCount:function(){for(var e=n,t=0,a=0,r=this.data[e("0x23c5")][e("0x5e9")];a<r;++a)this[e("0x238b")](a)&&t++;return t},isDatasetVisible:function(e){var t=n,a=this[t("0xa8e")](e);return typeof a[t("0xd4f")]===t("0xacc")?!a.hidden:!this[t("0x237c")][t("0x23c5")][e][t("0xd4f")]},generateLegend:function(){var e=n;return this.options[e("0x3695")](this)},destroy:function(){var t=n,r=this;r.stop(),r[t("0x2066")](),a[t("0x1099")](r,r[t("0x98a")]),a.removeResizeListener(r[t("0xb64")][t("0x4859")].parentNode);var i=r.chart[t("0x4859")];i[t("0xbbf")]=r[t("0xb64")].width,i[t("0x4e66")]=r.chart[t("0x4e66")],void 0!==r[t("0xb64")][t("0x3963")]&&r.chart[t("0x1ebf")][t("0x29b4")](1/r[t("0xb64")].originalDevicePixelRatio,1/r[t("0xb64")].originalDevicePixelRatio),i[t("0x4025")][t("0xbbf")]=r.chart.originalCanvasStyleWidth,i[t("0x4025")].height=r[t("0xb64")].originalCanvasStyleHeight,e[t("0xb5a")][t("0x1552")]("destroy",[r]),delete e.instances[r.id]},toBase64Image:function(){var e=n;return this[e("0xb64")][e("0x4859")][e("0x3f8e")][e("0x4884")](this.chart[e("0x4859")],arguments)},initToolTip:function(){var t=n,a=this;a[t("0x46ca")]=new(e[t("0x1939")])({_chart:a[t("0xb64")],_chartInstance:a,_data:a.data,_options:a.options.tooltips},a)},bindEvents:function(){var e=n,t=this;a[e("0x747")](t,t.options.events,(function(n){t[e("0x41b5")](n)}))},updateHoverStyle:function(e,t,a){var r,i,o,x=n,s=x(a?"0x47ba":"0x48e9");switch(t){case x("0x2822"):e=[e[0]];break;case x("0x32b"):case x("0x415"):case x("0x30cb"):break;default:return}for(i=0,o=e[x("0x5e9")];i<o;++i)(r=e[i])&&this.getDatasetMeta(r._datasetIndex)[x("0x1194")][s](r)},eventHandler:function(e){var t=n,r=this,i=r[t("0x46ca")],o=r[t("0x16d1")]||{},x=o.hover,s=o[t("0xa8f")];return r[t("0x1b77")]=r[t("0x1b77")]||[],r[t("0x206b")]=r.lastTooltipActive||[],e.type===t("0x157b")?(r[t("0x48c8")]=[],r[t("0x40bc")]=[]):(r.active=r[t("0x48fd")](e,x.mode),r[t("0x40bc")]=r[t("0x48fd")](e,s[t("0x38aa")])),x[t("0x4ca5")]&&x.onHover[t("0x3c6b")](r,r.active),r[t("0x4695")]&&r[t("0x4695")].handleEvent&&r[t("0x4695")][t("0x3fb2")](e),("mouseup"===e[t("0x3298")]||e[t("0x3298")]===t("0x7cb"))&&o[t("0x458e")]&&o.onClick[t("0x3c6b")](r,e,r.active),r[t("0x1b77")][t("0x5e9")]&&r[t("0x460c")](r.lastActive,x[t("0x38aa")],!1),r.active[t("0x5e9")]&&x[t("0x38aa")]&&r.updateHoverStyle(r[t("0x48c8")],x[t("0x38aa")],!0),(s[t("0x48b5")]||s.custom)&&(i.initialize(),i[t("0x5a3")]=r.tooltipActive,i.update(!0)),i.pivot(),!r[t("0x1d73")]&&(!a[t("0x4028")](r.active,r.lastActive)||!a[t("0x4028")](r[t("0x40bc")],r[t("0x206b")]))&&(r[t("0x5a")](),(s[t("0x48b5")]||s[t("0x1a92")])&&i[t("0x3fdc")](!0),r[t("0x4537")](x.animationDuration,!0)),r[t("0x1b77")]=r.active,r[t("0x206b")]=r[t("0x40bc")],r}})}},3946:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers,r=a[n("0x49d1")];e.DatasetController=function(e,t){this.initialize(e,t)},a[n("0x3448")](e[n("0x4533")].prototype,{datasetElementType:null,dataElementType:null,initialize:function(e,t){var a=n,r=this;r[a("0xb64")]=e,r[a("0x2d50")]=t,r[a("0xdec")](),r.addElements()},updateIndex:function(e){this[n("0x2d50")]=e},linkScales:function(){var e=n,t=this,a=t[e("0x137b")](),r=t[e("0x32b5")]();null===a.xAxisID&&(a[e("0x116d")]=r[e("0x116d")]||t[e("0xb64")][e("0x16d1")][e("0x3dcb")][e("0x24c1")][0].id),null===a[e("0x1ea4")]&&(a.yAxisID=r[e("0x1ea4")]||t.chart[e("0x16d1")][e("0x3dcb")][e("0x4121")][0].id)},getDataset:function(){var e=n;return this[e("0xb64")].data[e("0x23c5")][this[e("0x2d50")]]},getMeta:function(){var e=n;return this[e("0xb64")][e("0xa8e")](this[e("0x2d50")])},getScaleForId:function(e){var t=n;return this[t("0xb64")][t("0x3dcb")][e]},reset:function(){this[n("0x3fdc")](!0)},createMetaDataset:function(){var e=n,t=this,a=t[e("0xd94")];return a&&new a({_chart:t[e("0xb64")][e("0xb64")],_datasetIndex:t.index})},createMetaData:function(e){var t=n,a=this,r=a[t("0x3aa1")];return r&&new r({_chart:a[t("0xb64")].chart,_datasetIndex:a[t("0x2d50")],_index:e})},addElements:function(){var e,t,a=n,r=this,i=r[a("0x137b")](),o=r[a("0x32b5")]()[a("0x237c")]||[],x=i[a("0x237c")];for(e=0,t=o.length;e<t;++e)x[e]=x[e]||r[a("0x2cd2")](i,e);i[a("0x415")]=i[a("0x415")]||r.createMetaDataset()},addElementAndReset:function(e){var t=n,a=this,r=a[t("0x2cd2")](e);a.getMeta()[t("0x237c")][t("0x2bcf")](e,0,r),a[t("0x2449")](r,e,!0)},buildOrUpdateElements:function(){var e=n,t=this[e("0x137b")]()[e("0x237c")],a=this.getDataset()[e("0x237c")][e("0x5e9")],r=t[e("0x5e9")];if(a<r)t[e("0x2bcf")](a,r-a);else if(a>r)for(var i=r;i<a;++i)this[e("0xa09")](i)},update:r,draw:function(e){var t=n,r=e||1;a[t("0x3707")](this[t("0x137b")]()[t("0x237c")],(function(e){var n=t;e[n("0x2f61")](r)[n("0x19b0")]()}))},removeHoverStyle:function(e,t){var r=n,i=this.chart[r("0x237c")][r("0x23c5")][e._datasetIndex],o=e[r("0x6c9")],x=e.custom||{},s=a[r("0x12f6")],c=e[r("0x114d")];c.backgroundColor=x.backgroundColor?x[r("0xd5e")]:s(i[r("0xd5e")],o,t[r("0xd5e")]),c[r("0x25da")]=x[r("0x25da")]?x[r("0x25da")]:s(i[r("0x25da")],o,t.borderColor),c[r("0x1914")]=x[r("0x1914")]?x[r("0x1914")]:s(i.borderWidth,o,t.borderWidth)},setHoverStyle:function(e){var t=n,r=this.chart[t("0x237c")][t("0x23c5")][e[t("0x561")]],i=e[t("0x6c9")],o=e.custom||{},x=a[t("0x12f6")],s=a.getHoverColor,c=e[t("0x114d")];c[t("0xd5e")]=o[t("0xcc0")]?o[t("0xcc0")]:x(r[t("0xcc0")],i,s(c[t("0xd5e")])),c[t("0x25da")]=o[t("0x10dc")]?o.hoverBorderColor:x(r[t("0x10dc")],i,s(c[t("0x25da")])),c[t("0x1914")]=o[t("0x218c")]?o[t("0x218c")]:x(r[t("0x218c")],i,c[t("0x1914")])}}),e[n("0x4533")][n("0x3448")]=a[n("0x29d8")]}},54:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf,n=e[t("0x3ad8")];e.elements={},e[t("0x138c")]=function(e){var a=t;n[a("0x3448")](this,e),this[a("0x278b")].apply(this,arguments)},n.extend(e[t("0x138c")][t("0x20f")],{initialize:function(){this.hidden=!1},pivot:function(){var e=t,a=this;return!a._view&&(a[e("0xa6f")]=n[e("0x42df")](a[e("0x114d")])),a._start=n[e("0x42df")](a[e("0xa6f")]),a},transition:function(e){var a=t,r=this;return!r[a("0xa6f")]&&(r[a("0xa6f")]=n.clone(r[a("0x114d")])),1===e?(r[a("0xa6f")]=r[a("0x114d")],r[a("0x26c9")]=null,r):(!r[a("0x26c9")]&&r.pivot(),n[a("0x3707")](r[a("0x114d")],(function(t,i){var o=a;if("_"===i[0]);else if(r._view[o("0x1bd4")](i))if(t===r[o("0xa6f")][i]);else if("string"==typeof t)try{var x=n[o("0xf2c")](r[o("0x114d")][i])[o("0x43a1")](n[o("0xf2c")](r[o("0x26c9")][i]),e);r[o("0xa6f")][i]=x.rgbString()}catch(e){r._view[i]=t}else if(typeof t===o("0x2231")){var s=void 0!==r[o("0x26c9")][i]&&!1===isNaN(r[o("0x26c9")][i])?r._start[i]:0;r[o("0xa6f")][i]=(r._model[i]-s)*e+s}else r[o("0xa6f")][i]=t;else typeof t!==o("0x2231")||isNaN(r[o("0xa6f")][i])?r[o("0xa6f")][i]=t:r._view[i]=t*e}),r),r)},tooltipPosition:function(){var e=t;return{x:this[e("0x114d")].x,y:this[e("0x114d")].y}},hasValue:function(){var e=t;return n[e("0x1ba0")](this[e("0x114d")].x)&&n[e("0x1ba0")](this[e("0x114d")].y)}}),e.Element[t("0x3448")]=n[t("0x29d8")]}},2371:(e,t,n)=>{var a=_0x299160,r=n(7863);e[a("0x33f9")]=function(e){var t,n=a,i=e[n("0x3ad8")]={};i[n("0x3707")]=function(e,t,a,r){var o,x,s=n;if(i.isArray(e))if(x=e[s("0x5e9")],r)for(o=x-1;o>=0;o--)t[s("0x3c6b")](a,e[o],o);else for(o=0;o<x;o++)t[s("0x3c6b")](a,e[o],o);else if("object"==typeof e){var c=Object[s("0xa35")](e);for(x=c[s("0x5e9")],o=0;o<x;o++)t[s("0x3c6b")](a,e[c[o]],c[o])}},i.clone=function(e){var t=n,a={};return i[t("0x3707")](e,(function(e,n){var r=t;i.isArray(e)?a[n]=e.slice(0):typeof e===r("0x1b1d")&&null!==e?a[n]=i[r("0x42df")](e):a[n]=e})),a},i.extend=function(e){for(var t=n,a=function(t,n){e[n]=t},r=1,o=arguments[t("0x5e9")];r<o;r++)i.each(arguments[r],a);return e},i[n("0x45b9")]=function(t){var a=n,r=i[a("0x42df")](t);return i.each(Array[a("0x20f")][a("0x9b3")].call(arguments,1),(function(t){i.each(t,(function(t,n){var a=a2_0x37cf;if(n===a("0x3dcb"))r[n]=i.scaleMerge(r[a("0x1bd4")](n)?r[n]:{},t);else if(n===a("0x29b4"))r[n]=i[a("0x45b9")](r[a("0x1bd4")](n)?r[n]:{},e[a("0x16e0")][a("0x37fb")](t.type),t);else if(r[a("0x1bd4")](n)&&i.isArray(r[n])&&i[a("0x498f")](t)){var o=r[n];i[a("0x3707")](t,(function(e,t){var n=a;t<o.length?typeof o[t]===n("0x1b1d")&&null!==o[t]&&"object"==typeof e&&null!==e?o[t]=i[n("0x45b9")](o[t],e):o[t]=e:o.push(e)}))}else r.hasOwnProperty(n)&&typeof r[n]===a("0x1b1d")&&null!==r[n]&&typeof t===a("0x1b1d")?r[n]=i.configMerge(r[n],t):r[n]=t}))})),r},i[n("0x2395")]=function(t,a){var r=n,o=i[r("0x42df")](t);return i[r("0x3707")](a,(function(t,n){var a=r;n===a("0x24c1")||"yAxes"===n?o[a("0x1bd4")](n)?i[a("0x3707")](t,(function(t,r){var x=a,s=i[x("0x174e")](t[x("0x3298")],x("xAxes"===n?"0x4ed9":"0x4d9d")),c=e.scaleService.getScaleDefaults(s);r>=o[n][x("0x5e9")]||!o[n][r][x("0x3298")]?o[n].push(i[x("0x45b9")](c,t)):t[x("0x3298")]&&t[x("0x3298")]!==o[n][r][x("0x3298")]?o[n][r]=i.configMerge(o[n][r],c,t):o[n][r]=i[x("0x45b9")](o[n][r],t)})):(o[n]=[],i[a("0x3707")](t,(function(t){var r=a,x=i[r("0x174e")](t[r("0x3298")],n===r("0x24c1")?r("0x4ed9"):r("0x4d9d"));o[n][r("0x459a")](i[r("0x45b9")](e[r("0x16e0")][r("0x37fb")](x),t))}))):o[a("0x1bd4")](n)&&"object"==typeof o[n]&&null!==o[n]&&"object"==typeof t?o[n]=i[a("0x45b9")](o[n],t):o[n]=t})),o},i[n("0x12f6")]=function(e,t,a){var r=n;return null==e?a:i[r("0x498f")](e)?t<e[r("0x5e9")]?e[t]:a:e},i[n("0x174e")]=function(e,t){return void 0===e?t:e},i[n("0x3507")]=Array[n("0x20f")][n("0x3507")]?function(e,t){return e[n("0x3507")](t)}:function(e,t){for(var n=0,a=e.length;n<a;++n)if(e[n]===t)return n;return-1},i[n("0x31f3")]=function(e,t){var a=n;if(i[a("0x498f")](e)&&Array[a("0x20f")][a("0x6a6")])return e[a("0x6a6")](t);var r=[];return i[a("0x3707")](e,(function(e){t(e)&&r.push(e)})),r},i[n("0xae5")]=Array[n("0x20f")][n("0xae5")]?function(e,t,n){return e.findIndex(t,n)}:function(e,t,a){a=void 0===a?e:a;for(var r=0,i=e[n("0x5e9")];r<i;++r)if(t.call(a,e[r],r,e))return r;return-1},i[n("0x4591")]=function(e,t,a){var r=n;null==a&&(a=-1);for(var i=a+1;i<e[r("0x5e9")];i++){var o=e[i];if(t(o))return o}},i.findPreviousWhere=function(e,t,a){null==a&&(a=e[n("0x5e9")]);for(var r=a-1;r>=0;r--){var i=e[r];if(t(i))return i}},i[n("0x29d8")]=function(e){var t=n,a=this,r=e&&e[t("0x1bd4")]("constructor")?e[t("0x11ae")]:function(){return a.apply(this,arguments)},o=function(){this[t("0x11ae")]=r};return o[t("0x20f")]=a[t("0x20f")],r.prototype=new o,r[t("0x3448")]=i.inherits,e&&i[t("0x3448")](r[t("0x20f")],e),r[t("0x40a7")]=a[t("0x20f")],r},i.noop=function(){},i.uid=(t=0,function(){return t++}),i[n("0x1ba0")]=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},i.almostEquals=function(e,t,a){return Math[n("0x681")](e-t)<a},i[n("0x242b")]=function(e){var t=n;return e[t("0x2e06")]((function(e,n){var a=t;return isNaN(n)?e:Math[a("0x242b")](e,n)}),Number[t("0x3f9")])},i[n("0x11db")]=function(e){var t=n;return e.reduce((function(e,t){return isNaN(t)?e:Math.min(e,t)}),Number[t("0x33ae")])},i.sign=Math.sign?function(e){return Math[n("0x1510")](e)}:function(e){return 0===(e=+e)||isNaN(e)?e:e>0?1:-1},i[n("0x4360")]=Math.log10?function(e){return Math.log10(e)}:function(e){var t=n;return Math.log(e)/Math[t("0x46bb")]},i.toRadians=function(e){return e*(Math.PI/180)},i[n("0x43bb")]=function(e){return e*(180/Math.PI)},i[n("0xe1d")]=function(e,t){var a=n,r=t.x-e.x,i=t.y-e.y,o=Math[a("0x17c")](r*r+i*i),x=Math.atan2(i,r);return x<-.5*Math.PI&&(x+=2*Math.PI),{angle:x,distance:o}},i.aliasPixel=function(e){return e%2==0?0:.5},i[n("0xb8")]=function(e,t,a,r){var i=n,o=e[i("0x3d17")]?t:e,x=t,s=a[i("0x3d17")]?t:a,c=Math[i("0x17c")](Math[i("0x3861")](x.x-o.x,2)+Math[i("0x3861")](x.y-o.y,2)),l=Math.sqrt(Math[i("0x3861")](s.x-x.x,2)+Math[i("0x3861")](s.y-x.y,2)),d=c/(c+l),u=l/(c+l),f=r*(d=isNaN(d)?0:d),m=r*(u=isNaN(u)?0:u);return{previous:{x:x.x-f*(s.x-o.x),y:x.y-f*(s.y-o.y)},next:{x:x.x+m*(s.x-o.x),y:x.y+m*(s.y-o.y)}}},i.EPSILON=Number[n("0x11a8")]||1e-14,i[n("0x49c8")]=function(e){var t,a,r,o,x,s,c,l,d,u=n,f=(e||[]).map((function(e){return{model:e[a2_0x37cf("0x114d")],deltaK:0,mK:0}})),m=f[u("0x5e9")];for(t=0;t<m;++t)(r=f[t])[u("0x4933")][u("0x3d17")]||(a=t>0?f[t-1]:null,(o=t<m-1?f[t+1]:null)&&!o[u("0x4933")][u("0x3d17")]&&(r[u("0x2d58")]=(o[u("0x4933")].y-r[u("0x4933")].y)/(o[u("0x4933")].x-r[u("0x4933")].x)),!a||a[u("0x4933")].skip?r.mK=r.deltaK:!o||o.model.skip?r.mK=a.deltaK:this.sign(a[u("0x2d58")])!==this.sign(r.deltaK)?r.mK=0:r.mK=(a[u("0x2d58")]+r[u("0x2d58")])/2);for(t=0;t<m-1;++t)r=f[t],o=f[t+1],r[u("0x4933")][u("0x3d17")]||o[u("0x4933")][u("0x3d17")]||(i[u("0x4114")](r.deltaK,0,this.EPSILON)?r.mK=o.mK=0:(x=r.mK/r[u("0x2d58")],s=o.mK/r.deltaK,(l=Math[u("0x3861")](x,2)+Math[u("0x3861")](s,2))<=9||(c=3/Math.sqrt(l),r.mK=x*c*r[u("0x2d58")],o.mK=s*c*r[u("0x2d58")])));for(t=0;t<m;++t)(r=f[t])[u("0x4933")][u("0x3d17")]||(a=t>0?f[t-1]:null,o=t<m-1?f[t+1]:null,a&&!a[u("0x4933")][u("0x3d17")]&&(d=(r[u("0x4933")].x-a[u("0x4933")].x)/3,r[u("0x4933")].controlPointPreviousX=r[u("0x4933")].x-d,r[u("0x4933")][u("0x4409")]=r[u("0x4933")].y-d*r.mK),o&&!o[u("0x4933")].skip&&(d=(o[u("0x4933")].x-r[u("0x4933")].x)/3,r[u("0x4933")][u("0x3ce6")]=r[u("0x4933")].x+d,r[u("0x4933")].controlPointNextY=r.model.y+d*r.mK))},i[n("0x1a5")]=function(e,t,a){var r=n;return a?t>=e.length-1?e[0]:e[t+1]:t>=e.length-1?e[e[r("0x5e9")]-1]:e[t+1]},i[n("0x4b6")]=function(e,t,a){return a?t<=0?e[e[n("0x5e9")]-1]:e[t-1]:t<=0?e[0]:e[t-1]},i[n("0x29da")]=function(e,t){var a=n,r=Math[a("0x4184")](i.log10(e)),o=e/Math[a("0x3861")](10,r);return(t?o<1.5?1:o<3?2:o<7?5:10:o<=1?1:o<=2?2:o<=5?5:10)*Math.pow(10,r)};var o,x,s=i[n("0x33c3")]={linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return-1*e*(e-2)},easeInOutQuad:function(e){return(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1)},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return 1*((e=e/1-1)*e*e+1)},easeInOutCubic:function(e){return(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return-1*((e=e/1-1)*e*e*e-1)},easeInOutQuart:function(e){return(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)},easeInQuint:function(e){return 1*(e/=1)*e*e*e*e},easeOutQuint:function(e){return 1*((e=e/1-1)*e*e*e*e+1)},easeInOutQuint:function(e){return(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},easeInSine:function(e){return-1*Math[n("0x1912")](e/1*(Math.PI/2))+1},easeOutSine:function(e){return 1*Math[n("0x1e9")](e/1*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math[n("0x1912")](Math.PI*e/1)-1)},easeInExpo:function(e){return 0===e?1:1*Math.pow(2,10*(e/1-1))},easeOutExpo:function(e){return 1===e?1:1*(1-Math.pow(2,-10*e/1))},easeInOutExpo:function(e){var t=n;return 0===e?0:1===e?1:(e/=.5)<1?.5*Math[t("0x3861")](2,10*(e-1)):.5*(2-Math[t("0x3861")](2,-10*--e))},easeInCirc:function(e){return e>=1?e:-1*(Math[n("0x17c")](1-(e/=1)*e)-1)},easeOutCirc:function(e){return 1*Math[n("0x17c")](1-(e=e/1-1)*e)},easeInOutCirc:function(e){var t=n;return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math[t("0x17c")](1-(e-=2)*e)+1)},easeInElastic:function(e){var t=n,a=1.70158,r=0,i=1;return 0===e?0:1==(e/=1)?1:(!r&&(r=.3),i<Math[t("0x681")](1)?(i=1,a=r/4):a=r/(2*Math.PI)*Math[t("0xf93")](1/i),-i*Math.pow(2,10*(e-=1))*Math[t("0x1e9")]((1*e-a)*(2*Math.PI)/r))},easeOutElastic:function(e){var t=n,a=1.70158,r=0,i=1;return 0===e?0:1==(e/=1)?1:(!r&&(r=.3),i<Math[t("0x681")](1)?(i=1,a=r/4):a=r/(2*Math.PI)*Math[t("0xf93")](1/i),i*Math[t("0x3861")](2,-10*e)*Math[t("0x1e9")]((1*e-a)*(2*Math.PI)/r)+1)},easeInOutElastic:function(e){var t=n,a=1.70158,r=0,i=1;return 0===e?0:2==(e/=.5)?1:(!r&&(r=.3*1.5*1),i<Math[t("0x681")](1)?(i=1,a=r/4):a=r/(2*Math.PI)*Math.asin(1/i),e<1?i*Math[t("0x3861")](2,10*(e-=1))*Math[t("0x1e9")]((1*e-a)*(2*Math.PI)/r)*-.5:i*Math[t("0x3861")](2,-10*(e-=1))*Math[t("0x1e9")]((1*e-a)*(2*Math.PI)/r)*.5+1)},easeInBack:function(e){var t=1.70158;return 1*(e/=1)*e*(2.70158*e-t)},easeOutBack:function(e){var t=1.70158;return 1*((e=e/1-1)*e*(2.70158*e+t)+1)},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:function(e){return 1-s[n("0xce7")](1-e)},easeOutBounce:function(e){return(e/=1)<1/2.75?7.5625*e*e*1:e<2/2.75?1*(7.5625*(e-=1.5/2.75)*e+.75):e<2.5/2.75?1*(7.5625*(e-=2.25/2.75)*e+.9375):1*(7.5625*(e-=2.625/2.75)*e+.984375)},easeInOutBounce:function(e){var t=n;return e<.5?.5*s[t("0x287b")](2*e):.5*s[t("0xce7")](2*e-1)+.5}};function c(e,t,a){var r,i=n;return"string"==typeof e?(r=parseInt(e,10),-1!==e[i("0x3507")]("%")&&(r=r/100*t[i("0x368c")][a])):r=e,r}function l(e){return null!=e&&e!==n("0x2847")}function d(e,t,a){var r=n,i=document[r("0x4462")],o=e[r("0x368c")],x=i[r("0x2b64")](e)[t],s=i[r("0x2b64")](o)[t],d=l(x),u=l(s),f=Number[r("0x33ae")];return d||u?Math[r("0x11db")](d?c(x,e,a):f,u?c(s,o,a):f):"none"}i[n("0x4592")]=(x=n,window[x("0x1531")]||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window[x("0x3449")]||function(e){return window.setTimeout(e,1e3/60)}),i[n("0x1ac9")]=(o=n,window[o("0xf5")]||window[o("0x1256")]||window[o("0x303e")]||window[o("0x7d9")]||window[o("0x48a1")]||function(e){return window[o("0x4fce")](e,1e3/60)}),i[n("0x26ab")]=function(e,t){var a,r,o=n,x=e[o("0x2154")]||e,s=e[o("0x2e3f")]||e[o("0x3ee5")],c=s[o("0x1a8b")](),l=x.touches;l&&l.length>0?(a=l[0][o("0x9f5")],r=l[0].clientY):(a=x.clientX,r=x.clientY);var d=parseFloat(i[o("0x4c45")](s,o("0x4a6e"))),u=parseFloat(i[o("0x4c45")](s,o("0x4652"))),f=parseFloat(i.getStyle(s,o("0x14e6"))),m=parseFloat(i[o("0x4c45")](s,"padding-bottom")),b=c[o("0x30eb")]-c.left-d-f,_=c[o("0x47d9")]-c.top-u-m;return{x:a=Math[o("0x46d")]((a-c[o("0x2885")]-d)/b*s[o("0xbbf")]/t[o("0x248d")]),y:r=Math[o("0x46d")]((r-c[o("0x228a")]-u)/_*s.height/t[o("0x248d")])}},i.addEvent=function(e,t,a){var r=n;e[r("0x4944")]?e[r("0x4944")](t,a):e[r("0x4a7e")]?e[r("0x4a7e")]("on"+t,a):e["on"+t]=a},i.removeEvent=function(e,t,a){var r=n;e[r("0x4b59")]?e.removeEventListener(t,a,!1):e.detachEvent?e[r("0x620")]("on"+t,a):e["on"+t]=i[r("0x49d1")]},i[n("0x747")]=function(e,t,a){var r=n,o=e[r("0x98a")]=e[r("0x98a")]||{};i[r("0x3707")](t,(function(t){var n=r;o[t]=function(){var t=a2_0x37cf;a[t("0x4884")](e,arguments)},i[n("0x1ad1")](e.chart[n("0x4859")],t,o[t])}))},i.unbindEvents=function(e,t){var a=n,r=e.chart.canvas;i[a("0x3707")](t,(function(e,t){i[a("0x3526")](r,t,e)}))},i[n("0x4aee")]=function(e){var t=n;return d(e,t("0x1844"),t("0x538"))},i.getConstraintHeight=function(e){return d(e,"max-height",n("0x2838"))},i[n("0x2c84")]=function(e){var t=n,a=e.parentNode,r=parseInt(i[t("0x4c45")](a,"padding-left"),10),o=parseInt(i[t("0x4c45")](a,"padding-right"),10),x=a[t("0x538")]-r-o,s=i[t("0x4aee")](e);return isNaN(s)?x:Math[t("0x11db")](x,s)},i.getMaximumHeight=function(e){var t=n,a=e[t("0x368c")],r=parseInt(i[t("0x4c45")](a,"padding-top"),10),o=parseInt(i[t("0x4c45")](a,t("0x1be4")),10),x=a.clientHeight-r-o,s=i[t("0x343b")](e);return isNaN(s)?x:Math[t("0x11db")](x,s)},i[n("0x4c45")]=function(e,t){var a=n;return e[a("0xa6b")]?e[a("0xa6b")][t]:document[a("0x4462")].getComputedStyle(e,null)[a("0x4aba")](t)},i[n("0x442")]=function(e){var t=n,a=e[t("0x1ebf")],r=e.canvas,i=r.width,o=r.height,x=e.currentDevicePixelRatio=window.devicePixelRatio||1;1!==x&&(r.height=o*x,r.width=i*x,a[t("0x29b4")](x,x),e[t("0x3963")]=e[t("0x3963")]||x),r.style.width=i+"px",r.style[t("0x4e66")]=o+"px"},i.clear=function(e){var t=n;e.ctx[t("0x1e2e")](0,0,e[t("0xbbf")],e[t("0x4e66")])},i[n("0x1c7e")]=function(e,t,a){return t+" "+e+n("0x3886")+a},i[n("0x37e5")]=function(e,t,a,r){var o=n,x=(r=r||{})[o("0x237c")]=r[o("0x237c")]||{},s=r[o("0x190e")]=r[o("0x190e")]||[];r[o("0x344")]!==t&&(x=r.data={},s=r[o("0x190e")]=[],r[o("0x344")]=t),e.font=t;var c=0;i.each(a,(function(t){var n=o;null!=t&&!0!==i.isArray(t)?c=i[n("0x3038")](e,x,s,c,t):i[n("0x498f")](t)&&i[n("0x3707")](t,(function(t){var a=n;null!=t&&!i[a("0x498f")](t)&&(c=i[a("0x3038")](e,x,s,c,t))}))}));var l=s[o("0x5e9")]/2;if(l>a[o("0x5e9")]){for(var d=0;d<l;d++)delete x[s[d]];s.splice(0,l)}return c},i[n("0x3038")]=function(e,t,a,r,i){var o=n,x=t[i];return!x&&(x=t[i]=e.measureText(i)[o("0xbbf")],a[o("0x459a")](i)),x>r&&(r=x),r},i[n("0x403a")]=function(e){var t=n,a=1;return i[t("0x3707")](e,(function(e){var n=t;i[n("0x498f")](e)&&e[n("0x5e9")]>a&&(a=e[n("0x5e9")])})),a},i[n("0x258c")]=function(e,t,a,r,i,o){var x=n;e[x("0x3c1")](),e[x("0x1699")](t+o,a),e.lineTo(t+r-o,a),e.quadraticCurveTo(t+r,a,t+r,a+o),e[x("0x3e41")](t+r,a+i-o),e.quadraticCurveTo(t+r,a+i,t+r-o,a+i),e[x("0x3e41")](t+o,a+i),e[x("0x2e09")](t,a+i,t,a+i-o),e[x("0x3e41")](t,a+o),e.quadraticCurveTo(t,a,t+o,a),e[x("0x927")]()},i[n("0xf2c")]=function(t){var a=n;return r?t instanceof CanvasGradient?r(e[a("0xbda")][a("0x4d11")].defaultColor):r(t):(console.error(a("0x312f")),t)},i.addResizeListener=function(e,t){var a=n,r=document[a("0x4202")](a("0x1575")),i=a("0x3db6");r[a("0x3063")]?r[a("0x3063")][a("0x2d6e")](i):r[a("0x4480")](a("0x917"),i),r.tabIndex=-1;var o=r[a("0x4025")];o[a("0xbbf")]="100%",o[a("0x37b3")]=a("0x37ca"),o[a("0x2432")]=0,o[a("0x4e66")]=0,o.margin=0,o[a("0x342c")]=a("0xc1a"),o.left=0,o[a("0x30eb")]=0,o.top=0,o[a("0x47d9")]=0,e[a("0x1437")](r,e[a("0x2aab")]),(r[a("0x329c")]||r).onresize=function(){if(t)return t()}},i[n("0x2862")]=function(e){var t=n,a=e[t("0x31f7")](t("0x16d8"));a&&a[t("0x368c")][t("0xffd")](a)},i[n("0x498f")]=Array.isArray?function(e){return Array[n("0x498f")](e)}:function(e){var t=n;return Object.prototype.toString.call(e)===t("0x508")},i[n("0x4028")]=function(e,t){var a,r,o,x,s=n;if(!e||!t||e[s("0x5e9")]!==t[s("0x5e9")])return!1;for(a=0,r=e.length;a<r;++a)if(o=e[a],x=t[a],o instanceof Array&&x instanceof Array){if(!i[s("0x4028")](o,x))return!1}else if(o!==x)return!1;return!0},i[n("0x3333")]=function(e,t,a){var r=n;e&&typeof e[r("0x3c6b")]===r("0x3349")&&e[r("0x4884")](a,t)},i[n("0x395d")]=function(e){var t=n;return e instanceof CanvasPattern?e:i[t("0xf2c")](e).saturate(.5)[t("0x16b7")](.1).rgbString()}}},1492:e=>{var t=_0x299160;e[t("0x33f9")]=function(){var e=t,n=function(e,t){var a=a2_0x37cf,r=this,i=n[a("0x3ad8")];return r.config=t||{data:{datasets:[]}},e[a("0x5e9")]&&e[0][a("0x24e3")]&&(e=e[0]),e[a("0x24e3")]&&(e=e[a("0x24e3")]("2d")),r[a("0x1ebf")]=e,r[a("0x4859")]=e[a("0x4859")],e.canvas[a("0x4025")].display=e.canvas.style[a("0x37b3")]||a("0x37ca"),r[a("0xbbf")]=e.canvas[a("0xbbf")]||parseInt(i[a("0x4c45")](e[a("0x4859")],a("0xbbf")),10)||i[a("0x2c84")](e[a("0x4859")]),r[a("0x4e66")]=e[a("0x4859")][a("0x4e66")]||parseInt(i[a("0x4c45")](e[a("0x4859")],a("0x4e66")),10)||i.getMaximumHeight(e[a("0x4859")]),r[a("0x341a")]=r.width/r[a("0x4e66")],(isNaN(r[a("0x341a")])||!1===isFinite(r.aspectRatio))&&(r[a("0x341a")]=void 0!==t[a("0x341a")]?t.aspectRatio:2),r[a("0x2b6f")]=e.canvas.style.width,r.originalCanvasStyleHeight=e.canvas[a("0x4025")][a("0x4e66")],i.retinaScale(r),r[a("0x1194")]=new n.Controller(r),i[a("0x3d02")](e[a("0x4859")].parentNode,(function(){var e=a;r[e("0x1194")]&&r[e("0x1194")][e("0x1805")][e("0x16d1")][e("0xdf9")]&&r[e("0x1194")][e("0x39d4")]()})),r[a("0x1194")]?r[a("0x1194")]:r};return n[e("0xbda")]={global:{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove",e("0x157b"),"click","touchstart",e("0x4a1a")],hover:{onHover:null,mode:"single",animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:e("0x294"),defaultFontFamily:e("0x36c2"),defaultFontSize:12,defaultFontStyle:e("0x1e4"),showLines:!0,elements:{},legendCallback:function(t){var n=e,a=[];a[n("0x459a")](n("0x1675")+t.id+n("0x4a22"));for(var r=0;r<t.data[n("0x23c5")][n("0x5e9")];r++)a[n("0x459a")]('<li><span style="background-color:'+t[n("0x237c")][n("0x23c5")][r][n("0xd5e")]+'"></span>'),t.data[n("0x23c5")][r][n("0x32b")]&&a[n("0x459a")](t[n("0x237c")][n("0x23c5")][r][n("0x32b")]),a[n("0x459a")](n("0x29a8"));return a[n("0x459a")](n("0x3764")),a[n("0xc60")]("")}}},n[e("0xc0c")]=n,n}},8448:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")];e[n("0x169d")]={defaults:{},addBox:function(e,t){var a=n;!e[a("0x12f7")]&&(e[a("0x12f7")]=[]),e[a("0x12f7")].push(t)},removeBox:function(e,t){var a=n;e[a("0x12f7")]&&e.boxes[a("0x2bcf")](e[a("0x12f7")][a("0x3507")](t),1)},update:function(e,t,r){var i=n;if(e){var o=a[i("0x31f3")](e[i("0x12f7")],(function(e){var t=i;return"left"===e[t("0x16d1")][t("0x342c")]})),x=a[i("0x31f3")](e[i("0x12f7")],(function(e){var t=i;return"right"===e[t("0x16d1")][t("0x342c")]})),s=a[i("0x31f3")](e[i("0x12f7")],(function(e){var t=i;return"top"===e[t("0x16d1")][t("0x342c")]})),c=a[i("0x31f3")](e[i("0x12f7")],(function(e){var t=i;return e[t("0x16d1")].position===t("0x47d9")})),l=a[i("0x31f3")](e[i("0x12f7")],(function(e){var t=i;return e[t("0x16d1")][t("0x342c")]===t("0x281b")}));s[i("0x4d63")]((function(e,t){var n=i;return(t[n("0x16d1")][n("0x2746")]?1:0)-(e[n("0x16d1")][n("0x2746")]?1:0)})),c[i("0x4d63")]((function(e,t){var n=i;return(e.options[n("0x2746")]?1:0)-(t[n("0x16d1")].fullWidth?1:0)}));var d=t-0,u=r-0,f=u/2,m=(t-d/2)/(o.length+x[i("0x5e9")]),b=(r-f)/(s[i("0x5e9")]+c.length),_=d,p=u,h=[];a[i("0x3707")](o[i("0x3abc")](x,s,c),(function(e){var t,n=i,a=e[n("0x3b39")]();a?(t=e.update(e[n("0x16d1")].fullWidth?d:_,b),p-=t[n("0x4e66")]):(t=e[n("0x3fdc")](m,f),_-=t.width),h.push({horizontal:a,minSize:t,box:e})}));var g=0,v=0,S=0,E=0;a[i("0x3707")](o[i("0x3abc")](x),w),a[i("0x3707")](o,(function(e){g+=e[i("0xbbf")]})),a[i("0x3707")](x,(function(e){v+=e.width})),a[i("0x3707")](s.concat(c),w),a[i("0x3707")](s,(function(e){S+=e[i("0x4e66")]})),a[i("0x3707")](c,(function(e){E+=e[i("0x4e66")]})),a[i("0x3707")](o.concat(x),(function(e){var t=i,n=a[t("0x4591")](h,(function(n){return n[t("0x387a")]===e})),r={left:0,right:0,top:S,bottom:E};n&&e[t("0x3fdc")](n.minSize.width,p,r)})),g=0,v=0,S=0,E=0,a[i("0x3707")](o,(function(e){g+=e.width})),a.each(x,(function(e){v+=e[i("0xbbf")]})),a.each(s,(function(e){S+=e[i("0x4e66")]})),a.each(c,(function(e){E+=e[i("0x4e66")]}));var A=r-S-E,T=t-g-v;(T!==_||A!==p)&&(a[i("0x3707")](o,(function(e){e.height=A})),a[i("0x3707")](x,(function(e){e[i("0x4e66")]=A})),a[i("0x3707")](s,(function(e){var t=i;!e.options[t("0x2746")]&&(e[t("0xbbf")]=T)})),a[i("0x3707")](c,(function(e){var t=i;!e[t("0x16d1")][t("0x2746")]&&(e.width=T)})),p=A,_=T);var y=0,C=0;a[i("0x3707")](o[i("0x3abc")](s),M),y+=_,C+=p,a[i("0x3707")](x,M),a[i("0x3707")](c,M),e[i("0x281b")]={left:g,top:S,right:g+_,bottom:S+p},a[i("0x3707")](l,(function(t){var n=i;t[n("0x2885")]=e[n("0x281b")][n("0x2885")],t.top=e[n("0x281b")][n("0x228a")],t[n("0x30eb")]=e[n("0x281b")][n("0x30eb")],t[n("0x47d9")]=e[n("0x281b")].bottom,t[n("0x3fdc")](_,p)}))}function w(e){var t=i,n=a.findNextWhere(h,(function(t){return t[a2_0x37cf("0x387a")]===e}));if(n)if(e[t("0x3b39")]()){var r={left:g,right:v,top:0,bottom:0};e[t("0x3fdc")](e.options[t("0x2746")]?d:_,u/2,r)}else e[t("0x3fdc")](n.minSize[t("0xbbf")],p)}function M(e){var n=i;e[n("0x3b39")]()?(e[n("0x2885")]=e[n("0x16d1")][n("0x2746")]?0:g,e[n("0x30eb")]=e[n("0x16d1")][n("0x2746")]?t-0:g+_,e[n("0x228a")]=C,e[n("0x47d9")]=C+e[n("0x4e66")],C=e[n("0x47d9")]):(e[n("0x2885")]=y,e[n("0x30eb")]=y+e[n("0xbbf")],e[n("0x228a")]=S,e.bottom=S+p,y=e.right)}}}}},66:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf,n=e.helpers,a=n[t("0x49d1")];e[t("0xbda")][t("0x4d11")][t("0x4695")]={display:!0,position:"top",fullWidth:!0,reverse:!1,onClick:function(e,n){var a=t,r=n[a("0x1847")],i=this[a("0xb64")],o=i.getDatasetMeta(r);o[a("0xd4f")]=null===o[a("0xd4f")]?!i.data[a("0x23c5")][r].hidden:null,i[a("0x3fdc")]()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(e){var a=t,r=e[a("0x237c")];return n[a("0x498f")](r[a("0x23c5")])?r[a("0x23c5")][a("0x19e8")]((function(t,r){var i=a;return{text:t.label,fillStyle:n.isArray(t[i("0xd5e")])?t[i("0xd5e")][0]:t[i("0xd5e")],hidden:!e[i("0x238b")](r),lineCap:t.borderCapStyle,lineDash:t[i("0x4415")],lineDashOffset:t[i("0x26a0")],lineJoin:t[i("0x1881")],lineWidth:t[i("0x1914")],strokeStyle:t[i("0x25da")],pointStyle:t[i("0xfe9")],datasetIndex:r}}),this):[]}}},e[t("0x1f1c")]=e[t("0x138c")][t("0x3448")]({initialize:function(e){var a=t;n.extend(this,e),this[a("0x1141")]=[],this[a("0x1c6c")]=!1},beforeUpdate:a,update:function(e,n,a){var r=t,i=this;return i[r("0xc75")](),i[r("0x4352")]=e,i[r("0x4fd8")]=n,i.margins=a,i[r("0x2dd0")](),i.setDimensions(),i[r("0x9d2")](),i.beforeBuildLabels(),i.buildLabels(),i[r("0x23b4")](),i[r("0x36f1")](),i[r("0x4da1")](),i.afterFit(),i[r("0x1f31")](),i[r("0x1b1b")]},afterUpdate:a,beforeSetDimensions:a,setDimensions:function(){var e=t,n=this;n[e("0x3b39")]()?(n[e("0xbbf")]=n.maxWidth,n[e("0x2885")]=0,n.right=n.width):(n[e("0x4e66")]=n[e("0x4fd8")],n[e("0x228a")]=0,n[e("0x47d9")]=n[e("0x4e66")]),n[e("0x3cd")]=0,n[e("0x4e0")]=0,n.paddingRight=0,n[e("0x4cd0")]=0,n.minSize={width:0,height:0}},afterSetDimensions:a,beforeBuildLabels:a,buildLabels:function(){var e=t,n=this;n[e("0x22c5")]=n[e("0x16d1")][e("0x374b")][e("0xf73")][e("0x3c6b")](n,n[e("0xb64")]),n.options[e("0x48d")]&&n[e("0x22c5")][e("0x48d")]()},afterBuildLabels:a,beforeFit:a,fit:function(){var a=t,r=this,i=r[a("0x16d1")],o=i[a("0x374b")],x=i.display,s=r[a("0x1ebf")],c=e[a("0xbda")][a("0x4d11")],l=n[a("0x174e")],d=l(o[a("0x28bd")],c[a("0x1d2f")]),u=l(o[a("0x6d")],c[a("0xb50")]),f=l(o.fontFamily,c[a("0x14b2")]),m=n.fontString(d,u,f),b=r.legendHitBoxes=[],_=r.minSize,p=r[a("0x3b39")]();if(p?(_[a("0xbbf")]=r[a("0x4352")],_.height=x?10:0):(_[a("0xbbf")]=x?10:0,_.height=r[a("0x4fd8")]),x)if(s[a("0x344")]=m,p){var h=r[a("0x4571")]=[0],g=r[a("0x22c5")][a("0x5e9")]?d+o.padding:0;s[a("0x47dd")]=a("0x2885"),s[a("0x48f6")]=a("0x228a"),n[a("0x3707")](r.legendItems,(function(e,t){var n=a,i=(o[n("0x280a")]?d*Math[n("0x17c")](2):o[n("0x15b3")])+d/2+s[n("0x3038")](e.text)[n("0xbbf")];h[h[n("0x5e9")]-1]+i+o[n("0x2afb")]>=r[n("0xbbf")]&&(g+=d+o[n("0x2afb")],h[h[n("0x5e9")]]=r[n("0x2885")]),b[t]={left:0,top:0,width:i,height:d},h[h[n("0x5e9")]-1]+=i+o[n("0x2afb")]})),_.height+=g}else{var v=o[a("0x2afb")],S=r.columnWidths=[],E=o[a("0x2afb")],A=0,T=0,y=d+v;n[a("0x3707")](r[a("0x22c5")],(function(e,t){var n=a,r=(o[n("0x280a")]?2*o.boxWidth:o.boxWidth)+d/2+s[n("0x3038")](e[n("0x806")])[n("0xbbf")];T+y>_[n("0x4e66")]&&(E+=A+o[n("0x2afb")],S[n("0x459a")](A),A=0,T=0),A=Math[n("0x242b")](A,r),T+=y,b[t]={left:0,top:0,width:r,height:d}})),E+=A,S[a("0x459a")](A),_[a("0xbbf")]+=E}r[a("0xbbf")]=_[a("0xbbf")],r[a("0x4e66")]=_.height},afterFit:a,isHorizontal:function(){var e=t;return this[e("0x16d1")].position===e("0x228a")||this[e("0x16d1")].position===e("0x47d9")},draw:function(){var a=t,r=this,i=r.options,o=i[a("0x374b")],x=e[a("0xbda")][a("0x4d11")],s=x[a("0x3a17")][a("0x4b2d")],c=r[a("0xbbf")],l=r[a("0x4571")];if(i[a("0x37b3")]){var d,u=r[a("0x1ebf")],f=n[a("0x174e")],m=f(o[a("0x27ac")],x[a("0x195b")]),b=f(o[a("0x28bd")],x[a("0x1d2f")]),_=f(o[a("0x6d")],x[a("0xb50")]),p=f(o[a("0x1d22")],x.defaultFontFamily),h=n[a("0x1c7e")](b,_,p);u[a("0x47dd")]=a("0x2885"),u[a("0x48f6")]=a("0x228a"),u.lineWidth=.5,u[a("0x4d3f")]=m,u[a("0x20f0")]=m,u[a("0x344")]=h;var g=o[a("0x15b3")],v=r[a("0x1141")],S=r[a("0x3b39")]();d=S?{x:r[a("0x2885")]+(c-l[0])/2,y:r[a("0x228a")]+o[a("0x2afb")],line:0}:{x:r[a("0x2885")]+o.padding,y:r[a("0x228a")]+o[a("0x2afb")],line:0};var E=b+o[a("0x2afb")];n.each(r[a("0x22c5")],(function(t,n){var m,_,p,h,A,T=a,y=u[T("0x3038")](t[T("0x806")]).width,C=o[T("0x280a")]?b+b/2+y:g+b/2+y,w=d.x,M=d.y;S?w+C>=c&&(M=d.y+=E,d.line++,w=d.x=r[T("0x2885")]+(c-l[d.line])/2):M+E>r[T("0x47d9")]&&(w=d.x=w+r[T("0x20ef")][d[T("0x4b2d")]]+o.padding,M=d.y=r.top,d[T("0x4b2d")]++),function(t,n,r){var o=a;if(!(isNaN(g)||g<=0)){u[o("0x37e0")](),u[o("0x20f0")]=f(r[o("0x20f0")],x[o("0x2d14")]),u[o("0x199b")]=f(r[o("0x199b")],s.borderCapStyle),u[o("0x4807")]=f(r[o("0x4807")],s[o("0x26a0")]),u[o("0x15f8")]=f(r[o("0x15f8")],s[o("0x1881")]),u[o("0x4588")]=f(r[o("0x4588")],s.borderWidth),u[o("0x4d3f")]=f(r[o("0x4d3f")],x[o("0x2d14")]);var c=0===f(r.lineWidth,s.borderWidth);if(u[o("0x951")]&&u[o("0x951")](f(r[o("0xb0a")],s[o("0x4415")])),i[o("0x374b")]&&i.labels[o("0x280a")]){var l=b*Math.SQRT2/2,d=l/Math[o("0x29f5")],m=t+d,_=n+d;e[o("0x4a9a")][o("0x5f2")](u,r[o("0xfe9")],l,m,_)}else!c&&u[o("0x4020")](t,n,g,b),u.fillRect(t,n,g,b);u[o("0x3b57")]()}}(w,M,t),v[n][T("0x2885")]=w,v[n][T("0x228a")]=M,m=w,_=M,p=t,h=y,u[(A=a)("0x401e")](p[A("0x806")],g+b/2+m,_),p[A("0xd4f")]&&(u[A("0x3c1")](),u.lineWidth=2,u.moveTo(g+b/2+m,_+b/2),u.lineTo(g+b/2+m+h,_+b/2),u[A("0x2591")]()),S?d.x+=C+o.padding:d.y+=E}))}},handleEvent:function(e){var a=t,r=this,i=r[a("0x16d1")],o=e.type===a("0x1f")?"click":e[a("0x3298")];if(o===a("0x285a")){if(!i[a("0x4ca5")])return}else{if("click"!==o)return;if(!i[a("0x458e")])return}var x=n[a("0x26ab")](e,r[a("0xb64")].chart),s=x.x,c=x.y;if(s>=r[a("0x2885")]&&s<=r[a("0x30eb")]&&c>=r[a("0x228a")]&&c<=r[a("0x47d9")])for(var l=r.legendHitBoxes,d=0;d<l[a("0x5e9")];++d){var u=l[d];if(s>=u[a("0x2885")]&&s<=u.left+u.width&&c>=u[a("0x228a")]&&c<=u[a("0x228a")]+u[a("0x4e66")]){if(o===a("0x7cb")){i[a("0x458e")].call(r,e,r.legendItems[d]);break}if(o===a("0x285a")){i[a("0x4ca5")][a("0x3c6b")](r,e,r[a("0x22c5")][d]);break}}}}}),e.plugins.register({beforeInit:function(n){var a=t,r=n[a("0x16d1")][a("0x4695")];r&&(n[a("0x4695")]=new(e[a("0x1f1c")])({ctx:n[a("0xb64")].ctx,options:r,chart:n}),e[a("0x169d")][a("0x1c07")](n,n[a("0x4695")]))}})}},7500:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers[n("0x49d1")];e[n("0xb5a")]={_plugins:[],register:function(e){var t=n,a=this._plugins;[][t("0x3abc")](e)[t("0x5ba")]((function(e){var n=t;-1===a.indexOf(e)&&a[n("0x459a")](e)}))},unregister:function(e){var t=n,a=this[t("0x1fb5")];[].concat(e)[t("0x5ba")]((function(e){var n=t,r=a.indexOf(e);-1!==r&&a[n("0x2bcf")](r,1)}))},clear:function(){this[n("0x1fb5")]=[]},count:function(){return this._plugins.length},getAll:function(){return this[n("0x1fb5")]},notify:function(e,t){var a,r,i=n,o=this[i("0x1fb5")],x=o[i("0x5e9")];for(a=0;a<x;++a)if("function"==typeof(r=o[a])[e]&&!1===r[e][i("0x4884")](r,t||[]))return!1;return!0}},e[n("0x23b8")]=e[n("0x138c")][n("0x3448")]({beforeInit:a,afterInit:a,beforeUpdate:a,afterUpdate:a,beforeDraw:a,afterDraw:a,destroy:a}),e[n("0x27b1")]=e[n("0xb5a")]}},6925:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers;e[n("0xbda")].scale={display:!0,position:n("0x2885"),gridLines:{display:!0,color:n("0x3cad"),lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{labelString:"",display:!1},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:10,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:function(e){return a.isArray(e)?e:""+e}}},e.Scale=e[n("0x138c")][n("0x3448")]({beforeUpdate:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0xc75")],[this])},update:function(e,t,r){var i=n,o=this;return o[i("0xc75")](),o.maxWidth=e,o[i("0x4fd8")]=t,o.margins=a[i("0x3448")]({left:0,right:0,top:0,bottom:0},r),o[i("0x2dd0")](),o[i("0x3714")](),o[i("0x9d2")](),o.beforeDataLimits(),o[i("0x1695")](),o.afterDataLimits(),o[i("0xcaa")](),o.buildTicks(),o[i("0x9e6")](),o[i("0x275d")](),o[i("0x3e63")](),o[i("0x15e8")](),o.beforeCalculateTickRotation(),o[i("0xb6b")](),o[i("0x2cb7")](),o.beforeFit(),o[i("0x4da1")](),o.afterFit(),o[i("0x1f31")](),o[i("0x1b1b")]},afterUpdate:function(){var e=n;a[e("0x3333")](this.options[e("0x1f31")],[this])},beforeSetDimensions:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0x2dd0")],[this])},setDimensions:function(){var e=n,t=this;t[e("0x3b39")]()?(t[e("0xbbf")]=t[e("0x4352")],t[e("0x2885")]=0,t[e("0x30eb")]=t[e("0xbbf")]):(t[e("0x4e66")]=t[e("0x4fd8")],t[e("0x228a")]=0,t[e("0x47d9")]=t.height),t[e("0x3cd")]=0,t[e("0x4e0")]=0,t[e("0x49ca")]=0,t[e("0x4cd0")]=0},afterSetDimensions:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0x9d2")],[this])},beforeDataLimits:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0x271f")],[this])},determineDataLimits:a[n("0x49d1")],afterDataLimits:function(){var e=n;a.callCallback(this[e("0x16d1")][e("0x39c1")],[this])},beforeBuildTicks:function(){var e=n;a[e("0x3333")](this.options[e("0xcaa")],[this])},buildTicks:a[n("0x49d1")],afterBuildTicks:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0x9e6")],[this])},beforeTickToLabelConversion:function(){var e=n;a[e("0x3333")](this[e("0x16d1")].beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var e=n,t=this;t[e("0x3319")]=t[e("0x3319")][e("0x19e8")]((function(n,a,r){var i=e;return t[i("0x16d1")][i("0x3319")][i("0x1412")]?t.options[i("0x3319")][i("0x1412")](n,a,r):t[i("0x16d1")].ticks[i("0x1c9a")](n,a,r)}),t)},afterTickToLabelConversion:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0x15e8")],[this])},beforeCalculateTickRotation:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0x241e")],[this])},calculateTickRotation:function(){var t=n,r=this,i=r[t("0x1ebf")],o=e[t("0xbda")].global,x=r.options.ticks,s=a[t("0x174e")](x[t("0x28bd")],o[t("0x1d2f")]),c=a[t("0x174e")](x[t("0x6d")],o.defaultFontStyle),l=a[t("0x174e")](x[t("0x1d22")],o.defaultFontFamily),d=a[t("0x1c7e")](s,c,l);i[t("0x344")]=d;var u,f=i[t("0x3038")](r[t("0x3319")][0])[t("0xbbf")],m=i.measureText(r[t("0x3319")][r.ticks.length-1])[t("0xbbf")];if(r[t("0x2be4")]=x[t("0x13ed")]||0,r[t("0x49ca")]=0,r[t("0x3cd")]=0,r[t("0x16d1")].display&&r[t("0x3b39")]()){r[t("0x49ca")]=m/2+3,r.paddingLeft=f/2+3,!r[t("0x40cb")]&&(r.longestTextCache={});for(var b,_,p=a.longestText(i,d,r[t("0x3319")],r.longestTextCache),h=p,g=r[t("0x1faf")](1)-r[t("0x1faf")](0)-6;h>g&&r[t("0x2be4")]<x[t("0x3862")];){if(b=Math[t("0x1912")](a[t("0x1c19")](r[t("0x2be4")])),_=Math[t("0x1e9")](a[t("0x1c19")](r[t("0x2be4")])),(u=b*f)+s/2>r[t("0x4d80")]&&(r[t("0x3cd")]=u+s/2),r[t("0x49ca")]=s/2,_*p>r.maxHeight){r[t("0x2be4")]--;break}r[t("0x2be4")]++,h=b*p}}r[t("0x2056")]&&(r[t("0x3cd")]=Math[t("0x242b")](r.paddingLeft-r[t("0x2056")][t("0x2885")],0),r.paddingRight=Math.max(r[t("0x49ca")]-r[t("0x2056")][t("0x30eb")],0))},afterCalculateTickRotation:function(){var e=n;a[e("0x3333")](this[e("0x16d1")][e("0x2cb7")],[this])},beforeFit:function(){var e=n;a[e("0x3333")](this[e("0x16d1")].beforeFit,[this])},fit:function(){var t=n,r=this,i=r[t("0x1b1b")]={width:0,height:0},o=r[t("0x16d1")],x=e[t("0xbda")].global,s=o[t("0x3319")],c=o[t("0x3b9f")],l=o[t("0x3bb2")],d=o[t("0x37b3")],u=r[t("0x3b39")](),f=a[t("0x174e")](s[t("0x28bd")],x.defaultFontSize),m=a[t("0x174e")](s[t("0x6d")],x[t("0xb50")]),b=a.getValueOrDefault(s[t("0x1d22")],x[t("0x14b2")]),_=a[t("0x1c7e")](f,m,b),p=a[t("0x174e")](c[t("0x28bd")],x[t("0x1d2f")]),h=o[t("0x3bb2")][t("0x30ff")];if(i[t("0xbbf")]=u?r[t("0x40ba")]()?r[t("0x4352")]-r[t("0x2056")][t("0x2885")]-r[t("0x2056")].right:r[t("0x4352")]:d&&l[t("0x11dc")]?h:0,i[t("0x4e66")]=u?d&&l[t("0x11dc")]?h:0:r[t("0x4fd8")],c[t("0x37b3")]&&d&&(u?i[t("0x4e66")]+=1.5*p:i[t("0xbbf")]+=1.5*p),s[t("0x37b3")]&&d){!r[t("0x40cb")]&&(r[t("0x40cb")]={});var g=a[t("0x37e5")](r[t("0x1ebf")],_,r[t("0x3319")],r.longestTextCache),v=a[t("0x403a")](r[t("0x3319")]),S=.5*f;if(u){r[t("0x209")]=g;var E=Math.sin(a.toRadians(r[t("0x2be4")]))*r.longestLabelWidth+f*v+S*v;i[t("0x4e66")]=Math[t("0x11db")](r[t("0x4fd8")],i[t("0x4e66")]+E),r[t("0x1ebf")][t("0x344")]=_;var A=r.ctx[t("0x3038")](r.ticks[0])[t("0xbbf")],T=r[t("0x1ebf")][t("0x3038")](r[t("0x3319")][r.ticks[t("0x5e9")]-1])[t("0xbbf")],y=Math[t("0x1912")](a[t("0x1c19")](r[t("0x2be4")])),C=Math[t("0x1e9")](a[t("0x1c19")](r[t("0x2be4")]));r[t("0x3cd")]=0!==r.labelRotation?y*A+3:A/2+3,r.paddingRight=0!==r[t("0x2be4")]?C*(f/2)+3:T/2+3}else{var w=r[t("0x4352")]-i[t("0xbbf")];s[t("0x18a6")]?g=0:g+=r[t("0x16d1")].ticks[t("0x2afb")],g<w?i[t("0xbbf")]+=g:i[t("0xbbf")]=r[t("0x4352")],r[t("0x4e0")]=f/2,r[t("0x4cd0")]=f/2}}r[t("0x2056")]&&(r.paddingLeft=Math.max(r[t("0x3cd")]-r.margins.left,0),r[t("0x4e0")]=Math[t("0x242b")](r.paddingTop-r.margins[t("0x228a")],0),r[t("0x49ca")]=Math[t("0x242b")](r[t("0x49ca")]-r[t("0x2056")][t("0x30eb")],0),r[t("0x4cd0")]=Math[t("0x242b")](r[t("0x4cd0")]-r[t("0x2056")][t("0x47d9")],0)),r.width=i.width,r[t("0x4e66")]=i[t("0x4e66")]},afterFit:function(){var e=n;a.callCallback(this[e("0x16d1")][e("0xd37")],[this])},isHorizontal:function(){var e=n;return"top"===this[e("0x16d1")][e("0x342c")]||"bottom"===this[e("0x16d1")][e("0x342c")]},isFullWidth:function(){var e=n;return this[e("0x16d1")][e("0x2746")]},getRightValue:function(e){var t=n;return null===e||typeof e===t("0xc42")||typeof e===t("0x2231")&&isNaN(e)?NaN:"object"==typeof e?e instanceof Date||e[t("0x32d4")]?e:this[t("0x3f73")](this[t("0x3b39")]()?e.x:e.y):e},getLabelForIndex:a[n("0x49d1")],getPixelForValue:a[n("0x49d1")],getValueForPixel:a[n("0x49d1")],getPixelForTick:function(e,t){var a=n,r=this;if(r[a("0x3b39")]()){var i=(r[a("0xbbf")]-(r[a("0x3cd")]+r[a("0x49ca")]))/Math[a("0x242b")](r.ticks[a("0x5e9")]-(r.options[a("0x3bb2")].offsetGridLines?0:1),1),o=i*e+r.paddingLeft;t&&(o+=i/2);var x=r[a("0x2885")]+Math[a("0x46d")](o);return x+=r[a("0x40ba")]()?r[a("0x2056")][a("0x2885")]:0}var s=r.height-(r.paddingTop+r[a("0x4cd0")]);return r[a("0x228a")]+e*(s/(r[a("0x3319")].length-1))},getPixelForDecimal:function(e){var t=n,a=this;if(a[t("0x3b39")]()){var r=(a.width-(a[t("0x3cd")]+a[t("0x49ca")]))*e+a[t("0x3cd")],i=a[t("0x2885")]+Math[t("0x46d")](r);return i+=a[t("0x40ba")]()?a[t("0x2056")].left:0}return a[t("0x228a")]+e*a.height},getBasePixel:function(){var e=n,t=this,a=t.min,r=t[e("0x242b")];return t[e("0x4aa6")](t.beginAtZero?0:a<0&&r<0?r:a>0&&r>0?a:0)},draw:function(t){var r=n,i=this,o=i[r("0x16d1")];if(o[r("0x37b3")]){var x,s,c=i.ctx,l=e[r("0xbda")][r("0x4d11")],d=o.ticks,u=o.gridLines,f=o[r("0x3b9f")],m=0!==i[r("0x2be4")],b=d[r("0x4112")],_=i[r("0x3b39")]();d[r("0x11d5")]&&(s=d[r("0x11d5")]);var p=a.getValueOrDefault(d[r("0x27ac")],l.defaultFontColor),h=a[r("0x174e")](d[r("0x28bd")],l.defaultFontSize),g=a.getValueOrDefault(d[r("0x6d")],l.defaultFontStyle),v=a[r("0x174e")](d.fontFamily,l[r("0x14b2")]),S=a[r("0x1c7e")](h,g,v),E=u[r("0x30ff")],A=a[r("0x174e")](u.borderDash,l.borderDash),T=a[r("0x174e")](u.borderDashOffset,l[r("0x26a0")]),y=a.getValueOrDefault(f.fontColor,l[r("0x195b")]),C=a[r("0x174e")](f[r("0x28bd")],l.defaultFontSize),w=a[r("0x174e")](f.fontStyle,l[r("0xb50")]),M=a.getValueOrDefault(f[r("0x1d22")],l[r("0x14b2")]),R=a[r("0x1c7e")](C,w,M),D=a[r("0x1c19")](i[r("0x2be4")]),I=Math[r("0x1912")](D),N=i[r("0x209")]*I;c[r("0x20f0")]=p;var O=[];if(_){if(x=!1,m&&(N/=2),(N+d[r("0x21ea")])*i[r("0x3319")][r("0x5e9")]>i.width-(i[r("0x3cd")]+i.paddingRight)&&(x=1+Math[r("0x4184")]((N+d[r("0x21ea")])*i[r("0x3319")][r("0x5e9")]/(i[r("0xbbf")]-(i[r("0x3cd")]+i[r("0x49ca")])))),s&&i.ticks.length>s)for(;!x||i[r("0x3319")][r("0x5e9")]/(x||1)>s;)!x&&(x=1),x+=1;!b&&(x=!1)}var k=o[r("0x342c")]===r("0x30eb")?i[r("0x2885")]:i[r("0x30eb")]-E,P=o[r("0x342c")]===r("0x30eb")?i[r("0x2885")]+E:i.right,L="bottom"===o[r("0x342c")]?i[r("0x228a")]:i[r("0x47d9")]-E,F=o[r("0x342c")]===r("0x47d9")?i[r("0x228a")]+E:i[r("0x47d9")];if(a[r("0x3707")](i[r("0x3319")],(function(e,n){var s=r;if(null!=e){var c=i[s("0x3319")].length===n+1;if((!(x>1&&n%x>0||n%x==0&&n+x>=i.ticks[s("0x5e9")])||c)&&null!=e){var l,f;n===(void 0!==i[s("0x26af")]?i[s("0x26af")]:0)?(l=u[s("0x1c0e")],f=u[s("0x4fde")]):(l=a.getValueAtIndexOrDefault(u[s("0x4588")],n),f=a.getValueAtIndexOrDefault(u.color,n));var b,p,h,g,v,S,y,C,w,M,R=s("0x13b"),I=s("0x13b");if(_){!m&&(I=o[s("0x342c")]===s("0x228a")?s("0x47d9"):s("0x228a")),R=s(m?"0x30eb":"0x2167");var N=i[s("0x1faf")](n)+a[s("0x3c")](l);w=i[s("0x1faf")](n,u[s("0x70d")])+d[s("0x2fef")],M=m?i[s("0x228a")]+12:o[s("0x342c")]===s("0x228a")?i[s("0x47d9")]-E:i[s("0x228a")]+E,b=h=v=y=N,p=L,g=F,S=t[s("0x228a")],C=t.bottom}else{o[s("0x342c")]===s("0x2885")?d[s("0x18a6")]?(w=i[s("0x30eb")]+d[s("0x2afb")],R=s("0x2885")):(w=i.right-d[s("0x2afb")],R=s("0x30eb")):d[s("0x18a6")]?(w=i.left-d[s("0x2afb")],R=s("0x30eb")):(w=i[s("0x2885")]+d[s("0x2afb")],R=s("0x2885"));var B=i.getPixelForTick(n);B+=a[s("0x3c")](l),M=i.getPixelForTick(n,u.offsetGridLines),b=k,h=P,v=t[s("0x2885")],y=t.right,p=g=S=C=B}O[s("0x459a")]({tx1:b,ty1:p,tx2:h,ty2:g,x1:v,y1:S,x2:y,y2:C,labelX:w,labelY:M,glWidth:l,glColor:f,glBorderDash:A,glBorderDashOffset:T,rotation:-1*D,label:e,textBaseline:I,textAlign:R})}}})),a[r("0x3707")](O,(function(e){var t=r;if(u.display&&(c[t("0x37e0")](),c[t("0x4588")]=e[t("0x35bd")],c[t("0x4d3f")]=e[t("0x1e30")],c[t("0x951")]&&(c[t("0x951")](e[t("0x1210")]),c[t("0x4807")]=e[t("0x4619")]),c[t("0x3c1")](),u[t("0x11dc")]&&(c[t("0x1699")](e[t("0x3cc")],e[t("0x4fe0")]),c.lineTo(e[t("0x4452")],e[t("0x3976")])),u[t("0x2157")]&&(c[t("0x1699")](e.x1,e.y1),c[t("0x3e41")](e.x2,e.y2)),c[t("0x2591")](),c.restore()),d[t("0x37b3")]){c[t("0x37e0")](),c[t("0x2112")](e[t("0x246")],e.labelY),c[t("0x1ad")](e[t("0x26f4")]),c.font=S,c[t("0x48f6")]=e.textBaseline,c.textAlign=e[t("0x47dd")];var n=e[t("0x32b")];if(a[t("0x498f")](n))for(var i=0,o=-(n[t("0x5e9")]-1)*h*.75;i<n[t("0x5e9")];++i)c[t("0x401e")](""+n[i],0,o),o+=1.5*h;else c[t("0x401e")](n,0,0);c.restore()}})),f[r("0x37b3")]){var B,Y,G=0;if(_)B=i[r("0x2885")]+(i.right-i[r("0x2885")])/2,Y="bottom"===o[r("0x342c")]?i.bottom-C/2:i[r("0x228a")]+C/2;else{var H=o[r("0x342c")]===r("0x2885");B=H?i[r("0x2885")]+C/2:i[r("0x30eb")]-C/2,Y=i[r("0x228a")]+(i[r("0x47d9")]-i[r("0x228a")])/2,G=H?-.5*Math.PI:.5*Math.PI}c[r("0x37e0")](),c.translate(B,Y),c[r("0x1ad")](G),c[r("0x47dd")]=r("0x2167"),c[r("0x48f6")]="middle",c[r("0x20f0")]=y,c[r("0x344")]=R,c[r("0x401e")](f[r("0x31a7")],0,0),c[r("0x3b57")]()}if(u[r("0x1a15")]){c[r("0x4588")]=a.getValueAtIndexOrDefault(u.lineWidth,0),c[r("0x4d3f")]=a[r("0x12f6")](u[r("0xf2c")],0);var U=i.left,$=i[r("0x30eb")],j=i[r("0x228a")],V=i[r("0x47d9")],W=a[r("0x3c")](c[r("0x4588")]);_?(j=V=o[r("0x342c")]===r("0x228a")?i[r("0x47d9")]:i[r("0x228a")],j+=W,V+=W):(U=$="left"===o[r("0x342c")]?i[r("0x30eb")]:i[r("0x2885")],U+=W,$+=W),c.beginPath(),c[r("0x1699")](U,j),c.lineTo($,V),c.stroke()}}}})}},3920:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")];e[n("0x16e0")]={constructors:{},defaults:{},registerScaleType:function(e,t,r){var i=n;this.constructors[e]=t,this[i("0xbda")][e]=a[i("0x42df")](r)},getScaleConstructor:function(e){var t=n;return this.constructors[t("0x1bd4")](e)?this[t("0x440")][e]:void 0},getScaleDefaults:function(t){var r=n;return this[r("0xbda")][r("0x1bd4")](t)?a[r("0x2395")](e[r("0xbda")].scale,this[r("0xbda")][t]):{}},updateScaleDefaults:function(e,t){var r=n,i=this[r("0xbda")];i[r("0x1bd4")](e)&&(i[e]=a.extend(i[e],t))},addScalesToLayout:function(t){a.each(t.scales,(function(n){var a=a2_0x37cf;e[a("0x169d")][a("0x1c07")](t,n)}))}}}},1156:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers;e[n("0xbda")][n("0x4d11")][n("0x2fdc")]={display:!1,position:"top",fullWidth:!0,fontStyle:"bold",padding:10,text:""};var r=a.noop;e.Title=e[n("0x138c")].extend({initialize:function(t){var r=n,i=this;a[r("0x3448")](i,t),i.options=a[r("0x45b9")](e[r("0xbda")][r("0x4d11")].title,t[r("0x16d1")]),i.legendHitBoxes=[]},beforeUpdate:function(){var t=n,r=this[t("0xb64")][t("0x16d1")];r&&r.title&&(this[t("0x16d1")]=a[t("0x45b9")](e[t("0xbda")].global[t("0x2fdc")],r[t("0x2fdc")]))},update:function(e,t,a){var r=n,i=this;return i.beforeUpdate(),i[r("0x4352")]=e,i.maxHeight=t,i.margins=a,i.beforeSetDimensions(),i.setDimensions(),i[r("0x9d2")](),i[r("0x977")](),i[r("0x739")](),i[r("0x23b4")](),i[r("0x36f1")](),i[r("0x4da1")](),i[r("0xd37")](),i[r("0x1f31")](),i.minSize},afterUpdate:r,beforeSetDimensions:r,setDimensions:function(){var e=n,t=this;t[e("0x3b39")]()?(t[e("0xbbf")]=t[e("0x4352")],t[e("0x2885")]=0,t[e("0x30eb")]=t[e("0xbbf")]):(t[e("0x4e66")]=t[e("0x4fd8")],t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t[e("0x49ca")]=0,t[e("0x4cd0")]=0,t[e("0x1b1b")]={width:0,height:0}},afterSetDimensions:r,beforeBuildLabels:r,buildLabels:r,afterBuildLabels:r,beforeFit:r,fit:function(){var t=n,r=this,i=a[t("0x174e")],o=r[t("0x16d1")],x=e[t("0xbda")][t("0x4d11")],s=o[t("0x37b3")],c=i(o.fontSize,x[t("0x1d2f")]),l=r[t("0x1b1b")];r[t("0x3b39")]()?(l.width=r[t("0x4352")],l[t("0x4e66")]=s?c+2*o.padding:0):(l[t("0xbbf")]=s?c+2*o[t("0x2afb")]:0,l.height=r.maxHeight),r[t("0xbbf")]=l[t("0xbbf")],r.height=l[t("0x4e66")]},afterFit:r,isHorizontal:function(){var e=n,t=this[e("0x16d1")].position;return t===e("0x228a")||t===e("0x47d9")},draw:function(){var t=n,r=this,i=r.ctx,o=a.getValueOrDefault,x=r[t("0x16d1")],s=e[t("0xbda")][t("0x4d11")];if(x[t("0x37b3")]){var c,l,d=o(x.fontSize,s[t("0x1d2f")]),u=o(x.fontStyle,s[t("0xb50")]),f=o(x[t("0x1d22")],s[t("0x14b2")]),m=a[t("0x1c7e")](d,u,f),b=0,_=r[t("0x228a")],p=r.left,h=r[t("0x47d9")],g=r[t("0x30eb")];i[t("0x20f0")]=o(x[t("0x27ac")],s[t("0x195b")]),i[t("0x344")]=m,r[t("0x3b39")]()?(c=p+(g-p)/2,l=_+(h-_)/2):(c=x.position===t("0x2885")?p+d/2:g-d/2,l=_+(h-_)/2,b=Math.PI*(x[t("0x342c")]===t("0x2885")?-.5:.5)),i[t("0x37e0")](),i.translate(c,l),i[t("0x1ad")](b),i[t("0x47dd")]="center",i[t("0x48f6")]="middle",i[t("0x401e")](x[t("0x806")],0,0),i.restore()}}}),e[n("0xb5a")][n("0x4ce9")]({beforeInit:function(t){var a=n,r=t[a("0x16d1")][a("0x2fdc")];r&&(t.titleBlock=new(e[a("0xa3f")])({ctx:t.chart[a("0x1ebf")],options:r,chart:t}),e[a("0x169d")][a("0x1c07")](t,t[a("0xda")]))}})}},8680:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")];function r(e,t){var r=n;return t&&(a[r("0x498f")](t)?Array[r("0x20f")].push[r("0x4884")](e,t):e[r("0x459a")](t)),e}e.defaults[n("0x4d11")][n("0xa8f")]={enabled:!0,custom:null,mode:n("0x2822"),backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:n("0x44ef"),titleSpacing:2,titleMarginBottom:6,titleFontColor:n("0x274f"),titleAlign:n("0x2885"),bodySpacing:2,bodyFontColor:n("0x274f"),bodyAlign:"left",footerFontStyle:n("0x44ef"),footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,yAlign:n("0x2167"),xAlign:n("0x2167"),caretSize:5,cornerRadius:6,multiKeyBackground:n("0x274f"),callbacks:{beforeTitle:a[n("0x49d1")],title:function(e,t){var a=n,r="",i=t[a("0x374b")],o=i?i.length:0;if(e[a("0x5e9")]>0){var x=e[0];x[a("0x173c")]?r=x[a("0x173c")]:o>0&&x[a("0x2d50")]<o&&(r=i[x.index])}return r},afterTitle:a[n("0x49d1")],beforeBody:a[n("0x49d1")],beforeLabel:a[n("0x49d1")],label:function(e,t){var a=n;return(t.datasets[e[a("0x1847")]][a("0x32b")]||"")+": "+e[a("0x33e0")]},labelColor:function(e,t){var a=n,r=t[a("0xa8e")](e[a("0x1847")]).data[e[a("0x2d50")]][a("0xa6f")];return{borderColor:r[a("0x25da")],backgroundColor:r[a("0xd5e")]}},afterLabel:a[n("0x49d1")],afterBody:a[n("0x49d1")],beforeFooter:a[n("0x49d1")],footer:a.noop,afterFooter:a[n("0x49d1")]}},e[n("0x1939")]=e[n("0x138c")][n("0x3448")]({initialize:function(){var t=n,r=e[t("0xbda")][t("0x4d11")],i=this[t("0x2302")],o=a[t("0x174e")];a[t("0x3448")](this,{_model:{xPadding:i[t("0x49c6")],yPadding:i[t("0x1b1")],xAlign:i.xAlign,yAlign:i[t("0x1f5c")],bodyFontColor:i.bodyFontColor,_bodyFontFamily:o(i[t("0x3eca")],r.defaultFontFamily),_bodyFontStyle:o(i.bodyFontStyle,r[t("0xb50")]),_bodyAlign:i[t("0x7ea")],bodyFontSize:o(i[t("0x323e")],r[t("0x1d2f")]),bodySpacing:i.bodySpacing,titleFontColor:i[t("0xc6a")],_titleFontFamily:o(i[t("0x418c")],r[t("0x14b2")]),_titleFontStyle:o(i[t("0x13dc")],r[t("0xb50")]),titleFontSize:o(i[t("0x3916")],r.defaultFontSize),_titleAlign:i[t("0x210c")],titleSpacing:i.titleSpacing,titleMarginBottom:i.titleMarginBottom,footerFontColor:i[t("0x4c71")],_footerFontFamily:o(i[t("0x4a2c")],r[t("0x14b2")]),_footerFontStyle:o(i[t("0x39d1")],r[t("0xb50")]),footerFontSize:o(i[t("0xae6")],r.defaultFontSize),_footerAlign:i[t("0x126c")],footerSpacing:i[t("0x4ae0")],footerMarginTop:i[t("0x1bbc")],caretSize:i[t("0x2f71")],cornerRadius:i[t("0x38e2")],backgroundColor:i[t("0xd5e")],opacity:0,legendColorBackground:i.multiKeyBackground}})},getTitle:function(){var e=n,t=this,a=t[e("0x2302")],i=a[e("0x3047")],o=i.beforeTitle[e("0x4884")](t,arguments),x=i[e("0x2fdc")][e("0x4884")](t,arguments),s=i.afterTitle[e("0x4884")](t,arguments),c=[];return c=r(c,o),c=r(c,x),c=r(c,s)},getBeforeBody:function(){var e=n,t=this[e("0x2302")][e("0x3047")][e("0x4a65")][e("0x4884")](this,arguments);return a[e("0x498f")](t)?t:void 0!==t?[t]:[]},getBody:function(e,t){var i=n,o=this,x=o._options[i("0x3047")],s=[];return a.each(e,(function(e){var n=i,a={before:[],lines:[],after:[]};r(a[n("0x4929")],x[n("0x3a08")].call(o,e,t)),r(a[n("0x123f")],x.label[n("0x3c6b")](o,e,t)),r(a[n("0x477b")],x[n("0xded")][n("0x3c6b")](o,e,t)),s[n("0x459a")](a)})),s},getAfterBody:function(){var e=n,t=this[e("0x2302")].callbacks.afterBody[e("0x4884")](this,arguments);return a[e("0x498f")](t)?t:void 0!==t?[t]:[]},getFooter:function(){var e=n,t=this,a=t[e("0x2302")][e("0x3047")],i=a[e("0x320e")][e("0x4884")](t,arguments),o=a[e("0x4b36")][e("0x4884")](t,arguments),x=a[e("0x3932")][e("0x4884")](t,arguments),s=[];return s=r(s,i),s=r(s,o),s=r(s,x)},update:function(e){var t,r,i,o,x,s,c,l,d=n,u=this,f=u[d("0x2302")],m=u[d("0x114d")],b=u._active,_=u._data,p=u[d("0x2606")];if(b.length){m[d("0x47e0")]=1;var h=[],g=function(e){var t=n;if(!e[t("0x5e9")])return!1;var a,r,i=[],o=[];for(a=0,r=e[t("0x5e9")];a<r;++a){var x=e[a];if(x&&x[t("0x4249")]()){var s=x[t("0x1490")]();i.push(s.x),o.push(s.y)}}var c=0,l=0;for(a=0;a<i[t("0x5e9")];++a)i[a]&&(c+=i[a],l+=o[a]);return{x:Math[t("0x46d")](c/i.length),y:Math[t("0x46d")](l/i[t("0x5e9")])}}(b),v=[];for(t=0,r=b[d("0x5e9")];t<r;++t)v[d("0x459a")]((i=b[t],o=void 0,x=void 0,s=void 0,c=void 0,l=void 0,x=i[(o=n)("0x289b")],s=i[o("0x9ba")]||i[o("0x46a5")],c=i._index,l=i._datasetIndex,{xLabel:x?x[o("0x232c")](c,l):"",yLabel:s?s[o("0x232c")](c,l):"",index:c,datasetIndex:l}));f.itemSort&&(v=v[d("0x4d63")]((function(e,t){return f[d("0x1e52")](e,t,_)}))),b[d("0x5e9")]>1&&a[d("0x3707")](v,(function(e){var t=d;h[t("0x459a")](f[t("0x3047")][t("0x13dd")].call(u,e,p))})),a[d("0x3448")](m,{title:u.getTitle(v,_),beforeBody:u[d("0x169e")](v,_),body:u[d("0x25d2")](v,_),afterBody:u.getAfterBody(v,_),footer:u[d("0x4efd")](v,_),x:Math[d("0x46d")](g.x),y:Math.round(g.y),caretPadding:a[d("0x174e")](g.padding,2),labelColors:h});var S=u.getTooltipSize(m);u.determineAlignment(S),a[d("0x3448")](m,u[d("0x1a04")](m,S))}else u._model[d("0x47e0")]=0;return e&&f.custom&&f[d("0x1a92")][d("0x3c6b")](u,m),u},getTooltipSize:function(e){var t=n,r=this[t("0x7a1")][t("0x1ebf")],i={height:2*e[t("0x1b1")],width:0},o=e[t("0x3b3e")],x=o[t("0x2e06")]((function(e,n){var a=t;return e+n[a("0x4929")][a("0x5e9")]+n[a("0x123f")][a("0x5e9")]+n[a("0x477b")][a("0x5e9")]}),0);x+=e.beforeBody[t("0x5e9")]+e[t("0x4eb7")][t("0x5e9")];var s=e[t("0x2fdc")][t("0x5e9")],c=e[t("0x4b36")].length,l=e[t("0x3916")],d=e.bodyFontSize,u=e[t("0xae6")];i[t("0x4e66")]+=s*l,i[t("0x4e66")]+=(s-1)*e[t("0x792")],i[t("0x4e66")]+=s?e[t("0x3cd6")]:0,i.height+=x*d,i[t("0x4e66")]+=x?(x-1)*e[t("0x1071")]:0,i[t("0x4e66")]+=c?e[t("0x1bbc")]:0,i.height+=c*u,i.height+=c?(c-1)*e.footerSpacing:0;var f=0,m=function(e){var n=t;i[n("0xbbf")]=Math[n("0x242b")](i[n("0xbbf")],r[n("0x3038")](e)[n("0xbbf")]+f)};return r[t("0x344")]=a[t("0x1c7e")](l,e._titleFontStyle,e[t("0x342f")]),a[t("0x3707")](e[t("0x2fdc")],m),r[t("0x344")]=a[t("0x1c7e")](d,e[t("0x2e23")],e[t("0x31ce")]),a[t("0x3707")](e[t("0x4a65")].concat(e[t("0x4eb7")]),m),f=o.length>1?d+2:0,a[t("0x3707")](o,(function(e){var n=t;a[n("0x3707")](e[n("0x4929")],m),a[n("0x3707")](e[n("0x123f")],m),a.each(e[n("0x477b")],m)})),f=0,r[t("0x344")]=a[t("0x1c7e")](u,e[t("0x1325")],e[t("0xf24")]),a[t("0x3707")](e[t("0x4b36")],m),i.width+=2*e[t("0x49c6")],i},determineAlignment:function(e){var t=n,a=this,r=a._model,i=a[t("0x7a1")],o=a[t("0x2606")][t("0x281b")];r.y<e[t("0x4e66")]?r[t("0x1f5c")]=t("0x228a"):r.y>i[t("0x4e66")]-e.height&&(r[t("0x1f5c")]=t("0x47d9"));var x,s,c,l,d,u=(o[t("0x2885")]+o[t("0x30eb")])/2,f=(o.top+o[t("0x47d9")])/2;r[t("0x1f5c")]===t("0x2167")?(x=function(e){return e<=u},s=function(e){return e>u}):(x=function(n){return n<=e[t("0xbbf")]/2},s=function(n){var a=t;return n>=i[a("0xbbf")]-e[a("0xbbf")]/2}),c=function(n){var a=t;return n+e.width>i[a("0xbbf")]},l=function(n){return n-e[t("0xbbf")]<0},d=function(e){var n=t;return n(e<=f?"0x228a":"0x47d9")},x(r.x)?(r[t("0x3978")]="left",c(r.x)&&(r[t("0x3978")]=t("0x2167"),r[t("0x1f5c")]=d(r.y))):s(r.x)&&(r.xAlign="right",l(r.x)&&(r.xAlign=t("0x2167"),r[t("0x1f5c")]=d(r.y)))},getBackgroundPoint:function(e,t){var a=n,r={x:e.x,y:e.y},i=e[a("0x2f71")],o=e[a("0x266e")],x=e[a("0x38e2")],s=e.xAlign,c=e[a("0x1f5c")],l=i+o,d=x+o;return s===a("0x30eb")?r.x-=t[a("0xbbf")]:s===a("0x2167")&&(r.x-=t[a("0xbbf")]/2),c===a("0x228a")?r.y+=l:c===a("0x47d9")?r.y-=t[a("0x4e66")]+l:r.y-=t[a("0x4e66")]/2,c===a("0x2167")?s===a("0x2885")?r.x+=l:s===a("0x30eb")&&(r.x-=l):s===a("0x2885")?r.x-=d:s===a("0x30eb")&&(r.x+=d),r},drawCaret:function(e,t,r){var i,o,x,s,c,l,d=n,u=this[d("0xa6f")],f=this[d("0x7a1")][d("0x1ebf")],m=u[d("0x2f71")],b=u[d("0x38e2")],_=u.xAlign,p=u[d("0x1f5c")],h=e.x,g=e.y,v=t[d("0xbbf")],S=t[d("0x4e66")];"center"===p?(_===d("0x2885")?(o=(i=h)-m,x=i):(o=(i=h+v)+m,x=i),s=(c=g+S/2)-m,l=c+m):("left"===_?x=(o=(i=h+b)+m)+m:_===d("0x30eb")?x=(o=(i=h+v-b)-m)-m:(i=(o=h+v/2)-m,x=o+m),"top"===p?(c=(s=g)-m,l=s):(c=(s=g+S)+m,l=s));var E=a.color(u.backgroundColor);f[d("0x20f0")]=E[d("0x1279")](r*E[d("0x1279")]())[d("0x251a")](),f[d("0x3c1")](),f[d("0x1699")](i,s),f[d("0x3e41")](o,c),f.lineTo(x,l),f[d("0x927")](),f[d("0x2773")]()},drawTitle:function(e,t,r,i){var o=n,x=t[o("0x2fdc")];if(x[o("0x5e9")]){r.textAlign=t[o("0x3b4c")],r[o("0x48f6")]=o("0x228a");var s,c,l=t.titleFontSize,d=t[o("0x792")],u=a.color(t.titleFontColor);for(r.fillStyle=u[o("0x1279")](i*u.alpha()).rgbString(),r[o("0x344")]=a.fontString(l,t[o("0x2cea")],t[o("0x342f")]),s=0,c=x[o("0x5e9")];s<c;++s)r[o("0x401e")](x[s],e.x,e.y),e.y+=l+d,s+1===x.length&&(e.y+=t[o("0x3cd6")]-d)}},drawBody:function(e,t,r,i){var o=n,x=t[o("0x323e")],s=t.bodySpacing,c=t.body;r[o("0x47dd")]=t[o("0x4f08")],r[o("0x48f6")]="top";var l=a[o("0xf2c")](t[o("0x1a43")]),d=l[o("0x1279")](i*l[o("0x1279")]())[o("0x251a")]();r[o("0x20f0")]=d,r.font=a[o("0x1c7e")](x,t[o("0x2e23")],t[o("0x31ce")]);var u=0,f=function(t){r[o("0x401e")](t,e.x+u,e.y),e.y+=x+s};a[o("0x3707")](t[o("0x4a65")],f);var m=c[o("0x5e9")]>1;u=m?x+2:0,a[o("0x3707")](c,(function(n,s){var c=o;a[c("0x3707")](n[c("0x4929")],f),a.each(n.lines,(function(n){var o=c;m&&(r[o("0x20f0")]=a[o("0xf2c")](t.legendColorBackground)[o("0x1279")](i)[o("0x13bd")](),r[o("0xaf7")](e.x,e.y,x,x),r[o("0x4d3f")]=a[o("0xf2c")](t.labelColors[s][o("0x25da")])[o("0x1279")](i)[o("0x13bd")](),r[o("0x4020")](e.x,e.y,x,x),r[o("0x20f0")]=a[o("0xf2c")](t[o("0x13fa")][s][o("0xd5e")])[o("0x1279")](i).rgbaString(),r[o("0xaf7")](e.x+1,e.y+1,x-2,x-2),r[o("0x20f0")]=d),f(n)})),a.each(n.after,f)})),u=0,a[o("0x3707")](t[o("0x4eb7")],f),e.y-=s},drawFooter:function(e,t,r,i){var o=n,x=t[o("0x4b36")];if(x[o("0x5e9")]){e.y+=t.footerMarginTop,r[o("0x47dd")]=t[o("0xe95")],r.textBaseline=o("0x228a");var s=a[o("0xf2c")](t[o("0x4c71")]);r[o("0x20f0")]=s[o("0x1279")](i*s[o("0x1279")]())[o("0x251a")](),r.font=a[o("0x1c7e")](t[o("0xae6")],t[o("0x1325")],t._footerFontFamily),a[o("0x3707")](x,(function(n){var a=o;r[a("0x401e")](n,e.x,e.y),e.y+=t[a("0xae6")]+t[a("0x4ae0")]}))}},draw:function(){var e=n,t=this._chart[e("0x1ebf")],r=this[e("0xa6f")];if(0!==r[e("0x47e0")]){var i=this[e("0x7f9")](r),o={x:r.x,y:r.y},x=Math[e("0x681")](r[e("0x47e0")]<.001)?0:r[e("0x47e0")];if(this[e("0x2302")].enabled){var s=a[e("0xf2c")](r[e("0xd5e")]);t.fillStyle=s[e("0x1279")](x*s[e("0x1279")]())[e("0x251a")](),a[e("0x258c")](t,o.x,o.y,i[e("0xbbf")],i.height,r.cornerRadius),t[e("0x2773")](),this.drawCaret(o,i,x),o.x+=r[e("0x49c6")],o.y+=r.yPadding,this.drawTitle(o,r,t,x),this[e("0x1b31")](o,r,t,x),this[e("0x4047")](o,r,t,x)}}}})}},2880:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")],r=e[n("0xbda")][n("0x4d11")];r.elements.arc={backgroundColor:r[n("0x2d14")],borderColor:n("0x274f"),borderWidth:2},e[n("0x3a17")].Arc=e.Element[n("0x3448")]({inLabelRange:function(e){var t=n,a=this[t("0xa6f")];return!!a&&Math[t("0x3861")](e-a.x,2)<Math[t("0x3861")](a[t("0x17c4")]+a[t("0x206d")],2)},inRange:function(e,t){var r=n,i=this[r("0xa6f")];if(i){for(var o=a.getAngleFromPoint(i,{x:e,y:t}),x=o.angle,s=o[r("0x3e54")],c=i.startAngle,l=i[r("0x3a18")];l<c;)l+=2*Math.PI;for(;x>l;)x-=2*Math.PI;for(;x<c;)x+=2*Math.PI;var d=x>=c&&x<=l,u=s>=i.innerRadius&&s<=i[r("0xe2d")];return d&&u}return!1},tooltipPosition:function(){var e=n,t=this[e("0xa6f")],a=t[e("0x541")]+(t[e("0x3a18")]-t.startAngle)/2,r=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math[e("0x1912")](a)*r,y:t.y+Math[e("0x1e9")](a)*r}},draw:function(){var e=n,t=this._chart[e("0x1ebf")],a=this._view,r=a[e("0x541")],i=a[e("0x3a18")];t.beginPath(),t.arc(a.x,a.y,a[e("0xe2d")],r,i),t[e("0x4027")](a.x,a.y,a[e("0x3e36")],i,r,!0),t.closePath(),t.strokeStyle=a[e("0x25da")],t[e("0x4588")]=a[e("0x1914")],t[e("0x20f0")]=a[e("0xd5e")],t[e("0x2773")](),t[e("0x15f8")]=e("0x1c4"),a.borderWidth&&t[e("0x2591")]()}})}},3693:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf,n=e[t("0x3ad8")],a=e[t("0xbda")][t("0x4d11")];e[t("0xbda")][t("0x4d11")][t("0x3a17")][t("0x4b2d")]={tension:.4,backgroundColor:a[t("0x2d14")],borderWidth:3,borderColor:a.defaultColor,borderCapStyle:t("0x216d"),borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0},e.elements[t("0xacd")]=e[t("0x138c")][t("0x3448")]({draw:function(){var e=t,r=this,i=r[e("0xa6f")],o=i.spanGaps,x=i[e("0x32a6")],s=r[e("0x3f7a")],c=r[e("0x7a1")][e("0x1ebf")];function l(t,n){var a=e,r=n[a("0xa6f")];!0===n[a("0xa6f")].steppedLine?(c[a("0x3e41")](r.x,t[a("0xa6f")].y),c[a("0x3e41")](r.x,r.y)):0===n._view[a("0xdf")]?c[a("0x3e41")](r.x,r.y):c[a("0x22ab")](t[a("0xa6f")][a("0x3ce6")],t[a("0xa6f")][a("0x77e")],r[a("0x1a95")],r[a("0x4409")],r.x,r.y)}c.save();var d,u,f,m,b=r[e("0x373f")].slice(),_=-1;if(s&&b[e("0x5e9")]&&b.push(b[0]),b[e("0x5e9")]&&i[e("0x2773")]){for(c[e("0x3c1")](),d=0;d<b[e("0x5e9")];++d)u=b[d],f=n.previousItem(b,d),m=u[e("0xa6f")],0===d?(s?c[e("0x1699")](x.x,x.y):c.moveTo(m.x,x),!m[e("0x3d17")]&&(_=d,c[e("0x3e41")](m.x,m.y))):(f=-1===_?f:b[_],m.skip?!o&&_===d-1&&(s?c[e("0x3e41")](x.x,x.y):c[e("0x3e41")](f._view.x,x)):(_!==d-1?o&&-1!==_?l(f,u):(s||c[e("0x3e41")](m.x,x),c.lineTo(m.x,m.y)):l(f,u),_=d));!s&&-1!==_&&c[e("0x3e41")](b[_][e("0xa6f")].x,x),c[e("0x20f0")]=i[e("0xd5e")]||a[e("0x2d14")],c.closePath(),c[e("0x2773")]()}var p=a[e("0x3a17")][e("0x4b2d")];for(c.lineCap=i[e("0x1cec")]||p[e("0x1cec")],c[e("0x951")]&&c.setLineDash(i[e("0x4415")]||p[e("0x4415")]),c[e("0x4807")]=i[e("0x26a0")]||p[e("0x26a0")],c[e("0x15f8")]=i[e("0x1881")]||p[e("0x1881")],c.lineWidth=i[e("0x1914")]||p[e("0x1914")],c.strokeStyle=i[e("0x25da")]||a.defaultColor,c[e("0x3c1")](),_=-1,d=0;d<b[e("0x5e9")];++d)u=b[d],f=n[e("0x4b6")](b,d),m=u._view,0===d?!m[e("0x3d17")]&&(c[e("0x1699")](m.x,m.y),_=d):(f=-1===_?f:b[_],!m[e("0x3d17")]&&(_!==d-1&&!o||-1===_?c.moveTo(m.x,m.y):l(f,u),_=d));c[e("0x2591")](),c.restore()}})}},5682:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")],r=e[n("0xbda")].global,i=r[n("0x2d14")];r.elements[n("0xef5")]={radius:3,pointStyle:n("0x233a"),backgroundColor:i,borderWidth:1,borderColor:i,hitRadius:1,hoverRadius:4,hoverBorderWidth:1},e[n("0x3a17")].Point=e[n("0x138c")][n("0x3448")]({inRange:function(e,t){var a=n,r=this._view;return!!r&&Math.pow(e-r.x,2)+Math[a("0x3861")](t-r.y,2)<Math[a("0x3861")](r[a("0x1f24")]+r.radius,2)},inLabelRange:function(e){var t=n,a=this[t("0xa6f")];return!!a&&Math[t("0x3861")](e-a.x,2)<Math.pow(a[t("0x17c4")]+a.hitRadius,2)},tooltipPosition:function(){var e=n,t=this[e("0xa6f")];return{x:t.x,y:t.y,padding:t[e("0x17c4")]+t.borderWidth}},draw:function(){var t=n,o=this[t("0xa6f")],x=this[t("0x7a1")][t("0x1ebf")],s=o[t("0xfe9")],c=o[t("0x17c4")],l=o.x,d=o.y;o[t("0x3d17")]||(x[t("0x4d3f")]=o[t("0x25da")]||i,x[t("0x4588")]=a[t("0x174e")](o[t("0x1914")],r[t("0x3a17")].point[t("0x1914")]),x.fillStyle=o[t("0xd5e")]||i,e.canvasHelpers[t("0x5f2")](x,s,c,l,d))}})}},547:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0xbda")].global;a.elements[n("0xae3")]={backgroundColor:a.defaultColor,borderWidth:0,borderColor:a.defaultColor,borderSkipped:n("0x47d9")},e[n("0x3a17")][n("0x43de")]=e[n("0x138c")][n("0x3448")]({draw:function(){var e=n,t=this[e("0x7a1")][e("0x1ebf")],a=this[e("0xa6f")],r=a.width/2,i=a.x-r,o=a.x+r,x=a[e("0x20c8")]-(a[e("0x20c8")]-a.y),s=a[e("0x1914")]/2;a[e("0x1914")]&&(i+=s,o-=s,x+=s),t[e("0x3c1")](),t[e("0x20f0")]=a[e("0xd5e")],t.strokeStyle=a[e("0x25da")],t.lineWidth=a[e("0x1914")];var c=[[i,a[e("0x20c8")]],[i,x],[o,x],[o,a[e("0x20c8")]]],l=["bottom",e("0x2885"),e("0x228a"),"right"][e("0x3507")](a[e("0x2e52")],0);function d(e){return c[(l+e)%4]}-1===l&&(l=0),t[e("0x1699")][e("0x4884")](t,d(0));for(var u=1;u<4;u++)t[e("0x3e41")][e("0x4884")](t,d(u));t[e("0x2773")](),a[e("0x1914")]&&t.stroke()},height:function(){var e=n,t=this[e("0xa6f")];return t[e("0x20c8")]-t.y},inRange:function(e,t){var a=n,r=this[a("0xa6f")];return!!r&&(r.y<r[a("0x20c8")]?e>=r.x-r[a("0xbbf")]/2&&e<=r.x+r[a("0xbbf")]/2&&t>=r.y&&t<=r[a("0x20c8")]:e>=r.x-r[a("0xbbf")]/2&&e<=r.x+r.width/2&&t>=r[a("0x20c8")]&&t<=r.y)},inLabelRange:function(e){var t=n,a=this[t("0xa6f")];return!!a&&(e>=a.x-a.width/2&&e<=a.x+a[t("0xbbf")]/2)},tooltipPosition:function(){var e=this[n("0xa6f")];return{x:e.x,y:e.y}}})}},3318:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")],r={position:n("0x47d9")},i=e[n("0x35a0")][n("0x3448")]({getLabels:function(){var e=n,t=this.chart[e("0x237c")];return(this[e("0x3b39")]()?t[e("0x2cb4")]:t.yLabels)||t.labels},determineDataLimits:function(){var e,t=n,r=this,i=r.getLabels();r[t("0x493c")]=0,r[t("0x2e8")]=i[t("0x5e9")]-1,void 0!==r[t("0x16d1")][t("0x3319")][t("0x11db")]&&(e=a.indexOf(i,r[t("0x16d1")].ticks[t("0x11db")]),r[t("0x493c")]=-1!==e?e:r[t("0x493c")]),void 0!==r.options[t("0x3319")][t("0x242b")]&&(e=a.indexOf(i,r.options[t("0x3319")][t("0x242b")]),r[t("0x2e8")]=-1!==e?e:r[t("0x2e8")]),r.min=i[r.minIndex],r[t("0x242b")]=i[r.maxIndex]},buildTicks:function(){var e=n,t=this,a=t[e("0x3b52")]();t[e("0x3319")]=0===t[e("0x493c")]&&t[e("0x2e8")]===a[e("0x5e9")]-1?a:a[e("0x9b3")](t[e("0x493c")],t[e("0x2e8")]+1)},getLabelForIndex:function(e,t){var a=n,r=this,i=r[a("0xb64")][a("0x237c")],o=r[a("0x3b39")]();return i[a("0x2cb4")]&&o||i[a("0x3dd7")]&&!o?r[a("0x3f73")](i[a("0x23c5")][t][a("0x237c")][e]):r[a("0x3319")][e]},getPixelForValue:function(e,t,a,r){var i=n,o=this,x=Math[i("0x242b")](o[i("0x2e8")]+1-o[i("0x493c")]-(o[i("0x16d1")][i("0x3bb2")][i("0x70d")]?0:1),1);if(void 0!==e&&isNaN(t)){var s=o[i("0x3b52")]()[i("0x3507")](e);t=-1!==s?s:t}if(o[i("0x3b39")]()){var c=(o[i("0xbbf")]-(o.paddingLeft+o[i("0x49ca")]))/x,l=c*(t-o[i("0x493c")])+o[i("0x3cd")];return(o[i("0x16d1")][i("0x3bb2")].offsetGridLines&&r||o[i("0x2e8")]===o.minIndex&&r)&&(l+=c/2),o[i("0x2885")]+Math[i("0x46d")](l)}var d=(o[i("0x4e66")]-(o[i("0x4e0")]+o[i("0x4cd0")]))/x,u=d*(t-o[i("0x493c")])+o[i("0x4e0")];return o[i("0x16d1")][i("0x3bb2")][i("0x70d")]&&r&&(u+=d/2),o.top+Math[i("0x46d")](u)},getPixelForTick:function(e,t){var a=n;return this.getPixelForValue(this[a("0x3319")][e],e+this[a("0x493c")],null,t)},getValueForPixel:function(e){var t=n,a=this,r=Math[t("0x242b")](a[t("0x3319")][t("0x5e9")]-(a[t("0x16d1")][t("0x3bb2")][t("0x70d")]?0:1),1),i=a[t("0x3b39")](),o=(i?a[t("0xbbf")]-(a.paddingLeft+a[t("0x49ca")]):a[t("0x4e66")]-(a[t("0x4e0")]+a[t("0x4cd0")]))/r;return e-=i?a[t("0x2885")]:a[t("0x228a")],a[t("0x16d1")][t("0x3bb2")][t("0x70d")]&&(e-=o/2),(e-=i?a[t("0x3cd")]:a.paddingTop)<=0?0:Math[t("0x46d")](e/o)},getBasePixel:function(){return this[n("0x47d9")]}});e[n("0x16e0")][n("0x1297")](n("0x4ed9"),i,r)}},1503:e=>{"use strict";e.exports=function(e){var t=a2_0x37cf,n=e.helpers,a={position:"left",ticks:{callback:function(e,t,a){var r=a2_0x37cf,i=a.length>3?a[2]-a[1]:a[1]-a[0];Math[r("0x681")](i)>1&&e!==Math[r("0x4184")](e)&&(i=e-Math[r("0x4184")](e));var o=n[r("0x4360")](Math.abs(i)),x="";if(0!==e){var s=-1*Math[r("0x4184")](o);s=Math.max(Math[r("0x11db")](s,20),0),x=e[r("0x3fab")](s)}else x="0";return x}}},r=e[t("0x25e")].extend({determineDataLimits:function(){var e=t,a=this,r=a[e("0x16d1")],i=a.chart,o=i[e("0x237c")][e("0x23c5")],x=a[e("0x3b39")]();function s(t){return x?t[e("0x116d")]===a.id:t.yAxisID===a.id}if(a[e("0x11db")]=null,a[e("0x242b")]=null,r[e("0x4247")]){var c={};n[e("0x3707")](o,(function(t,o){var x=e,l=i[x("0xa8e")](o);void 0===c[l[x("0x3298")]]&&(c[l[x("0x3298")]]={positiveValues:[],negativeValues:[]});var d=c[l.type].positiveValues,u=c[l[x("0x3298")]][x("0x607")];i[x("0x238b")](o)&&s(l)&&n[x("0x3707")](t[x("0x237c")],(function(e,t){var n=x,i=+a[n("0x3f73")](e);isNaN(i)||l.data[t].hidden||(d[t]=d[t]||0,u[t]=u[t]||0,r[n("0x1e56")]?d[t]=100:i<0?u[t]+=i:d[t]+=i)}))})),n[e("0x3707")](c,(function(t){var r=e,i=t.positiveValues[r("0x3abc")](t[r("0x607")]),o=n[r("0x11db")](i),x=n[r("0x242b")](i);a.min=null===a[r("0x11db")]?o:Math[r("0x11db")](a[r("0x11db")],o),a.max=null===a[r("0x242b")]?x:Math[r("0x242b")](a.max,x)}))}else n[e("0x3707")](o,(function(t,r){var o=e,x=i[o("0xa8e")](r);i[o("0x238b")](r)&&s(x)&&n[o("0x3707")](t[o("0x237c")],(function(e,t){var n=o,r=+a[n("0x3f73")](e);isNaN(r)||x[n("0x237c")][t].hidden||((null===a[n("0x11db")]||r<a.min)&&(a[n("0x11db")]=r),(null===a[n("0x242b")]||r>a[n("0x242b")])&&(a[n("0x242b")]=r))}))}));this[e("0x4f9a")]()},getTickLimit:function(){var a,r=t,i=this,o=i[r("0x16d1")][r("0x3319")];if(i[r("0x3b39")]())a=Math[r("0x11db")](o[r("0x11d5")]?o[r("0x11d5")]:11,Math[r("0x3c59")](i[r("0xbbf")]/50));else{var x=n[r("0x174e")](o.fontSize,e.defaults[r("0x4d11")][r("0x1d2f")]);a=Math.min(o[r("0x11d5")]?o[r("0x11d5")]:11,Math[r("0x3c59")](i[r("0x4e66")]/(2*x)))}return a},handleDirectionalChanges:function(){var e=t;!this[e("0x3b39")]()&&this[e("0x3319")][e("0x48d")]()},getLabelForIndex:function(e,n){var a=t;return+this.getRightValue(this[a("0xb64")].data.datasets[n].data[e])},getPixelForValue:function(e){var n,a,r=t,i=this,o=i[r("0x3cd")],x=i[r("0x4cd0")],s=i[r("0x1023")],c=+i.getRightValue(e),l=i[r("0x3a59")]-s;return i[r("0x3b39")]()?(a=i.width-(o+i[r("0x49ca")]),n=i[r("0x2885")]+a/l*(c-s),Math[r("0x46d")](n+o)):(a=i[r("0x4e66")]-(i[r("0x4e0")]+x),n=i[r("0x47d9")]-x-a/l*(c-s),Math[r("0x46d")](n))},getValueForPixel:function(e){var n=t,a=this,r=a[n("0x3b39")](),i=a.paddingLeft,o=a[n("0x4cd0")],x=r?a[n("0xbbf")]-(i+a.paddingRight):a[n("0x4e66")]-(a[n("0x4e0")]+o),s=(r?e-a[n("0x2885")]-i:a[n("0x47d9")]-o-e)/x;return a[n("0x1023")]+(a[n("0x3a59")]-a[n("0x1023")])*s},getPixelForTick:function(e){var n=t;return this[n("0x4aa6")](this[n("0x3f90")][e])}});e.scaleService[t("0x1297")](t("0x4d9d"),r,a)}},4979:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e.helpers,r=a[n("0x49d1")];e[n("0x25e")]=e[n("0x35a0")].extend({handleTickRangeOptions:function(){var e=n,t=this,r=t.options[e("0x3319")];if(r.beginAtZero){var i=a[e("0x1510")](t[e("0x11db")]),o=a[e("0x1510")](t[e("0x242b")]);i<0&&o<0?t[e("0x242b")]=0:i>0&&o>0&&(t[e("0x11db")]=0)}void 0!==r.min?t[e("0x11db")]=r[e("0x11db")]:void 0!==r[e("0xa91")]&&(t[e("0x11db")]=Math[e("0x11db")](t.min,r[e("0xa91")])),void 0!==r[e("0x242b")]?t[e("0x242b")]=r[e("0x242b")]:void 0!==r[e("0x2f4f")]&&(t.max=Math[e("0x242b")](t[e("0x242b")],r[e("0x2f4f")])),t.min===t[e("0x242b")]&&(t[e("0x242b")]++,!r[e("0xdc2")]&&t[e("0x11db")]--)},getTickLimit:r,handleDirectionalChanges:r,buildTicks:function(){var e,t=n,r=this,i=r.options,o=r[t("0x3319")]=[],x=i[t("0x3319")],s=a[t("0x174e")],c=r[t("0x13d7")]();if(c=Math[t("0x242b")](2,c),x[t("0x122")]&&x[t("0x122")]>0||x[t("0x290c")]&&x[t("0x290c")]>0)e=s(x[t("0x122")],x[t("0x290c")]);else{var l=a[t("0x29da")](r.max-r[t("0x11db")],!1);e=a.niceNum(l/(c-1),!0)}var d=Math[t("0x4184")](r[t("0x11db")]/e)*e,u=Math[t("0x3c59")](r[t("0x242b")]/e)*e,f=(u-d)/e;f=a[t("0x4114")](f,Math[t("0x46d")](f),e/1e3)?Math.round(f):Math.ceil(f),o.push(void 0!==x[t("0x11db")]?x[t("0x11db")]:d);for(var m=1;m<f;++m)o[t("0x459a")](d+m*e);o.push(void 0!==x.max?x[t("0x242b")]:u),r.handleDirectionalChanges(),r[t("0x242b")]=a[t("0x242b")](o),r.min=a.min(o),x[t("0x48d")]?(o.reverse(),r[t("0x1023")]=r[t("0x242b")],r.end=r[t("0x11db")]):(r.start=r[t("0x11db")],r.end=r[t("0x242b")])},convertTicksToLabels:function(){var t=n,a=this;a[t("0x3f90")]=a[t("0x3319")][t("0x9b3")](),a[t("0x26af")]=a.ticks[t("0x3507")](0),e[t("0x35a0")][t("0x20f")][t("0x3e63")][t("0x3c6b")](a)}})}},6524:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")],r={position:n("0x2885"),ticks:{callback:function(e,t,r){var i=n,o=e/Math[i("0x3861")](10,Math.floor(a[i("0x4360")](e)));return 0===e?"0":1===o||2===o||5===o||0===t||t===r[i("0x5e9")]-1?e.toExponential():""}}},i=e.Scale[n("0x3448")]({determineDataLimits:function(){var e=n,t=this,r=t[e("0x16d1")],i=r[e("0x3319")],o=t[e("0xb64")],x=o.data[e("0x23c5")],s=a[e("0x174e")],c=t[e("0x3b39")]();function l(n){var a=e;return c?n[a("0x116d")]===t.id:n[a("0x1ea4")]===t.id}if(t[e("0x11db")]=null,t.max=null,t.minNotZero=null,r.stacked){var d={};a[e("0x3707")](x,(function(n,i){var x=e,s=o[x("0xa8e")](i);o.isDatasetVisible(i)&&l(s)&&(void 0===d[s[x("0x3298")]]&&(d[s[x("0x3298")]]=[]),a[x("0x3707")](n.data,(function(e,n){var a=x,i=d[s.type],o=+t[a("0x3f73")](e);isNaN(o)||s.data[n][a("0xd4f")]||(i[n]=i[n]||0,r[a("0x1e56")]?i[n]=100:i[n]+=o)})))})),a[e("0x3707")](d,(function(n){var r=e,i=a[r("0x11db")](n),o=a[r("0x242b")](n);t.min=null===t[r("0x11db")]?i:Math.min(t[r("0x11db")],i),t[r("0x242b")]=null===t[r("0x242b")]?o:Math[r("0x242b")](t[r("0x242b")],o)}))}else a[e("0x3707")](x,(function(n,r){var i=e,x=o[i("0xa8e")](r);o[i("0x238b")](r)&&l(x)&&a[i("0x3707")](n[i("0x237c")],(function(e,n){var a=i,r=+t[a("0x3f73")](e);isNaN(r)||x[a("0x237c")][n][a("0xd4f")]||((null===t[a("0x11db")]||r<t[a("0x11db")])&&(t[a("0x11db")]=r),(null===t.max||r>t[a("0x242b")])&&(t[a("0x242b")]=r),0!==r&&(null===t[a("0x3e61")]||r<t[a("0x3e61")])&&(t[a("0x3e61")]=r))}))}));t.min=s(i[e("0x11db")],t.min),t[e("0x242b")]=s(i[e("0x242b")],t[e("0x242b")]),t.min===t[e("0x242b")]&&(0!==t[e("0x11db")]&&null!==t[e("0x11db")]?(t.min=Math[e("0x3861")](10,Math[e("0x4184")](a[e("0x4360")](t.min))-1),t[e("0x242b")]=Math[e("0x3861")](10,Math[e("0x4184")](a.log10(t.max))+1)):(t.min=1,t[e("0x242b")]=10))},buildTicks:function(){for(var e=n,t=this,r=t[e("0x16d1")].ticks,i=a[e("0x174e")],o=t.ticks=[],x=i(r[e("0x11db")],Math[e("0x3861")](10,Math[e("0x4184")](a[e("0x4360")](t[e("0x11db")]))));x<t[e("0x242b")];){var s,c;o[e("0x459a")](x),0===x?(s=Math[e("0x4184")](a[e("0x4360")](t[e("0x3e61")])),c=Math[e("0x46d")](t[e("0x3e61")]/Math[e("0x3861")](10,s))):(s=Math[e("0x4184")](a[e("0x4360")](x)),c=Math[e("0x4184")](x/Math[e("0x3861")](10,s))+1),10===c&&(c=1,++s),x=c*Math[e("0x3861")](10,s)}var l=i(r[e("0x242b")],x);o[e("0x459a")](l),!t[e("0x3b39")]()&&o.reverse(),t[e("0x242b")]=a[e("0x242b")](o),t.min=a.min(o),r[e("0x48d")]?(o.reverse(),t[e("0x1023")]=t[e("0x242b")],t[e("0x3a59")]=t[e("0x11db")]):(t.start=t[e("0x11db")],t[e("0x3a59")]=t[e("0x242b")])},convertTicksToLabels:function(){var t=n;this.tickValues=this[t("0x3319")].slice(),e[t("0x35a0")][t("0x20f")][t("0x3e63")][t("0x3c6b")](this)},getLabelForIndex:function(e,t){var a=n;return+this[a("0x3f73")](this.chart.data.datasets[t][a("0x237c")][e])},getPixelForTick:function(e){var t=n;return this[t("0x4aa6")](this[t("0x39cf")][e])},getPixelForValue:function(e){var t,r,i,o=n,x=this,s=x[o("0x1023")],c=+x[o("0x3f73")](e),l=x[o("0x4e0")],d=x[o("0x4cd0")],u=x[o("0x3cd")],f=x[o("0x16d1")][o("0x3319")];return x[o("0x3b39")]()?(i=a[o("0x4360")](x.end)-a[o("0x4360")](s),0===c?r=x[o("0x2885")]+u:(t=x[o("0xbbf")]-(u+x[o("0x49ca")]),r=x[o("0x2885")]+t/i*(a[o("0x4360")](c)-a[o("0x4360")](s)),r+=u)):(t=x[o("0x4e66")]-(l+d),0!==s||f.reverse?0===x.end&&f[o("0x48d")]?(i=a[o("0x4360")](x.start)-a[o("0x4360")](x[o("0x3e61")]),r=c===x.end?x[o("0x228a")]+l:c===x.minNotZero?x[o("0x228a")]+l+.02*t:x[o("0x228a")]+l+.02*t+.98*t/i*(a[o("0x4360")](c)-a[o("0x4360")](x[o("0x3e61")]))):(i=a[o("0x4360")](x.end)-a.log10(s),t=x[o("0x4e66")]-(l+d),r=x[o("0x47d9")]-d-t/i*(a.log10(c)-a[o("0x4360")](s))):(i=a[o("0x4360")](x[o("0x3a59")])-a[o("0x4360")](x.minNotZero),r=c===s?x[o("0x47d9")]-d:c===x.minNotZero?x[o("0x47d9")]-d-.02*t:x[o("0x47d9")]-d-.02*t-.98*t/i*(a[o("0x4360")](c)-a[o("0x4360")](x.minNotZero)))),r},getValueForPixel:function(e){var t,r,i=n,o=this,x=a[i("0x4360")](o[i("0x3a59")])-a[i("0x4360")](o[i("0x1023")]);return o.isHorizontal()?(r=o[i("0xbbf")]-(o[i("0x3cd")]+o[i("0x49ca")]),t=o[i("0x1023")]*Math[i("0x3861")](10,(e-o.left-o[i("0x3cd")])*x/r)):(r=o.height-(o[i("0x4e0")]+o[i("0x4cd0")]),t=Math[i("0x3861")](10,(o[i("0x47d9")]-o[i("0x4cd0")]-e)*x/r)/o.start),t}});e[n("0x16e0")][n("0x1297")](n("0x44ba"),i,r)}},8759:e=>{var t=_0x299160;e[t("0x33f9")]=function(e){var n=t,a=e[n("0x3ad8")],r=e[n("0xbda")][n("0x4d11")],i={display:!0,animate:!0,lineArc:!1,position:"chartArea",angleLines:{display:!0,color:n("0x3cad"),lineWidth:1},ticks:{showLabelBackdrop:!0,backdropColor:n("0x3db3"),backdropPaddingY:2,backdropPaddingX:2},pointLabels:{fontSize:10,callback:function(e){return e}}},o=e[n("0x25e")][n("0x3448")]({getValueCount:function(){var e=n;return this.chart[e("0x237c")][e("0x374b")][e("0x5e9")]},setDimensions:function(){var e=n,t=this,i=t.options,o=i[e("0x3319")];t[e("0xbbf")]=t[e("0x4352")],t.height=t.maxHeight,t.xCenter=Math.round(t.width/2),t[e("0x1b34")]=Math[e("0x46d")](t.height/2);var x=a[e("0x11db")]([t[e("0x4e66")],t.width]),s=a[e("0x174e")](o[e("0x28bd")],r[e("0x1d2f")]);t[e("0x1a81")]=i.display?x/2-(s/2+o[e("0x2379")]):x/2},determineDataLimits:function(){var e=n,t=this,r=t[e("0xb64")];t[e("0x11db")]=null,t[e("0x242b")]=null,a[e("0x3707")](r[e("0x237c")].datasets,(function(n,i){var o=e;if(r[o("0x238b")](i)){var x=r[o("0xa8e")](i);a[o("0x3707")](n[o("0x237c")],(function(e,n){var a=o,r=+t[a("0x3f73")](e);isNaN(r)||x[a("0x237c")][n][a("0xd4f")]||((null===t.min||r<t[a("0x11db")])&&(t[a("0x11db")]=r),null===t[a("0x242b")]?t.max=r:r>t[a("0x242b")]&&(t[a("0x242b")]=r))}))}})),t.handleTickRangeOptions()},getTickLimit:function(){var e=n,t=this[e("0x16d1")][e("0x3319")],i=a[e("0x174e")](t[e("0x28bd")],r.defaultFontSize);return Math[e("0x11db")](t.maxTicksLimit?t[e("0x11d5")]:11,Math[e("0x3c59")](this[e("0x1a81")]/(1.5*i)))},convertTicksToLabels:function(){var t=n,a=this;e[t("0x25e")][t("0x20f")][t("0x3e63")].call(a),a[t("0x3128")]=a[t("0xb64")][t("0x237c")][t("0x374b")][t("0x19e8")](a.options[t("0x3128")][t("0x1c9a")],a)},getLabelForIndex:function(e,t){var a=n;return+this[a("0x3f73")](this.chart[a("0x237c")][a("0x23c5")][t][a("0x237c")][e])},fit:function(){var e,t,i,o,x,s,c,l,d,u,f,m,b=n,_=this.options[b("0x3128")],p=a.getValueOrDefault(_.fontSize,r[b("0x1d2f")]),h=a[b("0x174e")](_[b("0x6d")],r[b("0xb50")]),g=a[b("0x174e")](_[b("0x1d22")],r[b("0x14b2")]),v=a.fontString(p,h,g),S=a.min([this[b("0x4e66")]/2-p-5,this[b("0xbbf")]/2]),E=this[b("0xbbf")],A=0;for(this[b("0x1ebf")][b("0x344")]=v,t=0;t<this.getValueCount();t++){e=this[b("0x2f64")](t,S),i=this[b("0x1ebf")][b("0x3038")](this[b("0x3128")][t]?this.pointLabels[t]:"").width+5;var T=360*(this[b("0x22d9")](t)+Math.PI/2)/(2*Math.PI)%360;0===T||180===T?(o=i/2,e.x+o>E&&(E=e.x+o,x=t),e.x-o<A&&(A=e.x-o,c=t)):T<180?e.x+i>E&&(E=e.x+i,x=t):e.x-i<A&&(A=e.x-i,c=t)}d=A,u=Math[b("0x3c59")](E-this[b("0xbbf")]),s=this[b("0x22d9")](x),l=this.getIndexAngle(c),f=u/Math[b("0x1e9")](s+Math.PI/2),m=d/Math.sin(l+Math.PI/2),f=a.isNumber(f)?f:0,m=a.isNumber(m)?m:0,this.drawingArea=Math.round(S-(m+f)/2),this[b("0x3ead")](m,f)},setCenterPoint:function(e,t){var a=n,r=this,i=r[a("0xbbf")]-t-r[a("0x1a81")],o=e+r[a("0x1a81")];r[a("0x2f49")]=Math[a("0x46d")]((o+i)/2+r.left),r[a("0x1b34")]=Math[a("0x46d")](r.height/2+r.top)},getIndexAngle:function(e){var t=n,a=2*Math.PI/this.getValueCount(),r=(this[t("0xb64")].options&&this.chart[t("0x16d1")][t("0x541")]?this.chart[t("0x16d1")][t("0x541")]:0)*Math.PI*2/360;return e*a-Math.PI/2+r},getDistanceFromCenterForValue:function(e){var t=n,a=this;if(null===e)return 0;var r=a[t("0x1a81")]/(a[t("0x242b")]-a[t("0x11db")]);return a[t("0x16d1")].reverse?(a[t("0x242b")]-e)*r:(e-a[t("0x11db")])*r},getPointPosition:function(e,t){var a=n,r=this,i=r[a("0x22d9")](e);return{x:Math[a("0x46d")](Math[a("0x1912")](i)*t)+r.xCenter,y:Math.round(Math[a("0x1e9")](i)*t)+r[a("0x1b34")]}},getPointPositionForValue:function(e,t){var a=n;return this[a("0x2f64")](e,this[a("0x34b5")](t))},getBasePosition:function(){var e=n,t=this,a=t[e("0x11db")],r=t[e("0x242b")];return t[e("0x3986")](0,t[e("0xdc2")]?0:a<0&&r<0?r:a>0&&r>0?a:0)},draw:function(){var e=n,t=this,i=t[e("0x16d1")],o=i.gridLines,x=i.ticks,s=i[e("0x2742")],c=i.pointLabels,l=a[e("0x174e")];if(i.display){var d=t[e("0x1ebf")],u=l(x[e("0x28bd")],r[e("0x1d2f")]),f=l(x[e("0x6d")],r[e("0xb50")]),m=l(x[e("0x1d22")],r[e("0x14b2")]),b=a.fontString(u,f,m);if(a.each(t.ticks,(function(n,s){var c=e;if(s>0||i[c("0x48d")]){var f=t.getDistanceFromCenterForValue(t[c("0x3f90")][s]),m=t[c("0x1b34")]-f;if(o.display&&0!==s)if(d[c("0x4d3f")]=a[c("0x12f6")](o.color,s-1),d[c("0x4588")]=a[c("0x12f6")](o[c("0x4588")],s-1),i[c("0x2308")])d.beginPath(),d[c("0x4027")](t[c("0x2f49")],t[c("0x1b34")],f,0,2*Math.PI),d[c("0x927")](),d[c("0x2591")]();else{d[c("0x3c1")]();for(var _=0;_<t[c("0x2998")]();_++){var p=t[c("0x2f64")](_,f);0===_?d.moveTo(p.x,p.y):d.lineTo(p.x,p.y)}d.closePath(),d[c("0x2591")]()}if(x[c("0x37b3")]){var h=l(x[c("0x27ac")],r[c("0x195b")]);if(d[c("0x344")]=b,x[c("0x1b3e")]){var g=d[c("0x3038")](n)[c("0xbbf")];d[c("0x20f0")]=x[c("0x3229")],d.fillRect(t[c("0x2f49")]-g/2-x[c("0x1026")],m-u/2-x.backdropPaddingY,g+2*x[c("0x1026")],u+2*x[c("0x2379")])}d.textAlign="center",d.textBaseline=c("0x13b"),d[c("0x20f0")]=h,d[c("0x401e")](n,t[c("0x2f49")],m)}}})),!i[e("0x2308")]){d[e("0x4588")]=s.lineWidth,d[e("0x4d3f")]=s[e("0xf2c")];for(var _=t[e("0x34b5")](i[e("0x48d")]?t[e("0x11db")]:t.max),p=l(c[e("0x28bd")],r[e("0x1d2f")]),h=l(c[e("0x6d")],r[e("0xb50")]),g=l(c[e("0x1d22")],r.defaultFontFamily),v=a[e("0x1c7e")](p,h,g),S=t.getValueCount()-1;S>=0;S--){if(s[e("0x37b3")]){var E=t[e("0x2f64")](S,_);d.beginPath(),d[e("0x1699")](t[e("0x2f49")],t[e("0x1b34")]),d[e("0x3e41")](E.x,E.y),d[e("0x2591")](),d[e("0x927")]()}var A=t[e("0x2f64")](S,_+5),T=l(c.fontColor,r[e("0x195b")]);d[e("0x344")]=v,d[e("0x20f0")]=T;var y=t.pointLabels,C=360*(this[e("0x22d9")](S)+Math.PI/2)/(2*Math.PI)%360;0===C||180===C?d[e("0x47dd")]=e("0x2167"):C<180?d[e("0x47dd")]=e("0x2885"):d.textAlign=e("0x30eb"),d[e("0x48f6")]=e(90===C||270===C?"0x13b":C>270||C<90?"0x47d9":"0x228a"),d[e("0x401e")](y[S]?y[S]:"",A.x,A.y)}}}}});e[n("0x16e0")].registerScaleType("radialLinear",o,i)}},2172:(e,t,n)=>{var a=_0x299160,r=n(381);r=typeof r===a("0x3349")?r:window.moment,e.exports=function(e){var t=a,n=e.helpers,i={units:[{name:t("0x35e5"),steps:[1,2,5,10,20,50,100,250,500]},{name:t("0x3ec7"),steps:[1,2,5,10,30]},{name:t("0x2884"),steps:[1,2,5,10,30]},{name:t("0x17ba"),steps:[1,2,3,6,12]},{name:t("0x1588"),steps:[1,2,5]},{name:"week",maxStep:4},{name:"month",maxStep:3},{name:"quarter",maxStep:4},{name:t("0x572"),maxStep:!1}]},o={position:t("0x47d9"),time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:t("0x35e5"),displayFormats:{millisecond:"h:mm:ss.SSS a",second:t("0x22af"),minute:t("0x22af"),hour:"MMM D, hA",day:"ll",week:"ll",month:"MMM YYYY",quarter:t("0x2943"),year:t("0x3c1a")}},ticks:{autoSkip:!1}},x=e.Scale[t("0x3448")]({initialize:function(){var n=t;if(!r)throw new Error(n("0xf0d"));e.Scale[n("0x20f")][n("0x278b")][n("0x3c6b")](this)},getLabelMoment:function(e,n){var a=t;return null===e||null===n?null:typeof this[a("0x274a")][e]!==a("0xc42")?this[a("0x274a")][e][n]:null},getLabelDiff:function(e,n){var a=t,r=this;return null===e||null===n?null:(void 0===r[a("0x1b20")]&&r[a("0x4b82")](),void 0!==r[a("0x1b20")][e]?r.labelDiffs[e][n]:null)},getMomentStartOf:function(e){var n=t,a=this;return a[n("0x16d1")].time[n("0x360")]===n("0x4504")&&!1!==a[n("0x16d1")].time[n("0x4b91")]?e[n("0x42df")]()[n("0x4b0d")](n("0x4d92")).isoWeekday(a[n("0x16d1")].time[n("0x4b91")]):e.clone()[n("0x4b0d")](a[n("0x4436")])},determineDataLimits:function(){var e=t,a=this;a.labelMoments=[];var i=[];a[e("0xb64")][e("0x237c")][e("0x374b")]&&a[e("0xb64")][e("0x237c")][e("0x374b")][e("0x5e9")]>0?(n[e("0x3707")](a[e("0xb64")][e("0x237c")][e("0x374b")],(function(t){var n=e,r=a.parseTime(t);r[n("0x32d4")]()&&(a[n("0x16d1")].time[n("0x46d")]&&r[n("0x4b0d")](a[n("0x16d1")][n("0x1c9f")].round),i[n("0x459a")](r))}),a),a[e("0x4359")]=r[e("0x11db")][e("0x3c6b")](a,i),a[e("0x10c4")]=r[e("0x242b")][e("0x3c6b")](a,i)):(a[e("0x4359")]=null,a[e("0x10c4")]=null),n[e("0x3707")](a.chart[e("0x237c")][e("0x23c5")],(function(t,o){var x=e,s=[],c=a[x("0xb64")][x("0x238b")](o);typeof t[x("0x237c")][0]===x("0x1b1d")&&null!==t[x("0x237c")][0]?n.each(t.data,(function(e){var t=x,n=a[t("0x1e58")](a[t("0x3f73")](e));n[t("0x32d4")]()&&(a.options[t("0x1c9f")][t("0x46d")]&&n[t("0x4b0d")](a.options.time[t("0x46d")]),s[t("0x459a")](n),c&&(a[t("0x4359")]=null!==a[t("0x4359")]?r[t("0x11db")](a[t("0x4359")],n):n,a[t("0x10c4")]=null!==a[t("0x10c4")]?r[t("0x242b")](a[t("0x10c4")],n):n))}),a):s=i,a[x("0x274a")][x("0x459a")](s)}),a),a[e("0x16d1")][e("0x1c9f")][e("0x11db")]&&(a[e("0x4359")]=a[e("0x1e58")](a.options[e("0x1c9f")][e("0x11db")])),a[e("0x16d1")][e("0x1c9f")].max&&(a[e("0x10c4")]=a[e("0x1e58")](a[e("0x16d1")][e("0x1c9f")].max)),a[e("0x4359")]=(a.firstTick||r())[e("0x42df")](),a[e("0x10c4")]=(a[e("0x10c4")]||r())[e("0x42df")]()},buildLabelDiffs:function(){var e=t,a=this;a.labelDiffs=[];var r=[];a[e("0xb64")][e("0x237c")].labels&&a[e("0xb64")][e("0x237c")][e("0x374b")][e("0x5e9")]>0&&n[e("0x3707")](a[e("0xb64")].data[e("0x374b")],(function(t){var n=e,i=a[n("0x1e58")](t);i[n("0x32d4")]()&&(a[n("0x16d1")][n("0x1c9f")][n("0x46d")]&&i[n("0x4b0d")](a[n("0x16d1")].time.round),r[n("0x459a")](i[n("0x4019")](a.firstTick,a[n("0x4436")],!0)))}),a),n[e("0x3707")](a[e("0xb64")][e("0x237c")][e("0x23c5")],(function(t){var i=e,o=[];"object"==typeof t.data[0]&&null!==t[i("0x237c")][0]?n[i("0x3707")](t[i("0x237c")],(function(e){var t=i,n=a.parseTime(a[t("0x3f73")](e));n[t("0x32d4")]()&&(a[t("0x16d1")][t("0x1c9f")][t("0x46d")]&&n[t("0x4b0d")](a[t("0x16d1")][t("0x1c9f")].round),o[t("0x459a")](n.diff(a[t("0x4359")],a[t("0x4436")],!0)))}),a):o=r,a.labelDiffs.push(o)}),a)},buildTicks:function(){var a=t,r=this;r[a("0x1ebf")][a("0x37e0")]();var o,x=n[a("0x174e")](r[a("0x16d1")][a("0x3319")][a("0x28bd")],e[a("0xbda")].global[a("0x1d2f")]),s=n.getValueOrDefault(r[a("0x16d1")][a("0x3319")][a("0x6d")],e[a("0xbda")][a("0x4d11")][a("0xb50")]),c=n[a("0x174e")](r[a("0x16d1")][a("0x3319")][a("0x1d22")],e.defaults[a("0x4d11")][a("0x14b2")]),l=n[a("0x1c7e")](x,s,c);if(r.ctx.font=l,r[a("0x3319")]=[],r[a("0x2c01")]=1,r[a("0x4c13")]=0,r.options[a("0x1c9f")][a("0x360")])r.tickUnit=r.options[a("0x1c9f")][a("0x360")]||"day",r.displayFormat=r[a("0x16d1")][a("0x1c9f")].displayFormats[r[a("0x4436")]],r[a("0x4c13")]=r.lastTick[a("0x4019")](r[a("0x4359")],r.tickUnit,!0),r[a("0x2c01")]=n[a("0x174e")](r.options[a("0x1c9f")][a("0x741")],1);else{var d=r.isHorizontal()?r.width-(r.paddingLeft+r[a("0x49ca")]):r[a("0x4e66")]-(r[a("0x4e0")]+r[a("0x4cd0")]),u=r.tickFormatFunction(r[a("0x4359")],0,[]),f=r[a("0x1ebf")].measureText(u)[a("0xbbf")],m=d/(f=f*Math[a("0x1912")](n[a("0x1c19")](r[a("0x16d1")][a("0x3319")][a("0x3862")]))+x*Math[a("0x1e9")](n[a("0x1c19")](r.options[a("0x3319")][a("0x3862")])));r.tickUnit=r[a("0x16d1")][a("0x1c9f")][a("0x4c9")],r[a("0x4c13")]=r[a("0x10c4")][a("0x4019")](r[a("0x4359")],r[a("0x4436")],!0),r[a("0x256b")]=r[a("0x16d1")].time[a("0x1894")][r.tickUnit];for(var b=0,_=i[a("0x433d")][b];b<i.units[a("0x5e9")];){if(r[a("0x2c01")]=1,n[a("0x498f")](_[a("0xa0c")])&&Math.ceil(r[a("0x4c13")]/m)<n[a("0x242b")](_[a("0xa0c")])){for(var p=0;p<_.steps[a("0x5e9")];++p)if(_[a("0xa0c")][p]>=Math[a("0x3c59")](r[a("0x4c13")]/m)){r[a("0x2c01")]=n[a("0x174e")](r[a("0x16d1")][a("0x1c9f")][a("0x741")],_.steps[p]);break}break}if(!1===_[a("0x2377")]||Math[a("0x3c59")](r[a("0x4c13")]/m)<_[a("0x2377")]){r[a("0x2c01")]=n[a("0x174e")](r[a("0x16d1")].time[a("0x741")],Math[a("0x3c59")](r.scaleSizeInUnits/m));break}++b,_=i[a("0x433d")][b],r[a("0x4436")]=_.name;var h=r[a("0x4359")].diff(r.getMomentStartOf(r[a("0x4359")]),r.tickUnit,!0),g=r[a("0x435f")](r[a("0x10c4")][a("0x42df")]()[a("0x2d6e")](1,r[a("0x4436")])).diff(r[a("0x10c4")],r.tickUnit,!0);r[a("0x4c13")]=r.lastTick[a("0x4019")](r.firstTick,r[a("0x4436")],!0)+h+g,r[a("0x256b")]=r[a("0x16d1")][a("0x1c9f")][a("0x1894")][_[a("0x98c")]]}}if(r.options.time[a("0x11db")]?o=r[a("0x435f")](r[a("0x4359")]):(r.firstTick=r[a("0x435f")](r[a("0x4359")]),o=r[a("0x4359")]),!r[a("0x16d1")][a("0x1c9f")][a("0x242b")]){var v=r.getMomentStartOf(r[a("0x10c4")]),S=v.diff(r[a("0x10c4")],r[a("0x4436")],!0);S<0?r[a("0x10c4")]=r.getMomentStartOf(r[a("0x10c4")].add(1,r.tickUnit)):S>=0&&(r.lastTick=v),r[a("0x4c13")]=r[a("0x10c4")][a("0x4019")](r[a("0x4359")],r[a("0x4436")],!0)}r[a("0x16d1")][a("0x1c9f")][a("0x256b")]&&(r.displayFormat=r[a("0x16d1")][a("0x1c9f")][a("0x256b")]),r[a("0x3319")][a("0x459a")](r[a("0x4359")][a("0x42df")]());for(var E=1;E<=r[a("0x4c13")];++E){var A=o[a("0x42df")]()[a("0x2d6e")](E,r[a("0x4436")]);if(r[a("0x16d1")][a("0x1c9f")][a("0x242b")]&&A[a("0x4019")](r[a("0x10c4")],r[a("0x4436")],!0)>=0)break;E%r.unitScale==0&&r[a("0x3319")][a("0x459a")](A)}(0!==r[a("0x3319")][r[a("0x3319")].length-1][a("0x4019")](r[a("0x10c4")],r.tickUnit)||0===r[a("0x4c13")])&&(r[a("0x16d1")][a("0x1c9f")][a("0x242b")]?(r[a("0x3319")][a("0x459a")](r.lastTick[a("0x42df")]()),r.scaleSizeInUnits=r[a("0x10c4")][a("0x4019")](r[a("0x3319")][0],r[a("0x4436")],!0)):(r.ticks[a("0x459a")](r[a("0x10c4")][a("0x42df")]()),r[a("0x4c13")]=r[a("0x10c4")].diff(r[a("0x4359")],r[a("0x4436")],!0))),r[a("0x1ebf")][a("0x3b57")](),r[a("0x1b20")]=void 0},getLabelForIndex:function(e,n){var a=t,r=this,i=r.chart[a("0x237c")][a("0x374b")]&&e<r[a("0xb64")][a("0x237c")][a("0x374b")][a("0x5e9")]?r.chart[a("0x237c")][a("0x374b")][e]:"";return"object"==typeof r.chart[a("0x237c")][a("0x23c5")][n][a("0x237c")][0]&&(i=r[a("0x3f73")](r[a("0xb64")][a("0x237c")][a("0x23c5")][n][a("0x237c")][e])),r[a("0x16d1")][a("0x1c9f")].tooltipFormat&&(i=r[a("0x1e58")](i)[a("0x293c")](r[a("0x16d1")][a("0x1c9f")][a("0x3ac8")])),i},tickFormatFunction:function(e,a,r){var i=t,o=e[i("0x293c")](this[i("0x256b")]),x=this[i("0x16d1")][i("0x3319")],s=n[i("0x174e")](x[i("0x1c9a")],x[i("0x1412")]);return s?s(o,a,r):o},convertTicksToLabels:function(){var e=t,n=this;n[e("0x26ac")]=n[e("0x3319")],n.ticks=n[e("0x3319")][e("0x19e8")](n[e("0x4916")],n)},getPixelForValue:function(e,n,a){var r=t,i=this,o=null;if(void 0!==n&&void 0!==a&&(o=i[r("0x142c")](a,n)),null===o&&((!e||!e[r("0x32d4")])&&(e=i[r("0x1e58")](i[r("0x3f73")](e))),e&&e[r("0x32d4")]&&e[r("0x32d4")]()&&(o=e[r("0x4019")](i.firstTick,i[r("0x4436")],!0))),null!==o){var x=0!==o?o/i[r("0x4c13")]:o;if(i[r("0x3b39")]()){var s=(i[r("0xbbf")]-(i.paddingLeft+i[r("0x49ca")]))*x+i[r("0x3cd")];return i[r("0x2885")]+Math[r("0x46d")](s)}var c=(i[r("0x4e66")]-(i[r("0x4e0")]+i[r("0x4cd0")]))*x+i[r("0x4e0")];return i[r("0x228a")]+Math[r("0x46d")](c)}},getPixelForTick:function(e){var n=t;return this[n("0x4aa6")](this[n("0x26ac")][e],null,null)},getValueForPixel:function(e){var n=t,a=this,i=a[n("0x3b39")]()?a[n("0xbbf")]-(a[n("0x3cd")]+a[n("0x49ca")]):a.height-(a[n("0x4e0")]+a.paddingBottom),o=(e-(a[n("0x3b39")]()?a[n("0x2885")]+a.paddingLeft:a[n("0x228a")]+a.paddingTop))/i;return o*=a[n("0x4c13")],a[n("0x4359")][n("0x42df")]().add(r[n("0x40b2")](o,a.tickUnit)[n("0xe18")](),n("0x4c5c"))},parseTime:function(e){var n=t,a=this;return"string"==typeof a[n("0x16d1")][n("0x1c9f")][n("0x131c")]?r(e,a[n("0x16d1")][n("0x1c9f")][n("0x131c")]):typeof a.options[n("0x1c9f")][n("0x131c")]===n("0x3349")?a[n("0x16d1")].time[n("0x131c")](e):typeof e[n("0x1d51")]===n("0x3349")||"number"==typeof e?r(e):e[n("0x32d4")]&&e.isValid()?e:typeof a.options[n("0x1c9f")].format!==n("0x38b7")&&a[n("0x16d1")][n("0x1c9f")].format[n("0x3c6b")]?(console.warn("options.time.format is deprecated and replaced by options.time.parser. See http://nnnick.github.io/Chart.js/docs-v2/#scales-time-scale"),a[n("0x16d1")].time[n("0x293c")](e)):r(e,a[n("0x16d1")].time[n("0x293c")])}});e[t("0x16e0")][t("0x1297")](t("0x1c9f"),x,o)}},297:(e,t,n)=>{var a=_0x299160,r=n(8874);function i(e){var t=a;if(e){var n=[0,0,0],i=1,o=e.match(/^#([a-fA-F0-9]{3,4})$/i),x="";if(o){x=(o=o[1])[3];for(var s=0;s<n.length;s++)n[s]=parseInt(o[s]+o[s],16);x&&(i=Math.round(parseInt(x+x,16)/255*100)/100)}else if(o=e[t("0x2cd9")](/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){x=o[2],o=o[1];for(s=0;s<n[t("0x5e9")];s++)n[s]=parseInt(o[t("0x9b3")](2*s,2*s+2),16);x&&(i=Math[t("0x46d")](parseInt(x,16)/255*100)/100)}else if(o=e[t("0x2cd9")](/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(s=0;s<n[t("0x5e9")];s++)n[s]=parseInt(o[s+1]);i=parseFloat(o[4])}else if(o=e[t("0x2cd9")](/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(s=0;s<n[t("0x5e9")];s++)n[s]=Math[t("0x46d")](2.55*parseFloat(o[s+1]));i=parseFloat(o[4])}else if(o=e[t("0x2cd9")](/(\w+)/)){if(o[1]==t("0x2859"))return[0,0,0,0];if(!(n=r[o[1]]))return}for(s=0;s<n[t("0x5e9")];s++)n[s]=d(n[s],0,255);return i=i||0==i?d(i,0,1):1,n[3]=i,n}}function o(e){if(e){var t=e[a("0x2cd9")](/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(t){var n=parseFloat(t[4]);return[d(parseInt(t[1]),0,360),d(parseFloat(t[2]),0,100),d(parseFloat(t[3]),0,100),d(isNaN(n)?1:n,0,1)]}}}function x(e){if(e){var t=e.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(t){var n=parseFloat(t[4]);return[d(parseInt(t[1]),0,360),d(parseFloat(t[2]),0,100),d(parseFloat(t[3]),0,100),d(isNaN(n)?1:n,0,1)]}}}function s(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"}function c(e,t){var n=a;return"rgba("+Math[n("0x46d")](e[0]/255*100)+"%, "+Math[n("0x46d")](e[1]/255*100)+"%, "+Math[n("0x46d")](e[2]/255*100)+"%, "+(t||e[3]||1)+")"}function l(e,t){var n=a;return void 0===t&&(t=void 0!==e[3]?e[3]:1),"hsla("+e[0]+", "+e[1]+n("0x368e")+e[2]+n("0x368e")+t+")"}function d(e,t,n){var r=a;return Math[r("0x11db")](Math[r("0x242b")](t,e),n)}function u(e){var t=a,n=e[t("0x3c88")](16)[t("0x110")]();return n[t("0x5e9")]<2?"0"+n:n}e[a("0x33f9")]={getRgba:i,getHsla:o,getRgb:function(e){var t=a,n=i(e);return n&&n[t("0x9b3")](0,3)},getHsl:function(e){var t=o(e);return t&&t.slice(0,3)},getHwb:x,getAlpha:function(e){var t=i(e);if(t)return t[3];if(t=o(e))return t[3];if(t=x(e))return t[3]},hexString:function(e,t){var n=a;t=void 0!==t&&3===e[n("0x5e9")]?t:e[3];return"#"+u(e[0])+u(e[1])+u(e[2])+(t>=0&&t<1?u(Math[n("0x46d")](255*t)):"")},rgbString:function(e,t){var n=a;return t<1||e[3]&&e[3]<1?s(e,t):n("0x117")+e[0]+", "+e[1]+", "+e[2]+")"},rgbaString:s,percentString:function(e,t){var n=a;if(t<1||e[3]&&e[3]<1)return c(e,t);var r=Math[n("0x46d")](e[0]/255*100),i=Math[n("0x46d")](e[1]/255*100),o=Math.round(e[2]/255*100);return n("0x117")+r+"%, "+i+n("0x368e")+o+"%)"},percentaString:c,hslString:function(e,t){var n=a;return t<1||e[3]&&e[3]<1?l(e,t):n("0x13c4")+e[0]+", "+e[1]+n("0x368e")+e[2]+"%)"},hslaString:l,hwbString:function(e,t){var n=a;return void 0===t&&(t=void 0!==e[3]?e[3]:1),n("0x4c7b")+e[0]+", "+e[1]+"%, "+e[2]+"%"+(void 0!==t&&1!==t?", "+t:"")+")"},keyword:function(e){return f[e[a("0x9b3")](0,3)]}};var f={};for(var m in r)f[r[m]]=m},7863:(e,t,n)=>{var a=_0x299160,r=n(2085),i=n(297),o=function(e){var t,n=a2_0x37cf;return e instanceof o?e:this instanceof o?(this[n("0x1d57")]=!1,this[n("0x3d61")]={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void(typeof e===n("0x38b7")?(t=i[n("0x16c0")](e))?this[n("0xd4")](n("0x12ef"),t):(t=i[n("0x3c47")](e))?this[n("0xd4")](n("0x784"),t):(t=i[n("0x10c")](e))&&this.setValues("hwb",t):typeof e===n("0x1b1d")&&(void 0!==(t=e).r||void 0!==t.red?this[n("0xd4")]("rgb",t):void 0!==t.l||void 0!==t.lightness?this[n("0xd4")]("hsl",t):void 0!==t.v||void 0!==t[n("0x3a33")]?this[n("0xd4")](n("0x285e"),t):void 0!==t.w||void 0!==t[n("0x19d2")]?this.setValues("hwb",t):(void 0!==t.c||void 0!==t[n("0x1cd5")])&&this[n("0xd4")](n("0x16c3"),t)))):new o(e)};o[a("0x20f")]={isValid:function(){return this[a("0x1d57")]},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){var e=a;return this[e("0x1f46")](e("0x784"),arguments)},hsv:function(){var e=a;return this[e("0x1f46")](e("0x285e"),arguments)},hwb:function(){var e=a;return this[e("0x1f46")]("hwb",arguments)},cmyk:function(){var e=a;return this[e("0x1f46")]("cmyk",arguments)},rgbArray:function(){var e=a;return this.values[e("0x12ef")]},hslArray:function(){return this[a("0x3d61")].hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=a,t=this[e("0x3d61")];return 1!==t[e("0x1279")]?t[e("0x31ca")][e("0x3abc")]([t[e("0x1279")]]):t.hwb},cmykArray:function(){var e=a;return this.values[e("0x16c3")]},rgbaArray:function(){var e=a,t=this[e("0x3d61")];return t[e("0x12ef")][e("0x3abc")]([t.alpha])},hslaArray:function(){var e=a,t=this.values;return t[e("0x784")][e("0x3abc")]([t.alpha])},alpha:function(e){var t=a;return void 0===e?this[t("0x3d61")][t("0x1279")]:(this[t("0xd4")](t("0x1279"),e),this)},red:function(e){var t=a;return this[t("0x43ed")](t("0x12ef"),0,e)},green:function(e){var t=a;return this[t("0x43ed")](t("0x12ef"),1,e)},blue:function(e){return this.setChannel("rgb",2,e)},hue:function(e){return e&&(e=(e%=360)<0?360+e:e),this[a("0x43ed")]("hsl",0,e)},saturation:function(e){var t=a;return this.setChannel(t("0x784"),1,e)},lightness:function(e){return this[a("0x43ed")]("hsl",2,e)},saturationv:function(e){var t=a;return this[t("0x43ed")](t("0x285e"),1,e)},whiteness:function(e){var t=a;return this.setChannel(t("0x31ca"),1,e)},blackness:function(e){var t=a;return this.setChannel(t("0x31ca"),2,e)},value:function(e){var t=a;return this.setChannel(t("0x285e"),2,e)},cyan:function(e){var t=a;return this[t("0x43ed")](t("0x16c3"),0,e)},magenta:function(e){var t=a;return this[t("0x43ed")](t("0x16c3"),1,e)},yellow:function(e){var t=a;return this.setChannel(t("0x16c3"),2,e)},black:function(e){var t=a;return this[t("0x43ed")](t("0x16c3"),3,e)},hexString:function(){var e=a;return i[e("0x1c00")](this[e("0x3d61")].rgb)},rgbString:function(){var e=a;return i[e("0x251a")](this[e("0x3d61")][e("0x12ef")],this[e("0x3d61")][e("0x1279")])},rgbaString:function(){var e=a;return i[e("0x13bd")](this[e("0x3d61")].rgb,this[e("0x3d61")].alpha)},percentString:function(){var e=a;return i[e("0x2d39")](this[e("0x3d61")].rgb,this[e("0x3d61")].alpha)},hslString:function(){var e=a;return i.hslString(this[e("0x3d61")][e("0x784")],this[e("0x3d61")].alpha)},hslaString:function(){var e=a;return i[e("0x2b89")](this[e("0x3d61")][e("0x784")],this[e("0x3d61")][e("0x1279")])},hwbString:function(){var e=a;return i[e("0x4f4a")](this.values[e("0x31ca")],this[e("0x3d61")][e("0x1279")])},keyword:function(){var e=a;return i[e("0x2038")](this[e("0x3d61")][e("0x12ef")],this.values.alpha)},rgbNumber:function(){var e=this[a("0x3d61")].rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=a,t=this.values[e("0x12ef")],n=[],r=0;r<t.length;r++){var i=t[r]/255;n[r]=i<=.03928?i/12.92:Math[e("0x3861")]((i+.055)/1.055,2.4)}return.2126*n[0]+.7152*n[1]+.0722*n[2]},contrast:function(e){var t=this[a("0x24a")](),n=e.luminosity();return t>n?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this[a("0x18ed")](e);return t>=7.1?"AAA":t>=4.5?"AA":""},dark:function(){var e=a,t=this[e("0x3d61")][e("0x12ef")];return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=a,t=[],n=0;n<3;n++)t[n]=255-this[e("0x3d61")][e("0x12ef")][n];return this[e("0xd4")]("rgb",t),this},lighten:function(e){var t=a,n=this[t("0x3d61")][t("0x784")];return n[2]+=n[2]*e,this[t("0xd4")](t("0x784"),n),this},darken:function(e){var t=a,n=this[t("0x3d61")][t("0x784")];return n[2]-=n[2]*e,this[t("0xd4")](t("0x784"),n),this},saturate:function(e){var t=a,n=this[t("0x3d61")].hsl;return n[1]+=n[1]*e,this.setValues(t("0x784"),n),this},desaturate:function(e){var t=a,n=this[t("0x3d61")][t("0x784")];return n[1]-=n[1]*e,this[t("0xd4")](t("0x784"),n),this},whiten:function(e){var t=a,n=this[t("0x3d61")][t("0x31ca")];return n[1]+=n[1]*e,this[t("0xd4")](t("0x31ca"),n),this},blacken:function(e){var t=a,n=this[t("0x3d61")][t("0x31ca")];return n[2]+=n[2]*e,this[t("0xd4")](t("0x31ca"),n),this},greyscale:function(){var e=a,t=this[e("0x3d61")][e("0x12ef")],n=.3*t[0]+.59*t[1]+.11*t[2];return this[e("0xd4")](e("0x12ef"),[n,n,n]),this},clearer:function(e){var t=a,n=this.values[t("0x1279")];return this.setValues(t("0x1279"),n-n*e),this},opaquer:function(e){var t=a,n=this[t("0x3d61")][t("0x1279")];return this[t("0xd4")](t("0x1279"),n+n*e),this},rotate:function(e){var t=a,n=this[t("0x3d61")][t("0x784")],r=(n[0]+e)%360;return n[0]=r<0?360+r:r,this[t("0xd4")](t("0x784"),n),this},mix:function(e,t){var n=a,r=this,i=e,o=void 0===t?.5:t,x=2*o-1,s=r.alpha()-i[n("0x1279")](),c=((x*s==-1?x:(x+s)/(1+x*s))+1)/2,l=1-c;return this.rgb(c*r[n("0xba5")]()+l*i[n("0xba5")](),c*r[n("0x1d7")]()+l*i[n("0x1d7")](),c*r[n("0x3b56")]()+l*i.blue()).alpha(r[n("0x1279")]()*o+i.alpha()*(1-o))},toJSON:function(){return this[a("0x12ef")]()},clone:function(){var e,t,n=a,r=new o,i=this[n("0x3d61")],x=r[n("0x3d61")];for(var s in i)i[n("0x1bd4")](s)&&(e=i[s],(t={}[n("0x3c88")][n("0x3c6b")](e))===n("0x508")?x[s]=e[n("0x9b3")](0):t===n("0x4d4b")?x[s]=e:console[n("0x4ad3")]("unexpected color value:",e));return r}},o.prototype[a("0x1fdb")]={rgb:[a("0xba5"),"green",a("0x3b56")],hsl:["hue","saturation",a("0x1434")],hsv:[a("0x2705"),"saturation","value"],hwb:["hue",a("0x19d2"),a("0xc94")],cmyk:[a("0x1cd5"),a("0x295f"),a("0x18fa"),a("0x242d")]},o[a("0x20f")].maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype[a("0x4aaf")]=function(e){for(var t=a,n=this[t("0x3d61")],r={},i=0;i<e[t("0x5e9")];i++)r[e.charAt(i)]=n[e][i];return 1!==n[t("0x1279")]&&(r.a=n.alpha),r},o[a("0x20f")][a("0xd4")]=function(e,t){var n,i,o=a,x=this.values,s=this.spaces,c=this.maxes,l=1;if(this[o("0x1d57")]=!0,e===o("0x1279"))l=t;else if(t.length)x[e]=t[o("0x9b3")](0,e[o("0x5e9")]),l=t[e.length];else if(void 0!==t[e[o("0x24de")](0)]){for(n=0;n<e[o("0x5e9")];n++)x[e][n]=t[e.charAt(n)];l=t.a}else if(void 0!==t[s[e][0]]){var d=s[e];for(n=0;n<e[o("0x5e9")];n++)x[e][n]=t[d[n]];l=t[o("0x1279")]}if(x[o("0x1279")]=Math.max(0,Math[o("0x11db")](1,void 0===l?x[o("0x1279")]:l)),e===o("0x1279"))return!1;for(n=0;n<e[o("0x5e9")];n++)i=Math[o("0x242b")](0,Math.min(c[e][n],x[e][n])),x[e][n]=Math[o("0x46d")](i);for(var u in s)u!==e&&(x[u]=r[e][u](x[e]));return!0},o[a("0x20f")][a("0x1f46")]=function(e,t){var n=a,r=t[0];return void 0===r?this.getValues(e):(typeof r===n("0x2231")&&(r=Array[n("0x20f")][n("0x9b3")][n("0x3c6b")](t)),this[n("0xd4")](e,r),this)},o[a("0x20f")][a("0x43ed")]=function(e,t,n){var r=a,i=this[r("0x3d61")][e];return void 0===n?i[t]:(n===i[t]||(i[t]=n,this[r("0xd4")](e,i)),this)},typeof window!==a("0xc42")&&(window[a("0xa10")]=o),e[a("0x33f9")]=o},2152:function(e){var t;t=function(){var e=a2_0x37cf;return function(e){var t={};function n(a){var r=a2_0x37cf;if(t[a])return t[a][r("0x33f9")];var i=t[a]={i:a,l:!1,exports:{}};return e[a][r("0x3c6b")](i[r("0x33f9")],i,i[r("0x33f9")],n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,a){!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){var t=a2_0x37cf;typeof Symbol!==t("0xc42")&&Symbol[t("0x2388")]&&Object[t("0x47ad")](e,Symbol[t("0x2388")],{value:"Module"}),Object.defineProperty(e,t("0x398d"),{value:!0})},n.t=function(e,t){var a=a2_0x37cf;if(1&t&&(e=n(e)),8&t)return e;if(4&t&&typeof e===a("0x1b1d")&&e&&e[a("0x398d")])return e;var r=Object[a("0x4b8c")](null);if(n.r(r),Object[a("0x47ad")](r,a("0x3993"),{enumerable:!0,value:e}),2&t&&typeof e!=a("0x38b7"))for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=a2_0x37cf,a=e&&e[t("0x398d")]?function(){return e[t("0x3993")]}:function(){return e};return n.d(a,"a",a),a},n.o=function(e,t){var n=a2_0x37cf;return Object[n("0x20f")][n("0x1bd4")][n("0x3c6b")](e,t)},n.p="",n(n.s=6)}([function(e,t){e.exports=function(e){var t,n=a2_0x37cf;if(e.nodeName===n("0x4d18"))e[n("0x2beb")](),t=e.value;else if(e.nodeName===n("0x3738")||e[n("0x4907")]===n("0x3db0")){var a=e[n("0x3a67")](n("0x3330"));!a&&e[n("0x4480")](n("0x3330"),""),e.select(),e[n("0x31bc")](0,e[n("0x3a33")][n("0x5e9")]),!a&&e[n("0x25b3")]("readonly"),t=e[n("0x3a33")]}else{e[n("0x3a67")](n("0x3ed4"))&&e[n("0x2beb")]();var r=window[n("0x2de6")](),i=document[n("0x3e00")]();i[n("0x1a18")](e),r[n("0x713")](),r[n("0x4755")](i),t=r[n("0x3c88")]()}return t}},function(e,t){var n=a2_0x37cf;function a(){}a[n("0x20f")]={on:function(e,t,n){var a=this.e||(this.e={});return(a[e]||(a[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var a=this;function r(){var i=a2_0x37cf;a[i("0x30f8")](e,r),t.apply(n,arguments)}return r._=t,this.on(e,r,n)},emit:function(e){for(var t=n,a=[][t("0x9b3")][t("0x3c6b")](arguments,1),r=((this.e||(this.e={}))[e]||[])[t("0x9b3")](),i=0,o=r[t("0x5e9")];i<o;i++)r[i].fn.apply(r[i][t("0x1ebf")],a);return this},off:function(e,t){var a=n,r=this.e||(this.e={}),i=r[e],o=[];if(i&&t)for(var x=0,s=i[a("0x5e9")];x<s;x++)i[x].fn!==t&&i[x].fn._!==t&&o[a("0x459a")](i[x]);return o[a("0x5e9")]?r[e]=o:delete r[e],this}},e[n("0x33f9")]=a,e.exports[n("0x6c1")]=a},function(e,t,n){var a=a2_0x37cf,r=n(3),i=n(4);e[a("0x33f9")]=function(e,t,n){var a,o,x,s,c,l,d,u,f,m,b,_=a2_0x37cf;if(!e&&!t&&!n)throw new Error(_("0x4d19"));if(!r.string(t))throw new TypeError(_("0xb11"));if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r[_("0x13db")](e))return f=t,m=n,(u=e)[(b=a2_0x37cf)("0x4944")](f,m),{destroy:function(){u[b("0x4b59")](f,m)}};if(r[_("0x3fa1")](e))return s=e,c=t,l=n,d=a2_0x37cf,Array[d("0x20f")][d("0x5ba")][d("0x3c6b")](s,(function(e){e[d("0x4944")](c,l)})),{destroy:function(){var e=d;Array[e("0x20f")].forEach[e("0x3c6b")](s,(function(t){t[e("0x4b59")](c,l)}))}};if(r[_("0x38b7")](e))return a=e,o=t,x=n,i(document.body,a,o,x);throw new TypeError(_("0x319a"))}},function(e,t){var n=a2_0x37cf;t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t[n("0x3fa1")]=function(e){var a=n,r=Object[a("0x20f")][a("0x3c88")][a("0x3c6b")](e);return void 0!==e&&("[object NodeList]"===r||"[object HTMLCollection]"===r)&&a("0x5e9")in e&&(0===e[a("0x5e9")]||t.node(e[0]))},t.string=function(e){return typeof e===n("0x38b7")||e instanceof String},t.fn=function(e){var t=n;return Object[t("0x20f")].toString[t("0x3c6b")](e)===t("0x27b9")}},function(e,t,n){var a=a2_0x37cf,r=n(5);function i(e,t,n,a,r){var i=o.apply(this,arguments);return e.addEventListener(n,i,r),{destroy:function(){e.removeEventListener(n,i,r)}}}function o(e,t,n,a){return function(n){var i=a2_0x37cf;n[i("0x2504")]=r(n[i("0x55d")],t),n[i("0x2504")]&&a[i("0x3c6b")](e,n)}}e[a("0x33f9")]=function(e,t,n,a,r){var o=a2_0x37cf;return"function"==typeof e[o("0x4944")]?i[o("0x4884")](null,arguments):typeof n===o("0x3349")?i[o("0x2b0c")](null,document)[o("0x4884")](null,arguments):(typeof e===o("0x38b7")&&(e=document.querySelectorAll(e)),Array[o("0x20f")][o("0x19e8")][o("0x3c6b")](e,(function(e){return i(e,t,n,a,r)})))}},function(e,t){var n=a2_0x37cf;if("undefined"!=typeof Element&&!Element[n("0x20f")][n("0x3c01")]){var a=Element.prototype;a.matches=a[n("0x24fa")]||a[n("0x2cf1")]||a[n("0x1e5f")]||a[n("0x464e")]||a[n("0x46d8")]}e[n("0x33f9")]=function(e,t){for(var a=n;e&&9!==e[a("0x4879")];){if(typeof e.matches===a("0x3349")&&e[a("0x3c01")](t))return e;e=e[a("0x368c")]}}},function(e,t,n){var a=a2_0x37cf;n.r(t);var r=n(0),i=n.n(r),o="function"==typeof Symbol&&typeof Symbol[a("0x1275")]===a("0x40c6")?function(e){return typeof e}:function(e){var t=a;return e&&"function"==typeof Symbol&&e[t("0x11ae")]===Symbol&&e!==Symbol[t("0x20f")]?t("0x40c6"):typeof e},x=function(){function e(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}return function(t,n,a){return n&&e(t[a2_0x37cf("0x20f")],n),a&&e(t,a),t}}(),s=function(){var e=a;function t(e){var n=a2_0x37cf;(function(e,t){if(!(e instanceof t))throw new TypeError(a("0xfae"))})(this,t),this[n("0x363c")](e),this.initSelection()}return x(t,[{key:e("0x363c"),value:function(){var t=e,n=arguments[t("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};this[t("0x39a8")]=n.action,this[t("0x110e")]=n[t("0x110e")],this[t("0x1421")]=n[t("0x1421")],this[t("0x55d")]=n[t("0x55d")],this[t("0x806")]=n[t("0x806")],this[t("0x3cef")]=n[t("0x3cef")],this.selectedText=""}},{key:e("0x18df"),value:function(){var t=e;this[t("0x806")]?this.selectFake():this[t("0x55d")]&&this.selectTarget()}},{key:"selectFake",value:function(){var t=e,n=this,a=document.documentElement.getAttribute(t("0x2a80"))==t("0x18c8");this[t("0x406c")](),this.fakeHandlerCallback=function(){return n[t("0x406c")]()},this.fakeHandler=this[t("0x110e")][t("0x4944")]("click",this[t("0x1b59")])||!0,this.fakeElem=document[t("0x4202")](t("0x1f05")),this[t("0x3691")][t("0x4025")][t("0x28bd")]=t("0x1a86"),this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this[t("0x3691")].style[t("0xa4e")]="0",this[t("0x3691")][t("0x4025")][t("0x342c")]="absolute",this[t("0x3691")][t("0x4025")][t(a?"0x30eb":"0x2885")]=t("0x586");var r=window[t("0x8a1")]||document[t("0x4c17")].scrollTop;this[t("0x3691")].style[t("0x228a")]=r+"px",this.fakeElem[t("0x4480")]("readonly",""),this[t("0x3691")][t("0x3a33")]=this[t("0x806")],this[t("0x110e")].appendChild(this[t("0x3691")]),this.selectedText=i()(this[t("0x3691")]),this.copyText()}},{key:e("0x406c"),value:function(){var t=e;this[t("0xa77")]&&(this[t("0x110e")][t("0x4b59")]("click",this.fakeHandlerCallback),this.fakeHandler=null,this[t("0x1b59")]=null),this[t("0x3691")]&&(this[t("0x110e")][t("0xffd")](this[t("0x3691")]),this[t("0x3691")]=null)}},{key:e("0x30c9"),value:function(){var t=e;this[t("0x110b")]=i()(this[t("0x55d")]),this[t("0x127")]()}},{key:"copyText",value:function(){var t=e,n=void 0;try{n=document[t("0x3ca8")](this.action)}catch(e){n=!1}this.handleResult(n)}},{key:"handleResult",value:function(t){var n=e;this[n("0x1421")][n("0xe39")](t?"success":n("0x4ad3"),{action:this[n("0x39a8")],text:this[n("0x110b")],trigger:this[n("0x3cef")],clearSelection:this[n("0x2497")].bind(this)})}},{key:"clearSelection",value:function(){var t=e;this.trigger&&this[t("0x3cef")][t("0x2beb")](),document[t("0x3671")][t("0x4a1")](),window[t("0x2de6")]()[t("0x713")]()}},{key:e("0xdc5"),value:function(){this[e("0x406c")]()}},{key:e("0x39a8"),set:function(){var t=e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t("0x4d98");if(this._action=n,"copy"!==this[t("0x32de")]&&this._action!==t("0x2320"))throw new Error(t("0x516"))},get:function(){return this._action}},{key:e("0x55d"),set:function(t){var n=e;if(void 0!==t){if(!t||(typeof t===n("0xc42")?n("0xc42"):o(t))!==n("0x1b1d")||1!==t[n("0x4879")])throw new Error(n("0xef"));if(this[n("0x39a8")]===n("0x4d98")&&t[n("0x3a67")](n("0x1c54")))throw new Error(n("0x233"));if("cut"===this[n("0x39a8")]&&(t[n("0x3a67")](n("0x3330"))||t.hasAttribute(n("0x1c54"))))throw new Error(n("0x30dd"));this._target=t}},get:function(){return this._target}}]),t}(),c=n(1),l=n.n(c),d=n(2),u=n.n(d),f=typeof Symbol===a("0x3349")&&typeof Symbol[a("0x1275")]===a("0x40c6")?function(e){return typeof e}:function(e){var t=a;return e&&typeof Symbol===t("0x3349")&&e[t("0x11ae")]===Symbol&&e!==Symbol[t("0x20f")]?t("0x40c6"):typeof e},m=function(){function e(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}return function(t,n,a){return n&&e(t[a2_0x37cf("0x20f")],n),a&&e(t,a),t}}(),b=function(e){var t=a;function n(e,t){var r=a2_0x37cf;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var i=function(e,t){var n=a;if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||typeof t!==n("0x1b1d")&&typeof t!==n("0x3349")?e:t}(this,(n.__proto__||Object.getPrototypeOf(n))[r("0x3c6b")](this));return i[r("0x363c")](t),i.listenClick(e),i}return function(e,t){var n=a;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object[n("0x409e")]?Object[n("0x409e")](e,t):e[n("0x287c")]=t)}(n,e),m(n,[{key:t("0x363c"),value:function(){var e=t,n=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};this.action=typeof n[e("0x39a8")]===e("0x3349")?n[e("0x39a8")]:this[e("0x1c37")],this.target="function"==typeof n[e("0x55d")]?n[e("0x55d")]:this[e("0x3a29")],this[e("0x806")]="function"==typeof n[e("0x806")]?n[e("0x806")]:this[e("0x4259")],this.container=f(n[e("0x110e")])===e("0x1b1d")?n.container:document[e("0x3b3e")]}},{key:t("0x1cac"),value:function(e){var n=this;this[t("0x3127")]=u()(e,"click",(function(e){return n.onClick(e)}))}},{key:t("0x458e"),value:function(e){var n=t,a=e[n("0x2504")]||e.currentTarget;this[n("0x13c0")]&&(this[n("0x13c0")]=null),this[n("0x13c0")]=new s({action:this.action(a),target:this[n("0x55d")](a),text:this[n("0x806")](a),container:this[n("0x110e")],trigger:a,emitter:this})}},{key:t("0x1c37"),value:function(e){return _(t("0x39a8"),e)}},{key:t("0x3a29"),value:function(e){var n=t,a=_(n("0x55d"),e);if(a)return document[n("0x31f7")](a)}},{key:"defaultText",value:function(e){return _(t("0x806"),e)}},{key:t("0xdc5"),value:function(){var e=t;this.listener.destroy(),this[e("0x13c0")]&&(this.clipboardAction[e("0xdc5")](),this[e("0x13c0")]=null)}}],[{key:t("0x3d4f"),value:function(){var e=t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[e("0x4d98"),e("0x2320")],a=typeof n===e("0x38b7")?[n]:n,r=!!document.queryCommandSupported;return a[e("0x5ba")]((function(t){r=r&&!!document[e("0x229f")](t)})),r}}]),n}(l.a);function _(e,t){var n=a,r=n("0x275c")+e;if(t[n("0x3a67")](r))return t.getAttribute(r)}t.default=b}])[e("0x3993")]},e[a2_0x37cf("0x33f9")]=t()},8168:(e,t,n)=>{var a=_0x299160,r=n(8874),i={};for(var o in r)r[a("0x1bd4")](o)&&(i[r[o]]=o);var x=e[a("0x33f9")]={rgb:{channels:3,labels:a("0x12ef")},hsl:{channels:3,labels:a("0x784")},hsv:{channels:3,labels:a("0x285e")},hwb:{channels:3,labels:a("0x31ca")},cmyk:{channels:4,labels:a("0x16c3")},xyz:{channels:3,labels:a("0x84e")},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:a("0x5ec")},hex:{channels:1,labels:[a("0x7d1")]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:[a("0x4f02")]},ansi256:{channels:1,labels:[a("0x3f02")]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:[a("0x2ab7"),a("0x4a74"),a("0x1639")]},gray:{channels:1,labels:["gray"]}};for(var s in x)if(x.hasOwnProperty(s)){if(!("channels"in x[s]))throw new Error(a("0x147")+s);if(!(a("0x374b")in x[s]))throw new Error(a("0x3992")+s);if(x[s][a("0x374b")][a("0x5e9")]!==x[s][a("0x25c0")])throw new Error("channel and label counts mismatch: "+s);var c=x[s].channels,l=x[s].labels;delete x[s].channels,delete x[s][a("0x374b")],Object[a("0x47ad")](x[s],a("0x25c0"),{value:c}),Object[a("0x47ad")](x[s],a("0x374b"),{value:l})}x[a("0x12ef")][a("0x784")]=function(e){var t,n,r=a,i=e[0]/255,o=e[1]/255,x=e[2]/255,s=Math[r("0x11db")](i,o,x),c=Math.max(i,o,x),l=c-s;return c===s?t=0:i===c?t=(o-x)/l:o===c?t=2+(x-i)/l:x===c&&(t=4+(i-o)/l),(t=Math.min(60*t,360))<0&&(t+=360),n=(s+c)/2,[t,100*(c===s?0:n<=.5?l/(c+s):l/(2-c-s)),100*n]},x[a("0x12ef")][a("0x285e")]=function(e){var t,n,r,i,o,x=a,s=e[0]/255,c=e[1]/255,l=e[2]/255,d=Math[x("0x242b")](s,c,l),u=d-Math[x("0x11db")](s,c,l),f=function(e){return(d-e)/6/u+.5};return 0===u?i=o=0:(o=u/d,t=f(s),n=f(c),r=f(l),s===d?i=r-n:c===d?i=1/3+t-r:l===d&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*d]},x[a("0x12ef")].hwb=function(e){var t=a,n=e[0],r=e[1],i=e[2];return[x[t("0x12ef")][t("0x784")](e)[0],100*(1/255*Math.min(n,Math[t("0x11db")](r,i))),100*(i=1-1/255*Math[t("0x242b")](n,Math[t("0x242b")](r,i)))]},x[a("0x12ef")][a("0x16c3")]=function(e){var t,n=e[0]/255,a=e[1]/255,r=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-a,1-r)))/(1-t)||0),100*((1-a-t)/(1-t)||0),100*((1-r-t)/(1-t)||0),100*t]},x[a("0x12ef")][a("0x2038")]=function(e){var t=i[e];if(t)return t;var n,o,x,s,c=1/0;for(var l in r)if(r.hasOwnProperty(l)){var d=r[l],u=(o=e,x=d,s=void 0,s=a,Math.pow(o[0]-x[0],2)+Math[s("0x3861")](o[1]-x[1],2)+Math[s("0x3861")](o[2]-x[2],2));u<c&&(c=u,n=l)}return n},x.keyword.rgb=function(e){return r[e]},x.rgb[a("0x84e")]=function(e){var t=a,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*(.4124*(n=n>.04045?Math[t("0x3861")]((n+.055)/1.055,2.4):n/12.92)+.3576*(r=r>.04045?Math[t("0x3861")]((r+.055)/1.055,2.4):r/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*n+.7152*r+.0722*i),100*(.0193*n+.1192*r+.9505*i)]},x[a("0x12ef")][a("0x2213")]=function(e){var t=a,n=x.rgb[t("0x84e")](e),r=n[0],i=n[1],o=n[2];return i/=100,o/=108.883,r=(r/=95.047)>.008856?Math[t("0x3861")](r,1/3):7.787*r+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(r-i),200*(i-(o=o>.008856?Math[t("0x3861")](o,1/3):7.787*o+16/116))]},x[a("0x784")][a("0x12ef")]=function(e){var t,n,a,r,i,o=e[0]/360,x=e[1]/100,s=e[2]/100;if(0===x)return[i=255*s,i,i];t=2*s-(n=s<.5?s*(1+x):s+x-s*x),r=[0,0,0];for(var c=0;c<3;c++)(a=o+1/3*-(c-1))<0&&a++,a>1&&a--,i=6*a<1?t+6*(n-t)*a:2*a<1?n:3*a<2?t+(n-t)*(2/3-a)*6:t,r[c]=255*i;return r},x[a("0x784")][a("0x285e")]=function(e){var t=a,n=e[0],r=e[1]/100,i=e[2]/100,o=r,x=Math[t("0x242b")](i,.01);return r*=(i*=2)<=1?i:2-i,o*=x<=1?x:2-x,[n,100*(0===i?2*o/(x+o):2*r/(i+r)),100*((i+r)/2)]},x[a("0x285e")][a("0x12ef")]=function(e){var t=a,n=e[0]/60,r=e[1]/100,i=e[2]/100,o=Math[t("0x4184")](n)%6,x=n-Math[t("0x4184")](n),s=255*i*(1-r),c=255*i*(1-r*x),l=255*i*(1-r*(1-x));switch(i*=255,o){case 0:return[i,l,s];case 1:return[c,i,s];case 2:return[s,i,l];case 3:return[s,c,i];case 4:return[l,s,i];case 5:return[i,s,c]}},x.hsv[a("0x784")]=function(e){var t,n,r,i=a,o=e[0],x=e[1]/100,s=e[2]/100,c=Math[i("0x242b")](s,.01);return r=(2-x)*s,n=x*c,[o,100*(n=(n/=(t=(2-x)*c)<=1?t:2-t)||0),100*(r/=2)]},x.hwb[a("0x12ef")]=function(e){var t,n,r,i,o,x,s,c=a,l=e[0]/360,d=e[1]/100,u=e[2]/100,f=d+u;switch(f>1&&(d/=f,u/=f),r=6*l-(t=Math[c("0x4184")](6*l)),0!=(1&t)&&(r=1-r),i=d+r*((n=1-u)-d),t){default:case 6:case 0:o=n,x=i,s=d;break;case 1:o=i,x=n,s=d;break;case 2:o=d,x=n,s=i;break;case 3:o=d,x=i,s=n;break;case 4:o=i,x=d,s=n;break;case 5:o=n,x=d,s=i}return[255*o,255*x,255*s]},x.cmyk[a("0x12ef")]=function(e){var t=a,n=e[0]/100,r=e[1]/100,i=e[2]/100,o=e[3]/100;return[255*(1-Math[t("0x11db")](1,n*(1-o)+o)),255*(1-Math[t("0x11db")](1,r*(1-o)+o)),255*(1-Math.min(1,i*(1-o)+o))]},x[a("0x84e")][a("0x12ef")]=function(e){var t,n,r,i=a,o=e[0]/100,x=e[1]/100,s=e[2]/100;return n=-.9689*o+1.8758*x+.0415*s,r=.0557*o+-.204*x+1.057*s,t=(t=3.2406*o+-1.5372*x+-.4986*s)>.0031308?1.055*Math[i("0x3861")](t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math[i("0x3861")](n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math[i("0x3861")](r,1/2.4)-.055:12.92*r,[255*(t=Math[i("0x11db")](Math[i("0x242b")](0,t),1)),255*(n=Math[i("0x11db")](Math[i("0x242b")](0,n),1)),255*(r=Math[i("0x11db")](Math[i("0x242b")](0,r),1))]},x[a("0x84e")][a("0x2213")]=function(e){var t=a,n=e[0],r=e[1],i=e[2];return r/=100,i/=108.883,n=(n/=95.047)>.008856?Math[t("0x3861")](n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math[t("0x3861")](r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(i=i>.008856?Math[t("0x3861")](i,1/3):7.787*i+16/116))]},x[a("0x2213")][a("0x84e")]=function(e){var t,n,r,i=a,o=e[0];t=e[1]/500+(n=(o+16)/116),r=n-e[2]/200;var x=Math[i("0x3861")](n,3),s=Math[i("0x3861")](t,3),c=Math.pow(r,3);return n=x>.008856?x:(n-16/116)/7.787,t=s>.008856?s:(t-16/116)/7.787,r=c>.008856?c:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},x[a("0x2213")][a("0x5ec")]=function(e){var t,n=a,r=e[0],i=e[1],o=e[2];return(t=360*Math[n("0x303c")](o,i)/2/Math.PI)<0&&(t+=360),[r,Math[n("0x17c")](i*i+o*o),t]},x[a("0x5ec")][a("0x2213")]=function(e){var t,n=a,r=e[0],i=e[1];return t=e[2]/360*2*Math.PI,[r,i*Math.cos(t),i*Math[n("0x1e9")](t)]},x[a("0x12ef")].ansi16=function(e){var t=a,n=e[0],r=e[1],i=e[2],o=1 in arguments?arguments[1]:x[t("0x12ef")][t("0x285e")](e)[2];if(0===(o=Math[t("0x46d")](o/50)))return 30;var s=30+(Math[t("0x46d")](i/255)<<2|Math[t("0x46d")](r/255)<<1|Math[t("0x46d")](n/255));return 2===o&&(s+=60),s},x.hsv[a("0x4f02")]=function(e){var t=a;return x[t("0x12ef")].ansi16(x[t("0x285e")][t("0x12ef")](e),e[2])},x[a("0x12ef")][a("0x3f02")]=function(e){var t=a,n=e[0],r=e[1],i=e[2];return n===r&&r===i?n<8?16:n>248?231:Math[t("0x46d")]((n-8)/247*24)+232:16+36*Math[t("0x46d")](n/255*5)+6*Math[t("0x46d")](r/255*5)+Math[t("0x46d")](i/255*5)},x.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},x[a("0x3f02")][a("0x12ef")]=function(e){var t,n=a;if(e>=232){var r=10*(e-232)+8;return[r,r,r]}return e-=16,[Math[n("0x4184")](e/36)/5*255,Math[n("0x4184")]((t=e%36)/6)/5*255,t%6/5*255]},x[a("0x12ef")][a("0x7d1")]=function(e){var t=a,n=(((255&Math[t("0x46d")](e[0]))<<16)+((255&Math[t("0x46d")](e[1]))<<8)+(255&Math[t("0x46d")](e[2])))[t("0x3c88")](16)[t("0x110")]();return"000000"[t("0x35e7")](n.length)+n},x[a("0x7d1")][a("0x12ef")]=function(e){var t=a,n=e[t("0x3c88")](16)[t("0x2cd9")](/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!n)return[0,0,0];var r=n[0];3===n[0][t("0x5e9")]&&(r=r.split("")[t("0x19e8")]((function(e){return e+e}))[t("0xc60")](""));var i=parseInt(r,16);return[i>>16&255,i>>8&255,255&i]},x.rgb[a("0x1441")]=function(e){var t,n=a,r=e[0]/255,i=e[1]/255,o=e[2]/255,x=Math[n("0x242b")](Math[n("0x242b")](r,i),o),s=Math.min(Math[n("0x11db")](r,i),o),c=x-s;return t=c<=0?0:x===r?(i-o)/c%6:x===i?2+(o-r)/c:4+(r-i)/c+4,t/=6,[360*(t%=1),100*c,100*(c<1?s/(1-c):0)]},x.hsl[a("0x1441")]=function(e){var t=e[1]/100,n=e[2]/100,a=1,r=0;return(a=n<.5?2*t*n:2*t*(1-n))<1&&(r=(n-.5*a)/(1-a)),[e[0],100*a,100*r]},x[a("0x285e")][a("0x1441")]=function(e){var t=e[1]/100,n=e[2]/100,a=t*n,r=0;return a<1&&(r=(n-a)/(1-a)),[e[0],100*a,100*r]},x[a("0x1441")][a("0x12ef")]=function(e){var t=e[0]/360,n=e[1]/100,a=e[2]/100;if(0===n)return[255*a,255*a,255*a];var r,i=[0,0,0],o=t%1*6,x=o%1,s=1-x;switch(Math.floor(o)){case 0:i[0]=1,i[1]=x,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=x;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=x,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return r=(1-n)*a,[255*(n*i[0]+r),255*(n*i[1]+r),255*(n*i[2]+r)]},x[a("0x1441")][a("0x285e")]=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),a=0;return n>0&&(a=t/n),[e[0],100*a,100*n]},x[a("0x1441")].hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,a=0;return n>0&&n<.5?a=t/(2*n):n>=.5&&n<1&&(a=t/(2*(1-n))),[e[0],100*a,100*n]},x[a("0x1441")].hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},x[a("0x31ca")].hcg=function(e){var t=e[1]/100,n=1-e[2]/100,a=n-t,r=0;return a<1&&(r=(n-a)/(1-a)),[e[0],100*a,100*r]},x[a("0x3d97")][a("0x12ef")]=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},x[a("0x12ef")][a("0x3d97")]=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},x[a("0x16df")][a("0x12ef")]=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},x.gray.hsl=x[a("0x16df")].hsv=function(e){return[0,0,e[0]]},x[a("0x16df")][a("0x31ca")]=function(e){return[0,100,e[0]]},x[a("0x16df")][a("0x16c3")]=function(e){return[0,0,0,e[0]]},x[a("0x16df")].lab=function(e){return[e[0],0,0]},x.gray[a("0x7d1")]=function(e){var t=a,n=255&Math[t("0x46d")](e[0]/100*255),r=((n<<16)+(n<<8)+n)[t("0x3c88")](16).toUpperCase();return t("0x4c84")[t("0x35e7")](r[t("0x5e9")])+r},x[a("0x12ef")][a("0x16df")]=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},2085:(e,t,n)=>{var a=_0x299160,r=n(8168),i=n(4111),o={};Object.keys(r)[a("0x5ba")]((function(e){var t=a;o[e]={},Object[t("0x47ad")](o[e],t("0x25c0"),{value:r[e].channels}),Object[t("0x47ad")](o[e],t("0x374b"),{value:r[e][t("0x374b")]});var n=i(e);Object[t("0xa35")](n).forEach((function(a){var r,i,x,s,c,l=t,d=n[a];o[e][a]=(x=d,c=function(e){var t=a2_0x37cf;if(null==e)return e;arguments.length>1&&(e=Array.prototype.slice[t("0x3c6b")](arguments));var n=x(e);if("object"==typeof n)for(var a=n[t("0x5e9")],r=0;r<a;r++)n[r]=Math.round(n[r]);return n},(s=a2_0x37cf)("0x3d65")in x&&(c.conversion=x[s("0x3d65")]),c),o[e][a][l("0x290")]=(i=function(e){var t=a2_0x37cf;return null==e?e:(arguments[t("0x5e9")]>1&&(e=Array.prototype.slice[t("0x3c6b")](arguments)),r(e))},"conversion"in(r=d)&&(i[a2_0x37cf("0x3d65")]=r.conversion),i)}))})),e[a("0x33f9")]=o},4111:(e,t,n)=>{var a=_0x299160,r=n(8168);function i(e){var t=a2_0x37cf,n=function(){for(var e=a2_0x37cf,t={},n=Object[e("0xa35")](r),a=n[e("0x5e9")],i=0;i<a;i++)t[n[i]]={distance:-1,parent:null};return t}(),a=[e];for(n[e][t("0x3e54")]=0;a[t("0x5e9")];)for(var i=a[t("0x4acd")](),o=Object[t("0xa35")](r[i]),x=o[t("0x5e9")],s=0;s<x;s++){var c=o[s],l=n[c];-1===l[t("0x3e54")]&&(l[t("0x3e54")]=n[i].distance+1,l[t("0x731")]=i,a[t("0x4e4a")](c))}return n}function o(e,t){return function(n){return t(e(n))}}function x(e,t){for(var n=a2_0x37cf,a=[t[e][n("0x731")],e],i=r[t[e][n("0x731")]][e],x=t[e][n("0x731")];t[x][n("0x731")];)a.unshift(t[x][n("0x731")]),i=o(r[t[x].parent][x],i),x=t[x][n("0x731")];return i[n("0x3d65")]=a,i}e[a("0x33f9")]=function(e){for(var t=a,n=i(e),r={},o=Object[t("0xa35")](n),s=o[t("0x5e9")],c=0;c<s;c++){var l=o[c];null!==n[l][t("0x731")]&&(r[l]=x(l,n))}return r}},8874:e=>{e[_0x299160("0x33f9")]={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},6077:e=>{var t=_0x299160,n=[][t("0x9b3")];e.exports=function(e,a){var r=t;if(r("0x38b7")==typeof a&&(a=e[a]),r("0x3349")!=typeof a)throw new Error("bind() requires a function");var i=n[r("0x3c6b")](arguments,2);return function(){var t=r;return a[t("0x4884")](e,i[t("0x3abc")](n[t("0x3c6b")](arguments)))}}},8767:e=>{var t=_0x299160;function n(e){if(e)return function(e){var a=t;for(var r in n[a("0x20f")])e[r]=n[a("0x20f")][r];return e}(e)}e[t("0x33f9")]=n,n.prototype.on=n.prototype.addEventListener=function(e,n){var a=t;return this[a("0x1b7a")]=this[a("0x1b7a")]||{},(this[a("0x1b7a")]["$"+e]=this[a("0x1b7a")]["$"+e]||[])[a("0x459a")](n),this},n[t("0x20f")][t("0x4299")]=function(e,t){function n(){var a=a2_0x37cf;this[a("0x30f8")](e,n),t[a("0x4884")](this,arguments)}return n.fn=t,this.on(e,n),this},n[t("0x20f")].off=n[t("0x20f")][t("0x1dc")]=n[t("0x20f")].removeAllListeners=n[t("0x20f")][t("0x4b59")]=function(e,n){var a=t;if(this[a("0x1b7a")]=this[a("0x1b7a")]||{},0==arguments[a("0x5e9")])return this[a("0x1b7a")]={},this;var r,i=this[a("0x1b7a")]["$"+e];if(!i)return this;if(1==arguments[a("0x5e9")])return delete this[a("0x1b7a")]["$"+e],this;for(var o=0;o<i[a("0x5e9")];o++)if((r=i[o])===n||r.fn===n){i[a("0x2bcf")](o,1);break}return 0===i.length&&delete this[a("0x1b7a")]["$"+e],this},n[t("0x20f")].emit=function(e){var n=t;this[n("0x1b7a")]=this[n("0x1b7a")]||{};for(var a=new Array(arguments[n("0x5e9")]-1),r=this[n("0x1b7a")]["$"+e],i=1;i<arguments[n("0x5e9")];i++)a[i-1]=arguments[i];if(r){i=0;for(var o=(r=r[n("0x9b3")](0)).length;i<o;++i)r[i][n("0x4884")](this,a)}return this},n[t("0x20f")][t("0x22a0")]=function(e){return this[t("0x1b7a")]=this._callbacks||{},this._callbacks["$"+e]||[]},n.prototype[t("0x323f")]=function(e){return!!this[t("0x22a0")](e).length}},1227:(e,t,n)=>{var a=_0x299160;t[a("0x41fd")]=function(t){var n=a;if(t[0]=(this.useColors?"%c":"")+this[n("0x4939")]+(this[n("0x46f7")]?n("0x2879"):" ")+t[0]+(this[n("0x46f7")]?n("0x480a"):" ")+"+"+e.exports[n("0xd85")](this[n("0x4019")]),!this.useColors)return;const r=n("0x3de0")+this[n("0xf2c")];t[n("0x2bcf")](1,0,r,n("0x2cee"));let i=0,o=0;t[0][n("0x3cc0")](/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(i++,"%c"===e&&(o=i))})),t[n("0x2bcf")](o,0,r)},t[a("0x37e0")]=function(e){var n=a;try{e?t.storage[n("0x473b")](n("0x3382"),e):t[n("0x3db5")][n("0x1b2f")](n("0x3382"))}catch(e){}},t.load=function(){var e=a;let n;try{n=t[e("0x3db5")][e("0x1fc8")](e("0x3382"))}catch(e){}return!n&&typeof process!==e("0xc42")&&e("0x3603")in process&&(n=process[e("0x3603")].DEBUG),n},t[a("0x46f7")]=function(){var e=a;return!(typeof window===e("0xc42")||!window[e("0x4731")]||window[e("0x4731")][e("0x3298")]!==e("0x1a16")&&!window[e("0x4731")].__nwjs)||(typeof navigator===e("0xc42")||!navigator[e("0x22fc")]||!navigator[e("0x22fc")].toLowerCase()[e("0x2cd9")](/(edge|trident)\/(\d+)/))&&(typeof document!==e("0xc42")&&document[e("0x4c17")]&&document[e("0x4c17")].style&&document[e("0x4c17")].style[e("0x3e75")]||typeof window!==e("0xc42")&&window[e("0x2196")]&&(window[e("0x2196")][e("0x4fe5")]||window[e("0x2196")][e("0x3120")]&&window[e("0x2196")][e("0x37f3")])||typeof navigator!==e("0xc42")&&navigator[e("0x22fc")]&&navigator[e("0x22fc")][e("0x2eb9")]()[e("0x2cd9")](/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!==e("0xc42")&&navigator[e("0x22fc")]&&navigator.userAgent[e("0x2eb9")]()[e("0x2cd9")](/applewebkit\/(\d+)/))},t[a("0x3db5")]=function(){try{return localStorage}catch(e){}}(),t[a("0x273f")]=[a("0xe44"),"#0000FF",a("0x4826"),a("0x3375"),a("0x24dc"),a("0xff7"),a("0x33a3"),"#0099FF","#00CC00",a("0x1d85"),a("0x3bd1"),"#00CC99",a("0x3715"),a("0x3a7f"),"#3300CC",a("0x199d"),"#3333CC","#3333FF",a("0x3f2a"),a("0x480"),a("0x439"),a("0x2586"),a("0x1fd6"),a("0x2051"),a("0x39f"),"#33CC99",a("0x95d"),a("0x4bdc"),"#6600CC",a("0x4960"),a("0x2bc1"),a("0x4c77"),a("0x45e7"),a("0x12b1"),"#9900CC",a("0x1faa"),a("0xdd7"),a("0xe96"),a("0x1bed"),a("0x1ff0"),a("0xda7"),"#CC0033",a("0x28af"),a("0x37b1"),"#CC00CC",a("0x125b"),"#CC3300","#CC3333",a("0x4bc"),"#CC3399","#CC33CC",a("0x4eb8"),a("0x3481"),"#CC6633",a("0x3064"),"#CC9933",a("0x1a62"),a("0x7a3"),a("0x2975"),a("0x1499"),"#FF0066",a("0x3837"),"#FF00CC",a("0x4787"),"#FF3300",a("0xce3"),a("0x122b"),a("0x9c9"),a("0x49fc"),a("0x4200"),"#FF6600",a("0x3a5b"),a("0x3725"),"#FF9933","#FFCC00",a("0x889")],t[a("0x10f3")]=console.debug||console[a("0x10f3")]||(()=>{}),e[a("0x33f9")]=n(2447)(t);const{formatters:r}=e[a("0x33f9")];r.j=function(e){var t=a;try{return JSON.stringify(e)}catch(e){return t("0x3e4c")+e[t("0x45ea")]}}},2447:(e,t,n)=>{e[_0x299160("0x33f9")]=function(e){var t=a2_0x37cf;function a(e){var n=t;let o;function x(...e){var t=a2_0x37cf;if(!x[t("0x48b5")])return;const n=x,r=Number(new Date),i=r-(o||r);n.diff=i,n.prev=o,n[t("0x4dfa")]=r,o=r,e[0]=a.coerce(e[0]),typeof e[0]!==t("0x38b7")&&e[t("0x4e4a")]("%O");let s=0;e[0]=e[0][t("0x3cc0")](/%([a-zA-Z%])/g,((r,i)=>{var o=t;if("%%"===r)return r;s++;const x=a[o("0x2d44")][i];if(typeof x===o("0x3349")){const t=e[s];r=x[o("0x3c6b")](n,t),e[o("0x2bcf")](s,1),s--}return r})),a[t("0x41fd")].call(n,e);(n[t("0x10f3")]||a[t("0x10f3")]).apply(n,e)}return x[n("0x4939")]=e,x[n("0x48b5")]=a[n("0x48b5")](e),x.useColors=a[n("0x46f7")](),x[n("0xf2c")]=a[n("0x2f0d")](e),x.destroy=r,x.extend=i,typeof a[n("0xeed")]===n("0x3349")&&a[n("0xeed")](x),a.instances.push(x),x}function r(){var e=t;const n=a.instances.indexOf(this);return-1!==n&&(a[e("0x273e")].splice(n,1),!0)}function i(e,n){var r=t;const i=a(this.namespace+(typeof n===r("0xc42")?":":n)+e);return i.log=this[r("0x10f3")],i}function o(e){var n=t;return e[n("0x3c88")]()[n("0x35e7")](2,e.toString().length-2)[n("0x3cc0")](/\.\*\?$/,"*")}return a[t("0x3382")]=a,a[t("0x3993")]=a,a[t("0xe4d")]=function(e){var n=t;return e instanceof Error?e[n("0x375a")]||e[n("0x45ea")]:e},a.disable=function(){var e=t;const n=[...a[e("0x41c8")][e("0x19e8")](o),...a[e("0x42a4")].map(o)[e("0x19e8")]((e=>"-"+e))][e("0xc60")](",");return a[e("0x1a33")](""),n},a[t("0x1a33")]=function(e){var n=t;let r;a[n("0x37e0")](e),a[n("0x41c8")]=[],a[n("0x42a4")]=[];const i=(typeof e===n("0x38b7")?e:"")[n("0x9e5")](/[\s,]+/),o=i[n("0x5e9")];for(r=0;r<o;r++)i[r]&&("-"===(e=i[r][n("0x3cc0")](/\*/g,".*?"))[0]?a.skips[n("0x459a")](new RegExp("^"+e.substr(1)+"$")):a[n("0x41c8")].push(new RegExp("^"+e+"$")));for(r=0;r<a[n("0x273e")][n("0x5e9")];r++){const e=a.instances[r];e.enabled=a[n("0x48b5")](e[n("0x4939")])}},a.enabled=function(e){var n=t;if("*"===e[e[n("0x5e9")]-1])return!0;let r,i;for(r=0,i=a[n("0x42a4")][n("0x5e9")];r<i;r++)if(a.skips[r][n("0x3ff3")](e))return!1;for(r=0,i=a[n("0x41c8")][n("0x5e9")];r<i;r++)if(a[n("0x41c8")][r].test(e))return!0;return!1},a[t("0xd85")]=n(7824),Object[t("0xa35")](e).forEach((t=>{a[t]=e[t]})),a[t("0x273e")]=[],a.names=[],a[t("0x42a4")]=[],a[t("0x2d44")]={},a.selectColor=function(e){var n=t;let r=0;for(let t=0;t<e[n("0x5e9")];t++)r=(r<<5)-r+e[n("0x11df")](t),r|=0;return a[n("0x273f")][Math[n("0x681")](r)%a[n("0x273f")][n("0x5e9")]]},a[t("0x1a33")](a.load()),a}},9914:(e,t,n)=>{"use strict";var a;!function(){var r,i,o=a2_0x37cf,x=o("0x1bc4");if(y=typeof process===o("0x1b1d")&&typeof process[o("0x338f")]===o("0x1b1d")&&process[o("0x338f")].node&&!process[o("0x3d3a")]){var s=process[o("0x338f")][o("0x13db")][o("0x3c88")]()[o("0x3cc0")]("v","");x=o("0x47c4")+s+o("0x2506")+s+o("0x19da")+s+o("0x476")+s}r=typeof n.g!==o("0xc42")?n.g:window,i=o,typeof window===i("0xc42")&&(typeof window===i("0xc42")&&typeof n.g!==i("0xc42")?(n.g.navigator={userAgent:x,getUserMedia:function(){}},r[i("0x7ee")]=n.g):i("0xc42"),typeof location===i("0xc42")&&(r[i("0x2c6")]={protocol:"file:",href:"",hash:""}),typeof screen===i("0xc42")&&(r[i("0x3c02")]={width:0,height:0}));var c=window[o("0x149d")];typeof c!==o("0xc42")?(typeof c[o("0x235d")]!==o("0xc42")&&(c[o("0x37d9")]=c.webkitGetUserMedia),typeof c[o("0x497c")]!==o("0xc42")&&(c[o("0x37d9")]=c.mozGetUserMedia)):c={getUserMedia:function(){},userAgent:x};var l=!!/Android|webOS|iPhone|iPad|iPod|BB10|BlackBerry|IEMobile|Opera Mini|Mobile|mobile/i[o("0x3ff3")](c[o("0x22fc")]||""),d=!(-1===c.userAgent[o("0x3507")](o("0x3d5f"))||!c[o("0x39e7")]&&!c[o("0x3a1")]),u=!!window[o("0x1ffb")]||c[o("0x22fc")].indexOf(o("0x4197"))>=0,f=c.userAgent[o("0x2eb9")]().indexOf(o("0x29ca"))>-1&&o("0x20ec")in window&&/ rv:/[o("0x3ff3")](c[o("0x22fc")]),m=/^((?!chrome|android).)*safari/i[o("0x3ff3")](c[o("0x22fc")]),b=!!window[o("0x3919")]&&!u,_=typeof document!==o("0xc42")&&!!document[o("0x3f66")]&&!d;function p(e,t){var n=o,a=0,r=!1,i=window[n("0x800")]((function(){var o=n;e()&&(window[o("0x16a1")](i),t(r)),a++>50&&(window[o("0x16a1")](i),t(r=!0))}),10)}var h={Android:function(){var e=o;return c[e("0x22fc")][e("0x2cd9")](/Android/i)},BlackBerry:function(){var e=o;return c[e("0x22fc")][e("0x2cd9")](/BlackBerry|BB10/i)},iOS:function(){var e=o;return c[e("0x22fc")][e("0x2cd9")](/iPhone|iPad|iPod/i)},Opera:function(){var e=o;return c[e("0x22fc")][e("0x2cd9")](/Opera Mini/i)},Windows:function(){var e=o;return c.userAgent[e("0x2cd9")](/IEMobile/i)},any:function(){var e=o;return h[e("0x270c")]()||h[e("0x1324")]()||h[e("0x2e43")]()||h.Opera()||h[e("0x2dda")]()},getOsName:function(){var e=o,t=e("0x1ca7");return h[e("0x270c")]()&&(t=e("0x270c")),h[e("0x1324")]()&&(t=e("0x1324")),h[e("0x2e43")]()&&(t=e("0x2e43")),h[e("0x1c7a")]()&&(t=e("0x199a")),h.Windows()&&(t="Windows"),t}};var g=o("0x1ca7"),v=o("0x1127");var S,E,A,T=function(){for(var e,t=o,n=c.appVersion,a=c[t("0x22fc")],r="-",i=[{s:t("0x31c5"),r:/CrOS/},{s:"Windows 10",r:/(Windows 10.0|Windows NT 10.0)/},{s:t("0x3b6e"),r:/(Windows 8.1|Windows NT 6.3)/},{s:t("0x251e"),r:/(Windows 8|Windows NT 6.2)/},{s:t("0xeb9"),r:/(Windows 7|Windows NT 6.1)/},{s:"Windows Vista",r:/Windows NT 6.0/},{s:t("0x364e"),r:/Windows NT 5.2/},{s:t("0x2627"),r:/(Windows NT 5.1|Windows XP)/},{s:t("0x2b0"),r:/(Windows NT 5.0|Windows 2000)/},{s:t("0xcae"),r:/(Win 9x 4.90|Windows ME)/},{s:t("0x2c51"),r:/(Windows 98|Win98)/},{s:t("0x67b"),r:/(Windows 95|Win95|Windows_95)/},{s:t("0x4f31"),r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:t("0x2a93"),r:/Windows CE/},{s:t("0x4252"),r:/Win16/},{s:t("0x270c"),r:/Android/},{s:t("0x216e"),r:/OpenBSD/},{s:t("0x34c6"),r:/SunOS/},{s:"Linux",r:/(Linux|X11)/},{s:t("0x2e43"),r:/(iPhone|iPad|iPod)/},{s:t("0x4e24"),r:/Mac OS X/},{s:t("0x1eb"),r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:t("0x2fa5"),r:/QNX/},{s:t("0x2c35"),r:/UNIX/},{s:t("0x147a"),r:/BeOS/},{s:t("0x156"),r:/OS\/2/},{s:t("0x445f"),r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}],x=0;e=i[x];x++)if(e.r[t("0x3ff3")](a)){r=e.s;break}var s="-";switch(/Windows/.test(r)&&(/Windows (.*)/[t("0x3ff3")](r)&&(s=/Windows (.*)/[t("0x3629")](r)[1]),r=t("0x2dda")),r){case t("0x4e24"):/Mac OS X (10[\.\_\d]+)/[t("0x3ff3")](a)&&(s=/Mac OS X (10[\.\_\d]+)/[t("0x3629")](a)[1]);break;case t("0x270c"):/Android ([\.\_\d]+)/.test(a)&&(s=/Android ([\.\_\d]+)/.exec(a)[1]);break;case t("0x2e43"):/OS (\d+)_(\d+)_?(\d+)?/.test(a)&&((s=/OS (\d+)_(\d+)_?(\d+)?/.exec(n))&&s[t("0x5e9")]>3&&(s=s[1]+"."+s[2]+"."+(0|s[3])))}return{osName:r,osVersion:s}}();T&&T[o("0x4ed6")]&&"-"!=T[o("0x4ed6")]?(g=T[o("0x4ed6")],v=T[o("0x33ee")]):h[o("0x8b6")]()&&((g=h.getOsName())==o("0x270c")&&(E=o,v=!!(A=(S=(S||c.userAgent).toLowerCase())[E("0x2cd9")](/android\s([0-9\.]*)/))&&A[1]));var y=typeof process===o("0x1b1d")&&typeof process[o("0x338f")]===o("0x1b1d")&&process.versions[o("0x13db")];g===o("0x1ca7")&&y&&(g=o("0x996"),v=process.versions[o("0x13db")][o("0x3c88")]()[o("0x3cc0")]("v",""));var C=!1,w=!1;["captureStream",o("0x2bde"),"webkitCaptureStream"][o("0x5ba")]((function(e){var t=o;typeof document!==t("0xc42")&&typeof document[t("0x4202")]===t("0x3349")&&(!C&&e in document.createElement(t("0x4859"))&&(C=!0),!w&&e in document.createElement("video")&&(w=!0))}));var M=/^(192\.168\.|169\.254\.|10\.|172\.(1[6-9]|2\d|3[01]))/,R=/([0-9]{1,3}(\.[0-9]{1,3}){3})/,D=/[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7}/;var I=[],N=[],O=[],k=[];c[o("0x2ccc")]&&c[o("0x2ccc")][o("0x3399")]&&(c.enumerateDevices=function(e){var t=o,n=c[t("0x2ccc")].enumerateDevices();n&&n[t("0x34e8")]?c[t("0x2ccc")][t("0x3399")]().then(e).catch((function(){e([])})):e([])});var P=!1;(typeof MediaStreamTrack!==o("0xc42")&&"getSources"in MediaStreamTrack||c[o("0x2ccc")]&&c[o("0x2ccc")][o("0x3399")])&&(P=!0);var L=!1,F=!1,B=!1,Y=!1,G=!1;function H(e){var t=o;if(P)if(!c[t("0x3399")]&&window[t("0x1392")]&&window[t("0x1392")].getSources&&(c.enumerateDevices=window[t("0x1392")][t("0x31e1")][t("0x2b0c")](window[t("0x1392")])),!c[t("0x3399")]&&c[t("0x3399")]&&(c[t("0x3399")]=c[t("0x3399")][t("0x2b0c")](c)),c[t("0x3399")]){I=[],N=[],O=[],k=[],L=!1,F=!1,B=!1,Y=!1,G=!1;var n={};c[t("0x3399")]((function(a){var r=t;I=[],N=[],O=[],k=[],a[r("0x5ba")]((function(e){var t=r,a={};for(var i in e)try{typeof e[i]!==t("0x3349")&&(a[i]=e[i])}catch(e){}n[a[t("0x3cd1")]+a.label+a[t("0x37b9")]]||(a.kind===t("0x3201")&&(a[t("0x37b9")]=t("0x25f6")),a.kind===t("0x430")&&(a[t("0x37b9")]=t("0x2a2")),!a.deviceId&&(a.deviceId=a.id),!a.id&&(a.id=a[t("0x3cd1")]),a[t("0x32b")]?(a.kind===t("0x2a2")&&!G&&(G=!0),a[t("0x37b9")]===t("0x25f6")&&!Y&&(Y=!0)):(a[t("0x245")]=!0,a[t("0x37b9")]===t("0x2a2")?a[t("0x32b")]=t("0x2cb5")+(k[t("0x5e9")]+1):a[t("0x37b9")]===t("0x25f6")?a[t("0x32b")]=t("0x1db1")+(N.length+1):a.kind===t("0x3fe7")?a[t("0x32b")]="Speaker "+(O[t("0x5e9")]+1):a[t("0x32b")]=t("0x48e0"),void 0!==U&&U[t("0x3d3a")][t("0x2121")]&&U[t("0x3d3a")][t("0x10ea")]>=46&&!/^(https:|chrome-extension:)$/g[t("0x3ff3")](location[t("0x427")]||"")&&typeof document!==t("0xc42")&&typeof document[t("0x3772")]===t("0x38b7")&&document[t("0x3772")][t("0xc63")]&&-1===document[t("0x3772")][t("0xc63")](/localhost|127.0./g)&&(a[t("0x32b")]="HTTPs is required to get label of this "+a[t("0x37b9")]+" device.")),a[t("0x37b9")]===t("0x25f6")&&(L=!0,-1===N.indexOf(a)&&N[t("0x459a")](a)),a[t("0x37b9")]===t("0x3fe7")&&(F=!0,-1===O.indexOf(a)&&O[t("0x459a")](a)),a[t("0x37b9")]===t("0x2a2")&&(B=!0,-1===k[t("0x3507")](a)&&k[t("0x459a")](a)),I[t("0x459a")](a),n[a.deviceId+a[t("0x32b")]+a[t("0x37b9")]]=a)})),typeof U!==r("0xc42")&&(U.MediaDevices=I,U[r("0x2825")]=L,U[r("0x451c")]=F,U.hasWebcam=B,U.isWebsiteHasWebcamPermissions=G,U[r("0x3e8d")]=Y,U.audioInputDevices=N,U[r("0x63")]=O,U[r("0x1017")]=k),e&&e()}))}else e&&e();else e&&e()}var U=window[o("0x4d06")]||{};U[o("0x3d3a")]=function(){var e,t,n,a=o,r=(c.appVersion,c[a("0x22fc")]),i=c[a("0xd69")],x=""+parseFloat(c.appVersion),s=parseInt(c.appVersion,10);if(u){i="Opera";try{s=(x=c[a("0x22fc")].split(a("0x108d"))[1][a("0x9e5")](" ")[0])[a("0x9e5")](".")[0]}catch(e){x=a("0x2cc"),s=0}}else _?((t=r[a("0x3507")]("rv:"))>0?x=r.substring(t+3):(t=r[a("0x3507")](a("0x3c78")),x=r[a("0x35e7")](t+5)),i="IE"):b?(t=r[a("0x3507")](a("0x4a8f")),i=a("0x4a8f"),x=r[a("0x35e7")](t+7)):m?-1!==r[a("0x3507")](a("0x21ed"))?(t=r[a("0x3507")](a("0x21ed")),i=a("0x4a8f"),x=r.substring(t+6)):-1!==r[a("0x3507")]("FxiOS")?(t=r[a("0x3507")](a("0x1dcb")),i="Firefox",x=r[a("0x35e7")](t+6)):(t=r[a("0x3507")](a("0x3651")),i=a("0x3651"),x=r[a("0x35e7")](t+7),-1!==(t=r.indexOf(a("0x1ef3")))&&(x=r[a("0x35e7")](t+8)),-1!==c[a("0x22fc")][a("0x3507")](a("0xf06"))&&(x=c[a("0x22fc")].split(a("0xf06"))[1][a("0x9e5")](" ")[0])):f?(t=r.indexOf("Firefox"),i="Firefox",x=r[a("0x35e7")](t+8)):(e=r[a("0x4e")](" ")+1)<(t=r[a("0x4e")]("/"))&&(i=r[a("0x35e7")](e,t),x=r.substring(t+1),i[a("0x2eb9")]()===i.toUpperCase()&&(i=c[a("0xd69")]));return d&&(i=a("0x3d5f"),x=c[a("0x22fc")].split(a("0x4ff"))[1]),-1!==(n=x[a("0xc63")](/[; \)]/))&&(x=x[a("0x35e7")](0,n)),s=parseInt(""+x,10),isNaN(s)&&(x=""+parseFloat(c[a("0x2c09")]),s=parseInt(c.appVersion,10)),{fullVersion:x,version:s,name:i,isPrivateBrowsing:!1}}(),function(e){var t,n=o;try{if(window[n("0x22c8")])window[n("0x22c8")](window[n("0x214f")],1,(function(){t=!1}),(function(e){t=!0}));else if(window[n("0x18d7")]&&/Firefox/[n("0x3ff3")](window[n("0x149d")][n("0x22fc")])){var a;try{(a=window[n("0x18d7")][n("0x55a")](n("0x3ff3")))[n("0x1cea")]=function(){return!0}}catch(e){t=!0}void 0===t&&p((function(){var e=n;return a[e("0x3101")]===e("0x2d52")}),(function(e){!e&&(t=!a.result)}))}else if(function(e){var t=o,n=e.toLowerCase();if(0===n.indexOf(t("0x5018"))&&0===n[t("0x3507")]("trident"))return!1;var a=/(?:msie|rv:)\s?([\d\.]+)/.exec(n);return!!(a&&parseInt(a[1],10)>=10)}(window[n("0x149d")][n("0x22fc")])){t=!1;try{!window.indexedDB&&(t=!0)}catch(e){t=!0}}else if(window[n("0x3fec")]&&/Safari/[n("0x3ff3")](window.navigator.userAgent)){try{window[n("0x3fec")][n("0x473b")](n("0x3ff3"),1)}catch(e){t=!0}typeof t===n("0xc42")&&(t=!1,window[n("0x3fec")][n("0x1b2f")](n("0x3ff3")))}}catch(e){t=!1}p((function(){return typeof t!==n("0xc42")}),(function(n){e(t)}))}((function(e){var t=o;U[t("0x3d3a")][t("0x26b")]=!!e})),U[o("0x3d3a")]["is"+U[o("0x3d3a")][o("0x98c")]]=!0,U.osName=g,U[o("0x33ee")]=v;typeof process===o("0x1b1d")&&typeof process[o("0x338f")]===o("0x1b1d")&&process.versions[o("0x36c3")];var $=!1;["RTCPeerConnection",o("0x3b3b"),"mozRTCPeerConnection","RTCIceGatherer"][o("0x5ba")]((function(e){$||e in window&&($=!0)})),U[o("0x351")]=$,U.isORTCSupported="undefined"!=typeof RTCIceGatherer;var j=!1;((U.browser.isChrome&&U[o("0x3d3a")].version>=35||U[o("0x3d3a")].isFirefox&&U[o("0x3d3a")][o("0x10ea")]>=34||U[o("0x3d3a")][o("0x47d1")]&&U[o("0x3d3a")][o("0x10ea")]>=17||U[o("0x4ed6")]===o("0x270c")&&U[o("0x3d3a")][o("0x2121")])&&(j=!0),(c[o("0x3abb")]||c[o("0x2ccc")]&&c[o("0x2ccc")][o("0x3abb")])&&(j=!0),/^(https:|chrome-extension:)$/g[o("0x3ff3")](location[o("0x427")]||""))||(typeof document!==o("0xc42")&&typeof document[o("0x3772")]===o("0x38b7")&&document[o("0x3772")][o("0xc63")]&&-1===document[o("0x3772")][o("0xc63")](/localhost|127.0./g)&&(U[o("0x3d3a")][o("0x2121")]||U[o("0x3d3a")].isEdge||U[o("0x3d3a")][o("0x3b75")])||U.browser[o("0x2238")])&&(j=!1);U.isScreenCapturingSupported=j;var V={isSupported:!1,isCreateMediaStreamSourceSupported:!1};[o("0x3775"),o("0x3071"),o("0x4955"),o("0x4cbc")][o("0x5ba")]((function(e){var t=o;V[t("0x3d4f")]||e in window&&(V.isSupported=!0,window[e]&&t("0x4a1e")in window[e].prototype&&(V[t("0x195e")]=!0))})),U.isAudioContextSupported=V[o("0x3d4f")],U[o("0x195e")]=V[o("0x195e")];var W=!1;U[o("0x3d3a")][o("0x2121")]&&U[o("0x3d3a")][o("0x10ea")]>31&&(W=!0),U[o("0x4a7b")]=W;var q=!1;(U[o("0x3d3a")].isFirefox&&U[o("0x3d3a")][o("0x10ea")]>28||U[o("0x3d3a")][o("0x2121")]&&U[o("0x3d3a")].version>25||U[o("0x3d3a")].isOpera&&U[o("0x3d3a")][o("0x10ea")]>=11)&&(q=!0),U.isSctpDataChannelsSupported=q,U.isMobileDevice=l;var z=!1;(c.getUserMedia||c[o("0x2ccc")]&&c[o("0x2ccc")][o("0x37d9")])&&(z=!0),U[o("0x3d3a")][o("0x2121")]&&U.browser[o("0x10ea")]>=46&&!/^(https:|chrome-extension:)$/g[o("0x3ff3")](location.protocol||"")&&typeof document!==o("0xc42")&&"string"==typeof document[o("0x3772")]&&document[o("0x3772")][o("0xc63")]&&-1===document[o("0x3772")][o("0xc63")](/localhost|127.0./g)&&(z=o("0x2401")),U.osName===o("0x996")&&(z=!1),U[o("0x378b")]=z;var Q,K,X,J="";if(screen[o("0xbbf")]){var Z=screen.width?screen[o("0xbbf")]:"",ee=screen.height?screen.height:"";J+=""+Z+o("0x1e36")+ee}U.displayResolution=J,U[o("0x1773")]=(Q=screen.width,K=screen.height,X=function e(t,n){return 0==n?t:e(n,t%n)}(Q,K),Q/X/(K/X))[o("0x3fab")](2),U[o("0x25b")]=C,U[o("0x1a1f")]=w,U[o("0x3d3a")][o("0x98c")]==o("0x4a8f")&&U[o("0x3d3a")][o("0x10ea")]>=53&&(!U.isCanvasSupportsStreamCapturing&&(U[o("0x25b")]="Requires chrome flag: enable-experimental-web-platform-features"),!U.isVideoSupportsStreamCapturing&&(U[o("0x1a1f")]=o("0xc3f"))),U[o("0x3670")]=function(e,t){var n=o;if(U[n("0x351")]){var a=!0,r=!0;!function(e,t){var n=o;if(typeof document===n("0xc42")||typeof document[n("0x91")]!==n("0x3349"))return;var a={},r=window[n("0x4f75")]||window[n("0x258f")]||window.webkitRTCPeerConnection;if(!r){var i=document.getElementById(n("0x1575"));if(!i)return;var x=i[n("0x329c")];r=x[n("0x4f75")]||x[n("0x258f")]||x[n("0x3b3b")]}if(!r)return;var s=null;U[n("0x3d3a")]===n("0x4a8f")&&U[n("0x3d3a")][n("0x10ea")]<58&&(s={optional:[{RtpDataChannels:!0}]});var c={iceServers:[{urls:n("0x796")}]},l=new r(c,s);t&&(l[n("0x36cd")]?l.addStream(t):l[n("0x85")]&&t.getTracks()[0]&&l[n("0x85")](t.getTracks()[0],t));function d(t){if(t){var n=R.exec(t);if(n){var r=n[1],i=t.match(M),o=!0;void 0===a[r]&&e(r,i,o),a[r]=!0}}else e()}if(l[n("0x36f4")]=function(e){var t=n;e.candidate&&e[t("0x33d0")][t("0x33d0")]?d(e[t("0x33d0")][t("0x33d0")]):d()},!t)try{l[n("0x3e57")](n("0x4d30"),{})}catch(e){}function u(){var e=n;l[e("0x314f")][e("0x2e59")][e("0x9e5")]("\n").forEach((function(t){var n=e;t&&0===t[n("0x3507")](n("0x37a3"))&&d(t)}))}U[n("0x539")]?l[n("0x24ac")]()[n("0x34e8")]((function(e){var t=n;l[t("0x4f0e")](e)[t("0x34e8")](u)})):l[n("0x24ac")]((function(e){l[n("0x4f0e")](e,u,(function(){}))}),(function(){}))}((function(t){var i=n;t?t[i("0x2cd9")](M)?(a=!1,e(i("0x35f1")+t,a,r)):t[i("0x2cd9")](D)?e("Public: "+t,a,r=!1):e(i("0x1d26")+t,a,r):e()}),t)}},U[o("0xae8")]=o("0x4982")in window&&2===window[o("0x4982")][o("0x4fdc")],U.isWebSocketsBlocked=!U[o("0xae8")],U.osName===o("0x996")&&(U.isWebSocketsSupported=!0,U[o("0x2b31")]=!1),U[o("0x20e2")]=function(e){var t=o;e=e||function(){};try{var n,a=new WebSocket(t("0x39e6"));a[t("0x9e9")]=function(){var e=t;U[e("0x2b31")]=!1,n=(new Date)[e("0x4dad")](),a[e("0x1819")](e("0xfca"))},a[t("0x2226")]=function(){var r=t;U[r("0x1fb7")]=(new Date)[r("0x4dad")]()-n+"ms",e(),a[r("0x440f")](),a=null},a[t("0x1cea")]=function(){U[t("0x2b31")]=!0,e()}}catch(n){U[t("0x2b31")]=!0,e()}},U[o("0x2de8")]=function(e){H(e=e||function(){})},o("0x3349"),typeof I!==o("0xc42")?U[o("0x861")]=I:U[o("0x861")]=[],U[o("0x2825")]=L,U[o("0x451c")]=F,U[o("0x1ef1")]=B,U[o("0x4864")]=G,U.isWebsiteHasMicrophonePermissions=Y,U.audioInputDevices=N,U[o("0x63")]=O,U[o("0x1017")]=k;var te=!1;typeof document!==o("0xc42")&&typeof document[o("0x4202")]===o("0x3349")&&o("0x1626")in document[o("0x4202")](o("0x430"))&&(te=!0),U[o("0x2194")]=te;var ne=!1;U[o("0x3d3a")][o("0x2238")]&&typeof mozRTCPeerConnection!==o("0xc42")?o("0x41f9")in mozRTCPeerConnection[o("0x20f")]&&(ne=!0):U[o("0x3d3a")][o("0x2121")]&&typeof webkitRTCPeerConnection!==o("0xc42")&&"getSenders"in webkitRTCPeerConnection.prototype&&(ne=!0),U.isRTPSenderReplaceTracksSupported=ne;var ae=!1;U[o("0x3d3a")][o("0x2238")]&&U[o("0x3d3a")][o("0x10ea")]>38&&(ae=!0),U[o("0x2961")]=ae;var re=!1;typeof MediaStreamTrack!==o("0xc42")&&"applyConstraints"in MediaStreamTrack.prototype&&(re=!0),U.isApplyConstraintsSupported=re;var ie=!1;U[o("0x3d3a")][o("0x2238")]&&U[o("0x3d3a")][o("0x10ea")]>=43&&(ie=!0),U.isMultiMonitorScreenCapturingSupported=ie,U.isPromisesSupported=!!(o("0x10d3")in window),U[o("0x10ea")]=o("0x4fa6"),void 0===U&&(window[o("0x4d06")]={});var oe=window[o("0x490b")];void 0===oe&&"undefined"!=typeof webkitMediaStream&&(oe=webkitMediaStream),void 0!==oe&&typeof oe===o("0x3349")?U[o("0x490b")]=Object[o("0xa35")](oe.prototype):U[o("0x490b")]=!1,typeof MediaStreamTrack!==o("0xc42")?U[o("0x1392")]=Object[o("0xa35")](MediaStreamTrack[o("0x20f")]):U[o("0x1392")]=!1;var xe=window.RTCPeerConnection||window[o("0x258f")]||window.webkitRTCPeerConnection;U[o("0x4f75")]=void 0!==xe&&Object[o("0xa35")](xe[o("0x20f")]),window[o("0x4d06")]=U,e[o("0x33f9")]=U,void 0===(a=function(){return U}.apply(t,[]))||(e.exports=a)}()},3549:e=>{var t,n=_0x299160;e[n("0x33f9")]=(t=n,typeof self!==t("0xc42")?self:typeof window!==t("0xc42")?window:Function(t("0x1ef0"))())},5983:(e,t,n)=>{var a=_0x299160;const r=n(2192);e.exports=(e,t)=>new r(e,t),e[a("0x33f9")][a("0x298e")]=r,e.exports.protocol=r.protocol,e[a("0x33f9")][a("0x23eb")]=n(6496),e[a("0x33f9")][a("0x4bbc")]=n(3352),e[a("0x33f9")][a("0x131c")]=n(3918)},2192:(e,t,n)=>{var a=_0x299160;const r=n(3352),i=n(8767),o=n(4802)(a("0x1ed2")),x=n(3918),s=n(6362),c=n(6809);class l extends i{constructor(e,t={}){var n=a;super(),e&&n("0x1b1d")===typeof e&&(t=e,e=null),e?(e=s(e),t[n("0x4894")]=e[n("0x4961")],t[n("0x128")]=e[n("0x427")]===n("0x6f5")||e[n("0x427")]===n("0x3184"),t.port=e[n("0x23a4")],e[n("0x3829")]&&(t.query=e[n("0x3829")])):t[n("0x4961")]&&(t.hostname=s(t.host)[n("0x4961")]),this.secure=null!=t.secure?t[n("0x128")]:typeof location!==n("0xc42")&&n("0xf28")===location[n("0x427")],t.hostname&&!t[n("0x23a4")]&&(t[n("0x23a4")]=this.secure?n("0x444f"):"80"),this[n("0x4894")]=t[n("0x4894")]||(typeof location!==n("0xc42")?location[n("0x4894")]:n("0x2a87")),this[n("0x23a4")]=t[n("0x23a4")]||(typeof location!==n("0xc42")&&location[n("0x23a4")]?location[n("0x23a4")]:this[n("0x128")]?443:80),this[n("0x4bbc")]=t[n("0x4bbc")]||["polling",n("0x1904")],this[n("0x3101")]="",this[n("0x4059")]=[],this.prevBufferLen=0,this[n("0x3572")]=Object.assign({path:n("0x4c2a"),agent:!1,upgrade:!0,jsonp:!0,timestampParam:"t",policyPort:843,rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{}},t),this[n("0x3572")][n("0x1da4")]=this.opts[n("0x1da4")][n("0x3cc0")](/\/$/,"")+"/",typeof this[n("0x3572")][n("0x3829")]===n("0x38b7")&&(this[n("0x3572")][n("0x3829")]=c[n("0x19f2")](this[n("0x3572")][n("0x3829")])),this.id=null,this[n("0x4149")]=null,this[n("0x2b0b")]=null,this.pingTimeout=null,this[n("0x4e75")]=null,this.open()}createTransport(e){var t=a;o(t("0x59"),e);const n=function(e){const t={};for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}(this[t("0x3572")][t("0x3829")]);n[t("0x326")]=x[t("0x427")],n[t("0x1381")]=e,this.id&&(n[t("0x20f6")]=this.id);const i=Object[t("0x3df0")]({},this[t("0x3572")].transportOptions[e],this[t("0x3572")],{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this[t("0x23a4")]});return o("options: %j",i),new r[e](i)}[a("0x55a")](){var e=a;let t;if(this[e("0x3572")].rememberUpgrade&&l[e("0x441c")]&&-1!==this[e("0x4bbc")].indexOf(e("0x1904")))t=e("0x1904");else{if(0===this[e("0x4bbc")][e("0x5e9")]){const t=this;return void setTimeout((function(){var n=e;t[n("0xe39")](n("0x4ad3"),"No transports available")}),0)}t=this[e("0x4bbc")][0]}this[e("0x3101")]=e("0x4789");try{t=this[e("0x2f74")](t)}catch(t){return o(e("0x18c6"),t),this[e("0x4bbc")][e("0x4534")](),void this[e("0x55a")]()}t[e("0x55a")](),this[e("0x3386")](t)}[a("0x3386")](e){var t=a;o(t("0x1890"),e[t("0x98c")]);const n=this;this[t("0x1381")]&&(o("clearing existing transport %s",this[t("0x1381")][t("0x98c")]),this[t("0x1381")][t("0x3fb4")]()),this.transport=e,e.on(t("0x3216"),(function(){n[t("0x1053")]()})).on(t("0x27ab"),(function(e){n[t("0x2936")](e)})).on(t("0x4ad3"),(function(e){n[t("0x4376")](e)})).on(t("0x440f"),(function(){var e=t;n[e("0x20f2")](e("0x24f0"))}))}[a("0x4d8f")](e){var t=a;o('probing transport "%s"',e);let n=this[t("0x2f74")](e,{probe:1}),r=!1;const i=this;function x(){var a=t;if(i[a("0x2881")]){const e=!this.supportsBinary&&i[a("0x1381")][a("0x198")];r=r||e}r||(o(a("0x4cc8"),e),n[a("0x1819")]([{type:"ping",data:"probe"}]),n[a("0x4299")](a("0x27ab"),(function(t){var x=a;if(!r)if(x("0x2c28")===t[x("0x3298")]&&"probe"===t[x("0x237c")]){if(o('probe transport "%s" pong',e),i[x("0x4cef")]=!0,i[x("0xe39")](x("0x4cef"),n),!n)return;l[x("0x441c")]="websocket"===n[x("0x98c")],o(x("0x1296"),i[x("0x1381")][x("0x98c")]),i.transport[x("0x27e5")]((function(){var e=x;r||"closed"!==i[e("0x3101")]&&(o(e("0x77c")),m(),i[e("0x3386")](n),n.send([{type:e("0xbd3")}]),i[e("0xe39")]("upgrade",n),n=null,i.upgrading=!1,i[e("0x6bd")]())}))}else{o(x("0x189a"),e);const t=new Error(x("0x2e6d"));t[x("0x1381")]=n.name,i.emit("upgradeError",t)}})))}function s(){var e=t;r||(r=!0,m(),n[e("0x440f")](),n=null)}function c(a){var r=t;const x=new Error(r("0xc50")+a);x[r("0x1381")]=n[r("0x98c")],s(),o(r("0x3190"),e,a),i[r("0xe39")](r("0x1631"),x)}function d(){c(t("0x8e2"))}function u(){c(t("0x2712"))}function f(e){var a=t;n&&e[a("0x98c")]!==n.name&&(o('"%s" works - aborting "%s"',e[a("0x98c")],n[a("0x98c")]),s())}function m(){var e=t;n[e("0x1dc")](e("0x55a"),x),n[e("0x1dc")]("error",c),n[e("0x1dc")](e("0x440f"),d),i[e("0x1dc")](e("0x440f"),u),i[e("0x1dc")]("upgrading",f)}l.priorWebsocketSuccess=!1,n[t("0x4299")]("open",x),n[t("0x4299")](t("0x4ad3"),c),n.once(t("0x440f"),d),this[t("0x4299")](t("0x440f"),u),this[t("0x4299")]("upgrading",f),n[t("0x55a")]()}[a("0x2c37")](){var e=a;if(o(e("0x3f95")),this[e("0x3101")]=e("0x55a"),l[e("0x441c")]=e("0x1904")===this.transport.name,this.emit(e("0x55a")),this.flush(),e("0x55a")===this[e("0x3101")]&&this[e("0x3572")][e("0xbd3")]&&this[e("0x1381")][e("0x27e5")]){o(e("0x23c8"));let t=0;const n=this[e("0x4149")].length;for(;t<n;t++)this[e("0x4d8f")](this.upgrades[t])}}[a("0x2936")](e){var t=a;if("opening"===this[t("0x3101")]||t("0x55a")===this[t("0x3101")]||t("0x2ca")===this[t("0x3101")])switch(o(t("0x31ed"),e[t("0x3298")],e[t("0x237c")]),this.emit(t("0x27ab"),e),this[t("0xe39")](t("0x779")),e[t("0x3298")]){case t("0x55a"):this[t("0x27c0")](JSON.parse(e[t("0x237c")]));break;case"ping":this[t("0x182")](),this[t("0x43f9")]("pong"),this[t("0xe39")](t("0x2c28"));break;case t("0x4ad3"):const n=new Error(t("0x1cb2"));n[t("0xd41")]=e[t("0x237c")],this[t("0x4376")](n);break;case t("0x45ea"):this[t("0xe39")]("data",e[t("0x237c")]),this.emit(t("0x45ea"),e[t("0x237c")])}else o(t("0x494a"),this.readyState)}onHandshake(e){var t=a;this[t("0xe39")](t("0x120a"),e),this.id=e[t("0x20f6")],this.transport[t("0x3829")][t("0x20f6")]=e[t("0x20f6")],this[t("0x4149")]=this[t("0x2569")](e[t("0x4149")]),this[t("0x2b0b")]=e[t("0x2b0b")],this[t("0x1aad")]=e[t("0x1aad")],this[t("0x2c37")](),t("0x234c")!==this[t("0x3101")]&&this.resetPingTimeout()}resetPingTimeout(){var e=a;clearTimeout(this[e("0x4e75")]),this[e("0x4e75")]=setTimeout((()=>{this[e("0x20f2")]("ping timeout")}),this[e("0x2b0b")]+this[e("0x1aad")])}[a("0x1053")](){var e=a;this[e("0x4059")][e("0x2bcf")](0,this[e("0x49cf")]),this[e("0x49cf")]=0,0===this.writeBuffer[e("0x5e9")]?this.emit(e("0x3216")):this[e("0x6bd")]()}flush(){var e=a;e("0x234c")!==this.readyState&&this.transport[e("0xed1")]&&!this.upgrading&&this[e("0x4059")][e("0x5e9")]&&(o(e("0x234a"),this[e("0x4059")].length),this[e("0x1381")][e("0x1819")](this[e("0x4059")]),this[e("0x49cf")]=this[e("0x4059")].length,this[e("0xe39")]("flush"))}[a("0x69a")](e,t,n){var r=a;return this[r("0x43f9")](r("0x45ea"),e,t,n),this}[a("0x1819")](e,t,n){var r=a;return this.sendPacket(r("0x45ea"),e,t,n),this}[a("0x43f9")](e,t,n,r){var i=a;if("function"==typeof t&&(r=t,t=void 0),i("0x3349")===typeof n&&(r=n,n=null),i("0x2ca")===this[i("0x3101")]||i("0x234c")===this.readyState)return;(n=n||{})[i("0x3046")]=!1!==n[i("0x3046")];const o={type:e,data:t,options:n};this.emit(i("0x19dc"),o),this[i("0x4059")][i("0x459a")](o),r&&this.once(i("0x6bd"),r),this[i("0x6bd")]()}[a("0x440f")](){var e=a;const t=this;function n(){var n=e;t[n("0x20f2")](n("0xdbc")),o(n("0x21f5")),t[n("0x1381")].close()}function r(){var a=e;t[a("0x1dc")](a("0xbd3"),r),t[a("0x1dc")](a("0x1631"),r),n()}function i(){var n=e;t[n("0x4299")]("upgrade",r),t[n("0x4299")]("upgradeError",r)}return"opening"!==this[e("0x3101")]&&"open"!==this.readyState||(this[e("0x3101")]=e("0x2ca"),this.writeBuffer[e("0x5e9")]?this.once("drain",(function(){this[e("0x4cef")]?i():n()})):this[e("0x4cef")]?i():n()),this}onError(e){var t=a;o(t("0x4878"),e),l[t("0x441c")]=!1,this[t("0xe39")](t("0x4ad3"),e),this.onClose(t("0x45f"),e)}[a("0x20f2")](e,t){var n=a;if("opening"===this[n("0x3101")]||"open"===this[n("0x3101")]||n("0x2ca")===this[n("0x3101")]){o('socket close with reason: "%s"',e);const a=this;clearTimeout(this.pingIntervalTimer),clearTimeout(this[n("0x4e75")]),this[n("0x1381")][n("0x3fb4")](n("0x440f")),this[n("0x1381")][n("0x440f")](),this[n("0x1381")].removeAllListeners(),this[n("0x3101")]="closed",this.id=null,this.emit("close",e,t),a[n("0x4059")]=[],a[n("0x49cf")]=0}}[a("0x2569")](e){const t=[];let n=0;const r=e[a("0x5e9")];for(;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}l[a("0x441c")]=!1,l[a("0x427")]=x[a("0x427")],e.exports=l},6496:(e,t,n)=>{var a=_0x299160;const r=n(3918),i=n(8767);class o extends i{constructor(e){var t=a2_0x37cf;super(),this[t("0x3572")]=e,this[t("0x3829")]=e[t("0x3829")],this[t("0x3101")]="",this[t("0x191d")]=e[t("0x191d")]}onError(e,t){var n=a2_0x37cf;const a=new Error(e);return a[n("0x3298")]=n("0x4cce"),a[n("0x34b9")]=t,this[n("0xe39")](n("0x4ad3"),a),this}[a("0x55a")](){var e=a;return("closed"===this[e("0x3101")]||""===this.readyState)&&(this[e("0x3101")]=e("0x4789"),this[e("0x3bb9")]()),this}[a("0x440f")](){var e=a;return(e("0x4789")===this[e("0x3101")]||e("0x55a")===this.readyState)&&(this[e("0x4da8")](),this[e("0x20f2")]()),this}[a("0x1819")](e){var t=a;if(t("0x55a")!==this[t("0x3101")])throw new Error(t("0xc05"));this[t("0x69a")](e)}[a("0x2c37")](){var e=a;this[e("0x3101")]="open",this[e("0xed1")]=!0,this[e("0xe39")](e("0x55a"))}[a("0x4717")](e){var t=a;const n=r.decodePacket(e,this.socket[t("0x3f12")]);this[t("0x2936")](n)}[a("0x2936")](e){var t=a;this[t("0xe39")](t("0x27ab"),e)}[a("0x20f2")](){var e=a;this.readyState="closed",this[e("0xe39")](e("0x440f"))}}e.exports=o},3352:(e,t,n)=>{var a=_0x299160;const r=n(2777),i=n(3416),o=n(9785),x=n(4442);t[a("0x233e")]=function(e){var t=a;let n,x=!1,s=!1;const c=!1!==e[t("0x15c1")];if("undefined"!=typeof location){const n=t("0xf28")===location.protocol;let a=location[t("0x23a4")];!a&&(a=n?443:80),x=e[t("0x4894")]!==location[t("0x4894")]||a!==e[t("0x23a4")],s=e[t("0x128")]!==n}if(e.xdomain=x,e[t("0x3a5d")]=s,n=new r(e),t("0x55a")in n&&!e[t("0x10cc")])return new i(e);if(!c)throw new Error(t("0x1b9e"));return new o(e)},t[a("0x1904")]=x},9785:(e,t,n)=>{var a=_0x299160;const r=n(9015),i=n(3549),o=/\n/g,x=/\\n/g;let s;function c(){}class l extends r{constructor(e){var t=a2_0x37cf;super(e),this.query=this[t("0x3829")]||{},!s&&(s=i[t("0x2035")]=i[t("0x2035")]||[]),this[t("0x2d50")]=s[t("0x5e9")];const n=this;s.push((function(e){n[t("0x4717")](e)})),this[t("0x3829")].j=this[t("0x2d50")],typeof addEventListener===t("0x3349")&&addEventListener(t("0x8c2"),(function(){var e=t;n[e("0x20d2")]&&(n.script[e("0x1cea")]=c)}),!1)}get[a("0x198")](){return!1}[a("0x4da8")](){var e=a;this[e("0x20d2")]&&(this[e("0x20d2")][e("0x368c")][e("0xffd")](this[e("0x20d2")]),this[e("0x20d2")]=null),this.form&&(this[e("0x35c5")].parentNode.removeChild(this[e("0x35c5")]),this[e("0x35c5")]=null,this[e("0x1575")]=null),super[e("0x4da8")]()}doPoll(){var e=a;const t=this,n=document[e("0x4202")](e("0x20d2"));this[e("0x20d2")]&&(this[e("0x20d2")][e("0x368c")][e("0xffd")](this.script),this[e("0x20d2")]=null),n[e("0x1ba8")]=!0,n[e("0x21d6")]=this.uri(),n[e("0x1cea")]=function(n){var a=e;t[a("0x4376")](a("0x1660"),n)};const r=document[e("0x3684")]("script")[0];r?r[e("0x368c")].insertBefore(n,r):(document[e("0x1d45")]||document.body)[e("0x4238")](n),this[e("0x20d2")]=n;e("0xc42")!==typeof navigator&&/gecko/i.test(navigator[e("0x22fc")])&&setTimeout((function(){var t=e;const n=document[t("0x4202")](t("0x1575"));document[t("0x3b3e")][t("0x4238")](n),document.body[t("0xffd")](n)}),100)}[a("0xc8")](e,t){var n=a;const r=this;let i;if(!this[n("0x35c5")]){const e=document[n("0x4202")](n("0x35c5")),t=document[n("0x4202")]("textarea"),a=this[n("0x1db7")]=n("0x4ede")+this[n("0x2d50")];e[n("0x14a8")]=n("0x413e"),e.style[n("0x342c")]=n("0xc1a"),e[n("0x4025")].top="-1000px",e.style[n("0x2885")]=n("0x2e2f"),e[n("0x55d")]=a,e[n("0x3bee")]=n("0x1406"),e[n("0x4480")](n("0x4307"),n("0x2d5")),t[n("0x98c")]="d",e.appendChild(t),document[n("0x3b3e")][n("0x4238")](e),this[n("0x35c5")]=e,this[n("0x16ec")]=t}function s(){c(),t()}function c(){var e=n;if(r[e("0x1575")])try{r.form[e("0xffd")](r[e("0x1575")])}catch(t){r[e("0x4376")](e("0x771"),t)}try{const t=e("0x1587")+r[e("0x1db7")]+'">';i=document[e("0x4202")](t)}catch(t){i=document[e("0x4202")](e("0x1575")),i[e("0x98c")]=r.iframeId,i[e("0x21d6")]=e("0x26b1")}i.id=r.iframeId,r[e("0x35c5")][e("0x4238")](i),r[e("0x1575")]=i}this[n("0x35c5")].action=this.uri(),c(),e=e[n("0x3cc0")](x,"\\\n"),this.area[n("0x3a33")]=e[n("0x3cc0")](o,"\\n");try{this[n("0x35c5")][n("0x1f70")]()}catch(e){}this[n("0x1575")][n("0x4a7e")]?this[n("0x1575")][n("0x4d35")]=function(){var e=n;r.iframe[e("0x3101")]===e("0x901")&&s()}:this[n("0x1575")].onload=s}}e[a("0x33f9")]=l},3416:(e,t,n)=>{var a=_0x299160;const r=n(2777),i=n(9015),o=n(8767),{pick:x}=n(6839),s=n(3549),c=n(4802)(a("0x3b90"));function l(){}const d=(u=a,null!=new(n(2777))({xdomain:!1})[u("0x1f38")]);var u;class f extends i{constructor(e){var t=a;if(super(e),typeof location!==t("0xc42")){const n=t("0xf28")===location[t("0x427")];let a=location.port;!a&&(a=n?443:80),this.xd=typeof location!==t("0xc42")&&e[t("0x4894")]!==location.hostname||a!==e[t("0x23a4")],this.xs=e[t("0x128")]!==n}const n=e&&e[t("0xbc7")];this[t("0x198")]=d&&!n}[a("0x38ce")](e={}){var t=a;return Object[t("0x3df0")](e,{supportsBinary:this[t("0x198")],xd:this.xd,xs:this.xs},this[t("0x3572")]),new m(this[t("0x234")](),e)}[a("0xc8")](e,t){var n=a;const r=typeof e!==n("0x38b7")&&void 0!==e,i=this.request({method:n("0x1406"),data:e,isBinary:r}),o=this;i.on("success",t),i.on(n("0x4ad3"),(function(e){var t=n;o[t("0x4376")](t("0x3e19"),e)}))}[a("0x1dce")](){var e=a;c("xhr poll");const t=this.request(),n=this;t.on("data",(function(e){n[a2_0x37cf("0x4717")](e)})),t.on(e("0x4ad3"),(function(t){n[e("0x4376")]("xhr poll error",t)})),this.pollXhr=t}}class m extends o{constructor(e,t){var n=a;super(),this[n("0x3572")]=t,this[n("0x3bee")]=t[n("0x3bee")]||n("0x30f1"),this.uri=e,this[n("0x1ba8")]=!1!==t[n("0x1ba8")],this[n("0x237c")]=void 0!==t.data?t[n("0x237c")]:null,this.isBinary=t[n("0x2182")],this.supportsBinary=t[n("0x198")],this[n("0x4b8c")]()}[a("0x4b8c")](){var e=a;const t=x(this[e("0x3572")],e("0x11d4"),e("0x54f"),"pfx","key",e("0x37a8"),"cert","ca",e("0xddc"),e("0x46b3"));t[e("0x2ac0")]=!!this[e("0x3572")].xd,t[e("0x3a5d")]=!!this[e("0x3572")].xs;const n=this[e("0x589")]=new r(t),i=this;try{c(e("0x26fa"),this.method,this[e("0x234")]),n[e("0x55a")](this[e("0x3bee")],this[e("0x234")],this[e("0x1ba8")]);try{if(this.opts.extraHeaders){n[e("0x368d")]&&n[e("0x368d")](!0);for(let t in this[e("0x3572")].extraHeaders)this.opts[e("0x133d")][e("0x1bd4")](t)&&n[e("0x2839")](t,this[e("0x3572")].extraHeaders[t])}}catch(t){console[e("0x10f3")](t)}if(e("0x1406")===this.method)try{this[e("0x2182")]?n[e("0x2839")](e("0x1d2b"),e("0xdb3")):n[e("0x2839")](e("0x1d2b"),e("0x18b1"))}catch(e){}try{n[e("0x2839")]("Accept",e("0x3853"))}catch(e){}e("0x2e22")in n&&(n.withCredentials=this.opts[e("0x2e22")]),this[e("0x3572")][e("0x2ff")]&&(n.timeout=this[e("0x3572")][e("0x2ff")]),this[e("0x3fe8")]()?(n[e("0x3e94")]=function(){i[e("0x424c")]()},n[e("0x1cea")]=function(){var t=e;i[t("0x4376")](n[t("0x23e2")])}):n.onreadystatechange=function(){var t=e;if(2===n[t("0x3101")])try{const e=n[t("0x16f")](t("0x1800"));(i[t("0x198")]&&e===t("0xdb3")||"application/octet-stream; charset=UTF-8"===e)&&(n[t("0x1f38")]="arraybuffer")}catch(e){}4===n.readyState&&(200===n[t("0x4e5c")]||1223===n[t("0x4e5c")]?i.onLoad():setTimeout((function(){var e=t;i[e("0x4376")](typeof n[e("0x4e5c")]===e("0x2231")?n.status:0)}),0))},c(e("0x3307"),this.data),n[e("0x1819")](this.data)}catch(t){return void setTimeout((function(){i[e("0x4376")](t)}),0)}typeof document!==e("0xc42")&&(this.index=m[e("0x98")]++,m[e("0x1624")][this[e("0x2d50")]]=this)}onSuccess(){var e=a;this[e("0xe39")]("success"),this[e("0x1c09")]()}[a("0x4717")](e){var t=a;this[t("0xe39")]("data",e),this[t("0x2248")]()}[a("0x4376")](e){var t=a;this[t("0xe39")](t("0x4ad3"),e),this[t("0x1c09")](!0)}[a("0x1c09")](e){var t=a;if(t("0xc42")!==typeof this.xhr&&null!==this.xhr){if(this[t("0x3fe8")]()?this[t("0x589")][t("0x3e94")]=this.xhr[t("0x1cea")]=l:this.xhr[t("0x4d35")]=l,e)try{this[t("0x589")][t("0x48b0")]()}catch(e){}typeof document!==t("0xc42")&&delete m[t("0x1624")][this[t("0x2d50")]],this[t("0x589")]=null}}onLoad(){var e=a;const t=this.xhr[e("0x23e2")];null!==t&&this.onData(t)}[a("0x3fe8")](){var e=a;return typeof XDomainRequest!==e("0xc42")&&!this.xs&&this[e("0x54f")]}[a("0x48b0")](){this[a("0x1c09")]()}}if(m[a("0x98")]=0,m[a("0x1624")]={},typeof document!==a("0xc42"))if(typeof attachEvent===a("0x3349"))attachEvent("onunload",b);else if(typeof addEventListener===a("0x3349")){const e=a("0x447d")in s?a("0x3a05"):a("0x922");addEventListener(e,b,!1)}function b(){var e=a;for(let t in m.requests)m.requests.hasOwnProperty(t)&&m[e("0x1624")][t][e("0x48b0")]()}e[a("0x33f9")]=f,e[a("0x33f9")][a("0x269b")]=m},9015:(e,t,n)=>{var a=_0x299160;const r=n(6496),i=n(6809),o=n(3918),x=n(2281),s=n(4802)("engine.io-client:polling");class c extends r{get[a("0x98c")](){return"polling"}[a("0x3bb9")](){this[a("0x45ee")]()}[a("0x27e5")](e){var t=a;const n=this;function r(){var a=t;s("paused"),n[a("0x3101")]=a("0x2a35"),e()}if(this[t("0x3101")]="pausing",this[t("0x233e")]||!this[t("0xed1")]){let e=0;this.polling&&(s(t("0x1af9")),e++,this[t("0x4299")](t("0x2c2"),(function(){s("pre-pause polling complete"),--e||r()}))),!this[t("0xed1")]&&(s("we are currently writing - waiting to pause"),e++,this[t("0x4299")](t("0x3216"),(function(){s("pre-pause writing complete"),--e||r()})))}else r()}[a("0x45ee")](){var e=a;s(e("0x233e")),this[e("0x233e")]=!0,this[e("0x1dce")](),this[e("0xe39")](e("0x45ee"))}onData(e){var t=a;const n=this;s(t("0x26c3"),e);o.decodePayload(e,this[t("0x191d")][t("0x3f12")])[t("0x5ba")]((function(e,a,r){var i=t;if(i("0x4789")===n.readyState&&n[i("0x2c37")](),i("0x440f")===e[i("0x3298")])return n.onClose(),!1;n[i("0x2936")](e)})),"closed"!==this[t("0x3101")]&&(this[t("0x233e")]=!1,this[t("0xe39")](t("0x2c2")),t("0x55a")===this[t("0x3101")]?this.poll():s(t("0x1d04"),this[t("0x3101")]))}[a("0x4da8")](){var e=a;const t=this;function n(){var e=a2_0x37cf;s(e("0x3d30")),t[e("0x69a")]([{type:e("0x440f")}])}e("0x55a")===this[e("0x3101")]?(s(e("0x1f04")),n()):(s("transport not open - deferring close"),this.once(e("0x55a"),n))}[a("0x69a")](e){var t=a;this[t("0xed1")]=!1,o[t("0x1b8a")](e,(e=>{var n=t;this[n("0xc8")](e,(()=>{var e=n;this[e("0xed1")]=!0,this.emit(e("0x3216"))}))}))}[a("0x234")](){var e=a;let t=this[e("0x3829")]||{};const n=this[e("0x3572")][e("0x128")]?e("0x6f5"):e("0x16aa");let r="";!1!==this[e("0x3572")][e("0xfec")]&&(t[this[e("0x3572")].timestampParam]=x()),!this[e("0x198")]&&!t.sid&&(t.b64=1),t=i[e("0x3f92")](t),this[e("0x3572")][e("0x23a4")]&&(e("0x6f5")===n&&443!==Number(this.opts[e("0x23a4")])||"http"===n&&80!==Number(this[e("0x3572")].port))&&(r=":"+this[e("0x3572")][e("0x23a4")]),t[e("0x5e9")]&&(t="?"+t);return n+"://"+(-1!==this[e("0x3572")][e("0x4894")].indexOf(":")?"["+this[e("0x3572")][e("0x4894")]+"]":this[e("0x3572")][e("0x4894")])+r+this[e("0x3572")].path+t}}e.exports=c},866:(e,t,n)=>{var a=_0x299160;const r=n(3549);e[a("0x33f9")]={WebSocket:r[a("0x4982")]||r[a("0x488f")],usingBrowserWebSocket:!0,defaultBinaryType:a("0x3069")}},4442:(e,t,n)=>{var a=_0x299160;const r=n(6496),i=n(3918),o=n(6809),x=n(2281),{pick:s}=n(6839),{WebSocket:c,usingBrowserWebSocket:l,defaultBinaryType:d}=n(866),u=n(4802)("engine.io-client:websocket"),f="undefined"!=typeof navigator&&typeof navigator[a("0x3b74")]===a("0x38b7")&&navigator[a("0x3b74")][a("0x2eb9")]()===a("0x1cbd");class m extends r{constructor(e){var t=a;super(e);e&&e.forceBase64&&(this.supportsBinary=!1),this[t("0x198")]=!0}get[a("0x98c")](){return"websocket"}[a("0x3bb9")](){var e=a;if(!this[e("0x26d1")]())return;const t=this.uri(),n=this[e("0x3572")].protocols;let r;r=f?s(this[e("0x3572")],e("0x13b0")):s(this[e("0x3572")],e("0x11d4"),e("0x2380"),e("0x3cab"),e("0x2646"),e("0x37a8"),e("0x4502"),"ca",e("0xddc"),e("0x46b3"),"localAddress"),this[e("0x3572")][e("0x133d")]&&(r[e("0x65c")]=this[e("0x3572")].extraHeaders);try{this.ws=l&&!f?n?new c(t,n):new c(t):new c(t,n,r)}catch(t){return this[e("0xe39")]("error",t)}this.ws[e("0x3f12")]=this[e("0x191d")][e("0x3f12")]||d,this.addEventListeners()}[a("0x2a4")](){var e=a;const t=this;this.ws[e("0x9e9")]=function(){t[e("0x2c37")]()},this.ws[e("0x13c8")]=function(){t[e("0x20f2")]()},this.ws.onmessage=function(n){var a=e;t[a("0x4717")](n[a("0x237c")])},this.ws[e("0x1cea")]=function(n){var a=e;t[a("0x4376")](a("0x1886"),n)}}write(e){var t=a;const n=this;this[t("0xed1")]=!1;let r=e[t("0x5e9")],o=0;const x=r;for(;o<x;o++)!function(e){var a=t;i[a("0x4e6b")](e,n[a("0x198")],(function(i){var o=a;const x={};if(!l&&(e.options&&(x[o("0x3046")]=e[o("0x16d1")].compress),n.opts[o("0x2380")])){(o("0x38b7")===typeof i?Buffer[o("0x47c")](i):i.length)<n.opts.perMessageDeflate[o("0x4526")]&&(x[o("0x3046")]=!1)}try{l?n.ws[o("0x1819")](i):n.ws[o("0x1819")](i,x)}catch(e){u(o("0x4d4"))}var s;--r||(s=t,n.emit(s("0x6bd")),setTimeout((function(){var e=s;n.writable=!0,n.emit(e("0x3216"))}),0))}))}(e[o])}[a("0x20f2")](){var e=a;r[e("0x20f")][e("0x20f2")].call(this)}[a("0x4da8")](){var e=a;void 0!==this.ws&&this.ws[e("0x440f")]()}uri(){var e=a;let t=this.query||{};const n=this.opts[e("0x128")]?e("0x3184"):"ws";let r="";this[e("0x3572")][e("0x23a4")]&&("wss"===n&&443!==Number(this.opts[e("0x23a4")])||"ws"===n&&80!==Number(this[e("0x3572")].port))&&(r=":"+this[e("0x3572")][e("0x23a4")]),this[e("0x3572")][e("0xfec")]&&(t[this[e("0x3572")][e("0x887")]]=x()),!this.supportsBinary&&(t[e("0x5eb")]=1),t=o.encode(t),t[e("0x5e9")]&&(t="?"+t);const i=-1!==this[e("0x3572")][e("0x4894")].indexOf(":");return n+e("0xad0")+(i?"["+this.opts[e("0x4894")]+"]":this[e("0x3572")][e("0x4894")])+r+this[e("0x3572")][e("0x1da4")]+t}[a("0x26d1")](){var e=a;return!(!c||e("0x1bee")in c&&this[e("0x98c")]===m[e("0x20f")][e("0x98c")])}}e[a("0x33f9")]=m},6839:e=>{var t=_0x299160;e[t("0x33f9")][t("0x389")]=(e,...n)=>n[t("0x2e06")](((t,n)=>(t[n]=e[n],t)),{})},2777:(e,t,n)=>{const a=n(8058),r=n(3549);e.exports=function(e){var t=a2_0x37cf;const n=e[t("0x2ac0")],i=e.xscheme,o=e[t("0x54f")];try{if(t("0xc42")!==typeof XMLHttpRequest&&(!n||a))return new XMLHttpRequest}catch(e){}try{if(t("0xc42")!==typeof XDomainRequest&&!i&&o)return new XDomainRequest}catch(e){}if(!n)try{return new(r[["Active"][t("0x3abc")]("Object").join("X")])(t("0x103d"))}catch(e){}}},546:(e,t)=>{var n,a;n=_0x299160("0x2def"),t[(a=a2_0x37cf)("0x3f92")]=function(e){var t,r=a,i=new Uint8Array(e),o=i[r("0x5e9")],x="";for(t=0;t<o;t+=3)x+=n[i[t]>>2],x+=n[(3&i[t])<<4|i[t+1]>>4],x+=n[(15&i[t+1])<<2|i[t+2]>>6],x+=n[63&i[t+2]];return o%3==2?x=x[r("0x35e7")](0,x[r("0x5e9")]-1)+"=":o%3==1&&(x=x[r("0x35e7")](0,x.length-2)+"=="),x},t[a("0x19f2")]=function(e){var t,r,i,o,x,s=a,c=.75*e[s("0x5e9")],l=e[s("0x5e9")],d=0;"="===e[e[s("0x5e9")]-1]&&(c--,"="===e[e.length-2]&&c--);var u=new ArrayBuffer(c),f=new Uint8Array(u);for(t=0;t<l;t+=4)r=n[s("0x3507")](e[t]),i=n[s("0x3507")](e[t+1]),o=n[s("0x3507")](e[t+2]),x=n[s("0x3507")](e[t+3]),f[d++]=r<<2|i>>4,f[d++]=(15&i)<<4|o>>2,f[d++]=(3&o)<<6|63&x;return u}},4802:(e,t,n)=>{var a=_0x299160;t[a("0x10f3")]=function(...e){var t=a;return typeof console===t("0x1b1d")&&console[t("0x10f3")]&&console[t("0x10f3")](...e)},t.formatArgs=function(t){var n=a;if(t[0]=(this.useColors?"%c":"")+this[n("0x4939")]+(this[n("0x46f7")]?n("0x2879"):" ")+t[0]+(this[n("0x46f7")]?"%c ":" ")+"+"+e[n("0x33f9")][n("0xd85")](this[n("0x4019")]),!this.useColors)return;const r="color: "+this[n("0xf2c")];t[n("0x2bcf")](1,0,r,n("0x2cee"));let i=0,o=0;t[0][n("0x3cc0")](/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(i++,"%c"===e&&(o=i))})),t.splice(o,0,r)},t[a("0x37e0")]=function(e){var n=a;try{e?t.storage[n("0x473b")](n("0x3382"),e):t[n("0x3db5")].removeItem("debug")}catch(e){}},t[a("0x2de8")]=function(){var e=a;let n;try{n=t[e("0x3db5")].getItem(e("0x3382"))}catch(e){}return!n&&typeof process!==e("0xc42")&&"env"in process&&(n=process.env.DEBUG),n},t[a("0x46f7")]=function(){var e=a;return!("undefined"==typeof window||!window.process||window[e("0x4731")][e("0x3298")]!==e("0x1a16")&&!window[e("0x4731")][e("0x1349")])||("undefined"==typeof navigator||!navigator.userAgent||!navigator[e("0x22fc")][e("0x2eb9")]()[e("0x2cd9")](/(edge|trident)\/(\d+)/))&&(typeof document!==e("0xc42")&&document[e("0x4c17")]&&document[e("0x4c17")][e("0x4025")]&&document[e("0x4c17")][e("0x4025")][e("0x3e75")]||typeof window!==e("0xc42")&&window[e("0x2196")]&&(window[e("0x2196")].firebug||window[e("0x2196")][e("0x3120")]&&window[e("0x2196")].table)||typeof navigator!==e("0xc42")&&navigator.userAgent&&navigator[e("0x22fc")][e("0x2eb9")]()[e("0x2cd9")](/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator[e("0x22fc")]&&navigator[e("0x22fc")][e("0x2eb9")]()[e("0x2cd9")](/applewebkit\/(\d+)/))},t[a("0x3db5")]=function(){try{return localStorage}catch(e){}}(),t.colors=[a("0xe44"),a("0x109d"),a("0x4826"),a("0x3375"),a("0x24dc"),"#0066FF",a("0x33a3"),a("0x1458"),a("0x340"),a("0x1d85"),a("0x3bd1"),"#00CC99",a("0x3715"),a("0x3a7f"),a("0x4d7d"),a("0x199d"),a("0x126e"),"#3333FF","#3366CC",a("0x480"),a("0x439"),"#3399FF",a("0x1fd6"),a("0x2051"),a("0x39f"),a("0x35af"),a("0x95d"),a("0x4bdc"),a("0x1cce"),a("0x4960"),a("0x2bc1"),a("0x4c77"),a("0x45e7"),a("0x12b1"),a("0x272f"),"#9900FF",a("0xdd7"),"#9933FF",a("0x1bed"),a("0x1ff0"),"#CC0000","#CC0033","#CC0066",a("0x37b1"),a("0x24ea"),"#CC00FF","#CC3300",a("0x21c8"),a("0x4bc"),a("0x4686"),a("0x21fc"),a("0x4eb8"),"#CC6600",a("0x2dc7"),a("0x3064"),"#CC9933","#CCCC00",a("0x7a3"),"#FF0000",a("0x1499"),a("0x4ed7"),a("0x3837"),a("0x2743"),a("0x4787"),"#FF3300",a("0xce3"),"#FF3366","#FF3399",a("0x49fc"),a("0x4200"),a("0x560"),a("0x3a5b"),a("0x3725"),a("0x259e"),a("0x280c"),"#FFCC33"],e[a("0x33f9")]=n(804)(t);const{formatters:r}=e[a("0x33f9")];r.j=function(e){var t=a;try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e[t("0x45ea")]}}},804:(e,t,n)=>{e[_0x299160("0x33f9")]=function(e){var t=a2_0x37cf;function a(e){var n=t;let a=0;for(let t=0;t<e[n("0x5e9")];t++)a=(a<<5)-a+e[n("0x11df")](t),a|=0;return r[n("0x273f")][Math[n("0x681")](a)%r[n("0x273f")][n("0x5e9")]]}function r(e){var n=t;let x;function s(...e){var t=a2_0x37cf;if(!s[t("0x48b5")])return;const n=s,a=Number(new Date),i=a-(x||a);n[t("0x4019")]=i,n[t("0xc90")]=x,n.curr=a,x=a,e[0]=r[t("0xe4d")](e[0]),typeof e[0]!==t("0x38b7")&&e[t("0x4e4a")]("%O");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((a,i)=>{var x=t;if("%%"===a)return a;o++;const s=r.formatters[i];if(typeof s===x("0x3349")){const t=e[o];a=s[x("0x3c6b")](n,t),e[x("0x2bcf")](o,1),o--}return a})),r[t("0x41fd")][t("0x3c6b")](n,e);(n[t("0x10f3")]||r[t("0x10f3")])[t("0x4884")](n,e)}return s[n("0x4939")]=e,s[n("0x48b5")]=r[n("0x48b5")](e),s[n("0x46f7")]=r[n("0x46f7")](),s[n("0xf2c")]=a(e),s[n("0xdc5")]=i,s.extend=o,"function"==typeof r[n("0xeed")]&&r.init(s),r[n("0x273e")].push(s),s}function i(){var e=t;const n=r[e("0x273e")][e("0x3507")](this);return-1!==n&&(r[e("0x273e")][e("0x2bcf")](n,1),!0)}function o(e,n){var a=t;const i=r(this[a("0x4939")]+(typeof n===a("0xc42")?":":n)+e);return i.log=this.log,i}function x(e){var n=t;return e[n("0x3c88")]().substring(2,e.toString()[n("0x5e9")]-2)[n("0x3cc0")](/\.\*\?$/,"*")}return r[t("0x3382")]=r,r[t("0x3993")]=r,r[t("0xe4d")]=function(e){var n=t;return e instanceof Error?e[n("0x375a")]||e[n("0x45ea")]:e},r[t("0x1f4d")]=function(){var e=t;const n=[...r[e("0x41c8")][e("0x19e8")](x),...r.skips[e("0x19e8")](x).map((e=>"-"+e))][e("0xc60")](",");return r[e("0x1a33")](""),n},r.enable=function(e){var n=t;let a;r[n("0x37e0")](e),r.names=[],r[n("0x42a4")]=[];const i=(typeof e===n("0x38b7")?e:"")[n("0x9e5")](/[\s,]+/),o=i[n("0x5e9")];for(a=0;a<o;a++)i[a]&&("-"===(e=i[a][n("0x3cc0")](/\*/g,n("0x498c")))[0]?r.skips.push(new RegExp("^"+e[n("0x39fa")](1)+"$")):r[n("0x41c8")][n("0x459a")](new RegExp("^"+e+"$")));for(a=0;a<r[n("0x273e")][n("0x5e9")];a++){const e=r[n("0x273e")][a];e[n("0x48b5")]=r[n("0x48b5")](e[n("0x4939")])}},r[t("0x48b5")]=function(e){var n=t;if("*"===e[e[n("0x5e9")]-1])return!0;let a,i;for(a=0,i=r.skips.length;a<i;a++)if(r[n("0x42a4")][a].test(e))return!1;for(a=0,i=r[n("0x41c8")][n("0x5e9")];a<i;a++)if(r.names[a][n("0x3ff3")](e))return!0;return!1},r[t("0xd85")]=n(7824),Object[t("0xa35")](e)[t("0x5ba")]((t=>{r[t]=e[t]})),r.instances=[],r[t("0x41c8")]=[],r[t("0x42a4")]=[],r[t("0x2d44")]={},r[t("0x2f0d")]=a,r[t("0x1a33")](r[t("0x2de8")]()),r}},2931:e=>{var t=_0x299160;const n=Object[t("0x4b8c")](null);n[t("0x55a")]="0",n.close="1",n[t("0xfca")]="2",n[t("0x2c28")]="3",n[t("0x45ea")]="4",n.upgrade="5",n[t("0x49d1")]="6";const a=Object[t("0x4b8c")](null);Object[t("0xa35")](n)[t("0x5ba")]((e=>{a[n[e]]=e}));const r={type:t("0x4ad3"),data:"parser error"};e.exports={PACKET_TYPES:n,PACKET_TYPES_REVERSE:a,ERROR_PACKET:r}},4321:(e,t,n)=>{var a=_0x299160;const{PACKET_TYPES_REVERSE:r,ERROR_PACKET:i}=n(2931);let o;"function"==typeof ArrayBuffer&&(o=n(546));const x=(e,t)=>{if(o){const n=o[a2_0x37cf("0x19f2")](e);return s(n,t)}return{base64:!0,data:e}},s=(e,t)=>{var n=a2_0x37cf;switch(t){case n("0xe54"):return e instanceof ArrayBuffer?new Blob([e]):e;case n("0x3069"):default:return e}};e[a("0x33f9")]=(e,t)=>{var n=a2_0x37cf;if(typeof e!==n("0x38b7"))return{type:n("0x45ea"),data:s(e,t)};const a=e[n("0x24de")](0);if("b"===a)return{type:n("0x45ea"),data:x(e.substring(1),t)};return r[a]?e[n("0x5e9")]>1?{type:r[a],data:e.substring(1)}:{type:r[a]}:i}},789:(e,t,n)=>{var a=_0x299160;const{PACKET_TYPES:r}=n(2931),i=typeof Blob===a("0x3349")||typeof Blob!==a("0xc42")&&Object.prototype[a("0x3c88")][a("0x3c6b")](Blob)===a("0x361"),o=typeof ArrayBuffer===a("0x3349"),x=(e,t)=>{var n=a;const r=new FileReader;return r[n("0x3e94")]=function(){var e=n;const a=r[e("0x1e64")][e("0x9e5")](",")[1];t("b"+a)},r[n("0x4fc2")](e)};e.exports=({type:e,data:t},n,s)=>{var c,l,d=a;return i&&t instanceof Blob?n?s(t):x(t,s):o&&(t instanceof ArrayBuffer||(c=t,l=a,typeof ArrayBuffer.isView===l("0x3349")?ArrayBuffer[l("0x1d1d")](c):c&&c[l("0x1920")]instanceof ArrayBuffer))?n?s(t instanceof ArrayBuffer?t:t[d("0x1920")]):x(new Blob([t]),s):s(r[e]+(t||""))}},3918:(e,t,n)=>{var a=_0x299160;const r=n(789),i=n(4321),o=String[a("0x1e62")](30);e[a("0x33f9")]={protocol:4,encodePacket:r,encodePayload:(e,t)=>{var n=a;const i=e.length,x=new Array(i);let s=0;e[n("0x5ba")](((e,n)=>{r(e,!1,(e=>{var a=a2_0x37cf;x[n]=e,++s===i&&t(x[a("0xc60")](o))}))}))},decodePacket:i,decodePayload:(e,t)=>{var n=a;const r=e.split(o),x=[];for(let e=0;e<r[n("0x5e9")];e++){const a=i(r[e],t);if(x[n("0x459a")](a),a[n("0x3298")]===n("0x4ad3"))break}return x}}},6809:(e,t)=>{var n=_0x299160;t.encode=function(e){var t=a2_0x37cf,n="";for(var a in e)e[t("0x1bd4")](a)&&(n.length&&(n+="&"),n+=encodeURIComponent(a)+"="+encodeURIComponent(e[a]));return n},t[n("0x19f2")]=function(e){for(var t=n,a={},r=e[t("0x9e5")]("&"),i=0,o=r.length;i<o;i++){var x=r[i][t("0x9e5")]("=");a[decodeURIComponent(x[0])]=decodeURIComponent(x[1])}return a}},6362:e=>{var t=_0x299160,n=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,a=[t("0x4aff"),"protocol","authority","userInfo",t("0x3c64"),t("0x88"),t("0x4961"),t("0x23a4"),t("0x38d7"),"path",t("0x257a"),t("0x3ce9"),t("0x3829"),t("0x3703")];e.exports=function(e){var r=t,i=e,o=e[r("0x3507")]("["),x=e[r("0x3507")]("]");-1!=o&&-1!=x&&(e=e[r("0x35e7")](0,o)+e[r("0x35e7")](o,x)[r("0x3cc0")](/:/g,";")+e[r("0x35e7")](x,e[r("0x5e9")]));for(var s,c,l,d,u,f,m=n[r("0x3629")](e||""),b={},_=14;_--;)b[a[_]]=m[_]||"";return-1!=o&&-1!=x&&(b[r("0x4aff")]=i,b[r("0x4961")]=b.host[r("0x35e7")](1,b[r("0x4961")].length-1).replace(/;/g,":"),b[r("0xb49")]=b[r("0xb49")][r("0x3cc0")]("[","")[r("0x3cc0")]("]","")[r("0x3cc0")](/;/g,":"),b[r("0xe14")]=!0),b.pathNames=(l=b[r("0x1da4")],u=/\/{2,9}/g,f=l[(d=t)("0x3cc0")](u,"/")[d("0x9e5")]("/"),("/"==l[d("0x39fa")](0,1)||0===l[d("0x5e9")])&&f[d("0x2bcf")](0,1),"/"==l[d("0x39fa")](l.length-1,1)&&f.splice(f[d("0x5e9")]-1,1),f),b[r("0x346e")]=(s=b.query,c={},s[t("0x3cc0")](/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(c[t]=n)})),c),b}},7187:e=>{var t,n=_0x299160,a=typeof Reflect===n("0x1b1d")?Reflect:null,r=a&&typeof a[n("0x4884")]===n("0x3349")?a[n("0x4884")]:function(e,t,a){var r=n;return Function[r("0x20f")][r("0x4884")].call(e,t,a)};t=a&&typeof a[n("0x37eb")]===n("0x3349")?a[n("0x37eb")]:Object[n("0x3f0e")]?function(e){var t=n;return Object.getOwnPropertyNames(e)[t("0x3abc")](Object[t("0x3f0e")](e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e[n("0x33f9")]=o,e[n("0x33f9")][n("0x4299")]=function(e,t){return new Promise((function(n,a){var r,i=a2_0x37cf;function o(){var t=a2_0x37cf;void 0!==r&&e.removeListener(t("0x4ad3"),r),n([][t("0x9b3")][t("0x3c6b")](arguments))}t!==i("0x4ad3")&&(r=function(n){e[i("0x1dc")](t,o),a(n)},e[i("0x4299")](i("0x4ad3"),r)),e[i("0x4299")](t,o)}))},o[n("0x1038")]=o,o.prototype._events=void 0,o[n("0x20f")][n("0x8a6")]=0,o[n("0x20f")][n("0x1daf")]=void 0;var x=10;function s(e){if(typeof e!==n("0x3349"))throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){var t=n;return void 0===e._maxListeners?o[t("0x3ee8")]:e[t("0x1daf")]}function l(e,t,a,r){var i,o,x,l,d,u=n;if(s(a),void 0===(o=e[u("0x2b23")])?(o=e[u("0x2b23")]=Object.create(null),e[u("0x8a6")]=0):(void 0!==o[u("0x2694")]&&(e[u("0xe39")](u("0x2694"),t,a[u("0x3127")]?a[u("0x3127")]:a),o=e[u("0x2b23")]),x=o[t]),void 0===x)x=o[t]=a,++e[u("0x8a6")];else if(typeof x===u("0x3349")?x=o[t]=r?[a,x]:[x,a]:r?x[u("0x4e4a")](a):x[u("0x459a")](a),(i=c(e))>0&&x.length>i&&!x[u("0x21e7")]){x[u("0x21e7")]=!0;var f=new Error("Possible EventEmitter memory leak detected. "+x[u("0x5e9")]+" "+String(t)+u("0x3d8d")+u("0x4ad2")+u("0xad9"));f[u("0x98c")]=u("0x2722"),f.emitter=e,f[u("0x3298")]=t,f[u("0x10d1")]=x[u("0x5e9")],l=f,d=n,console&&console[d("0x1dc6")]&&console[d("0x1dc6")](l)}return e}function d(){var e=n;if(!this.fired)return this[e("0x55d")][e("0x1dc")](this[e("0x3298")],this[e("0x7d8")]),this[e("0x44c9")]=!0,0===arguments[e("0x5e9")]?this[e("0x3127")][e("0x3c6b")](this[e("0x55d")]):this.listener.apply(this[e("0x55d")],arguments)}function u(e,t,a){var r=n,i={fired:!1,wrapFn:void 0,target:e,type:t,listener:a},o=d[r("0x2b0c")](i);return o[r("0x3127")]=a,i.wrapFn=o,o}function f(e,t,a){var r=n,i=e[r("0x2b23")];if(void 0===i)return[];var o=i[t];return void 0===o?[]:typeof o===r("0x3349")?a?[o[r("0x3127")]||o]:[o]:a?function(e){for(var t=n,a=new Array(e[t("0x5e9")]),r=0;r<a.length;++r)a[r]=e[r][t("0x3127")]||e[r];return a}(o):b(o,o[r("0x5e9")])}function m(e){var t=n,a=this[t("0x2b23")];if(void 0!==a){var r=a[e];if(typeof r===t("0x3349"))return 1;if(void 0!==r)return r.length}return 0}function b(e,t){for(var n=new Array(t),a=0;a<t;++a)n[a]=e[a];return n}Object[n("0x47ad")](o,n("0x3ee8"),{enumerable:!0,get:function(){return x},set:function(e){var t=n;if(typeof e!==t("0x2231")||e<0||i(e))throw new RangeError(t("0x6f0")+e+".");x=e}}),o[n("0xeed")]=function(){var e=n;(void 0===this[e("0x2b23")]||this[e("0x2b23")]===Object[e("0x3e2a")](this)._events)&&(this[e("0x2b23")]=Object.create(null),this[e("0x8a6")]=0),this[e("0x1daf")]=this._maxListeners||void 0},o[n("0x20f")][n("0x2968")]=function(e){var t=n;if(typeof e!==t("0x2231")||e<0||i(e))throw new RangeError(t("0x15a8")+e+".");return this[t("0x1daf")]=e,this},o.prototype[n("0x2192")]=function(){return c(this)},o.prototype[n("0xe39")]=function(e){for(var t=n,a=[],i=1;i<arguments[t("0x5e9")];i++)a.push(arguments[i]);var o=e===t("0x4ad3"),x=this[t("0x2b23")];if(void 0!==x)o=o&&void 0===x[t("0x4ad3")];else if(!o)return!1;if(o){var s;if(a[t("0x5e9")]>0&&(s=a[0]),s instanceof Error)throw s;var c=new Error(t("0x15ca")+(s?" ("+s.message+")":""));throw c.context=s,c}var l=x[e];if(void 0===l)return!1;if(typeof l===t("0x3349"))r(l,this,a);else{var d=l.length,u=b(l,d);for(i=0;i<d;++i)r(u[i],this,a)}return!0},o[n("0x20f")].addListener=function(e,t){return l(this,e,t,!1)},o[n("0x20f")].on=o.prototype[n("0x3694")],o[n("0x20f")].prependListener=function(e,t){return l(this,e,t,!0)},o[n("0x20f")].once=function(e,t){return s(t),this.on(e,u(this,e,t)),this},o[n("0x20f")][n("0x542")]=function(e,t){var a=n;return s(t),this[a("0x1fb9")](e,u(this,e,t)),this},o[n("0x20f")][n("0x1dc")]=function(e,t){var a,r,i,o,x,c=n;if(s(t),void 0===(r=this[c("0x2b23")]))return this;if(void 0===(a=r[e]))return this;if(a===t||a[c("0x3127")]===t)0==--this[c("0x8a6")]?this[c("0x2b23")]=Object[c("0x4b8c")](null):(delete r[e],r[c("0x1dc")]&&this[c("0xe39")](c("0x1dc"),e,a[c("0x3127")]||t));else if(typeof a!==c("0x3349")){for(i=-1,o=a[c("0x5e9")]-1;o>=0;o--)if(a[o]===t||a[o].listener===t){x=a[o].listener,i=o;break}if(i<0)return this;0===i?a[c("0x4534")]():function(e,t){for(var a=n;t+1<e[a("0x5e9")];t++)e[t]=e[t+1];e[a("0x4acd")]()}(a,i),1===a[c("0x5e9")]&&(r[e]=a[0]),void 0!==r[c("0x1dc")]&&this[c("0xe39")]("removeListener",e,x||t)}return this},o.prototype[n("0x30f8")]=o.prototype[n("0x1dc")],o[n("0x20f")][n("0x3fb4")]=function(e){var t,a,r,i=n;if(void 0===(a=this[i("0x2b23")]))return this;if(void 0===a.removeListener)return 0===arguments[i("0x5e9")]?(this[i("0x2b23")]=Object[i("0x4b8c")](null),this[i("0x8a6")]=0):void 0!==a[e]&&(0==--this[i("0x8a6")]?this[i("0x2b23")]=Object[i("0x4b8c")](null):delete a[e]),this;if(0===arguments[i("0x5e9")]){var o,x=Object[i("0xa35")](a);for(r=0;r<x[i("0x5e9")];++r)(o=x[r])!==i("0x1dc")&&this.removeAllListeners(o);return this[i("0x3fb4")](i("0x1dc")),this[i("0x2b23")]=Object.create(null),this[i("0x8a6")]=0,this}if(typeof(t=a[e])===i("0x3349"))this[i("0x1dc")](e,t);else if(void 0!==t)for(r=t[i("0x5e9")]-1;r>=0;r--)this[i("0x1dc")](e,t[r]);return this},o[n("0x20f")][n("0x22a0")]=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o[n("0x27f6")]=function(e,t){var a=n;return"function"==typeof e[a("0x27f6")]?e[a("0x27f6")](t):m[a("0x3c6b")](e,t)},o[n("0x20f")].listenerCount=m,o[n("0x20f")][n("0x19ef")]=function(){var e=n;return this[e("0x8a6")]>0?t(this[e("0x2b23")]):[]}},8058:e=>{var t=_0x299160;try{e[t("0x33f9")]="undefined"!=typeof XMLHttpRequest&&t("0x2e22")in new XMLHttpRequest}catch(n){e[t("0x33f9")]=!1}},5171:(e,t)=>{var n,a,r,i;a=function(e){var t=a2_0x37cf,n=[],a=Object[t("0xa35")],r={},i={},o=/^(no-?highlight|plain|text)$/i,x=/\blang(?:uage)?-([\w-]+)\b/i,s=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,c=t("0x1b30"),l={classPrefix:t("0x28db"),tabReplace:null,useBR:!1,languages:void 0},d=t("0xb7c").split(" ");function u(e){var n=t;return e[n("0x3cc0")](/&/g,n("0xcfa"))[n("0x3cc0")](/</g,n("0x244b"))[n("0x3cc0")](/>/g,n("0x3045"))}function f(e){var n=t;return e.nodeName[n("0x2eb9")]()}function m(e){return o[t("0x3ff3")](e)}function b(e){var n,a=t,r={},i=Array[a("0x20f")][a("0x9b3")][a("0x3c6b")](arguments,1);for(n in e)r[n]=e[n];return i[a("0x5ba")]((function(e){for(n in e)r[n]=e[n]})),r}function _(e){var t=[];return function e(n,a){for(var r=a2_0x37cf,i=n[r("0x2aab")];i;i=i[r("0x1681")])3===i[r("0x4879")]?a+=i[r("0x4910")].length:1===i[r("0x4879")]&&(t[r("0x459a")]({event:"start",offset:a,node:i}),a=e(i,a),!f(i)[r("0x2cd9")](/br|hr|img|input/)&&t.push({event:r("0x5a"),offset:a,node:i}));return a}(e,0),t}function p(e){var n=t;return!!e&&(e[n("0x253e")]||p(e[n("0x3ed3")]))}function h(e){var n=t;return e[n("0x3f75")]&&!e[n("0x2b79")]&&(e[n("0x2b79")]=e[n("0x3f75")][n("0x19e8")]((function(t){return b(e,{variants:null},t)}))),e[n("0x2b79")]?e[n("0x2b79")]:p(e)?[b(e,{starts:e.starts?b(e[n("0x3ed3")]):null})]:[e]}function g(e,n){return n?Number(n):(a=e,r=t,-1!=d.indexOf(a[r("0x2eb9")]())?0:1);var a,r}function v(e){function n(e){return e&&e[a2_0x37cf("0x4aff")]||e}function r(t,a){var r=a2_0x37cf;return new RegExp(n(t),"m"+(e[r("0xeb")]?"i":"")+(a?"g":""))}function i(e){var t,a,i=a2_0x37cf,o={},x=[],s={},c=1;function l(e,t){var n,a=a2_0x37cf;o[c]=e,x[a("0x459a")]([e,t]),c+=(n=a2_0x37cf,new RegExp(t[n("0x3c88")]()+"|")[n("0x3629")]("")[n("0x5e9")]-1+1)}for(var d=0;d<e[i("0x2a10")][i("0x5e9")];d++)l(a=e[i("0x2a10")][d],a[i("0x37c3")]?"\\.?(?:"+a.begin+i("0x1697"):a[i("0x2cc6")]);e[i("0x18af")]&&l(i("0x3a59"),e[i("0x18af")]),e[i("0x4c8c")]&&l("illegal",e[i("0x4c8c")]);var u=x[i("0x19e8")]((function(e){return e[1]}));return t=r(function(e,t){for(var a=a2_0x37cf,r=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,i=0,o="",x=0;x<e[a("0x5e9")];x++){var s=i+=1,c=n(e[x]);for(x>0&&(o+=t),o+="(";c[a("0x5e9")]>0;){var l=r.exec(c);if(null==l){o+=c;break}o+=c[a("0x35e7")](0,l[a("0x2d50")]),c=c[a("0x35e7")](l[a("0x2d50")]+l[0][a("0x5e9")]),"\\"==l[0][0]&&l[1]?o+="\\"+String(Number(l[1])+s):(o+=l[0],"("==l[0]&&i++)}o+=")"}return o}(u,"|"),!0),s[i("0x151e")]=0,s.exec=function(n){var a,r=i;if(0===x[r("0x5e9")])return null;t[r("0x151e")]=s.lastIndex;var c=t[r("0x3629")](n);if(!c)return null;for(var l=0;l<c[r("0x5e9")];l++)if(null!=c[l]&&null!=o[""+l]){a=o[""+l];break}return typeof a===r("0x38b7")?(c.type=a,c[r("0x21d8")]=[e[r("0x4c8c")],e[r("0x18af")]]):(c[r("0x3298")]=r("0x2cc6"),c[r("0x318e")]=a),c},s}!function o(x,s){var c=a2_0x37cf;x[c("0x4a2d")]||(x.compiled=!0,x[c("0x16be")]=x[c("0x16be")]||x[c("0x37c3")],x[c("0x16be")]&&(x[c("0x16be")]=function(e,n){var r=t,i={};return typeof e===r("0x38b7")?o("keyword",e):a(e)[r("0x5ba")]((function(t){o(t,e[t])})),i;function o(e,t){var a=r;n&&(t=t[a("0x2eb9")]()),t[a("0x9e5")](" ")[a("0x5ba")]((function(t){var n=t.split("|");i[n[0]]=[e,g(n[0],n[1])]}))}}(x[c("0x16be")],e[c("0xeb")])),x.lexemesRe=r(x[c("0x3cf6")]||/\w+/,!0),s&&(x[c("0x37c3")]&&(x[c("0x2cc6")]=c("0x2a45")+x[c("0x37c3")].split(" ")[c("0xc60")]("|")+")\\b"),x.begin||(x.begin=/\B|\b/),x[c("0x3865")]=r(x.begin),x[c("0x3272")]&&(x[c("0x3a59")]=x.begin),x[c("0x3a59")]||x[c("0x253e")]||(x.end=/\B|\b/),x.end&&(x[c("0x2f2b")]=r(x[c("0x3a59")])),x.terminator_end=n(x[c("0x3a59")])||"",x[c("0x253e")]&&s.terminator_end&&(x[c("0x18af")]+=(x[c("0x3a59")]?"|":"")+s[c("0x18af")])),x[c("0x4c8c")]&&(x.illegalRe=r(x[c("0x4c8c")])),null==x.relevance&&(x[c("0x2ac3")]=1),!x[c("0x2a10")]&&(x[c("0x2a10")]=[]),x.contains=Array.prototype[c("0x3abc")][c("0x4884")]([],x[c("0x2a10")].map((function(e){return h(e===c("0xaf2")?x:e)}))),x[c("0x2a10")][c("0x5ba")]((function(e){o(e,x)})),x[c("0x3ed3")]&&o(x[c("0x3ed3")],s),x.terminators=i(x))}(e)}function S(e,n,a,i){var o=t;function x(e,n){var a,r,i,o,s=a2_0x37cf;if(a=e[s("0x2f2b")],r=n,i=t,(o=a&&a.exec(r))&&0===o[i("0x2d50")]){for(;e[s("0x1cd1")]&&e.parent;)e=e.parent;return e}if(e.endsWithParent)return x(e.parent,n)}function s(e,t,n,a){var r=a2_0x37cf;if(!n&&""===t)return"";if(!e)return t;var i=a?"":l.classPrefix,o=r("0xeaa")+i;return(o+=e+'">')+t+(n?"":c)}function d(){T+=null!=g[a2_0x37cf("0x112")]?function(){var e=a2_0x37cf,t="string"==typeof g[e("0x112")];if(t&&!r[g[e("0x112")]])return u(y);var n=t?S(g.subLanguage,y,!0,A[g[e("0x112")]]):E(y,g[e("0x112")][e("0x5e9")]?g.subLanguage:void 0);return g.relevance>0&&(w+=n[e("0x2ac3")]),t&&(A[g[e("0x112")]]=n[e("0x228a")]),s(n[e("0x1bc7")],n[e("0x3a33")],!1,!0)}():function(){var e,t,n,a,r,i,o,x,c=a2_0x37cf;if(!g[c("0x16be")])return u(y);for(a="",t=0,g[c("0x1f48")][c("0x151e")]=0,n=g[c("0x1f48")].exec(y);n;)a+=u(y[c("0x35e7")](t,n[c("0x2d50")])),r=g,i=n,o=void 0,x=void 0,x=p[(o=a2_0x37cf)("0xeb")]?i[0].toLowerCase():i[0],(e=r[o("0x16be")][o("0x1bd4")](x)&&r[o("0x16be")][x])?(w+=e[1],a+=s(e[0],u(n[0]))):a+=u(n[0]),t=g[c("0x1f48")][c("0x151e")],n=g[c("0x1f48")][c("0x3629")](y);return a+u(y[c("0x39fa")](t))}(),y=""}function f(e){var t=a2_0x37cf;T+=e[t("0x14a8")]?s(e[t("0x14a8")],"",!0):"",g=Object[t("0x4b8c")](e,{parent:{value:g}})}function m(e){var t=a2_0x37cf,n=e[0],a=e[t("0x318e")];return a&&a[t("0x3272")]&&(a.endRe=new RegExp(n[a2_0x37cf("0x3cc0")](/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),a[t("0x3d17")]?y+=n:(a.excludeBegin&&(y+=n),d(),!a[t("0x3d29")]&&!a.excludeBegin&&(y=n)),f(a),a[t("0x3d29")]?0:n[t("0x5e9")]}var b={};function _(e,t){var r=a2_0x37cf,i=t&&t[0];if(y+=e,null==i)return d(),0;if(b[r("0x3298")]==r("0x2cc6")&&t[r("0x3298")]==r("0x3a59")&&b.index==t[r("0x2d50")]&&""===i)return y+=n.slice(t.index,t[r("0x2d50")]+1),1;if(b=t,"begin"===t.type)return m(t);if("illegal"===t.type&&!a)throw new Error(r("0x375d")+i+r("0x5ef")+(g[r("0x14a8")]||r("0x4c19"))+'"');if("end"===t[r("0x3298")]){var o=function(e){var t=a2_0x37cf,n=e[0],a=x(g,n);if(a){var r=g;r[t("0x3d17")]?y+=n:(!(r[t("0xd")]||r[t("0x1d3c")])&&(y+=n),d(),r[t("0x1d3c")]&&(y=n));do{g[t("0x14a8")]&&(T+=c),!g[t("0x3d17")]&&!g[t("0x112")]&&(w+=g.relevance),g=g[t("0x731")]}while(g!==a[t("0x731")]);return a.starts&&(a[t("0x3272")]&&(a.starts.endRe=a.endRe),f(a[t("0x3ed3")])),r.returnEnd?0:n[t("0x5e9")]}}(t);if(null!=o)return o}return y+=i,i[r("0x5e9")]}var p=C(e);if(!p)throw new Error(o("0x4b45")+e+'"');v(p);var h,g=i||p,A={},T="";for(h=g;h!==p;h=h[o("0x731")])h[o("0x14a8")]&&(T=s(h[o("0x14a8")],"",!0)+T);var y="",w=0;try{for(var M,R,D=0;g[o("0x4fa3")][o("0x151e")]=D,M=g.terminators[o("0x3629")](n);)R=_(n.substring(D,M.index),M),D=M[o("0x2d50")]+R;for(_(n[o("0x39fa")](D)),h=g;h[o("0x731")];h=h[o("0x731")])h[o("0x14a8")]&&(T+=c);return{relevance:w,value:T,illegal:!1,language:e,top:g}}catch(e){if(e.message&&-1!==e.message[o("0x3507")](o("0x85c")))return{illegal:!0,relevance:0,value:u(n)};throw e}}function E(e,n){var i=t;n=n||l.languages||a(r);var o={relevance:0,value:u(e)},x=o;return n.filter(C).filter(w).forEach((function(t){var n=a2_0x37cf,a=S(t,e,!1);a[n("0x1bc7")]=t,a[n("0x2ac3")]>x[n("0x2ac3")]&&(x=a),a.relevance>o.relevance&&(x=o,o=a)})),x[i("0x1bc7")]&&(o.second_best=x),o}function A(e){var n=t;return l[n("0x2969")]||l[n("0x24b4")]?e.replace(s,(function(e,t){var a=n;return l[a("0x24b4")]&&"\n"===e?a("0x49ae"):l[a("0x2969")]?t[a("0x3cc0")](/\t/g,l.tabReplace):""})):e}function T(e){var a,r,o,s,c,d,b,p,h,g,v,T=t,y=function(e){var n,a,r,i,o=t,s=e[o("0x14a8")]+" ";if(s+=e[o("0x368c")]?e.parentNode[o("0x14a8")]:"",a=x.exec(s))return C(a[1])?a[1]:o("0x3826");for(n=0,r=(s=s[o("0x9e5")](/\s+/)).length;n<r;n++)if(m(i=s[n])||C(i))return i}(e);m(y)||(l[T("0x24b4")]?(a=document[T("0x239f")]("http://www.w3.org/1999/xhtml",T("0x4774"))).innerHTML=e[T("0x18c4")].replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):a=e,c=a[T("0x12ee")],o=y?S(y,c,!0):E(c),(r=_(a))[T("0x5e9")]&&((s=document[T("0x239f")](T("0x568"),T("0x4774")))[T("0x18c4")]=o.value,o[T("0x3a33")]=function(e,a,r){var i=t,o=0,x="",s=[];function c(){var t=a2_0x37cf;return e[t("0x5e9")]&&a[t("0x5e9")]?e[0][t("0x1feb")]!==a[0][t("0x1feb")]?e[0].offset<a[0][t("0x1feb")]?e:a:a[0][t("0x1511")]===t("0x1023")?e:a:e.length?e:a}function l(e){var t=a2_0x37cf;x+="<"+f(e)+n.map[t("0x3c6b")](e[t("0x184f")],(function(e){return" "+e[a2_0x37cf("0x4907")]+'="'+u(e.value).replace('"',"&quot;")+'"'}))[t("0xc60")]("")+">"}function d(e){x+="</"+f(e)+">"}function m(e){("start"===e.event?l:d)(e.node)}for(;e.length||a[i("0x5e9")];){var b=c();if(x+=u(r[i("0x35e7")](o,b[0][i("0x1feb")])),o=b[0][i("0x1feb")],b===e){s[i("0x48d")]()[i("0x5ba")](d);do{m(b.splice(0,1)[0]),b=c()}while(b===e&&b[i("0x5e9")]&&b[0][i("0x1feb")]===o);s.reverse()[i("0x5ba")](l)}else b[0][i("0x1511")]===i("0x1023")?s[i("0x459a")](b[0][i("0x13db")]):s[i("0x4acd")](),m(b.splice(0,1)[0])}return x+u(r[i("0x39fa")](o))}(r,_(s),c)),o[T("0x3a33")]=A(o[T("0x3a33")]),e[T("0x18c4")]=o.value,e[T("0x14a8")]=(d=e.className,b=y,p=o[T("0x1bc7")],h=t,g=b?i[b]:p,v=[d[h("0x2dc4")]()],!d[h("0x2cd9")](/\bhljs\b/)&&v[h("0x459a")](h("0x1247")),-1===d[h("0x3507")](g)&&v[h("0x459a")](g),v[h("0xc60")](" ").trim()),e[T("0x1e64")]={language:o[T("0x1bc7")],re:o[T("0x2ac3")]},o.second_best&&(e[T("0x4005")]={language:o[T("0x4005")].language,re:o.second_best[T("0x2ac3")]}))}function y(){var e=t;if(!y[e("0x4821")]){y[e("0x4821")]=!0;var a=document[e("0x1e72")](e("0x86a"));n.forEach[e("0x3c6b")](a,T)}}function C(e){return e=(e||"")[t("0x2eb9")](),r[e]||r[i[e]]}function w(e){var n=t,a=C(e);return a&&!a[n("0x2fa4")]}return e.highlight=S,e[t("0x4ec3")]=E,e.fixMarkup=A,e[t("0x4430")]=T,e[t("0x1eea")]=function(e){l=b(l,e)},e[t("0x4ba9")]=y,e[t("0x1efa")]=function(){var e=t;addEventListener(e("0x1f47"),y,!1),addEventListener(e("0x2de8"),y,!1)},e[t("0x28be")]=function(n,a){var o=t,x=r[n]=a(e);x[o("0x4451")]=a[o("0x2b0c")](null,e),x[o("0x1bbf")]&&x.aliases[o("0x5ba")]((function(e){i[e]=n}))},e[t("0x2344")]=function(){return a(r)},e.getLanguage=C,e[t("0x3dc8")]=w,e[t("0xbe2")]=b,e[t("0x4485")]=t("0x3770"),e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e[t("0x2dbc")]=t("0x4325"),e[t("0x762")]=t("0x3cc5"),e[t("0x144b")]="\\b(0b[01]+)",e[t("0x3668")]=t("0x38ac"),e[t("0x28e2")]={begin:t("0x183c"),relevance:0},e[t("0xee9")]={className:t("0x38b7"),begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e[t("0x2b8c")]={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e[t("0x28e2")]]},e[t("0x31fb")]={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e[t("0x4ff9")]=function(n,a,r){var i=t,o=e[i("0xbe2")]({className:i("0x3cd8"),begin:n,end:a,contains:[]},r||{});return o.contains[i("0x459a")](e.PHRASAL_WORDS_MODE),o.contains.push({className:i("0x62d"),begin:i("0xa41"),relevance:0}),o},e[t("0x2d29")]=e[t("0x4ff9")]("//","$"),e[t("0x4848")]=e[t("0x4ff9")](t("0xaae"),"\\*/"),e[t("0xb46")]=e[t("0x4ff9")]("#","$"),e[t("0x21e4")]={className:t("0x2231"),begin:e[t("0x2dbc")],relevance:0},e[t("0x49a1")]={className:t("0x2231"),begin:e[t("0x762")],relevance:0},e[t("0xd50")]={className:t("0x2231"),begin:e[t("0x144b")],relevance:0},e[t("0x21d9")]={className:t("0x2231"),begin:e.NUMBER_RE+"("+t("0x4cf2")+t("0xe55")+t("0x2077")+"|deg|grad|rad|turn"+t("0x2fd7")+t("0x2b0e")+t("0x2427")+")?",relevance:0},e[t("0x7c6")]={className:t("0x242e"),begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e[t("0x28e2")],{begin:/\[/,end:/\]/,relevance:0,contains:[e[t("0x28e2")]]}]},e[t("0x3ef7")]={className:t("0x2fdc"),begin:e[t("0x4485")],relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e[t("0x8da")],relevance:0},e[t("0x2b38")]={begin:t("0x116f")+e[t("0x8da")],relevance:0},e.registerLanguage("1c",(function(e){var n=t,a="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+",r=n("0xd72")+"возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли "+n("0x663"),i=n("0x154c")+(n("0x2bd")+n("0x2c1f")+n("0x3ebb")),o=n("0x327c")+(n("0x4148")+n("0xe24")+n("0x3fe6")+"коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид ")+n("0x2f14")+n("0x444")+"основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута "+n("0x3b5a")+n("0x4c")+n("0x4410")+"счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон "+(n("0x3efd")+n("0xa34")+n("0x1ddf")+n("0x2882")+n("0x445d")+n("0x3194")+n("0x4274"))+"значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла "+n("0x318f")+n("0x226c")+n("0x1f90")+n("0x3ee3")+"копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти "+n("0x10b")+n("0x44f8")+n("0xab7")+n("0x4956")+n("0x221a")+n("0x778")+n("0x2505")+n("0x3027")+"номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения "+n("0x1619")+n("0x1c5")+n("0x1c1f")+n("0x4007")+"перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту "+n("0x1f57")+n("0x191e")+n("0xe33")+n("0x7c7")+n("0x42e9")+"получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора "+n("0x2acf")+n("0x33bf")+n("0x8f1")+n("0x1646")+n("0x4e9b")+n("0x2a13")+n("0x2f70")+n("0x1bba")+n("0x4aad")+"получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути "+n("0x1b5c")+n("0x10ac")+n("0x85a")+"получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию "+n("0x1c2a")+n("0x29f6")+n("0x427f")+"прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока "+n("0x56")+n("0x2610")+"смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить "+n("0x38d9")+n("0x3c61")+n("0x1705")+n("0xb7d")+n("0x61b")+n("0x4bee")+n("0x2632")+n("0x358")+"установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации "+n("0x7d2")+n("0x1c22")+n("0x1936")+n("0x134")+"установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией "+n("0x460a")+n("0x1d4e")+"формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища "+n("0x4b97")+"внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты "+n("0x4a34")+"отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик "+n("0x2286")+n("0x2b0d")+n("0xece")+n("0x6c6")+n("0x12b4")+n("0xab9"),x=n("0x4542")+(n("0x3a76")+n("0xe43")+"вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы ")+n("0x1d79")+n("0x4ff5")+"горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки "+n("0x17b9")+"источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева "+n("0x3e82")+n("0x3115")+n("0x38fa")+n("0x2cb6")+n("0xae0")+n("0x209a")+n("0x3fd3")+n("0x8e0")+n("0x557")+n("0x44af")+"поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы "+n("0x3141")+n("0x109b")+n("0x15ad")+n("0x4a7f")+n("0xcfd")+n("0x3912")+n("0x474e")+n("0xef2")+"режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы "+n("0x4453")+n("0x3e09")+n("0x27d1")+n("0x45fa")+"статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы "+n("0x17e2")+n("0x2800")+n("0x3b1d")+n("0xcf1")+n("0x4bb4")+n("0x88c")+n("0x3270")+"типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы "+n("0x3af5")+n("0x2d0e")+(n("0x41b0")+n("0x196d")+n("0x3b70"))+n("0x217f")+"использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы "+n("0x3631")+n("0x231e")+n("0x2f")+n("0x2745")+n("0x2d8")+n("0x528")+n("0x4564")+n("0x135b")+n("0x4133")+n("0x17fa")+n("0x24e4")+n("0x15e3")+(n("0x1bd1")+n("0x1fae")+n("0x109a")+n("0x17b5"))+"типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных "+n("0x24ef")+"wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs "+n("0x21fa")+n("0x1fe6")+"ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson "+n("0x28e")+n("0x1aa9")+"видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных "+n("0x5f8")+n("0x150c")+n("0x4497")+n("0x41fc")+n("0x2476")+n("0x32bd")+n("0x433c")+n("0x2ee5")+n("0x28b2")+"вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных "+n("0x37c8")+"важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты "+n("0xa6a")+n("0x4b68")+(n("0x2c97")+n("0x480b"))+(n("0x332c")+n("0x58"))+"звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных "+n("0x3c75")+(n("0x4d9a")+n("0x14cc"))+(n("0x3008")+n("0x43d5"))+"использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения "+n("0x4e9")+n("0x22b1")+n("0x21b1")+n("0x2e42")+n("0x2f24")+n("0x255c")+n("0x1b5e")+n("0x4a35")+n("0x2896")+"режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса "+n("0x28f1")+n("0x2a75")+n("0x4501")+n("0x4601")+"важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения "+n("0xdc7")+"видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак "+n("0x4366")+n("0x1b8")+n("0x192f")+n("0xc9f")+n("0x2880")+n("0x372d"),s=n("0x402")+"блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема "+n("0x24c8")+n("0x2c18")+n("0x2915")+n("0x2bb4")+n("0x4ca7")+n("0x1db5")+n("0x261d")+n("0x4fbb")+n("0x285")+n("0x289d")+n("0x27cc")+n("0x6d5")+n("0x4b28")+n("0x36c0")+n("0x3b78")+n("0x29e5")+n("0x30aa")+n("0x4981")+n("0x46d7")+n("0x4c59")+n("0x2db8")+n("0x2a84")+n("0x176b")+n("0x4cec")+n("0x1ce7")+n("0x186d")+n("0x1bac")+n("0x280d")+n("0x41e9")+n("0x4726")+n("0x29ba")+n("0x47e8")+n("0x352")+(n("0x1f94")+n("0x6b5")),c="null истина ложь неопределено",l=e.inherit(e[n("0x21e4")]),d={className:"string",begin:n("0x2e05"),end:'"|$',contains:[{begin:'""'}]},u={begin:"'",end:"'",excludeBegin:!0,excludeEnd:!0,contains:[{className:"number",begin:n("0x3f6b")}]},f=e.inherit(e[n("0x2d29")]),m={className:n("0x1439"),lexemes:a,begin:n("0xdfe"),end:"$",keywords:{"meta-keyword":r+i},contains:[f]},b={className:n("0x40c6"),begin:"~",end:n("0x18dc"),excludeEnd:!0};return{case_insensitive:!0,lexemes:a,keywords:{keyword:r,built_in:o,class:x,type:s,literal:c},contains:[m,{className:"function",lexemes:a,variants:[{begin:n("0x4fe3"),end:"\\)",keywords:n("0x11f6")},{begin:"конецпроцедуры|конецфункции",keywords:n("0x15cf")}],contains:[{begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:n("0x48ad"),lexemes:a,begin:a,end:",",excludeEnd:!0,endsWithParent:!0,keywords:{keyword:"знач",literal:c},contains:[l,d,u]},f]},e[n("0xbe2")](e[n("0x3ef7")],{begin:a})]},f,b,l,d,u]}})),e[t("0x28be")](t("0x3ee1"),(function(e){var n=t,a={ruleDeclaration:n("0x12a"),unexpectedChars:"[!@#$^&',?+~`|:]"},r=[n("0x785"),n("0x4519"),n("0x34f8"),"CR",n("0x4539"),"CTL","DIGIT",n("0x3478"),"HEXDIG",n("0x1f3c"),"LF","LWSP","OCTET","SP",n("0x1405"),n("0x16f0")],i=e[n("0x4ff9")](";","$"),o={className:n("0x40c6"),begin:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/},x={className:n("0x40c6"),begin:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/},s={className:n("0x40c6"),begin:/%[si]/},c={className:n("0x3d26"),begin:a.ruleDeclaration+"(?=\\s*=)"};return{illegal:a[n("0x473e")],keywords:r[n("0xc60")](" "),contains:[c,i,o,{className:"symbol",begin:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/},x,s,e[n("0x2b8c")],e.NUMBER_MODE]}})),e[t("0x28be")]("accesslog",(function(e){var n=t,a=[n("0x30f1"),n("0x1406"),"HEAD",n("0x511"),n("0x253d"),"CONNECT",n("0x4a95"),n("0x2e1e"),n("0x208d")];return{contains:[{className:n("0x2231"),begin:n("0x17f"),relevance:5},{className:n("0x2231"),begin:n("0x259"),relevance:0},{className:"string",begin:'"('+a.join("|")+")",end:'"',keywords:a[n("0xc60")](" "),illegal:"\\n",relevance:5,contains:[{begin:"HTTP/[12]\\.\\d",relevance:5}]},{className:"string",begin:/\[\d[^\]\n]{8,}\]/,illegal:"\\n",relevance:1},{className:n("0x38b7"),begin:/\[/,end:/\]/,illegal:"\\n",relevance:0},{className:n("0x38b7"),begin:n("0xabe"),end:'"',illegal:"\\n",relevance:3},{className:n("0x38b7"),begin:'"',end:'"',illegal:"\\n",relevance:0}]}})),e[t("0x28be")](t("0x1726"),(function(e){var n=t,a=n("0x3142"),r={className:n("0x1d16"),begin:n("0x2cf3"),end:a,relevance:10};return{aliases:["as"],keywords:{keyword:"as break case catch class const continue default delete do dynamic each "+n("0x1db6")+n("0x4e16")+"protected public return set static super switch this throw try typeof use var void "+n("0x4e2c"),literal:n("0x4541")},contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e[n("0x4848")],e.C_NUMBER_MODE,{className:"class",beginKeywords:n("0x2778"),end:"{",contains:[e[n("0x3ef7")]]},{className:n("0x917"),beginKeywords:n("0x2b37"),end:"{",excludeEnd:!0,contains:[{beginKeywords:n("0x1732")},e.TITLE_MODE]},{className:"meta",beginKeywords:"import include",end:";",keywords:{"meta-keyword":n("0x6f7")}},{className:n("0x3349"),beginKeywords:n("0x3349"),end:n("0x4914"),excludeEnd:!0,illegal:"\\S",contains:[e[n("0x3ef7")],{className:n("0x48ad"),begin:"\\(",end:"\\)",contains:[e[n("0xee9")],e[n("0x2b8c")],e[n("0x2d29")],e[n("0x4848")],r]},{begin:":\\s*([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)"}]},e.METHOD_GUARD],illegal:/#/}})),e.registerLanguage(t("0x2b50"),(function(e){var n=t,a=n("0x4dd8"),r=n("0x4b78")+a,i=a+n("0x2148")+a+")?("+r+")?",o=n("0xd77"),x=a+"#"+o+n("0x2148")+o+")?#("+r+")?",s=n("0x2a45")+x+"|"+i+")",c=n("0x6ae"),l=n("0x168e"),d=e[n("0x4ff9")]("--","$"),u={begin:"\\s+:\\s+",end:n("0x20fc"),illegal:l,contains:[{beginKeywords:n("0x358c"),endsParent:!0},{className:n("0x2038"),beginKeywords:n("0x3858")},{className:n("0x3298"),begin:c,endsParent:!0,relevance:0}]};return{case_insensitive:!0,keywords:{keyword:n("0x39b6")+n("0x1efb")+n("0x23aa")+n("0x3934")+n("0x269d")+"is raise use declare range delay limited record when delta loop rem while "+n("0x24a7"),literal:n("0x1401")},contains:[d,{className:n("0x38b7"),begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{className:n("0x38b7"),begin:/'.'/},{className:"number",begin:s,relevance:0},{className:"symbol",begin:"'"+c},{className:n("0x2fdc"),begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",end:"(is|$)",keywords:n("0x1d4b"),excludeBegin:!0,excludeEnd:!0,illegal:l},{begin:n("0x44fb"),end:n("0x333"),keywords:n("0x4e37"),returnBegin:!0,contains:[d,{className:n("0x2fdc"),begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:n("0xa37"),excludeBegin:!0,excludeEnd:!0,illegal:l},u,{className:n("0x3298"),begin:n("0x139b"),end:"(\\s+|;|$)",keywords:n("0x110d"),excludeBegin:!0,excludeEnd:!0,endsParent:!0,illegal:l}]},{className:"type",begin:n("0x2a31"),end:n("0xfcf"),keywords:n("0x3298"),excludeBegin:!0,illegal:l},u]}})),e[t("0x28be")](t("0x4fc7"),(function(e){var n=t,a={className:n("0x21a9"),begin:"\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)"},r={className:n("0x40c6"),begin:n("0x1964")},i={className:n("0x2038"),begin:"<",end:">",contains:[a,r]};return a[n("0x2a10")]=[i],r[n("0x2a10")]=[i],{aliases:[n("0x2ced")],keywords:n("0x3ffc")+n("0x814")+n("0xc12")+n("0x41db"),illegal:n("0xa38"),contains:[{className:n("0x38b7"),begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:n("0x38b7"),begin:n("0x259b"),end:n("0x259b")},e[n("0x2d29")],e[n("0x4848")],{beginKeywords:n("0x2e57"),end:"{",illegal:"[;.\\-]",contains:[{className:n("0x40c6"),begin:"[a-zA-Z0-9_]+"}]},{beginKeywords:n("0x917"),end:"{",illegal:n("0xc9e"),contains:[{className:n("0x40c6"),begin:"[a-zA-Z0-9_]+",contains:[{begin:n("0xaa5"),contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]}]}]},a,r,{className:n("0x235f"),begin:"\\b(null|true|false)"},{className:n("0x2231"),begin:n("0x20cf")}]}})),e[t("0x28be")](t("0x3840"),(function(e){var n=t,a={className:n("0x2231"),begin:n("0x3de1")};return{aliases:[n("0x4911")],case_insensitive:!0,contains:[e[n("0xb46")],{className:n("0x855"),begin:n("0x34ef"),end:">"},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:n("0x10fe")+n("0x915")+n("0x444e")},starts:{end:/$/,relevance:0,keywords:{literal:"on off all"},contains:[{className:n("0x1439"),begin:"\\s\\[",end:n("0x3d03")},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:[n("0xaf2"),a]},a,e[n("0x2b8c")]]}}],illegal:/\S/}})),e[t("0x28be")](t("0x2d09"),(function(e){var n=t,a=e[n("0xbe2")](e[n("0x2b8c")],{illegal:""}),r={className:n("0x48ad"),begin:"\\(",end:"\\)",contains:["self",e[n("0x49a1")],a]},i=e[n("0x4ff9")]("--","$"),o=[i,e.COMMENT("\\(\\*",n("0x5ae"),{contains:[n("0xaf2"),i]}),e.HASH_COMMENT_MODE];return{aliases:["osascript"],keywords:{keyword:n("0xdf8")+"behind below beneath beside between but by considering "+n("0x1f12")+n("0x4f41")+"get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref "+n("0x30cc")+"sixth some tell tenth that the|0 then third through thru "+n("0x396e")+"without",literal:n("0x1108"),built_in:n("0x2adb")+"number real record string text "+n("0x465c")+n("0x4b0b")+n("0xd29")+n("0x3be5")+"weekday word words year"},contains:[a,e[n("0x49a1")],{className:n("0x21a9"),begin:n("0x2e9e")+n("0x723")+n("0xa0a")+n("0x1832")+n("0x97a")+n("0x1426")+n("0x25cb")+"folder|from list|remote application|URL)|"+n("0xed4")},{className:"literal",begin:n("0x45f5")},{className:"keyword",begin:n("0x1f79")+n("0x3467")+n("0x1c10")+n("0x2a8c")+n("0x1557")},{beginKeywords:"on",illegal:"[${=;\\n]",contains:[e[n("0x33ca")],r]}].concat(o),illegal:"//|->|=>|\\[\\["}})),e.registerLanguage(t("0x3c07"),(function(e){var n=t,a="[A-Za-z_][0-9A-Za-z_]*",r={keyword:"if for while var new function do return void else break",literal:n("0x604"),built_in:n("0x444a")+n("0x2ba8")+n("0x283c")+n("0x2c43")+n("0x4766")+n("0x2fe6")+"MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon "+n("0x16db")+n("0x3f62")+n("0x3a3d")+"Weekday When Within Year "},i={className:"symbol",begin:n("0x3f1b")},o={className:n("0x2231"),variants:[{begin:n("0x3254")},{begin:n("0x3a53")},{begin:e[n("0x762")]}],relevance:0},x={className:n("0x134d"),begin:n("0x4b4b"),end:"\\}",keywords:r,contains:[]},s={className:n("0x38b7"),begin:"`",end:"`",contains:[e[n("0x28e2")],x]};x[n("0x2a10")]=[e[n("0xee9")],e[n("0x2b8c")],s,o,e[n("0x7c6")]];var c=x[n("0x2a10")][n("0x3abc")]([e[n("0x4848")],e[n("0x2d29")]]);return{aliases:[n("0x3c07")],keywords:r,contains:[e[n("0xee9")],e[n("0x2b8c")],s,e[n("0x2d29")],e[n("0x4848")],i,o,{begin:/[{,]\s*/,relevance:0,contains:[{begin:a+n("0x1cc3"),returnBegin:!0,relevance:0,contains:[{className:"attr",begin:a,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+n("0x345e"),keywords:n("0x110d"),contains:[e.C_LINE_COMMENT_MODE,e[n("0x4848")],e.REGEXP_MODE,{className:"function",begin:n("0x70b")+a+")\\s*=>",returnBegin:!0,end:n("0x4a44"),contains:[{className:"params",variants:[{begin:a},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:c}]}]}],relevance:0},{className:"function",beginKeywords:n("0x3349"),end:/\{/,excludeEnd:!0,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:a}),{className:n("0x48ad"),begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:c}],illegal:/\[|%/},{begin:/\$[(.]/}],illegal:/#(?!!)/}})),e[t("0x28be")]("cpp",(function(e){var n=t,a={className:n("0x2038"),begin:n("0x35f7")},r=n("0x37b2"),i={className:"string",variants:[{begin:n("0x2c91"),end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:n("0x4b72")+r+"|.)",end:"'",illegal:"."},{begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/}]},o={className:n("0x2231"),variants:[{begin:"\\b(0b[01']+)"},{begin:n("0x4ae")},{begin:n("0x49e3")}],relevance:0},x={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":n("0xbba")+n("0x27a0")},contains:[{begin:/\\\n/,relevance:0},e[n("0xbe2")](i,{className:"meta-string"}),{className:"meta-string",begin:/<[^\n>]*>/,end:/$/,illegal:"\\n"},e[n("0x2d29")],e[n("0x4848")]]},s=e[n("0x4485")]+n("0xa9c"),c={keyword:n("0xf60")+"dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid "+n("0x35e6")+"switch continue inline delete alignof constexpr consteval constinit decltype "+n("0x3bf2")+"noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar "+n("0x4357")+"atomic_ullong new throw return "+n("0x1519"),built_in:n("0x1b51")+n("0x2999")+n("0x3efe")+n("0x3570")+n("0x2633")+n("0x2ac9")+n("0x2770")+n("0x38eb")+"vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},l=[a,e[n("0x2d29")],e[n("0x4848")],o,i];return{aliases:["c","cc","h",n("0x3906"),n("0x559"),"hpp","hh","hxx",n("0x3537")],keywords:c,illegal:"</",contains:l[n("0x3abc")]([x,{begin:n("0x377f"),end:">",keywords:c,contains:["self",a]},{begin:e[n("0x4485")]+"::",keywords:c},{variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:n("0x1ae4"),end:/;/}],keywords:c,contains:l[n("0x3abc")]([{begin:/\(/,end:/\)/,keywords:c,contains:l[n("0x3abc")]([n("0xaf2")]),relevance:0}]),relevance:0},{className:n("0x3349"),begin:"("+e[n("0x4485")]+n("0xd0b")+s,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:c,illegal:/[^\w\s\*&]/,contains:[{begin:s,returnBegin:!0,contains:[e[n("0x3ef7")]],relevance:0},{className:n("0x48ad"),begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e[n("0x4848")],i,o,a,{begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[n("0xaf2"),e.C_LINE_COMMENT_MODE,e[n("0x4848")],i,o,a]}]},e[n("0x2d29")],e[n("0x4848")],x]},{className:n("0x917"),beginKeywords:"class struct",end:/[{;:]/,contains:[{begin:/</,end:/>/,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:x,strings:i,keywords:c}}})),e.registerLanguage(t("0x429a"),(function(e){var n=t,a={keyword:"boolean byte word String",built_in:n("0x407d")+n("0x18f6")+n("0x2724")+"RobotControl GSMVoiceCall EthernetUDP EsploraTFT "+n("0x35e")+"FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet "+n("0x4906")+"WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage "+n("0x1791")+n("0x336b")+"GPRS WiFi Wire TFT GSM SPI SD "+n("0x2886")+n("0x3cf4")+n("0x432a")+n("0x1630")+n("0x4d1a")+n("0xbd")+n("0x1abd")+n("0x3ed2")+n("0x2d07")+n("0x2f9e")+"readStringUntil rewindDirectory readTemperature "+n("0x1074")+"analogReference detachInterrupt countryNameRead "+n("0xe77")+n("0x3181")+n("0x1e63")+n("0x1215")+n("0x1fc1")+n("0x4213")+n("0x1ea0")+n("0x181a")+n("0x14c1")+"setDataMode parsePacket isListening setBitOrder "+n("0x3b05")+n("0x117b")+n("0xd12")+n("0x33d8")+"disconnect playMelody parseFloat autoscroll "+n("0x3ea")+"readSlider analogRead beginWrite createChar "+n("0x3514")+"subnetMask debugPrint macAddress writeGreen "+n("0xbbb")+"remotePort releaseAll mouseMoved background "+n("0x5b3")+n("0x11ff")+n("0x124f")+n("0x2bad")+n("0xf45")+n("0x3785")+n("0x7c")+"parseInt overflow checkPIN knobRead beginTFT "+n("0x4935")+n("0x2221")+"remoteIP transfer shutdown hangCall beginSMS "+n("0x2d7d")+n("0x12a2")+"connect println localIP pinMode getIMEI display noBlink process getBand running beginSD "+n("0x1526")+"pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer "+n("0x1f0d")+n("0x43c3")+n("0x211")+n("0x46a4")+"point yield image BSSID click delay "+n("0x827")+n("0x3dbd")+n("0x1e23")+n("0x2072")+n("0x4de2"),literal:n("0xcb")+n("0xea8")+n("0x54a")+n("0x252b")+"DEFAULT OUTPUT INPUT HIGH LOW"},r=e.getLanguage("cpp").rawDefinition(),i=r.keywords;return i[n("0x2038")]+=" "+a[n("0x2038")],i[n("0x235f")]+=" "+a[n("0x235f")],i.built_in+=" "+a[n("0x21a9")],r})),e.registerLanguage(t("0x95c"),(function(e){var n=t;return{case_insensitive:!0,aliases:[n("0x1bec")],lexemes:"\\.?"+e.IDENT_RE,keywords:{meta:n("0x3203")+n("0x3750"),built_in:n("0x150a")+n("0x2920")+"a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 "+n("0x434e")+n("0x331b")+n("0x1dd0")+n("0x167e")+n("0x1def")+n("0x24ba")+n("0x14d7")+"d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 "+n("0x10ff")},contains:[{className:n("0x2038"),begin:n("0x2a45")+n("0x3482")+n("0x2913")+n("0x3bec")+"bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|"+n("0x1af")+"ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|"+n("0x2ff8")+n("0x1b5a")+"mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|"+n("0x4f8b")+n("0x2a6f")+")"+n("0x15d4")+n("0x4177"),end:"\\s"},e[n("0x4ff9")](n("0x3b4f"),"$",{relevance:0}),e[n("0x4848")],e[n("0x2b8c")],{className:"string",begin:"'",end:n("0x18d4"),relevance:0},{className:n("0x2fdc"),begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:n("0x2231"),variants:[{begin:n("0x9ef")},{begin:n("0x1961")},{begin:"[#$=]\\d+"},{begin:n("0x16e5")}],relevance:0},{className:n("0x40c6"),variants:[{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:n("0x3a10")}],relevance:0}]}})),e[t("0x28be")](t("0xbbe"),(function(e){var n=t,a=n("0xcf2"),r={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:n("0x417f"),begin:a,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:n("0x38b7"),endsParent:!0,variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s"'=<>`]+/}]}]}]};return{aliases:[n("0x1059"),n("0x4081"),n("0x928"),n("0x97c"),n("0x3d1"),n("0x4d7"),n("0x221e"),n("0x1f96"),n("0x3301"),n("0xb2b")],case_insensitive:!0,contains:[{className:n("0x1439"),begin:n("0x27e0"),end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e[n("0x4ff9")](n("0x4305"),n("0x647"),{relevance:10}),{begin:n("0x482c"),end:n("0x1e92"),relevance:10},{className:n("0x1439"),begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:n("0xaae"),end:n("0x3756"),skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e[n("0xbe2")](e[n("0xee9")],{illegal:null,className:null,contains:null,skip:!0}),e[n("0xbe2")](e[n("0x2b8c")],{illegal:null,className:null,contains:null,skip:!0})]},{className:n("0xb3b"),begin:n("0x34de"),end:">",keywords:{name:"style"},contains:[r],starts:{end:n("0x20d"),returnEnd:!0,subLanguage:["css",n("0xbbe")]}},{className:n("0xb3b"),begin:"<script(?=\\s|>)",end:">",keywords:{name:n("0x20d2")},contains:[r],starts:{end:n("0x163b"),returnEnd:!0,subLanguage:[n("0x1726"),n("0x3209"),n("0x22e4"),"xml"]}},{className:n("0xb3b"),begin:n("0x34ef"),end:"/?>",contains:[{className:n("0x98c"),begin:/[^\/><\s]+/,relevance:0},r]}]}})),e[t("0x28be")](t("0x633"),(function(e){var n=t;return{aliases:[n("0xfc1")],contains:[e.COMMENT("^/{4,}\\n",n("0xd51"),{relevance:10}),e[n("0x4ff9")](n("0x1e0f"),"$",{relevance:0}),{className:n("0x2fdc"),begin:n("0x4b7a")},{begin:"^[=\\*]{4,}\\n",end:n("0x3a44"),relevance:10},{className:"section",relevance:10,variants:[{begin:"^(={1,5}) .+?( \\1)?$"},{begin:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{className:n("0x1439"),begin:n("0x163d"),end:"\\s",excludeEnd:!0,relevance:10},{className:n("0x1439"),begin:n("0x2bda"),relevance:0},{className:n("0x1005"),begin:n("0x20c"),end:n("0xd63"),relevance:10},{className:n("0xd41"),begin:n("0x4e01"),end:n("0x1b6e"),relevance:10},{begin:n("0x44ea"),end:"\\n\\+{4,}$",contains:[{begin:"<",end:">",subLanguage:n("0xbbe"),relevance:0}],relevance:10},{className:"bullet",begin:n("0x3cd2")},{className:n("0x40c6"),begin:n("0x6ed"),relevance:10},{className:n("0x4a8b"),begin:"\\B\\*(?![\\*\\s])",end:n("0x6b9"),contains:[{begin:"\\\\*\\w",relevance:0}]},{className:n("0x4b86"),begin:n("0x2c5c"),end:n("0x4040"),contains:[{begin:n("0x37b6"),relevance:0}],relevance:0},{className:n("0x4b86"),begin:n("0x5016"),end:n("0x3617"),relevance:0},{className:n("0x38b7"),variants:[{begin:"``.+?''"},{begin:"`.+?'"}]},{className:"code",begin:n("0x972"),relevance:0},{className:n("0xd41"),begin:n("0x3505"),end:"$",relevance:0},{begin:n("0x3e64"),relevance:10},{begin:n("0x2329"),returnBegin:!0,contains:[{begin:n("0x4cc0"),relevance:0},{className:n("0x28f2"),begin:"\\w",end:"[^\\[]+",relevance:0},{className:n("0x38b7"),begin:"\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0,relevance:0}],relevance:10}]}})),e[t("0x28be")]("aspectj",(function(e){var n=t,a="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void "+n("0x4465")+n("0x32b3")+"aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler "+n("0x3547")+n("0x37c0"),r=n("0x122e");return{keywords:a,illegal:/<\/|#/,contains:[e[n("0x4ff9")](n("0x5f3"),"\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e[n("0x2d29")],e[n("0x4848")],e[n("0xee9")],e.QUOTE_STRING_MODE,{className:n("0x917"),beginKeywords:n("0x3022"),end:/[{;=]/,excludeEnd:!0,illegal:/[:;"\[\]]/,contains:[{beginKeywords:n("0x29fa")},e[n("0x33ca")],{begin:/\([^\)]*/,end:/[)]+/,keywords:a+" "+r,excludeEnd:!1}]},{className:n("0x917"),beginKeywords:n("0x2b37"),end:/[{;=]/,excludeEnd:!0,relevance:0,keywords:n("0x2b37"),illegal:/[:"\[\]]/,contains:[{beginKeywords:n("0x1732")},e[n("0x33ca")]]},{beginKeywords:n("0x4836"),end:/[)]/,excludeEnd:!1,illegal:/["\[\]]/,contains:[{begin:e[n("0x8da")]+n("0xa9c"),returnBegin:!0,contains:[e[n("0x33ca")]]}]},{begin:/[:]/,returnBegin:!0,end:/[{;]/,relevance:0,excludeEnd:!1,keywords:a,illegal:/["\[\]]/,contains:[{begin:e[n("0x8da")]+"\\s*\\(",keywords:a+" "+r,relevance:0},e[n("0x2b8c")]]},{beginKeywords:n("0x462c"),relevance:0},{className:"function",begin:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,returnBegin:!0,end:/[{;=]/,keywords:a,excludeEnd:!0,contains:[{begin:e[n("0x8da")]+n("0xa9c"),returnBegin:!0,relevance:0,contains:[e[n("0x33ca")]]},{className:n("0x48ad"),begin:/\(/,end:/\)/,relevance:0,keywords:a,contains:[e[n("0xee9")],e[n("0x2b8c")],e[n("0x49a1")],e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},e[n("0x49a1")],{className:n("0x1439"),begin:n("0x22b")}]}})),e.registerLanguage(t("0x3693"),(function(e){var n=t,a={begin:"`[\\s\\S]"};return{case_insensitive:!0,aliases:[n("0x11e4")],keywords:{keyword:n("0x2a6c"),literal:n("0x903"),built_in:n("0x24e")},contains:[a,e[n("0xbe2")](e[n("0x2b8c")],{contains:[a]}),e[n("0x4ff9")](";","$",{relevance:0}),e.C_BLOCK_COMMENT_MODE,{className:n("0x2231"),begin:e[n("0x2dbc")],relevance:0},{className:n("0x3722"),begin:n("0x1ffa")},{className:n("0x21a9"),begin:"^\\s*\\w+\\s*(,|%)"},{className:n("0x2fdc"),variants:[{begin:'^[^\\n";]+::(?!=)'},{begin:n("0xfad"),relevance:0}]},{className:n("0x1439"),begin:n("0x25a2"),end:"$",relevance:0},{className:n("0x21a9"),begin:n("0x45df")},{begin:n("0x43eb")}]}})),e[t("0x28be")](t("0x6b1"),(function(e){var n=t,a=n("0x2a32")+"Default Dim Do Else ElseIf EndFunc EndIf EndSelect "+n("0x1cb6")+n("0x2e55")+n("0x1cb"),r=n("0x1541"),i=n("0x278d"),o={variants:[e[n("0x4ff9")](";","$",{relevance:0}),e.COMMENT("#cs",n("0x2435")),e[n("0x4ff9")](n("0x2a69"),"#comments-end")]},x={begin:n("0x16d0")},s={className:n("0x38b7"),variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},c={variants:[e[n("0xd50")],e[n("0x49a1")]]};return{case_insensitive:!0,illegal:/\/\*/,keywords:{keyword:a,built_in:i,literal:r},contains:[o,x,s,c,{className:n("0x1439"),begin:"#",end:"$",keywords:{"meta-keyword":n("0x4a01")},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:n("0x47f3"),keywords:{"meta-keyword":"include"},end:"$",contains:[s,{className:n("0x41b8"),variants:[{begin:"<",end:">"},{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]}]},s,o]},{className:n("0x40c6"),begin:n("0x3d7e")},{className:n("0x3349"),beginKeywords:"Func",end:"$",illegal:n("0x4057"),contains:[e[n("0x33ca")],{className:"params",begin:"\\(",end:"\\)",contains:[x,s,c]}]}]}})),e[t("0x28be")]("avrasm",(function(e){var n=t;return{case_insensitive:!0,lexemes:n("0x470")+e[n("0x4485")],keywords:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr "+n("0x1a4d")+n("0x2a5")+n("0xf2")+"sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub "+n("0x3ed0"),built_in:n("0x46ac")+n("0x2dbf")+n("0x4b13")+"tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c "+n("0x310e")+n("0x10c7")+n("0x3b58")+n("0x3aaa")+n("0x4ac3")+n("0x231c"),meta:n("0xb8d")+n("0x358b")},contains:[e[n("0x4848")],e[n("0x4ff9")](";","$",{relevance:0}),e[n("0x49a1")],e[n("0xd50")],{className:n("0x2231"),begin:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},e.QUOTE_STRING_MODE,{className:n("0x38b7"),begin:"'",end:n("0x18d4"),illegal:n("0x1bd")},{className:"symbol",begin:n("0x40a6")},{className:n("0x1439"),begin:"#",end:"$"},{className:n("0x134d"),begin:n("0x413")}]}})),e[t("0x28be")](t("0x1d54"),(function(e){var n=t,a={className:n("0x3722"),variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]};return{keywords:{keyword:n("0x4f7c")},contains:[a,{className:n("0x38b7"),contains:[e[n("0x28e2")]],variants:[{begin:/(u|b)?r?'''/,end:/'''/,relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},e[n("0xee9")],e[n("0x2b8c")]]},e[n("0x7c6")],e[n("0xb46")],e.NUMBER_MODE]}})),e.registerLanguage(t("0x264e"),(function(e){var n=t;return{keywords:n("0x4f36")+n("0x45ef")+n("0x1b5d")+"continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count "+n("0x450b")+n("0x206e"),contains:[e.C_LINE_COMMENT_MODE,e[n("0x4848")],e[n("0xee9")],e[n("0x2b8c")],e[n("0x49a1")],{className:"meta",begin:"#",end:"$"},{className:n("0x917"),beginKeywords:n("0x2b37"),end:"{",excludeEnd:!0,illegal:":",contains:[{beginKeywords:n("0x1732")},e.UNDERSCORE_TITLE_MODE]}]}})),e[t("0x28be")]("bash",(function(e){var n=t,a={className:n("0x3722"),variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:n("0x38b7"),begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,a,{className:n("0x3722"),begin:/\$\(/,end:/\)/,contains:[e[n("0x28e2")]]}]},i={className:n("0x38b7"),begin:/'/,end:/'/};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:n("0x3ba0"),literal:"true false",built_in:n("0x4cc6")+n("0x2763")+n("0x288e")+n("0x4cb9")+n("0x113")+n("0x10b6")+n("0x187d")+n("0x30fa")+n("0x1b14")+n("0x2795")+n("0x45d7"),_:n("0x4aab")},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:n("0x3349"),begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,r,{className:"",begin:/\\"/},i,a]}})),e.registerLanguage(t("0x4899"),(function(e){var n=t;return{case_insensitive:!0,illegal:"^.",lexemes:n("0x3c34"),keywords:{keyword:n("0x3ce3")+n("0x2644")+"DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ "+n("0x2e6f")+n("0x2376")+n("0x43e3")+n("0x4144")+"BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET "+n("0x50b")+"RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP "+n("0x3b3f")+"WEND WIDTH WINDOW WRITE XOR"},contains:[e[n("0x2b8c")],e[n("0x4ff9")](n("0x3e9e"),"$",{relevance:10}),e[n("0x4ff9")]("'","$",{relevance:0}),{className:n("0x40c6"),begin:n("0x379c"),relevance:10},{className:n("0x2231"),begin:"\\b([0-9]+[0-9edED.]*[#!]?)",relevance:0},{className:"number",begin:"(&[hH][0-9a-fA-F]{1,4})"},{className:n("0x2231"),begin:n("0x1d46")}]}})),e[t("0x28be")](t("0x285b"),(function(e){var n=t;return{contains:[{className:n("0x3d26"),begin:/</,end:/>/},{begin:/::=/,starts:{end:/$/,contains:[{begin:/</,end:/>/},e[n("0x2d29")],e[n("0x4848")],e.APOS_STRING_MODE,e[n("0x2b8c")]]}}]}})),e[t("0x28be")](t("0x10c8"),(function(e){var n=t,a={className:"literal",begin:n("0x4395"),relevance:0};return{aliases:["bf"],contains:[e[n("0x4ff9")](n("0x36b9"),"[\\[\\]\\.,\\+\\-<> \r\n]",{returnEnd:!0,relevance:0}),{className:n("0x2fdc"),begin:"[\\[\\]]",relevance:0},{className:n("0x38b7"),begin:n("0x307c"),relevance:0},{begin:/(?:\+\+|\-\-)/,contains:[a]},a]}})),e[t("0x28be")](t("0xd9d"),(function(e){var n=t,a=n("0x22ac")+n("0x4f3"),r=n("0xd09"),i=[e[n("0x2d29")],e.COMMENT(/\{/,/\}/,{relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],o={className:n("0x38b7"),begin:/'/,end:/'/,contains:[{begin:/''/}]},x={className:"string",begin:/(#\d+)+/},s={className:"number",begin:n("0x408e"),relevance:0},c={className:n("0x38b7"),begin:'"',end:'"'},l={className:n("0x3349"),beginKeywords:n("0x2bba"),end:/[:;]/,keywords:n("0x4c38"),contains:[e[n("0x3ef7")],{className:n("0x48ad"),begin:/\(/,end:/\)/,keywords:a,contains:[o,x]}][n("0x3abc")](i)},d={className:n("0x917"),begin:n("0x2f38"),returnBegin:!0,contains:[e[n("0x3ef7")],l]};return{case_insensitive:!0,keywords:{keyword:a,literal:r},illegal:/\/\*/,contains:[o,x,s,c,e[n("0x21e4")],d,l]}})),e.registerLanguage(t("0x760"),(function(e){var n=t;return{aliases:["capnp"],keywords:{keyword:n("0x2f90"),built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 "+n("0x1c80"),literal:n("0x8c9")},contains:[e.QUOTE_STRING_MODE,e[n("0x21e4")],e.HASH_COMMENT_MODE,{className:n("0x1439"),begin:/@0x[\w\d]{16};/,illegal:/\n/},{className:n("0x40c6"),begin:/@\d+\b/},{className:n("0x917"),beginKeywords:n("0x2d8b"),end:/\{/,illegal:/\n/,contains:[e[n("0xbe2")](e[n("0x3ef7")],{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:n("0x917"),beginKeywords:n("0x40d9"),end:/\{/,illegal:/\n/,contains:[e[n("0xbe2")](e[n("0x3ef7")],{starts:{endsWithParent:!0,excludeEnd:!0}})]}]}})),e[t("0x28be")](t("0x2d79"),(function(e){var n=t,a=n("0xb88")+n("0x4a5d")+"break continue throw assert dynamic if else switch case for while try "+n("0x35dd"),r={className:n("0x134d"),excludeBegin:!0,excludeEnd:!0,begin:/``/,end:/``/,keywords:a,relevance:10},i=[{className:n("0x38b7"),begin:'"""',end:'"""',relevance:10},{className:n("0x38b7"),begin:'"',end:'"',contains:[r]},{className:n("0x38b7"),begin:"'",end:"'"},{className:n("0x2231"),begin:n("0x2c1e"),relevance:0}];return r[n("0x2a10")]=i,{keywords:{keyword:a+" shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small",meta:"doc by license see throws tagged"},illegal:n("0x402c"),contains:[e.C_LINE_COMMENT_MODE,e[n("0x4ff9")](n("0xaae"),n("0x3756"),{contains:[n("0xaf2")]}),{className:"meta",begin:n("0x20a2")}].concat(i)}})),e[t("0x28be")](t("0x3193"),(function(e){var n=t;return{aliases:["clean",n("0x16a0"),n("0x277d")],keywords:{keyword:n("0x170")+"implementation definition system module from import qualified as "+n("0x3f20")+n("0x34af"),built_in:n("0x2b2f"),literal:"True False"},contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0xee9")],e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{begin:"->|<-[|:]?|#!?|>>=|\\{\\||\\|\\}|:==|=:|<>"}]}})),e[t("0x28be")](t("0x4798"),(function(e){var n=t,a={"builtin-name":n("0xb")+n("0xa36")+n("0x3724")+"class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? "+n("0x1e4b")+"inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last "+n("0x41bb")+n("0x2014")+n("0x24d3")+n("0x2ff9")+n("0x12d9")+n("0x264c")+n("0xb4a")+n("0xe49")+n("0x3fcc")+n("0x4785")+"assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline "+n("0x3f11")+n("0x4375")+n("0x3d36")+"new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty "+n("0x298b")+n("0x3af7")+n("0x26cd")+"unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},r=n("0x35c6"),i="["+r+"]["+r+"0-9/;:]*",o=n("0x41f2"),x={begin:i,relevance:0},s={className:n("0x2231"),begin:o,relevance:0},c=e.inherit(e[n("0x2b8c")],{illegal:null}),l=e.COMMENT(";","$",{relevance:0}),d={className:n("0x235f"),begin:/\b(true|false|nil)\b/},u={begin:"[\\[\\{]",end:n("0x22fb")},f={className:n("0x3cd8"),begin:"\\^"+i},m=e.COMMENT(n("0x3239"),"\\}"),b={className:n("0x40c6"),begin:n("0x125c")+i},_={begin:"\\(",end:"\\)"},p={endsWithParent:!0,relevance:0},h={keywords:a,lexemes:i,className:n("0x98c"),begin:i,starts:p},g=[_,c,f,m,l,b,u,s,d,x];return _[n("0x2a10")]=[e[n("0x4ff9")](n("0x3cd8"),""),h,p],p[n("0x2a10")]=g,u[n("0x2a10")]=g,m.contains=[u],{aliases:["clj"],illegal:/\S/,contains:[_,c,f,m,l,b,u,s,d]}})),e[t("0x28be")](t("0x357e"),(function(e){var n=t;return{contains:[{className:n("0x1439"),begin:/^([\w.-]+|\s*#_)?=>/,starts:{end:/$/,subLanguage:n("0x4798")}}]}})),e[t("0x28be")](t("0x2a44"),(function(e){var n=t;return{aliases:["cmake.in"],case_insensitive:!0,keywords:{keyword:"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments "+n("0x3ae4")+n("0x8b3")+"find_program foreach function get_cmake_property get_directory_property "+n("0x828")+n("0x43fe")+n("0x4eb")+n("0x1f6a")+"add_definitions add_dependencies add_executable add_library add_link_options "+n("0x3904")+n("0x1fdc")+n("0x2744")+"include_external_msproject include_regular_expression install link_directories "+n("0x1200")+n("0x14a5")+n("0x3c29")+n("0xa5")+"target_link_options target_sources try_compile try_run "+n("0x4b5d")+n("0x2a4b")+n("0x383e")+n("0x4fc3")+n("0x12ad")+"subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file "+n("0x4593")+n("0x3072")+"is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined"},contains:[{className:n("0x3722"),begin:"\\${",end:"}"},e[n("0xb46")],e[n("0x2b8c")],e[n("0x21e4")]]}})),e[t("0x28be")](t("0x22f6"),(function(e){var n=t,a={keyword:n("0x4075")+"switch continue typeof delete debugger super yield import export from as default await "+n("0x1854"),literal:n("0x3a66")+n("0x31b8"),built_in:"npm require console print module global window document"},r=n("0x18a8"),i={className:n("0x134d"),begin:/#\{/,end:/}/,keywords:a},o=[e[n("0xd50")],e[n("0xbe2")](e[n("0x49a1")],{starts:{end:n("0x4557"),relevance:0}}),{className:n("0x38b7"),variants:[{begin:/'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[e.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,i]},{begin:/"/,end:/"/,contains:[e[n("0x28e2")],i]}]},{className:"regexp",variants:[{begin:n("0x10f8"),end:"///",contains:[i,e.HASH_COMMENT_MODE]},{begin:n("0x3ee6"),relevance:0},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W)/}]},{begin:"@"+r},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:n("0xb6e")},{begin:"`",end:"`"}]}];i[n("0x2a10")]=o;var x=e[n("0xbe2")](e[n("0x3ef7")],{begin:r}),s=n("0x19d6"),c={className:"params",begin:n("0x440c"),returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:a,contains:[n("0xaf2")][n("0x3abc")](o)}]};return{aliases:["coffee",n("0x4cae"),n("0x479a")],keywords:a,illegal:/\/\*/,contains:o[n("0x3abc")]([e[n("0x4ff9")](n("0x378c"),n("0x378c")),e[n("0xb46")],{className:n("0x3349"),begin:n("0x2713")+r+"\\s*=\\s*"+s,end:n("0x4d31"),returnBegin:!0,contains:[x,c]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:n("0x3349"),begin:s,end:"[-=]>",returnBegin:!0,contains:[c]}]},{className:n("0x917"),beginKeywords:n("0x917"),end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[x]},x]},{begin:r+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}})),e[t("0x28be")](t("0x398a"),(function(e){var n=t;return{keywords:{keyword:n("0x1729")+n("0x3907")+"Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo "+n("0x93f")+n("0x359e")+n("0x158")+n("0x4a8")+n("0x2b1")+n("0x254c")+n("0x1da1")+n("0x31cd")+n("0x3ad0")+n("0x3ed6")+n("0xc2b")+"Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation "+n("0x42d6")+n("0x2554")+n("0x2f2f")+"Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save "+n("0x16bc")+n("0x391e")+n("0x13b8")+"Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused "+n("0x3e1d")+"Verbose Visibility where with",built_in:n("0x302e")+n("0x3dba")+n("0x3e1c")+n("0x5e4")+n("0x4f05")+n("0x4538")+"econstructor edestruct ediscriminate eelim eexact eexists einduction "+n("0x143e")+n("0x1c06")+n("0x449c")+n("0x2bd2")+n("0x2c1d")+"inversion inversion_clear is_evar is_var lapply lazy left lia lra move native_compute nia nsatz omega once pattern pose progress proof psatz quote record red refine reflexivity remember rename repeat replace revert "+n("0x3a81")+n("0x3c13")+n("0x322d")+n("0x3a94")+"symmetry tactic tauto time timeout top transitivity trivial try tryif "+n("0x1fd9")},contains:[e[n("0x2b8c")],e[n("0x4ff9")](n("0x25fe"),n("0x5ae")),e[n("0x49a1")],{className:n("0x3298"),excludeBegin:!0,begin:n("0x2ba5"),end:n("0xd77")},{begin:/[-=]>/}]}})),e[t("0x28be")]("cos",(function(e){var n=t,a={className:n("0x38b7"),variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]}]},r={className:"number",begin:n("0x162b"),relevance:0},i=n("0x2582")+n("0x4d21")+n("0x3b2")+n("0x2f93")+n("0x372a")+n("0x3b22")+n("0x1454");return{case_insensitive:!0,aliases:[n("0x1912"),n("0x2175")],keywords:i,contains:[r,a,e[n("0x2d29")],e[n("0x4848")],{className:n("0x3cd8"),begin:/;/,end:"$",relevance:0},{className:n("0x21a9"),begin:/(?:\$\$?|\.\.)\^?[a-zA-Z]+/},{className:n("0x21a9"),begin:/\$\$\$[a-zA-Z]+/},{className:n("0x21a9"),begin:/%[a-z]+(?:\.[a-z]+)*/},{className:n("0x40c6"),begin:/\^%?[a-zA-Z][\w]*/},{className:n("0x2038"),begin:/##class|##super|#define|#dim/},{begin:/&sql\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,subLanguage:n("0x28f4")},{begin:/&(js|jscript|javascript)</,end:/>/,excludeBegin:!0,excludeEnd:!0,subLanguage:n("0x3209")},{begin:/&html<\s*</,end:/>\s*>/,subLanguage:n("0xbbe")}]}})),e[t("0x28be")](t("0x25dd"),(function(e){var n=t,a=n("0x357f"),r=n("0x4a9")+n("0x3462")+n("0x32ae"),i=n("0x1806"),o=n("0x2691"),x=n("0x1a47")+n("0x3b55")+n("0x42d9"),s=n("0x34e4"),c=n("0xa4f");return{aliases:[n("0x451e"),n("0x3034")],case_insensitive:!0,keywords:{keyword:o+" "+x+" "+s,literal:c},contains:[e[n("0xb46")],{beginKeywords:n("0x13db"),starts:{end:n("0x43cd"),starts:{className:"title",end:n("0x374e")}}},{beginKeywords:a,starts:{className:"title",end:n("0x374e"),starts:{end:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{begin:"\\b("+r[n("0x9e5")](" ")[n("0xc60")]("|")+n("0x31d4"),keywords:r,starts:{className:n("0x2fdc"),end:n("0x280b")}},{beginKeywords:i,starts:{className:n("0x2fdc"),end:n("0x43cd")}},e[n("0x2b8c")],{className:n("0x1439"),begin:n("0x3f29"),relevance:0},{className:n("0x2231"),begin:n("0x8d3"),relevance:0},{className:n("0x235f"),begin:n("0x15d7"),relevance:0},{className:"attr",begin:/([A-Za-z\$_\#][\w_-]+)=/,relevance:0},{className:n("0xb3b"),begin:n("0x34ef"),end:n("0x2325"),relevance:0}]}})),e[t("0x28be")](t("0x3af"),(function(e){var n=t,a="(_*[ui](8|16|32|64|128))?",r=n("0x2b42"),i=n("0x206f"),o=n("0x5ee"),x={keyword:n("0x3b8f")+n("0x3d32")+n("0x1b6d")+n("0x4440"),literal:n("0x18e1")},s={className:n("0x134d"),begin:"#{",end:"}",keywords:x},c={className:n("0x3871"),variants:[{begin:"\\{\\{",end:n("0x14a3")},{begin:n("0x2eb3"),end:n("0x2f41")}],keywords:x};function l(e,t){var a=n,r=[{begin:e,end:t}];return r[0][a("0x2a10")]=r,r}var d={className:"string",contains:[e[n("0x28e2")],s],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:n("0x2d81"),end:"\\)",contains:l("\\(","\\)")},{begin:n("0x2fd9"),end:"\\]",contains:l("\\[","\\]")},{begin:n("0x487e"),end:"}",contains:l("{","}")},{begin:n("0x2d48"),end:">",contains:l("<",">")},{begin:n("0x1144"),end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0},u={className:n("0x38b7"),variants:[{begin:"%q\\(",end:"\\)",contains:l("\\(","\\)")},{begin:"%q\\[",end:"\\]",contains:l("\\[","\\]")},{begin:n("0x92b"),end:"}",contains:l("{","}")},{begin:n("0xe47"),end:">",contains:l("<",">")},{begin:n("0x1255"),end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0},f={begin:"(?!%})("+e[n("0x3668")]+n("0x4006"),keywords:n("0x39e1"),contains:[{className:n("0x242e"),contains:[e[n("0x28e2")],s],variants:[{begin:n("0x3296"),relevance:0},{begin:n("0x4725"),end:n("0x2149")}]}],relevance:0},m=[c,d,u,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,s],variants:[{begin:n("0x1cdc"),end:"\\)",contains:l("\\(","\\)")},{begin:n("0x19eb"),end:"\\]",contains:l("\\[","\\]")},{begin:n("0x3458"),end:"}",contains:l("{","}")},{begin:"%r<",end:">",contains:l("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0},f,{className:"meta",begin:"@\\[",end:"\\]",contains:[e[n("0xbe2")](e.QUOTE_STRING_MODE,{className:"meta-string"})]},e[n("0xb46")],{className:n("0x917"),beginKeywords:"class module struct",end:n("0x3b8"),illegal:/=/,contains:[e[n("0xb46")],e.inherit(e[n("0x3ef7")],{begin:o}),{begin:"<"}]},{className:"class",beginKeywords:n("0x3fb1"),end:"$|;",illegal:/=/,contains:[e[n("0xb46")],e[n("0xbe2")](e[n("0x3ef7")],{begin:o})],relevance:10},{beginKeywords:n("0xc5e"),end:n("0x3b8"),illegal:/=/,contains:[e.HASH_COMMENT_MODE,e[n("0xbe2")](e[n("0x3ef7")],{begin:o})],relevance:10},{className:n("0x3349"),beginKeywords:n("0x2c04"),end:/\B\b/,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:i,endsParent:!0})]},{className:"function",beginKeywords:n("0x26df"),end:/\B\b/,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:i,endsParent:!0})],relevance:5},{className:n("0x40c6"),begin:e[n("0x8da")]+n("0xfb4"),relevance:0},{className:"symbol",begin:":",contains:[d,{begin:i}],relevance:0},{className:n("0x2231"),variants:[{begin:n("0x2b43")+a},{begin:n("0x2373")+a},{begin:n("0x3820")+a},{begin:n("0x49fd")+"(_*f(32|64))?"+n("0x2823")},{begin:"\\b([1-9][0-9_]*|0)"+a}],relevance:0}];return s[n("0x2a10")]=m,c[n("0x2a10")]=m[n("0x9b3")](1),{aliases:["cr"],lexemes:r,keywords:x,contains:m}})),e[t("0x28be")]("cs",(function(e){var n=t,a={keyword:n("0x4aa3")+n("0x114a")+n("0x90f")+n("0x1cc1")+n("0x3b1f")+n("0x2b8d")+n("0x3274")+"let nameof on orderby partial remove select set value var when where yield",literal:n("0x1ca")},r={className:"number",variants:[{begin:n("0x3e4f")},{begin:n("0x4ae")},{begin:n("0x49e3")}],relevance:0},i={className:n("0x38b7"),begin:'@"',end:'"',contains:[{begin:'""'}]},o=e[n("0xbe2")](i,{illegal:/\n/}),x={className:n("0x134d"),begin:"{",end:"}",keywords:a},s=e.inherit(x,{illegal:/\n/}),c={className:n("0x38b7"),begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e[n("0x28e2")],s]},l={className:n("0x38b7"),begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},x]},d=e[n("0xbe2")](l,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},s]});x[n("0x2a10")]=[l,c,i,e[n("0xee9")],e[n("0x2b8c")],r,e.C_BLOCK_COMMENT_MODE],s[n("0x2a10")]=[d,c,o,e[n("0xee9")],e.QUOTE_STRING_MODE,r,e[n("0xbe2")](e[n("0x4848")],{illegal:/\n/})];var u={variants:[l,c,i,e.APOS_STRING_MODE,e[n("0x2b8c")]]},f=e[n("0x4485")]+"(<"+e[n("0x4485")]+n("0x5e0")+e.IDENT_RE+")*>)?(\\[\\])?";return{aliases:[n("0x1278"),"c#"],keywords:a,illegal:/::/,contains:[e[n("0x4ff9")](n("0x10f8"),"$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:n("0x10f8"),relevance:0},{begin:"\x3c!--|--\x3e"},{begin:n("0x34ef"),end:">"}]}]}),e[n("0x2d29")],e[n("0x4848")],{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":n("0x417a")}},u,r,{beginKeywords:n("0x2b37"),end:/[{;=]/,illegal:/[^\s:,]/,contains:[e[n("0x3ef7")],e[n("0x2d29")],e[n("0x4848")]]},{beginKeywords:n("0x4939"),end:/[{;=]/,illegal:/[^\s:]/,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:n("0x208")}),e[n("0x2d29")],e[n("0x4848")]]},{className:n("0x1439"),begin:n("0x4c55"),excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:n("0x41b8"),begin:/"/,end:/"/}]},{beginKeywords:n("0x4c8"),relevance:0},{className:n("0x3349"),begin:"("+f+n("0x49ef")+e[n("0x4485")]+n("0xa9c"),returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{begin:e[n("0x4485")]+"\\s*\\(",returnBegin:!0,contains:[e[n("0x3ef7")]],relevance:0},{className:n("0x48ad"),begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[u,r,e[n("0x4848")]]},e[n("0x2d29")],e[n("0x4848")]]}]}})),e.registerLanguage("csp",(function(e){var n=t;return{case_insensitive:!1,lexemes:n("0x2d87"),keywords:{keyword:n("0xc86")+" frame-ancestors frame-src img-src media-src object-src plugin-types"+n("0x612")},contains:[{className:n("0x38b7"),begin:"'",end:"'"},{className:"attribute",begin:n("0x17f0"),end:":",excludeEnd:!0}]}})),e.registerLanguage(t("0x42b1"),(function(e){var n=t,a=n("0x342"),r={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:n("0x3d26"),begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e[n("0x2b8c")]]}]},e[n("0x21d9")],e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e[n("0x4848")],{className:n("0x2231"),begin:n("0xdcf")},{className:n("0x1439"),begin:n("0x96f")}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e[n("0x4848")],{className:n("0x3512"),begin:/#[A-Za-z0-9_-]+/},{className:n("0x4835"),begin:/\.[A-Za-z0-9_-]+/},{className:n("0x1173"),begin:/\[/,end:/\]/,illegal:"$"},{className:n("0x304c"),begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:n("0x33e7"),lexemes:n("0x43dc"),keywords:n("0x2ebc")},{begin:"@",end:n("0x4914"),illegal:/:/,contains:[{className:n("0x2038"),begin:/\w+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[e[n("0xee9")],e.QUOTE_STRING_MODE,e[n("0x21d9")]]}]},{className:n("0x2f12"),begin:a,relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e[n("0x4848")],r]}]}})),e[t("0x28be")]("d",(function(e){var n=t,a={keyword:n("0x2ddf")+n("0x4e27")+n("0xd15")+n("0x493")+n("0x37dd")+"super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 "+n("0x1e6a"),built_in:n("0x416c")+n("0x1cf4")+"wstring",literal:n("0x3ef2")},r=n("0x34dc"),i="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",o=n("0x3f68"),x=n("0x3eab"),s=n("0x3d4d")+x,c=n("0x4062")+i+")",l="("+i+n("0x2498")+c+")|\\d+\\."+i+i+"|\\."+r+c+"?)",d="("+r+"|"+o+"|"+s+")",u="("+(n("0x4e3c")+x)+"\\."+x+"|"+n("0x470")+x+")[pP][+-]?"+i+")|"+l+")",f="\\\\("+n("0xb4d")+n("0x4562")+"[0-7]{1,3}|"+n("0x437d")+"U[\\dA-Fa-f]{8})|"+n("0x4803"),m={className:"number",begin:"\\b"+d+n("0x2203"),relevance:0},b={className:n("0x2231"),begin:n("0x2a45")+u+n("0x761")+d+n("0x5015")+")",relevance:0},_={className:n("0x38b7"),begin:"'("+f+n("0x408c"),end:"'",illegal:"."},p={begin:f,relevance:0},h={className:n("0x38b7"),begin:'"',contains:[p],end:'"[cwd]?'},g={className:"string",begin:n("0x43ff"),end:n("0x1293"),relevance:5},v={className:n("0x38b7"),begin:"`",end:n("0xb8f")},S={className:n("0x38b7"),begin:n("0x1032"),relevance:10},E={className:n("0x38b7"),begin:'q"\\{',end:n("0x4a41")},A={className:"meta",begin:n("0x4088"),end:"$",relevance:5},T={className:"meta",begin:n("0x365"),end:"$",relevance:5},y={className:"keyword",begin:n("0x3928")},C=e[n("0x4ff9")](n("0x4b17"),"\\+\\/",{contains:["self"],relevance:10});return{lexemes:e.UNDERSCORE_IDENT_RE,keywords:a,contains:[e.C_LINE_COMMENT_MODE,e[n("0x4848")],C,S,h,g,v,E,b,m,_,A,T,y]}})),e[t("0x28be")](t("0x36e1"),(function(e){var n=t;return{aliases:["md",n("0x1995"),n("0x12aa")],contains:[{className:n("0x855"),variants:[{begin:n("0x25e1"),end:"$"},{begin:n("0x4b1d")}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:n("0x23c0"),begin:"^\\s*([*+-]|(\\d+\\.))\\s+"},{className:n("0x4a8b"),begin:n("0x2792")},{className:n("0x4b86"),variants:[{begin:"\\*.+?\\*"},{begin:n("0xd0c"),relevance:0}]},{className:n("0x1005"),begin:n("0x269c"),end:"$"},{className:"code",variants:[{begin:n("0x19de"),end:"^```[ ]*$"},{begin:n("0x1000")},{begin:n("0x15b7"),end:"$",relevance:0}]},{begin:n("0x306b"),end:"$"},{begin:n("0x2e51"),returnBegin:!0,contains:[{className:n("0x38b7"),begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:n("0x28f2"),begin:n("0x1634"),end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:n("0x40c6"),begin:n("0x2159"),end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:n("0x40c6"),begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:n("0x28f2"),begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}})),e[t("0x28be")](t("0x3f53"),(function(e){var n=t,a={className:n("0x134d"),variants:[{begin:n("0x2804")}]},r={className:n("0x134d"),variants:[{begin:"\\${",end:"}"}],keywords:n("0x23db")},i={className:n("0x38b7"),variants:[{begin:n("0xa24"),end:n("0x4cbe")},{begin:n("0x4678"),end:n("0x259b")},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:n("0x4cbe"),end:"'''",contains:[e[n("0x28e2")],a,r]},{begin:'"""',end:n("0x259b"),contains:[e[n("0x28e2")],a,r]},{begin:"'",end:"'",illegal:"\\n",contains:[e[n("0x28e2")],a,r]},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,a,r]}]};return r[n("0x2a10")]=[e.C_NUMBER_MODE,i],{keywords:{keyword:n("0x4b55")+n("0xe3")+n("0x85f")+n("0x4292"),built_in:n("0xa7f")+n("0x2b54")+n("0xace")},contains:[i,e.COMMENT(n("0x5f3"),"\\*/",{subLanguage:n("0x36e1")}),e.COMMENT("///+\\s*","$",{contains:[{subLanguage:n("0x36e1"),begin:".",end:"$"}]}),e[n("0x2d29")],e[n("0x4848")],{className:n("0x917"),beginKeywords:n("0x2b37"),end:"{",excludeEnd:!0,contains:[{beginKeywords:n("0x1732")},e[n("0x33ca")]]},e[n("0x49a1")],{className:n("0x1439"),begin:n("0x22b")},{begin:"=>"}]}})),e[t("0x28be")](t("0x1d58"),(function(e){var n=t,a=n("0x4313")+"stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do "+n("0x17cb")+n("0x48c5")+n("0x3dbc")+"finally published procedure absolute reintroduce operator as is abstract alias assembler "+n("0xa1c")+n("0x4ab4")+n("0x3845")+n("0x75b"),r=[e[n("0x2d29")],e[n("0x4ff9")](/\{/,/\}/,{relevance:0}),e[n("0x4ff9")](/\(\*/,/\*\)/,{relevance:10})],i={className:n("0x1439"),variants:[{begin:/\{\$/,end:/\}/},{begin:/\(\*\$/,end:/\*\)/}]},o={className:n("0x38b7"),begin:/'/,end:/'/,contains:[{begin:/''/}]},x={className:n("0x38b7"),begin:/(#\d+)+/},s={begin:e[n("0x4485")]+"\\s*=\\s*class\\s*\\(",returnBegin:!0,contains:[e[n("0x3ef7")]]},c={className:"function",beginKeywords:n("0x441b"),end:/[:;]/,keywords:n("0x4a67"),contains:[e[n("0x3ef7")],{className:n("0x48ad"),begin:/\(/,end:/\)/,keywords:a,contains:[o,x,i][n("0x3abc")](r)},i][n("0x3abc")](r)};return{aliases:[n("0x4869"),n("0xe9f"),n("0x25ec"),"pascal",n("0x3ea5"),n("0x40ec"),n("0x2f2"),n("0x5db")],case_insensitive:!0,keywords:a,illegal:/"|\$[G-Zg-z]|\/\*|<\/|\|/,contains:[o,x,e.NUMBER_MODE,s,c,i][n("0x3abc")](r)}})),e[t("0x28be")]("diff",(function(e){var n=t;return{aliases:[n("0x414a")],contains:[{className:n("0x1439"),relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:n("0x3cd8"),variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:n("0x1bdc"),begin:n("0x14ec"),end:"$"},{className:"addition",begin:n("0xf51"),end:"$"}]}})),e[t("0x28be")]("django",(function(e){var n=t,a={begin:/\|[A-Za-z]+:?/,keywords:{name:n("0x1fc3")+"filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands "+n("0x4d5b")+n("0x12a8")+n("0x48e8")+n("0x16c5")+n("0x1714")+n("0x444c")},contains:[e[n("0x2b8c")],e[n("0xee9")]]};return{aliases:[n("0x2b18")],case_insensitive:!0,subLanguage:n("0xbbe"),contains:[e[n("0x4ff9")](/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e[n("0x4ff9")](/\{#/,/#}/),{className:n("0x15af"),begin:/\{%/,end:/%}/,contains:[{className:n("0x98c"),begin:/\w+/,keywords:{name:n("0x352b")+"endfor ifnotequal endifnotequal widthratio extends include spaceless "+n("0x3e05")+n("0x432b")+n("0x2b2e")+n("0x1186")+"get_current_language_bidi get_language_info get_language_info_list localize "+n("0x2efb")+n("0x1a4b")},starts:{endsWithParent:!0,keywords:n("0x63a"),contains:[a],relevance:0}}]},{className:n("0x3871"),begin:/\{\{/,end:/}}/,contains:[a]}]}})),e[t("0x28be")]("dns",(function(e){var n=t;return{aliases:["bind",n("0x4d43")],keywords:{keyword:n("0x7a4")+n("0x386f")},contains:[e[n("0x4ff9")](";","$",{relevance:0}),{className:"meta",begin:/^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/},{className:n("0x2231"),begin:n("0x4fc")},{className:n("0x2231"),begin:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b"},e[n("0xbe2")](e.NUMBER_MODE,{begin:/\b\d+[dhwm]?/})]}})),e[t("0x28be")](t("0x40f3"),(function(e){var n=t;return{aliases:["docker"],case_insensitive:!0,keywords:n("0x323a"),contains:[e[n("0xb46")],e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"</"}})),e.registerLanguage("dos",(function(e){var n=t,a=e[n("0x4ff9")](/^\s*@?rem\b/,/$/,{relevance:10}),r={className:n("0x40c6"),begin:n("0x4d50"),relevance:0};return{aliases:[n("0x2a1"),n("0x1783")],case_insensitive:!0,illegal:/\/\*/,keywords:{keyword:n("0x4d3c")+n("0x2ee8"),built_in:n("0x2747")+n("0x2473")+"append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color "+n("0x4d97")+n("0x2a98")+"pause print popd pushd promt rd recover rem rename replace restore rmdir shift"+n("0x2e1f")+n("0x1425")},contains:[{className:n("0x3722"),begin:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{className:n("0x3349"),begin:r.begin,end:"goto:eof",contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:n("0x146")}),a]},{className:n("0x2231"),begin:n("0x16e5"),relevance:0},a]}})),e[t("0x28be")](t("0x86b"),(function(e){var n=t,a={className:n("0x38b7"),begin:/"/,end:/"/},r={className:n("0x38b7"),begin:/'/,end:/'/},i={className:n("0x38b7"),begin:n("0x478b"),end:"\\W",relevance:0},o={className:n("0x38b7"),begin:n("0x4773"),end:"\\W",relevance:0};return{keywords:n("0x86b"),contains:[{className:n("0x2038"),begin:n("0x1335"),end:"\\s",excludeEnd:!0,relevance:10},{className:"built_in",begin:n("0x2958"),end:"\\s",excludeEnd:!0,illegal:n("0x3c2c"),relevance:10},{className:"built_in",begin:n("0x4f74"),end:"\\s",excludeEnd:!0},a,r,i,o,e[n("0xb46")]]}})),e[t("0x28be")](t("0x1ac8"),(function(e){var n=t,a={className:"string",variants:[e[n("0xbe2")](e[n("0x2b8c")],{begin:n("0x44a7")}),{begin:'(u8?|U)?R"',end:'"',contains:[e[n("0x28e2")]]},{begin:"'\\\\?.",end:"'",illegal:"."}]},r={className:n("0x2231"),variants:[{begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{begin:e[n("0x762")]}],relevance:0},i={className:n("0x1439"),begin:"#",end:"$",keywords:{"meta-keyword":n("0x3d99")},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:n("0x47f3"),end:"$",keywords:{"meta-keyword":"include"},contains:[e[n("0xbe2")](a,{className:n("0x41b8")}),{className:n("0x41b8"),begin:"<",end:">",illegal:"\\n"}]},a,e[n("0x2d29")],e[n("0x4848")]]},o={className:n("0x3722"),begin:"\\&[a-z\\d_]*\\b"},x={className:n("0x3c82"),begin:"/[a-z][a-z\\d-]*/"},s={className:n("0x40c6"),begin:n("0x4876")},c={className:n("0x48ad"),begin:"<",end:">",contains:[r,o]},l={className:n("0x917"),begin:/[a-zA-Z_][a-zA-Z\d_@]*\s{/,end:/[{;=]/,returnBegin:!0,excludeEnd:!0};return{keywords:"",contains:[{className:n("0x917"),begin:"/\\s*{",end:"};",relevance:10,contains:[o,x,s,l,c,e[n("0x2d29")],e[n("0x4848")],r,a]},o,x,s,l,c,e[n("0x2d29")],e[n("0x4848")],r,a,i,{begin:e[n("0x4485")]+"::",keywords:""}]}})),e[t("0x28be")](t("0x1dca"),(function(e){var n=t,a=n("0x1beb");return{aliases:["dst"],case_insensitive:!0,subLanguage:n("0xbbe"),contains:[{className:n("0x15af"),begin:/\{[#\/]/,end:/\}/,illegal:/;/,contains:[{className:n("0x98c"),begin:/[a-zA-Z\.-]+/,starts:{endsWithParent:!0,relevance:0,contains:[e[n("0x2b8c")]]}}]},{className:"template-variable",begin:/\{/,end:/\}/,illegal:/;/,keywords:a}]}})),e[t("0x28be")](t("0x149"),(function(e){var n=t,a=e[n("0x4ff9")](/\(\*/,/\*\)/);return{illegal:/\S/,contains:[a,{className:n("0x3d26"),begin:/^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/},{begin:/=/,end:/;/,contains:[a,{className:n("0x1439"),begin:/\?.*\?/},e[n("0xee9")],e[n("0x2b8c")]]}]}})),e[t("0x28be")](t("0x231a"),(function(e){var n=t,a=n("0x3ba8"),r=n("0x436d"),i=n("0x2ffa")+n("0x2ad7")+"include use alias fn quote require import with|0",o={className:n("0x134d"),begin:n("0x8a8"),end:"}",lexemes:a,keywords:i},x={className:n("0x38b7"),contains:[e[n("0x28e2")],o],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},s={className:n("0x3349"),beginKeywords:n("0x5e8"),end:/\B\b/,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:a,endsParent:!0})]},c=e.inherit(s,{className:n("0x917"),beginKeywords:n("0x91e"),end:/\bdo\b|$|;/}),l=[x,e.HASH_COMMENT_MODE,c,s,{begin:"::"},{className:"symbol",begin:":(?![\\s:])",contains:[x,{begin:r}],relevance:0},{className:n("0x40c6"),begin:a+n("0x1eaa"),relevance:0},{className:n("0x2231"),begin:"(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[1-9][0-9_]*(.[0-9_]+([eE][-+]?[0-9]+)?)?)",relevance:0},{className:n("0x3722"),begin:n("0x249e")},{begin:"->"},{begin:"("+e.RE_STARTERS_RE+n("0x1a1"),contains:[e.HASH_COMMENT_MODE,{className:n("0x242e"),illegal:"\\n",contains:[e[n("0x28e2")],o],variants:[{begin:"/",end:n("0x2149")},{begin:n("0x19eb"),end:n("0x3b6d")}]}],relevance:0}];return o.contains=l,{lexemes:a,keywords:i,contains:l}})),e[t("0x28be")](t("0x39ec"),(function(e){var n=t,a={variants:[e[n("0x4ff9")]("--","$"),e[n("0x4ff9")]("{-","-}",{contains:[n("0xaf2")]})]},r={className:n("0x3298"),begin:n("0x1364"),relevance:0},i={begin:"\\(",end:"\\)",illegal:'"',contains:[{className:n("0x3298"),begin:n("0x1c25")},a]},o={begin:"{",end:"}",contains:i.contains},x={className:n("0x38b7"),begin:n("0x302"),end:"'",illegal:"."};return{keywords:n("0x4e4b")+n("0x3748"),contains:[{beginKeywords:n("0x327f"),end:n("0x316f"),keywords:"port effect module where command subscription exposing",contains:[i,a],illegal:n("0x1e0e")},{begin:n("0x3bb3"),end:"$",keywords:"import as exposing",contains:[i,a],illegal:n("0x1e0e")},{begin:n("0x3298"),end:"$",keywords:n("0xec2"),contains:[r,i,o,a]},{beginKeywords:n("0x34af"),end:"$",contains:[e[n("0x49a1")],a]},{begin:n("0x23a4"),end:"$",keywords:n("0x23a4"),contains:[a]},x,e.QUOTE_STRING_MODE,e[n("0x49a1")],r,e[n("0xbe2")](e[n("0x3ef7")],{begin:n("0x1d63")}),a,{begin:n("0xd1e")}],illegal:/;/}})),e[t("0x28be")](t("0x3f13"),(function(e){var n=t,a=n("0x436d"),r={keyword:n("0x1f5")+"next until do begin unless END rescue else break undef not super class case "+n("0x3aa9"),literal:n("0x2169")},i={className:"doctag",begin:n("0x22b")},o={begin:"#<",end:">"},x=[e[n("0x4ff9")]("#","$",{contains:[i]}),e[n("0x4ff9")](n("0x34aa"),n("0xee7"),{contains:[i],relevance:10}),e[n("0x4ff9")](n("0x5fa"),n("0x673"))],s={className:n("0x134d"),begin:n("0x8a8"),end:"}",keywords:r},c={className:"string",contains:[e[n("0x28e2")],s],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:n("0x2421"),end:"\\]"},{begin:n("0x330d"),end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:n("0x3155"),end:"/"},{begin:n("0x328"),end:"%"},{begin:n("0x4831"),end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},{begin:/\w+/,endSameAsBegin:!0,contains:[e.BACKSLASH_ESCAPE,s]}]}]},l={className:n("0x48ad"),begin:"\\(",end:"\\)",endsParent:!0,keywords:r},d=[c,o,{className:n("0x917"),beginKeywords:n("0x42e2"),end:"$|;",illegal:/=/,contains:[e.inherit(e[n("0x3ef7")],{begin:n("0x5ee")}),{begin:"<\\s*",contains:[{begin:"("+e[n("0x4485")]+"::)?"+e[n("0x4485")]}]}].concat(x)},{className:n("0x3349"),beginKeywords:n("0x2c04"),end:"$|;",contains:[e[n("0xbe2")](e.TITLE_MODE,{begin:a}),l][n("0x3abc")](x)},{begin:e[n("0x4485")]+"::"},{className:"symbol",begin:e[n("0x8da")]+n("0xfb4"),relevance:0},{className:n("0x40c6"),begin:n("0x4621"),contains:[c,{begin:a}],relevance:0},{className:n("0x2231"),begin:n("0x66f"),relevance:0},{begin:n("0x249e")},{className:n("0x48ad"),begin:/\|/,end:/\|/,keywords:r},{begin:"("+e[n("0x3668")]+n("0x46ef"),keywords:n("0x35cd"),contains:[o,{className:n("0x242e"),contains:[e[n("0x28e2")],s],illegal:/\n/,variants:[{begin:"/",end:n("0x2149")},{begin:n("0x3458"),end:n("0x3574")},{begin:n("0x1cdc"),end:"\\)[a-z]*"},{begin:n("0x3198"),end:n("0x4a16")},{begin:"%r\\[",end:n("0x3b6d")}]}].concat(x),relevance:0}][n("0x3abc")](x);s.contains=d,l.contains=d;var u=n("0x4f95"),f=n("0x1ab5"),m=n("0x209b"),b=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:n("0x1439"),begin:"^("+u+"|"+f+"|"+m+")",starts:{end:"$",contains:d}}];return{aliases:["rb",n("0x4851"),n("0x33ad"),n("0x317"),n("0xc93")],keywords:r,illegal:/\/\*/,contains:x[n("0x3abc")](b)[n("0x3abc")](d)}})),e[t("0x28be")](t("0x13ff"),(function(e){var n=t;return{subLanguage:n("0xbbe"),contains:[e[n("0x4ff9")](n("0x3623"),"%>"),{begin:"<%[%=-]?",end:n("0x1db"),subLanguage:n("0x3f13"),excludeBegin:!0,excludeEnd:!0}]}})),e[t("0x28be")](t("0xf9c"),(function(e){var n=t;return{keywords:{built_in:n("0x6a2"),keyword:n("0x382b")+n("0x1fc2")},contains:[{className:n("0x1439"),begin:n("0x462a"),relevance:10},e[n("0x4ff9")]("%","$"),{className:n("0x2231"),begin:n("0x34e9"),relevance:0},e[n("0xee9")],e[n("0x2b8c")],{begin:n("0x32a1")},{begin:"->"},{begin:"ok"},{begin:"!"},{begin:n("0x1040"),relevance:0},{begin:n("0xdb1"),relevance:0}]}})),e[t("0x28be")](t("0x2477"),(function(e){var n=t,a=n("0xa9b"),r="("+a+":"+a+"|"+a+")",i={keyword:n("0x6c3")+n("0x14e"),literal:n("0xd09")},o=e[n("0x4ff9")]("%","$"),x={className:n("0x2231"),begin:n("0x34e9"),relevance:0},s={begin:n("0x2a82")+a+n("0x11fd")},c={begin:r+"\\(",end:"\\)",returnBegin:!0,relevance:0,contains:[{begin:r,relevance:0},{begin:"\\(",end:"\\)",endsWithParent:!0,returnEnd:!0,relevance:0}]},l={begin:"{",end:"}",relevance:0},d={begin:n("0x1e21"),relevance:0},u={begin:n("0x161c"),relevance:0},f={begin:"#"+e.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{begin:"#"+e[n("0x8da")],relevance:0},{begin:"{",end:"}",relevance:0}]},m={beginKeywords:n("0x265d"),end:n("0x3a59"),keywords:i};m.contains=[o,s,e[n("0xbe2")](e[n("0xee9")],{className:""}),m,c,e[n("0x2b8c")],x,l,d,u,f];var b=[o,s,m,c,e[n("0x2b8c")],x,l,d,u,f];c[n("0x2a10")][1][n("0x2a10")]=b,l[n("0x2a10")]=b,f[n("0x2a10")][1][n("0x2a10")]=b;var _={className:"params",begin:"\\(",end:"\\)",contains:b};return{aliases:[n("0x14ca")],keywords:i,illegal:n("0x643"),contains:[{className:n("0x3349"),begin:"^"+a+n("0xa9c"),end:"->",returnBegin:!0,illegal:n("0x33e8"),contains:[_,e.inherit(e[n("0x3ef7")],{begin:a})],starts:{end:n("0x1a41"),keywords:i,contains:b}},o,{begin:"^-",end:"\\.",relevance:0,excludeEnd:!0,returnBegin:!0,lexemes:"-"+e.IDENT_RE,keywords:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn "+n("0x281c")+n("0xb21"),contains:[_]},x,e[n("0x2b8c")],f,d,u,l,{begin:/\.$/}]}})),e[t("0x28be")](t("0x32b9"),(function(e){var n=t;return{aliases:[n("0x883"),"xls"],case_insensitive:!0,lexemes:/[a-zA-Z][\w\.]*/,keywords:{built_in:n("0x1036")},contains:[{begin:/^=/,end:/[^=]/,returnEnd:!0,illegal:/=/,relevance:10},{className:n("0x40c6"),begin:/\b[A-Z]{1,2}\d+\b/,end:/[^\d]/,excludeEnd:!0,relevance:0},{className:"symbol",begin:/[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,relevance:0},e[n("0x28e2")],e.QUOTE_STRING_MODE,{className:n("0x2231"),begin:e[n("0x2dbc")]+n("0x94e"),relevance:0},e[n("0x4ff9")](/\bN\(/,/\)/,{excludeBegin:!0,excludeEnd:!0,illegal:/\n/})]}})),e[t("0x28be")](t("0x45e3"),(function(e){var n=t;return{contains:[{begin:/[^\u2401\u0001]+/,end:/[\u2401\u0001]/,excludeEnd:!0,returnBegin:!0,returnEnd:!1,contains:[{begin:/([^\u2401\u0001=]+)/,end:/=([^\u2401\u0001=]+)/,returnEnd:!0,returnBegin:!1,className:n("0x417f")},{begin:/=/,end:/([\u2401\u0001])/,excludeEnd:!0,excludeBegin:!0,className:n("0x38b7")}]}],case_insensitive:!0}})),e[t("0x28be")](t("0x4c7f"),(function(e){var n=t,a={className:n("0x38b7"),begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},r={className:n("0x38b7"),variants:[{begin:'"',end:'"'}]},i={className:n("0x2fdc"),begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/},o={className:n("0x3349"),beginKeywords:n("0x2c04"),end:/[:={\[(\n;]/,excludeEnd:!0,contains:[i]};return{keywords:{literal:"true false",keyword:n("0x4c81")},contains:[e[n("0x2d29")],e.C_BLOCK_COMMENT_MODE,a,r,o,e[n("0x49a1")]]}})),e[t("0x28be")](t("0x19ae"),(function(e){var n=t,a={className:n("0x48ad"),begin:"\\(",end:"\\)"},r={literal:n("0x36a"),keyword:n("0x2250")+n("0x13af")+n("0x2e91")+n("0x7e3")+"access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit "+n("0x8c5")+n("0x2dd2")+n("0x1274")+n("0x1fda")+n("0xa64")+n("0x388c")+n("0x214e")+"c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor "+n("0x2158")+"ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure "+n("0x7e7")+n("0x4f76")+n("0x57c"),built_in:n("0x3786")+n("0x381c")+n("0x104d")+n("0x1da7")+n("0x639")+n("0x1c13")+"adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product "+n("0xd7c")+n("0x2f7d")+n("0x2333")+"set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer "+n("0x472a")+n("0x6aa")+n("0x2cc5")+n("0xb96")+n("0x39a6")+n("0x13e1")+n("0xf98")};return{case_insensitive:!0,aliases:[n("0xe0b"),n("0x42f2")],keywords:r,illegal:/\/\*/,contains:[e[n("0xbe2")](e.APOS_STRING_MODE,{className:n("0x38b7"),relevance:0}),e[n("0xbe2")](e[n("0x2b8c")],{className:n("0x38b7"),relevance:0}),{className:"function",beginKeywords:n("0x818"),illegal:n("0x331"),contains:[e.UNDERSCORE_TITLE_MODE,a]},e[n("0x4ff9")]("!","$",{relevance:0}),{className:n("0x2231"),begin:n("0x3be0"),relevance:0}]}})),e[t("0x28be")](t("0x1908"),(function(e){var n=t,a={begin:"<",end:">",contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],keywords:n("0x6cc")+n("0x4bf6")+n("0x17ed")+n("0x3ef0")+n("0x4ea2")+n("0x39d8"),illegal:/\/\*/,contains:[{className:"keyword",begin:/\b(yield|return|let|do)!/},{className:n("0x38b7"),begin:'@"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:n("0x259b"),end:n("0x259b")},e[n("0x4ff9")](n("0x25fe"),n("0x5ae")),{className:n("0x917"),beginKeywords:n("0x3298"),end:n("0x4bf3"),excludeEnd:!0,contains:[e[n("0x33ca")],a]},{className:n("0x1439"),begin:"\\[<",end:">\\]",relevance:10},{className:n("0x40c6"),begin:n("0x67"),contains:[e[n("0x28e2")]]},e[n("0x2d29")],e[n("0xbe2")](e[n("0x2b8c")],{illegal:null}),e[n("0x49a1")]]}})),e[t("0x28be")](t("0x4341"),(function(e){var n=t,a={keyword:n("0x3336")+"else eq file files for free ge gt if integer le loop lt maximizing "+n("0xa76")+n("0x4da5")+"smin solve sos1 sos2 sum system table then until using while xor yes",literal:"eps inf na","built-in":n("0x2997")+"cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact "+n("0x2e26")+n("0xdba")+"randBinomial randLinear randTriangle round rPower sigmoid sign "+n("0x4749")+n("0x3605")+n("0x248a")+n("0x13f1")+n("0xed3")+n("0x7c2")+n("0xd4e")+n("0x241f")+n("0xd3f")},r={className:n("0x48ad"),begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0},i={className:"symbol",variants:[{begin:/\=[lgenxc]=/},{begin:/\$/}]},o={className:n("0x3cd8"),variants:[{begin:"'",end:"'"},{begin:'"',end:'"'}],illegal:"\\n",contains:[e[n("0x28e2")]]},x={begin:"/",end:"/",keywords:a,contains:[o,e[n("0x2d29")],e[n("0x4848")],e[n("0x2b8c")],e[n("0xee9")],e[n("0x49a1")]]},s={begin:/[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/,excludeBegin:!0,end:"$",endsWithParent:!0,contains:[o,x,{className:n("0x3cd8"),begin:/([ ]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/,relevance:0}]};return{aliases:[n("0x26f5")],case_insensitive:!0,keywords:a,contains:[e[n("0x4ff9")](/^\$ontext/,/^\$offtext/),{className:n("0x1439"),begin:n("0x4b7f"),end:"$",returnBegin:!0,contains:[{className:n("0x3c82"),begin:"^\\$[a-z0-9]+"}]},e[n("0x4ff9")]("^\\*","$"),e.C_LINE_COMMENT_MODE,e[n("0x4848")],e[n("0x2b8c")],e.APOS_STRING_MODE,{beginKeywords:n("0x3fe")+n("0x2ab3"),end:";",contains:[e[n("0x4ff9")](n("0x2531"),"$"),e[n("0x2d29")],e[n("0x4848")],e.QUOTE_STRING_MODE,e[n("0xee9")],x,s]},{beginKeywords:n("0x37f3"),end:";",returnBegin:!0,contains:[{beginKeywords:n("0x37f3"),end:"$",contains:[s]},e[n("0x4ff9")]("^\\*","$"),e[n("0x2d29")],e.C_BLOCK_COMMENT_MODE,e[n("0x2b8c")],e[n("0xee9")],e[n("0x49a1")]]},{className:"function",begin:/^[a-z][a-z0-9_,\-+' ()$]+\.{2}/,returnBegin:!0,contains:[{className:n("0x2fdc"),begin:/^[a-z0-9_]+/},r,i]},e.C_NUMBER_MODE,i]}})),e.registerLanguage(t("0x1dbf"),(function(e){var n=t,a={keyword:n("0x2735")+n("0x2711")+n("0x40f0")+"for format goto gosub graph if keyword let lib library line load loadarray loadexe "+n("0x3dc6")+n("0x1a87")+n("0x2017")+n("0x366")+"threadendfor threadbegin threadjoin threadstat threadend until use while winprint "+n("0xb39"),built_in:n("0x18d3")+n("0x2912")+"AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults "+n("0x384a")+n("0x3df5")+"astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 "+n("0x3179")+n("0xda3")+n("0x2451")+n("0x399c")+n("0x485c")+n("0x3a9b")+n("0x1ee3")+n("0xb1c")+n("0xfd0")+n("0x3f8")+n("0x2dd7")+"dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA "+n("0x3d40")+"dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly "+n("0x33e9")+n("0x2683")+n("0x447a")+n("0x4a3e")+n("0x272e")+n("0x38e9")+n("0x285d")+n("0x1578")+"EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq "+n("0x2ac2")+n("0x28eb")+n("0x2ea1")+n("0x3db1")+n("0x2243")+"getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders "+n("0x74d")+n("0x4e83")+n("0x271c")+n("0x4b00")+n("0x805")+"isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv "+n("0x27ef")+n("0x17bd")+"loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars "+n("0x42e5")+n("0x73c")+n("0x437")+n("0x3bbd")+n("0x20e0")+n("0x225c")+"plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill "+n("0x4009")+"plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange "+n("0x2c0")+n("0x16e1")+n("0x230e")+n("0x1a93")+"pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate "+n("0xac9")+n("0x4ecd")+n("0x47b8")+n("0x3b1")+n("0x4f6f")+n("0xc3d")+"scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa "+n("0x3280")+n("0x443c")+"spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense "+n("0xdd4")+"sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname "+n("0x47a9")+n("0x2ff2")+n("0x1087")+n("0x661")+"writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM "+n("0x3043")+n("0x36f2")+"plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin sylvester "+n("0x3cf3"),literal:n("0x2c5")+n("0x44df")+n("0x2fae")+n("0x37af")+"DB_TRANSACTIONS DB_UNICODE DB_VIEWS __STDIN __STDOUT __STDERR __FILE_DIR"},r=e[n("0x4ff9")]("@","@"),i={className:n("0x1439"),begin:"#",end:"$",keywords:{"meta-keyword":"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline"},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:n("0x47f3"),end:"$",keywords:{"meta-keyword":n("0x47f3")},contains:[{className:n("0x41b8"),begin:'"',end:'"',illegal:"\\n"}]},e[n("0x2d29")],e[n("0x4848")],r]},o={begin:/\bstruct\s+/,end:/\s/,keywords:n("0xcb5"),contains:[{className:"type",begin:e[n("0x8da")],relevance:0}]},x=[{className:n("0x48ad"),begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,endsWithParent:!0,relevance:0,contains:[{className:n("0x235f"),begin:/\.\.\./},e[n("0x49a1")],e[n("0x4848")],r,o]}],s={className:n("0x2fdc"),begin:e[n("0x8da")],relevance:0},c=function(t,a,i){var o=n,c=e.inherit({className:o("0x3349"),beginKeywords:t,end:a,excludeEnd:!0,contains:[][o("0x3abc")](x)},i||{});return c.contains[o("0x459a")](s),c[o("0x2a10")][o("0x459a")](e[o("0x49a1")]),c[o("0x2a10")].push(e[o("0x4848")]),c[o("0x2a10")][o("0x459a")](r),c},l={className:n("0x21a9"),begin:n("0x2a45")+a[n("0x21a9")][n("0x9e5")](" ")[n("0xc60")]("|")+n("0x1a60")},d={className:n("0x38b7"),begin:'"',end:'"',contains:[e[n("0x28e2")]],relevance:0},u={begin:e[n("0x8da")]+n("0xa9c"),returnBegin:!0,keywords:a,relevance:0,contains:[{beginKeywords:a.keyword},l,{className:n("0x21a9"),begin:e.UNDERSCORE_IDENT_RE,relevance:0}]},f={begin:/\(/,end:/\)/,relevance:0,keywords:{built_in:a[n("0x21a9")],literal:a[n("0x235f")]},contains:[e[n("0x49a1")],e[n("0x4848")],r,l,u,d,"self"]};return u.contains.push(f),{aliases:[n("0x1ccd")],case_insensitive:!0,keywords:a,illegal:/(\{[%#]|[%#]\}| <- )/,contains:[e[n("0x49a1")],e.C_LINE_COMMENT_MODE,e[n("0x4848")],r,d,i,{className:"keyword",begin:/\bexternal (matrix|string|array|sparse matrix|struct|proc|keyword|fn)/},c(n("0x3dd5"),";"),c("fn","="),{beginKeywords:n("0x4a2a"),end:/;/,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE,r,f]},{variants:[{begin:e[n("0x8da")]+"\\."+e.UNDERSCORE_IDENT_RE},{begin:e[n("0x8da")]+"\\s*="}],relevance:0},u,o]}})),e[t("0x28be")](t("0x21b8"),(function(e){var n=t,a=n("0x25a8"),r=n("0x8cc")+"EQ LT GT NE GE LE OR XOR",i={className:n("0x1439"),begin:"([O])([0-9]+)"},o=[e[n("0x2d29")],e[n("0x4848")],e[n("0x4ff9")](/\(/,/\)/),e[n("0xbe2")](e.C_NUMBER_MODE,{begin:n("0x932")+e[n("0x762")]}),e.inherit(e.APOS_STRING_MODE,{illegal:null}),e[n("0xbe2")](e[n("0x2b8c")],{illegal:null}),{className:n("0x98c"),begin:n("0x39f1")},{className:n("0x98c"),begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"attr",begin:"(VC|VS|#)",end:n("0x2afc")},{className:n("0x417f"),begin:n("0x4724")},{className:n("0x21a9"),begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",end:n("0x2de2")},{className:n("0x40c6"),variants:[{begin:"N",end:n("0xf14"),illegal:"\\W"}]}];return{aliases:["nc"],case_insensitive:!0,lexemes:a,keywords:r,contains:[{className:n("0x1439"),begin:"\\%"},i][n("0x3abc")](o)}})),e.registerLanguage("gherkin",(function(e){var n=t;return{aliases:[n("0x3ec0")],keywords:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",contains:[{className:n("0x40c6"),begin:"\\*",relevance:0},{className:"meta",begin:n("0xc5")},{begin:"\\|",end:n("0x3d4b"),contains:[{className:n("0x38b7"),begin:n("0x946")}]},{className:n("0x3722"),begin:"<",end:">"},e[n("0xb46")],{className:n("0x38b7"),begin:n("0x259b"),end:n("0x259b")},e[n("0x2b8c")]]}})),e[t("0x28be")](t("0x115d"),(function(e){var n=t;return{keywords:{keyword:n("0x3701")+n("0x351f")+n("0xba0")+n("0x2188")+n("0x6da")+n("0xda0")+n("0x30d4")+n("0xc0b")+n("0x3642")+"rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip "+n("0x130"),type:n("0x1f0a")+"dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer"+n("0x30cd")+n("0x155c")+"isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D "+n("0x1e59")+n("0x1f07")+n("0x2931")+n("0x336")+"samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow "+n("0x3b68")+"uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray "+n("0x41b")+"samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void",built_in:n("0x4c67")+"gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers "+n("0x867")+n("0x30e4")+n("0x2a5f")+n("0x4097")+n("0x807")+n("0x20aa")+n("0x330c")+n("0x310a")+n("0x3cc4")+n("0x22e9")+n("0x20de")+"gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents "+n("0x499c")+n("0x1f44")+n("0x69b")+n("0x27e7")+n("0x2f03")+n("0x1d60")+n("0x3eb1")+n("0x4953")+n("0x517")+n("0x31c2")+n("0x45be")+"gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial "+n("0x174")+n("0x14b5")+n("0x491c")+n("0x357b")+n("0x39c7")+n("0x495f")+n("0x313e")+n("0x4318")+"gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse "+n("0x3323")+n("0x2636")+n("0x30ba")+n("0x1e39")+n("0x4354")+n("0x3557")+"atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier "+n("0x1571")+n("0x3838")+n("0x24f7")+n("0x4db")+"imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad "+n("0x10d5")+n("0x4bb3")+n("0x14d4")+n("0x114b")+n("0x1e01")+n("0x314a")+n("0x1c8b")+"smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod "+n("0x2164")+n("0x5b2")+n("0x41ab")+n("0x475")+n("0x459c"),literal:n("0x8c9")},illegal:'"',contains:[e[n("0x2d29")],e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{className:n("0x1439"),begin:"#",end:"$"}]}})),e[t("0x28be")]("gml",(function(e){var n=t,a={keywords:"begin end if then else while do for break continue with until "+n("0x2cc0")+n("0x163"),built_in:n("0x1735")+n("0x3787")+n("0x2e3")+n("0x3e23")+n("0x3acf")+n("0x2680")+"random_range irandom irandom_range random_set_seed random_get_seed randomize randomise choose abs round floor ceil sign frac sqrt sqr "+n("0x9d")+n("0x84b")+n("0x4947")+"dot_product_normalised dot_product_3d_normalised "+n("0x56c")+n("0x1266")+"point_direction lengthdir_x lengthdir_y real string int64 ptr "+n("0x291b")+n("0x117a")+n("0x1eaf")+n("0x2af9")+"string_lettersdigits string_replace string_replace_all string_count string_hash_to_newline clipboard_has_text clipboard_set_text "+n("0x252f")+n("0x19a9")+n("0x3df1")+"date_get_year date_get_month date_get_week date_get_day "+n("0x4610")+n("0x496")+n("0x22c1")+n("0x2654")+n("0x1880")+"date_compare_time date_date_of date_time_of date_datetime_string "+n("0x1586")+n("0x4477")+"date_get_timezone game_set_speed game_get_speed motion_set motion_add place_free place_empty place_meeting place_snapped move_random move_snap move_towards_point move_contact_solid move_contact_all move_outside_solid move_outside_all "+n("0x19b3")+"distance_to_object position_empty position_meeting path_start path_end mp_linear_step mp_potential_step mp_linear_step_object mp_potential_step_object mp_potential_settings mp_linear_path mp_potential_path mp_linear_path_object mp_potential_path_object "+n("0x1739")+n("0x12b7")+"mp_grid_add_rectangle mp_grid_add_instances mp_grid_path "+n("0x2ef7")+n("0x7cf")+n("0x1562")+n("0x4acf")+n("0x16bd")+n("0x3bbb")+"rectangle_in_triangle rectangle_in_circle instance_find "+n("0x194d")+"instance_furthest instance_place instance_create_depth "+n("0x1193")+"position_destroy position_change instance_id_get "+n("0x1a63")+n("0x4c63")+"instance_activate_object instance_activate_region room_goto "+n("0x1cbf")+n("0x1de1")+n("0x41d8")+n("0x32b4")+n("0x4bc5")+"alarm_set font_texture_page_size keyboard_set_map keyboard_get_map "+n("0x4a6a")+n("0x4edd")+"keyboard_set_numlock keyboard_key_press keyboard_key_release "+n("0x85b")+n("0x3fe9")+n("0xd06")+n("0x486c")+n("0x3082")+n("0x31e3")+n("0xf17")+n("0x26c6")+"draw_ellipse draw_set_circle_precision draw_arrow draw_button "+n("0x267")+n("0x4ac5")+n("0x316d")+n("0x245b")+n("0x3ffd")+"make_color_rgb make_color_hsv color_get_red color_get_green "+n("0x1683")+n("0x1c65")+n("0x3b01")+"string_height string_width_ext string_height_ext "+n("0xb7e")+n("0x254b")+n("0x25a5")+"draw_text_transformed_color draw_text_ext_transformed_color "+n("0x148")+n("0x4532")+n("0xa74")+n("0x3bd7")+n("0x11b6")+n("0xea4")+"draw_ellipse_color draw_primitive_begin draw_vertex draw_vertex_colour draw_vertex_color draw_primitive_end "+n("0x154e")+"texture_get_width texture_get_height texture_get_uvs "+n("0x3f91")+n("0x924")+n("0x4faa")+n("0x36db")+n("0x14f9")+"surface_set_target_ext surface_reset_target surface_depth_disable "+n("0x457")+n("0x3f9b")+n("0x37d8")+n("0x1d00")+"surface_getpixel_ext surface_save surface_save_part surface_copy "+n("0x1583")+n("0x8c8")+"application_surface_is_enabled display_get_width display_get_height display_get_orientation display_get_gui_width display_get_gui_height "+n("0x352f")+n("0x3eb9")+n("0x30ce")+n("0x2b95")+"window_set_min_height window_set_max_height window_get_visible_rects window_get_caption window_set_cursor window_get_cursor window_set_colour window_get_colour window_set_color "+n("0x402a")+"window_set_rectangle window_center window_get_x window_get_y window_get_width window_get_height window_mouse_get_x "+n("0x433b")+n("0x382a")+n("0x2730")+n("0x3979")+n("0x2af7")+n("0xc64")+n("0x3d18")+"audio_play_sound_on audio_play_sound_at audio_stop_sound "+n("0xe21")+n("0x3f2c")+"audio_sound_length audio_get_type audio_falloff_set_model audio_play_music audio_stop_music audio_master_gain audio_music_gain "+n("0x1476")+n("0x4c0a")+n("0x3df4")+n("0x3804")+"audio_emitter_get_y audio_emitter_get_z audio_emitter_get_vx audio_emitter_get_vy audio_emitter_get_vz "+n("0x4fda")+n("0x19f")+"audio_set_master_gain audio_get_master_gain audio_sound_get_gain "+n("0x3a9e")+n("0xa93")+n("0x4c16")+n("0xd86")+n("0x351a")+n("0x282d")+n("0x44bf")+n("0x4145")+n("0x2d96")+n("0x4a5c")+n("0x4c28")+n("0x12c3")+n("0x371f")+n("0x45d")+n("0x42b3")+n("0x4599")+n("0x1d0c")+n("0x20b5")+n("0x471c")+"clickable_exists clickable_set_style show_question "+n("0xe1f")+"get_string_async get_login_async get_open_filename get_save_filename "+n("0x122d")+n("0x4f5a")+n("0x35ef")+n("0x4ebe")+n("0xe7f")+"sprite_get_bbox_top sprite_get_bbox_bottom sprite_save "+n("0x829")+n("0x217b")+n("0x46e5")+n("0x940")+"font_get_bold font_get_italic font_get_first font_get_last font_get_size font_set_cache_size path_exists path_get_name "+n("0x31a0")+n("0x177f")+n("0x13a5")+n("0x3e5b")+"timeline_clear timeline_exists timeline_get_name "+n("0x3d52")+n("0x52b")+n("0x46af")+n("0x3eb3")+n("0x439c")+n("0x3289")+n("0x4ca9")+n("0x2a21")+n("0x24e5")+n("0x1b9a")+n("0x3139")+"path_set_precision path_add path_assign path_duplicate path_append "+n("0x1c79")+n("0x338d")+n("0x2c58")+n("0x233f")+n("0x4830")+n("0x43c4")+n("0x1fc0")+n("0x2640")+n("0x3f18")+n("0x2c73")+n("0x107c")+"file_text_open_append file_text_close file_text_write_string "+n("0x1ce4")+n("0x1bcb")+n("0x49bb")+"directory_create directory_destroy file_find_first file_find_next file_find_close file_attributes filename_name filename_path filename_dir filename_drive filename_ext filename_change_ext file_bin_open file_bin_rewrite file_bin_close file_bin_position file_bin_size file_bin_seek file_bin_write_byte file_bin_read_byte "+n("0x2cc2")+n("0x1581")+n("0x1add")+n("0x1f33")+n("0x1b03")+n("0x4aa2")+n("0x2d")+"ds_queue_create ds_queue_destroy ds_queue_clear ds_queue_copy "+n("0x33d2")+n("0x22d6")+"ds_list_create ds_list_destroy ds_list_clear ds_list_copy "+n("0x28ac")+n("0xffc")+n("0x3e18")+n("0x237e")+n("0x10d")+n("0x2349")+"ds_map_replace_map ds_map_replace_list ds_map_delete ds_map_exists ds_map_find_value ds_map_find_previous ds_map_find_next "+n("0x36e9")+n("0x31fd")+n("0x3267")+n("0x1872")+"ds_priority_size ds_priority_empty ds_priority_add "+n("0x2767")+n("0x1a55")+n("0x212b")+n("0x304d")+n("0x1e13")+"ds_grid_set ds_grid_add ds_grid_multiply ds_grid_set_region "+n("0x36b1")+"ds_grid_add_disk ds_grid_multiply_disk ds_grid_set_grid_region ds_grid_add_grid_region ds_grid_multiply_grid_region ds_grid_get "+n("0x32ea")+n("0x24b9")+n("0x1767")+n("0x546")+n("0x2f4e")+"ds_grid_sort ds_grid_set ds_grid_get effect_create_below "+n("0x303")+n("0x4416")+n("0xaaf")+n("0x479c")+n("0x2c45")+n("0x25ac")+"part_type_colour_hsv part_type_color1 part_type_color2 "+n("0x1af0")+"part_type_color_hsv part_type_alpha1 part_type_alpha2 "+n("0x1641")+n("0x2351")+"part_system_clear part_system_draw_order part_system_depth "+n("0x4c32")+n("0x43d1")+n("0x2cb9")+n("0x4173")+n("0x1eeb")+n("0x76b")+"part_emitter_clear part_emitter_region part_emitter_burst part_emitter_stream external_call external_define external_free window_handle window_device matrix_get matrix_set "+n("0xc1f")+"matrix_build_projection_ortho matrix_build_projection_perspective "+n("0x3600")+"matrix_transform_vertex matrix_stack_push matrix_stack_pop matrix_stack_multiply matrix_stack_set matrix_stack_clear "+n("0x322b")+n("0x40c2")+n("0x3f4f")+n("0x3252")+n("0x202b")+n("0x44ab")+"display_set_sleep_margin display_get_sleep_margin virtual_key_add "+n("0x3388")+"draw_enable_drawevent draw_enable_swf_aa draw_set_swf_aa_level draw_get_swf_aa_level draw_texture_flush draw_flush "+n("0x210a")+"gpu_set_zwriteenable gpu_set_lightingenable gpu_set_fog "+n("0x364c")+n("0x1e5e")+n("0x1ac")+"gpu_set_alphatestref gpu_set_alphatestfunc gpu_set_texfilter "+n("0x4f27")+n("0x4b26")+n("0x299d")+n("0x445b")+n("0x1b3")+n("0x292f")+n("0x4bc1")+n("0x3c26")+n("0x64f")+n("0x3cd5")+n("0x30ed")+n("0x11ad")+n("0x4004")+n("0x2d76")+n("0x2df2")+n("0x3187")+n("0xf4c")+"gpu_get_tex_repeat_ext gpu_get_tex_mip_filter "+n("0xc56")+n("0x435e")+"gpu_get_tex_max_mip gpu_get_tex_max_mip_ext gpu_get_tex_max_aniso "+n("0x30bb")+n("0x27ec")+"gpu_get_state gpu_set_state draw_light_define_ambient "+n("0x1c7")+"draw_light_enable draw_set_lighting draw_light_get_ambient "+n("0x21ee")+n("0x93")+n("0x3378")+"achievement_post_score achievement_available "+n("0x1436")+"achievement_load_friends achievement_load_leaderboard "+n("0x3b84")+n("0x4bd")+n("0x4ad7")+n("0x3450")+n("0x321")+n("0x23d")+n("0x33bb")+n("0x337d")+"ads_move ads_interstitial_available ads_interstitial_display "+n("0x489d")+n("0x37cd")+n("0x1d0")+n("0x1bf2")+"device_mouse_x_to_gui device_mouse_y_to_gui iap_activate iap_status iap_enumerate_products iap_restore_all iap_acquire iap_consume iap_product_details iap_purchase_details facebook_init facebook_login facebook_status facebook_graph_request "+n("0x4185")+n("0x16f7")+"facebook_accesstoken facebook_check_permission facebook_request_read_permissions facebook_request_publish_permissions gamepad_is_supported "+n("0x4c7d")+n("0x1ed5")+n("0x23c4")+n("0x1f4e")+n("0x2e9")+n("0x4554")+n("0x24f9")+"os_is_paused window_has_focus code_is_compiled http_get "+n("0x48d5")+n("0x216")+n("0x45e5")+n("0x2a14")+n("0x3699")+n("0x393e")+n("0x4287")+n("0x4a5a")+n("0x9c5")+n("0x18e6")+n("0x3689")+n("0x3232")+"win8_livetile_notification_image_add win8_livetile_notification_end "+n("0x4d84")+n("0x3092")+n("0x1080")+n("0xcb3")+n("0x2eba")+n("0x16")+n("0x49e9")+n("0x80")+n("0xa0d")+n("0xc95")+n("0x11bc")+"winphone_tile_back_content winphone_tile_back_content_wide winphone_tile_front_image winphone_tile_front_image_small "+n("0x63e")+n("0xea9")+"winphone_tile_background_color winphone_tile_icon_image "+n("0xda2")+"winphone_tile_cycle_images winphone_tile_small_background_image "+n("0x251b")+n("0x3b83")+"physics_world_draw_debug physics_pause_enable physics_fixture_create physics_fixture_set_kinematic physics_fixture_set_density "+n("0x1f75")+n("0x1e47")+n("0x4ba5")+n("0x28")+"physics_fixture_set_box_shape physics_fixture_set_edge_shape "+n("0x3d15")+"physics_fixture_add_point physics_fixture_bind physics_fixture_bind_ext physics_fixture_delete physics_apply_force "+n("0x472c")+n("0x4b61")+"physics_apply_torque physics_mass_properties physics_draw_debug "+n("0x1c21")+n("0x3054")+"physics_get_density physics_get_restitution physics_joint_distance_create physics_joint_rope_create physics_joint_revolute_create physics_joint_prismatic_create "+n("0x4f22")+"physics_joint_weld_create physics_joint_friction_create "+n("0x14ac")+n("0x3e1e")+"physics_particle_create physics_particle_delete "+n("0x2a76")+n("0x2173")+n("0xd4b")+"physics_particle_set_category_flags physics_particle_draw "+n("0x183a")+"physics_particle_get_data physics_particle_get_data_particle "+n("0x2827")+n("0x3cf1")+"physics_particle_group_add_point physics_particle_group_end "+n("0x1158")+"physics_particle_group_count physics_particle_group_get_data "+n("0xd1f")+n("0x439d")+n("0x4506")+n("0x1e05")+"physics_particle_group_get_x physics_particle_group_get_y "+n("0x3650")+"physics_particle_get_group_flags physics_particle_get_max_count "+n("0x3426")+n("0x10c1")+n("0xea5")+n("0x471e")+n("0x277b")+n("0x4d2a")+n("0x4c06")+"network_send_packet network_send_raw network_send_broadcast "+n("0x33b5")+n("0x4333")+"buffer_write buffer_read buffer_seek buffer_get_surface "+n("0x2a60")+n("0x4fbe")+n("0x3ac6")+n("0x14e4")+n("0x819")+n("0x1e94")+n("0x2deb")+n("0x473")+n("0x21de")+n("0x14c3")+"gml_release_mode gml_pragma steam_activate_overlay "+n("0x2e83")+"steam_get_persona_name steam_initialised steam_is_cloud_enabled_for_app steam_is_cloud_enabled_for_account "+n("0x1213")+n("0x18bc")+"steam_file_delete steam_file_exists steam_file_size steam_file_share steam_is_screenshot_requested steam_send_screenshot "+n("0xcc5")+"steam_user_installed_dlc steam_set_achievement steam_get_achievement "+n("0x486f")+n("0x1e16")+n("0x48f4")+n("0x40ae")+n("0x47cc")+n("0x3f88")+n("0x37ae")+n("0x4abe")+n("0x41b9")+n("0x49bf")+"steam_get_user_persona_name steam_get_app_id "+n("0x279c")+n("0x46c5")+n("0x3c67")+n("0xc61")+n("0x3b28")+"steam_ugc_get_item_update_progress steam_ugc_subscribe_item "+n("0x10c9")+n("0xa59")+n("0x16fd")+n("0x47de")+n("0x1216")+n("0x21e9")+"steam_ugc_query_set_match_any_tag steam_ugc_query_set_search_text "+n("0x2445")+"steam_ugc_query_add_required_tag steam_ugc_query_add_excluded_tag "+n("0x3049")+n("0x2d9b")+n("0x4dc7")+n("0x2b92")+n("0x4eb5")+n("0x47a0")+"shader_set_uniform_f_array shader_set_uniform_matrix "+n("0x1772")+n("0x15b")+"shaders_are_supported vertex_format_begin vertex_format_end vertex_format_delete vertex_format_add_position "+n("0x47eb")+n("0x2a4a")+n("0x87b")+n("0x36c9")+n("0x25d3")+"vertex_end vertex_position vertex_position_3d vertex_colour "+n("0x257")+n("0x2728")+"vertex_submit vertex_freeze vertex_get_number vertex_get_buffer_size "+n("0x2d1f")+"vertex_create_buffer_from_buffer_ext push_local_notification "+n("0x2c11")+"push_cancel_local_notification skeleton_animation_set "+n("0x4189")+n("0xe3c")+n("0xb47")+"skeleton_animation_clear skeleton_skin_set skeleton_skin_get skeleton_attachment_set skeleton_attachment_get skeleton_attachment_create skeleton_collision_draw_set "+n("0x88d")+"skeleton_bone_state_get skeleton_bone_state_set skeleton_get_minmax "+n("0xe4")+n("0x4338")+n("0x4857")+"draw_skeleton_collision skeleton_animation_list skeleton_skin_list "+n("0x2104")+n("0x303d")+n("0x1bde")+n("0x3056")+n("0x4195")+n("0x1205")+"layer_get_script_begin layer_get_script_end layer_get_shader "+n("0x2f47")+n("0x1b2b")+"layer_get_element_layer layer_get_element_type layer_element_move "+n("0x435b")+n("0x4210")+"layer_background_exists layer_background_create "+n("0x4e69")+"layer_background_change layer_background_sprite "+n("0x3527")+n("0xcf0")+n("0x4d0a")+n("0x3c9b")+n("0x1ba7")+n("0x3b6c")+"layer_background_get_stretch layer_background_get_yscale layer_background_get_xscale layer_background_get_blend "+n("0x3326")+n("0x187e")+n("0x4fd0")+n("0x2a86")+n("0x38a2")+n("0x4fac")+n("0x345")+n("0x37c9")+n("0x184c")+n("0x390b")+"layer_sprite_get_y layer_tilemap_get_id layer_tilemap_exists layer_tilemap_create layer_tilemap_destroy tilemap_tileset tilemap_x "+n("0x72c")+n("0x2f5")+n("0x2092")+n("0x1654")+n("0x11cc")+"tilemap_set_global_mask tilemap_get_global_mask tilemap_set_mask "+n("0x86f")+n("0x462")+"tile_get_index tile_get_flip tile_get_mirror tile_get_rotate "+n("0x26ef")+n("0x4f40")+n("0x2e2c")+n("0x4732")+n("0xc13")+"layer_tile_get_alpha layer_tile_get_x layer_tile_get_y "+n("0x3eb6")+n("0x2807")+n("0x34b1")+n("0x28fa")+n("0x4474")+n("0xc58")+"camera_set_end_script camera_set_view_pos camera_set_view_size camera_set_view_speed camera_set_view_border camera_set_view_angle "+n("0x3e7e")+n("0x3e3e")+"camera_get_end_script camera_get_view_x camera_get_view_y "+n("0x195c")+n("0xf71")+"camera_get_view_border_y camera_get_view_angle camera_get_view_target view_get_camera view_get_visible "+n("0x20f4")+n("0x3cc8")+n("0x286d")+n("0x4f07")+n("0xde7")+n("0x1b7d")+n("0x3757")+"gesture_tap_count gesture_get_drag_time gesture_get_drag_distance "+n("0x1d6c")+n("0x298")+n("0x1907")+n("0x1f62")+n("0x419d")+n("0x4687"),literal:n("0x4c47")+"pointer_null path_action_stop path_action_restart path_action_continue path_action_reverse true false pi GM_build_date "+n("0x4be3")+n("0x4a51")+n("0x7fe")+n("0x10de")+"ev_keyrelease ev_trigger ev_left_button ev_right_button ev_middle_button ev_no_button ev_left_press ev_right_press ev_middle_press ev_left_release ev_right_release ev_middle_release "+n("0x1703")+n("0x33b8")+"ev_global_left_press ev_global_right_press ev_global_middle_press "+n("0x1b56")+"ev_global_middle_release ev_joystick1_left ev_joystick1_right "+n("0x75f")+"ev_joystick1_button2 ev_joystick1_button3 ev_joystick1_button4 ev_joystick1_button5 ev_joystick1_button6 ev_joystick1_button7 "+n("0x1c3b")+n("0x3f6a")+"ev_joystick2_button2 ev_joystick2_button3 ev_joystick2_button4 "+n("0x9d0")+n("0x294c")+"ev_game_end ev_room_start ev_room_end ev_no_more_lives "+n("0x3b9b")+"ev_user0 ev_user1 ev_user2 ev_user3 ev_user4 ev_user5 ev_user6 ev_user7 ev_user8 ev_user9 ev_user10 ev_user11 ev_user12 ev_user13 "+n("0x4264")+n("0x4abb")+n("0x339")+n("0xbf2")+n("0x2313")+n("0x890")+n("0x4178")+n("0x27a3")+n("0x3639")+n("0x4693")+n("0x2867")+n("0x289a")+n("0x43fd")+"vk_shift vk_control vk_alt vk_escape vk_space vk_backspace vk_tab vk_pause vk_printscreen vk_left vk_right vk_up vk_down vk_home "+n("0x143f")+n("0x1c5b")+n("0x17b4")+n("0x3ab1")+n("0x4084")+n("0x16da")+n("0x95")+n("0x34da")+n("0x2b63")+n("0x25ed")+n("0x3e27")+n("0x2e1")+n("0x2638")+n("0x4823")+n("0x19e1")+n("0x2412")+n("0x4eca")+n("0x38c5")+n("0x3ae0")+n("0x3851")+"audio_falloff_exponent_distance_clamped audio_old_system audio_new_system audio_mono audio_stereo audio_3d cr_default cr_none "+n("0x388e")+"cr_size_we cr_uparrow cr_hourglass cr_drag cr_appstart cr_handpoint "+n("0xc04")+n("0x10d7")+"asset_sprite asset_sound asset_room asset_path asset_script "+n("0x3d42")+n("0x37fe")+n("0x2bdc")+n("0x1a24")+n("0x47d0")+n("0x2be2")+n("0x8e6")+n("0x1741")+n("0x156c")+n("0x43f6")+n("0xdef")+n("0x1837")+n("0x4df7")+"os_unknown os_winphone os_tizen os_win8native "+n("0xecf")+n("0x354a")+n("0x1ae0")+n("0x3b9d")+n("0x3c28")+"device_ios_unknown device_ios_iphone device_ios_iphone_retina "+n("0x252a")+n("0x3097")+n("0x2df9")+"display_portrait display_portrait_flipped tm_sleep tm_countvsyncs "+n("0x21f4")+n("0x3fd5")+n("0x4bd0")+n("0x3f4")+"cull_noculling cull_clockwise cull_counterclockwise lighttype_dir "+n("0x343")+n("0x2721")+"iap_status_uninitialised iap_status_unavailable iap_status_loading "+n("0x2b44")+n("0x3a5a")+n("0x4ba4")+n("0x371c")+n("0x499e")+n("0x83c")+n("0x1928")+n("0x8a0")+n("0x4116")+"phy_joint_max_motor_torque phy_joint_translation phy_joint_speed "+n("0x3d7d")+n("0x2669")+"phy_joint_lower_angle_limit phy_joint_upper_angle_limit "+n("0x43e")+n("0x8ea")+"phy_debug_render_collision_pairs phy_debug_render_coms "+n("0xea3")+n("0x2cd8")+n("0x2849")+n("0x1259")+n("0x1135")+"phy_particle_flag_powder phy_particle_flag_tensile "+n("0x134c")+"phy_particle_group_flag_solid phy_particle_group_flag_rigid phy_particle_data_flag_typeflags phy_particle_data_flag_position "+n("0xcec")+"phy_particle_data_flag_color phy_particle_data_flag_category  "+n("0x45a6")+n("0x4b8")+"achievement_filter_all_players achievement_filter_friends_only "+n("0x3917")+"achievement_type_achievement_challenge "+n("0x656")+n("0x241d")+n("0x1e9f")+n("0x2e")+n("0x2972")+n("0x2973")+n("0x1f34")+n("0x254d")+n("0x5b")+n("0x2bfb")+n("0x3e6c")+n("0x3f3d")+n("0xa4")+n("0x2e0e")+n("0x4760")+"buffer_seek_relative buffer_seek_end "+n("0x432d")+n("0x143d")+n("0x19d1")+n("0x45fc")+"JOHAB_CHARSET HEBREW_CHARSET ARABIC_CHARSET GREEK_CHARSET TURKISH_CHARSET VIETNAMESE_CHARSET THAI_CHARSET MAC_CHARSET BALTIC_CHARSET OEM_CHARSET  gp_face1 gp_face2 gp_face3 gp_face4 "+n("0x17ef")+n("0xbf1")+"gp_axislh gp_axislv gp_axisrh gp_axisrv ov_friends ov_community ov_players ov_settings ov_gamegroup ov_achievements lb_sort_none "+n("0x707")+"lb_disp_time_sec lb_disp_time_ms ugc_result_success ugc_filetype_community ugc_filetype_microtrans ugc_visibility_public ugc_visibility_friends_only ugc_visibility_private "+n("0x702")+n("0x3fed")+n("0x2eab")+"ugc_query_FavoritedByFriendsRankedByPublicationDate "+n("0x4a98")+"ugc_query_RankedByNumTimesReported "+n("0x34a5")+n("0x1688")+"ugc_query_RankedByVotesUp ugc_query_RankedByTextSearch "+n("0xb71")+n("0x23d8")+n("0x431a")+n("0x3d7")+n("0x468c")+"ugc_list_Favorited ugc_list_Subscribed ugc_list_UsedOrPlayed "+n("0x1c26")+"ugc_match_Items_ReadyToUse ugc_match_Collections ugc_match_Artwork "+n("0x2c42")+"ugc_match_WebGuides ugc_match_IntegratedGuides "+n("0x2a9f")+n("0x1c71")+"vertex_usage_normal vertex_usage_texcoord vertex_usage_textcoord "+n("0x43f7")+n("0x4ee1")+n("0x33fa")+n("0xe88")+n("0xd36")+n("0x2c63")+"layerelementtype_background layerelementtype_instance "+n("0x3830")+n("0x4a19")+n("0x1c90")+n("0x9fe")+n("0x16b1")+n("0x2542")+n("0x4cc")+"kbv_returnkey_search kbv_returnkey_send kbv_returnkey_yahoo kbv_returnkey_done kbv_returnkey_continue kbv_returnkey_emergency "+n("0x4ee5")+"kbv_autocapitalize_sentences kbv_autocapitalize_characters",symbol:n("0x4d7e")+n("0x404b")+n("0x237")+n("0x47ef")+n("0x471b")+n("0x1ebe")+n("0x36be")+n("0x2483")+n("0x4369")+n("0x157a")+n("0x1c9e")+"timeline_loop room room_first room_last room_width room_height "+n("0x4808")+"show_lives show_health caption_score caption_lives caption_health "+n("0x3c1c")+n("0x736")+n("0xd59")+n("0x833")+n("0x1924")+n("0xcea")+n("0xc38")+n("0x2c49")+n("0xc36")+"background_showcolour background_color background_showcolor view_enabled view_current view_visible view_xview view_yview view_wview view_hview view_xport view_yport view_wport view_hport "+n("0x1c55")+n("0x3766")+"game_project_name game_save_id working_directory temp_directory "+n("0x2131")+n("0x3364")+"webgl_enabled event_data iap_data phy_rotation phy_position_x "+n("0x4527")+n("0x43a4")+"phy_angular_damping phy_linear_damping phy_bullet phy_fixed_rotation phy_active phy_mass phy_inertia phy_com_x phy_com_y phy_dynamic phy_kinematic phy_sleeping "+n("0x463f")+n("0x1bae")+n("0x4179")};return{aliases:["gml",n("0x279d")],case_insensitive:!1,keywords:a,contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0xee9")],e[n("0x2b8c")],e[n("0x49a1")]]}})),e[t("0x28be")]("go",(function(e){var n=t,a={keyword:"break default func interface select case map struct chan else goto package switch "+n("0x3e49")+n("0x43ea")+n("0x237f"),literal:n("0x2ad9"),built_in:n("0x3214")};return{aliases:[n("0xedc")],keywords:a,illegal:"</",contains:[e[n("0x2d29")],e[n("0x4848")],{className:n("0x38b7"),variants:[e[n("0x2b8c")],{begin:"'",end:n("0x18d4")},{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e[n("0x762")]+n("0x131a"),relevance:1},e[n("0x49a1")]]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e[n("0x3ef7")],{className:"params",begin:/\(/,end:/\)/,keywords:a,illegal:/["']/}]}]}})),e[t("0x28be")](t("0x4e7e"),(function(e){var n=t;return{keywords:{keyword:n("0x4f1d")+n("0x3923")+n("0x2c5b")+n("0x4bc4")+"DynamicObject|10 DynamicVariable struct Observable map set vector list array",literal:n("0x4d29")},contains:[e[n("0xb46")],e[n("0x2b8c")],e[n("0x49a1")],{className:n("0x1439"),begin:n("0x22b")}]}})),e[t("0x28be")](t("0x181f"),(function(e){var n=t;return{case_insensitive:!0,keywords:{keyword:n("0x172a")+n("0x2fbb")+n("0x4ce3")+"targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant "+n("0x2b82")+"for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package "+n("0x1d1e")+n("0x31b5")+n("0x48da")+n("0xfce")+n("0x2a30")+"isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter "+n("0x2c3d")+n("0x272a")+"times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader "+n("0x12ae")},contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0xee9")],e[n("0x2b8c")],e[n("0x21e4")],e[n("0x7c6")]]}})),e[t("0x28be")](t("0x4370"),(function(e){var n=t;return{keywords:{literal:n("0x4d29"),keyword:n("0x4954")+"def as in assert trait "+n("0x1b58")+"class interface enum if else for while switch case break default continue "+n("0x47b6")},contains:[e[n("0x4ff9")](n("0x5f3"),n("0x3756"),{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:n("0x62d"),begin:n("0x22b")}]}),e[n("0x2d29")],e[n("0x4848")],{className:n("0x38b7"),begin:n("0x259b"),end:n("0x259b")},{className:"string",begin:n("0x4cbe"),end:"'''"},{className:n("0x38b7"),begin:"\\$/",end:n("0x2b99"),relevance:10},e[n("0xee9")],{className:"regexp",begin:/~?\/[^\/\n]+\//,contains:[e[n("0x28e2")]]},e.QUOTE_STRING_MODE,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},e[n("0xd50")],{className:"class",beginKeywords:"class interface trait enum",end:"{",illegal:":",contains:[{beginKeywords:"extends implements"},e[n("0x33ca")]]},e[n("0x49a1")],{className:n("0x1439"),begin:n("0x22b")},{className:n("0x38b7"),begin:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{begin:/\?/,end:/\:/},{className:n("0x40c6"),begin:n("0x44f4"),relevance:0}],illegal:/#|<\//}})),e[t("0x28be")]("haml",(function(e){var n=t;return{case_insensitive:!0,contains:[{className:"meta",begin:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",relevance:10},e[n("0x4ff9")](n("0x1c6b"),!1,{relevance:0}),{begin:"^\\s*(-|=|!=)(?!#)",starts:{end:"\\n",subLanguage:"ruby"}},{className:n("0xb3b"),begin:n("0x2eb0"),contains:[{className:n("0x2f12"),begin:n("0xd77")},{className:n("0x3512"),begin:n("0x3b12")},{className:n("0x4835"),begin:n("0x18b9")},{begin:"{\\s*",end:"\\s*}",contains:[{begin:n("0x3b0d"),end:n("0x4c27"),returnBegin:!0,endsWithParent:!0,contains:[{className:"attr",begin:n("0x372c")},e[n("0xee9")],e.QUOTE_STRING_MODE,{begin:n("0xd77"),relevance:0}]}]},{begin:n("0x12d6"),end:"\\s*\\)",excludeEnd:!0,contains:[{begin:"\\w+\\s*=",end:n("0xfcf"),returnBegin:!0,endsWithParent:!0,contains:[{className:n("0x417f"),begin:n("0xd77"),relevance:0},e[n("0xee9")],e.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]}]},{begin:"^\\s*[=~]\\s*"},{begin:"#{",starts:{end:"}",subLanguage:n("0x3f13")}}]}})),e.registerLanguage(t("0x22e4"),(function(e){var n=t,a={"builtin-name":n("0x28e6")},r={begin:/".*?"|'.*?'|\[.*?\]|\w+/},i=e[n("0xbe2")](r,{keywords:a,starts:{endsWithParent:!0,relevance:0,contains:[e[n("0xbe2")](r,{relevance:0})]}}),o=e[n("0xbe2")](i,{className:n("0x98c")}),x=e[n("0xbe2")](i,{relevance:0});return{aliases:["hbs",n("0x46e2"),n("0x2642")],case_insensitive:!0,subLanguage:n("0xbbe"),contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},e.COMMENT(/\{\{!--/,/--\}\}/),e[n("0x4ff9")](/\{\{!/,/\}\}/),{className:n("0x15af"),begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[o],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:n("0x15af"),begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[o]},{className:n("0x15af"),begin:/\{\{[#\/]/,end:/\}\}/,contains:[o]},{className:n("0x3871"),begin:/\{\{\{/,end:/\}\}\}/,keywords:a,contains:[x]},{className:n("0x3871"),begin:/\{\{/,end:/\}\}/,keywords:a,contains:[x]}]}})),e[t("0x28be")](t("0x202f"),(function(e){var n=t,a={variants:[e[n("0x4ff9")]("--","$"),e[n("0x4ff9")]("{-","-}",{contains:[n("0xaf2")]})]},r={className:"meta",begin:n("0x2b28"),end:n("0x35e1")},i={className:"meta",begin:"^#",end:"$"},o={className:n("0x3298"),begin:n("0x1364"),relevance:0},x={begin:"\\(",end:"\\)",illegal:'"',contains:[r,i,{className:"type",begin:n("0x1c25")},e[n("0xbe2")](e[n("0x3ef7")],{begin:n("0xe82")}),a]},s={begin:"{",end:"}",contains:x[n("0x2a10")]};return{aliases:["hs"],keywords:n("0x276f")+n("0x7")+n("0x3a55")+n("0x2bf7"),contains:[{beginKeywords:"module",end:"where",keywords:n("0x43a8"),contains:[x,a],illegal:n("0x1e0e")},{begin:n("0xa5c"),end:"$",keywords:n("0x4eff"),contains:[x,a],illegal:n("0x1e0e")},{className:n("0x917"),begin:n("0x39b"),end:n("0x31f3"),keywords:"class family instance where",contains:[o,x,a]},{className:n("0x917"),begin:n("0x1df6"),end:"$",keywords:"data family type newtype deriving",contains:[r,o,x,s,a]},{beginKeywords:n("0x3993"),end:"$",contains:[o,x,a]},{beginKeywords:n("0x34af"),end:"$",contains:[e[n("0x49a1")],a]},{begin:n("0x36f"),end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm "+n("0x1b72"),contains:[o,e.QUOTE_STRING_MODE,a]},{className:n("0x1439"),begin:n("0x3796"),end:"$"},r,i,e[n("0x2b8c")],e[n("0x49a1")],o,e.inherit(e[n("0x3ef7")],{begin:n("0x1d63")}),a,{begin:n("0xd1e")}]}})),e[t("0x28be")]("haxe",(function(e){var n=t,a=(n("0x3142"),n("0x1bb"));return{aliases:["hx"],keywords:{keyword:"break case cast catch continue default do dynamic else enum extern "+n("0x31dd")+"public return static super switch this throw trace try typedef untyped using var while "+a,built_in:"trace this",literal:"true false null _"},contains:[{className:n("0x38b7"),begin:"'",end:"'",contains:[e[n("0x28e2")],{className:n("0x134d"),begin:"\\$\\{",end:"\\}"},{className:"subst",begin:"\\$",end:n("0x4660")}]},e[n("0x2b8c")],e[n("0x2d29")],e[n("0x4848")],e.C_NUMBER_MODE,{className:n("0x1439"),begin:"@:",end:"$"},{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":n("0x23d2")}},{className:"type",begin:n("0x2fda"),end:n("0x274c"),excludeBegin:!0,excludeEnd:!0,relevance:0},{className:n("0x3298"),begin:n("0x2fda"),end:"\\W",excludeBegin:!0,excludeEnd:!0},{className:n("0x3298"),begin:"new *",end:"\\W",excludeBegin:!0,excludeEnd:!0},{className:n("0x917"),beginKeywords:"enum",end:"\\{",contains:[e[n("0x3ef7")]]},{className:n("0x917"),beginKeywords:n("0x12a1"),end:n("0x1bb0"),contains:[{className:n("0x3298"),begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"type",begin:n("0x2a1e"),end:"\\W",excludeBegin:!0,excludeEnd:!0},{className:n("0x3298"),begin:n("0x1a37"),end:"\\W",excludeBegin:!0,excludeEnd:!0},e.TITLE_MODE],keywords:{keyword:n("0x3acb")}},{className:"class",begin:"\\b(class|interface) +",end:n("0x1bb0"),excludeEnd:!0,keywords:n("0x2b37"),contains:[{className:"keyword",begin:n("0x30a7"),keywords:n("0x1732"),contains:[{className:n("0x3298"),begin:e[n("0x4485")],relevance:0}]},e.TITLE_MODE]},{className:n("0x3349"),beginKeywords:n("0x3349"),end:"\\(",excludeEnd:!0,illegal:"\\S",contains:[e.TITLE_MODE]}],illegal:/<\//}})),e.registerLanguage(t("0x2350"),(function(e){var n=t;return{case_insensitive:!0,lexemes:/[\w\._]+/,keywords:n("0x3895"),contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0x2b8c")],e.APOS_STRING_MODE,{className:n("0x38b7"),begin:'{"',end:'"}',contains:[e[n("0x28e2")]]},e[n("0x4ff9")](";","$",{relevance:0}),{className:n("0x1439"),begin:"#",end:"$",keywords:{"meta-keyword":n("0x4c35")},contains:[e[n("0xbe2")](e.QUOTE_STRING_MODE,{className:n("0x41b8")}),e[n("0x21e4")],e[n("0x49a1")],e[n("0x2d29")],e[n("0x4848")]]},{className:"symbol",begin:n("0x2cca")},e[n("0x21e4")],e[n("0x49a1")]]}})),e.registerLanguage(t("0x2fc3"),(function(e){var n=t,a=n("0x4094"),r={illegal:/\}\}/,begin:/[a-zA-Z0-9_]+=/,returnBegin:!0,relevance:0,contains:[{className:n("0x417f"),begin:/[a-zA-Z0-9_]+/}]},i=(e[n("0x2b8c")],{endsWithParent:!0,relevance:0,keywords:{keyword:"as",built_in:a},contains:[e.QUOTE_STRING_MODE,r,e.NUMBER_MODE]});return{case_insensitive:!0,subLanguage:n("0xbbe"),contains:[e.COMMENT(n("0x22f1"),n("0x4330")),{className:n("0x15af"),begin:/\{\{[#\/]/,end:/\}\}/,contains:[{className:n("0x98c"),begin:/[a-zA-Z\.\-]+/,keywords:{"builtin-name":a},starts:i}]},{className:n("0x3871"),begin:/\{\{[a-zA-Z][a-zA-Z\-]+/,end:/\}\}/,keywords:{keyword:"as",built_in:a},contains:[e[n("0x2b8c")]]}]}})),e[t("0x28be")](t("0x16aa"),(function(e){var n=t,a="HTTP/[0-9\\.]+";return{aliases:["https"],illegal:"\\S",contains:[{begin:"^"+a,end:"$",contains:[{className:n("0x2231"),begin:n("0x35cb")}]},{begin:n("0x3341")+a+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:a},{className:n("0x2038"),begin:n("0xf7a")}]},{className:n("0x3d26"),begin:n("0x4bca"),end:": ",excludeEnd:!0,illegal:n("0x1f09"),starts:{end:"$",relevance:0}},{begin:n("0x21f6"),starts:{subLanguage:[],endsWithParent:!0}}]}})),e.registerLanguage("hy",(function(e){var n=t,a={"builtin-name":"!= % %= & &= * ** **= *= *map "+n("0x48ba")+"/= < << <<= <= = > >= >> >>= "+n("0x45fe")+n("0x2d94")+n("0x1b18")+n("0x1df")+n("0x16cb")+n("0x23b5")+n("0x2a7")+"disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? "+n("0x4061")+n("0x2332")+n("0x31d6")+n("0x1946")+n("0x4fba")+n("0x719")+n("0x3d10")+n("0x29b8")+n("0x1d15")+n("0x37fc")+n("0x4ddf")+n("0x16c2")+n("0x1ba6")+"recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless "+n("0x2372")+n("0x22ed")},r="a-zA-Z_\\-!.?+*=<>&#'",i="["+r+"]["+r+"0-9/;:]*",o=n("0x41f2"),x={className:n("0x1439"),begin:n("0x4088"),end:"$"},s={begin:i,relevance:0},c={className:n("0x2231"),begin:o,relevance:0},l=e[n("0xbe2")](e[n("0x2b8c")],{illegal:null}),d=e[n("0x4ff9")](";","$",{relevance:0}),u={className:n("0x235f"),begin:/\b([Tt]rue|[Ff]alse|nil|None)\b/},f={begin:n("0x345c"),end:"[\\]\\}]"},m={className:n("0x3cd8"),begin:"\\^"+i},b=e[n("0x4ff9")]("\\^\\{","\\}"),_={className:"symbol",begin:"[:]{1,2}"+i},p={begin:"\\(",end:"\\)"},h={endsWithParent:!0,relevance:0},g={keywords:a,lexemes:i,className:n("0x98c"),begin:i,starts:h},v=[p,l,m,b,d,_,f,c,u,s];return p[n("0x2a10")]=[e[n("0x4ff9")](n("0x3cd8"),""),g,h],h[n("0x2a10")]=v,f[n("0x2a10")]=v,{aliases:[n("0x28ed")],illegal:/\S/,contains:[x,p,l,m,b,d,_,f,c,u]}})),e.registerLanguage(t("0x28ef"),(function(e){var n=t;return{aliases:["i7"],case_insensitive:!0,keywords:{keyword:n("0x38f7")+n("0x3e2b")+n("0x1b0e")+"is are say understand "+n("0x34ae")},contains:[{className:n("0x38b7"),begin:'"',end:'"',relevance:0,contains:[{className:n("0x134d"),begin:"\\[",end:"\\]"}]},{className:n("0x855"),begin:/^(Volume|Book|Part|Chapter|Section|Table)\b/,end:"$"},{begin:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,end:":",contains:[{begin:n("0x337b"),end:"\\)"}]},{className:n("0x3cd8"),begin:"\\[",end:"\\]",contains:[n("0xaf2")]}]}})),e[t("0x28be")](t("0xa5d"),(function(e){var n=t,a={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:n("0x4cbe"),end:"'''",relevance:10},{begin:n("0x259b"),end:n("0x259b"),relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};return{aliases:[n("0xa9e")],case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT(";","$"),e.HASH_COMMENT_MODE,{className:n("0x855"),begin:/^\s*\[+/,end:/\]+/},{begin:/^[a-z0-9\[\]_\.-]+\s*=\s*/,end:"$",returnBegin:!0,contains:[{className:n("0x417f"),begin:/[a-z0-9\[\]_\.-]+/},{begin:/=/,endsWithParent:!0,relevance:0,contains:[e[n("0x4ff9")](";","$"),e[n("0xb46")],{className:n("0x235f"),begin:/\bon|off|true|false|yes|no\b/},{className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},a,{className:n("0x2231"),begin:/([\+\-]+)?[\d]+_[\d_]+/},e[n("0x21e4")]]}]}]}})),e[t("0x28be")]("irpf90",(function(e){var n=t,a={className:n("0x48ad"),begin:"\\(",end:"\\)"};return{case_insensitive:!0,keywords:{literal:".False. .True.",keyword:n("0x2250")+"type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. "+n("0x7e3")+n("0x27dc")+n("0x8c5")+n("0x2dd2")+"synchronous nopass non_overridable pass protected volatile abstract extends import "+n("0x1fda")+n("0xa64")+n("0x388c")+n("0x214e")+n("0x151a")+n("0x2a57")+n("0x2158")+n("0x2581")+"pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data "+n("0x484b")+n("0x271a"),built_in:n("0x3786")+n("0x381c")+n("0x104d")+n("0x1da7")+n("0x639")+n("0x1c13")+n("0x4045")+n("0xd7c")+n("0x2f7d")+"radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind "+n("0x143a")+n("0x472a")+n("0x6aa")+n("0x2cc5")+n("0xb96")+n("0x39a6")+n("0x13e1")+n("0x4a00")+n("0x3b3d")},illegal:/\/\*/,contains:[e.inherit(e[n("0xee9")],{className:n("0x38b7"),relevance:0}),e.inherit(e[n("0x2b8c")],{className:"string",relevance:0}),{className:n("0x3349"),beginKeywords:n("0x818"),illegal:n("0x331"),contains:[e[n("0x33ca")],a]},e[n("0x4ff9")]("!","$",{relevance:0}),e.COMMENT(n("0xf96"),n("0xe00"),{relevance:10}),{className:n("0x2231"),begin:n("0x3be0"),relevance:0}]}})),e[t("0x28be")](t("0x4e5a"),(function(e){var n=t,a="[A-Za-zА-Яа-яёЁ_!][A-Za-zА-Яа-яёЁ_0-9]*",r=n("0x1185"),i=n("0x902")+n("0x43b3"),o=n("0x2a18")+"SYSRES_CONST_ACCES_RIGHT_TYPE_FULL SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW "+n("0x4b7")+n("0x87e")+n("0x2fd1")+n("0x2144")+n("0x3d79")+"SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE "+n("0x1853")+n("0x4051")+n("0x494b")+"SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_YES_CODE "+n("0x1a75")+n("0x363b")+n("0x2e04")+"SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW "+n("0x137f")+n("0x1fec")+n("0xbc")+n("0x31e8")+n("0x4891")+n("0x36e4")+"SYSRES_CONST_ACCESS_TYPE_EXISTS_CODE "+n("0x8a2")+n("0x18e8")+"SYSRES_CONST_ACCESS_TYPE_VIEW SYSRES_CONST_ACCESS_TYPE_VIEW_CODE "+n("0x23e6")+"SYSRES_CONST_ACTION_TYPE_ACCEPT "+n("0x579")+"SYSRES_CONST_ACTION_TYPE_ADD_ATTACHMENT "+n("0x47fe")+n("0x2734")+"SYSRES_CONST_ACTION_TYPE_CHANGE_STORAGE "+n("0xc82")+n("0x1608")+n("0xca7")+n("0x42f")+n("0x810")+n("0x12e6")+n("0x3b46")+"SYSRES_CONST_ACTION_TYPE_DISABLE_DELEGATE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ENABLE_DELEGATE_ACCESS_RIGHTS "+n("0x3402")+n("0x2f96")+n("0x2573")+n("0x63c")+n("0x17a7")+n("0x1808")+n("0x2d8a")+n("0x4905")+n("0x1d82")+n("0x8a9")+n("0x395b")+n("0x2935")+"SYSRES_CONST_ACTION_TYPE_MARK_AS_UNREADED "+n("0x47fc")+n("0x1822")+"SYSRES_CONST_ACTION_TYPE_MOVE_TO_ARCHIVE SYSRES_CONST_ACTION_TYPE_OFF_ENCRYPTION SYSRES_CONST_ACTION_TYPE_PASSWORD_CHANGE "+n("0x4dfb")+n("0x8cd")+"SYSRES_CONST_ACTION_TYPE_RESTART "+n("0x1d41")+n("0x19ac")+n("0x30bd")+n("0xccd")+n("0x97b")+n("0x477")+n("0x40cc")+n("0x1a40")+n("0x2b96")+n("0x3d41")+"SYSRES_CONST_ACTION_TYPE_VIEW_SHADOW_COPY "+n("0x803")+n("0xbc0")+n("0x2755")+n("0x251d")+n("0x1940")+n("0x36ef")+n("0x1116")+n("0x2cbd")+n("0x190")+n("0x23e9")+n("0x4a0a")+n("0x32fc")+n("0x221")+n("0x28d2")+n("0xbd6")+n("0x10ca")+n("0xe5b")+"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION_CODE "+n("0x466f")+n("0xadc")+n("0x3f83")+n("0x2dd3")+n("0xf88")+n("0x480e")+n("0x36e2")+n("0x1f76")+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION "+n("0x23ec")+n("0x1a69")+n("0xd17")+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION "+n("0x87f")+n("0x14aa")+n("0x4d9b")+n("0x473a")+n("0xfe8")+n("0x265e")+n("0x3cd4")+n("0x1b6f")+n("0xde0")+"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION "+n("0xe65")+n("0x41f")+n("0x4de3")+n("0xa78")+n("0x23ca")+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION "+n("0x29b6")+n("0x1a0a")+n("0x257e")+"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION "+n("0x537")+n("0x99a")+n("0x96b")+n("0xbc1")+n("0x36ce")+n("0x4fcd")+n("0xbf8")+n("0x2aa7")+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION "+n("0x4e44")+n("0x1f26")+n("0x32bb")+n("0x2af")+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION_CODE "+n("0x3985")+n("0x294a")+n("0x4548")+n("0x286b")+"SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE "+n("0x2740")+"SYSRES_CONST_ALL_ACCEPT_CONDITION_RUS "+n("0x4ae5")+n("0x37fa")+n("0x2630")+n("0x257f")+n("0x75c")+n("0x3a28")+n("0x1b52")+"SYSRES_CONST_APPROVING_SIGNATURE_REQUISITE_CODE "+n("0x3fc6")+n("0x1d99")+n("0x1174")+n("0x29d1")+n("0x43b9")+n("0x49ee")+"SYSRES_CONST_ATTACH_TYPE_JOB "+n("0x10ee")+n("0x31f2")+n("0x14b9")+n("0x9f7")+n("0xe7c")+n("0x5006")+n("0x48bb")+"SYSRES_CONST_AUTH_WINDOWS "+n("0x1c2")+n("0x4c1e")+"SYSRES_CONST_AUTO_ENUM_METHOD_FLAG "+n("0x1b24")+n("0x35f")+n("0x36a2")+n("0x43fb")+n("0x331f")+"SYSRES_CONST_AUTOTEXT_USAGE_ALL_CODE "+n("0x3602")+n("0x3546")+n("0x362a")+n("0x73")+n("0x5d7")+"SYSRES_CONST_AUTOTEXT_USE_ON_SIGNING_CODE "+n("0x4d4c")+n("0x19ed")+n("0x6ac")+n("0x365b")+"SYSRES_CONST_BTN_PART "+n("0x108f")+n("0x4154")+n("0x1184")+n("0x4eb2")+"SYSRES_CONST_CARD_PART SYSRES_CONST_CARD_REFERENCE_MODE_NAME SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_ENCRYPT_VALUE "+n("0x1839")+n("0x42ec")+"SYSRES_CONST_CHECK_PARAM_VALUE_DATE_PARAM_TYPE "+n("0x15d1")+n("0xa4d")+"SYSRES_CONST_CHECK_PARAM_VALUE_PICK_PARAM_TYPE "+n("0x24c4")+n("0x738")+"SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_CODE_COMPONENT_TYPE_ADMIN SYSRES_CONST_CODE_COMPONENT_TYPE_DEVELOPER "+n("0x2140")+n("0x31f9")+n("0x3841")+n("0x47e5")+n("0x175")+"SYSRES_CONST_CODE_COMPONENT_TYPE_REPORT SYSRES_CONST_CODE_COMPONENT_TYPE_SCRIPT "+n("0x2204")+n("0x1481")+n("0x4c18")+n("0x3496")+n("0x16de")+n("0x4063")+n("0x2b1b")+"SYSRES_CONST_COMMENT_REQ_CODE "+n("0x3f0c")+n("0x1843")+n("0x3104")+n("0x4ec")+n("0x3b3a")+n("0x1f30")+"SYSRES_CONST_COMPONENT_TYPE_EDOC_CARDS "+n("0x434c")+n("0x1fe1")+n("0xc76")+n("0x43d7")+n("0x19ff")+n("0x27c6")+"SYSRES_CONST_COMPONENT_TYPE_SCRIPTS "+n("0x2256")+"SYSRES_CONST_COMPONENTS_REMOTE_SERVERS_VIEW_CODE "+n("0x4bd7")+n("0x3c70")+n("0x10d0")+n("0x1e3")+n("0x4a07")+n("0x8ce")+"SYSRES_CONST_CONST_SERVER_STATUS_REPLICATE "+n("0x4df6")+n("0xeb7")+n("0x1d88")+n("0x36d6")+n("0x30b")+"SYSRES_CONST_DATA_TYPE_PICK "+n("0x279f")+"SYSRES_CONST_DATA_TYPE_STRING "+n("0x4c0d")+n("0x1fe")+"SYSRES_CONST_DATE_CLOSE_REQ_CODE "+n("0x2f79")+n("0x466e")+"SYSRES_CONST_DATE_REQUISITE SYSRES_CONST_DATE_REQUISITE_CODE "+n("0x470f")+n("0x2e82")+n("0x30e6")+n("0x39a2")+"SYSRES_CONST_DEA_ACCESS_RIGHTS_ACTION_CODE SYSRES_CONST_DESCRIPTION_LOCALIZE_ID_REQUISITE_CODE "+n("0x4820")+"SYSRES_CONST_DET1_PART "+n("0xda6")+n("0x4713")+n("0x403c")+n("0xcab")+n("0x6fc")+n("0x2fea")+n("0x14e3")+"SYSRES_CONST_DETAIL_REQ_CODE SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_CODE "+n("0x2c54")+n("0x26bb")+n("0x4748")+n("0x4af6")+n("0x6")+n("0x15f3")+n("0x1c6e")+n("0x20fe")+"SYSRES_CONST_EDITOR_TYPE_REQUISITE_CODE "+n("0x2ed7")+n("0x38a6")+"SYSRES_CONST_EDITORS_EXTENSION_REQUISITE_CODE "+n("0x47bd")+n("0x4a37")+n("0x4435")+n("0x4e33")+n("0x4e10")+n("0x1e20")+n("0x3029")+n("0xc98")+"SYSRES_CONST_EDOC_CERTIFICATE_ENCODE_CODE SYSRES_CONST_EDOC_DATE_REQUISITE_CODE SYSRES_CONST_EDOC_KIND_REFERENCE_CODE "+n("0x246a")+n("0x175f")+n("0x1431")+"SYSRES_CONST_EDOC_NUMBER_REQUISITE_CODE "+n("0x2bd4")+n("0x4cf0")+n("0x1339")+"SYSRES_CONST_EDOC_SIZE_RESTRICTION_PRIORITY_REQUISITE_CODE "+n("0xc2d")+n("0x434d")+n("0x4959")+n("0x284b")+n("0x3cb4")+"SYSRES_CONST_EDOC_STORAGE_SHARED_SOURCE_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_TEMPLATE_REQUISITE_CODE "+n("0x3c24")+"SYSRES_CONST_EDOC_VERSION_ACTIVE_STAGE_CODE "+n("0x103f")+n("0x214d")+n("0x110c")+n("0x4888")+"SYSRES_CONST_ENCODE_CERTIFICATE_TYPE_CODE "+n("0x25f2")+n("0x8ad")+n("0x458c")+n("0x2224")+"SYSRES_CONST_EXIST_CONST "+n("0x563")+n("0x1446")+n("0x2806")+n("0xe81")+n("0x2c0b")+n("0x1cd9")+n("0x2bec")+n("0x4cd")+n("0xc")+n("0x2c9e")+"SYSRES_CONST_FILTER_TYPE_COMMON_CODE SYSRES_CONST_FILTER_TYPE_COMMON_NAME SYSRES_CONST_FILTER_TYPE_USER_CODE "+n("0x1759")+n("0x1db0")+n("0x2e77")+n("0x1363")+"SYSRES_CONST_FOLDER_AUTHOR_VALUE "+n("0xcf3")+n("0x4a08")+"SYSRES_CONST_FOLDER_KIND_EDOCS SYSRES_CONST_FOLDER_KIND_JOBS SYSRES_CONST_FOLDER_KIND_TASKS "+n("0x3c77")+n("0x27b3")+"SYSRES_CONST_FOLDER_TYPE_FAVORITES "+n("0x2fc0")+n("0x1e6b")+"SYSRES_CONST_FOLDER_TYPE_QUICK_LAUNCH SYSRES_CONST_FOLDER_TYPE_SEARCH "+n("0x200a")+n("0x925")+n("0x48ab")+"SYSRES_CONST_FULL_SUBSTITUTE_TYPE "+n("0x1c74")+n("0x3c9f")+n("0x2e5f")+n("0x3ace")+n("0x11b7")+n("0x3ec3")+"SYSRES_CONST_GENERATED_REQUISITE SYSRES_CONST_GREEN_LIFE_CYCLE_STAGE_FONT_COLOR "+n("0x4c8b")+n("0x1281")+"SYSRES_CONST_GROUP_CATEGORY_NORMAL_NAME SYSRES_CONST_GROUP_CATEGORY_SERVICE_CODE "+n("0x3011")+n("0x1a06")+n("0x2e84")+n("0x44ad")+n("0x9b1")+n("0xa90")+n("0x15db")+n("0x29ae")+n("0x1450")+n("0x59a")+n("0x1bd3")+"SYSRES_CONST_HIDDEN_MODE_NAME SYSRES_CONST_HIGH_LVL_REQUISITE_CODE "+n("0x39d7")+n("0x2bc9")+n("0x3577")+"SYSRES_CONST_HOUR_CHAR "+n("0x425d")+n("0x23fd")+n("0x91a")+n("0x2e64")+n("0x255b")+n("0x1153")+"SYSRES_CONST_IMPORTANCE_LOW "+n("0x1ab4")+"SYSRES_CONST_IN_DESIGN_VERSION_STATE_PICK_VALUE "+n("0x1c7b")+n("0x3632")+n("0xb7a")+"SYSRES_CONST_INTEGER_NUMBER_FORMAT_CHAR "+n("0x2971")+n("0x432")+n("0x33c2")+"SYSRES_CONST_IS_REMOTE_USER_NEGATIVE_VALUE "+n("0x3b41")+n("0x20fd")+n("0x26e1")+n("0x275b")+"SYSRES_CONST_JOB_BLOCK_DESCRIPTION "+n("0x3755")+n("0xada")+n("0x1f6")+n("0x3095")+n("0x34fb")+n("0x1c2e")+n("0x454b")+n("0x68")+"SYSRES_CONST_KINDS_CREATE_SHADOW_COPIES_REQUISITE_CODE "+n("0x1877")+n("0x20c3")+n("0x4c24")+n("0x169a")+"SYSRES_CONST_KINDS_EDOC_SHARE_ACCES_RIGHTS_BY_DEFAULT_CODE "+n("0x1d")+n("0x5de")+n("0x4e46")+n("0x4ba0")+"SYSRES_CONST_LAST_UPDATE_DATE_REQUISITE_CODE "+n("0x6e1")+n("0x2b6a")+n("0x14c4")+n("0x3d55")+n("0x12bb")+n("0x5fe")+n("0x348e")+"SYSRES_CONST_LINK_OBJECT_KIND_REFERENCE "+n("0x476f")+"SYSRES_CONST_LINK_REF_TYPE_REQUISITE_CODE SYSRES_CONST_LIST_REFERENCE_MODE_NAME "+n("0x852")+n("0x4e8c")+n("0x3545")+"SYSRES_CONST_MASTER_COMP_TYPE_REQUISITE_CODE "+n("0x4cbd")+n("0x2c40")+n("0x2d2e")+n("0x33de")+n("0x4b60")+n("0x3498")+n("0x1a82")+n("0x3ae7")+n("0x1a9b")+n("0x4b9b")+n("0x40f1")+"SYSRES_CONST_MONTH_FORMAT_VALUE "+n("0x4885")+n("0x720")+"SYSRES_CONST_NAME_SINGULAR_REQUISITE_CODE "+n("0x3a40")+n("0x1790")+n("0xba6")+n("0x4688")+"SYSRES_CONST_NO_PICK_VALUE "+n("0x1f54")+"SYSRES_CONST_NO_VALUE "+n("0x2611")+"SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE "+n("0xec0")+n("0x106a")+n("0x3ab6")+n("0x3745")+n("0x38f5")+n("0xa12")+"SYSRES_CONST_NOTE_REQUISITE_CODE SYSRES_CONST_NOTICE_BLOCK_DESCRIPTION "+n("0x32e7")+"SYSRES_CONST_NUM_STR_REQUISITE_CODE "+n("0x8fa")+"SYSRES_CONST_NUMERATION_AUTO_STRONG "+n("0x24bb")+n("0x423b")+"SYSRES_CONST_NUMERIC_TYPE_CHAR SYSRES_CONST_NUMREQ_REQUISITE_CODE "+n("0x43e6")+n("0x2608")+n("0x1d33")+n("0x112d")+"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_MASCULINE "+n("0x3548")+n("0x4f18")+n("0x3a16")+n("0x152a")+n("0x4f64")+n("0x2832")+"SYSRES_CONST_OUTGOING_WORK_RULE_TYPE_CODE SYSRES_CONST_PICK_NEGATIVE_RESULT "+n("0x13d9")+"SYSRES_CONST_PICK_REQUISITE "+n("0x18ef")+"SYSRES_CONST_PICK_TYPE_CHAR SYSRES_CONST_PLAN_STATUS_REQUISITE_CODE SYSRES_CONST_PLATFORM_VERSION_COMMENT SYSRES_CONST_PLUGINS_SETTINGS_DESCRIPTION_REQUISITE_CODE "+n("0x75")+n("0x48b9")+n("0x1aaa")+n("0x7b3")+n("0x3390")+n("0x30ad")+n("0x1559")+n("0x420f")+n("0x44e2")+n("0x210d")+n("0x3758")+n("0x1a31")+"SYSRES_CONST_REFERENCE_RECORD_HISTORY_CREATE_ACTION_CODE "+n("0x1cd3")+n("0x1c1")+"SYSRES_CONST_REFERENCE_TYPE_CHAR "+n("0xbb7")+"SYSRES_CONST_REFERENCES_ADD_PARAMS_REQUISITE_CODE SYSRES_CONST_REFERENCES_DISPLAY_REQUISITE_REQUISITE_CODE SYSRES_CONST_REMOTE_SERVER_STATUS_WORKING "+n("0x3b0b")+n("0x7d")+n("0x6e3")+n("0x5a7")+"SYSRES_CONST_REPORT_BASE_REPORT_ID_REQUISITE_CODE "+n("0x39ea")+"SYSRES_CONST_REPORT_SCRIPT_REQUISITE_CODE "+n("0x72d")+"SYSRES_CONST_REPORT_VIEWER_CODE_REQUISITE_CODE "+n("0x427d")+n("0x910")+n("0x226f")+n("0x307a")+n("0x409f")+"SYSRES_CONST_REQ_MODE_HIDDEN_CODE "+n("0xa73")+n("0x4f23")+n("0x12b5")+"SYSRES_CONST_REQ_SECTION_VALUE "+n("0x1889")+n("0x4cc1")+n("0x593")+n("0x3e8e")+n("0xc37")+"SYSRES_CONST_REQUISITE_FORMAT_RIGHT SYSRES_CONST_REQUISITE_FORMAT_WITHOUT_UNIT "+n("0x3410")+n("0x5c2")+n("0x1e8e")+n("0x3432")+n("0x235c")+n("0x3536")+n("0xb52")+n("0xbb8")+n("0x1b46")+n("0x2903")+n("0x4e1a")+n("0x34d")+n("0x2105")+"SYSRES_CONST_REQUISITE_SECTION_TABLE17 "+n("0x4286")+n("0x2a2f")+n("0x128b")+n("0x2ed")+n("0x174b")+"SYSRES_CONST_REQUISITE_SECTION_TABLE22 "+n("0x16ff")+"SYSRES_CONST_REQUISITE_SECTION_TABLE24 "+n("0x7e9")+n("0x2604")+n("0x935")+n("0x39c0")+n("0x4448")+"SYSRES_CONST_REQUISITE_SECTION_TABLE8 "+n("0x2d6a")+"SYSRES_CONST_REQUISITES_PSEUDOREFERENCE_REQUISITE_NUMBER_REQUISITE_CODE SYSRES_CONST_RIGHT_ALIGNMENT_CODE "+n("0x3f3e")+"SYSRES_CONST_ROUTE_STEP_AFTER_RUS "+n("0x30f5")+n("0x4b1")+n("0x2a0a")+n("0x12c9")+n("0x2e95")+n("0x31b9")+n("0x3568")+n("0x4340")+n("0x3a2f")+"SYSRES_CONST_SEARCH_BY_TEXT_REQUISITE_CODE "+n("0x3e9d")+"SYSRES_CONST_SEARCHES_CRITERIA_ACTION_NAME "+n("0x2bd7")+n("0x30be")+n("0x1fa7")+n("0x2d31")+n("0x101")+n("0x3dd9")+n("0x1e1f")+n("0xbb5")+"SYSRES_CONST_SECTION_REQUISITE_CODE "+n("0x1502")+n("0x2abc")+n("0x4bb0")+n("0x3f1")+n("0x377c")+n("0x2861")+"SYSRES_CONST_SELECT_REFERENCE_MODE_NAME "+n("0x4c89")+n("0x1e57")+n("0x451b")+n("0x884")+n("0x25b8")+"SYSRES_CONST_SERVICE_USER_CATEGORY_FIELD_VALUE "+n("0x3c6e")+n("0xab2")+"SYSRES_CONST_SIGNATURE_CERTIFICATE_TYPE_CODE SYSRES_CONST_SINGULAR_TITLE_REQUISITE_CODE "+n("0x11e1")+n("0x389a")+n("0x453f")+n("0x44f6")+n("0x13e7")+n("0x40b5")+n("0x4282")+n("0x4873")+"SYSRES_CONST_STATE_REQUISITE_CODE "+n("0x1131")+n("0x2e49")+n("0x4e91")+n("0x328d")+n("0x1229")+n("0x192d")+n("0x3355")+n("0x90a")+n("0x4505")+"SYSRES_CONST_STATUS_VALUE_SUSPEND "+n("0x4734")+"SYSRES_CONST_STDROUTE_SHOW_TO_USERS_REQUISITE_CODE SYSRES_CONST_STORAGE_TYPE_FILE SYSRES_CONST_STORAGE_TYPE_SQL_SERVER "+n("0x2eee")+n("0x4bdf")+n("0x101f")+n("0x3c04")+n("0x41ee")+"SYSRES_CONST_STRING_REQUISITE_TYPE "+n("0x35c8")+n("0x14d5")+n("0x3fe1")+n("0x2c1a")+"SYSRES_CONST_SYSTEM_SETTING_EMPTY_VALUE_PARAM_VALUE "+n("0xfda")+n("0x3e6")+n("0x4295")+"SYSRES_CONST_TASK_ACCESS_TYPE_MANUAL SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION "+n("0xe8e")+n("0x30d8")+n("0x42ac")+"SYSRES_CONST_TASK_ROUTE_ALL_CONDITION "+n("0x62a")+n("0x3180")+n("0x45de")+n("0x3311")+"SYSRES_CONST_TASK_STATE_CONTINUED SYSRES_CONST_TASK_STATE_CONTROL SYSRES_CONST_TASK_STATE_INIT SYSRES_CONST_TASK_STATE_WORKING SYSRES_CONST_TASK_TITLE "+n("0x2ab")+n("0x2cef")+n("0x3b7e")+n("0x3ecc")+n("0x4846")+n("0x3b")+n("0x4b63")+"SYSRES_CONST_TEST_EDMS_MAIN_CODE "+n("0x2846")+"SYSRES_CONST_TEST_EDMS_SECOND_CODE SYSRES_CONST_TEST_EDMS_SECOND_DB_NAME "+n("0x1f4b")+n("0x3e79")+"SYSRES_CONST_TEXT_REQUISITE "+n("0x344b")+"SYSRES_CONST_TEXT_REQUISITE_TYPE "+n("0x164e")+n("0x16d3")+n("0x3925")+n("0x224d")+"SYSRES_CONST_UNITS_SECTION_ID_REQUISITE_CODE "+n("0x1b92")+"SYSRES_CONST_UNOPERATING_RECORD_FLAG_VALUE_CODE SYSRES_CONST_UNSTORED_DATA_REQUISITE_CODE "+n("0x481d")+n("0x3665")+n("0x918")+n("0x7e6")+n("0x3098")+n("0x428b")+"SYSRES_CONST_USER_CATEGORY_NORMAL "+n("0x3794")+"SYSRES_CONST_USER_CERTIFICATE_STATE_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_SUBJECT_NAME_REQUISITE_CODE "+n("0x2996")+n("0x40b")+n("0x236f")+n("0x31d7")+n("0x355")+n("0x1a6b")+n("0x765")+n("0x327e")+n("0x4efb")+n("0x4ea5")+n("0x2384")+n("0x2512")+n("0x44c")+"SYSRES_CONST_USER_STATUS_ADMINISTRATOR_NAME "+n("0x4cba")+"SYSRES_CONST_USER_STATUS_DEVELOPER_NAME "+n("0x212e")+n("0x44f1")+n("0x124")+"SYSRES_CONST_USER_STATUS_USER_CODE SYSRES_CONST_USER_STATUS_USER_NAME "+n("0x41bf")+n("0x1ce6")+n("0x878")+"SYSRES_CONST_USERS_CONTROLLER_REQUISITE_CODE "+n("0xa5b")+n("0x4bcb")+n("0x2c9b")+n("0x2e71")+n("0x20dd")+n("0x10dd")+"SYSRES_CONST_USERS_USER_AUTHENTICATION_REQUISITE_CODE "+n("0x14e9")+n("0x1be0")+n("0x1fcc")+n("0xca5")+n("0x225")+n("0x6d0")+n("0x960")+n("0x1da")+n("0x2615")+"SYSRES_CONST_WIZARD_REFERENCE_COMMENT_REQUISITE_CODE "+n("0x3612")+n("0x885")+"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE "+n("0x3bea")+n("0x24b5")+n("0xade")+n("0x1d37")+"SYSRES_CONST_WORKFLOW_ROUTE_TYPR_SOFT "+n("0x3728")+n("0x3b03")+"SYSRES_CONST_XRECID_FIELD_NAME "+n("0x7af")+"SYSRES_CONST_YES_NO_2_REQUISITE_CODE SYSRES_CONST_YES_NO_REQUISITE_CODE SYSRES_CONST_YES_NO_T_REF_TYPE_REQUISITE_CODE "+n("0x15f2")+n("0x2215")+n("0x1b41")+"ADMINISTRATORS_GROUP_NAME CUSTOMIZERS_GROUP_NAME DEVELOPERS_GROUP_NAME SERVICE_USERS_GROUP_NAME "+(n("0x350b")+n("0x348b"))+"ANY_FILE_EXTENTION COMPRESSED_DOCUMENT_EXTENSION EXTENDED_DOCUMENT_EXTENSION SHORT_COMPRESSED_DOCUMENT_EXTENSION SHORT_EXTENDED_DOCUMENT_EXTENSION "+n("0x20f1")+"JOB_BLOCK_AFTER_FINISH_EVENT "+n("0x316e")+n("0x2619")+"JOB_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY "+n("0x4441")+n("0x1385")+n("0x7bc")+n("0x28c0")+n("0x2e72")+n("0x25d1")+n("0x1c0")+n("0x4bce")+n("0x3d96")+n("0x17aa")+"JOB_BLOCK_NAME_PROPERTY "+n("0x18e3")+n("0x39c6")+n("0x3b0c")+n("0x5007")+n("0x364")+n("0x1e22")+n("0x3e48")+"COMPONENT_TOKEN_LINK_KIND "+n("0xdd1")+n("0x3782")+n("0x2aba")+n("0x3392")+n("0x3a93")+n("0x3a65")+n("0x39ae")+n("0x11b0")+"MONITOR_BLOCK_BEFORE_START_EVENT "+n("0x2426")+n("0x1a89")+n("0x52c")+n("0x1642")+"MONITOR_BLOCK_NAME_PROPERTY "+n("0x392c")+"MONITOR_BLOCK_SEARCH_SCRIPT_PROPERTY "+(n("0x3e06")+n("0x2764")+n("0x1918"))+"NOTICE_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY "+n("0x2d9d")+"NOTICE_BLOCK_CREATED_NOTICES_PROPERTY "+n("0x2955")+"NOTICE_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY "+n("0x4267")+"NOTICE_BLOCK_NOTICE_TEXT_PROPERTY "+n("0x3d75")+n("0x4889")+n("0x45b")+(n("0x10a4")+n("0x4f28")+n("0x1351"))+"dseAfterDeleteOutOfTransaction "+n("0x4ecc")+n("0x3c81")+n("0x48df")+n("0x124c")+"dseAfterUpdateOutOfTransaction "+n("0x1827")+n("0x40dc")+"dseBeforeDelete "+n("0x178c")+"dseBeforeInsert "+n("0x278a")+n("0x4903")+n("0x2923")+n("0x4e78")+"dseOnDeleteError dseOnOpenRecord "+n("0x48c6")+n("0x10bf")+n("0x2f6")+n("0x1761")+"dseOnValidUpdate reOnChange "+n("0x3d7a")+n("0x33e5")+n("0x6cb")+(n("0x243c")+n("0x4d0f")+n("0xca3"))+"ACCESS_RIGHTS_SETTING_DIALOG_CODE ADMINISTRATOR_USER_CODE "+n("0x3291")+n("0x1690")+n("0x1037")+n("0xb76")+n("0x371a")+"DCTS_TEST_PROTOCOLS_FOLDER_PATH "+n("0x4639")+n("0x1f5e")+n("0x3a80")+n("0x21d2")+"EDOC_TYPES_CODE_REQUISITE_FIELD_NAME "+n("0x1a2d")+n("0x90")+n("0x44c3")+n("0x305")+"FORMCARD_NAME "+n("0x274d")+n("0x2327")+n("0x1e03")+n("0x4baa")+n("0x4d23")+"IS_BUILDER_APPLICATION_ROLE2 IS_BUILDER_USERS "+n("0x4dd2")+n("0x494")+"mbCancel "+n("0xdc3")+n("0x25ee")+n("0x401d")+n("0x1535")+n("0x31e5")+n("0x4984")+n("0x2f3e")+"mrNoToAll "+n("0x4c79")+n("0x32cc")+n("0x36d8")+n("0x1314")+n("0x22dc")+n("0x4b43")+n("0x177")+n("0x1ae7")+n("0x23cd")+n("0x1b4")+n("0x4c56")+n("0x42e")+n("0x1db4")+"REQUIRED_PICK_VALUES_VARIABLE "+n("0x2d61")+n("0x233b")+n("0x32d8")+n("0x48f1")+"STATIC_ROLE_TYPE_CODE "+n("0x2d9")+n("0x2774")+n("0xd3a")+n("0x4ab7")+"USER_INITIATED_LOOKUP_ACTION "+n("0x1e99")+n("0x896")+"WORKFLOW_TEST_PROTOCOLS_FOLDER_PATH "+n("0x1ceb")+n("0x2ec0")+"REPEAT_PROCESS_CURRENT_OBJECT_EXCEPTION_NAME "+(n("0x530")+n("0x3460")+n("0x3199"))+"PRIVILEGE_DOCUMENT_DELETE PRIVILEGE_ESD "+n("0x155d")+n("0x3b2c")+n("0xfb6")+n("0x83b")+n("0x11e6")+n("0x3f44")+"PRIVILEGE_RESERVE_LICENSE PRIVILEGE_SYSTEM_CUSTOMIZE "+n("0x4b4")+"PRIVILEGE_SYSTEM_INSTALL "+n("0x1e8c")+n("0x3ca6")+n("0x2f87")+"ACCESS_TYPES_PSEUDOREFERENCE_CODE "+n("0x4e20")+n("0x3a7b")+n("0x4a29")+n("0x2566")+n("0x49cc")+n("0x1ca3")+n("0x3f51")+"RECEIVE_PROTOCOL_PSEUDOREFERENCE_CODE "+n("0x4579")+n("0x1263")+n("0x22a6")+n("0x3a70")+n("0x42f7")+"SUBSTITUTES_PSEUDOREFERENCE_CODE SYSTEM_SETTINGS_PSEUDOREFERENCE_CODE UNITS_PSEUDOREFERENCE_CODE USERS_PSEUDOREFERENCE_CODE "+n("0x1061")+"CERTIFICATE_TYPE_ENCRYPT "+n("0x2cc1")+n("0x2420")+"STORAGE_TYPE_FILE STORAGE_TYPE_NAS_CIFS "+n("0x30dc")+n("0x1cb5")+(n("0x2218")+n("0x4b22")+n("0x94b"))+"COMPTYPE2_REQUISITE_REFERENCES_VALUE "+(n("0x2177")+n("0x16d5")+n("0x2ba0")+n("0x820")+n("0x33c4"))+"SYSREQ_CONST_FIRM_CODE "+n("0x4647")+n("0x1468")+n("0x642")+"SYSREQ_CONTENTS "+n("0xc46")+n("0x29c2")+n("0x38c3")+n("0x3bca")+"SYSREQ_DOUBLE "+n("0x24e9")+n("0x3d93")+n("0x42d")+"SYSREQ_EDOC_DELEGATE_RIGHTS_REQUISITE_CODE "+n("0x988")+n("0x48db")+"SYSREQ_EDOC_ENCRYPTION_PLUGIN_NAME SYSREQ_EDOC_ENCRYPTION_PLUGIN_VERSION "+n("0x4bd8")+n("0x47f9")+n("0x4c34")+n("0x31f6")+n("0x1089")+"SYSREQ_EDOC_MODIFIED SYSREQ_EDOC_NAME SYSREQ_EDOC_NOTE "+n("0x3066")+"SYSREQ_EDOC_SESSION_KEY SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_NAME "+n("0x209c")+n("0x2af1")+n("0x4c86")+"SYSREQ_EDOC_STORAGE "+n("0x413a")+n("0x40f7")+n("0x3fff")+"SYSREQ_EDOC_STORAGES_EDIT_IN_STORAGE "+n("0x13b3")+n("0x2b59")+"SYSREQ_EDOC_STORAGES_INITIALIZED SYSREQ_EDOC_STORAGES_LOCAL_PATH "+n("0x1e28")+n("0x904")+n("0x3cd7")+n("0x2760")+n("0x3db8")+"SYSREQ_EDOC_TEXT_MODIFIED "+n("0x36ae")+n("0x4231")+n("0x256f")+n("0x4384")+n("0x740")+n("0x147d")+n("0x176d")+"SYSREQ_EDOC_TYPE_COMMENT "+n("0x40db")+"SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID "+n("0x1984")+n("0x1762")+n("0x1dab")+n("0x3e14")+"SYSREQ_EDOC_TYPE_REQ_DESCRIPTION "+n("0x3394")+n("0x3338")+n("0x41c")+n("0x3b04")+n("0x3fbf")+n("0x41e2")+n("0x3bc7")+n("0x4f1b")+"SYSREQ_EDOC_TYPE_REQ_SECTION "+n("0x1c62")+n("0x357d")+n("0x23fe")+n("0x121b")+n("0x51d")+n("0x1edf")+n("0x3d92")+"SYSREQ_EDOC_VERSION_CRC "+n("0xec")+"SYSREQ_EDOC_VERSION_EDITOR "+n("0x4a45")+"SYSREQ_EDOC_VERSION_EXPORTER "+n("0x30c0")+"SYSREQ_EDOC_VERSION_LIFE_STAGE "+n("0x4db5")+n("0x19e4")+n("0x67e")+n("0x4c42")+n("0x2dc1")+"SYSREQ_EDOC_VERSION_SOURCE SYSREQ_EDOC_VERSION_TEXT_MODIFIED "+n("0x3050")+n("0x49b8")+n("0x56d")+n("0x1f39")+n("0xb66")+n("0x6d1")+n("0x9d4")+n("0x3bfa")+n("0x3a0c")+"SYSREQ_FUNC_PARAM_IDENT "+n("0x2212")+n("0x2574")+"SYSREQ_FUNC_TEXT SYSREQ_GROUP_CATEGORY "+n("0x3503")+n("0x124a")+n("0x4f61")+n("0x1acb")+"SYSREQ_MAIN_RECORD_ID "+n("0xe6")+n("0x31e6")+n("0x48a9")+n("0x3f3c")+n("0x1dda")+n("0x658")+n("0x47be")+"SYSREQ_PROFILING_SETTINGS_PROFILING_ENABLED "+n("0x875")+"SYSREQ_PROFILING_SETTINGS_START_LOGGED "+n("0x4a8a")+"SYSREQ_REF_REQ_FIELD_NAME "+n("0x1033")+"SYSREQ_REF_REQ_GENERATED "+n("0x12f8")+"SYSREQ_REF_REQ_PRECISION SYSREQ_REF_REQ_REFERENCE "+n("0x2c92")+"SYSREQ_REF_REQ_STORED SYSREQ_REF_REQ_TOKENS "+n("0xb26")+n("0x1f77")+"SYSREQ_REF_TYPE_ACT_CODE "+n("0x40fd")+n("0x4332")+n("0x3d2a")+"SYSREQ_REF_TYPE_ACT_ON_EXECUTE_EXISTS "+n("0x72e")+n("0x1b4b")+n("0x4226")+"SYSREQ_REF_TYPE_COMMON_SETTINGS "+n("0x30e0")+n("0x412d")+n("0x2a02")+n("0x25bb")+n("0x3d6")+n("0x3a95")+"SYSREQ_REF_TYPE_NUMERATION_METHOD "+n("0x1527")+n("0x479f")+n("0x3c8")+n("0xa0b")+n("0x4dfc")+"SYSREQ_REF_TYPE_REQ_IS_LEADING "+n("0x8bf")+n("0x2af8")+n("0x113c")+"SYSREQ_REF_TYPE_REQ_ON_CHANGE_EXISTS "+n("0x522")+"SYSREQ_REF_TYPE_REQ_ON_SELECT_KIND "+n("0x2b9")+"SYSREQ_REF_TYPE_VIEW_CARD "+n("0x3284")+n("0x3d91")+n("0x4489")+n("0x3380")+n("0x36cb")+"SYSREQ_REFERENCE_TYPE_ID "+n("0x3dd6")+n("0x2386")+n("0x3ac3")+n("0x70")+n("0x2919")+n("0x4a64")+n("0x2787")+n("0x40e7")+n("0x1e67")+n("0x4dfd")+n("0x3645")+n("0x488d")+n("0x17d0")+n("0x483a")+n("0x3808")+n("0x35ba")+n("0x4129")+n("0x4be6")+n("0x44cb")+"SYSREQ_USERS_REFERENCE_USER_IS_PUBLIC SYSREQ_USERS_STATUS "+n("0x3f38")+n("0x3ada")+"SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_NAME SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_VERSION "+n("0x3d9a")+n("0x2fa9")+"SYSREQ_USERS_USER_CERTIFICATE_THUMBPRINT "+n("0x19bb")+"SYSREQ_USERS_USER_DESCRIPTION "+n("0x3278")+n("0x34bc")+n("0x477e")+n("0x1072")+n("0xc01")+n("0x5cd")+(n("0x3509")+n("0x1020")+n("0x3d0a"))+"CHECK_CHANGING_REFERENCE_RECORD_USE_RULE_ID "+n("0x334b")+n("0xac2")+n("0x2570")+n("0x2908")+n("0xda1")+n("0x5003")+"CHECK_REQUIRED_REQUISITES_FULLNESS_RULE_ID "+n("0x12a6")+n("0x2f8c")+n("0x269")+n("0x416b")+n("0x2bcc")+n("0x40df")+n("0x29c1")+n("0x321f")+"SCRIPT_BLOCK_AFTER_FINISH_EVENT SCRIPT_BLOCK_BEFORE_START_EVENT SCRIPT_BLOCK_EXECUTION_RESULTS_PROPERTY "+n("0x2904")+n("0x33f4")+"SUBTASK_BLOCK_ABORT_DEADLINE_PROPERTY SUBTASK_BLOCK_AFTER_FINISH_EVENT "+n("0x2ed4")+n("0x1f16")+n("0x4e9e")+n("0x3532")+n("0x2ce4")+"SUBTASK_BLOCK_CREATED_TASK_PROPERTY "+n("0x3215")+"SUBTASK_BLOCK_DEADLINE_PROPERTY "+n("0x4922")+"SUBTASK_BLOCK_INITIATOR_PROPERTY "+n("0x18e5")+"SUBTASK_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY SUBTASK_BLOCK_JOBS_TYPE_PROPERTY SUBTASK_BLOCK_NAME_PROPERTY SUBTASK_BLOCK_PARALLEL_ROUTE_PROPERTY "+n("0x450c")+n("0x4467")+n("0xf68")+"SUBTASK_BLOCK_REQUIRE_SIGN_PROPERTY "+n("0x27dd")+n("0x30")+"SUBTASK_BLOCK_STEP_CONTROL_PROPERTY "+n("0x188c")+"SUBTASK_BLOCK_TASK_CONTROL_PROPERTY "+n("0xf38")+n("0x283e")+n("0x4768")+n("0x26f2")+(n("0x1c86")+n("0x4457"))+"SYSCOMP_JOBS "+n("0xe3a")+n("0x202d")+(n("0x462e")+n("0x48fe"))+"SYSDLG_CURRENT_PERIOD "+n("0x3ab9")+n("0x153b")+"SYSDLG_EXPORT_MULTIPLE_EDOCUMENTS SYSDLG_EXPORT_SINGLE_EDOCUMENT "+n("0x8ca")+n("0x2666")+n("0x2232")+n("0x3834")+n("0x27d")+n("0x24af")+n("0xdd5")+n("0x3b80")+n("0x4b50")+n("0x349d")+n("0x601")+(n("0x2bc")+n("0x344f")+n("0x4260"))+"SYSREF_ALL_AVAILABLE_PRIVILEGES "+n("0x4beb")+n("0x2aa3")+n("0x1eef")+n("0x1607")+n("0x21cf")+n("0x3f17")+n("0x640")+"SYSREF_DATA_RECEIVE_PROTOCOL SYSREF_DATA_SEND_PROTOCOL "+n("0x37b0")+n("0x3d5a")+"SYSREF_EDITORS SYSREF_EDOC_CARDS "+n("0x1884")+n("0x2292")+n("0x2d74")+"SYSREF_EDOCUMENT_CARD_TYPES_REFERENCE "+n("0x36e")+n("0xeb3")+n("0x3fb")+n("0x4478")+"SYSREF_EDOCUMENT_SIGNATURES SYSREF_EDOCUMENT_TEMPLATES SYSREF_EDOCUMENT_TEXT_STORAGES "+n("0x4eef")+"SYSREF_FILTERER_SETUP_CONFLICTS "+n("0x338e")+n("0x4b20")+n("0x37ce")+n("0x2af3")+"SYSREF_FUNCTION_PARAMS "+n("0x37ba")+"SYSREF_JOB_HISTORY "+n("0x2fd3")+n("0x31fa")+"SYSREF_LOCALIZATION_LANGUAGES "+n("0x1d3e")+n("0x3288")+"SYSREF_RECORD_HISTORY "+n("0x644")+n("0xc65")+"SYSREF_REFERENCE_TYPES "+n("0x463b")+n("0x1ebb")+n("0xfdb")+n("0x4e36")+n("0x4d83")+n("0x284e")+n("0x127b")+"SYSREF_ROUTE_BLOCK_GROUPS "+n("0x1c77")+n("0x13e8")+"SYSREF_SEARCHES SYSREF_SERVER_EVENTS SYSREF_SERVER_EVENTS_HISTORY "+n("0xf0a")+n("0x40ca")+n("0x1ddc")+n("0x37e8")+n("0x4c3f")+n("0xafd")+n("0x2dca")+n("0x4419")+"SYSREF_TASK_SIGNATURES SYSREF_TASKS SYSREF_UNITS "+n("0x5dd")+n("0x1058")+n("0x1a50")+n("0x1a32")+n("0x2228")+n("0x13f")+n("0x1d52")+n("0x2278")+"EDMS_ACCESS_TABLE_NAME "+n("0x4008")+n("0x39c5")+"TEST_DEV_SYSTEM_CODE TEST_EDMS_DB_NAME "+n("0x23e5")+n("0x2aa")+"TEST_EDMS_SECOND_CODE "+n("0x4cb7")+n("0x4853")+"TEST_ISB5_MAIN_CODE "+n("0x1673")+n("0x3266")+n("0x1206")+n("0x1969")+"cbsCommandLinks "+n("0x2101")+n("0x10c6")+n("0x38da")+n("0x106c")+n("0x8f8")+"mrOk "+(n("0x25f9")+n("0x2944")+n("0x2a85"))+(n("0x42c4")+n("0x3b8c")+n("0x37ff"))+"cpIssuer "+n("0x1776")+"cpSerial cpSubjectName "+n("0x1d38")+n("0x1b88")+n("0x4b11")+(n("0x43e9")+n("0x3c53")+n("0xe8b"))+(n("0x16a9")+n("0x1df2")+n("0x49a")+n("0x2acb")+n("0x179e")+n("0x40e5"))+(n("0x1ded")+n("0x1518"))+"SYSRES_MBFUNC "+n("0x1cf3")+"SYSRES_SBGUI "+n("0x2ae4")+n("0x19d7")+n("0x1d5d")+"SYSRES_SYSCOMP ",x=n("0x228c")+(n("0x462b")+n("0xad7")+n("0x192")+"aemEnabledOnEdit ")+n("0xe6c")+n("0xf3a")+n("0x21a6")+(n("0x2f35")+n("0xee2")+n("0x291c")+n("0x170c")+n("0x23fc"))+"cirCommon cirRevoked "+n("0x3ef9")+n("0x9c7")+n("0x28a1")+"ctDocument "+n("0x120")+n("0xf64")+n("0x257d")+"ctReport "+n("0x4ed3")+n("0xa05")+n("0x26a")+n("0x69d")+n("0x46df")+n("0x3e78")+n("0x482b")+n("0x36ca")+n("0x841")+"ciUnspecified ciWrite ciRead "+(n("0x129b")+n("0x121a")+n("0x1235")+n("0x1999")+n("0x4279")+n("0x328c"))+"ckReference "+n("0x1c")+"ckReport "+n("0x22c")+n("0x36ee")+"ctBevel "+n("0xb45")+n("0xbc8")+n("0x32b1")+n("0x25c6")+n("0x2ace")+"ctDBCheckBox ctDBComboBox "+n("0x193b")+n("0x544")+n("0x48a0")+n("0x26bf")+n("0x4293")+n("0x21f0")+n("0x22be")+n("0x409a")+n("0x135e")+"ctMemo "+n("0x1d5")+n("0x4f88")+"ctRadioButton "+n("0x4756")+n("0x3d54")+n("0x1919")+n("0xc3a")+n("0x1e5c")+n("0x4ab0")+n("0x17d6")+"ctRibbon "+n("0x1212")+n("0x7de")+n("0x3783")+n("0x1ac4")+(n("0x1669")+n("0x26aa")+n("0xef3"))+"cctPick cctReference "+n("0x1722")+n("0x410e")+"cltInternal cltPrimary cltGUI "+(n("0x278a")+n("0x3c81"))+"dseBeforeClose "+n("0x4f28")+n("0x1761")+n("0x4093")+n("0x1351")+n("0xed6")+n("0x395e")+n("0xfc6")+"dseAfterInsert "+n("0x2f05")+n("0x4903")+n("0x2f6")+n("0x124c")+n("0x3f3a")+n("0x10bf")+"dseAfterScroll "+n("0x4f20")+n("0x4e78")+"dseBeforeCancel "+n("0x10a4")+"dseOnUpdateDeadlockError "+n("0x178c")+n("0x48c6")+"dseOnAnyRequisiteChange "+n("0x22c3")+n("0x4319")+n("0x3f7d")+n("0x900")+n("0x376b")+n("0x2977")+(n("0x2eb8")+n("0x2f81")+n("0x381f")+n("0x45f9")+n("0x2a2e")+n("0x3191")+n("0x149f")+n("0x2f62")+n("0x1ea")+n("0x102c"))+"emImport "+n("0x2572")+n("0x330a")+n("0x263c")+"emReInit "+n("0x41")+n("0x19a")+n("0x825")+n("0x1b8e")+"emResume "+n("0x36bd")+n("0x1c48")+"emEditObserver "+n("0x500b")+n("0x23ea")+n("0x355e")+n("0xc51")+n("0x1707")+n("0x4d81")+n("0x12fb")+"emGetText emOpenForView emMoveToStorage "+n("0x47dc")+n("0xbe0")+"emDeleteVersion "+n("0x525")+"emApprovingSign "+n("0x130e")+n("0xc2e")+n("0x5019")+"emUnLockForEdit "+n("0x4bc2")+n("0x31ad")+"emDelegateAccessRights "+n("0x628")+n("0x40b4")+n("0xcbf")+"edltAll edltNothing edltQuery "+n("0x404")+n("0x31cc")+n("0x2a07")+n("0x3a2a")+n("0x36b6")+n("0x41a2")+n("0x21e8")+n("0x3789")+"estAll estApprovingOnly evtLast evtLastActive evtQuery "+(n("0x4140")+n("0x9af"))+"fdtInteger "+n("0x4348")+"fdtText "+n("0x3c7a")+"fdtWideString "+n("0x208e")+"ftInbox ftOutbox "+n("0x23af")+n("0x120e")+n("0x47cf")+n("0x2004")+"ftQuickLaunch ftShortcuts "+n("0x245f")+n("0x16ab")+"grhX1 "+n("0x1dd7")+n("0x4e07")+(n("0x49f4")+n("0x222b"))+"hltHTML iffBMP "+n("0x19c")+n("0x4583")+n("0x2259")+"iffTIFF "+n("0x3cce")+(n("0x414c")+n("0x2f55")+n("0x392a"))+"itBMP itJPEG "+n("0x3ddd")+n("0x3bb7")+"ikhInformation "+n("0x3704")+n("0xa21")+"ikhNoIcon "+(n("0x12d8")+n("0xd47")+n("0x464")+n("0x3a56"))+"icAnalyticReport "+n("0x2628")+n("0x2109")+n("0x3ec4")+n("0xfc")+n("0x44a")+n("0x32d7")+n("0x21b7")+n("0x34dd")+n("0x8e7")+n("0x114")+"icChangeSearchResultEventHandler icBlockEventHandler "+n("0x15e5")+n("0x1b81")+"icEDocLookUpEventHandler "+n("0x795")+"icEDocFormEventHandler "+n("0x2753")+n("0x4f0f")+n("0xf4d")+n("0x4dcc")+"icWizardEventHandler "+n("0x35a9")+n("0x3e92")+n("0x259a")+n("0x4fa")+n("0x4d27")+"icCreateJobsHandler "+n("0x367c")+n("0x4bf5")+"icAfterLookUpEventHandler icTaskAbortEventHandler "+n("0x28ba")+n("0x1378")+n("0x3f3b")+n("0x12f0")+n("0x151f")+n("0x8b")+"icDialogValidCloseEventHandler icBlockFormEventHandler "+n("0x1981")+"icReferenceMethod "+n("0x2a3d")+"icDialogMethod "+n("0x2f57")+"isShow "+n("0xd5f")+n("0x292c")+n("0xb3")+"jkNotice "+n("0x44a1")+(n("0x14a1")+n("0x32c5")+n("0x255f")+n("0x9e7"))+"jtCross "+(n("0x4fc0")+n("0x3f97")+n("0x4f91")+n("0x4eb1"))+(n("0x4754")+n("0x400c"))+"sfcUndefined "+n("0x2e92")+n("0x1dfd")+"sfcRed "+n("0x974")+n("0x443d")+n("0x4166")+(n("0x4018")+n("0x1a71")+n("0x24d6"))+(n("0x374a")+n("0x2789")+n("0x1b54")+n("0x4d24"))+"ldctRouteBlock "+n("0x244")+n("0x33ef")+n("0x2472")+"ldctEDocumentType "+n("0x3d6e")+"ldctServerEvents mrcrtNone "+n("0x19a3")+n("0x263d")+"mrcrtCustom "+(n("0x1a1e")+n("0x1396"))+"vtLessOrEqual "+n("0x478c")+(n("0x4569")+n("0x3a0d")+n("0x526")+n("0x3697")+n("0x865")+n("0x2e6"))+"rdNextMonth "+n("0x334f")+n("0x1ac1")+"rdLastMonth "+n("0x4bfe")+"rdFile "+n("0x3ff0")+n("0x2042")+"rdtNumeric "+n("0x40c0")+"rdtDate rdtReference rdtAccount "+n("0x1721")+n("0xf2f")+n("0x265")+n("0x21c6")+n("0x4974")+(n("0x1ac3")+n("0x3d7a"))+(n("0x22f0")+n("0x3b24")+n("0x2bb1")+n("0x3f5f"))+(n("0x140a")+n("0x2a0")+n("0x22aa"))+"ssmBrowseModal "+(n("0x1389")+n("0x11e7")+n("0x29f7"))+(n("0x49c5")+n("0x18f7")+n("0x19a2"))+"sctString "+n("0xc66")+(n("0x139c")+n("0x3f6d"))+(n("0xc27")+n("0x38a3"))+"soatString "+n("0x105c")+n("0xdbd")+n("0x3c4e")+n("0xccc")+n("0x554")+"soatPick "+n("0x324f")+"soatEDocument "+n("0x3a4f")+n("0x3ffa")+"soatNumericCollection "+n("0x1119")+n("0x1a88")+n("0x4b56")+"soatBooleanCollection "+n("0x467b")+n("0x636")+n("0x2ee3")+n("0xf27")+n("0x3b0a")+(n("0x969")+n("0xa58"))+(n("0x18cb")+n("0x2f9c"))+"tvtAnyWord usNone usCompleted usRedSquare "+n("0x3490")+"usYellowSquare usGreenSquare "+n("0x4800")+n("0x43ec")+n("0x20c5")+n("0x2a73")+"utUser "+n("0x26ad")+n("0x32c1")+n("0x2a6")+"utDisconnected "+(n("0xe7e")+n("0x3a7a"))+"btOr "+n("0xeac")+n("0x2938")+(n("0x46e4")+n("0x2fa0")+n("0x1d77"))+(n("0x320f")+n("0x34ac")+n("0x302c")+n("0xdca"))+n("0x248b")+"wfatNext wfatCancel "+n("0x3964")+(n("0x2620")+n("0x27fc")+n("0x2b09")+n("0x49b7")+n("0xdac")+n("0x4c40")+n("0x32ab")+n("0x455b"))+"wfepText12 "+n("0x393a")+n("0x2d0d")+n("0x4cdb")+n("0x4746")+n("0x1064")+n("0x3a64")+n("0x21e5")+n("0xee1")+n("0x1dba")+"wfetQueryParameter "+n("0x24c")+n("0x335f")+"wfetLabel "+(n("0x2029")+n("0x1b38")+n("0x252"))+"wptBoolean "+n("0x1a52")+n("0x24")+n("0x2daf")+n("0x730")+n("0x332e")+n("0x3678")+n("0x2af6")+"wptReferenceRecordInfo wptReferenceRecordInfoList "+n("0x3c6d")+"wptTaskInfo "+n("0x3d44")+"wptFileName wptDate "+(n("0x4049")+n("0x36cc")+n("0x2143"))+"wsrCustom "+n("0x1edb")+n("0x375")+(n("0x1e5d")+n("0x456d"))+"wstTaskCard "+n("0x4d99")+"wstFinal "+n("0x1dc4")+"waPerformers "+n("0x4f7e")+(n("0x23e0")+n("0x3ce7")+n("0x27d6")+n("0x41ba")+n("0x437b")+n("0x3f2b")+n("0x3b61")+n("0x17e5")+n("0x3921")+n("0x291d")+n("0x370b")+n("0x3690"))+"wdtInteger "+n("0x2729")+n("0x248e")+n("0x1546")+n("0x2656")+n("0x3501")+"wdtTask wdtJob "+n("0x28e7")+"wdtEDocument wdtReferenceRecord "+n("0x2d6b")+"wdtGroup wdtRole "+n("0xe01")+n("0x2b16")+n("0x958")+"wdtPickCollection "+n("0xb33")+"wdtBooleanCollection "+n("0x4f71")+"wdtJobCollection wdtFolderCollection "+n("0x2c41")+n("0x17b")+"wdtUserCollection "+n("0x2f1")+n("0x3261")+n("0x2b5f")+"wdtUserList "+n("0x3eba")+n("0x304b")+n("0x3980")+"wdtAccountCollection "+(n("0x2eb1")+n("0x46d3")+n("0x4611"))+"wrtSoft "+n("0xb3c")+(n("0xf40")+n("0x3080")+n("0x32d5")+n("0x793"))+"wsAborted "+n("0xf41")+"wtmFull "+n("0x2657")+"wtmOnlyCurrent ",s=n("0x4759")+n("0x2087")+"AmountInWords "+n("0x4fae")+n("0x3339")+n("0x4e63")+"ArrayLowBound "+n("0xc69")+n("0x2012")+n("0x1d87")+n("0xd5a")+"BeginOfMonth "+n("0x3947")+"BuildProfilingOperationAnalysis CallProcedure "+n("0x4782")+n("0x339d")+n("0xd62")+n("0x4180")+n("0x106f")+n("0xb3a")+n("0x39a4")+"CheckParam "+n("0x38e8")+n("0x1e61")+n("0x1cde")+"ControlState "+n("0x1484")+"Copy CopyFile "+n("0x3a69")+n("0x144f")+n("0x609")+"CreateDialog "+n("0x13a")+n("0x488")+n("0xf7")+"CreateFile "+n("0x4aaa")+"CreateInputDialog CreateLinkFile "+n("0xc9d")+n("0x496d")+n("0x51a")+n("0x44e7")+"CreateOpenDialog "+n("0x3d24")+n("0x1651")+n("0x4e5f")+n("0xfbf")+n("0x7a0")+n("0x625")+n("0x1c4c")+n("0x3030")+n("0x29f1")+n("0x2e3a")+n("0x11c5")+n("0x354e")+n("0x4680")+n("0x44")+n("0x306a")+n("0x3859")+n("0x76c")+n("0xcf4")+n("0x3f79")+"DayOfWeek "+n("0x3e6f")+n("0x2868")+"DisableCheckAccessRights "+n("0x20d0")+"DisableMassTaskSendingRestrictions "+n("0x4380")+n("0x3c30")+"EditText "+n("0x4126")+n("0x42cf")+"EnableMassTaskSendingRestrictions EndOfMonth "+n("0x444d")+"ExceptionExists "+n("0x2d45")+n("0x3c48")+"Execute "+n("0x2fe5")+n("0x22e0")+n("0x45b3")+"ExtractFileDrive "+n("0x244c")+n("0x14cb")+"ExtractFilePath "+n("0x166a")+"FileExists "+n("0xd08")+n("0x3744")+n("0x718")+n("0x9fb")+n("0x1334")+n("0x4af1")+n("0x32e9")+n("0x2702")+"FormatSQLDate "+n("0x11d3")+"FreeException "+n("0x48cd")+n("0x4d1b")+n("0x49c9")+n("0x2699")+n("0x7dd")+n("0x20bd")+n("0x3005")+n("0x2a66")+n("0x776")+n("0x4255")+n("0x18b8")+n("0x2b4f")+"InputDialogEx "+n("0x459f")+n("0x3935")+n("0x194b")+n("0x1744")+"Length "+n("0x4cad")+n("0x57")+"LocalTimeToUTC "+n("0x1570")+n("0x2507")+n("0x3663")+n("0x190a")+n("0x1947")+n("0x3662")+n("0x2a4d")+n("0x4992")+n("0x5e7")+"MoneyInWords "+n("0x9ac")+"NewID "+n("0x4ae2")+n("0x33b6")+n("0x2e9d")+n("0x4186")+"Raise "+n("0x12f")+n("0x1292")+n("0x179a")+n("0x1a5f")+n("0x3608")+n("0x39fe")+n("0x314c")+"RegionNumberSettings "+n("0x2d8e")+n("0x4222")+"RegWrite RenameFile "+n("0x3b0")+n("0x49d4")+n("0x3a89")+n("0x1d4a")+"ServerDateTime "+n("0xc83")+n("0x2e6b")+n("0x78")+n("0x1245")+n("0xb80")+n("0x4cfd")+n("0x6d6")+n("0x485d")+n("0x411d")+"StrToDate SubString "+n("0x3720")+"SystemSetting "+n("0x4c5e")+"TimeDiff "+n("0x25a9")+n("0x2c8")+n("0x2ad6")+n("0x29c5")+n("0x3ee7")+n("0x35f9")+n("0x4c93")+n("0x16ea")+"VarIsEmpty "+n("0x1eb3")+n("0x365c")+n("0x2e7d")+n("0x365e")+n("0x422a")+"Анализ БазаДанных "+n("0x3365")+"БлокЕстьРасш БлокИнфо "+n("0x3bcb")+"БлокСнятьРасш "+n("0x41fb")+n("0x465a")+n("0x65f")+n("0xde8")+n("0x1e41")+"ВерхняяГраницаМассива "+n("0x438f")+"Восст ВременнаяПапка "+n("0x2932")+n("0xfaf")+n("0x4bef")+n("0x16f5")+n("0x4815")+n("0x2d56")+"ВыпПрогр ГрафическийФайл "+n("0x4750")+n("0x2522")+"ДеньНедели "+n("0x3b00")+n("0x2d54")+"ДобПодстр "+n("0x49a0")+"ЕслиТо ЕЧисло "+n("0x227f")+"ЗаписьСправочника ЗначПоляСпр "+n("0x4b8b")+"ИзвлечьДиск "+n("0x31b2")+n("0x79c")+n("0x1780")+n("0x22cc")+n("0xc0a")+"ИзмеренийМассива "+n("0x1ea1")+"ИмяПоляСпр "+n("0x3ba6")+n("0x28c7")+n("0x1821")+"ИндикаторШаг "+n("0x1866")+n("0x1c1b")+"КодВидВедСпр "+n("0x2a51")+n("0x3ff6")+n("0xdf6")+n("0x47e1")+n("0x2c00")+n("0x12ea")+n("0x385c")+n("0x4d07")+n("0x7c0")+n("0x2cf0")+n("0x3bce")+"КопироватьФайл КопияСтр "+n("0x71c")+n("0x4aae")+n("0x4cd8")+n("0x26c2")+n("0x19f8")+"Меню МенюРасш "+n("0x1708")+n("0x1b49")+n("0x3b7a")+n("0xda8")+n("0x399e")+"НастроитьПереводыСтрок НачМес "+n("0x2bf0")+"НижняяГраницаМассива "+n("0x9c3")+n("0x1b69")+n("0x3a6b")+n("0x1fb")+n("0x1b98")+"ОтлИнфДобавить "+n("0x12e4")+n("0x2565")+n("0x3f40")+"ОтчетИнт "+n("0x398f")+"Пауза ПВыборSQL ПереименоватьФайл "+n("0x3709")+n("0x1182")+n("0x4d2d")+n("0x5ea")+n("0x3ed9")+n("0x3244")+n("0x300c")+n("0x2c10")+n("0x1a2c")+n("0x2b97")+"Прервать "+n("0x1625")+n("0x466c")+"ПроверитьУсловие "+n("0x1447")+n("0xc18")+n("0x224e")+n("0x2e7a")+n("0x2864")+n("0x22a4")+n("0x8d1")+n("0x1dc7")+n("0x43e2")+"РеестрЗапись РеестрСписокИменПарам РеестрЧтение "+n("0x2acd")+n("0x241b")+"Сегодня "+n("0x5b8")+n("0x2225")+n("0x4a24")+"СертификатФайлСчитать "+n("0x4160")+n("0xd9b")+n("0x3a3a")+"СистемаИнформация "+n("0x34d6")+n("0x1f15")+n("0x2026")+n("0x30d6")+n("0xe97")+n("0x14fd")+n("0x356d")+n("0x783")+n("0x6b7")+n("0x44f5")+n("0xe0a")+n("0x4ddb")+n("0x2e1b")+n("0x2037")+"СоздатьНаборДанных СоздатьОбъект "+n("0x1201")+n("0x3ec")+"СоздатьРедактор СоздатьСоединение "+n("0x12ce")+"СоздатьСписокСтрок "+n("0x297a")+n("0x1354")+n("0x1c64")+"СостСпр Сохр СохрСпр СписокСистем "+n("0x1aa1")+n("0x2614")+"СпрБлокЕсть "+n("0x3b64")+"СпрБлокСнятьРасш "+n("0xd33")+n("0x131b")+n("0x46c4")+"СпрНомер СпрОбновить "+n("0x1c92")+n("0x120f")+"СпрПарам "+n("0x2044")+n("0x2c72")+n("0x1870")+"СпрРеквВведЗн СпрРеквНовые СпрРеквПр "+n("0x317e")+n("0x2527")+n("0x4cf8")+n("0x352a")+n("0x4ccb")+n("0x48e2")+n("0xfe3")+n("0x520")+n("0x4d39")+n("0x27a6")+n("0x4ebc")+n("0x31ff")+"СпрТблСтрСлед "+n("0x278f")+n("0x1a35")+n("0x4362")+n("0xc87")+n("0x9a1")+n("0x2cbf")+n("0x2f20")+n("0x2b2")+n("0x2a5e")+n("0x23c3")+n("0x243d")+n("0x31b7")+"ТекОрг "+n("0x2639")+n("0x4de7")+"Транслитерация "+n("0xbc9")+n("0xc07")+"УдСпр "+n("0x37d7")+n("0x3b40")+"УстановкиКонстант "+n("0x1878")+n("0x4ab")+n("0x3d89")+n("0x1ad8")+n("0x2a8d")+n("0x4779")+n("0x1065")+n("0x36f5")+n("0x34d5")+"ФайлМожноЧитать "+n("0x31a")+n("0x4752")+n("0x3a9f")+n("0x1879")+"ФайлПросмотреть "+n("0x4801")+n("0x179b")+n("0x4630")+"ФайлСуществует "+n("0x2048")+n("0x453a")+n("0x3d86")+n("0x2a50")+n("0x422f")+n("0xf8c")+n("0x23f0")+n("0x1648")+n("0x4eb6")+n("0x4bbb"),c=n("0x28ad")+n("0x1ad2")+n("0x4a0d")+"ComponentTokens CreatedJobs "+n("0x470b")+"ControlState "+n("0x1203")+"Dialogs "+n("0x18aa")+n("0x2370")+"Folders "+n("0x165")+n("0x103")+n("0x334a")+n("0x39b5")+n("0x3a21")+"LookUpRequisiteNames "+n("0x6a7")+n("0x29d3")+n("0x46a3")+n("0x4344")+"References "+n("0x3559")+n("0x12a9")+n("0x326d")+n("0x43fc")+n("0x469c")+n("0x39eb")+"SelectedAttachments "+n("0x1b00")+"SelectMode "+n("0x5ce")+n("0x4f39")+"ServiceFactory "+n("0x4e08")+"SubTask "+n("0x3e0")+"Tasks "+n("0x2202")+n("0x3648")+n("0x17b7")+"ВызовСпособ ИмяОтчета РеквЗнач ",l=n("0xd8c")+n("0x250a")+n("0x446a")+"IAccountSelectionRestrictions "+n("0x1c98")+n("0x16d2")+n("0xa1d")+n("0x3b76")+n("0xd8c")+n("0x4877")+n("0x236d")+n("0x3a91")+"ICheckListBox "+n("0x2c76")+n("0x319f")+n("0xf1c")+"IComponentDescription "+n("0x4155")+n("0x2be1")+n("0xc28")+n("0x45da")+n("0x2cf9")+n("0x2c93")+n("0x2171")+n("0xa79")+"IControlJobInfo "+n("0x1299")+n("0x3b54")+n("0x180a")+n("0x4a25")+"ICustomJobInfo "+n("0x1f73")+n("0x461")+n("0x48d1")+n("0x1d89")+"IDataSet "+n("0xd25")+n("0xe72")+"IDateCriterion "+n("0x1d78")+n("0x2e34")+n("0x1c6f")+"IDeaAccessRights "+n("0xf9")+n("0x40b0")+n("0xddb")+n("0x229a")+n("0x3e5a")+n("0x428")+"IDICSFactory "+n("0x5012")+"IDocumentInfo "+n("0xcb6")+n("0x42f8")+n("0x2ca8")+n("0x3397")+n("0xdfd")+n("0x93a")+n("0x36b")+n("0x252c")+n("0x43d")+n("0x42dc")+n("0x4f9f")+"IEDocument "+n("0x2274")+n("0x775")+n("0x286a")+n("0x107b")+n("0x1360")+n("0x16a3")+n("0x12ca")+n("0x3c68")+n("0x749")+n("0x43a9")+n("0x2e5b")+n("0xb4e")+"IEnabledMode "+n("0x2d9f")+"IEncrypter "+n("0x4616")+"IEventList "+n("0x1fea")+n("0x116")+n("0x43e1")+n("0x1f5d")+n("0x1e49")+n("0x1444")+"IFolder "+n("0x3be1")+n("0x1ccc")+n("0x1fe0")+n("0x8b9")+n("0x4bb6")+"IForm "+n("0x2b81")+n("0x4f9")+n("0x42a5")+n("0x4d46")+n("0x2f54")+n("0x128c")+n("0xeda")+n("0x28cc")+n("0x205f")+n("0x2c47")+n("0x42f5")+n("0x30c5")+n("0x4d51")+n("0x453b")+"IIntegerRequisite IIntegerValue IISBLEditorForm "+n("0x4ec9")+n("0x3f0d")+"IJobFactory IJobForm "+n("0x20b3")+n("0xfb3")+"ILargeIntegerCriterion ILargeIntegerRequisite "+n("0xa4c")+n("0x1008")+n("0xee3")+n("0x5ac")+n("0x281e")+"ILocalIDInfo "+n("0x214b")+n("0x3abe")+n("0x17f3")+n("0x2b2d")+n("0x1876")+n("0x8b0")+n("0x1986")+n("0x4eb0")+n("0x2490")+n("0x40a9")+"IObject "+n("0x1e9a")+"IObjectImporter "+n("0x2bd1")+n("0x2f7c")+"IPanelGroup IPickCriterion "+n("0x1137")+n("0x1bb6")+n("0x3622")+n("0x396b")+n("0x406")+n("0x34ee")+"IPrivilege "+n("0x2fcf")+n("0x1935")+n("0x32f9")+n("0x3396")+n("0x44ed")+n("0x43c1")+n("0x2835")+n("0x1988")+n("0x1941")+n("0x3feb")+n("0x3cca")+n("0x22c4")+"IReferenceHistoryDescription IReferenceInfo "+n("0x4ab1")+n("0x11c4")+n("0x4b32")+n("0x18e9")+n("0x1b7f")+n("0x495")+"IReportFactory "+n("0x2ef5")+n("0xc33")+n("0xd92")+n("0x1463")+"IRichEdit "+n("0x3001")+n("0x4edf")+"IRuleList ISchemeBlock "+n("0x4cc9")+n("0xf3d")+"ISearchCriteria "+n("0x3cc3")+n("0x1834")+n("0xa3e")+n("0x1b50")+n("0x3e5c")+n("0x567")+n("0x3825")+n("0x37ab")+n("0x36a6")+n("0x17ea")+n("0x2da7")+n("0x2bcd")+n("0x26ea")+n("0x7e8")+"ISignProvider2 "+n("0x397b")+"ISimpleCriterion "+n("0x21b0")+"IStringList "+n("0x309a")+n("0xb30")+n("0xef0")+n("0xf1f")+"ISystemInfo "+n("0x39f4")+"ITask "+n("0x1659")+n("0x34b7")+n("0x284d")+n("0xf99")+"ITaskInfo "+n("0x4290")+n("0x18f5")+n("0x4175")+n("0x1c29")+"ITreeListSelectDialog IUser IUserList "+n("0xaed")+n("0x3312")+"IWebBrowserControl "+n("0x3bae")+n("0x94f")+n("0xc3c")+n("0x2ea")+n("0x288f")+"IWizardPickParam "+n("0x8d0")+"IWizardStep "+n("0x4351")+n("0x27fa")+n("0x330b")+n("0x326e")+n("0x3160")+n("0xd90")+"IWorkflowEnabledMode IWorkflowParam IWorkflowPickParam "+n("0xceb")+n("0x5a2")+"IWorkTreeCustomNode "+n("0x3dc3")+"IWorkTreeTaskNode "+n("0x309d")+n("0x3af2"),d=o+x,u=c,f=n("0x5010"),m={className:n("0x2231"),begin:e[n("0x2dbc")],relevance:0},b={className:n("0x38b7"),variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]},_={className:n("0x62d"),begin:"\\b(?:TODO|DONE|BEGIN|END|STUB|CHG|FIXME|NOTE|BUG|XXX)\\b",relevance:0},p={variants:[{className:n("0x3cd8"),begin:"//",end:"$",relevance:0,contains:[e[n("0x31fb")],_]},{className:n("0x3cd8"),begin:n("0xaae"),end:"\\*/",relevance:0,contains:[e[n("0x31fb")],_]}]},h={keyword:i,built_in:d,class:u,literal:f},g={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,keywords:h,relevance:0},v={className:n("0x3298"),begin:n("0x1662")+l[n("0x2dc4")]()[n("0x3cc0")](/\s/g,"|")+")",end:n("0xe8d"),excludeEnd:!0},S={className:n("0x3722"),lexemes:a,keywords:h,begin:a,relevance:0,contains:[v,g]},E=r+"\\(",A={className:n("0x2fdc"),lexemes:a,keywords:{built_in:s},begin:E,end:"\\(",returnBegin:!0,excludeEnd:!0},T={className:n("0x3349"),begin:E,end:"\\)$",returnBegin:!0,lexemes:a,keywords:h,illegal:n("0x2c0e"),contains:[A,g,S,b,m,p]};return{aliases:[n("0x4e5a")],case_insensitive:!0,lexemes:a,keywords:h,illegal:n("0xddd"),contains:[T,v,g,S,b,m,p]}})),e[t("0x28be")]("java",(function(e){var n=t,a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",r=a+"(<"+a+n("0x5e0")+a+n("0x3636"),i="false synchronized int abstract float private char boolean var static null if const "+n("0x1990")+n("0xa08")+n("0x234b")+"module requires exports do",o="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|"+n("0x3bdb")+"|("+n("0x221b")+"|"+n("0xb25")+")([eE][-+]?\\d+)?)"+n("0x1043"),x={className:n("0x2231"),begin:o,relevance:0};return{aliases:[n("0x256")],keywords:i,illegal:/<\/|#/,contains:[e[n("0x4ff9")](n("0x5f3"),n("0x3756"),{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:n("0x62d"),begin:n("0x22b")}]}),e[n("0x2d29")],e.C_BLOCK_COMMENT_MODE,e[n("0xee9")],e[n("0x2b8c")],{className:"class",beginKeywords:n("0x2b37"),end:/[{;=]/,excludeEnd:!0,keywords:n("0x2b37"),illegal:/[:"\[\]]/,contains:[{beginKeywords:n("0x1732")},e[n("0x33ca")]]},{beginKeywords:"new throw return else",relevance:0},{className:n("0x3349"),begin:"("+r+"\\s+)+"+e[n("0x8da")]+n("0xa9c"),returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:i,contains:[{begin:e[n("0x8da")]+n("0xa9c"),returnBegin:!0,relevance:0,contains:[e[n("0x33ca")]]},{className:n("0x48ad"),begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[e[n("0xee9")],e[n("0x2b8c")],e[n("0x49a1")],e[n("0x4848")]]},e[n("0x2d29")],e[n("0x4848")]]},x,{className:n("0x1439"),begin:"@[A-Za-z]+"}]}})),e.registerLanguage(t("0x3209"),(function(e){var n=t,a="[A-Za-z$_][0-9A-Za-z$_]*",r={keyword:"in of if for while finally var new function do return void else break catch "+n("0x229")+n("0xff6")+n("0x106d"),literal:"true false null undefined NaN Infinity",built_in:n("0x638")+n("0x3c3b")+"EvalError InternalError RangeError ReferenceError StopIteration SyntaxError "+n("0x1307")+n("0x5e5")+n("0x2b6c")+n("0x2cd6")+n("0x10d3")},i={className:n("0x2231"),variants:[{begin:n("0x306e")},{begin:"\\b(0[oO][0-7]+)n?"},{begin:e.C_NUMBER_RE+"n?"}],relevance:0},o={className:n("0x134d"),begin:n("0x4b4b"),end:"\\}",keywords:r,contains:[]},x={begin:n("0x3fd2"),end:"",starts:{end:"`",returnEnd:!1,contains:[e[n("0x28e2")],o],subLanguage:"xml"}},s={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e[n("0x28e2")],o],subLanguage:n("0x42b1")}},c={className:n("0x38b7"),begin:"`",end:"`",contains:[e[n("0x28e2")],o]};o[n("0x2a10")]=[e[n("0xee9")],e.QUOTE_STRING_MODE,x,s,c,i,e.REGEXP_MODE];var l=o[n("0x2a10")][n("0x3abc")]([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["js",n("0xe9c")],keywords:r,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:n("0x1439"),begin:/^#!/,end:/$/},e[n("0xee9")],e[n("0x2b8c")],x,s,c,e[n("0x2d29")],e[n("0x4848")],i,{begin:/[{,\n]\s*/,relevance:0,contains:[{begin:a+n("0x1cc3"),returnBegin:!0,relevance:0,contains:[{className:n("0x417f"),begin:a,relevance:0}]}]},{begin:"("+e[n("0x3668")]+n("0x4a30"),keywords:n("0x4b09"),contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0x7c6")],{className:n("0x3349"),begin:"(\\(.*?\\)|"+a+n("0x2ad3"),returnBegin:!0,end:n("0x4a44"),contains:[{className:"params",variants:[{begin:a},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:l}]}]},{className:"",begin:/\s/,end:/\s*/,skip:!0},{begin:/</,end:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,subLanguage:"xml",contains:[{begin:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},{begin:/<[A-Za-z0-9\\._:-]+/,end:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,skip:!0,contains:[{begin:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},"self"]}]}],relevance:0},{className:n("0x3349"),beginKeywords:n("0x3349"),end:/\{/,excludeEnd:!0,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:a}),{className:n("0x48ad"),begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:l}],illegal:/\[|%/},{begin:/\$[(.]/},e[n("0x2b38")],{className:n("0x917"),beginKeywords:n("0x917"),end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:n("0x2096")},e[n("0x33ca")]]},{beginKeywords:n("0x3dbe"),end:/\{/,excludeEnd:!0}],illegal:/#(?!!)/}})),e[t("0x28be")](t("0x47d5"),(function(e){var n=t,a={className:n("0x48ad"),begin:/\(/,end:/\)/,contains:[{begin:/[\w-]+ *=/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/[\w-]+/}]}],relevance:0},r={className:n("0x3349"),begin:/:[\w\-.]+/,relevance:0},i={className:n("0x48ad"),begin:/--[\w\-=\/]+/};return{aliases:[n("0x1e1d")],lexemes:n("0x43dc"),keywords:{keyword:n("0x165c")+n("0x40f2")+n("0x4407")+"undeploy unset version xa-data-source",literal:"true false"},contains:[e[n("0xb46")],e[n("0x2b8c")],i,r,{className:"string",begin:/\B(([\/.])[\w\-.\/=]+)+/},a]}})),e[t("0x28be")](t("0x1344"),(function(e){var n=t,a={literal:"true false null"},r=[e[n("0x2d29")],e[n("0x4848")]],i=[e.QUOTE_STRING_MODE,e[n("0x49a1")]],o={end:",",endsWithParent:!0,excludeEnd:!0,contains:i,keywords:a},x={begin:"{",end:"}",contains:[{className:n("0x417f"),begin:/"/,end:/"/,contains:[e[n("0x28e2")]],illegal:"\\n"},e[n("0xbe2")](o,{begin:/:/})][n("0x3abc")](r),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e[n("0xbe2")](o)],illegal:"\\S"};return i.push(x,s),r[n("0x5ba")]((function(e){i[n("0x459a")](e)})),{contains:i,keywords:a,illegal:"\\S"}})),e[t("0x28be")](t("0x2fa7"),(function(e){var n=t,a={keyword:"in isa where "+n("0x4e94")+n("0x39fc")+n("0x2bb5"),literal:"true false "+n("0x4269")+"NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway "+n("0x8b7")+n("0x3f94"),built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet "+n("0x4273")+"AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal "+n("0x2ddb")+n("0xdc8")+n("0x26a8")+n("0xf6e")+n("0x4b73")+n("0x2136")+n("0x1242")+"Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear "+n("0x2ea9")+"InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix "+n("0x40cf")+n("0x1a91")+"PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD "+n("0x3f19")+n("0xca9")+n("0x138")+n("0xc48")+n("0x3062")+n("0x13cb")+"UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector "+n("0x2f04")},r=n("0x1ae8"),i={lexemes:r,keywords:a,illegal:/<\//},o={className:n("0x38b7"),begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},x={className:n("0x134d"),begin:/\$\(/,end:/\)/,keywords:a},s={className:n("0x3722"),begin:"\\$"+r},c={className:"string",contains:[e[n("0x28e2")],x,s],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:n("0x38b7"),contains:[e.BACKSLASH_ESCAPE,x,s],begin:"`",end:"`"},d={className:n("0x1439"),begin:"@"+r},u={className:n("0x3cd8"),variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]};return i[n("0x2a10")]=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},o,c,l,d,u,e[n("0xb46")],{className:"keyword",begin:n("0xf1")},{begin:/<:/}],x.contains=i.contains,i})),e[t("0x28be")](t("0x2da9"),(function(e){var n=t;return{contains:[{className:n("0x1439"),begin:/^julia>/,relevance:10,starts:{end:/^(?![ ]{6})/,subLanguage:n("0x2fa7")},aliases:[n("0x1014")]}]}})),e.registerLanguage(t("0x4164"),(function(e){var n=t,a={keyword:n("0x34ed")+n("0x4a69")+n("0x8a7")+"interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:n("0x3f24"),literal:n("0x4d29")},r={className:n("0x2038"),begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:n("0x40c6"),begin:/@\w+/}]}},i={className:n("0x40c6"),begin:e[n("0x8da")]+"@"},o={className:n("0x134d"),begin:n("0x184d"),end:"}",contains:[e.C_NUMBER_MODE]},x={className:n("0x3722"),begin:"\\$"+e.UNDERSCORE_IDENT_RE},s={className:n("0x38b7"),variants:[{begin:n("0x259b"),end:n("0x259b"),contains:[x,o]},{begin:"'",end:"'",illegal:/\n/,contains:[e[n("0x28e2")]]},{begin:'"',end:'"',illegal:/\n/,contains:[e[n("0x28e2")],x,o]}]};o[n("0x2a10")].push(s);var c={className:n("0x1439"),begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e[n("0x8da")]+")?"},l={className:n("0x1439"),begin:"@"+e[n("0x8da")],contains:[{begin:/\(/,end:/\)/,contains:[e[n("0xbe2")](s,{className:n("0x41b8")})]}]},d={className:"number",begin:"\\b("+n("0x1c15")+"|"+n("0x3bdb")+"|("+n("0x221b")+"|"+n("0xb25")+")"+n("0x2c1b")+")"+n("0x1043"),relevance:0},u=e[n("0x4ff9")](n("0xaae"),n("0x3756"),{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:n("0x3298"),begin:e[n("0x8da")]},{begin:/\(/,end:/\)/,contains:[]}]},m=f;return m.variants[1].contains=[f],f[n("0x3f75")][1][n("0x2a10")]=[m],{aliases:["kt"],keywords:a,contains:[e[n("0x4ff9")](n("0x5f3"),n("0x3756"),{relevance:0,contains:[{className:n("0x62d"),begin:"@[A-Za-z]+"}]}),e[n("0x2d29")],u,r,i,c,l,{className:n("0x3349"),beginKeywords:n("0x223c"),end:n("0x4311"),returnBegin:!0,excludeEnd:!0,keywords:a,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e[n("0x8da")]+n("0xa9c"),returnBegin:!0,relevance:0,contains:[e[n("0x33ca")]]},{className:n("0x3298"),begin:/</,end:/>/,keywords:n("0x4176"),relevance:0},{className:n("0x48ad"),begin:/\(/,end:/\)/,endsParent:!0,keywords:a,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e[n("0x2d29")],u],relevance:0},e.C_LINE_COMMENT_MODE,u,c,l,s,e.C_NUMBER_MODE]},u]},{className:n("0x917"),beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:n("0x1732"),contains:[{beginKeywords:"public protected internal private constructor"},e[n("0x33ca")],{className:n("0x3298"),begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:n("0x3298"),begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},c,l]},s,{className:n("0x1439"),begin:n("0x88e"),end:"$",illegal:"\n"},d]}})),e.registerLanguage("lasso",(function(e){var n=t,a=n("0x49b9"),r=n("0x2f39"),i=n("0x4e1e"),o={literal:n("0x4382")+n("0x45bf"),built_in:"array date decimal duration integer map pair string tag xml null "+n("0xa83")+"local var variable global data self inherited currentcapture givenblock",keyword:"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle "+n("0x8c4")+n("0x1231")+n("0x13e3")+"link_nextgroup link_nextrecord link_prevgroup link_prevrecord log "+n("0x283f")+n("0x9c1")+n("0x4e7c")+"value_list while abort case else fail_if fail_ifnot fail if_empty "+n("0x2948")+n("0x13e6")+"soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in "+n("0x2752")+n("0x4fa9")+n("0x35b7")},x=e[n("0x4ff9")]("\x3c!--","--\x3e",{relevance:0}),s={className:"meta",begin:n("0x4c29"),starts:{end:n("0x4f25"),returnEnd:!0,contains:[x]}},c={className:n("0x1439"),begin:n("0xad")+r},l={className:n("0x40c6"),begin:"'"+a+"'"},d=[e.C_LINE_COMMENT_MODE,e[n("0x4848")],e[n("0xbe2")](e[n("0x49a1")],{begin:e[n("0x762")]+n("0x1f2e")}),e.inherit(e[n("0xee9")],{illegal:null}),e[n("0xbe2")](e[n("0x2b8c")],{illegal:null}),{className:"string",begin:"`",end:"`"},{variants:[{begin:n("0x81f")+a},{begin:"#",end:n("0xf14"),illegal:"\\W"}]},{className:n("0x3298"),begin:"::\\s*",end:a,illegal:"\\W"},{className:"params",variants:[{begin:n("0x4c9c")+a,relevance:0},{begin:n("0xcd1")}]},{begin:/(->|\.)\s*/,relevance:0,contains:[l]},{className:n("0x917"),beginKeywords:n("0xa51"),returnEnd:!0,end:n("0x39e0"),contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:a+n("0x1917")})]}];return{aliases:["ls",n("0x1d03")],case_insensitive:!0,lexemes:a+"|&[lg]t;",keywords:o,contains:[{className:n("0x1439"),begin:i,relevance:0,starts:{end:"\\[|"+r,returnEnd:!0,relevance:0,contains:[x]}},s,c,{className:n("0x1439"),begin:"\\[no_square_brackets",starts:{end:n("0x31b4"),lexemes:a+n("0x4aa1"),keywords:o,contains:[{className:"meta",begin:i,relevance:0,starts:{end:n("0x100a")+r,returnEnd:!0,contains:[x]}},s,c].concat(d)}},{className:"meta",begin:"\\[",relevance:0},{className:n("0x1439"),begin:"^#!",end:n("0x641"),relevance:10}].concat(d)}})),e[t("0x28be")](t("0x24ad"),(function(e){var n=t;return{contains:[{className:"attribute",begin:"^dn",end:": ",excludeEnd:!0,starts:{end:"$",relevance:0},relevance:10},{className:n("0x3d26"),begin:n("0x4bca"),end:": ",excludeEnd:!0,starts:{end:"$",relevance:0}},{className:n("0x235f"),begin:"^-",end:"$"},e[n("0xb46")]]}})),e[t("0x28be")](t("0x14d2"),(function(e){var n=t;return{contains:[{className:"function",begin:"#+"+n("0x2ecb")+"\\(",end:" {",returnBegin:!0,excludeEnd:!0,contains:[{className:n("0x2038"),begin:"#+"},{className:n("0x2fdc"),begin:"[A-Za-z_][A-Za-z_0-9]*"},{className:n("0x48ad"),begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:n("0x38b7"),begin:'"',end:'"'},{className:n("0x3722"),begin:"[A-Za-z_][A-Za-z_0-9]*"}]}]}]}})),e[t("0x28be")](t("0x911"),(function(e){var n=t,a=n("0x605"),r="("+a+"|@{"+a+"})",i=[],o=[],x=function(e){return{className:n("0x38b7"),begin:"~?"+e+".*?"+e}},s=function(e,t,n){return{className:e,begin:t,relevance:n}},c={begin:"\\(",end:"\\)",contains:o,relevance:0};o[n("0x459a")](e[n("0x2d29")],e[n("0x4848")],x("'"),x('"'),e[n("0x21d9")],{begin:n("0x4796"),starts:{className:n("0x38b7"),end:n("0x419"),excludeEnd:!0}},s("number",n("0x412")),c,s(n("0x3722"),n("0x24fb")+a,10),s(n("0x3722"),"@{"+a+"}"),s(n("0x21a9"),n("0x4799")),{className:n("0x3d26"),begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:n("0x96f")});var l=o.concat({begin:"{",end:"}",contains:i}),d={beginKeywords:n("0x2c66"),endsWithParent:!0,contains:[{beginKeywords:n("0x442d")}].concat(o)},u={begin:r+n("0x1cc3"),returnBegin:!0,end:n("0x19d3"),relevance:0,contains:[{className:"attribute",begin:r,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},f={className:"keyword",begin:n("0x6ca"),starts:{end:n("0x1d0e"),returnEnd:!0,contains:o,relevance:0}},m={className:n("0x3722"),variants:[{begin:"@"+a+n("0x1cc3"),relevance:15},{begin:"@"+a}],starts:{end:"[;}]",returnEnd:!0,contains:l}},b={variants:[{begin:n("0x2d53"),end:n("0x1d0e")},{begin:r,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:n("0x4594"),relevance:0,contains:[e[n("0x2d29")],e[n("0x4848")],d,s(n("0x2038"),n("0x20a0")),s(n("0x3722"),"@{"+a+"}"),s(n("0x2f12"),r+"%?",0),s("selector-id","#"+r),s(n("0x4835"),"\\."+r,0),s(n("0x2f12"),"&",0),{className:n("0x1173"),begin:"\\[",end:"\\]"},{className:n("0x304c"),begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:l},{begin:n("0x96f")}]};return i[n("0x459a")](e[n("0x2d29")],e[n("0x4848")],f,m,u,b),{case_insensitive:!0,illegal:n("0x4090"),contains:i}})),e[t("0x28be")](t("0x2b61"),(function(e){var n=t,a="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",r=n("0x16a7"),i=n("0x3cf0"),o={className:n("0x1439"),begin:"^#!",end:"$"},x={className:n("0x235f"),begin:n("0x9b6")},s={className:n("0x2231"),variants:[{begin:i,relevance:0},{begin:n("0x145e")},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:n("0x891")},{begin:n("0xc85")+i+" +"+i,end:"\\)"}]},c=e.inherit(e[n("0x2b8c")],{illegal:null}),l=e[n("0x4ff9")](";","$",{relevance:0}),d={begin:"\\*",end:"\\*"},u={className:n("0x40c6"),begin:n("0x139d")+a},f={begin:a,relevance:0},m={begin:r},b={contains:[s,c,d,u,{begin:"\\(",end:"\\)",contains:[n("0xaf2"),x,c,s,f]},f],variants:[{begin:"['`]\\(",end:"\\)"},{begin:n("0xd79"),end:"\\)",keywords:{name:"quote"}},{begin:"'"+r}]},_={variants:[{begin:"'"+a},{begin:"#'"+a+n("0x1400")+a+")*"}]},p={begin:n("0x12d6"),end:"\\)"},h={endsWithParent:!0,relevance:0};return p[n("0x2a10")]=[{className:n("0x98c"),variants:[{begin:a},{begin:r}]},h],h[n("0x2a10")]=[b,_,p,x,s,c,l,d,u,m,f],{illegal:/\S/,contains:[s,o,x,c,l,b,_,p,f]}})),e.registerLanguage(t("0x431c"),(function(e){var n=t,a={className:n("0x3722"),variants:[{begin:n("0x3ac")},{begin:n("0x3e77")}],relevance:0},r=[e[n("0x4848")],e[n("0xb46")],e[n("0x4ff9")]("--","$"),e[n("0x4ff9")]("[^:]//","$")],i=e[n("0xbe2")](e[n("0x3ef7")],{variants:[{begin:n("0x3d51")},{begin:n("0x1e37")}]}),o=e.inherit(e[n("0x3ef7")],{begin:n("0x426a")});return{case_insensitive:!1,keywords:{keyword:n("0x47c2")+n("0x4223")+n("0x3beb")+"for stdout finally element word words fourth before black ninth sixth characters chars stderr "+n("0x4f99")+"at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 "+n("0x710")+n("0xcb2")+n("0x121")+n("0x3801")+n("0x445e")+"contains ends with begins the keys of keys",literal:n("0x14bf")+n("0x3bd6")+n("0x30ae")+n("0x4253")+n("0x1b25")+n("0x1d86"),built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode "+n("0x2f94")+"cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress "+n("0x2b72")+n("0x1b4a")+n("0x49ea")+n("0x3344")+n("0x314")+n("0x19f4")+"millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets "+n("0x4e23")+n("0x4296")+"revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull "+n("0x2383")+n("0x35ca")+n("0x26f0")+"revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections "+n("0x321a")+"revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext "+n("0x4f32")+n("0x255a")+"revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute "+n("0x3ae2")+n("0xab4")+n("0x3b7c")+n("0xe08")+n("0x41a7")+n("0x1ef8")+n("0x148b")+n("0x347")+n("0x2689")+"stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames "+n("0x316a")+n("0x4e2f")+"combine constant convert create new alias folder directory decrypt delete variable word line folder "+n("0x3314")+n("0xa71")+n("0x3bff")+n("0x305d")+n("0xaff")+n("0x3c4a")+n("0x32a7")+n("0x2dc5")+n("0x19ca")+"revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost "+n("0x13eb")+"revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel "+n("0x26fb")+n("0x182c")+n("0x14bd")},contains:[a,{className:n("0x2038"),begin:n("0x4658")},{className:n("0x3349"),beginKeywords:n("0x3349"),end:"$",contains:[a,o,e[n("0xee9")],e[n("0x2b8c")],e.BINARY_NUMBER_MODE,e[n("0x49a1")],i]},{className:n("0x3349"),begin:n("0x1c23"),end:"$",keywords:n("0x3a59"),contains:[o,i],relevance:0},{beginKeywords:n("0x1774"),end:"$",contains:[a,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e[n("0xd50")],e[n("0x49a1")],i]},{className:n("0x1439"),variants:[{begin:n("0x1983"),relevance:10},{begin:n("0x299c")},{begin:n("0x3ef3")}]},e[n("0xee9")],e[n("0x2b8c")],e.BINARY_NUMBER_MODE,e[n("0x49a1")],i][n("0x3abc")](r),illegal:n("0x3033")}})),e[t("0x28be")](t("0x13bb"),(function(e){var n=t,a={keyword:"in if for while finally new do return else break catch instanceof throw try this "+n("0x2d84")+"then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super "+n("0x18b")+n("0x21ac"),literal:n("0x3a66")+n("0x4181"),built_in:n("0xb2e")},r="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",i=e[n("0xbe2")](e[n("0x3ef7")],{begin:r}),o={className:n("0x134d"),begin:/#\{/,end:/}/,keywords:a},x={className:n("0x134d"),begin:/#[A-Za-z$_]/,end:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,keywords:a},s=[e[n("0xd50")],{className:n("0x2231"),begin:n("0x19aa"),relevance:0,starts:{end:n("0x4557"),relevance:0}},{className:n("0x38b7"),variants:[{begin:/'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[e[n("0x28e2")]]},{begin:/"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,o,x]},{begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,o,x]},{begin:/\\/,end:/(\s|$)/,excludeEnd:!0}]},{className:n("0x242e"),variants:[{begin:"//",end:n("0x3ee6"),contains:[o,e[n("0xb46")]]},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W)/}]},{begin:"@"+r},{begin:"``",end:"``",excludeBegin:!0,excludeEnd:!0,subLanguage:n("0x3209")}];o[n("0x2a10")]=s;var c={className:n("0x48ad"),begin:"\\(",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:a,contains:[n("0xaf2")][n("0x3abc")](s)}]};return{aliases:["ls"],keywords:a,illegal:/\/\*/,contains:s[n("0x3abc")]([e[n("0x4ff9")](n("0x1799"),n("0x4f5f")),e.HASH_COMMENT_MODE,{begin:"(#=>|=>|\\|>>|-?->|\\!->)"},{className:n("0x3349"),contains:[i,c],returnBegin:!0,variants:[{begin:"("+r+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",end:n("0x4442")},{begin:"("+r+n("0x10f0"),end:"[-~]{1,2}>\\*?"},{begin:"("+r+n("0x22bc"),end:n("0x4662")}]},{className:n("0x917"),beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:n("0x2096"),endsWithParent:!0,illegal:/[:="\[\]]/,contains:[i]},i]},{begin:r+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}})),e[t("0x28be")](t("0x4855"),(function(e){var n=t,a="([-a-zA-Z$._][\\w\\-$.]*)";return{keywords:n("0x48ff")+n("0x3d3c")+n("0x3361")+n("0x34b2")+"default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan "+n("0x4632")+n("0x49f8")+"gc dbg linker_private_weak attributes blockaddress "+n("0x3b82")+n("0x2390")+n("0x2458")+n("0x215d")+"spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind "+n("0x4e58")+n("0x1b7b")+n("0x20d3")+n("0x1cd")+n("0x1316")+n("0x62e")+n("0x2e99")+n("0xe7")+"alignstack atomic catch cleanup filter inteldialect "+n("0x426f")+"singlethread umax umin unordered xchg add fadd "+n("0x25a4")+n("0x2b45")+n("0x126b")+n("0x308d")+n("0xebf")+n("0x2be3")+"malloc alloca free load store getelementptr "+n("0x1cdb")+"extractvalue insertvalue atomicrmw cmpxchg fence "+n("0x2bc3"),contains:[{className:n("0x2038"),begin:n("0x61e")},e[n("0x4ff9")](";","\\n",{relevance:0}),e[n("0x2b8c")],{className:n("0x38b7"),variants:[{begin:'"',end:n("0x2686")}],relevance:0},{className:n("0x2fdc"),variants:[{begin:"@"+a},{begin:"@\\d+"},{begin:"!"+a},{begin:n("0xf58")+a}]},{className:n("0x40c6"),variants:[{begin:"%"+a},{begin:"%\\d+"},{begin:"#\\d+"}]},{className:n("0x2231"),variants:[{begin:n("0x2ed8")},{begin:n("0x1c17")}],relevance:0}]}})),e[t("0x28be")](t("0x4d75"),(function(e){var n=t,a={className:n("0x134d"),begin:/\\[tn"\\]/},r={className:n("0x38b7"),begin:'"',end:'"',contains:[a]},i={className:n("0x2231"),begin:e[n("0x762")]},o={className:"literal",variants:[{begin:n("0x11a5")},{begin:n("0x9a2")},{begin:n("0xf83")},{begin:"\\b(?:ZERO_ROTATION)\\b"},{begin:n("0x3df6")},{begin:"\\b(?:ZERO_VECTOR|TOUCH_INVALID_(?:TEXCOORD|VECTOR))\\b"}]},x={className:n("0x21a9"),begin:n("0x129f")};return{illegal:":",contains:[r,{className:n("0x3cd8"),variants:[e[n("0x4ff9")]("//","$"),e[n("0x4ff9")]("/\\*",n("0x3756"))],relevance:0},i,{className:n("0x855"),variants:[{begin:n("0x2bef")},{begin:n("0x2fba")}]},x,o,{className:n("0x3298"),begin:"\\b(?:integer|float|string|key|vector|quaternion|rotation|list)\\b"}]}})),e.registerLanguage(t("0xb36"),(function(e){var n=t,a=n("0x19fd"),r=n("0x1980"),i={begin:a,end:r,contains:[n("0xaf2")]},o=[e.COMMENT("--(?!"+a+")","$"),e[n("0x4ff9")]("--"+a,r,{contains:[i],relevance:10})];return{lexemes:e[n("0x8da")],keywords:{literal:n("0x2169"),keyword:n("0xd10"),built_in:n("0x380e")+n("0x2710")+n("0x30ea")+n("0x4cb0")+n("0x176a")+"coroutine resume yield status wrap create running debug getupvalue "+n("0x39b8")+"io lines write close flush open output type read stderr stdin input stdout popen tmpfile "+n("0x4ccf")+n("0x24ab")+n("0x3d43")+"table setn insert getn foreachi maxn foreach concat sort remove"},contains:o[n("0x3abc")]([{className:"function",beginKeywords:n("0x3349"),end:"\\)",contains:[e[n("0xbe2")](e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:n("0x48ad"),begin:"\\(",endsWithParent:!0,contains:o}][n("0x3abc")](o)},e[n("0x49a1")],e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:n("0x38b7"),begin:a,end:r,contains:[i],relevance:5}])}})),e.registerLanguage(t("0x433"),(function(e){var n=t,a={className:n("0x3722"),variants:[{begin:n("0xcd")+e[n("0x8da")]+"\\)",contains:[e[n("0x28e2")]]},{begin:/\$[@%<?\^\+\*]/}]},r={className:n("0x38b7"),begin:/"/,end:/"/,contains:[e[n("0x28e2")],a]},i={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:n("0x1565")+n("0x19df")+n("0x2bab")+n("0x8fe")},contains:[a]},o={begin:"^"+e[n("0x8da")]+n("0x30e5"),illegal:"\\n",returnBegin:!0,contains:[{begin:"^"+e[n("0x8da")],end:n("0x23a2"),excludeEnd:!0}]},x={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{"meta-keyword":n("0x11d1")},lexemes:/[\.\w]+/},s={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[a]};return{aliases:["mk",n("0x1483")],keywords:"define endef undefine ifdef ifndef ifeq ifneq else endif "+n("0x4d72"),lexemes:/[\w-]+/,contains:[e[n("0xb46")],a,r,i,o,x,s]}})),e[t("0x28be")](t("0x2c52"),(function(e){var n=t;return{aliases:[n("0x44b0"),"wl"],lexemes:n("0x387c")+e[n("0x4485")]+"\\b",keywords:n("0x5dc")+n("0x1086")+n("0x336e")+n("0x4582")+"E EarthImpactData EarthquakeData EccentricityCentrality Echo EchoFunction EclipseType EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeContract EdgeCost EdgeCount EdgeCoverQ EdgeCycleMatrix EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight EdgeWeightedGraphQ Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData ElementwiseLayer ElidedForms Eliminate EliminationOrder Ellipsoid EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmbedCode EmbeddedHTML EmbeddedService EmbeddingLayer EmbeddingObject EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EmptyRegion EnableConsolePrintPacket Enabled Encode Encrypt EncryptedObject EncryptFile End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfBuffer EndOfFile EndOfLine EndOfString EndPackage EngineEnvironment EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entity EntityClass EntityClassList EntityCopies EntityFunction EntityGroup EntityInstance EntityList EntityPrefetch EntityProperties EntityProperty EntityPropertyClass EntityRegister EntityStore EntityStores EntityTypeName EntityUnregister EntityValue Entropy EntropyFilter Environment Epilog EpilogFunction Equal EqualColumns EqualRows EqualTilde EqualTo EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EscapeRadius EstimatedBackground EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerAngles EulerCharacteristic EulerE EulerGamma EulerianGraphQ EulerMatrix EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluateScheduledTask EvaluationBox EvaluationCell EvaluationCompletionAction EvaluationData EvaluationElements EvaluationEnvironment EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels EventSeries ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludedLines ExcludedPhysicalQuantities ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog ExoplanetData Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi ExpirationDate Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportByteArray ExportForm ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpressionUUID ExpToTrig ExtendedEntityClass ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalBundle ExternalCall ExternalDataCharacterEncoding ExternalEvaluate ExternalFunction ExternalFunctionName ExternalObject ExternalOptions ExternalSessionObject ExternalSessions ExternalTypeSignature ExternalValue Extract ExtractArchive ExtractLayer ExtremeValueDistribution"+n("0x1814")+n("0x49a7")+n("0x3c72")+n("0x33df")+n("0x239e")+n("0x12e9")+n("0x39c8")+"MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MailAddressValidation MailExecute MailFolder MailItem MailReceiverFunction MailResponseFunction MailSearch MailServerConnect MailServerConnection MailSettings MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules ManagedLibraryExpressionID ManagedLibraryExpressionQ MandelbrotSetBoettcher MandelbrotSetDistance MandelbrotSetIterationCount MandelbrotSetMemberQ MandelbrotSetPlot MangoldtLambda ManhattanDistance Manipulate Manipulator MannedSpaceMissionData MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarchenkoPasturDistribution MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicalFunctionData MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixNormalDistribution MatrixPlot MatrixPower MatrixPropertyDistribution MatrixQ MatrixRank MatrixTDistribution Max MaxBend MaxCellMeasure MaxColorDistance MaxDetect MaxDuration MaxExtraBandwidths MaxExtraConditions MaxFeatureDisplacement MaxFeatures MaxFilter MaximalBy Maximize MaxItems MaxIterations MaxLimit MaxMemoryUsed MaxMixtureKernels MaxOverlapFraction MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxTrainingRounds MaxValue MaxwellDistribution MaxWordGap McLaughlinGroupMcL Mean MeanAbsoluteLossLayer MeanAround MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter MeanSquaredLossLayer Median MedianDeviation MedianFilter MedicalTestData Medium MeijerG MeijerGReduce MeixnerDistribution MellinConvolve MellinTransform MemberQ MemoryAvailable MemoryConstrained MemoryConstraint MemoryInUse MengerMesh Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuList MenuPacket MenuSortingValue MenuStyle MenuView Merge MergeDifferences MergingFunction MersennePrimeExponent MersennePrimeExponentQ Mesh MeshCellCentroid MeshCellCount MeshCellHighlight MeshCellIndex MeshCellLabel MeshCellMarker MeshCellMeasure MeshCellQuality MeshCells MeshCellShapeFunction MeshCellStyle MeshCoordinates MeshFunctions MeshPrimitives MeshQualityGoal MeshRange MeshRefinementFunction MeshRegion MeshRegionQ MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageObject MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation MeteorShowerData Method MethodOptions MexicanHatWavelet MeyerWavelet Midpoint Min MinColorDistance MinDetect MineralData MinFilter MinimalBy MinimalPolynomial MinimalStateSpaceModel Minimize MinimumTimeIncrement MinIntervalSize MinkowskiQuestionMark MinLimit MinMax MinorPlanetData Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingBehavior MissingDataMethod MissingDataRules MissingQ MissingString MissingStyle MissingValuePattern MittagLefflerE MixedFractionParts MixedGraphQ MixedMagnitude MixedRadix MixedRadixQuantity MixedUnit MixtureDistribution Mod Modal Mode Modular ModularInverse ModularLambda Module Modulus MoebiusMu Molecule MoleculeContainsQ MoleculeEquivalentQ MoleculeGraph MoleculeModify MoleculePattern MoleculePlot MoleculePlot3D MoleculeProperty MoleculeQ MoleculeValue Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction MomentOfInertia Monday Monitor MonomialList MonomialOrder MonsterGroupM MoonPhase MoonPosition MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform MortalityData Most MountainData MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovieData MovingAverage MovingMap MovingMedian MoyalDistribution Multicolumn MultiedgeStyle MultigraphQ MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity MultiplySides Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistributionN NakagamiDistribution NameQ Names NamespaceBox NamespaceBoxOptions Nand NArgMax NArgMin NBernoulliB NBodySimulation NBodySimulationData NCache NDEigensystem NDEigenvalues NDSolve NDSolveValue Nearest NearestFunction NearestNeighborGraph NearestTo NebulaData NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeDefiniteMatrixQ NegativeIntegers NegativeMultinomialDistribution NegativeRationals NegativeReals NegativeSemidefiniteMatrixQ NeighborhoodData NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestGraph NestList NestWhile NestWhileList NetAppend NetBidirectionalOperator NetChain NetDecoder NetDelete NetDrop NetEncoder NetEvaluationMode NetExtract NetFlatten NetFoldOperator NetGraph NetInformation NetInitialize NetInsert NetInsertSharedArrays NetJoin NetMapOperator NetMapThreadOperator NetMeasurements NetModel NetNestOperator NetPairEmbeddingOperator NetPort NetPortGradient NetPrepend NetRename NetReplace NetReplacePart NetSharedArray NetStateObject NetTake NetTrain NetTrainResultsObject NetworkPacketCapture NetworkPacketRecording NetworkPacketRecordingDuring NetworkPacketTrace NeumannValue NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextCell NextDate NextPrime NextScheduledTaskTime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NightHemisphere NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants NondimensionalizationTransform None NoneTrue NonlinearModelFit NonlinearStateSpaceModel NonlocalMeansFilter NonNegative NonNegativeIntegers NonNegativeRationals NonNegativeReals NonPositive NonPositiveIntegers NonPositiveRationals NonPositiveReals Nor NorlundB Norm Normal NormalDistribution NormalGrouping NormalizationLayer Normalize Normalized NormalizedSquaredEuclideanDistance NormalMatrixQ NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookImport NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookTemplate NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde Nothing NotHumpDownHump NotHumpEqual NotificationFunction NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar Now NoWhitespace NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms NuclearExplosionData NuclearReactorData Null NullRecords NullSpace NullWords Number NumberCompose NumberDecompose NumberExpand NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberLinePlot NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumeratorDenominator NumericalOrder NumericalSort NumericArray NumericArrayQ NumericArrayType NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot"+n("0x1ea2")+"Package PackingMethod PaddedForm Padding PaddingLayer PaddingSize PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageTheme PageWidth Pagination PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath PalindromeQ Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo Parallelepiped ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds Parallelogram ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParametricRegion ParentBox ParentCell ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParentNotebook ParetoDistribution ParetoPickandsDistribution ParkData Part PartBehavior PartialCorrelationFunction PartialD ParticleAcceleratorData ParticleData Partition PartitionGranularity PartitionsP PartitionsQ PartLayer PartOfSpeech PartProtection ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteAutoQuoteCharacters PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PeakDetect PeanoCurve PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PercentForm PerfectNumber PerfectNumberQ PerformanceGoal Perimeter PeriodicBoundaryCondition PeriodicInterpolation Periodogram PeriodogramArray Permanent Permissions PermissionsGroup PermissionsGroupMemberQ PermissionsGroups PermissionsKey PermissionsKeys PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PerpendicularBisector PersistenceLocation PersistenceTime PersistentObject PersistentObjects PersistentValue PersonData PERTDistribution PetersenGraph PhaseMargins PhaseRange PhysicalSystemData Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest PingTime Pink PitchRecognize Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarAngle PlanarGraph PlanarGraphQ PlanckRadiationLaw PlaneCurveData PlanetaryMoonData PlanetData PlantData Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLabels PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangeClipPlanesStyle PlotRangePadding PlotRegion PlotStyle PlotTheme Pluralize Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox Point3DBoxOptions PointBox PointBoxOptions PointFigureChart PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonalNumber PolygonAngle PolygonBox PolygonBoxOptions PolygonCoordinates PolygonDecomposition PolygonHoleScale PolygonIntersections PolygonScale Polyhedron PolyhedronAngle PolyhedronCoordinates PolyhedronData PolyhedronDecomposition PolyhedronGenus PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PoolingLayer PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position PositionIndex Positive PositiveDefiniteMatrixQ PositiveIntegers PositiveRationals PositiveReals PositiveSemidefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerRange PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement Predict PredictionRoot PredictorFunction PredictorInformation PredictorMeasurements PredictorMeasurementsObject PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependLayer PrependTo PreprocessingRules PreserveColor PreserveImageOptions Previous PreviousCell PreviousDate PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitivePolynomialQ PrimitiveRoot PrimitiveRootList PrincipalComponents PrincipalValue Print PrintableASCIIQ PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment Printout3D Printout3DPreviewer PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateKey PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessConnection ProcessDirectory ProcessEnvironment Processes ProcessEstimator ProcessInformation ProcessObject ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessStatus ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm ProofObject Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse PsychrometricPropertyData PublicKey PublisherID PulsarData PunctuationCharacter Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions"+n("0xbd5")+"RadialGradientImage RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RadonTransform RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Ramp Random RandomChoice RandomColor RandomComplex RandomEntity RandomFunction RandomGeoPosition RandomGraph RandomImage RandomInstance RandomInteger RandomPermutation RandomPoint RandomPolygon RandomPolyhedron RandomPrime RandomReal RandomSample RandomSeed RandomSeeding RandomVariate RandomWalkProcess RandomWord Range RangeFilter RangeSpecification RankedMax RankedMin RarerProbability Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadByteArray ReadLine ReadList ReadProtected ReadString Real RealAbs RealBlockDiagonalForm RealDigits RealExponent Reals RealSign Reap RecognitionPrior RecognitionThreshold Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RectangularRepeatingElement RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate Region RegionBinarize RegionBoundary RegionBounds RegionCentroid RegionDifference RegionDimension RegionDisjoint RegionDistance RegionDistanceFunction RegionEmbeddingDimension RegionEqual RegionFunction RegionImage RegionIntersection RegionMeasure RegionMember RegionMemberFunction RegionMoment RegionNearest RegionNearestFunction RegionPlot RegionPlot3D RegionProduct RegionQ RegionResize RegionSize RegionSymmetricDifference RegionUnion RegionWithin RegisterExternalEvaluator RegularExpression Regularization RegularlySampledQ RegularPolygon ReIm ReImLabels ReImPlot ReImStyle Reinstall RelationalDatabase RelationGraph Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot RemoteAuthorizationCaching RemoteConnect RemoteConnectionObject RemoteFile RemoteRun RemoteRunProcess Remove RemoveAlphaChannel RemoveAsynchronousTask RemoveAudioStream RemoveBackground RemoveChannelListener RemoveChannelSubscribers Removed RemoveDiacritics RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RemoveUsers RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart RepairMesh Repeated RepeatedNull RepeatedString RepeatedTiming RepeatingElement Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated ReplicateLayer RequiredPhysicalQuantities Resampling ResamplingAlgorithmData ResamplingMethod Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask ReshapeLayer Residue ResizeLayer Resolve ResourceAcquire ResourceData ResourceFunction ResourceObject ResourceRegister ResourceRemove ResourceSearch ResourceSubmissionObject ResourceSubmit ResourceSystemBase ResourceUpdate ResponseForm Rest RestartInterval Restricted Resultant ResumePacket Return ReturnEntersInput ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnReceiptFunction ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseSort ReverseSortBy ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ RiemannXi Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightComposition RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity RollPitchYawAngles RollPitchYawMatrix RomanNumeral Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RSolveValue RudinShapiro RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulePlot RulerUnits Run RunProcess RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity"+n("0x4396")+n("0x2d27")+"UnateQ Uncompress UnconstrainedParameters Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UnderseaFeatureData UndirectedEdge UndirectedGraph UndirectedGraphQ UndoOptions UndoTrackedVariables Unequal UnequalTo Unevaluated UniformDistribution UniformGraphDistribution UniformPolyhedron UniformSumDistribution Uninstall Union UnionPlus Unique UnitaryMatrixQ UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitSystem UnitTriangle UnitVector UnitVectorLayer UnityDimensions UniverseModelData UniversityData UnixTime Unprotect UnregisterExternalEvaluator UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpdateSearchIndex UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize UpperTriangularMatrixQ Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpTo UpValues URL URLBuild URLDecode URLDispatcher URLDownload URLDownloadSubmit URLEncode URLExecute URLExpand URLFetch URLFetchAsynchronous URLParse URLQueryDecode URLQueryEncode URLRead URLResponseTime URLSave URLSaveAsynchronous URLShorten URLSubmit UseGraphicsRange UserDefinedWavelet Using UsingFrontEnd UtilityFunction"+n("0x4db8")+n("0x1e43")+n("0x1449")+n("0x2c95")+n("0x196a")+n("0x4fdb"),contains:[e[n("0x4ff9")](n("0x25fe"),n("0x5ae"),{contains:[n("0xaf2")]}),e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}})),e[t("0x28be")](t("0x11d"),(function(e){var n=t,a=n("0x3b0e"),r={relevance:0,contains:[{begin:a}]};return{keywords:{keyword:n("0x2578")+n("0x45d0"),built_in:n("0x3944")+n("0x483")+"cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal "+n("0xd46")+n("0x32f1")+n("0x115c")+n("0x4b54")+n("0x492c")+n("0x1621")+n("0xd7b")+n("0x446")+n("0x43f2")+n("0x1ad6")+n("0x1b11")+n("0x45d4")},illegal:n("0x4e34"),contains:[{className:n("0x3349"),beginKeywords:n("0x3349"),end:"$",contains:[e[n("0x33ca")],{className:n("0x48ad"),variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:r},{begin:n("0x287f")+a,relevance:0},{className:n("0x2231"),begin:e.C_NUMBER_RE,relevance:0,starts:r},{className:"string",begin:"'",end:"'",contains:[e[n("0x28e2")],{begin:"''"}]},{begin:/\]|}|\)/,relevance:0,starts:r},{className:n("0x38b7"),begin:'"',end:'"',contains:[e[n("0x28e2")],{begin:'""'}],starts:r},e.COMMENT(n("0xd6d"),"^\\s*\\%\\}\\s*$"),e.COMMENT("\\%","$")]}})),e[t("0x28be")](t("0x1fed"),(function(e){var n=t,a=n("0x1f4c"),r=n("0xfeb")+" addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix"+n("0x26d9")+n("0x2953")+" annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2"+n("0x42ca")+" arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger"+n("0x327a")+n("0x438c")+n("0x26a6")+n("0x3749")+n("0x3780")+" bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized"+n("0x3bc1")+n("0x35b6")+" block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description"+n("0x3e43")+n("0x3e4b")+n("0x33dd")+n("0xe6d")+n("0x3b1b")+n("0x42ab")+n("0x3c2")+n("0x2ccd")+n("0x11")+" charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph"+n("0x77")+n("0x23e3")+n("0x35d")+" complete_graph complex_number_p components compose_functions concan concat"+n("0x1ecd")+n("0x431d")+n("0x16ed")+n("0x1391")+n("0x20ce")+n("0xc4c")+n("0x2dde")+" declare declare_constvalue declare_dimensions declare_fundamental_dimensions"+n("0x2482")+n("0x3a88")+n("0x2b3d")+n("0x309c")+n("0x662")+n("0x8ba")+" dimacs_import dimension dimensionless dimensions dimensions_as_list direct"+n("0x41e8")+n("0x1d81")+n("0x263e")+n("0x2947")+n("0x1025")+n("0x3d9c")+n("0x4643")+n("0x33f2")+n("0x1d1")+n("0x381a")+" euler ev eval_string evenp every evolution evolution2d evundiff example exp"+n("0x3d0b")+n("0x35fd")+n("0xe85")+n("0x27ee")+n("0x1775")+n("0x571")+n("0x2f98")+n("0x728")+n("0x4976")+n("0x4da")+n("0x43e8")+n("0x3ea6")+" fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide"+n("0x4314")+n("0x13a1")+n("0x2a5b")+n("0x3dfb")+n("0x470e")+" gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum"+n("0x3cfa")+n("0x31a1")+n("0x2f2e")+n("0x3447")+n("0x102b")+n("0x4b42")+n("0x4120")+n("0x9bb")+n("0x40e6")+n("0x486b")+n("0x4f9b")+" init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions"+n("0x29c4")+" inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc"+n("0x411a")+n("0x4597")+n("0x22b0")+n("0x28ae")+n("0x3f81")+n("0x335c")+" jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd"+n("0x12be")+" killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis"+n("0x4f47")+n("0x3075")+" kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2"+n("0x1f80")+n("0x3fbd")+n("0x24e0")+" lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length"+n("0xb1d")+n("0x3d6b")+n("0x23a6")+n("0x1427")+n("0x1018")+n("0x2f9d")+n("0x27a9")+" lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma"+n("0x8f2")+n("0x46a")+n("0x3f26")+n("0x32ec")+n("0x503")+n("0x20a5")+" maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete"+n("0x46ee")+n("0x402f")+" mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull"+n("0x2e65")+" min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor"+n("0x1663")+n("0x28a5")+n("0xab6")+n("0x585")+" natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices"+n("0x2612")+" nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst"+n("0x1e1")+n("0x3140")+n("0x246b")+n("0x26f6")+" operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless"+n("0x2111")+n("0x47af")+" parg parGosper parse_string parse_timedate part part2cont partfrac partition"+n("0x2af4")+n("0x41a4")+n("0x4e74")+" pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal"+n("0x46c0")+n("0x2c90")+n("0x2258")+n("0x1c66")+" playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar"+n("0x2315")+n("0x29f4")+n("0x37ef")+n("0x18ce")+n("0xd9f")+n("0x2296")+n("0x2905")+n("0x2009")+" poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod"+n("0x2db")+n("0x21b9")+n("0x41e3")+n("0x2625")+n("0x3a45")+" quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f"+n("0x41d0")+" quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t"+n("0x357c")+n("0x3d9d")+" random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform"+n("0x3cde")+n("0x2ca7")+n("0x1693")+n("0x107d")+n("0x4f86")+" random_tournament random_tree random_weibull range rank rat ratcoef ratdenom"+n("0x6df")+n("0x4074")+n("0x23a0")+n("0x4024")+n("0x2398")+n("0x212a")+" rem remainder remarray rembox remcomps remcon remcoord remfun remfunction"+n("0x33c1")+n("0x4626")+n("0x201b")+n("0xc26")+" resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer"+n("0x1c3e")+n("0x4b15")+n("0x678")+n("0x125f")+" scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second"+n("0x4b35")+n("0x4246")+" set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path"+n("0x38f")+n("0x1abc")+n("0x3a97")+n("0x1c59")+n("0xdde")+n("0xfac")+n("0x162e")+n("0x1824")+" skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export"+n("0x299b")+" spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition"+n("0x21fe")+n("0x18bb")+n("0x245d")+n("0x3f9c")+n("0x3a36")+n("0x3cc2")+n("0x4016")+n("0x4607")+n("0x4e4")+n("0x1adf")+n("0x48d6")+" symbolp symmdifference symmetricp system take_channel take_inference tan"+n("0x596")+n("0x2b33")+n("0xdf3")+n("0x4014")+n("0x88f")+n("0x3884")+" totalfourier totient tpartpol trace tracematrix trace_options transform_sample"+n("0x2bc2")+" triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate"+n("0x228f")+n("0x2025")+n("0x490d")+" units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli"+n("0x29fb")+" var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel"+n("0x41bd")+n("0x3aaf")+" var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance"+n("0x2521")+n("0x1bb4")+n("0x1f2a")+n("0x219a")+n("0x4a4f")+n("0x1963")+" absboxchar activecontexts adapt_depth additive adim aform algebraic"+n("0x1dcd")+n("0x3d12")+n("0x20d4")+" azimuth background background_color backsubst berlefact bernstein_explicit"+n("0x73a")+" border boundaries_array box boxchar breakup %c capping cauchysum cbrange"+n("0x1743")+n("0x2956")+n("0x1505")+n("0x489e")+n("0x3c54")+n("0xe29")+n("0xe5d")+n("0x3f42")+" dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart"+n("0x38dd")+n("0x99e")+n("0x24d7")+" %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand"+n("0x1398")+n("0x4c57")+" file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color"+n("0x1f63")+n("0x956")+" gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command"+n("0x2bbd")+n("0x347e")+n("0xe6e")+n("0x838")+n("0x436f")+" head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval"+n("0x812")+n("0x34b6")+n("0x20c4")+n("0x1f3e")+n("0x4ed8")+n("0x33e")+" linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params"+n("0x2f88")+n("0x404a")+" logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros"+n("0x3335")+" matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10"+n("0x40f4")+n("0x179")+n("0x2d4d")+" modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc"+n("0x260f")+n("0x169f")+n("0x4827")+" outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart"+n("0x2a15")+" poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm"+n("0x43b6")+" poly_secondary_elimination_order poly_top_reduction_only posfun position"+n("0x47")+n("0xeea")+n("0x389c")+n("0x2514")+n("0x2b9f")+" refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs"+n("0x315e")+" same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck"+n("0x4df8")+n("0x4dbf")+n("0x1898")+" simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda"+n("0x836")+" tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials"+n("0x3817")+n("0x123a")+n("0x2fb4")+n("0x3ea7")+n("0x2855")+n("0x1254")+n("0x2095")+n("0x3e02")+n("0x464c")+n("0xc6d")+n("0x485")+n("0x410")+" xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width"+n("0x1842")+" ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis"+n("0x3c5d")+n("0x116b"),i=n("0xa7d");return{lexemes:n("0x38d6"),keywords:{keyword:a,literal:"true false unknown inf minf ind und %e %i %pi %phi %gamma",built_in:r,symbol:i},contains:[{className:n("0x3cd8"),begin:"/\\*",end:n("0x3756"),contains:["self"]},e[n("0x2b8c")],{className:"number",relevance:0,variants:[{begin:n("0xd44")},{begin:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b",relevance:10},{begin:"\\b(\\.\\d+|\\d+\\.\\d+)\\b"},{begin:n("0x74b")}]}],illegal:/@/}})),e[t("0x28be")](t("0x3c3"),(function(e){var n=t;return{keywords:n("0x3fb6")+n("0x35c")+"addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey "+n("0x1748")+"alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor "+n("0x38be")+n("0x1ac7")+n("0x27c4")+n("0x2ade")+n("0x2988")+"attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu "+n("0x11f1")+"attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery "+n("0x1ac6")+n("0x285f")+"bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType "+n("0x1561")+n("0xf4")+n("0x2e2")+n("0x2055")+n("0x2418")+n("0x47b3")+n("0x4397")+n("0x460e")+n("0x3bbc")+n("0x5d0")+n("0x3914")+n("0x2b8")+n("0x2f77")+n("0x2963")+n("0x4e43")+n("0x3273")+n("0x866")+n("0x2a83")+"cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor "+n("0x3549")+"createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse "+n("0x418")+n("0x114c")+"curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete "+n("0x2650")+n("0x1a44")+n("0x2a8a")+"disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected "+n("0x126")+"displaySmoothness displayStats displayString displaySurface distanceDimContext "+n("0x42de")+n("0xb6d")+n("0x329d")+n("0x4822")+n("0x414d")+"editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor "+n("0x1724")+n("0x8b5")+n("0x2a6b")+n("0x2317")+n("0x9b")+n("0x1891")+n("0x2266")+n("0x2967")+"floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo "+n("0x139a")+n("0x6ad")+n("0xeb4")+n("0x448")+n("0x1a17")+n("0x3f55")+n("0x232f")+n("0x223f")+n("0x3f7e")+"HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached "+n("0x31eb")+n("0x499a")+"hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender "+n("0x1c3d")+n("0x4e51")+n("0x38bc")+n("0x47c5")+n("0x1979")+n("0xf12")+n("0x3585")+n("0x4c7a")+n("0xeb1")+n("0x148c")+"keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx "+n("0x2dab")+"keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx "+n("0x414")+n("0x11a2")+n("0x1934")+n("0x2dbe")+n("0x403b")+n("0x3167")+n("0x3ee9")+n("0x2b67")+n("0x1204")+n("0xe70")+n("0xf97")+n("0x709")+n("0x4c9e")+"mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move "+n("0x17df")+n("0x1aca")+n("0x4c8d")+"normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect "+n("0x3524")+n("0x45c7")+n("0x61")+n("0x1685")+n("0x4046")+"paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration "+n("0x14f0")+n("0x455f")+n("0xd6b")+"pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo "+n("0xeb8")+n("0x2960")+n("0x10f6")+n("0x33eb")+n("0x126f")+"polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet "+n("0x3952")+n("0x1a4e")+n("0xdf5")+n("0x1029")+n("0x2bea")+n("0x343c")+"polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge "+n("0x28e8")+"polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection "+n("0x130b")+n("0x32ad")+n("0x1f3d")+"polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge "+n("0x3e9")+n("0x3624")+n("0x1b36")+n("0x11c3")+n("0x137")+n("0x445a")+n("0x47a")+"radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl "+n("0x3810")+"referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE "+n("0x3412")+n("0xced")+n("0x298c")+n("0x4e45")+"renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor "+n("0x2365")+n("0x40d4")+"reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout "+n("0x453e")+n("0x735")+n("0x29fd")+n("0x2751")+"scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt "+n("0x4d")+n("0xcbc")+"selectedNodes selectionConnection separator setAttr setAttrEnumResource "+n("0x16a5")+n("0x1e5b")+n("0x26c1")+n("0x4995")+n("0x1b8d")+n("0x1553")+n("0x77b")+n("0x28bb")+n("0x3b93")+n("0x3b62")+n("0x2b46")+n("0x1003")+n("0x2e32")+n("0x356f")+n("0x3219")+n("0xb2")+n("0xd0e")+n("0x1097")+n("0x17a1")+n("0xb2d")+n("0x20fa")+n("0x20cc")+n("0x45f0")+"surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton "+n("0x118d")+n("0x394e")+n("0x2558")+n("0x4854")+n("0x3f6")+n("0x3589")+n("0x246c")+"toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper "+n("0x2df8")+n("0x48c9")+n("0x2664")+n("0x474b")+"uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane "+n("0x2e8e")+n("0x1e60")+n("0x17fe"),illegal:"</",contains:[e[n("0x49a1")],e[n("0xee9")],e[n("0x2b8c")],{className:n("0x38b7"),begin:"`",end:"`",contains:[e[n("0x28e2")]]},{begin:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},e.C_LINE_COMMENT_MODE,e[n("0x4848")]]}})),e[t("0x28be")]("mercury",(function(e){var n=t,a={keyword:"module use_module import_module include_module end_module initialise "+n("0x49b2")+n("0x4e3d")+n("0x4c14")+n("0x4104")+n("0x2ce2")+"require_cc_multi require_cc_nondet require_erroneous require_failure",meta:n("0x236b")+n("0x3b34")+n("0x3b91")+n("0x3e13")+"foreign_import_module foreign_export_enum foreign_export "+n("0x3c21")+"not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state "+n("0x1ee2")+"may_modify_trail will_not_modify_trail may_duplicate "+n("0xe19")+"doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any "+n("0x42b8")},r=e[n("0x4ff9")]("%","$"),i={className:n("0x2231"),begin:n("0x1e80")},o=e[n("0xbe2")](e[n("0xee9")],{relevance:0}),x=e[n("0xbe2")](e[n("0x2b8c")],{relevance:0}),s={className:n("0x134d"),begin:n("0x239b"),relevance:0};x[n("0x2a10")].push(s);var c={className:n("0x21a9"),variants:[{begin:"<=>"},{begin:"<=",relevance:0},{begin:"=>",relevance:0},{begin:n("0x21a7")},{begin:"\\\\/"}]},l={className:"built_in",variants:[{begin:n("0x3591")},{begin:"=",relevance:0}]};return{aliases:["m",n("0xd8b")],keywords:a,contains:[c,l,r,e.C_BLOCK_COMMENT_MODE,i,e[n("0x21e4")],o,x,{begin:/:-/},{begin:/\.$/}]}})),e[t("0x28be")]("mipsasm",(function(e){var n=t;return{case_insensitive:!0,aliases:[n("0x782")],lexemes:"\\.?"+e[n("0x4485")],keywords:{meta:n("0x5a5"),built_in:n("0xef1")+n("0x9da")+n("0x3483")+n("0x228e")+n("0x3d9e")+"$f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 "+n("0x868")+n("0x2a4c")+n("0x484a")+n("0x1ff")},contains:[{className:n("0x2038"),begin:n("0x2a45")+n("0x38cd")+n("0x44ff")+n("0x497b")+n("0x25")+n("0x6fa")+n("0x4439")+"c.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et]).[sd]|(ceil|floor|round|trunc).[lw].[sd]|cfc1|cvt.d.[lsw]|"+n("0x2063")+n("0x46b1")+"msub.[sd]|mth?c1|mul.[ds]|neg.[ds]|nmadd.[ds]|nmsub.[ds]|p[lu][lu].ps|recip.fmt|r?sqrt.[ds]|sdx?c1|sub.[ds]|suxc1|swx?c1|"+n("0x3153")+n("0x165a")+n("0x4f5")+")",end:"\\s"},e[n("0x4ff9")](n("0x436e"),"$"),e[n("0x4848")],e.QUOTE_STRING_MODE,{className:n("0x38b7"),begin:"'",end:n("0x18d4"),relevance:0},{className:n("0x2fdc"),begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:n("0x2231"),variants:[{begin:n("0x2528")},{begin:n("0x4f33")}],relevance:0},{className:n("0x40c6"),variants:[{begin:n("0x1a6f")},{begin:"^\\s*[0-9]+:"},{begin:n("0x213")}],relevance:0}],illegal:"/"}})),e[t("0x28be")](t("0x3d7f"),(function(e){var n=t;return{keywords:n("0x4780")+"registrations theorems schemes requirements begin end definition "+n("0x3fb8")+n("0x3b2f")+n("0x677")+n("0x3ab8")+n("0x11be")+"correctness compatibility coherence symmetry assymetry "+n("0x4456")+n("0x3abf"),contains:[e[n("0x4ff9")]("::","$")]}})),e[t("0x28be")](t("0x4a60"),(function(e){var n=t,a=n("0x84a")+n("0x42c7")+n("0x4dc")+n("0x111c")+"shutdown dump chomp connect getsockname die socketpair close flock exists index shmget"+n("0x4882")+n("0x441e")+n("0x2634")+n("0x36fa")+n("0x3fb7")+"getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr "+n("0x1076")+n("0x1e1a")+"lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and "+n("0x4eba")+"chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach "+n("0x3406")+n("0x2e13")+n("0x10f5"),r={className:n("0x134d"),begin:n("0x34d9"),end:"\\}",keywords:a},i={begin:n("0x3c16"),end:"}"},o={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},x=[e[n("0x28e2")],r,o],s=[o,e.HASH_COMMENT_MODE,e[n("0x4ff9")](n("0x3635"),"\\=cut",{endsWithParent:!0}),i,{className:"string",contains:x,variants:[{begin:n("0x58e"),end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:n("0x3fc3"),end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:n("0x9f4"),end:"\\>",relevance:5},{begin:n("0x7dc"),end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e[n("0x28e2")]]},{begin:"{\\w+}",contains:[],relevance:0},{begin:n("0x2695"),contains:[],relevance:0}]},{className:"number",begin:n("0x66f"),relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+n("0x17a5"),keywords:n("0x48a6"),relevance:0,contains:[e[n("0xb46")],{className:"regexp",begin:n("0x3251"),relevance:10},{className:n("0x242e"),begin:"(m|qr)?/",end:"/[a-z]*",contains:[e[n("0x28e2")]],relevance:0}]},{className:n("0x3349"),beginKeywords:"sub",end:n("0x2caf"),excludeEnd:!0,relevance:5,contains:[e[n("0x3ef7")]]},{begin:n("0x2fb5"),relevance:0},{begin:n("0x2036"),end:n("0xb04"),subLanguage:n("0x4071"),contains:[{begin:n("0x4b70"),end:"$",className:n("0x3cd8")}]}];return r.contains=s,i[n("0x2a10")]=s,{aliases:["pl","pm"],lexemes:/[\w\.]+/,keywords:a,contains:s}})),e[t("0x28be")](t("0x4071"),(function(e){var n=t;return{subLanguage:n("0xbbe"),contains:[{className:"meta",begin:n("0x276")},{begin:n("0x43ee"),end:"$",subLanguage:"perl"},{begin:n("0x859"),end:n("0x2e3e"),subLanguage:"perl",excludeBegin:!0,excludeEnd:!0}]}})),e[t("0x28be")](t("0x4a48"),(function(e){var n=t,a={className:n("0x2231"),relevance:0,variants:[{begin:n("0x493b")},e.NUMBER_MODE]};return{case_insensitive:!0,keywords:{keyword:n("0x652")+"eachin not abstract final select case default const local global field "+n("0x179d")+n("0x1482"),built_in:n("0x406b")+n("0x320b"),literal:n("0x4ee2")},illegal:/\/\*/,contains:[e.COMMENT(n("0x10f9"),n("0x1d70")),e.COMMENT("'","$",{relevance:0}),{className:n("0x3349"),beginKeywords:"function method",end:n("0xc54"),illegal:/\n/,contains:[e[n("0x33ca")]]},{className:"class",beginKeywords:"class interface",end:"$",contains:[{beginKeywords:n("0x1732")},e[n("0x33ca")]]},{className:"built_in",begin:"\\b(self|super)\\b"},{className:"meta",begin:n("0xacb"),end:"$",keywords:{"meta-keyword":"if else elseif endif end then"}},{className:n("0x1439"),begin:"^\\s*strict\\b"},{beginKeywords:n("0x623"),end:"=",contains:[e[n("0x33ca")]]},e[n("0x2b8c")],a]}})),e.registerLanguage(t("0x2dfe"),(function(e){var n=t,a={keyword:"if then not for in while do return else elseif break continue switch and or "+n("0x40cd"),literal:n("0x2169"),built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load "+n("0x2890")+n("0x28dc")+n("0x2ee2")},r="[A-Za-z$_][0-9A-Za-z$_]*",i={className:n("0x134d"),begin:/#\{/,end:/}/,keywords:a},o=[e[n("0xbe2")](e.C_NUMBER_MODE,{starts:{end:n("0x4557"),relevance:0}}),{className:n("0x38b7"),variants:[{begin:/'/,end:/'/,contains:[e[n("0x28e2")]]},{begin:/"/,end:/"/,contains:[e[n("0x28e2")],i]}]},{className:n("0x21a9"),begin:n("0x3230")+e[n("0x4485")]},{begin:"@"+e[n("0x4485")]},{begin:e.IDENT_RE+"\\\\"+e[n("0x4485")]}];i[n("0x2a10")]=o;var x=e[n("0xbe2")](e[n("0x3ef7")],{begin:r}),s="(\\(.*\\))?\\s*\\B[-=]>",c={className:n("0x48ad"),begin:n("0x440c"),returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:a,contains:["self"][n("0x3abc")](o)}]};return{aliases:[n("0x207b")],keywords:a,illegal:/\/\*/,contains:o[n("0x3abc")]([e[n("0x4ff9")]("--","$"),{className:"function",begin:n("0x2713")+r+n("0x36c8")+s,end:"[-=]>",returnBegin:!0,contains:[x,c]},{begin:/[\(,:=]\s*/,relevance:0,contains:[{className:n("0x3349"),begin:s,end:n("0x4d31"),returnBegin:!0,contains:[c]}]},{className:n("0x917"),beginKeywords:n("0x917"),end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:n("0x2096"),endsWithParent:!0,illegal:/[:="\[\]]/,contains:[x]},x]},{className:"name",begin:r+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}})),e[t("0x28be")](t("0x20e9"),(function(e){var n=t;return{case_insensitive:!0,contains:[{beginKeywords:"build create index delete drop explain infer|10 insert merge prepare select update upsert|10",end:/;/,endsWithParent:!0,keywords:{keyword:n("0x3ad1")+"case cast cluster collate collection commit connect continue correlate cover create database "+n("0x3c91")+"else end every except exclude execute exists explain fetch first flatten for force from function grant group gsi having if ignore ilike in include increment index infer inline inner "+n("0x33d9")+n("0x22e5")+n("0x169")+n("0x2d2")+"schema select self semi set show some start statistics string system then to transaction trigger "+n("0x2927")+n("0x600"),literal:n("0x3b3c"),built_in:n("0xd76")+n("0xf92")+"array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull "+n("0x4fee")+n("0xb6a")+n("0x14b7")+"str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode "+n("0x939")+n("0x4052")+n("0x2cb8")+n("0x320")+n("0x1369")},contains:[{className:n("0x38b7"),begin:"'",end:"'",contains:[e[n("0x28e2")]],relevance:0},{className:n("0x38b7"),begin:'"',end:'"',contains:[e[n("0x28e2")]],relevance:0},{className:n("0x40c6"),begin:"`",end:"`",contains:[e[n("0x28e2")]],relevance:2},e[n("0x49a1")],e.C_BLOCK_COMMENT_MODE]},e[n("0x4848")]]}})),e[t("0x28be")](t("0x396a"),(function(e){var n=t,a={className:n("0x3722"),variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:n("0x3174")+e[n("0x8da")]}]},r={endsWithParent:!0,lexemes:n("0x3945"),keywords:{literal:n("0x25f5")+"select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e[n("0xb46")],{className:"string",contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:n("0x26ca"),end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[a]},{className:"regexp",contains:[e[n("0x28e2")],a],variants:[{begin:n("0x4dcf"),end:"\\s|{|;",returnEnd:!0},{begin:n("0x45a9"),end:n("0x2bf2"),returnEnd:!0},{begin:n("0x447f")},{begin:n("0xce4")}]},{className:n("0x2231"),begin:n("0x44fa")},{className:n("0x2231"),begin:n("0x1306"),relevance:0},a]};return{aliases:[n("0x40c4")],contains:[e[n("0xb46")],{begin:e[n("0x8da")]+n("0xf56"),returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e[n("0x8da")]+"\\s",end:n("0x1399"),returnBegin:!0,contains:[{className:n("0x3d26"),begin:e[n("0x8da")],starts:r}],relevance:0}],illegal:n("0x1a26")}})),e[t("0x28be")](t("0x2aec"),(function(e){var n=t;return{aliases:[n("0x202a")],keywords:{keyword:n("0x43dd")+"discard distinct div do elif else end enum except export finally "+n("0x4069")+n("0x3b2d")+n("0x2a3")+n("0x3c6"),literal:n("0x1e38"),built_in:n("0x667")+n("0x1e6f")+n("0x2f9")+n("0x23e7")+"cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:n("0x1439"),begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:n("0x38b7"),begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e[n("0x2b8c")],{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:n("0x2231"),relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e[n("0xb46")]]}})),e[t("0x28be")](t("0x1ec"),(function(e){var n=t,a={keyword:n("0x4fed"),literal:n("0x4b49"),built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},r={className:n("0x134d"),begin:/\$\{/,end:/}/,keywords:a},i={begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:n("0x417f"),begin:/\S+/}]},o={className:n("0x38b7"),contains:[r],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},x=[e[n("0x21e4")],e[n("0xb46")],e[n("0x4848")],o,i];return r[n("0x2a10")]=x,{aliases:[n("0x34a2")],keywords:a,contains:x}})),e[t("0x28be")]("nsis",(function(e){var n=t,a={className:n("0x3722"),begin:/\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/},r={className:n("0x3722"),begin:/\$+{[\w\.:-]+}/},i={className:n("0x3722"),begin:/\$+\w+/,illegal:/\(\){}/},o={className:n("0x3722"),begin:/\$+\([\w\^\.:-]+\)/},x={className:n("0x48ad"),begin:n("0x3021")},s={className:n("0x917"),begin:/\w+\:\:\w+/},c={className:n("0x38b7"),variants:[{begin:'"',end:'"'},{begin:"'",end:"'"},{begin:"`",end:"`"}],illegal:/\n/,contains:[{className:"meta",begin:/\$(\\[nrt]|\$)/},a,r,i,o]};return{case_insensitive:!1,keywords:{keyword:n("0x3000"),literal:n("0x16cf")},contains:[e[n("0xb46")],e.C_BLOCK_COMMENT_MODE,e[n("0x4ff9")](";","$",{relevance:0}),{className:"function",beginKeywords:n("0x3621"),end:"$"},c,{className:"keyword",begin:/\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|searchparse|searchreplace|system|tempfile|undef|verbose|warning)/},r,i,o,x,s,e[n("0x21e4")]]}})),e[t("0x28be")](t("0x1a53"),(function(e){var n=t,a={keyword:"int float while char export sizeof typedef const struct for union "+n("0x11c6")+n("0x318d")+"signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof "+n("0x706")+n("0x1701")+n("0x34b3")+n("0x3453")+n("0x2786")+n("0x2985")+"__covariant __contravariant __kindof "+n("0x3a41")+n("0x2bd8")+n("0x3c3a")+n("0x2b7b")+"NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER "+n("0x3dd8")+"NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END "+n("0x13c1")+n("0xbcc"),literal:n("0x6ff"),built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},r=/[a-zA-Z@][a-zA-Z0-9_]*/,i=n("0x22f2");return{aliases:["mm",n("0x4390"),n("0x3890")],keywords:a,lexemes:r,illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e[n("0x2d29")],e.C_BLOCK_COMMENT_MODE,e[n("0x49a1")],e[n("0x2b8c")],{className:n("0x38b7"),variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e[n("0x28e2")]]},{begin:"'",end:"[^\\\\]'",illegal:n("0x1bd")}]},{className:n("0x1439"),begin:"#",end:"$",contains:[{className:"meta-string",variants:[{begin:'"',end:'"'},{begin:"<",end:">"}]}]},{className:n("0x917"),begin:"("+i[n("0x9e5")](" ").join("|")+n("0x1a60"),end:n("0xbb6"),excludeEnd:!0,keywords:i,lexemes:r,contains:[e[n("0x33ca")]]},{begin:"\\."+e[n("0x8da")],relevance:0}]}})),e.registerLanguage("ocaml",(function(e){var n=t;return{aliases:["ml"],keywords:{keyword:"and as assert asr begin class constraint do done downto else end "+n("0x2d30")+n("0x1d6")+"mod module mutable new object of open! open or private rec sig struct "+n("0x48ac")+n("0x33c0"),built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:n("0x8c9")},illegal:/\/\/|>>/,lexemes:"[a-z_]\\w*!?",contains:[{className:n("0x235f"),begin:n("0x4613"),relevance:0},e.COMMENT(n("0x25fe"),n("0x5ae"),{contains:[n("0xaf2")]}),{className:n("0x40c6"),begin:n("0xbea")},{className:"type",begin:"`[A-Z][\\w']*"},{className:n("0x3298"),begin:n("0x1364"),relevance:0},{begin:n("0x3133"),relevance:0},e.inherit(e[n("0xee9")],{className:n("0x38b7"),relevance:0}),e[n("0xbe2")](e[n("0x2b8c")],{illegal:null}),{className:n("0x2231"),begin:n("0x2227")+n("0x4331")+n("0x12a3")+n("0x30e2"),relevance:0},{begin:/[-=]>/}]}})),e.registerLanguage(t("0x2dcb"),(function(e){var n=t,a={className:n("0x2038"),begin:n("0x4a58")},r={className:n("0x2231"),begin:n("0x353"),relevance:0},i=e[n("0xbe2")](e.QUOTE_STRING_MODE,{illegal:null}),o={className:n("0x1439"),keywords:{"meta-keyword":n("0x3aa4")},begin:n("0x22a8"),end:">"},x={className:"params",begin:"\\(",end:"\\)",contains:[n("0xaf2"),r,i,a,{className:"literal",begin:"false|true|PI|undef"}]},s={begin:n("0x1d1a"),relevance:0},c={className:"function",beginKeywords:"module function",end:"\\=|\\{",contains:[x,e[n("0x33ca")]]};return{aliases:["scad"],keywords:{keyword:"function module include use for intersection_for if else \\%",literal:n("0x402e"),built_in:n("0x3e35")},contains:[e.C_LINE_COMMENT_MODE,e[n("0x4848")],r,o,i,a,s,c]}})),e[t("0x28be")](t("0x26d0"),(function(e){var n=t,a=n("0x1868")+n("0x492e")+"final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of "+n("0x4585")+"record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal "+n("0x2337"),r=e.COMMENT("{","}",{relevance:0}),i=e[n("0x4ff9")](n("0x25fe"),n("0x5ae"),{relevance:10}),o={className:n("0x38b7"),begin:"'",end:"'",contains:[{begin:"''"}]},x={className:"string",begin:"(#\\d+)+"},s={className:"function",beginKeywords:n("0x4f89"),end:n("0x3cfb"),keywords:n("0x1b09"),contains:[e.TITLE_MODE,{className:n("0x48ad"),begin:"\\(",end:"\\)",keywords:a,contains:[o,x]},r,i]};return{case_insensitive:!0,lexemes:/\.?\w+/,keywords:a,illegal:n("0x125"),contains:[r,i,e[n("0x2d29")],o,x,e[n("0x21e4")],s,{className:n("0x917"),begin:n("0x4718"),end:n("0x13c5"),keywords:a,contains:[o,x,r,i,e[n("0x2d29")],s]}]}})),e.registerLanguage("parser3",(function(e){var n=t,a=e.COMMENT("{","}",{contains:[n("0xaf2")]});return{subLanguage:n("0xbbe"),relevance:0,contains:[e[n("0x4ff9")]("^#","$"),e[n("0x4ff9")](n("0x3d08"),"}",{relevance:10,contains:[a]}),{className:n("0x1439"),begin:n("0x229d"),relevance:10},{className:n("0x2fdc"),begin:n("0xbfd")},{className:"variable",begin:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{className:n("0x2038"),begin:"\\^[\\w\\-\\.\\:]+"},{className:n("0x2231"),begin:n("0x378d")},e.C_NUMBER_MODE]}})),e[t("0x28be")]("pf",(function(e){var n=t,a={className:n("0x3722"),begin:/<(?!\/)/,end:/>/};return n("0x38b7"),{aliases:[n("0x22ef")],lexemes:/[a-z0-9_<>-]+/,keywords:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:n("0xa04")+n("0x386e")+n("0x1e24")+n("0x1a05")+n("0x3418")+"source-hash static-port"+n("0x3145")+n("0x29bd")+n("0x434b")+"reassemble ruleset-optimization basic none profile skip state-defaults"+n("0x4a4d")+n("0x207")+n("0x4978")+n("0x1916")+n("0x32c2")+n("0x141"),literal:n("0x3300")},contains:[e.HASH_COMMENT_MODE,e[n("0x21e4")],e.QUOTE_STRING_MODE,{className:"variable",begin:/\$[\w\d#@][\w\d_]*/},a]}})),e[t("0x28be")]("pgsql",(function(e){var n=t,a=e[n("0x4ff9")]("--","$"),r=n("0x1ad0"),i=n("0x4fdf"),o=n("0x30e")+r+"\\s*>>",x=n("0x4b66")+n("0x78c")+n("0x2bb6")+n("0x21ce")+n("0x2e58")+n("0x47ce")+"FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS "+n("0x70a")+n("0x993")+n("0x268e")+n("0x7c4")+"DEFERRABLE RANGE "+n("0x4cb8")+"ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN "+n("0x5d9")+"BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN "+n("0x2393")+"TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN "+n("0xbe")+n("0x325b")+n("0x4b69")+n("0x18d0")+n("0x19e3")+n("0x3223")+"RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS "+n("0x108e")+n("0x3ca4")+n("0x494e")+n("0xf34")+n("0x3fca")+n("0x4a80"),s=n("0x1465")+n("0x1c75")+n("0x4628"),c=n("0x3741")+n("0x5d5")+"MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 "+n("0x483e")+n("0x3c86")+n("0x3e9c")+n("0x9fc")+"RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR "+n("0x347c")+"OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 "+n("0x20e5"),l=c[n("0x2dc4")]().split(" ")[n("0x19e8")]((function(e){return e[n("0x9e5")]("|")[0]}))[n("0xc60")]("|"),d=n("0x4c2b")+"CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC ",u=n("0x3959")+n("0x2503")+n("0x330")+n("0x753")+n("0x3dbf"),f="SQLSTATE SQLERRM|10 "+n("0xe74")+n("0x196f")+n("0x3163")+"SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE "+n("0x2833")+n("0x32c6")+n("0x48c1")+n("0x3b81")+n("0xb34")+n("0xc21")+n("0x220")+n("0xd6f")+n("0x4da0")+n("0xb22")+n("0x33ab")+n("0x2e80")+n("0x1f72")+n("0x2e88")+n("0x1789")+n("0x475b")+n("0x36e3")+n("0x2eef")+n("0x1c9d")+n("0x42cd")+n("0x2076")+n("0x4605")+n("0x2fb0")+n("0x2add")+"HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION "+n("0x1413")+n("0x3e4e")+n("0x2284")+n("0x2bf8")+n("0xe83")+n("0x17e")+n("0x5da")+n("0x1323")+n("0x21f9")+n("0x919")+n("0xefb")+n("0x4e84")+"TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED "+n("0x6e4")+n("0x3711")+"SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED "+n("0x4bc7")+"GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH "+n("0x3515")+"UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION "+n("0x32f7")+"DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS "+n("0x1f7f")+n("0x2176")+n("0x2191")+n("0x31f8")+n("0x4af3")+n("0x2a05")+n("0x46e3")+n("0x307e")+n("0x4c2f")+"LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED "+n("0x4b0c")+n("0x7c1")+"FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS "+n("0x20e4")+"FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH "+n("0x38ea")+n("0x24e1")+n("0x355a")+"FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR "+n("0x2a62")+"INDEX_CORRUPTED ",m=(n("0x454d")+n("0x2165")+"CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE "+n("0x3222")+n("0x487f")+n("0xc34")+n("0x4100")+n("0xebe")+n("0x3122")+n("0x4936")+n("0x1930")+n("0x4b12")+"ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP"+n("0x3016")+n("0x3eac")+n("0x13b9")+n("0x2c44")+n("0x3592")+n("0x37f")+n("0x1fde")+n("0x4bd3")+n("0x296e")+n("0x2652")+n("0x240b")+n("0x4426")+n("0x2962")+n("0x1bb8")+n("0x33c9")+"QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE "+n("0x1948")+n("0x575")+n("0xb23")+n("0x177b")+n("0x3ec1")+n("0x1a57")+n("0x1077")+"CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA "+n("0x3466")+"XMLATTRIBUTES "+n("0x1380")+n("0x38b9")+n("0x4423")+n("0x4ba2")+n("0xa49")+n("0xa80")+n("0x9b5")+n("0x1ede")+"COALESCE NULLIF GREATEST LEAST "+n("0xcef")+"ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY "+n("0x143")+n("0x4f2b")+n("0x32eb")+n("0x19cb")+n("0x1d34")+"TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE "+n("0x2120")+"TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX "+n("0x37b8")+n("0x3922")+n("0x2108")+n("0x1cf7")+n("0x2663")+n("0x4872"))[n("0x2dc4")]()[n("0x9e5")](" ")[n("0x19e8")]((function(e){return e.split("|")[0]}))[n("0xc60")]("|");return{aliases:["postgres",n("0x37ad")],case_insensitive:!0,keywords:{keyword:x+s+"SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ",built_in:d+u+f},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|{{|[a-z]:\s*$|\.\.\.|TO:|DO:/,contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{begin:/\bGROUPING\s+SETS\b/},{begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/,keywords:n("0x3bd8")},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/},{begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:!0,keywords:{type:n("0x2617")+"MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR "+n("0xc5a")}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:n("0x4849")}},{begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{keyword:n("0xa7")}},{beginKeywords:n("0x2e97"),end:e[n("0x762")],returnEnd:!0,keywords:n("0x4b7b")},{className:n("0x3298"),begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:n("0x3298"),begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/},{begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:n("0x428e")}},{begin:n("0x2a45")+m+n("0x1d9e")},{begin:n("0x3158")+l+")\\b"},{begin:"\\b("+l+")\\s+PATH\\b",keywords:{keyword:n("0x10a5"),type:c[n("0x3cc0")](n("0x358a"),"")}},{className:"type",begin:n("0x2a45")+l+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:n("0x38b7"),begin:n("0x2d83"),end:"'",contains:[{begin:n("0x1927")}],relevance:10},{begin:i,endSameAsBegin:!0,contains:[{subLanguage:["pgsql","perl",n("0x2906"),n("0x43b4"),"r","lua","java",n("0x3e39"),"ruby",n("0x4032"),n("0x23b9"),n("0xbbe"),n("0x1344")],endsWithParent:!0}]},{begin:'"',end:'"',contains:[{begin:'""'}]},e[n("0x49a1")],e[n("0x4848")],a,{className:n("0x1439"),variants:[{begin:n("0x4225"),relevance:10},{begin:n("0x496a")},{begin:"^#\\w",end:"$"}]},{className:"symbol",begin:o,relevance:10}]}})),e[t("0x28be")](t("0x3e39"),(function(e){var n=t,a={begin:n("0x24cd")},r={className:n("0x1439"),begin:/<\?(php)?|\?>/},i={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e[n("0xbe2")](e[n("0xee9")],{illegal:null}),e[n("0xbe2")](e[n("0x2b8c")],{illegal:null})]},o={variants:[e[n("0xd50")],e.C_NUMBER_MODE]};return{aliases:[n("0x3e39"),n("0x2c05"),n("0x2c7"),n("0x4abf"),n("0xf9b"),"php7"],case_insensitive:!0,keywords:n("0x2c27")+n("0x14bb")+n("0x71a")+n("0x1954")+"catch __METHOD__ case exception default die require __FUNCTION__ "+n("0x3023")+n("0x41f0")+n("0x2979"),contains:[e[n("0xb46")],e[n("0x4ff9")]("//","$",{contains:[r]}),e[n("0x4ff9")]("/\\*","\\*/",{contains:[{className:n("0x62d"),begin:"@[A-Za-z]+"}]}),e[n("0x4ff9")](n("0x321c"),!1,{endsWithParent:!0,keywords:n("0x165b"),lexemes:e[n("0x8da")]}),{className:n("0x38b7"),begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e[n("0x28e2")],{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},r,{className:n("0x2038"),begin:/\$this\b/},a,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:n("0x3349"),beginKeywords:n("0x3349"),end:/[;{]/,excludeEnd:!0,illegal:n("0x4057"),contains:[e[n("0x33ca")],{className:"params",begin:"\\(",end:"\\)",contains:[n("0xaf2"),a,e.C_BLOCK_COMMENT_MODE,i,o]}]},{className:n("0x917"),beginKeywords:n("0x2b37"),end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:n("0x1732")},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:n("0x4939"),end:";",illegal:/[\.']/,contains:[e[n("0x33ca")]]},{beginKeywords:n("0x127d"),end:";",contains:[e[n("0x33ca")]]},{begin:"=>"},i,o]}})),e.registerLanguage(t("0x21ff"),(function(e){return{disableAutodetect:!0}})),e[t("0x28be")]("pony",(function(e){var n=t,a={keyword:n("0x3eb0")+"consume continue delegate digestof do else elseif embed end error "+n("0x4be0")+n("0x2b1f")+"use var where while with xor",meta:n("0x27ba"),literal:n("0x46c1")},r={className:"string",begin:n("0x259b"),end:'"""',relevance:10},i={className:n("0x38b7"),begin:'"',end:'"',contains:[e[n("0x28e2")]]},o={className:"string",begin:"'",end:"'",contains:[e[n("0x28e2")]],relevance:0};return{keywords:a,contains:[{className:"type",begin:n("0x47b0"),relevance:0},r,i,o,{begin:e[n("0x4485")]+"'",relevance:0},{className:"number",begin:"(-?)(\\b0[xX][a-fA-F0-9]+|\\b0[bB][01]+|(\\b\\d+(_\\d+)?(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",relevance:0},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}})),e[t("0x28be")]("powershell",(function(e){var n=t,a={begin:n("0x2abb"),relevance:0},r={className:n("0x3722"),variants:[{begin:/\$[\w\d][\w\d_:]*/}]},i={className:n("0x235f"),begin:/\$(null|true|false)\b/},o={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[a,r,{className:n("0x3722"),begin:/\$[A-z]/,end:/[^A-z]/}]},x={className:n("0x38b7"),variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},s={className:n("0x62d"),variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]},c=e[n("0xbe2")](e.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[s]});return{aliases:["ps",n("0x28d3")],lexemes:/-?[A-z\.\-]+/,case_insensitive:!0,keywords:{keyword:n("0x2251")+n("0xc30")+"IsPatternMatched ",built_in:n("0x2ed6")+n("0xd8")+n("0x4c1f")+"ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan "+n("0x1d2")+n("0x3946")+"Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias "+n("0x32fb")+n("0x2457")+"Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process "+n("0xc70")+n("0x4e8d")+n("0x2fbf")+n("0x25d7")+n("0x4ea9")+n("0x14b4")+n("0x1105")+n("0x3438")+n("0x813")+n("0x16fb")+n("0xbdb")+n("0x3111")+n("0x33a1")+n("0xf21")+"Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug "+n("0x2a2a")+n("0x2b9c")+n("0x3889")+"Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile "+n("0x3cb0")+n("0x13c")+n("0x368b")+n("0x40d6")+n("0x2127")+n("0x36d2")+n("0x4932")+"Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId "+n("0xde9")+"Add-NsxDynamicCriteria Add-NsxDynamicMemberSet Add-NsxEdgeInterfaceAddress Add-NsxFirewallExclusionListMember Add-NsxFirewallRuleMember "+n("0xe69")+n("0x227d")+"Add-NsxTransportZoneMember Add-PassthroughDevice Add-VDSwitchPhysicalNetworkAdapter Add-VDSwitchVMHost Add-VMHost Add-VMHostNtpServer "+n("0x4031")+n("0x1df0")+"Connect-HCXServer Connect-NIServer Connect-NsxLogicalSwitch Connect-NsxServer Connect-NsxtServer Connect-SrmServer Connect-VIServer "+n("0x1063")+n("0x288d")+n("0x41ff")+"Disconnect-VIServer Disconnect-Vmc Disconnect-vRAServer Disconnect-vRNIServer Dismount-Tools Enable-NsxEdgeSsh Enable-RunspaceDebug "+n("0x44d2")+n("0x145c")+n("0x448a")+n("0x2253")+n("0x4e6e")+"Get-CIVMTemplate Get-CIView Get-Catalog Get-CisCommand Get-CisService Get-CloudCommand Get-Cluster Get-CompatibleVersionAddtionaPropertiesStr "+n("0x4550")+n("0x416e")+"Get-EncryptedPassword Get-ErrorReport Get-EsxCli Get-EsxTop Get-ExternalNetwork Get-FileHash Get-FloppyDrive Get-Folder Get-HAPrimaryVMHost "+n("0x50c")+n("0x15fb")+n("0x4f16")+"Get-InnerMostErrorRecord Get-InstallPath Get-InstalledModule Get-InstalledScript Get-Inventory Get-ItemPropertyValue Get-KeyManagementServer "+n("0x26d2")+n("0x2d26")+"Get-NsxCliDfwFilter Get-NsxCliDfwRule Get-NsxClusterStatus Get-NsxController Get-NsxDynamicCriteria Get-NsxDynamicMemberSet Get-NsxEdge Get-NsxEdgeBgp "+n("0x3415")+n("0x1d83")+n("0xb16")+n("0x1305")+n("0x26ee")+n("0x1300")+n("0x2a90")+n("0x1ef6")+n("0x4297")+n("0xa6c")+n("0x42d3")+n("0xcac")+n("0x4034")+n("0x19fc")+n("0x404e")+n("0x2de3")+n("0x28b6")+"Get-PositionInfo Get-PowerCLICommunity Get-PowerCLIConfiguration Get-PowerCLIHelp Get-PowerCLIVersion Get-PowerNsxVersion Get-ProviderVdc Get-PublicKeyFromFile "+n("0x373d")+n("0xe6f")+n("0x2a99")+n("0x4c23")+n("0x370e")+n("0x2e45")+"Get-VMHostDiagnosticPartition Get-VMHostDisk Get-VMHostDiskPartition Get-VMHostFirewallDefaultPolicy Get-VMHostFirewallException Get-VMHostFirmware Get-VMHostHardware "+n("0x3d5d")+"Get-VMHostProfileImageCacheConfiguration Get-VMHostProfileRequiredInput Get-VMHostProfileStorageDeviceConfiguration Get-VMHostProfileUserConfiguration "+n("0x79e")+"Get-VMResourceConfiguration Get-VMStartPolicy Get-VTpm Get-VTpmCSR Get-VTpmCertificate Get-VasaProvider Get-VasaStorageArray Get-View Get-VirtualPortGroup Get-VirtualSwitch "+n("0x2cc8")+n("0x132a")+n("0x2ce3")+n("0x4eda")+n("0x270b")+n("0x92a")+n("0xf7c")+"Get-vRAReservationComputeResourceNetwork Get-vRAReservationComputeResourceResourcePool Get-vRAReservationComputeResourceStorage Get-vRAReservationPolicy "+n("0x3b32")+n("0x105")+n("0x41c0")+n("0x1bcf")+"Get-vRNIEntityName Get-vRNIFirewallRule Get-vRNIFlow Get-vRNIHost Get-vRNIHostVMKNic Get-vRNIIPSet Get-vRNIL2Network Get-vRNINSXManager Get-vRNINodes Get-vRNIProblem "+n("0x4f38")+n("0x2e33")+n("0x2937")+n("0x3e31")+n("0x4e8a")+n("0x3b36")+n("0x111d")+"New-AlarmActionTrigger New-CDDrive New-CIAccessControlRule New-CIVApp New-CIVAppNetwork New-CIVAppTemplate New-CIVM New-Cluster New-CustomAttribute New-Datacenter New-Datastore New-DatastoreCluster New-DatastoreDrive New-DrsClusterGroup New-DrsRule New-DrsVMHostRule New-DscChecksum New-FloppyDrive New-Folder New-Guid New-HCXAppliance New-HCXMigration "+n("0x978")+"New-NetworkAdapter New-NfsUser New-NsxAddressSpec New-NsxClusterVxlanConfig New-NsxController New-NsxDynamicCriteriaSpec New-NsxEdge New-NsxEdgeBgpNeighbour New-NsxEdgeCsr "+n("0x4468")+n("0x3f35")+n("0x1e66")+n("0xcc8")+n("0xf94")+n("0xfc3")+"New-NsxSecurityPolicyFirewallRuleSpec New-NsxSecurityPolicyGuestIntrospectionSpec New-NsxSecurityPolicyNetworkIntrospectionSpec New-NsxSecurityTag New-NsxSecurityTagAssignment "+n("0x15fd")+n("0x376")+"New-OrgVdcNetwork New-ResourcePool New-ScriptFileInfo New-ScsiController New-Snapshot New-SpbmRule New-SpbmRuleSet New-SpbmStoragePolicy New-StatInterval New-Tag "+n("0x319")+n("0x2c4a")+n("0x3fde")+n("0x10bb")+n("0x4170")+n("0x20c9")+n("0x2f31")+n("0x4f66")+n("0x184a")+n("0x853")+n("0x3a7e")+"Remove-NetworkAdapter Remove-NfsUser Remove-NsxCluster Remove-NsxClusterVxlanConfig Remove-NsxController Remove-NsxDynamicCriteria Remove-NsxDynamicMemberSet Remove-NsxEdge "+n("0x2c4")+n("0x7ba")+n("0x4dc1")+n("0x2d86")+n("0x27ea")+n("0x3a32")+n("0x3566")+"Remove-NsxSecurityPolicyRule Remove-NsxSecurityPolicyRuleGroup Remove-NsxSecurityPolicyRuleService Remove-NsxSecurityTag Remove-NsxSecurityTagAssignment "+n("0x1451")+n("0x17f7")+"Remove-OSCustomizationSpec Remove-Org Remove-OrgNetwork Remove-OrgVdc Remove-OrgVdcNetwork Remove-PSReadLineKeyHandler Remove-PassthroughDevice Remove-ResourcePool "+n("0x167d")+n("0x102d")+"Remove-VIPermission Remove-VIProperty Remove-VIRole Remove-VM Remove-VMHost Remove-VMHostAccount Remove-VMHostNetworkAdapter Remove-VMHostNtpServer Remove-VMHostProfile "+n("0x4f83")+"Remove-VirtualSwitchPhysicalNetworkAdapter Remove-VsanDisk Remove-VsanDiskGroup Remove-VsanFaultDomain Remove-VsanIscsiInitiatorGroup "+n("0x481a")+n("0x1091")+n("0x1237")+n("0x18ee")+n("0x3bd3")+"Restart-VMHost Restart-VMHostService Resume-HCXReplication Revoke-NsxSpoofguardNicApproval Save-Module Save-Package Save-Script Search-Cloud Set-AdvancedSetting "+n("0xe8f")+n("0x397f")+n("0x1828")+n("0x4649")+n("0x3c84")+n("0x1a80")+n("0x49ff")+n("0x372e")+n("0x3d4a")+n("0x2b70")+"Set-SpbmStoragePolicy Set-StatInterval Set-Tag Set-TagCategory Set-Template Set-VAIOFilter Set-VApp Set-VDBlockedPolicy Set-VDPort Set-VDPortgroup Set-VDPortgroupOverridePolicy "+n("0x1671")+n("0x2c99")+n("0x3fd9")+n("0xe02")+n("0x2670")+"Set-VsanClusterConfiguration Set-VsanFaultDomain Set-VsanIscsiInitiatorGroup Set-VsanIscsiLun Set-VsanIscsiTarget Set-vRABusinessGroup Set-vRACatalogItem Set-vRACustomForm "+n("0x397a")+"Set-vRARoutedNetworkProfile Set-vRAService Set-vRAStorageReservationPolicy Set-vRATenant Set-vRATenantDirectory Set-vRAUserPrincipal Set-vRNIDataSourceSNMPConfig Show-Markdown Start-CIVApp Start-CIVM Start-HCXMigration Start-HCXReplication Start-SpbmReplicationFailover Start-SpbmReplicationPrepareFailover Start-SpbmReplicationPromote "+n("0xb98")+n("0x2777")+n("0x54e")+n("0x12c4")+"Test-NodeResourceSource Test-NodeResources Test-ScriptFileInfo Test-VMHostProfileCompliance Test-VMHostSnmp Test-VsanClusterHealth Test-VsanNetworkPerformance "+n("0x3717")+n("0xc72")+n("0x3c46")+n("0xea7"),nomarkup:n("0x3c17")},contains:[a,e[n("0x21e4")],o,x,i,r,c]}})),e[t("0x28be")](t("0x3f07"),(function(e){var n=t;return{keywords:{keyword:n("0x10f7")+n("0x1a77")+n("0xd95")+n("0x27a1")+n("0x4ba7")+n("0x187f")+n("0x4a91"),literal:n("0x324d"),title:n("0x1a9"),built_in:n("0x5ad")+n("0x4317")+"size createGraphics beginDraw createShape loadShape PShape arc ellipse line point "+n("0x2b9e")+n("0x1691")+n("0xf8a")+n("0x1a65")+n("0x3485")+n("0x4870")+"blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY "+n("0x1a4a")+"ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings "+n("0x26b9")+"createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings "+n("0x1c70")+n("0x48ee")+"pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont "+n("0xb31")+"constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees "+n("0x4e72")},contains:[e.C_LINE_COMMENT_MODE,e[n("0x4848")],e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e[n("0x49a1")]]}})),e[t("0x28be")](t("0x43bf"),(function(e){var n=t;return{contains:[e[n("0x49a1")],{begin:n("0x1db3"),end:":",excludeEnd:!0},{begin:n("0x12db"),end:"$",keywords:n("0x3f69"),relevance:10},{begin:"function calls",end:"$",contains:[e[n("0x49a1")]],relevance:10},e[n("0xee9")],e.QUOTE_STRING_MODE,{className:"string",begin:"\\(",end:n("0x4942"),excludeBegin:!0,excludeEnd:!0,relevance:0}]}})),e.registerLanguage(t("0x4547"),(function(e){var n=t,a={className:n("0x40c6"),variants:[{begin:/[A-Z][a-zA-Z0-9_]*/},{begin:/_[A-Za-z0-9_]*/}],relevance:0},r={begin:/\(/,end:/\)/,relevance:0},i={begin:/\[/,end:/\]/},o={className:n("0x3cd8"),begin:/%/,end:/$/,contains:[e[n("0x31fb")]]},x={className:"string",begin:/`/,end:/`/,contains:[e[n("0x28e2")]]},s={className:n("0x38b7"),begin:/0\'\\s/},c=[{begin:/[a-z][A-Za-z0-9_]*/,relevance:0},a,r,{begin:/:-/},i,o,e[n("0x4848")],e[n("0x2b8c")],e[n("0xee9")],x,{className:"string",begin:/0\'(\\\'|.)/},s,e[n("0x49a1")]];return r[n("0x2a10")]=c,i[n("0x2a10")]=c,{contains:c[n("0x3abc")]([{begin:/\.$/}])}})),e[t("0x28be")](t("0xc5f"),(function(e){var n=t,a=n("0xbfc"),r="("+a+n("0x1f0f")+a+"|[ \\t\\f]+)",i=n("0x331c"),o="([^\\\\:= \\t\\f\\n]|\\\\.)+",x={end:r,relevance:0,starts:{className:n("0x38b7"),end:/$/,relevance:0,contains:[{begin:n("0x28c4")}]}};return{case_insensitive:!0,illegal:/\S/,contains:[e[n("0x4ff9")](n("0x7fc"),"$"),{begin:i+r,returnBegin:!0,contains:[{className:n("0x417f"),begin:i,endsParent:!0,relevance:0}],starts:x},{begin:o+r,returnBegin:!0,relevance:0,contains:[{className:n("0x1439"),begin:o,endsParent:!0,relevance:0}],starts:x},{className:n("0x417f"),relevance:0,begin:o+a+"$"}]}})),e.registerLanguage(t("0x3571"),(function(e){var n=t;return{keywords:{keyword:n("0x177a"),built_in:"double float int32 int64 uint32 uint64 sint32 sint64 "+n("0x4da3"),literal:n("0x8c9")},contains:[e.QUOTE_STRING_MODE,e[n("0x21e4")],e[n("0x2d29")],{className:n("0x917"),beginKeywords:"message enum service",end:/\{/,illegal:/\n/,contains:[e.inherit(e[n("0x3ef7")],{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:n("0x3349"),beginKeywords:n("0x312c"),end:/;/,excludeEnd:!0,keywords:"rpc returns"},{begin:/^\s*[A-Z_]+/,end:/\s*=/,excludeEnd:!0}]}})),e.registerLanguage(t("0x433a"),(function(e){var n=t,a={keyword:n("0x4b3c"),literal:n("0x4294")+"owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check "+n("0x4454")+n("0x32c4")+n("0x207e")+n("0xcce")+n("0x1d5f")+n("0x331d")+n("0x144")+n("0x1618")+"responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running "+n("0x4250")+"password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled "+n("0x28c8")+"priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey "+n("0x49e1"),built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers "+n("0x1528")+n("0x8aa")+n("0x387")+n("0x4dd6")+n("0x174a")+n("0x4b")+"rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced "+n("0x3265")+n("0x3683")},r=e[n("0x4ff9")]("#","$"),i="([A-Za-z_]|::)(\\w|::)*",o=e[n("0xbe2")](e[n("0x3ef7")],{begin:i}),x={className:n("0x3722"),begin:"\\$"+i},s={className:n("0x38b7"),contains:[e[n("0x28e2")],x],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]};return{aliases:["pp"],contains:[r,x,s,{beginKeywords:n("0x917"),end:n("0x20b"),illegal:/=/,contains:[o,r]},{beginKeywords:n("0xa51"),end:/\{/,contains:[{className:n("0x855"),begin:e[n("0x4485")],endsParent:!0}]},{begin:e[n("0x4485")]+n("0x136"),returnBegin:!0,end:/\S/,contains:[{className:n("0x2038"),begin:e.IDENT_RE},{begin:/\{/,end:/\}/,keywords:a,relevance:0,contains:[s,r,{begin:n("0x146a"),returnBegin:!0,end:"=>",contains:[{className:"attr",begin:e[n("0x4485")]}]},{className:n("0x2231"),begin:n("0x66f"),relevance:0},x]}],relevance:0}]}})),e[t("0x28be")](t("0x4147"),(function(e){var n=t,a={className:n("0x38b7"),begin:n("0x6c0"),end:'"',illegal:"\\n"},r={className:n("0x40c6"),begin:n("0x3ecf")};return{aliases:["pb",n("0x12a4")],keywords:n("0xfd4")+"CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default "+n("0x3eb7")+n("0x40bd")+n("0x3bd4")+"EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends "+n("0x1350")+n("0x4d82")+n("0x1601")+"ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim "+n("0x25df")+"StructureUnion Swap Threaded To UndefineMacro Until Until  UnuseModule "+n("0x3dd3"),contains:[e[n("0x4ff9")](";","$",{relevance:0}),{className:n("0x3349"),begin:"\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",end:"\\(",excludeEnd:!0,returnBegin:!0,contains:[{className:n("0x2038"),begin:n("0x11c9"),excludeEnd:!0},{className:"type",begin:n("0x20ba")},e[n("0x33ca")]]},a,r]}})),e[t("0x28be")]("python",(function(e){var n=t,a={keyword:n("0x411c")+n("0x26f")+n("0x2413"),built_in:"Ellipsis NotImplemented",literal:n("0x1b94")},r={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:n("0x134d"),begin:/\{/,end:/\}/,keywords:a,illegal:/#/},o={begin:/\{\{/,relevance:0},x={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e[n("0x28e2")],r],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e[n("0x28e2")],r,o,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e[n("0x28e2")],r,o,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,o,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e[n("0x28e2")],o,i]},e[n("0xee9")],e[n("0x2b8c")]]},s={className:n("0x2231"),relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+n("0xdf1")},{begin:n("0x4e88")},{begin:e[n("0x762")]+n("0xdf1")}]},c={className:"params",begin:/\(/,end:/\)/,contains:[n("0xaf2"),r,s,x,e[n("0xb46")]]};return i[n("0x2a10")]=[x,s,r],{aliases:["py",n("0xf0e"),n("0xcd2")],keywords:a,illegal:/(<\/|->|\?)|=>/,contains:[r,s,x,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:n("0x2c04")},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,c,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:n("0x1439"),begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}})),e[t("0x28be")]("q",(function(e){var n=t,a={keyword:n("0x990"),literal:"0b 1b",built_in:n("0xe68"),type:n("0x17be")};return{aliases:["k",n("0x40bb")],keywords:a,lexemes:/(`?)[A-Za-z0-9_]+\b/,contains:[e[n("0x2d29")],e[n("0x2b8c")],e[n("0x49a1")]]}})),e.registerLanguage(t("0x3d7c"),(function(e){var n=t,a={keyword:n("0x37e")+n("0x229")+n("0x685"),literal:n("0x11bf"),built_in:n("0x638")+n("0x3c3b")+n("0x4c58")+n("0x1307")+n("0x5e5")+"Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect "+n("0x3003")+n("0x34ab")+"size string url variant vector2d vector3d vector4dPromise"},r="[a-zA-Z_][a-zA-Z0-9\\._]*",i={className:"keyword",begin:n("0x46bd"),starts:{className:"string",end:n("0x1c8d"),returnEnd:!0}},o={className:n("0x2038"),begin:n("0x4ade"),starts:{className:n("0x38b7"),end:"(\\(|:|=|;|,|//|/\\*|$)",returnEnd:!0}},x={className:"attribute",begin:n("0x1e2c"),starts:{className:n("0x38b7"),end:r,returnEnd:!1}},s={begin:r+n("0x1cc3"),returnBegin:!0,contains:[{className:n("0x3d26"),begin:r,end:n("0x1cc3"),excludeEnd:!0,relevance:0}],relevance:0},c={begin:r+n("0x4003"),end:"{",returnBegin:!0,relevance:0,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:r})]};return{aliases:["qt"],case_insensitive:!1,keywords:a,contains:[{className:n("0x1439"),begin:/^\s*['"]use (strict|asm)['"]/},e[n("0xee9")],e[n("0x2b8c")],{className:n("0x38b7"),begin:"`",end:"`",contains:[e[n("0x28e2")],{className:n("0x134d"),begin:"\\$\\{",end:"\\}"}]},e[n("0x2d29")],e[n("0x4848")],{className:"number",variants:[{begin:n("0x3254")},{begin:n("0x3a53")},{begin:e[n("0x762")]}],relevance:0},{begin:"("+e[n("0x3668")]+n("0x4a30"),keywords:n("0x4b09"),contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0x7c6")],{begin:/</,end:/>\s*[);\]]/,relevance:0,subLanguage:n("0xbbe")}],relevance:0},o,i,{className:"function",beginKeywords:n("0x3349"),end:/\{/,excludeEnd:!0,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:n("0x48ad"),begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[e[n("0x2d29")],e[n("0x4848")]]}],illegal:/\[|%/},{begin:"\\."+e.IDENT_RE,relevance:0},x,s,c],illegal:/#/}})),e[t("0x28be")]("r",(function(e){var n=t,a="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{contains:[e[n("0xb46")],{begin:a,lexemes:a,keywords:{keyword:"function if in break next repeat else for return switch while try tryCatch "+n("0x5d4")+n("0x49d0"),literal:n("0xd07")+n("0x137c")},relevance:0},{className:n("0x2231"),begin:n("0x4d76"),relevance:0},{className:n("0x2231"),begin:n("0x14ff"),relevance:0},{className:n("0x2231"),begin:n("0x44d6"),relevance:0},{className:n("0x2231"),begin:n("0x2dea"),relevance:0},{className:n("0x2231"),begin:n("0x43bd"),relevance:0},{begin:"`",end:"`",relevance:0},{className:n("0x38b7"),contains:[e[n("0x28e2")]],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}})),e[t("0x28be")](t("0x33f8"),(function(e){var n,a=t,r="~?[a-z$_][0-9a-zA-Z$_]*",i="`?[A-Z$_][0-9a-zA-Z$_]*",o=a("0x1525"),x=a("0x3634")+o+a("0x3550")+o+a("0x2463"),s=r+"("+x+a("0x325c")+x+")?",c="("+["||","&&","++","**","+.","*","/","*.","/.",a("0x31d5"),"|>"][(n=a2_0x37cf)("0x19e8")]((function(e){var t=n;return e[t("0x9e5")]("")[t("0x19e8")]((function(e){return"\\"+e}))[t("0xc60")]("")}))[n("0xc60")]("|")+a("0x2ee1"),l=a("0xfcf")+c+a("0xfcf"),d={keyword:a("0x23d9")+a("0x653")+a("0x4ae4")+a("0x3713"),built_in:a("0x3b07"),literal:"true false"},u=a("0x2227")+"0[oO][0-7_]+[Lln]?|"+a("0x12a3")+"[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",f={className:a("0x2231"),relevance:0,variants:[{begin:u},{begin:a("0x41da")+u+"\\)"}]},m={className:a("0x4ae9"),relevance:0,begin:c},b=[{className:a("0x3a31"),relevance:0,begin:r},m,f],_=[e[a("0x2b8c")],m,{className:a("0x39e9"),begin:"\\b"+i,returnBegin:!0,end:".",contains:[{className:a("0x3a31"),begin:i,relevance:0}]}],p=[{className:"module",begin:"\\b"+i,returnBegin:!0,end:".",relevance:0,contains:[{className:a("0x3a31"),begin:i,relevance:0}]}],h={begin:r,end:a("0x689"),relevance:0,contains:[m,{className:"typing",begin:":",end:a("0x2d99"),returnBegin:!0,relevance:0,contains:p}]},g={className:a("0x3349"),relevance:0,keywords:d,variants:[{begin:a("0x166d")+r+")\\s*=>",end:a("0x4a44"),returnBegin:!0,relevance:0,contains:[{className:a("0x48ad"),variants:[{begin:r},{begin:s},{begin:/\(\s*\)/}]}]},{begin:a("0x26c0"),end:"\\s=>",returnBegin:!0,relevance:0,contains:[{className:a("0x48ad"),relevance:0,variants:[h]}]},{begin:"\\(\\.\\s"+r+a("0x22b5")}]};_[a("0x459a")](g);var v={className:a("0x11ae"),begin:i+"\\(",end:"\\)",illegal:"\\n",keywords:d,contains:[e[a("0x2b8c")],m,{className:a("0x48ad"),begin:"\\b"+r}]},S={className:"pattern-match",begin:"\\|",returnBegin:!0,keywords:d,end:"=>",relevance:0,contains:[v,m,{relevance:0,className:a("0x11ae"),begin:i}]},E={className:"module-access",keywords:d,returnBegin:!0,variants:[{begin:"\\b("+i+a("0xd23")+r},{begin:"\\b("+i+"\\.)+\\(",end:"\\)",returnBegin:!0,contains:[g,{begin:"\\(",end:"\\)",skip:!0}].concat(_)},{begin:"\\b("+i+"\\.)+{",end:"}"}],contains:_};return p[a("0x459a")](E),{aliases:["re"],keywords:d,illegal:"(:\\-|:=|\\${|\\+=)",contains:[e[a("0x4ff9")](a("0xaae"),a("0x3756"),{illegal:a("0x4db7")}),{className:a("0x1f9b"),begin:a("0x2244"),illegal:"\\n",relevance:0},e.QUOTE_STRING_MODE,{className:a("0x235f"),begin:a("0x4c9f"),relevance:0},{className:a("0x235f"),begin:a("0x1122"),end:"\\|\\]",relevance:0,contains:b},{className:"literal",begin:"\\[",end:"\\]",relevance:0,contains:b},v,{className:a("0x4ae9"),begin:l,illegal:a("0x2ceb"),relevance:0},f,e[a("0x2d29")],S,g,{className:a("0x45b6"),begin:"\\bmodule\\s+"+r+a("0xfcf")+i+"\\s+=\\s+{",end:"}",returnBegin:!0,keywords:d,relevance:0,contains:[{className:"module",relevance:0,begin:i},{begin:"{",end:"}",skip:!0}].concat(_)},E]}})),e[t("0x28be")](t("0x1c7f"),(function(e){var n=t;return{keywords:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis "+n("0x1c0c")+n("0x21cc")+n("0x121d")+n("0x2de0")+n("0x3281")+n("0x1a58")+n("0x129c")+n("0x217a")+n("0x2a1d")+n("0x203b")+n("0x28b7")+n("0x2754")+n("0x4e99"),illegal:"</",contains:[e[n("0xb46")],e[n("0x49a1")],e[n("0xee9")],e.QUOTE_STRING_MODE]}})),e[t("0x28be")]("roboconf",(function(e){var n=t,a=n("0x32d9"),r={className:n("0x3d26"),begin:/[a-zA-Z-_]+/,end:/\s*:/,excludeEnd:!0,starts:{end:";",relevance:0,contains:[{className:"variable",begin:/\.[a-zA-Z-_]+/},{className:n("0x2038"),begin:/\(optional\)/}]}};return{aliases:[n("0x29b9"),"instances"],case_insensitive:!0,keywords:n("0x3bb3"),contains:[{begin:n("0x3bc4")+a,end:"}",keywords:"facet",contains:[r,e.HASH_COMMENT_MODE]},{begin:"^\\s*instance of "+a,end:"}",keywords:n("0x2060"),illegal:/\S/,contains:[n("0xaf2"),r,e[n("0xb46")]]},{begin:"^"+a,end:"}",contains:[r,e[n("0xb46")]]},e[n("0xb46")]]}})),e[t("0x28be")](t("0x2240"),(function(e){var n=t,a=n("0x427b"),r=n("0x21bc"),i=n("0x49f7"),o=(n("0x4aa"),{className:n("0x3722"),variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]}),x={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,o,{className:n("0x3722"),begin:/\$\(/,end:/\)/,contains:[e[n("0x28e2")]]}]},s={className:n("0x38b7"),begin:/'/,end:/'/};return n("0x23ac"),n("0x203a"),{aliases:[n("0x2240"),n("0x109f")],case_insensitive:!0,lexemes:/:?[\w-]+/,keywords:{literal:r,keyword:a+" :"+a[n("0x9e5")](" ").join(" :")+" :"+"global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime"[n("0x9e5")](" ")[n("0xc60")](" :")},contains:[{variants:[{begin:/^@/,end:/$/},{begin:/\/\*/,end:/\*\//},{begin:/%%/,end:/$/},{begin:/^'/,end:/$/},{begin:/^\s*\/[\w-]+=/,end:/$/},{begin:/\/\//,end:/$/},{begin:/^\[\</,end:/\>\]$/},{begin:/<\//,end:/>/},{begin:/^facet /,end:/\}/},{begin:n("0x2079"),end:/$/}],illegal:/./},e[n("0x4ff9")]("^#","$"),x,s,o,{begin:/[\w-]+\=([^\s\{\}\[\]\(\)]+)/,relevance:0,returnBegin:!0,contains:[{className:n("0x3d26"),begin:/[^=]+/},{begin:/=/,endsWithParent:!0,relevance:0,contains:[x,s,o,{className:n("0x235f"),begin:n("0x2a45")+r.split(" ")[n("0xc60")]("|")+n("0x1a60")},{begin:/("[^"]*"|[^\s\{\}\[\]]+)/}]}]},{className:n("0x2231"),begin:/\*[0-9a-fA-F]+/},{begin:n("0x2a45")+"add remove enable disable set get print export edit find run debug error info warning"[n("0x9e5")](" ").join("|")+")([\\s[(]|])",returnBegin:!0,contains:[{className:n("0x499b"),begin:/\w+/}]},{className:n("0x21a9"),variants:[{begin:n("0x1cf9")+i[n("0x9e5")](" ")[n("0xc60")]("|")+n("0xbbd"),relevance:10},{begin:/\.\./}]}]}})),e[t("0x28be")](t("0x4ff0"),(function(e){var n=t;return{keywords:{keyword:n("0x31e7"),built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match "+n("0x2ea5")+n("0x4938")+"setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan "+n("0x11f2")},illegal:"</",contains:[e[n("0x2d29")],e[n("0x4848")],e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE,{className:n("0x1439"),begin:"#",end:"$"},{className:n("0x917"),beginKeywords:"surface displacement light volume imager",end:"\\("},{beginKeywords:"illuminate illuminance gather",end:"\\("}]}})),e.registerLanguage(t("0x22e1"),(function(e){var n=t;return{keywords:{keyword:n("0x42db")+n("0x4b5b")+"INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 "+n("0x3012")+"INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 "+n("0x1c50")+n("0x4a55")+n("0x4a59")+"INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 "+n("0x24ed")+n("0x2122")+n("0x3902")+n("0x1cc5")+n("0x2c60")+"INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 "+n("0x3250")+n("0x17d9")+n("0x43c6")+"IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND "+n("0x4e0a")+"ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE "+n("0x615")+"SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING "+n("0xb1a")+"MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY "+n("0x2c6f")+n("0x32c9")+n("0x4a5e")+n("0x2a26")+n("0x500a")+n("0x312d")+n("0x465")+n("0x3fc4")+"FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:n("0x454c")+n("0x49a8")+"DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT "+n("0x679")},contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0xee9")],e.QUOTE_STRING_MODE,e[n("0x49a1")],{className:n("0x235f"),variants:[{begin:"#\\s+[a-zA-Z\\ \\.]*",relevance:0},{begin:"#[a-zA-Z\\ \\.]+"}]}]}})),e[t("0x28be")](t("0x47ea"),(function(e){var n=t,a=n("0x4886"),r=n("0x2c21")+n("0x31c1")+n("0x1f1d")+n("0x46b0"),i=n("0x182e")+n("0x4327")+n("0x1a79")+n("0xa6")+n("0x3969")+"Box Option Result String Vec "+n("0x4bd9")+n("0x4b0e")+n("0x263a")+n("0x729")+n("0x1585")+"debug_assert! debug_assert_eq! env! panic! file! format! format_args! "+n("0x478f")+n("0x1971")+n("0x3d09");return{aliases:["rs"],keywords:{keyword:r,literal:n("0x5cf"),built_in:i},lexemes:e[n("0x4485")]+"!?",illegal:"</",contains:[e[n("0x2d29")],e[n("0x4ff9")](n("0xaae"),n("0x3756"),{contains:[n("0xaf2")]}),e.inherit(e[n("0x2b8c")],{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:n("0x40c6"),begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:n("0x2231"),variants:[{begin:n("0x2b43")+a},{begin:n("0x2373")+a},{begin:n("0x3820")+a},{begin:n("0x259d")+a}],relevance:0},{className:n("0x3349"),beginKeywords:"fn",end:"(\\(|<)",excludeEnd:!0,contains:[e[n("0x33ca")]]},{className:n("0x1439"),begin:n("0xf85"),end:"\\]",contains:[{className:n("0x41b8"),begin:/"/,end:/"/}]},{className:n("0x917"),beginKeywords:n("0x3298"),end:";",contains:[e[n("0xbe2")](e[n("0x33ca")],{endsParent:!0})],illegal:"\\S"},{className:n("0x917"),beginKeywords:n("0x49c0"),end:"{",contains:[e[n("0xbe2")](e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:n("0x2c39")},{begin:e[n("0x4485")]+"::",keywords:{built_in:i}},{begin:"->"}]}})),e[t("0x28be")]("sas",(function(e){var n=t,a=n("0x2eae")+"abort array attrib by call cards cards4 catname continue "+n("0x4860")+"endsas error file filename footnote format goto in infile informat input keep label leave length libname link list "+n("0x3299")+n("0x4ad")+"startsas stop title update waitsas where window x systask "+n("0x4f14")+"distinct drop foreign from group having index insert into in key like message modify msgtype not null on or order primary "+n("0x2b0f")+n("0x1c57"),r="abs|addr|airy|arcos|arsin|atan|attrc|attrn|band|"+n("0xb9a")+"cexist|cinv|close|cnonct|collate|compbl|compound|compress|cos|cosh|css|curobs|cv|daccdb|daccdbsl|"+n("0x3971")+n("0xcf9")+n("0x2513")+n("0x2db7")+"dropnote|dsname|erf|erfc|exist|exp|fappend|fclose|fcol|fdelete|fetch|fetchobs|fexist|fget|fileexist|"+n("0x41d7")+n("0x3024")+n("0x3308")+n("0x1829")+n("0x280f")+n("0x30f0")+n("0x16ad")+n("0x3798")+n("0x488b")+n("0x3733")+n("0x315d")+n("0xe31")+n("0x452c")+n("0x343d")+n("0x683")+n("0x45c2")+n("0x380c")+n("0x4e54")+n("0x1394")+"tinv|tnonct|today|translate|tranwrd|trigamma|"+n("0x1b2d")+n("0x1f52")+"varrayx|vartype|verify|vformat|vformatd|vformatdx|vformatn|vformatnx|vformatw|vformatwx|vformatx|"+n("0x4ffe")+n("0xb78")+"vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|"+n("0x1bfc")+n("0x1b95"),i=n("0x25a")+n("0x1e4f")+n("0x1548")+n("0x39e8")+n("0x4940")+"qsubstr|qsysfunc|qtrim|quote|qupcase|scan|str|"+n("0x2245")+n("0x34d3")+"trim|unquote|until|upcase|verify|while|window";return{aliases:[n("0x4617"),n("0x395f")],case_insensitive:!0,keywords:{literal:"null missing _all_ _automatic_ _character_ _infile_ "+n("0x27c5"),meta:a},contains:[{className:n("0x2038"),begin:/^\s*(proc [\w\d_]+|data|run|quit)[\s\;]/},{className:"variable",begin:/\&[a-zA-Z_\&][a-zA-Z0-9_]*\.?/},{className:"emphasis",begin:/^\s*datalines|cards.*;/,end:/^\s*;\s*$/},{className:n("0x21a9"),begin:"%("+i+")"},{className:"name",begin:/%[a-zA-Z_][a-zA-Z_0-9]*/},{className:n("0x1439"),begin:"[^%]("+r+n("0x1a8c")},{className:"string",variants:[e[n("0xee9")],e[n("0x2b8c")]]},e.COMMENT("\\*",";"),e[n("0x4848")]]}})),e[t("0x28be")]("scala",(function(e){var n=t,a={className:"meta",begin:n("0x22b")},r={className:n("0x134d"),variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:n("0x184d"),end:"}"}]},i={className:n("0x38b7"),variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e[n("0x28e2")]]},{begin:'"""',end:'"""',relevance:10},{begin:n("0x3a0f"),end:'"',illegal:"\\n",contains:[e[n("0x28e2")],r]},{className:n("0x38b7"),begin:n("0x1e10"),end:'"""',contains:[r],relevance:10}]},o={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},x={className:n("0x2fdc"),begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},s={className:n("0x917"),beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:n("0x1a28"),relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[o]},{className:n("0x48ad"),begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[o]},x]},c={className:n("0x3349"),beginKeywords:n("0x2c04"),end:/[:={\[(\n;]/,excludeEnd:!0,contains:[x]};return{keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e[n("0x2d29")],e[n("0x4848")],i,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},o,c,s,e[n("0x49a1")],a]}})),e.registerLanguage(t("0x23b9"),(function(e){var n=t,a="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",r=n("0x1330"),i=r+"[+\\-]"+r+"i",o={"builtin-name":n("0x397e")+n("0x1169")+n("0x1320")+"require-for-syntax syntax syntax-case syntax-error unit/sig unless "+n("0xb73")+n("0xd9")+n("0x92")+n("0x1dc9")+n("0x2796")+n("0x3d81")+"call-with-values car cdddar cddddr cdr ceiling char->integer "+n("0x80f")+n("0x6a4")+n("0x4a3")+n("0xc43")+n("0x3c9d")+n("0x4b85")+n("0x39c9")+"integer? interaction-environment lcm length list list->string "+n("0x157d")+n("0x4ad4")+"modulo negative? newline not null-environment null? number->string "+n("0x3e6d")+n("0x26d5")+n("0x2efc")+n("0x219e")+n("0x4bb")+n("0x2a4e")+n("0x1dff")+n("0x8bb")+n("0x3b67")+"vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},x={className:n("0x1439"),begin:"^#!",end:"$"},s={className:n("0x235f"),begin:n("0x1784")+a+n("0x3346")},c={className:n("0x2231"),variants:[{begin:r,relevance:0},{begin:i,relevance:0},{begin:n("0x3924")},{begin:"#o[0-7]+(/[0-7]+)?"},{begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},l=e[n("0x2b8c")],d=(n("0x242e"),n("0x29ef"),n("0x2686"),[e[n("0x4ff9")](";","$",{relevance:0}),e.COMMENT(n("0xc4b"),n("0x3435"))]),u={begin:a,relevance:0},f={className:n("0x40c6"),begin:"'"+a},m={endsWithParent:!0,relevance:0},b={variants:[{begin:/'/},{begin:"`"}],contains:[{begin:"\\(",end:"\\)",contains:[n("0xaf2"),s,l,c,u,f]}]},_={className:n("0x98c"),begin:a,lexemes:a,keywords:o},p={variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}],contains:[{begin:/lambda/,endsWithParent:!0,returnBegin:!0,contains:[_,{begin:/\(/,end:/\)/,endsParent:!0,contains:[u]}]},_,m]};return m.contains=[s,c,l,u,f,b,p][n("0x3abc")](d),{illegal:/\S/,contains:[x,c,l,f,b,p][n("0x3abc")](d)}})),e[t("0x28be")](t("0x2f63"),(function(e){var n=t,a=[e[n("0x49a1")],{className:n("0x38b7"),begin:n("0x336d"),end:n("0x336d"),contains:[e[n("0x28e2")],{begin:"''"}]}];return{aliases:[n("0x4943")],lexemes:/%?\w+/,keywords:{keyword:n("0x232e")+n("0x1bd5"),literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error "+n("0x2fe9")+"isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log "+n("0x479b")+"round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan "+n("0x2f2a")},illegal:n("0x3126"),contains:[{className:n("0x3349"),beginKeywords:n("0x3349"),end:"$",contains:[e[n("0x33ca")],{className:n("0x48ad"),begin:"\\(",end:"\\)"}]},{begin:n("0x3"),end:"",relevance:0},{begin:"\\[",end:"\\]'*[\\.']*",relevance:0,contains:a},e.COMMENT("//","$")][n("0x3abc")](a)}})),e.registerLanguage("scss",(function(e){var n=t,a=n("0x342"),r={className:n("0x3722"),begin:n("0x1616")+a+n("0x1a60")},i={className:n("0x2231"),begin:n("0xdcf")};return n("0x3d26"),n("0x2c7a"),e[n("0x21d9")],e[n("0x2b8c")],e.APOS_STRING_MODE,e[n("0x4848")],n("0x96f"),{case_insensitive:!0,illegal:n("0x1133"),contains:[e[n("0x2d29")],e[n("0x4848")],{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:n("0x4835"),begin:n("0x3ee0"),relevance:0},{className:n("0x1173"),begin:"\\[",end:"\\]",illegal:"$"},{className:n("0x2f12"),begin:n("0x3f5b"),relevance:0},{begin:n("0x35a3")},{begin:n("0x4400")},r,{className:n("0x3d26"),begin:n("0x3e67"),illegal:"[^\\s]"},{begin:n("0x2391")},{begin:":",end:";",contains:[r,i,e[n("0x21d9")],e[n("0x2b8c")],e[n("0xee9")],{className:n("0x1439"),begin:n("0x96f")}]},{begin:"@",end:n("0x4914"),keywords:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",contains:[r,e[n("0x2b8c")],e[n("0xee9")],i,e[n("0x21d9")],{begin:n("0x4fe8"),relevance:0}]}]}})),e.registerLanguage(t("0x3452"),(function(e){var n=t;return{aliases:[n("0x2196")],contains:[{className:n("0x1439"),begin:n("0x7f3"),starts:{end:"$",subLanguage:n("0x4032")}}]}})),e.registerLanguage("smali",(function(e){var n=t,a=["add",n("0x3a6d"),n("0xe8a"),n("0x1386"),"cmpl",n("0x2540"),n("0x4774"),n("0x299a"),n("0x3dfd"),n("0x1eca"),"if",n("0x4684"),"long",n("0x1ff3"),n("0x1952"),n("0x243a"),n("0x4cf9"),"nop",n("0x17db"),"or",n("0x3a6"),n("0x110d"),"shl","shr","sput",n("0x10e"),"throw",n("0x3726"),n("0x26b7")],r=[n("0x470a"),"aput",n("0x2c5e"),n("0x26d1"),n("0x4c7c"),n("0x2773"),n("0x34e6"),n("0x4201"),n("0x210e"),"iget","instance","invoke",n("0x21d5"),"monitor","packed","sget","sparse"],i=["transient",n("0x11ae"),n("0x12a1"),n("0x2d9c"),n("0x4b8d"),"public",n("0x3e99"),n("0x9b0"),n("0x2704"),n("0x1453"),n("0x2a22")];return{aliases:[n("0x2396")],contains:[{className:n("0x38b7"),begin:'"',end:'"',relevance:0},e[n("0x4ff9")]("#","$",{relevance:0}),{className:n("0x2038"),variants:[{begin:n("0x3f21")},{begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{begin:n("0x243b"),relevance:0},{begin:n("0xd67")+i[n("0xc60")]("|")+")"}]},{className:"built_in",variants:[{begin:n("0xd67")+a[n("0xc60")]("|")+n("0x38fd")},{begin:n("0xd67")+a[n("0xc60")]("|")+n("0x412c"),relevance:10},{begin:n("0xd67")+r[n("0xc60")]("|")+n("0x341d"),relevance:10}]},{className:n("0x917"),begin:"L[^(;:\n]*;",relevance:0},{begin:n("0x13cd")}]}})),e[t("0x28be")](t("0x2a8b"),(function(e){var n=t,a=n("0x2959"),r={className:"string",begin:n("0x1dd3")},i={className:n("0x40c6"),begin:"#"+e[n("0x8da")]};return{aliases:["st"],keywords:n("0x34e2"),contains:[e[n("0x4ff9")]('"','"'),e[n("0xee9")],{className:n("0x3298"),begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{begin:a+":",relevance:0},e[n("0x49a1")],i,r,{begin:n("0x1b33")+a+n("0x3294")+a+")*[ ]*\\|",returnBegin:!0,end:/\|/,illegal:/\S/,contains:[{begin:n("0x4d1f")+a}]},{begin:n("0x5cb"),end:"\\)",contains:[e[n("0xee9")],r,e[n("0x49a1")],i]}]}})),e[t("0x28be")](t("0x417b"),(function(e){var n=t;return{aliases:["ml"],keywords:{keyword:n("0x2ee0")+n("0x4962")+n("0x2187")+n("0x163f"),built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:n("0x44e")},illegal:/\/\/|>>/,lexemes:n("0x2556"),contains:[{className:"literal",begin:/\[(\|\|)?\]|\(\)/,relevance:0},e.COMMENT(n("0x25fe"),n("0x5ae"),{contains:[n("0xaf2")]}),{className:n("0x40c6"),begin:n("0xbea")},{className:n("0x3298"),begin:n("0x41ad")},{className:n("0x3298"),begin:n("0x1364"),relevance:0},{begin:n("0x3133")},e[n("0xbe2")](e[n("0xee9")],{className:"string",relevance:0}),e[n("0xbe2")](e[n("0x2b8c")],{illegal:null}),{className:n("0x2231"),begin:n("0x2227")+n("0x4331")+"0[bB][01_]+[Lln]?|"+n("0x30e2"),relevance:0},{begin:/[-=]>/}]}})),e[t("0x28be")](t("0x223b"),(function(e){var n=t,a={className:n("0x3722"),begin:/\b_+[a-zA-Z_]\w*/},r={className:n("0x2fdc"),begin:/[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/},i={className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]},{begin:"'",end:"'",contains:[{begin:"''",relevance:0}]}]},o={className:n("0x1439"),begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":n("0x18f8")},contains:[{begin:/\\\n/,relevance:0},e.inherit(i,{className:"meta-string"}),{className:n("0x41b8"),begin:/<[^\n>]*>/,end:/$/,illegal:"\\n"},e[n("0x2d29")],e[n("0x4848")]]};return{aliases:[n("0x223b")],case_insensitive:!0,keywords:{keyword:n("0x10db")+"private switch then throw to try waitUntil while with",built_in:n("0x1f8")+n("0x3c4d")+n("0x120d")+"addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addForce addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo "+n("0x1371")+"addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal "+n("0x1cd4")+n("0xf49")+n("0x249b")+"addSwitchableUnit addTeamMember addToRemainsCollector addTorque addUniform addVehicle addVest "+n("0x19cc")+"addWeaponPool addWeaponTurret admin agent agents AGLToASL aimedAtTarget aimPos airDensityRTD "+n("0x4dc2")+"allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines "+n("0x3414")+n("0x31e2")+"allSites allTurrets allUnits allUnitsUAV allVariables ammo ammoOnPylon and animate animateBay animateDoor animatePylon animateSource animationNames animationPhase animationSourcePhase "+n("0xb1")+n("0x2b68")+n("0x142")+"assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam "+n("0x4d0b")+"attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines "+n("0x2180")+n("0x341f")+n("0x2099")+n("0x2d0")+n("0x40e9")+n("0x271b")+n("0x193a")+n("0x28bf")+"cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend "+n("0x27ce")+n("0x2364")+n("0x4d61")+n("0x201")+n("0x1aa5")+n("0x18a3")+n("0x67f")+n("0x14f3")+n("0x13cf")+n("0xa4a")+"configSourceAddonList configSourceMod configSourceModList confirmSensorTarget "+n("0x39ad")+n("0x3c14")+n("0x342e")+n("0x3db2")+n("0x850")+"createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam "+n("0x1b48")+"ctAddRow ctClear ctCurSel ctData ctFindHeaderRows ctFindRowHeader ctHeaderControls ctHeaderCount "+n("0x2455")+n("0x2e7c")+n("0x651")+"ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale "+n("0xcd5")+n("0x43c")+n("0x490c")+"ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 "+n("0x4bc0")+n("0x247a")+n("0x2448")+n("0x4949")+n("0x11bd")+n("0x4590")+n("0x4bf0")+n("0x21b2")+"ctSetHeaderTemplate ctSetRowTemplate ctSetValue ctValue curatorAddons curatorCamera "+n("0x28aa")+n("0x4e95")+n("0x230")+"currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle "+n("0x30cf")+"currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget "+n("0xe17")+n("0x3105")+n("0x28c9")+n("0x3334")+n("0x4d17")+n("0x2eff")+n("0x43ce")+n("0x26bc")+n("0x25c7")+n("0x8a3")+"difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI "+n("0x2d55")+n("0x26dc")+n("0x4f9c")+n("0x3a72")+n("0x3a22")+"doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse "+n("0x48dc")+n("0x96c")+"dynamicSimulationEnabled dynamicSimulationSystemEnabled echo edit3DENMissionAttributes editObject "+n("0x4486")+"enableAimPrecision enableAttack enableAudioFeature enableAutoStartUpRTD enableAutoTrimRTD "+n("0x2c55")+"enableDebriefingStats enableDiagLegend enableDynamicSimulation enableDynamicSimulationSystem "+n("0x4c97")+n("0x38df")+n("0x3c63")+n("0x23d3")+n("0xd4a")+n("0x3497")+"environmentEnabled estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack "+n("0x8d5")+n("0x239d")+"fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition "+n("0x385f")+n("0x38e5")+n("0xde1")+"forceFollowRoad forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange "+n("0x8f3")+"formationDirection formationLeader formationMembers formationPosition formationTask formatText "+n("0x467e")+n("0x2d46")+"get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible "+n("0x120c")+n("0x324e")+n("0x2129")+n("0x493e")+n("0x2d34")+n("0x3ce8")+n("0x3a47")+n("0x93d")+n("0x1974")+n("0x101a")+"getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos "+n("0x175a")+n("0x1c2d")+n("0x1c73")+n("0x35ce")+n("0x469a")+n("0x8a4")+"getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getPylonMagazines getRelDir "+n("0xb5e")+n("0x4993")+n("0xaec")+n("0x112a")+"getWeaponSway getWingsOrientationRTD getWingsPositionRTD getWPPos glanceAt globalChat globalRadio "+n("0x2197")+n("0x466b")+n("0x440e")+"hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup "+n("0x14d0")+n("0x703")+n("0x35d4")+n("0x1537")+"initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN "+n("0x3a57")+n("0x297c")+"isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray "+n("0x2dc2")+"isGroupDeletedWhenEmpty isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn "+n("0x1647")+n("0x1132")+"isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons isSimpleObject isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUIContext "+n("0x43ca")+n("0x3d72")+n("0x3d48")+n("0x153")+"laserTarget lbAdd lbClear lbColor lbColorRight lbCurSel lbData lbDelete lbIsSelected lbPicture "+n("0x36da")+"lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetPictureRight lbSetPictureRightColor lbSetPictureRightColorDisabled lbSetPictureRightColorSelected lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetText lbSetTextRight lbSetTooltip lbSetValue lbSize lbSort lbSortByValue lbText lbTextRight lbValue leader leaderboardDeInit leaderboardGetRows leaderboardInit leaderboardRequestRowsFriends leaderboardsRequestUploadScore "+n("0x2525")+n("0x533")+n("0x746")+n("0x160e")+n("0x2dc0")+n("0x36bf")+"lnbSetPicture lnbSetText lnbSetValue lnbSize lnbSort lnbSortByValue lnbText lnbValue load loadAbs loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform "+n("0x1fbd")+n("0x3b9a")+"logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack "+n("0x190d")+n("0x3f46")+n("0x449")+n("0x4a1c")+"menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData "+n("0x350f")+n("0x465d")+n("0x28f5")+"modelToWorldVisualWorld modelToWorldWorld modParams moonIntensity moonPhase morale move "+n("0x2e4d")+n("0x2117")+n("0x26cc")+n("0x28ff")+"nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex "+n("0x2a65")+n("0x25bf")+"onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter "+n("0x492b")+n("0x3da6")+n("0x4f2e")+n("0x2488")+n("0x4f7f")+"playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide "+n("0x2032")+n("0x4da6")+n("0x3bb4")+n("0x24c7")+n("0x334c")+n("0x2698")+"profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition "+n("0x48eb")+n("0x4db1")+"radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random "+n("0x230b")+n("0x4529")+n("0x189d")+n("0xfa8")+n("0x705")+n("0x4797")+n("0x2809")+"removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea "+n("0x2471")+n("0x5e3")+n("0x3f8c")+n("0x3567")+n("0x3e0e")+"removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem "+n("0x7d5")+n("0x2ae5")+n("0x3ae9")+n("0x4280")+n("0x237d")+n("0x3421")+n("0x1208")+n("0x11d9")+n("0x1793")+n("0xd35")+n("0x23de")+n("0x2ab8")+n("0x20e6")+"selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime "+n("0xaef")+"set3DENLinesVisible set3DENLogicType set3DENMissionAttribute set3DENMissionAttributes set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setActualCollectiveRTD "+n("0x14b0")+n("0x3854")+n("0x3e4d")+n("0x3ddb")+n("0x3c99")+"setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef setCustomWeightRTD setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination "+n("0x1085")+n("0x5ca")+n("0xc52")+"setFlagAnimationPhase setFlagOwner setFlagSide setFlagTexture setFog setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo "+n("0xf5a")+"setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setInfoPanel setLeader setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight "+n("0x41d3")+"setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush "+n("0x1bb9")+n("0xf8")+n("0x2563")+n("0xb74")+n("0xb51")+n("0x2567")+n("0x573")+n("0x4c09")+"setPitch setPlateNumber setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW "+n("0x4275")+n("0x25f0")+n("0x2a1f")+"setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType "+n("0x50")+n("0x4091")+"setTargetAge setTaskMarkerOffset setTaskResult setTaskState setTerrainGrid setText "+n("0x1ba4")+n("0x3241")+n("0xa88")+n("0x45")+n("0x4d7f")+n("0x1eb1")+"setVehicleLock setVehiclePosition setVehicleRadar setVehicleReceiveRemoteTargets "+n("0x161a")+"setVelocity setVelocityModelSpace setVelocityTransformation setViewDistance "+n("0x2394")+"setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName "+n("0x26c7")+n("0x1301")+n("0x1b87")+n("0xde4")+n("0x3c22")+n("0x1b17")+n("0x100c")+n("0x2876")+n("0x4fc8")+n("0x33cc")+"slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode "+n("0x1225")+"sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth "+n("0x2aa4")+n("0x47c6")+"synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan "+n("0x1e8f")+n("0x4776")+n("0x3182")+n("0x2d4c")+n("0x3e4")+n("0x33c7")+n("0x3f06")+n("0x2e90")+n("0x17b0")+n("0x2bb")+n("0x4aca")+n("0x82f")+n("0x12c7")+n("0x19dd")+n("0x16e7")+"unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement "+n("0x2843")+n("0x804")+"vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo "+n("0x37f0")+n("0x1902")+"vehicleCargoEnabled vehicleChat vehicleRadio vehicleReceiveRemoteTargets vehicleReportOwnPosition "+n("0x22f5")+n("0x35b2")+n("0x4de0")+n("0x27cf")+n("0x1eab")+n("0x13e9")+n("0x170a")+"waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible "+n("0x21b3")+n("0x101c"),literal:"blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak "+n("0x4244")+n("0xc08")},contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0x21e4")],a,r,i,o],illegal:/#|^\$ /}})),e[t("0x28be")](t("0x28f4"),(function(e){var n=t,a=e[n("0x4ff9")]("--","$");return{case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call "+n("0x78e")+n("0x3276")+"unlock purge reset change stop analyze cache flush optimize repair kill "+n("0x211c"),end:/;/,endsWithParent:!0,lexemes:/[\w\.]+/,keywords:{keyword:n("0x763")+n("0x1e25")+n("0x2db3")+n("0x1657")+n("0x29a2")+"authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile "+n("0x1c3f")+"binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound "+n("0x10a3")+n("0x3a8f")+n("0x35b")+n("0x1343")+"cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility "+n("0x1f28")+"connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context "+n("0x3e83")+"count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user "+n("0x3779")+n("0x1b0f")+"day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate "+n("0x36a0")+n("0x187a")+n("0xf1e")+n("0x397d")+n("0x3e45")+n("0x382e")+n("0x42a")+n("0x21a8")+n("0x4f92")+"execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast "+n("0x6e")+n("0x25c9")+"form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name "+n("0x11e5")+n("0x2600")+n("0x3b23")+n("0x3cb2")+n("0x695")+"initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat "+n("0x1a5b")+n("0x2802")+"lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit "+n("0x4d4f")+"locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call "+n("0x40a1")+n("0x74e")+n("0x334e")+n("0x4a28")+n("0x4f57")+n("0x4ecb")+n("0x103b")+"nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder "+n("0x415c")+n("0x2319")+n("0xd7e")+n("0x2f37")+n("0x2b94")+n("0x926")+n("0x2e1a")+n("0x1dc0")+"password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex "+n("0x30f2")+n("0x1959")+n("0xdb")+n("0xa40")+n("0x1bc2")+"profiles project prompt protection public publishingservername purge quarter query quick quiesce quota "+n("0x4fc9")+n("0x1584")+"regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy "+n("0xb87")+n("0x8ff")+n("0x111b")+n("0x3be8")+n("0x33b3")+"sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set "+n("0x21c3")+n("0xaa1")+n("0x41b6")+n("0x3bbe")+n("0x2d15")+n("0x13d")+"stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep "+n("0x70f")+n("0x21c4")+n("0x49")+n("0x47ab")+"sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo "+n("0x1949")+n("0x3e8c")+n("0x442a")+"transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress "+n("0x2ebe")+n("0x9a9")+"url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date "+n("0x1f6c")+n("0x31ee")+n("0x11ce")+n("0x450")+n("0x10ce")+n("0x1114"),literal:n("0x2daa"),built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:n("0x38b7"),begin:"'",end:"'",contains:[e[n("0x28e2")],{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[e[n("0x28e2")],{begin:'""'}]},{className:n("0x38b7"),begin:"`",end:"`",contains:[e[n("0x28e2")]]},e[n("0x49a1")],e[n("0x4848")],a,e[n("0xb46")]]},e[n("0x4848")],a,e[n("0xb46")]]}})),e[t("0x28be")](t("0x4710"),(function(e){var n=t;return{contains:[e[n("0xb46")],e[n("0x2d29")],e[n("0x4848")],{begin:e.UNDERSCORE_IDENT_RE,lexemes:e.UNDERSCORE_IDENT_RE,keywords:{name:n("0xd82"),symbol:n("0x394c")+n("0x49fa")+n("0x49db")+"neg_binomial_2_log poisson poisson_log multinomial normal "+n("0x356")+n("0x1b80")+n("0x27cb")+n("0x4f8f")+"multi_normal multi_normal_prec multi_normal_cholesky multi_gp "+n("0x1fe9")+n("0x167a"),"selector-tag":n("0x3150")+"row_vector matrix cholesky_factor_corr cholesky_factor_cov corr_matrix cov_matrix",title:n("0x44ec")+n("0x37f2"),literal:n("0x8c9")},relevance:0},{className:n("0x2231"),begin:n("0x4d76"),relevance:0},{className:n("0x2231"),begin:n("0x4d76"),relevance:0},{className:n("0x2231"),begin:n("0x14ff"),relevance:0},{className:"number",begin:n("0x44d6"),relevance:0},{className:n("0x2231"),begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:n("0x2231"),begin:n("0x43bd"),relevance:0}]}})),e[t("0x28be")](t("0x3996"),(function(e){var n=t;return{aliases:["do","ado"],case_insensitive:!0,keywords:n("0x48ae"),contains:[{className:n("0x40c6"),begin:/`[a-zA-Z0-9_]+'/},{className:"variable",begin:/\$\{?[a-zA-Z0-9_]+\}?/},{className:n("0x38b7"),variants:[{begin:n("0x454")},{begin:n("0xcc7")}]},{className:n("0x21a9"),variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()"}]},e.COMMENT(n("0x18cf"),!1),e[n("0x2d29")],e[n("0x4848")]]}})),e[t("0x28be")]("step21",(function(e){var n=t,a=n("0x25a8"),r={keyword:n("0x8cf")},i={className:n("0x1439"),begin:n("0x1550"),relevance:10},o={className:"meta",begin:n("0x2803"),relevance:10};return{aliases:[n("0x2298"),n("0x2e41"),n("0xfa7")],case_insensitive:!0,lexemes:a,keywords:r,contains:[i,o,e[n("0x2d29")],e[n("0x4848")],e[n("0x4ff9")](n("0x1fdd"),"\\*/"),e[n("0x49a1")],e[n("0xbe2")](e[n("0xee9")],{illegal:null}),e.inherit(e[n("0x2b8c")],{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#",end:n("0xf14"),illegal:"\\W"}]}]}})),e[t("0x28be")](t("0x4de9"),(function(e){var n=t,a={className:n("0x3722"),begin:"\\$"+e[n("0x4485")]},r={className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},i=[n("0x4843"),n("0x42b1"),n("0x3382"),n("0x3448"),n("0x3e62"),n("0x2d1a"),n("0x3bb3"),n("0x47f3"),n("0x4f11"),n("0x287"),n("0x1dcc"),n("0x1dc6"),"while"],o=[n("0x477b"),"before",n("0x17cd"),n("0x9bc"),"active","first-child","focus",n("0x32df"),n("0x15df"),n("0x28f2"),"visited"],x=["a",n("0x60"),n("0xcfb"),n("0x12ed"),n("0x2a00"),n("0x3201"),"b","blockquote",n("0x3b3e"),"button",n("0x4859"),n("0x30c7"),n("0x4d8"),n("0xd41"),"dd",n("0xd28"),n("0x1556"),n("0x4d6f"),n("0x4774"),"dl","dt","em","fieldset",n("0x2697"),n("0x1ae6"),"footer",n("0x35c5"),"h1","h2","h3","h4","h5","h6",n("0x1b71"),n("0x2a09"),"html","i",n("0x1575"),"img",n("0x3f87"),n("0x4fec"),n("0x3ede"),n("0x32b"),n("0x4695"),"li",n("0x1788"),n("0x2ba9"),n("0x39ff"),n("0x1b1d"),"ol","p","q",n("0x1005"),n("0x367e"),n("0x855"),n("0x299e"),"strong","summary",n("0x2a64"),n("0x37f3"),"tbody","td","textarea",n("0x1de6"),"th","thead",n("0x1c9f"),"tr","ul",n("0x24a2"),n("0x430")],s=n("0x7ce"),c=["align-content",n("0x17a6"),"align-self",n("0x2f73"),"animation-delay",n("0x115"),n("0x3b2b"),"animation-fill-mode",n("0x3293"),"animation-name",n("0x1520"),n("0x20c1"),"auto",n("0x19b2"),"background",n("0x47db"),n("0x1a09"),"background-color",n("0x2f0e"),n("0xc4a"),"background-position",n("0x3192"),n("0x39fb"),n("0x2432"),"border-bottom",n("0x981"),n("0x11a1"),n("0x42e4"),"border-bottom-style","border-bottom-width",n("0x13f0"),n("0x1112"),n("0x2a0f"),n("0x3e86"),n("0x284a"),n("0x1045"),"border-image-source","border-image-width",n("0x3197"),n("0x4828"),n("0x1de7"),n("0x2794"),n("0xe60"),n("0x4fd2"),"border-right-color","border-right-style",n("0x3f1f"),n("0x933"),"border-style",n("0x50d"),n("0x7b0"),"border-top-left-radius","border-top-right-radius","border-top-style",n("0x32b7"),n("0x1382"),"bottom","box-decoration-break","box-shadow",n("0x357a"),n("0x1f41"),"break-before",n("0x4b4a"),n("0x3807"),n("0x2066"),n("0x4a96"),n("0x2baf"),"color",n("0x29c7"),n("0x384c"),n("0x3264"),n("0x3168"),n("0x4af"),n("0x484e"),n("0x3c05"),"column-span",n("0x35d0"),n("0x2983"),n("0xa9f"),n("0x3f2e"),"counter-reset","cursor",n("0xb72"),n("0x37b3"),n("0x2715"),n("0x6a6"),"flex",n("0x37cc"),n("0x2316"),n("0x3d1a"),"flex-grow",n("0x18fb"),n("0x1c49"),n("0x3dfd"),n("0x344"),n("0x17e4"),n("0x4d8a"),n("0x4d38"),n("0x3077"),n("0x32e5"),n("0xd71"),n("0x42d0"),"font-style","font-variant",n("0x4c50"),n("0x2c4c"),n("0x4e66"),n("0x29e7"),"icon",n("0x3df2"),n("0x4495"),n("0x8ec"),n("0x408a"),n("0xbe2"),"initial",n("0x1f20"),"left",n("0x2282"),n("0xbe3"),n("0x2c31"),n("0x4eeb"),"list-style-position",n("0xfc7"),n("0xa4e"),n("0x4657"),n("0x1ed8"),n("0x263b"),"margin-top","marks",n("0x4b84"),n("0x4575"),n("0x1844"),"min-height","min-width",n("0xa6e"),n("0x14c8"),n("0x2892"),"nav-right",n("0x4515"),n("0x2847"),n("0x1e4"),n("0x1698"),n("0x2545"),"opacity",n("0x4745"),n("0x231f"),n("0x4598"),n("0xef6"),n("0x4a94"),n("0x1de2"),n("0x19"),n("0x905"),n("0xd3c"),"overflow-x",n("0x359d"),n("0x2afb"),n("0x1be4"),"padding-left",n("0x14e6"),n("0x4652"),n("0x3208"),n("0x1467"),"page-break-inside",n("0x243f"),n("0x1710"),"pointer-events",n("0x342c"),n("0x260e"),"resize",n("0x30eb"),n("0x400"),"table-layout",n("0x2647"),n("0x3a8b"),n("0x4191"),n("0xc81"),n("0x2fa"),n("0x1261"),n("0x3653"),n("0x2899"),"text-rendering",n("0x195d"),"text-transform",n("0x1f9a"),n("0x228a"),n("0x3c4"),"transform-origin",n("0x4011"),n("0x2f61"),"transition-delay","transition-duration",n("0x4d86"),n("0x187"),"unicode-bidi",n("0x3901"),n("0x2a81"),n("0x3f78"),n("0x3ecd"),n("0xbbf"),"word-break",n("0x4771"),n("0x3088"),n("0x1b79")],l=["\\?","(\\bReturn\\b)",n("0x1f40"),n("0x38db"),n("0x3983"),";",n("0x1a38"),n("0x2a41"),n("0x4f6b"),"\\|","%"];return{aliases:[n("0x2b52")],case_insensitive:!1,keywords:n("0x3118"),illegal:"("+l.join("|")+")",contains:[e.QUOTE_STRING_MODE,e[n("0xee9")],e[n("0x2d29")],e[n("0x4848")],r,{begin:n("0x2f92")+s,className:n("0x4835")},{begin:n("0x4105")+s,className:"selector-id"},{begin:n("0x2a45")+x[n("0xc60")]("|")+")"+s,className:n("0x2f12")},{begin:"&?:?:\\b("+o[n("0xc60")]("|")+")"+s},{begin:"@("+i[n("0xc60")]("|")+n("0x1a60")},a,e[n("0x21d9")],e[n("0x21e4")],{className:n("0x3349"),begin:n("0x2f16"),illegal:n("0x366f"),returnBegin:!0,contains:[{className:n("0x2fdc"),begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{className:"params",begin:/\(/,end:/\)/,contains:[r,a,e.APOS_STRING_MODE,e[n("0x21d9")],e[n("0x21e4")],e.QUOTE_STRING_MODE]}]},{className:n("0x3d26"),begin:n("0x2a45")+c[n("0x48d")]().join("|")+n("0x1a60"),starts:{end:/;|$/,contains:[r,a,e[n("0xee9")],e[n("0x2b8c")],e[n("0x21d9")],e[n("0x21e4")],e[n("0x4848")]],illegal:/\./,relevance:0}}]}})),e[t("0x28be")]("subunit",(function(e){var n=t;return{case_insensitive:!0,contains:[{className:n("0x38b7"),begin:"\\[\n(multipart)?",end:n("0x3136")},{className:n("0x38b7"),begin:n("0xd8f")},{className:n("0x38b7"),begin:n("0x4010")},{className:n("0x2038"),relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:n("0x3b2a")},{begin:n("0x17c3")},{begin:"^time:"}]}]}})),e[t("0x28be")](t("0x10fc"),(function(e){var n=t,a={keyword:n("0x2a03")+n("0x1361")+"_ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype "+n("0x55b")+n("0x3259")+n("0x4265")+n("0x303f")+n("0x4233")+"right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:n("0x2169"),built_in:n("0x405f")+"bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC "+n("0x1686")+n("0x4372")+"enumerate equal fatalError filter find getBridgedObjectiveCType getVaList "+n("0x4eea")+n("0x699")+n("0x2856")+n("0xf4e")+n("0x2341")+n("0x48dd")+"underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap "+n("0x21cb")+n("0x4f0a")+n("0x1159")},r={className:n("0x3298"),begin:n("0x2147"),relevance:0},i={className:n("0x3298"),begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},o=e.COMMENT(n("0xaae"),n("0x3756"),{contains:[n("0xaf2")]}),x={className:n("0x134d"),begin:/\\\(/,end:"\\)",keywords:a,contains:[]},s={className:"string",contains:[e[n("0x28e2")],x],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},c={className:"number",begin:n("0x295d"),relevance:0};return x[n("0x2a10")]=[c],{keywords:a,contains:[s,e[n("0x2d29")],o,i,r,c,{className:"function",beginKeywords:n("0xac1"),end:"{",excludeEnd:!0,contains:[e[n("0xbe2")](e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin:/</,end:/>/},{className:n("0x48ad"),begin:/\(/,end:/\)/,endsParent:!0,keywords:a,contains:["self",c,s,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:a,end:"\\{",excludeEnd:!0,contains:[e[n("0xbe2")](e[n("0x3ef7")],{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:n("0x1439"),begin:n("0x338b")+"@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|"+n("0x20f7")+n("0x1d9a")+"@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)"},{beginKeywords:n("0x3bb3"),end:/$/,contains:[e.C_LINE_COMMENT_MODE,o]}]}})),e.registerLanguage(t("0x23b"),(function(e){var n=t;return{contains:[{className:n("0x3cd8"),begin:/\$noop\(/,end:/\)/,contains:[{begin:/\(/,end:/\)/,contains:["self",{begin:/\\./}]}],relevance:10},{className:"keyword",begin:/\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,end:/\(/,excludeEnd:!0},{className:"variable",begin:/%[_a-zA-Z0-9:]*/,end:"%"},{className:n("0x40c6"),begin:/\\./}]}})),e[t("0x28be")]("yaml",(function(e){var n=t,a=n("0xe1e"),r={className:n("0x417f"),variants:[{begin:n("0x3687")},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},i={className:n("0x3871"),variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]},o={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e[n("0x28e2")],i]};return{case_insensitive:!0,aliases:[n("0x27bf"),n("0x215b"),n("0x4f3d")],contains:[r,{className:n("0x1439"),begin:n("0xa23"),relevance:10},{className:n("0x38b7"),begin:n("0xfa1")},{begin:n("0x414e"),end:"[%-]?%>",subLanguage:n("0x3f13"),excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!"+e[n("0x8da")]},{className:n("0x3298"),begin:"!!"+e[n("0x8da")]},{className:n("0x1439"),begin:"&"+e[n("0x8da")]+"$"},{className:n("0x1439"),begin:"\\*"+e[n("0x8da")]+"$"},{className:n("0x23c0"),begin:n("0x21a4"),relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:a,keywords:{literal:a}},{className:"number",begin:e[n("0x762")]+"\\b"},o]}})),e[t("0x28be")](t("0x2500"),(function(e){var n=t;return{case_insensitive:!0,contains:[e[n("0xb46")],{className:n("0x1439"),variants:[{begin:n("0x8e4")},{begin:n("0x2079")}]},{begin:n("0x1712"),end:n("0x1e09"),subLanguage:"yaml",relevance:0},{className:"number",begin:n("0x468f")},{className:"symbol",variants:[{begin:n("0x4068")},{begin:n("0x4ba")}]}]}})),e[t("0x28be")](t("0x43b4"),(function(e){var n=t;return{aliases:["tk"],keywords:n("0x2b8b")+n("0xde2")+n("0x41d9")+n("0x3f57")+n("0x1779")+n("0x1aaf")+n("0x3b25")+n("0x222")+n("0x4f98")+n("0xfbd")+n("0x1111")+n("0x4a3f"),contains:[e.COMMENT(";[ \\t]*#","$"),e[n("0x4ff9")]("^[ \\t]*#","$"),{beginKeywords:n("0x13b2"),end:"[\\{]",excludeEnd:!0,contains:[{className:n("0x2fdc"),begin:n("0x35d7"),end:n("0x26a1"),endsWithParent:!0,excludeEnd:!0}]},{excludeEnd:!0,variants:[{begin:n("0x16b0"),end:n("0x339e")},{begin:n("0x34fe"),end:n("0x19cf")}]},{className:n("0x38b7"),contains:[e[n("0x28e2")]],variants:[e[n("0xbe2")](e[n("0x2b8c")],{illegal:null})]},{className:n("0x2231"),variants:[e[n("0xd50")],e[n("0x49a1")]]}]}})),e[t("0x28be")](t("0xe4f"),(function(e){var n=t,a={className:n("0xb3b"),begin:/\\/,relevance:0,contains:[{className:n("0x98c"),variants:[{begin:/[a-zA-Z\u0430-\u044f\u0410-\u042f]+[*]?/},{begin:/[^a-zA-Z\u0430-\u044f\u0410-\u042f0-9]/}],starts:{endsWithParent:!0,relevance:0,contains:[{className:n("0x38b7"),variants:[{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/}]},{begin:/\s*=\s*/,endsWithParent:!0,relevance:0,contains:[{className:n("0x2231"),begin:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{contains:[a,{className:n("0x24ec"),contains:[a],relevance:0,variants:[{begin:/\$\$/,end:/\$\$/},{begin:/\$/,end:/\$/}]},e[n("0x4ff9")]("%","$",{relevance:0})]}})),e.registerLanguage(t("0x14c0"),(function(e){var n=t,a=n("0x34bd");return{keywords:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:a,literal:n("0x8c9")},contains:[e.QUOTE_STRING_MODE,e[n("0x21e4")],e[n("0x2d29")],e.C_BLOCK_COMMENT_MODE,{className:n("0x917"),beginKeywords:n("0xb29"),end:/\{/,illegal:/\n/,contains:[e[n("0xbe2")](e[n("0x3ef7")],{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:n("0x2de5"),end:">",keywords:a,contains:[n("0xaf2")]}]}})),e.registerLanguage("tp",(function(e){var n=t,a={className:n("0x2231"),begin:"[1-9][0-9]*",relevance:0},r={className:n("0x40c6"),begin:n("0x39ca")},i={className:n("0x21a9"),begin:n("0x31f4")+n("0x3ae6"),end:"\\]",contains:[n("0xaf2"),a,r]},o={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",a,e[n("0x2b8c")],r]};return{keywords:{keyword:n("0xb41")+n("0x4a72")+n("0x4f15")+n("0x3702")+n("0x42aa")+"SUBSTR FINDSTR VOFFSET PROG ATTR MN POS",literal:n("0x48b8")},contains:[i,o,{className:n("0x2038"),begin:n("0x2f09")},{className:n("0x2038"),begin:n("0xcd8")},{className:"keyword",begin:n("0x312e")},{className:n("0x2231"),begin:n("0xe2e"),relevance:0},e[n("0x4ff9")]("//","[;$]"),e[n("0x4ff9")]("!",n("0xc5c")),e[n("0x4ff9")](n("0x524"),"$"),e[n("0x2b8c")],{className:n("0x38b7"),begin:"'",end:"'"},e[n("0x49a1")],{className:n("0x3722"),begin:n("0x2804")}]}})),e[t("0x28be")]("twig",(function(e){var n=t,a={className:n("0x48ad"),begin:"\\(",end:"\\)"},r=n("0x217d")+"max min parent random range source template_from_string",i={beginKeywords:r,keywords:{name:r},relevance:0,contains:[a]},o={begin:/\|[A-Za-z_]+:?/,keywords:n("0x34a8")+n("0x2c02")+n("0x283")+n("0x17f2"),contains:[i]},x=n("0x3367")+n("0x646");return x=x+" "+x.split(" ").map((function(e){return"end"+e}))[n("0xc60")](" "),{aliases:[n("0x22cb")],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#}/),{className:n("0x15af"),begin:/\{%/,end:/%}/,contains:[{className:n("0x98c"),begin:/\w+/,keywords:x,starts:{endsWithParent:!0,contains:[o,i],relevance:0}}]},{className:n("0x3871"),begin:/\{\{/,end:/}}/,contains:["self",o,i]}]}})),e[t("0x28be")]("typescript",(function(e){var n=t,a=n("0x18a8"),r={keyword:"in if for while finally var new function do return void else break catch "+n("0x229")+n("0x1af1")+n("0x2942")+"as from extends async await",literal:n("0x11bf"),built_in:n("0x638")+n("0x3c3b")+"EvalError InternalError RangeError ReferenceError StopIteration SyntaxError "+n("0x1307")+n("0x5e5")+n("0x2b6c")+"module console window document any number boolean string void Promise"},i={className:n("0x1439"),begin:"@"+a},o={begin:"\\(",end:/\)/,keywords:r,contains:["self",e[n("0x2b8c")],e[n("0xee9")],e[n("0x21e4")]]},x={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:[e[n("0x2d29")],e.C_BLOCK_COMMENT_MODE,i,o]},s={className:n("0x2231"),variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:n("0x4f3e")},{begin:e[n("0x762")]+"n?"}],relevance:0},c={className:n("0x134d"),begin:n("0x4b4b"),end:"\\}",keywords:r,contains:[]},l={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e[n("0x28e2")],c],subLanguage:n("0xbbe")}},d={begin:n("0xdae"),end:"",starts:{end:"`",returnEnd:!1,contains:[e[n("0x28e2")],c],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[e[n("0x28e2")],c]};return c[n("0x2a10")]=[e[n("0xee9")],e[n("0x2b8c")],l,d,u,s,e[n("0x7c6")]],{aliases:["ts"],keywords:r,contains:[{className:n("0x1439"),begin:/^\s*['"]use strict['"]/},e[n("0xee9")],e[n("0x2b8c")],l,d,u,e[n("0x2d29")],e[n("0x4848")],s,{begin:"("+e[n("0x3668")]+n("0x4a30"),keywords:n("0x4b09"),contains:[e[n("0x2d29")],e[n("0x4848")],e[n("0x7c6")],{className:n("0x3349"),begin:n("0x70b")+e[n("0x4485")]+n("0x2ad3"),returnBegin:!0,end:n("0x4a44"),contains:[{className:n("0x48ad"),variants:[{begin:e.IDENT_RE},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:[n("0xaf2"),e.C_LINE_COMMENT_MODE,e[n("0x4848")]]}]}]}],relevance:0},{className:n("0x3349"),beginKeywords:n("0x3349"),end:/[\{;]/,excludeEnd:!0,keywords:r,contains:[n("0xaf2"),e[n("0xbe2")](e[n("0x3ef7")],{begin:a}),x],illegal:/%/,relevance:0},{beginKeywords:n("0x11ae"),end:/[\{;]/,excludeEnd:!0,contains:["self",x]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:n("0x39e9"),end:/\{/,excludeEnd:!0},{beginKeywords:n("0x40d9"),end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+e[n("0x4485")],relevance:0},i,o]}})),e[t("0x28be")](t("0x4036"),(function(e){var n=t;return{keywords:{keyword:n("0x506")+n("0x158e")+n("0x2453")+n("0x160f")+n("0x3737")+"public private protected internal using new this get set const stdout stdin stderr var",built_in:n("0x1fef"),literal:n("0x294b")},contains:[{className:n("0x917"),beginKeywords:n("0x3630"),end:"{",excludeEnd:!0,illegal:n("0x101e"),contains:[e[n("0x33ca")]]},e[n("0x2d29")],e[n("0x4848")],{className:n("0x38b7"),begin:n("0x259b"),end:n("0x259b"),relevance:5},e[n("0xee9")],e.QUOTE_STRING_MODE,e[n("0x49a1")],{className:n("0x1439"),begin:"^#",end:"$",relevance:2}]}})),e[t("0x28be")](t("0xc8c"),(function(e){var n=t;return{aliases:["vb"],case_insensitive:!0,keywords:{keyword:"addhandler addressof alias and andalso aggregate ansi as async assembly auto await binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do "+n("0x4023")+n("0x4a8c")+n("0x4b4e")+"namespace narrowing new next not notinheritable notoverridable "+n("0x298a")+n("0x3d38")+n("0x13ab")+n("0x1d10")+n("0x49eb"),built_in:n("0x485a")+n("0x4692")+n("0x458f"),literal:"true false nothing"},illegal:n("0xe0"),contains:[e.inherit(e[n("0x2b8c")],{contains:[{begin:'""'}]}),e[n("0x4ff9")]("'","$",{returnBegin:!0,contains:[{className:n("0x62d"),begin:n("0x38d5"),contains:[e[n("0x31fb")]]},{className:n("0x62d"),begin:n("0x34ef"),end:">",contains:[e.PHRASAL_WORDS_MODE]}]}),e[n("0x49a1")],{className:n("0x1439"),begin:"#",end:"$",keywords:{"meta-keyword":n("0x2c56")}}]}})),e[t("0x28be")]("vbscript",(function(e){var n=t;return{aliases:["vbs"],case_insensitive:!0,keywords:{keyword:n("0x472")+n("0xc3e")+"redim rem select case set stop sub while wend with end to elseif is or xor and not "+n("0x4daf"),built_in:n("0x161b")+n("0x4ebb")+"conversions csng timevalue second year space abs clng timeserial fixs len asc "+n("0x23f9")+n("0xfb7")+n("0x2f33")+"strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion "+n("0x2db6")+n("0x2206")+n("0x2ead"),literal:n("0x171f")},illegal:"//",contains:[e[n("0xbe2")](e.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),e[n("0x4ff9")](/'/,/$/,{relevance:0}),e[n("0x49a1")]]}})),e.registerLanguage(t("0x2b4e"),(function(e){return{subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:t("0x31a5")}]}})),e[t("0x28be")](t("0x441d"),(function(e){var n=t,a={keyword:n("0x844")+n("0x3aff")+n("0x3c0b")+n("0xa89")+n("0x4f8d")+n("0x455c")+n("0x694")+n("0xa46")+"force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 "+n("0xc20")+n("0x15c6")+n("0x19c9")+n("0x7ab")+n("0x2a25")+"posedge primitive priority program property protected pull0 pull1 pulldown pullup "+n("0x2b57")+n("0x2e62")+n("0x3b48")+n("0xbf6")+n("0x3317")+n("0x370c")+n("0x290f")+"unsigned until until_with untyped use uwire var vectored virtual void wait wait_order "+n("0x3c36"),literal:"null",built_in:n("0x1b1f")+n("0x2df6")+n("0x2323")+n("0x37e7")+n("0x4488")+n("0x39e5")+n("0x2e01")+n("0x134a")+n("0x255")+n("0x3609")+"$floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning "+n("0x2b05")+n("0x130f")+n("0x3c69")+"$dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array $async$nand$array $async$or$array $async$nor$array $sync$and$array "+n("0x1b1a")+"$async$and$plane $async$nand$plane $async$or$plane $async$nor$plane "+n("0x3b86")+"$display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo $write $readmemb $readmemh $writememh $value$plusargs $dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit $writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb "+n("0x4dc6")+n("0x4dba")+n("0x46a2")+n("0x4420")+n("0xb01")+"$sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror"};return{aliases:["v","sv",n("0x2982")],case_insensitive:!1,keywords:a,lexemes:/[\w\$]+/,contains:[e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e[n("0x2b8c")],{className:n("0x2231"),contains:[e[n("0x28e2")]],variants:[{begin:n("0x21b4")},{begin:n("0x3ad")},{begin:n("0x3b2e"),relevance:0}]},{className:n("0x3722"),variants:[{begin:n("0xbd1")},{begin:n("0x9ab"),relevance:0}]},{className:n("0x1439"),begin:"`",end:"$",keywords:{"meta-keyword":n("0x2f1b")+n("0x1f3b")+n("0x2b3c")+n("0x28c1")+n("0x4f55")},relevance:0}]}})),e[t("0x28be")](t("0x4b2e"),(function(e){var n=t,a=n("0x4dd8"),r=n("0x4b78")+a,i=a+n("0x2148")+a+")?("+r+")?",o=n("0xd77"),x=a+"#"+o+"(\\."+o+")?#("+r+")?",s=n("0x2a45")+x+"|"+i+")";return{case_insensitive:!0,keywords:{keyword:n("0x3edc")+n("0x849")+n("0x42cb")+n("0x4b3a")+n("0x1970")+"postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence "+n("0x18c5")+"unaffected units until use variable view vmode vprop vunit wait when while with xnor xor",built_in:n("0x22e2")+n("0x1ff6")+"string bit_vector file_open_kind file_open_status "+n("0xa7b")+n("0x921")+n("0x1b5"),literal:n("0x14df")+n("0x4bf9")},illegal:"{",contains:[e[n("0x4848")],e[n("0x4ff9")]("--","$"),e[n("0x2b8c")],{className:n("0x2231"),begin:s,relevance:0},{className:"string",begin:n("0x3d94"),contains:[e.BACKSLASH_ESCAPE]},{className:n("0x40c6"),begin:n("0x2842"),contains:[e.BACKSLASH_ESCAPE]}]}})),e[t("0x28be")](t("0x15d8"),(function(e){var n=t;return{lexemes:/[!#@\w]+/,keywords:{keyword:n("0x11aa")+"cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 "+n("0x181")+n("0x3c39")+"tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ "+n("0x41c1")+"bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor "+n("0x13d3")+"imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview "+n("0x1d8e")+n("0xdbe")+n("0x447e")+"scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious "+n("0x1358")+n("0xd74"),built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv "+n("0x2db5")+"clearmatches empty extend getcmdpos mzeval garbagecollect setreg "+n("0x2ef4")+"shiftwidth max sinh isdirectory synID system inputrestore winline "+n("0x3ea2")+"hasmapto histdel argidx findfile sha256 exists toupper getcmdline "+n("0x47c7")+n("0x3769")+n("0x4fad")+n("0x1bc9")+n("0x19e")+n("0x9c2")+"virtcol floor remove undotree remote_expr winheight gettabwinvar "+n("0x290e")+n("0x497")+n("0x474a")+"synconcealed nextnonblank server2client complete settabwinvar "+n("0xcc")+"searchpair or screenrow line settabvar histadd deepcopy strpart "+n("0x2501")+n("0x14c5")+n("0x3847")+n("0x4c0")+n("0x2ffe")+"fnamemodify cscope_connection stridx winbufnr indent min "+n("0x142d")+n("0x31cb")+n("0x3997")+"matchdelete has char2nr simplify histget searchdecl iconv "+n("0x38ae")+n("0x3999")+n("0x1678")+n("0x1929")+"exp"},illegal:/;/,contains:[e[n("0x21e4")],{className:n("0x38b7"),begin:"'",end:"'",illegal:"\\n"},{className:n("0x38b7"),begin:/"(\\"|\n\\|[^"\n])*"/},e[n("0x4ff9")]('"',"$"),{className:"variable",begin:/[bwtglsav]:[\w\d_]*/},{className:"function",beginKeywords:n("0x3e2d"),end:"$",relevance:0,contains:[e[n("0x3ef7")],{className:n("0x48ad"),begin:"\\(",end:"\\)"}]},{className:n("0x40c6"),begin:/<[\w-]+>/}]}})),e[t("0x28be")](t("0x3616"),(function(e){var n=t;return{case_insensitive:!0,lexemes:n("0x130a")+e[n("0x4485")],keywords:{keyword:n("0x1643")+n("0x2e29"),built_in:n("0x16f4")+n("0x3805")+n("0x1e0")+n("0x4615")+n("0x4b6a")+n("0x14b1")+n("0xfe5")+n("0x2375")+n("0x376d")+n("0x4e5")+n("0x3cf9")+n("0x4971")+n("0x574")+n("0x14c")+n("0x108b")+n("0x19f7")+n("0x1afd")+n("0x1eb6")+n("0x2a8")+n("0x489")+n("0x80d")+n("0x32f5")+"resb resw resd resq rest resdq reso resy resz incbin equ times "+n("0xdc4"),meta:n("0x2783")+"%if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment "+n("0x4ff8")+n("0x2812")+n("0x16ef")+n("0x2499")+n("0x32ff")+n("0x3878")+n("0x2c9f")+n("0x33f5")+"float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[e.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:n("0x3ea3")+n("0x4ace"),relevance:0},{begin:n("0x3205"),relevance:0},{begin:n("0x2791")},{begin:n("0xb38")}]},e[n("0x2b8c")],{className:n("0x38b7"),variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:n("0x40c6"),variants:[{begin:n("0x4d50")},{begin:n("0x392f")}],relevance:0},{className:n("0x134d"),begin:n("0x44e4"),relevance:0},{className:n("0x134d"),begin:n("0x1ce"),relevance:0},{className:n("0x1439"),begin:/^\s*\.[\w_-]+/}]}})),e[t("0x28be")]("xl",(function(e){var n=t,a=n("0x2fc2")+n("0x38c7"),r={keyword:n("0x390d")+n("0x28e9"),literal:n("0x2169"),built_in:n("0x89d")+"acos atan exp expm1 log log2 log10 log1p pi at text_length text_range "+n("0x4c4c")+"title subtitle fade_in fade_out fade_at clear_color color line_color "+n("0x4b9e")+n("0x4c15")+n("0x16a2")+n("0xd01")+n("0x2246")+a},i={className:n("0x38b7"),begin:'"',end:'"',illegal:"\\n"},o={className:n("0x38b7"),begin:"<<",end:">>"},x={className:"number",begin:n("0x2dcd")},s={beginKeywords:"import",end:"$",keywords:r,contains:[i]},c={className:n("0x3349"),begin:/[a-z][^\n]*->/,returnBegin:!0,end:/->/,contains:[e[n("0xbe2")](e.TITLE_MODE,{starts:{endsWithParent:!0,keywords:r}})]};return{aliases:[n("0x3090")],lexemes:/[a-zA-Z][a-zA-Z0-9_?]*/,keywords:r,contains:[e[n("0x2d29")],e[n("0x4848")],i,{className:"string",begin:"'",end:"'",illegal:"\\n"},o,c,s,x,e.NUMBER_MODE]}})),e[t("0x28be")]("xquery",(function(e){var n=t,a=n("0x38bf")+n("0x30a0")+"for at in let where order group by return if then else "+n("0x1edc")+n("0x20ee")+n("0x10fd")+"delete insert into replace value rename copy modify update",r=n("0x3257")+n("0x1ab7"),i=n("0x4bff")+n("0x732")+n("0x101d"),o={className:n("0x21a9"),variants:[{begin:/\barray\:/,end:/(?:append|filter|flatten|fold\-(?:left|right)|for-each(?:\-pair)?|get|head|insert\-before|join|put|remove|reverse|size|sort|subarray|tail)\b/},{begin:/\bmap\:/,end:/(?:contains|entry|find|for\-each|get|keys|merge|put|remove|size)\b/},{begin:/\bmath\:/,end:/(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/},{begin:/\bop\:/,end:/\(/,excludeEnd:!0},{begin:/\bfn\:/,end:/\(/,excludeEnd:!0},{begin:/[^<\/\$\:'"-]\b(?:abs|accumulator\-(?:after|before)|adjust\-(?:date(?:Time)?|time)\-to\-timezone|analyze\-string|apply|available\-(?:environment\-variables|system\-properties)|avg|base\-uri|boolean|ceiling|codepoints?\-(?:equal|to\-string)|collation\-key|collection|compare|concat|contains(?:\-token)?|copy\-of|count|current(?:\-)?(?:date(?:Time)?|time|group(?:ing\-key)?|output\-uri|merge\-(?:group|key))?data|dateTime|days?\-from\-(?:date(?:Time)?|duration)|deep\-equal|default\-(?:collation|language)|distinct\-values|document(?:\-uri)?|doc(?:\-available)?|element\-(?:available|with\-id)|empty|encode\-for\-uri|ends\-with|environment\-variable|error|escape\-html\-uri|exactly\-one|exists|false|filter|floor|fold\-(?:left|right)|for\-each(?:\-pair)?|format\-(?:date(?:Time)?|time|integer|number)|function\-(?:arity|available|lookup|name)|generate\-id|has\-children|head|hours\-from\-(?:dateTime|duration|time)|id(?:ref)?|implicit\-timezone|in\-scope\-prefixes|index\-of|innermost|insert\-before|iri\-to\-uri|json\-(?:doc|to\-xml)|key|lang|last|load\-xquery\-module|local\-name(?:\-from\-QName)?|(?:lower|upper)\-case|matches|max|minutes\-from\-(?:dateTime|duration|time)|min|months?\-from\-(?:date(?:Time)?|duration)|name(?:space\-uri\-?(?:for\-prefix|from\-QName)?)?|nilled|node\-name|normalize\-(?:space|unicode)|not|number|one\-or\-more|outermost|parse\-(?:ietf\-date|json)|path|position|(?:prefix\-from\-)?QName|random\-number\-generator|regex\-group|remove|replace|resolve\-(?:QName|uri)|reverse|root|round(?:\-half\-to\-even)?|seconds\-from\-(?:dateTime|duration|time)|snapshot|sort|starts\-with|static\-base\-uri|stream\-available|string\-?(?:join|length|to\-codepoints)?|subsequence|substring\-?(?:after|before)?|sum|system\-property|tail|timezone\-from\-(?:date(?:Time)?|time)|tokenize|trace|trans(?:form|late)|true|type\-available|unordered|unparsed\-(?:entity|text)?\-?(?:public\-id|uri|available|lines)?|uri\-collection|xml\-to\-json|years?\-from\-(?:date(?:Time)?|duration)|zero\-or\-one)\b/},{begin:/\blocal\:/,end:/\(/,excludeEnd:!0},{begin:/\bzip\:/,end:/(?:zip\-file|(?:xml|html|text|binary)\-entry| (?:update\-)?entries)\b/},{begin:/\b(?:util|db|functx|app|xdmp|xmldb)\:/,end:/\(/,excludeEnd:!0}]},x={className:n("0x2231"),begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},s={className:n("0x1439"),begin:/%[\w-:]+/},c=[{className:"variable",begin:/[\$][\w-:]+/},o,{className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},x,{className:n("0x3cd8"),begin:"\\(:",end:n("0x62c"),relevance:10,contains:[{className:n("0x62d"),begin:"@\\w+"}]},s,{className:"title",begin:/\bxquery version "[13]\.[01]"\s?(?:encoding ".+")?/,end:/;/},{beginKeywords:"element attribute comment document processing-instruction",end:"{",excludeEnd:!0},{begin:/<([\w\._:\-]+)((\s*.*)=('|").*('|"))?>/,end:/(\/[\w\._:\-]+>)/,subLanguage:n("0xbbe"),contains:[{begin:"{",end:"}",subLanguage:n("0x4551")},n("0xaf2")]}];return{aliases:[n("0x2b41"),"xq"],case_insensitive:!1,lexemes:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{keyword:a,type:r,literal:i},contains:c}})),e[t("0x28be")](t("0x2a1c"),(function(e){var n=t,a={className:n("0x38b7"),contains:[e[n("0x28e2")]],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e[n("0xbe2")](e.APOS_STRING_MODE,{illegal:null}),e[n("0xbe2")](e[n("0x2b8c")],{illegal:null})]},r={variants:[e[n("0xd50")],e.C_NUMBER_MODE]};return{aliases:[n("0x24ae")],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch "+n("0x26e2")+n("0x71a")+n("0x1954")+n("0x2baa")+n("0x3023")+"trait goto instanceof insteadof __DIR__ __NAMESPACE__ "+n("0x4c11")+"likely unlikely",contains:[e[n("0x2d29")],e.HASH_COMMENT_MODE,e.COMMENT(n("0xaae"),n("0x3756"),{contains:[{className:"doctag",begin:n("0x22b")}]}),e[n("0x4ff9")](n("0x321c"),!1,{endsWithParent:!0,keywords:n("0x165b"),lexemes:e[n("0x8da")]}),{className:n("0x38b7"),begin:n("0x4386"),end:n("0x3c71"),contains:[e.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:n("0x3349"),beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:n("0x4057"),contains:[e[n("0x33ca")],{className:n("0x48ad"),begin:"\\(",end:"\\)",contains:["self",e[n("0x4848")],a,r]}]},{className:n("0x917"),beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:n("0x1732")},e[n("0x33ca")]]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e[n("0x33ca")]]},{beginKeywords:n("0x127d"),end:";",contains:[e[n("0x33ca")]]},{begin:"=>"},a,r]}})),e},r=a2_0x37cf,i=typeof window===r("0x1b1d")&&window||typeof self===r("0x1b1d")&&self,t[r("0x4879")]?i&&(i.hljs=a({}),void 0===(n=function(){return i[r("0x1247")]}.apply(t,[]))||(e.exports=n)):a(t)},6849:()=>{var e=_0x299160;angular[e("0x39e9")](e("0x2cc4"),[e("0x4dab"),e("0x45f7"),e("0x41cf")]),angular[e("0x39e9")](e("0x2cc4"))[e("0xc3b")](e("0xdaf"),(function(){function t(){var e=a2_0x37cf;return Math[e("0x4184")](65536*(1+Math[e("0xcbb")]())).toString(16)[e("0x35e7")](1)}this[e("0x1cf")]=function(){return t()+t()+t()+t()+t()+t()+t()+t()}})).factory(e("0x743"),[e("0xdaf"),function(t){var n=e,a={},r=[];return a[n("0x16c4")]=function(e,i){var o=n;if(i&&(r=[]),!(r[o("0x3507")](e)>=0)&&(r[o("0x459a")](e),!e!==Object(e)))if(Array[o("0x498f")](e))e[o("0x5ba")](a[o("0x16c4")]);else{for(var x in e)e.hasOwnProperty(x)&&a[o("0x16c4")](e[x]);if(e[o("0x1bd4")]("id")){var s=t[o("0x1cf")]();e.id;e.id=s}}},a[n("0x35fc")]=function(e){var t={};return angular.copy(e,t),a.resetIds(t,!0),t},a.clonePage=function(e){var r=n,i={};angular[r("0x4d98")](e,i),i.id=t[r("0x1cf")]();var o=[];if(Array[r("0x498f")](e[r("0x3a17")]))for(var x=0;x<e[r("0x3a17")][r("0x5e9")];x++)o[r("0x459a")](a[r("0x35fc")](e[r("0x3a17")][x]));return i[r("0x3a17")]=o,i},a[n("0x267d")]=function(e){var t=n,r={};angular[t("0x4d98")](e,r);var i=[];if(Array.isArray(e[t("0x2ef1")]))for(var o=0;o<e.pages[t("0x5e9")];o++)i[t("0x459a")](a[t("0x494c")](e[t("0x2ef1")][o]));return r[t("0x2ef1")]=i,r},a}]),angular[e("0x39e9")](e("0x2cc4"))[e("0x1b75")](e("0x1d32"),(function(){var t=e;return{replace:!0,restrict:"AE",require:"^mwFormQuestionBuilder",scope:{question:"=",readOnly:"=?",options:"=?"},templateUrl:t("0x150d"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0xdaf"),function(e){var n=t,a=this;a[n("0x2c50")]={},this.$onInit=function(){var e,t=n;!a[t("0x2a12")][t("0x21eb")]&&(a[t("0x2a12")][t("0x21eb")]=[],a.addNewItem()),a.question.priorityList[(e=n)("0x4d63")]((function(t,n){var a=e;return t[a("0x53d")]-n[a("0x53d")]})),a.itemsSortableConfig={disabled:a[t("0x2bbb")],ghostClass:t("0x482f"),handle:t("0x2d88"),onEnd:function(e,r){!function(e){var t=n;if(e)for(var a=0;a<e[t("0x5e9")];a++){e[a].orderNo=a+1}}(a[t("0x2a12")].priorityList)}}},a[n("0x2e9a")]=function(t){var r=n,i={id:e.get(),orderNo:a[r("0x2a12")][r("0x21eb")][r("0x5e9")]+1,value:null};!t&&(a[r("0x2c50")][i.id]=!0),a[r("0x2a12")][r("0x21eb")].push(i)},a.removeItem=function(e){var t=n,r=a[t("0x2a12")][t("0x21eb")][t("0x3507")](e);-1!=r&&a[t("0x2a12")][t("0x21eb")][t("0x2bcf")](r,1)},a[n("0x38f6")]=function(e,t){var r=n;delete a[r("0x2c50")][t.id],13===e.which&&(e[r("0xe50")](),a[r("0x2e9a")]())},1===angular[n("0x10ea")][n("0x2c74")]&&angular[n("0x10ea")].minor<5&&this[n("0x4393")]()}],link:function(e,n,a,r){e[t("0xd7a")]}}})),angular[e("0x39e9")](e("0x2cc4"))[e("0x1b75")](e("0x2358"),(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0x4e50"),scope:{question:"=",formObject:"=",readOnly:"=?",options:"=?",disableOtherAnswer:"=?"},templateUrl:t("0x461e"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0x374d"),t("0xdaf"),function(e,n){var a=t,r=this;this[a("0x4393")]=function(){var e,t=a;r[t("0x1805")]={radio:{},checkbox:{}},r.isNewAnswer={},e=a,r.question[e("0x4af9")]&&r[e("0x2a12")][e("0x4af9")][e("0x4d63")]((function(t,n){var a=e;return t.orderNo-n[a("0x53d")]})),r[t("0x2446")]={disabled:r[t("0x2bbb")],ghostClass:t("0x482f"),handle:".drag-handle",onEnd:function(e,t){!function(){var e=a;if(r[e("0x2a12")][e("0x4af9")])for(var t=0;t<r[e("0x2a12")][e("0x4af9")][e("0x5e9")];t++){r[e("0x2a12")][e("0x4af9")][t].orderNo=t+1}}()}}},r.addNewOfferedAnswer=function(){var e=a,t=r.possiblePageFlow[0],i={id:n[e("0x1cf")](),orderNo:r[e("0x2a12")][e("0x4af9")].length+1,value:null,pageFlow:t};r.isNewAnswer[i.id]=!0,r[e("0x2a12")][e("0x4af9")][e("0x459a")](i)},r[a("0x3103")]=function(e){var t=a,n=r[t("0x2a12")].offeredAnswers[t("0x3507")](e);-1!=n&&r[t("0x2a12")][t("0x4af9")][t("0x2bcf")](n,1)},r.addCustomAnswer=function(){var e=a;r[e("0x2a12")][e("0x1bd0")]=!0},r[a("0x1911")]=function(){r.question.otherAnswer=!1},r[a("0x38f6")]=function(e,t){var n=a;delete r.isNewAnswer[t.id],13===e.which&&(e[n("0xe50")](),r[n("0x45f1")]())},1===angular[a("0x10ea")][a("0x2c74")]&&angular.version[a("0x8b1")]<5&&this[a("0x4393")]()}],link:function(e,n,a,r){var i=t;e[i("0xd7a")][i("0x4227")]=r[i("0x4227")]}}})),angular.module("mwFormBuilder")[e("0x1b75")](e("0x4a85"),(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0x4e50"),scope:{question:"=",formObject:"=",readOnly:"=?",options:"=?"},templateUrl:t("0x3d01"),controllerAs:"ctrl",bindToController:!0,controller:[t("0xdaf"),"MW_GRID_CELL_INPUT_TYPES",function(e,n){var a=t,r=this;function i(e){var t=a;if(e)for(var n=0;n<e.length;n++){e[n][t("0x53d")]=n+1}}function o(e){e.sort((function(e,t){var n=a2_0x37cf;return e[n("0x53d")]-t[n("0x53d")]}))}this[a("0x4393")]=function(){var e=a;r.cellInputTypes=n,r[e("0x9a3")]={},!r[e("0x2a12")][e("0x169b")]&&(r[e("0x2a12")][e("0x169b")]={rows:[],cols:[]},r[e("0x4fc4")](),r[e("0x2f4b")](!0)),!r[e("0x2a12")][e("0x169b")].cellInputType&&(r.question[e("0x169b")][e("0x1bbb")]=r.cellInputTypes[0]),o(r[e("0x2a12")][e("0x169b")][e("0x47d8")]),o(r[e("0x2a12")][e("0x169b")][e("0x3340")]),r[e("0x1d66")]={disabled:r[e("0x2bbb")],ghostClass:"beingDragged",handle:e("0x2d88"),onEnd:function(t,n){var a=e;i(r.question[a("0x169b")].rows)}},r.colsSortableConfig={disabled:r.readOnly,ghostClass:"beingDragged",handle:e("0x2d88"),onEnd:function(t,n){var a=e;i(r.question.grid[a("0x3340")])}}},r[a("0x4fc4")]=function(t){var n=a,i={id:e[n("0x1cf")](),orderNo:r.question[n("0x169b")].rows[n("0x5e9")]+1,label:null};!t&&(r.isNewInput[i.id]=!0),r[n("0x2a12")][n("0x169b")][n("0x47d8")][n("0x459a")](i)},r.addNewCol=function(t){var n=a,i={id:e[n("0x1cf")](),orderNo:r.question[n("0x169b")][n("0x3340")][n("0x5e9")]+1,label:null};!t&&(r[n("0x9a3")][i.id]=!0),r[n("0x2a12")][n("0x169b")][n("0x3340")].push(i)},r[a("0xf2a")]=function(e){var t=a,n=r[t("0x2a12")][t("0x169b")][t("0x47d8")][t("0x3507")](e);-1!=n&&r[t("0x2a12")][t("0x169b")][t("0x47d8")][t("0x2bcf")](n,1)},r.removeCol=function(e){var t=a,n=r[t("0x2a12")][t("0x169b")].cols.indexOf(e);-1!=n&&r[t("0x2a12")][t("0x169b")][t("0x3340")][t("0x2bcf")](n,1)},r[a("0x38f6")]=function(e,t,n){var i=a;delete r[i("0x9a3")][t.id],13===e.which&&(e[i("0xe50")](),n==i("0x3c95")?r[i("0x4fc4")]():r[i("0x2f4b")]())},1===angular[a("0x10ea")][a("0x2c74")]&&angular.version[a("0x8b1")]<5&&this.$onInit()}],link:function(e,n,a,r){e[t("0xd7a")]}}})),angular[e("0x39e9")](e("0x2cc4"))[e("0x1b75")](e("0x1802"),(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0x4e50"),scope:{question:"=",readOnly:"=?",options:"=?"},templateUrl:t("0x270f"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0xdaf"),function(e){var n=t,a=this;a.$onInit=function(){var e=a2_0x37cf;a[e("0x2c50")]={},!a.question[e("0x1d5c")]&&(a[e("0x2a12")].divisionList=[],a.addNewItem()),a.question[e("0x1d5c")].sort((function(e,t){var n=a2_0x37cf;return e[n("0x53d")]-t[n("0x53d")]})),a[e("0x3306")]={disabled:a.readOnly,ghostClass:e("0x482f"),handle:e("0x2d88"),onEnd:function(t,r){var i=e;!function(e){var t=n;if(e)for(var a=0;a<e[t("0x5e9")];a++){e[a][t("0x53d")]=a+1}}(a[i("0x2a12")][i("0x1d5c")])}}},a[n("0x2e9a")]=function(t){var r=n,i={id:e.get(),orderNo:a.question[r("0x1d5c")][r("0x5e9")]+1,value:null};!t&&(a[r("0x2c50")][i.id]=!0),a[r("0x2a12")][r("0x1d5c")][r("0x459a")](i)},a.removeItem=function(e){var t=n,r=a.question[t("0x1d5c")].indexOf(e);-1!=r&&a.question[t("0x1d5c")][t("0x2bcf")](r,1)},a[n("0x38f6")]=function(e,t){var r=n;delete a[r("0x2c50")][t.id],13===e.which&&(e[r("0xe50")](),a.addNewItem())},1===angular[n("0x10ea")][n("0x2c74")]&&angular[n("0x10ea")][n("0x8b1")]<5&&a[n("0x4393")]()}],link:function(e,n,a,r){e[t("0xd7a")]}}})),angular.module(e("0x2cc4"))[e("0x1b75")](e("0x4983"),(function(){var t=e;return{replace:!0,restrict:"AE",scope:{labelKey:"@?",labelText:"@?",labelFor:"@",labelClass:"@",labelTranslateValues:"="},templateUrl:t("0x23c2"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0xdaf"),function(e){}],link:function(e,t,n){}}})),angular[e("0x39e9")](e("0x2cc4"))[e("0x3faf")]("FormQuestionBuilderId",(function(){var e=0;return{next:function(){return++e}}}))[e("0x1b75")](e("0x3da8"),(function(){var t=e;return{replace:!0,restrict:"AE",require:"^mwFormPageElementBuilder",scope:{question:"=",formObject:"=",onReady:"&",isPreview:"=?",readOnly:"=?"},templateUrl:t("0x4e80"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0x38d4"),t("0x374d"),t("0x30a9"),function(e,n,a){var r=t,i=this;i[r("0x4393")]=function(){var e,t=r;i.id=n[t("0xa8")](),i[t("0x48e7")]=a.questionTypes,i.formSubmitted=!1,i[(e=r)("0x2a12")][e("0x4af9")]&&i[e("0x2a12")][e("0x4af9")].sort((function(t,n){return t[e("0x53d")]-n.orderNo})),i[t("0x2446")]={disabled:i.readOnly,ghostClass:t("0x482f"),handle:t("0x2d88"),onEnd:function(e,t){!function(){var e=r;if(i[e("0x2a12")][e("0x4af9")])for(var t=0;t<i[e("0x2a12")][e("0x4af9")].length;t++)i[e("0x2a12")][e("0x4af9")][t][e("0x53d")]=t+1}()}}},i[r("0x37e0")]=function(){var e=r;i[e("0x42e8")]=!0,i.form[e("0x4655")]&&i[e("0x249c")]()};var o=["radio",r("0xb63"),"select"];function x(){var e=r;i[e("0x2a12")][e("0x4af9")]&&i[e("0x2a12")].offeredAnswers[e("0x5ba")]((function(t){var n=e;i[n("0x2a12")][n("0x3cc9")]?t.pageFlow=i[n("0x4227")][0]:delete t.pageFlow}))}i[r("0x3a37")]=function(){var t=r;-1!==o.indexOf(i[t("0x2a12")][t("0x3298")])&&!i[t("0x2a12")][t("0x4af9")]&&(i[t("0x2a12")].offeredAnswers=[]),i[t("0x2a12")][t("0x3298")]!=t("0x1629")&&(x(),e((function(){var e=t;i.question[e("0x3cc9")]=!1}))),-1===o[t("0x3507")](i[t("0x2a12")].type)&&delete i[t("0x2a12")][t("0x4af9")],"grid"!=i[t("0x2a12")][t("0x3298")]&&delete i[t("0x2a12")][t("0x169b")],i[t("0x2a12")][t("0x3298")]!=t("0x20e3")&&delete i[t("0x2a12")].priorityList},i[r("0x4492")]=function(){x()},1===angular[r("0x10ea")][r("0x2c74")]&&angular[r("0x10ea")].minor<5&&i.$onInit()}],link:function(e,n,a,r){var i=t,o=e[i("0xd7a")];o.possiblePageFlow=r[i("0x4227")],o[i("0x16d1")]=r[i("0x16d1")]}}})),angular[e("0x39e9")]("mwFormBuilder").factory(e("0x26e8"),(function(){var e=0;return{next:function(){return++e}}}))[e("0x1b75")]("mwFormParagraphBuilder",(function(){var t=e;return{replace:!0,restrict:"AE",require:"^mwFormPageElementBuilder",scope:{paragraph:"=",formObject:"=",onReady:"&",isPreview:"=?",readOnly:"=?"},templateUrl:t("0x1fbf"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0x38d4"),t("0x26e8"),function(e,n){var a=t,r=this;r[a("0x4393")]=function(){var e=a;r.id=n[e("0xa8")](),r[e("0x42e8")]=!1},r[a("0x37e0")]=function(){var e=a;r[e("0x42e8")]=!0,r[e("0x35c5")][e("0x4655")]&&r.onReady()},1===angular[a("0x10ea")][a("0x2c74")]&&angular[a("0x10ea")][a("0x8b1")]<5&&r[a("0x4393")]()}],link:function(e,n,a,r){e[t("0xd7a")]}}})),angular[e("0x39e9")](e("0x2cc4")).directive(e("0x26f8"),(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0xbed"),scope:{pageElement:"=",formObject:"=",isActive:"=",isFirst:"=",isLast:"=",onReady:"&",readOnly:"=?"},templateUrl:t("0x3ff7"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0xdaf"),function(e){var n=t,a=this;a[n("0x4393")]=function(){var t=n;a[t("0x2c3e")][t("0x3298")]==t("0x2a12")?!a[t("0x2c3e")][t("0x2a12")]&&(a[t("0x2c3e")][t("0x2a12")]={id:e[t("0x1cf")](),text:null,type:null,required:!0}):"image"==a.pageElement[t("0x3298")]?!a[t("0x2c3e")][t("0x13a2")]&&(a[t("0x2c3e")].image={id:e.get(),align:t("0x2885")}):a[t("0x2c3e")].type==t("0x38e0")&&!a[t("0x2c3e")][t("0x38e0")]&&(a[t("0x2c3e")][t("0x38e0")]={id:e.get(),html:""})},a[n("0x1c9a")]=function(e,t){var r=n;e[r("0xe50")](),e[r("0x4c98")](),t.callback&&typeof t[r("0x1c9a")]===r("0x3349")&&t[r("0x1c9a")](a.pageElement)},a.filter=function(e){var t=n;return!(!e[t("0x292b")]&&a[t("0x1494")])&&(!(!e.showInPreview&&!a.isActive)&&(!e[t("0x6a6")]||"function"!=typeof e[t("0x6a6")]||e[t("0x6a6")](a[t("0x2c3e")])))},1===angular.version[n("0x2c74")]&&angular[n("0x10ea")].minor<5&&a[n("0x4393")]()}],link:function(e,n,a,r){var i=t,o=e[i("0xd7a")];o[i("0x4227")]=r[i("0x4227")],o[i("0x2fa2")]=function(){o[i("0x581")]=!0},o.hoverOut=function(){o[i("0x581")]=!1},o[i("0x47e4")]=function(){r[i("0x3bba")](o.pageElement)},o[i("0x35fc")]=function(e){var t=i;e[t("0xe50")](),e[t("0x4c98")](),r[t("0x35fc")](o[t("0x2c3e")])},o[i("0xb58")]=function(){var e=i;r[e("0xb58")](o[e("0x2c3e")])},o.moveDown=function(){var t=i;r.moveDownElement(o[t("0x2c3e")]),e.$emit(t("0x14b"))},o[i("0x16ee")]=function(){var t=i;r.moveUpElement(o[t("0x2c3e")]),e[t("0x7e0")](t("0x14b"))},o.options=r[i("0x16d1")],o[i("0x220c")]=r.onImageSelection}}})),angular[e("0x39e9")]("mwFormBuilder")[e("0x1b75")]("mwFormPageBuilder",[e("0x47ed"),function(t){var n=e;return{replace:!0,restrict:"AE",require:n("0x1b45"),scope:{formPage:"=",formObject:"=",isFirst:"=",isLast:"=",readOnly:"=?"},templateUrl:n("0x1e2"),controllerAs:n("0xd7a"),bindToController:!0,controller:["$scope","$timeout",n("0xdaf"),n("0x743"),n("0x30a9"),function(e,a,r,i,o){var x=n,s=this;function c(){for(var e=x,t=0;t<s[e("0x2f7e")][e("0x3a17")][e("0x5e9")];t++)s[e("0x2f7e")].elements[t].orderNo=t+1}function l(e,t,n){var a=x,r=e[t];e.splice(t,1),e[a("0x2bcf")](n,0,r)}s.$onInit=function(){var t,n=a2_0x37cf;s[n("0x95b")]=!1,s[n("0x2f7e")][n("0x22ff")]=!!s[n("0x2f7e")][n("0x98c")],s[n("0xab0")]=!1,s[(t=x)("0x2f7e")][t("0x3a17")][t("0x4d63")]((function(e,n){return e[t("0x53d")]-n.orderNo})),s[n("0x466d")]={disabled:s[n("0x2bbb")],ghostClass:n("0x482f"),group:n("0x38cf"),handle:n("0x1aa"),chosenClass:n("0x1f03"),onEnd:function(t,a){var r=n;c(),e[r("0x7e0")](r("0x14b"))}},s[n("0x3671")]=null},s[x("0x4323")]=function(){s[x("0xab0")]=!1},s[x("0x3c8f")]=function(){s[x("0xab0")]=!0},s.pageNameChanged=function(){var e=x;t[e("0x2050")](e("0x1e06"),{page:s.formPage})},s[x("0xc7")]=function(e){var t=x;!e&&(e=o.elementTypes[0]);var n,a,i=(n=e,a=s[t("0x2f7e")][t("0x3a17")].length+1,{id:r.get(),orderNo:a,type:n});s[t("0x3671")]=i,s[t("0x2f7e")][t("0x3a17")].push(i)},s[x("0x35fc")]=function(e,t){var n=x,a=s[n("0x2f7e")][n("0x3a17")][n("0x3507")](e),r=i.cloneElement(e);t&&(s[n("0x3671")]=r),s[n("0x2f7e")].elements[n("0x2bcf")](a,0,r)},s[x("0xb58")]=function(e){var t=x,n=s[t("0x2f7e")][t("0x3a17")][t("0x3507")](e);s[t("0x2f7e")][t("0x3a17")][t("0x2bcf")](n,1)},s[x("0x35ff")]=function(e){var t=x,n=s[t("0x2f7e")][t("0x3a17")][t("0x3507")](e),a=n+1;a<s.formPage[t("0x3a17")][t("0x5e9")]&&l(s[t("0x2f7e")][t("0x3a17")],n,a),c()},s[x("0x1994")]=function(e){var t=x,n=s[t("0x2f7e")][t("0x3a17")][t("0x3507")](e),a=n-1;a>=0&&l(s[t("0x2f7e")][t("0x3a17")],n,a),c()},s[x("0x20ca")]=function(e){var t=x;return-1!==o[t("0x1dcf")][t("0x3507")](e)},s[x("0x4f3b")]=function(){var e=x;s[e("0xc7")](e("0x2a12"))},s[x("0x27e1")]=function(){s.addElement("image")},s[x("0x4a71")]=function(){var e=x;s[e("0xc7")](e("0x38e0"))},s[x("0x10e9")]=function(e){return s[x("0x3671")]==e},s[x("0x3bba")]=function(e){s.activeElement=e},s[x("0x2797")]=function(){a((function(){s.activeElement=null}))},s[x("0x2fa2")]=function(){s[x("0x95b")]=!0},s[x("0xb60")]=function(){s[x("0x95b")]=!1},s[x("0x1ada")]=c,1===angular[x("0x10ea")][x("0x2c74")]&&angular[x("0x10ea")][x("0x8b1")]<5&&s[x("0x4393")]()}],link:function(e,t,a,r){var i=n,o=e[i("0xd7a")];o[i("0x4227")]=r[i("0x4227")],o[i("0xe03")]=function(){var e=i;r.moveDownPage(o[e("0x2f7e")])},o.moveUp=function(){r.moveUpPage(o.formPage)},o[i("0xd6")]=function(){var e=i;r[e("0xd6")](o[e("0x2f7e")])},o.addPage=function(){r[i("0x1cfe")](o.formPage)},e[i("0x7a")](i("0x2548"),(function(t,n){var a=i;t!=n&&(o[a("0x1ada")](),e[a("0x7e0")](a("0x14b")))})),o.options=r[i("0x16d1")],o.onImageSelection=r.onImageSelection}}}]),angular[e("0x39e9")](e("0x2cc4"))[e("0x3faf")]("FormImageBuilderId",(function(){var e=0;return{next:function(){return++e}}}))[e("0x1b75")](e("0x173a"),(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0x2553"),scope:{image:"=",formObject:"=",onReady:"&",isPreview:"=?",readOnly:"=?",onImageSelection:"&"},templateUrl:t("0x3bb"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0x38d4"),t("0x96"),t("0xdaf"),function(e,n,a){var r=t,i=this;i.id=n[r("0xa8")](),i[r("0x42e8")]=!1,i.save=function(){var e=r;i.formSubmitted=!0,i[e("0x35c5")].$valid&&i[e("0x249c")]()},i[r("0x92f")]=function(){var e=r;i[e("0x220c")]()[e("0x34e8")]((function(t){var n=e;i[n("0x13a2")][n("0x21d6")]=t}))[e("0x373a")]((function(){}))},i[r("0x112f")]=function(e){var t=r;i[t("0x13a2")][t("0x4f21")]=e}}],link:function(e,n,a,r){e[t("0xd7a")]}}})),angular.module("mwFormBuilder").directive(e("0x1f50"),(function(){var t=e;return{replace:!0,restrict:"AE",scope:{formObject:"=",readOnly:"=?",defaultMessage:"=?"},templateUrl:t("0x448c"),controllerAs:"ctrl",bindToController:!0,controller:[t("0x38d4"),function(e){var n=t,a=this;a[n("0x95b")]=!1,a[n("0x2fa2")]=function(){a[n("0x95b")]=!0},a[n("0xb60")]=function(){a[n("0x95b")]=!1}}],link:function(e,t,n){}}})),angular[e("0x39e9")]("mwFormBuilder").directive(e("0x2cc4"),[e("0x47ed"),function(t){var n=e;return{replace:!0,restrict:"AE",scope:{formData:"=",readOnly:"=?",options:"=?",formStatus:"=?",onImageSelection:"&",api:"=?"},templateUrl:"mw-form-builder.html",controllerAs:n("0xd7a"),bindToController:!0,controller:["$scope",n("0xdaf"),"MW_QUESTION_TYPES",n("0x30a9"),function(e,a,r,i){var o=n,x=this;function s(e){var t=o,n=null;return x.possiblePageFlow&&(n=x[t("0x4227")][0]),{id:a[t("0x1cf")](),number:e,name:null,description:null,pageFlow:n,elements:[]}}function c(){var e=o,t=1;typeof x.formData.pages!==e("0xc42")&&x.formData[e("0x2ef1")][e("0x5ba")]((function(n){var a=e;typeof n[a("0x3a17")]!==a("0xc42")&&n[a("0x3a17")][a("0x5ba")]((function(e){var n=a;e.type==n("0x2a12")&&typeof e[n("0x2a12")]!==n("0xc42")&&(e[n("0x2a12")][n("0x2231")]=t++)}))}))}function l(){for(var e=o,t=0;t<x[e("0x183e")][e("0x2ef1")].length;t++)x[e("0x183e")].pages[t][e("0x2231")]=t+1;x[e("0x2909")]()}function d(e,t,n){var a=o,r=e[t];e[a("0x2bcf")](t,1),e[a("0x2bcf")](n,0,r)}x.$onInit=function(){var t=a2_0x37cf;x[t("0x4d40")]=0,(!x[t("0x183e")][t("0x2ef1")]||!x[t("0x183e")].pages[t("0x5e9")])&&(x[t("0x183e")].pages=[],x[t("0x183e")].pages[t("0x459a")](s(1))),x[t("0x16d1")]=i[t("0x375f")](x[t("0x16d1")]),x[t("0x4dca")]&&(x[t("0x4dca")][t("0x19a7")]=function(){var e=t;for(var n in x[e("0x183e")])x[e("0x183e")].hasOwnProperty(n)&&n!=e("0x2ef1")&&delete x[e("0x183e")][n];x.formData.pages[e("0x5e9")]=0,x[e("0x183e")][e("0x2ef1")][e("0x459a")](s(1))}),setTimeout((function(){c()}),0),e[t("0x7a")](t("0x5c3"),(function(e,t){c()}))},x[o("0x210f")]=function(){var e=o;return Math.ceil(x[e("0x183e")][e("0x2ef1")][e("0x5e9")]/x.options[e("0xa06")])},x.lastPage=function(){var e=o;x[e("0x4d40")]=Math[e("0x3c59")](x[e("0x183e")].pages[e("0x5e9")]/x.options[e("0xa06")]-1)},x[o("0x4abc")]=function(){var e=o;x.formData[e("0x2ef1")].push(s(x[e("0x183e")][e("0x2ef1")][e("0x5e9")]+1)),x[e("0x29c8")](),t.$broadcast(e("0x3035"))},x[o("0x418d")]=function(){var e=o;x.currentPage>Math.ceil(x[e("0x183e")][e("0x2ef1")][e("0x5e9")]/x[e("0x16d1")].pageSize-1)&&(x[e("0x4d40")]=Math[e("0x3c59")](x[e("0x183e")][e("0x2ef1")][e("0x5e9")]/x[e("0x16d1")][e("0xa06")]-1))},e.$on(o("0x14b"),(function(){setTimeout((function(){c()}),0)})),x.addPageAfter=function(e){var n=o,a=x[n("0x183e")].pages[n("0x3507")](e)+1,r=s(e[n("0x2231")]+1);a<x[n("0x183e")][n("0x2ef1")][n("0x5e9")]?x.formData.pages[n("0x2bcf")](a,0,r):x[n("0x183e")][n("0x2ef1")][n("0x459a")](r),l(),c(),t[n("0x2050")](n("0x3035"))},x[o("0x2f43")]=function(e){var n=o,a=x.formData[n("0x2ef1")][n("0x3507")](e),r=a+1;r<x.formData.pages[n("0x5e9")]&&d(x[n("0x183e")][n("0x2ef1")],a,r),l(),c(),t.$broadcast("mwForm.pageEvents.pageMoved")},x.moveUpPage=function(e){var n=o,a=x[n("0x183e")][n("0x2ef1")][n("0x3507")](e),r=a-1;r>=0&&d(x[n("0x183e")][n("0x2ef1")],a,r),l(),c(),t.$broadcast(n("0x4b01"))},x.removePage=function(e){var n=o,a=x[n("0x183e")][n("0x2ef1")][n("0x3507")](e);x[n("0x183e")][n("0x2ef1")][n("0x2bcf")](a,1),l(),c(),t[n("0x2050")]("mwForm.pageEvents.pageRemoved"),x[n("0x418d")]()},1===angular[o("0x10ea")][o("0x2c74")]&&angular[o("0x10ea")][o("0x8b1")]<5&&x[o("0x4393")]()}],link:function(e,a,r){var i=n,o=e[i("0xd7a")];o[i("0x1540")]&&(o[i("0x1540")][i("0x35c5")]=o[i("0x35c5")]),o[i("0x4227")]=[];var x={nextPage:!0,label:"mwForm.pageFlow.goToNextPage"};o[i("0x4227")][i("0x459a")](x),o[i("0x1ea3")]=function(e,t){var n=i;return e[n("0x1dcc")]&&t[n("0x1dcc")]&&e.page.id==t.page.id||e.formSubmit&&t[n("0x18c2")]||e[n("0x48a4")]&&t[n("0x48a4")]},o[i("0x2909")]=function(){var e=i;o[e("0x4227")][e("0x5e9")]=1,o[e("0x183e")][e("0x2ef1")][e("0x5ba")]((function(t){var n=e;o.possiblePageFlow[n("0x459a")]({page:{id:t.id,number:t.number},label:n("0x3ad9")})})),o[e("0x4227")].push({formSubmit:!0,label:e("0x3ef")}),o[e("0x183e")][e("0x2ef1")][e("0x5ba")]((function(t){var n=e;o[n("0x4227")][n("0x5ba")]((function(e){var a=n;t[a("0xabd")]?o[a("0x1ea3")](e,t[a("0xabd")])&&(t.pageFlow=e):t[a("0xabd")]=x,t[a("0x3a17")].forEach((function(t){var n=a,r=t[n("0x2a12")];r&&r[n("0x3cc9")]&&r[n("0x4af9")].forEach((function(t){var a=n;t[a("0xabd")]&&o[a("0x1ea3")](e,t[a("0xabd")])&&(t[a("0xabd")]=e)}))}))}))}))},e[i("0x7a")]("ctrl.formData.pages.length",(function(e,t){o[i("0x2909")]()})),e[i("0x7a")]("ctrl.currentPage",(function(e,n){t.$broadcast("mwForm.pageEvents.pageCurrentChanged",{index:o.currentPage})})),e[i("0x24c9")](i("0x28cd"),(function(e,t){var n=i;typeof t[n("0x1dcc")]!==n("0xc42")&&t[n("0x1dcc")]<o[n("0x210f")]()&&(o[n("0x4d40")]=t[n("0x1dcc")])})),e[i("0x24c9")](i("0x16b9"),(function(e,t){o[i("0x4abc")]()}))}}}]),angular.module(e("0x2cc4"))[e("0x6a6")](e("0x2d4b"),(function(){return function(e,t){return t=+t,e.slice(t)}})),angular[e("0x39e9")](e("0x2cc4"))[e("0x4d94")](e("0x250b"),[e("0x806"),e("0x1f05"),e("0x1629"),e("0xb63"),e("0x2d7b"),e("0x169b"),e("0x20e3"),e("0x333c"),e("0x2231"),e("0x306c"),e("0x1c9f"),e("0x1a97"),e("0x205"),e("0x4aef"),e("0x403e")])[e("0x4d94")]("MW_ELEMENT_TYPES",[e("0x2a12"),e("0x13a2"),e("0x38e0")])[e("0x4d94")](e("0x1ff7"),[e("0x1629"),e("0xb63"),e("0x806"),e("0x2231"),e("0x306c"),"time"]).factory(e("0x30a9"),[e("0xa2"),e("0x250b"),function(e,t){var n={title:null,icon:null,text:null,callback:null,filter:null,showInOpen:!1,showInPreview:!0,cssClass:""},a={key:null,label:null,selects:[],required:!0},r={elementTypes:e,questionTypes:t,elementButtons:[],pagesSize:[10,25,50,100],pageSize:10,customQuestionSelects:[],customElements:[]};function i(e,t){return e?e[a2_0x37cf("0x19e8")]((function(e){return angular.extend({},t,e)})):[]}var o={$init:function(e){var t=a2_0x37cf;return angular.extend(o,r,e),o[t("0x2103")]=i(o.customQuestionSelects,a),o[t("0x961")]=i(o[t("0x961")],n),o}};return o}]),angular.module(e("0x2cc4"))[e("0x1b75")]("wdFocusMe",[e("0x38d4"),e("0x68c"),function(e,t){return{link:function(n,a,r){var i=a2_0x37cf,o=t(r[i("0x3b87")]);n.$watch(o,(function(t){!0===t&&e((function(){var e=a2_0x37cf;a[0][e("0x2beb")]()}))})),a[i("0x2b0c")](i("0x4a1"),(function(){e((function(){n[a2_0x37cf("0xd66")](o.assign(n,!1))}))}))}}}])[e("0x3faf")](e("0x2beb"),[e("0x38d4"),e("0xe11"),function(e,t){return function(n){e((function(){var e=a2_0x37cf,a=t[e("0x3afa")][e("0x91")](n);a&&a[e("0x2beb")]()}))}}]),e("0xf4b"),angular[e("0x39e9")](e("0x2cc4"))[e("0x1b75")]("mwConfirmClick",["$window",function(e){return{restrict:"A",link:function(t,n,a){var r=a2_0x37cf,i=a[r("0x36d1")]||"Are you sure?";n[r("0x2b0c")](r("0x7cb"),(function(n){var o=r;e[o("0x3ed5")](i)&&t[o("0xd66")](a[o("0x4ca4")])}))}}}])},5571:()=>{var e=_0x299160;angular[e("0x39e9")](e("0x22f4"),[e("0xfa")]),angular.module("mwFormUtils.responseUtils",[])[e("0x3faf")](e("0x1fc5"),(function(){var t=e,n={},a=[t("0x806"),t("0x1f05"),t("0x2231"),t("0x306c"),t("0x1c9f"),t("0x1a97"),t("0x205"),t("0x4aef"),t("0x403e")];return n[t("0x3f16")]=function(e,t){var n={};return e?(e.forEach((function(e){var a=e;t&&(a=t(e)),n[e.id]=a})),n):n},n[t("0x4f24")]=function(e){var a=t;return n.$getObjectByIdMap(e[a("0x4af9")],(function(e){var t=a;return{id:e.id,value:e[t("0x3a33")]}}))},n[t("0x4cfb")]=function(e,a){var r=t,i=n[r("0x4f24")](e),o={};return a[r("0x29a3")]?(o[r("0x29a3")]=[],a[r("0x29a3")][r("0x5ba")]((function(e){o[r("0x29a3")].push(i[e])}))):a[r("0x3c58")]&&(o.selectedAnswer=i[a.selectedAnswer]),a[r("0x39b7")]&&(o.other=a[r("0x39b7")]),o},n[t("0x1a39")]=function(e,a){var r=t,i=[];if(!a[r("0x21eb")])return i;var o=n[r("0x3f16")](e.priorityList);return a.priorityList[r("0x5ba")]((function(e){var t=r,n=o[e.id];i[t("0x459a")]({id:n.id,value:n[t("0x3a33")],priority:e[t("0x20e3")]})})),i},n[t("0x556")]=function(e,a){var r=t,i=[],o=n[r("0x3f16")](e[r("0x1d5c")]);return Object[r("0x3afb")](a)[r("0x5ba")]((function(e){var t=r,n=a[e],x=o[e];x&&i[t("0x459a")]({id:x.id,label:x[t("0x3a33")],value:n})})),i},n.$extractResponseForGridQuestion=function(e,a){var r=t;if(!e.grid||!e[r("0x169b")][r("0x47d8")])return i;if("radio"==e.grid[r("0x1bbb")])return n[r("0xadd")](e,a);var i=[];return e[r("0x169b")][r("0x47d8")][r("0x5ba")]((function(t){var n=r;e[n("0x169b")][n("0x3340")].forEach((function(r){var o=n,x={row:{id:t.id,label:t[o("0x32b")]},col:{id:r.id,label:r[o("0x32b")]},value:null};if(a.hasOwnProperty(t.id)&&a[t.id][o("0x1bd4")](r.id)){var s=a[t.id][r.id];e[o("0x169b")][o("0x1bbb")]==o("0x306c")&&s instanceof Date?x[o("0x3a33")]=s[o("0x1b66")]():e[o("0x169b")].cellInputType==o("0x1c9f")&&s instanceof Date?x.value=s[o("0x2b00")]():x[o("0x3a33")]=s}i[o("0x459a")](x)}))})),i},n.$extractResponseForRadioGridQuestion=function(e,a){var r=t,i=[],o=n[r("0x3f16")](e.grid.cols);return e[r("0x169b")].rows[r("0x5ba")]((function(e){var t=r,n=a[e.id],x=null;n&&(x=o[n]);var s={row:{id:e.id,label:e[t("0x32b")]},col:null};x&&(s.col={id:x.id,label:x[t("0x32b")]}),i.push(s)})),i},n.extractResponse=function(e,r){var i=t;return-1!==a[i("0x3507")](e[i("0x3298")])?r[i("0xe36")]:e[i("0x3298")]==i("0x1629")||e[i("0x3298")]==i("0xb63")||e.type==i("0x2d7b")?n[i("0x4cfb")](e,r):e[i("0x3298")]==i("0x169b")?n[i("0x3dc0")](e,r):e[i("0x3298")]==i("0x20e3")?n[i("0x1a39")](e,r):"division"==e[i("0x3298")]?n[i("0x556")](e,r):null},n[t("0x1d24")]=function(e,a){var r=t,i={};return angular.copy(e,i),i[r("0x2ef1")][r("0x5ba")]((function(e){var t=r;e[t("0x3a17")][t("0x5ba")]((function(e){var r=t,i=e[r("0x2a12")];if(i){var o=a[i.id];o&&(i[r("0x4b9")]=n[r("0xff")](i,o))}}))})),i},n[t("0x48a5")]=function(e,n){var a=t,r=[];return e.pages[a("0x5ba")]((function(e){var t=a;e.elements[t("0x5ba")]((function(e){var a=t;if(e[a("0x2a12")]){var i=e[a("0x2a12")];n&&(i={},angular.copy(e[a("0x2a12")],i)),r[a("0x459a")](i)}}))})),r},n[t("0x286")]=function(e,a){var r=t,i=[];return n[r("0x48a5")](e,!0)[r("0x5ba")]((function(e){var t=r,o=a[e.id];e[t("0x4b9")]=o?n[t("0xff")](e,o):null,i[t("0x459a")](e)})),i},n[t("0x11b9")]=function(e,n,a,r,i){var o=t,x="";return i&&((e||0===e)&&(x+=e+"."),null!=a&&(!Array[o("0x498f")](a)&&(a=[a]),a.forEach((function(e){x+=e+"."}))),x[o("0x5e9")]&&(x+=" ")),x+=n,null==r||(!Array.isArray(r)&&(r=[r]),r[o("0x5ba")]((function(e){x+=" ["+e+"]"}))),x},n[t("0x4f0d")]=function(e,a){var r=t,i=[r("0x169b"),"priority",r("0x333c")],o=[],x=0;return n[r("0x48a5")](e)[r("0x5ba")]((function(e){var t=r;x++;var s=1;if(-1===i.indexOf(e[t("0x3298")]))o[t("0x459a")](n[t("0x11b9")](x,e[t("0x806")],null,null,a));else if(e.type==t("0x169b")){if(!e.grid)return;e[t("0x169b")][t("0x1bbb")]==t("0x1629")?e[t("0x169b")][t("0x47d8")][t("0x5ba")]((function(r){var i=t;o[i("0x459a")](n.$$getHeader(x,e[i("0x806")],s,r.label,a)),s++})):e[t("0x169b")][t("0x47d8")].forEach((function(r,i){var c=t;e[c("0x169b")][c("0x3340")].forEach((function(t,l){var d=c;o.push(n[d("0x11b9")](x,e[d("0x806")],[i+1,l+1],[r[d("0x32b")],t.label],a)),s++}))}))}else if(e[t("0x3298")]==t("0x20e3")){if(!e[t("0x21eb")])return;e[t("0x21eb")][t("0x5ba")]((function(r){var i=t;o.push(n[i("0x11b9")](x,e[i("0x806")],s,r.value,a)),s++}))}else if(e.type==t("0x333c")){if(!e[t("0x1d5c")])return;e[t("0x1d5c")][t("0x5ba")]((function(r){var i=t;o[i("0x459a")](n[i("0x11b9")](x,e[i("0x806")],s,r[i("0x3a33")],a)),s++}))}})),o},n[t("0x135")]=function(e,a){var r=t,i="; ",o=[];if(!a)return o;for(var x=n.getQuestionWithResponseList(e,a),s=["radio","checkbox","select",r("0x169b"),r("0x20e3"),r("0x333c")],c=0;c<x.length;c++){var l=x[c],d=l[r("0x4b9")];if(-1!==s[r("0x3507")](l.type)){if("radio"==l.type||l.type==r("0x2d7b")){if(!d){o.push("");continue}var u="";d[r("0x3c58")]&&(u=d[r("0x3c58")][r("0x3a33")]),d.other&&(u&&(u+=i),u+=d[r("0x39b7")]),o.push(u)}else if(l.type==r("0xb63")){if(!d||!d[r("0x29a3")]){o[r("0x459a")]("");continue}u="";d[r("0x29a3")][r("0x5ba")]((function(e){u&&(u+=i),u+=e[r("0x3a33")]})),d[r("0x39b7")]&&(u&&(u+=i),u+=d.other),o[r("0x459a")](u)}else if("grid"==l.type){if(!l[r("0x169b")])continue;if(!d){l[r("0x169b")].cellInputType==r("0x1629")?l[r("0x169b")][r("0x47d8")].forEach((function(){o.push("")})):l.grid[r("0x47d8")][r("0x5ba")]((function(){var e=r;l.grid[e("0x3340")][e("0x5ba")]((function(){o[e("0x459a")]("")}))}));continue}"radio"==l.grid.cellInputType?d[r("0x5ba")]((function(e){var t=r;o[t("0x459a")](e[t("0x1768")]?e[t("0x1768")][t("0x32b")]:"")})):d[r("0x5ba")]((function(e){var t=r;o[t("0x459a")](e[t("0x3a33")])}))}else if(l[r("0x3298")]==r("0x20e3")){if(!l[r("0x21eb")])continue;var f=n.$getObjectByIdMap(d);l.priorityList[r("0x5ba")]((function(e){var t=r,n=f[e.id];n?o[t("0x459a")](n[t("0x20e3")]):o[t("0x459a")]("")}))}else if(l[r("0x3298")]==r("0x333c")){if(!l.divisionList)continue;var m=n[r("0x3f16")](d);l[r("0x1d5c")][r("0x5ba")]((function(e){var t=r,n=m[e.id];n?o[t("0x459a")](n.value):o[t("0x459a")]("")}))}}else o[r("0x459a")](d||"")}return o},n[t("0x11b2")]=function(e,a){var r=t;return a[r("0x19e8")]((function(t){return n[r("0x135")](e,t)}))},n[t("0x4079")]=function(e,a,r){var i=t,o=[],x=n[i("0x4f0d")](e,r);return o[i("0x459a")](x),a?(a instanceof Array?a.forEach((function(t){var a=i;o[a("0x459a")](n[a("0x135")](e,t))})):o[i("0x459a")](n.getResponseSheetRow(e,a)),o):o},n}))},5450:()=>{var e=_0x299160;angular[e("0x39e9")](e("0x3d82"),[e("0x4dab"),e("0x388a"),"ng-sortable",e("0x41cf")]),angular[e("0x39e9")](e("0x3d82"))[e("0x1b75")](e("0xfc9"),(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0x4190"),scope:{question:"=",questionResponse:"=",readOnly:"=?",options:"=?"},templateUrl:"mw-priority-list.html",controllerAs:t("0xd7a"),bindToController:!0,controller:function(){var e=t,n=this;function a(t){var n=e;if(t)for(var a=0;a<t[n("0x5e9")];a++){t[a].priority=a+1}}this[e("0x4393")]=function(){var t,r=e;!n[r("0x4df5")][r("0x21eb")]&&(n.questionResponse[r("0x21eb")]=[]),n[r("0x2623")]={},n[r("0x4df5")][r("0x21eb")][(t=e)("0x4d63")]((function(e,n){var a=t;return e[a("0x20e3")]-n[a("0x20e3")]})),n.availableItems=[],n[r("0x2a12")][r("0x21eb")].forEach((function(e){var t=r;n[t("0x2623")][e.id]=e,!n.questionResponse.priorityList[t("0x906")]((function(t){return e.id==t.id}))&&n.availableItems[t("0x459a")]({priority:null,id:e.id})})),n.allItemsOrdered=0==n[r("0x626")][r("0x5e9")]||null;var i={disabled:n[r("0x2bbb")],ghostClass:r("0x482f")};n[r("0x3d4e")]=angular[r("0x3448")]({},i,{group:{name:"A",pull:!1,put:["B"]},onEnd:function(e,t){a(n[r("0x4df5")].priorityList)}}),n[r("0xb1e")]=angular[r("0x3448")]({},i,{sort:!1,group:{name:"B",pull:["A"],put:!1},onEnd:function(e,t){var i=r;a(n[i("0x4df5")][i("0x21eb")]),n[i("0x4e59")]=0==n[i("0x626")][i("0x5e9")]||null}})},1===angular[e("0x10ea")][e("0x2c74")]&&angular[e("0x10ea")][e("0x8b1")]<5&&this[e("0x4393")]()},link:function(e,n,a,r){var i=t;e[i("0xd7a")].print=r[i("0x15fc")]}}})),angular[e("0x39e9")](e("0x3d82"))[e("0x1b75")](e("0x3d82"),[e("0x47ed"),function(t){var n=e;return{replace:!0,restrict:"AE",scope:{formData:"=",responseData:"=",templateData:"=?",readOnly:"=?",options:"=?",formStatus:"=?",onSubmit:"&",api:"=?"},templateUrl:n("0x2a9b"),controllerAs:n("0xd7a"),bindToController:!0,controller:[n("0x36af"),n("0x38d4"),n("0x3a1e"),function(e,a,r){var i=n,o=this;function x(){var e=i,t=1;typeof o[e("0x183e")].pages!==e("0xc42")&&o[e("0x183e")][e("0x2ef1")][e("0x5ba")]((function(n){var a=e;typeof n[a("0x3a17")]!==a("0xc42")&&n.elements[a("0x5ba")]((function(e){var n=a;"question"==e[n("0x3298")]&&typeof e[n("0x2a12")]!==n("0xc42")&&(e[n("0x2a12")][n("0x2231")]=t++)}))}))}o[i("0x4393")]=function(){var t,n=i;o.defaultOptions={nestedForm:!1,autoStart:!1,disableSubmit:!1},o[n("0x16d1")]=angular[n("0x3448")]({},o[n("0x2d57")],o.options),o[n("0x2ea2")]="NOT_SUBMITTED",o[n("0x42e8")]=!1,t=i,o.formData[t("0x2ef1")][t("0x4d63")]((function(e,n){var a=t;return e[a("0x2231")]-n[a("0x2231")]})),o[n("0x44bb")]={},o[n("0x183e")][n("0x2ef1")][n("0x5ba")]((function(e){o[n("0x44bb")][e.id]=e})),o.buttons={prevPage:{visible:!1,disabled:!1},nextPage:{visible:!1,disabled:!1},submitForm:{visible:!1,disabled:!1}},o.resetPages(),o[n("0x4dca")]&&(o.api[n("0x19a7")]=function(){var e=n;for(var t in o[e("0x491a")])o.responseData.hasOwnProperty(t)&&delete o[e("0x491a")][t];o[e("0x28e3")][e("0x1498")][e("0x3b17")]=!1,o[e("0x28e3")][e("0x12f9")][e("0x3b17")]=!1,o[e("0x28e3")].nextPage[e("0x3b17")]=!1,o[e("0x4d40")]=null,a(o.resetPages,0)}),setTimeout((function(){x()}),0),e[n("0x7a")](n("0x5c3"),(function(e,t){x()}))},o[i("0x1498")]=function(){var e=i;o.formSubmitted=!0,o[e("0x2ea2")]="IN_PROGRESS",o[e("0x3bf")](null),o[e("0x333a")]()[e("0x34e8")]((function(){var t=e;o.submitStatus=t("0x288a")}))[e("0x373a")]((function(){o.submitStatus="ERROR"}))},o[i("0x3bf")]=function(e){var t=i;if(o.currentPage=e,!e)return o[t("0x28e3")].submitForm[t("0x3b17")]=!1,o.buttons[t("0x12f9")][t("0x3b17")]=!1,void(o[t("0x28e3")][t("0x48a4")][t("0x3b17")]=!1);o[t("0x2cf2")](),o[t("0x4691")]()},o[i("0x2cf2")]=function(){var e=i,t=o[e("0x183e")].pages.indexOf(o.currentPage);if(o.currentPage.isFirst=0==t,o.currentPage.isLast=t==o[e("0x183e")][e("0x2ef1")].length-1,o[e("0x28e3")][e("0x1498")][e("0x3b17")]=o[e("0x4d40")][e("0x4b23")],o[e("0x28e3")][e("0x12f9")][e("0x3b17")]=!o[e("0x4d40")][e("0x4cf5")],o[e("0x28e3")].nextPage[e("0x3b17")]=!o[e("0x4d40")][e("0x4b23")],o[e("0x4d40")][e("0x4b23")]?o[e("0x48a4")]=null:o[e("0x48a4")]=o[e("0x183e")][e("0x2ef1")][t+1],o[e("0x4d40")].pageFlow){var n=!1;o[e("0x4d40")][e("0xabd")][e("0x18c2")]?(o[e("0x48a4")]=null,n=!0):o[e("0x4d40")].pageFlow[e("0x1dcc")]?(o[e("0x48a4")]=o.pageIdToPage[o[e("0x4d40")].pageFlow[e("0x1dcc")].id],o.buttons[e("0x48a4")][e("0x3b17")]=!0):o[e("0x4d40")][e("0x4b23")]&&(o.nextPage=null,n=!0),o.buttons[e("0x1498")][e("0x3b17")]=n,o[e("0x28e3")][e("0x48a4")].visible=!n}},o[i("0x4691")]=function(){var e=i;o[e("0x4d40")].elements[e("0x5ba")]((function(t){var n=e,a=t[n("0x2a12")];a&&!o[n("0x491a")][a.id]&&(o[n("0x491a")][a.id]={})}))},o.beginResponse=function(){var e=i;o[e("0x183e")][e("0x2ef1")].length>0&&(o[e("0x3bf")](o[e("0x183e")].pages[0]),t[e("0x2050")](e("0xef9"),{currentPage:o[e("0x4d40")]}))},o.resetPages=function(){var e=i;o.prevPages=[],o[e("0x4d40")]=null,o[e("0x48a4")]=null,o[e("0x42e8")]=!1,o[e("0x16d1")][e("0x2d93")]&&o[e("0x3e1f")]()},o[i("0x6b0")]=function(){var e=i,n=o[e("0x72a")][e("0x4acd")]();o[e("0x3bf")](n),o.updateNextPageBasedOnAllAnswers(),t[e("0x2050")]("mwForm.pageEvents.pageCurrentChanged",{currentPage:o[e("0x4d40")]})},o[i("0x882")]=function(){var e=i;o.prevPages.push(o.currentPage),o.updateNextPageBasedOnAllAnswers(),o[e("0x3bf")](o[e("0x48a4")]),t[e("0x2050")](e("0xef9"),{currentPage:o[e("0x4d40")]})},o.updateNextPageBasedOnAllAnswers=function(){var e=i;o[e("0x4d40")][e("0x3a17")][e("0x5ba")]((function(t){o[e("0x3dc")](t)})),o[e("0x28e3")][e("0x1498")][e("0x3b17")]=!o[e("0x48a4")],o[e("0x28e3")][e("0x48a4")].visible=!!o.nextPage},o.updateNextPageBasedOnPageElementAnswers=function(e){var t=i,n=e[t("0x2a12")];n&&n[t("0x3cc9")]&&n.offeredAnswers[t("0x5ba")]((function(e){var a=t;e[a("0xabd")]&&o[a("0x491a")][n.id][a("0x3c58")]==e.id&&(e[a("0xabd")][a("0x18c2")]?o.nextPage=null:e[a("0xabd")].page&&(o[a("0x48a4")]=o[a("0x44bb")][e[a("0xabd")][a("0x1dcc")].id]))}))},o[i("0xd34")]=function(e){var t=i;o[t("0x2cf2")](),o[t("0x1f08")]()},o[i("0x15fc")]=function(e){return e&&o[i("0x38ef")]?r(e)(o.templateData):e},1===angular[i("0x10ea")][i("0x2c74")]&&angular.version[i("0x8b1")]<5&&o[i("0x4393")]()}],link:function(e,a,r){var i=n,o=e[i("0xd7a")];o[i("0x1540")]&&(o[i("0x1540")].form=o[i("0x35c5")]),e[i("0x24c9")](i("0x28cd"),(function(e,n){var a=i;if(void 0!==n.page&&n.page<o[a("0x183e")][a("0x2ef1")][a("0x5e9")]){o[a("0x10c2")]();for(var r=0;r<n.page;r++)o.prevPages[a("0x459a")](o.formData[a("0x2ef1")][r]);var x=o[a("0x183e")][a("0x2ef1")][n.page];o.setCurrentPage(x),t[a("0x2050")](a("0xef9"),{currentPage:x}),o.updateNextPageBasedOnAllAnswers()}}))}}}]),angular.module(e("0x3d82"))[e("0x3faf")](e("0xcdd"),(function(){var e=0;return{next:function(){return++e}}}))[e("0x1b75")](e("0x29d5"),(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0x4f29"),scope:{question:"=",questionResponse:"=",readOnly:"=?",options:"=?",onResponseChanged:"&?"},templateUrl:t("0x4507"),controllerAs:t("0xd7a"),bindToController:!0,controller:[t("0x38d4"),t("0xcdd"),function(e,n){var a=t,r=this;this[a("0x4393")]=function(){var e=a;r.id=n[e("0xa8")](),r[e("0x2a12")].type==e("0x1629")?(!r[e("0x4df5")][e("0x3c58")]&&(r[e("0x4df5")][e("0x3c58")]=null),r[e("0x4df5")].other&&(r[e("0x2be")]=!0)):r[e("0x2a12")][e("0x3298")]==e("0xb63")?(r[e("0x4df5")][e("0x29a3")]&&r[e("0x4df5")][e("0x29a3")][e("0x5e9")]?r[e("0x3c58")]=!0:r.questionResponse[e("0x29a3")]=[],r[e("0x4df5")][e("0x39b7")]&&(r.isOtherAnswer=!0)):"grid"==r[e("0x2a12")][e("0x3298")]?!r[e("0x2a12")][e("0x169b")].cellInputType&&(r[e("0x2a12")][e("0x169b")].cellInputType=e("0x1629")):"division"==r[e("0x2a12")][e("0x3298")]?(r.computeDivisionSum=function(){var t=e;r.divisionSum=0,r[t("0x2a12")].divisionList[t("0x5ba")]((function(e){var n=t;0==r[n("0x4df5")][e.id]||r[n("0x4df5")][e.id]?r[n("0x3269")]+=r[n("0x4df5")][e.id]:(r[n("0x4df5")][e.id]=null,r.divisionSum+=0)}))},r.computeDivisionSum()):(r[e("0x2a12")][e("0x3298")]==e("0x306c")||"datetime"==r[e("0x2a12")][e("0x3298")]||r[e("0x2a12")][e("0x3298")]==e("0x1c9f"))&&r[e("0x4df5")].answer&&(r[e("0x4df5")][e("0xe36")]=new Date(r[e("0x4df5")].answer)),r[e("0x6ec")]=!1,r[e("0x4a3c")]=!0},r[a("0x15e7")]=function(){var e=a;delete r.questionResponse.other,r[e("0x2be")]=!1,r.answerChanged()},r[a("0x43ab")]=function(){var e=a;console.log(e("0x43ab")),r[e("0x2be")]&&(r[e("0x4df5")][e("0x3c58")]=null),r[e("0x4b25")]()},r[a("0x246d")]=function(){var e=a;!r[e("0x2be")]&&delete r.questionResponse.other,r[e("0x3c58")]=!(!r.questionResponse[e("0x29a3")].length&&!r[e("0x2be")])||null,r[e("0x4b25")]()},r[a("0x2216")]=function(e){var t=a;-1===r.questionResponse.selectedAnswers[t("0x3507")](e.id)?r[t("0x4df5")].selectedAnswers[t("0x459a")](e.id):r[t("0x4df5")].selectedAnswers.splice(r[t("0x4df5")][t("0x29a3")][t("0x3507")](e.id),1),r[t("0x3c58")]=!(!r[t("0x4df5")][t("0x29a3")][t("0x5e9")]&&!r.isOtherAnswer)||null,r[t("0x4b25")]()},r[a("0x4b25")]=function(){r[a("0xd34")]&&r.onResponseChanged()},1===angular.version.major&&angular.version[a("0x8b1")]<5&&this[a("0x4393")]()}],link:function(e,n,a,r){var i=t;e[i("0xd7a")][i("0x15fc")]=r.print}}})),angular.module("mwFormViewer").directive("mwFormConfirmationPage",(function(){var t=e;return{replace:!0,restrict:"AE",require:t("0x4f29"),scope:{submitStatus:"=",confirmationMessage:"=",readOnly:"=?"},templateUrl:"mw-form-confirmation-page.html",controllerAs:"ctrl",bindToController:!0,controller:function(){},link:function(e,n,a,r){var i=t;e[i("0xd7a")][i("0x15fc")]=r[i("0x15fc")]}}}))},7830:(e,t,n)=>{var a=_0x299160;function r(e,t){var n,a=a2_0x37cf;if(typeof Symbol===a("0xc42")||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){var n=a2_0x37cf;if(!e)return;if(typeof e===n("0x38b7"))return i(e,t);var a=Object[n("0x20f")][n("0x3c88")][n("0x3c6b")](e)[n("0x9b3")](8,-1);a===n("0x419b")&&e[n("0x11ae")]&&(a=e[n("0x11ae")].name);if(a===n("0x247")||"Set"===a)return Array[n("0x3121")](e);if(a===n("0x3933")||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[n("0x3ff3")](a))return i(e,t)}(e))||t&&e&&typeof e[a("0x5e9")]===a("0x2231")){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var x,s=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n[a("0xa8")]();return s=e.done,e},e:function(e){c=!0,x=e},f:function(){var e=a;try{s||null==n[e("0x110d")]||n[e("0x110d")]()}finally{if(c)throw x}}}}function i(e,t){var n=a2_0x37cf;(null==t||t>e[n("0x5e9")])&&(t=e[n("0x5e9")]);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}var o=n(5424),x=n(965),s=n(3790),c=n(1987),l=n(7351),d=n(8063);t[a("0x31a6")]={authorization_user:null,password:null,realm:null,ha1:null,display_name:null,uri:null,contact_uri:null,instance_id:null,use_preloaded_route:!1,session_timers:!0,session_timers_refresh_method:x[a("0x14f")],no_answer_timeout:60,register:!0,register_expires:600,registrar_server:null,sockets:null,connection_recovery_max_interval:x[a("0x25be")],connection_recovery_min_interval:x[a("0x1aa0")],via_host:""[a("0x3abc")](o[a("0x27b6")](12),a("0x1fff"))};var u={mandatory:{sockets:function(e){var t=a,n=[];if(l[t("0x3cfd")](e))n[t("0x459a")]({socket:e});else{if(!Array[t("0x498f")](e)||!e[t("0x5e9")])return;var i,o=r(e);try{for(o.s();!(i=o.n())[t("0x2d52")];){var x=i[t("0x3a33")];Object[t("0x20f")].hasOwnProperty[t("0x3c6b")](x,t("0x191d"))&&l.isSocket(x.socket)?n.push(x):l[t("0x3cfd")](x)&&n[t("0x459a")]({socket:x})}}catch(e){o.e(e)}finally{o.f()}}return n},uri:function(e){var t=a;!/^sip:/i[t("0x3ff3")](e)&&(e="".concat(x[t("0x2e31")],":")[t("0x3abc")](e));var n=c[t("0x1fb8")](e);return n&&n[t("0x3c64")]?n:void 0}},optional:{authorization_user:function(e){var t=a;return-1===s[t("0x1fb8")]('"'[t("0x3abc")](e,'"'),"quoted_string")?void 0:e},authorization_jwt:function(e){if("string"==typeof e)return e},user_agent:function(e){if(typeof e===a("0x38b7"))return e},connection_recovery_max_interval:function(e){if(o[a("0xd2a")](e)){var t=Number(e);if(t>0)return t}},connection_recovery_min_interval:function(e){if(o[a("0xd2a")](e)){var t=Number(e);if(t>0)return t}},contact_uri:function(e){var t=a;if(typeof e===t("0x38b7")){var n=s[t("0x1fb8")](e,"SIP_URI");if(-1!==n)return n}},display_name:function(e){return e},instance_id:function(e){var t=a;return/^uuid:/i.test(e)&&(e=e.substr(5)),-1===s.parse(e,t("0x2409"))?void 0:e},no_answer_timeout:function(e){if(o[a("0xd2a")](e)){var t=Number(e);if(t>0)return t}},session_timers:function(e){if("boolean"==typeof e)return e},session_timers_refresh_method:function(e){var t=a;if("string"==typeof e&&((e=e.toUpperCase())===x[t("0x4a79")]||e===x[t("0x14f")]))return e},password:function(e){return String(e)},realm:function(e){return String(e)},ha1:function(e){return String(e)},register:function(e){if(typeof e===a("0xacc"))return e},register_expires:function(e){if(o[a("0xd2a")](e)){var t=Number(e);if(t>0)return t}},registrar_server:function(e){var t=a;!/^sip:/i[t("0x3ff3")](e)&&(e=""[t("0x3abc")](x[t("0x2e31")],":")[t("0x3abc")](e));var n=c[t("0x1fb8")](e);return n?n.user?void 0:n:void 0},use_preloaded_route:function(e){if(typeof e===a("0xacc"))return e}}};t[a("0x2de8")]=function(e,t){var n=a;for(var r in u[n("0x2883")]){if(!t[n("0x1bd4")](r))throw new d.ConfigurationError(r);var i=t[r],x=u.mandatory[r](i);if(void 0===x)throw new d.ConfigurationError(r,i);e[r]=x}for(var s in u.optional)if(t[n("0x1bd4")](s)){var c=t[s];if(o[n("0x3c98")](c))continue;var l=u[n("0x13ec")][s](c);if(void 0===l)throw new d.ConfigurationError(s,c);e[s]=l}}},965:(e,t,n)=>{var a=_0x299160,r=n(7209);e[a("0x33f9")]={USER_AGENT:"".concat(r.title," ")[a("0x3abc")](r.version),SIP:a("0x4a5b"),SIPS:a("0x30d"),causes:{CONNECTION_ERROR:a("0x4559"),REQUEST_TIMEOUT:a("0x437f"),SIP_FAILURE_CODE:a("0x268a"),INTERNAL_ERROR:a("0x2ebf"),BUSY:"Busy",REJECTED:a("0x329f"),REDIRECTED:a("0x4e13"),UNAVAILABLE:a("0x46cd"),NOT_FOUND:a("0x39ce"),ADDRESS_INCOMPLETE:a("0x2199"),INCOMPATIBLE_SDP:"Incompatible SDP",MISSING_SDP:a("0x3de9"),AUTHENTICATION_ERROR:"Authentication Error",BYE:a("0x42d8"),WEBRTC_ERROR:a("0x42f0"),CANCELED:a("0x3c40"),NO_ANSWER:a("0x15b2"),EXPIRES:a("0x1022"),NO_ACK:"No ACK",DIALOG_ERROR:a("0x2f7f"),USER_DENIED_MEDIA_ACCESS:a("0x3b63"),BAD_MEDIA_DESCRIPTION:a("0x4174"),RTP_TIMEOUT:a("0x1cbc")},SIP_ERROR_CAUSES:{REDIRECTED:[300,301,302,305,380],BUSY:[486,600],REJECTED:[403,603],NOT_FOUND:[404,604],UNAVAILABLE:[480,410,408,430],ADDRESS_INCOMPLETE:[484,424],INCOMPATIBLE_SDP:[488,606],AUTHENTICATION_ERROR:[401,407]},ACK:a("0x438a"),BYE:"BYE",CANCEL:"CANCEL",INFO:a("0x1817"),INVITE:a("0x4a79"),MESSAGE:a("0x40b8"),NOTIFY:"NOTIFY",OPTIONS:a("0x4a95"),REGISTER:"REGISTER",REFER:a("0x39f0"),UPDATE:"UPDATE",SUBSCRIBE:a("0x24f2"),DTMF_TRANSPORT:{INFO:a("0x1817"),RFC2833:a("0x31be")},REASON_PHRASE:{100:a("0x7c5"),180:a("0x250d"),181:"Call Is Being Forwarded",182:"Queued",183:a("0x4266"),199:a("0x13c6"),200:"OK",202:a("0x245e"),204:a("0x1be5"),300:a("0x20a7"),301:a("0x3c6a"),302:"Moved Temporarily",305:a("0x4017"),380:a("0x15ff"),400:a("0x424d"),401:a("0x301d"),402:a("0x4650"),403:a("0x389b"),404:"Not Found",405:a("0x1347"),406:a("0x876"),407:a("0x23ff"),408:a("0x437f"),410:a("0x1341"),412:"Conditional Request Failed",413:a("0x2fe7"),414:a("0x43cc"),415:a("0x1a64"),416:a("0x138e"),417:a("0x38b5"),420:a("0x532"),421:a("0x4b44"),422:a("0x2049"),423:"Interval Too Brief",424:a("0x2f69"),428:a("0x22b3"),429:"Provide Referrer Identity",430:"Flow Failed",433:a("0x430f"),436:a("0x1372"),437:"Unsupported Certificate",438:"Invalid Identity Header",439:a("0x235b"),440:a("0x1fcb"),469:a("0x163e"),470:a("0x236a"),478:a("0x119c"),480:a("0x39b9"),481:a("0x1362"),482:a("0x515"),483:a("0x1302"),484:"Address Incomplete",485:"Ambiguous",486:"Busy Here",487:a("0x12d"),488:a("0x2b91"),489:a("0x2010"),491:a("0x1c5e"),493:a("0x49a3"),494:"Security Agreement Required",500:a("0x44c6"),501:"Not Implemented",502:a("0xee"),503:"Service Unavailable",504:a("0x2179"),505:a("0x2f1a"),513:"Message Too Large",580:a("0x20b4"),600:a("0x3a3"),603:a("0x4161"),604:a("0x177c"),606:a("0x876")},ALLOWED_METHODS:a("0xf7d"),ACCEPTED_BODY_TYPES:a("0x2f48"),MAX_FORWARDS:69,SESSION_EXPIRES:90,MIN_SESSION_EXPIRES:60,CONNECTION_RECOVERY_MAX_INTERVAL:30,CONNECTION_RECOVERY_MIN_INTERVAL:2}},7996:(e,t,n)=>{"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}function r(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}var o=n(6497),x=n(965),s=n(3754),c=n(5604),l=n(5424),d=n(1227)("JsSIP:Dialog"),u={STATUS_EARLY:1,STATUS_CONFIRMED:2};e.exports=function(){var e=a2_0x37cf;function t(e,n,r){var i=a2_0x37cf,x=arguments[i("0x5e9")]>3&&void 0!==arguments[3]?arguments[3]:u.STATUS_CONFIRMED;if(a(this,t),this._owner=e,this[i("0x26f9")]=e._ua,this[i("0x4775")]=!1,this[i("0x4219")]=!1,!n.hasHeader(i("0x406e")))return{error:i("0x1b01")};n instanceof o.IncomingResponse&&(x=n[i("0x2a7d")]<200?u[i("0x3fe2")]:u[i("0x881")]);var s=n.parseHeader(i("0x406e"));r===i("0x3a83")?(this._id={call_id:n[i("0x3b59")],local_tag:n[i("0x442e")],remote_tag:n[i("0x3e84")],toString:function(){var e=i;return this[e("0x3b59")]+this[e("0x3ea9")]+this[e("0x476b")]}},this[i("0x4881")]=x,this[i("0xc71")]=n[i("0x1c27")],this[i("0x3575")]=n[i("0x4e0b")]("to")[i("0x234")],this[i("0x3942")]=n[i("0x4e0b")]("from").uri,this[i("0x35db")]=s[i("0x234")],this._route_set=n[i("0x4e17")]("record-route"),this[i("0x1fd7")]=this._remote_seqnum):r===i("0x3067")&&(this._id={call_id:n[i("0x3b59")],local_tag:n.from_tag,remote_tag:n[i("0x442e")],toString:function(){var e=i;return this[e("0x3b59")]+this.local_tag+this[e("0x476b")]}},this[i("0x4881")]=x,this._local_seqnum=n.cseq,this[i("0x3575")]=n[i("0x4e0b")](i("0x3121"))[i("0x234")],this[i("0x3942")]=n[i("0x4e0b")]("to")[i("0x234")],this[i("0x35db")]=s[i("0x234")],this._route_set=n.getHeaders("record-route")[i("0x48d")](),this[i("0x1fd7")]=null),this[i("0x26f9")][i("0x471")](this),d("new "[i("0x3abc")](r,i("0x39f6")).concat(this[i("0x4881")]===u[i("0x3fe2")]?i("0x1102"):i("0x3292")))}return i(t,null,[{key:"C",get:function(){return u}}]),i(t,[{key:"update",value:function(e,t){var n=a2_0x37cf;this._state=u[n("0x881")],d(n("0x13cc")[n("0x3abc")](this[n("0x2e81")][n("0x3c88")](),n("0x144c"))),"UAC"===t&&(this._route_set=e.getHeaders(n("0x4271")).reverse())}},{key:"terminate",value:function(){var e=a2_0x37cf;d("dialog "[e("0x3abc")](this[e("0x2e81")][e("0x3c88")](),e("0x40ff"))),this[e("0x26f9")][e("0x3d70")](this)}},{key:e("0x4a31"),value:function(t){var n=e,a=this,r=arguments[n("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:{},i=l.cloneArray(r[n("0x133d")]),o=l.cloneObject(r[n("0x464d")]),x=r[n("0x3b3e")]||null,s=this[n("0x37bd")](t,i,x);o[n("0x430e")]=function(){a._local_seqnum+=1};var d=new c(this,s,o);return d.send(),s}},{key:e("0x26e6"),value:function(t){var n=e;this._checkInDialogRequest(t)&&(t[n("0x3bee")]===x[n("0x438a")]&&null!==this._ack_seqnum?this[n("0x1fd7")]=null:t.method===x.INVITE&&(this[n("0x1fd7")]=t[n("0x1c27")]),this[n("0x345a")].receiveRequest(t))}},{key:"_createRequest",value:function(t,n,a){var r=e;n=l[r("0xdd6")](n),!this[r("0x3675")]&&(this[r("0x3675")]=Math[r("0x4184")](1e4*Math[r("0xcbb")]()));var i=t===x[r("0x4c90")]||t===x[r("0x438a")]?this._local_seqnum:this[r("0x3675")]+=1;return new(o[r("0x4dd3")])(t,this[r("0x35db")],this[r("0x26f9")],{cseq:i,call_id:this[r("0x2e81")][r("0x3b59")],from_uri:this[r("0x3575")],from_tag:this[r("0x2e81")][r("0x3ea9")],to_uri:this[r("0x3942")],to_tag:this[r("0x2e81")][r("0x476b")],route_set:this[r("0x34d1")]},n,a)}},{key:e("0x2faf"),value:function(t){var n=e,a=this;if(this[n("0xc71")])if(t[n("0x1c27")]<this[n("0xc71")]){if(t[n("0x3bee")]!==x[n("0x438a")])return t.reply(500),!1;if(null===this._ack_seqnum||t[n("0x1c27")]!==this[n("0x1fd7")])return!1}else t[n("0x1c27")]>this[n("0xc71")]&&(this[n("0xc71")]=t[n("0x1c27")]);else this[n("0xc71")]=t[n("0x1c27")];if(t[n("0x3bee")]===x.INVITE||t[n("0x3bee")]===x[n("0x14f")]&&t[n("0x3b3e")]){if(!0===this._uac_pending_reply)t[n("0x49dc")](491);else{if(!0===this[n("0x4219")]){var r=1+(10*Math[n("0xcbb")]()|0);return t[n("0x49dc")](500,null,["Retry-After:"[n("0x3abc")](r)]),!1}this[n("0x4219")]=!0;t[n("0x4080")].on(n("0x1220"),(function e(){var r=n;(t.server_transaction[r("0x81c")]===s.C[r("0x7be")]||t[r("0x4080")][r("0x81c")]===s.C[r("0x165e")]||t.server_transaction[r("0x81c")]===s.C[r("0x4c65")])&&(t[r("0x4080")][r("0x1dc")]("stateChanged",e),a[r("0x4219")]=!1)}))}t[n("0x48ef")](n("0x406e"))&&t[n("0x4080")].on(n("0x1220"),(function(){var e=n;t[e("0x4080")][e("0x81c")]===s.C[e("0x7be")]&&(a[e("0x35db")]=t[e("0x4e0b")](e("0x406e"))[e("0x234")])}))}else t.method===x.NOTIFY&&t[n("0x48ef")]("contact")&&t[n("0x4080")].on(n("0x1220"),(function(){var e=n;t.server_transaction[e("0x81c")]===s.C.STATUS_COMPLETED&&(a[e("0x35db")]=t[e("0x4e0b")](e("0x406e"))[e("0x234")])}));return!0}},{key:"id",get:function(){return this[e("0x2e81")]}},{key:e("0x6d7"),get:function(){return this[e("0x3675")]},set:function(t){this[e("0x3675")]=t}},{key:e("0x381b"),get:function(){return this[e("0x345a")]}},{key:e("0x2eed"),get:function(){return this._uac_pending_reply},set:function(t){this[e("0x4775")]=t}},{key:"uas_pending_reply",get:function(){return this[e("0x4219")]}}]),t}()},5604:(e,t,n)=>{var a=_0x299160;function r(e,t){for(var n=a2_0x37cf,a=0;a<t.length;a++){var r=t[a];r[n("0x3ad5")]=r.enumerable||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(965),o=n(3754),x=n(7906),s=n(2066),c={onRequestTimeout:function(){},onTransportError:function(){},onSuccessResponse:function(){},onErrorResponse:function(){},onAuthenticated:function(){},onDialogError:function(){}};e[a("0x33f9")]=function(){var e,t,n,l=a;function d(e,t,n){var a=a2_0x37cf;for(var r in function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,d),this._dialog=e,this._ua=e._ua,this[a("0x3809")]=t,this[a("0x583")]=n,this[a("0x1d75")]=!1,this[a("0x13e0")]=null,c)Object[a("0x20f")][a("0x1bd4")][a("0x3c6b")](c,r)&&!this[a("0x583")][r]&&(this[a("0x583")][r]=c[r])}return e=d,(t=[{key:l("0x1819"),value:function(){var e=l,t=this,n=new s(this[e("0x26f9")],this[e("0x3809")],{onRequestTimeout:function(){t[e("0x583")].onRequestTimeout()},onTransportError:function(){var n=e;t._eventHandlers[n("0x21e6")]()},onAuthenticated:function(n){var a=e;t[a("0x583")][a("0x430e")](n)},onReceiveResponse:function(e){t._receiveResponse(e)}});n.send(),(this[e("0x3809")].method===i[e("0x4a79")]||this[e("0x3809")][e("0x3bee")]===i.UPDATE&&this[e("0x3809")].body)&&n[e("0x2241")][e("0x81c")]!==o.C[e("0x4c65")]&&(this._dialog[e("0x2eed")]=!0,n[e("0x2241")].on("stateChanged",(function a(){var r=e;(n[r("0x2241")][r("0x81c")]===o.C[r("0x7be")]||n[r("0x2241")][r("0x81c")]===o.C[r("0x165e")]||n.clientTransaction.state===o.C[r("0x4c65")])&&(n[r("0x2241")].removeListener("stateChanged",a),t[r("0x4470")].uac_pending_reply=!1)})))}},{key:l("0x2d5f"),value:function(e){var t=l,n=this;408===e[t("0x2a7d")]||481===e[t("0x2a7d")]?this[t("0x583")][t("0x132e")](e):e.method===i[t("0x4a79")]&&491===e[t("0x2a7d")]?this[t("0x1d75")]?e[t("0x2a7d")]>=200&&e[t("0x2a7d")]<300?this[t("0x583")][t("0x2f27")](e):e[t("0x2a7d")]>=300&&this[t("0x583")].onErrorResponse(e):(this[t("0x3809")][t("0x1c27")]=this[t("0x4470")][t("0x6d7")]+=1,this._reattemptTimer=setTimeout((function(){var e=t;n[e("0x4470")][e("0x381b")].status!==x.C[e("0x4c65")]&&(n._reattempt=!0,n._request_sender.send())}),1e3)):e.status_code>=200&&e.status_code<300?this._eventHandlers.onSuccessResponse(e):e.status_code>=300&&this[t("0x583")].onErrorResponse(e)}},{key:l("0x38ce"),get:function(){return this._request}}])&&r(e[a2_0x37cf("0x20f")],t),n&&r(e,n),d}()},2999:(e,t,n)=>{var a=_0x299160;function r(e,t){for(var n=a2_0x37cf,a=0;a<t.length;a++){var r=t[a];r[n("0x3ad5")]=r.enumerable||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}var i=n(5424),o=n(1227)("JsSIP:DigestAuthentication"),x=n(1227)("JsSIP:ERROR:DigestAuthentication");x[a("0x10f3")]=console[a("0x1dc6")][a("0x2b0c")](console),e[a("0x33f9")]=function(){var e,t,n,s=a;function c(e){var t=a2_0x37cf;(function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))})(this,c),this._credentials=e,this[t("0x2f07")]=null,this[t("0x31e0")]=0,this[t("0x10b5")]=t("0x1222"),this[t("0x214c")]=null,this[t("0x9c0")]=null,this[t("0x4a9d")]=null,this[t("0x1e48")]=null,this[t("0x1ff8")]=null,this[t("0x3a4b")]=null,this._method=null,this[t("0x38c1")]=null,this[t("0x4a40")]=null,this[t("0x1f5f")]=null}return e=c,(t=[{key:s("0x1cf"),value:function(e){var t=s;switch(e){case"realm":return this._realm;case t("0x4ca1"):return this[t("0x4a40")];default:return void x(t("0x3ea4"),e)}}},{key:s("0x2edf"),value:function(e,t){var n=s,a=e.method,r=e[n("0x1e07")],c=e.body,l=arguments[n("0x5e9")]>2&&void 0!==arguments[2]?arguments[2]:null;if(this[n("0x214c")]=t[n("0x1bc6")],this[n("0x9c0")]=t[n("0x107")],this[n("0x4a9d")]=t[n("0x1d43")],this[n("0x1e48")]=t[n("0x4b2c")],this._stale=t[n("0x45f4")],this[n("0x214c")]){if("MD5"!==this[n("0x214c")])return x(n("0x38a8")),!1}else this[n("0x214c")]="MD5";if(!this._nonce)return x("authenticate() | challenge without Digest nonce, authentication aborted"),!1;if(!this[n("0x9c0")])return x(n("0x4d3a")),!1;if(!this[n("0xf74")][n("0x88")]){if(!this._credentials[n("0x4ca1")])return x("authenticate() | no plain SIP password nor ha1 provided, authentication aborted"),!1;if(this[n("0xf74")].realm!==this[n("0x9c0")])return x(n("0x4408"),this[n("0xf74")].realm,this[n("0x9c0")]),!1}if(t[n("0xaa6")])if(t.qop[n("0x3507")](n("0x4509"))>-1)this[n("0x3a4b")]=n("0x4509");else{if(!(t[n("0xaa6")][n("0x3507")](n("0x1533"))>-1))return x(n("0x1125")),!1;this[n("0x3a4b")]=n("0x1533")}else this[n("0x3a4b")]=null;this._method=a,this[n("0x38c1")]=r,this[n("0x2f07")]=l||i[n("0x27b6")](12),this[n("0x31e0")]+=1;var d,u,f=Number(this[n("0x31e0")])[n("0x3c88")](16);return this[n("0x10b5")]="00000000".substr(0,8-f.length)+f,4294967296===this[n("0x31e0")]&&(this[n("0x31e0")]=1,this._ncHex=n("0x4f52")),this[n("0xf74")][n("0x88")]?this[n("0x4a40")]=i.calculateMD5(""[n("0x3abc")](this[n("0xf74")][n("0x4242")],":")[n("0x3abc")](this._realm,":")[n("0x3abc")](this._credentials.password)):this._ha1=this[n("0xf74")][n("0x4ca1")],this[n("0x3a4b")]===n("0x1533")?(d=""[n("0x3abc")](this[n("0x1a13")],":").concat(this[n("0x38c1")]),u=i.calculateMD5(d),o(n("0x9f"),d),this[n("0x1f5f")]=i[n("0x3569")](""[n("0x3abc")](this[n("0x4a40")],":").concat(this[n("0x4a9d")],":")[n("0x3abc")](this._ncHex,":")[n("0x3abc")](this[n("0x2f07")],":auth:")[n("0x3abc")](u))):"auth-int"===this[n("0x3a4b")]?(d=""[n("0x3abc")](this[n("0x1a13")],":")[n("0x3abc")](this[n("0x38c1")],":").concat(i[n("0x3569")](c||"")),u=i.calculateMD5(d),o('authenticate() | using qop=auth-int [a2:"%s"]',d),this[n("0x1f5f")]=i.calculateMD5(""[n("0x3abc")](this[n("0x4a40")],":")[n("0x3abc")](this._nonce,":").concat(this[n("0x10b5")],":")[n("0x3abc")](this[n("0x2f07")],n("0x32d1"))[n("0x3abc")](u))):null===this._qop&&(d=""[n("0x3abc")](this._method,":")[n("0x3abc")](this[n("0x38c1")]),u=i[n("0x3569")](d),o(n("0x3968"),d),this[n("0x1f5f")]=i[n("0x3569")](""[n("0x3abc")](this._ha1,":")[n("0x3abc")](this[n("0x4a9d")],":")[n("0x3abc")](u))),o(n("0x45a2")),!0}},{key:s("0x3c88"),value:function(){var e=s,t=[];if(!this[e("0x1f5f")])throw new Error("response field does not exist, cannot generate Authorization header");return t[e("0x459a")](e("0x1035")[e("0x3abc")](this[e("0x214c")])),t[e("0x459a")](e("0x448f")[e("0x3abc")](this[e("0xf74")][e("0x4242")],'"')),t[e("0x459a")](e("0x3d8b")[e("0x3abc")](this[e("0x9c0")],'"')),t.push(e("0x1dc5")[e("0x3abc")](this[e("0x4a9d")],'"')),t[e("0x459a")](e("0x2ae8")[e("0x3abc")](this[e("0x38c1")],'"')),t[e("0x459a")](e("0x258e")[e("0x3abc")](this[e("0x1f5f")],'"')),this[e("0x1e48")]&&t[e("0x459a")]('opaque="'[e("0x3abc")](this._opaque,'"')),this[e("0x3a4b")]&&(t[e("0x459a")]("qop="[e("0x3abc")](this[e("0x3a4b")])),t.push(e("0x2f23")[e("0x3abc")](this._cnonce,'"')),t[e("0x459a")](e("0x2130")[e("0x3abc")](this[e("0x10b5")]))),e("0x1f61")[e("0x3abc")](t[e("0xc60")](", "))}}])&&r(e[a2_0x37cf("0x20f")],t),n&&r(e,n),c}()},8063:e=>{var t=_0x299160;function n(e){var t=a2_0x37cf;return t("0x2939"),(n="function"==typeof Symbol&&typeof Symbol.iterator===t("0x40c6")?function(e){return typeof e}:function(e){var n=t;return e&&typeof Symbol===n("0x3349")&&e[n("0x11ae")]===Symbol&&e!==Symbol[n("0x20f")]?n("0x40c6"):typeof e})(e)}function a(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}function r(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object[n("0x4b8c")](t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}function i(e){var t=c();return function(){var n,a=a2_0x37cf,r=d(e);if(t){var i=d(this)[a("0x11ae")];n=Reflect.construct(r,arguments,i)}else n=r[a("0x4884")](this,arguments);return o(this,n)}}function o(e,t){var a=a2_0x37cf;return!t||n(t)!==a("0x1b1d")&&typeof t!==a("0x3349")?function(e){var t=a2_0x37cf;if(void 0===e)throw new ReferenceError(t("0x2d10"));return e}(e):t}function x(e){var t=a2_0x37cf,n=typeof Map===t("0x3349")?new Map:void 0;return(x=function(e){var a,r,i=t;if(null===e||(a=e,r=a2_0x37cf,-1===Function[r("0x3c88")].call(a)[r("0x3507")]("[native code]")))return e;if("function"!=typeof e)throw new TypeError(i("0x631"));if(typeof n!==i("0xc42")){if(n[i("0x519")](e))return n.get(e);n.set(e,o)}function o(){var t=i;return s(e,arguments,d(this)[t("0x11ae")])}return o[i("0x20f")]=Object.create(e[i("0x20f")],{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),l(o,e)})(e)}function s(e,t,n){var a=a2_0x37cf;return(s=c()?Reflect[a("0x3a1b")]:function(e,t,n){var r=a,i=[null];i[r("0x459a")][r("0x4884")](i,t);var o=new(Function.bind.apply(e,i));return n&&l(o,n[r("0x20f")]),o}).apply(null,arguments)}function c(){var e=a2_0x37cf;if(typeof Reflect===e("0xc42")||!Reflect[e("0x3a1b")])return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if("function"==typeof Proxy)return!0;try{return Date[e("0x20f")].toString.call(Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}function l(e,t){var n=a2_0x37cf;return(l=Object[n("0x409e")]||function(e,t){return e[n("0x287c")]=t,e})(e,t)}function d(e){var t=a2_0x37cf;return(d=Object[t("0x409e")]?Object[t("0x3e2a")]:function(e){var n=t;return e[n("0x287c")]||Object[n("0x3e2a")](e)})(e)}var u=function(e){r(n,e);var t=i(n);function n(e,r){var i,o=a2_0x37cf;return a(this,n),(i=t[o("0x3c6b")](this)).code=1,i[o("0x98c")]="CONFIGURATION_ERROR",i[o("0x12bd")]=e,i.value=r,i[o("0x45ea")]=i[o("0x3a33")]?o("0x3eda")[o("0x3abc")](JSON[o("0xcda")](i[o("0x3a33")]),o("0x2eea")).concat(i[o("0x12bd")],'"'):o("0x265b")[o("0x3abc")](i.parameter),i}return n}(x(Error)),f=function(e){r(n,e);var t=i(n);function n(e){var r,i=a2_0x37cf;return a(this,n),(r=t[i("0x3c6b")](this))[i("0xd41")]=2,r[i("0x98c")]=i("0x497f"),r[i("0x4e5c")]=e,r[i("0x45ea")]=i("0x367d").concat(e),r}return n}(x(Error)),m=function(e){r(n,e);var t=i(n);function n(e){var r,i=a2_0x37cf;return a(this,n),(r=t[i("0x3c6b")](this))[i("0xd41")]=3,r[i("0x98c")]=i("0x308c"),r.message=e,r}return n}(x(Error)),b=function(e){r(n,e);var t=i(n);function n(e){var r,i=a2_0x37cf;return a(this,n),(r=t[i("0x3c6b")](this))[i("0xd41")]=4,r[i("0x98c")]=i("0x41ed"),r.message=e,r}return n}(x(Error));e[t("0x33f9")]={ConfigurationError:u,InvalidStateError:f,NotSupportedError:m,NotReadyError:b}},3790:(e,t,n)=>{var a=_0x299160;e[a("0x33f9")]=function(){var e=a;function t(e){var t=a2_0x37cf;return'"'+e[t("0x3cc0")](/\\/g,"\\\\")[t("0x3cc0")](/"/g,'\\"').replace(/\x08/g,"\\b")[t("0x3cc0")](/\t/g,"\\t")[t("0x3cc0")](/\n/g,"\\n")[t("0x3cc0")](/\f/g,"\\f")[t("0x3cc0")](/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var r={parse:function(e,a){var r=a2_0x37cf,i={CRLF:l,DIGIT:d,ALPHA:u,HEXDIG:f,WSP:m,OCTET:b,DQUOTE:_,SP:p,HTAB:h,alphanum:g,reserved:v,unreserved:S,mark:E,escaped:A,LWS:T,SWS:y,HCOLON:C,TEXT_UTF8_TRIM:w,TEXT_UTF8char:M,UTF8_NONASCII:R,UTF8_CONT:D,LHEX:function(){var t,n=r;return null===(t=d())&&(/^[a-f]/[n("0x3ff3")](e.charAt(o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x3580")))),t},token:I,token_nodot:N,separators:function(){var t,n=r;return 40===e[n("0x11df")](o)?(t="(",o++):(t=null,c('"("')),null===t&&(41===e[n("0x11df")](o)?(t=")",o++):(t=null,c(n("0x4b51"))),null===t&&(60===e[n("0x11df")](o)?(t="<",o++):(t=null,c(n("0x30f6"))),null===t&&(62===e.charCodeAt(o)?(t=">",o++):(t=null,c(n("0x1f43"))),null===t&&(64===e[n("0x11df")](o)?(t="@",o++):(t=null,c(n("0x10d9"))),null===t&&(44===e.charCodeAt(o)?(t=",",o++):(t=null,c('","')),null===t&&(59===e[n("0x11df")](o)?(t=";",o++):(t=null,c(n("0x3465"))),null===t&&(58===e[n("0x11df")](o)?(t=":",o++):(t=null,c('":"')),null===t&&(92===e[n("0x11df")](o)?(t="\\",o++):(t=null,c('"\\\\"')),null===t&&null===(t=_())&&(47===e[n("0x11df")](o)?(t="/",o++):(t=null,c(n("0x91f"))),null===t&&(91===e[n("0x11df")](o)?(t="[",o++):(t=null,c(n("0x37d4"))),null===t&&(93===e[n("0x11df")](o)?(t="]",o++):(t=null,c(n("0xc29"))),null===t&&(63===e[n("0x11df")](o)?(t="?",o++):(t=null,c(n("0xd03"))),null===t&&(61===e[n("0x11df")](o)?(t="=",o++):(t=null,c('"="')),null===t&&(123===e[n("0x11df")](o)?(t="{",o++):(t=null,c(n("0x756"))),null===t&&(125===e[n("0x11df")](o)?(t="}",o++):(t=null,c(n("0x373e"))),null===t&&null===(t=p())&&(t=h())))))))))))))))),t},word:O,STAR:k,SLASH:P,EQUAL:L,LPAREN:F,RPAREN:B,RAQUOT:Y,LAQUOT:G,COMMA:H,SEMI:U,COLON:$,LDQUOT:j,RDQUOT:V,comment:function e(){var t,n,a,r;if(r=o,null!==(t=F())){for(n=[],null===(a=W())&&(null===(a=K())&&(a=e()));null!==a;)n.push(a),null===(a=W())&&(null===(a=K())&&(a=e()));null!==n?null!==(a=B())?t=[t,n,a]:(t=null,o=r):(t=null,o=r)}else t=null,o=r;return t},ctext:W,quoted_string:q,quoted_string_clean:z,qdtext:Q,quoted_pair:K,SIP_URI_noparams:X,SIP_URI:J,uri_scheme:Z,uri_scheme_sips:ee,uri_scheme_sip:te,userinfo:ne,user:ae,user_unreserved:re,password:ie,hostport:oe,host:xe,hostname:se,domainlabel:ce,toplabel:le,IPv6reference:de,IPv6address:ue,h16:fe,ls32:me,IPv4address:be,dec_octet:_e,port:pe,uri_parameters:he,uri_parameter:ge,transport_param:ve,user_param:Se,method_param:Ee,ttl_param:Ae,maddr_param:Te,lr_param:ye,other_param:Ce,pname:we,pvalue:Me,paramchar:Re,param_unreserved:De,headers:Ie,header:Ne,hname:Oe,hvalue:ke,hnv_unreserved:Pe,Request_Response:function(){var e;return null===(e=dt())&&(e=Le()),e},Request_Line:Le,Request_URI:Fe,absoluteURI:Be,hier_part:Ye,net_path:Ge,abs_path:He,opaque_part:Ue,uric:$e,uric_no_slash:je,path_segments:Ve,segment:We,param:qe,pchar:ze,scheme:Qe,authority:Ke,srvr:Xe,reg_name:Je,query:Ze,SIP_Version:et,INVITEm:tt,ACKm:nt,OPTIONSm:at,BYEm:rt,CANCELm:it,REGISTERm:ot,SUBSCRIBEm:xt,NOTIFYm:st,REFERm:ct,Method:lt,Status_Line:dt,Status_Code:ut,extension_code:ft,Reason_Phrase:mt,Allow_Events:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=Bt())){for(t=[],x=o,null!==(n=H())?null!==(a=Bt())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=H())?null!==(a=Bt())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},Call_ID:function(){var t,n,a,i,x,s,l=r;return i=o,x=o,null!==(t=O())?(s=o,64===e[l("0x11df")](o)?(n="@",o++):(n=null,c(l("0x10d9"))),null!==n&&null!==(a=O())?n=[n,a]:(n=null,o=s),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=x)):(t=null,o=x),null!==t&&(d=i,t=void(Hn=e[l("0x35e7")](o,d))),null===t&&(o=i),t;var d},Contact:function(){var e,t,n,a,i,x,s,c=r;if(i=o,null===(e=k()))if(x=o,null!==(e=bt())){for(t=[],s=o,null!==(n=H())?null!==(a=bt())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==n;)t[c("0x459a")](n),s=o,null!==(n=H())?null!==(a=bt())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==t?e=[e,t]:(e=null,o=x)}else e=null,o=x;return null!==e&&(e=function(e){var t,n,a=c;for(n=Hn.multi_header[a("0x5e9")],t=0;t<n;t++)if(null===Hn.multi_header[t][a("0x42d5")]){Hn=null;break}Hn=null!==Hn?Hn[a("0x4c66")]:-1}()),null===e&&(o=i),e},contact_param:bt,name_addr:_t,display_name:pt,contact_params:ht,c_p_q:gt,c_p_expires:vt,delta_seconds:St,qvalue:Et,generic_param:At,gen_value:Tt,Content_Disposition:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=yt())){for(t=[],x=o,null!==(n=U())?null!==(a=Ct())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=U())?null!==(a=Ct())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},disp_type:yt,disp_param:Ct,handling_param:wt,Content_Encoding:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=I())){for(t=[],x=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},Content_Length:function(){var e,t,n,a=r;if(n=o,null!==(t=d()))for(e=[];null!==t;)e[a("0x459a")](t),t=d();else e=null;return null!==e&&(i=e,e=void(Hn=parseInt(i[a("0xc60")]("")))),null===e&&(o=n),e;var i},Content_Type:function(){var t,n;return n=o,null!==(t=Mt())&&(a=n,t=void(Hn=e.substring(o,a))),null===t&&(o=n),t;var a},media_type:Mt,m_type:Rt,discrete_type:Dt,composite_type:It,extension_token:Nt,x_token:Ot,m_subtype:kt,m_parameter:Pt,m_value:Lt,CSeq:function(){var e,t,n,a;return a=o,null!==(e=Ft())&&null!==(t=T())&&null!==(n=lt())?e=[e,t,n]:(e=null,o=a),e},CSeq_value:Ft,Expires:function(){var e,t;return t=o,null!==(e=St())&&(n=e,e=void(Hn=n)),null===e&&(o=t),e;var n},Event:function(){var e,t,n,a,r,i,x;if(r=o,i=o,null!==(e=Bt())){for(t=[],x=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t.push(n),x=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return null!==e&&(s=e[0],c=a2_0x37cf,e=void(Hn[c("0x1511")]=s[c("0xc60")]("")[c("0x2eb9")]())),null===e&&(o=r),e;var s,c},event_type:Bt,From:function(){var e,t,n,a,i,x,s,c=r;if(i=o,x=o,null===(e=X())&&(e=_t()),null!==e){for(t=[],s=o,null!==(n=U())?null!==(a=Yt())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==n;)t[c("0x459a")](n),s=o,null!==(n=U())?null!==(a=Yt())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==t?e=[e,t]:(e=null,o=x)}else e=null,o=x;return null!==e&&(e=function(e){var t=c,n=Hn[t("0xb3b")];try{Hn=new Gn(Hn[t("0x234")],Hn[t("0x2088")],Hn[t("0x48ad")]),n&&Hn[t("0x358d")](t("0xb3b"),n)}catch(e){Hn=-1}}()),null===e&&(o=i),e},from_param:Yt,tag_param:Gt,Max_Forwards:function(){var e,t,n;if(n=o,null!==(t=d()))for(e=[];null!==t;)e.push(t),t=d();else e=null;return null!==e&&(a=e,e=void(Hn=parseInt(a.join("")))),null===e&&(o=n),e;var a},Min_Expires:function(){var e,t;return t=o,null!==(e=St())&&(n=e,e=void(Hn=n)),null===e&&(o=t),e;var n},Name_Addr_Header:function(){var e,t,n,a,i,x,s,c,l,d,u=r;c=o,l=o,e=[],t=pt();for(;null!==t;)e.push(t),t=pt();if(null!==e)if(null!==(t=G()))if(null!==(n=J()))if(null!==(a=Y())){for(i=[],d=o,null!==(x=U())?null!==(s=At())?x=[x,s]:(x=null,o=d):(x=null,o=d);null!==x;)i[u("0x459a")](x),d=o,null!==(x=U())?null!==(s=At())?x=[x,s]:(x=null,o=d):(x=null,o=d);null!==i?e=[e,t,n,a,i]:(e=null,o=l)}else e=null,o=l;else e=null,o=l;else e=null,o=l;else e=null,o=l;return null!==e&&(e=function(e){var t=u;try{Hn=new Gn(Hn.uri,Hn[t("0x2088")],Hn[t("0x48ad")])}catch(e){Hn=-1}}()),null===e&&(o=c),e},Proxy_Authenticate:function(){return Ht()},challenge:Ht,other_challenge:Ut,auth_param:$t,digest_cln:jt,realm:Vt,realm_value:Wt,domain:qt,URI:zt,nonce:Qt,nonce_value:Kt,opaque:Xt,stale:Jt,algorithm:Zt,qop_options:en,qop_value:tn,Proxy_Require:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=I())){for(t=[],x=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},Record_Route:function(){var e,t,n,a,i,x,s,c=r;if(i=o,x=o,null!==(e=nn())){for(t=[],s=o,null!==(n=H())?null!==(a=nn())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==n;)t[c("0x459a")](n),s=o,null!==(n=H())?null!==(a=nn())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==t?e=[e,t]:(e=null,o=x)}else e=null,o=x;return null!==e&&(e=function(e){var t,n,a=c;for(n=Hn.multi_header[a("0x5e9")],t=0;t<n;t++)if(null===Hn[a("0x4c66")][t][a("0x42d5")]){Hn=null;break}Hn=null!==Hn?Hn[a("0x4c66")]:-1}()),null===e&&(o=i),e},rec_route:nn,Reason:function(){var t,n,a,i,x,s,l,d=r;if(x=o,s=o,e.substr(o,3)[d("0x2eb9")]()===d("0x4a5b")?(t=e[d("0x39fa")](o,3),o+=3):(t=null,c('"SIP"')),null===t&&(t=I()),null!==t){for(n=[],l=o,null!==(a=U())?null!==(i=an())?a=[a,i]:(a=null,o=l):(a=null,o=l);null!==a;)n.push(a),l=o,null!==(a=U())?null!==(i=an())?a=[a,i]:(a=null,o=l):(a=null,o=l);null!==n?t=[t,n]:(t=null,o=s)}else t=null,o=s;return null!==t&&(t=function(e,t){var n=d;if(Hn[n("0x427")]=t[n("0x2eb9")](),Hn.params||(Hn[n("0x48ad")]={}),Hn[n("0x48ad")][n("0x806")]&&'"'===Hn.params[n("0x806")][0]){var a=Hn[n("0x48ad")][n("0x806")];Hn[n("0x806")]=a[n("0x35e7")](1,a[n("0x5e9")]-1),delete Hn[n("0x48ad")].text}}(0,t[0])),null===t&&(o=x),t},reason_param:an,reason_cause:rn,Require:function(){var e,t,n,a,r,i;if(r=o,null!==(e=I())){for(t=[],i=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=i):(n=null,o=i);null!==n;)t.push(n),i=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=i):(n=null,o=i);null!==t?e=[e,t]:(e=null,o=r)}else e=null,o=r;return e},Route:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=on())){for(t=[],x=o,null!==(n=H())?null!==(a=on())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=H())?null!==(a=on())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},route_param:on,Subscription_State:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=xn())){for(t=[],x=o,null!==(n=U())?null!==(a=sn())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=U())?null!==(a=sn())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},substate_value:xn,subexp_params:sn,event_reason_value:cn,Subject:function(){var e;return e=null!==(e=w())?e:""},Supported:function(){var e,t,n,a,r,i;if(r=o,null!==(e=I())){for(t=[],i=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=i):(n=null,o=i);null!==n;)t.push(n),i=o,null!==(n=H())?null!==(a=I())?n=[n,a]:(n=null,o=i):(n=null,o=i);null!==t?e=[e,t]:(e=null,o=r)}else e=null,o=r;return e=null!==e?e:""},To:function(){var e,t,n,a,i,x,s,c=r;if(i=o,x=o,null===(e=X())&&(e=_t()),null!==e){for(t=[],s=o,null!==(n=U())?null!==(a=ln())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==n;)t[c("0x459a")](n),s=o,null!==(n=U())?null!==(a=ln())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==t?e=[e,t]:(e=null,o=x)}else e=null,o=x;return null!==e&&(e=function(e){var t=c,n=Hn[t("0xb3b")];try{Hn=new Gn(Hn[t("0x234")],Hn.display_name,Hn[t("0x48ad")]),n&&Hn[t("0x358d")](t("0xb3b"),n)}catch(e){Hn=-1}}()),null===e&&(o=i),e},to_param:ln,Via:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=dn())){for(t=[],x=o,null!==(n=H())?null!==(a=dn())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=H())?null!==(a=dn())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},via_param:dn,via_params:un,via_ttl:fn,via_maddr:mn,via_received:bn,via_branch:_n,response_port:pn,rport:hn,sent_protocol:gn,protocol_name:vn,transport:Sn,sent_by:En,via_host:An,via_port:Tn,ttl:yn,WWW_Authenticate:function(){return Ht()},Session_Expires:function(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=Cn())){for(t=[],x=o,null!==(n=U())?null!==(a=wn())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=U())?null!==(a=wn())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e},s_e_expires:Cn,s_e_params:wn,s_e_refresher:Mn,extension_header:function(){var e,t,n,a;return a=o,null!==(e=I())&&null!==(t=C())&&null!==(n=Rn())?e=[e,t,n]:(e=null,o=a),e},header_value:Rn,message_body:function(){var e,t,n=r;e=[],t=b();for(;null!==t;)e[n("0x459a")](t),t=b();return e},uuid_URI:function(){var t,n,a,i=r;return a=o,e[i("0x39fa")](o,5)===i("0x2d00")?(t="uuid:",o+=5):(t=null,c(i("0x35a2"))),null!==t&&null!==(n=Dn())?t=[t,n]:(t=null,o=a),t},uuid:Dn,hex4:In,hex8:Nn,hex12:On,Refer_To:function(){var e,t,n,a,r,i,x;if(r=o,i=o,null===(e=X())&&(e=_t()),null!==e){for(t=[],x=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t.push(n),x=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return null!==e&&(e=function(e){var t=a2_0x37cf;try{Hn=new Gn(Hn[t("0x234")],Hn.display_name,Hn[t("0x48ad")])}catch(e){Hn=-1}}()),null===e&&(o=r),e},Replaces:function(){var e,t,n,a,r,i;if(r=o,null!==(e=kn())){for(t=[],i=o,null!==(n=U())?null!==(a=Pn())?n=[n,a]:(n=null,o=i):(n=null,o=i);null!==n;)t.push(n),i=o,null!==(n=U())?null!==(a=Pn())?n=[n,a]:(n=null,o=i):(n=null,o=i);null!==t?e=[e,t]:(e=null,o=r)}else e=null,o=r;return e},call_id:kn,replaces_param:Pn,to_tag:Ln,from_tag:Fn,early_flag:Bn};if(void 0!==a){if(void 0===i[a])throw new Error(r("0x2f3c")+t(a)+".")}else a=r("0x4539");var o=0,x=0,s=[];function c(e){o<x||(o>x&&(x=o,s=[]),s[r("0x459a")](e))}function l(){var t,n=r;return"\r\n"===e[n("0x39fa")](o,2)?(t="\r\n",o+=2):(t=null,c(n("0x45a7"))),t}function d(){var t,n=r;return/^[0-9]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x3cbe"))),t}function u(){var t,n=r;return/^[a-zA-Z]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e.charAt(o),o++):(t=null,c(n("0x2c2f"))),t}function f(){var t,n=r;return/^[0-9a-fA-F]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e.charAt(o),o++):(t=null,c(n("0x724"))),t}function m(){var e;return null===(e=p())&&(e=h()),e}function b(){var t,n=r;return/^[\0-\xFF]/[n("0x3ff3")](e.charAt(o))?(t=e.charAt(o),o++):(t=null,c(n("0x456"))),t}function _(){var t,n=r;return/^["]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x1bb5"))),t}function p(){var t,n=r;return 32===e.charCodeAt(o)?(t=" ",o++):(t=null,c(n("0x4f7"))),t}function h(){var t,n=r;return 9===e[n("0x11df")](o)?(t="\t",o++):(t=null,c(n("0x2b30"))),t}function g(){var t,n=r;return/^[a-zA-Z0-9]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x1488"))),t}function v(){var t,n=r;return 59===e[n("0x11df")](o)?(t=";",o++):(t=null,c(n("0x3465"))),null===t&&(47===e[n("0x11df")](o)?(t="/",o++):(t=null,c(n("0x91f"))),null===t&&(63===e.charCodeAt(o)?(t="?",o++):(t=null,c(n("0xd03"))),null===t&&(58===e[n("0x11df")](o)?(t=":",o++):(t=null,c(n("0x347b"))),null===t&&(64===e[n("0x11df")](o)?(t="@",o++):(t=null,c(n("0x10d9"))),null===t&&(38===e[n("0x11df")](o)?(t="&",o++):(t=null,c(n("0x3604"))),null===t&&(61===e[n("0x11df")](o)?(t="=",o++):(t=null,c(n("0x772"))),null===t&&(43===e[n("0x11df")](o)?(t="+",o++):(t=null,c(n("0x1f0c"))),null===t&&(36===e.charCodeAt(o)?(t="$",o++):(t=null,c(n("0x2547"))),null===t&&(44===e[n("0x11df")](o)?(t=",",o++):(t=null,c(n("0x2eec")))))))))))),t}function S(){var e;return null===(e=g())&&(e=E()),e}function E(){var t,n=r;return 45===e.charCodeAt(o)?(t="-",o++):(t=null,c(n("0x29f"))),null===t&&(95===e[n("0x11df")](o)?(t="_",o++):(t=null,c('"_"')),null===t&&(46===e[n("0x11df")](o)?(t=".",o++):(t=null,c(n("0x3a3c"))),null===t&&(33===e[n("0x11df")](o)?(t="!",o++):(t=null,c('"!"')),null===t&&(126===e.charCodeAt(o)?(t="~",o++):(t=null,c('"~"')),null===t&&(42===e[n("0x11df")](o)?(t="*",o++):(t=null,c(n("0x35fe"))),null===t&&(39===e.charCodeAt(o)?(t="'",o++):(t=null,c(n("0x117d"))),null===t&&(40===e.charCodeAt(o)?(t="(",o++):(t=null,c(n("0x4b4d"))),null===t&&(41===e.charCodeAt(o)?(t=")",o++):(t=null,c(n("0x4b51"))))))))))),t}function A(){var t,n,a,i,x,s=r;return i=o,x=o,37===e[s("0x11df")](o)?(t="%",o++):(t=null,c(s("0x72"))),null!==t?null!==(n=f())?null!==(a=f())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(t=t[s("0xc60")]("")),null===t&&(o=i),t}function T(){var e,t,n,a,i,x,s=r;for(a=o,i=o,x=o,e=[],t=m();null!==t;)e[s("0x459a")](t),t=m();if(null!==e?null!==(t=l())?e=[e,t]:(e=null,o=x):(e=null,o=x),null!==(e=null!==e?e:"")){if(null!==(n=m()))for(t=[];null!==n;)t[s("0x459a")](n),n=m();else t=null;null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return null!==e&&(e=" "),null===e&&(o=a),e}function y(){var e;return e=null!==(e=T())?e:""}function C(){var t,n,a,i,x,s=r;for(i=o,x=o,t=[],null===(n=p())&&(n=h());null!==n;)t[s("0x459a")](n),null===(n=p())&&(n=h());return null!==t?(58===e[s("0x11df")](o)?(n=":",o++):(n=null,c(s("0x347b"))),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t=":"),null===t&&(o=i),t}function w(){var t,n,a,i,x,s,c,l,d=r;if(x=o,s=o,null!==(n=M()))for(t=[];null!==n;)t[d("0x459a")](n),n=M();else t=null;if(null!==t){for(n=[],c=o,a=[],i=T();null!==i;)a[d("0x459a")](i),i=T();for(null!==a?null!==(i=M())?a=[a,i]:(a=null,o=c):(a=null,o=c);null!==a;){for(n.push(a),c=o,a=[],i=T();null!==i;)a[d("0x459a")](i),i=T();null!==a?null!==(i=M())?a=[a,i]:(a=null,o=c):(a=null,o=c)}null!==n?t=[t,n]:(t=null,o=s)}else t=null,o=s;return null!==t&&(l=x,t=e[d("0x35e7")](o,l)),null===t&&(o=x),t}function M(){var t,n=r;return/^[!-~]/[n("0x3ff3")](e.charAt(o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x27d4"))),null===t&&(t=R()),t}function R(){var t,n=r;return/^[\x80-\uFFFF]/[n("0x3ff3")](e.charAt(o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0xd2d"))),t}function D(){var t,n=r;return/^[\x80-\xBF]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x442c"))),t}function I(){var t,n,a,i,x=r;if(a=o,null===(n=g())&&(45===e[x("0x11df")](o)?(n="-",o++):(n=null,c(x("0x29f"))),null===n&&(46===e.charCodeAt(o)?(n=".",o++):(n=null,c(x("0x3a3c"))),null===n&&(33===e[x("0x11df")](o)?(n="!",o++):(n=null,c(x("0x436b"))),null===n&&(37===e[x("0x11df")](o)?(n="%",o++):(n=null,c('"%"')),null===n&&(42===e[x("0x11df")](o)?(n="*",o++):(n=null,c(x("0x35fe"))),null===n&&(95===e[x("0x11df")](o)?(n="_",o++):(n=null,c('"_"')),null===n&&(43===e[x("0x11df")](o)?(n="+",o++):(n=null,c(x("0x1f0c"))),null===n&&(96===e[x("0x11df")](o)?(n="`",o++):(n=null,c('"`"')),null===n&&(39===e[x("0x11df")](o)?(n="'",o++):(n=null,c(x("0x117d"))),null===n&&(126===e[x("0x11df")](o)?(n="~",o++):(n=null,c(x("0x1f5a"))))))))))))),null!==n)for(t=[];null!==n;)t.push(n),null===(n=g())&&(45===e[x("0x11df")](o)?(n="-",o++):(n=null,c('"-"')),null===n&&(46===e[x("0x11df")](o)?(n=".",o++):(n=null,c(x("0x3a3c"))),null===n&&(33===e.charCodeAt(o)?(n="!",o++):(n=null,c(x("0x436b"))),null===n&&(37===e[x("0x11df")](o)?(n="%",o++):(n=null,c(x("0x72"))),null===n&&(42===e[x("0x11df")](o)?(n="*",o++):(n=null,c(x("0x35fe"))),null===n&&(95===e[x("0x11df")](o)?(n="_",o++):(n=null,c(x("0x346d"))),null===n&&(43===e[x("0x11df")](o)?(n="+",o++):(n=null,c(x("0x1f0c"))),null===n&&(96===e[x("0x11df")](o)?(n="`",o++):(n=null,c(x("0x4576"))),null===n&&(39===e[x("0x11df")](o)?(n="'",o++):(n=null,c(x("0x117d"))),null===n&&(126===e.charCodeAt(o)?(n="~",o++):(n=null,c(x("0x1f5a")))))))))))));else t=null;return null!==t&&(i=a,t=e[x("0x35e7")](o,i)),null===t&&(o=a),t}function N(){var t,n,a,i,x=r;if(a=o,null===(n=g())&&(45===e.charCodeAt(o)?(n="-",o++):(n=null,c(x("0x29f"))),null===n&&(33===e[x("0x11df")](o)?(n="!",o++):(n=null,c(x("0x436b"))),null===n&&(37===e[x("0x11df")](o)?(n="%",o++):(n=null,c(x("0x72"))),null===n&&(42===e[x("0x11df")](o)?(n="*",o++):(n=null,c(x("0x35fe"))),null===n&&(95===e[x("0x11df")](o)?(n="_",o++):(n=null,c(x("0x346d"))),null===n&&(43===e.charCodeAt(o)?(n="+",o++):(n=null,c(x("0x1f0c"))),null===n&&(96===e[x("0x11df")](o)?(n="`",o++):(n=null,c(x("0x4576"))),null===n&&(39===e.charCodeAt(o)?(n="'",o++):(n=null,c(x("0x117d"))),null===n&&(126===e[x("0x11df")](o)?(n="~",o++):(n=null,c(x("0x1f5a")))))))))))),null!==n)for(t=[];null!==n;)t[x("0x459a")](n),null===(n=g())&&(45===e[x("0x11df")](o)?(n="-",o++):(n=null,c(x("0x29f"))),null===n&&(33===e[x("0x11df")](o)?(n="!",o++):(n=null,c(x("0x436b"))),null===n&&(37===e[x("0x11df")](o)?(n="%",o++):(n=null,c('"%"')),null===n&&(42===e[x("0x11df")](o)?(n="*",o++):(n=null,c(x("0x35fe"))),null===n&&(95===e[x("0x11df")](o)?(n="_",o++):(n=null,c(x("0x346d"))),null===n&&(43===e[x("0x11df")](o)?(n="+",o++):(n=null,c(x("0x1f0c"))),null===n&&(96===e[x("0x11df")](o)?(n="`",o++):(n=null,c(x("0x4576"))),null===n&&(39===e.charCodeAt(o)?(n="'",o++):(n=null,c(x("0x117d"))),null===n&&(126===e[x("0x11df")](o)?(n="~",o++):(n=null,c(x("0x1f5a"))))))))))));else t=null;return null!==t&&(i=a,t=e[x("0x35e7")](o,i)),null===t&&(o=a),t}function O(){var t,n,a,i,x=r;if(a=o,null===(n=g())&&(45===e[x("0x11df")](o)?(n="-",o++):(n=null,c(x("0x29f"))),null===n&&(46===e[x("0x11df")](o)?(n=".",o++):(n=null,c(x("0x3a3c"))),null===n&&(33===e[x("0x11df")](o)?(n="!",o++):(n=null,c(x("0x436b"))),null===n&&(37===e[x("0x11df")](o)?(n="%",o++):(n=null,c(x("0x72"))),null===n&&(42===e.charCodeAt(o)?(n="*",o++):(n=null,c('"*"')),null===n&&(95===e[x("0x11df")](o)?(n="_",o++):(n=null,c(x("0x346d"))),null===n&&(43===e[x("0x11df")](o)?(n="+",o++):(n=null,c(x("0x1f0c"))),null===n&&(96===e.charCodeAt(o)?(n="`",o++):(n=null,c('"`"')),null===n&&(39===e[x("0x11df")](o)?(n="'",o++):(n=null,c(x("0x117d"))),null===n&&(126===e[x("0x11df")](o)?(n="~",o++):(n=null,c(x("0x1f5a"))),null===n&&(40===e[x("0x11df")](o)?(n="(",o++):(n=null,c(x("0x4b4d"))),null===n&&(41===e[x("0x11df")](o)?(n=")",o++):(n=null,c(x("0x4b51"))),null===n&&(60===e[x("0x11df")](o)?(n="<",o++):(n=null,c(x("0x30f6"))),null===n&&(62===e[x("0x11df")](o)?(n=">",o++):(n=null,c(x("0x1f43"))),null===n&&(58===e[x("0x11df")](o)?(n=":",o++):(n=null,c(x("0x347b"))),null===n&&(92===e[x("0x11df")](o)?(n="\\",o++):(n=null,c(x("0xce1"))),null===n&&(null===(n=_())&&(47===e.charCodeAt(o)?(n="/",o++):(n=null,c(x("0x91f"))),null===n&&(91===e[x("0x11df")](o)?(n="[",o++):(n=null,c(x("0x37d4"))),null===n&&(93===e.charCodeAt(o)?(n="]",o++):(n=null,c('"]"')),null===n&&(63===e[x("0x11df")](o)?(n="?",o++):(n=null,c(x("0xd03"))),null===n&&(123===e.charCodeAt(o)?(n="{",o++):(n=null,c(x("0x756"))),null===n&&(125===e[x("0x11df")](o)?(n="}",o++):(n=null,c('"}"'))))))))))))))))))))))))),null!==n)for(t=[];null!==n;)t[x("0x459a")](n),null===(n=g())&&(45===e.charCodeAt(o)?(n="-",o++):(n=null,c(x("0x29f"))),null===n&&(46===e[x("0x11df")](o)?(n=".",o++):(n=null,c('"."')),null===n&&(33===e[x("0x11df")](o)?(n="!",o++):(n=null,c(x("0x436b"))),null===n&&(37===e[x("0x11df")](o)?(n="%",o++):(n=null,c('"%"')),null===n&&(42===e[x("0x11df")](o)?(n="*",o++):(n=null,c('"*"')),null===n&&(95===e[x("0x11df")](o)?(n="_",o++):(n=null,c(x("0x346d"))),null===n&&(43===e[x("0x11df")](o)?(n="+",o++):(n=null,c(x("0x1f0c"))),null===n&&(96===e.charCodeAt(o)?(n="`",o++):(n=null,c(x("0x4576"))),null===n&&(39===e[x("0x11df")](o)?(n="'",o++):(n=null,c('"\'"')),null===n&&(126===e[x("0x11df")](o)?(n="~",o++):(n=null,c(x("0x1f5a"))),null===n&&(40===e[x("0x11df")](o)?(n="(",o++):(n=null,c(x("0x4b4d"))),null===n&&(41===e[x("0x11df")](o)?(n=")",o++):(n=null,c('")"')),null===n&&(60===e[x("0x11df")](o)?(n="<",o++):(n=null,c(x("0x30f6"))),null===n&&(62===e[x("0x11df")](o)?(n=">",o++):(n=null,c('">"')),null===n&&(58===e[x("0x11df")](o)?(n=":",o++):(n=null,c(x("0x347b"))),null===n&&(92===e.charCodeAt(o)?(n="\\",o++):(n=null,c(x("0xce1"))),null===n&&(null===(n=_())&&(47===e[x("0x11df")](o)?(n="/",o++):(n=null,c('"/"')),null===n&&(91===e[x("0x11df")](o)?(n="[",o++):(n=null,c('"["')),null===n&&(93===e[x("0x11df")](o)?(n="]",o++):(n=null,c(x("0xc29"))),null===n&&(63===e[x("0x11df")](o)?(n="?",o++):(n=null,c(x("0xd03"))),null===n&&(123===e[x("0x11df")](o)?(n="{",o++):(n=null,c(x("0x756"))),null===n&&(125===e[x("0x11df")](o)?(n="}",o++):(n=null,c(x("0x373e"))))))))))))))))))))))))));else t=null;return null!==t&&(i=a,t=e.substring(o,i)),null===t&&(o=a),t}function k(){var t,n,a,i,x,s=r;return i=o,x=o,null!==(t=y())?(42===e[s("0x11df")](o)?(n="*",o++):(n=null,c('"*"')),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t="*"),null===t&&(o=i),t}function P(){var t,n,a,r,i;return r=o,i=o,null!==(t=y())?(47===e.charCodeAt(o)?(n="/",o++):(n=null,c('"/"')),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=i):(t=null,o=i)):(t=null,o=i),null!==t&&(t="/"),null===t&&(o=r),t}function L(){var t,n,a,i,x,s=r;return i=o,x=o,null!==(t=y())?(61===e[s("0x11df")](o)?(n="=",o++):(n=null,c('"="')),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t="="),null===t&&(o=i),t}function F(){var t,n,a,i,x,s=r;return i=o,x=o,null!==(t=y())?(40===e[s("0x11df")](o)?(n="(",o++):(n=null,c(s("0x4b4d"))),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t="("),null===t&&(o=i),t}function B(){var t,n,a,i,x,s=r;return i=o,x=o,null!==(t=y())?(41===e.charCodeAt(o)?(n=")",o++):(n=null,c(s("0x4b51"))),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t=")"),null===t&&(o=i),t}function Y(){var t,n,a,i,x=r;return a=o,i=o,62===e[x("0x11df")](o)?(t=">",o++):(t=null,c(x("0x1f43"))),null!==t?null!==(n=y())?t=[t,n]:(t=null,o=i):(t=null,o=i),null!==t&&(t=">"),null===t&&(o=a),t}function G(){var t,n,a,i,x=r;return a=o,i=o,null!==(t=y())?(60===e[x("0x11df")](o)?(n="<",o++):(n=null,c(x("0x30f6"))),null!==n?t=[t,n]:(t=null,o=i)):(t=null,o=i),null!==t&&(t="<"),null===t&&(o=a),t}function H(){var t,n,a,i,x,s=r;return i=o,x=o,null!==(t=y())?(44===e[s("0x11df")](o)?(n=",",o++):(n=null,c('","')),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t=","),null===t&&(o=i),t}function U(){var t,n,a,i,x,s=r;return i=o,x=o,null!==(t=y())?(59===e[s("0x11df")](o)?(n=";",o++):(n=null,c(s("0x3465"))),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t=";"),null===t&&(o=i),t}function $(){var t,n,a,i,x,s=r;return i=o,x=o,null!==(t=y())?(58===e[s("0x11df")](o)?(n=":",o++):(n=null,c(s("0x347b"))),null!==n?null!==(a=y())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(t=":"),null===t&&(o=i),t}function j(){var e,t,n,a;return n=o,a=o,null!==(e=y())?null!==(t=_())?e=[e,t]:(e=null,o=a):(e=null,o=a),null!==e&&(e='"'),null===e&&(o=n),e}function V(){var e,t,n,a;return n=o,a=o,null!==(e=_())?null!==(t=y())?e=[e,t]:(e=null,o=a):(e=null,o=a),null!==e&&(e='"'),null===e&&(o=n),e}function W(){var t,n=r;return/^[!-']/[n("0x3ff3")](e.charAt(o))?(t=e.charAt(o),o++):(t=null,c("[!-']")),null===t&&(/^[*-[]/[n("0x3ff3")](e.charAt(o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x2766"))),null===t&&(/^[\]-~]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x9e8"))),null===t&&(null===(t=R())&&(t=T())))),t}function q(){var t,n,a,r,i,x,s;if(i=o,x=o,null!==(t=y()))if(null!==(n=_())){for(a=[],null===(r=Q())&&(r=K());null!==r;)a.push(r),null===(r=Q())&&(r=K());null!==a?null!==(r=_())?t=[t,n,a,r]:(t=null,o=x):(t=null,o=x)}else t=null,o=x;else t=null,o=x;return null!==t&&(s=i,t=e[a2_0x37cf("0x35e7")](o,s)),null===t&&(o=i),t}function z(){var t,n,a,i,x,s,c,l,d,u=r;if(x=o,s=o,null!==(t=y()))if(null!==(n=_())){for(a=[],null===(i=Q())&&(i=K());null!==i;)a[u("0x459a")](i),null===(i=Q())&&(i=K());null!==a?null!==(i=_())?t=[t,n,a,i]:(t=null,o=s):(t=null,o=s)}else t=null,o=s;else t=null,o=s;return null!==t&&(c=x,t=(d=e[(l=u)("0x35e7")](o,c)[l("0x2dc4")]())[l("0x35e7")](1,d.length-1)[l("0x3cc0")](/\\([\x00-\x09\x0b-\x0c\x0e-\x7f])/g,"$1")),null===t&&(o=x),t}function Q(){var t,n=r;return null===(t=T())&&(33===e.charCodeAt(o)?(t="!",o++):(t=null,c('"!"')),null===t&&(/^[#-[]/[n("0x3ff3")](e[n("0x24de")](o))?(t=e[n("0x24de")](o),o++):(t=null,c(n("0x27b8"))),null===t&&(/^[\]-~]/[n("0x3ff3")](e.charAt(o))?(t=e.charAt(o),o++):(t=null,c(n("0x9e8"))),null===t&&(t=R())))),t}function K(){var t,n,a,i=r;return a=o,92===e[i("0x11df")](o)?(t="\\",o++):(t=null,c(i("0xce1"))),null!==t?(/^[\0-\t]/[i("0x3ff3")](e[i("0x24de")](o))?(n=e.charAt(o),o++):(n=null,c(i("0x1849"))),null===n&&(/^[\x0B-\f]/[i("0x3ff3")](e[i("0x24de")](o))?(n=e[i("0x24de")](o),o++):(n=null,c(i("0x4f45"))),null===n&&(/^[\x0E-]/[i("0x3ff3")](e[i("0x24de")](o))?(n=e[i("0x24de")](o),o++):(n=null,c(i("0x25ce"))))),null!==n?t=[t,n]:(t=null,o=a)):(t=null,o=a),t}function X(){var t,n,a,i,x,s,l=r;return x=o,s=o,null!==(t=Z())?(58===e[l("0x11df")](o)?(n=":",o++):(n=null,c(l("0x347b"))),null!==n?null!==(a=null!==(a=ne())?a:"")?null!==(i=oe())?t=[t,n,a,i]:(t=null,o=s):(t=null,o=s):(t=null,o=s)):(t=null,o=s),null!==t&&(t=function(e){var t=l;try{Hn[t("0x234")]=new Yn(Hn.scheme,Hn.user,Hn.host,Hn[t("0x23a4")]),delete Hn[t("0x23b9")],delete Hn.user,delete Hn[t("0x4961")],delete Hn[t("0x2e4a")],delete Hn[t("0x23a4")]}catch(e){Hn=-1}}()),null===t&&(o=x),t}function J(){var t,n,i,x,s,l,d,u,f=r;return d=o,u=o,null!==(t=Z())?(58===e[f("0x11df")](o)?(n=":",o++):(n=null,c(f("0x347b"))),null!==n?null!==(i=null!==(i=ne())?i:"")?null!==(x=oe())?null!==(s=he())?null!==(l=null!==(l=Ie())?l:"")?t=[t,n,i,x,s,l]:(t=null,o=u):(t=null,o=u):(t=null,o=u):(t=null,o=u):(t=null,o=u)):(t=null,o=u),null!==t&&(t=function(e){var t=f;try{Hn[t("0x234")]=new Yn(Hn.scheme,Hn[t("0x3c64")],Hn[t("0x4961")],Hn[t("0x23a4")],Hn[t("0x3784")],Hn.uri_headers),delete Hn[t("0x23b9")],delete Hn[t("0x3c64")],delete Hn[t("0x4961")],delete Hn[t("0x2e4a")],delete Hn[t("0x23a4")],delete Hn[t("0x3784")],a===t("0x4bb8")&&(Hn=Hn[t("0x234")])}catch(e){Hn=-1}}()),null===t&&(o=d),t}function Z(){var e;return null===(e=ee())&&(e=te()),e}function ee(){var t,n,a,i,x=r;return n=o,e.substr(o,4)[x("0x2eb9")]()===x("0x30d")?(t=e.substr(o,4),o+=4):(t=null,c(x("0x24a4"))),null!==t&&(a=t,t=void(Hn[(i=x)("0x23b9")]=a[i("0x2eb9")]())),null===t&&(o=n),t}function te(){var t,n,a,i,x=r;return n=o,"sip"===e[x("0x39fa")](o,3)[x("0x2eb9")]()?(t=e.substr(o,3),o+=3):(t=null,c(x("0x339a"))),null!==t&&(a=t,t=void(Hn[(i=x)("0x23b9")]=a[i("0x2eb9")]())),null===t&&(o=n),t}function ne(){var t,n,a,i,x,s,l,d,u=r;return i=o,x=o,null!==(t=ae())?(s=o,58===e.charCodeAt(o)?(n=":",o++):(n=null,c(u("0x347b"))),null!==n?null!==(a=ie())?n=[n,a]:(n=null,o=s):(n=null,o=s),null!==(n=null!==n?n:"")?(64===e[u("0x11df")](o)?(a="@",o++):(a=null,c(u("0x10d9"))),null!==a?t=[t,n,a]:(t=null,o=x)):(t=null,o=x)):(t=null,o=x),null!==t&&(l=i,d=u,t=void(Hn.user=decodeURIComponent(e[d("0x35e7")](o-1,l)))),null===t&&(o=i),t}function ae(){var e,t,n=r;if(null===(t=S())&&(null===(t=A())&&(t=re())),null!==t)for(e=[];null!==t;)e[n("0x459a")](t),null===(t=S())&&(null===(t=A())&&(t=re()));else e=null;return e}function re(){var t,n=r;return 38===e[n("0x11df")](o)?(t="&",o++):(t=null,c('"&"')),null===t&&(61===e[n("0x11df")](o)?(t="=",o++):(t=null,c(n("0x772"))),null===t&&(43===e[n("0x11df")](o)?(t="+",o++):(t=null,c('"+"')),null===t&&(36===e[n("0x11df")](o)?(t="$",o++):(t=null,c(n("0x2547"))),null===t&&(44===e[n("0x11df")](o)?(t=",",o++):(t=null,c(n("0x2eec"))),null===t&&(59===e.charCodeAt(o)?(t=";",o++):(t=null,c(n("0x3465"))),null===t&&(63===e[n("0x11df")](o)?(t="?",o++):(t=null,c('"?"')),null===t&&(47===e[n("0x11df")](o)?(t="/",o++):(t=null,c(n("0x91f")))))))))),t}function ie(){var t,n,a,i,x,s=r;for(a=o,t=[],null===(n=S())&&(null===(n=A())&&(38===e.charCodeAt(o)?(n="&",o++):(n=null,c(s("0x3604"))),null===n&&(61===e[s("0x11df")](o)?(n="=",o++):(n=null,c(s("0x772"))),null===n&&(43===e.charCodeAt(o)?(n="+",o++):(n=null,c('"+"')),null===n&&(36===e[s("0x11df")](o)?(n="$",o++):(n=null,c('"$"')),null===n&&(44===e[s("0x11df")](o)?(n=",",o++):(n=null,c(s("0x2eec")))))))));null!==n;)t[s("0x459a")](n),null===(n=S())&&(null===(n=A())&&(38===e.charCodeAt(o)?(n="&",o++):(n=null,c('"&"')),null===n&&(61===e[s("0x11df")](o)?(n="=",o++):(n=null,c(s("0x772"))),null===n&&(43===e[s("0x11df")](o)?(n="+",o++):(n=null,c(s("0x1f0c"))),null===n&&(36===e[s("0x11df")](o)?(n="$",o++):(n=null,c('"$"')),null===n&&(44===e.charCodeAt(o)?(n=",",o++):(n=null,c(s("0x2eec")))))))));return null!==t&&(i=a,t=void(Hn[(x=s)("0x88")]=e[x("0x35e7")](o,i))),null===t&&(o=a),t}function oe(){var t,n,a,i,x,s=r;return i=o,null!==(t=xe())?(x=o,58===e[s("0x11df")](o)?(n=":",o++):(n=null,c(s("0x347b"))),null!==n?null!==(a=pe())?n=[n,a]:(n=null,o=x):(n=null,o=x),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=i)):(t=null,o=i),t}function xe(){var t,n,a,r;return n=o,null===(t=se())&&(null===(t=be())&&(t=de())),null!==t&&(a=n,r=a2_0x37cf,Hn.host=e.substring(o,a)[r("0x2eb9")](),t=Hn[r("0x4961")]),null===t&&(o=n),t}function se(){var t,n,a,i,x,s,l,d,u=r;for(i=o,x=o,t=[],s=o,null!==(n=ce())?(46===e[u("0x11df")](o)?(a=".",o++):(a=null,c(u("0x3a3c"))),null!==a?n=[n,a]:(n=null,o=s)):(n=null,o=s);null!==n;)t[u("0x459a")](n),s=o,null!==(n=ce())?(46===e[u("0x11df")](o)?(a=".",o++):(a=null,c(u("0x3a3c"))),null!==a?n=[n,a]:(n=null,o=s)):(n=null,o=s);return null!==t?null!==(n=le())?(46===e.charCodeAt(o)?(a=".",o++):(a=null,c(u("0x3a3c"))),null!==(a=null!==a?a:"")?t=[t,n,a]:(t=null,o=x)):(t=null,o=x):(t=null,o=x),null!==t&&(l=i,Hn[(d=u)("0x2e4a")]="domain",t=e[d("0x35e7")](o,l)),null===t&&(o=i),t}function ce(){var t,n,a,i,x=r;if(i=o,null!==(t=g())){for(n=[],null===(a=g())&&(45===e[x("0x11df")](o)?(a="-",o++):(a=null,c(x("0x29f"))),null===a&&(95===e[x("0x11df")](o)?(a="_",o++):(a=null,c(x("0x346d")))));null!==a;)n[x("0x459a")](a),null===(a=g())&&(45===e.charCodeAt(o)?(a="-",o++):(a=null,c(x("0x29f"))),null===a&&(95===e[x("0x11df")](o)?(a="_",o++):(a=null,c(x("0x346d")))));null!==n?t=[t,n]:(t=null,o=i)}else t=null,o=i;return t}function le(){var t,n,a,i,x=r;if(i=o,null!==(t=u())){for(n=[],null===(a=g())&&(45===e[x("0x11df")](o)?(a="-",o++):(a=null,c(x("0x29f"))),null===a&&(95===e.charCodeAt(o)?(a="_",o++):(a=null,c(x("0x346d")))));null!==a;)n[x("0x459a")](a),null===(a=g())&&(45===e.charCodeAt(o)?(a="-",o++):(a=null,c(x("0x29f"))),null===a&&(95===e[x("0x11df")](o)?(a="_",o++):(a=null,c(x("0x346d")))));null!==n?t=[t,n]:(t=null,o=i)}else t=null,o=i;return t}function de(){var t,n,a,i,x,s,l,d=r;return i=o,x=o,91===e.charCodeAt(o)?(t="[",o++):(t=null,c(d("0x37d4"))),null!==t?null!==(n=ue())?(93===e[d("0x11df")](o)?(a="]",o++):(a=null,c(d("0xc29"))),null!==a?t=[t,n,a]:(t=null,o=x)):(t=null,o=x):(t=null,o=x),null!==t&&(s=i,Hn[(l=d)("0x2e4a")]=l("0x32a2"),t=e.substring(o,s)),null===t&&(o=i),t}function ue(){var t,n,a,i,x,s,l,d,u,f,m,b,_,p,h,g,v,S=r;return p=o,h=o,null!==(t=fe())?(58===e[S("0x11df")](o)?(n=":",o++):(n=null,c(S("0x347b"))),null!==n?null!==(a=fe())?(58===e[S("0x11df")](o)?(i=":",o++):(i=null,c(S("0x347b"))),null!==i?null!==(x=fe())?(58===e[S("0x11df")](o)?(s=":",o++):(s=null,c(S("0x347b"))),null!==s?null!==(l=fe())?(58===e[S("0x11df")](o)?(d=":",o++):(d=null,c(S("0x347b"))),null!==d?null!==(u=fe())?(58===e[S("0x11df")](o)?(f=":",o++):(f=null,c(S("0x347b"))),null!==f?null!==(m=fe())?(58===e[S("0x11df")](o)?(b=":",o++):(b=null,c('":"')),null!==b?null!==(_=me())?t=[t,n,a,i,x,s,l,d,u,f,m,b,_]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h),null===t&&(h=o,"::"===e[S("0x39fa")](o,2)?(t="::",o+=2):(t=null,c('"::"')),null!==t?null!==(n=fe())?(58===e[S("0x11df")](o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=fe())?(58===e.charCodeAt(o)?(x=":",o++):(x=null,c(S("0x347b"))),null!==x?null!==(s=fe())?(58===e[S("0x11df")](o)?(l=":",o++):(l=null,c(S("0x347b"))),null!==l?null!==(d=fe())?(58===e[S("0x11df")](o)?(u=":",o++):(u=null,c(S("0x347b"))),null!==u?null!==(f=fe())?(58===e.charCodeAt(o)?(m=":",o++):(m=null,c(S("0x347b"))),null!==m?null!==(b=me())?t=[t,n,a,i,x,s,l,d,u,f,m,b]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h),null===t&&(h=o,"::"===e[S("0x39fa")](o,2)?(t="::",o+=2):(t=null,c(S("0xa3b"))),null!==t?null!==(n=fe())?(58===e[S("0x11df")](o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=fe())?(58===e.charCodeAt(o)?(x=":",o++):(x=null,c(S("0x347b"))),null!==x?null!==(s=fe())?(58===e.charCodeAt(o)?(l=":",o++):(l=null,c(S("0x347b"))),null!==l?null!==(d=fe())?(58===e.charCodeAt(o)?(u=":",o++):(u=null,c(S("0x347b"))),null!==u?null!==(f=me())?t=[t,n,a,i,x,s,l,d,u,f]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h),null===t&&(h=o,"::"===e[S("0x39fa")](o,2)?(t="::",o+=2):(t=null,c(S("0xa3b"))),null!==t?null!==(n=fe())?(58===e[S("0x11df")](o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=fe())?(58===e.charCodeAt(o)?(x=":",o++):(x=null,c(S("0x347b"))),null!==x?null!==(s=fe())?(58===e[S("0x11df")](o)?(l=":",o++):(l=null,c(S("0x347b"))),null!==l?null!==(d=me())?t=[t,n,a,i,x,s,l,d]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h),null===t&&(h=o,"::"===e.substr(o,2)?(t="::",o+=2):(t=null,c(S("0xa3b"))),null!==t?null!==(n=fe())?(58===e.charCodeAt(o)?(a=":",o++):(a=null,c('":"')),null!==a?null!==(i=fe())?(58===e[S("0x11df")](o)?(x=":",o++):(x=null,c(S("0x347b"))),null!==x?null!==(s=me())?t=[t,n,a,i,x,s]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h),null===t&&(h=o,"::"===e[S("0x39fa")](o,2)?(t="::",o+=2):(t=null,c(S("0xa3b"))),null!==t?null!==(n=fe())?(58===e.charCodeAt(o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=me())?t=[t,n,a,i]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h),null===t&&(h=o,"::"===e[S("0x39fa")](o,2)?(t="::",o+=2):(t=null,c(S("0xa3b"))),null!==t?null!==(n=me())?t=[t,n]:(t=null,o=h):(t=null,o=h),null===t&&(h=o,"::"===e[S("0x39fa")](o,2)?(t="::",o+=2):(t=null,c(S("0xa3b"))),null!==t?null!==(n=fe())?t=[t,n]:(t=null,o=h):(t=null,o=h),null===t&&(h=o,null!==(t=fe())?("::"===e[S("0x39fa")](o,2)?(n="::",o+=2):(n=null,c(S("0xa3b"))),null!==n?null!==(a=fe())?(58===e[S("0x11df")](o)?(i=":",o++):(i=null,c(S("0x347b"))),null!==i?null!==(x=fe())?(58===e[S("0x11df")](o)?(s=":",o++):(s=null,c(S("0x347b"))),null!==s?null!==(l=fe())?(58===e.charCodeAt(o)?(d=":",o++):(d=null,c(S("0x347b"))),null!==d?null!==(u=fe())?(58===e[S("0x11df")](o)?(f=":",o++):(f=null,c(S("0x347b"))),null!==f?null!==(m=me())?t=[t,n,a,i,x,s,l,d,u,f,m]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h),null===t&&(h=o,null!==(t=fe())?(g=o,58===e[S("0x11df")](o)?(n=":",o++):(n=null,c(S("0x347b"))),null!==n?null!==(a=fe())?n=[n,a]:(n=null,o=g):(n=null,o=g),null!==(n=null!==n?n:"")?("::"===e[S("0x39fa")](o,2)?(a="::",o+=2):(a=null,c(S("0xa3b"))),null!==a?null!==(i=fe())?(58===e[S("0x11df")](o)?(x=":",o++):(x=null,c(S("0x347b"))),null!==x?null!==(s=fe())?(58===e.charCodeAt(o)?(l=":",o++):(l=null,c(S("0x347b"))),null!==l?null!==(d=fe())?(58===e.charCodeAt(o)?(u=":",o++):(u=null,c(S("0x347b"))),null!==u?null!==(f=me())?t=[t,n,a,i,x,s,l,d,u,f]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h)):(t=null,o=h),null===t&&(h=o,null!==(t=fe())?(g=o,58===e.charCodeAt(o)?(n=":",o++):(n=null,c(S("0x347b"))),null!==n?null!==(a=fe())?n=[n,a]:(n=null,o=g):(n=null,o=g),null!==(n=null!==n?n:"")?(g=o,58===e[S("0x11df")](o)?(a=":",o++):(a=null,c('":"')),null!==a?null!==(i=fe())?a=[a,i]:(a=null,o=g):(a=null,o=g),null!==(a=null!==a?a:"")?("::"===e[S("0x39fa")](o,2)?(i="::",o+=2):(i=null,c(S("0xa3b"))),null!==i?null!==(x=fe())?(58===e.charCodeAt(o)?(s=":",o++):(s=null,c(S("0x347b"))),null!==s?null!==(l=fe())?(58===e[S("0x11df")](o)?(d=":",o++):(d=null,c(S("0x347b"))),null!==d?null!==(u=me())?t=[t,n,a,i,x,s,l,d,u]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h),null===t&&(h=o,null!==(t=fe())?(g=o,58===e[S("0x11df")](o)?(n=":",o++):(n=null,c(S("0x347b"))),null!==n?null!==(a=fe())?n=[n,a]:(n=null,o=g):(n=null,o=g),null!==(n=null!==n?n:"")?(g=o,58===e[S("0x11df")](o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=fe())?a=[a,i]:(a=null,o=g):(a=null,o=g),null!==(a=null!==a?a:"")?(g=o,58===e[S("0x11df")](o)?(i=":",o++):(i=null,c(S("0x347b"))),null!==i?null!==(x=fe())?i=[i,x]:(i=null,o=g):(i=null,o=g),null!==(i=null!==i?i:"")?("::"===e[S("0x39fa")](o,2)?(x="::",o+=2):(x=null,c(S("0xa3b"))),null!==x?null!==(s=fe())?(58===e[S("0x11df")](o)?(l=":",o++):(l=null,c(S("0x347b"))),null!==l?null!==(d=me())?t=[t,n,a,i,x,s,l,d]:(t=null,o=h):(t=null,o=h)):(t=null,o=h):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h),null===t&&(h=o,null!==(t=fe())?(g=o,58===e[S("0x11df")](o)?(n=":",o++):(n=null,c(S("0x347b"))),null!==n?null!==(a=fe())?n=[n,a]:(n=null,o=g):(n=null,o=g),null!==(n=null!==n?n:"")?(g=o,58===e[S("0x11df")](o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=fe())?a=[a,i]:(a=null,o=g):(a=null,o=g),null!==(a=null!==a?a:"")?(g=o,58===e[S("0x11df")](o)?(i=":",o++):(i=null,c(S("0x347b"))),null!==i?null!==(x=fe())?i=[i,x]:(i=null,o=g):(i=null,o=g),null!==(i=null!==i?i:"")?(g=o,58===e[S("0x11df")](o)?(x=":",o++):(x=null,c(S("0x347b"))),null!==x?null!==(s=fe())?x=[x,s]:(x=null,o=g):(x=null,o=g),null!==(x=null!==x?x:"")?("::"===e[S("0x39fa")](o,2)?(s="::",o+=2):(s=null,c(S("0xa3b"))),null!==s?null!==(l=me())?t=[t,n,a,i,x,s,l]:(t=null,o=h):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h),null===t&&(h=o,null!==(t=fe())?(g=o,58===e[S("0x11df")](o)?(n=":",o++):(n=null,c(S("0x347b"))),null!==n?null!==(a=fe())?n=[n,a]:(n=null,o=g):(n=null,o=g),null!==(n=null!==n?n:"")?(g=o,58===e[S("0x11df")](o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=fe())?a=[a,i]:(a=null,o=g):(a=null,o=g),null!==(a=null!==a?a:"")?(g=o,58===e[S("0x11df")](o)?(i=":",o++):(i=null,c(S("0x347b"))),null!==i?null!==(x=fe())?i=[i,x]:(i=null,o=g):(i=null,o=g),null!==(i=null!==i?i:"")?(g=o,58===e[S("0x11df")](o)?(x=":",o++):(x=null,c('":"')),null!==x?null!==(s=fe())?x=[x,s]:(x=null,o=g):(x=null,o=g),null!==(x=null!==x?x:"")?(g=o,58===e[S("0x11df")](o)?(s=":",o++):(s=null,c('":"')),null!==s?null!==(l=fe())?s=[s,l]:(s=null,o=g):(s=null,o=g),null!==(s=null!==s?s:"")?("::"===e[S("0x39fa")](o,2)?(l="::",o+=2):(l=null,c(S("0xa3b"))),null!==l?null!==(d=fe())?t=[t,n,a,i,x,s,l,d]:(t=null,o=h):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h),null===t&&(h=o,null!==(t=fe())?(g=o,58===e[S("0x11df")](o)?(n=":",o++):(n=null,c(S("0x347b"))),null!==n?null!==(a=fe())?n=[n,a]:(n=null,o=g):(n=null,o=g),null!==(n=null!==n?n:"")?(g=o,58===e[S("0x11df")](o)?(a=":",o++):(a=null,c(S("0x347b"))),null!==a?null!==(i=fe())?a=[a,i]:(a=null,o=g):(a=null,o=g),null!==(a=null!==a?a:"")?(g=o,58===e.charCodeAt(o)?(i=":",o++):(i=null,c(S("0x347b"))),null!==i?null!==(x=fe())?i=[i,x]:(i=null,o=g):(i=null,o=g),null!==(i=null!==i?i:"")?(g=o,58===e[S("0x11df")](o)?(x=":",o++):(x=null,c(S("0x347b"))),null!==x?null!==(s=fe())?x=[x,s]:(x=null,o=g):(x=null,o=g),null!==(x=null!==x?x:"")?(g=o,58===e[S("0x11df")](o)?(s=":",o++):(s=null,c(S("0x347b"))),null!==s?null!==(l=fe())?s=[s,l]:(s=null,o=g):(s=null,o=g),null!==(s=null!==s?s:"")?(g=o,58===e.charCodeAt(o)?(l=":",o++):(l=null,c(S("0x347b"))),null!==l?null!==(d=fe())?l=[l,d]:(l=null,o=g):(l=null,o=g),null!==(l=null!==l?l:"")?("::"===e[S("0x39fa")](o,2)?(d="::",o+=2):(d=null,c('"::"')),null!==d?t=[t,n,a,i,x,s,l,d]:(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h)):(t=null,o=h))))))))))))))),null!==t&&(v=p,Hn[S("0x2e4a")]="IPv6",t=e.substring(o,v)),null===t&&(o=p),t}function fe(){var e,t,n,a,r;return r=o,null!==(e=f())?null!==(t=null!==(t=f())?t:"")?null!==(n=null!==(n=f())?n:"")?null!==(a=null!==(a=f())?a:"")?e=[e,t,n,a]:(e=null,o=r):(e=null,o=r):(e=null,o=r):(e=null,o=r),e}function me(){var t,n,a,i,x=r;return i=o,null!==(t=fe())?(58===e[x("0x11df")](o)?(n=":",o++):(n=null,c(x("0x347b"))),null!==n?null!==(a=fe())?t=[t,n,a]:(t=null,o=i):(t=null,o=i)):(t=null,o=i),null===t&&(t=be()),t}function be(){var t,n,a,i,x,s,l,d,u,f,m,b=r;return d=o,u=o,null!==(t=_e())?(46===e[b("0x11df")](o)?(n=".",o++):(n=null,c('"."')),null!==n?null!==(a=_e())?(46===e[b("0x11df")](o)?(i=".",o++):(i=null,c(b("0x3a3c"))),null!==i?null!==(x=_e())?(46===e[b("0x11df")](o)?(s=".",o++):(s=null,c(b("0x3a3c"))),null!==s?null!==(l=_e())?t=[t,n,a,i,x,s,l]:(t=null,o=u):(t=null,o=u)):(t=null,o=u):(t=null,o=u)):(t=null,o=u):(t=null,o=u)):(t=null,o=u),null!==t&&(f=d,Hn[(m=b)("0x2e4a")]=m("0x1452"),t=e[m("0x35e7")](o,f)),null===t&&(o=d),t}function _e(){var t,n,a,i,x=r;return i=o,"25"===e[x("0x39fa")](o,2)?(t="25",o+=2):(t=null,c(x("0x3555"))),null!==t?(/^[0-5]/[x("0x3ff3")](e[x("0x24de")](o))?(n=e[x("0x24de")](o),o++):(n=null,c("[0-5]")),null!==n?t=[t,n]:(t=null,o=i)):(t=null,o=i),null===t&&(i=o,50===e.charCodeAt(o)?(t="2",o++):(t=null,c(x("0x100e"))),null!==t?(/^[0-4]/.test(e.charAt(o))?(n=e.charAt(o),o++):(n=null,c("[0-4]")),null!==n?null!==(a=d())?t=[t,n,a]:(t=null,o=i):(t=null,o=i)):(t=null,o=i),null===t&&(i=o,49===e[x("0x11df")](o)?(t="1",o++):(t=null,c(x("0x3454"))),null!==t?null!==(n=d())?null!==(a=d())?t=[t,n,a]:(t=null,o=i):(t=null,o=i):(t=null,o=i),null===t&&(i=o,/^[1-9]/[x("0x3ff3")](e[x("0x24de")](o))?(t=e.charAt(o),o++):(t=null,c("[1-9]")),null!==t?null!==(n=d())?t=[t,n]:(t=null,o=i):(t=null,o=i),null===t&&(t=d())))),t}function pe(){var e,t,n,a,r,i,x,s;return i=o,x=o,null!==(e=null!==(e=d())?e:"")?null!==(t=null!==(t=d())?t:"")?null!==(n=null!==(n=d())?n:"")?null!==(a=null!==(a=d())?a:"")?null!==(r=null!==(r=d())?r:"")?e=[e,t,n,a,r]:(e=null,o=x):(e=null,o=x):(e=null,o=x):(e=null,o=x):(e=null,o=x),null!==e&&(s=e,s=parseInt(s.join("")),Hn.port=s,e=s),null===e&&(o=i),e}function he(){var t,n,a,i,x=r;for(t=[],i=o,59===e[x("0x11df")](o)?(n=";",o++):(n=null,c(x("0x3465"))),null!==n?null!==(a=ge())?n=[n,a]:(n=null,o=i):(n=null,o=i);null!==n;)t[x("0x459a")](n),i=o,59===e[x("0x11df")](o)?(n=";",o++):(n=null,c(x("0x3465"))),null!==n?null!==(a=ge())?n=[n,a]:(n=null,o=i):(n=null,o=i);return t}function ge(){var e;return null===(e=ve())&&(null===(e=Se())&&(null===(e=Ee())&&(null===(e=Ae())&&(null===(e=Te())&&(null===(e=ye())&&(e=Ce())))))),e}function ve(){var t,n,a,i,x,s,l=r;return a=o,i=o,e[l("0x39fa")](o,10)[l("0x2eb9")]()===l("0x30c1")?(t=e.substr(o,10),o+=10):(t=null,c('"transport="')),null!==t?("udp"===e.substr(o,3)[l("0x2eb9")]()?(n=e[l("0x39fa")](o,3),o+=3):(n=null,c(l("0x3dc1"))),null===n&&(e[l("0x39fa")](o,3).toLowerCase()===l("0x153c")?(n=e[l("0x39fa")](o,3),o+=3):(n=null,c(l("0x223"))),null===n&&(e[l("0x39fa")](o,4)[l("0x2eb9")]()===l("0x4d30")?(n=e[l("0x39fa")](o,4),o+=4):(n=null,c('"sctp"')),null===n&&(e[l("0x39fa")](o,3)[l("0x2eb9")]()===l("0xaeb")?(n=e[l("0x39fa")](o,3),o+=3):(n=null,c(l("0x2ab5"))),null===n&&(n=I())))),null!==n?t=[t,n]:(t=null,o=i)):(t=null,o=i),null!==t&&(x=t[1],Hn[(s=l)("0x3784")]||(Hn[s("0x3784")]={}),t=void(Hn[s("0x3784")][s("0x1381")]=x[s("0x2eb9")]())),null===t&&(o=a),t}function Se(){var t,n,a,i,x,s,l=r;return a=o,i=o,"user="===e[l("0x39fa")](o,5).toLowerCase()?(t=e[l("0x39fa")](o,5),o+=5):(t=null,c(l("0x2cff"))),null!==t?(e.substr(o,5)[l("0x2eb9")]()===l("0x42a7")?(n=e.substr(o,5),o+=5):(n=null,c(l("0x27a"))),null===n&&("ip"===e[l("0x39fa")](o,2)[l("0x2eb9")]()?(n=e[l("0x39fa")](o,2),o+=2):(n=null,c('"ip"')),null===n&&(n=I())),null!==n?t=[t,n]:(t=null,o=i)):(t=null,o=i),null!==t&&(x=t[1],Hn[(s=l)("0x3784")]||(Hn.uri_params={}),t=void(Hn[s("0x3784")][s("0x3c64")]=x.toLowerCase())),null===t&&(o=a),t}function Ee(){var t,n,a,i,x,s,l=r;return a=o,i=o,"method="===e[l("0x39fa")](o,7)[l("0x2eb9")]()?(t=e[l("0x39fa")](o,7),o+=7):(t=null,c(l("0x14e7"))),null!==t?null!==(n=lt())?t=[t,n]:(t=null,o=i):(t=null,o=i),null!==t&&(x=t[1],s=l,Hn.uri_params||(Hn[s("0x3784")]={}),t=void(Hn[s("0x3784")][s("0x3bee")]=x)),null===t&&(o=a),t}function Ae(){var t,n,a,i,x,s,l=r;return a=o,i=o,e[l("0x39fa")](o,4)[l("0x2eb9")]()===l("0x2fa6")?(t=e[l("0x39fa")](o,4),o+=4):(t=null,c(l("0x30b9"))),null!==t?null!==(n=yn())?t=[t,n]:(t=null,o=i):(t=null,o=i),null!==t&&(x=t[1],Hn[(s=l)("0x48ad")]||(Hn[s("0x48ad")]={}),t=void(Hn.params[s("0x1b67")]=x)),null===t&&(o=a),t}function Te(){var t,n,a,i,x,s=r;return a=o,i=o,e[s("0x39fa")](o,6)[s("0x2eb9")]()===s("0x3870")?(t=e[s("0x39fa")](o,6),o+=6):(t=null,c(s("0x1682"))),null!==t?null!==(n=xe())?t=[t,n]:(t=null,o=i):(t=null,o=i),null!==t&&(x=t[1],Hn[s("0x3784")]||(Hn.uri_params={}),t=void(Hn.uri_params.maddr=x)),null===t&&(o=a),t}function ye(){var t,n,a,i,x,s,l,d=r;return i=o,x=o,"lr"===e.substr(o,2)[d("0x2eb9")]()?(t=e[d("0x39fa")](o,2),o+=2):(t=null,c(d("0x1267"))),null!==t?(s=o,61===e[d("0x11df")](o)?(n="=",o++):(n=null,c('"="')),null!==n?null!==(a=I())?n=[n,a]:(n=null,o=s):(n=null,o=s),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=x)):(t=null,o=x),null!==t&&(Hn[(l=d)("0x3784")]||(Hn.uri_params={}),t=void(Hn[l("0x3784")].lr=void 0)),null===t&&(o=i),t}function Ce(){var t,n,a,i,x,s,l,d,u,f=r;return i=o,x=o,null!==(t=we())?(s=o,61===e[f("0x11df")](o)?(n="=",o++):(n=null,c(f("0x772"))),null!==n?null!==(a=Me())?n=[n,a]:(n=null,o=s):(n=null,o=s),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=x)):(t=null,o=x),null!==t&&(l=t[0],d=t[1],Hn[(u=f)("0x3784")]||(Hn[u("0x3784")]={}),d=void 0===d?void 0:d[1],t=void(Hn[u("0x3784")][l[u("0x2eb9")]()]=d)),null===t&&(o=i),t}function we(){var e,t,n,a=r;if(n=o,null!==(t=Re()))for(e=[];null!==t;)e[a("0x459a")](t),t=Re();else e=null;return null!==e&&(e=e[a("0xc60")]("")),null===e&&(o=n),e}function Me(){var e,t,n;if(n=o,null!==(t=Re()))for(e=[];null!==t;)e.push(t),t=Re();else e=null;return null!==e&&(e=e[a2_0x37cf("0xc60")]("")),null===e&&(o=n),e}function Re(){var e;return null===(e=De())&&(null===(e=S())&&(e=A())),e}function De(){var t,n=r;return 91===e[n("0x11df")](o)?(t="[",o++):(t=null,c(n("0x37d4"))),null===t&&(93===e[n("0x11df")](o)?(t="]",o++):(t=null,c('"]"')),null===t&&(47===e.charCodeAt(o)?(t="/",o++):(t=null,c(n("0x91f"))),null===t&&(58===e[n("0x11df")](o)?(t=":",o++):(t=null,c('":"')),null===t&&(38===e.charCodeAt(o)?(t="&",o++):(t=null,c('"&"')),null===t&&(43===e[n("0x11df")](o)?(t="+",o++):(t=null,c('"+"')),null===t&&(36===e[n("0x11df")](o)?(t="$",o++):(t=null,c(n("0x2547"))))))))),t}function Ie(){var t,n,a,i,x,s,l,d=r;if(s=o,63===e[d("0x11df")](o)?(t="?",o++):(t=null,c(d("0xd03"))),null!==t)if(null!==(n=Ne())){for(a=[],l=o,38===e[d("0x11df")](o)?(i="&",o++):(i=null,c(d("0x3604"))),null!==i?null!==(x=Ne())?i=[i,x]:(i=null,o=l):(i=null,o=l);null!==i;)a[d("0x459a")](i),l=o,38===e.charCodeAt(o)?(i="&",o++):(i=null,c(d("0x3604"))),null!==i?null!==(x=Ne())?i=[i,x]:(i=null,o=l):(i=null,o=l);null!==a?t=[t,n,a]:(t=null,o=s)}else t=null,o=s;else t=null,o=s;return t}function Ne(){var t,n,a,i,x,s,l,d,u=r;return i=o,x=o,null!==(t=Oe())?(61===e[u("0x11df")](o)?(n="=",o++):(n=null,c(u("0x772"))),null!==n?null!==(a=ke())?t=[t,n,a]:(t=null,o=x):(t=null,o=x)):(t=null,o=x),null!==t&&(s=t[0],l=t[2],s=s[(d=u)("0xc60")]("")[d("0x2eb9")](),l=l.join(""),Hn[d("0x3a4e")]||(Hn[d("0x3a4e")]={}),t=void(Hn[d("0x3a4e")][s]?Hn[d("0x3a4e")][s][d("0x459a")](l):Hn[d("0x3a4e")][s]=[l])),null===t&&(o=i),t}function Oe(){var e,t,n=r;if(null===(t=Pe())&&(null===(t=S())&&(t=A())),null!==t)for(e=[];null!==t;)e[n("0x459a")](t),null===(t=Pe())&&(null===(t=S())&&(t=A()));else e=null;return e}function ke(){var e,t,n=r;for(e=[],null===(t=Pe())&&(null===(t=S())&&(t=A()));null!==t;)e[n("0x459a")](t),null===(t=Pe())&&(null===(t=S())&&(t=A()));return e}function Pe(){var t,n=r;return 91===e[n("0x11df")](o)?(t="[",o++):(t=null,c(n("0x37d4"))),null===t&&(93===e[n("0x11df")](o)?(t="]",o++):(t=null,c(n("0xc29"))),null===t&&(47===e.charCodeAt(o)?(t="/",o++):(t=null,c(n("0x91f"))),null===t&&(63===e.charCodeAt(o)?(t="?",o++):(t=null,c('"?"')),null===t&&(58===e.charCodeAt(o)?(t=":",o++):(t=null,c(n("0x347b"))),null===t&&(43===e[n("0x11df")](o)?(t="+",o++):(t=null,c(n("0x1f0c"))),null===t&&(36===e[n("0x11df")](o)?(t="$",o++):(t=null,c(n("0x2547"))))))))),t}function Le(){var e,t,n,a,r,i;return i=o,null!==(e=lt())?null!==(t=p())?null!==(n=Fe())?null!==(a=p())?null!==(r=et())?e=[e,t,n,a,r]:(e=null,o=i):(e=null,o=i):(e=null,o=i):(e=null,o=i):(e=null,o=i),e}function Fe(){var e;return null===(e=J())&&(e=Be()),e}function Be(){var t,n,a,i,x=r;return i=o,null!==(t=Qe())?(58===e.charCodeAt(o)?(n=":",o++):(n=null,c(x("0x347b"))),null!==n?(null===(a=Ye())&&(a=Ue()),null!==a?t=[t,n,a]:(t=null,o=i)):(t=null,o=i)):(t=null,o=i),t}function Ye(){var t,n,a,i,x,s=r;return i=o,null===(t=Ge())&&(t=He()),null!==t?(x=o,63===e[s("0x11df")](o)?(n="?",o++):(n=null,c(s("0xd03"))),null!==n?null!==(a=Ze())?n=[n,a]:(n=null,o=x):(n=null,o=x),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=i)):(t=null,o=i),t}function Ge(){var t,n,a,i,x=r;return i=o,"//"===e[x("0x39fa")](o,2)?(t="//",o+=2):(t=null,c(x("0x94a"))),null!==t?null!==(n=Ke())?null!==(a=null!==(a=He())?a:"")?t=[t,n,a]:(t=null,o=i):(t=null,o=i):(t=null,o=i),t}function He(){var t,n,a;return a=o,47===e.charCodeAt(o)?(t="/",o++):(t=null,c('"/"')),null!==t?null!==(n=Ve())?t=[t,n]:(t=null,o=a):(t=null,o=a),t}function Ue(){var e,t,n,a,i=r;if(a=o,null!==(e=je())){for(t=[],n=$e();null!==n;)t[i("0x459a")](n),n=$e();null!==t?e=[e,t]:(e=null,o=a)}else e=null,o=a;return e}function $e(){var e;return null===(e=v())&&(null===(e=S())&&(e=A())),e}function je(){var t,n=r;return null===(t=S())&&(null===(t=A())&&(59===e[n("0x11df")](o)?(t=";",o++):(t=null,c(n("0x3465"))),null===t&&(63===e.charCodeAt(o)?(t="?",o++):(t=null,c(n("0xd03"))),null===t&&(58===e[n("0x11df")](o)?(t=":",o++):(t=null,c('":"')),null===t&&(64===e[n("0x11df")](o)?(t="@",o++):(t=null,c('"@"')),null===t&&(38===e[n("0x11df")](o)?(t="&",o++):(t=null,c(n("0x3604"))),null===t&&(61===e.charCodeAt(o)?(t="=",o++):(t=null,c(n("0x772"))),null===t&&(43===e[n("0x11df")](o)?(t="+",o++):(t=null,c(n("0x1f0c"))),null===t&&(36===e[n("0x11df")](o)?(t="$",o++):(t=null,c(n("0x2547"))),null===t&&(44===e[n("0x11df")](o)?(t=",",o++):(t=null,c(n("0x2eec"))))))))))))),t}function Ve(){var t,n,a,i,x,s,l=r;if(x=o,null!==(t=We())){for(n=[],s=o,47===e[l("0x11df")](o)?(a="/",o++):(a=null,c(l("0x91f"))),null!==a?null!==(i=We())?a=[a,i]:(a=null,o=s):(a=null,o=s);null!==a;)n[l("0x459a")](a),s=o,47===e[l("0x11df")](o)?(a="/",o++):(a=null,c('"/"')),null!==a?null!==(i=We())?a=[a,i]:(a=null,o=s):(a=null,o=s);null!==n?t=[t,n]:(t=null,o=x)}else t=null,o=x;return t}function We(){var t,n,a,i,x,s,l=r;for(x=o,t=[],n=ze();null!==n;)t[l("0x459a")](n),n=ze();if(null!==t){for(n=[],s=o,59===e[l("0x11df")](o)?(a=";",o++):(a=null,c(l("0x3465"))),null!==a?null!==(i=qe())?a=[a,i]:(a=null,o=s):(a=null,o=s);null!==a;)n.push(a),s=o,59===e.charCodeAt(o)?(a=";",o++):(a=null,c(l("0x3465"))),null!==a?null!==(i=qe())?a=[a,i]:(a=null,o=s):(a=null,o=s);null!==n?t=[t,n]:(t=null,o=x)}else t=null,o=x;return t}function qe(){var e,t,n=r;for(e=[],t=ze();null!==t;)e[n("0x459a")](t),t=ze();return e}function ze(){var t,n=r;return null===(t=S())&&(null===(t=A())&&(58===e[n("0x11df")](o)?(t=":",o++):(t=null,c('":"')),null===t&&(64===e[n("0x11df")](o)?(t="@",o++):(t=null,c(n("0x10d9"))),null===t&&(38===e[n("0x11df")](o)?(t="&",o++):(t=null,c(n("0x3604"))),null===t&&(61===e[n("0x11df")](o)?(t="=",o++):(t=null,c(n("0x772"))),null===t&&(43===e.charCodeAt(o)?(t="+",o++):(t=null,c(n("0x1f0c"))),null===t&&(36===e.charCodeAt(o)?(t="$",o++):(t=null,c('"$"')),null===t&&(44===e[n("0x11df")](o)?(t=",",o++):(t=null,c(n("0x2eec"))))))))))),t}function Qe(){var t,n,a,i,x,s,l,f=r;if(i=o,x=o,null!==(t=u())){for(n=[],null===(a=u())&&(null===(a=d())&&(43===e[f("0x11df")](o)?(a="+",o++):(a=null,c(f("0x1f0c"))),null===a&&(45===e.charCodeAt(o)?(a="-",o++):(a=null,c(f("0x29f"))),null===a&&(46===e[f("0x11df")](o)?(a=".",o++):(a=null,c(f("0x3a3c")))))));null!==a;)n[f("0x459a")](a),null===(a=u())&&(null===(a=d())&&(43===e[f("0x11df")](o)?(a="+",o++):(a=null,c(f("0x1f0c"))),null===a&&(45===e.charCodeAt(o)?(a="-",o++):(a=null,c(f("0x29f"))),null===a&&(46===e.charCodeAt(o)?(a=".",o++):(a=null,c(f("0x3a3c")))))));null!==n?t=[t,n]:(t=null,o=x)}else t=null,o=x;return null!==t&&(s=i,l=f,t=void(Hn.scheme=e[l("0x35e7")](o,s))),null===t&&(o=i),t}function Ke(){var e;return null===(e=Xe())&&(e=Je()),e}function Xe(){var t,n,a,r;return a=o,r=o,null!==(t=ne())?(64===e.charCodeAt(o)?(n="@",o++):(n=null,c('"@"')),null!==n?t=[t,n]:(t=null,o=r)):(t=null,o=r),null!==(t=null!==t?t:"")?null!==(n=oe())?t=[t,n]:(t=null,o=a):(t=null,o=a),t=null!==t?t:""}function Je(){var t,n,a=r;if(null===(n=S())&&(null===(n=A())&&(36===e.charCodeAt(o)?(n="$",o++):(n=null,c(a("0x2547"))),null===n&&(44===e[a("0x11df")](o)?(n=",",o++):(n=null,c(a("0x2eec"))),null===n&&(59===e.charCodeAt(o)?(n=";",o++):(n=null,c(a("0x3465"))),null===n&&(58===e[a("0x11df")](o)?(n=":",o++):(n=null,c(a("0x347b"))),null===n&&(64===e[a("0x11df")](o)?(n="@",o++):(n=null,c(a("0x10d9"))),null===n&&(38===e[a("0x11df")](o)?(n="&",o++):(n=null,c('"&"')),null===n&&(61===e.charCodeAt(o)?(n="=",o++):(n=null,c(a("0x772"))),null===n&&(43===e.charCodeAt(o)?(n="+",o++):(n=null,c('"+"'))))))))))),null!==n)for(t=[];null!==n;)t[a("0x459a")](n),null===(n=S())&&(null===(n=A())&&(36===e[a("0x11df")](o)?(n="$",o++):(n=null,c(a("0x2547"))),null===n&&(44===e[a("0x11df")](o)?(n=",",o++):(n=null,c(a("0x2eec"))),null===n&&(59===e[a("0x11df")](o)?(n=";",o++):(n=null,c(a("0x3465"))),null===n&&(58===e[a("0x11df")](o)?(n=":",o++):(n=null,c(a("0x347b"))),null===n&&(64===e[a("0x11df")](o)?(n="@",o++):(n=null,c(a("0x10d9"))),null===n&&(38===e.charCodeAt(o)?(n="&",o++):(n=null,c('"&"')),null===n&&(61===e[a("0x11df")](o)?(n="=",o++):(n=null,c(a("0x772"))),null===n&&(43===e[a("0x11df")](o)?(n="+",o++):(n=null,c(a("0x1f0c"))))))))))));else t=null;return t}function Ze(){var e,t,n=r;for(e=[],t=$e();null!==t;)e[n("0x459a")](t),t=$e();return e}function et(){var t,n,a,i,x,s,l,u,f,m,b=r;if(l=o,u=o,e[b("0x39fa")](o,3).toLowerCase()===b("0x4a5b")?(t=e.substr(o,3),o+=3):(t=null,c('"SIP"')),null!==t)if(47===e[b("0x11df")](o)?(n="/",o++):(n=null,c(b("0x91f"))),null!==n){if(null!==(i=d()))for(a=[];null!==i;)a[b("0x459a")](i),i=d();else a=null;if(null!==a)if(46===e[b("0x11df")](o)?(i=".",o++):(i=null,c(b("0x3a3c"))),null!==i){if(null!==(s=d()))for(x=[];null!==s;)x.push(s),s=d();else x=null;null!==x?t=[t,n,a,i,x]:(t=null,o=u)}else t=null,o=u;else t=null,o=u}else t=null,o=u;else t=null,o=u;return null!==t&&(f=l,t=void(Hn[(m=b)("0x333f")]=e[m("0x35e7")](o,f))),null===t&&(o=l),t}function tt(){var t,n=r;return e[n("0x39fa")](o,6)===n("0x4a79")?(t="INVITE",o+=6):(t=null,c('"INVITE"')),t}function nt(){var t,n=r;return e[n("0x39fa")](o,3)===n("0x438a")?(t=n("0x438a"),o+=3):(t=null,c(n("0x2f36"))),t}function at(){var t,n=r;return"OPTIONS"===e[n("0x39fa")](o,7)?(t=n("0x4a95"),o+=7):(t=null,c(n("0x405b"))),t}function rt(){var t,n=r;return e[n("0x39fa")](o,3)===n("0x5a8")?(t="BYE",o+=3):(t=null,c('"BYE"')),t}function it(){var t,n=r;return e[n("0x39fa")](o,6)===n("0x4c90")?(t=n("0x4c90"),o+=6):(t=null,c(n("0x4e09"))),t}function ot(){var t,n=r;return e[n("0x39fa")](o,8)===n("0x1f8c")?(t=n("0x1f8c"),o+=8):(t=null,c(n("0x3da"))),t}function xt(){var t,n=r;return e[n("0x39fa")](o,9)===n("0x24f2")?(t=n("0x24f2"),o+=9):(t=null,c(n("0x16a4"))),t}function st(){var t,n=r;return"NOTIFY"===e[n("0x39fa")](o,6)?(t=n("0x395c"),o+=6):(t=null,c(n("0x18d5"))),t}function ct(){var t,n=r;return e[n("0x39fa")](o,5)===n("0x39f0")?(t=n("0x39f0"),o+=5):(t=null,c(n("0x2b22"))),t}function lt(){var t,n,a,r;return n=o,null===(t=tt())&&(null===(t=nt())&&(null===(t=at())&&(null===(t=rt())&&(null===(t=it())&&(null===(t=ot())&&(null===(t=xt())&&(null===(t=st())&&(null===(t=ct())&&(t=I()))))))))),null!==t&&(a=n,Hn[(r=a2_0x37cf)("0x3bee")]=e.substring(o,a),t=Hn[r("0x3bee")]),null===t&&(o=n),t}function dt(){var e,t,n,a,r,i;return i=o,null!==(e=et())?null!==(t=p())?null!==(n=ut())?null!==(a=p())?null!==(r=mt())?e=[e,t,n,a,r]:(e=null,o=i):(e=null,o=i):(e=null,o=i):(e=null,o=i):(e=null,o=i),e}function ut(){var e,t,n,a;return t=o,null!==(e=ft())&&(n=e,a=a2_0x37cf,e=void(Hn.status_code=parseInt(n[a("0xc60")]("")))),null===e&&(o=t),e}function ft(){var e,t,n,a;return a=o,null!==(e=d())?null!==(t=d())?null!==(n=d())?e=[e,t,n]:(e=null,o=a):(e=null,o=a):(e=null,o=a),e}function mt(){var t,n,a,i,x,s=r;for(a=o,t=[],null===(n=v())&&(null===(n=S())&&(null===(n=A())&&(null===(n=R())&&(null===(n=D())&&(null===(n=p())&&(n=h()))))));null!==n;)t[s("0x459a")](n),null===(n=v())&&(null===(n=S())&&(null===(n=A())&&(null===(n=R())&&(null===(n=D())&&(null===(n=p())&&(n=h()))))));return null!==t&&(i=a,t=void(Hn[(x=s)("0x2584")]=e[x("0x35e7")](o,i))),null===t&&(o=a),t}function bt(){var e,t,n,a,i,x,s,c=r;if(i=o,x=o,null===(e=X())&&(e=_t()),null!==e){for(t=[],s=o,null!==(n=U())?null!==(a=ht())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==n;)t[c("0x459a")](n),s=o,null!==(n=U())?null!==(a=ht())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==t?e=[e,t]:(e=null,o=x)}else e=null,o=x;return null!==e&&(e=function(e){var t,n=c;Hn[n("0x4c66")]||(Hn[n("0x4c66")]=[]);try{t=new Gn(Hn[n("0x234")],Hn.display_name,Hn[n("0x48ad")]),delete Hn[n("0x234")],delete Hn[n("0x2088")],delete Hn[n("0x48ad")]}catch(e){t=null}Hn[n("0x4c66")].push({possition:o,offset:e,parsed:t})}(i)),null===e&&(o=i),e}function _t(){var e,t,n,a,r;return r=o,null!==(e=null!==(e=pt())?e:"")?null!==(t=G())?null!==(n=J())?null!==(a=Y())?e=[e,t,n,a]:(e=null,o=r):(e=null,o=r):(e=null,o=r):(e=null,o=r),e}function pt(){var e,t,n,a,r,i,x,s,c;if(r=o,i=o,null!==(e=I())){for(t=[],x=o,null!==(n=T())?null!==(a=I())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t.push(n),x=o,null!==(n=T())?null!==(a=I())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return null===e&&(e=z()),null!==e&&(e=void(typeof(s=e)===(c=a2_0x37cf)("0x38b7")?Hn.display_name=s:Hn[c("0x2088")]=s[1][c("0x2e06")]((function(e,t){return e+t[0]+t[1]}),s[0]))),null===e&&(o=r),e}function ht(){var e;return null===(e=gt())&&(null===(e=vt())&&(e=At())),e}function gt(){var t,n,a,i,x,s,l,d=r;return i=o,x=o,"q"===e.substr(o,1).toLowerCase()?(t=e[d("0x39fa")](o,1),o++):(t=null,c(d("0x9b7"))),null!==t?null!==(n=L())?null!==(a=Et())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],Hn[(l=d)("0x48ad")]||(Hn[l("0x48ad")]={}),t=void(Hn[l("0x48ad")].q=s)),null===t&&(o=i),t}function vt(){var t,n,a,i,x,s,l,d=r;return i=o,x=o,e[d("0x39fa")](o,7).toLowerCase()===d("0x3176")?(t=e.substr(o,7),o+=7):(t=null,c('"expires"')),null!==t?null!==(n=L())?null!==(a=St())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],Hn[(l=d)("0x48ad")]||(Hn.params={}),t=void(Hn[l("0x48ad")].expires=s)),null===t&&(o=i),t}function St(){var e,t,n,a=r;if(n=o,null!==(t=d()))for(e=[];null!==t;)e[a("0x459a")](t),t=d();else e=null;return null!==e&&(e=parseInt(e[a("0xc60")](""))),null===e&&(o=n),e}function Et(){var t,n,a,i,x,s,l,u,f,m=r;return s=o,l=o,48===e[m("0x11df")](o)?(t="0",o++):(t=null,c('"0"')),null!==t?(u=o,46===e[m("0x11df")](o)?(n=".",o++):(n=null,c(m("0x3a3c"))),null!==n?null!==(a=null!==(a=d())?a:"")?null!==(i=null!==(i=d())?i:"")?null!==(x=null!==(x=d())?x:"")?n=[n,a,i,x]:(n=null,o=u):(n=null,o=u):(n=null,o=u):(n=null,o=u),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=l)):(t=null,o=l),null!==t&&(f=s,t=parseFloat(e.substring(o,f))),null===t&&(o=s),t}function At(){var e,t,n,a,r,i,x,s,c;return a=o,r=o,null!==(e=I())?(i=o,null!==(t=L())?null!==(n=Tt())?t=[t,n]:(t=null,o=i):(t=null,o=i),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,o=r)):(e=null,o=r),null!==e&&(x=e[0],s=e[1],Hn[(c=a2_0x37cf)("0x48ad")]||(Hn[c("0x48ad")]={}),s=typeof s===c("0xc42")?void 0:s[1],e=void(Hn[c("0x48ad")][x[c("0x2eb9")]()]=s)),null===e&&(o=a),e}function Tt(){var e;return null===(e=I())&&(null===(e=xe())&&(e=q())),e}function yt(){var t,n=r;return e.substr(o,6).toLowerCase()===n("0x4537")?(t=e[n("0x39fa")](o,6),o+=6):(t=null,c(n("0x28ca"))),null===t&&("session"===e.substr(o,7)[n("0x2eb9")]()?(t=e[n("0x39fa")](o,7),o+=7):(t=null,c(n("0x1c85"))),null===t&&(e[n("0x39fa")](o,4).toLowerCase()===n("0x2d28")?(t=e[n("0x39fa")](o,4),o+=4):(t=null,c(n("0x4679"))),null===t&&(e.substr(o,5)[n("0x2eb9")]()===n("0x2354")?(t=e.substr(o,5),o+=5):(t=null,c(n("0x43b"))),null===t&&(t=I())))),t}function Ct(){var e;return null===(e=wt())&&(e=At()),e}function wt(){var t,n,a,i,x=r;return i=o,"handling"===e[x("0x39fa")](o,8)[x("0x2eb9")]()?(t=e[x("0x39fa")](o,8),o+=8):(t=null,c(x("0x30f7"))),null!==t?null!==(n=L())?(e.substr(o,8)[x("0x2eb9")]()===x("0x13ec")?(a=e[x("0x39fa")](o,8),o+=8):(a=null,c(x("0x1cad"))),null===a&&(e[x("0x39fa")](o,8).toLowerCase()===x("0x4c36")?(a=e[x("0x39fa")](o,8),o+=8):(a=null,c(x("0xf3b"))),null===a&&(a=I())),null!==a?t=[t,n,a]:(t=null,o=i)):(t=null,o=i):(t=null,o=i),t}function Mt(){var e,t,n,a,i,x,s,c,l=r;if(s=o,null!==(e=Rt()))if(null!==(t=P()))if(null!==(n=kt())){for(a=[],c=o,null!==(i=U())?null!==(x=Pt())?i=[i,x]:(i=null,o=c):(i=null,o=c);null!==i;)a[l("0x459a")](i),c=o,null!==(i=U())?null!==(x=Pt())?i=[i,x]:(i=null,o=c):(i=null,o=c);null!==a?e=[e,t,n,a]:(e=null,o=s)}else e=null,o=s;else e=null,o=s;else e=null,o=s;return e}function Rt(){var e;return null===(e=Dt())&&(e=It()),e}function Dt(){var t,n=r;return e[n("0x39fa")](o,4).toLowerCase()===n("0x806")?(t=e.substr(o,4),o+=4):(t=null,c(n("0x185c"))),null===t&&(e[n("0x39fa")](o,5)[n("0x2eb9")]()===n("0x13a2")?(t=e.substr(o,5),o+=5):(t=null,c(n("0x41f8"))),null===t&&("audio"===e[n("0x39fa")](o,5)[n("0x2eb9")]()?(t=e[n("0x39fa")](o,5),o+=5):(t=null,c(n("0xe13"))),null===t&&(e.substr(o,5)[n("0x2eb9")]()===n("0x430")?(t=e[n("0x39fa")](o,5),o+=5):(t=null,c(n("0x4e12"))),null===t&&(e[n("0x39fa")](o,11)[n("0x2eb9")]()===n("0x5e1")?(t=e[n("0x39fa")](o,11),o+=11):(t=null,c(n("0x42f3"))),null===t&&(t=Nt()))))),t}function It(){var t,n=r;return e[n("0x39fa")](o,7)[n("0x2eb9")]()===n("0x45ea")?(t=e[n("0x39fa")](o,7),o+=7):(t=null,c(n("0x798"))),null===t&&(e.substr(o,9)[n("0x2eb9")]()===n("0x1763")?(t=e.substr(o,9),o+=9):(t=null,c('"multipart"')),null===t&&(t=Nt())),t}function Nt(){var e;return null===(e=I())&&(e=Ot()),e}function Ot(){var t,n,a,i=r;return a=o,"x-"===e[i("0x39fa")](o,2)[i("0x2eb9")]()?(t=e[i("0x39fa")](o,2),o+=2):(t=null,c('"x-"')),null!==t?null!==(n=I())?t=[t,n]:(t=null,o=a):(t=null,o=a),t}function kt(){var e;return null===(e=Nt())&&(e=I()),e}function Pt(){var e,t,n,a;return a=o,null!==(e=I())?null!==(t=L())?null!==(n=Lt())?e=[e,t,n]:(e=null,o=a):(e=null,o=a):(e=null,o=a),e}function Lt(){var e;return null===(e=I())&&(e=q()),e}function Ft(){var e,t,n,a,r;if(n=o,null!==(t=d()))for(e=[];null!==t;)e.push(t),t=d();else e=null;return null!==e&&(a=e,r=a2_0x37cf,e=void(Hn.value=parseInt(a[r("0xc60")]("")))),null===e&&(o=n),e}function Bt(){var t,n,a,i,x,s,l=r;if(x=o,null!==(t=N())){for(n=[],s=o,46===e[l("0x11df")](o)?(a=".",o++):(a=null,c(l("0x3a3c"))),null!==a?null!==(i=N())?a=[a,i]:(a=null,o=s):(a=null,o=s);null!==a;)n[l("0x459a")](a),s=o,46===e[l("0x11df")](o)?(a=".",o++):(a=null,c(l("0x3a3c"))),null!==a?null!==(i=N())?a=[a,i]:(a=null,o=s):(a=null,o=s);null!==n?t=[t,n]:(t=null,o=x)}else t=null,o=x;return t}function Yt(){var e;return null===(e=Gt())&&(e=At()),e}function Gt(){var t,n,a,i,x,s,l=r;return i=o,x=o,e[l("0x39fa")](o,3)[l("0x2eb9")]()===l("0xb3b")?(t=e.substr(o,3),o+=3):(t=null,c('"tag"')),null!==t?null!==(n=L())?null!==(a=I())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn.tag=s)),null===t&&(o=i),t}function Ht(){var t,n,a,i,x,s,l,d,u=r;if(l=o,"digest"===e[u("0x39fa")](o,6)[u("0x2eb9")]()?(t=e[u("0x39fa")](o,6),o+=6):(t=null,c('"Digest"')),null!==t)if(null!==(n=T()))if(null!==(a=jt())){for(i=[],d=o,null!==(x=H())?null!==(s=jt())?x=[x,s]:(x=null,o=d):(x=null,o=d);null!==x;)i.push(x),d=o,null!==(x=H())?null!==(s=jt())?x=[x,s]:(x=null,o=d):(x=null,o=d);null!==i?t=[t,n,a,i]:(t=null,o=l)}else t=null,o=l;else t=null,o=l;else t=null,o=l;return null===t&&(t=Ut()),t}function Ut(){var e,t,n,a,i,x,s,c,l=r;if(s=o,null!==(e=I()))if(null!==(t=T()))if(null!==(n=$t())){for(a=[],c=o,null!==(i=H())?null!==(x=$t())?i=[i,x]:(i=null,o=c):(i=null,o=c);null!==i;)a[l("0x459a")](i),c=o,null!==(i=H())?null!==(x=$t())?i=[i,x]:(i=null,o=c):(i=null,o=c);null!==a?e=[e,t,n,a]:(e=null,o=s)}else e=null,o=s;else e=null,o=s;else e=null,o=s;return e}function $t(){var e,t,n,a;return a=o,null!==(e=I())?null!==(t=L())?(null===(n=I())&&(n=q()),null!==n?e=[e,t,n]:(e=null,o=a)):(e=null,o=a):(e=null,o=a),e}function jt(){var e;return null===(e=Vt())&&(null===(e=qt())&&(null===(e=Qt())&&(null===(e=Xt())&&(null===(e=Jt())&&(null===(e=Zt())&&(null===(e=en())&&(e=$t()))))))),e}function Vt(){var t,n,a,i,x=r;return i=o,e.substr(o,5).toLowerCase()===x("0x107")?(t=e.substr(o,5),o+=5):(t=null,c(x("0x80c"))),null!==t?null!==(n=L())?null!==(a=Wt())?t=[t,n,a]:(t=null,o=i):(t=null,o=i):(t=null,o=i),t}function Wt(){var e,t,n;return t=o,null!==(e=z())&&(n=e,e=void(Hn[a2_0x37cf("0x107")]=n)),null===e&&(o=t),e}function qt(){var t,n,a,i,x,s,l,d,u,f=r;if(d=o,e[f("0x39fa")](o,6)[f("0x2eb9")]()===f("0x3772")?(t=e.substr(o,6),o+=6):(t=null,c(f("0x2f10"))),null!==t)if(null!==(n=L()))if(null!==(a=j()))if(null!==(i=zt())){if(x=[],u=o,null!==(l=p()))for(s=[];null!==l;)s[f("0x459a")](l),l=p();else s=null;for(null!==s?null!==(l=zt())?s=[s,l]:(s=null,o=u):(s=null,o=u);null!==s;){if(x[f("0x459a")](s),u=o,null!==(l=p()))for(s=[];null!==l;)s[f("0x459a")](l),l=p();else s=null;null!==s?null!==(l=zt())?s=[s,l]:(s=null,o=u):(s=null,o=u)}null!==x?null!==(s=V())?t=[t,n,a,i,x,s]:(t=null,o=d):(t=null,o=d)}else t=null,o=d;else t=null,o=d;else t=null,o=d;else t=null,o=d;return t}function zt(){var e;return null===(e=Be())&&(e=He()),e}function Qt(){var t,n,a,i,x=r;return i=o,e[x("0x39fa")](o,5)[x("0x2eb9")]()===x("0x1d43")?(t=e[x("0x39fa")](o,5),o+=5):(t=null,c(x("0x1d48"))),null!==t?null!==(n=L())?null!==(a=Kt())?t=[t,n,a]:(t=null,o=i):(t=null,o=i):(t=null,o=i),t}function Kt(){var e,t,n;return t=o,null!==(e=z())&&(n=e,e=void(Hn[a2_0x37cf("0x1d43")]=n)),null===e&&(o=t),e}function Xt(){var t,n,a,i,x,s,l=r;return i=o,x=o,"opaque"===e[l("0x39fa")](o,6)[l("0x2eb9")]()?(t=e[l("0x39fa")](o,6),o+=6):(t=null,c('"opaque"')),null!==t?null!==(n=L())?null!==(a=z())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn.opaque=s)),null===t&&(o=i),t}function Jt(){var t,n,a,i,x,s=r;return i=o,e[s("0x39fa")](o,5)[s("0x2eb9")]()===s("0x45f4")?(t=e[s("0x39fa")](o,5),o+=5):(t=null,c('"stale"')),null!==t?null!==(n=L())?(x=o,e[s("0x39fa")](o,4)[s("0x2eb9")]()===s("0x1509")?(a=e[s("0x39fa")](o,4),o+=4):(a=null,c('"true"')),null!==a&&(a=void(Hn[s("0x45f4")]=!0)),null===a&&(o=x),null===a&&(x=o,"false"===e.substr(o,5)[s("0x2eb9")]()?(a=e[s("0x39fa")](o,5),o+=5):(a=null,c(s("0x39a0"))),null!==a&&(a=void(Hn[s("0x45f4")]=!1)),null===a&&(o=x)),null!==a?t=[t,n,a]:(t=null,o=i)):(t=null,o=i):(t=null,o=i),t}function Zt(){var t,n,a,i,x,s,l,d=r;return i=o,x=o,e[d("0x39fa")](o,9)[d("0x2eb9")]()===d("0x1bc6")?(t=e[d("0x39fa")](o,9),o+=9):(t=null,c(d("0x1098"))),null!==t?null!==(n=L())?(e[d("0x39fa")](o,3)[d("0x2eb9")]()===d("0x228")?(a=e[d("0x39fa")](o,3),o+=3):(a=null,c(d("0x17de"))),null===a&&("md5-sess"===e[d("0x39fa")](o,8)[d("0x2eb9")]()?(a=e[d("0x39fa")](o,8),o+=8):(a=null,c('"MD5-sess"')),null===a&&(a=I())),null!==a?t=[t,n,a]:(t=null,o=x)):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn[(l=d)("0x1bc6")]=s[l("0x110")]())),null===t&&(o=i),t}function en(){var t,n,a,i,x,s,l,d,u,f,m=r;if(d=o,e[m("0x39fa")](o,3)[m("0x2eb9")]()===m("0xaa6")?(t=e[m("0x39fa")](o,3),o+=3):(t=null,c(m("0xd3e"))),null!==t)if(null!==(n=L()))if(null!==(a=j())){if(u=o,null!==(i=tn())){for(x=[],f=o,44===e[m("0x11df")](o)?(s=",",o++):(s=null,c(m("0x2eec"))),null!==s?null!==(l=tn())?s=[s,l]:(s=null,o=f):(s=null,o=f);null!==s;)x[m("0x459a")](s),f=o,44===e[m("0x11df")](o)?(s=",",o++):(s=null,c('","')),null!==s?null!==(l=tn())?s=[s,l]:(s=null,o=f):(s=null,o=f);null!==x?i=[i,x]:(i=null,o=u)}else i=null,o=u;null!==i?null!==(x=V())?t=[t,n,a,i,x]:(t=null,o=d):(t=null,o=d)}else t=null,o=d;else t=null,o=d;else t=null,o=d;return t}function tn(){var t,n,a,i,x=r;return n=o,"auth-int"===e.substr(o,8)[x("0x2eb9")]()?(t=e[x("0x39fa")](o,8),o+=8):(t=null,c('"auth-int"')),null===t&&(e[x("0x39fa")](o,4)[x("0x2eb9")]()===x("0x1533")?(t=e[x("0x39fa")](o,4),o+=4):(t=null,c(x("0x42a3"))),null===t&&(t=I())),null!==t&&(a=t,Hn[(i=x)("0xaa6")]||(Hn.qop=[]),t=void Hn[i("0xaa6")][i("0x459a")](a[i("0x2eb9")]())),null===t&&(o=n),t}function nn(){var e,t,n,a,i,x,s,c=r;if(i=o,x=o,null!==(e=_t())){for(t=[],s=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==n;)t[c("0x459a")](n),s=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=s):(n=null,o=s);null!==t?e=[e,t]:(e=null,o=x)}else e=null,o=x;return null!==e&&(e=function(e){var t,n=c;Hn[n("0x4c66")]||(Hn[n("0x4c66")]=[]);try{t=new Gn(Hn[n("0x234")],Hn[n("0x2088")],Hn[n("0x48ad")]),delete Hn.uri,delete Hn.display_name,delete Hn[n("0x48ad")]}catch(e){t=null}Hn[n("0x4c66")][n("0x459a")]({possition:o,offset:e,parsed:t})}(i)),null===e&&(o=i),e}function an(){var e;return null===(e=rn())&&(e=At()),e}function rn(){var t,n,a,i,x,s,l,u,f=r;if(x=o,s=o,e[f("0x39fa")](o,5)[f("0x2eb9")]()===f("0x2e7b")?(t=e[f("0x39fa")](o,5),o+=5):(t=null,c('"cause"')),null!==t)if(null!==(n=L())){if(null!==(i=d()))for(a=[];null!==i;)a[f("0x459a")](i),i=d();else a=null;null!==a?t=[t,n,a]:(t=null,o=s)}else t=null,o=s;else t=null,o=s;return null!==t&&(l=t[2],t=void(Hn[(u=f)("0x2e7b")]=parseInt(l[u("0xc60")]("")))),null===t&&(o=x),t}function on(){var e,t,n,a,i,x,s=r;if(i=o,null!==(e=_t())){for(t=[],x=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==n;)t[s("0x459a")](n),x=o,null!==(n=U())?null!==(a=At())?n=[n,a]:(n=null,o=x):(n=null,o=x);null!==t?e=[e,t]:(e=null,o=i)}else e=null,o=i;return e}function xn(){var t,n,a,i,x=r;return n=o,e.substr(o,6)[x("0x2eb9")]()===x("0x48c8")?(t=e.substr(o,6),o+=6):(t=null,c('"active"')),null===t&&(e.substr(o,7).toLowerCase()===x("0x3c9c")?(t=e[x("0x39fa")](o,7),o+=7):(t=null,c(x("0x17c6"))),null===t&&("terminated"===e.substr(o,10)[x("0x2eb9")]()?(t=e[x("0x39fa")](o,10),o+=10):(t=null,c(x("0x313"))),null===t&&(t=I()))),null!==t&&(a=n,i=x,t=void(Hn.state=e[i("0x35e7")](o,a))),null===t&&(o=n),t}function sn(){var t,n,a,i,x,s,l,d,u,f,m=r;return i=o,x=o,e[m("0x39fa")](o,6).toLowerCase()===m("0x2b87")?(t=e[m("0x39fa")](o,6),o+=6):(t=null,c(m("0x113e"))),null!==t?null!==(n=L())?null!==(a=cn())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(t=void(typeof(u=t[2])!==(f=m)("0xc42")&&(Hn[f("0x2b87")]=u))),null===t&&(o=i),null===t&&(i=o,x=o,e.substr(o,7)[m("0x2eb9")]()===m("0x3176")?(t=e[m("0x39fa")](o,7),o+=7):(t=null,c(m("0x10df"))),null!==t?null!==(n=L())?null!==(a=St())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(t=void(typeof(l=t[2])!==(d=m)("0xc42")&&(Hn[d("0x3176")]=l))),null===t&&(o=i),null===t&&(i=o,x=o,e.substr(o,11)[m("0x2eb9")]()===m("0x2805")?(t=e[m("0x39fa")](o,11),o+=11):(t=null,c(m("0x3b79"))),null!==t?null!==(n=L())?null!==(a=St())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(t=void(void 0!==(s=t[2])&&(Hn[m("0x2805")]=s))),null===t&&(o=i),null===t&&(t=At()))),t}function cn(){var t,n=r;return e[n("0x39fa")](o,11).toLowerCase()===n("0x2466")?(t=e[n("0x39fa")](o,11),o+=11):(t=null,c(n("0x4f4d"))),null===t&&(e[n("0x39fa")](o,9)[n("0x2eb9")]()===n("0x2e02")?(t=e[n("0x39fa")](o,9),o+=9):(t=null,c(n("0x2edd"))),null===t&&(e.substr(o,8)[n("0x2eb9")]()===n("0x49f5")?(t=e[n("0x39fa")](o,8),o+=8):(t=null,c(n("0x312"))),null===t&&("timeout"===e[n("0x39fa")](o,7)[n("0x2eb9")]()?(t=e.substr(o,7),o+=7):(t=null,c(n("0x2d16"))),null===t&&("giveup"===e[n("0x39fa")](o,6).toLowerCase()?(t=e[n("0x39fa")](o,6),o+=6):(t=null,c('"giveup"')),null===t&&("noresource"===e[n("0x39fa")](o,10)[n("0x2eb9")]()?(t=e[n("0x39fa")](o,10),o+=10):(t=null,c(n("0x1542"))),null===t&&(e.substr(o,9)[n("0x2eb9")]()===n("0x84f")?(t=e.substr(o,9),o+=9):(t=null,c('"invariant"')),null===t&&(t=I()))))))),t}function ln(){var e;return null===(e=Gt())&&(e=At()),e}function dn(){var e,t,n,a,i,x,s,c,l=r;if(s=o,null!==(e=gn()))if(null!==(t=T()))if(null!==(n=En())){for(a=[],c=o,null!==(i=U())?null!==(x=un())?i=[i,x]:(i=null,o=c):(i=null,o=c);null!==i;)a[l("0x459a")](i),c=o,null!==(i=U())?null!==(x=un())?i=[i,x]:(i=null,o=c):(i=null,o=c);null!==a?e=[e,t,n,a]:(e=null,o=s)}else e=null,o=s;else e=null,o=s;else e=null,o=s;return e}function un(){var e;return null===(e=fn())&&(null===(e=mn())&&(null===(e=bn())&&(null===(e=_n())&&(null===(e=pn())&&(e=At()))))),e}function fn(){var t,n,a,i,x,s,l=r;return i=o,x=o,e.substr(o,3)[l("0x2eb9")]()===l("0x1b67")?(t=e.substr(o,3),o+=3):(t=null,c(l("0x4e05"))),null!==t?null!==(n=L())?null!==(a=yn())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn[l("0x1b67")]=s)),null===t&&(o=i),t}function mn(){var t,n,a,i,x,s,l=r;return i=o,x=o,e[l("0x39fa")](o,5)[l("0x2eb9")]()===l("0x83d")?(t=e[l("0x39fa")](o,5),o+=5):(t=null,c(l("0x119e"))),null!==t?null!==(n=L())?null!==(a=xe())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn[l("0x83d")]=s)),null===t&&(o=i),t}function bn(){var t,n,a,i,x,s,l=r;return i=o,x=o,e.substr(o,8)[l("0x2eb9")]()===l("0x3b16")?(t=e[l("0x39fa")](o,8),o+=8):(t=null,c(l("0x3e6e"))),null!==t?null!==(n=L())?(null===(a=be())&&(a=ue()),null!==a?t=[t,n,a]:(t=null,o=x)):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn[l("0x3b16")]=s)),null===t&&(o=i),t}function _n(){var t,n,a,i,x,s,l=r;return i=o,x=o,e[l("0x39fa")](o,6)[l("0x2eb9")]()===l("0x5ff")?(t=e[l("0x39fa")](o,6),o+=6):(t=null,c(l("0x157c"))),null!==t?null!==(n=L())?null!==(a=I())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn[l("0x5ff")]=s)),null===t&&(o=i),t}function pn(){var t,n,a,i,x,s=r;return i=o,e.substr(o,5)[s("0x2eb9")]()===s("0x3a6a")?(t=e[s("0x39fa")](o,5),o+=5):(t=null,c('"rport"')),null!==t?(x=o,null!==(n=L())?null!==(a=hn())?n=[n,a]:(n=null,o=x):(n=null,o=x),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=i)):(t=null,o=i),t}function hn(){var e,t,n,a,r,i,x,s,c;return i=o,x=o,null!==(e=null!==(e=d())?e:"")?null!==(t=null!==(t=d())?t:"")?null!==(n=null!==(n=d())?n:"")?null!==(a=null!==(a=d())?a:"")?null!==(r=null!==(r=d())?r:"")?e=[e,t,n,a,r]:(e=null,o=x):(e=null,o=x):(e=null,o=x):(e=null,o=x):(e=null,o=x),null!==e&&(s=e,e=void(Hn[(c=a2_0x37cf)("0x3a6a")]=parseInt(s[c("0xc60")]("")))),null===e&&(o=i),e}function gn(){var e,t,n,a,r,i;return i=o,null!==(e=vn())?null!==(t=P())?null!==(n=I())?null!==(a=P())?null!==(r=Sn())?e=[e,t,n,a,r]:(e=null,o=i):(e=null,o=i):(e=null,o=i):(e=null,o=i):(e=null,o=i),e}function vn(){var t,n,a,i=r;return n=o,e[i("0x39fa")](o,3)[i("0x2eb9")]()===i("0x4a5b")?(t=e.substr(o,3),o+=3):(t=null,c('"SIP"')),null===t&&(t=I()),null!==t&&(a=t,t=void(Hn.protocol=a)),null===t&&(o=n),t}function Sn(){var t,n,a,i=r;return n=o,e[i("0x39fa")](o,3)[i("0x2eb9")]()===i("0x3132")?(t=e.substr(o,3),o+=3):(t=null,c('"UDP"')),null===t&&("tcp"===e[i("0x39fa")](o,3)[i("0x2eb9")]()?(t=e[i("0x39fa")](o,3),o+=3):(t=null,c('"TCP"')),null===t&&(e[i("0x39fa")](o,3).toLowerCase()===i("0xaeb")?(t=e[i("0x39fa")](o,3),o+=3):(t=null,c(i("0x1e46"))),null===t&&("sctp"===e.substr(o,4)[i("0x2eb9")]()?(t=e[i("0x39fa")](o,4),o+=4):(t=null,c(i("0x752"))),null===t&&(t=I())))),null!==t&&(a=t,t=void(Hn[i("0x1381")]=a)),null===t&&(o=n),t}function En(){var e,t,n,a,r;return a=o,null!==(e=An())?(r=o,null!==(t=$())?null!==(n=Tn())?t=[t,n]:(t=null,o=r):(t=null,o=r),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,o=a)):(e=null,o=a),e}function An(){var t,n,a,r;return n=o,null===(t=be())&&(null===(t=de())&&(t=se())),null!==t&&(a=n,t=void(Hn[(r=a2_0x37cf)("0x4961")]=e[r("0x35e7")](o,a))),null===t&&(o=n),t}function Tn(){var e,t,n,a,r,i,x,s,c;return i=o,x=o,null!==(e=null!==(e=d())?e:"")?null!==(t=null!==(t=d())?t:"")?null!==(n=null!==(n=d())?n:"")?null!==(a=null!==(a=d())?a:"")?null!==(r=null!==(r=d())?r:"")?e=[e,t,n,a,r]:(e=null,o=x):(e=null,o=x):(e=null,o=x):(e=null,o=x):(e=null,o=x),null!==e&&(s=e,e=void(Hn[(c=a2_0x37cf)("0x23a4")]=parseInt(s[c("0xc60")]("")))),null===e&&(o=i),e}function yn(){var e,t,n,a,r;return a=o,r=o,null!==(e=d())?null!==(t=null!==(t=d())?t:"")?null!==(n=null!==(n=d())?n:"")?e=[e,t,n]:(e=null,o=r):(e=null,o=r):(e=null,o=r),null!==e&&(e=parseInt(e[a2_0x37cf("0xc60")](""))),null===e&&(o=a),e}function Cn(){var e,t,n;return t=o,null!==(e=St())&&(n=e,e=void(Hn.expires=n)),null===e&&(o=t),e}function wn(){var e;return null===(e=Mn())&&(e=At()),e}function Mn(){var t,n,a,i,x,s,l=r;return i=o,x=o,"refresher"===e.substr(o,9)[l("0x2eb9")]()?(t=e[l("0x39fa")](o,9),o+=9):(t=null,c(l("0x3cae"))),null!==t?null!==(n=L())?(e[l("0x39fa")](o,3)[l("0x2eb9")]()===l("0x1fb4")?(a=e[l("0x39fa")](o,3),o+=3):(a=null,c(l("0xe73"))),null===a&&(e[l("0x39fa")](o,3)[l("0x2eb9")]()===l("0x34d8")?(a=e.substr(o,3),o+=3):(a=null,c(l("0x1573")))),null!==a?t=[t,n,a]:(t=null,o=x)):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn.refresher=s.toLowerCase())),null===t&&(o=i),t}function Rn(){var e,t,n=r;for(e=[],null===(t=M())&&(null===(t=D())&&(t=T()));null!==t;)e[n("0x459a")](t),null===(t=M())&&(null===(t=D())&&(t=T()));return e}function Dn(){var t,n,a,i,x,s,l,d,u,f,m,b,_=r;return f=o,m=o,null!==(t=Nn())?(45===e.charCodeAt(o)?(n="-",o++):(n=null,c(_("0x29f"))),null!==n?null!==(a=In())?(45===e[_("0x11df")](o)?(i="-",o++):(i=null,c(_("0x29f"))),null!==i?null!==(x=In())?(45===e[_("0x11df")](o)?(s="-",o++):(s=null,c(_("0x29f"))),null!==s?null!==(l=In())?(45===e.charCodeAt(o)?(d="-",o++):(d=null,c(_("0x29f"))),null!==d?null!==(u=On())?t=[t,n,a,i,x,s,l,d,u]:(t=null,o=m):(t=null,o=m)):(t=null,o=m):(t=null,o=m)):(t=null,o=m):(t=null,o=m)):(t=null,o=m):(t=null,o=m)):(t=null,o=m),null!==t&&(b=f,t[0],t=void(Hn=e[_("0x35e7")](o+5,b))),null===t&&(o=f),t}function In(){var e,t,n,a,r;return r=o,null!==(e=f())?null!==(t=f())?null!==(n=f())?null!==(a=f())?e=[e,t,n,a]:(e=null,o=r):(e=null,o=r):(e=null,o=r):(e=null,o=r),e}function Nn(){var e,t,n;return n=o,null!==(e=In())?null!==(t=In())?e=[e,t]:(e=null,o=n):(e=null,o=n),e}function On(){var e,t,n,a;return a=o,null!==(e=In())?null!==(t=In())?null!==(n=In())?e=[e,t,n]:(e=null,o=a):(e=null,o=a):(e=null,o=a),e}function kn(){var t,n,a,i,x,s,l,d,u=r;return i=o,x=o,null!==(t=O())?(s=o,64===e[u("0x11df")](o)?(n="@",o++):(n=null,c(u("0x10d9"))),null!==n?null!==(a=O())?n=[n,a]:(n=null,o=s):(n=null,o=s),null!==(n=null!==n?n:"")?t=[t,n]:(t=null,o=x)):(t=null,o=x),null!==t&&(l=i,t=void(Hn[(d=u)("0x3b59")]=e[d("0x35e7")](o,l))),null===t&&(o=i),t}function Pn(){var e;return null===(e=Ln())&&(null===(e=Fn())&&(null===(e=Bn())&&(e=At()))),e}function Ln(){var t,n,a,i,x,s,l=r;return i=o,x=o,e.substr(o,6)===l("0x3531")?(t=l("0x3531"),o+=6):(t=null,c(l("0x3c0c"))),null!==t?null!==(n=L())?null!==(a=I())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn[l("0x442e")]=s)),null===t&&(o=i),t}function Fn(){var t,n,a,i,x,s,l=r;return i=o,x=o,e[l("0x39fa")](o,8)===l("0x1a2")?(t=l("0x1a2"),o+=8):(t=null,c(l("0x96e"))),null!==t?null!==(n=L())?null!==(a=I())?t=[t,n,a]:(t=null,o=x):(t=null,o=x):(t=null,o=x),null!==t&&(s=t[2],t=void(Hn[l("0x3e84")]=s)),null===t&&(o=i),t}function Bn(){var t,n,a=r;return n=o,"early-only"===e.substr(o,10)?(t=a("0x1de"),o+=10):(t=null,c(a("0x95a"))),null!==t&&(t=void(Hn[a("0x9aa")]=!0)),null===t&&(o=n),t}var Yn=n(1987),Gn=n(9437),Hn={};if(null===i[a]()||o!==e[r("0x5e9")]){var Un=Math[r("0x242b")](o,x),$n=Un<e.length?e.charAt(Un):null,jn=function(){for(var t=r,n=1,a=1,i=!1,s=0;s<Math.max(o,x);s++){var c=e[t("0x24de")](s);"\n"===c?(!i&&n++,a=1,i=!1):"\r"===c||"\u2028"===c||"\u2029"===c?(n++,a=1,i=!0):(a++,i=!1)}return{line:n,column:a}}();return new(this[r("0x3f5d")])(function(e){var t=r;e[t("0x4d63")]();for(var n=null,a=[],i=0;i<e[t("0x5e9")];i++)e[i]!==n&&(a.push(e[i]),n=e[i]);return a}(s),$n,Un,jn[r("0x4b2d")],jn[r("0x4cb6")]),-1}return Hn},toSource:function(){return this[a2_0x37cf("0x1558")]}};return r[e("0x3f5d")]=function(n,a,r,i,o){var x=e;this[x("0x98c")]=x("0x3f5d"),this[x("0xc7e")]=n,this[x("0xda4")]=a,this[x("0x45ea")]=function(e,n){var a,r,i=a2_0x37cf;switch(e[i("0x5e9")]){case 0:a=i("0x2ae7");break;case 1:a=e[0];break;default:a=e[i("0x9b3")](0,e[i("0x5e9")]-1)[i("0xc60")](", ")+i("0x3acd")+e[e[i("0x5e9")]-1]}return r=n?t(n):i("0x2ae7"),i("0x1a54")+a+i("0x24c0")+r+i("0x4322")}(n,a),this[x("0x1feb")]=r,this.line=i,this.column=o},r[e("0x3f5d")].prototype=Error[e("0x20f")],r}()},5979:(e,t,n)=>{var a=_0x299160,r=n(7209),i=n(965),o=n(8063),x=n(5424),s=n(8387),c=n(1987),l=n(9437),d=n(3790),u=n(1288);n(1227)(a("0x1126"))(a("0x1684"),r[a("0x10ea")]),e.exports={C:i,Exceptions:o,Utils:x,UA:s,URI:c,NameAddrHeader:l,WebSocketInterface:u,Grammar:d,debug:n(1227),get name(){return r.title},get version(){return r[a("0x10ea")]}}},9193:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return t("0x2939"),(r=typeof Symbol===t("0x3349")&&typeof Symbol[t("0x1275")]===t("0x40c6")?function(e){return typeof e}:function(e){var n=t;return e&&typeof Symbol===n("0x3349")&&e[n("0x11ae")]===Symbol&&e!==Symbol[n("0x20f")]?n("0x40c6"):typeof e})(e)}function i(e,t){for(var n=a2_0x37cf,a=0;a<t.length;a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r.configurable=!0,n("0x3a33")in r&&(r.writable=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e[a2_0x37cf("0x287c")]=t,e})(e,t)}function x(e){var t=function(){var e=a2_0x37cf;if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect[e("0x3a1b")].sham)return!1;if(typeof Proxy===e("0x3349"))return!0;try{return Date[e("0x20f")][e("0x3c88")][e("0x3c6b")](Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=c(e);if(t){var i=c(this).constructor;n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r[a("0x4884")](this,arguments);return s(this,n)}}function s(e,t){var n=a2_0x37cf;return!t||r(t)!==n("0x1b1d")&&typeof t!==n("0x3349")?function(e){var t=a2_0x37cf;if(void 0===e)throw new ReferenceError(t("0x2d10"));return e}(e):t}function c(e){var t=a2_0x37cf;return(c=Object[t("0x409e")]?Object[t("0x3e2a")]:function(e){var n=t;return e[n("0x287c")]||Object[n("0x3e2a")](e)})(e)}var l=n(7187)[a("0x1038")],d=n(965),u=n(6497),f=n(5424),m=n(2066),b=n(8063),_=n(1227)(a("0x14e8"));e[a("0x33f9")]=function(e){var t=a;!function(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError("Super expression must either be null or a function");e[n("0x20f")]=Object[n("0x4b8c")](t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(l,e);var n,r,s,c=x(l);function l(e){var t,n=a2_0x37cf;return function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,l),(t=c.call(this))[n("0x26f9")]=e,t[n("0x3809")]=null,t[n("0xfde")]=!1,t[n("0x3085")]=null,t[n("0x21ef")]=null,t._remote_identity=null,t._is_replied=!1,t[n("0x3e7b")]={},t}return n=l,(r=[{key:t("0x1819"),value:function(e,n){var a=t,r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=e;if(void 0===e||void 0===n)throw new TypeError(a("0x35e8"));if(!(e=this._ua[a("0xb61")](e)))throw new TypeError(a("0x3ef1").concat(o));var x=f[a("0xdd6")](i[a("0x133d")]),s=f[a("0xb9")](i[a("0x464d")]),c=i[a("0x18ff")]||a("0x393f");for(var l in s)Object.prototype[a("0x1bd4")].call(s,l)&&this.on(l,s[l]);x[a("0x459a")]("Content-Type: "[a("0x3abc")](c)),this[a("0x3809")]=new(u[a("0x4dd3")])(d[a("0x40b8")],e,this[a("0x26f9")],null,x),n&&(this[a("0x3809")][a("0x3b3e")]=n);var b=new m(this[a("0x26f9")],this._request,{onRequestTimeout:function(){r[a("0x5d3")]()},onTransportError:function(){r[a("0x1ab1")]()},onReceiveResponse:function(e){r[a("0x2d5f")](e)}});this[a("0x4556")](a("0x4373"),this._request),b[a("0x1819")]()}},{key:t("0xd30"),value:function(e){var n=t;this._request=e,this[n("0x4556")](n("0x4f37"),e),!this[n("0x2c2a")]&&(this[n("0x2c2a")]=!0,e[n("0x49dc")](200)),this[n("0x1f78")]()}},{key:t("0xc03"),value:function(){var e=t,n=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{},a=f[e("0xdd6")](n[e("0x133d")]),r=n[e("0x3b3e")];if(this[e("0x3085")]!==e("0x3aa3"))throw new(b[e("0x169c")])(e("0x151"));if(this._is_replied)throw new Error("incoming Message already replied");this._is_replied=!0,this._request[e("0x49dc")](200,null,a,r)}},{key:t("0x2078"),value:function(){var e=t,n=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{},a=n[e("0x2a7d")]||480,r=n[e("0x2584")],i=f[e("0xdd6")](n[e("0x133d")]),o=n[e("0x3b3e")];if(this[e("0x3085")]!==e("0x3aa3"))throw new b.NotSupportedError(e("0xdf2"));if(this[e("0x2c2a")])throw new Error(e("0x456b"));if(a<300||a>=700)throw new TypeError("Invalid status_code: ".concat(a));this[e("0x2c2a")]=!0,this._request[e("0x49dc")](a,r,i,o)}},{key:t("0x2d5f"),value:function(e){var n=t;if(!this[n("0xfde")])switch(!0){case/^1[0-9]{2}$/[n("0x3ff3")](e.status_code):break;case/^2[0-9]{2}$/[n("0x3ff3")](e[n("0x2a7d")]):this._succeeded(n("0x4f37"),e);break;default:var a=f[n("0x1661")](e[n("0x2a7d")]);this[n("0x3f8d")](n("0x4f37"),e,a)}}},{key:t("0x5d3"),value:function(){var e=t;this[e("0xfde")]||this[e("0x3f8d")](e("0x2a22"),null,d[e("0xbce")][e("0x3d1d")])}},{key:t("0x1ab1"),value:function(){var e=t;this[e("0xfde")]||this[e("0x3f8d")](e("0x2a22"),null,d[e("0xbce")][e("0x4e8e")])}},{key:t("0x1f78"),value:function(){var e=t;this[e("0xfde")]=!0,this[e("0x26f9")][e("0x22d4")](this)}},{key:t("0x4556"),value:function(e,n){var a=t;e===a("0x4f37")?(this[a("0x3085")]="incoming",this[a("0x21ef")]=n.to,this[a("0x4aed")]=n[a("0x3121")]):e===a("0x4373")&&(this[a("0x3085")]=a("0x759"),this._local_identity=n[a("0x3121")],this[a("0x4aed")]=n.to),this[a("0x26f9")][a("0x4239")](this,{originator:e,message:this,request:n})}},{key:"_failed",value:function(e,n,a){var r=t;_(r("0x3f28")),this[r("0x1f78")](),_(r("0x4cdf")),this[r("0xe39")](r("0xd3"),{originator:e,response:n||null,cause:a})}},{key:t("0x3eae"),value:function(e,n){var a=t;_(a("0x484")),this._close(),_(a("0x3cea")),this[a("0xe39")](a("0x1368"),{originator:e,response:n})}},{key:"direction",get:function(){return this._direction}},{key:"local_identity",get:function(){return this[t("0x21ef")]}},{key:t("0x161"),get:function(){return this[t("0x4aed")]}}])&&i(n[a2_0x37cf("0x20f")],r),s&&i(n,s),l}(l)},9437:(e,t,n)=>{"use strict";function a(e,t){for(var n=a2_0x37cf,a=0;a<t.length;a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r[n("0x160")]=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r[n("0x2646")],r)}}function r(e,t,n){return t&&a(e[a2_0x37cf("0x20f")],t),n&&a(e,n),e}var i=n(1987),o=n(3790);e.exports=function(){var e=a2_0x37cf;function t(n,a,r){var o=e;if(function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,t),!(n&&n instanceof i))throw new TypeError(o("0x14f7"));for(var x in this[o("0x38c1")]=n,this[o("0x4fbf")]={},this[o("0x2088")]=a,r)Object[o("0x20f")][o("0x1bd4")].call(r,x)&&this[o("0x358d")](x,r[x])}return r(t,null,[{key:e("0x1fb8"),value:function(t){var n=e;return-1!==(t=o[n("0x1fb8")](t,n("0x24fd")))?t:void 0}}]),r(t,[{key:e("0x358d"),value:function(t,n){var a=e;t&&(this._parameters[t[a("0x2eb9")]()]=typeof n===a("0xc42")||null===n?null:n.toString())}},{key:"getParam",value:function(t){var n=e;if(t)return this._parameters[t[n("0x2eb9")]()]}},{key:e("0x2d13"),value:function(t){var n=e;if(t)return!!this[n("0x4fbf")].hasOwnProperty(t[n("0x2eb9")]())}},{key:e("0x1fd1"),value:function(t){var n=e;if(t=t.toLowerCase(),this[n("0x4fbf")][n("0x1bd4")](t)){var a=this[n("0x4fbf")][t];return delete this[n("0x4fbf")][t],a}}},{key:e("0x18e7"),value:function(){this._parameters={}}},{key:"clone",value:function(){var n=e;return new t(this._uri[n("0x42df")](),this[n("0x3e17")],JSON.parse(JSON[n("0xcda")](this[n("0x4fbf")])))}},{key:e("0x2c0c"),value:function(t){var n=e;return t.replace(/\\/g,"\\\\")[n("0x3cc0")](/"/g,'\\"')}},{key:"toString",value:function(){var t=e,n=this[t("0x3e17")]?'"'[t("0x3abc")](this[t("0x2c0c")](this[t("0x3e17")]),'" '):"";for(var a in n+="<".concat(this[t("0x38c1")][t("0x3c88")](),">"),this[t("0x4fbf")])Object.prototype[t("0x1bd4")].call(this._parameters,a)&&(n+=";"[t("0x3abc")](a),null!==this[t("0x4fbf")][a]&&(n+="="[t("0x3abc")](this[t("0x4fbf")][a])));return n}},{key:"uri",get:function(){return this[e("0x38c1")]}},{key:e("0x2088"),get:function(){return this[e("0x3e17")]},set:function(t){this[e("0x3e17")]=0===t?"0":t}}]),t}()},8407:(e,t,n)=>{var a=_0x299160;function r(e,t){var n,a=a2_0x37cf;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array[a("0x498f")](e)||(n=function(e,t){var n=a2_0x37cf;if(!e)return;if(typeof e===n("0x38b7"))return i(e,t);var a=Object.prototype.toString[n("0x3c6b")](e).slice(8,-1);"Object"===a&&e[n("0x11ae")]&&(a=e[n("0x11ae")][n("0x98c")]);if(a===n("0x247")||a===n("0x4b8a"))return Array[n("0x3121")](e);if(a===n("0x3933")||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[n("0x3ff3")](a))return i(e,t)}(e))||t&&e&&typeof e[a("0x5e9")]===a("0x2231")){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e[a("0x5e9")]?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError(a("0x466"))}var x,s=!0,c=!1;return{s:function(){n=e[Symbol[a("0x1275")]]()},n:function(){var e=n[a("0xa8")]();return s=e.done,e},e:function(e){c=!0,x=e},f:function(){var e=a;try{s||null==n[e("0x110d")]||n[e("0x110d")]()}finally{if(c)throw x}}}}function i(e,t){(null==t||t>e[a2_0x37cf("0x5e9")])&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var o=n(3790),x=n(6497),s=n(1227)(a("0x4623"));function c(e,t){var n=a,r=t,i=0,o=0;if(e.substring(r,r+2)[n("0x2cd9")](/(^\r\n)/))return-2;for(;0===i;){if(-1===(o=e[n("0x3507")]("\r\n",r)))return o;!e[n("0x35e7")](o+2,o+4)[n("0x2cd9")](/(^\r\n)/)&&e[n("0x24de")](o+2)[n("0x2cd9")](/(^\s+)/)?r=o+2:i=o}return i}function l(e,t,n,i){var s,c=a,l=t[c("0x3507")](":",n),d=t.substring(n,l)[c("0x2dc4")](),u=t[c("0x35e7")](l+1,i).trim();switch(d.toLowerCase()){case"via":case"v":e[c("0x23f5")](c("0x1a9c"),u),1===e[c("0x4e17")](c("0x1a9c"))[c("0x5e9")]?(s=e[c("0x4e0b")]("Via"))&&(e.via=s,e.via_branch=s[c("0x5ff")]):s=0;break;case c("0x3121"):case"f":e[c("0x16b6")]("from",u),(s=e[c("0x4e0b")](c("0x3121")))&&(e[c("0x3121")]=s,e[c("0x3e84")]=s.getParam(c("0xb3b")));break;case"to":case"t":e[c("0x16b6")]("to",u),(s=e[c("0x4e0b")]("to"))&&(e.to=s,e[c("0x442e")]=s.getParam(c("0xb3b")));break;case c("0x4271"):if(-1===(s=o.parse(u,"Record_Route")))s=void 0;else{var f,m=r(s);try{for(m.s();!(f=m.n())[c("0x2d52")];){var b=f[c("0x3a33")];e[c("0x23f5")](c("0x4271"),u[c("0x35e7")](b.possition,b[c("0x1feb")])),e[c("0x65c")][c("0x3170")][e[c("0x4e17")]("record-route")[c("0x5e9")]-1].parsed=b[c("0x42d5")]}}catch(e){m.e(e)}finally{m.f()}}break;case c("0x34c"):case"i":e.setHeader(c("0x34c"),u),(s=e[c("0x4e0b")]("call-id"))&&(e[c("0x3b59")]=u);break;case c("0x406e"):case"m":if(-1===(s=o[c("0x1fb8")](u,c("0x1e81"))))s=void 0;else{var _,p=r(s);try{for(p.s();!(_=p.n())[c("0x2d52")];){var h=_[c("0x3a33")];e[c("0x23f5")](c("0x406e"),u[c("0x35e7")](h[c("0x340d")],h[c("0x1feb")])),e.headers[c("0x1e81")][e[c("0x4e17")]("contact")[c("0x5e9")]-1][c("0x42d5")]=h.parsed}}catch(e){p.e(e)}finally{p.f()}}break;case c("0x102a"):case"l":e[c("0x16b6")](c("0x102a"),u),s=e.parseHeader(c("0x102a"));break;case c("0x44bd"):case"c":e.setHeader("content-type",u),s=e[c("0x4e0b")]("content-type");break;case c("0x1c27"):e[c("0x16b6")]("cseq",u),(s=e[c("0x4e0b")](c("0x1c27")))&&(e.cseq=s.value),e instanceof x[c("0x4561")]&&(e[c("0x3bee")]=s[c("0x3bee")]);break;case c("0x4f1c"):e.setHeader(c("0x4f1c"),u),s=e[c("0x4e0b")](c("0x4f1c"));break;case c("0x152"):e[c("0x16b6")](c("0x152"),u),s=e[c("0x4e0b")](c("0x152"));break;case c("0x28f7"):e[c("0x16b6")]("proxy-authenticate",u),s=e[c("0x4e0b")](c("0x28f7"));break;case"session-expires":case"x":e[c("0x16b6")]("session-expires",u),(s=e[c("0x4e0b")](c("0x3dd2")))&&(e.session_expires=s[c("0x3176")],e.session_expires_refresher=s[c("0x3777")]);break;case c("0x19e6"):case"r":e.setHeader(c("0x19e6"),u),(s=e[c("0x4e0b")](c("0x19e6")))&&(e[c("0x4bd6")]=s);break;case c("0x3866"):e[c("0x16b6")](c("0x3866"),u),(s=e[c("0x4e0b")](c("0x3866")))&&(e[c("0x3866")]=s);break;case c("0x1511"):case"o":e[c("0x16b6")](c("0x1511"),u),(s=e[c("0x4e0b")](c("0x1511")))&&(e[c("0x1511")]=s);break;default:e[c("0x23f5")](d,u),s=0}return void 0!==s||{error:c("0x1d0d")[c("0x3abc")](d,'"')}}s[a("0x10f3")]=console.warn[a("0x2b0c")](console),t.parseMessage=function(e,t){var n,r,i=a,d=e[i("0x3507")]("\r\n");if(-1!==d){var u=e.substring(0,d),f=o[i("0x1fb8")](u,i("0x4b58"));if(-1!==f){f[i("0x2a7d")]?((n=new(x[i("0x4561")]))[i("0x2a7d")]=f[i("0x2a7d")],n[i("0x2584")]=f[i("0x2584")]):((n=new(x[i("0x3004")])(t))[i("0x3bee")]=f[i("0x3bee")],n.ruri=f[i("0x234")]),n[i("0x237c")]=e;for(var m=d+2;;){if(-2===(d=c(e,m))){r=m+2;break}if(-1===d)return void s(i("0x40fa"));if(!0!==(f=l(n,e,m,d)))return void s("parseMessage() |",f.error);m=d+2}if(n[i("0x48ef")](i("0x102a"))){var b=n[i("0x3bef")](i("0x102a"));n[i("0x3b3e")]=e[i("0x39fa")](r,b)}else n[i("0x3b3e")]=e[i("0x35e7")](r);return n}s(i("0x1b73")[i("0x3abc")](u,'"'))}else s(i("0x1e2a"))}},7906:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return t("0x2939"),(r=typeof Symbol===t("0x3349")&&typeof Symbol[t("0x1275")]===t("0x40c6")?function(e){return typeof e}:function(e){var n=t;return e&&"function"==typeof Symbol&&e[n("0x11ae")]===Symbol&&e!==Symbol[n("0x20f")]?n("0x40c6"):typeof e})(e)}function i(e,t){var n,a=a2_0x37cf;if("undefined"==typeof Symbol||null==e[Symbol[a("0x1275")]]){if(Array[a("0x498f")](e)||(n=function(e,t){var n=a2_0x37cf;if(!e)return;if(typeof e===n("0x38b7"))return o(e,t);var a=Object[n("0x20f")].toString.call(e)[n("0x9b3")](8,-1);a===n("0x419b")&&e.constructor&&(a=e[n("0x11ae")][n("0x98c")]);if(a===n("0x247")||"Set"===a)return Array.from(e);if(a===n("0x3933")||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[n("0x3ff3")](a))return o(e,t)}(e))||t&&e&&typeof e[a("0x5e9")]===a("0x2231")){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e[a("0x5e9")]?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError(a("0x466"))}var x,s=!0,c=!1;return{s:function(){n=e[Symbol[a("0x1275")]]()},n:function(){var e=n[a("0xa8")]();return s=e.done,e},e:function(e){c=!0,x=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw x}}}}function o(e,t){var n=a2_0x37cf;(null==t||t>e[n("0x5e9")])&&(t=e[n("0x5e9")]);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function x(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r.enumerable||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r.writable=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}function s(e,t,n){return t&&x(e[a2_0x37cf("0x20f")],t),n&&x(e,n),e}function c(e,t){var n=a2_0x37cf;return(c=Object[n("0x409e")]||function(e,t){return e[n("0x287c")]=t,e})(e,t)}function l(e){var t=function(){var e=a2_0x37cf;if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if("function"==typeof Proxy)return!0;try{return Date[e("0x20f")][e("0x3c88")][e("0x3c6b")](Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=u(e);if(t){var i=u(this).constructor;n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r[a("0x4884")](this,arguments);return d(this,n)}}function d(e,t){var n=a2_0x37cf;return!t||r(t)!==n("0x1b1d")&&"function"!=typeof t?function(e){var t=a2_0x37cf;if(void 0===e)throw new ReferenceError(t("0x2d10"));return e}(e):t}function u(e){var t=a2_0x37cf;return(u=Object.setPrototypeOf?Object[t("0x3e2a")]:function(e){var n=t;return e.__proto__||Object[n("0x3e2a")](e)})(e)}var f=n(7187)[a("0x1038")],m=n(766),b=n(965),_=n(8063),p=n(3754),h=n(5424),g=n(306),v=n(6497),S=n(7996),E=n(2066),A=n(4481),T=n(4748),y=n(5774),C=n(603),w=n(1987),M=n(1227)("JsSIP:RTCSession"),R=n(1227)("JsSIP:ERROR:RTCSession");R[a("0x10f3")]=console.warn[a("0x2b0c")](console);var D={STATUS_NULL:0,STATUS_INVITE_SENT:1,STATUS_1XX_RECEIVED:2,STATUS_INVITE_RECEIVED:3,STATUS_WAITING_FOR_ANSWER:4,STATUS_ANSWERED:5,STATUS_WAITING_FOR_ACK:6,STATUS_CANCELED:7,STATUS_TERMINATED:8,STATUS_CONFIRMED:9},I=[a("0x3201"),a("0x430")];e[a("0x33f9")]=function(e){var t=a;!function(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError("Super expression must either be null or a function");e[n("0x20f")]=Object[n("0x4b8c")](t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(r,e);var n=l(r);function r(e){var t,a=a2_0x37cf;return function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,r),M(a("0x4cf9")),(t=n[a("0x3c6b")](this))[a("0x2e81")]=null,t[a("0x26f9")]=e,t[a("0x5c8")]=D[a("0x3d57")],t._dialog=null,t._earlyDialogs={},t[a("0x3681")]=null,t[a("0x465b")]=null,t[a("0x1c33")]=null,t[a("0x2d7c")]=null,t[a("0xa3c")]=Promise.resolve(),t._request=null,t[a("0x174f")]=!1,t._cancel_reason="",t._is_confirmed=!1,t[a("0x14e2")]=!1,t[a("0x281d")]=null,t[a("0x2494")]=null,t[a("0x292e")]=null,t[a("0x277f")]=!1,t._rtcReady=!0,t[a("0xab3")]={ackTimer:null,expiresTimer:null,invite2xxTimer:null,userNoAnswerTimer:null},t[a("0x3085")]=null,t[a("0x21ef")]=null,t._remote_identity=null,t[a("0x984")]=null,t[a("0x19bd")]=null,t[a("0x221c")]=null,t[a("0x1c89")]=!1,t[a("0x28a0")]=!1,t[a("0x1bf3")]=!1,t[a("0x18a0")]=!1,t._sessionTimers={enabled:t[a("0x26f9")][a("0x1f25")].session_timers,refreshMethod:t._ua[a("0x1f25")][a("0x115a")],defaultExpires:b[a("0x495a")],currentExpires:null,running:!1,refresher:!1,timer:null},t._referSubscribers={},t[a("0x3e7b")]={},t}return s(r,null,[{key:"C",get:function(){return D}}]),s(r,[{key:t("0x15cb"),value:function(){var e=t;switch(this[e("0x5c8")]){case D[e("0x3d57")]:case D[e("0x10e5")]:case D[e("0x2054")]:case D.STATUS_INVITE_RECEIVED:case D[e("0x30f9")]:return!0;default:return!1}}},{key:"isEstablished",value:function(){var e=t;switch(this[e("0x5c8")]){case D.STATUS_ANSWERED:case D[e("0x3e51")]:case D[e("0x881")]:return!0;default:return!1}}},{key:"isEnded",value:function(){switch(this[t("0x5c8")]){case D.STATUS_CANCELED:case D.STATUS_TERMINATED:return!0;default:return!1}}},{key:"isMuted",value:function(){return{audio:this[t("0x1c89")],video:this._videoMuted}}},{key:t("0x3a2e"),value:function(){var e=t;return{local:this[e("0x1bf3")],remote:this[e("0x18a0")]}}},{key:t("0x4e7d"),value:function(e){var n=t,a=arguments[n("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[n("0x5e9")]>2?arguments[2]:void 0;M("connect()");var i=e,o=h[n("0xb9")](a[n("0x464d")]),x=h[n("0xdd6")](a[n("0x133d")]),s=h[n("0xb9")](a[n("0x8d6")],{audio:!0,video:!0}),c=a[n("0x463")]||null,l=h[n("0xb9")](a.pcConfig,{iceServers:[]}),d=a.rtcConstraints||null,u=a.rtcOfferConstraints||null;if(this[n("0x281d")]=u,this._rtcAnswerConstraints=a[n("0x1522")]||null,this[n("0x3e7b")]=a[n("0x237c")]||this._data,void 0===e)throw new TypeError(n("0x35e8"));if(this._status!==D.STATUS_NULL)throw new(_[n("0x2655")])(this._status);if(!window[n("0x4f75")])throw new(_[n("0x169c")])(n("0x30b7"));if(!(e=this[n("0x26f9")][n("0xb61")](e)))throw new TypeError(n("0x3ef1")[n("0x3abc")](i));for(var f in this[n("0x9ca")].enabled&&h[n("0xd2a")](a[n("0x1dd2")])&&(a[n("0x1dd2")]>=b[n("0x158c")]?this[n("0x9ca")].defaultExpires=a[n("0x1dd2")]:this[n("0x9ca")].defaultExpires=b[n("0x495a")]),o)Object.prototype[n("0x1bd4")].call(o,f)&&this.on(f,o[f]);this[n("0x465b")]=h.newTag();var m=a.anonymous||!1,p={from_tag:this[n("0x465b")]};this._contact=this[n("0x26f9")][n("0x406e")][n("0x3c88")]({anonymous:m,outbound:!0}),m&&(p[n("0x4284")]=n("0x4f70"),p[n("0x2675")]=new w("sip","anonymous",n("0x4048")),x.push(n("0x41ef")[n("0x3abc")](this[n("0x26f9")].configuration.uri[n("0x3c88")]())),x[n("0x459a")](n("0x4e40"))),x.push(n("0x111e")[n("0x3abc")](this[n("0x3681")])),x[n("0x459a")](n("0x329")),this[n("0x9ca")][n("0x48b5")]&&x[n("0x459a")](n("0xa7a").concat(this._sessionTimers[n("0x1d2e")])),this[n("0x3809")]=new v.InitialOutgoingInviteRequest(e,this[n("0x26f9")],p,x),this[n("0x2e81")]=this._request[n("0x3b59")]+this[n("0x465b")],this[n("0x67a")](l,d),this[n("0x3085")]="outgoing",this._local_identity=this[n("0x3809")][n("0x3121")],this[n("0x4aed")]=this[n("0x3809")].to,r&&r(this),this[n("0x2fca")](n("0x4373"),this[n("0x3809")]),this[n("0x3f33")](s,u,c)}},{key:t("0xd30"),value:function(e,n){var a=t,r=this;M("init_incoming()");var i,o=e[a("0x48ef")](a("0x1800"))?e.getHeader(a("0x1800"))[a("0x2eb9")]():void 0;e[a("0x3b3e")]&&o!==a("0x3ed7")?e[a("0x49dc")](415):(this[a("0x5c8")]=D[a("0x2653")],this[a("0x465b")]=e[a("0x3e84")],this[a("0x2e81")]=e[a("0x3b59")]+this[a("0x465b")],this._request=e,this[a("0x3681")]=this._ua[a("0x406e")][a("0x3c88")](),e[a("0x48ef")](a("0x3176"))&&(i=1e3*e[a("0x3bef")]("expires")),e[a("0x442e")]=h[a("0x4f94")](),this._createDialog(e,a("0x3a83"),!0)?(e.body?this[a("0x14e2")]=!1:this[a("0x14e2")]=!0,this[a("0x5c8")]=D[a("0x30f9")],this[a("0xab3")][a("0x2eb2")]=setTimeout((function(){var t=a;e.reply(408),r[t("0x3f8d")](t("0x4373"),null,b[t("0xbce")][t("0x886")])}),this._ua[a("0x1f25")].no_answer_timeout),i&&(this[a("0xab3")][a("0x49be")]=setTimeout((function(){var t=a;r[t("0x5c8")]===D.STATUS_WAITING_FOR_ANSWER&&(e[t("0x49dc")](487),r[t("0x3f8d")](t("0x2a22"),null,b[t("0xbce")][t("0x3a50")]))}),i)),this._direction=a("0x3aa3"),this._local_identity=e.to,this[a("0x4aed")]=e[a("0x3121")],n&&n(this),this[a("0x2fca")](a("0x4f37"),e),this[a("0x5c8")]!==D[a("0x4c65")]&&(e.reply(180,null,[a("0x111e")[a("0x3abc")](this[a("0x3681")])]),this._progress("local",null))):e.reply(500,a("0x34d4")))}},{key:"answer",value:function(){var e=t,n=this,a=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};M(e("0x4d1d"));var r=this[e("0x3809")],o=h[e("0xdd6")](a[e("0x133d")]),x=h[e("0xb9")](a[e("0x8d6")]),s=a.mediaStream||null,c=h.cloneObject(a.pcConfig,{iceServers:[]}),l=a[e("0x4b5a")]||null,d=a[e("0x1522")]||null,u=h[e("0xb9")](a[e("0x195f")]),f=!1,m=!1,p=!1,g=!1;if(this[e("0x2494")]=d,this._rtcOfferConstraints=a[e("0x195f")]||null,this._data=a[e("0x237c")]||this[e("0x3e7b")],this[e("0x3085")]!==e("0x3aa3"))throw new(_[e("0x169c")])(e("0x46f0"));if(this[e("0x5c8")]!==D[e("0x30f9")])throw new(_[e("0x2655")])(this[e("0x5c8")]);if(this[e("0x9ca")].enabled&&h.isDecimal(a[e("0x1dd2")])&&(a[e("0x1dd2")]>=b.MIN_SESSION_EXPIRES?this[e("0x9ca")][e("0x1d2e")]=a[e("0x1dd2")]:this._sessionTimers[e("0x1d2e")]=b[e("0x495a")]),this[e("0x5c8")]=D.STATUS_ANSWERED,this[e("0x4744")](r,e("0x3a83"))){clearTimeout(this[e("0xab3")][e("0x2eb2")]),o.unshift(e("0x111e").concat(this[e("0x3681")]));var v=r[e("0x4ea3")]();!Array.isArray(v[e("0x4f11")])&&(v[e("0x4f11")]=[v[e("0x4f11")]]);var S,E=i(v.media);try{for(E.s();!(S=E.n())[e("0x2d52")];){var A=S[e("0x3a33")];A[e("0x3298")]===e("0x3201")&&(f=!0,(!A.direction||A.direction===e("0x31d8"))&&(p=!0)),A[e("0x3298")]===e("0x430")&&(m=!0,(!A.direction||A.direction===e("0x31d8"))&&(g=!0))}}catch(e){E.e(e)}finally{E.f()}if(s&&!1===x[e("0x3201")]){var T,y=i(s[e("0x235a")]());try{for(y.s();!(T=y.n())[e("0x2d52")];){var C=T[e("0x3a33")];s[e("0x2113")](C)}}catch(e){y.e(e)}finally{y.f()}}if(s&&!1===x[e("0x430")]){var w,I=i(s.getVideoTracks());try{for(I.s();!(w=I.n())[e("0x2d52")];){var N=w[e("0x3a33")];s[e("0x2113")](N)}}catch(e){I.e(e)}finally{I.f()}}!s&&void 0===x.audio&&(x.audio=p),!s&&void 0===x.video&&(x[e("0x430")]=g),!s&&!f&&!u.offerToReceiveAudio&&(x[e("0x3201")]=!1),!s&&!m&&!u[e("0x1ffc")]&&(x[e("0x430")]=!1),this[e("0x67a")](c,l),Promise.resolve().then((function(){var t=e;return s||(x[t("0x3201")]||x[t("0x430")]?(n[t("0x277f")]=!0,navigator.mediaDevices[t("0x37d9")](x)[t("0x373a")]((function(e){var a=t;if(n[a("0x5c8")]===D[a("0x4c65")])throw new Error(a("0x45cc"));throw r.reply(480),n[a("0x3f8d")]("local",null,b[a("0xbce")].USER_DENIED_MEDIA_ACCESS),R(a("0x343f"),e),n[a("0xe39")](a("0x3e2e"),e),new Error(a("0x2d8d"))}))):void 0)}))[e("0x34e8")]((function(t){var a=e;if(n._status===D[a("0x4c65")])throw new Error(a("0x45cc"));n[a("0x292e")]=t,t&&t[a("0x25e5")]()[a("0x5ba")]((function(e){var r=a;n[r("0x2d7c")][r("0x85")](e,t)}))}))[e("0x34e8")]((function(){var t=e;if(!n[t("0x14e2")]){var a={originator:t("0x4f37"),type:t("0xfe6"),sdp:r[t("0x3b3e")]};M(t("0x2a96")),n[t("0xe39")](t("0x2e59"),a);var i=new RTCSessionDescription({type:"offer",sdp:a[t("0x2e59")]});return n[t("0xa3c")]=n[t("0xa3c")][t("0x34e8")]((function(){var e=t;return n[e("0x2d7c")][e("0x3079")](i)}))[t("0x373a")]((function(e){var a=t;throw r[a("0x49dc")](488),n[a("0x3f8d")](a("0x2a22"),null,b.causes[a("0x2eac")]),R(a("0x3500"),e),n[a("0xe39")](a("0x897"),e),new Error("peerconnection.setRemoteDescription() failed")})),n[t("0xa3c")]}}))[e("0x34e8")]((function(){var t=e;if(n[t("0x5c8")]===D.STATUS_TERMINATED)throw new Error(t("0x45cc"));return n[t("0x1d2d")](r),n[t("0x14e2")]?n[t("0xe07")](t("0xfe6"),n[t("0x281d")]).catch((function(){var e=t;throw r.reply(500),new Error(e("0x2155"))})):n[t("0xe07")]("answer",d)[t("0x373a")]((function(){throw r[t("0x49dc")](500),new Error("_createLocalDescription() failed")}))})).then((function(t){var a=e;if(n[a("0x5c8")]===D[a("0x4c65")])throw new Error("terminated");n[a("0x2aaf")](r,o),r.reply(200,null,o,t,(function(){var e=a;n[e("0x5c8")]=D.STATUS_WAITING_FOR_ACK,n[e("0x14d1")](r,t),n._setACKTimer(),n[e("0x37f8")](e("0x4373"))}),(function(){var e=a;n[e("0x3f8d")](e("0x2a22"),null,b[e("0xbce")][e("0x4e8e")])}))}))[e("0x373a")]((function(t){var a=e;n[a("0x5c8")]!==D[a("0x4c65")]&&R(t)}))}else r.reply(500,e("0x9cc"))}},{key:t("0x386a"),value:function(){var e=t,n=this,a=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};M(e("0x3f54"));var r,i=a.cause||b.causes[e("0x5a8")],o=h[e("0xdd6")](a[e("0x133d")]),x=a[e("0x3b3e")],s=a[e("0x2a7d")],c=a[e("0x2584")];if(this[e("0x5c8")]===D[e("0x4c65")])throw new _.InvalidStateError(this[e("0x5c8")]);switch(this[e("0x5c8")]){case D[e("0x3d57")]:case D[e("0x10e5")]:case D[e("0x2054")]:if(M(e("0x1ed1")),s&&(s<200||s>=700))throw new TypeError(e("0x839")[e("0x3abc")](s));s&&(c=c||b.REASON_PHRASE[s]||"",r="SIP ;cause="[e("0x3abc")](s,e("0x48ec"))[e("0x3abc")](c,'"')),this[e("0x5c8")]===D[e("0x3d57")]||this[e("0x5c8")]===D[e("0x10e5")]?(this[e("0x174f")]=!0,this[e("0x1ee7")]=r):this._status===D[e("0x2054")]&&this[e("0x3809")][e("0x4920")](r),this[e("0x5c8")]=D[e("0x15f6")],this._failed(e("0x4373"),null,b[e("0xbce")].CANCELED);break;case D[e("0x30f9")]:case D[e("0xc4f")]:if(M("rejecting session"),(s=s||480)<300||s>=700)throw new TypeError(e("0x839")[e("0x3abc")](s));this[e("0x3809")][e("0x49dc")](s,c,o,x),this._failed("local",null,b[e("0xbce")][e("0x3af0")]);break;case D.STATUS_WAITING_FOR_ACK:case D.STATUS_CONFIRMED:if(M("terminating session"),c=a[e("0x2584")]||b.REASON_PHRASE[s]||"",s&&(s<200||s>=700))throw new TypeError("Invalid status_code: "[e("0x3abc")](s));if(s&&o[e("0x459a")](e("0x1d7c")[e("0x3abc")](s,e("0x2609")).concat(c,'"')),this[e("0x5c8")]===D[e("0x3e51")]&&this[e("0x3085")]===e("0x3aa3")&&this[e("0x3809")].server_transaction[e("0x81c")]!==p.C[e("0x4c65")]){var l=this._dialog;this[e("0x26e6")]=function(t){var a=e;t[a("0x3bee")]===b[a("0x438a")]&&(n[a("0x4a31")](b[a("0x5a8")],{extraHeaders:o,body:x}),l[a("0x386a")]())},this[e("0x3809")].server_transaction.on(e("0x1220"),(function(){var t=e;n[t("0x3809")][t("0x4080")][t("0x81c")]===p.C[t("0x4c65")]&&(n[t("0x4a31")](b.BYE,{extraHeaders:o,body:x}),l.terminate())})),this[e("0x335d")](e("0x4373"),null,i),this[e("0x4470")]=l,this[e("0x26f9")][e("0x471")](l)}else this[e("0x4a31")](b[e("0x5a8")],{extraHeaders:o,body:x}),this[e("0x335d")](e("0x4373"),null,i)}}},{key:t("0x4385"),value:function(e){var n=t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};M(n("0x2a97"),e);var r=0,i=a[n("0x40b2")]||null,o=a[n("0x1e1c")]||null,x=a[n("0x1909")]||b[n("0x690")][n("0x1817")];if(void 0===e)throw new TypeError(n("0x35e8"));if(this[n("0x5c8")]!==D[n("0x881")]&&this[n("0x5c8")]!==D.STATUS_WAITING_FOR_ACK)throw new _.InvalidStateError(this._status);if("number"==typeof e&&(e=e[n("0x3c88")]()),!e||typeof e!==n("0x38b7")||!e[n("0x2cd9")](/^[0-9A-DR#*,]+$/i))throw new TypeError(n("0x3325").concat(e));if(i&&!h[n("0xd2a")](i))throw new TypeError(n("0x1cc4")[n("0x3abc")](i));if(i?i<A.C.MIN_DURATION?(M(n("0x3d53")[n("0x3abc")](A.C.MIN_DURATION," milliseconds")),i=A.C[n("0x63d")]):i>A.C[n("0x23d5")]?(M(n("0x1b96")[n("0x3abc")](A.C[n("0x23d5")],n("0x3e1a"))),i=A.C.MAX_DURATION):i=Math[n("0x681")](i):i=A.C.DEFAULT_DURATION,a[n("0x40b2")]=i,o&&!h[n("0xd2a")](o))throw new TypeError(n("0x54d")[n("0x3abc")](o));function s(){var e,t=n,c=this;if(this._status===D[t("0x4c65")]||!this[t("0x221c")]||r>=this._tones[t("0x5e9")])this[t("0x221c")]=null;else{var l=this._tones[r];if(r+=1,","===l)e=2e3;else{if(x!==b[t("0x690")][t("0x1817")]&&x!==b[t("0x690")][t("0x31be")])throw new TypeError(t("0x49c4")[t("0x3abc")](x));switch(x){case b[t("0x690")][t("0x31be")]:var d=this[t("0x1da6")]();d&&d[t("0x2537")](l,i,o);break;case b[t("0x690")][t("0x1817")]:var u=new A(this);a[t("0x464d")]={onFailed:function(){c[t("0x221c")]=null}},u[t("0x1819")](l,a),e=i+o}}setTimeout(s.bind(this),e)}}o?o<A.C[n("0x1fa4")]?(M('"interToneGap" value is lower than the minimum allowed, setting it to '.concat(A.C[n("0x1fa4")],n("0x3e1a"))),o=A.C[n("0x1fa4")]):o=Math[n("0x681")](o):o=A.C.DEFAULT_INTER_TONE_GAP,this[n("0x221c")]?this[n("0x221c")]+=e:(this[n("0x221c")]=e,s[n("0x3c6b")](this))}},{key:t("0x367a"),value:function(e,n){var a=t,r=arguments[a("0x5e9")]>2&&void 0!==arguments[2]?arguments[2]:{};if(M(a("0x1b7")),this[a("0x5c8")]!==D[a("0x881")]&&this[a("0x5c8")]!==D[a("0x3e51")])throw new(_[a("0x2655")])(this[a("0x5c8")]);var i=new T(this);i[a("0x1819")](e,n,r)}},{key:t("0x60b"),value:function(){var e=t,n=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{audio:!0,video:!1};M("mute()");var a=!1,r=!1;!1===this[e("0x1c89")]&&n[e("0x3201")]&&(a=!0,this._audioMuted=!0,this[e("0x220a")](!0)),!1===this[e("0x28a0")]&&n[e("0x430")]&&(r=!0,this._videoMuted=!0,this._toggleMuteVideo(!0)),(!0===a||!0===r)&&this._onmute({audio:a,video:r})}},{key:t("0x3a84"),value:function(){var e=t,n=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{audio:!0,video:!0};M(e("0x30c"));var a=!1,r=!1;!0===this[e("0x1c89")]&&n[e("0x3201")]&&(a=!0,this[e("0x1c89")]=!1,!1===this._localHold&&this._toggleMuteAudio(!1)),!0===this._videoMuted&&n.video&&(r=!0,this[e("0x28a0")]=!1,!1===this[e("0x1bf3")]&&this[e("0x46db")](!1)),(!0===a||!0===r)&&this[e("0x1794")]({audio:a,video:r})}},{key:"hold",value:function(){var e=t,n=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e("0x5e9")]>1?arguments[1]:void 0;if(M(e("0x26fc")),this[e("0x5c8")]!==D[e("0x3e51")]&&this[e("0x5c8")]!==D[e("0x881")])return!1;if(!0===this[e("0x1bf3")])return!1;if(!this[e("0x14a6")]())return!1;this[e("0x1bf3")]=!0,this[e("0x160a")](e("0x4373"));var i={succeeded:function(){r&&r()},failed:function(){var t=e;n.terminate({cause:b[t("0xbce")][t("0x2eac")],status_code:500,reason_phrase:t("0x48c7")})}};return a[e("0x290d")]?this[e("0x4139")]({sdpOffer:!0,eventHandlers:i,extraHeaders:a[e("0x133d")]}):this[e("0x459")]({eventHandlers:i,extraHeaders:a[e("0x133d")]}),!0}},{key:t("0x2b62"),value:function(){var e=t,n=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e("0x5e9")]>1?arguments[1]:void 0;if(M(e("0x1319")),this._status!==D.STATUS_WAITING_FOR_ACK&&this[e("0x5c8")]!==D.STATUS_CONFIRMED)return!1;if(!1===this[e("0x1bf3")])return!1;if(!this._isReadyToReOffer())return!1;this[e("0x1bf3")]=!1,this[e("0x1555")]("local");var i={succeeded:function(){r&&r()},failed:function(){var t=e;n.terminate({cause:b.causes[t("0x2eac")],status_code:500,reason_phrase:"Unhold Failed"})}};return a.useUpdate?this[e("0x4139")]({sdpOffer:!0,eventHandlers:i,extraHeaders:a[e("0x133d")]}):this[e("0x459")]({eventHandlers:i,extraHeaders:a[e("0x133d")]}),!0}},{key:t("0x33e2"),value:function(){var e=t,n=this,a=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;M(e("0x39b2"));var i=a[e("0x195f")]||null;if(this[e("0x5c8")]!==D[e("0x3e51")]&&this[e("0x5c8")]!==D[e("0x881")])return!1;if(!this._isReadyToReOffer())return!1;var o={succeeded:function(){r&&r()},failed:function(){var t=e;n.terminate({cause:b[t("0xbce")][t("0x2eac")],status_code:500,reason_phrase:t("0x2f42")})}};return this[e("0x41c9")](),a[e("0x290d")]?this[e("0x4139")]({sdpOffer:!0,eventHandlers:o,rtcOfferConstraints:i,extraHeaders:a[e("0x133d")]}):this[e("0x459")]({eventHandlers:o,rtcOfferConstraints:i,extraHeaders:a[e("0x133d")]}),!0}},{key:t("0x2c62"),value:function(e,n){var a=t,r=this;M(a("0x164d"));var i=e;if(this[a("0x5c8")]!==D.STATUS_WAITING_FOR_ACK&&this[a("0x5c8")]!==D[a("0x881")])return!1;if(!(e=this[a("0x26f9")][a("0xb61")](e)))throw new TypeError("Invalid target: "[a("0x3abc")](i));var o=new C(this);o[a("0x472d")](e,n);var x=o.id;return this[a("0x2dec")][x]=o,o.on(a("0x1478"),(function(){delete r[a("0x2dec")][x]})),o.on("accepted",(function(){delete r._referSubscribers[x]})),o.on(a("0xd3"),(function(){delete r[a("0x2dec")][x]})),o}},{key:"sendRequest",value:function(e,t){return M("sendRequest()"),this._dialog.sendRequest(e,t)}},{key:t("0x26e6"),value:function(e){var n=t,a=this;if(M(n("0x205e")),e.method===b.CANCEL)(this[n("0x5c8")]===D[n("0x30f9")]||this[n("0x5c8")]===D.STATUS_ANSWERED)&&(this[n("0x5c8")]=D[n("0x15f6")],this[n("0x3809")].reply(487),this[n("0x3f8d")](n("0x4f37"),e,b.causes[n("0xae2")]));else switch(e[n("0x3bee")]){case b.ACK:if(this[n("0x5c8")]!==D[n("0x3e51")])return;if(this._status=D.STATUS_CONFIRMED,clearTimeout(this._timers.ackTimer),clearTimeout(this[n("0xab3")][n("0x2214")]),this._late_sdp){if(!e[n("0x3b3e")]){this.terminate({cause:b.causes[n("0x1a27")],status_code:400});break}var r={originator:n("0x4f37"),type:n("0xe36"),sdp:e.body};M(n("0x2a96")),this[n("0xe39")](n("0x2e59"),r);var i=new RTCSessionDescription({type:n("0xe36"),sdp:r[n("0x2e59")]});this[n("0xa3c")]=this._connectionPromiseQueue[n("0x34e8")]((function(){var e=n;return a[e("0x2d7c")][e("0x3079")](i)}))[n("0x34e8")]((function(){var t=n;!a._is_confirmed&&a._confirmed(t("0x4f37"),e)}))[n("0x373a")]((function(e){var t=n;a[t("0x386a")]({cause:b[t("0xbce")].BAD_MEDIA_DESCRIPTION,status_code:488}),R('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),a[t("0xe39")](t("0x897"),e)}))}else!this[n("0x4026")]&&this._confirmed("remote",e);break;case b[n("0x5a8")]:this[n("0x5c8")]===D[n("0x881")]||this[n("0x5c8")]===D[n("0x3e51")]?(e[n("0x49dc")](200),this._ended(n("0x4f37"),e,b.causes[n("0x5a8")])):this[n("0x5c8")]===D[n("0x2653")]||this._status===D[n("0x30f9")]?(e[n("0x49dc")](200),this[n("0x3809")][n("0x49dc")](487,n("0x206")),this[n("0x335d")](n("0x4f37"),e,b[n("0xbce")][n("0x5a8")])):e[n("0x49dc")](403,"Wrong Status");break;case b.INVITE:this[n("0x5c8")]===D[n("0x881")]?e[n("0x48ef")]("replaces")?this[n("0x75a")](e):this._receiveReinvite(e):e[n("0x49dc")](403,n("0x23e1"));break;case b[n("0x1817")]:if(this[n("0x5c8")]===D[n("0x2054")]||this[n("0x5c8")]===D[n("0x30f9")]||this[n("0x5c8")]===D[n("0xc4f")]||this[n("0x5c8")]===D[n("0x3e51")]||this[n("0x5c8")]===D.STATUS_CONFIRMED){var o=e.hasHeader(n("0x1800"))?e[n("0x3bef")](n("0x1800")).toLowerCase():void 0;o&&o[n("0x2cd9")](/^application\/dtmf-relay/i)?new A(this)[n("0xd30")](e):void 0!==o?new T(this)[n("0xd30")](e):e.reply(415)}else e[n("0x49dc")](403,n("0x23e1"));break;case b[n("0x14f")]:this._status===D[n("0x881")]?this[n("0x3d8f")](e):e[n("0x49dc")](403,n("0x23e1"));break;case b.REFER:this[n("0x5c8")]===D.STATUS_CONFIRMED?this._receiveRefer(e):e[n("0x49dc")](403,n("0x23e1"));break;case b[n("0x395c")]:this._status===D[n("0x881")]?this[n("0x1d8c")](e):e.reply(403,n("0x23e1"));break;default:e.reply(501)}}},{key:t("0x21e6"),value:function(){var e=t;R(e("0x1b42")),this[e("0x5c8")]!==D[e("0x4c65")]&&this[e("0x386a")]({status_code:500,reason_phrase:b[e("0xbce")][e("0x4e8e")],cause:b.causes[e("0x4e8e")]})}},{key:t("0x10ad"),value:function(){var e=t;R("onRequestTimeout()"),this._status!==D[e("0x4c65")]&&this[e("0x386a")]({status_code:408,reason_phrase:b[e("0xbce")][e("0x3d1d")],cause:b[e("0xbce")].REQUEST_TIMEOUT})}},{key:t("0x132e"),value:function(){var e=t;R(e("0x147f")),this[e("0x5c8")]!==D[e("0x4c65")]&&this[e("0x386a")]({status_code:500,reason_phrase:b[e("0xbce")][e("0xa28")],cause:b[e("0xbce")][e("0xa28")]})}},{key:t("0x153f"),value:function(e){M(t("0x3b9")),this.emit("newDTMF",e)}},{key:t("0x1711"),value:function(e){var n=t;M(n("0x2e03")),this[n("0xe39")]("newInfo",e)}},{key:"_isReadyToReOffer",value:function(){var e=t;return this[e("0x223d")]?this[e("0x4470")]?!0!==this[e("0x4470")][e("0x2eed")]&&!0!==this[e("0x4470")][e("0x42d7")]||(M("_isReadyToReOffer() | there is another INVITE/UPDATE transaction in progress"),!1):(M("_isReadyToReOffer() | session not established yet"),!1):(M(e("0x288c")),!1)}},{key:t("0x1f78"),value:function(){var e=t;if(M(e("0x4335")),this[e("0x5c8")]!==D[e("0x4c65")]){if(this[e("0x5c8")]=D[e("0x4c65")],this._connection)try{this[e("0x2d7c")][e("0x440f")]()}catch(t){R(e("0x21c2"),t)}for(var n in this[e("0x292e")]&&this[e("0x277f")]&&(M(e("0x4c49")),h[e("0x2d23")](this._localMediaStream)),this[e("0xab3")])Object.prototype[e("0x1bd4")][e("0x3c6b")](this._timers,n)&&clearTimeout(this._timers[n]);for(var a in clearTimeout(this._sessionTimers[e("0x217")]),this._dialog&&(this[e("0x4470")][e("0x386a")](),delete this[e("0x4470")]),this._earlyDialogs)Object.prototype[e("0x1bd4")].call(this[e("0x45e8")],a)&&(this[e("0x45e8")][a].terminate(),delete this[e("0x45e8")][a]);for(var r in this[e("0x2dec")])Object[e("0x20f")][e("0x1bd4")][e("0x3c6b")](this[e("0x2dec")],r)&&delete this[e("0x2dec")][r];this[e("0x26f9")][e("0x8f")](this)}}},{key:t("0x14d1"),value:function(e,n){var a=t,r=g.T1;this[a("0xab3")][a("0x2214")]=setTimeout(function t(){var a=a2_0x37cf;this[a("0x5c8")]===D[a("0x3e51")]&&(e.reply(200,null,[a("0x111e")[a("0x3abc")](this[a("0x3681")])],n),r<g.T2&&((r*=2)>g.T2&&(r=g.T2)),this[a("0xab3")].invite2xxTimer=setTimeout(t[a("0x2b0c")](this),r))}[a("0x2b0c")](this),r)}},{key:t("0x1c94"),value:function(){var e=t,n=this;this[e("0xab3")][e("0x1ef")]=setTimeout((function(){var t=e;n[t("0x5c8")]===D[t("0x3e51")]&&(M(t("0x624")),clearTimeout(n[t("0xab3")][t("0x2214")]),n[t("0x4a31")](b.BYE),n[t("0x335d")](t("0x4f37"),null,b[t("0xbce")][t("0x49c7")]))}),g[e("0x1172")])}},{key:"_createRTCConnection",value:function(e,n){var a=t,r=this;this._connection=new RTCPeerConnection(e,n),this[a("0x2d7c")][a("0x4944")](a("0x31ac"),(function(){var e=a;r[e("0x2d7c")][e("0x4ec6")]===e("0xd3")&&r[e("0x386a")]({cause:b.causes[e("0x3409")],status_code:408,reason_phrase:b.causes[e("0x3409")]})})),M('emit "peerconnection"'),this[a("0xe39")](a("0x6af"),{peerconnection:this._connection})}},{key:t("0xe07"),value:function(e,n){var a=t,r=this;if(M(a("0x34c2")),e!==a("0xfe6")&&e!==a("0xe36"))throw new Error(a("0x2bfc")[a("0x3abc")](e,'"'));var i=this[a("0x2d7c")];return this[a("0x223d")]=!1,Promise[a("0x407b")]().then((function(){var t=a;return e===t("0xfe6")?i[t("0x24ac")](n)[t("0x373a")]((function(e){var n=t;return R(n("0x4646"),e),r[n("0xe39")](n("0xfaa"),e),Promise.reject(e)})):i.createAnswer(n)[t("0x373a")]((function(e){var n=t;return R(n("0x3d9f"),e),r[n("0xe39")](n("0x2e07"),e),Promise[n("0x2078")](e)}))}))[a("0x34e8")]((function(e){var t=a;return i[t("0x4f0e")](e)[t("0x373a")]((function(e){var n=t;return r[n("0x223d")]=!0,R(n("0x1993"),e),r[n("0xe39")](n("0x20e7"),e),Promise[n("0x2078")](e)}))}))[a("0x34e8")]((function(){var t=a;if(!("complete"!==i.iceGatheringState||n&&n[t("0x3682")])){r[t("0x223d")]=!0;var o={originator:t("0x4373"),type:e,sdp:i[t("0x314f")][t("0x2e59")]};return M(t("0x2a96")),r.emit(t("0x2e59"),o),Promise.resolve(o.sdp)}return new Promise((function(n){var a,o,x=t,s=!1,c=function(){var t=a2_0x37cf;i.removeEventListener(t("0x535"),a),i[t("0x4b59")](t("0x1298"),o),s=!0,r[t("0x223d")]=!0;var x={originator:t("0x4373"),type:e,sdp:i[t("0x314f")][t("0x2e59")]};M(t("0x2a96")),r[t("0xe39")](t("0x2e59"),x),n(x.sdp)};i[x("0x4944")](x("0x535"),a=function(e){var t=x,n=e[t("0x33d0")];n?r[t("0xe39")](t("0x535"),{candidate:n,ready:c}):!s&&c()}),i.addEventListener("icegatheringstatechange",o=function(){var e=x;i[e("0x4912")]===e("0x901")&&!s&&c()})}))}))}},{key:t("0x4744"),value:function(e,n,a){var r=t,i="UAS"===n?e[r("0x442e")]:e[r("0x3e84")],o="UAS"===n?e.from_tag:e[r("0x442e")],x=e[r("0x3b59")]+i+o,s=this[r("0x45e8")][x];if(a)return!!s||((s=new S(this,e,n,S.C[r("0x3fe2")]))[r("0x4ad3")]?(M(s[r("0x4ad3")]),this[r("0x3f8d")]("remote",e,b[r("0xbce")].INTERNAL_ERROR),!1):(this[r("0x45e8")][x]=s,!0));if(this[r("0x465b")]=e[r("0x3e84")],this[r("0x1c33")]=e[r("0x442e")],s)return s[r("0x3fdc")](e,n),this[r("0x4470")]=s,delete this[r("0x45e8")][x],!0;var c=new S(this,e,n);return c[r("0x4ad3")]?(M(c[r("0x4ad3")]),this[r("0x3f8d")]("remote",e,b[r("0xbce")][r("0x5b1")]),!1):(this[r("0x4470")]=c,!0)}},{key:t("0x649"),value:function(e){var n=t,a=this;M(n("0x39dd"));var r=e.hasHeader(n("0x1800"))?e[n("0x3bef")]("Content-Type")[n("0x2eb9")]():void 0,i={request:e,callback:void 0,reject:function(){var t=n,a=arguments[t("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};o=!0;var r=a.status_code||403,i=a[t("0x2584")]||"",x=h[t("0xdd6")](a[t("0x133d")]);if(this[t("0x5c8")]!==D[t("0x881")])return!1;if(r<300||r>=700)throw new TypeError("Invalid status_code: "[t("0x3abc")](r));e.reply(r,i,x)}.bind(this)},o=!1;if(this[n("0xe39")](n("0x4c68"),i),!o){if(this[n("0x14e2")]=!1,!e[n("0x3b3e")])return this[n("0x14e2")]=!0,this[n("0x18a0")]&&(this[n("0x18a0")]=!1,this[n("0x1555")]("remote")),void(this[n("0xa3c")]=this[n("0xa3c")][n("0x34e8")]((function(){var e=n;return a._createLocalDescription(e("0xfe6"),a[e("0x281d")])}))[n("0x34e8")]((function(e){x[n("0x3c6b")](a,e)}))[n("0x373a")]((function(){e[n("0x49dc")](500)})));if("application/sdp"!==r)return M("invalid Content-Type"),void e.reply(415);this._processInDialogSdpOffer(e)[n("0x34e8")]((function(e){var t=n;a._status!==D[t("0x4c65")]&&x[t("0x3c6b")](a,e)}))[n("0x373a")]((function(e){R(e)}))}function x(t){var a=n,r=this,o=["Contact: "[a("0x3abc")](this[a("0x3681")])];this[a("0x2aaf")](e,o),this[a("0x14e2")]&&(t=this[a("0xf42")](t)),e[a("0x49dc")](200,null,o,t,(function(){var n=a;r[n("0x5c8")]=D[n("0x3e51")],r[n("0x14d1")](e,t),r[n("0x1c94")]()})),typeof i[a("0x1c9a")]===a("0x3349")&&i[a("0x1c9a")]()}}},{key:"_receiveUpdate",value:function(e){var n=t,a=this;M(n("0xb18"));var r=e.hasHeader(n("0x1800"))?e[n("0x3bef")](n("0x1800")).toLowerCase():void 0,i={request:e,callback:void 0,reject:function(){var t=n,a=arguments[t("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};o=!0;var r=a.status_code||403,i=a[t("0x2584")]||"",x=h[t("0xdd6")](a[t("0x133d")]);if(this._status!==D[t("0x881")])return!1;if(r<300||r>=700)throw new TypeError(t("0x839").concat(r));e[t("0x49dc")](r,i,x)}[n("0x2b0c")](this)},o=!1;if(this.emit(n("0x3fdc"),i),!o)if(e[n("0x3b3e")]){if(r!==n("0x3ed7"))return M(n("0x31f5")),void e.reply(415);this[n("0x26be")](e)[n("0x34e8")]((function(e){var t=n;a[t("0x5c8")]!==D[t("0x4c65")]&&x[t("0x3c6b")](a,e)}))[n("0x373a")]((function(e){R(e)}))}else x[n("0x3c6b")](this,null);function x(t){var a=n,r=["Contact: "[a("0x3abc")](this[a("0x3681")])];this[a("0x2aaf")](e,r),e.reply(200,null,r,t),typeof i[a("0x1c9a")]===a("0x3349")&&i[a("0x1c9a")]()}}},{key:t("0x26be"),value:function(e){var n=t,a=this;M(n("0x3aeb"));var r,o=e[n("0x4ea3")](),x=!1,s=i(o[n("0x4f11")]);try{for(s.s();!(r=s.n())[n("0x2d52")];){var c=r[n("0x3a33")];if(-1!==I[n("0x3507")](c.type)){var l=c.direction||o[n("0xb72")]||n("0x31d8");if(l!==n("0x2424")&&l!==n("0x21d7")){x=!1;break}x=!0}}}catch(e){s.e(e)}finally{s.f()}var d={originator:n("0x4f37"),type:n("0xfe6"),sdp:e[n("0x3b3e")]};M('emit "sdp"'),this[n("0xe39")](n("0x2e59"),d);var u=new RTCSessionDescription({type:"offer",sdp:d[n("0x2e59")]});return this[n("0xa3c")]=this[n("0xa3c")][n("0x34e8")]((function(){var t=n;if(a._status===D[t("0x4c65")])throw new Error("terminated");return a[t("0x2d7c")].setRemoteDescription(u).catch((function(n){var r=t;throw e[r("0x49dc")](488),R(r("0x3500"),n),a[r("0xe39")](r("0x897"),n),n}))}))[n("0x34e8")]((function(){var e=n;if(a._status===D.STATUS_TERMINATED)throw new Error(e("0x45cc"));!0===a[e("0x18a0")]&&!1===x?(a[e("0x18a0")]=!1,a[e("0x1555")](e("0x4f37"))):!1===a._remoteHold&&!0===x&&(a[e("0x18a0")]=!0,a._onhold("remote"))})).then((function(){var t=n;if(a[t("0x5c8")]===D[t("0x4c65")])throw new Error(t("0x45cc"));return a[t("0xe07")](t("0xe36"),a[t("0x2494")])[t("0x373a")]((function(n){throw e[t("0x49dc")](500),R('emit "peerconnection:createtelocaldescriptionfailed" [error:%o]',n),n}))}))[n("0x373a")]((function(e){R(n("0x1777"),e)})),this[n("0xa3c")]}},{key:t("0x4d65"),value:function(e){var n=t,a=this;if(M(n("0x207c")),!e[n("0x4bd6")])return M(n("0x1269")),void e[n("0x49dc")](400);if(e.refer_to[n("0x234")][n("0x23b9")]!==b[n("0x2e31")])return M(n("0x324")),void e[n("0x49dc")](416);e[n("0x49dc")](202);var i=new y(this,e[n("0x1c27")]);function o(t){var a=n,o=arguments[a("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:{};if(t=typeof t===a("0x3349")?t:null,this._status!==D[a("0x3e51")]&&this[a("0x5c8")]!==D[a("0x881")])return!1;var x=new r(this[a("0x26f9")]);if(x.on(a("0x259c"),(function(e){var t=a,n=e[t("0x4b9")];i.notify(n[t("0x2a7d")],n[t("0x2584")])})),x.on("accepted",(function(e){var t=a,n=e[t("0x4b9")];i.notify(n[t("0x2a7d")],n.reason_phrase)})),x.on(a("0x3f8d"),(function(e){var t=a,n=e.message,r=e[t("0x2e7b")];n?i[t("0x1552")](n[t("0x2a7d")],n[t("0x2584")]):i[t("0x1552")](487,r)})),e[a("0x4bd6")][a("0x234")][a("0x48ef")](a("0x3866"))){var s=decodeURIComponent(e[a("0x4bd6")][a("0x234")][a("0x3bef")](a("0x3866")));o[a("0x133d")]=h.cloneArray(o[a("0x133d")]),o[a("0x133d")].push(a("0x45ec").concat(s))}x[a("0x4e7d")](e[a("0x4bd6")][a("0x234")][a("0x13ce")](),o,t)}function x(){i[n("0x1552")](603)}M(n("0x200f")),this[n("0xe39")](n("0x2c62"),{request:e,accept:function(e,t){o[n("0x3c6b")](a,e,t)},reject:function(){x[n("0x3c6b")](a)}})}},{key:t("0x1d8c"),value:function(e){var n=t;switch(M(n("0x3c2d")),!e[n("0x1511")]&&e[n("0x49dc")](400),e[n("0x1511")][n("0x1511")]){case n("0x2c62"):var a,r;if(e.event.params&&e[n("0x1511")][n("0x48ad")].id)a=e[n("0x1511")][n("0x48ad")].id,r=this[n("0x2dec")][a];else{if(1!==Object[n("0xa35")](this[n("0x2dec")])[n("0x5e9")])return void e[n("0x49dc")](400,"Missing event id parameter");r=this._referSubscribers[Object[n("0xa35")](this._referSubscribers)[0]]}if(!r)return void e[n("0x49dc")](481,n("0x39de"));r[n("0x2ba7")](e),e[n("0x49dc")](200);break;default:e[n("0x49dc")](489)}}},{key:t("0x75a"),value:function(e){var n=t,a=this;function i(t){var a=n,i=this;if(this[a("0x5c8")]!==D[a("0x3e51")]&&this[a("0x5c8")]!==D.STATUS_CONFIRMED)return!1;var o=new r(this[a("0x26f9")]);o.on("confirmed",(function(){i[a("0x386a")]()})),o[a("0xd30")](e,t)}function o(){var t=n;M(t("0x409b")),e[t("0x49dc")](486)}M(n("0x4574")),this.emit("replaces",{request:e,accept:function(e){i[n("0x3c6b")](a,e)},reject:function(){o[n("0x3c6b")](a)}})}},{key:t("0x3f33"),value:function(e,n,a){var r=t,i=this,o=new E(this._ua,this._request,{onRequestTimeout:function(){i[a2_0x37cf("0x10ad")]()},onTransportError:function(){i[a2_0x37cf("0x21e6")]()},onAuthenticated:function(e){i._request=e},onReceiveResponse:function(e){i[a2_0x37cf("0x4d25")](e)}});Promise[r("0x407b")]()[r("0x34e8")]((function(){var t=r;return a||(e[t("0x3201")]||e[t("0x430")]?(i[t("0x277f")]=!0,navigator[t("0x2ccc")][t("0x37d9")](e)[t("0x373a")]((function(e){var n=t;if(i[n("0x5c8")]===D[n("0x4c65")])throw new Error(n("0x45cc"));throw i._failed(n("0x4373"),null,b[n("0xbce")][n("0x2331")]),R(n("0x343f"),e),i[n("0xe39")](n("0x3e2e"),e),e}))):void 0)}))[r("0x34e8")]((function(e){var t=r;if(i[t("0x5c8")]===D.STATUS_TERMINATED)throw new Error(t("0x45cc"));return i[t("0x292e")]=e,e&&e[t("0x25e5")]().forEach((function(n){var a=t;i[a("0x2d7c")][a("0x85")](n,e)})),i[t("0x1d2d")](i[t("0x3809")]),i[t("0xe07")](t("0xfe6"),n)[t("0x373a")]((function(e){var n=t;throw i._failed(n("0x4373"),null,b[n("0xbce")][n("0x2eac")]),e}))}))[r("0x34e8")]((function(e){var t=r;if(i[t("0x174f")]||i[t("0x5c8")]===D.STATUS_TERMINATED)throw new Error("terminated");i[t("0x3809")][t("0x3b3e")]=e,i[t("0x5c8")]=D[t("0x10e5")],M(t("0x2085"),i[t("0x3809")]),i[t("0xe39")](t("0x3d95"),{request:i[t("0x3809")]}),o.send()}))[r("0x373a")]((function(e){var t=r;i._status!==D[t("0x4c65")]&&R(e)}))}},{key:"_getDTMFRTPSender",value:function(){var e=t,n=this[e("0x2d7c")].getSenders()[e("0x372f")]((function(t){var n=e;return t[n("0x1a00")]&&t[n("0x1a00")][n("0x37b9")]===n("0x3201")}));if(n&&n[e("0x422e")])return n.dtmf;R(e("0x1019"))}},{key:t("0x4d25"),value:function(e){var n=t,a=this;if(M(n("0x943")),this[n("0x4470")]&&e.status_code>=200&&e.status_code<=299){if(this[n("0x4470")].id[n("0x3b59")]===e.call_id&&this._dialog.id[n("0x3ea9")]===e.from_tag&&this[n("0x4470")].id[n("0x476b")]===e[n("0x442e")])return void this[n("0x4a31")](b[n("0x438a")]);var r=new S(this,e,n("0x3067"));return void 0!==r.error?void M(r[n("0x4ad3")]):(this.sendRequest(b[n("0x438a")]),void this.sendRequest(b[n("0x5a8")]))}if(this[n("0x174f")])e[n("0x2a7d")]>=100&&e[n("0x2a7d")]<200?this._request[n("0x4920")](this[n("0x1ee7")]):e[n("0x2a7d")]>=200&&e[n("0x2a7d")]<299&&this[n("0xcaf")](e);else if(this[n("0x5c8")]===D[n("0x10e5")]||this._status===D.STATUS_1XX_RECEIVED)switch(!0){case/^100$/[n("0x3ff3")](e[n("0x2a7d")]):this[n("0x5c8")]=D[n("0x2054")];break;case/^1[0-9]{2}$/.test(e.status_code):if(!e[n("0x442e")]){M(n("0xb37"));break}if(e[n("0x48ef")](n("0x406e"))&&!this[n("0x4744")](e,"UAC",!0))break;if(this[n("0x5c8")]=D.STATUS_1XX_RECEIVED,!e[n("0x3b3e")]){this._progress("remote",e);break}var i={originator:n("0x4f37"),type:n("0xe36"),sdp:e.body};M(n("0x2a96")),this[n("0xe39")](n("0x2e59"),i);var o=new RTCSessionDescription({type:n("0xe36"),sdp:i[n("0x2e59")]});this[n("0xa3c")]=this[n("0xa3c")][n("0x34e8")]((function(){return a._connection.setRemoteDescription(o)}))[n("0x34e8")]((function(){var t=n;return a._progress(t("0x4f37"),e)}))[n("0x373a")]((function(e){var t=n;R(t("0x3500"),e),a[t("0xe39")](t("0x897"),e)}));break;case/^2[0-9]{2}$/[n("0x3ff3")](e.status_code):if(this._status=D[n("0x881")],!e.body){this[n("0xcaf")](e,400,b[n("0xbce")][n("0x1a27")]),this[n("0x3f8d")](n("0x4f37"),e,b[n("0xbce")][n("0x4405")]);break}if(!this[n("0x4744")](e,n("0x3067")))break;var x={originator:n("0x4f37"),type:"answer",sdp:e[n("0x3b3e")]};M('emit "sdp"'),this.emit("sdp",x);var s=new RTCSessionDescription({type:n("0xe36"),sdp:x.sdp});this[n("0xa3c")]=this[n("0xa3c")][n("0x34e8")]((function(){var t=n;if(a._connection[t("0x1104")]===t("0xae"))return a[t("0x2d7c")][t("0x24ac")](a[t("0x281d")]).then((function(e){var n=t;return a._connection[n("0x4f0e")](e)}))[t("0x373a")]((function(n){var r=t;a[r("0xcaf")](e,500,n[r("0x3c88")]()),a[r("0x3f8d")]("local",e,b[r("0xbce")].WEBRTC_ERROR)}))}))[n("0x34e8")]((function(){var t=n;a[t("0x2d7c")][t("0x3079")](s)[t("0x34e8")]((function(){var n=t;a._handleSessionTimersInIncomingResponse(e),a._accepted(n("0x4f37"),e),a[n("0x4a31")](b[n("0x438a")]),a[n("0xc7b")](n("0x4373"),null)})).catch((function(n){var r=t;a[r("0xcaf")](e,488,r("0x2b91")),a[r("0x3f8d")](r("0x4f37"),e,b[r("0xbce")].BAD_MEDIA_DESCRIPTION),R(r("0x3500"),n),a[r("0xe39")](r("0x897"),n)}))}));break;default:var c=h[n("0x1661")](e[n("0x2a7d")]);this[n("0x3f8d")](n("0x4f37"),e,c)}}},{key:t("0x459"),value:function(){var e=t,n=this,a=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};M("sendReinvite()");var r=h[e("0xdd6")](a[e("0x133d")]),i=h[e("0xb9")](a.eventHandlers),o=a[e("0x195f")]||this[e("0x281d")]||null,x=!1;function s(t){var n=e,a=this;if(this[n("0x5c8")]!==D.STATUS_TERMINATED&&(this[n("0x4a31")](b[n("0x438a")]),!x))if(this[n("0x4adb")](t),t[n("0x3b3e")])if(t[n("0x48ef")](n("0x1800"))&&t[n("0x3bef")](n("0x1800"))[n("0x2eb9")]()===n("0x3ed7")){var r={originator:"remote",type:"answer",sdp:t[n("0x3b3e")]};M(n("0x2a96")),this[n("0xe39")](n("0x2e59"),r);var o=new RTCSessionDescription({type:n("0xe36"),sdp:r[n("0x2e59")]});this[n("0xa3c")]=this[n("0xa3c")][n("0x34e8")]((function(){return a._connection.setRemoteDescription(o)}))[n("0x34e8")]((function(){var e=n;i[e("0x1368")]&&i[e("0x1368")](t)}))[n("0x373a")]((function(e){var t=n;c[t("0x3c6b")](a),R(t("0x3500"),e),a[t("0xe39")](t("0x897"),e)}))}else c.call(this);else c[n("0x3c6b")](this)}function c(t){var n=e;i[n("0xd3")]&&i[n("0xd3")](t)}r[e("0x459a")](e("0x111e").concat(this._contact)),r.push("Content-Type: application/sdp"),this[e("0x9ca")][e("0x144a")]&&r.push(e("0xa7a")[e("0x3abc")](this[e("0x9ca")][e("0x3470")],";refresher=")[e("0x3abc")](this[e("0x9ca")].refresher?e("0x1fb4"):e("0x34d8"))),this[e("0xa3c")]=this[e("0xa3c")][e("0x34e8")]((function(){var t=e;return n[t("0xe07")](t("0xfe6"),o)})).then((function(t){var a=e;t=n[a("0xf42")](t);var i={originator:a("0x4373"),type:a("0xfe6"),sdp:t};M('emit "sdp"'),n[a("0xe39")](a("0x2e59"),i),n[a("0x4a31")](b[a("0x4a79")],{extraHeaders:r,body:t,eventHandlers:{onSuccessResponse:function(e){s.call(n,e),x=!0},onErrorResponse:function(e){c[a("0x3c6b")](n,e)},onTransportError:function(){n[a("0x21e6")]()},onRequestTimeout:function(){n[a("0x10ad")]()},onDialogError:function(){n[a("0x132e")]()}}})}))[e("0x373a")]((function(){c()}))}},{key:"_sendUpdate",value:function(){var e=t,n=this,a=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};M(e("0x385b"));var r=h[e("0xdd6")](a[e("0x133d")]),i=h[e("0xb9")](a.eventHandlers),o=a[e("0x195f")]||this[e("0x281d")]||null,x=a[e("0x3143")]||!1,s=!1;function c(t){var n=e,a=this;if(this[n("0x5c8")]!==D.STATUS_TERMINATED&&!s)if(this[n("0x4adb")](t),x){if(!t[n("0x3b3e")])return void l[n("0x3c6b")](this);if(!t[n("0x48ef")](n("0x1800"))||t[n("0x3bef")](n("0x1800")).toLowerCase()!==n("0x3ed7"))return void l[n("0x3c6b")](this);var r={originator:"remote",type:n("0xe36"),sdp:t[n("0x3b3e")]};M(n("0x2a96")),this[n("0xe39")]("sdp",r);var o=new RTCSessionDescription({type:n("0xe36"),sdp:r[n("0x2e59")]});this._connectionPromiseQueue=this[n("0xa3c")][n("0x34e8")]((function(){var e=n;return a[e("0x2d7c")][e("0x3079")](o)}))[n("0x34e8")]((function(){var e=n;i[e("0x1368")]&&i[e("0x1368")](t)}))[n("0x373a")]((function(e){var t=n;l[t("0x3c6b")](a),R(t("0x3500"),e),a.emit("peerconnection:setremotedescriptionfailed",e)}))}else i[n("0x1368")]&&i.succeeded(t)}function l(t){var n=e;i[n("0xd3")]&&i[n("0xd3")](t)}r[e("0x459a")](e("0x111e")[e("0x3abc")](this[e("0x3681")])),this[e("0x9ca")][e("0x144a")]&&r[e("0x459a")](e("0xa7a")[e("0x3abc")](this[e("0x9ca")][e("0x3470")],e("0x4261"))[e("0x3abc")](this[e("0x9ca")][e("0x3777")]?e("0x1fb4"):e("0x34d8"))),x?(r[e("0x459a")](e("0x329")),this[e("0xa3c")]=this[e("0xa3c")].then((function(){return n[e("0xe07")]("offer",o)})).then((function(t){var a=e;t=n[a("0xf42")](t);var i={originator:a("0x4373"),type:"offer",sdp:t};M(a("0x2a96")),n.emit(a("0x2e59"),i),n[a("0x4a31")](b[a("0x14f")],{extraHeaders:r,body:t,eventHandlers:{onSuccessResponse:function(e){c[a("0x3c6b")](n,e),s=!0},onErrorResponse:function(e){l[a("0x3c6b")](n,e)},onTransportError:function(){n[a("0x21e6")]()},onRequestTimeout:function(){n[a("0x10ad")]()},onDialogError:function(){n[a("0x132e")]()}}})})).catch((function(){l[e("0x3c6b")](n)}))):this.sendRequest(b[e("0x14f")],{extraHeaders:r,eventHandlers:{onSuccessResponse:function(t){c[e("0x3c6b")](n,t)},onErrorResponse:function(t){l[e("0x3c6b")](n,t)},onTransportError:function(){n[e("0x21e6")]()},onRequestTimeout:function(){n[e("0x10ad")]()},onDialogError:function(){n[e("0x132e")]()}}})}},{key:"_acceptAndTerminate",value:function(e,n,a){var r=t;M(r("0x2df4"));var i=[];n&&(a=a||b[r("0x1a83")][n]||"",i[r("0x459a")](r("0x1d7c")[r("0x3abc")](n,r("0x2609")).concat(a,'"'))),(this[r("0x4470")]||this[r("0x4744")](e,r("0x3067")))&&(this.sendRequest(b[r("0x438a")]),this[r("0x4a31")](b.BYE,{extraHeaders:i})),this[r("0x5c8")]=D[r("0x4c65")]}},{key:t("0xf42"),value:function(e){var n=t;if(!this[n("0x1bf3")]&&!this[n("0x18a0")])return e;if(e=m[n("0x1fb8")](e),this[n("0x1bf3")]&&!this[n("0x18a0")]){M(n("0x1ec2"));var a,r=i(e[n("0x4f11")]);try{for(r.s();!(a=r.n())[n("0x2d52")];){var o=a[n("0x3a33")];-1!==I[n("0x3507")](o.type)&&(o[n("0xb72")]?"sendrecv"===o.direction?o.direction="sendonly":o.direction===n("0xd0f")&&(o[n("0xb72")]=n("0x21d7")):o[n("0xb72")]=n("0x2424"))}}catch(e){r.e(e)}finally{r.f()}}else if(this._localHold&&this[n("0x18a0")]){M(n("0x41a6"));var x,s=i(e[n("0x4f11")]);try{for(s.s();!(x=s.n())[n("0x2d52")];){var c=x[n("0x3a33")];-1!==I[n("0x3507")](c[n("0x3298")])&&(c[n("0xb72")]=n("0x21d7"))}}catch(e){s.e(e)}finally{s.f()}}else if(this[n("0x18a0")]){M(n("0x39a3"));var l,d=i(e[n("0x4f11")]);try{for(d.s();!(l=d.n()).done;){var u=l[n("0x3a33")];-1!==I[n("0x3507")](u[n("0x3298")])&&(u[n("0xb72")]?u.direction===n("0x31d8")?u[n("0xb72")]=n("0xd0f"):"recvonly"===u.direction&&(u.direction="inactive"):u.direction=n("0xd0f"))}}catch(e){d.e(e)}finally{d.f()}}return m.write(e)}},{key:t("0x41c9"),value:function(){var e=t,n=!0,a=!0;(this[e("0x1bf3")]||this[e("0x18a0")])&&(n=!1,a=!1),this[e("0x1c89")]&&(n=!1),this[e("0x28a0")]&&(a=!1),this[e("0x220a")](!n),this[e("0x46db")](!a)}},{key:t("0x2aaf"),value:function(e,n){var a,r=t;this[r("0x9ca")][r("0x48b5")]&&(e[r("0x3411")]&&e[r("0x3411")]>=b[r("0x158c")]?(this[r("0x9ca")][r("0x3470")]=e[r("0x3411")],a=e.session_expires_refresher||"uas"):(this._sessionTimers[r("0x3470")]=this[r("0x9ca")][r("0x1d2e")],a=r("0x34d8")),n.push(r("0xa7a").concat(this[r("0x9ca")][r("0x3470")],r("0x4261"))[r("0x3abc")](a)),this[r("0x9ca")][r("0x3777")]=a===r("0x34d8"),this[r("0x119a")]())}},{key:t("0x4adb"),value:function(e){var n,a=t;this[a("0x9ca")][a("0x48b5")]&&(e[a("0x3411")]&&e[a("0x3411")]>=b.MIN_SESSION_EXPIRES?(this[a("0x9ca")][a("0x3470")]=e[a("0x3411")],n=e.session_expires_refresher||"uac"):(this._sessionTimers[a("0x3470")]=this[a("0x9ca")].defaultExpires,n="uac"),this[a("0x9ca")][a("0x3777")]=n===a("0x1fb4"),this[a("0x119a")]())}},{key:t("0x119a"),value:function(){var e=t,n=this,a=this[e("0x9ca")].currentExpires;this[e("0x9ca")][e("0x144a")]=!0,clearTimeout(this[e("0x9ca")][e("0x217")]),this[e("0x9ca")].refresher?this[e("0x9ca")].timer=setTimeout((function(){var t=e;n[t("0x5c8")]!==D.STATUS_TERMINATED&&(M(t("0x151d")),n[t("0x9ca")].refreshMethod===b[t("0x14f")]?n[t("0x4139")]():n[t("0x459")]())}),500*a):this[e("0x9ca")][e("0x217")]=setTimeout((function(){var t=e;n[t("0x5c8")]!==D[t("0x4c65")]&&(R(t("0x955")),n[t("0x386a")]({cause:b[t("0xbce")][t("0x3d1d")],status_code:408,reason_phrase:t("0x4ec7")}))}),1100*a)}},{key:"_toggleMuteAudio",value:function(e){var n,a=t,r=i(this._connection.getSenders().filter((function(e){var t=a2_0x37cf;return e.track&&e[t("0x1a00")][t("0x37b9")]===t("0x3201")})));try{for(r.s();!(n=r.n()).done;){n[a("0x3a33")][a("0x1a00")][a("0x48b5")]=!e}}catch(e){r.e(e)}finally{r.f()}}},{key:t("0x46db"),value:function(e){var n,a=t,r=i(this._connection[a("0x41f9")]()[a("0x6a6")]((function(e){return e[a("0x1a00")]&&"video"===e.track.kind})));try{for(r.s();!(n=r.n())[a("0x2d52")];){n.value.track[a("0x48b5")]=!e}}catch(e){r.e(e)}finally{r.f()}}},{key:"_newRTCSession",value:function(e,n){var a=t;M(a("0xe61")),this[a("0x26f9")][a("0x37c")](this,{originator:e,session:this,request:n})}},{key:t("0x1d2d"),value:function(e){var n=t;M(n("0x4d54")),M('emit "connecting"'),this[n("0xe39")]("connecting",{request:e})}},{key:t("0x382"),value:function(e,n){var a=t;M("session progress"),M(a("0x1df9")),this.emit(a("0x259c"),{originator:e,response:n||null})}},{key:t("0x37f8"),value:function(e,n){var a=t;M("session accepted"),this[a("0x984")]=new Date,M(a("0x4ee0")),this[a("0xe39")](a("0x15ba"),{originator:e,response:n||null})}},{key:t("0xc7b"),value:function(e,n){var a=t;M(a("0x3204")),this[a("0x4026")]=!0,M('emit "confirmed"'),this[a("0xe39")](a("0x1d74"),{originator:e,ack:n||null})}},{key:t("0x335d"),value:function(e,n,a){var r=t;M(r("0x438b")),this._end_time=new Date,this._close(),M('emit "ended"'),this.emit(r("0x712"),{originator:e,message:n||null,cause:a})}},{key:t("0x3f8d"),value:function(e,n,a){var r=t;M(r("0x1191")),M('emit "_failed"'),this[r("0xe39")]("_failed",{originator:e,message:n||null,cause:a}),this._close(),M('emit "failed"'),this[r("0xe39")](r("0xd3"),{originator:e,message:n||null,cause:a})}},{key:t("0x160a"),value:function(e){var n=t;M(n("0x355c")),this[n("0x41c9")](),M(n("0x2afe")),this[n("0xe39")](n("0x1d8"),{originator:e})}},{key:t("0x1555"),value:function(e){var n=t;M(n("0x3b9c")),this[n("0x41c9")](),M(n("0x980")),this.emit(n("0x2b62"),{originator:e})}},{key:t("0x44b6"),value:function(e){var n=t,a=e[n("0x3201")],r=e[n("0x430")];M(n("0x210b")),this[n("0x41c9")](),M('emit "muted"'),this[n("0xe39")](n("0x20ae"),{audio:a,video:r})}},{key:t("0x1794"),value:function(e){var n=t,a=e.audio,r=e[n("0x430")];M("session onunmute"),this[n("0x41c9")](),M(n("0x7d6")),this.emit(n("0x4132"),{audio:a,video:r})}},{key:"C",get:function(){return D}},{key:t("0xbce"),get:function(){return b[t("0xbce")]}},{key:"id",get:function(){return this[t("0x2e81")]}},{key:t("0x360e"),get:function(){return this[t("0x2d7c")]}},{key:t("0x406e"),get:function(){return this[t("0x3681")]}},{key:t("0xb72"),get:function(){return this[t("0x3085")]}},{key:t("0xbf"),get:function(){return this[t("0x21ef")]}},{key:t("0x161"),get:function(){return this[t("0x4aed")]}},{key:t("0x15d0"),get:function(){return this._start_time}},{key:"end_time",get:function(){return this[t("0x19bd")]}},{key:t("0x237c"),get:function(){return this[t("0x3e7b")]},set:function(e){this._data=e}},{key:"status",get:function(){return this[t("0x5c8")]}}]),r}(f)},4481:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return(r="function"==typeof Symbol&&typeof Symbol[t("0x1275")]===t("0x40c6")?function(e){return typeof e}:function(e){var n=t;return e&&typeof Symbol===n("0x3349")&&e.constructor===Symbol&&e!==Symbol[n("0x20f")]?"symbol":typeof e})(e)}function i(e,t){for(var n=a2_0x37cf,a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r.key,r)}}function o(e,t){return(o=Object[a2_0x37cf("0x409e")]||function(e,t){return e.__proto__=t,e})(e,t)}function x(e){var t=function(){var e=a2_0x37cf;if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if("function"==typeof Proxy)return!0;try{return Date[e("0x20f")][e("0x3c88")][e("0x3c6b")](Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=c(e);if(t){var i=c(this).constructor;n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r[a("0x4884")](this,arguments);return s(this,n)}}function s(e,t){var n=a2_0x37cf;return!t||r(t)!==n("0x1b1d")&&"function"!=typeof t?function(e){var t=a2_0x37cf;if(void 0===e)throw new ReferenceError(t("0x2d10"));return e}(e):t}function c(e){var t=a2_0x37cf;return(c=Object[t("0x409e")]?Object.getPrototypeOf:function(e){var n=t;return e.__proto__||Object[n("0x3e2a")](e)})(e)}var l=n(7187)[a("0x1038")],d=n(965),u=n(8063),f=n(5424),m=n(1227)(a("0x2e50"));n(1227)(a("0x2e66")).log=console[a("0x1dc6")][a("0x2b0c")](console);var b={MIN_DURATION:70,MAX_DURATION:6e3,DEFAULT_DURATION:100,MIN_INTER_TONE_GAP:50,DEFAULT_INTER_TONE_GAP:500};e[a("0x33f9")]=function(e){var t=a;!function(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError(n("0x631"));e[n("0x20f")]=Object[n("0x4b8c")](t&&t[n("0x20f")],{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(l,e);var n,r,s,c=x(l);function l(e){var t,n=a2_0x37cf;return function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,l),(t=c[n("0x3c6b")](this))[n("0x4e04")]=e,t._direction=null,t[n("0x2425")]=null,t[n("0x1d8f")]=null,t[n("0x3809")]=null,t}return n=l,(r=[{key:"send",value:function(e){var t=a2_0x37cf,n=this,a=arguments[t("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw new TypeError(t("0x35e8"));if(this[t("0x3085")]=t("0x759"),this[t("0x4e04")][t("0x4e5c")]!==this._session.C[t("0x881")]&&this[t("0x4e04")].status!==this[t("0x4e04")].C[t("0x3e51")])throw new u.InvalidStateError(this[t("0x4e04")].status);var r=f.cloneArray(a[t("0x133d")]);if(this[t("0x464d")]=f[t("0xb9")](a.eventHandlers),typeof e===t("0x38b7"))e=e.toUpperCase();else{if(typeof e!==t("0x2231"))throw new TypeError(t("0x2d2d").concat(e));e=e.toString()}if(!e.match(/^[0-9A-DR#*]$/))throw new TypeError(t("0x2d2d")[t("0x3abc")](e));this[t("0x2425")]=e,this[t("0x1d8f")]=a.duration,r.push(t("0x3b88"));var i=t("0x1515")[t("0x3abc")](this[t("0x2425")],"\r\n");i+=t("0x57d")[t("0x3abc")](this[t("0x1d8f")]),this._session[t("0x153f")]({originator:t("0x4373"),dtmf:this,request:this._request}),this[t("0x4e04")][t("0x4a31")](d[t("0x1817")],{extraHeaders:r,eventHandlers:{onSuccessResponse:function(e){var a=t;n[a("0xe39")](a("0x1368"),{originator:a("0x4f37"),response:e})},onErrorResponse:function(e){var a=t;n.eventHandlers.onFailed&&n.eventHandlers[a("0x3425")](),n[a("0xe39")](a("0xd3"),{originator:a("0x4f37"),response:e})},onRequestTimeout:function(){var e=t;n[e("0x4e04")][e("0x10ad")]()},onTransportError:function(){var e=t;n._session[e("0x21e6")]()},onDialogError:function(){var e=t;n[e("0x4e04")][e("0x132e")]()}},body:i})}},{key:t("0xd30"),value:function(e){var n=t,a=/^(Signal\s*?=\s*?)([0-9A-D#*]{1})(\s)?.*/,r=/^(Duration\s?=\s?)([0-9]{1,4})(\s)?.*/;if(this[n("0x3085")]=n("0x3aa3"),this[n("0x3809")]=e,e[n("0x49dc")](200),e[n("0x3b3e")]){var i=e[n("0x3b3e")][n("0x9e5")]("\n");i.length>=1&&a[n("0x3ff3")](i[0])&&(this[n("0x2425")]=i[0].replace(a,"$2")),i[n("0x5e9")]>=2&&r.test(i[1])&&(this[n("0x1d8f")]=parseInt(i[1][n("0x3cc0")](r,"$2"),10))}!this[n("0x1d8f")]&&(this._duration=b[n("0x4e3f")]),this[n("0x2425")]?this[n("0x4e04")][n("0x153f")]({originator:n("0x4f37"),dtmf:this,request:e}):m(n("0x4038"))}},{key:t("0x1308"),get:function(){return this._tone}},{key:t("0x40b2"),get:function(){return this[t("0x1d8f")]}}])&&i(n[a2_0x37cf("0x20f")],r),s&&i(n,s),l}(l),e[a("0x33f9")].C=b},4748:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return t("0x2939"),(r=typeof Symbol===t("0x3349")&&typeof Symbol[t("0x1275")]===t("0x40c6")?function(e){return typeof e}:function(e){var n=t;return e&&"function"==typeof Symbol&&e[n("0x11ae")]===Symbol&&e!==Symbol.prototype?n("0x40c6"):typeof e})(e)}function i(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object.defineProperty(e,r.key,r)}}function o(e,t){var n=a2_0x37cf;return(o=Object[n("0x409e")]||function(e,t){return e[n("0x287c")]=t,e})(e,t)}function x(e){var t=function(){var e=a2_0x37cf;if(typeof Reflect===e("0xc42")||!Reflect.construct)return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if("function"==typeof Proxy)return!0;try{return Date[e("0x20f")][e("0x3c88")][e("0x3c6b")](Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=c(e);if(t){var i=c(this)[a("0x11ae")];n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r.apply(this,arguments);return s(this,n)}}function s(e,t){var n=a2_0x37cf;return!t||r(t)!==n("0x1b1d")&&typeof t!==n("0x3349")?function(e){var t=a2_0x37cf;if(void 0===e)throw new ReferenceError(t("0x2d10"));return e}(e):t}function c(e){var t=a2_0x37cf;return(c=Object[t("0x409e")]?Object[t("0x3e2a")]:function(e){var n=t;return e[n("0x287c")]||Object[n("0x3e2a")](e)})(e)}var l=n(7187)[a("0x1038")];n(1227)(a("0x14d6"))[a("0x10f3")]=console[a("0x1dc6")][a("0x2b0c")](console);var d=n(965),u=n(8063),f=n(5424);e.exports=function(e){var t=a;!function(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError(n("0x631"));e[n("0x20f")]=Object[n("0x4b8c")](t&&t[n("0x20f")],{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(l,e);var n,r,s,c=x(l);function l(e){var t,n=a2_0x37cf;return function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,l),(t=c[n("0x3c6b")](this))[n("0x4e04")]=e,t._direction=null,t[n("0x20dc")]=null,t[n("0x455e")]=null,t}return n=l,(r=[{key:"send",value:function(e,t){var n=a2_0x37cf,a=this,r=arguments[n("0x5e9")]>2&&void 0!==arguments[2]?arguments[2]:{};if(this[n("0x3085")]=n("0x759"),void 0===e)throw new TypeError(n("0x35e8"));if(this[n("0x4e04")].status!==this[n("0x4e04")].C[n("0x881")]&&this[n("0x4e04")][n("0x4e5c")]!==this[n("0x4e04")].C[n("0x3e51")])throw new(u[n("0x2655")])(this._session[n("0x4e5c")]);this[n("0x20dc")]=e,this[n("0x455e")]=t;var i=f[n("0xdd6")](r[n("0x133d")]);i[n("0x459a")](n("0x9").concat(e)),this._session[n("0x1711")]({originator:n("0x4373"),info:this,request:this[n("0x38ce")]}),this[n("0x4e04")][n("0x4a31")](d[n("0x1817")],{extraHeaders:i,eventHandlers:{onSuccessResponse:function(e){var t=n;a[t("0xe39")]("succeeded",{originator:t("0x4f37"),response:e})},onErrorResponse:function(e){var t=n;a[t("0xe39")](t("0xd3"),{originator:t("0x4f37"),response:e})},onTransportError:function(){var e=n;a._session[e("0x21e6")]()},onRequestTimeout:function(){var e=n;a[e("0x4e04")][e("0x10ad")]()},onDialogError:function(){var e=n;a[e("0x4e04")][e("0x132e")]()}},body:t})}},{key:t("0xd30"),value:function(e){var n=t;this[n("0x3085")]=n("0x3aa3"),this[n("0x38ce")]=e,e[n("0x49dc")](200),this[n("0x20dc")]=e[n("0x48ef")](n("0x1800"))?e[n("0x3bef")]("Content-Type")[n("0x2eb9")]():void 0,this._body=e[n("0x3b3e")],this[n("0x4e04")][n("0x1711")]({originator:n("0x4f37"),info:this,request:e})}},{key:t("0x18ff"),get:function(){return this[t("0x20dc")]}},{key:t("0x3b3e"),get:function(){return this[t("0x455e")]}}])&&i(n[a2_0x37cf("0x20f")],r),s&&i(n,s),l}(l)},5774:(e,t,n)=>{var a=_0x299160;function r(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}var i=n(965),o=n(1227)(a("0x10f1")),x={event_type:a("0x2c62"),body_type:a("0x3b4"),expires:300};e.exports=function(){var e,t,n,s=a;function c(e,t,n){var a=a2_0x37cf;(function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))})(this,c),this[a("0x4e04")]=e,this[a("0x2e81")]=t,this[a("0x36e7")]=n||x[a("0x3176")],this[a("0x5a3")]=!0,this[a("0x1552")](100)}return e=c,(t=[{key:s("0x1552"),value:function(e,t){var n,a=s;o(a("0x314e")),!1!==this[a("0x5a3")]&&(t=t||i[a("0x1a83")][e]||"",n=e>=200?a("0x2346"):a("0x19ea")[a("0x3abc")](this._expires),this[a("0x4e04")][a("0x4a31")](i[a("0x395c")],{extraHeaders:[a("0x4b57")[a("0x3abc")](x[a("0xebb")],a("0x273a"))[a("0x3abc")](this[a("0x2e81")]),a("0x363f")[a("0x3abc")](n),"Content-Type: "[a("0x3abc")](x[a("0x1749")])],body:a("0x20db").concat(e," ").concat(t),eventHandlers:{onErrorResponse:function(){this[a("0x5a3")]=!1}}}))}}])&&r(e[a2_0x37cf("0x20f")],t),n&&r(e,n),c}()},603:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return t("0x2939"),(r="function"==typeof Symbol&&"symbol"==typeof Symbol[t("0x1275")]?function(e){return typeof e}:function(e){var n=t;return e&&typeof Symbol===n("0x3349")&&e.constructor===Symbol&&e!==Symbol[n("0x20f")]?"symbol":typeof e})(e)}function i(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r.key,r)}}function o(e,t){var n=a2_0x37cf;return(o=Object[n("0x409e")]||function(e,t){return e[n("0x287c")]=t,e})(e,t)}function x(e){var t=function(){var e=a2_0x37cf;if("undefined"==typeof Reflect||!Reflect[e("0x3a1b")])return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if(typeof Proxy===e("0x3349"))return!0;try{return Date[e("0x20f")][e("0x3c88")][e("0x3c6b")](Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=c(e);if(t){var i=c(this)[a("0x11ae")];n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r[a("0x4884")](this,arguments);return s(this,n)}}function s(e,t){var n=a2_0x37cf;return!t||r(t)!==n("0x1b1d")&&typeof t!==n("0x3349")?function(e){var t=a2_0x37cf;if(void 0===e)throw new ReferenceError(t("0x2d10"));return e}(e):t}function c(e){var t=a2_0x37cf;return(c=Object[t("0x409e")]?Object[t("0x3e2a")]:function(e){var n=t;return e[n("0x287c")]||Object[n("0x3e2a")](e)})(e)}var l=n(7187).EventEmitter,d=n(965),u=n(3790),f=n(5424),m=n(1227)(a("0x8d8"));e[a("0x33f9")]=function(e){var t=a;!function(e,t){var n=a2_0x37cf;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object[n("0x4b8c")](t&&t[n("0x20f")],{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(l,e);var n,r,s,c=x(l);function l(e){var t,n=a2_0x37cf;return function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,l),(t=c[n("0x3c6b")](this))[n("0x2e81")]=null,t[n("0x4e04")]=e,t}return n=l,(r=[{key:t("0x472d"),value:function(e){var n=t,a=this,r=arguments[n("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:{};m(n("0x3e56"));var i=f[n("0xdd6")](r[n("0x133d")]),o=f.cloneObject(r[n("0x464d")]);for(var x in o)Object[n("0x20f")][n("0x1bd4")].call(o,x)&&this.on(x,o[x]);var s=null;r[n("0x3866")]&&(s=r.replaces[n("0x3809")][n("0x3b59")],s+=n("0x1751")[n("0x3abc")](r[n("0x3866")][n("0x1c33")]),s+=n("0xec4").concat(r.replaces._from_tag),s=encodeURIComponent(s));var c=n("0x60d")[n("0x3abc")](e)[n("0x3abc")](s?n("0x4a23")[n("0x3abc")](s):"",">");i[n("0x459a")](c);var l=n("0x3aa2").concat(this[n("0x4e04")][n("0x26f9")][n("0x38af")][n("0x234")][n("0x1644")],":")[n("0x3abc")](this[n("0x4e04")][n("0x26f9")]._configuration[n("0x234")][n("0x48f9")],"@")[n("0x3abc")](this[n("0x4e04")][n("0x26f9")][n("0x38af")][n("0x234")][n("0x3d21")],">");i[n("0x459a")](l),i[n("0x459a")](n("0x111e")[n("0x3abc")](this[n("0x4e04")][n("0x406e")]));var u=this._session[n("0x4a31")](d[n("0x39f0")],{extraHeaders:i,eventHandlers:{onSuccessResponse:function(e){a._requestSucceeded(e)},onErrorResponse:function(e){var t=n;a[t("0x37d1")](e,d[t("0xbce")][t("0x3af0")])},onTransportError:function(){var e=n;a[e("0x37d1")](null,d.causes[e("0x4e8e")])},onRequestTimeout:function(){var e=n;a[e("0x37d1")](null,d[e("0xbce")][e("0x3d1d")])},onDialogError:function(){var e=n;a[e("0x37d1")](null,d.causes[e("0xa28")])}}});this[n("0x2e81")]=u[n("0x1c27")]}},{key:t("0x2ba7"),value:function(e){var n=t;if(m(n("0x3c2d")),e[n("0x3b3e")]){var a=u[n("0x1fb8")](e[n("0x3b3e")][n("0x2dc4")](),"Status_Line");if(-1!==a)switch(!0){case/^100$/[n("0x3ff3")](a.status_code):this[n("0xe39")](n("0x1337"),{request:e,status_line:a});break;case/^1[0-9]{2}$/[n("0x3ff3")](a[n("0x2a7d")]):this.emit(n("0x259c"),{request:e,status_line:a});break;case/^2[0-9]{2}$/[n("0x3ff3")](a[n("0x2a7d")]):this[n("0xe39")](n("0x15ba"),{request:e,status_line:a});break;default:this[n("0xe39")](n("0xd3"),{request:e,status_line:a})}else m(n("0x13fc").concat(e[n("0x3b3e")],'"'))}}},{key:t("0x22ec"),value:function(e){var n=t;m(n("0x4ce7")),m('emit "requestSucceeded"'),this[n("0xe39")]("requestSucceeded",{response:e})}},{key:t("0x37d1"),value:function(e,n){var a=t;m(a("0xd31")),m(a("0x3ad2")),this[a("0xe39")](a("0x1478"),{response:e||null,cause:n})}},{key:"id",get:function(){return this._id}}])&&i(n[a2_0x37cf("0x20f")],r),s&&i(n,s),l}(l)},116:(e,t,n)=>{var a=_0x299160;function r(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}var i=n(5424),o=n(965),x=n(6497),s=n(2066),c=n(1227)(a("0x1501"));e[a("0x33f9")]=function(){var e,t,n,l=a;function d(e,t){var n=a2_0x37cf;!function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,d);this._ua=e,this[n("0x4fe1")]=t,this[n("0x379b")]=e.configuration[n("0x7bd")],this[n("0x36e7")]=e[n("0x1f25")].register_expires,this[n("0xd54")]=i.createRandomToken(22),this._cseq=0,this[n("0x47a7")]=e[n("0x1f25")][n("0x234")],this._registrationTimer=null,this[n("0x30b5")]=!1,this._registered=!1,this[n("0x3681")]=this._ua[n("0x406e")][n("0x3c88")](),this[n("0x3681")]+=n("0x2b7d"),this._extraHeaders=[],this._extraContactParams="",this[n("0x3681")]+=n("0x25fa").concat(1),this._contact+=n("0x32b6")[n("0x3abc")](this[n("0x26f9")][n("0x1f25")][n("0x2d05")],'>"')}return e=d,(t=[{key:"setExtraHeaders",value:function(e){var t=a2_0x37cf;!Array[t("0x498f")](e)&&(e=[]),this[t("0x4fa5")]=e[t("0x9b3")]()}},{key:l("0x4065"),value:function(e){var t=l;for(var n in!(e instanceof Object)&&(e={}),this[t("0x46ad")]="",e)if(Object[t("0x20f")][t("0x1bd4")][t("0x3c6b")](e,n)){var a=e[n];this[t("0x46ad")]+=";".concat(n),a&&(this._extraContactParams+="=".concat(a))}}},{key:"register",value:function(){var e=l,t=this;if(this[e("0x30b5")])c(e("0x2e0b"));else{var n=this._extraHeaders[e("0x9b3")]();n[e("0x459a")](e("0x111e")[e("0x3abc")](this[e("0x3681")],e("0x24f3"))[e("0x3abc")](this[e("0x36e7")])[e("0x3abc")](this[e("0x46ad")])),n[e("0x459a")]("Expires: "[e("0x3abc")](this[e("0x36e7")]));var a=new(x[e("0x4dd3")])(o[e("0x1f8c")],this._registrar,this._ua,{to_uri:this._to_uri,call_id:this[e("0xd54")],cseq:this[e("0x3a39")]+=1},n),r=new s(this[e("0x26f9")],a,{onRequestTimeout:function(){var n=e;t[n("0x4fb")](null,o[n("0xbce")][n("0x3d1d")])},onTransportError:function(){var n=e;t[n("0x4fb")](null,o[n("0xbce")].CONNECTION_ERROR)},onAuthenticated:function(){t._cseq+=1},onReceiveResponse:function(n){var a=e;if(n[a("0x1c27")]===t[a("0x3a39")])switch(null!==t._registrationTimer&&(clearTimeout(t[a("0x1b89")]),t._registrationTimer=null),!0){case/^1[0-9]{2}$/[a("0x3ff3")](n[a("0x2a7d")]):break;case/^2[0-9]{2}$/[a("0x3ff3")](n[a("0x2a7d")]):if(t[a("0x30b5")]=!1,!n.hasHeader(a("0x1e81"))){c(a("0x2ce0"));break}var r=n[a("0x65c")][a("0x1e81")][a("0x2e06")]((function(e,t){return e[a("0x3abc")](t.parsed)}),[])[a("0x372f")]((function(e){var n=a;return e[n("0x234")][n("0x3c64")]===t[n("0x26f9")][n("0x406e")][n("0x234")].user}));if(!r){c("no Contact header pointing to us, response ignored");break}var x=r[a("0x32c")](a("0x3176"));!x&&n.hasHeader(a("0x3176"))&&(x=n[a("0x3bef")](a("0x3176"))),!x&&(x=t[a("0x36e7")]),(x=Number(x))<10&&(x=10);var s=x>64?1e3*x/2+Math[a("0x4184")](1e3*(x/2-32)*Math.random()):1e3*x-5e3;t[a("0x1b89")]=setTimeout((function(){var e=a;t[e("0x1b89")]=null,0===t[e("0x26f9")][e("0x22a0")](e("0x4f6e")).length?t[e("0x4ce9")]():t._ua[e("0xe39")](e("0x4f6e"))}),s),r[a("0x2d13")](a("0x13c7"))&&(t[a("0x26f9")][a("0x406e")][a("0x31ae")]=r.getParam(a("0x13c7"))[a("0x3cc0")](/"/g,"")),r[a("0x2d13")](a("0x3e55"))&&(t[a("0x26f9")][a("0x406e")][a("0x2cdd")]=r[a("0x32c")](a("0x3e55"))[a("0x3cc0")](/"/g,"")),!t[a("0x2c36")]&&(t._registered=!0,t[a("0x26f9")][a("0x4c6d")]({response:n}));break;case/^423$/[a("0x3ff3")](n[a("0x2a7d")]):n[a("0x48ef")](a("0x1fca"))?(t._expires=Number(n.getHeader(a("0x1fca"))),t._expires<10&&(t[a("0x36e7")]=10),t[a("0x4ce9")]()):(c("423 response received for REGISTER without Min-Expires"),t[a("0x4fb")](n,o.causes[a("0x154f")]));break;default:var l=i.sipErrorCause(n[a("0x2a7d")]);t[a("0x4fb")](n,l)}}});this[e("0x30b5")]=!0,r.send()}}},{key:l("0x3116"),value:function(){var e=l,t=this,n=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:{};if(this[e("0x2c36")]){this[e("0x2c36")]=!1,null!==this[e("0x1b89")]&&(clearTimeout(this[e("0x1b89")]),this[e("0x1b89")]=null);var a=this[e("0x4fa5")][e("0x9b3")]();n.all?a[e("0x459a")](e("0x2360")[e("0x3abc")](this[e("0x46ad")])):a[e("0x459a")]("Contact: "[e("0x3abc")](this[e("0x3681")],";expires=0")[e("0x3abc")](this[e("0x46ad")])),a[e("0x459a")](e("0x1bca"));var r=new(x[e("0x4dd3")])(o[e("0x1f8c")],this[e("0x379b")],this[e("0x26f9")],{to_uri:this[e("0x47a7")],call_id:this[e("0xd54")],cseq:this[e("0x3a39")]+=1},a),d=new s(this[e("0x26f9")],r,{onRequestTimeout:function(){t._unregistered(null,o.causes.REQUEST_TIMEOUT)},onTransportError:function(){var n=e;t._unregistered(null,o[n("0xbce")][n("0x4e8e")])},onAuthenticated:function(){t[e("0x3a39")]+=1},onReceiveResponse:function(n){var a=e;switch(!0){case/^1[0-9]{2}$/[a("0x3ff3")](n[a("0x2a7d")]):break;case/^2[0-9]{2}$/[a("0x3ff3")](n[a("0x2a7d")]):t._unregistered(n);break;default:var r=i[a("0x1661")](n[a("0x2a7d")]);t._unregistered(n,r)}}});d.send()}else c(e("0x2546"))}},{key:"close",value:function(){var e=l;this._registered&&this[e("0x3116")]()}},{key:"onTransportClosed",value:function(){var e=l;this[e("0x30b5")]=!1,null!==this._registrationTimer&&(clearTimeout(this[e("0x1b89")]),this[e("0x1b89")]=null),this[e("0x2c36")]&&(this[e("0x2c36")]=!1,this[e("0x26f9")][e("0x2335")]({}))}},{key:l("0x4fb"),value:function(e,t){var n=l;this[n("0x30b5")]=!1,this[n("0x26f9")].registrationFailed({response:e||null,cause:t}),this[n("0x2c36")]&&(this[n("0x2c36")]=!1,this._ua[n("0x2335")]({response:e||null,cause:t}))}},{key:"_unregistered",value:function(e,t){var n=l;this[n("0x30b5")]=!1,this[n("0x2c36")]=!1,this[n("0x26f9")][n("0x2335")]({response:e||null,cause:t||null})}},{key:"registered",get:function(){return this[l("0x2c36")]}}])&&r(e[a2_0x37cf("0x20f")],t),n&&r(e,n),d}()},2066:(e,t,n)=>{var a=_0x299160;function r(e,t){for(var n=a2_0x37cf,a=0;a<t.length;a++){var r=t[a];r.enumerable=r[n("0x3ad5")]||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object.defineProperty(e,r.key,r)}}var i=n(965),o=n(2999),x=n(3754),s=n(1227)(a("0x309f")),c={onRequestTimeout:function(){},onTransportError:function(){},onReceiveResponse:function(){},onAuthenticated:function(){}};e[a("0x33f9")]=function(){var e,t,n,l=a;function d(e,t,n){var a=a2_0x37cf;for(var r in function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,d),this[a("0x26f9")]=e,this[a("0x583")]=n,this[a("0x1a13")]=t[a("0x3bee")],this[a("0x3809")]=t,this[a("0x14d")]=null,this[a("0x1861")]=!1,this[a("0x3fa6")]=!1,c)Object.prototype[a("0x1bd4")][a("0x3c6b")](c,r)&&!this._eventHandlers[r]&&(this[a("0x583")][r]=c[r]);e[a("0x4e5c")]===e.C[a("0x1d98")]&&(this[a("0x1a13")]!==i[a("0x5a8")]||this._method!==i[a("0x438a")])&&this[a("0x583")].onTransportError()}return e=d,(t=[{key:l("0x1819"),value:function(){var e=l,t=this,n={onRequestTimeout:function(){var e=a2_0x37cf;t[e("0x583")][e("0x10ad")]()},onTransportError:function(){var e=a2_0x37cf;t._eventHandlers[e("0x21e6")]()},onReceiveResponse:function(e){t[a2_0x37cf("0x2d5f")](e)}};switch(this[e("0x1a13")]){case e("0x4a79"):this[e("0x2241")]=new(x[e("0x3a9c")])(this[e("0x26f9")],this[e("0x26f9")][e("0x1381")],this._request,n);break;case e("0x438a"):this[e("0x2241")]=new(x[e("0xf32")])(this[e("0x26f9")],this[e("0x26f9")][e("0x1381")],this[e("0x3809")],n);break;default:this[e("0x2241")]=new(x[e("0x11a4")])(this._ua,this[e("0x26f9")].transport,this._request,n)}this._ua[e("0x38af")][e("0x2efe")]&&this[e("0x3809")][e("0x16b6")](e("0x228b"),this[e("0x26f9")][e("0x38af")][e("0x2efe")]),this.clientTransaction[e("0x1819")]()}},{key:l("0x2d5f"),value:function(e){var t,n,a=l,r=e.status_code;if(401!==r&&407!==r||null===this[a("0x26f9")][a("0x1f25")][a("0x88")]&&null===this[a("0x26f9")][a("0x1f25")][a("0x4ca1")])this[a("0x583")][a("0x43")](e);else{if(401===e.status_code?(t=e[a("0x4e0b")](a("0x152")),n=a("0x264")):(t=e[a("0x4e0b")](a("0x28f7")),n=a("0x2385")),!t)return s(""[a("0x3abc")](e[a("0x2a7d")],a("0x815"))),void this._eventHandlers.onReceiveResponse(e);if(!this._challenged||!this[a("0x3fa6")]&&!0===t[a("0x45f4")]){if(!this[a("0x14d")]&&(this[a("0x14d")]=new o({username:this[a("0x26f9")][a("0x1f25")][a("0x3487")],password:this[a("0x26f9")][a("0x1f25")][a("0x88")],realm:this[a("0x26f9")].configuration[a("0x107")],ha1:this[a("0x26f9")][a("0x1f25")].ha1})),!this[a("0x14d")].authenticate(this[a("0x3809")],t))return void this[a("0x583")][a("0x43")](e);this[a("0x1861")]=!0,this[a("0x26f9")][a("0x6e6")](a("0x107"),this._auth[a("0x1cf")](a("0x107"))),this[a("0x26f9")][a("0x6e6")](a("0x4ca1"),this._auth[a("0x1cf")](a("0x4ca1"))),t.stale&&(this._staled=!0),this[a("0x3809")]=this._request[a("0x42df")](),this[a("0x3809")][a("0x1c27")]+=1,this._request.setHeader("cseq",""[a("0x3abc")](this[a("0x3809")].cseq," ")[a("0x3abc")](this[a("0x1a13")])),this[a("0x3809")][a("0x16b6")](n,this._auth[a("0x3c88")]()),this[a("0x583")][a("0x430e")](this[a("0x3809")]),this[a("0x1819")]()}else this[a("0x583")][a("0x43")](e)}}}])&&r(e[a2_0x37cf("0x20f")],t),n&&r(e,n),d}()},6497:(e,t,n)=>{"use strict";function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){var t=a2_0x37cf;return e&&typeof Symbol===t("0x3349")&&e.constructor===Symbol&&e!==Symbol[t("0x20f")]?t("0x40c6"):typeof e})(e)}function r(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError("Super expression must either be null or a function");e[n("0x20f")]=Object[n("0x4b8c")](t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&i(e,t)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e[a2_0x37cf("0x287c")]=t,e})(e,t)}function o(e){var t=function(){var e=a2_0x37cf;if(typeof Reflect===e("0xc42")||!Reflect[e("0x3a1b")])return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if(typeof Proxy===e("0x3349"))return!0;try{return Date.prototype[e("0x3c88")][e("0x3c6b")](Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=s(e);if(t){var i=s(this)[a("0x11ae")];n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r[a("0x4884")](this,arguments);return x(this,n)}}function x(e,t){var n=a2_0x37cf;return!t||a(t)!==n("0x1b1d")&&"function"!=typeof t?function(e){var t=a2_0x37cf;if(void 0===e)throw new ReferenceError(t("0x2d10"));return e}(e):t}function s(e){var t=a2_0x37cf;return(s=Object[t("0x409e")]?Object.getPrototypeOf:function(e){var n=t;return e[n("0x287c")]||Object[n("0x3e2a")](e)})(e)}function c(e,t){var n,a=a2_0x37cf;if(typeof Symbol===a("0xc42")||null==e[Symbol[a("0x1275")]]){if(Array[a("0x498f")](e)||(n=function(e,t){var n=a2_0x37cf;if(!e)return;if("string"==typeof e)return l(e,t);var a=Object.prototype.toString.call(e)[n("0x9b3")](8,-1);"Object"===a&&e[n("0x11ae")]&&(a=e[n("0x11ae")][n("0x98c")]);if(a===n("0x247")||a===n("0x4b8a"))return Array[n("0x3121")](e);if(a===n("0x3933")||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[n("0x3ff3")](a))return l(e,t)}(e))||t&&e&&typeof e.length===a("0x2231")){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,x=!0,s=!1;return{s:function(){n=e[Symbol[a("0x1275")]]()},n:function(){var e=n[a("0xa8")]();return x=e.done,e},e:function(e){s=!0,o=e},f:function(){var e=a;try{x||null==n[e("0x110d")]||n[e("0x110d")]()}finally{if(s)throw o}}}}function l(e,t){var n=a2_0x37cf;(null==t||t>e[n("0x5e9")])&&(t=e[n("0x5e9")]);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function d(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}function u(e,t){for(var n=a2_0x37cf,a=0;a<t.length;a++){var r=t[a];r.enumerable=r[n("0x3ad5")]||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}function f(e,t,n){return t&&u(e[a2_0x37cf("0x20f")],t),n&&u(e,n),e}var m=n(766),b=n(965),_=n(5424),p=n(9437),h=n(3790),g=n(1227)("JsSIP:SIPMessage"),v=function(){var e=a2_0x37cf;function t(e,n,a,r,i,o){var x=a2_0x37cf;if(d(this,t),!e||!n||!a)return null;r=r||{},this.ua=a,this.headers={},this.method=e,this[x("0x1e07")]=n,this.body=o,this[x("0x133d")]=_[x("0xdd6")](i),r[x("0x450a")]?this[x("0x16b6")](x("0x3e29"),r[x("0x450a")]):a[x("0x1f25")][x("0x908")]&&this[x("0x16b6")](x("0x3e29"),"<"[x("0x3abc")](a[x("0x1381")][x("0x28a8")],x("0x4765"))),this[x("0x16b6")](x("0x1a9c"),""),this.setHeader(x("0x4f1c"),b.MAX_FORWARDS);var s=r[x("0x3302")]||n,c=r[x("0x442e")]?{tag:r.to_tag}:null,l=typeof r.to_display_name!==x("0xc42")?r.to_display_name:null;this.to=new p(s,l,c),this.setHeader("to",this.to[x("0x3c88")]());var u,f=r.from_uri||a[x("0x1f25")][x("0x234")],m={tag:r[x("0x3e84")]||_[x("0x4f94")]()};u=void 0!==r[x("0x4284")]?r.from_display_name:a.configuration[x("0x2088")]?a.configuration.display_name:null,this[x("0x3121")]=new p(f,u,m),this[x("0x16b6")](x("0x3121"),this[x("0x3121")][x("0x3c88")]());var h=r[x("0x3b59")]||a[x("0x1f25")][x("0x997")]+_[x("0x27b6")](15);this[x("0x3b59")]=h,this[x("0x16b6")]("call-id",h);var g=r[x("0x1c27")]||Math[x("0x4184")](1e4*Math[x("0xcbb")]());this[x("0x1c27")]=g,this.setHeader(x("0x1c27"),"".concat(g," ").concat(e))}return f(t,[{key:e("0x16b6"),value:function(t,n){for(var a=e,r=new RegExp(a("0x2713")[a("0x3abc")](t,"\\s*:"),"i"),i=0;i<this[a("0x133d")][a("0x5e9")];i++)r[a("0x3ff3")](this[a("0x133d")][i])&&this[a("0x133d")][a("0x2bcf")](i,1);this[a("0x65c")][_[a("0x2cfa")](t)]=Array.isArray(n)?n:[n]}},{key:e("0x3bef"),value:function(t){var n=e,a=this[n("0x65c")][_[n("0x2cfa")](t)];if(a){if(a[0])return a[0]}else{var r,i=new RegExp("^\\s*".concat(t,n("0x1cc3")),"i"),o=c(this[n("0x133d")]);try{for(o.s();!(r=o.n())[n("0x2d52")];){var x=r[n("0x3a33")];if(i[n("0x3ff3")](x))return x[n("0x35e7")](x[n("0x3507")](":")+1).trim()}}catch(e){o.e(e)}finally{o.f()}}}},{key:"getHeaders",value:function(t){var n=e,a=this[n("0x65c")][_.headerize(t)],r=[];if(a){var i,o=c(a);try{for(o.s();!(i=o.n())[n("0x2d52")];){var x=i[n("0x3a33")];r.push(x)}}catch(e){o.e(e)}finally{o.f()}return r}var s,l=new RegExp(n("0x2713")[n("0x3abc")](t,n("0x1cc3")),"i"),d=c(this.extraHeaders);try{for(d.s();!(s=d.n())[n("0x2d52")];){var u=s[n("0x3a33")];l[n("0x3ff3")](u)&&r[n("0x459a")](u[n("0x35e7")](u.indexOf(":")+1)[n("0x2dc4")]())}}catch(e){d.e(e)}finally{d.f()}return r}},{key:e("0x48ef"),value:function(t){var n=e;if(this[n("0x65c")][_.headerize(t)])return!0;var a,r=new RegExp(n("0x2713")[n("0x3abc")](t,n("0x1cc3")),"i"),i=c(this[n("0x133d")]);try{for(i.s();!(a=i.n())[n("0x2d52")];){var o=a.value;if(r.test(o))return!0}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:e("0x4ea3"),value:function(t){var n=e;return!t&&this[n("0x2e59")]?this.sdp:(this[n("0x2e59")]=m[n("0x1fb8")](this[n("0x3b3e")]||""),this[n("0x2e59")])}},{key:e("0x3c88"),value:function(){var t=e,n=""[t("0x3abc")](this.method," ")[t("0x3abc")](this[t("0x1e07")],t("0x5d"));for(var a in this[t("0x65c")])if(Object[t("0x20f")][t("0x1bd4")][t("0x3c6b")](this[t("0x65c")],a)){var r,i=c(this[t("0x65c")][a]);try{for(i.s();!(r=i.n()).done;){var o=r[t("0x3a33")];n+=""[t("0x3abc")](a,": ").concat(o,"\r\n")}}catch(e){i.e(e)}finally{i.f()}}var x,s=c(this[t("0x133d")]);try{for(s.s();!(x=s.n())[t("0x2d52")];){var l=x[t("0x3a33")];n+=""[t("0x3abc")](l[t("0x2dc4")](),"\r\n")}}catch(e){s.e(e)}finally{s.f()}var d=[];switch(this[t("0x3bee")]){case b.REGISTER:d[t("0x459a")](t("0x1da4"),t("0xc6"));break;case b[t("0x4a79")]:this.ua[t("0x1f25")][t("0x2363")]&&d[t("0x459a")](t("0x217")),(this.ua[t("0x406e")].pub_gruu||this.ua[t("0x406e")][t("0x31ae")])&&d[t("0x459a")](t("0xc6")),d[t("0x459a")](t("0x478d"),"replaces");break;case b.UPDATE:this.ua.configuration.session_timers&&d[t("0x459a")](t("0x217")),d[t("0x459a")](t("0x478d"))}d[t("0x459a")]("outbound");var u=this.ua[t("0x1f25")].user_agent||b.USER_AGENT;if(n+=t("0x223e").concat(b[t("0x2519")],"\r\n"),n+=t("0x3d28")[t("0x3abc")](d,"\r\n"),n+=t("0x35ae")[t("0x3abc")](u,"\r\n"),this[t("0x3b3e")]){var f=_[t("0x4ff6")](this[t("0x3b3e")]);n+=t("0x385d").concat(f,t("0x14c2")),n+=this[t("0x3b3e")]}else n+=t("0x1af4");return n}},{key:e("0x42df"),value:function(){var n=e,a=new t(this.method,this.ruri,this.ua);return Object[n("0xa35")](this.headers)[n("0x5ba")]((function(e){var t=n;a[t("0x65c")][e]=this[t("0x65c")][e].slice()}),this),a[n("0x3b3e")]=this[n("0x3b3e")],a[n("0x133d")]=_[n("0xdd6")](this[n("0x133d")]),a.to=this.to,a[n("0x3121")]=this[n("0x3121")],a[n("0x3b59")]=this[n("0x3b59")],a[n("0x1c27")]=this.cseq,a}}]),t}(),S=function(e){var t=a2_0x37cf;r(a,e);var n=o(a);function a(e,t,r,i,o){var x,s=a2_0x37cf;return d(this,a),(x=n[s("0x3c6b")](this,b[s("0x4a79")],e,t,r,i,o)).transaction=null,x}return f(a,[{key:t("0x4920"),value:function(e){var n=t;this[n("0x399f")][n("0x4920")](e)}},{key:t("0x42df"),value:function(){var e=t,n=new a(this[e("0x1e07")],this.ua);return Object[e("0xa35")](this[e("0x65c")])[e("0x5ba")]((function(t){var a=e;n[a("0x65c")][t]=this[a("0x65c")][t][a("0x9b3")]()}),this),n[e("0x3b3e")]=this[e("0x3b3e")],n[e("0x133d")]=_[e("0xdd6")](this[e("0x133d")]),n.to=this.to,n.from=this[e("0x3121")],n.call_id=this.call_id,n[e("0x1c27")]=this.cseq,n.transaction=this.transaction,n}}]),a}(v),E=function(){var e=a2_0x37cf;function t(){var e=a2_0x37cf;d(this,t),this.data=null,this[e("0x65c")]=null,this.method=null,this[e("0x1a9c")]=null,this[e("0x1a6")]=null,this.call_id=null,this.cseq=null,this[e("0x3121")]=null,this[e("0x3e84")]=null,this.to=null,this.to_tag=null,this[e("0x3b3e")]=null,this[e("0x2e59")]=null}return f(t,[{key:e("0x23f5"),value:function(t,n){var a=e,r={raw:n};t=_[a("0x2cfa")](t),this[a("0x65c")][t]?this[a("0x65c")][t][a("0x459a")](r):this[a("0x65c")][t]=[r]}},{key:e("0x3bef"),value:function(t){var n=e,a=this[n("0x65c")][_[n("0x2cfa")](t)];if(a)return a[0]?a[0][n("0x290")]:void 0}},{key:e("0x4e17"),value:function(t){var n=e,a=this[n("0x65c")][_[n("0x2cfa")](t)],r=[];if(!a)return[];var i,o=c(a);try{for(o.s();!(i=o.n())[n("0x2d52")];){var x=i[n("0x3a33")];r[n("0x459a")](x[n("0x290")])}}catch(e){o.e(e)}finally{o.f()}return r}},{key:e("0x48ef"),value:function(t){var n=e;return!!this[n("0x65c")][_[n("0x2cfa")](t)]}},{key:e("0x4e0b"),value:function(t){var n=e,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(t=_[n("0x2cfa")](t),this[n("0x65c")][t]){if(!(a>=this[n("0x65c")][t][n("0x5e9")])){var r=this.headers[t][a],i=r[n("0x290")];if(r.parsed)return r[n("0x42d5")];var o=h[n("0x1fb8")](i,t.replace(/-/g,"_"));return-1===o?(this.headers[t].splice(a,1),void g(n("0xac7")[n("0x3abc")](t,n("0x3ebe"))[n("0x3abc")](i,'"'))):(r[n("0x42d5")]=o,o)}g(n("0x4f2")[n("0x3abc")](t,n("0xac6")))}else g(n("0x2028")[n("0x3abc")](t,n("0x4a6d")))}},{key:"s",value:function(e,t){return this.parseHeader(e,t)}},{key:"setHeader",value:function(t,n){var a=e,r={raw:n};this[a("0x65c")][_[a("0x2cfa")](t)]=[r]}},{key:e("0x4ea3"),value:function(t){var n=e;return!t&&this[n("0x2e59")]?this.sdp:(this[n("0x2e59")]=m.parse(this[n("0x3b3e")]||""),this[n("0x2e59")])}},{key:e("0x3c88"),value:function(){return this[e("0x237c")]}}]),t}(),A=function(e){var t=a2_0x37cf;r(a,e);var n=o(a);function a(e){var t,r=a2_0x37cf;return d(this,a),(t=n[r("0x3c6b")](this)).ua=e,t[r("0x65c")]={},t[r("0x1e07")]=null,t[r("0x1381")]=null,t[r("0x4080")]=null,t}return f(a,[{key:t("0x49dc"),value:function(e,n,a,r,i,o){var x=t,s=[],l=this[x("0x3bef")]("To");if(n=n||null,!(e=e||null)||e<100||e>699)throw new TypeError(x("0x839")[x("0x3abc")](e));if(n&&"string"!=typeof n&&!(n instanceof String))throw new TypeError("Invalid reason_phrase: "[x("0x3abc")](n));n=n||b[x("0x1a83")][e]||"",a=_[x("0xdd6")](a);var d="SIP/2.0 "[x("0x3abc")](e," ")[x("0x3abc")](n,"\r\n");if(this.method===b[x("0x4a79")]&&e>100&&e<=200){var u,f=c(this[x("0x4e17")](x("0x4271")));try{for(f.s();!(u=f.n()).done;){var m=u[x("0x3a33")];d+=x("0x3778")[x("0x3abc")](m,"\r\n")}}catch(e){f.e(e)}finally{f.f()}}var p,h=c(this[x("0x4e17")](x("0x1a9c")));try{for(h.s();!(p=h.n())[x("0x2d52")];){var g=p[x("0x3a33")];d+="Via: "[x("0x3abc")](g,"\r\n")}}catch(e){h.e(e)}finally{h.f()}!this[x("0x442e")]&&e>100?l+=x("0x45bd").concat(_.newTag()):this[x("0x442e")]&&!this.s("to")[x("0x2d13")](x("0xb3b"))&&(l+=";tag="[x("0x3abc")](this[x("0x442e")])),d+="To: "[x("0x3abc")](l,"\r\n"),d+=x("0x12cd").concat(this[x("0x3bef")](x("0x28c5")),"\r\n"),d+=x("0x2b7f")[x("0x3abc")](this[x("0x3b59")],"\r\n"),d+=x("0x171").concat(this[x("0x1c27")]," ")[x("0x3abc")](this.method,"\r\n");var v,S=c(a);try{for(S.s();!(v=S.n())[x("0x2d52")];){var E=v[x("0x3a33")];d+="".concat(E[x("0x2dc4")](),"\r\n")}}catch(e){S.e(e)}finally{S.f()}switch(this[x("0x3bee")]){case b.INVITE:this.ua[x("0x1f25")][x("0x2363")]&&s[x("0x459a")]("timer"),(this.ua[x("0x406e")][x("0x2cdd")]||this.ua.contact[x("0x31ae")])&&s[x("0x459a")](x("0xc6")),s.push(x("0x478d"),x("0x3866"));break;case b.UPDATE:this.ua.configuration[x("0x2363")]&&s[x("0x459a")](x("0x217")),r&&s.push(x("0x478d")),s[x("0x459a")](x("0x3866"))}if(s[x("0x459a")](x("0x43da")),this[x("0x3bee")]===b[x("0x4a95")]?(d+=x("0x223e").concat(b[x("0x2519")],"\r\n"),d+=x("0x1a30")[x("0x3abc")](b[x("0x3f7b")],"\r\n")):405===e?d+=x("0x223e")[x("0x3abc")](b.ALLOWED_METHODS,"\r\n"):415===e&&(d+=x("0x1a30").concat(b[x("0x3f7b")],"\r\n")),d+="Supported: "[x("0x3abc")](s,"\r\n"),r){var A=_[x("0x4ff6")](r);d+=x("0x3ac7"),d+="Content-Length: ".concat(A,x("0x14c2")),d+=r}else d+="Content-Length: ".concat(0,x("0x14c2"));this[x("0x4080")][x("0x28cf")](e,d,i,o)}},{key:t("0x1b4c"),value:function(){var e=t,n=arguments[e("0x5e9")]>0&&void 0!==arguments[0]?arguments[0]:null,a=arguments[e("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:null,r=this[e("0x4e17")](e("0x1a9c"));if(!n||n<100||n>699)throw new TypeError(e("0x839")[e("0x3abc")](n));if(a&&typeof a!==e("0x38b7")&&!(a instanceof String))throw new TypeError(e("0x4d02").concat(a));a=a||b[e("0x1a83")][n]||"";var i,o=e("0x20db")[e("0x3abc")](n," ")[e("0x3abc")](a,"\r\n"),x=c(r);try{for(x.s();!(i=x.n())[e("0x2d52")];){var s=i[e("0x3a33")];o+="Via: "[e("0x3abc")](s,"\r\n")}}catch(e){x.e(e)}finally{x.f()}var l=this[e("0x3bef")]("To");!this[e("0x442e")]&&n>100?l+=e("0x45bd").concat(_[e("0x4f94")]()):this[e("0x442e")]&&!this.s("to")[e("0x2d13")](e("0xb3b"))&&(l+=e("0x45bd")[e("0x3abc")](this[e("0x442e")])),o+=e("0x1795")[e("0x3abc")](l,"\r\n"),o+="From: "[e("0x3abc")](this[e("0x3bef")]("From"),"\r\n"),o+=e("0x2b7f")[e("0x3abc")](this[e("0x3b59")],"\r\n"),o+=e("0x171")[e("0x3abc")](this[e("0x1c27")]," ").concat(this[e("0x3bee")],"\r\n"),o+="Content-Length: "[e("0x3abc")](0,e("0x14c2")),this[e("0x1381")][e("0x1819")](o)}}]),a}(E),T=function(e){r(n,e);var t=o(n);function n(){var e,a=a2_0x37cf;return d(this,n),(e=t[a("0x3c6b")](this)).headers={},e[a("0x2a7d")]=null,e[a("0x2584")]=null,e}return n}(E);e.exports={OutgoingRequest:v,InitialOutgoingInviteRequest:S,IncomingRequest:A,IncomingResponse:T}},7351:(e,t,n)=>{var a=_0x299160,r=n(5424),i=n(3790),o=n(1227)(a("0x268d"));o[a("0x10f3")]=console[a("0x1dc6")].bind(console),t[a("0x3cfd")]=function(e){var t=a;if(Array[t("0x498f")](e))return!1;if(typeof e===t("0xc42"))return o(t("0x352c")),!1;try{if(!r[t("0x1236")](e[t("0x4aef")]))throw o("missing or invalid JsSIP.Socket url property"),new Error;if(!r[t("0x1236")](e[t("0x4e53")]))throw o("missing or invalid JsSIP.Socket via_transport property"),new Error;if(-1===i[t("0x1fb8")](e[t("0x28a8")],t("0x4bb8")))throw o(t("0x47a4")),new Error}catch(e){return!1}try{[t("0x4e7d"),t("0x2a37"),"send"][t("0x5ba")]((function(n){var a=t;if(!r[a("0x4977")](e[n]))throw o(a("0x482e")[a("0x3abc")](n)),new Error}))}catch(e){return!1}return!0}},306:e=>{"use strict";var t=500;e.exports={T1:t,T2:4e3,T4:5e3,TIMER_B:32e3,TIMER_D:0,TIMER_F:32e3,TIMER_H:32e3,TIMER_I:0,TIMER_J:0,TIMER_K:0,TIMER_L:32e3,TIMER_M:32e3,PROVISIONAL_RESPONSE_INTERVAL:6e4}},3754:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return t("0x2939"),(r=typeof Symbol===t("0x3349")&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){var n=t;return e&&typeof Symbol===n("0x3349")&&e.constructor===Symbol&&e!==Symbol[n("0x20f")]?n("0x40c6"):typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}function o(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r.enumerable||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function x(e,t,n){return t&&o(e[a2_0x37cf("0x20f")],t),n&&o(e,n),e}function s(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError(n("0x631"));e[n("0x20f")]=Object[n("0x4b8c")](t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}function c(e,t){var n=a2_0x37cf;return(c=Object[n("0x409e")]||function(e,t){return e[n("0x287c")]=t,e})(e,t)}function l(e){var t=function(){var e=a2_0x37cf;if(typeof Reflect===e("0xc42")||!Reflect[e("0x3a1b")])return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if(typeof Proxy===e("0x3349"))return!0;try{return Date[e("0x20f")].toString[e("0x3c6b")](Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=f(e);if(t){var i=f(this)[a("0x11ae")];n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r[a("0x4884")](this,arguments);return d(this,n)}}function d(e,t){var n=a2_0x37cf;return!t||r(t)!==n("0x1b1d")&&"function"!=typeof t?u(e):t}function u(e){if(void 0===e)throw new ReferenceError(a2_0x37cf("0x2d10"));return e}function f(e){var t=a2_0x37cf;return(f=Object[t("0x409e")]?Object[t("0x3e2a")]:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var m=n(7187).EventEmitter,b=n(965),_=n(6497),p=n(306),h=n(1227)(a("0xa9a")),g=n(1227)("JsSIP:InviteClientTransaction"),v=n(1227)(a("0xce6")),S=n(1227)(a("0x37bb")),E=n(1227)(a("0x2be0")),A={STATUS_TRYING:1,STATUS_PROCEEDING:2,STATUS_CALLING:3,STATUS_ACCEPTED:4,STATUS_COMPLETED:5,STATUS_TERMINATED:6,STATUS_CONFIRMED:7,NON_INVITE_CLIENT:a("0x1713"),NON_INVITE_SERVER:a("0x2b03"),INVITE_CLIENT:a("0x4bdd"),INVITE_SERVER:a("0x461b")},T=function(e){var t=a;s(r,e);var n=l(r);function r(e,t,a,o){var x,s=a2_0x37cf;i(this,r),(x=n.call(this))[s("0x3298")]=A[s("0x46c8")],x.id="z9hG4bK".concat(Math[s("0x4184")](1e7*Math[s("0xcbb")]())),x.ua=e,x[s("0x1381")]=t,x.request=a,x.eventHandlers=o;var c=s("0x3836")[s("0x3abc")](t[s("0x4e53")]);return c+=" "[s("0x3abc")](e[s("0x1f25")][s("0x4e48")],s("0x46f"))[s("0x3abc")](x.id),x[s("0x38ce")][s("0x16b6")](s("0x1a9c"),c),x.ua[s("0x1cba")](u(x)),x}return x(r,[{key:"stateChanged",value:function(e){var t=a2_0x37cf;this[t("0x81c")]=e,this[t("0xe39")](t("0x1220"))}},{key:"send",value:function(){var e=a2_0x37cf,t=this;this[e("0x1220")](A[e("0x269f")]),this.F=setTimeout((function(){t.timer_F()}),p[e("0x1fa9")]),!this[e("0x1381")][e("0x1819")](this[e("0x38ce")])&&this[e("0x21e6")]()}},{key:t("0x21e6"),value:function(){var e=t;h(e("0x1357")[e("0x3abc")](this.id)),clearTimeout(this.F),clearTimeout(this.K),this[e("0x1220")](A.STATUS_TERMINATED),this.ua[e("0x2749")](this),this.eventHandlers[e("0x21e6")]()}},{key:t("0x25eb"),value:function(){var e=t;h(e("0x2df0").concat(this.id)),this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this),this[e("0x464d")][e("0x10ad")]()}},{key:"timer_K",value:function(){var e=t;this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this)}},{key:t("0x28cf"),value:function(e){var n=t,a=this,r=e[n("0x2a7d")];if(r<200)switch(this[n("0x81c")]){case A[n("0x269f")]:case A[n("0x2c16")]:this.stateChanged(A[n("0x2c16")]),this[n("0x464d")].onReceiveResponse(e)}else switch(this[n("0x81c")]){case A[n("0x269f")]:case A[n("0x2c16")]:this[n("0x1220")](A[n("0x165e")]),clearTimeout(this.F),408===r?this[n("0x464d")].onRequestTimeout():this.eventHandlers[n("0x43")](e),this.K=setTimeout((function(){a[n("0x21fd")]()}),p[n("0x4111")]);break;case A[n("0x165e")]:}}},{key:"C",get:function(){return A}}]),r}(m),y=function(e){var t=a;s(r,e);var n=l(r);function r(e,t,a,o){var x,s=a2_0x37cf;i(this,r),(x=n.call(this))[s("0x3298")]=A[s("0x400e")],x.id="z9hG4bK".concat(Math[s("0x4184")](1e7*Math.random())),x.ua=e,x.transport=t,x[s("0x38ce")]=a,x.eventHandlers=o,a[s("0x399f")]=u(x);var c="SIP/2.0/".concat(t[s("0x4e53")]);return c+=" "[s("0x3abc")](e.configuration.via_host,s("0x46f"))[s("0x3abc")](x.id),x[s("0x38ce")][s("0x16b6")]("via",c),x.ua[s("0x1cba")](u(x)),x}return x(r,[{key:t("0x1220"),value:function(e){var n=t;this.state=e,this[n("0xe39")](n("0x1220"))}},{key:t("0x1819"),value:function(){var e=t,n=this;this[e("0x1220")](A[e("0x4f5b")]),this.B=setTimeout((function(){n[e("0x2479")]()}),p[e("0x364f")]),!this[e("0x1381")][e("0x1819")](this.request)&&this.onTransportError()}},{key:t("0x21e6"),value:function(){var e=t;clearTimeout(this.B),clearTimeout(this.D),clearTimeout(this.M),this[e("0x81c")]!==A[e("0x7be")]&&(g(e("0x1357")[e("0x3abc")](this.id)),this[e("0x464d")][e("0x21e6")]()),this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this)}},{key:t("0x892"),value:function(){var e=t;g(e("0x1ef4")[e("0x3abc")](this.id)),this[e("0x81c")]===A[e("0x7be")]&&(clearTimeout(this.B),this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this))}},{key:t("0x2479"),value:function(){var e=t;g(e("0x1574")[e("0x3abc")](this.id)),this[e("0x81c")]===A[e("0x4f5b")]&&(this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this),this.eventHandlers[e("0x10ad")]())}},{key:t("0x3727"),value:function(){var e=t;g(e("0x2264")[e("0x3abc")](this.id)),clearTimeout(this.B),this[e("0x1220")](A[e("0x4c65")]),this.ua.destroyTransaction(this)}},{key:"sendACK",value:function(e){var n=t,a=this,r=new(_[n("0x4dd3")])(b.ACK,this[n("0x38ce")].ruri,this.ua,{route_set:this[n("0x38ce")][n("0x4e17")](n("0x3e29")),call_id:this[n("0x38ce")][n("0x3bef")](n("0x34c")),cseq:this[n("0x38ce")][n("0x1c27")]});r[n("0x16b6")](n("0x3121"),this[n("0x38ce")][n("0x3bef")]("from")),r.setHeader("via",this[n("0x38ce")][n("0x3bef")](n("0x1a9c"))),r[n("0x16b6")]("to",e[n("0x3bef")]("to")),this.D=setTimeout((function(){a[n("0x3727")]()}),p[n("0x4cd3")]),this[n("0x1381")].send(r)}},{key:t("0x4920"),value:function(e){var n=t;if(this.state===A[n("0x2c16")]){var a=new(_[n("0x4dd3")])(b.CANCEL,this[n("0x38ce")][n("0x1e07")],this.ua,{route_set:this[n("0x38ce")][n("0x4e17")](n("0x3e29")),call_id:this[n("0x38ce")][n("0x3bef")](n("0x34c")),cseq:this[n("0x38ce")].cseq});a[n("0x16b6")](n("0x3121"),this.request.getHeader(n("0x3121"))),a.setHeader(n("0x1a9c"),this[n("0x38ce")][n("0x3bef")]("via")),a[n("0x16b6")]("to",this[n("0x38ce")][n("0x3bef")]("to")),e&&a[n("0x16b6")](n("0x2b87"),e),this[n("0x1381")][n("0x1819")](a)}}},{key:"receiveResponse",value:function(e){var n=t,a=this,r=e.status_code;if(r>=100&&r<=199)switch(this[n("0x81c")]){case A[n("0x4f5b")]:this[n("0x1220")](A[n("0x2c16")]),this.eventHandlers[n("0x43")](e);break;case A[n("0x2c16")]:this.eventHandlers[n("0x43")](e)}else if(r>=200&&r<=299)switch(this[n("0x81c")]){case A[n("0x4f5b")]:case A[n("0x2c16")]:this[n("0x1220")](A[n("0x7be")]),this.M=setTimeout((function(){a[n("0x892")]()}),p[n("0x2b74")]),this[n("0x464d")][n("0x43")](e);break;case A[n("0x7be")]:this[n("0x464d")][n("0x43")](e)}else if(r>=300&&r<=699)switch(this[n("0x81c")]){case A[n("0x4f5b")]:case A[n("0x2c16")]:this[n("0x1220")](A.STATUS_COMPLETED),this[n("0x36b3")](e),this[n("0x464d")][n("0x43")](e);break;case A.STATUS_COMPLETED:this[n("0x36b3")](e)}}},{key:"C",get:function(){return A}}]),r}(m),C=function(e){var t=a;s(r,e);var n=l(r);function r(e,t,a,o){var x,s=a2_0x37cf;i(this,r),(x=n[s("0x3c6b")](this)).id=s("0x289c")[s("0x3abc")](Math[s("0x4184")](1e7*Math[s("0xcbb")]())),x[s("0x1381")]=t,x[s("0x38ce")]=a,x[s("0x464d")]=o;var c=s("0x3836")[s("0x3abc")](t[s("0x4e53")]);return c+=" ".concat(e[s("0x1f25")][s("0x4e48")],s("0x46f"))[s("0x3abc")](x.id),x.request.setHeader(s("0x1a9c"),c),x}return x(r,[{key:t("0x1819"),value:function(){var e=t;!this[e("0x1381")][e("0x1819")](this[e("0x38ce")])&&this.onTransportError()}},{key:t("0x21e6"),value:function(){var e=t;v(e("0x402d").concat(this.id)),this[e("0x464d")].onTransportError()}},{key:"C",get:function(){return A}}]),r}(m),w=function(e){var t=a;s(r,e);var n=l(r);function r(e,t,a){var o,x=a2_0x37cf;return i(this,r),(o=n[x("0x3c6b")](this)).type=A[x("0x218")],o.id=a.via_branch,o.ua=e,o.transport=t,o[x("0x38ce")]=a,o[x("0x4e2d")]="",a[x("0x4080")]=u(o),o[x("0x81c")]=A.STATUS_TRYING,e.newTransaction(u(o)),o}return x(r,[{key:t("0x1220"),value:function(e){var n=t;this.state=e,this[n("0xe39")](n("0x1220"))}},{key:t("0x38bb"),value:function(){var e=t;S("Timer J expired for transaction "[e("0x3abc")](this.id)),this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this)}},{key:t("0x21e6"),value:function(){var e=t;!this[e("0x16bf")]&&(this[e("0x16bf")]=!0,S(e("0x1357")[e("0x3abc")](this.id)),clearTimeout(this.J),this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this))}},{key:t("0x28cf"),value:function(e,n,a,r){var i=t,o=this;if(100===e)switch(this[i("0x81c")]){case A.STATUS_TRYING:this[i("0x1220")](A[i("0x2c16")]),!this[i("0x1381")][i("0x1819")](n)&&this[i("0x21e6")]();break;case A.STATUS_PROCEEDING:this[i("0x4e2d")]=n,this[i("0x1381")][i("0x1819")](n)?a&&a():(this.onTransportError(),r&&r())}else if(e>=200&&e<=699)switch(this.state){case A[i("0x269f")]:case A.STATUS_PROCEEDING:this[i("0x1220")](A[i("0x165e")]),this.last_response=n,this.J=setTimeout((function(){o[i("0x38bb")]()}),p[i("0x1600")]),this[i("0x1381")][i("0x1819")](n)?a&&a():(this.onTransportError(),r&&r());break;case A[i("0x165e")]:}}},{key:"C",get:function(){return A}}]),r}(m),M=function(e){var t=a;s(r,e);var n=l(r);function r(e,t,a){var o,x=a2_0x37cf;return i(this,r),(o=n[x("0x3c6b")](this))[x("0x3298")]=A[x("0x682")],o.id=a.via_branch,o.ua=e,o[x("0x1381")]=t,o.request=a,o[x("0x4e2d")]="",a[x("0x4080")]=u(o),o[x("0x81c")]=A[x("0x2c16")],e[x("0x1cba")](u(o)),o[x("0x2a74")]=null,a.reply(100),o}return x(r,[{key:t("0x1220"),value:function(e){var n=t;this[n("0x81c")]=e,this[n("0xe39")](n("0x1220"))}},{key:t("0x304a"),value:function(){var e=t;E(e("0x412a")[e("0x3abc")](this.id)),this[e("0x81c")]===A[e("0x165e")]&&E(e("0x3d2b")),this.stateChanged(A.STATUS_TERMINATED),this.ua[e("0x2749")](this)}},{key:"timer_I",value:function(){var e=t;this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this)}},{key:t("0x4f77"),value:function(){var e=t;E(e("0x1bf")[e("0x3abc")](this.id)),this[e("0x81c")]===A[e("0x7be")]&&(this[e("0x1220")](A.STATUS_TERMINATED),this.ua[e("0x2749")](this))}},{key:t("0x21e6"),value:function(){var e=t;!this[e("0x16bf")]&&(this[e("0x16bf")]=!0,E(e("0x1357")[e("0x3abc")](this.id)),null!==this[e("0x2a74")]&&(clearInterval(this[e("0x2a74")]),this[e("0x2a74")]=null),clearTimeout(this.L),clearTimeout(this.H),clearTimeout(this.I),this[e("0x1220")](A[e("0x4c65")]),this.ua[e("0x2749")](this))}},{key:"resend_provisional",value:function(){var e=t;!this[e("0x1381")][e("0x1819")](this.last_response)&&this[e("0x21e6")]()}},{key:t("0x28cf"),value:function(e,n,a,r){var i=t,o=this;if(e>=100&&e<=199)switch(this[i("0x81c")]){case A[i("0x2c16")]:!this.transport[i("0x1819")](n)&&this[i("0x21e6")](),this[i("0x4e2d")]=n}if(e>100&&e<=199&&this[i("0x81c")]===A[i("0x2c16")])null===this.resendProvisionalTimer&&(this.resendProvisionalTimer=setInterval((function(){o[i("0x311c")]()}),p[i("0xf0f")]));else if(e>=200&&e<=299)switch(this[i("0x81c")]){case A[i("0x2c16")]:this.stateChanged(A[i("0x7be")]),this[i("0x4e2d")]=n,this.L=setTimeout((function(){o[i("0x4f77")]()}),p[i("0xd56")]),null!==this[i("0x2a74")]&&(clearInterval(this[i("0x2a74")]),this[i("0x2a74")]=null);case A[i("0x7be")]:this.transport[i("0x1819")](n)?a&&a():(this[i("0x21e6")](),r&&r())}else if(e>=300&&e<=699)switch(this[i("0x81c")]){case A[i("0x2c16")]:null!==this[i("0x2a74")]&&(clearInterval(this[i("0x2a74")]),this.resendProvisionalTimer=null),this[i("0x1381")][i("0x1819")](n)?(this[i("0x1220")](A[i("0x165e")]),this.H=setTimeout((function(){o[i("0x304a")]()}),p[i("0x1172")]),a&&a()):(this.onTransportError(),r&&r())}}},{key:"C",get:function(){return A}}]),r}(m);e[a("0x33f9")]={C:A,NonInviteClientTransaction:T,InviteClientTransaction:y,AckClientTransaction:C,NonInviteServerTransaction:w,InviteServerTransaction:M,checkTransaction:function(e,t){var n,r=a,i=e._transactions;switch(t.method){case b.INVITE:if(n=i[r("0x461b")][t.via_branch]){switch(n[r("0x81c")]){case A[r("0x2c16")]:n[r("0x1381")].send(n[r("0x4e2d")]);break;case A[r("0x7be")]:}return!0}break;case b[r("0x438a")]:if(!(n=i.ist[t.via_branch]))return!1;if(n[r("0x81c")]===A.STATUS_ACCEPTED)return!1;if(n[r("0x81c")]===A[r("0x165e")])return n[r("0x81c")]=A[r("0x881")],n.I=setTimeout((function(){n[r("0x1012")]()}),p.TIMER_I),!0;break;case b[r("0x4c90")]:return(n=i[r("0x461b")][t[r("0x1a6")]])?(t[r("0x1b4c")](200),n.state!==A[r("0x2c16")]):(t[r("0x1b4c")](481),!0);default:if(n=i[r("0x2b03")][t[r("0x1a6")]]){switch(n[r("0x81c")]){case A[r("0x269f")]:break;case A[r("0x2c16")]:case A[r("0x165e")]:n[r("0x1381")][r("0x1819")](n[r("0x4e2d")])}return!0}}}}},6103:(e,t,n)=>{var a=_0x299160;function r(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}function i(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r.enumerable=r[n("0x3ad5")]||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}var o=n(7351),x=n(1227)(a("0xafe")),s=n(1227)("JsSIP:ERROR:Transport"),c=n(965);s[a("0x10f3")]=console.warn[a("0x2b0c")](console);var l={STATUS_CONNECTED:0,STATUS_CONNECTING:1,STATUS_DISCONNECTED:2,SOCKET_STATUS_READY:0,SOCKET_STATUS_ERROR:1,recovery_options:{min_interval:c[a("0x1aa0")],max_interval:c[a("0x25be")]}};e[a("0x33f9")]=function(){var e,t,n,c=a;function d(e){var t=a2_0x37cf,n=arguments[t("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:l[t("0xcc9")];if(r(this,d),x(t("0x128e")),this[t("0x4e5c")]=l[t("0x3729")],this.socket=null,this[t("0x15d3")]=[],this[t("0xcc9")]=n,this[t("0x339c")]=0,this[t("0xf20")]=null,this[t("0x44d4")]=!1,typeof e===t("0xc42"))throw new TypeError(t("0x18a2")+t("0x2930"));!(e instanceof Array)&&(e=[e]),e.forEach((function(e){var n=t;if(!o.isSocket(e[n("0x191d")]))throw new TypeError("Invalid argument. invalid 'JsSIP.Socket' instance");if(e[n("0x45d6")]&&!Number(e[n("0x45d6")]))throw new TypeError("Invalid argument."+n("0x83f"));this[n("0x15d3")][n("0x459a")]({socket:e[n("0x191d")],weight:e[n("0x45d6")]||0,status:l[n("0x356c")]})}),this),this[t("0x45c4")]()}return e=d,(t=[{key:c("0x4e7d"),value:function(){var e=c;x(e("0x4c5f")),this.isConnected()?x(e("0x2d0f")):this[e("0x19b5")]()?x(e("0x916")):(this[e("0x44d4")]=!1,this.status=l[e("0x442b")],this[e("0x2819")]({socket:this[e("0x191d")],attempts:this[e("0x339c")]}),!this.close_requested&&(this[e("0x191d")].onconnect=this[e("0x9b8")][e("0x2b0c")](this),this.socket.ondisconnect=this[e("0x479e")].bind(this),this[e("0x191d")][e("0xfcd")]=this[e("0x3459")][e("0x2b0c")](this),this[e("0x191d")][e("0x4e7d")]()))}},{key:"disconnect",value:function(){var e=c;x(e("0x4335")),this.close_requested=!0,this.recover_attempts=0,this[e("0x4e5c")]=l[e("0x3729")],null!==this[e("0xf20")]&&(clearTimeout(this[e("0xf20")]),this[e("0xf20")]=null),this[e("0x191d")][e("0x19a6")]=function(){},this.socket[e("0x455a")]=function(){},this[e("0x191d")][e("0xfcd")]=function(){},this[e("0x191d")][e("0x2a37")](),this.ondisconnect({socket:this[e("0x191d")],error:!1})}},{key:c("0x1819"),value:function(e){var t=c;if(x(t("0x595")),!this[t("0x3017")]())return s(t("0x1933")),!1;var n=e[t("0x3c88")]();return x(t("0x3e3a")[t("0x3abc")](n,"\n")),this[t("0x191d")][t("0x1819")](n)}},{key:c("0x3017"),value:function(){var e=c;return this[e("0x4e5c")]===l[e("0x2c24")]}},{key:"isConnecting",value:function(){var e=c;return this[e("0x4e5c")]===l[e("0x442b")]}},{key:c("0x4d8e"),value:function(){var e=c,t=this;this[e("0x339c")]+=1;var n=Math[e("0x4184")](Math[e("0xcbb")]()*Math[e("0x3861")](2,this[e("0x339c")])+1);n<this[e("0xcc9")].min_interval?n=this[e("0xcc9")][e("0x802")]:n>this[e("0xcc9")].max_interval&&(n=this[e("0xcc9")][e("0x1179")]),x(e("0x34df")[e("0x3abc")](this[e("0x339c")],e("0x4a86"))[e("0x3abc")](n,e("0x851"))),this.recovery_timer=setTimeout((function(){var n=e;!t.close_requested&&!t[n("0x3017")]()&&!t[n("0x19b5")]()&&(t[n("0x45c4")](),t[n("0x4e7d")]())}),1e3*n)}},{key:c("0x45c4"),value:function(){var e=c,t=[];if(this[e("0x15d3")][e("0x5ba")]((function(n){var a=e;n.status!==l.SOCKET_STATUS_ERROR&&(0===t[a("0x5e9")]?t[a("0x459a")](n):n[a("0x45d6")]>t[0][a("0x45d6")]?t=[n]:n[a("0x45d6")]===t[0].weight&&t.push(n))})),0===t[e("0x5e9")])return this[e("0x15d3")][e("0x5ba")]((function(t){var n=e;t[n("0x4e5c")]=l[n("0x356c")]})),void this[e("0x45c4")]();var n=Math[e("0x4184")](Math[e("0xcbb")]()*t.length);this[e("0x191d")]=t[n].socket}},{key:c("0x9b8"),value:function(){var e=c;this[e("0x339c")]=0,this[e("0x4e5c")]=l[e("0x2c24")],null!==this[e("0xf20")]&&(clearTimeout(this.recovery_timer),this[e("0xf20")]=null),this.onconnect({socket:this})}},{key:c("0x479e"),value:function(e,t,n){var a=c;this[a("0x4e5c")]=l.STATUS_DISCONNECTED,this.ondisconnect({socket:this.socket,error:e,code:t,reason:n}),this.close_requested||(this[a("0x15d3")][a("0x5ba")]((function(e){var t=a;this[t("0x191d")]===e.socket&&(e[t("0x4e5c")]=l[t("0x42ae")])}),this),this[a("0x4d8e")](e))}},{key:c("0x3459"),value:function(e){var t=c;if("\r\n"!==e){if(typeof e!==t("0x38b7")){try{e=String[t("0x1e62")].apply(null,new Uint8Array(e))}catch(e){return void x("received binary message failed to be converted into string,"+t("0x36f3"))}x(t("0x250f")[t("0x3abc")](e,"\n"))}else x(t("0x19e0")[t("0x3abc")](e,"\n"));this.ondata({transport:this,message:e})}else x(t("0x316c"))}},{key:c("0x4e53"),get:function(){var e=c;return this[e("0x191d")][e("0x4e53")]}},{key:"url",get:function(){var e=c;return this[e("0x191d")][e("0x4aef")]}},{key:c("0x28a8"),get:function(){var e=c;return this[e("0x191d")][e("0x28a8")]}}])&&i(e[a2_0x37cf("0x20f")],t),n&&i(e,n),d}()},8387:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return t("0x2939"),(r="function"==typeof Symbol&&typeof Symbol.iterator===t("0x40c6")?function(e){return typeof e}:function(e){var n=t;return e&&"function"==typeof Symbol&&e[n("0x11ae")]===Symbol&&e!==Symbol[n("0x20f")]?"symbol":typeof e})(e)}function i(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r[n("0x160")]=!0,"value"in r&&(r.writable=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}function o(e,t,n){return t&&i(e[a2_0x37cf("0x20f")],t),n&&i(e,n),e}function x(e,t){var n=a2_0x37cf;return(x=Object[n("0x409e")]||function(e,t){return e[n("0x287c")]=t,e})(e,t)}function s(e){var t=function(){var e=a2_0x37cf;if("undefined"==typeof Reflect||!Reflect[e("0x3a1b")])return!1;if(Reflect[e("0x3a1b")][e("0xefd")])return!1;if(typeof Proxy===e("0x3349"))return!0;try{return Date.prototype[e("0x3c88")][e("0x3c6b")](Reflect[e("0x3a1b")](Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,a=a2_0x37cf,r=d(e);if(t){var i=d(this)[a("0x11ae")];n=Reflect[a("0x3a1b")](r,arguments,i)}else n=r.apply(this,arguments);return c(this,n)}}function c(e,t){var n=a2_0x37cf;return!t||"object"!==r(t)&&typeof t!==n("0x3349")?l(e):t}function l(e){if(void 0===e)throw new ReferenceError(a2_0x37cf("0x2d10"));return e}function d(e){var t=a2_0x37cf;return(d=Object[t("0x409e")]?Object[t("0x3e2a")]:function(e){var n=t;return e[n("0x287c")]||Object[n("0x3e2a")](e)})(e)}var u=n(7187)[a("0x1038")],f=n(965),m=n(116),b=n(7906),_=n(9193),p=n(3754),h=n(6103),g=n(5424),v=n(8063),S=n(1987),E=n(8407),A=n(6497),T=n(5710),y=n(7830),C=n(1227)(a("0xe30")),w=n(1227)(a("0xe34"));w.log=console[a("0x1dc6")][a("0x2b0c")](console);var M={STATUS_INIT:0,STATUS_READY:1,STATUS_USER_CLOSED:2,STATUS_NOT_READY:3,CONFIGURATION_ERROR:1,NETWORK_ERROR:2};function R(e){var t=a;this.emit(t("0x149b"),e)}function D(e){var t=a;this[t("0x5c8")]!==M[t("0x1d98")]&&(this[t("0x5c8")]=M[t("0x2123")],this._error=null,this[t("0xe39")](t("0x2468"),e),this[t("0x2964")][t("0x4ce9")]&&this[t("0x2fe1")].register())}function I(e){for(var t=a,n=0,r=[t("0x1713"),t("0x4bdd"),"nist",t("0x461b")];n<r[t("0x5e9")];n++){var i=r[n];for(var o in this[t("0x4986")][i])Object[t("0x20f")].hasOwnProperty[t("0x3c6b")](this[t("0x4986")][i],o)&&this[t("0x4986")][i][o][t("0x21e6")]()}this[t("0xe39")](t("0x4356"),e),this[t("0x2fe1")][t("0x186a")](),this[t("0x5c8")]!==M.STATUS_USER_CLOSED&&(this._status=M[t("0x4966")],this[t("0x2d19")]=M[t("0xe04")])}function N(e){var t,n=a,r=e[n("0x1381")],i=e[n("0x45ea")];if((i=E.parseMessage(i,this))&&(!(this[n("0x5c8")]===M.STATUS_USER_CLOSED&&i instanceof A[n("0x3004")])&&T(i,this,r)))if(i instanceof A[n("0x3004")])i[n("0x1381")]=r,this.receiveRequest(i);else if(i instanceof A[n("0x4561")])switch(i[n("0x3bee")]){case f.INVITE:(t=this._transactions[n("0x4bdd")][i.via_branch])&&t[n("0x28cf")](i);break;case f.ACK:break;default:(t=this._transactions[n("0x1713")][i[n("0x1a6")]])&&t[n("0x28cf")](i)}}e[a("0x33f9")]=function(e){var t=a;!function(e,t){var n=a2_0x37cf;if(typeof t!==n("0x3349")&&null!==t)throw new TypeError("Super expression must either be null or a function");e[n("0x20f")]=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&x(e,t)}(r,e);var n=s(r);function r(e){var t,a=a2_0x37cf;if(function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))}(this,r),C("new() [configuration:%o]",e),(t=n.call(this))[a("0x1cfc")]={credentials:{}},t[a("0x38af")]=Object[a("0x3df0")]({},y[a("0x31a6")]),t[a("0x2964")]={},t._dialogs={},t[a("0x23bb")]={},t._sessions={},t[a("0x4fe1")]=null,t[a("0x3681")]=null,t[a("0x5c8")]=M.STATUS_INIT,t[a("0x2d19")]=null,t[a("0x4986")]={nist:{},nict:{},ist:{},ict:{}},t._data={},t._closeTimer=null,void 0===e)throw new TypeError(a("0x35e8"));try{t._loadConfig(e)}catch(e){throw t._status=M.STATUS_NOT_READY,t[a("0x2d19")]=M[a("0x25d4")],e}return t[a("0x2fe1")]=new m(l(t)),t}return o(r,null,[{key:"C",get:function(){return M}}]),o(r,[{key:t("0x1023"),value:function(){var e=t;C(e("0x1b99")),this[e("0x5c8")]===M[e("0x60f")]?this[e("0x4fe1")][e("0x4e7d")]():this[e("0x5c8")]===M[e("0x1d98")]?(C(e("0x4cfc")),null!==this._closeTimer&&(clearTimeout(this._closeTimer),this[e("0x3100")]=null,this[e("0x4fe1")][e("0x2a37")]()),this[e("0x5c8")]=M[e("0x60f")],this[e("0x4fe1")][e("0x4e7d")]()):this[e("0x5c8")]===M[e("0x2123")]?C(e("0x24be")):C(e("0x5d2")),this[e("0x2964")][e("0x4ce9")]=this[e("0x38af")][e("0x4ce9")]}},{key:"register",value:function(){var e=t;C("register()"),this._dynConfiguration[e("0x4ce9")]=!0,this[e("0x2fe1")][e("0x4ce9")]()}},{key:"unregister",value:function(e){var n=t;C("unregister()"),this[n("0x2964")][n("0x4ce9")]=!1,this[n("0x2fe1")][n("0x3116")](e)}},{key:t("0x48d7"),value:function(){return this[t("0x2fe1")]}},{key:t("0x871"),value:function(){var e=t;return this[e("0x2fe1")][e("0x4c6d")]}},{key:t("0x3017"),value:function(){var e=t;return this[e("0x4fe1")][e("0x3017")]()}},{key:t("0x3c6b"),value:function(e,n){C(t("0x4683"));var a=new b(this);return a.connect(e,n),a}},{key:t("0x1ba1"),value:function(e,n,a){var r=t;C(r("0x104"));var i=new _(this);return i[r("0x1819")](e,n,a),i}},{key:t("0x1b74"),value:function(e){var n=t;for(var a in C(n("0x1422")),this[n("0x1532")])!this[n("0x1532")][a].isEnded()&&this[n("0x1532")][a][n("0x386a")](e)}},{key:t("0x5a"),value:function(){var e=t,n=this;if(C(e("0x49ce")),this[e("0x2964")]={},this._status!==M[e("0x1d98")]){this[e("0x2fe1")][e("0x440f")]();var a=Object[e("0xa35")](this[e("0x1532")])[e("0x5e9")];for(var r in this[e("0x1532")])if(Object[e("0x20f")][e("0x1bd4")][e("0x3c6b")](this[e("0x1532")],r)){C(e("0x1998")[e("0x3abc")](r));try{this[e("0x1532")][r].terminate()}catch(e){}}for(var i in this[e("0x23bb")])if(Object[e("0x20f")][e("0x1bd4")][e("0x3c6b")](this[e("0x23bb")],i))try{this[e("0x23bb")][i][e("0x440f")]()}catch(e){}this[e("0x5c8")]=M.STATUS_USER_CLOSED,0===Object.keys(this[e("0x4986")][e("0x1713")])[e("0x5e9")]+Object[e("0xa35")](this[e("0x4986")].nist)[e("0x5e9")]+Object[e("0xa35")](this[e("0x4986")][e("0x4bdd")])[e("0x5e9")]+Object[e("0xa35")](this[e("0x4986")][e("0x461b")])[e("0x5e9")]&&0===a?this[e("0x4fe1")][e("0x2a37")]():this[e("0x3100")]=setTimeout((function(){var t=e;n[t("0x3100")]=null,n[t("0x4fe1")][t("0x2a37")]()}),2e3)}else C(e("0x2ec9"))}},{key:t("0xb61"),value:function(e){var n=t;return g[n("0xb61")](e,this[n("0x38af")][n("0x2df")])}},{key:t("0x1cf"),value:function(e){var n=t;switch(e){case n("0x3487"):return this[n("0x38af")][n("0x3487")];case n("0x107"):return this._configuration.realm;case n("0x4ca1"):return this[n("0x38af")][n("0x4ca1")];default:return void w('get() | cannot get "%s" parameter in runtime',e)}}},{key:"set",value:function(e,n){var a=t;switch(e){case"authorization_user":this[a("0x38af")][a("0x3487")]=String(n);break;case a("0x88"):this[a("0x38af")][a("0x88")]=String(n);break;case a("0x107"):this[a("0x38af")].realm=String(n);break;case a("0x4ca1"):this[a("0x38af")][a("0x4ca1")]=String(n),this[a("0x38af")][a("0x88")]=null;break;case a("0x2088"):this._configuration[a("0x2088")]=n;break;default:return w(a("0x386"),e),!1}return!0}},{key:t("0x1cba"),value:function(e){var n=t;this[n("0x4986")][e[n("0x3298")]][e.id]=e,this.emit(n("0x1cba"),{transaction:e})}},{key:t("0x2749"),value:function(e){var n=t;delete this._transactions[e[n("0x3298")]][e.id],this[n("0xe39")]("transactionDestroyed",{transaction:e})}},{key:t("0x471"),value:function(e){this[t("0xbb3")][e.id]=e}},{key:"destroyDialog",value:function(e){delete this[t("0xbb3")][e.id]}},{key:t("0x4239"),value:function(e,n){var a=t;this[a("0x23bb")][e]=e,this[a("0xe39")]("newMessage",n)}},{key:t("0x22d4"),value:function(e){delete this[t("0x23bb")][e]}},{key:t("0x37c"),value:function(e,n){var a=t;this[a("0x1532")][e.id]=e,this.emit(a("0x37c"),n)}},{key:t("0x8f"),value:function(e){delete this[t("0x1532")][e.id]}},{key:t("0x4c6d"),value:function(e){this.emit("registered",e)}},{key:"unregistered",value:function(e){this[t("0xe39")]("unregistered",e)}},{key:t("0x4232"),value:function(e){var n=t;this[n("0xe39")](n("0x4232"),e)}},{key:t("0x26e6"),value:function(e){var n=t,a=e[n("0x3bee")];if(e.ruri[n("0x3c64")]!==this._configuration[n("0x234")][n("0x3c64")]&&e.ruri.user!==this[n("0x3681")].uri.user)return C("Request-URI does not point to us"),void(e[n("0x3bee")]!==f[n("0x438a")]&&e[n("0x1b4c")](404));if(e[n("0x1e07")].scheme!==f[n("0x2b71")]){if(!p[n("0x4a09")](this,e)){if(a===f.INVITE?new(p[n("0xb06")])(this,this[n("0x4fe1")],e):a!==f[n("0x438a")]&&a!==f[n("0x4c90")]&&new(p[n("0x420a")])(this,this._transport,e),a===f[n("0x4a95")])e.reply(200);else if(a===f[n("0x40b8")]){if(0===this[n("0x22a0")]("newMessage")[n("0x5e9")])return void e.reply(405);new _(this).init_incoming(e)}else if(a===f[n("0x4a79")]&&!e[n("0x442e")]&&0===this[n("0x22a0")]("newRTCSession").length)return void e.reply(405);var r,i;if(e[n("0x442e")])(r=this[n("0x11a0")](e[n("0x3b59")],e[n("0x3e84")],e[n("0x442e")]))?r[n("0x26e6")](e):a===f[n("0x395c")]?(i=this[n("0x43d8")](e))?i[n("0x26e6")](e):(C(n("0x3e0d")),e[n("0x49dc")](481,n("0x39de"))):a!==f.ACK&&e[n("0x49dc")](481);else switch(a){case f[n("0x4a79")]:if(window[n("0x4f75")])if(e[n("0x48ef")](n("0x3866"))){var o=e.replaces;(r=this[n("0x11a0")](o[n("0x3b59")],o[n("0x3e84")],o[n("0x442e")]))?(i=r.owner)[n("0x44e6")]()?e.reply(603):i.receiveRequest(e):e.reply(481)}else(i=new b(this))[n("0xd30")](e);else w("INVITE received but WebRTC is not supported"),e[n("0x49dc")](488);break;case f[n("0x5a8")]:e[n("0x49dc")](481);break;case f.CANCEL:(i=this[n("0x43d8")](e))?i.receiveRequest(e):C(n("0xb09"));break;case f.ACK:break;case f.NOTIFY:this[n("0xe39")](n("0x1fcf"),{event:e[n("0x1511")],request:e}),e[n("0x49dc")](200);break;default:e[n("0x49dc")](405)}}}else e[n("0x1b4c")](416)}},{key:t("0x43d8"),value:function(e){var n=t,a=e[n("0x3b59")],r=e[n("0x3e84")],i=e.to_tag,o=a+r,x=this[n("0x1532")][o],s=a+i,c=this[n("0x1532")][s];return x||(c||null)}},{key:t("0x11a0"),value:function(e,n,a){var r=t,i=e+n+a,o=this[r("0xbb3")][i];return o||(i=e+a+n,(o=this[r("0xbb3")][i])||null)}},{key:t("0x13a4"),value:function(e){var n=t;try{y[n("0x2de8")](this[n("0x38af")],e)}catch(e){throw e}0===this[n("0x38af")][n("0x2088")]&&(this._configuration.display_name="0"),!this._configuration.instance_id&&(this[n("0x38af")].instance_id=g[n("0x2637")]()),this[n("0x38af")][n("0x997")]=g.createRandomToken(5);var a=this[n("0x38af")][n("0x234")][n("0x42df")]();a.user=null,this[n("0x38af")][n("0x2df")]=a[n("0x3c88")]().replace(/^sip:/i,"");try{this._transport=new h(this[n("0x38af")][n("0x15d3")],{max_interval:this[n("0x38af")].connection_recovery_max_interval,min_interval:this[n("0x38af")][n("0x32cb")]}),this[n("0x4fe1")][n("0x2819")]=R[n("0x2b0c")](this),this[n("0x4fe1")][n("0x19a6")]=D[n("0x2b0c")](this),this[n("0x4fe1")].ondisconnect=I[n("0x2b0c")](this),this[n("0x4fe1")][n("0xfcd")]=N[n("0x2b0c")](this)}catch(e){throw w(e),new v.ConfigurationError(n("0x15d3"),this[n("0x38af")][n("0x15d3")])}if(delete this[n("0x38af")][n("0x15d3")],!this[n("0x38af")][n("0x3487")]&&(this[n("0x38af")][n("0x3487")]=this[n("0x38af")][n("0x234")][n("0x3c64")]),!this[n("0x38af")][n("0x7bd")]){var r=this._configuration.uri[n("0x42df")]();r.user=null,r[n("0x18e7")](),r.clearHeaders(),this[n("0x38af")][n("0x7bd")]=r}this[n("0x38af")][n("0x346a")]*=1e3,this[n("0x38af")][n("0x17ae")]?this[n("0x38af")].via_host=this[n("0x38af")].contact_uri[n("0x4961")]:this[n("0x38af")][n("0x17ae")]=new S(n("0x4a5b"),g[n("0x27b6")](8),this[n("0x38af")].via_host,null,{transport:"ws"}),this[n("0x3681")]={pub_gruu:null,temp_gruu:null,uri:this._configuration[n("0x17ae")],toString:function(){var e=n,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.anonymous||null,r=t.outbound||null,i="<";return i+=a?this[e("0x31ae")]||e("0x4e92"):this[e("0x2cdd")]||this[e("0x234")][e("0x3c88")](),r&&(a?!this[e("0x31ae")]:!this[e("0x2cdd")])&&(i+=e("0x948")),i+=">"}};var i=[n("0x3487"),n("0x88"),n("0x107"),"ha1",n("0x2088"),n("0x4ce9")];for(var o in this[n("0x38af")])Object[n("0x20f")][n("0x1bd4")][n("0x3c6b")](this[n("0x38af")],o)&&(-1!==i[n("0x3507")](o)?Object[n("0x47ad")](this[n("0x38af")],o,{writable:!0,configurable:!1}):Object[n("0x47ad")](this[n("0x38af")],o,{writable:!1,configurable:!1}));for(var x in C("configuration parameters after validation:"),this._configuration)if(Object[n("0x20f")][n("0x1bd4")].call(y[n("0x31a6")],x))switch(x){case n("0x234"):case n("0x7bd"):C("- "[n("0x3abc")](x,": ")[n("0x3abc")](this._configuration[x]));break;case n("0x88"):case n("0x4ca1"):C("- "[n("0x3abc")](x,n("0x3f4e")));break;default:C("- "[n("0x3abc")](x,": ").concat(JSON[n("0xcda")](this[n("0x38af")][x])))}}},{key:"C",get:function(){return M}},{key:"status",get:function(){return this[t("0x5c8")]}},{key:t("0x406e"),get:function(){return this._contact}},{key:t("0x1f25"),get:function(){return this[t("0x38af")]}},{key:t("0x1381"),get:function(){return this[t("0x4fe1")]}}]),r}(u)},1987:(e,t,n)=>{"use strict";function a(e,t){var n,a=a2_0x37cf;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array[a("0x498f")](e)||(n=function(e,t){var n=a2_0x37cf;if(!e)return;if("string"==typeof e)return r(e,t);var a=Object[n("0x20f")].toString[n("0x3c6b")](e)[n("0x9b3")](8,-1);a===n("0x419b")&&e[n("0x11ae")]&&(a=e[n("0x11ae")][n("0x98c")]);if(a===n("0x247")||a===n("0x4b8a"))return Array[n("0x3121")](e);if(a===n("0x3933")||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return r(e,t)}(e))||t&&e&&typeof e[a("0x5e9")]===a("0x2231")){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError(a("0x466"))}var x,s=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=a,t=n[e("0xa8")]();return s=t[e("0x2d52")],t},e:function(e){c=!0,x=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw x}}}}function r(e,t){var n=a2_0x37cf;(null==t||t>e[n("0x5e9")])&&(t=e[n("0x5e9")]);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r.enumerable=r[n("0x3ad5")]||!1,r.configurable=!0,n("0x3a33")in r&&(r[n("0xed1")]=!0),Object[n("0x47ad")](e,r[n("0x2646")],r)}}function x(e,t,n){return t&&o(e[a2_0x37cf("0x20f")],t),n&&o(e,n),e}var s=n(965),c=n(5424),l=n(3790);e.exports=function(){var e=a2_0x37cf;function t(n,a,r,o){var x=e,c=arguments[x("0x5e9")]>4&&void 0!==arguments[4]?arguments[4]:{},l=arguments[x("0x5e9")]>5&&void 0!==arguments[5]?arguments[5]:{};if(i(this,t),!r)throw new TypeError(x("0x1336"));for(var d in this[x("0x4fbf")]={},this._headers={},this[x("0x1644")]=n||s.SIP,this._user=a,this[x("0x3d21")]=r,this[x("0x2696")]=o,c)Object[x("0x20f")][x("0x1bd4")][x("0x3c6b")](c,d)&&this[x("0x358d")](d,c[d]);for(var u in l)Object[x("0x20f")][x("0x1bd4")][x("0x3c6b")](l,u)&&this[x("0x16b6")](u,l[u])}return x(t,null,[{key:e("0x1fb8"),value:function(e){return-1!==(e=l.parse(e,"SIP_URI"))?e:void 0}}]),x(t,[{key:e("0x358d"),value:function(t,n){var a=e;t&&(this[a("0x4fbf")][t[a("0x2eb9")]()]=null==n?null:n[a("0x3c88")]())}},{key:e("0x32c"),value:function(t){if(t)return this[e("0x4fbf")][t.toLowerCase()]}},{key:"hasParam",value:function(t){var n=e;if(t)return!!this[n("0x4fbf")].hasOwnProperty(t[n("0x2eb9")]())}},{key:"deleteParam",value:function(t){var n=e;if(t=t.toLowerCase(),this[n("0x4fbf")][n("0x1bd4")](t)){var a=this[n("0x4fbf")][t];return delete this[n("0x4fbf")][t],a}}},{key:e("0x18e7"),value:function(){this[e("0x4fbf")]={}}},{key:"setHeader",value:function(t,n){var a=e;this[a("0x698")][c[a("0x2cfa")](t)]=Array[a("0x498f")](n)?n:[n]}},{key:e("0x3bef"),value:function(t){var n=e;if(t)return this._headers[c[n("0x2cfa")](t)]}},{key:e("0x48ef"),value:function(t){var n=e;if(t)return!!this[n("0x698")][n("0x1bd4")](c.headerize(t))}},{key:e("0x38a0"),value:function(t){var n=e;if(t=c[n("0x2cfa")](t),this._headers[n("0x1bd4")](t)){var a=this[n("0x698")][t];return delete this[n("0x698")][t],a}}},{key:e("0x34a3"),value:function(){this[e("0x698")]={}}},{key:"clone",value:function(){var n=e;return new t(this[n("0x1644")],this[n("0x48f9")],this[n("0x3d21")],this[n("0x2696")],JSON.parse(JSON[n("0xcda")](this[n("0x4fbf")])),JSON[n("0x1fb8")](JSON[n("0xcda")](this[n("0x698")])))}},{key:e("0x3c88"),value:function(){var t=e,n=[],r="".concat(this._scheme,":");for(var i in this._user&&(r+=""[t("0x3abc")](c[t("0x4543")](this[t("0x48f9")]),"@")),r+=this[t("0x3d21")],(this[t("0x2696")]||0===this[t("0x2696")])&&(r+=":"[t("0x3abc")](this[t("0x2696")])),this[t("0x4fbf")])Object[t("0x20f")].hasOwnProperty[t("0x3c6b")](this._parameters,i)&&(r+=";"[t("0x3abc")](i),null!==this[t("0x4fbf")][i]&&(r+="="[t("0x3abc")](this._parameters[i])));for(var o in this[t("0x698")])if(Object[t("0x20f")][t("0x1bd4")][t("0x3c6b")](this[t("0x698")],o)){var x,s=a(this[t("0x698")][o]);try{for(s.s();!(x=s.n())[t("0x2d52")];){var l=x.value;n[t("0x459a")](""[t("0x3abc")](o,"=").concat(l))}}catch(e){s.e(e)}finally{s.f()}}return n[t("0x5e9")]>0&&(r+="?"[t("0x3abc")](n[t("0xc60")]("&"))),r}},{key:"toAor",value:function(t){var n=e,a=""[n("0x3abc")](this._scheme,":");return this._user&&(a+=""[n("0x3abc")](c[n("0x4543")](this._user),"@")),a+=this[n("0x3d21")],t&&(this[n("0x2696")]||0===this[n("0x2696")])&&(a+=":"[n("0x3abc")](this._port)),a}},{key:"scheme",get:function(){return this._scheme},set:function(t){var n=e;this[n("0x1644")]=t[n("0x2eb9")]()}},{key:"user",get:function(){return this[e("0x48f9")]},set:function(t){this[e("0x48f9")]=t}},{key:e("0x4961"),get:function(){return this._host},set:function(t){var n=e;this[n("0x3d21")]=t[n("0x2eb9")]()}},{key:e("0x23a4"),get:function(){return this[e("0x2696")]},set:function(t){this[e("0x2696")]=0===t?t:parseInt(t,10)||null}}]),t}()},5424:(e,t,n)=>{var a=_0x299160;function r(e){var t=a2_0x37cf;return t("0x2939"),(r=typeof Symbol===t("0x3349")&&typeof Symbol[t("0x1275")]===t("0x40c6")?function(e){return typeof e}:function(e){var n=t;return e&&"function"==typeof Symbol&&e[n("0x11ae")]===Symbol&&e!==Symbol[n("0x20f")]?n("0x40c6"):typeof e})(e)}function i(e,t){var n,a=a2_0x37cf;if("undefined"==typeof Symbol||null==e[Symbol[a("0x1275")]]){if(Array[a("0x498f")](e)||(n=function(e,t){var n=a2_0x37cf;if(!e)return;if("string"==typeof e)return o(e,t);var a=Object[n("0x20f")].toString[n("0x3c6b")](e)[n("0x9b3")](8,-1);a===n("0x419b")&&e[n("0x11ae")]&&(a=e[n("0x11ae")][n("0x98c")]);if(a===n("0x247")||a===n("0x4b8a"))return Array[n("0x3121")](e);if(a===n("0x3933")||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[n("0x3ff3")](a))return o(e,t)}(e))||t&&e&&typeof e[a("0x5e9")]===a("0x2231")){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e[a("0x5e9")]?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError(a("0x466"))}var x,s=!0,c=!1;return{s:function(){n=e[Symbol[a("0x1275")]]()},n:function(){var e=n[a("0xa8")]();return s=e.done,e},e:function(e){c=!0,x=e},f:function(){var e=a;try{s||null==n.return||n[e("0x110d")]()}finally{if(c)throw x}}}}function o(e,t){var n=a2_0x37cf;(null==t||t>e[n("0x5e9")])&&(t=e[n("0x5e9")]);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}var x=n(965),s=n(1987),c=n(3790);t[a("0x4ff6")]=function(e){var t=a;return unescape(encodeURIComponent(e))[t("0x5e9")]};var l=t[a("0x4977")]=function(e){var t=a;return void 0!==e&&Object.prototype[t("0x3c88")][t("0x3c6b")](e)===t("0x27b9")};t[a("0x1236")]=function(e){var t=a;return void 0!==e&&Object[t("0x20f")][t("0x3c88")].call(e)===t("0x3fc8")},t.isDecimal=function(e){return!isNaN(e)&&parseFloat(e)===parseInt(e,10)},t[a("0x3c98")]=function(e){var t=a;return null===e||""===e||void 0===e||Array[t("0x498f")](e)&&0===e[t("0x5e9")]||typeof e===t("0x2231")&&isNaN(e)},t[a("0x1aa7")]=function(e){for(var t=a,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];for(var o=0,x=r;o<x[t("0x5e9")];o++){var s=x[o];if(l(e[s]))return!1}return!0};var d=t[a("0x27b6")]=function(e){var t,n=a,r=arguments[n("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:32,i="";for(t=0;t<e;t++)i+=(Math[n("0xcbb")]()*r|0)[n("0x3c88")](r);return i};t[a("0x4f94")]=function(){return d(10)},t[a("0x2637")]=function(){var e=a;return e("0x500c")[e("0x3cc0")](/[xy]/g,(function(t){var n=e,a=16*Math[n("0xcbb")]()|0;return("x"===t?a:3&a|8)[n("0x3c88")](16)}))},t[a("0x4a32")]=function(e){var t=a;if(e)return-1!==(e=c[t("0x1fb8")](e,t("0x4961")))?e[t("0x2e4a")]:void 0};var u=t[a("0x4543")]=function(e){var t=a;return encodeURIComponent(decodeURIComponent(e))[t("0x3cc0")](/%3A/gi,":")[t("0x3cc0")](/%2B/gi,"+")[t("0x3cc0")](/%3F/gi,"?")[t("0x3cc0")](/%2F/gi,"/")};t[a("0xb61")]=function(e,t){var n=a;if(e){if(e instanceof s)return e;if(typeof e===n("0x38b7")){var r,i,o,c=e[n("0x9e5")]("@");switch(c[n("0x5e9")]){case 1:if(!t)return;r=e,i=t;break;case 2:r=c[0],i=c[1];break;default:r=c[n("0x9b3")](0,c[n("0x5e9")]-1)[n("0xc60")]("@"),i=c[c.length-1]}return r=r.replace(/^(sips?|tel):/i,""),/^[-.()]*\+?[0-9\-.()]+$/[n("0x3ff3")](r)&&(r=r[n("0x3cc0")](/[-.()]/g,"")),e=""[n("0x3abc")](x.SIP,":")[n("0x3abc")](u(r),"@").concat(i),(o=s[n("0x1fb8")](e))?o:void 0}}else;},t[a("0x2cfa")]=function(e){var t,n=a,r={"Call-Id":n("0x3f65"),Cseq:"CSeq","Www-Authenticate":n("0x7cc")},i=e[n("0x2eb9")]()[n("0x3cc0")](/_/g,"-").split("-"),o="",x=i[n("0x5e9")];for(t=0;t<x;t++)0!==t&&(o+="-"),o+=i[t].charAt(0)[n("0x110")]()+i[t].substring(1);return r[o]&&(o=r[o]),o},t[a("0x1661")]=function(e){var t=a;for(var n in x[t("0x3fad")])if(-1!==x[t("0x3fad")][n][t("0x3507")](e))return x[t("0xbce")][n];return x[t("0xbce")][t("0x154f")]},t[a("0x46b")]=function(){var e,t,n,r=a;return r("0x4fcc")[r("0x3abc")]((e=1,t=254,n=a2_0x37cf,Math.floor(Math[n("0xcbb")]()*(t-e+1)+e)))},t[a("0x3569")]=function(e){var t=a;function n(e,t){return e<<t|e>>>32-t}function r(e,t){var n=2147483648&e,a=2147483648&t,r=1073741824&e,i=1073741824&t,o=(1073741823&e)+(1073741823&t);return r&i?2147483648^o^n^a:r|i?1073741824&o?3221225472^o^n^a:1073741824^o^n^a:o^n^a}function i(e,t,a,i,o,x,s){return e=r(e,r(r((c=t)&a|~c&i,o),s)),r(n(e,x),t);var c}function o(e,t,a,i,o,x,s){return e=r(e,r(r(t&(c=i)|a&~c,o),s)),r(n(e,x),t);var c}function x(e,t,a,i,o,x,s){return e=r(e,r(r(t^a^i,o),s)),r(n(e,x),t)}function s(e,t,a,i,o,x,s){return e=r(e,r(r(a^(t|~i),o),s)),r(n(e,x),t)}function c(e){var t,n,a=a2_0x37cf,r="",i="";for(n=0;n<=3;n++)t=e>>>8*n&255,r+=(i="0"[a("0x3abc")](t[a("0x3c88")](16)))[a("0x39fa")](i.length-2,2);return r}var l,d,u,f,m,b,_,p,h,g;for(l=function(e){for(var t,n=a2_0x37cf,a=e.length,r=a+8,i=16*((r-r%64)/64+1),o=new Array(i-1),x=0,s=0;s<a;)x=s%4*8,o[t=(s-s%4)/4]=o[t]|e[n("0x11df")](s)<<x,s++;return x=s%4*8,o[t=(s-s%4)/4]=o[t]|128<<x,o[i-2]=a<<3,o[i-1]=a>>>29,o}(e=function(e){var t=a2_0x37cf;e=e[t("0x3cc0")](/\r\n/g,"\n");for(var n="",a=0;a<e.length;a++){var r=e.charCodeAt(a);r<128?n+=String[t("0x1e62")](r):r>127&&r<2048?(n+=String[t("0x1e62")](r>>6|192),n+=String[t("0x1e62")](63&r|128)):(n+=String[t("0x1e62")](r>>12|224),n+=String[t("0x1e62")](r>>6&63|128),n+=String[t("0x1e62")](63&r|128))}return n}(e)),_=1732584193,p=4023233417,h=2562383102,g=271733878,d=0;d<l.length;d+=16)u=_,f=p,m=h,b=g,_=i(_,p,h,g,l[d+0],7,3614090360),g=i(g,_,p,h,l[d+1],12,3905402710),h=i(h,g,_,p,l[d+2],17,606105819),p=i(p,h,g,_,l[d+3],22,3250441966),_=i(_,p,h,g,l[d+4],7,4118548399),g=i(g,_,p,h,l[d+5],12,1200080426),h=i(h,g,_,p,l[d+6],17,2821735955),p=i(p,h,g,_,l[d+7],22,4249261313),_=i(_,p,h,g,l[d+8],7,1770035416),g=i(g,_,p,h,l[d+9],12,2336552879),h=i(h,g,_,p,l[d+10],17,4294925233),p=i(p,h,g,_,l[d+11],22,2304563134),_=i(_,p,h,g,l[d+12],7,1804603682),g=i(g,_,p,h,l[d+13],12,4254626195),h=i(h,g,_,p,l[d+14],17,2792965006),_=o(_,p=i(p,h,g,_,l[d+15],22,1236535329),h,g,l[d+1],5,4129170786),g=o(g,_,p,h,l[d+6],9,3225465664),h=o(h,g,_,p,l[d+11],14,643717713),p=o(p,h,g,_,l[d+0],20,3921069994),_=o(_,p,h,g,l[d+5],5,3593408605),g=o(g,_,p,h,l[d+10],9,38016083),h=o(h,g,_,p,l[d+15],14,3634488961),p=o(p,h,g,_,l[d+4],20,3889429448),_=o(_,p,h,g,l[d+9],5,568446438),g=o(g,_,p,h,l[d+14],9,3275163606),h=o(h,g,_,p,l[d+3],14,4107603335),p=o(p,h,g,_,l[d+8],20,1163531501),_=o(_,p,h,g,l[d+13],5,2850285829),g=o(g,_,p,h,l[d+2],9,4243563512),h=o(h,g,_,p,l[d+7],14,1735328473),_=x(_,p=o(p,h,g,_,l[d+12],20,2368359562),h,g,l[d+5],4,4294588738),g=x(g,_,p,h,l[d+8],11,2272392833),h=x(h,g,_,p,l[d+11],16,1839030562),p=x(p,h,g,_,l[d+14],23,4259657740),_=x(_,p,h,g,l[d+1],4,2763975236),g=x(g,_,p,h,l[d+4],11,1272893353),h=x(h,g,_,p,l[d+7],16,4139469664),p=x(p,h,g,_,l[d+10],23,3200236656),_=x(_,p,h,g,l[d+13],4,681279174),g=x(g,_,p,h,l[d+0],11,3936430074),h=x(h,g,_,p,l[d+3],16,3572445317),p=x(p,h,g,_,l[d+6],23,76029189),_=x(_,p,h,g,l[d+9],4,3654602809),g=x(g,_,p,h,l[d+12],11,3873151461),h=x(h,g,_,p,l[d+15],16,530742520),_=s(_,p=x(p,h,g,_,l[d+2],23,3299628645),h,g,l[d+0],6,4096336452),g=s(g,_,p,h,l[d+7],10,1126891415),h=s(h,g,_,p,l[d+14],15,2878612391),p=s(p,h,g,_,l[d+5],21,4237533241),_=s(_,p,h,g,l[d+12],6,1700485571),g=s(g,_,p,h,l[d+3],10,2399980690),h=s(h,g,_,p,l[d+10],15,4293915773),p=s(p,h,g,_,l[d+1],21,2240044497),_=s(_,p,h,g,l[d+8],6,1873313359),g=s(g,_,p,h,l[d+15],10,4264355552),h=s(h,g,_,p,l[d+6],15,2734768916),p=s(p,h,g,_,l[d+13],21,1309151649),_=s(_,p,h,g,l[d+4],6,4149444226),g=s(g,_,p,h,l[d+11],10,3174756917),h=s(h,g,_,p,l[d+2],15,718787259),p=s(p,h,g,_,l[d+9],21,3951481745),_=r(_,u),p=r(p,f),h=r(h,m),g=r(g,b);return(c(_)+c(p)+c(h)+c(g))[t("0x2eb9")]()},t[a("0x2d23")]=function(e){var t=a;if(e)try{if(e.getTracks){var n,o=i(e[t("0x25e5")]());try{for(o.s();!(n=o.n()).done;){n[t("0x3a33")][t("0x5a")]()}}catch(e){o.e(e)}finally{o.f()}}else{var x,s=i(e[t("0x235a")]());try{for(s.s();!(x=s.n())[t("0x2d52")];){x[t("0x3a33")][t("0x5a")]()}}catch(e){s.e(e)}finally{s.f()}var c,l=i(e[t("0x168")]());try{for(l.s();!(c=l.n())[t("0x2d52")];){c[t("0x3a33")][t("0x5a")]()}}catch(e){l.e(e)}finally{l.f()}}}catch(n){("function"==typeof e.stop||r(e[t("0x5a")])===t("0x1b1d"))&&e.stop()}},t[a("0xdd6")]=function(e){return e&&e.slice()||[]},t[a("0xb9")]=function(e){var t=a,n=arguments[t("0x5e9")]>1&&void 0!==arguments[1]?arguments[1]:{};return e&&Object[t("0x3df0")]({},e)||n}},1288:(e,t,n)=>{var a=_0x299160;function r(e,t){for(var n=a2_0x37cf,a=0;a<t[n("0x5e9")];a++){var r=t[a];r[n("0x3ad5")]=r[n("0x3ad5")]||!1,r[n("0x160")]=!0,n("0x3a33")in r&&(r.writable=!0),Object[n("0x47ad")](e,r.key,r)}}var i=n(3790),o=n(1227)(a("0x1c8f")),x=n(1227)(a("0x105f"));x.log=console[a("0x1dc6")][a("0x2b0c")](console),e[a("0x33f9")]=function(){var e,t,n,s=a;function c(e){var t=a2_0x37cf;(function(e,t){if(!(e instanceof t))throw new TypeError(a2_0x37cf("0xfae"))})(this,c),o('new() [url:"%s"]',e),this[t("0x2ba1")]=e,this[t("0x1a6a")]=null,this._via_transport=null,this._ws=null;var n=i[t("0x1fb8")](e,t("0x47b9"));if(-1===n)throw x(t("0x4c76").concat(e)),new TypeError(t("0x2355")[t("0x3abc")](e));if("wss"!==n[t("0x23b9")]&&"ws"!==n[t("0x23b9")])throw x(t("0x27d0")[t("0x3abc")](n[t("0x23b9")])),new TypeError(t("0x2355")[t("0x3abc")](e));this._sip_uri=t("0x3e15")[t("0x3abc")](n.host).concat(n[t("0x23a4")]?":".concat(n[t("0x23a4")]):"",";transport=ws"),this[t("0x6b3")]=n.scheme.toUpperCase()}return e=c,(t=[{key:"connect",value:function(){var e=a2_0x37cf;if(o(e("0x4c5f")),this.isConnected())o(e("0x10cf")[e("0x3abc")](this[e("0x2ba1")],e("0x3c8e")));else if(this[e("0x19b5")]())o("WebSocket "[e("0x3abc")](this[e("0x2ba1")]," is connecting"));else{this[e("0x2410")]&&this[e("0x2a37")](),o(e("0x132f")[e("0x3abc")](this[e("0x2ba1")]));try{this._ws=new WebSocket(this[e("0x2ba1")],e("0x4a5b")),this._ws[e("0x3f12")]=e("0x3069"),this[e("0x2410")].onopen=this[e("0x17cf")].bind(this),this[e("0x2410")][e("0x13c8")]=this[e("0x2b8e")][e("0x2b0c")](this),this._ws[e("0x2226")]=this[e("0x2a94")][e("0x2b0c")](this),this[e("0x2410")][e("0x1cea")]=this[e("0x4bc9")][e("0x2b0c")](this)}catch(e){this._onError(e)}}}},{key:s("0x2a37"),value:function(){var e=s;o("disconnect()"),this._ws&&(this[e("0x2410")][e("0x9e9")]=function(){},this[e("0x2410")][e("0x13c8")]=function(){},this[e("0x2410")][e("0x2226")]=function(){},this[e("0x2410")].onerror=function(){},this[e("0x2410")][e("0x440f")](),this[e("0x2410")]=null)}},{key:s("0x1819"),value:function(e){var t=s;return o(t("0x595")),this[t("0x3017")]()?(this[t("0x2410")][t("0x1819")](e),!0):(x(t("0x4a02")),!1)}},{key:"isConnected",value:function(){var e=s;return this[e("0x2410")]&&this[e("0x2410")][e("0x3101")]===this[e("0x2410")][e("0x141a")]}},{key:s("0x19b5"),value:function(){var e=s;return this[e("0x2410")]&&this._ws[e("0x3101")]===this._ws[e("0x3c35")]}},{key:s("0x17cf"),value:function(){var e=s;o(e("0x10cf")[e("0x3abc")](this[e("0x2ba1")],e("0x2f22"))),this[e("0x19a6")]()}},{key:"_onClose",value:function(e){var t=s,n=e[t("0x46f2")],a=e[t("0xd41")],r=e[t("0x2b87")];o("WebSocket ".concat(this[t("0x2ba1")]," closed")),!1===n&&o(t("0x2918"));var i={socket:this,error:!n,code:a,reason:r};this[t("0x455a")](i)}},{key:s("0x2a94"),value:function(e){var t=s,n=e.data;o(t("0x268")),this.ondata(n)}},{key:s("0x4bc9"),value:function(e){var t=s;x(t("0x10cf")[t("0x3abc")](this[t("0x2ba1")],t("0x336a"))[t("0x3abc")](e))}},{key:s("0x4e53"),get:function(){return this[s("0x6b3")]},set:function(e){var t=s;this._via_transport=e[t("0x110")]()}},{key:s("0x28a8"),get:function(){return this._sip_uri}},{key:s("0x4aef"),get:function(){return this[s("0x2ba1")]}}])&&r(e[a2_0x37cf("0x20f")],t),n&&r(e,n),c}()},5710:(e,t,n)=>{var a=_0x299160;function r(e,t){var n,a=a2_0x37cf;if("undefined"==typeof Symbol||null==e[Symbol[a("0x1275")]]){if(Array.isArray(e)||(n=function(e,t){var n=a2_0x37cf;if(!e)return;if(typeof e===n("0x38b7"))return i(e,t);var a=Object[n("0x20f")][n("0x3c88")][n("0x3c6b")](e)[n("0x9b3")](8,-1);"Object"===a&&e[n("0x11ae")]&&(a=e[n("0x11ae")].name);if("Map"===a||a===n("0x4b8a"))return Array.from(e);if(a===n("0x3933")||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[n("0x3ff3")](a))return i(e,t)}(e))||t&&e&&"number"==typeof e[a("0x5e9")]){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e[a("0x5e9")]?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var x,s=!0,c=!1;return{s:function(){n=e[Symbol[a("0x1275")]]()},n:function(){var e=a,t=n[e("0xa8")]();return s=t[e("0x2d52")],t},e:function(e){c=!0,x=e},f:function(){var e=a;try{s||null==n[e("0x110d")]||n.return()}finally{if(c)throw x}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var o,x,s,c=n(965),l=n(6497),d=n(5424),u=n(1227)(a("0x4be5")),f=[function(){for(var e=a,t=[e("0x3121"),"to",e("0x3b59"),e("0x1c27"),e("0x1a9c")],n=0,r=t;n<r[e("0x5e9")];n++){var i=r[n];if(!o[e("0x48ef")](i))return u(e("0x1944")[e("0x3abc")](i,e("0x4fb9"))),!1}}],m=[function(){var e=a;if(o.s("to")[e("0x234")][e("0x23b9")]!==e("0x4a5b"))return _(416),!1},function(){var e=a;if(!o.to_tag&&o[e("0x3b59")].substr(0,5)===x[e("0x1f25")][e("0x997")])return _(482),!1},function(){var e=a,t=d[e("0x4ff6")](o[e("0x3b3e")]),n=o[e("0x3bef")](e("0x102a"));if(t<n)return _(400),!1},function(){var e,t=a,n=o[t("0x3e84")],r=o[t("0x3b59")],i=o[t("0x1c27")];if(o[t("0x442e")])return;if(o[t("0x3bee")]===c.INVITE){if(x._transactions[t("0x461b")][o.via_branch])return!1;for(var s in x[t("0x4986")][t("0x461b")])if(Object[t("0x20f")][t("0x1bd4")][t("0x3c6b")](x._transactions[t("0x461b")],s)&&(e=x[t("0x4986")][t("0x461b")][s])[t("0x38ce")][t("0x3e84")]===n&&e.request.call_id===r&&e[t("0x38ce")][t("0x1c27")]===i)return _(482),!1}else{if(x[t("0x4986")][t("0x2b03")][o[t("0x1a6")]])return!1;for(var l in x[t("0x4986")].nist)if(Object.prototype[t("0x1bd4")].call(x._transactions[t("0x2b03")],l)&&(e=x[t("0x4986")][t("0x2b03")][l]).request.from_tag===n&&e[t("0x38ce")][t("0x3b59")]===r&&e[t("0x38ce")].cseq===i)return _(482),!1}}],b=[function(){var e=a;if(o[e("0x4e17")](e("0x1a9c")).length>1)return u(e("0x27fb")),!1},function(){var e=a,t=d[e("0x4ff6")](o[e("0x3b3e")]),n=o[e("0x3bef")]("content-length");if(t<n)return u(e("0x30bc")),!1}];function _(e){var t,n,i=a,x=o[i("0x4e17")](i("0x1a9c")),l=i("0x20db")[i("0x3abc")](e," ")[i("0x3abc")](c[i("0x1a83")][e],"\r\n"),u=r(x);try{for(u.s();!(n=u.n()).done;){var f=n[i("0x3a33")];l+="Via: ".concat(f,"\r\n")}}catch(e){u.e(e)}finally{u.f()}t=o.getHeader("To"),!o[i("0x442e")]&&(t+=i("0x45bd")[i("0x3abc")](d[i("0x4f94")]())),l+="To: "[i("0x3abc")](t,"\r\n"),l+=i("0x12cd")[i("0x3abc")](o[i("0x3bef")]("From"),"\r\n"),l+=i("0x2b7f")[i("0x3abc")](o[i("0x3b59")],"\r\n"),l+=i("0x171")[i("0x3abc")](o[i("0x1c27")]," ")[i("0x3abc")](o[i("0x3bee")],"\r\n"),l+="\r\n",s[i("0x1819")](l)}e[a("0x33f9")]=function(e,t,n){var i=a;o=e,x=t,s=n;var c,d=r(f);try{for(d.s();!(c=d.n())[i("0x2d52")];){if(!1===(0,c[i("0x3a33")])())return!1}}catch(e){d.e(e)}finally{d.f()}if(o instanceof l[i("0x3004")]){var u,_=r(m);try{for(_.s();!(u=_.n())[i("0x2d52")];){if(!1===(0,u[i("0x3a33")])())return!1}}catch(e){_.e(e)}finally{_.f()}}else if(o instanceof l[i("0x4561")]){var p,h=r(b);try{for(h.s();!(p=h.n()).done;){if(!1===(0,p.value)())return!1}}catch(e){h.e(e)}finally{h.f()}}return!0}},7209:e=>{var t=_0x299160;e.exports=JSON.parse(t("0x3ae5"))},6486:function(e,t,n){var a,r=_0x299160;e=n[r("0x1f88")](e),function(){var i,o=r,x=o("0x3666"),s=o("0x2898"),c="Expected a function",l=o("0x4b29"),d="__lodash_placeholder__",u=16,f=32,m=64,b=128,_=256,p=o("0x31d5"),h=1/0,g=9007199254740991,v=NaN,S=4294967295,E=[[o("0x2d5e"),b],[o("0x2b0c"),1],[o("0x3900"),2],["curry",8],[o("0x26d4"),u],[o("0x89"),512],[o("0x3c80"),f],[o("0x1af8"),m],[o("0x4837"),_]],A=o("0x29b3"),T=o("0x508"),y=o("0xaac"),C=o("0x35f2"),w=o("0x4d08"),M=o("0xc4e"),R=o("0x117f"),D="[object Function]",I=o("0x315b"),N="[object Map]",O=o("0x4d4b"),k="[object Object]",P="[object Promise]",L=o("0x380"),F="[object RegExp]",B=o("0x4493"),Y=o("0x3fc8"),G=o("0x27a5"),H=o("0x3e8"),U=o("0x3a79"),$="[object ArrayBuffer]",j=o("0x2438"),V=o("0x1adb"),W=o("0x91b"),q="[object Int8Array]",z="[object Int16Array]",Q=o("0x158f"),K=o("0x15be"),X=o("0x171a"),J=o("0x1150"),Z=o("0x30d5"),ee=/\b__p \+= '';/g,te=/\b(__p \+=) '' \+/g,ne=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ae=/&(?:amp|lt|gt|quot|#39);/g,re=/[&<>"']/g,ie=RegExp(ae[o("0x4aff")]),oe=RegExp(re[o("0x4aff")]),xe=/<%-([\s\S]+?)%>/g,se=/<%([\s\S]+?)%>/g,ce=/<%=([\s\S]+?)%>/g,le=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,de=/^\w*$/,ue=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fe=/[\\^$.*+?()[\]{}|]/g,me=RegExp(fe.source),be=/^\s+|\s+$/g,_e=/^\s+/,pe=/\s+$/,he=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ge=/\{\n\/\* \[wrapped with (.+)\] \*/,ve=/,? & /,Se=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ee=/\\(\\)?/g,Ae=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Te=/\w*$/,ye=/^[-+]0x[0-9a-f]+$/i,Ce=/^0b[01]+$/i,we=/^\[object .+?Constructor\]$/,Me=/^0o[0-7]+$/i,Re=/^(?:0|[1-9]\d*)$/,De=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ie=/($^)/,Ne=/['\n\r\u2028\u2029\\]/g,Oe="\\ud800-\\udfff",ke=o("0xab1")+o("0x3d47")+o("0x4d6e"),Pe=o("0x4b6d"),Le=o("0x2303"),Fe=o("0x1613"),Be=o("0x12fc"),Ye=o("0x1852"),Ge=o("0x2eca"),He=o("0xf23"),Ue=o("0x3aea"),$e=Fe+Be+Ye+Ge,je="['’]",Ve="[\\ud800-\\udfff]",We="["+$e+"]",qe="["+ke+"]",ze=o("0xf14"),Qe="["+Pe+"]",Ke="["+Le+"]",Xe="[^"+Oe+$e+ze+Pe+Le+He+"]",Je="\\ud83c[\\udffb-\\udfff]",Ze=o("0x22ea")+qe+"|"+Je+")",et="[^\\ud800-\\udfff]",tt=o("0x256c"),nt=o("0x15dc"),at="["+He+"]",rt=o("0x4522"),it=o("0x22ea")+Ke+"|"+Xe+")",ot=o("0x22ea")+at+"|"+Xe+")",xt="(?:['’]"+o("0xf0b"),st=o("0x22ea")+je+o("0x24f"),ct=Ze+"?",lt="["+Ue+"]?",dt=o("0x22ea")+rt+o("0x22ea")+[et,tt,nt].join("|")+")"+lt+ct+")*",ut=o("0x36c4"),ft=lt+ct+dt,mt=o("0x22ea")+[Qe,tt,nt].join("|")+")"+ft,bt="(?:"+[et+qe+"?",qe,tt,nt,Ve].join("|")+")",_t=RegExp(je,"g"),pt=RegExp(qe,"g"),ht=RegExp(Je+o("0x3df9")+Je+")|"+bt+ft,"g"),gt=RegExp([at+"?"+Ke+"+"+xt+o("0x3df9")+[We,at,"$"][o("0xc60")]("|")+")",ot+"+"+st+"(?="+[We,at+it,"$"][o("0xc60")]("|")+")",at+"?"+it+"+"+xt,at+"+"+st,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ut,ze,mt][o("0xc60")]("|"),"g"),vt=RegExp("["+rt+Oe+ke+Ue+"]"),St=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Et=["Array",o("0x2a43"),o("0x232a"),o("0x3b49"),o("0x29b1"),o("0x1f99"),o("0x22f7"),o("0x10a"),o("0x33d"),o("0x13d1"),o("0x950"),o("0x247"),o("0x4913"),"Object",o("0x10d3"),o("0xa02"),o("0x4b8a"),"String",o("0x77f"),o("0x4d42"),"Uint8Array",o("0x41f1"),o("0x80e"),o("0x47ec"),o("0x2b5e"),"_",o("0x4fce"),o("0x1d18"),"parseInt","setTimeout"],At=-1,Tt={};Tt[V]=Tt[W]=Tt[q]=Tt[z]=Tt[Q]=Tt[K]=Tt[X]=Tt[J]=Tt[Z]=!0,Tt[A]=Tt[T]=Tt[$]=Tt[C]=Tt[j]=Tt[w]=Tt[R]=Tt[D]=Tt[N]=Tt[O]=Tt[k]=Tt[F]=Tt[B]=Tt[Y]=Tt[H]=!1;var yt={};yt[A]=yt[T]=yt[$]=yt[j]=yt[C]=yt[w]=yt[V]=yt[W]=yt[q]=yt[z]=yt[Q]=yt[N]=yt[O]=yt[k]=yt[F]=yt[B]=yt[Y]=yt[G]=yt[K]=yt[X]=yt[J]=yt[Z]=!0,yt[R]=yt[D]=yt[H]=!1;var Ct={"&":o("0xcfa"),"<":o("0x244b"),">":"&gt;",'"':o("0x4cd1"),"'":"&#39;"},wt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":o("0x1ed9"),"\u2029":"u2029"},Mt=parseFloat,Rt=parseInt,Dt=typeof n.g==o("0x1b1d")&&n.g&&n.g[o("0x419b")]===Object&&n.g,It=typeof self==o("0x1b1d")&&self&&self.Object===Object&&self,Nt=Dt||It||Function("return this")(),Ot=t&&!t[o("0x4879")]&&t,kt=Ot&&"object"==o("0x1b1d")&&e&&!e.nodeType&&e,Pt=kt&&kt[o("0x33f9")]===Ot,Lt=Pt&&Dt[o("0x4731")],Ft=function(){var e=o;try{var t=kt&&kt[e("0x2c67")]&&kt[e("0x2c67")]("util")[e("0xb8a")];return t||Lt&&Lt[e("0x1109")]&&Lt[e("0x1109")](e("0x4d5c"))}catch(e){}}(),Bt=Ft&&Ft[o("0x1a14")],Yt=Ft&&Ft[o("0x24a9")],Gt=Ft&&Ft[o("0x15c7")],Ht=Ft&&Ft[o("0x3353")],Ut=Ft&&Ft[o("0x6f8")],$t=Ft&&Ft[o("0x291f")];function jt(e,t,n){var a=o;switch(n[a("0x5e9")]){case 0:return e[a("0x3c6b")](t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e[a("0x4884")](t,n)}function Vt(e,t,n,a){for(var r=-1,i=null==e?0:e[o("0x5e9")];++r<i;){var x=e[r];t(a,x,n(x),e)}return a}function Wt(e,t){for(var n=-1,a=null==e?0:e[o("0x5e9")];++n<a&&!1!==t(e[n],n,e););return e}function qt(e,t){for(var n=null==e?0:e[o("0x5e9")];n--&&!1!==t(e[n],n,e););return e}function zt(e,t){for(var n=-1,a=null==e?0:e.length;++n<a;)if(!t(e[n],n,e))return!1;return!0}function Qt(e,t){for(var n=-1,a=null==e?0:e[o("0x5e9")],r=0,i=[];++n<a;){var x=e[n];t(x,n,e)&&(i[r++]=x)}return i}function Kt(e,t){return!!(null==e?0:e[o("0x5e9")])&&xn(e,t,0)>-1}function Xt(e,t,n){for(var a=-1,r=null==e?0:e.length;++a<r;)if(n(t,e[a]))return!0;return!1}function Jt(e,t){for(var n=-1,a=null==e?0:e[o("0x5e9")],r=Array(a);++n<a;)r[n]=t(e[n],n,e);return r}function Zt(e,t){for(var n=o,a=-1,r=t.length,i=e[n("0x5e9")];++a<r;)e[i+a]=t[a];return e}function en(e,t,n,a){var r=-1,i=null==e?0:e.length;for(a&&i&&(n=e[++r]);++r<i;)n=t(n,e[r],r,e);return n}function tn(e,t,n,a){var r=null==e?0:e[o("0x5e9")];for(a&&r&&(n=e[--r]);r--;)n=t(n,e[r],r,e);return n}function nn(e,t){for(var n=-1,a=null==e?0:e.length;++n<a;)if(t(e[n],n,e))return!0;return!1}var an=dn(o("0x5e9"));function rn(e,t,n){var a;return n(e,(function(e,n,r){if(t(e,n,r))return a=n,!1})),a}function on(e,t,n,a){for(var r=e[o("0x5e9")],i=n+(a?1:-1);a?i--:++i<r;)if(t(e[i],i,e))return i;return-1}function xn(e,t,n){return t==t?function(e,t,n){var a=n-1,r=e[o("0x5e9")];for(;++a<r;)if(e[a]===t)return a;return-1}(e,t,n):on(e,cn,n)}function sn(e,t,n,a){for(var r=n-1,i=e[o("0x5e9")];++r<i;)if(a(e[r],t))return r;return-1}function cn(e){return e!=e}function ln(e,t){var n=null==e?0:e[o("0x5e9")];return n?mn(e,t)/n:v}function dn(e){return function(t){return null==t?i:t[e]}}function un(e){return function(t){return null==e?i:e[t]}}function fn(e,t,n,a,r){return r(e,(function(e,r,i){n=a?(a=!1,e):t(n,e,r,i)})),n}function mn(e,t){for(var n,a=-1,r=e[o("0x5e9")];++a<r;){var x=t(e[a]);x!==i&&(n=n===i?x:n+x)}return n}function bn(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}function _n(e){return function(t){return e(t)}}function pn(e,t){return Jt(t,(function(t){return e[t]}))}function hn(e,t){return e[o("0x519")](t)}function gn(e,t){for(var n=-1,a=e[o("0x5e9")];++n<a&&xn(t,e[n],0)>-1;);return n}function vn(e,t){for(var n=e[o("0x5e9")];n--&&xn(t,e[n],0)>-1;);return n}function Sn(e,t){for(var n=e.length,a=0;n--;)e[n]===t&&++a;return a}var En=un({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",Ĳ:"IJ",ĳ:"ij",Œ:"Oe",œ:"oe",ŉ:"'n",ſ:"s"}),An=un(Ct);function Tn(e){return"\\"+wt[e]}function yn(e){return vt[o("0x3ff3")](e)}function Cn(e){var t=o,n=-1,a=Array(e[t("0x27ff")]);return e[t("0x5ba")]((function(e,t){a[++n]=[t,e]})),a}function wn(e,t){return function(n){return e(t(n))}}function Mn(e,t){for(var n=-1,a=e[o("0x5e9")],r=0,i=[];++n<a;){var x=e[n];(x===t||x===d)&&(e[n]=d,i[r++]=n)}return i}function Rn(e){var t=o,n=-1,a=Array(e[t("0x27ff")]);return e[t("0x5ba")]((function(e){a[++n]=e})),a}function Dn(e){return yn(e)?function(e){var t=o,n=ht.lastIndex=0;for(;ht[t("0x3ff3")](e);)++n;return n}(e):an(e)}function In(e){return yn(e)?e.match(ht)||[]:e[o("0x9e5")]("")}var Nn=un({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var On=function e(t){var n,a,r=o,Oe=(t=null==t?Nt:On[r("0xbda")](Nt[r("0x419b")](),t,On[r("0x389")](Nt,Et))).Array,ke=t[r("0x3b49")],Pe=t[r("0x29b1")],Le=t.Function,Fe=t[r("0x4913")],Be=t[r("0x419b")],Ye=t[r("0xa02")],Ge=t[r("0x48ed")],He=t[r("0x4d42")],Ue=Oe[r("0x20f")],$e=Le[r("0x20f")],je=Be[r("0x20f")],Ve=t[r("0x39db")],We=$e[r("0x3c88")],qe=je.hasOwnProperty,ze=0,Qe=(a=/[^.]+$/[(n=r)("0x3629")](Ve&&Ve.keys&&Ve.keys[n("0x3fe3")]||""))?"Symbol(src)_1."+a:"",Ke=je[r("0x3c88")],Xe=We.call(Be),Je=Nt._,Ze=Ye("^"+We[r("0x3c6b")](qe).replace(fe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,r("0x64"))+"$"),et=Pt?t[r("0x2a43")]:i,tt=t[r("0x77f")],nt=t[r("0x4d68")],at=et?et.allocUnsafe:i,rt=wn(Be[r("0x3e2a")],Be),it=Be[r("0x4b8c")],ot=je[r("0x21d")],xt=Ue[r("0x2bcf")],st=tt?tt.isConcatSpreadable:i,ct=tt?tt[r("0x1275")]:i,lt=tt?tt.toStringTag:i,dt=function(){var e=r;try{var t=Si(Be,e("0x47ad"));return t({},"",{}),t}catch(e){}}(),ut=t[r("0x4fce")]!==Nt[r("0x4fce")]&&t.clearTimeout,ft=ke&&ke.now!==Nt[r("0x3b49")][r("0x4706")]&&ke.now,mt=t.setTimeout!==Nt[r("0x1b5f")]&&t.setTimeout,bt=Fe[r("0x3c59")],ht=Fe[r("0x4184")],vt=Be[r("0x3f0e")],Ct=et?et.isBuffer:i,wt=t[r("0x1d18")],Dt=Ue[r("0xc60")],It=wn(Be[r("0xa35")],Be),Ot=Fe[r("0x242b")],kt=Fe[r("0x11db")],Lt=ke[r("0x4706")],Ft=t[r("0x2b4d")],an=Fe[r("0xcbb")],un=Ue[r("0x48d")],kn=Si(t,r("0x232a")),Pn=Si(t,"Map"),Ln=Si(t,"Promise"),Fn=Si(t,r("0x4b8a")),Bn=Si(t,r("0x2b5e")),Yn=Si(Be,r("0x4b8c")),Gn=Bn&&new Bn,Hn={},Un=Xi(kn),$n=Xi(Pn),jn=Xi(Ln),Vn=Xi(Fn),Wn=Xi(Bn),qn=tt?tt[r("0x20f")]:i,zn=qn?qn[r("0x2f75")]:i,Qn=qn?qn[r("0x3c88")]:i;function Kn(e){var t=r;if(bx(e)&&!rx(e)&&!(e instanceof ea)){if(e instanceof Zn)return e;if(qe[t("0x3c6b")](e,"__wrapped__"))return Ji(e)}return new Zn(e)}var Xn=function(){function e(){}return function(t){var n=a2_0x37cf;if(!mx(t))return{};if(it)return it(t);e.prototype=t;var a=new e;return e[n("0x20f")]=i,a}}();function Jn(){}function Zn(e,t){var n=r;this[n("0x239")]=e,this[n("0x3c55")]=[],this.__chain__=!!t,this[n("0x44d9")]=0,this[n("0x3b97")]=i}function ea(e){var t=r;this[t("0x239")]=e,this[t("0x3c55")]=[],this[t("0x4d96")]=1,this.__filtered__=!1,this[t("0x3148")]=[],this[t("0x39d9")]=S,this[t("0x26de")]=[]}function ta(e){var t=r,n=-1,a=null==e?0:e[t("0x5e9")];for(this[t("0x2066")]();++n<a;){var i=e[n];this.set(i[0],i[1])}}function na(e){var t=r,n=-1,a=null==e?0:e[t("0x5e9")];for(this[t("0x2066")]();++n<a;){var i=e[n];this[t("0x6e6")](i[0],i[1])}}function aa(e){var t=r,n=-1,a=null==e?0:e[t("0x5e9")];for(this.clear();++n<a;){var i=e[n];this[t("0x6e6")](i[0],i[1])}}function ra(e){var t=r,n=-1,a=null==e?0:e[t("0x5e9")];for(this[t("0x3d20")]=new aa;++n<a;)this[t("0x2d6e")](e[n])}function ia(e){var t=r,n=this[t("0x3d20")]=new na(e);this[t("0x27ff")]=n[t("0x27ff")]}function oa(e,t){var n=r,a=rx(e),i=!a&&ax(e),o=!a&&!i&&sx(e),x=!a&&!i&&!o&&Ax(e),s=a||i||o||x,c=s?bn(e.length,Ge):[],l=c[n("0x5e9")];for(var d in e)(t||qe[n("0x3c6b")](e,d))&&(!s||!(d==n("0x5e9")||o&&(d==n("0x1feb")||d==n("0x731"))||x&&(d==n("0x1920")||"byteLength"==d||"byteOffset"==d)||Mi(d,l)))&&c.push(d);return c}function xa(e){var t=e.length;return t?e[rr(0,t-1)]:i}function sa(e,t){var n=r;return Vi(Yr(e),pa(t,0,e[n("0x5e9")]))}function ca(e){return Vi(Yr(e))}function la(e,t,n){(n!==i&&!ex(e[t],n)||n===i&&!(t in e))&&ba(e,t,n)}function da(e,t,n){var a=r,o=e[t];(!qe[a("0x3c6b")](e,t)||!ex(o,n)||n===i&&!(t in e))&&ba(e,t,n)}function ua(e,t){for(var n=e[r("0x5e9")];n--;)if(ex(e[n][0],t))return n;return-1}function fa(e,t,n,a){return Ea(e,(function(e,r,i){t(a,e,n(e),i)})),a}function ma(e,t){return e&&Gr(t,Vx(t),e)}function ba(e,t,n){"__proto__"==t&&dt?dt(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function _a(e,t){for(var n=-1,a=t[r("0x5e9")],o=Oe(a),x=null==e;++n<a;)o[n]=x?i:Gx(e,t[n]);return o}function pa(e,t,n){return e==e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function ha(e,t,n,a,o,x){var s,c=r,l=1&t,d=2&t,u=4&t;if(n&&(s=o?n(e,a,o,x):n(e)),s!==i)return s;if(!mx(e))return e;var f,m,b,_,p,h,g,v,S,E,T=rx(e);if(T){if(S=(g=e)[(v=r)("0x5e9")],E=new(g[v("0x11ae")])(S),S&&"string"==typeof g[0]&&qe.call(g,"index")&&(E[v("0x2d50")]=g[v("0x2d50")],E.input=g[v("0x3f87")]),s=E,!l)return Yr(e,s)}else{var y=Ti(e),M=y==D||y==I;if(sx(e))return Or(e,l);if(y==k||y==A||M&&!o){if(s=d||M?{}:Ci(e),!l)return d?(b=e,h=e,_=(p=s)&&Gr(h,Wx(h),p),Gr(b,Ai(b),_)):(f=e,m=ma(s,e),Gr(f,Ei(f),m))}else{if(!yt[y])return o?e:{};s=function(e,t,n){var a=e[r("0x11ae")];switch(t){case $:return kr(e);case C:case w:return new a(+e);case j:return c=e,l=r,d=n?kr(c[l("0x1920")]):c.buffer,new(c[l("0x11ae")])(d,c[l("0x337f")],c[l("0x47c")]);case V:case W:case q:case z:case Q:case K:case X:case J:case Z:return Pr(e,n);case N:return new a;case O:case Y:return new a(e);case F:return(s=new((o=e)[(x=r)("0x11ae")])(o[x("0x4aff")],Te[x("0x3629")](o))).lastIndex=o.lastIndex,s;case B:return new a;case G:return i=e,zn?Be(zn.call(i)):{}}var i;var o,x,s;var c,l,d}(e,y,l)}}x||(x=new ia);var R=x[c("0x1cf")](e);if(R)return R;x[c("0x6e6")](e,s),vx(e)?e[c("0x5ba")]((function(a){s[c("0x2d6e")](ha(a,t,n,a,e,x))})):_x(e)&&e.forEach((function(a,r){s.set(r,ha(a,t,n,r,e,x))}));var P=T?i:(u?d?mi:fi:d?Wx:Vx)(e);return Wt(P||e,(function(a,r){P&&(a=e[r=a]),da(s,r,ha(a,t,n,r,e,x))})),s}function ga(e,t,n){var a=n.length;if(null==e)return!a;for(e=Be(e);a--;){var r=n[a],o=t[r],x=e[r];if(x===i&&!(r in e)||!o(x))return!1}return!0}function va(e,t,n){var a=r;if(typeof e!=a("0x3349"))throw new He(c);return Hi((function(){e[a("0x4884")](i,n)}),t)}function Sa(e,t,n,a){var i=r,o=-1,x=Kt,s=!0,c=e[i("0x5e9")],l=[],d=t.length;if(!c)return l;n&&(t=Jt(t,_n(n))),a?(x=Xt,s=!1):t[i("0x5e9")]>=200&&(x=hn,s=!1,t=new ra(t));e:for(;++o<c;){var u=e[o],f=null==n?u:n(u);if(u=a||0!==u?u:0,s&&f==f){for(var m=d;m--;)if(t[m]===f)continue e;l[i("0x459a")](u)}else!x(t,f,a)&&l[i("0x459a")](u)}return l}Kn.templateSettings={escape:xe,evaluate:se,interpolate:ce,variable:"",imports:{_:Kn}},Kn[r("0x20f")]=Jn[r("0x20f")],Kn[r("0x20f")].constructor=Kn,Zn[r("0x20f")]=Xn(Jn[r("0x20f")]),Zn[r("0x20f")].constructor=Zn,ea[r("0x20f")]=Xn(Jn.prototype),ea[r("0x20f")][r("0x11ae")]=ea,ta[r("0x20f")].clear=function(){this[r("0x3d20")]=Yn?Yn(null):{},this.size=0},ta.prototype[r("0x23be")]=function(e){var t=r,n=this[t("0x519")](e)&&delete this[t("0x3d20")][e];return this.size-=n?1:0,n},ta[r("0x20f")][r("0x1cf")]=function(e){var t=r,n=this.__data__;if(Yn){var a=n[e];return a===l?i:a}return qe[t("0x3c6b")](n,e)?n[e]:i},ta[r("0x20f")][r("0x519")]=function(e){var t=this[r("0x3d20")];return Yn?t[e]!==i:qe.call(t,e)},ta[r("0x20f")].set=function(e,t){var n=r,a=this[n("0x3d20")];return this[n("0x27ff")]+=this[n("0x519")](e)?0:1,a[e]=Yn&&t===i?l:t,this},na[r("0x20f")].clear=function(){var e=r;this[e("0x3d20")]=[],this[e("0x27ff")]=0},na[r("0x20f")][r("0x23be")]=function(e){var t=r,n=this.__data__,a=ua(n,e);return!(a<0)&&(a==n[t("0x5e9")]-1?n[t("0x4acd")]():xt[t("0x3c6b")](n,a,1),--this[t("0x27ff")],!0)},na[r("0x20f")][r("0x1cf")]=function(e){var t=this.__data__,n=ua(t,e);return n<0?i:t[n][1]},na[r("0x20f")][r("0x519")]=function(e){return ua(this[r("0x3d20")],e)>-1},na[r("0x20f")].set=function(e,t){var n=r,a=this[n("0x3d20")],i=ua(a,e);return i<0?(++this[n("0x27ff")],a[n("0x459a")]([e,t])):a[i][1]=t,this},aa.prototype[r("0x2066")]=function(){var e=r;this.size=0,this[e("0x3d20")]={hash:new ta,map:new(Pn||na),string:new ta}},aa[r("0x20f")][r("0x23be")]=function(e){var t=r,n=gi(this,e)[t("0x23be")](e);return this[t("0x27ff")]-=n?1:0,n},aa[r("0x20f")][r("0x1cf")]=function(e){var t=r;return gi(this,e)[t("0x1cf")](e)},aa[r("0x20f")][r("0x519")]=function(e){var t=r;return gi(this,e)[t("0x519")](e)},aa[r("0x20f")][r("0x6e6")]=function(e,t){var n=r,a=gi(this,e),i=a[n("0x27ff")];return a.set(e,t),this.size+=a[n("0x27ff")]==i?0:1,this},ra.prototype[r("0x2d6e")]=ra.prototype[r("0x459a")]=function(e){var t=r;return this[t("0x3d20")][t("0x6e6")](e,l),this},ra[r("0x20f")].has=function(e){var t=r;return this[t("0x3d20")][t("0x519")](e)},ia[r("0x20f")][r("0x2066")]=function(){var e=r;this.__data__=new na,this[e("0x27ff")]=0},ia[r("0x20f")][r("0x23be")]=function(e){var t=r,n=this[t("0x3d20")],a=n[t("0x23be")](e);return this[t("0x27ff")]=n[t("0x27ff")],a},ia[r("0x20f")][r("0x1cf")]=function(e){var t=r;return this[t("0x3d20")][t("0x1cf")](e)},ia[r("0x20f")][r("0x519")]=function(e){var t=r;return this[t("0x3d20")][t("0x519")](e)},ia.prototype[r("0x6e6")]=function(e,t){var n=r,a=this[n("0x3d20")];if(a instanceof na){var i=a[n("0x3d20")];if(!Pn||i[n("0x5e9")]<199)return i[n("0x459a")]([e,t]),this[n("0x27ff")]=++a[n("0x27ff")],this;a=this.__data__=new aa(i)}return a[n("0x6e6")](e,t),this[n("0x27ff")]=a[n("0x27ff")],this};var Ea=$r(Da),Aa=$r(Ia,!0);function Ta(e,t){var n=!0;return Ea(e,(function(e,a,r){return n=!!t(e,a,r)})),n}function ya(e,t,n){for(var a=-1,o=e[r("0x5e9")];++a<o;){var x=e[a],s=t(x);if(null!=s&&(c===i?s==s&&!Ex(s):n(s,c)))var c=s,l=x}return l}function Ca(e,t){var n=[];return Ea(e,(function(e,a,r){var i=a2_0x37cf;t(e,a,r)&&n[i("0x459a")](e)})),n}function wa(e,t,n,a,i){var o=r,x=-1,s=e.length;for(n||(n=wi),i||(i=[]);++x<s;){var c=e[x];t>0&&n(c)?t>1?wa(c,t-1,n,a,i):Zt(i,c):!a&&(i[i[o("0x5e9")]]=c)}return i}var Ma=jr(),Ra=jr(!0);function Da(e,t){return e&&Ma(e,t,Vx)}function Ia(e,t){return e&&Ra(e,t,Vx)}function Na(e,t){return Qt(t,(function(t){return dx(e[t])}))}function Oa(e,t){for(var n=r,a=0,o=(t=Rr(t,e))[n("0x5e9")];null!=e&&a<o;)e=e[Ki(t[a++])];return a&&a==o?e:i}function ka(e,t,n){var a=t(e);return rx(e)?a:Zt(a,n(e))}function Pa(e){return null==e?e===i?"[object Undefined]":"[object Null]":lt&&lt in Be(e)?function(e){var t=r,n=qe[t("0x3c6b")](e,lt),a=e[lt];try{e[lt]=i;var o=!0}catch(e){}var x=Ke[t("0x3c6b")](e);return o&&(n?e[lt]=a:delete e[lt]),x}(e):(t=e,Ke[r("0x3c6b")](t));var t}function La(e,t){return e>t}function Fa(e,t){return null!=e&&qe[r("0x3c6b")](e,t)}function Ba(e,t){return null!=e&&t in Be(e)}function Ya(e,t,n){for(var a=r,o=n?Xt:Kt,x=e[0][a("0x5e9")],s=e.length,c=s,l=Oe(s),d=1/0,u=[];c--;){var f=e[c];c&&t&&(f=Jt(f,_n(t))),d=kt(f.length,d),l[c]=!n&&(t||x>=120&&f[a("0x5e9")]>=120)?new ra(c&&f):i}f=e[0];var m=-1,b=l[0];e:for(;++m<x&&u[a("0x5e9")]<d;){var _=f[m],p=t?t(_):_;if(_=n||0!==_?_:0,!(b?hn(b,p):o(u,p,n))){for(c=s;--c;){var h=l[c];if(!(h?hn(h,p):o(e[c],p,n)))continue e}b&&b.push(p),u[a("0x459a")](_)}}return u}function Ga(e,t,n){var a=null==(e=Fi(e,t=Rr(t,e)))?e:e[Ki(co(t))];return null==a?i:jt(a,e,n)}function Ha(e){return bx(e)&&Pa(e)==A}function Ua(e,t,n,a,o){return e===t||(null==e||null==t||!bx(e)&&!bx(t)?e!=e&&t!=t:function(e,t,n,a,o,x){var s=r,c=rx(e),l=rx(t),d=c?T:Ti(e),u=l?T:Ti(t),f=(d=d==A?k:d)==k,m=(u=u==A?k:u)==k,b=d==u;if(b&&sx(e)){if(!sx(t))return!1;c=!0,f=!1}if(b&&!f)return x||(x=new ia),c||Ax(e)?di(e,t,n,a,o,x):function(e,t,n,a,i,o,x){var s=r;switch(n){case j:if(e.byteLength!=t.byteLength||e[s("0x337f")]!=t[s("0x337f")])return!1;e=e[s("0x1920")],t=t[s("0x1920")];case $:return!(e[s("0x47c")]!=t[s("0x47c")]||!o(new nt(e),new nt(t)));case C:case w:case O:return ex(+e,+t);case R:return e[s("0x98c")]==t[s("0x98c")]&&e[s("0x45ea")]==t.message;case F:case Y:return e==t+"";case N:var c=Cn;case B:var l=1&a;if(c||(c=Rn),e.size!=t[s("0x27ff")]&&!l)return!1;var d=x[s("0x1cf")](e);if(d)return d==t;a|=2,x[s("0x6e6")](e,t);var u=di(c(e),c(t),a,i,o,x);return x[s("0x23be")](e),u;case G:if(zn)return zn[s("0x3c6b")](e)==zn.call(t)}return!1}(e,t,d,n,a,o,x);if(!(1&n)){var _=f&&qe[s("0x3c6b")](e,s("0x239")),p=m&&qe[s("0x3c6b")](t,s("0x239"));if(_||p){var h=_?e[s("0x3a33")]():e,g=p?t[s("0x3a33")]():t;return x||(x=new ia),o(h,g,n,a,x)}}return!!b&&(x||(x=new ia),function(e,t,n,a,o,x){var s=r,c=1&n,l=fi(e),d=l[s("0x5e9")],u=fi(t)[s("0x5e9")];if(d!=u&&!c)return!1;var f=d;for(;f--;){var m=l[f];if(!(c?m in t:qe.call(t,m)))return!1}var b=x[s("0x1cf")](e),_=x.get(t);if(b&&_)return b==t&&_==e;var p=!0;x.set(e,t),x.set(t,e);var h=c;for(;++f<d;){var g=e[m=l[f]],v=t[m];if(a)var S=c?a(v,g,m,t,e,x):a(g,v,m,e,t,x);if(!(S===i?g===v||o(g,v,n,a,x):S)){p=!1;break}h||(h="constructor"==m)}if(p&&!h){var E=e[s("0x11ae")],A=t.constructor;E!=A&&s("0x11ae")in e&&s("0x11ae")in t&&!(typeof E==s("0x3349")&&E instanceof E&&typeof A==s("0x3349")&&A instanceof A)&&(p=!1)}return x[s("0x23be")](e),x[s("0x23be")](t),p}(e,t,n,a,o,x))}(e,t,n,a,Ua,o))}function $a(e,t,n,a){var r=n.length,o=r,x=!a;if(null==e)return!o;for(e=Be(e);r--;){var s=n[r];if(x&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++r<o;){var c=(s=n[r])[0],l=e[c],d=s[1];if(x&&s[2]){if(l===i&&!(c in e))return!1}else{var u=new ia;if(a)var f=a(l,d,c,e,t,u);if(!(f===i?Ua(d,l,3,a,u):f))return!1}}return!0}function ja(e){var t,n=r;return!(!mx(e)||(t=e,Qe&&Qe in t))&&(dx(e)?Ze:we)[n("0x3ff3")](Xi(e))}function Va(e){var t=r;return typeof e==t("0x3349")?e:null==e?ps:typeof e==t("0x1b1d")?rx(e)?Xa(e[0],e[1]):Ka(e):Cs(e)}function Wa(e){var t=r;if(!Oi(e))return It(e);var n=[];for(var a in Be(e))qe[t("0x3c6b")](e,a)&&a!=t("0x11ae")&&n[t("0x459a")](a);return n}function qa(e){var t=r;if(!mx(e))return function(e){var t=r,n=[];if(null!=e)for(var a in Be(e))n[t("0x459a")](a);return n}(e);var n=Oi(e),a=[];for(var i in e)(i!=t("0x11ae")||!n&&qe[t("0x3c6b")](e,i))&&a[t("0x459a")](i);return a}function za(e,t){return e<t}function Qa(e,t){var n=r,a=-1,i=ox(e)?Oe(e[n("0x5e9")]):[];return Ea(e,(function(e,n,r){i[++a]=t(e,n,r)})),i}function Ka(e){var t=vi(e);return 1==t.length&&t[0][2]?Pi(t[0][0],t[0][1]):function(n){return n===e||$a(n,e,t)}}function Xa(e,t){return Di(e)&&ki(t)?Pi(Ki(e),t):function(n){var a=Gx(n,e);return a===i&&a===t?Hx(n,e):Ua(t,a,3)}}function Ja(e,t,n,a,o){e!==t&&Ma(t,(function(x,s){if(o||(o=new ia),mx(x))!function(e,t,n,a,o,x,s){var c=r,l=Yi(e,n),d=Yi(t,n),u=s[c("0x1cf")](d);if(u)return void la(e,n,u);var f=x?x(l,d,n+"",e,t,s):i,m=f===i;if(m){var b=rx(d),_=!b&&sx(d),p=!b&&!_&&Ax(d);f=d,b||_||p?rx(l)?f=l:xx(l)?f=Yr(l):_?(m=!1,f=Or(d,!0)):p?(m=!1,f=Pr(d,!0)):f=[]:hx(d)||ax(d)?(f=l,ax(l)?f=Ix(l):(!mx(l)||dx(l))&&(f=Ci(d))):m=!1}m&&(s.set(d,f),o(f,d,a,x,s),s[c("0x23be")](d)),la(e,n,f)}(e,t,s,n,Ja,a,o);else{var c=a?a(Yi(e,s),x,s+"",e,t,o):i;c===i&&(c=x),la(e,s,c)}}),Wx)}function Za(e,t){var n=e[r("0x5e9")];if(n)return Mi(t+=t<0?n:0,n)?e[t]:i}function er(e,t,n){t=t.length?Jt(t,(function(e){return rx(e)?function(t){return Oa(t,1===e[a2_0x37cf("0x5e9")]?e[0]:e)}:e})):[ps];var a=-1;return t=Jt(t,_n(hi())),function(e,t){var n=o,a=e[n("0x5e9")];for(e.sort(t);a--;)e[a]=e[a][n("0x3a33")];return e}(Qa(e,(function(e,n,r){return{criteria:Jt(t,(function(t){return t(e)})),index:++a,value:e}})),(function(e,t){return function(e,t,n){var a=r,i=-1,o=e.criteria,x=t[a("0x1470")],s=o.length,c=n.length;for(;++i<s;){var l=Lr(o[i],x[i]);if(l)return i>=c?l:l*(n[i]==a("0x1e4c")?-1:1)}return e.index-t[a("0x2d50")]}(e,t,n)}))}function tr(e,t,n){for(var a=-1,r=t.length,i={};++a<r;){var o=t[a],x=Oa(e,o);n(x,o)&&cr(i,Rr(o,e),x)}return i}function nr(e,t,n,a){var i=r,o=a?sn:xn,x=-1,s=t.length,c=e;for(e===t&&(t=Yr(t)),n&&(c=Jt(e,_n(n)));++x<s;)for(var l=0,d=t[x],u=n?n(d):d;(l=o(c,u,l,a))>-1;)c!==e&&xt[i("0x3c6b")](c,l,1),xt.call(e,l,1);return e}function ar(e,t){for(var n=e?t[r("0x5e9")]:0,a=n-1;n--;){var i=t[n];if(n==a||i!==o){var o=i;Mi(i)?xt.call(e,i,1):Sr(e,i)}}return e}function rr(e,t){return e+ht(an()*(t-e+1))}function ir(e,t){var n="";if(!e||t<1||t>g)return n;do{t%2&&(n+=e),(t=ht(t/2))&&(e+=e)}while(t);return n}function or(e,t){return Ui(Li(e,t,ps),e+"")}function xr(e){return xa(es(e))}function sr(e,t){var n=es(e);return Vi(n,pa(t,0,n.length))}function cr(e,t,n,a){var o=r;if(!mx(e))return e;for(var x=-1,s=(t=Rr(t,e))[o("0x5e9")],c=s-1,l=e;null!=l&&++x<s;){var d=Ki(t[x]),u=n;if(d===o("0x287c")||"constructor"===d||d===o("0x20f"))return e;if(x!=c){var f=l[d];(u=a?a(f,d,l):i)===i&&(u=mx(f)?f:Mi(t[x+1])?[]:{})}da(l,d,u),l=l[d]}return e}var lr=Gn?function(e,t){return Gn.set(e,t),e}:ps,dr=dt?function(e,t){return dt(e,r("0x3c88"),{configurable:!0,enumerable:!1,value:ms(t),writable:!0})}:ps;function ur(e){return Vi(es(e))}function fr(e,t,n){var a=-1,r=e.length;t<0&&(t=-t>r?0:r+t),(n=n>r?r:n)<0&&(n+=r),r=t>n?0:n-t>>>0,t>>>=0;for(var i=Oe(r);++a<r;)i[a]=e[a+t];return i}function mr(e,t){var n;return Ea(e,(function(e,a,r){return!(n=t(e,a,r))})),!!n}function br(e,t,n){var a=r,i=0,o=null==e?i:e[a("0x5e9")];if(typeof t==a("0x2231")&&t==t&&o<=2147483647){for(;i<o;){var x=i+o>>>1,s=e[x];null!==s&&!Ex(s)&&(n?s<=t:s<t)?i=x+1:o=x}return o}return _r(e,t,ps,n)}function _r(e,t,n,a){var r=0,o=null==e?0:e.length;if(0===o)return 0;for(var x=(t=n(t))!=t,s=null===t,c=Ex(t),l=t===i;r<o;){var d=ht((r+o)/2),u=n(e[d]),f=u!==i,m=null===u,b=u==u,_=Ex(u);if(x)var p=a||b;else p=l?b&&(a||f):s?b&&f&&(a||!m):c?b&&f&&!m&&(a||!_):!m&&!_&&(a?u<=t:u<t);p?r=d+1:o=d}return kt(o,4294967294)}function pr(e,t){for(var n=-1,a=e[r("0x5e9")],i=0,o=[];++n<a;){var x=e[n],s=t?t(x):x;if(!n||!ex(s,c)){var c=s;o[i++]=0===x?0:x}}return o}function hr(e){return typeof e==r("0x2231")?e:Ex(e)?v:+e}function gr(e){var t=r;if("string"==typeof e)return e;if(rx(e))return Jt(e,gr)+"";if(Ex(e))return Qn?Qn[t("0x3c6b")](e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}function vr(e,t,n){var a=r,i=-1,o=Kt,x=e.length,s=!0,c=[],l=c;if(n)s=!1,o=Xt;else if(x>=200){var d=t?null:ii(e);if(d)return Rn(d);s=!1,o=hn,l=new ra}else l=t?[]:c;e:for(;++i<x;){var u=e[i],f=t?t(u):u;if(u=n||0!==u?u:0,s&&f==f){for(var m=l.length;m--;)if(l[m]===f)continue e;t&&l[a("0x459a")](f),c.push(u)}else!o(l,f,n)&&(l!==c&&l[a("0x459a")](f),c[a("0x459a")](u))}return c}function Sr(e,t){return null==(e=Fi(e,t=Rr(t,e)))||delete e[Ki(co(t))]}function Er(e,t,n,a){return cr(e,t,n(Oa(e,t)),a)}function Ar(e,t,n,a){for(var i=e[r("0x5e9")],o=a?i:-1;(a?o--:++o<i)&&t(e[o],o,e););return n?fr(e,a?0:o,a?o+1:i):fr(e,a?o+1:0,a?i:o)}function Tr(e,t){var n=r,a=e;return a instanceof ea&&(a=a[n("0x3a33")]()),en(t,(function(e,t){var a=n;return t[a("0xac1")].apply(t[a("0x4a5f")],Zt([e],t[a("0x4565")]))}),a)}function yr(e,t,n){var a=e[r("0x5e9")];if(a<2)return a?vr(e[0]):[];for(var i=-1,o=Oe(a);++i<a;)for(var x=e[i],s=-1;++s<a;)s!=i&&(o[i]=Sa(o[i]||x,e[s],t,n));return vr(wa(o,1),t,n)}function Cr(e,t,n){for(var a=-1,o=e[r("0x5e9")],x=t.length,s={};++a<o;){var c=a<x?t[a]:i;n(s,e[a],c)}return s}function wr(e){return xx(e)?e:[]}function Mr(e){return typeof e==r("0x3349")?e:ps}function Rr(e,t){return rx(e)?e:Di(e,t)?[e]:Qi(Nx(e))}var Dr=or;function Ir(e,t,n){var a=e.length;return n=n===i?a:n,!t&&n>=a?e:fr(e,t,n)}var Nr=ut||function(e){return Nt[r("0x4fce")](e)};function Or(e,t){var n=r;if(t)return e[n("0x9b3")]();var a=e[n("0x5e9")],i=at?at(a):new(e[n("0x11ae")])(a);return e[n("0x4d98")](i),i}function kr(e){var t=r,n=new(e[t("0x11ae")])(e[t("0x47c")]);return new nt(n)[t("0x6e6")](new nt(e)),n}function Pr(e,t){var n=r,a=t?kr(e.buffer):e[n("0x1920")];return new(e[n("0x11ae")])(a,e[n("0x337f")],e[n("0x5e9")])}function Lr(e,t){if(e!==t){var n=e!==i,a=null===e,r=e==e,o=Ex(e),x=t!==i,s=null===t,c=t==t,l=Ex(t);if(!s&&!l&&!o&&e>t||o&&x&&c&&!s&&!l||a&&x&&c||!n&&c||!r)return 1;if(!a&&!o&&!l&&e<t||l&&n&&r&&!a&&!o||s&&n&&r||!x&&r||!c)return-1}return 0}function Fr(e,t,n,a){for(var i=r,o=-1,x=e[i("0x5e9")],s=n[i("0x5e9")],c=-1,l=t[i("0x5e9")],d=Ot(x-s,0),u=Oe(l+d),f=!a;++c<l;)u[c]=t[c];for(;++o<s;)(f||o<x)&&(u[n[o]]=e[o]);for(;d--;)u[c++]=e[o++];return u}function Br(e,t,n,a){for(var i=r,o=-1,x=e[i("0x5e9")],s=-1,c=n[i("0x5e9")],l=-1,d=t.length,u=Ot(x-c,0),f=Oe(u+d),m=!a;++o<u;)f[o]=e[o];for(var b=o;++l<d;)f[b+l]=t[l];for(;++s<c;)(m||o<x)&&(f[b+n[s]]=e[o++]);return f}function Yr(e,t){var n=-1,a=e[r("0x5e9")];for(t||(t=Oe(a));++n<a;)t[n]=e[n];return t}function Gr(e,t,n,a){var o=!n;n||(n={});for(var x=-1,s=t[r("0x5e9")];++x<s;){var c=t[x],l=a?a(n[c],e[c],c,n,e):i;l===i&&(l=e[c]),o?ba(n,c,l):da(n,c,l)}return n}function Hr(e,t){return function(n,a){var r=rx(n)?Vt:fa,i=t?t():{};return r(n,e,hi(a,2),i)}}function Ur(e){return or((function(t,n){var a=a2_0x37cf,r=-1,o=n.length,x=o>1?n[o-1]:i,s=o>2?n[2]:i;for(x=e[a("0x5e9")]>3&&typeof x==a("0x3349")?(o--,x):i,s&&Ri(n[0],n[1],s)&&(x=o<3?i:x,o=1),t=Be(t);++r<o;){var c=n[r];c&&e(t,c,r,x)}return t}))}function $r(e,t){return function(n,a){var r=a2_0x37cf;if(null==n)return n;if(!ox(n))return e(n,a);for(var i=n[r("0x5e9")],o=t?i:-1,x=Be(n);(t?o--:++o<i)&&!1!==a(x[o],o,x););return n}}function jr(e){return function(t,n,a){for(var r=a2_0x37cf,i=-1,o=Be(t),x=a(t),s=x[r("0x5e9")];s--;){var c=x[e?s:++i];if(!1===n(o[c],c,o))break}return t}}function Vr(e){return function(t){var n=a2_0x37cf,a=yn(t=Nx(t))?In(t):i,r=a?a[0]:t[n("0x24de")](0),o=a?Ir(a,1)[n("0xc60")](""):t[n("0x9b3")](1);return r[e]()+o}}function Wr(e){return function(t){var n=a2_0x37cf;return en(ds(as(t)[n("0x3cc0")](_t,"")),e,"")}}function qr(e){return function(){var t=a2_0x37cf,n=arguments;switch(n[t("0x5e9")]){case 0:return new e;case 1:return new e(n[0]);case 2:return new e(n[0],n[1]);case 3:return new e(n[0],n[1],n[2]);case 4:return new e(n[0],n[1],n[2],n[3]);case 5:return new e(n[0],n[1],n[2],n[3],n[4]);case 6:return new e(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new e(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var a=Xn(e.prototype),r=e[t("0x4884")](a,n);return mx(r)?r:a}}function zr(e){return function(t,n,a){var r=Be(t);if(!ox(t)){var o=hi(n,3);t=Vx(t),n=function(e){return o(r[e],e,r)}}var x=e(t,n,a);return x>-1?r[o?t[x]:x]:i}}function Qr(e){return ui((function(t){var n=a2_0x37cf,a=t[n("0x5e9")],r=a,o=Zn.prototype[n("0x4587")];for(e&&t[n("0x48d")]();r--;){var x=t[r];if(typeof x!=n("0x3349"))throw new He(c);if(o&&!s&&_i(x)==n("0x1fbe"))var s=new Zn([],!0)}for(r=s?r:a;++r<a;){var l=_i(x=t[r]),d=l==n("0x1fbe")?bi(x):i;s=d&&Ii(d[0])&&424==d[1]&&!d[4][n("0x5e9")]&&1==d[9]?s[_i(d[0])][n("0x4884")](s,d[3]):1==x[n("0x5e9")]&&Ii(x)?s[l]():s[n("0x4587")](x)}return function(){var e=n,r=arguments,i=r[0];if(s&&1==r[e("0x5e9")]&&rx(i))return s[e("0x96d")](i).value();for(var o=0,x=a?t[o].apply(this,r):i;++o<a;)x=t[o][e("0x3c6b")](this,x);return x}}))}function Kr(e,t,n,a,r,o,x,s,c,l){var d=t&b,u=1&t,f=2&t,m=24&t,_=512&t,p=f?i:qr(e);return function i(){for(var b=a2_0x37cf,h=arguments[b("0x5e9")],g=Oe(h),v=h;v--;)g[v]=arguments[v];if(m)var S=pi(i),E=Sn(g,S);if(a&&(g=Fr(g,a,r,m)),o&&(g=Br(g,o,x,m)),h-=E,m&&h<l){var A=Mn(g,S);return ai(e,t,Kr,i.placeholder,n,g,A,s,c,l-h)}var T=u?n:this,y=f?T[e]:e;return h=g[b("0x5e9")],s?g=Bi(g,s):_&&h>1&&g.reverse(),d&&c<h&&(g[b("0x5e9")]=c),this&&this!==Nt&&this instanceof i&&(y=p||qr(y)),y.apply(T,g)}}function Xr(e,t){return function(n,a){return r=n,i=e,o=t(a),x={},Da(r,(function(e,t,n){i(x,o(e),t,n)})),x;var r,i,o,x}}function Jr(e,t){return function(n,a){var r,o=a2_0x37cf;if(n===i&&a===i)return t;if(n!==i&&(r=n),a!==i){if(r===i)return a;typeof n==o("0x38b7")||typeof a==o("0x38b7")?(n=gr(n),a=gr(a)):(n=hr(n),a=hr(a)),r=e(n,a)}return r}}function Zr(e){return ui((function(t){return t=Jt(t,_n(hi())),or((function(n){var a=this;return e(t,(function(e){return jt(e,a,n)}))}))}))}function ei(e,t){var n=r,a=(t=t===i?" ":gr(t))[n("0x5e9")];if(a<2)return a?ir(t,e):t;var o=ir(t,bt(e/Dn(t)));return yn(t)?Ir(In(o),0,e)[n("0xc60")](""):o.slice(0,e)}function ti(e){return function(t,n,a){return a&&typeof a!=a2_0x37cf("0x2231")&&Ri(t,n,a)&&(n=a=i),t=wx(t),n===i?(n=t,t=0):n=wx(n),function(e,t,n,a){for(var r=-1,i=Ot(bt((t-e)/(n||1)),0),o=Oe(i);i--;)o[a?i:++r]=e,e+=n;return o}(t,n,a=a===i?t<n?1:-1:wx(a),e)}}function ni(e){return function(t,n){var a=a2_0x37cf;return!(typeof t==a("0x38b7")&&typeof n==a("0x38b7"))&&(t=Dx(t),n=Dx(n)),e(t,n)}}function ai(e,t,n,a,o,x,s,c,l,d){var u=8&t;t|=u?f:m,!(4&(t&=~(u?m:f)))&&(t&=-4);var b=[e,t,o,u?x:i,u?s:i,u?i:x,u?i:s,c,l,d],_=n[r("0x4884")](i,b);return Ii(e)&&Gi(_,b),_.placeholder=a,$i(_,e,t)}function ri(e){var t=Fe[e];return function(e,n){var a=a2_0x37cf;if(e=Dx(e),(n=null==n?0:kt(Mx(n),292))&&wt(e)){var r=(Nx(e)+"e")[a("0x9e5")]("e");return+((r=(Nx(t(r[0]+"e"+(+r[1]+n)))+"e")[a("0x9e5")]("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var ii=Fn&&1/Rn(new Fn([,-0]))[1]==h?function(e){return new Fn(e)}:Es;function oi(e){return function(t){var n,a,r,i,x,s=Ti(t);return s==N?Cn(t):s==B?(n=t,a=o,r=-1,i=Array(n[a("0x27ff")]),n[a("0x5ba")]((function(e){i[++r]=[e,e]})),i):(x=t,Jt(e(t),(function(e){return[e,x[e]]})))}}function xi(e,t,n,a,o,x,s,l){var p=r,h=2&t;if(!h&&typeof e!=p("0x3349"))throw new He(c);var g=a?a[p("0x5e9")]:0;if(!g&&(t&=-97,a=o=i),s=s===i?s:Ot(Mx(s),0),l=l===i?l:Mx(l),g-=o?o[p("0x5e9")]:0,t&m){var v=a,S=o;a=o=i}var E,A,T,y,C,w,M,R,D,I,N,O,k,P=h?i:bi(e),L=[e,t,n,a,o,v,S,x,s,l];if(P&&function(e,t){var n=r,a=e[1],i=t[1],o=a|i,x=o<131,s=i==b&&8==a||i==b&&a==_&&e[7][n("0x5e9")]<=t[8]||384==i&&t[7][n("0x5e9")]<=t[8]&&8==a;if(!x&&!s)return e;1&i&&(e[2]=t[2],o|=1&a?0:4);var c=t[3];if(c){var l=e[3];e[3]=l?Fr(l,c,t[4]):c,e[4]=l?Mn(e[3],d):t[4]}(c=t[5])&&(l=e[5],e[5]=l?Br(l,c,t[6]):c,e[6]=l?Mn(e[5],d):t[6]),(c=t[7])&&(e[7]=c),i&b&&(e[8]=null==e[8]?t[8]:kt(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=o}(L,P),e=L[0],t=L[1],n=L[2],a=L[3],o=L[4],!(l=L[9]=L[9]===i?h?0:e.length:Ot(L[9]-g,0))&&24&t&&(t&=-25),t&&1!=t)8==t||t==u?(M=t,R=l,D=qr(w=e),F=function e(){for(var t=a2_0x37cf,n=arguments[t("0x5e9")],a=Oe(n),r=n,o=pi(e);r--;)a[r]=arguments[r];var x=n<3&&a[0]!==o&&a[n-1]!==o?[]:Mn(a,o);return(n-=x[t("0x5e9")])<R?ai(w,M,Kr,e[t("0x21e2")],i,a,x,i,i,R-n):jt(this&&this!==Nt&&this instanceof e?D:w,this,a)}):t!=f&&33!=t||o.length?F=Kr.apply(i,L):(A=n,T=a,y=1&t,C=qr(E=e),F=function e(){for(var t=a2_0x37cf,n=-1,a=arguments[t("0x5e9")],r=-1,i=T[t("0x5e9")],o=Oe(i+a),x=this&&this!==Nt&&this instanceof e?C:E;++r<i;)o[r]=T[r];for(;a--;)o[r++]=arguments[++n];return jt(x,y?A:this,o)});else var F=(N=n,O=1&t,k=qr(I=e),function e(){return(this&&this!==Nt&&this instanceof e?k:I)[a2_0x37cf("0x4884")](O?N:this,arguments)});return $i((P?lr:Gi)(F,L),e,t)}function si(e,t,n,a){var o=r;return e===i||ex(e,je[n])&&!qe[o("0x3c6b")](a,n)?t:e}function ci(e,t,n,a,o,x){var s=r;return mx(e)&&mx(t)&&(x[s("0x6e6")](t,e),Ja(e,t,i,ci,x),x.delete(t)),e}function li(e){return hx(e)?i:e}function di(e,t,n,a,o,x){var s=r,c=1&n,l=e.length,d=t[s("0x5e9")];if(l!=d&&!(c&&d>l))return!1;var u=x[s("0x1cf")](e),f=x.get(t);if(u&&f)return u==t&&f==e;var m=-1,b=!0,_=2&n?new ra:i;for(x[s("0x6e6")](e,t),x[s("0x6e6")](t,e);++m<l;){var p=e[m],h=t[m];if(a)var g=c?a(h,p,m,t,e,x):a(p,h,m,e,t,x);if(g!==i){if(g)continue;b=!1;break}if(_){if(!nn(t,(function(e,t){var r=s;if(!hn(_,t)&&(p===e||o(p,e,n,a,x)))return _[r("0x459a")](t)}))){b=!1;break}}else if(p!==h&&!o(p,h,n,a,x)){b=!1;break}}return x[s("0x23be")](e),x.delete(t),b}function ui(e){return Ui(Li(e,i,ro),e+"")}function fi(e){return ka(e,Vx,Ei)}function mi(e){return ka(e,Wx,Ai)}var bi=Gn?function(e){return Gn[r("0x1cf")](e)}:Es;function _i(e){for(var t=r,n=e[t("0x98c")]+"",a=Hn[n],i=qe.call(Hn,n)?a[t("0x5e9")]:0;i--;){var o=a[i],x=o[t("0xac1")];if(null==x||x==e)return o[t("0x98c")]}return n}function pi(e){var t=r;return(qe[t("0x3c6b")](Kn,t("0x21e2"))?Kn:e)[t("0x21e2")]}function hi(){var e=r,t=Kn[e("0x1bef")]||hs;return t=t===hs?Va:t,arguments[e("0x5e9")]?t(arguments[0],arguments[1]):t}function gi(e,t){var n,a,i,o=r,x=e.__data__;return((i=typeof(n=t))==(a=r)("0x38b7")||i==a("0x2231")||i==a("0x40c6")||i==a("0xacc")?n!==a("0x287c"):null===n)?x[typeof t==o("0x38b7")?o("0x38b7"):o("0x426")]:x[o("0x19e8")]}function vi(e){for(var t=r,n=Vx(e),a=n[t("0x5e9")];a--;){var i=n[a],o=e[i];n[a]=[i,o,ki(o)]}return n}function Si(e,t){var n,a,r=(a=t,null==(n=e)?i:n[a]);return ja(r)?r:i}var Ei=vt?function(e){return null==e?[]:(e=Be(e),Qt(vt(e),(function(t){return ot[a2_0x37cf("0x3c6b")](e,t)})))}:Rs,Ai=vt?function(e){for(var t=[];e;)Zt(t,Ei(e)),e=rt(e);return t}:Rs,Ti=Pa;function yi(e,t,n){for(var a=r,i=-1,o=(t=Rr(t,e)).length,x=!1;++i<o;){var s=Ki(t[i]);if(!(x=null!=e&&n(e,s)))break;e=e[s]}return x||++i!=o?x:!!(o=null==e?0:e[a("0x5e9")])&&fx(o)&&Mi(s,o)&&(rx(e)||ax(e))}function Ci(e){var t=r;return typeof e[t("0x11ae")]!=t("0x3349")||Oi(e)?{}:Xn(rt(e))}function wi(e){return rx(e)||ax(e)||!!(st&&e&&e[st])}function Mi(e,t){var n=r,a=typeof e;return!!(t=null==t?g:t)&&(a==n("0x2231")||a!=n("0x40c6")&&Re.test(e))&&e>-1&&e%1==0&&e<t}function Ri(e,t,n){var a=r;if(!mx(n))return!1;var i=typeof t;return!!("number"==i?ox(n)&&Mi(t,n[a("0x5e9")]):i==a("0x38b7")&&t in n)&&ex(n[t],e)}function Di(e,t){var n=r;if(rx(e))return!1;var a=typeof e;return!(a!=n("0x2231")&&"symbol"!=a&&a!=n("0xacc")&&null!=e&&!Ex(e))||(de[n("0x3ff3")](e)||!le[n("0x3ff3")](e)||null!=t&&e in Be(t))}function Ii(e){var t=r,n=_i(e),a=Kn[n];if("function"!=typeof a||!(n in ea[t("0x20f")]))return!1;if(e===a)return!0;var i=bi(a);return!!i&&e===i[0]}(kn&&Ti(new kn(new ArrayBuffer(1)))!=j||Pn&&Ti(new Pn)!=N||Ln&&Ti(Ln[r("0x407b")]())!=P||Fn&&Ti(new Fn)!=B||Bn&&Ti(new Bn)!=H)&&(Ti=function(e){var t=r,n=Pa(e),a=n==k?e[t("0x11ae")]:i,o=a?Xi(a):"";if(o)switch(o){case Un:return j;case $n:return N;case jn:return P;case Vn:return B;case Wn:return H}return n});var Ni=Ve?dx:Ds;function Oi(e){var t=r,n=e&&e.constructor;return e===(typeof n==t("0x3349")&&n.prototype||je)}function ki(e){return e==e&&!mx(e)}function Pi(e,t){return function(n){return null!=n&&(n[e]===t&&(t!==i||e in Be(n)))}}function Li(e,t,n){var a=r;return t=Ot(t===i?e[a("0x5e9")]-1:t,0),function(){for(var r=a,i=arguments,o=-1,x=Ot(i[r("0x5e9")]-t,0),s=Oe(x);++o<x;)s[o]=i[t+o];o=-1;for(var c=Oe(t+1);++o<t;)c[o]=i[o];return c[t]=n(s),jt(e,this,c)}}function Fi(e,t){return t[r("0x5e9")]<2?e:Oa(e,fr(t,0,-1))}function Bi(e,t){for(var n=r,a=e[n("0x5e9")],o=kt(t[n("0x5e9")],a),x=Yr(e);o--;){var s=t[o];e[o]=Mi(s,a)?x[s]:i}return e}function Yi(e,t){var n=r;if((t!==n("0x11ae")||typeof e[t]!==n("0x3349"))&&t!=n("0x287c"))return e[t]}var Gi=ji(lr),Hi=mt||function(e,t){return Nt[r("0x1b5f")](e,t)},Ui=ji(dr);function $i(e,t,n){var a,i,o,x,s,c=t+"";return Ui(e,function(e,t){var n=r,a=t.length;if(!a)return e;var i=a-1;return t[i]=(a>1?"& ":"")+t[i],t=t[n("0xc60")](a>2?", ":" "),e[n("0x3cc0")](he,n("0x3c03")+t+"] */\n")}(c,(s=c[(x=r)("0x2cd9")](ge),a=s?s[1][x("0x9e5")](ve):[],i=n,o=r,Wt(E,(function(e){var t=a2_0x37cf,n="_."+e[0];i&e[1]&&!Kt(a,n)&&a[t("0x459a")](n)})),a[o("0x4d63")]())))}function ji(e){var t=0,n=0;return function(){var a=a2_0x37cf,r=Lt(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e[a("0x4884")](i,arguments)}}function Vi(e,t){var n=r,a=-1,o=e[n("0x5e9")],x=o-1;for(t=t===i?o:t;++a<t;){var s=rr(a,x),c=e[s];e[s]=e[a],e[a]=c}return e[n("0x5e9")]=t,e}var Wi,qi,zi,Qi=(Wi=r,qi=zo((function(e){var t=r,n=[];return 46===e[t("0x11df")](0)&&n.push(""),e[t("0x3cc0")](ue,(function(e,a,r,i){var o=t;n.push(r?i[o("0x3cc0")](Ee,"$1"):a||e)})),n}),(function(e){var t=a2_0x37cf;return 500===zi[t("0x27ff")]&&zi[t("0x2066")](),e})),zi=qi[Wi("0x3e3")],qi);function Ki(e){if(typeof e==r("0x38b7")||Ex(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Xi(e){var t=r;if(null!=e){try{return We[t("0x3c6b")](e)}catch(e){}try{return e+""}catch(e){}}return""}function Ji(e){var t=r;if(e instanceof ea)return e[t("0x42df")]();var n=new Zn(e[t("0x239")],e[t("0x48d2")]);return n[t("0x3c55")]=Yr(e[t("0x3c55")]),n[t("0x44d9")]=e[t("0x44d9")],n[t("0x3b97")]=e[t("0x3b97")],n}var Zi=or((function(e,t){return xx(e)?Sa(e,wa(t,1,xx,!0)):[]})),eo=or((function(e,t){var n=co(t);return xx(n)&&(n=i),xx(e)?Sa(e,wa(t,1,xx,!0),hi(n,2)):[]})),to=or((function(e,t){var n=co(t);return xx(n)&&(n=i),xx(e)?Sa(e,wa(t,1,xx,!0),i,n):[]}));function no(e,t,n){var a=null==e?0:e[r("0x5e9")];if(!a)return-1;var i=null==n?0:Mx(n);return i<0&&(i=Ot(a+i,0)),on(e,hi(t,3),i)}function ao(e,t,n){var a=null==e?0:e.length;if(!a)return-1;var r=a-1;return n!==i&&(r=Mx(n),r=n<0?Ot(a+r,0):kt(r,a-1)),on(e,hi(t,3),r,!0)}function ro(e){return(null==e?0:e.length)?wa(e,1):[]}function io(e){return e&&e.length?e[0]:i}var oo=or((function(e){var t=r,n=Jt(e,wr);return n[t("0x5e9")]&&n[0]===e[0]?Ya(n):[]})),xo=or((function(e){var t=r,n=co(e),a=Jt(e,wr);return n===co(a)?n=i:a[t("0x4acd")](),a[t("0x5e9")]&&a[0]===e[0]?Ya(a,hi(n,2)):[]})),so=or((function(e){var t=r,n=co(e),a=Jt(e,wr);return(n=typeof n==t("0x3349")?n:i)&&a.pop(),a[t("0x5e9")]&&a[0]===e[0]?Ya(a,i,n):[]}));function co(e){var t=null==e?0:e[r("0x5e9")];return t?e[t-1]:i}var lo=or(uo);function uo(e,t){var n=r;return e&&e[n("0x5e9")]&&t&&t[n("0x5e9")]?nr(e,t):e}var fo=ui((function(e,t){var n=r,a=null==e?0:e[n("0x5e9")],i=_a(e,t);return ar(e,Jt(t,(function(e){return Mi(e,a)?+e:e}))[n("0x4d63")](Lr)),i}));function mo(e){return null==e?e:un[r("0x3c6b")](e)}var bo=or((function(e){return vr(wa(e,1,xx,!0))})),_o=or((function(e){var t=co(e);return xx(t)&&(t=i),vr(wa(e,1,xx,!0),hi(t,2))})),po=or((function(e){var t=r,n=co(e);return n=typeof n==t("0x3349")?n:i,vr(wa(e,1,xx,!0),i,n)}));function ho(e){if(!e||!e.length)return[];var t=0;return e=Qt(e,(function(e){if(xx(e))return t=Ot(e.length,t),!0})),bn(t,(function(t){return Jt(e,dn(t))}))}function go(e,t){if(!e||!e[r("0x5e9")])return[];var n=ho(e);return null==t?n:Jt(n,(function(e){return jt(t,i,e)}))}var vo=or((function(e,t){return xx(e)?Sa(e,t):[]})),So=or((function(e){return yr(Qt(e,xx))})),Eo=or((function(e){var t=co(e);return xx(t)&&(t=i),yr(Qt(e,xx),hi(t,2))})),Ao=or((function(e){var t=r,n=co(e);return n=typeof n==t("0x3349")?n:i,yr(Qt(e,xx),i,n)})),To=or(ho);var yo=or((function(e){var t=r,n=e[t("0x5e9")],a=n>1?e[n-1]:i;return a=typeof a==t("0x3349")?(e[t("0x4acd")](),a):i,go(e,a)}));function Co(e){var t=r,n=Kn(e);return n[t("0x48d2")]=!0,n}function wo(e,t){return t(e)}var Mo=ui((function(e){var t=r,n=e[t("0x5e9")],a=n?e[0]:0,o=this[t("0x239")],x=function(t){return _a(t,e)};return!(n>1||this[t("0x3c55")][t("0x5e9")])&&o instanceof ea&&Mi(a)?((o=o[t("0x9b3")](a,+a+(n?1:0)))[t("0x3c55")][t("0x459a")]({func:wo,args:[x],thisArg:i}),new Zn(o,this[t("0x48d2")])[t("0x4587")]((function(e){var a=t;return n&&!e[a("0x5e9")]&&e[a("0x459a")](i),e}))):this[t("0x4587")](x)}));var Ro=Hr((function(e,t,n){qe[r("0x3c6b")](e,n)?++e[n]:ba(e,n,1)}));var Do=zr(no),Io=zr(ao);function No(e,t){return(rx(e)?Wt:Ea)(e,hi(t,3))}function Oo(e,t){return(rx(e)?qt:Aa)(e,hi(t,3))}var ko=Hr((function(e,t,n){var a=r;qe[a("0x3c6b")](e,n)?e[n][a("0x459a")](t):ba(e,n,[t])}));var Po=or((function(e,t,n){var a=-1,i=typeof t==r("0x3349"),o=ox(e)?Oe(e.length):[];return Ea(e,(function(e){o[++a]=i?jt(t,e,n):Ga(e,t,n)})),o})),Lo=Hr((function(e,t,n){ba(e,n,t)}));function Fo(e,t){return(rx(e)?Jt:Qa)(e,hi(t,3))}var Bo=Hr((function(e,t,n){var a=r;e[n?0:1][a("0x459a")](t)}),(function(){return[[],[]]}));var Yo=or((function(e,t){if(null==e)return[];var n=t[r("0x5e9")];return n>1&&Ri(e,t[0],t[1])?t=[]:n>2&&Ri(t[0],t[1],t[2])&&(t=[t[0]]),er(e,wa(t,1),[])})),Go=ft||function(){var e=r;return Nt[e("0x3b49")][e("0x4706")]()};function Ho(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,xi(e,b,i,i,i,i,t)}function Uo(e,t){var n,a=r;if(typeof t!=a("0x3349"))throw new He(c);return e=Mx(e),function(){var r=a;return--e>0&&(n=t[r("0x4884")](this,arguments)),e<=1&&(t=i),n}}var $o=or((function(e,t,n){var a=1;if(n[r("0x5e9")]){var i=Mn(n,pi($o));a|=f}return xi(e,a,t,n,i)})),jo=or((function(e,t,n){var a=3;if(n.length){var r=Mn(n,pi(jo));a|=f}return xi(t,a,e,n,r)}));function Vo(e,t,n){var a,o,x,s,l,d,u=r,f=0,m=!1,b=!1,_=!0;if(typeof e!=u("0x3349"))throw new He(c);function p(t){var n=a,r=o;return a=o=i,f=t,s=e[u("0x4884")](r,n)}function h(e){return f=e,l=Hi(v,t),m?p(e):s}function g(e){var n=e-d;return d===i||n>=t||n<0||b&&e-f>=x}function v(){var e,n,a=Go();if(g(a))return S(a);l=Hi(v,(n=t-((e=a)-d),b?kt(n,x-(e-f)):n))}function S(e){return l=i,_&&a?p(e):(a=o=i,s)}function E(){var e=Go(),n=g(e);if(a=arguments,o=this,d=e,n){if(l===i)return h(d);if(b)return Nr(l),l=Hi(v,t),p(d)}return l===i&&(l=Hi(v,t)),s}return t=Dx(t)||0,mx(n)&&(m=!!n[u("0xe23")],b=u("0x132c")in n,x=b?Ot(Dx(n[u("0x132c")])||0,t):x,_="trailing"in n?!!n[u("0xf1a")]:_),E[u("0x4920")]=function(){l!==i&&Nr(l),f=0,a=d=o=l=i},E[u("0x6bd")]=function(){return l===i?s:S(Go())},E}var Wo=or((function(e,t){return va(e,1,t)})),qo=or((function(e,t,n){return va(e,Dx(t)||0,n)}));function zo(e,t){var n=r;if(typeof e!=n("0x3349")||null!=t&&typeof t!=n("0x3349"))throw new He(c);var a=function(){var r=n,i=arguments,o=t?t[r("0x4884")](this,i):i[0],x=a[r("0x3e3")];if(x[r("0x519")](o))return x[r("0x1cf")](o);var s=e[r("0x4884")](this,i);return a[r("0x3e3")]=x[r("0x6e6")](o,s)||x,s};return a[n("0x3e3")]=new(zo[n("0x44ae")]||aa),a}function Qo(e){var t=r;if(typeof e!=t("0x3349"))throw new He(c);return function(){var n=t,a=arguments;switch(a.length){case 0:return!e[n("0x3c6b")](this);case 1:return!e[n("0x3c6b")](this,a[0]);case 2:return!e[n("0x3c6b")](this,a[0],a[1]);case 3:return!e[n("0x3c6b")](this,a[0],a[1],a[2])}return!e[n("0x4884")](this,a)}}zo.Cache=aa;var Ko=Dr((function(e,t){var n=r,a=(t=1==t[n("0x5e9")]&&rx(t[0])?Jt(t[0],_n(hi())):Jt(wa(t,1),_n(hi()))).length;return or((function(r){for(var i=n,o=-1,x=kt(r[i("0x5e9")],a);++o<x;)r[o]=t[o][i("0x3c6b")](this,r[o]);return jt(e,this,r)}))})),Xo=or((function(e,t){var n=Mn(t,pi(Xo));return xi(e,f,i,t,n)})),Jo=or((function(e,t){var n=Mn(t,pi(Jo));return xi(e,m,i,t,n)})),Zo=ui((function(e,t){return xi(e,_,i,i,i,t)}));function ex(e,t){return e===t||e!=e&&t!=t}var tx=ni(La),nx=ni((function(e,t){return e>=t})),ax=Ha(function(){return arguments}())?Ha:function(e){var t=r;return bx(e)&&qe[t("0x3c6b")](e,t("0x69e"))&&!ot[t("0x3c6b")](e,t("0x69e"))},rx=Oe[r("0x498f")],ix=Bt?_n(Bt):function(e){return bx(e)&&Pa(e)==$};function ox(e){return null!=e&&fx(e[r("0x5e9")])&&!dx(e)}function xx(e){return bx(e)&&ox(e)}var sx=Ct||Ds,cx=Yt?_n(Yt):function(e){return bx(e)&&Pa(e)==w};function lx(e){var t=r;if(!bx(e))return!1;var n=Pa(e);return n==R||n==M||typeof e[t("0x45ea")]==t("0x38b7")&&typeof e[t("0x98c")]==t("0x38b7")&&!hx(e)}function dx(e){if(!mx(e))return!1;var t=Pa(e);return t==D||t==I||t==y||t==L}function ux(e){return"number"==typeof e&&e==Mx(e)}function fx(e){return typeof e==r("0x2231")&&e>-1&&e%1==0&&e<=g}function mx(e){var t=typeof e;return null!=e&&(t==r("0x1b1d")||"function"==t)}function bx(e){return null!=e&&typeof e==r("0x1b1d")}var _x=Gt?_n(Gt):function(e){return bx(e)&&Ti(e)==N};function px(e){return typeof e==r("0x2231")||bx(e)&&Pa(e)==O}function hx(e){var t=r;if(!bx(e)||Pa(e)!=k)return!1;var n=rt(e);if(null===n)return!0;var a=qe[t("0x3c6b")](n,t("0x11ae"))&&n[t("0x11ae")];return"function"==typeof a&&a instanceof a&&We.call(a)==Xe}var gx=Ht?_n(Ht):function(e){return bx(e)&&Pa(e)==F};var vx=Ut?_n(Ut):function(e){return bx(e)&&Ti(e)==B};function Sx(e){return typeof e==r("0x38b7")||!rx(e)&&bx(e)&&Pa(e)==Y}function Ex(e){return typeof e==r("0x40c6")||bx(e)&&Pa(e)==G}var Ax=$t?_n($t):function(e){var t=r;return bx(e)&&fx(e[t("0x5e9")])&&!!Tt[Pa(e)]};var Tx=ni(za),yx=ni((function(e,t){return e<=t}));function Cx(e){if(!e)return[];if(ox(e))return Sx(e)?In(e):Yr(e);if(ct&&e[ct])return function(e){for(var t,n=o,a=[];!(t=e[n("0xa8")]())[n("0x2d52")];)a[n("0x459a")](t[n("0x3a33")]);return a}(e[ct]());var t=Ti(e);return(t==N?Cn:t==B?Rn:es)(e)}function wx(e){return e?(e=Dx(e))===h||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function Mx(e){var t=wx(e),n=t%1;return t==t?n?t-n:t:0}function Rx(e){return e?pa(Mx(e),0,S):0}function Dx(e){var t=r;if(typeof e==t("0x2231"))return e;if(Ex(e))return v;if(mx(e)){var n="function"==typeof e[t("0x2f75")]?e[t("0x2f75")]():e;e=mx(n)?n+"":n}if(typeof e!=t("0x38b7"))return 0===e?e:+e;e=e[t("0x3cc0")](be,"");var a=Ce.test(e);return a||Me[t("0x3ff3")](e)?Rt(e.slice(2),a?2:8):ye[t("0x3ff3")](e)?v:+e}function Ix(e){return Gr(e,Wx(e))}function Nx(e){return null==e?"":gr(e)}var Ox=Ur((function(e,t){var n=r;if(Oi(t)||ox(t))Gr(t,Vx(t),e);else for(var a in t)qe[n("0x3c6b")](t,a)&&da(e,a,t[a])})),kx=Ur((function(e,t){Gr(t,Wx(t),e)})),Px=Ur((function(e,t,n,a){Gr(t,Wx(t),e,a)})),Lx=Ur((function(e,t,n,a){Gr(t,Vx(t),e,a)})),Fx=ui(_a);var Bx=or((function(e,t){var n=r;e=Be(e);var a=-1,o=t[n("0x5e9")],x=o>2?t[2]:i;for(x&&Ri(t[0],t[1],x)&&(o=1);++a<o;)for(var s=t[a],c=Wx(s),l=-1,d=c[n("0x5e9")];++l<d;){var u=c[l],f=e[u];(f===i||ex(f,je[u])&&!qe.call(e,u))&&(e[u]=s[u])}return e})),Yx=or((function(e){return e[r("0x459a")](i,ci),jt(zx,i,e)}));function Gx(e,t,n){var a=null==e?i:Oa(e,t);return a===i?n:a}function Hx(e,t){return null!=e&&yi(e,t,Ba)}var Ux=Xr((function(e,t,n){var a=r;null!=t&&typeof t[a("0x3c88")]!=a("0x3349")&&(t=Ke[a("0x3c6b")](t)),e[t]=n}),ms(ps)),$x=Xr((function(e,t,n){var a=r;null!=t&&typeof t[a("0x3c88")]!=a("0x3349")&&(t=Ke[a("0x3c6b")](t)),qe.call(e,t)?e[t][a("0x459a")](n):e[t]=[n]}),hi),jx=or(Ga);function Vx(e){return ox(e)?oa(e):Wa(e)}function Wx(e){return ox(e)?oa(e,!0):qa(e)}var qx=Ur((function(e,t,n){Ja(e,t,n)})),zx=Ur((function(e,t,n,a){Ja(e,t,n,a)})),Qx=ui((function(e,t){var n=r,a={};if(null==e)return a;var i=!1;t=Jt(t,(function(t){var n=a2_0x37cf;return t=Rr(t,e),i||(i=t[n("0x5e9")]>1),t})),Gr(e,mi(e),a),i&&(a=ha(a,7,li));for(var o=t[n("0x5e9")];o--;)Sr(a,t[o]);return a}));var Kx=ui((function(e,t){return null==e?{}:tr(n=e,t,(function(e,t){return Hx(n,t)}));var n}));function Xx(e,t){if(null==e)return{};var n=Jt(mi(e),(function(e){return[e]}));return t=hi(t),tr(e,n,(function(e,n){return t(e,n[0])}))}var Jx=oi(Vx),Zx=oi(Wx);function es(e){return null==e?[]:pn(e,Vx(e))}var ts=Wr((function(e,t,n){return t=t[r("0x2eb9")](),e+(n?ns(t):t)}));function ns(e){var t=r;return ls(Nx(e)[t("0x2eb9")]())}function as(e){var t=r;return(e=Nx(e))&&e[t("0x3cc0")](De,En)[t("0x3cc0")](pt,"")}var rs=Wr((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),is=Wr((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),os=Vr(r("0x2eb9"));var xs=Wr((function(e,t,n){return e+(n?"_":"")+t[r("0x2eb9")]()}));var ss=Wr((function(e,t,n){return e+(n?" ":"")+ls(t)}));var cs=Wr((function(e,t,n){return e+(n?" ":"")+t[r("0x110")]()})),ls=Vr("toUpperCase");function ds(e,t,n){return e=Nx(e),(t=n?i:t)===i?(a=e,St[o("0x3ff3")](a)?e.match(gt)||[]:e[o("0x2cd9")](Se)||[]):e.match(t)||[];var a}var us=or((function(e,t){try{return jt(e,i,t)}catch(e){return lx(e)?e:new Pe(e)}})),fs=ui((function(e,t){return Wt(t,(function(t){t=Ki(t),ba(e,t,$o(e[t],e))})),e}));function ms(e){return function(){return e}}var bs=Qr(),_s=Qr(!0);function ps(e){return e}function hs(e){return Va(typeof e==r("0x3349")?e:ha(e,1))}var gs=or((function(e,t){return function(n){return Ga(n,e,t)}})),vs=or((function(e,t){return function(n){return Ga(e,n,t)}}));function Ss(e,t,n){var a=r,i=Vx(t),o=Na(t,i);null==n&&(!mx(t)||!o[a("0x5e9")]&&i[a("0x5e9")])&&(n=t,t=e,e=this,o=Na(t,Vx(t)));var x=!(mx(n)&&a("0x1a1a")in n&&!n[a("0x1a1a")]),s=dx(e);return Wt(o,(function(n){var a=t[n];e[n]=a,s&&(e.prototype[n]=function(){var t=a2_0x37cf,n=this[t("0x48d2")];if(x||n){var r=e(this[t("0x239")]),i=r.__actions__=Yr(this[t("0x3c55")]);return i.push({func:a,args:arguments,thisArg:e}),r.__chain__=n,r}return a.apply(e,Zt([this[t("0x3a33")]()],arguments))})})),e}function Es(){}var As=Zr(Jt),Ts=Zr(zt),ys=Zr(nn);function Cs(e){return Di(e)?dn(Ki(e)):(t=e,function(e){return Oa(e,t)});var t}var ws=ti(),Ms=ti(!0);function Rs(){return[]}function Ds(){return!1}var Is=Jr((function(e,t){return e+t}),0),Ns=ri("ceil"),Os=Jr((function(e,t){return e/t}),1),ks=ri(r("0x4184"));var Ps,Ls=Jr((function(e,t){return e*t}),1),Fs=ri(r("0x46d")),Bs=Jr((function(e,t){return e-t}),0);return Kn[r("0x477b")]=function(e,t){if("function"!=typeof t)throw new He(c);return e=Mx(e),function(){if(--e<1)return t.apply(this,arguments)}},Kn[r("0x2d5e")]=Ho,Kn[r("0x3df0")]=Ox,Kn[r("0x553")]=kx,Kn.assignInWith=Px,Kn.assignWith=Lx,Kn.at=Fx,Kn[r("0x4929")]=Uo,Kn[r("0x2b0c")]=$o,Kn.bindAll=fs,Kn[r("0x3900")]=jo,Kn.castArray=function(){var e=r;if(!arguments[e("0x5e9")])return[];var t=arguments[0];return rx(t)?t:[t]},Kn[r("0x1a1a")]=Co,Kn[r("0x3fcd")]=function(e,t,n){var a=r;t=(n?Ri(e,t,n):t===i)?1:Ot(Mx(t),0);var o=null==e?0:e[a("0x5e9")];if(!o||t<1)return[];for(var x=0,s=0,c=Oe(bt(o/t));x<o;)c[s++]=fr(e,x,x+=t);return c},Kn[r("0x4fb7")]=function(e){for(var t=-1,n=null==e?0:e[r("0x5e9")],a=0,i=[];++t<n;){var o=e[t];o&&(i[a++]=o)}return i},Kn[r("0x3abc")]=function(){var e=r,t=arguments[e("0x5e9")];if(!t)return[];for(var n=Oe(t-1),a=arguments[0],i=t;i--;)n[i-1]=arguments[i];return Zt(rx(a)?Yr(a):[a],wa(n,1))},Kn[r("0x1219")]=function(e){var t=null==e?0:e.length,n=hi();return e=t?Jt(e,(function(e){if("function"!=typeof e[1])throw new He(c);return[n(e[0]),e[1]]})):[],or((function(n){for(var a=-1;++a<t;){var r=e[a];if(jt(r[0],this,n))return jt(r[1],this,n)}}))},Kn[r("0x3f6e")]=function(e){return t=ha(e,1),n=Vx(t),function(e){return ga(e,t,n)};var t,n},Kn.constant=ms,Kn.countBy=Ro,Kn[r("0x4b8c")]=function(e,t){var n=Xn(e);return null==t?n:ma(n,t)},Kn.curry=function e(t,n,a){var o=r,x=xi(t,8,i,i,i,i,i,n=a?i:n);return x[o("0x21e2")]=e[o("0x21e2")],x},Kn[r("0x26d4")]=function e(t,n,a){var o=r,x=xi(t,u,i,i,i,i,i,n=a?i:n);return x[o("0x21e2")]=e[o("0x21e2")],x},Kn[r("0x1f89")]=Vo,Kn.defaults=Bx,Kn[r("0x3a8e")]=Yx,Kn.defer=Wo,Kn[r("0x381")]=qo,Kn.difference=Zi,Kn.differenceBy=eo,Kn[r("0x3f52")]=to,Kn[r("0x4faf")]=function(e,t,n){var a=null==e?0:e[r("0x5e9")];return a?fr(e,(t=n||t===i?1:Mx(t))<0?0:t,a):[]},Kn.dropRight=function(e,t,n){var a=null==e?0:e[r("0x5e9")];return a?fr(e,0,(t=a-(t=n||t===i?1:Mx(t)))<0?0:t):[]},Kn.dropRightWhile=function(e,t){return e&&e[r("0x5e9")]?Ar(e,hi(t,3),!0,!0):[]},Kn[r("0x1523")]=function(e,t){return e&&e[r("0x5e9")]?Ar(e,hi(t,3),!0):[]},Kn[r("0x2773")]=function(e,t,n,a){var o=null==e?0:e[r("0x5e9")];return o?(n&&"number"!=typeof n&&Ri(e,t,n)&&(n=0,a=o),function(e,t,n,a){var o=e[r("0x5e9")];for((n=Mx(n))<0&&(n=-n>o?0:o+n),(a=a===i||a>o?o:Mx(a))<0&&(a+=o),a=n>a?0:Rx(a);n<a;)e[n++]=t;return e}(e,t,n,a)):[]},Kn[r("0x6a6")]=function(e,t){return(rx(e)?Qt:Ca)(e,hi(t,3))},Kn[r("0x4490")]=function(e,t){return wa(Fo(e,t),1)},Kn[r("0x2db4")]=function(e,t){return wa(Fo(e,t),h)},Kn[r("0x6b2")]=function(e,t,n){return n=n===i?1:Mx(n),wa(Fo(e,t),n)},Kn[r("0x9d5")]=ro,Kn.flattenDeep=function(e){return(null==e?0:e[r("0x5e9")])?wa(e,h):[]},Kn.flattenDepth=function(e,t){return(null==e?0:e.length)?wa(e,t=t===i?1:Mx(t)):[]},Kn[r("0x89")]=function(e){return xi(e,512)},Kn[r("0xe67")]=bs,Kn.flowRight=_s,Kn[r("0x1a10")]=function(e){for(var t=-1,n=null==e?0:e[r("0x5e9")],a={};++t<n;){var i=e[t];a[i[0]]=i[1]}return a},Kn.functions=function(e){return null==e?[]:Na(e,Vx(e))},Kn[r("0x1c76")]=function(e){return null==e?[]:Na(e,Wx(e))},Kn[r("0x2d4")]=ko,Kn[r("0x40da")]=function(e){return(null==e?0:e[r("0x5e9")])?fr(e,0,-1):[]},Kn[r("0x268c")]=oo,Kn[r("0x4b98")]=xo,Kn[r("0x1e85")]=so,Kn[r("0x3053")]=Ux,Kn[r("0x19c1")]=$x,Kn[r("0x4c39")]=Po,Kn.iteratee=hs,Kn[r("0x1666")]=Lo,Kn[r("0xa35")]=Vx,Kn[r("0x35d1")]=Wx,Kn[r("0x19e8")]=Fo,Kn[r("0x2ce6")]=function(e,t){var n={};return t=hi(t,3),Da(e,(function(e,a,r){ba(n,t(e,a,r),e)})),n},Kn[r("0x35d5")]=function(e,t){var n={};return t=hi(t,3),Da(e,(function(e,a,r){ba(n,a,t(e,a,r))})),n},Kn.matches=function(e){return Ka(ha(e,1))},Kn[r("0x1f36")]=function(e,t){return Xa(e,ha(t,1))},Kn.memoize=zo,Kn.merge=qx,Kn.mergeWith=zx,Kn[r("0x3bee")]=gs,Kn[r("0x1770")]=vs,Kn[r("0x287")]=Ss,Kn[r("0x2fac")]=Qo,Kn[r("0x40c1")]=function(e){return e=Mx(e),or((function(t){return Za(t,e)}))},Kn[r("0x3613")]=Qx,Kn[r("0x3692")]=function(e,t){return Xx(e,Qo(hi(t)))},Kn[r("0x4299")]=function(e){return Uo(2,e)},Kn[r("0x69")]=function(e,t,n,a){return null==e?[]:(!rx(t)&&(t=null==t?[]:[t]),!rx(n=a?i:n)&&(n=null==n?[]:[n]),er(e,t,n))},Kn[r("0x38e4")]=As,Kn.overArgs=Ko,Kn[r("0x1b6c")]=Ts,Kn[r("0xd78")]=ys,Kn[r("0x3c80")]=Xo,Kn[r("0x1af8")]=Jo,Kn[r("0x22db")]=Bo,Kn[r("0x389")]=Kx,Kn.pickBy=Xx,Kn[r("0x3721")]=Cs,Kn[r("0x2836")]=function(e){return function(t){return null==e?i:Oa(e,t)}},Kn[r("0x3124")]=lo,Kn.pullAll=uo,Kn[r("0xb62")]=function(e,t,n){var a=r;return e&&e[a("0x5e9")]&&t&&t[a("0x5e9")]?nr(e,t,hi(n,2)):e},Kn.pullAllWith=function(e,t,n){var a=r;return e&&e.length&&t&&t[a("0x5e9")]?nr(e,t,i,n):e},Kn[r("0xba")]=fo,Kn[r("0x205")]=ws,Kn[r("0x7f5")]=Ms,Kn.rearg=Zo,Kn[r("0x2078")]=function(e,t){return(rx(e)?Qt:Ca)(e,Qo(hi(t,3)))},Kn[r("0xf82")]=function(e,t){var n=r,a=[];if(!e||!e[n("0x5e9")])return a;var i=-1,o=[],x=e.length;for(t=hi(t,3);++i<x;){var s=e[i];t(s,i,e)&&(a[n("0x459a")](s),o[n("0x459a")](i))}return ar(e,o),a},Kn[r("0x2ca5")]=function(e,t){if(typeof e!=r("0x3349"))throw new He(c);return or(e,t=t===i?t:Mx(t))},Kn[r("0x48d")]=mo,Kn.sampleSize=function(e,t,n){return t=(n?Ri(e,t,n):t===i)?1:Mx(t),(rx(e)?sa:sr)(e,t)},Kn[r("0x6e6")]=function(e,t,n){return null==e?e:cr(e,t,n)},Kn[r("0x3c83")]=function(e,t,n,a){return a=typeof a==r("0x3349")?a:i,null==e?e:cr(e,t,n,a)},Kn.shuffle=function(e){return(rx(e)?ca:ur)(e)},Kn[r("0x9b3")]=function(e,t,n){var a=r,o=null==e?0:e[a("0x5e9")];return o?(n&&typeof n!=a("0x2231")&&Ri(e,t,n)?(t=0,n=o):(t=null==t?0:Mx(t),n=n===i?o:Mx(n)),fr(e,t,n)):[]},Kn[r("0x4b39")]=Yo,Kn[r("0x1021")]=function(e){return e&&e.length?pr(e):[]},Kn.sortedUniqBy=function(e,t){return e&&e.length?pr(e,hi(t,2)):[]},Kn[r("0x9e5")]=function(e,t,n){var a=r;return n&&typeof n!=a("0x2231")&&Ri(e,t,n)&&(t=n=i),(n=n===i?S:n>>>0)?(e=Nx(e))&&(typeof t==a("0x38b7")||null!=t&&!gx(t))&&!(t=gr(t))&&yn(e)?Ir(In(e),0,n):e[a("0x9e5")](t,n):[]},Kn[r("0x2100")]=function(e,t){if("function"!=typeof e)throw new He(c);return t=null==t?0:Ot(Mx(t),0),or((function(n){var a=n[t],r=Ir(n,0,t);return a&&Zt(r,a),jt(e,this,r)}))},Kn[r("0x49f6")]=function(e){var t=null==e?0:e.length;return t?fr(e,1,t):[]},Kn[r("0x4dff")]=function(e,t,n){return e&&e[r("0x5e9")]?fr(e,0,(t=n||t===i?1:Mx(t))<0?0:t):[]},Kn[r("0x41cc")]=function(e,t,n){var a=null==e?0:e[r("0x5e9")];return a?fr(e,(t=a-(t=n||t===i?1:Mx(t)))<0?0:t,a):[]},Kn[r("0x1bdd")]=function(e,t){return e&&e[r("0x5e9")]?Ar(e,hi(t,3),!1,!0):[]},Kn[r("0x482a")]=function(e,t){return e&&e[r("0x5e9")]?Ar(e,hi(t,3)):[]},Kn[r("0x2500")]=function(e,t){return t(e),e},Kn[r("0x3fe4")]=function(e,t,n){var a=r,i=!0,o=!0;if("function"!=typeof e)throw new He(c);return mx(n)&&(i="leading"in n?!!n.leading:i,o=a("0xf1a")in n?!!n[a("0xf1a")]:o),Vo(e,t,{leading:i,maxWait:t,trailing:o})},Kn[r("0x4587")]=wo,Kn.toArray=Cx,Kn.toPairs=Jx,Kn.toPairsIn=Zx,Kn[r("0xf05")]=function(e){return rx(e)?Jt(e,Ki):Ex(e)?[e]:Yr(Qi(Nx(e)))},Kn[r("0x1ed7")]=Ix,Kn.transform=function(e,t,n){var a=r,i=rx(e),o=i||sx(e)||Ax(e);if(t=hi(t,4),null==n){var x=e&&e[a("0x11ae")];n=o?i?new x:[]:mx(e)&&dx(x)?Xn(rt(e)):{}}return(o?Wt:Da)(e,(function(e,a,r){return t(n,e,a,r)})),n},Kn.unary=function(e){return Ho(e,1)},Kn.union=bo,Kn[r("0x1420")]=_o,Kn[r("0x394b")]=po,Kn[r("0xe16")]=function(e){return e&&e.length?vr(e):[]},Kn[r("0x39e4")]=function(e,t){return e&&e[r("0x5e9")]?vr(e,hi(t,2)):[]},Kn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?vr(e,i,t):[]},Kn[r("0x3610")]=function(e,t){return null==e||Sr(e,t)},Kn[r("0x3ac2")]=ho,Kn[r("0x4fc6")]=go,Kn[r("0x3fdc")]=function(e,t,n){return null==e?e:Er(e,t,Mr(n))},Kn[r("0x1a3e")]=function(e,t,n,a){return a=typeof a==r("0x3349")?a:i,null==e?e:Er(e,t,Mr(n),a)},Kn[r("0x3d61")]=es,Kn[r("0x33b7")]=function(e){return null==e?[]:pn(e,Wx(e))},Kn[r("0x7ed")]=vo,Kn[r("0x3708")]=ds,Kn[r("0x2fcb")]=function(e,t){return Xo(Mr(t),e)},Kn[r("0x26b7")]=So,Kn[r("0x19f6")]=Eo,Kn[r("0x24a5")]=Ao,Kn[r("0xdbb")]=To,Kn[r("0x44ee")]=function(e,t){return Cr(e||[],t||[],da)},Kn[r("0x32db")]=function(e,t){return Cr(e||[],t||[],cr)},Kn[r("0x2bd3")]=yo,Kn[r("0x3b5e")]=Jx,Kn[r("0x24fc")]=Zx,Kn.extend=kx,Kn[r("0x27b7")]=Px,Ss(Kn,Kn),Kn[r("0x2d6e")]=Is,Kn[r("0x9d3")]=us,Kn.camelCase=ts,Kn[r("0x1951")]=ns,Kn.ceil=Ns,Kn[r("0x3e5")]=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=Dx(n))==n?n:0),t!==i&&(t=(t=Dx(t))==t?t:0),pa(Dx(e),t,n)},Kn[r("0x42df")]=function(e){return ha(e,4)},Kn[r("0x38c9")]=function(e){return ha(e,5)},Kn[r("0x37e6")]=function(e,t){return ha(e,5,t=typeof t==r("0x3349")?t:i)},Kn.cloneWith=function(e,t){return ha(e,4,t=typeof t==r("0x3349")?t:i)},Kn[r("0x2d60")]=function(e,t){return null==t||ga(e,t,Vx(t))},Kn.deburr=as,Kn[r("0x2793")]=function(e,t){return null==e||e!=e?t:e},Kn[r("0x4790")]=Os,Kn[r("0x2970")]=function(e,t,n){var a=r;e=Nx(e),t=gr(t);var o=e[a("0x5e9")],x=n=n===i?o:pa(Mx(n),0,o);return(n-=t[a("0x5e9")])>=0&&e[a("0x9b3")](n,x)==t},Kn.eq=ex,Kn[r("0x2bc6")]=function(e){var t=r;return(e=Nx(e))&&oe[t("0x3ff3")](e)?e[t("0x3cc0")](re,An):e},Kn[r("0x20bc")]=function(e){var t=r;return(e=Nx(e))&&me.test(e)?e[t("0x3cc0")](fe,t("0x1dea")):e},Kn[r("0x1906")]=function(e,t,n){var a=rx(e)?zt:Ta;return n&&Ri(e,t,n)&&(t=i),a(e,hi(t,3))},Kn[r("0x372f")]=Do,Kn[r("0xae5")]=no,Kn[r("0x3387")]=function(e,t){return rn(e,hi(t,3),Da)},Kn[r("0x3652")]=Io,Kn[r("0x464a")]=ao,Kn[r("0x2fd4")]=function(e,t){return rn(e,hi(t,3),Ia)},Kn[r("0x4184")]=ks,Kn.forEach=No,Kn[r("0x1c01")]=Oo,Kn[r("0x2150")]=function(e,t){return null==e?e:Ma(e,hi(t,3),Wx)},Kn[r("0x39c3")]=function(e,t){return null==e?e:Ra(e,hi(t,3),Wx)},Kn[r("0x74c")]=function(e,t){return e&&Da(e,hi(t,3))},Kn[r("0x6fe")]=function(e,t){return e&&Ia(e,hi(t,3))},Kn.get=Gx,Kn.gt=tx,Kn[r("0xe37")]=nx,Kn[r("0x519")]=function(e,t){return null!=e&&yi(e,t,Fa)},Kn[r("0x48f2")]=Hx,Kn[r("0x1d45")]=io,Kn[r("0x356b")]=ps,Kn.includes=function(e,t,n,a){var i=r;e=ox(e)?e:es(e),n=n&&!a?Mx(n):0;var o=e[i("0x5e9")];return n<0&&(n=Ot(o+n,0)),Sx(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&xn(e,t,n)>-1},Kn[r("0x3507")]=function(e,t,n){var a=null==e?0:e[r("0x5e9")];if(!a)return-1;var i=null==n?0:Mx(n);return i<0&&(i=Ot(a+i,0)),xn(e,t,i)},Kn[r("0x770")]=function(e,t,n){return t=wx(t),n===i?(n=t,t=0):n=wx(n),e=Dx(e),(a=e)>=kt(r=t,o=n)&&a<Ot(r,o);var a,r,o},Kn.invoke=jx,Kn[r("0x3d3")]=ax,Kn[r("0x498f")]=rx,Kn[r("0x1a14")]=ix,Kn[r("0x1c9")]=ox,Kn[r("0x1356")]=xx,Kn[r("0x4c95")]=function(e){return!0===e||!1===e||bx(e)&&Pa(e)==C},Kn[r("0x272d")]=sx,Kn.isDate=cx,Kn.isElement=function(e){var t=r;return bx(e)&&1===e[t("0x4879")]&&!hx(e)},Kn.isEmpty=function(e){var t=r;if(null==e)return!0;if(ox(e)&&(rx(e)||typeof e==t("0x38b7")||typeof e.splice==t("0x3349")||sx(e)||Ax(e)||ax(e)))return!e[t("0x5e9")];var n=Ti(e);if(n==N||n==B)return!e[t("0x27ff")];if(Oi(e))return!Wa(e)[t("0x5e9")];for(var a in e)if(qe[t("0x3c6b")](e,a))return!1;return!0},Kn[r("0x4f17")]=function(e,t){return Ua(e,t)},Kn[r("0x374c")]=function(e,t,n){var a=(n="function"==typeof n?n:i)?n(e,t):i;return a===i?Ua(e,t,i,n):!!a},Kn[r("0x3553")]=lx,Kn[r("0x1d18")]=function(e){return typeof e==r("0x2231")&&wt(e)},Kn.isFunction=dx,Kn.isInteger=ux,Kn[r("0x1e12")]=fx,Kn[r("0x15c7")]=_x,Kn.isMatch=function(e,t){return e===t||$a(e,t,vi(t))},Kn[r("0x3792")]=function(e,t,n){return n="function"==typeof n?n:i,$a(e,t,vi(t),n)},Kn[r("0x704")]=function(e){return px(e)&&e!=+e},Kn.isNative=function(e){if(Ni(e))throw new Pe(s);return ja(e)},Kn[r("0x39ab")]=function(e){return null==e},Kn[r("0xd87")]=function(e){return null===e},Kn[r("0x1ba0")]=px,Kn[r("0x1f1a")]=mx,Kn[r("0xd04")]=bx,Kn[r("0x1caa")]=hx,Kn[r("0x3353")]=gx,Kn[r("0x2d21")]=function(e){return ux(e)&&e>=-g&&e<=g},Kn[r("0x6f8")]=vx,Kn[r("0x1236")]=Sx,Kn.isSymbol=Ex,Kn[r("0x291f")]=Ax,Kn.isUndefined=function(e){return e===i},Kn[r("0x29b5")]=function(e){return bx(e)&&Ti(e)==H},Kn[r("0x266d")]=function(e){return bx(e)&&Pa(e)==U},Kn[r("0xc60")]=function(e,t){return null==e?"":Dt[r("0x3c6b")](e,t)},Kn[r("0x2873")]=rs,Kn.last=co,Kn[r("0x4e")]=function(e,t,n){var a=null==e?0:e.length;if(!a)return-1;var r=a;return n!==i&&(r=(r=Mx(n))<0?Ot(a+r,0):kt(r,a-1)),t==t?function(e,t,n){for(var a=n+1;a--;)if(e[a]===t)return a;return a}(e,t,r):on(e,cn,r,!0)},Kn[r("0x2008")]=is,Kn.lowerFirst=os,Kn.lt=Tx,Kn[r("0x5d8")]=yx,Kn.max=function(e){return e&&e[r("0x5e9")]?ya(e,ps,La):i},Kn[r("0x4ffa")]=function(e,t){return e&&e[r("0x5e9")]?ya(e,hi(t,2),La):i},Kn[r("0x91d")]=function(e){return ln(e,ps)},Kn[r("0x2bbc")]=function(e,t){return ln(e,hi(t,2))},Kn[r("0x11db")]=function(e){return e&&e[r("0x5e9")]?ya(e,ps,za):i},Kn[r("0x248c")]=function(e,t){return e&&e[r("0x5e9")]?ya(e,hi(t,2),za):i},Kn[r("0x1ed4")]=Rs,Kn.stubFalse=Ds,Kn[r("0x10f2")]=function(){return{}},Kn[r("0x2097")]=function(){return""},Kn[r("0xe66")]=function(){return!0},Kn[r("0x49e2")]=Ls,Kn[r("0x4cd9")]=function(e,t){return e&&e[r("0x5e9")]?Za(e,Mx(t)):i},Kn[r("0x2236")]=function(){return Nt._===this&&(Nt._=Je),this},Kn[r("0x49d1")]=Es,Kn.now=Go,Kn[r("0x4b83")]=function(e,t,n){e=Nx(e);var a=(t=Mx(t))?Dn(e):0;if(!t||a>=t)return e;var r=(t-a)/2;return ei(ht(r),n)+e+ei(bt(r),n)},Kn[r("0x3fee")]=function(e,t,n){e=Nx(e);var a=(t=Mx(t))?Dn(e):0;return t&&a<t?e+ei(t-a,n):e},Kn[r("0x3b96")]=function(e,t,n){e=Nx(e);var a=(t=Mx(t))?Dn(e):0;return t&&a<t?ei(t-a,n)+e:e},Kn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),Ft(Nx(e).replace(_e,""),t||0)},Kn[r("0xcbb")]=function(e,t,n){var a=r;if(n&&typeof n!=a("0xacc")&&Ri(e,t,n)&&(t=n=i),n===i&&(typeof t==a("0xacc")?(n=t,t=i):typeof e==a("0xacc")&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=wx(e),t===i?(t=e,e=0):t=wx(t)),e>t){var o=e;e=t,t=o}if(n||e%1||t%1){var x=an();return kt(e+x*(t-e+Mt("1e-"+((x+"")[a("0x5e9")]-1))),t)}return rr(e,t)},Kn[r("0x2e06")]=function(e,t,n){var a=rx(e)?en:fn,r=arguments.length<3;return a(e,hi(t,4),n,r,Ea)},Kn[r("0x308f")]=function(e,t,n){var a=r,i=rx(e)?tn:fn,o=arguments[a("0x5e9")]<3;return i(e,hi(t,4),n,o,Aa)},Kn[r("0x4188")]=function(e,t,n){return t=(n?Ri(e,t,n):t===i)?1:Mx(t),ir(Nx(e),t)},Kn.replace=function(){var e=r,t=arguments,n=Nx(t[0]);return t[e("0x5e9")]<3?n:n.replace(t[1],t[2])},Kn.result=function(e,t,n){var a=r,o=-1,x=(t=Rr(t,e))[a("0x5e9")];for(!x&&(x=1,e=i);++o<x;){var s=null==e?i:e[Ki(t[o])];s===i&&(o=x,s=n),e=dx(s)?s[a("0x3c6b")](e):s}return e},Kn.round=Fs,Kn.runInContext=e,Kn.sample=function(e){return(rx(e)?xa:xr)(e)},Kn[r("0x27ff")]=function(e){var t=r;if(null==e)return 0;if(ox(e))return Sx(e)?Dn(e):e[t("0x5e9")];var n=Ti(e);return n==N||n==B?e[t("0x27ff")]:Wa(e)[t("0x5e9")]},Kn[r("0x45d9")]=xs,Kn[r("0x906")]=function(e,t,n){var a=rx(e)?nn:mr;return n&&Ri(e,t,n)&&(t=i),a(e,hi(t,3))},Kn.sortedIndex=function(e,t){return br(e,t)},Kn[r("0x6e8")]=function(e,t,n){return _r(e,t,hi(n,2))},Kn[r("0x2ff7")]=function(e,t){var n=null==e?0:e[r("0x5e9")];if(n){var a=br(e,t);if(a<n&&ex(e[a],t))return a}return-1},Kn[r("0x2fbc")]=function(e,t){return br(e,t,!0)},Kn[r("0x1be")]=function(e,t,n){return _r(e,t,hi(n,2),!0)},Kn[r("0x4de8")]=function(e,t){if(null==e?0:e[r("0x5e9")]){var n=br(e,t,!0)-1;if(ex(e[n],t))return n}return-1},Kn.startCase=ss,Kn[r("0x366a")]=function(e,t,n){var a=r;return e=Nx(e),n=null==n?0:pa(Mx(n),0,e[a("0x5e9")]),t=gr(t),e.slice(n,n+t[a("0x5e9")])==t},Kn[r("0x471d")]=Bs,Kn[r("0x29ce")]=function(e){return e&&e[r("0x5e9")]?mn(e,ps):0},Kn[r("0x400a")]=function(e,t){return e&&e[r("0x5e9")]?mn(e,hi(t,2)):0},Kn.template=function(e,t,n){var a=r,o=Kn.templateSettings;n&&Ri(e,t,n)&&(t=i),e=Nx(e),t=Px({},t,o,si);var x,s,c=Px({},t[a("0x1e8a")],o.imports,si),l=Vx(c),d=pn(c,l),u=0,f=t[a("0x3543")]||Ie,m="__p += '",b=Ye((t[a("0x2bc6")]||Ie)[a("0x4aff")]+"|"+f[a("0x4aff")]+"|"+(f===ce?Ae:Ie)[a("0x4aff")]+"|"+(t[a("0x199e")]||Ie)[a("0x4aff")]+"|$","g"),_=a("0x12ec")+(qe[a("0x3c6b")](t,"sourceURL")?(t[a("0x15dd")]+"")[a("0x3cc0")](/\s/g," "):"lodash.templateSources["+ ++At+"]")+"\n";e[a("0x3cc0")](b,(function(t,n,r,i,o,c){var l=a;return r||(r=i),m+=e[l("0x9b3")](u,c)[l("0x3cc0")](Ne,Tn),n&&(x=!0,m+="' +\n__e("+n+") +\n'"),o&&(s=!0,m+="';\n"+o+";\n__p += '"),r&&(m+="' +\n((__t = ("+r+l("0x3676")),u=c+t[l("0x5e9")],t})),m+=a("0x3d67");var p=qe[a("0x3c6b")](t,a("0x3722"))&&t[a("0x3722")];!p&&(m=a("0x4c96")+m+a("0x2d71")),m=(s?m.replace(ee,""):m)[a("0x3cc0")](te,"$1")[a("0x3cc0")](ne,a("0x7b2")),m=a("0x1bce")+(p||"obj")+a("0x2115")+(p?"":a("0x416a"))+a("0x4ca3")+(x?a("0x386b"):"")+(s?a("0x4600")+a("0x4d44"):";\n")+m+"return __p\n}";var h=us((function(){var e=a;return Le(l,_+"return "+m)[e("0x4884")](i,d)}));if(h.source=m,lx(h))throw h;return h},Kn[r("0x1a2f")]=function(e,t){if((e=Mx(e))<1||e>g)return[];var n=S,a=kt(e,S);t=hi(t),e-=S;for(var r=bn(a,t);++n<e;)t(n);return r},Kn.toFinite=wx,Kn[r("0x19c5")]=Mx,Kn[r("0x4a14")]=Rx,Kn[r("0x2be8")]=function(e){var t=r;return Nx(e)[t("0x2eb9")]()},Kn.toNumber=Dx,Kn[r("0x27de")]=function(e){return e?pa(Mx(e),-g,g):0===e?e:0},Kn[r("0x3c88")]=Nx,Kn[r("0x4fc1")]=function(e){return Nx(e).toUpperCase()},Kn.trim=function(e,t,n){if((e=Nx(e))&&(n||t===i))return e.replace(be,"");if(!e||!(t=gr(t)))return e;var a=In(e),r=In(t);return Ir(a,gn(a,r),vn(a,r)+1).join("")},Kn[r("0x1136")]=function(e,t,n){var a=r;if((e=Nx(e))&&(n||t===i))return e.replace(pe,"");if(!e||!(t=gr(t)))return e;var o=In(e);return Ir(o,0,vn(o,In(t))+1)[a("0xc60")]("")},Kn.trimStart=function(e,t,n){var a=r;if((e=Nx(e))&&(n||t===i))return e[a("0x3cc0")](_e,"");if(!e||!(t=gr(t)))return e;var o=In(e);return Ir(o,gn(o,In(t))).join("")},Kn.truncate=function(e,t){var n=r,a=30,o=p;if(mx(t)){var x=n("0x1d12")in t?t[n("0x1d12")]:x;a=n("0x5e9")in t?Mx(t[n("0x5e9")]):a,o=n("0x34ad")in t?gr(t[n("0x34ad")]):o}var s=(e=Nx(e))[n("0x5e9")];if(yn(e)){var c=In(e);s=c[n("0x5e9")]}if(a>=s)return e;var l=a-Dn(o);if(l<1)return o;var d=c?Ir(c,0,l)[n("0xc60")](""):e[n("0x9b3")](0,l);if(x===i)return d+o;if(c&&(l+=d[n("0x5e9")]-l),gx(x)){if(e[n("0x9b3")](l).search(x)){var u,f=d;for(!x[n("0x4d11")]&&(x=Ye(x[n("0x4aff")],Nx(Te[n("0x3629")](x))+"g")),x[n("0x151e")]=0;u=x[n("0x3629")](f);)var m=u[n("0x2d50")];d=d.slice(0,m===i?l:m)}}else if(e[n("0x3507")](gr(x),l)!=l){var b=d[n("0x4e")](x);b>-1&&(d=d[n("0x9b3")](0,b))}return d+o},Kn[r("0x4a73")]=function(e){var t=r;return(e=Nx(e))&&ie[t("0x3ff3")](e)?e[t("0x3cc0")](ae,Nn):e},Kn[r("0x38ed")]=function(e){var t=++ze;return Nx(e)+t},Kn[r("0x385e")]=cs,Kn.upperFirst=ls,Kn[r("0x3707")]=No,Kn[r("0x1838")]=Oo,Kn[r("0x81d")]=io,Ss(Kn,(Ps={},Da(Kn,(function(e,t){var n=a2_0x37cf;!qe[n("0x3c6b")](Kn[n("0x20f")],t)&&(Ps[t]=e)})),Ps),{chain:!1}),Kn[r("0x1ce0")]=x,Wt(["bind",r("0x3900"),r("0x4108"),r("0x26d4"),r("0x3c80"),r("0x1af8")],(function(e){var t=r;Kn[e][t("0x21e2")]=Kn})),Wt([r("0x4faf"),"take"],(function(e,t){ea.prototype[e]=function(n){var a=a2_0x37cf;n=n===i?1:Ot(Mx(n),0);var r=this.__filtered__&&!t?new ea(this):this.clone();return r[a("0xfbe")]?r[a("0x39d9")]=kt(n,r[a("0x39d9")]):r[a("0x26de")][a("0x459a")]({size:kt(n,S),type:e+(r[a("0x4d96")]<0?"Right":"")}),r},ea.prototype[e+"Right"]=function(t){var n=a2_0x37cf;return this[n("0x48d")]()[e](t)[n("0x48d")]()}})),Wt(["filter",r("0x19e8"),r("0x482a")],(function(e,t){var n=r,a=t+1,i=1==a||3==a;ea[n("0x20f")][e]=function(e){var t=n,r=this[t("0x42df")]();return r[t("0x3148")][t("0x459a")]({iteratee:hi(e,3),type:a}),r[t("0xfbe")]=r.__filtered__||i,r}})),Wt([r("0x1d45"),"last"],(function(e,t){var n="take"+(t?"Right":"");ea.prototype[e]=function(){var e=a2_0x37cf;return this[n](1)[e("0x3a33")]()[0]}})),Wt([r("0x40da"),r("0x49f6")],(function(e,t){var n=r,a=n("0x4faf")+(t?"":"Right");ea[n("0x20f")][e]=function(){return this[n("0xfbe")]?new ea(this):this[a](1)}})),ea.prototype[r("0x4fb7")]=function(){return this[r("0x6a6")](ps)},ea[r("0x20f")][r("0x372f")]=function(e){return this.filter(e).head()},ea[r("0x20f")][r("0x3652")]=function(e){var t=r;return this.reverse()[t("0x372f")](e)},ea[r("0x20f")][r("0x4c39")]=or((function(e,t){var n=r;return typeof e==n("0x3349")?new ea(this):this[n("0x19e8")]((function(n){return Ga(n,e,t)}))})),ea.prototype[r("0x2078")]=function(e){return this.filter(Qo(hi(e)))},ea.prototype[r("0x9b3")]=function(e,t){var n=r;e=Mx(e);var a=this;return a.__filtered__&&(e>0||t<0)?new ea(a):(e<0?a=a[n("0x41cc")](-e):e&&(a=a[n("0x4faf")](e)),t!==i&&(a=(t=Mx(t))<0?a[n("0x1244")](-t):a[n("0x4dff")](t-e)),a)},ea[r("0x20f")][r("0x1bdd")]=function(e){var t=r;return this[t("0x48d")]()[t("0x482a")](e).reverse()},ea[r("0x20f")][r("0x486")]=function(){return this[r("0x4dff")](S)},Da(ea[r("0x20f")],(function(e,t){var n=r,a=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),x=Kn[o?n("0x4dff")+(t==n("0xa00")?n("0x2b25"):""):t],s=o||/^find/[n("0x3ff3")](t);x&&(Kn[n("0x20f")][t]=function(){var t=n,r=this[t("0x239")],c=o?[1]:arguments,l=r instanceof ea,d=c[0],u=l||rx(r),f=function(e){var n=x[t("0x4884")](Kn,Zt([e],c));return o&&m?n[0]:n};u&&a&&typeof d==t("0x3349")&&1!=d[t("0x5e9")]&&(l=u=!1);var m=this[t("0x48d2")],b=!!this[t("0x3c55")][t("0x5e9")],_=s&&!m,p=l&&!b;if(!s&&u){r=p?r:new ea(this);var h=e.apply(r,c);return h[t("0x3c55")].push({func:wo,args:[f],thisArg:i}),new Zn(h,m)}return _&&p?e.apply(this,c):(h=this[t("0x4587")](f),_?o?h[t("0x3a33")]()[0]:h[t("0x3a33")]():h)})})),Wt([r("0x4acd"),r("0x459a"),r("0x4534"),r("0x4d63"),r("0x2bcf"),r("0x4e4a")],(function(e){var t=r,n=Ue[e],a=/^(?:push|sort|unshift)$/[t("0x3ff3")](e)?"tap":t("0x4587"),i=/^(?:pop|shift)$/[t("0x3ff3")](e);Kn.prototype[e]=function(){var e=t,r=arguments;if(i&&!this[e("0x48d2")]){var o=this[e("0x3a33")]();return n.apply(rx(o)?o:[],r)}return this[a]((function(e){return n.apply(rx(e)?e:[],r)}))}})),Da(ea[r("0x20f")],(function(e,t){var n=r,a=Kn[t];if(a){var i=a[n("0x98c")]+"";!qe[n("0x3c6b")](Hn,i)&&(Hn[i]=[]),Hn[i].push({name:t,func:a})}})),Hn[Kr(i,2).name]=[{name:r("0x1fbe"),func:i}],ea.prototype[r("0x42df")]=function(){var e=r,t=new ea(this[e("0x239")]);return t[e("0x3c55")]=Yr(this[e("0x3c55")]),t[e("0x4d96")]=this[e("0x4d96")],t[e("0xfbe")]=this[e("0xfbe")],t[e("0x3148")]=Yr(this[e("0x3148")]),t.__takeCount__=this.__takeCount__,t[e("0x26de")]=Yr(this[e("0x26de")]),t},ea[r("0x20f")][r("0x48d")]=function(){var e=r;if(this.__filtered__){var t=new ea(this);t.__dir__=-1,t.__filtered__=!0}else(t=this[e("0x42df")]())[e("0x4d96")]*=-1;return t},ea.prototype.value=function(){var e=r,t=this.__wrapped__[e("0x3a33")](),n=this[e("0x4d96")],a=rx(t),i=n<0,o=a?t[e("0x5e9")]:0,x=function(e,t,n){var a=r,i=-1,o=n.length;for(;++i<o;){var x=n[i],s=x[a("0x27ff")];switch(x.type){case a("0x4faf"):e+=s;break;case a("0x1244"):t-=s;break;case"take":t=kt(t,e+s);break;case"takeRight":e=Ot(e,t-s)}}return{start:e,end:t}}(0,o,this[e("0x26de")]),s=x[e("0x1023")],c=x.end,l=c-s,d=i?c:s-1,u=this[e("0x3148")],f=u.length,m=0,b=kt(l,this[e("0x39d9")]);if(!a||!i&&o==l&&b==l)return Tr(t,this.__actions__);var _=[];e:for(;l--&&m<b;){for(var p=-1,h=t[d+=n];++p<f;){var g=u[p],v=g[e("0x1bef")],S=g[e("0x3298")],E=v(h);if(2==S)h=E;else if(!E){if(1==S)continue e;break e}}_[m++]=h}return _},Kn.prototype.at=Mo,Kn[r("0x20f")][r("0x1a1a")]=function(){return Co(this)},Kn.prototype[r("0x3736")]=function(){var e=r;return new Zn(this.value(),this[e("0x48d2")])},Kn[r("0x20f")].next=function(){var e=r;this.__values__===i&&(this.__values__=Cx(this[e("0x3a33")]()));var t=this.__index__>=this[e("0x3b97")][e("0x5e9")];return{done:t,value:t?i:this.__values__[this.__index__++]}},Kn.prototype[r("0x96d")]=function(e){for(var t,n=r,a=this;a instanceof Jn;){var o=Ji(a);o[n("0x44d9")]=0,o.__values__=i,t?x[n("0x239")]=o:t=o;var x=o;a=a[n("0x239")]}return x[n("0x239")]=e,t},Kn[r("0x20f")][r("0x48d")]=function(){var e=r,t=this[e("0x239")];if(t instanceof ea){var n=t;return this[e("0x3c55")][e("0x5e9")]&&(n=new ea(this)),(n=n[e("0x48d")]())[e("0x3c55")].push({func:wo,args:[mo],thisArg:i}),new Zn(n,this[e("0x48d2")])}return this.thru(mo)},Kn[r("0x20f")][r("0x27f8")]=Kn.prototype.valueOf=Kn[r("0x20f")][r("0x3a33")]=function(){return Tr(this[r("0x239")],this.__actions__)},Kn[r("0x20f")][r("0x81d")]=Kn[r("0x20f")].head,ct&&(Kn[r("0x20f")][ct]=function(){return this}),Kn}();Nt._=On,(a=function(){return On}[o("0x3c6b")](t,n,t,e))===i||(e[o("0x33f9")]=a)}[r("0x3c6b")](this)},7314:(e,t,n)=>{var a,r,i,o,x=n(1109);a=angular,r=window,i=x,function(e,t,n){var a=a2_0x37cf;function r(e,n){var a=a2_0x37cf;this.type=e,this[a("0x2c38")]=n,this.offset={x:null,y:null},this.height=255,this.$scope=null,this.$element=null,this[a("0x1cf")]=t[a("0x2b0c")](this,(function(e,n,r){var i=a;this[i("0x36af")]=e,this[i("0x4998")]=n,this[i("0x4859")]=this[i("0x4998")][i("0x71b")]()[0],this[i("0x6bc")]=this[i("0x4998")].children()[1],this.context=this[i("0x4859")].getContext("2d"),this[i("0xf50")]=this[i("0x36af")][i("0xf2c")][i("0x2ccb")](),this[i("0x274")]=this[i("0x36af")][i("0xf2c")][i("0x2509")]().h,this[i("0x4998")].on("touchstart mousedown",t[i("0x2b0c")](this,this[i("0x12e1")])),this[i("0x36af")][i("0x24c9")](i("0x35e0"),t[i("0x2b0c")](this,this[i("0x3bb8")])),this[i("0x21d8")]&&this[i("0x21d8")](),this[i("0x19b0")]()}))}var o={hue:{getColorByPoint:function(e,t){var n=a2_0x37cf,a=this.getImageData(e,t);return this[n("0x2852")](t),new i({r:a[0],g:a[1],b:a[2]})[n("0x447c")]().h},draw:function(){var e=a2_0x37cf;this[e("0x4998")][e("0x42b1")]({height:this.height+"px"}),this[e("0x4859")][e("0x4e66")]=this[e("0x4e66")],this[e("0x4859")][e("0xbbf")]=this[e("0x4e66")];var t=this[e("0x48cc")].createLinearGradient(90,0,90,this.height);t[e("0x20ad")](.01,e("0x1f55")),t[e("0x20ad")](.167,e("0x4168")),t.addColorStop(.333,e("0x2e5c")),t[e("0x20ad")](.5,e("0xe32")),t[e("0x20ad")](.666,e("0xb07")),t[e("0x20ad")](.828,e("0x3938")),t[e("0x20ad")](.999,e("0x1f55")),this[e("0x48cc")][e("0x20f0")]=t,this.context[e("0xaf7")](0,0,this[e("0x4859")][e("0xbbf")],this[e("0x4e66")])}},alpha:{getColorByPoint:function(e,t){var n=a2_0x37cf,a=this[n("0x998")](e,t);return this[n("0x2852")](t),a[3]/255},draw:function(){var e=a2_0x37cf;this[e("0x4998")][e("0x42b1")]({height:this.height+"px"}),this[e("0x4859")][e("0x4e66")]=this.height,this[e("0x4859")][e("0xbbf")]=this[e("0x4e66")];var t=this.context[e("0x375e")](90,0,90,this[e("0x4e66")]);t[e("0x20ad")](.01,e("0x4db3")+this[e("0xf50")].r+","+this[e("0xf50")].g+","+this[e("0xf50")].b+", 1.000)"),t.addColorStop(.99,e("0x4db3")+this.currentColor.r+","+this[e("0xf50")].g+","+this[e("0xf50")].b+", 0.000)"),this[e("0x48cc")][e("0x20f0")]=t,this[e("0x48cc")][e("0xaf7")](-1,-1,this[e("0x4859")][e("0xbbf")]+2,this.height+2)},extra:function(){var e=a2_0x37cf;this.$scope[e("0x24c9")](e("0x19bc"),t[e("0x2b0c")](this,(function(t,n){var a=e;this[a("0xf50")]=n[a("0xf2c")],this[a("0x19b0")]()})))}},spectrum:{getColorByPoint:function(e,t){var n=a2_0x37cf,a=this[n("0x998")](e,t);return this[n("0x2852")](e,t),{r:a[0],g:a[1],b:a[2]}},draw:function(){var e=a2_0x37cf;this[e("0x4859")][e("0x4e66")]=this[e("0x4e66")],this[e("0x4859")][e("0xbbf")]=this.height,this[e("0x48cc")][e("0x1e2e")](0,0,this[e("0x4859")][e("0xbbf")],this[e("0x4859")][e("0x4e66")]);var t=this.context[e("0x375e")](0,0,this.canvas.width,0);t[e("0x20ad")](.01,e("0x3941")),t[e("0x20ad")](.99,e("0x137a"));var n=this[e("0x48cc")].createLinearGradient(0,0,0,this[e("0x4859")].height);n.addColorStop(.01,"rgba(0, 0, 0, 0.000)"),n[e("0x20ad")](.99,e("0x597")),this[e("0x48cc")][e("0x20f0")]=e("0x219c")+this[e("0x274")]+e("0x198c"),this.context[e("0xaf7")](0,0,this[e("0x4859")].width,this[e("0x4859")].height),this[e("0x48cc")][e("0x20f0")]=t,this[e("0x48cc")][e("0xaf7")](-1,-1,this[e("0x4859")].width+2,this[e("0x4859")][e("0x4e66")]+2),this[e("0x48cc")][e("0x20f0")]=n,this.context[e("0xaf7")](-1,-1,this[e("0x4859")][e("0xbbf")]+2,this[e("0x4859")][e("0x4e66")]+2)},extra:function(){var e=a2_0x37cf;this[e("0x36af")][e("0x24c9")]("mdColorPicker:spectrumHueChange",t[e("0x2b0c")](this,(function(t,n){var a=e;this.currentHue=n[a("0x2705")],this.draw();var r=this[a("0x1cdf")](),i=this.getColorByPoint(r.x,r.y);this.setColor(i)})))}}};r[a("0x20f")].$window=t[a("0xb48")](e),r[a("0x20f")][a("0x1491")]=function(e){var t=a,n=e[t("0x4d33")]&&e[t("0x4d33")][0],r=n&&n.pageX||e[t("0x2508")],i=n&&n.pageY||e[t("0x4e6d")],o=Math.round(r-this[t("0x1feb")].x),x=Math[t("0x46d")](i-this[t("0x1feb")].y);return this[t("0x4cb5")](o,x)},r[a("0x20f")][a("0x2852")]=function(e,r){var i,o,x,s,c=a,l=-1*this[c("0x6bc")][c("0xe76")]/2,d=-1*this[c("0x6bc")][c("0x2b02")]/2;r===n?(x=e+d,s=Math[c("0x46d")](Math[c("0x242b")](Math[c("0x11db")](this[c("0x4e66")]-1+d,x),d)),o=0):(i=e+l,x=r+d,o=Math[c("0x4184")](Math.max(Math.min(this[c("0x4e66")]+l,i),l)),s=Math.floor(Math[c("0x242b")](Math.min(this.height+d,x),d))),t.element(this[c("0x6bc")])[c("0x42b1")]({left:o+"px"}),t[c("0xb48")](this[c("0x6bc")]).css({top:s+"px"})},r.prototype[a("0x1cdf")]=function(){var e=a;return{x:this.marker[e("0x3c94")]+Math.floor(this[e("0x6bc")][e("0xe76")]/2),y:this.marker[e("0x2ac6")]+Math.floor(this.marker[e("0x2b02")]/2)}},r[a("0x20f")][a("0x998")]=function(e,t){var n=a;return e=Math[n("0x242b")](0,Math.min(e,this[n("0x4859")].width-1)),t=Math[n("0x242b")](0,Math[n("0x11db")](t,this.canvas[n("0x4e66")]-1)),this[n("0x48cc")].getImageData(e,t,1,1)[n("0x237c")]},r[a("0x20f")][a("0x12e1")]=function(e){var n=a;e[n("0xe50")](),e.stopImmediatePropagation(),this[n("0x36af")].previewUnfocus(),this.$element[n("0x42b1")]({cursor:n("0x2847")}),this[n("0x1feb")].x=this[n("0x4859")][n("0x1a8b")]()[n("0x2885")],this[n("0x1feb")].y=this.canvas[n("0x1a8b")]()[n("0x228a")];var r=t[n("0x2b0c")](this,(function(e){var t=n;switch(this[t("0x3298")]){case"hue":var a=this[t("0x1491")](e);this[t("0x36af")][t("0x2050")]("mdColorPicker:spectrumHueChange",{hue:a});break;case t("0x1279"):var r=this.getColorByMouse(e);this[t("0x36af")][t("0xf2c")][t("0x3240")](r),this[t("0x36af")][t("0x1279")]=r,this.$scope[t("0xd66")]();break;case t("0x3427"):var i=this[t("0x1491")](e);this[t("0x1160")](i)}}));this.$window.on(n("0x18c3"),r),this[n("0xe11")][n("0x68f")](n("0x43c7"),t[n("0x2b0c")](this,(function(e){var t=n;this[t("0xe11")][t("0x30f8")](t("0x18c3"),r),this[t("0x4998")].css({cursor:t("0x144e")})}))),r(e)},r[a("0x20f")][a("0x1160")]=function(e){var t=a;this[t("0x36af")][t("0xf2c")]._r=e.r,this[t("0x36af")][t("0xf2c")]._g=e.g,this[t("0x36af")][t("0xf2c")]._b=e.b,this[t("0x36af")].$apply(),this.$scope.$broadcast(t("0x19bc"),{color:e})},r.prototype.onColorSet=function(e,t){var n=a;switch(this[n("0x3298")]){case n("0x2705"):var r=this[n("0x36af")][n("0xf2c")].toHsv();this[n("0x2852")](this[n("0x4859")][n("0x4e66")]-this[n("0x4859")][n("0x4e66")]*(r.h/360));break;case"alpha":this[n("0xf50")]=t[n("0xf2c")].toRgb(),this.draw();var i=t[n("0xf2c")][n("0x2aae")](),o=this[n("0x4859")][n("0x4e66")]-this[n("0x4859")][n("0x4e66")]*i;this[n("0x2852")](o);break;case n("0x3427"):r=t[n("0xf2c")][n("0x2509")](),this[n("0x274")]=r.h,this[n("0x19b0")]();var x=this[n("0x4859")][n("0xbbf")]*r.s,s=this.canvas.height-this[n("0x4859")][n("0x4e66")]*r.v;this[n("0x2852")](x,s)}},t[a("0x39e9")](a("0x32f"),[])[a("0x4c69")]([a("0x19f0"),function(e){var t=a,n={clear:t("0xc5b"),gradient:t("0x1de4"),tune:'<path d="M13 21v-2h8v-2h-8v-2h-2v6h2zM3 17v2h6v-2H3z"/><path d="M21 13v-2H11v2h10zM7 9v2H3v2h4v2h2V9H7z"/><path d="M15 9h2V7h4V5h-4V3h-2v6zM3 5v2h10V5H3z"/>',view_module:'<path d="M4 11h5V5H4v6z"/><path d="M4 18h5v-6H4v6z"/><path d="M10 18h5v-6h-5v6z"/><path d="M16 18h5v-6h-5v6z"/><path d="M10 11h5V5h-5v6z"/><path d="M16 5v6h5V5h-5z"/>',view_headline:'<path d="M4 15h17v-2H4v2z"/><path d="M4 19h17v-2H4v2z"/><path d="M4 11h17V9H4v2z"/><path d="M4 5v2h17V5H4z"/>',history:t("0x36f9"),clear_all:t("0x3b1c")};for(var r in n)n[t("0x1bd4")](r)&&e[t("0x32f3")]([r,"svg"][t("0xc60")]("."),[t("0x18cc"),n[r],t("0x13c3")][t("0xc60")](""))}])[a("0x3faf")](a("0x4a13"),(function(){return function(e){var n=a2_0x37cf,a=new r(e,n("0x3427")!=e);return a=t.merge(a,o[e]),{template:n("0x20"),link:a[n("0x1cf")],controller:function(){}}}}))[a("0x3faf")]("mdColorPickerHistory",[a("0x1f10"),function(e){var t=a,n=[],r=[],o=!1;try{o=e[t("0x1cf")]("$cookies")}catch(e){}if(o)for(var x=o[t("0x4455")](t("0x3ac0"))||[],s=0;s<x[t("0x5e9")];s++)n[t("0x459a")](i(x[s])),r[t("0x459a")](x[s]);var c=40;return{length:function(){var e=t;return arguments[0]?void(c=arguments[0]):n[e("0x5e9")]},add:function(e){for(var a=t,i=0;i<n[a("0x5e9")];i++)n[i].toRgbString()===e[a("0xa99")]()&&(n[a("0x2bcf")](i,1),r[a("0x2bcf")](i,1));n.unshift(e),r[a("0x4e4a")](e[a("0xa99")]()),n.length>c&&(n[a("0x4acd")](),r[a("0x4acd")]()),o&&o[a("0x44f7")](a("0x3ac0"),r)},get:function(){return n},reset:function(){var e=t;n=[],r=[],o&&o[e("0x44f7")](e("0x3ac0"),r)}}}])[a("0x1b75")]("mdColorPicker",["$timeout",a("0x3ac0"),function(e,t){var r=a;return{templateUrl:"mdColorPicker.tpl.html",require:r("0x18ec"),scope:{options:r("0x383c"),type:"@",label:"@?",icon:"@?",random:"@?",default:"@?",openOnInput:"=?",hasBackdrop:"=?",clickOutsideToClose:"=?",skipHide:"=?",preserveScope:"=?",mdColorClearButton:"=?",mdColorPreview:"=?",mdColorAlphaChannel:"=?",mdColorSpectrum:"=?",mdColorSliders:"=?",mdColorGenericPalette:"=?",mdColorMaterialPalette:"=?",mdColorHistory:"=?",mdColorHex:"=?",mdColorRgb:"=?",mdColorHsl:"=?",mdColorDefaultTab:"=?"},controller:[r("0x36af"),r("0x4998"),r("0x428f"),r("0x475c"),r("0x3403"),function(e,t,a,i,o){var x=r;if(e.options!==n)for(var s in e[x("0x16d1")])if(e[x("0x16d1")][x("0x1bd4")](s)){var c;c=s,e[x("0x1bd4")](x("0xb02")+s[x("0x9b3")](0,1)[x("0x110")]()+s[x("0x9b3")](1))&&(c="mdColor"+s[x("0x9b3")](0,1)[x("0x110")]()+s[x("0x9b3")](1)),!c||e[c]!==n&&""!==e[c]||(e[c]=e[x("0x16d1")][s])}var l=t[x("0x1194")](x("0x12bc")),d=function(t){var n=x;e[n("0x3a33")]=t||l[n("0x326c")]||""};e[x("0x4e77")]=e[x("0x4e77")]===n||e[x("0x4e77")],e[x("0x2ec6")]=e[x("0x2ec6")]===n||e[x("0x2ec6")],e[x("0x2649")]=e[x("0x2649")]===n||e.mdColorAlphaChannel,e[x("0x173b")]=e[x("0x173b")]===n||e[x("0x173b")],e[x("0x987")]=e[x("0x987")]===n||e[x("0x987")],e[x("0x22ba")]=e[x("0x22ba")]===n||e[x("0x22ba")],e.mdColorMaterialPalette=e.mdColorMaterialPalette===n||e.mdColorMaterialPalette,e[x("0x25c1")]=e[x("0x25c1")]===n||e[x("0x25c1")],e[x("0x4b5e")]=e[x("0x4b5e")]===n||e[x("0x4b5e")],e[x("0x17dc")]=e[x("0x17dc")]===n||e[x("0x17dc")],e[x("0x40f9")]=e.mdColorHsl===n||e[x("0x40f9")],d(),e[x("0x7a")]((function(){return l[x("0x2dce")]}),(function(e){d(e)})),e.$watch(x("0x3a33"),(function(e,t){""!==e&&void 0!==e&&e&&e!==t&&l.$setViewValue(e)})),e.clearValue=function(){l[x("0x1605")]("")},e[x("0x3228")]=function(t){var n=x;o[n("0x262c")]({value:e[n("0x3a33")],defaultValue:e.default,random:e[n("0xcbb")],clickOutsideToClose:e.clickOutsideToClose,hasBackdrop:e.hasBackdrop,skipHide:e.skipHide,preserveScope:e[n("0x1c38")],mdColorAlphaChannel:e[n("0x2649")],mdColorSpectrum:e.mdColorSpectrum,mdColorSliders:e[n("0x987")],mdColorGenericPalette:e[n("0x22ba")],mdColorMaterialPalette:e[n("0xaf")],mdColorHistory:e[n("0x25c1")],mdColorHex:e[n("0x4b5e")],mdColorRgb:e[n("0x17dc")],mdColorHsl:e[n("0x40f9")],mdColorDefaultTab:e[n("0x35ec")],$event:t})[n("0x34e8")]((function(t){e[n("0x3a33")]=t}))}}],compile:function(e,t){var a=r;t[a("0x3298")]=t[a("0x3298")]!==n?t[a("0x3298")]:0}}}]).directive(a("0x2fdd"),[a("0x4728"),"$timeout",a("0x2ad5"),a("0x3ac0"),function(e,n,r,o){var x=a;return{templateUrl:"mdColorPickerContainer.tpl.html",scope:{value:"=?",default:"@",random:"@",ok:"=?",mdColorAlphaChannel:"=",mdColorSpectrum:"=",mdColorSliders:"=",mdColorGenericPalette:"=",mdColorMaterialPalette:"=",mdColorHistory:"=",mdColorHex:"=",mdColorRgb:"=",mdColorHsl:"=",mdColorDefaultTab:"="},controller:["$scope",x("0x4998"),x("0x428f"),function(e,a,s){var c=x,l=t[c("0xb48")](a[0][c("0x31f7")](c("0x2acc"))),d=(t[c("0xb48")](l[0][c("0x31f7")](c("0x3ba2"))),t[c("0xb48")](a[0][c("0x31f7")](c("0x1d7d")))),u=["toHexString",c("0xa99"),c("0x4472")];e.default=e.default?e[c("0x3993")]:e[c("0xcbb")]?i[c("0xcbb")]():c("0x2ee4"),e[c("0x3a33")][c("0xc63")]("#")>=0?e.type=0:e.value.search(c("0x12ef"))>=0?e.type=1:e[c("0x3a33")][c("0xc63")](c("0x784"))>=0&&(e[c("0x3298")]=2),e.color=new i(e[c("0x3a33")]||e[c("0x3993")]),e[c("0x1279")]=e.color[c("0x2aae")](),e[c("0x3221")]=o,e[c("0x588")]=[],e.whichPane=function(t){var n=a2_0x37cf,a=0;if(t&&n("0x38b7")==typeof t)for(var r=n("0xb02")+t[n("0x9b3")](0,1)[n("0x110")]()+t[n("0x9b3")](1),i=[n("0x173b"),"mdColorSliders",n("0x22ba"),n("0xaf"),n("0x25c1")],o=0;o<i.length;o++){if(i[o]==r&&e[r]){a=o;break}t&&n("0x2231")==typeof t&&(a=t)}return a}(e[c("0x35ec")]),e[c("0xed8")]=!1,Math.PI,e[c("0x4183")]=[[c("0x4b64"),c("0x3956"),c("0x2b3f"),c("0x148a"),c("0x1be2"),c("0x42d2"),c("0x1171"),"rgb(204, 204, 255)",c("0x441a"),c("0x112b")],["rgb(255, 153, 153)","rgb(255, 204, 153)",c("0x36cf"),c("0x26ec"),c("0x3ad6"),c("0x2abd"),c("0x3ca2"),c("0x3c1e"),c("0x323d"),c("0x2b5d")],[c("0x3398"),c("0x48cb"),c("0x2bc0"),c("0x115f"),c("0x222c"),c("0x3966"),c("0x36a1"),c("0x11b4"),c("0x382d"),c("0x40c9")],[c("0x3d6f"),c("0x113d"),"rgb(255, 255, 51)",c("0x42fb"),"rgb(51, 255, 153)","rgb(51, 255, 255)",c("0x1d17"),"rgb(51, 51, 255)",c("0x36dc"),c("0x46fe")],[c("0x2595"),c("0x32c3"),"rgb(255, 255, 0)","rgb(0, 255, 0)",c("0x2c75"),"rgb(0, 255, 255)",c("0x407c"),c("0x2ecc"),c("0x1ab"),c("0xbdd")],[c("0x23f3"),"rgb(245, 123, 0)",c("0x27f3"),c("0x499"),c("0x342d"),c("0x1b2"),c("0x30da"),c("0x185b"),"rgb(123, 0, 245)",c("0x341")],["rgb(214, 0, 0)",c("0x49fe"),c("0x59f"),c("0x4484"),c("0x2276"),"rgb(0, 214, 214)",c("0x7f8"),c("0x3516"),c("0xb0b"),c("0x4162")],[c("0x2141"),"rgb(163, 82, 0)","rgb(163, 163, 0)",c("0x3c79"),c("0x1ec6"),c("0x48ce"),c("0x4673"),c("0x3597"),c("0xfd9"),"rgb(163, 0, 163)"],[c("0x15a3"),c("0x3d6c"),c("0x32ac"),"rgb(0, 92, 0)","rgb(0, 92, 46)","rgb(0, 92, 92)",c("0x2293"),c("0x2d36"),c("0x1bb2"),c("0x20d6")],[c("0x7b"),c("0x4fd7"),c("0x1d62"),c("0x1f8a"),"rgb(127, 127, 127)",c("0x3e37"),c("0x16fe"),"rgb(51, 51, 51)",c("0x4117"),c("0x35c9")]],e[c("0x118f")]=r,e[c("0x141f")]=function(e){var n=c;return t[n("0x498f")](e)?i({r:e[0],g:e[1],b:e[2]})[n("0x141f")]():i(e)[n("0x141f")]()},e[c("0xbc4")]=function(){var t=c;e[t("0xed8")]=!0,n((function(){var e=t;d[0][e("0x31bc")](0,d[0][e("0x3a33")][e("0x5e9")])}))},e.previewUnfocus=function(){e[c("0xed8")]=!1,d[0].blur()},e.previewBlur=function(){var t=c;e[t("0xed8")]=!1,e[t("0x166b")]()},e[c("0xc89")]=function(t){13==t[c("0x4ff2")]&&e.ok&&e.ok()},e[c("0x4c85")]=function(t){n((function(){var n=a2_0x37cf;e[n("0xf2c")]=i(t.target[n("0x4025")][n("0xd5e")])}))},e[c("0x166b")]=function(){var t=c;e[t("0xf2c")]&&e[t("0xf2c")]&&u[e.type]&&t("0x275e")!==e[t("0xf2c")][t("0xa99")]()&&(e[t("0x3a33")]=e[t("0xf2c")][u[e.type]]())},e[c("0x2429")]=function(){var t=c;e[t("0xf2c")]=i(e[t("0x3a33")]),e[t("0x2050")](t("0x35e0"),{color:e[t("0xf2c")]})},e.$watch(c("0x4f96"),(function(t){var n=c;e[n("0xf2c")][n("0x3240")](t)}),!0),e[c("0x7a")]("whichPane",(function(t){var n=c;e.$broadcast(n("0x35e0"),{color:e[n("0xf2c")]})})),e[c("0x7a")](c("0x3298"),(function(){var e=c;d[e("0xa81")](e("0x409c")),n((function(){var t=e;d[t("0x31dc")](t("0x409c"))}))})),e.$watchGroup([c("0x3c7c"),"type"],(function(t){e[c("0xed8")]||e.setValue()})),n((function(){var t=c;e[t("0x2050")](t("0x35e0"),{color:e[t("0xf2c")]}),d[t("0x2beb")](),e[t("0xbc4")]()}))}],link:function(e,a,r){var i=x;a[0][i("0x3684")](i("0x3416")),n((function(){var n,r,i,o,x,s,c;r=t[(n=a2_0x37cf)("0xb48")](a[0][n("0x31f7")](".md-color-picker-palette")),i=t[n("0xb48")](a[0][n("0x31f7")](".md-color-picker-material-palette")),o=t.element('<div class="flex-15 layout-fill layout-row layout-align-space-between" layout-align="space-between" layout="row" layout-fill"></div>'),x=t.element('<div class="flex-10"></div>'),s=t.element(n("0x22c6")),c=t[n("0xb48")]('<div class="md-color-picker-with-label"></div>'),t[n("0x5ba")](e.palette,(function(a,i){var s=n,c=o[s("0x42df")]();t[s("0x5ba")](a,(function(t){var n=s,a=x[n("0x42df")]();a.css({height:n("0x1bbd"),backgroundColor:t}),a[n("0x2b0c")](n("0x7cb"),e[n("0x4c85")]),c[n("0x136a")](a)})),r.append(c)})),t[n("0x5ba")](e[n("0x118f")],(function(a,r){var o=n,x=s.clone();x[o("0x1059")](o("0x9be")+r[o("0x3cc0")]("-"," ")+o("0x1b30")),x[o("0x42b1")]({height:o("0xf63"),backgroundColor:o("0x117")+a[500].value[0]+","+a[500][o("0x3a33")][1]+","+a[500][o("0x3a33")][2]+")"}),e.isDark(a[500].value)&&x[o("0x31dc")](o("0x153e")),i[o("0x136a")](x),t[o("0x5ba")](a,(function(t,n){var a=o,r=c[a("0x42df")]();r.css({height:a("0x1517"),backgroundColor:"rgb("+t[a("0x3a33")][0]+","+t.value[1]+","+t[a("0x3a33")][2]+")"}),e[a("0x141f")](t.value)&&r[a("0x31dc")](a("0x153e")),r[a("0x1059")](a("0x9be")+n+a("0x1b30")),r[a("0x2b0c")]("click",e[a("0x4c85")]),i.append(r)}))}))}))}}}]).directive(a("0x2775"),[a("0x4a13"),function(e){return new e(a("0x2705"))}]).directive(a("0x4449"),[a("0x4a13"),function(e){return new e("alpha")}])[a("0x1b75")](a("0x2dcf"),[a("0x4a13"),function(e){return new e(a("0x3427"))}])[a("0x3faf")](a("0x3403"),["$q","$mdDialog",a("0x3ac0"),function(e,t,a){var r;return{show:function(e){var o=a2_0x37cf;return e===n&&(e={}),e.hasBackdrop=e[o("0x2fb9")]===n||e[o("0x2fb9")],e.clickOutsideToClose=e.clickOutsideToClose===n||e[o("0x4ce6")],e[o("0x15bd")]=e[o("0x15bd")]===n?o("0x22e3"):e.defaultValue,e[o("0x751")]=e[o("0x751")]!==n&&e.focusOnOpen,e[o("0x1c38")]=e.preserveScope===n||e[o("0x1c38")],e[o("0x1656")]=e[o("0x1656")]===n||e[o("0x1656")],e[o("0x2649")]=e[o("0x2649")]!==n&&e[o("0x2649")],e[o("0x173b")]=e.mdColorSpectrum===n||e[o("0x173b")],e[o("0x987")]=e[o("0x987")]===n||e[o("0x987")],e.mdColorGenericPalette=e[o("0x22ba")]===n||e[o("0x22ba")],e.mdColorMaterialPalette=e[o("0xaf")]===n||e[o("0xaf")],e[o("0x25c1")]=e.mdColorHistory===n||e[o("0x25c1")],e[o("0x17dc")]=e[o("0x17dc")]===n||e[o("0x17dc")],e[o("0x40f9")]=e[o("0x40f9")]===n||e[o("0x40f9")],e[o("0x4b5e")]=e[o("0x4b5e")]===n||!e[o("0x17dc")]&&!e[o("0x40f9")]||e[o("0x4b5e")],e[o("0x2649")]=!(!e[o("0x17dc")]&&!e[o("0x40f9")])&&e[o("0x2649")],(r=t[o("0x262c")]({templateUrl:o("0x1ec7"),hasBackdrop:e[o("0x2fb9")],multiple:!0,clickOutsideToClose:e[o("0x4ce6")],controller:[o("0x36af"),o("0x16d1"),function(e,n){var a=o;e[a("0x440f")]=function(){t.cancel()},e.ok=function(){t[a("0x29cb")](e.value)},e[a("0x29cb")]=e.ok,e[a("0x3a33")]=n[a("0x3a33")],e[a("0x3993")]=n[a("0x15bd")],e[a("0xcbb")]=n.random,e[a("0x2649")]=n.mdColorAlphaChannel,e.mdColorSpectrum=n[a("0x173b")],e[a("0x987")]=n.mdColorSliders,e.mdColorGenericPalette=n[a("0x22ba")],e[a("0xaf")]=n[a("0xaf")],e.mdColorHistory=n.mdColorHistory,e.mdColorHex=n[a("0x4b5e")],e.mdColorRgb=n[a("0x17dc")],e[a("0x40f9")]=n.mdColorHsl,e[a("0x35ec")]=n[a("0x35ec")]}],locals:{options:e},preserveScope:e.preserveScope,skipHide:e.skipHide,targetEvent:e[o("0x443")],focusOnOpen:e[o("0x751")],autoWrap:!1,onShowing:function(){},onComplete:function(){}}))[o("0x34e8")]((function(e){a[o("0x2d6e")](new i(e))}),(function(){})),r},hide:function(){return r[a2_0x37cf("0x29cb")]()},cancel:function(){return r.cancel()}}}])}(r,r[(o=a2_0x37cf)("0x40e2")]),a.module(o("0x32f")).run([o("0x19f0"),function(e){var t=o;e.put(t("0x4c4"),t("0x4c12")),e.put(t("0x33dc"),'<div class="md-color-picker-container in" layout="column">\n\t<div class="md-color-picker-arrow" ng-style="{\'border-bottom-color\': color.toRgbString() }"></div>\n\n\t<div class="md-color-picker-preview md-color-picker-checkered-bg" ng-class="{\'dark\': !color.isDark() || color.getAlpha() < .45}" flex="1" layout="column">\n\n\t\t<div class="md-color-picker-result" ng-style="{\'background\': color.toRgbString()}" flex="100" layout="column" layout-fill layout-align="center center" ng-click="focusPreviewInput( $event )">\n\t\t\t\x3c!--<span flex  layout="column" layout-align="center center">{{value}}</span>--\x3e\n\t\t\t<div flex  layout="row" layout-align="center center">\n\t\t\t\t<input class="md-color-picker-preview-input" type="text" ng-model="value" ng-focus="previewFocus($event);" ng-blur="previewBlur()" ng-change="changeValue()" ng-keypress="previewKeyDown($event)" layout-fill />\n\t\t\t</div>\n\t\t\t<div class="md-color-picker-tabs" style="width: 100%">\n\t\t\t\t<md-tabs md-selected="type" md-stretch-tabs="always" md-no-bar md-no-ink md-no-pagination="true" >\n\t\t\t\t\t<md-tab ng-if="mdColorHex" label="Hex" ng-disabled="color.getAlpha() !== 1" md-ink-ripple="#ffffff"></md-tab>\n\t\t\t\t\t<md-tab ng-if="mdColorRgb" label="RGB"></md-tab>\n\t\t\t\t\t<md-tab ng-if="mdColorHsl" label="HSL"></md-tab>\n\t\t\t\t\t\x3c!--<md-tab label="HSV"></md-tab>\n\t\t\t\t\t<md-tab label="VEC"></md-tab>--\x3e\n\t\t\t\t</md-tabs>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class="md-color-picker-tabs md-color-picker-colors">\n\t\t<md-tabs md-stretch-tabs="always" md-align-tabs="bottom"  md-selected="whichPane" md-no-pagination>\n\t\t\t<md-tab ng-if="mdColorSpectrum">\n\t\t\t\t<md-tab-label>\n\t\t\t\t\t<md-icon md-svg-icon="gradient.svg"></md-icon>\n\t\t\t\t</md-tab-label>\n\t\t\t\t<md-tab-body>\n\t\t\t\t\t<div layout="row" layout-align="space-between" style="height: 255px">\n\t\t\t\t\t\t<div md-color-picker-spectrum></div>\n\t\t\t\t\t\t<div md-color-picker-hue ng-class="{\'md-color-picker-wide\': !mdColorAlphaChannel}"></div>\n\t\t\t\t\t\t<div md-color-picker-alpha class="md-color-picker-checkered-bg" ng-if="mdColorAlphaChannel"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</md-tab-body>\n\t\t\t</md-tab>\n\t\t\t<md-tab ng-if="mdColorSliders">\n\t\t\t\t<md-tab-label>\n\t\t\t\t\t<md-icon md-svg-icon="tune.svg"></md-icon>\n\t\t\t\t</md-tab-label>\n\t\t\t\t<md-tab-body>\n\t\t\t\t\t<div layout="column" flex="100" layout-fill layout-align="space-between start center" class="md-color-picker-sliders">\n\t\t\t\t\t\t<div layout="row" layout-align="start center" layout-wrap flex layout-fill>\n\t\t\t\t\t\t\t<div flex="10" layout layout-align="center center">\n\t\t\t\t\t\t\t\t<span class="md-body-1">R</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<md-slider flex="65" min="0" max="255" ng-model="color._r" aria-label="red" class="red-slider"></md-slider>\n\t\t\t\t\t\t\t<span flex></span>\n\t\t\t\t\t\t\t<div flex="20" layout layout-align="center center">\n\t\t\t\t\t\t\t\t<input style="width: 100%;" min="0" max="255" type="number" ng-model="color._r" aria-label="red" aria-controls="red-slider">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div layout="row" layout-align="start center" layout-wrap flex layout-fill>\n\t\t\t\t\t\t\t<div flex="10" layout layout-align="center center">\n\t\t\t\t\t\t\t\t<span class="md-body-1">G</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<md-slider flex="65" min="0" max="255" ng-model="color._g" aria-label="green" class="green-slider"></md-slider>\n\t\t\t\t\t\t\t<span flex></span>\n\t\t\t\t\t\t\t<div flex="20" layout layout-align="center center">\n\t\t\t\t\t\t\t\t<input style="width: 100%;" min="0" max="255" type="number" ng-model="color._g" aria-label="green" aria-controls="green-slider">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div layout="row" layout-align="start center" layout-wrap flex layout-fill>\n\t\t\t\t\t\t\t<div flex="10" layout layout-align="center center">\n\t\t\t\t\t\t\t\t<span class="md-body-1">B</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<md-slider flex="65" min="0" max="255" ng-model="color._b" aria-label="blue" class="blue-slider"></md-slider>\n\t\t\t\t\t\t\t<span flex></span>\n\t\t\t\t\t\t\t<div flex="20" layout layout-align="center center" >\n\t\t\t\t\t\t\t\t<input style="width: 100%;" min="0" max="255" type="number" ng-model="color._b" aria-label="blue" aria-controls="blue-slider">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div layout="row" layout-align="start center" layout-wrap flex layout-fill ng-if="!mdColorAlphaChannel">\n\t\t\t\t\t\t\t<div flex="10" layout layout-align="center center">\n\t\t\t\t\t\t\t\t<span class="md-body-1">A</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<md-slider flex="65" min="0" max="1" step=".01" ng-model="color._a" aria-label="alpha" class="md-primary"></md-slider>\n\t\t\t\t\t\t\t<span flex></span>\n\t\t\t\t\t\t\t<div flex="20" layout layout-align="center center" >\n\t\t\t\t\t\t\t\t<input style="width: 100%;" min="0" max="1" step=".01" type="number" ng-model="color._a" aria-label="alpha" aria-controls="alpha-slider">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</md-tab-body>\n\t\t\t</md-tab>\n\t\t\t<md-tab ng-if="mdColorGenericPalette">\n\t\t\t\t<md-tab-label>\n\t\t\t\t\t<md-icon md-svg-icon="view_module.svg"></md-icon>\n\t\t\t\t</md-tab-label>\n\t\t\t\t<md-tab-body>\n\t\t\t\t\t<div layout="column" layout-align="space-between start center" flex class="md-color-picker-palette">\n\n\t\t\t\t\t</div>\n\t\t\t\t</md-tab-body>\n\t\t\t</md-tab>\n\t\t\t<md-tab  ng-if="mdColorMaterialPalette">\n\t\t\t\t<md-tab-label>\n\t\t\t\t\t<md-icon md-svg-icon="view_headline.svg"></md-icon>\n\t\t\t\t</md-tab-label>\n\t\t\t\t<md-tab-body>\n\t\t\t\t\t<div layout="column" layout-fill flex class="md-color-picker-material-palette">\n\n\t\t\t\t\t</div>\n\t\t\t\t</md-tab-body>\n\t\t\t</md-tab>\n\t\t\t<md-tab ng-if="mdColorHistory">\n\t\t\t\t<md-tab-label>\n\t\t\t\t\t<md-icon md-svg-icon="history.svg"></md-icon>\n\t\t\t\t</md-tab-label>\n\t\t\t\t<md-tab-body layout="row" layout-fill>\n\t\t\t\t\t<div layout="column" flex layout-align="space-between start" layout-wrap layout-fill class="md-color-picker-history">\n\t\t\t\t\t\t<div layout="row" flex="80" layout-align="space-between start start" layout-wrap  layout-fill>\n\t\t\t\t\t\t\t<div flex="10" ng-repeat="historyColor in history.get() track by $index">\n\t\t\t\t\t\t\t\t<div  ng-style="{\'background\': historyColor.toRgbString()}" ng-click="setPaletteColor($event)"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t<md-button flex-end ng-click="history.reset()" class="md-mini" aria-label="Clear History">\n\t\t\t\t\t\t\t<md-icon md-svg-icon="clear_all.svg"></md-icon>\n\t\t\t\t\t\t</md-button>\n\t\t\t\t\t</div>\n\t\t\t\t</md-tab-body>\n\t\t\t</md-tab>\n\t\t</md-tabs>\n\t</div>\n\n</div>\n'),e.put(t("0x1ec7"),t("0x15e2"))}])},3390:()=>{!function(e,t){var n=a2_0x37cf;function a(e){return{scope:{selectedTemplate:"=",selectedTemplateName:"=",dateStart:"=?",dateEnd:"=?",firstDayOfWeek:"=?",showTemplate:"=?",mdOnSelect:"&",localizationMap:"=?",customTemplates:"=?",disableTemplates:"@",maxRange:"=?",onePanel:"=?",isDisabledDate:"&?",format:"=?"},template:'<div class="md-date-range-picker md-whiteframe-1dp" ng-class="{\'md-date-range-picker__one-panel\':onePanel}"><div layout="column"><div layout="row" layout-margin><div class="md-date-range-picker__calendar-wrapper"><div class="md-date-range-picker__month-year" layout="row" layout-align="center center"><div flex layout="column" layout-align="center center"><span aria-label="Previous Month" class="md-button md-icon-button" event-key="prev"><md-icon md-svg-src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4="></md-icon></span></div><md-select md-container-class="md-date-range-picker__select" md-on-close="updateActiveDate()" ng-model="activeMonth" placeholder="{{::getLocalizationVal(\'Month\')}}" class="md-no-underline"><md-option ng-value="::month.id" ng-repeat="month in months" ng-bind="::month.name"></md-option></md-select><md-select md-container-class="md-date-range-picker__select" md-on-close="updateActiveDate()" ng-model="activeYear" placeholder="{{::getLocalizationVal(\'Year\')}}" class="md-no-underline"><md-option ng-value="::year.id" ng-repeat="year in years" ng-bind="::year.name"></md-option></md-select><div flex layout="column" layout-align="center center" class="hide-gt-sm show-sm show-xs"><span aria-label="Next Month" class="md-icon-button md-button" event-key="next"><md-icon style="transform: rotate(-180deg)" md-svg-src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4="></md-icon></span></div><div flex ng-if="onePanel" layout="column" layout-align="center center" class="hide-sm hide-xs show-gt-sm"><span aria-label="Next Month" class="md-icon-button md-button" event-key="next"><md-icon style="transform: rotate(-180deg)" md-svg-src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4="></md-icon></span></div><div flex ng-if="!onePanel" layout="column" layout-align="center center" class="hide-sm hide-xs show-gt-sm"><span aria-label="Next Month" ng-disabled="true" aria-hidden="true" class="md-icon-button md-button"><md-icon></md-icon></span></div></div><div class="md-date-range-picker__week" style="font-size: 0"><span class="md-date-range-picker__calendar__grid" ng-repeat="day in days">{{::day.name}}</span></div><div class="md-date-range-picker__calendar"><span ng-repeat="date in dates" class="md-date-range-picker__calendar__grid" ng-class="{\'md-date-range-picker__calendar__selected\':inSelectedDateRange(date),\'md-date-range-picker__calendar__start\':isSelectedStartDate(date),\'md-date-range-picker__calendar__end\':isSelectedEndDate(date),\'md-date-range-picker__calendar__not-in-active-month\': !inCurrentMonth(date),\'md-date-range-picker__calendar__today\' : isToday(date),\'md-date-range-picker__calendar__disabled\': !isInMaxRange(date) || isDisabledDate({$date:date})}" event-key="date1" event-param="{{$index}}"><span event-key="date1" event-param="{{$index}}" class="md-date-range-picker__calendar__selection" ng-bind="{{::date.getDate()}}"></span></span></div></div><div ng-show="!onePanel" class="md-date-range-picker__calendar-wrapper hide-sm hide-xs show-gt-sm"><div class="md-date-range-picker__month-year" layout="row" layout-align="center center"><div flex layout="column" layout-align="center center" style="visibility: hidden"><span aria-label="Previous Month" class="md-button md-icon-button" event-key="prev"><md-icon md-svg-src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4="></md-icon></span></div><md-select md-container-class="md-date-range-picker__select" md-on-close="updateActiveDate(true)" ng-model="activeMonth2" placeholder="{{::getLocalizationVal(\'Month\')}}" class="md-no-underline"><md-option ng-value="::month.id" ng-repeat="month in months" ng-bind="::month.name"></md-option></md-select><md-select md-container-class="md-date-range-picker__select" md-on-close="updateActiveDate(true)" ng-model="activeYear2" placeholder="{{::getLocalizationVal(\'Year\')}}" class="md-no-underline"><md-option ng-value="::year.id" ng-repeat="year in years" ng-bind="::year.name"></md-option></md-select><div flex layout="column" layout-align="center center"><span aria-label="Next Month" class="md-icon-button md-button" event-key="next"><md-icon style="transform: rotate(-180deg)" md-svg-src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4="></md-icon></span></div></div><div class="md-date-range-picker__week" style="font-size: 0" ng-if="!onePanel"><span class="md-date-range-picker__calendar__grid" ng-repeat="day in days">{{::day.name}}</span></div><div class="md-date-range-picker__calendar"><span ng-repeat="date in dates2" class="md-date-range-picker__calendar__grid" ng-class="{\'md-date-range-picker__calendar__selected\':inSelectedDateRange(date), \'md-date-range-picker__calendar__start\':isSelectedStartDate(date), \'md-date-range-picker__calendar__end\':isSelectedEndDate(date), \'md-date-range-picker__calendar__not-in-active-month\': !inCurrentMonth(date, true), \'md-date-range-picker__calendar__today\' : isToday(date),\'md-date-range-picker__calendar__disabled\': !isInMaxRange(date) || isDisabledDate({$date:date}) }" event-key="date2" event-param="{{$index}}"><span event-key="date2" event-param="{{$index}}" class="md-date-range-picker__calendar__selection" ng-bind="{{::date.getDate()}}"></span></span></div></div></div><div class="md-date-range-picker__templates" ng-if="showTemplate"><div ng-if="!onePanel && !maxRange" class="hide-xs hide-sm show-gt-sm" layout="row" layout-align="center center" layout-wrap><div ng-repeat="(tmpltKey,tmpltName) in selectionTemplate" class="md-button" aria-label="{{::tmpltName}}" ng-class="selectedTemplate === tmpltKey ? \'md-primary md-raised\' : \'\'" event-key="{{tmpltKey}}" ng-bind="::tmpltName" flex="20"></div><div ng-repeat="tmplt in customTemplates" class="md-button" aria-label="{{::tmplt.name}}" ng-class="selectedTemplate === tmplt.name ? \'md-primary md-raised\' : \'\'" ng-click="selectCustomRange(tmplt.name,tmplt)" event-key="Custom Template" ng-bind="::tmplt.name" flex="20"></div></div><div ng-if="!maxRange" ng-class="{\'hide-gt-sm\':!onePanel}" layout="column" layout-padding><md-input-container><label>{{::getLocalizationVal(\'Date Range Template\')}}</label><md-select md-container-class="md-date-range-picker__select" class="md-block" placeholder="{{::getLocalizationVal(\'Custom Date Range\')}}" ng-model="selectedTemplate"><md-option value=""></md-option><md-option ng-repeat="(tmpltKey,tmpltName) in selectionTemplate track by tmpltKey" aria-label="{{::tmpltName}}" ng-click="actionByKey(tmpltKey,null)" ng-bind="::tmpltName" value="{{tmpltKey}}"></md-option><md-option ng-repeat="tmplt in customTemplates" aria-label="{{::tmplt.name}}" ng-click="selectCustomRange(tmplt.name,tmplt)" ng-bind="::tmplt.name" value="{{::tmplt.name}}"></md-option></md-select></md-input-container></div></div></div></div>',controller:"mdDateRangePickerCtrl",link:function(t,n,a,r){var i=a2_0x37cf;t[i("0x458a")]=function(e,n,a){var r=i;switch(e){case r("0xc90"):t[r("0x4ccd")](a),t[r("0x29ac")]();break;case r("0xa8"):t[r("0x2d63")](a),t[r("0x29ac")]();break;case r("0x3d1c"):t[r("0x531")](a,t[r("0x379")][n])?t.runIfNotInDigest(t.triggerChange):t[r("0x29ac")]();break;case r("0x3130"):t[r("0x531")](a,t[r("0x49ac")][n])?t[r("0x29ac")](t.triggerChange):t[r("0x29ac")]();break;case"TD":t[r("0x467a")](),t[r("0x29ac")](t[r("0x307b")]);break;case"YD":t[r("0x56e")](),t[r("0x29ac")](t.triggerChange);break;case"TW":t[r("0x3b02")](),t[r("0x29ac")](t[r("0x307b")]);break;case"LW":t[r("0x379a")](),t.runIfNotInDigest(t[r("0x307b")]);break;case"TM":t[r("0x2b5")](),t[r("0x29ac")](t[r("0x307b")]);break;case"LM":t[r("0x32fe")](),t.runIfNotInDigest(t.triggerChange);break;case"TY":t.handleClickSelectThisYear(),t[r("0x29ac")](t[r("0x307b")]);break;case"LY":t.handleClickSelectLastYear(),t[r("0x29ac")](t[r("0x307b")]);break;case r("0x49df"):t[r("0x29ac")](t.triggerChange)}},t[i("0x29ac")]=function(e){var n=i;null!=t[n("0x645")]&&!t.$root[n("0x4fca")]&&(t[n("0xd66")](),e&&typeof e===n("0x3349")&&e())},n.on(i("0x7cb"),(function(e){var n=i,a=e.target[n("0x22b9")]("event-key"),r=e[n("0x55d")][n("0x22b9")](n("0x1d6b"));t[n("0x458a")](a,r,e)})),t[i("0x307b")]=function(n){var a=i,r=e[a("0x4763")](t[a("0x3593")],t.dateEnd,t[a("0x22a5")],t[a("0x6fd")]);t.mdOnSelect&&t[a("0x264a")]({$dates:r})}}}}function r(e,t){var a=n,r={TD:i("Today"),YD:i(a("0x2eb7")),TW:i(a("0x2593")),LW:i(a("0x66a")),TM:i("This Month"),LM:i(a("0x31c8")),TY:i(a("0x1207")),LY:i(a("0x3d83"))};function i(t){var n=a;return null!=e.localizationMap&&null!=e[n("0x4735")][t]?e[n("0x4735")][t]:t}function o(){var t=a;return-1!==[void 0,null,"",NaN].indexOf(e[t("0x3009")])||-1===[0,1,2,3,4,5,6][t("0x3507")](e[t("0x3009")])?1:e[t("0x3009")]}function x(e){var t,n,r=a,i=[],x=(new Date(e[r("0x3915")](),e[r("0x1d51")](),1),new Date(e[r("0x3915")](),e[r("0x1d51")]()+1,0)),s=o();for(t=1;t<=x[r("0x18f4")]();t++)i[r("0x459a")](new Date(e[r("0x3915")](),e[r("0x1d51")](),t));for(n=i[0][r("0xd2b")](),t=0;n!==s;)i.unshift(new Date(e[r("0x3915")](),e[r("0x1d51")](),t)),n=n<=0?6:n-1,t--;for(n=(i[i[r("0x5e9")]-1][r("0xd2b")]()+1)%7,t=1;n!==s;)i[r("0x459a")](new Date(e[r("0x3915")](),e[r("0x1d51")]()+1,t)),n=(n+1)%7,t++;return i}function s(e,t){var n=a;if(e&&t){var r=new Date(e[n("0x3915")](),e[n("0x1d51")](),e[n("0x18f4")]());return new Date(t[n("0x3915")](),t[n("0x1d51")](),t.getDate())-r}}SELECTION_TEMPLATES_CUSTOM={},e[a("0x2462")]=!1,e[a("0x276c")]=[],e.label="Date range picker",e.dates=[],e.dates2=[],e[a("0x2338")]=2,e.today=new Date,e.dateStart&&e[a("0x3593")].setHours(0,0,0,0),e[a("0x4073")]&&e.dateEnd[a("0x3eef")](23,59,59,999),e[a("0x19a0")]=e.dateStart?new Date(e[a("0x3593")][a("0x3915")](),e[a("0x3593")][a("0x1d51")](),1):Date(e[a("0x1a11")][a("0x3915")](),e.today[a("0x1d51")](),1),e[a("0x30e8")]=e[a("0x3593")]?new Date(e.dateStart.getFullYear(),e.dateStart[a("0x1d51")]()+1,0):Date(e.today.getFullYear(),e.today[a("0x1d51")]()+1,0),e.activeDate=e.dateStart||e[a("0x1a11")],e[a("0x4904")]=new Date(e[a("0x4d7b")][a("0x3915")](),e.activeDate.getMonth()+1,1),e.activeMonth=e[a("0x4d7b")][a("0x1d51")](),e[a("0x1dc8")]=e.activeDate[a("0x3915")](),e[a("0x38bd")]=e.activeDate2[a("0x1d51")](),e[a("0x4847")]=e.activeDate2[a("0x3915")](),e.months=[],e[a("0x9cd")]=[],e[a("0x5c")]=function(t,n){var r=a;return n?t[r("0x1d51")]()===e[r("0x38bd")]&&t[r("0x3915")]()===e[r("0x4847")]:t[r("0x1d51")]()===e.activeMonth&&t[r("0x3915")]()===e[r("0x1dc8")]},e[a("0x369b")]=function(e){return 0===s(e,new Date)},e[a("0x531")]=function(t,n){var r=a,i=!1,o=!1;if(0===s(e[r("0x3593")],e[r("0x4073")])){if(0===s(e[r("0x3593")],n))o=!0,i=!0;else if(!e[r("0x22a5")]||!e[r("0x22a5")]({$date:n})){var x=s(e[r("0x3593")],n);x>0?(e.maxRange&&Math[r("0x681")](Math[r("0x3c59")](x/864e5))+1<=e[r("0x6fd")]||!e[r("0x6fd")])&&(e[r("0x4073")]=n,o=!0,i=!0):(e[r("0x6fd")]&&Math[r("0x681")](Math.ceil(x/864e5))+1<=e[r("0x6fd")]||!e[r("0x6fd")])&&(e[r("0x3593")]=n,o=!0,i=!0)}}else(!e[r("0x22a5")]||!e[r("0x22a5")]({$date:n}))&&(e[r("0x3593")]=n,e[r("0x4073")]=n,i=!0);return i&&(e.selectedTemplate=!1,e[r("0x443e")]=e.selectedDateText()),o},e[a("0x3d80")]=function(t){var n=a;return!(!e.dateStart||!e.dateEnd)&&(s(e[n("0x3593")],t)>=0&&0<=s(t,e[n("0x4073")]))},e[a("0x3096")]=function(t){return 0===s(e[a("0x3593")],t)},e[a("0x4a2f")]=function(t){return 0===s(e.dateEnd,t)},e[a("0x3fa2")]=function(t){var n=a,r=new Date(e[n("0x1dc8")],e[n("0x38d0")],1),i=new Date(e[n("0x4847")],e[n("0x38bd")],1);t?(r=new Date(e[n("0x4847")],e.activeMonth2-1,1),e[n("0x1dc8")]=r[n("0x3915")](),e[n("0x38d0")]=r[n("0x1d51")]()):(i=new Date(e.activeYear,e[n("0x38d0")]+1,1),e[n("0x4847")]=i.getFullYear(),e.activeMonth2=i[n("0x1d51")]()),e[n("0x192a")](r)},e[a("0x50f")]=function(){var n=a;return e[n("0x293c")]&&typeof e[n("0x293c")]===n("0x3349")?e.format(e[n("0x3593")],e.dateEnd,e[n("0x4fc5")],e[n("0x443e")]):e[n("0x3593")]&&e[n("0x4073")]?e[n("0x4fc5")]?null!=SELECTION_TEMPLATES_CUSTOM&&null!=SELECTION_TEMPLATES_CUSTOM[e[n("0x4fc5")]]?SELECTION_TEMPLATES_CUSTOM[e.selectedTemplate][n("0x98c")]:r[e[n("0x4fc5")]]:0===s(e[n("0x3593")],e.dateEnd)?t("date")(e[n("0x3593")],n("0x3f39")):t("date")(e.dateStart,"dd"+(e.dateStart[n("0x1d51")]()!==e[n("0x4073")][n("0x1d51")]()||e[n("0x3593")][n("0x3915")]()!==e[n("0x4073")][n("0x3915")]()?" MMM":"")+(e[n("0x3593")][n("0x3915")]()!==e[n("0x4073")].getFullYear()?n("0x41ae"):""))+n("0x293e")+t("date")(e.dateEnd,n("0x3f39")):""},e[a("0x192a")]=function(t){var n=a,r=new Date(t.getFullYear(),t[n("0x1d51")]()+1,1);e[n("0x4d7b")]=t,e[n("0x38d0")]=t[n("0x1d51")](),e[n("0x1dc8")]=t[n("0x3915")](),e[n("0x4904")]=r,e[n("0x38bd")]=r[n("0x1d51")](),e[n("0x4847")]=r[n("0x3915")](),e.dates=x(t),e.dates2=x(r)},e[a("0x2d63")]=function(t){var n=a,r=new Date(e.activeDate[n("0x3915")](),e[n("0x4d7b")][n("0x1d51")]()+1,1);e[n("0x192a")](r)},e[a("0x4ccd")]=function(t){var n=a,r=new Date(e[n("0x4d7b")][n("0x3915")](),e[n("0x4d7b")][n("0x1d51")]()-1,1);e.focusToDate(r)},e[a("0x467a")]=function(){var t=a,n=new Date,r=new Date(n[t("0x3915")](),n[t("0x1d51")](),n.getDate());e.dateStart=r,e[t("0x4073")]=r,e[t("0x4fc5")]="TD",e.selectedTemplateName=e[t("0x50f")]()},e[a("0x56e")]=function(){var t=a,n=new Date,r=new Date(n[t("0x3915")](),n[t("0x1d51")](),n[t("0x18f4")]()-1);e[t("0x3593")]=r,e[t("0x4073")]=r,e.selectedTemplate="YD",e[t("0x443e")]=e[t("0x50f")]()},e.handleClickSelectThisWeek=function(){var t=a,n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n[t("0x18f4")]()),i=new Date(r[t("0x3915")](),r.getMonth(),r[t("0x18f4")]()-(r[t("0xd2b")]()-o())),x=new Date(r[t("0x3915")](),r.getMonth(),r.getDate()+(6-r.getDay()+o()));e[t("0x3593")]=i,e[t("0x4073")]=x,e[t("0x4fc5")]="TW",e[t("0x443e")]=e.selectedDateText()},e.handleClickSelectLastWeek=function(){var t=a,n=new Date,r=new Date(n.getFullYear(),n[t("0x1d51")](),n[t("0x18f4")]()-7),i=new Date(r.getFullYear(),r[t("0x1d51")](),r[t("0x18f4")]()-(r[t("0xd2b")]()-o())),x=new Date(r[t("0x3915")](),r[t("0x1d51")](),r[t("0x18f4")]()+(6-r[t("0xd2b")]()+o()));e[t("0x3593")]=i,e[t("0x4073")]=x,e.selectedTemplate="LW",e[t("0x443e")]=e[t("0x50f")]()},e.handleClickSelectThisMonth=function(){var t=a,n=new Date,r=new Date(n[t("0x3915")](),n[t("0x1d51")](),1),i=new Date(n[t("0x3915")](),n[t("0x1d51")]()+1,0);e[t("0x3593")]=r,e[t("0x4073")]=i,e.selectedTemplate="TM",e.selectedTemplateName=e[t("0x50f")]()},e[a("0x32fe")]=function(){var t=a,n=new Date,r=new Date(n[t("0x3915")](),n[t("0x1d51")](),0),i=new Date(r[t("0x3915")](),r[t("0x1d51")](),1),o=new Date(r.getFullYear(),r.getMonth()+1,0);e[t("0x3593")]=i,e[t("0x4073")]=o,e[t("0x4fc5")]="LM",e.selectedTemplateName=e.selectedDateText()},e[a("0x1855")]=function(){var t=a,n=new Date,r=new Date(n[t("0x3915")](),0,1),i=new Date(n.getFullYear(),11,31);e.dateStart=r,e[t("0x4073")]=i,e[t("0x4fc5")]="TY",e[t("0x443e")]=e[t("0x50f")]()},e[a("0x3525")]=function(){var t=a,n=new Date,r=new Date(n[t("0x3915")]()-1,0,1),i=new Date(n[t("0x3915")]()-1,11,31);e[t("0x3593")]=r,e[t("0x4073")]=i,e[t("0x4fc5")]="LY",e[t("0x443e")]=e[t("0x50f")]()},e.getLocalizationVal=i,e[a("0xca8")]=function(t,n){var r=a;e[r("0x3593")]=n.dateStart,e[r("0x4073")]=n[r("0x4073")],e[r("0x4fc5")]=t,e[r("0x443e")]=e.selectedDateText()},e[a("0x423f")]=function(t){var n=a;if(!e[n("0x3593")])return!0;if(0!==s(e[n("0x3593")],e[n("0x4073")]))return!0;var r=s(e[n("0x3593")],t);return e.maxRange&&Math[n("0x681")](Math[n("0x3c59")](r/864e5))+1<=e[n("0x6fd")]||!e.maxRange},e.selectionTemplate={},function(){var n,x=a,s=0;if(null!=e[x("0x79a")])for(var c=0;c<e[x("0x79a")][x("0x5e9")];c++)n=e[x("0x79a")][c],SELECTION_TEMPLATES_CUSTOM[n[x("0x98c")]]=n;if(e.selectedTemplate){switch(e[x("0x4fc5")]){case"TD":e.handleClickSelectToday();break;case"YD":e.handleClickSelectYesterday();break;case"TW":e.handleClickSelectThisWeek();break;case"LW":e[x("0x379a")]();break;case"TM":e[x("0x2b5")]();break;case"LM":e[x("0x32fe")]();break;case"TY":e[x("0x1855")]();break;case"LY":e[x("0x3525")]();break;default:SELECTION_TEMPLATES_CUSTOM&&SELECTION_TEMPLATES_CUSTOM[e[x("0x4fc5")]]&&SELECTION_TEMPLATES_CUSTOM[e[x("0x4fc5")]].dateStart&&SELECTION_TEMPLATES_CUSTOM[e[x("0x4fc5")]].dateEnd&&(e[x("0x3593")]=SELECTION_TEMPLATES_CUSTOM[e[x("0x4fc5")]][x("0x3593")],e[x("0x4073")]=SELECTION_TEMPLATES_CUSTOM[e[x("0x4fc5")]][x("0x4073")]),e[x("0x443e")]=e[x("0x50f")]()}e[x("0x3fa2")]()}else e.selectedTemplate="",e[x("0x443e")]=e.selectedDateText(),e[x("0x3fa2")]();e[x("0x7a")]("selectedTemplate",(function(t,n){var a=x;t!==n&&e[a("0x3593")]&&!e[a("0x5c")](e.dateStart)&&!e.inCurrentMonth(e[a("0x3593")],!0)&&e[a("0x192a")](e[a("0x3593")])})),e[x("0x7a")](x("0x3593"),(function(t,n){var a=x;t!==n&&e[a("0x3593")]&&!e[a("0x5c")](e[a("0x3593")])&&!e.inCurrentMonth(e[a("0x3593")],!0)&&e[a("0x192a")](e[a("0x3593")])}));var l=new Date(2017,0,1);for(e[x("0x276c")]=[],s=0;s<7;s++)l[x("0x354d")](s+1+o()),e[x("0x276c")][x("0x459a")]({id:s,name:i(t("date")(l,x("0x37e4")))});var d=null;for(e[x("0x3dc5")]=[],s=0;s<12;s++)d=new Date(2017,s,1),e.months.push({id:s,name:i(t(x("0x306c"))(d,x("0x3480")))});var u=e[x("0x1dc8")],f=0;for(e[x("0x9cd")]=[],f=u-10;f<u+10;f++)e.years[x("0x459a")]({id:f,name:i(f)});for(var m in r)r[x("0x1bd4")](m)&&(null!=e[x("0x2ecd")]&&""!=e[x("0x2ecd")]?e[x("0x2ecd")].indexOf(m)<0&&(e[x("0x1197")][m]=r[m]):e[x("0x1197")][m]=r[m])}()}function i(e){var a=n;this.show=function(n){var r=a;return e[r("0x262c")]({locals:{mdDateRangePickerServiceModel:t[r("0x4d98")](n[r("0x4933")]),mdDateRangePickerServiceConfig:t.copy(n)},controller:[r("0x36af"),r("0x21f"),r("0x326a"),function(t,n,a){var i=r;t.model=n||{},t[i("0x1805")]=a||{},t[i("0x4933")].selectedTemplateName=t[i("0x4933")][i("0x443e")]||"",t.ok=function(){var n=i;t[n("0x4933")].dateStart&&t.model.dateStart[n("0x3eef")](0,0,0,0),t.model[n("0x4073")]&&t[n("0x4933")][n("0x4073")][n("0x3eef")](23,59,59,999),e[n("0x29cb")](t[n("0x4933")])},t[i("0x4920")]=function(){e[i("0x4920")]()},t.clear=function(){var e=i;t[e("0x4933")][e("0x443e")]="",t[e("0x4933")][e("0x4fc5")]=null,t[e("0x4933")].dateStart=null,t.model[e("0x4073")]=null},t[i("0x361c")]=function(e){var n=i;typeof t[n("0x1805")].mdOnSelect===n("0x3349")&&t[n("0x1805")][n("0x264a")](e),t[n("0x1805")][n("0x2bf")]&&t.ok()},t.getLocalizationVal=function(e){var n=i;return t[n("0x4933")]&&null!=t.model.localizationMap&&null!=t[n("0x4933")][n("0x4735")][e]?t[n("0x4933")][n("0x4735")][e]:e},t[i("0x4933")].customTemplates&&console.warn(i("0x186e")),t.model[i("0x4735")]&&console[i("0x1dc6")](i("0x29a9")),t.model.firstDayOfWeek&&console[i("0x1dc6")](i("0x1a66")),t[i("0x4933")][i("0x19db")]&&console[i("0x1dc6")]("model.showTemplate will be removed from model on next rlease, please use root config e.g. $mdDateRangePicker.show({showTemplate}) instead"),t.model[i("0x6fd")]&&console[i("0x1dc6")](i("0xf2e")),t[i("0x4933")].onePanel&&console[i("0x1dc6")]("model.onePanel will be removed from model on next rlease, please use root config e.g. $mdDateRangePicker.show({onePanel}) instead"),t.model[i("0x22a5")]&&console[i("0x1dc6")](i("0x23a"))}],template:[r("0x4c2"),r("0x36d9"),'<md-button aria-label="Date Range Picker" class="md-icon-button" aria-hidden="true" ng-disabled="true">',r("0x2f8f"),"</md-button>",r("0x405a"),"</md-toolbar>",r("0x27fd"),r("0x1395"),r("0x13e5"),r("0x2300"),r("0xac0"),r("0x4151"),r("0x6dd"),r("0x1579"),r("0x3eaf"),'custom-templates="config.customTemplates || model.customTemplates" ',r("0x1393"),'disable-templates="{{model.disableTemplates}}" ',r("0x1bea"),'is-disabled-date="config.isDisabledDate ? config.isDisabledDate($date) : model.isDisabledDate({ $date: $date })" ',r("0x13fb"),'one-panel="config.onePanel || model.onePanel" ',">",r("0x12e8"),r("0x4802"),'<md-dialog-actions layout="row" layout-align="end center">',r("0xbf7"),r("0x1923"),r("0x191a"),r("0x1417"),r("0x30f4")][r("0xc60")](""),parent:t[r("0xb48")](document[r("0x3b3e")]),multiple:n[r("0x5c5")],targetEvent:n[r("0xe57")]||document[r("0x3b3e")],clickOutsideToClose:!0,fullscreen:n[r("0x4933")].fullscreen})},this[a("0x4763")]=function(e,t,n,r){var i=a,o=[],x=t[i("0x4dad")](),s=e,c=0,l=e[i("0x3915")](),d=e[i("0x1d51")](),u=e[i("0x18f4")]();for(;s.getTime()<=x&&(n&&!n({$date:s})&&o[i("0x459a")](s),c++,s=new Date(l,d,u+c),!(c>(r||1e4))););return o}}t[n("0x39e9")](n("0xecc"),[n("0x72f")])[n("0x1b75")](n("0x3f5a"),a)[n("0x1b75")]("mdDateRange",(function(){var e=n;return{scope:{ngModel:"=ngModel",autoConfirm:"=autoConfirm",ngDisabled:"=ngDisabled",showTemplate:"=",placeholder:"@",isDisabledDate:"&",localizationMap:"=?",customTemplates:"=?",disableTemplates:"@",mdOnSelect:"&",onePanel:"=?",format:"=?",maxRange:"=?",firstDayOfWeek:"=?"},template:[e("0x4de1"),e("0x4e52"),e("0x3909"),'  <span class="md-select-icon" aria-hidden="true"></span>',e("0x1b30"),e("0x3768"),e("0x1103"),'    <md-date-range-picker first-day-of-week="firstDayOfWeek" ','     md-on-select="autoConfirm && ok($dates)" ',e("0x2116"),e("0x672"),e("0x0"),e("0x38e1"),e("0x3ebc"),e("0x1b9c"),e("0x1a"),'     is-disabled-date="isDisabledDate({ $date: $date })" ',e("0x4d6d"),'     one-panel="onePanel" ',e("0x476c"),e("0x1b04"),e("0x2a3e"),e("0x4fb1"),e("0x4487"),e("0x47c8"),e("0x4948"),e("0x21e3")][e("0xc60")](""),controller:[e("0x36af"),e("0x3125"),function(t,n){var a=e;t.ok=function(e){t[a2_0x37cf("0x264a")]({$dates:e}),n.hide()},t[a("0x2066")]=function(){var e=a;t[e("0x12bc")][e("0x443e")]="",t[e("0x12bc")][e("0x4fc5")]=null,t[e("0x12bc")][e("0x3593")]=null,t.ngModel[e("0x4073")]=null},t.getLocalizationVal=function(e){var n=a;return t[n("0x12bc")]&&null!=t[n("0x12bc")][n("0x4735")]&&null!=t.ngModel[n("0x4735")][e]?t[n("0x12bc")][n("0x4735")][e]:e}}]}}))[n("0x1194")](n("0x10eb"),r).service(n("0xcf5"),i),a[n("0x4670")]=[n("0xcf5")],r[n("0x4670")]=[n("0x36af"),n("0x404d")],i[n("0x4670")]=[n("0x475c")]}(window,angular)},2518:()=>{!function(){var e=a2_0x37cf,t=angular.module(e("0x693"),[e("0x72f"),e("0x15a4"),e("0xafa")]);function n(t,n,a,r,i,o){var x=e,s=this;this[x("0x306c")]=moment(i),this[x("0x1d23")]=o[x("0x1d23")]&&moment(o[x("0x1d23")])[x("0x32d4")]()?moment(o[x("0x1d23")]):null,this[x("0x16d9")]=o[x("0x16d9")]&&moment(o[x("0x16d9")]).isValid()?moment(o[x("0x16d9")]):null,this[x("0x256b")]=o.displayFormat||x("0x1b19"),this[x("0x4371")]=angular[x("0x4977")](o.dateFilter)?o[x("0x4371")]:null,this.selectingYear=!1,this[x("0x1d23")]&&this[x("0x16d9")]&&this.maxDate[x("0x2272")](this.minDate)&&(this[x("0x16d9")]=moment(this[x("0x1d23")])[x("0x2d6e")](1,x("0x276c"))),this.date&&(this[x("0x1d23")]&&this[x("0x306c")][x("0x2272")](this.minDate)&&(this.date=moment(this[x("0x1d23")])),this[x("0x16d9")]&&this[x("0x306c")][x("0xb83")](this[x("0x16d9")])&&(this.date=moment(this.maxDate))),this[x("0x173e")]={currentIndex_:0,PAGE_SIZE:5,START:s.minDate?s[x("0x1d23")][x("0x572")]():1900,END:s[x("0x16d9")]?s[x("0x16d9")][x("0x572")]():0,getItemAtIndex:function(e){var t=x;return this[t("0x49dd")]<e&&(this[t("0x49dd")]=e),this[t("0x1fd0")]+e},getLength:function(){var e=x;return Math[e("0x11db")](this[e("0x49dd")]+Math.floor(this[e("0x3b94")]/2),Math[e("0x681")](this[e("0x1fd0")]-this[e("0xac8")])+1)}},t[x("0x790")]=a,t[x("0x572")]=this[x("0x306c")][x("0x572")](),this[x("0x754")]=function(e){var n=x;s[n("0x306c")][n("0x572")](e),t[n("0x572")]=e,s[n("0x6cf")]=!1,s[n("0x2677")]()},this.showYear=function(){var e=x;s[e("0x21c5")]=s[e("0x306c")][e("0x572")]()-s[e("0x173e")][e("0x1fd0")]+Math[e("0x4184")](s.yearItems[e("0x3b94")]/2),s.yearItems[e("0x49dd")]=s.date.year()-s.yearItems[e("0x1fd0")]+1,s[e("0x6cf")]=!0},this[x("0x1dad")]=function(){s[x("0x6cf")]=!1},this[x("0x4920")]=function(){n[x("0x4920")]()},this[x("0x3ed5")]=function(){var e=x,t=this.date;this.minDate&&this[e("0x306c")].isBefore(this[e("0x1d23")])&&(t=moment(this[e("0x1d23")])),this[e("0x16d9")]&&this[e("0x306c")][e("0xb83")](this[e("0x16d9")])&&(t=moment(this[e("0x16d9")])),n[e("0x29cb")](t[e("0x222f")]())},this[x("0x2677")]=function(){var e=x;s.animating=!0,r(angular[e("0x49d1")])[e("0x34e8")]((function(){s[e("0x1d73")]=!1}))}}function a(t){var n=e,a=this;this.$onInit=function(){var e=a2_0x37cf;a[e("0x45f2")]=[],a[e("0x3359")]=moment[e("0x3908")]()[e("0x3009")](),a[e("0x1e97")]=[][e("0x3abc")](moment[e("0x4b0a")]().slice(a.dow),moment.weekdaysMin()[e("0x9b3")](0,a[e("0x3359")])),t[e("0x7a")]((function(){var t=e;return a[t("0x306c")][t("0x4701")]()}),(function(t,n){t&&t!==n&&a[e("0x1785")]()})),a[e("0x1785")]()},this.getDaysInMonth=function(){var e=a2_0x37cf,t=a[e("0x306c")].daysInMonth(),n=moment(a[e("0x306c")])[e("0x306c")](1).day()-this[e("0x3359")];n<0&&(n=this.weekDays[e("0x5e9")]-1);for(var r=[],i=1;i<=n+t;i++){var o=null;i>n&&(o={value:i-n,enabled:a[e("0x484d")](moment(a[e("0x306c")])[e("0x306c")](i-n)[e("0x222f")]())}),r.push(o)}return r},this[n("0x484d")]=function(e){var t=n;return!(this[t("0x1d23")]&&!(this[t("0x1d23")]<=e)||this[t("0x16d9")]&&!(this[t("0x16d9")]>=e)||a.dateFilter&&a[t("0x4371")](e))},this[n("0x2820")]=function(e){var t=n;a.date[t("0x306c")](e)},this[n("0xc77")]=function(){var e=n;a.date[e("0x2d6e")](1,"months")},this[n("0x451d")]=function(){var e=n;a[e("0x306c")][e("0x471d")](1,"months")},this[n("0x1785")]=function(){var e=n;a[e("0x45f2")]=a[e("0x360c")]()},t[n("0x7a")]((function(){var e=n;return a[e("0x306c")][e("0x4701")]()}),(function(e,t){e&&e!==t&&a.updateDaysInMonth()}))}function r(t,n){var a=e;return!t||angular[a("0x24a9")](t)||moment(t,n,!0)[a("0x32d4")]()}function i(t,n,a,r){var i=e;angular[i("0x24a9")](a)&&(a=moment(a)[i("0x293c")](n)),a=moment(a,n,!0);var o=angular[i("0x24a9")](t)?moment(t):moment(t,n,!0);return!t||angular.isDate(t)||!a[i("0x32d4")]()||r(o,a)}function o(e,t,n){return i(e,t,n,(function(e,t){return e[a2_0x37cf("0xb69")](t)}))}function x(e,t,n){return i(e,t,n,(function(e,t){return e.isSameOrBefore(t)}))}function s(t,n,a){var r=e,i=angular[r("0x24a9")](t)?moment(t):moment(t,n,!0);return!t||angular[r("0x24a9")](t)||!angular.isFunction(a)||!a(i.toDate())}function c(t,n,a,r,i,o){var x=e,s=this;this.VIEW_HOURS=1,this[x("0x12d2")]=2,this[x("0x3ce")]=this[x("0x47f8")],this[x("0x1c9f")]=moment(a),this[x("0x967")]=!!r,this[x("0x5af")]=!!i,this[x("0xd1c")]=s[x("0x5af")]?"h":"H",this[x("0xc8f")]="mm",this[x("0x2407")]=parseInt(this[x("0x1c9f")].format(this[x("0xd1c")])),this.clockMinutes=parseInt(this.time[x("0x293c")](this.minutesFormat)),t[x("0x790")]=o,this[x("0x1d40")]=function(){var e=x;s.currentView=s[e("0x3ce")]==s.VIEW_HOURS?s.VIEW_MINUTES:s.VIEW_HOURS},this[x("0x12fe")]=function(){var e=x;s[e("0x1c9f")][e("0x1fa0")]()>=12&&s[e("0x1c9f")][e("0x17ba")](s[e("0x1c9f")].hour()-12)},this[x("0x2d8f")]=function(){var e=x;s[e("0x1c9f")][e("0x1fa0")]()<12&&s[e("0x1c9f")][e("0x17ba")](s[e("0x1c9f")][e("0x17ba")]()+12)},this[x("0x4920")]=function(){n.cancel()},this.confirm=function(){var e=x;n[e("0x29cb")](this[e("0x1c9f")][e("0x222f")]())}}function l(t){var n=e,a=this,r=n("0x1fa0"),i=n("0x5e");this[n("0x4393")]=function(){var e=n;switch(a[e("0x456a")]=30,a[e("0xa0c")]=[],this.CLOCK_TYPES={hours:{range:a[e("0x5af")]?12:24},minutes:{range:60}},a[e("0x3298")]=a.type||e("0x1fa0"),a[e("0x3298")]){case r:for(var t=a[e("0x5af")]?1:2,o=a.ampm?12:23,x=t;x<=o;x+=t)a[e("0xa0c")].push(x);a[e("0x5af")]||a[e("0xa0c")][e("0x459a")](0),a[e("0x2f89")]=a[e("0x1c9f")].hours()||0,a[e("0x5af")]&&a[e("0x2f89")]>12&&(a[e("0x2f89")]-=12);break;case i:for(x=5;x<=55;x+=5)a.steps[e("0x459a")](x);a[e("0xa0c")][e("0x459a")](0),a[e("0x2f89")]=a[e("0x1c9f")][e("0x5e")]()||0}},this[n("0x41ec")]=function(){var e=n,t=1;switch(a[e("0x3298")]){case r:t=a.ampm?12:24;break;case i:t=60}var o=Math[e("0x46d")](a.selected*(360/t))-180;return{"-webkit-transform":e("0x2d7")+o+e("0x58a"),"-ms-transform":e("0x2d7")+o+e("0x58a"),transform:e("0x2d7")+o+e("0x58a")}},this.setTimeByDeg=function(e){var t=n;e=e>=360?0:e;var o=0;switch(a[t("0x3298")]){case r:o=a.ampm?12:24;break;case i:o=60}a[t("0x138d")](Math.round(o/360*e))},this[n("0x138d")]=function(e,t){var o=n;switch(this[o("0x2f89")]=e,a[o("0x3298")]){case r:a[o("0x5af")]&&"PM"==a.time.format("A")&&(e+=12),this.time[o("0x1fa0")](e);break;case i:e>59&&(e-=60),this[o("0x1c9f")][o("0x5e")](e)}}}function d(t,n,a,r){var i=e;angular[i("0x24a9")](a)&&(a=moment(a)[i("0x293c")](n)),a=moment(a,n,!0);var o=angular[i("0x24a9")](t)?moment(t):moment(t,n,!0);return!t||angular[i("0x24a9")](t)||!a[i("0x32d4")]()||r(o,a)}t[e("0x1805")]([e("0x63b"),e("0x2242"),function(e,t){angular.forEach(t,(function(t,n){var a=a2_0x37cf;e[a("0x2d28")](t.id,t[a("0x4aef")])}))}]),t[e("0x4c69")]([e("0x19f0"),e("0x2242"),function(t,n){var a=e;angular[a("0x5ba")](n,(function(e,n){var r=a;t[r("0x32f3")](e[r("0x4aef")],e[r("0xb2b")])}))}]),t[e("0x4d94")](e("0x2242"),[{id:e("0x40a2"),url:e("0x2674"),svg:e("0x5d6")},{id:e("0x3813"),url:e("0xbee"),svg:e("0x489a")},{id:"mdp-access-time",url:e("0x43f1"),svg:e("0x302f")},{id:e("0x448e"),url:e("0x149e"),svg:e("0x3a63")}]),t[e("0x3faf")](e("0x4d79"),[function(){var t=e;return{time:{minTime:null,maxTime:null,okLabel:"OK",cancelLabel:"Cancel",timeFormat:"HH:mm",noFloat:!1,openOnClick:!1,autoSwitch:!1,ampm:!0,clearOnCancel:!1},date:{minDate:null,maxDate:null,okLabel:"OK",cancelLabel:t("0x3f34"),dateFilter:null,dateFormat:"YYYY-MM-DD",displayFormat:t("0x1b19"),noFloat:!1,openOnClick:!1,clearOnCancel:!1}}}]),t[e("0x1b75")]("ngMessage",[e("0xfb8"),function(e){return{restrict:"EA",priority:101,compile:function(t){var n=a2_0x37cf;if(e.getClosest(t,n("0x1eb9"),!0)||e[n("0x3731")](t,n("0x6c8"),!0))return t[n("0x411b")]("md-input-message-animation",!0),{}}}}]),t[e("0x4b0")](e("0x38a7"),(function(){var t=e,a="OK",r="Cancel",i=t("0x1b19"),o=function(){};this[t("0x3322")]=function(e){i=e},this.setOKButtonLabel=function(e){a=e},this[t("0x1cd6")]=function(e){r=e},this[t("0x2f00")]=function(e){o=e},this[t("0x1cc9")]=[t("0x475c"),t("0x4d79"),function(e,t){return function(x,s){var c=a2_0x37cf;angular[c("0x24a9")](x)||(x=Date[c("0x4706")]()),angular[c("0x1f1a")](s)||(s={}),s[c("0x256b")]=s[c("0x256b")]||t.date.displayFormat||i;var l=s.okLabel||t.date[c("0x247b")]||a,d=s[c("0x24cf")]||t[c("0x306c")].cancelLabel||r;return e[c("0x262c")]({controller:[c("0x36af"),c("0x475c"),c("0x790"),c("0x38d4"),c("0x27b4"),c("0x16d1"),n],controllerAs:c("0x25de"),clickOutsideToClose:!0,skipHide:!0,multiple:!0,template:c("0x1e33")+c("0x307f")+c("0x2662")+c("0xeb6")+c("0x24ff")+c("0x18d")+"</md-toolbar>"+c("0x1fa8")+c("0x290a")+c("0x1dec")+c("0x3b29")+c("0x26e5")+c("0x35b3")+c("0x1fa8")+c("0x4a06")+"</div>"+c("0xfa2")+c("0x34a7")+c("0x45f8")+'<md-button ng-click="datepicker.cancel()" aria-label="'+d+'">'+d+c("0x3279")+c("0x17ca")+l+'">'+l+c("0x3279")+c("0x1417")+c("0x1fa8")+c("0x4802")+c("0x30f4"),targetEvent:s[c("0xe57")],locals:{currentDate:x,options:s},parent:o()})}}]})),t.directive(e("0x475d"),[e("0xc00"),function(t){var n=e;return{restrict:"E",bindToController:{date:"=",minDate:"=",maxDate:"=",dateFilter:"="},template:n("0x467d")+n("0x19c6")+n("0x230c")+n("0x37f6")+'<md-button aria-label="next month" class="md-icon-button" ng-click="calendar.nextMonth()"><md-icon md-svg-icon="mdp-chevron-right"></md-icon></md-button></div><div layout="row" layout-align="space-around center" class="mdp-calendar-week-days" ng-show="!calendar.animating">'+n("0x3a49")+n("0x1fa8")+n("0x3812")+n("0x4a49")+n("0x3c8b")+n("0x1fa8")+'<div flex="100" ng-if="($index + 1) % 7 == 0" ng-repeat-end></div>'+n("0x1fa8")+n("0x1fa8"),controller:[n("0x36af"),a],controllerAs:n("0x25f4"),link:function(e,a,r,i){var o=n,x=[a[0][o("0x31f7")](o("0x1567")),a[0].querySelector(o("0x244a")),a[0][o("0x31f7")](o("0xcb1"))][o("0x19e8")]((function(e){return angular[o("0xb48")](e)}));e[o("0x1e77")]=!1,e[o("0x7a")]((function(){var e=o;return i.date[e("0x293c")](e("0x3f32"))}),(function(e,n){var a=o,r=null;if(e>n?r=a("0x325"):e<n&&(r=a("0x1bd8")),r)for(var i in x)x[i][a("0x31dc")](r),t[a("0xa81")](x[i],r)}))}}}]),t[e("0x1b75")]("mdpDatePicker",[e("0x38a7"),e("0x38d4"),e("0x4d79"),function(t,n,a){var i=e;return{restrict:"E",require:[i("0x12bc"),i("0x1958")],transclude:!0,template:function(e,t){var n=i,r=angular[n("0x64a")](t[n("0x1b06")])||a[n("0x306c")].noFloat,o=angular[n("0x64a")](t.mdpOpenOnClick)||a.date[n("0x337a")];return n("0xfc0")+n("0x2c87")+(angular.isDefined(t[n("0xbf3")])?n("0x2fad"):"")+n("0x10ab")+'<md-icon md-svg-icon="mdp-event"></md-icon></md-button>'+n("0xeba")+(r?n("0x4b19"):"")+n("0x213b")+n("0x4edb")+(angular.isDefined(t[n("0xbf3")])?n("0x2fad"):"")+n("0x4709")+(o?' ng-click="showPicker($event)" ':"")+n("0x4ea8")+n("0x1689")+n("0x1fa8")},scope:{minDate:i("0xa2f"),maxDate:"=mdpMaxDate",okLabel:"@?mdpOkLabel",cancelLabel:"@?mdpCancelLabel",dateFilter:i("0x6a5"),dateFormat:"@mdpFormat",placeholder:i("0x49f3"),noFloat:i("0x195a"),openOnClick:i("0x2b1a"),disabled:i("0x1b15"),inputName:i("0x1d67"),clearOnCancel:"=?mdpClearOnCancel"},link:{pre:function(e,t,n,a,r){},post:function(e,n,c,l,d){var u=i,f=l[0],m=l[1],b={get minDate(){var t=a2_0x37cf;return e[t("0x1d23")]||a[t("0x306c")][t("0x1d23")]},get maxDate(){var t=a2_0x37cf;return e.maxDate||a[t("0x306c")][t("0x16d9")]},get dateFilter(){var t=a2_0x37cf;return e.dateFilter||a[t("0x306c")][t("0x4371")]},get clearOnCancel(){var t=a2_0x37cf;return angular[t("0x64a")](e[t("0x3fa")])?e[t("0x3fa")]:a[t("0x306c")][t("0x3fa")]}},_=angular[u("0xb48")](n[0][u("0x31f7")](u("0x3f87"))),p=angular[u("0xb48")](n[0][u("0x31f7")](u("0x1efc"))),h=p[u("0x1194")](u("0xbd0"));d((function(e){p.append(e)}));var g=angular[u("0xb48")](p[0][u("0x31f7")]("[ng-messages]"));function v(e){var t=u;_[0][t("0x3a33")]=e,h[t("0x17e9")](!f[t("0x8b2")](e))}function S(t){var n=u,a=moment(t,angular.isDate(t)?null:e[n("0x457a")],!0),r=a.format(e[n("0x457a")]);a.isValid()?(v(r),f.$setViewValue(r)):(v(t),f[n("0x1605")](t)),!f[n("0x2f3")]&&g[n("0x3a35")](n("0x2ed2"))&&p.hasClass(n("0x9e3"))&&g[n("0xa81")](n("0x2ed2")),f[n("0x4dbb")]()}function E(e){var t=u;e[t("0x55d")].value!==f[t("0x1e29")]&&S(e[t("0x55d")][t("0x3a33")])}e[u("0x3298")]=e[u("0x457a")]||a[u("0x306c")].dateFormat?u("0x806"):u("0x306c"),e[u("0x457a")]=e[u("0x457a")]||a[u("0x306c")].dateFormat||u("0x2114"),e[u("0x4933")]=f,e.isError=function(){var e=u;return!!f[e("0x1d4c")]&&(!f[e("0x2f3")]||null!=m&&m[e("0x1757")])},e[u("0x4c36")]=function(){return!!c[u("0x4c36")]},f.$formatters.unshift((function(t){var n=u,a=angular.isDate(t)&&moment(t);if(a&&a[n("0x32d4")]()){var r=a[n("0x293c")](e[n("0x457a")]);return v(r),r}return v(null),null})),f[u("0x1b85")].format=function(t,n){return r(n,e[u("0x457a")])},f[u("0x1b85")][u("0x1d23")]=function(t,n){return o(n,e[u("0x457a")],b.minDate)},f[u("0x1b85")][u("0x16d9")]=function(t,n){return x(n,e[u("0x457a")],b.maxDate)},f[u("0x1b85")][u("0x6a6")]=function(t,n){var a=u;return s(n,e[a("0x457a")],b[a("0x4371")])},f.$validators.required=function(e,t){var n=u;return angular[n("0x29ab")](c[n("0x4c36")])||!1===c[n("0x4c36")]||!f[n("0x8b2")](e)||!f[n("0x8b2")](t)},f.$parsers[u("0x4e4a")]((function(t){var n=u,a=moment(t,e[n("0x457a")],!0);if(a[n("0x32d4")]()){if(angular[n("0x24a9")](f[n("0x2dce")])){var r=moment(f[n("0x2dce")]);r[n("0x572")](a[n("0x572")]()),r[n("0x1b62")](a.month()),r[n("0x306c")](a[n("0x306c")]()),a=r}return a[n("0x222f")]()}return null})),e[u("0xe5")]=function(n){var a=u;t(f[a("0x2dce")],{minDate:b.minDate,maxDate:b[a("0x16d9")],dateFilter:b[a("0x4371")],okLabel:e[a("0x247b")],cancelLabel:e[a("0x24cf")],targetEvent:n}).then((function(e){S(e)}),(function(e){b[a("0x3fa")]&&S(null)}))},_.on("reset input blur",E),e[u("0x24c9")]("$destroy",(function(){var e=u;_[e("0x30f8")](e("0x3a14"),E)})),e[u("0x7a")](u("0x324c"),(function(){f[u("0x1926")]()}))}}}}]),t.directive(e("0x2dfc"),[e("0x38a7"),"$timeout",function(t,n){var a=e;return{restrict:"A",require:"ngModel",scope:{minDate:"@min",maxDate:a("0x64e"),okLabel:a("0x4eaa"),cancelLabel:a("0x2631"),dateFilter:"=mdpDateFilter",dateFormat:a("0x44a0")},link:function(e,n,i,c,l){var d=a;function u(n){var a=d;t(c.$modelValue,{minDate:e.minDate,maxDate:e.maxDate,dateFilter:e[a("0x4371")],okLabel:e[a("0x247b")],cancelLabel:e[a("0x24cf")],targetEvent:n})[a("0x34e8")]((function(t){var n=a;c[n("0x1605")](moment(t).format(e.format)),c[n("0x4dbb")]()}))}e.dateFormat=e.dateFormat||d("0x2114"),c[d("0x1b85")][d("0x293c")]=function(t,n){return r(n,e[d("0x293c")])},c.$validators[d("0x1d23")]=function(t,n){var a=d;return o(n,e[a("0x293c")],e[a("0x1d23")])},c[d("0x1b85")][d("0x16d9")]=function(t,n){var a=d;return x(n,e[a("0x293c")],e[a("0x16d9")])},c[d("0x1b85")].filter=function(t,n){var a=d;return s(n,e.format,e[a("0x4371")])},n.on(d("0x7cb"),u),e[d("0x24c9")](d("0x4c91"),(function(){var e=d;n[e("0x30f8")](e("0x7cb"),u)}))}}}]),t.directive(e("0x272c"),[e("0xc00"),e("0x38d4"),function(t,n){var a=e;return{restrict:"E",bindToController:{type:"@?",time:"=",autoSwitch:"=?",ampm:"=?"},replace:!0,template:'<md-card class="mdp-clock">'+a("0x4c54")+a("0x4530")+a("0x3343")+a("0x3740")+"</md-toolbar>"+a("0x258")+a("0x1fa8")+"</md-card>",controller:[a("0x36af"),l],controllerAs:a("0x425c"),link:function(e,t,r,i){var o=a,x=(angular.element(t[0][o("0x31f7")](o("0x2134"))),e.$parent[o("0xd3b")]);e[o("0x1e77")]=!1;var s=function(e){var t=o,a=e[t("0x2e3f")][t("0x4c70")]()[0],r=e.currentTarget[t("0xe76")]/2-(e[t("0x2508")]-a[t("0x2885")]),s=e[t("0x4e6d")]-a[t("0x228a")]-e[t("0x2e3f")].offsetHeight/2,c=Math[t("0x46d")](Math.atan2(r,s)*(180/Math.PI));n((function(){var n=t;i.setTimeByDeg(c+180),i[n("0x967")]&&-1!==["mouseup",n("0x7cb")].indexOf(e.type)&&x&&x[n("0x1d40")]()}))};t.on(o("0x4a2b"),(function(){var e=o;t.on(e("0x285a"),s)})),t.on("mouseup",(function(e){var n=o;t[n("0x30f8")](n("0x285a"))})),t.on(o("0x7cb"),s),e.$on(o("0x4c91"),(function(){var e=o;t[e("0x30f8")](e("0x7cb"),s),t[e("0x30f8")](e("0x285a"),s)}))}}}]),t[e("0x4b0")](e("0x293d"),(function(){var t=e,n="OK",a=t("0x3f34"),r=function(){};this[t("0x4399")]=function(e){n=e},this.setCancelButtonLabel=function(e){a=e},this.setDialogParentGetter=function(e){r=e},this.$get=[t("0x475c"),t("0x4d79"),function(e,t){return function(i,o){var x=a2_0x37cf;angular.isDate(i)||(i=Date.now()),angular[x("0x1f1a")](o)||(o={});var s=o.okLabel||t[x("0x1c9f")][x("0x247b")]||n,l=o[x("0x24cf")]||t.time[x("0x24cf")]||a;return e.show({controller:[x("0x36af"),x("0x475c"),x("0x1c9f"),x("0x967"),"ampm",x("0x790"),c],controllerAs:x("0xd3b"),clickOutsideToClose:!0,skipHide:!0,multiple:!0,template:'<md-dialog aria-label="" class="mdp-timepicker" ng-class="{ \'portrait\': !$mdMedia(\'gt-xs\') }"><md-dialog-content layout-gt-xs="row" layout-wrap>'+x("0x2e5e")+x("0x19ad")+x("0x3a7d")+x("0x29e6")+x("0x1fa8")+x("0x3d68")+x("0x2024")+x("0x1f49")+x("0x1fa8")+"</md-toolbar>"+x("0x41b1")+x("0x2f86")+x("0x954")+x("0x3974")+x("0x1fa8")+x("0x34a7")+x("0x45f8")+'<md-button ng-click="timepicker.cancel()" aria-label="'+l+'">'+l+"</md-button>"+x("0x1c03")+s+'">'+s+x("0x3279")+x("0x1417")+x("0x21f7")+x("0x4802")+x("0x30f4"),targetEvent:o[x("0xe57")],locals:{time:i,autoSwitch:o.autoSwitch,ampm:angular.isDefined(o[x("0x5af")])?o[x("0x5af")]:t[x("0x1c9f")][x("0x5af")]},parent:r()})}}]})),t[e("0x1b75")](e("0x10b0"),["$mdpTimePicker",e("0x38d4"),e("0x4d79"),function(t,n,a){var r=e;return{restrict:"E",require:[r("0x12bc"),r("0x1958")],transclude:!0,template:function(e,t){var n=r,i=angular[n("0x64a")](t[n("0x1b06")])||a[n("0x1c9f")][n("0x3366")],o=angular[n("0x64a")](t[n("0x3751")])||a[n("0x1c9f")][n("0x337a")];return n("0xfc0")+n("0x1a7f")+(angular[n("0x64a")](t.mdpDisabled)?' ng-disabled="disabled"':"")+'><md-icon md-svg-icon="mdp-access-time"></md-icon></md-button>'+n("0xeba")+(i?n("0x4b19"):"")+n("0x213b")+n("0x4edb")+(angular.isDefined(t[n("0xbf3")])?n("0x2fad"):"")+n("0x4709")+(o?n("0x2020"):"")+n("0x4ea8")+n("0x1689")+n("0x1fa8")},scope:{minTime:r("0x182d"),maxTime:r("0x36e0"),timeFormat:r("0x44a0"),okLabel:r("0x4eaa"),cancelLabel:r("0x2631"),placeholder:"@mdpPlaceholder",autoSwitch:r("0x266a"),disabled:r("0x1b15"),ampm:"=?mdpAmpm",inputName:r("0x1d67"),clearOnCancel:r("0x1317")},link:function(e,n,i,o,x){var s=r,c=o[0],l=o[1],u={get minTime(){var t=a2_0x37cf;return e[t("0x185a")]||a[t("0x1c9f")][t("0x185a")]},get maxTime(){var t=a2_0x37cf;return e[t("0x3c42")]||a[t("0x1c9f")][t("0x3c42")]},get clearOnCancel(){var t=a2_0x37cf;return angular[t("0x64a")](e[t("0x3fa")])?e[t("0x3fa")]:a[t("0x1c9f")][t("0x3fa")]}},f=angular[s("0xb48")](n[0][s("0x31f7")](s("0x3f87"))),m=angular[s("0xb48")](n[0][s("0x31f7")](s("0x1efc"))),b=m.controller(s("0xbd0"));x((function(e){m[s("0x136a")](e)}));var _=angular[s("0xb48")](m[0][s("0x31f7")](s("0x152f")));function p(e){var t=s;f[0][t("0x3a33")]=e,b[t("0x17e9")](!c[t("0x8b2")](e))}function h(t){var n=s,a=moment(t,angular.isDate(t)?null:e[n("0xa3")],!0),r=a[n("0x293c")](e[n("0xa3")]);a.isValid()?(p(r),c[n("0x1605")](r)):(p(t),c[n("0x1605")](t)),!c[n("0x2f3")]&&_[n("0x3a35")](n("0x2ed2"))&&m.hasClass(n("0x9e3"))&&_[n("0xa81")](n("0x2ed2")),c[n("0x4dbb")]()}function g(e){var t=s;e[t("0x55d")][t("0x3a33")]!==c[t("0x1e29")]&&h(e[t("0x55d")][t("0x3a33")])}e.type=e.timeFormat||a[s("0x1c9f")][s("0xa3")]?s("0x806"):"time",e[s("0xa3")]=e[s("0xa3")]||a[s("0x1c9f")][s("0xa3")]||s("0x2bf3"),e.autoSwitch=void 0===e[s("0x967")]?a[s("0x1c9f")][s("0x967")]:e[s("0x967")],e.model=c,e[s("0x3553")]=function(){var e=s;return!!c[e("0x1d4c")]&&(!c[e("0x2f3")]||null!=l&&l[e("0x1757")])},e[s("0x4c36")]=function(){return!!i[s("0x4c36")]},e.$watch((function(){return c[s("0x394")]}),(function(e,t){var n=s;b[n("0x2aad")](!c[n("0x2f3")]&&!!Object[n("0xa35")](c[n("0x394")])[n("0x5e9")])}),!0),c[s("0x3b53")][s("0x4e4a")]((function(t){var n=s,a=angular[n("0x24a9")](t)&&moment(t);if(a&&a[n("0x32d4")]()){var r=a[n("0x293c")](e[n("0xa3")]);return p(r),r}return p(null),null})),c[s("0x1b85")].format=function(t,n){var a=s;return!n||angular[a("0x24a9")](n)||moment(n,e[a("0xa3")],!0)[a("0x32d4")]()},c[s("0x1b85")][s("0x4c36")]=function(e,t){var n=s;return angular[n("0x29ab")](i[n("0x4c36")])||!1===i[n("0x4c36")]||!c[n("0x8b2")](e)||!c[n("0x8b2")](t)},c[s("0x1b85")][s("0x185a")]=function(t,n){var a,r,i,o=s;return a=n,r=e[o("0xa3")],i=u[o("0x185a")],d(a,r,i,(function(e,t){return e.isSameOrAfter(t)}))},c[s("0x1b85")][s("0x3c42")]=function(t,n){var a,r,i;return a=n,r=e[s("0xa3")],i=u.maxTime,d(a,r,i,(function(e,t){return e[a2_0x37cf("0x4406")](t)}))},c[s("0x2888")].unshift((function(t){var n=s,a=moment(t,e.timeFormat,!0);if(a[n("0x32d4")]()){if(angular[n("0x24a9")](c[n("0x2dce")])){var r=moment(c.$modelValue);r.minutes(a[n("0x5e")]()),r.hours(a[n("0x1fa0")]()),r[n("0x4c5c")](a[n("0x4c5c")]()),a=r}return a.toDate()}return null})),e.showPicker=function(n){var a=s;t(c[a("0x2dce")],{targetEvent:n,okLabel:e.okLabel,cancelLabel:e[a("0x24cf")],autoSwitch:e[a("0x967")],ampm:e.ampm})[a("0x34e8")]((function(e){h(e)}),(function(e){u[a("0x3fa")]&&h(null)}))},f.on("reset input blur",g),e[s("0x24c9")](s("0x4c91"),(function(){var e=s;f[e("0x30f8")](e("0x3a14"),g)})),e[s("0x7a")](s("0x3f4d"),(function(){c[s("0x1926")]()}))}}}]),t[e("0x1b75")](e("0x10b0"),[e("0x293d"),e("0x38d4"),function(t,n){var a=e;return{restrict:"A",require:a("0x12bc"),scope:{timeFormat:"@mdpFormat",okLabel:a("0x4eaa"),cancelLabel:"@?mdpCancelLabel",autoSwitch:a("0x266a"),ampm:a("0x4ac8")},link:function(e,n,r,i,o){var x=a;function s(n){var a=x;t(i[a("0x2dce")],{targetEvent:n,autoSwitch:e[a("0x967")],okLabel:e[a("0x247b")],cancelLabel:e.cancelLabel,ampm:e[a("0x5af")]})[a("0x34e8")]((function(t){var n=a;i[n("0x1605")](moment(t)[n("0x293c")](e[n("0x293c")])),i[n("0x4dbb")]()}))}e[x("0x293c")]=e[x("0x293c")]||x("0x2bf3"),n.on(x("0x7cb"),s),e[x("0x24c9")]("$destroy",(function(){var e=x;n[e("0x30f8")](e("0x7cb"),s)}))}}}])}()},2437:(e,t,n)=>{var a,r;(e[(r=a2_0x37cf)("0x33f9")]?function(t){e[r("0x33f9")]=t()}:n[r("0x229b")])((function(){var e=a2_0x37cf,t={};t.mobileDetectRules={phones:{iPhone:"\\biPhone\\b|\\biPod\\b",BlackBerry:e("0x2016"),HTC:"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel",Nexus:e("0xcb0"),Dell:e("0x66e"),Motorola:"Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052",Samsung:e("0x4350"),LG:e("0x1162"),Sony:e("0x35c4"),Asus:e("0x23c"),NokiaLumia:"Lumia [0-9]{3,4}",Micromax:e("0x397"),Palm:e("0x1ad5"),Vertu:e("0xa0e"),Pantech:"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",Fly:e("0x3883"),Wiko:e("0x1de0"),iMobile:"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",SimValley:"\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",Wolfgang:"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",Alcatel:e("0x25e8"),Nintendo:e("0x2c5d"),Amoi:e("0x2555"),INQ:e("0xfdf"),OnePlus:e("0x41a1"),GenericPhone:e("0x995")},tablets:{iPad:e("0x1e3b"),NexusTablet:e("0x4f82"),GoogleTablet:e("0x36f8"),SamsungTablet:e("0x469f"),Kindle:e("0x145b"),SurfaceTablet:e("0x3a2c"),HPTablet:"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",AsusTablet:e("0x3a07"),BlackBerryTablet:e("0x16a8"),HTCtablet:"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",MotorolaTablet:e("0x1df7"),NookTablet:e("0x3937"),AcerTablet:e("0xb10"),ToshibaTablet:e("0x42fa"),LGTablet:e("0x1d13"),FujitsuTablet:e("0x1be8"),PrestigioTablet:e("0x3ceb"),LenovoTablet:e("0x1d90"),DellTablet:e("0x49d"),YarvikTablet:"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",MedionTablet:e("0x34f2"),ArnovaTablet:e("0x102f"),IntensoTablet:e("0x2844"),IRUTablet:e("0x214a"),MegafonTablet:e("0x4675"),EbodaTablet:e("0x4b89"),AllViewTablet:"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",ArchosTablet:e("0x2306"),AinolTablet:e("0x49fb"),NokiaLumiaTablet:e("0xeec"),SonyTablet:"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712",PhilipsTablet:e("0x35c7"),CubeTablet:e("0x224f"),CobyTablet:e("0x3bed"),MIDTablet:"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",MSITablet:e("0x3c3c"),SMiTTablet:e("0x3a62"),RockChipTablet:e("0x755"),FlyTablet:e("0x15eb"),bqTablet:e("0x1e69"),HuaweiTablet:e("0x188b"),NecTablet:"\\bN-06D|\\bN-08D",PantechTablet:e("0x139"),BronchoTablet:"Broncho.*(N701|N708|N802|a710)",VersusTablet:e("0x57e"),ZyncTablet:e("0x19b6"),PositivoTablet:e("0x2d7e"),NabiTablet:e("0x15da"),KoboTablet:e("0x24e2"),DanewTablet:"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",TexetTablet:e("0x1c47"),PlaystationTablet:"Playstation.*(Portable|Vita)",TrekstorTablet:e("0x199c"),PyleAudioTablet:"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",AdvanTablet:"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",DanyTechTablet:e("0x261c"),GalapadTablet:e("0xc6b"),MicromaxTablet:e("0x17e6"),KarbonnTablet:e("0x3a3b"),AllFineTablet:e("0x3db9"),PROSCANTablet:e("0x378"),YONESTablet:e("0x431e"),ChangJiaTablet:e("0x13f8"),GUTablet:e("0x2f59"),PointOfViewTablet:"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",OvermaxTablet:e("0x164"),HCLTablet:e("0x4918"),DPSTablet:e("0x131e"),VistureTablet:e("0x51"),CrestaTablet:e("0x40fb"),MediatekTablet:e("0x999"),ConcordeTablet:e("0x3539"),GoCleverTablet:"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",ModecomTablet:"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",VoninoTablet:e("0x116e"),ECSTablet:"V07OT2|TM105A|S10OT1|TR10CS1",StorexTablet:e("0x4ee6"),VodafoneTablet:e("0x1211"),EssentielBTablet:e("0x28ee"),RossMoorTablet:e("0xa19"),iMobileTablet:e("0x3fd8"),TolinoTablet:e("0x3bc8"),AudioSonicTablet:e("0x6be"),AMPETablet:e("0x2788"),SkkTablet:e("0x3c5e"),TecnoTablet:e("0x2b10"),JXDTablet:"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",iJoyTablet:e("0x3586"),FX2Tablet:e("0x370f"),XoroTablet:"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",ViewsonicTablet:e("0x43aa"),VerizonTablet:"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1",OdysTablet:e("0x1b4f"),CaptivaTablet:"CAPTIVA PAD",IconbitTablet:e("0xc44"),TeclastTablet:"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",OndaTablet:e("0x340b"),JaytechTablet:e("0x4664"),BlaupunktTablet:"Endeavour 800NG|Endeavour 1010",DigmaTablet:e("0x105a"),EvolioTablet:e("0x238d"),LavaTablet:e("0x2f34"),AocTablet:e("0x3965"),MpmanTablet:e("0x3afe"),CelkonTablet:e("0x28a9"),WolderTablet:e("0x2f11"),MediacomTablet:e("0x42b9"),MiTablet:e("0x3243"),NibiruTablet:e("0x2564"),NexoTablet:e("0x21b"),LeaderTablet:e("0x3484"),UbislateTablet:e("0x266"),PocketBookTablet:e("0x2e75"),KocasoTablet:e("0x36bb"),HisenseTablet:"\\b(F5281|E2371)\\b",Hudl:e("0x1593"),TelstraTablet:e("0x100b"),GenericTablet:"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"},oss:{AndroidOS:e("0x270c"),BlackBerryOS:e("0x1af2"),PalmOS:"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",SymbianOS:e("0x310c"),WindowsMobileOS:e("0x1294"),WindowsPhoneOS:"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",iOS:e("0x3ae1"),iPadOS:"CPU OS 13",MeeGoOS:e("0x159e"),MaemoOS:e("0x37f5"),JavaOS:e("0x1d50"),webOS:e("0x4a62"),badaOS:e("0x253f"),BREWOS:"BREW"},uas:{Chrome:e("0x780"),Dolfin:"\\bDolfin\\b",Opera:e("0x4f4f"),Skyfire:e("0x46a8"),Edge:"Mobile Safari/[.0-9]* Edge",IE:e("0x1b08"),Firefox:"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",Bolt:e("0x1066"),TeaShark:e("0x2e9b"),Blazer:"Blazer",Safari:e("0x2817"),WeChat:e("0x11a7"),UCBrowser:e("0x21df"),baiduboxapp:e("0x24d9"),baidubrowser:e("0x1ec9"),DiigoBrowser:e("0x2e8c"),Mercury:e("0x2c5f"),ObigoBrowser:e("0x336c"),NetFront:e("0x31c0"),GenericBrowser:e("0x3162"),PaleMoon:"Android.*PaleMoon|Mobile.*PaleMoon"},props:{Mobile:"Mobile/[VER]",Build:e("0x3664"),Version:"Version/[VER]",VendorID:e("0x1f86"),iPad:e("0x3869"),iPhone:"iPhone.*CPU[a-z ]+[VER]",iPod:e("0x1acc"),Kindle:e("0x1282"),Chrome:[e("0x1a3a"),e("0x2195"),e("0x2993")],Coast:[e("0x944")],Dolfin:"Dolfin/[VER]",Firefox:["Firefox/[VER]",e("0x8")],Fennec:"Fennec/[VER]",Edge:"Edge/[VER]",IE:["IEMobile/[VER];",e("0x48f7"),"MSIE [VER];",e("0x3d66")],NetFront:e("0x3e93"),NokiaBrowser:e("0x2516"),Opera:[e("0x13f6"),"Opera Mini/[VER]",e("0x315a")],"Opera Mini":e("0x2840"),"Opera Mobi":e("0x315a"),UCBrowser:[e("0x322a"),e("0x405")],MQQBrowser:e("0x2db2"),MicroMessenger:e("0x11cd"),baiduboxapp:"baiduboxapp/[VER]",baidubrowser:e("0x446b"),SamsungBrowser:"SamsungBrowser/[VER]",Iron:e("0x43c0"),Safari:["Version/[VER]",e("0x26fe")],Skyfire:"Skyfire/[VER]",Tizen:e("0x4bb1"),Webkit:e("0x4eab"),PaleMoon:"PaleMoon/[VER]",Gecko:"Gecko/[VER]",Trident:e("0x2bc8"),Presto:"Presto/[VER]",Goanna:e("0x5f5"),iOS:" \\bi?OS\\b [VER][ ;]{1}",Android:"Android [VER]",BlackBerry:[e("0xbc5"),e("0x1a22"),e("0x315a")],BREW:e("0x3dee"),Java:"Java/[VER]","Windows Phone OS":[e("0x3457"),e("0xb5c")],"Windows Phone":e("0xb5c"),"Windows CE":e("0x512"),"Windows NT":e("0x4e9a"),Symbian:["SymbianOS/[VER]","Symbian/[VER]"],webOS:["webOS/[VER]",e("0x4c3d")]},utils:{Bot:"Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom|contentkingapp",MobileBot:e("0x2b04"),DesktopMode:e("0x3da7"),TV:"SonyDTV|HbbTV",WebKit:e("0x3a9a"),Console:e("0x3263"),Watch:e("0xd2")}},t.detectMobileBrowsers={fullPattern:/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,shortPattern:/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,tabletPattern:/android|ipad|playbook|silk/i};var n,r=Object.prototype[e("0x1bd4")];function i(t,n){var a=e;return null!=t&&null!=n&&t[a("0x2eb9")]()===n[a("0x2eb9")]()}function o(t,n){var a,r,i=e,o=t[i("0x5e9")];if(!o||!n)return!1;for(a=n[i("0x2eb9")](),r=0;r<o;++r)if(a===t[r][i("0x2eb9")]())return!0;return!1}function x(e){for(var t in e)r.call(e,t)&&(e[t]=new RegExp(e[t],"i"))}function s(t,n){var a=e;this.ua=(t||"")[e("0x39fa")](0,500),this[a("0x1cfc")]={},this[a("0x3a96")]=n||600}return t[e("0x3a5c")]=e("0x79b"),t[e("0x85e")]="UnknownTablet",t[e("0x399")]=e("0x4a9b"),n=e("0x498f")in Array?Array[e("0x498f")]:function(t){var n=e;return Object[n("0x20f")][n("0x3c88")].call(t)===n("0x508")},function(){var a,i,o,s,c,l,d=e,u=t[d("0x111f")];for(a in u[d("0x1ea6")])if(r.call(u[d("0x1ea6")],a)){for(i=u[d("0x1ea6")][a],!n(i)&&(i=[i]),c=i[d("0x5e9")],s=0;s<c;++s)(l=(o=i[s])[d("0x3507")]("[VER]"))>=0&&(o=o[d("0x35e7")](0,l)+d("0x4a57")+o.substring(l+5)),i[s]=new RegExp(o,"i");u[d("0x1ea6")][a]=i}x(u[d("0x41e7")]),x(u[d("0x4700")]),x(u[d("0x4829")]),x(u[d("0x34d8")]),x(u[d("0x1590")]),u[d("0x2811")]={WindowsPhoneOS:u[d("0x41e7")][d("0x4f9e")],WindowsMobileOS:u.oss[d("0x197d")]}}(),t[e("0x5bd")]=function(t,n){var a=e;for(var i in t)if(r[a("0x3c6b")](t,i)&&t[i][a("0x3ff3")](n))return i;return null},t.findMatches=function(t,n){var a=e,i=[];for(var o in t)r[a("0x3c6b")](t,o)&&t[o][a("0x3ff3")](n)&&i.push(o);return i},t[e("0x130c")]=function(n,a){var i,o,x,s,c=e,l=t[c("0x111f")][c("0x1ea6")];if(r[c("0x3c6b")](l,n))for(x=(i=l[n])[c("0x5e9")],o=0;o<x;++o)if(null!==(s=i[o][c("0x3629")](a)))return s[1];return null},t[e("0x16c7")]=function(n,a){var r=e,i=t[r("0x130c")](n,a);return i?t[r("0x3cf7")](i):NaN},t[e("0x3cf7")]=function(t){var n,a=e;return 1===(n=t.split(/[a-z._ \/\-]/i))[a("0x5e9")]&&(t=n[0]),n[a("0x5e9")]>1&&(t=n[0]+".",n[a("0x4534")](),t+=n[a("0xc60")]("")),Number(t)},t.isMobileFallback=function(n){var a=e;return t[a("0xf30")][a("0x12cf")][a("0x3ff3")](n)||t[a("0xf30")][a("0x194c")][a("0x3ff3")](n[a("0x39fa")](0,4))},t[e("0x2539")]=function(n){var a=e;return t[a("0xf30")].tabletPattern[a("0x3ff3")](n)},t.prepareDetectionCache=function(n,r,i){var o=e;if(n[o("0x3ded")]===a){var x,c,l;if(c=t.findMatch(t[o("0x111f")].tablets,r))return n[o("0x3ded")]=n[o("0x3c1b")]=c,void(n[o("0x42a7")]=null);if(x=t[o("0x5bd")](t[o("0x111f")].phones,r))return n.mobile=n[o("0x42a7")]=x,void(n.tablet=null);t[o("0x155f")](r)?(l=s[o("0x1dd4")](i))===a?(n.mobile=t[o("0x399")],n[o("0x3c1b")]=n.phone=null):l?(n[o("0x3ded")]=n[o("0x42a7")]=t[o("0x3a5c")],n[o("0x3c1b")]=null):(n.mobile=n[o("0x3c1b")]=t.FALLBACK_TABLET,n[o("0x42a7")]=null):t[o("0x2539")](r)?(n.mobile=n.tablet=t[o("0x85e")],n[o("0x42a7")]=null):n.mobile=n[o("0x3c1b")]=n[o("0x42a7")]=null}},t[e("0x4a1f")]=function(t){var n=e,a=null!==t[n("0x3ded")]();return t.os(n("0x2e43"))&&t[n("0x10ea")]("iPad")>=4.3||t.os("iOS")&&t.version(n("0x3b3"))>=3.1||t.os("iOS")&&t[n("0x10ea")](n("0x4130"))>=3.1||t[n("0x10ea")]("Android")>2.1&&t.is(n("0x2138"))||t.version(n("0x4f78"))>=7||t.is("BlackBerry")&&t[n("0x10ea")](n("0x1324"))>=6||t.match(n("0x2f4a"))||t.version(n("0x307d"))>=1.4&&t[n("0x2cd9")]("Palm|Pre|Pixi")||t[n("0x2cd9")](n("0x1fa1"))||t.is("Firefox")&&t[n("0x10ea")](n("0x1d0b"))>=12||t.is("Chrome")&&t.is(n("0x1734"))&&t.version("Android")>=4||t.is("Skyfire")&&t[n("0x10ea")]("Skyfire")>=4.1&&t.is(n("0x1734"))&&t[n("0x10ea")]("Android")>=2.3||t.is("Opera")&&t[n("0x10ea")](n("0xe2"))>11&&t.is(n("0x1734"))||t.is(n("0x3baf"))||t.is(n("0x134f"))||t.is(n("0x5b0"))&&t[n("0x10ea")](n("0x3451"))>=2||(t.is("UC Browser")||t.is(n("0x5b0")))&&t.version("Android")>=2.3||t[n("0x2cd9")](n("0xb08"))||t.is(n("0x1ced"))&&t[n("0x10ea")](n("0x1ced"))>=3||t.is(n("0x1734"))&&t.is(n("0x4890"))||t[n("0x10ea")](n("0x4a8f"))>=11&&!a||t[n("0x10ea")](n("0x3651"))>=5&&!a||t[n("0x10ea")](n("0x1d0b"))>=4&&!a||t[n("0x10ea")](n("0x3c78"))>=7&&!a||t[n("0x10ea")](n("0x1c7a"))>=10&&!a?"A":t.os(n("0x2e43"))&&t[n("0x10ea")](n("0x33fb"))<4.3||t.os(n("0x2e43"))&&t[n("0x10ea")](n("0x3b3"))<3.1||t.os(n("0x2e43"))&&t.version(n("0x4130"))<3.1||t.is("Blackberry")&&t.version(n("0x1324"))>=5&&t[n("0x10ea")](n("0x1324"))<6||t[n("0x10ea")](n("0x199a"))>=5&&t[n("0x10ea")](n("0x199a"))<=6.5&&(t.version(n("0x270c"))>=2.3||t.is(n("0x2e43")))||t[n("0x2cd9")](n("0x1e83"))||t.version("Opera Mobi")>=11&&t.is("SymbianOS")?"B":(t[n("0x10ea")](n("0x1324"))<5||t[n("0x2cd9")]("MSIEMobile|Windows CE.*Mobile")||t.version(n("0x317f")),"C")},t.detectOS=function(n){var a=e;return t.findMatch(t[a("0x111f")][a("0x2811")],n)||t.findMatch(t.mobileDetectRules[a("0x41e7")],n)},t[e("0x21a3")]=function(){var t=e;return window[t("0x3c02")][t("0xbbf")]<window[t("0x3c02")].height?window[t("0x3c02")].width:window[t("0x3c02")][t("0x4e66")]},s[e("0x20f")]={constructor:s,mobile:function(){var n=e;return t[n("0x2280")](this[n("0x1cfc")],this.ua,this[n("0x3a96")]),this[n("0x1cfc")][n("0x3ded")]},phone:function(){var n=e;return t.prepareDetectionCache(this[n("0x1cfc")],this.ua,this.maxPhoneWidth),this._cache[n("0x42a7")]},tablet:function(){var n=e;return t[n("0x2280")](this[n("0x1cfc")],this.ua,this[n("0x3a96")]),this[n("0x1cfc")][n("0x3c1b")]},userAgent:function(){var n=e;return this[n("0x1cfc")][n("0x22fc")]===a&&(this[n("0x1cfc")].userAgent=t.findMatch(t[n("0x111f")].uas,this.ua)),this[n("0x1cfc")][n("0x22fc")]},userAgents:function(){var n=e;return this[n("0x1cfc")][n("0x4d20")]===a&&(this[n("0x1cfc")][n("0x4d20")]=t[n("0x4ef0")](t.mobileDetectRules.uas,this.ua)),this._cache[n("0x4d20")]},os:function(){var n=e;return this[n("0x1cfc")].os===a&&(this[n("0x1cfc")].os=t[n("0xfee")](this.ua)),this[n("0x1cfc")].os},version:function(e){return t.getVersion(e,this.ua)},versionStr:function(n){return t[e("0x130c")](n,this.ua)},is:function(n){var a=e;return o(this.userAgents(),n)||i(n,this.os())||i(n,this[a("0x42a7")]())||i(n,this.tablet())||o(t[a("0x4ef0")](t[a("0x111f")].utils,this.ua),n)},match:function(t){var n=e;return!(t instanceof RegExp)&&(t=new RegExp(t,"i")),t[n("0x3ff3")](this.ua)},isPhoneSized:function(t){var n=e;return s[n("0x1dd4")](t||this[n("0x3a96")])},mobileGrade:function(){var n=e;return this[n("0x1cfc")][n("0x4e68")]===a&&(this[n("0x1cfc")][n("0x4e68")]=t[n("0x4a1f")](this)),this[n("0x1cfc")][n("0x4e68")]}},"undefined"!=typeof window&&window.screen?s.isPhoneSized=function(e){return e<0?a:t.getDeviceSmallerSide()<=e}:s[e("0x1dd4")]=function(){},s[e("0x17fd")]=t,s[e("0x10ea")]=e("0xc4d"),s}))},2786:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember"[a("0x9e5")]("_"),monthsShort:a("0x4604")[a("0x9e5")]("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag"[a("0x9e5")]("_"),weekdaysShort:a("0x4644").split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i[a("0x3ff3")](e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:a("0x4fcb"),LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:a("0x86"),lastDay:a("0x938"),lastWeek:a("0x4d69"),sameElse:"L"},relativeTime:{future:a("0x3989"),past:"%s gelede",s:a("0x3926"),ss:"%d sekondes",m:"'n minuut",mm:a("0x1c39"),h:"'n uur",hh:a("0x340a"),d:a("0x4b62"),dd:"%d dae",M:"'n maand",MM:a("0x3535"),y:a("0x3542"),yy:a("0x31ea")},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?a("0x21ae"):"de")},week:{dow:1,doy:4}})},4130:function(e,t,n){var a,r,i,o,x,s;a=n(381),i=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:[(r=a2_0x37cf)("0x4445"),"ثانية واحدة",[r("0x3020"),r("0xbb9")],r("0x2708"),"%d ثانية",r("0x37e3")],m:[r("0x45ae"),r("0x2e7e"),[r("0x46ff"),r("0x4cdd")],r("0xd0d"),r("0x3953"),"%d دقيقة"],h:[r("0x3b1e"),"ساعة واحدة",["ساعتان",r("0x3d19")],r("0xb24"),"%d ساعة","%d ساعة"],d:["أقل من يوم",r("0x4781"),[r("0x135c"),r("0x3113")],r("0x4bf7"),r("0x3ca0"),r("0x3ca1")],M:[r("0x48c0"),r("0x362b"),["شهران",r("0x43f4")],"%d أشهر",r("0x2faa"),r("0x498")],y:[r("0xf54"),r("0x110a"),[r("0x2d97"),r("0x55e")],r("0x1938"),"%d عامًا",r("0x9de")]},x=function(e){return function(t,n,a,r){var x=a2_0x37cf,s=i(t),c=o[e][i(t)];return 2===s&&(c=c[n?0:1]),c[x("0x3cc0")](/%d/i,t)}},s=[r("0x3811"),r("0x3761"),"مارس",r("0x3441"),"ماي",r("0x27d9"),r("0x1181"),r("0x47f2"),r("0x2568"),r("0x2f5f"),r("0x3a24"),r("0x2459")],a[r("0x42e7")](r("0x4e64"),{months:s,monthsShort:s,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت"[r("0x9e5")]("_"),weekdaysShort:r("0x3212")[r("0x9e5")]("_"),weekdaysMin:r("0x497e").split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:r("0x2dbb"),L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:r("0x25e6"),LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:r("0x4d71"),nextDay:r("0xe4b"),nextWeek:r("0x26cf"),lastDay:r("0xaea"),lastWeek:r("0x26cf"),sameElse:"L"},relativeTime:{future:"بعد %s",past:r("0xad6"),s:x("s"),ss:x("s"),m:x("m"),mm:x("m"),h:x("h"),hh:x("h"),d:x("d"),dd:x("d"),M:x("M"),MM:x("M"),y:x("y"),yy:x("y")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:0,doy:4}})},6135:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0xfcb"),{months:a("0x3210").split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر"[a("0x9e5")]("_"),weekdays:a("0x43c8")[a("0x9e5")]("_"),weekdaysShort:a("0x1653")[a("0x9e5")]("_"),weekdaysMin:a("0x497e")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:"DD/MM/YYYY",LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x37c2")},calendar:{sameDay:a("0x384e"),nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:a("0x34c3"),sameElse:"L"},relativeTime:{future:a("0x4761"),past:a("0xad6"),s:a("0x1202"),ss:"%d ثانية",m:a("0x3bfb"),mm:a("0xd0d"),h:a("0x158b"),hh:a("0xb24"),d:a("0x2f18"),dd:"%d أيام",M:a("0x2aa9"),MM:a("0x4e67"),y:"سنة",yy:a("0x20b6")},week:{dow:0,doy:12}})},6440:function(e,t,n){var a,r,i,o,x,s,c;a=n(381),i={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},o=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},x={s:["أقل من ثانية","ثانية واحدة",[(r=a2_0x37cf)("0x3020"),r("0xbb9")],r("0x2708"),r("0x37e3"),r("0x37e3")],m:["أقل من دقيقة",r("0x2e7e"),["دقيقتان",r("0x4cdd")],"%d دقائق","%d دقيقة",r("0x3953")],h:["أقل من ساعة",r("0x387b"),[r("0x2402"),"ساعتين"],"%d ساعات",r("0x4192"),"%d ساعة"],d:[r("0x3c31"),r("0x4781"),[r("0x135c"),r("0x3113")],"%d أيام",r("0x3ca0"),r("0x3ca1")],M:["أقل من شهر",r("0x362b"),[r("0x11ab"),r("0x43f4")],"%d أشهر",r("0x2faa"),r("0x498")],y:[r("0xf54"),"عام واحد",[r("0x2d97"),"عامين"],r("0x1938"),r("0x4fe9"),r("0x9de")]},s=function(e){return function(t,n,a,r){var i=a2_0x37cf,s=o(t),c=x[e][o(t)];return 2===s&&(c=c[n?0:1]),c[i("0x3cc0")](/%d/i,t)}},c=[r("0x1fd2"),r("0x1f4"),"مارس","أبريل","مايو",r("0x26a4"),r("0xd48"),r("0x4a92"),"سبتمبر",r("0x2f5f"),"نوفمبر",r("0x2459")],a[r("0x42e7")](r("0x4d58"),{months:c,monthsShort:c,weekdays:r("0x376f")[r("0x9e5")]("_"),weekdaysShort:r("0x3212")[r("0x9e5")]("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س"[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:r("0x2dbb"),L:r("0x34e"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:r("0x4d71"),nextDay:r("0xe4b"),nextWeek:"dddd [عند الساعة] LT",lastDay:r("0xaea"),lastWeek:r("0x26cf"),sameElse:"L"},relativeTime:{future:r("0x4b02"),past:r("0xad6"),s:s("s"),ss:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(e){return e[r("0x3cc0")](/،/g,",")},postformat:function(e){var t=r;return e[t("0x3cc0")](/\d/g,(function(e){return i[e]}))[t("0x3cc0")](/,/g,"،")},week:{dow:6,doy:12}})},7702:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x3c5"),{months:a("0x3210").split("_"),monthsShort:a("0x3210")[a("0x9e5")]("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت"[a("0x9e5")]("_"),weekdaysShort:a("0x2869")[a("0x9e5")]("_"),weekdaysMin:a("0x497e").split("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:"D MMMM YYYY",LLL:a("0x25e6"),LLLL:a("0x37c2")},calendar:{sameDay:a("0x384e"),nextDay:a("0x38c2"),nextWeek:a("0x34c3"),lastDay:a("0x1d96"),lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:a("0x4761"),past:"منذ %s",s:a("0x1202"),ss:a("0x37e3"),m:a("0x3bfb"),mm:a("0xd0d"),h:"ساعة",hh:a("0xb24"),d:"يوم",dd:a("0x4bf7"),M:a("0x2aa9"),MM:a("0x4e67"),y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})},6040:function(e,t,n){var a,r,i,o;a=n(381),r=a2_0x37cf,i={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},o={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a.defineLocale(r("0x46dc"),{months:r("0x39da")[r("0x9e5")]("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر"[r("0x9e5")]("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:r("0x3212")[r("0x9e5")]("_"),weekdaysMin:r("0x497e")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:r("0x384e"),nextDay:r("0x38c2"),nextWeek:r("0x34c3"),lastDay:r("0x1d96"),lastWeek:r("0x34c3"),sameElse:"L"},relativeTime:{future:r("0x4761"),past:r("0xad6"),s:r("0x1202"),ss:r("0x37e3"),m:r("0x3bfb"),mm:r("0xd0d"),h:r("0x158b"),hh:"%d ساعات",d:"يوم",dd:r("0x4bf7"),M:"شهر",MM:r("0x4e67"),y:r("0x2ba4"),yy:r("0x20b6")},preparse:function(e){var t=r;return e[t("0x3cc0")](/[١٢٣٤٥٦٧٨٩٠]/g,(function(e){return o[e]}))[t("0x3cc0")](/،/g,",")},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]})).replace(/,/g,"،")},week:{dow:0,doy:6}})},7100:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x1c7d"),{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر"[a("0x9e5")]("_"),monthsShort:a("0x2621")[a("0x9e5")]("_"),weekdays:a("0x376f")[a("0x9e5")]("_"),weekdaysShort:a("0x3212")[a("0x9e5")]("_"),weekdaysMin:a("0x497e")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x37c2")},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:a("0x38c2"),nextWeek:a("0x34c3"),lastDay:a("0x1d96"),lastWeek:a("0x34c3"),sameElse:"L"},relativeTime:{future:a("0x4761"),past:"منذ %s",s:a("0x1202"),ss:a("0x37e3"),m:a("0x3bfb"),mm:a("0xd0d"),h:"ساعة",hh:a("0xb24"),d:a("0x2f18"),dd:a("0x4bf7"),M:a("0x2aa9"),MM:a("0x4e67"),y:a("0x2ba4"),yy:"%d سنوات"},week:{dow:1,doy:4}})},867:function(e,t,n){var a,r,i,o,x,s,c,l;a=n(381),i={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},o={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},x=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},s={s:[(r=a2_0x37cf)("0x4445"),r("0x34ec"),["ثانيتان",r("0xbb9")],r("0x2708"),"%d ثانية","%d ثانية"],m:[r("0x45ae"),r("0x2e7e"),[r("0x46ff"),r("0x4cdd")],"%d دقائق",r("0x3953"),r("0x3953")],h:[r("0x3b1e"),r("0x387b"),[r("0x2402"),r("0x3d19")],r("0xb24"),"%d ساعة",r("0x4192")],d:[r("0x3c31"),r("0x4781"),[r("0x135c"),r("0x3113")],r("0x4bf7"),r("0x3ca0"),"%d يوم"],M:[r("0x48c0"),"شهر واحد",[r("0x11ab"),r("0x43f4")],r("0x4e67"),"%d شهرا",r("0x498")],y:["أقل من عام",r("0x110a"),[r("0x2d97"),"عامين"],r("0x1938"),"%d عامًا",r("0x9de")]},c=function(e){return function(t,n,a,r){var i=a2_0x37cf,o=x(t),c=s[e][x(t)];return 2===o&&(c=c[n?0:1]),c[i("0x3cc0")](/%d/i,t)}},l=[r("0x1fd2"),r("0x1f4"),r("0x6bf"),"أبريل",r("0x3d88"),r("0x26a4"),r("0xd48"),r("0x4a92"),r("0x2568"),r("0x2f5f"),r("0x3a24"),r("0x2459")],a.defineLocale("ar",{months:l,monthsShort:l,weekdays:r("0x376f").split("_"),weekdaysShort:r("0x3212")[r("0x9e5")]("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س"[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x34e"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:r("0x4d71"),nextDay:r("0xe4b"),nextWeek:r("0x26cf"),lastDay:r("0xaea"),lastWeek:r("0x26cf"),sameElse:"L"},relativeTime:{future:r("0x4b02"),past:r("0xad6"),s:c("s"),ss:c("s"),m:c("m"),mm:c("m"),h:c("h"),hh:c("h"),d:c("d"),dd:c("d"),M:c("M"),MM:c("M"),y:c("y"),yy:c("y")},preparse:function(e){var t=r;return e[t("0x3cc0")](/[١٢٣٤٥٦٧٨٩٠]/g,(function(e){return o[e]}))[t("0x3cc0")](/،/g,",")},postformat:function(e){var t=r;return e[t("0x3cc0")](/\d/g,(function(e){return i[e]}))[t("0x3cc0")](/,/g,"،")},week:{dow:6,doy:12}})},1083:function(e,t,n){var a,r,i;a=n(381),i={1:(r=a2_0x37cf)("0xfe7"),5:r("0xfe7"),8:r("0xfe7"),70:r("0xfe7"),80:"-inci",2:"-nci",7:r("0x1c78"),20:r("0x1c78"),50:"-nci",3:"-üncü",4:r("0x4625"),100:"-üncü",6:r("0x43a2"),9:r("0x1c3c"),10:r("0x1c3c"),30:r("0x1c3c"),60:r("0x1402"),90:r("0x1402")},a[r("0x42e7")]("az",{months:r("0x32d6")[r("0x9e5")]("_"),monthsShort:r("0x468")[r("0x9e5")]("_"),weekdays:r("0x52a")[r("0x9e5")]("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən"[r("0x9e5")]("_"),weekdaysMin:r("0x7db")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x21f3"),LL:r("0x1719"),LLL:"D MMMM YYYY HH:mm",LLLL:r("0x262")},calendar:{sameDay:r("0x3aa6"),nextDay:r("0x317d"),nextWeek:r("0x1bf7"),lastDay:r("0x3f9a"),lastWeek:r("0x2d85"),sameElse:"L"},relativeTime:{future:"%s sonra",past:r("0x1124"),s:"bir neçə saniyə",ss:r("0x2163"),m:r("0xa52"),mm:r("0xed7"),h:"bir saat",hh:r("0x2814"),d:r("0x265c"),dd:r("0x1f14"),M:r("0x17e1"),MM:r("0xc9c"),y:"bir il",yy:r("0xe63")},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?"gecə":e<12?"səhər":e<17?r("0x3271"):"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+r("0x1402");var t=e%10,n=e%100-t,a=e>=100?100:null;return e+(i[t]||i[n]||i[a])},week:{dow:1,doy:7}})},9808:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t){var n=e[a2_0x37cf("0x9e5")]("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function a(e,t,a){var r=a2_0x37cf,i={ss:r(t?"0x670":"0x1cae"),mm:t?"хвіліна_хвіліны_хвілін":r("0xb2f"),hh:r(t?"0x26da":"0x4411"),dd:r("0x2487"),MM:r("0x38b4"),yy:r("0xa2a")};return"m"===a?r(t?"0x45ba":"0x1fc6"):"h"===a?r(t?"0x9f8":"0x47c9"):e+" "+n(i[a],+e)}e[t("0x42e7")]("be",{months:{format:t("0x2c98")[t("0x9e5")]("_"),standalone:t("0x22a")[t("0x9e5")]("_")},monthsShort:t("0x4f85").split("_"),weekdays:{format:t("0x1530")[t("0x9e5")]("_"),standalone:t("0x856")[t("0x9e5")]("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:t("0x44e3").split("_"),weekdaysMin:t("0x44e3")[t("0x9e5")]("_"),longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:t("0x21f3"),LL:t("0x32ef"),LLL:t("0x136c"),LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:t("0x4772"),nextDay:t("0xfed"),lastDay:"[Учора ў] LT",nextWeek:function(){return t("0x2da6")},lastWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:case 3:case 5:case 6:return e("0x4c1c");case 1:case 2:case 4:return e("0x3083")}},sameElse:"L"},relativeTime:{future:t("0x769"),past:t("0x4403"),s:t("0x4e3e"),m:a,mm:a,h:a,hh:a,d:t("0x1736"),dd:a,M:t("0x894"),MM:a,y:t("0x1755"),yy:a},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/[t("0x3ff3")](e)},meridiem:function(e,n,a){var r=t;return e<4?r("0x478a"):e<12?r("0xbad"):e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,n){var a=t;switch(n){case"M":case"d":case a("0x4044"):case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+a("0x118a");default:return e}},week:{dow:1,doy:7}})}(n(381))},8338:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември"[a("0x9e5")]("_"),monthsShort:a("0x4241")[a("0x9e5")]("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота"[a("0x9e5")]("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб"[a("0x9e5")]("_"),weekdaysMin:a("0x487d")[a("0x9e5")]("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:a("0x4041"),LL:a("0x1719"),LLL:a("0x4f80"),LLLL:a("0x4719")},calendar:{sameDay:a("0x493f"),nextDay:a("0x3e33"),nextWeek:a("0xe09"),lastDay:a("0x9ce"),lastWeek:function(){switch(this[a("0x1588")]()){case 0:case 3:case 6:return"[Миналата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[Миналия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:a("0xa4b"),past:a("0x353b"),s:"няколко секунди",ss:"%d секунди",m:a("0x2416"),mm:a("0x1745"),h:"час",hh:a("0x8c0"),d:a("0x1f02"),dd:"%d дена",w:a("0x2496"),ww:a("0x4a5"),M:a("0x1430"),MM:a("0x2cf6"),y:a("0x33ac"),yy:a("0x14ae")},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=a,n=e%10,r=e%100;return 0===e?e+t("0x9a7"):0===r?e+"-ен":r>10&&r<20?e+"-ти":1===n?e+t("0x985"):2===n?e+t("0x212c"):7===n||8===n?e+"-ми":e+t("0x3873")},week:{dow:1,doy:7}})},7438:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("bm",{months:r("0x2fc").split("_"),monthsShort:r("0x42bd")[r("0x9e5")]("_"),weekdays:r("0x1248")[r("0x9e5")]("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib"[r("0x9e5")]("_"),weekdaysMin:r("0x29cc")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:"HH:mm:ss",L:r("0x4fcb"),LL:"MMMM [tile] D [san] YYYY",LLL:r("0x4f13"),LLLL:r("0x446d")},calendar:{sameDay:r("0x64d"),nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:r("0x2e9f"),lastWeek:r("0x4f3a"),sameElse:"L"},relativeTime:{future:r("0x1782"),past:r("0x4300"),s:"sanga dama dama",ss:r("0x4eb9"),m:r("0x3c06"),mm:r("0x45e0"),h:r("0x35de"),hh:"lɛrɛ %d",d:r("0x3fa3"),dd:r("0xd21"),M:"kalo kelen",MM:r("0x171b"),y:r("0x4c43"),yy:"san %d"},week:{dow:1,doy:4}})},6225:function(e,t,n){var a,r,i,o;a=n(381),i={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},o={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"},a[(r=a2_0x37cf)("0x42e7")](r("0x2307"),{months:r("0x2665")[r("0x9e5")]("_"),monthsShort:r("0x1826")[r("0x9e5")]("_"),weekdays:r("0x97")[r("0x9e5")]("_"),weekdaysShort:r("0x14c9")[r("0x9e5")]("_"),weekdaysMin:r("0x1f95")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2ec8"),LTS:r("0x1374"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x46c6"),LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:r("0x3e"),nextDay:r("0x439f"),nextWeek:r("0x1262"),lastDay:"[গতকাল] LT",lastWeek:r("0x41f7"),sameElse:"L"},relativeTime:{future:"%s পরে",past:r("0x1d28"),s:"কয়েক সেকেন্ড",ss:r("0x4df1"),m:r("0x16a6"),mm:r("0xbd9"),h:r("0x47d6"),hh:r("0x2208"),d:r("0x23e"),dd:r("0x277"),M:r("0x3c60"),MM:"%d মাস",y:r("0x2e38"),yy:r("0x49a5")},preparse:function(e){return e[r("0x3cc0")](/[১২৩৪৫৬৭৮৯০]/g,(function(e){return o[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return i[e]}))},meridiemParse:/রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0x4263")?e<4?e:e+12:t===n("0x28a2")||t===n("0x4f3c")?e:t===n("0x708")?e>=3?e:e+12:t===n("0x2c8f")||"সন্ধ্যা"===t?e+12:void 0},meridiem:function(e,t,n){var a=r;return e<4?a("0x4263"):e<6?a("0x28a2"):e<12?"সকাল":a(e<15?"0x708":e<18?"0x2c8f":e<20?"0x4c25":"0x4263")},week:{dow:0,doy:6}})},8905:function(e,t,n){var a,r,i,o;a=n(381),i={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},o={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"},a[(r=a2_0x37cf)("0x42e7")]("bn",{months:"জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:r("0x1826")[r("0x9e5")]("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার"[r("0x9e5")]("_"),weekdaysShort:r("0x14c9")[r("0x9e5")]("_"),weekdaysMin:"রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি"[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2ec8"),LTS:r("0x1374"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x46c6"),LLLL:r("0x4d53")},calendar:{sameDay:r("0x3e"),nextDay:r("0x439f"),nextWeek:r("0x1262"),lastDay:r("0x5ab"),lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:r("0x4ba1"),past:"%s আগে",s:r("0x1c8c"),ss:r("0x4df1"),m:r("0x16a6"),mm:"%d মিনিট",h:r("0x47d6"),hh:r("0x2208"),d:r("0x23e"),dd:r("0x277"),M:r("0x3c60"),MM:"%d মাস",y:r("0x2e38"),yy:r("0x49a5")},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0x4263")&&e>=4||t===n("0x708")&&e<5||t===n("0x2c8f")?e+12:e},meridiem:function(e,t,n){var a=r;return e<4?a("0x4263"):e<10?"সকাল":a(e<17?"0x708":e<20?"0x2c8f":"0x4263")},week:{dow:0,doy:6}})},1560:function(e,t,n){var a,r,i,o;a=n(381),r=a2_0x37cf,i={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},o={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"},a.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:r("0x36a7")[r("0x9e5")]("_"),monthsShortRegex:/^(ཟླ་\d{1,2})/,monthsParseExact:!0,weekdays:r("0x1ef7")[r("0x9e5")]("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:r("0x2a61")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x3c4c"),LTS:r("0x73e"),L:r("0x4fcb"),LL:"D MMMM YYYY",LLL:r("0x364b"),LLLL:r("0x39f3")},calendar:{sameDay:"[དི་རིང] LT",nextDay:r("0x1955"),nextWeek:r("0x4e81"),lastDay:r("0x3424"),lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:r("0x377a"),past:"%s སྔན་ལ",s:r("0x4742"),ss:"%d སྐར་ཆ།",m:r("0x4377"),mm:r("0x32be"),h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:r("0x4d2c"),dd:r("0x1742"),M:r("0x15e9"),MM:r("0x3bdc"),y:r("0x2a67"),yy:r("0x3aca")},preparse:function(e){return e[r("0x3cc0")](/[༡༢༣༤༥༦༧༨༩༠]/g,(function(e){return o[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return i[e]}))},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0x2990")&&e>=4||t===n("0x598")&&e<5||t===n("0x4d8b")?e+12:e},meridiem:function(e,t,n){var a=r;return e<4?a("0x2990"):e<10?"ཞོགས་ཀས":e<17?a("0x598"):e<20?"དགོང་དག":a("0x2990")},week:{dow:0,doy:6}})},1278:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n){var a=a2_0x37cf;return e+" "+i({mm:a("0x1fee"),MM:a("0x3d0d"),dd:a("0x4fa1")}[n],e)}function a(e){var t=a2_0x37cf;switch(r(e)){case 1:case 3:case 4:case 5:case 9:return e+t("0x1411");default:return e+" vloaz"}}function r(e){return e>9?r(e%10):e}function i(e,t){return 2===t?o(e):e}function o(e){var t=a2_0x37cf,n={m:"v",b:"v",d:"z"};return void 0===n[e[t("0x24de")](0)]?e:n[e[t("0x24de")](0)]+e[t("0x35e7")](1)}var x=[/^gen/i,/^c[ʼ\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],s=/^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,c=/^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,l=/^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,d=[/^sul/i,/^lun/i,/^meurzh/i,/^merc[ʼ\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],u=[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],f=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];e[t("0x42e7")]("br",{months:"Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu"[t("0x9e5")]("_"),monthsShort:t("0x159a").split("_"),weekdays:"Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn"[t("0x9e5")]("_"),weekdaysShort:t("0x1340")[t("0x9e5")]("_"),weekdaysMin:t("0x424")[t("0x9e5")]("_"),weekdaysParse:f,fullWeekdaysParse:d,shortWeekdaysParse:u,minWeekdaysParse:f,monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:c,monthsShortStrictRegex:l,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:t("0x4fcb"),LL:t("0x3905"),LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:t("0x2716")},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warcʼhoazh da] LT",nextWeek:t("0x1812"),lastDay:t("0x4d12"),lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:t("0x1680"),past:t("0x30c4"),s:t("0xf55"),ss:t("0x3428"),m:t("0x2779"),mm:n,h:t("0x46"),hh:t("0x36fd"),d:t("0x4bf4"),dd:n,M:t("0x2926"),MM:n,y:"ur bloaz",yy:a},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){return e+(1===e?"añ":t("0x155"))},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,n,a){return e<12?"a.m.":t("0x35d8")}})}(n(381))},622:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n){var a=a2_0x37cf,r=e+" ";switch(n){case"ss":return r+=1===e?a("0x4d28"):2===e||3===e||4===e?"sekunde":a("0x497d");case"m":return a(t?"0x2ac1":"0x4563");case"mm":return r+=1===e?a("0x2b76"):2===e||3===e||4===e?"minute":"minuta";case"h":return a(t?"0x4a10":"0xcf8");case"hh":return r+=1===e?"sat":2===e||3===e||4===e?a("0x23bf"):"sati";case"dd":return r+=a(1===e?"0x1b26":"0x111a");case"MM":return r+=a(1===e?"0x329e":2===e||3===e||4===e?"0x2d70":"0x1baa");case"yy":return r+=1===e?"godina":a(2===e||3===e||4===e?"0x1704":"0x4f43")}}e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar"[t("0x9e5")]("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec."[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:t("0xb4").split("_"),weekdaysShort:t("0x258a")[t("0x9e5")]("_"),weekdaysMin:t("0xd5d")[t("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:t("0x49a6"),L:t("0x21f3"),LL:t("0x1bcc"),LLL:t("0x46fd"),LLLL:t("0x4e79")},calendar:{sameDay:t("0x240"),nextDay:"[sutra u] LT",nextWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return e("0xb77");case 3:return e("0x2304");case 6:return e("0x2c19");case 1:case 2:case 4:case 5:return e("0x45cb")}},lastDay:t("0x18c7"),lastWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:case 3:return e("0x14e1");case 6:return e("0x1365");case 1:case 2:case 4:case 5:return e("0x225d")}},sameElse:"L"},relativeTime:{future:t("0x39e3"),past:t("0x1062"),s:t("0x3977"),ss:n,m:n,mm:n,h:n,hh:n,d:t("0x1b26"),dd:n,M:t("0x329e"),MM:n,y:t("0x727"),yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:7}})}(n(381))},2468:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("ca",{months:{standalone:a("0x4dbe").split("_"),format:a("0x33e1").split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:a("0x51b")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte"[a("0x9e5")]("_"),weekdaysShort:a("0xc8d")[a("0x9e5")]("_"),weekdaysMin:a("0x3b30")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x13bc"),LTS:a("0x49a6"),L:a("0x4fcb"),LL:"D MMMM [de] YYYY",ll:a("0x1893"),LLL:a("0x415d"),lll:a("0x458d"),LLLL:a("0x45f3"),llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){var e=a;return e("0x2389")+(1!==this[e("0x1fa0")]()?e("0x13a6"):"la")+"] LT"},nextDay:function(){var e=a;return"[demà a "+(1!==this[e("0x1fa0")]()?e("0x13a6"):"la")+"] LT"},nextWeek:function(){var e=a;return e("0x1c28")+(1!==this[e("0x1fa0")]()?e("0x13a6"):"la")+e("0x4661")},lastDay:function(){var e=a;return e("0x23f")+(1!==this[e("0x1fa0")]()?"les":"la")+e("0x4661")},lastWeek:function(){var e=a;return e("0x226e")+(1!==this[e("0x1fa0")]()?"les":"la")+e("0x4661")},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:a("0x201d"),ss:a("0x12a0"),m:a("0xd00"),mm:a("0x45e"),h:a("0x2520"),hh:a("0x340e"),d:a("0x1370"),dd:a("0x1e3e"),M:a("0x1dfe"),MM:a("0x1b0"),y:a("0x1731"),yy:a("0x189e")},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return("w"===t||"W"===t)&&(n="a"),e+n},week:{dow:1,doy:4}})},5822:function(e,t,n){!function(e){var t=a2_0x37cf,n=t("0x384").split("_"),a=t("0x460")[t("0x9e5")]("_"),r=[/^led/i,/^úno/i,/^bře/i,/^dub/i,/^kvě/i,/^(čvn|červen$|června)/i,/^(čvc|červenec|července)/i,/^srp/i,/^zář/i,/^říj/i,/^lis/i,/^pro/i],i=/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;function o(e){return e>1&&e<5&&1!=~~(e/10)}function x(e,n,a,r){var i=t,x=e+" ";switch(a){case"s":return i(n||r?"0x2877":"0x4fd1");case"ss":return n||r?x+(o(e)?i("0x504"):i("0x227")):x+i("0x43c2");case"m":return i(n?"0x2b76":r?"0x26a2":"0x26e9");case"mm":return n||r?x+(o(e)?i("0x12e5"):i("0x3baa")):x+i("0x65d");case"h":return i(n?"0x472e":r?"0x2415":"0x331a");case"hh":return n||r?x+(o(e)?"hodiny":"hodin"):x+i("0x3c8a");case"d":return i(n||r?"0x29b":"0x4c5a");case"dd":return n||r?x+(o(e)?i("0x50a"):i("0x460b")):x+i("0x50a");case"M":return n||r?i("0x22e6"):"měsícem";case"MM":return n||r?x+(o(e)?"měsíce":i("0x3bb0")):x+i("0x4825");case"y":return n||r?"rok":"rokem";case"yy":return n||r?x+(o(e)?i("0x1e91"):i("0x1486")):x+i("0x111")}}e.defineLocale("cs",{months:n,monthsShort:a,monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota"[t("0x9e5")]("_"),weekdaysShort:t("0x338c")[t("0x9e5")]("_"),weekdaysMin:t("0x338c")[t("0x9e5")]("_"),longDateFormat:{LT:t("0x13bc"),LTS:"H:mm:ss",L:t("0x21f3"),LL:"D. MMMM YYYY",LLL:t("0x46fd"),LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:t("0x385"),nextDay:"[zítra v] LT",nextWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return e("0x476a");case 1:case 2:return e("0x2d3c");case 3:return e("0x25c4");case 4:return e("0xbfa");case 5:return e("0xa27");case 6:return"[v sobotu v] LT"}},lastDay:t("0x6a3"),lastWeek:function(){var e=t;switch(this.day()){case 0:return e("0x49b1");case 1:case 2:return e("0xddf");case 3:return"[minulou středu v] LT";case 4:case 5:return e("0x4303");case 6:return e("0x3fbb")}},sameElse:"L"},relativeTime:{future:"za %s",past:t("0x4ef3"),s:x,ss:x,m:x,mm:x,h:x,hh:x,d:x,dd:x,M:x,MM:x,y:x,yy:x},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},877:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("cv",{months:a("0x8fd")[a("0x9e5")]("_"),monthsShort:a("0x31e").split("_"),weekdays:a("0x3407")[a("0x9e5")]("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:a("0x3bf1")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0xf6c"),LL:a("0xd70"),LLL:a("0xc84"),LLLL:a("0x2535")},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:a("0x3178"),lastDay:a("0xa55"),nextWeek:a("0x18ab"),lastWeek:a("0x34f3"),sameElse:"L"},relativeTime:{future:function(e){var t=a;return e+(/сехет$/i[t("0x3629")](e)?t("0x348a"):/ҫул$/i[t("0x3629")](e)?"тан":t("0x71d"))},past:a("0x3d3d"),s:"пӗр-ик ҫеккунт",ss:a("0x4d05"),m:"пӗр минут",mm:a("0x2b08"),h:"пӗр сехет",hh:a("0x7b9"),d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:a("0x32dd"),yy:a("0x1b78")},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:a("0x870"),week:{dow:1,doy:7}})},7373:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr"[a("0x9e5")]("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag"[a("0x9e5")]("_"),weekdays:a("0x74a")[a("0x9e5")]("_"),weekdaysShort:a("0x166e")[a("0x9e5")]("_"),weekdaysMin:a("0x1d8b")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:a("0x3cdd"),nextWeek:a("0x3cb5"),lastDay:a("0x39d0"),lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:a("0x240c"),past:a("0x253b"),s:"ychydig eiliadau",ss:a("0x124e"),m:a("0x197"),mm:a("0x4272"),h:a("0x3f47"),hh:a("0x3d6a"),d:a("0x602"),dd:a("0xd18"),M:a("0x18b3"),MM:a("0x1f1b"),y:a("0x3a99"),yy:a("0x30ec")},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t=a,n=e,r="",i=["","af","il",t("0x32cf"),t("0x32cf"),"ed","ed","ed",t("0x2b7"),"fed","fed","eg","fed","eg","eg","fed","eg","eg",t("0x2b7"),"eg",t("0x2b7")];return n>20?r=t(40===n||50===n||60===n||80===n||100===n?"0x2b7":"0x846"):n>0&&(r=i[n]),e+r},week:{dow:1,doy:4}})},4780:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("da",{months:a("0x1047")[a("0x9e5")]("_"),monthsShort:a("0x123c")[a("0x9e5")]("_"),weekdays:a("0x298d")[a("0x9e5")]("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:a("0x496e")[a("0x9e5")]("_"),longDateFormat:{LT:"HH:mm",LTS:a("0x2dbb"),L:"DD.MM.YYYY",LL:a("0x1bcc"),LLL:a("0x4dd5"),LLLL:a("0x8db")},calendar:{sameDay:a("0xc47"),nextDay:a("0x2799"),nextWeek:a("0x247e"),lastDay:a("0x44a4"),lastWeek:a("0x162d"),sameElse:"L"},relativeTime:{future:a("0x1cbe"),past:a("0x1bda"),s:"få sekunder",ss:a("0x4c9d"),m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:a("0x2a88"),dd:a("0x4134"),M:"en måned",MM:a("0x3cb8"),y:"et år",yy:a("0x1e86")},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:a("0x3f1c"),week:{dow:1,doy:4}})},217:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i={m:["eine Minute",r("0x4f9d")],h:[r("0x3112"),r("0x4d9")],d:[r("0x3374"),r("0x4caf")],dd:[e+r("0x9eb"),e+" Tagen"],w:[r("0x2eb6"),r("0x29b0")],M:[r("0x1b7e"),"einem Monat"],MM:[e+r("0x12b"),e+r("0x799")],y:[r("0x543"),r("0x2d01")],yy:[e+r("0x3c3d"),e+" Jahren"]};return t?i[n][0]:i[n][1]}e[t("0x42e7")](t("0x4e29"),{months:t("0x23d1")[t("0x9e5")]("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:t("0x2f13").split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:t("0x21f3"),LL:t("0x1bcc"),LLL:t("0x4dd5"),LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:t("0x1cf8"),nextWeek:t("0x3816"),lastDay:t("0x118b"),lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:t("0x2b93"),past:t("0x138f"),s:t("0x25a3"),ss:"%d Sekunden",m:n,mm:t("0x2b83"),h:n,hh:"%d Stunden",d:n,dd:n,w:n,ww:"%d Wochen",M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},894:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i={m:[r("0x2125"),"einer Minute"],h:[r("0x3112"),r("0x4d9")],d:[r("0x3374"),r("0x4caf")],dd:[e+" Tage",e+r("0x2290")],w:[r("0x2eb6"),r("0x29b0")],M:["ein Monat",r("0x106")],MM:[e+" Monate",e+r("0x799")],y:[r("0x543"),"einem Jahr"],yy:[e+" Jahre",e+r("0x335")]};return t?i[n][0]:i[n][1]}e[t("0x42e7")](t("0x141d"),{months:t("0x4a42")[t("0x9e5")]("_"),monthsShort:t("0x3594").split("_"),monthsParseExact:!0,weekdays:t("0x219").split("_"),weekdaysShort:t("0x2467").split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa"[t("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:"DD.MM.YYYY",LL:t("0x1bcc"),LLL:t("0x4dd5"),LLLL:t("0x1897")},calendar:{sameDay:t("0xe62"),sameElse:"L",nextDay:t("0x1cf8"),nextWeek:t("0x3816"),lastDay:t("0x118b"),lastWeek:t("0x45bb")},relativeTime:{future:t("0x2b93"),past:"vor %s",s:t("0x25a3"),ss:t("0x41ac"),m:n,mm:t("0x2b83"),h:n,hh:t("0x10a9"),d:n,dd:n,w:n,ww:"%d Wochen",M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},9740:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i={m:[r("0x2125"),r("0x4f9d")],h:[r("0x3112"),r("0x4d9")],d:["ein Tag",r("0x4caf")],dd:[e+" Tage",e+r("0x2290")],w:[r("0x2eb6"),r("0x29b0")],M:[r("0x1b7e"),r("0x106")],MM:[e+r("0x12b"),e+" Monaten"],y:[r("0x543"),r("0x2d01")],yy:[e+r("0x3c3d"),e+" Jahren"]};return t?i[n][0]:i[n][1]}e[t("0x42e7")]("de",{months:t("0x4a42").split("_"),monthsShort:t("0x3594")[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:t("0x219")[t("0x9e5")]("_"),weekdaysShort:t("0x2f13").split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:t("0x21f3"),LL:t("0x1bcc"),LLL:t("0x4dd5"),LLLL:t("0x1897")},calendar:{sameDay:t("0xe62"),sameElse:"L",nextDay:t("0x1cf8"),nextWeek:t("0x3816"),lastDay:t("0x118b"),lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:t("0x2b93"),past:t("0x138f"),s:t("0x25a3"),ss:t("0x41ac"),m:n,mm:t("0x2b83"),h:n,hh:t("0x10a9"),d:n,dd:n,w:n,ww:t("0x3ccb"),M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},5300:function(e,t,n){var a,r,i,o;a=n(381),i=[(r=a2_0x37cf)("0x345d"),"ފެބްރުއަރީ","މާރިޗު",r("0x30b8"),"މޭ",r("0x49e0"),r("0x25b5"),"އޯގަސްޓު",r("0x20d9"),"އޮކްޓޯބަރު",r("0x46de"),r("0x2a7a")],o=[r("0x1606"),"ހޯމަ",r("0x4788"),r("0x2484"),"ބުރާސްފަތި","ހުކުރު",r("0x4089")],a[r("0x42e7")]("dv",{months:i,monthsShort:i,weekdays:o,weekdaysShort:o,weekdaysMin:r("0xf6d")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4efe"),LL:r("0x1719"),LLL:"D MMMM YYYY HH:mm",LLLL:r("0x37c2")},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,n){return e<12?"މކ":"މފ"},calendar:{sameDay:r("0xdd3"),nextDay:r("0x1e7d"),nextWeek:r("0x3f9f"),lastDay:"[އިއްޔެ] LT",lastWeek:r("0x1329"),sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:r("0x421a"),s:r("0x2dcc"),ss:r("0x4c05"),m:r("0x398e"),mm:r("0x178f"),h:"ގަޑިއިރެއް",hh:r("0x3d58"),d:r("0x46b8"),dd:r("0x3fcb"),M:r("0x4e2"),MM:r("0x99d"),y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e[r("0x3cc0")](/,/g,"،")},week:{dow:7,doy:12}})},837:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e){var t=a2_0x37cf;return typeof Function!==t("0xc42")&&e instanceof Function||"[object Function]"===Object[t("0x20f")].toString[t("0x3c6b")](e)}e[t("0x42e7")]("el",{monthsNominativeEl:t("0x3e52")[t("0x9e5")]("_"),monthsGenitiveEl:t("0x1de5")[t("0x9e5")]("_"),months:function(e,n){var a=t;return e?typeof n===a("0x38b7")&&/D/.test(n.substring(0,n[a("0x3507")]("MMMM")))?this[a("0x24eb")][e[a("0x1b62")]()]:this[a("0x1d11")][e[a("0x1b62")]()]:this[a("0x1d11")]},monthsShort:t("0x18bf")[t("0x9e5")]("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο"[t("0x9e5")]("_"),weekdaysShort:t("0xdf4")[t("0x9e5")]("_"),weekdaysMin:t("0x3bcc")[t("0x9e5")]("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"")[t("0x2eb9")]()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:t("0x1989"),L:"DD/MM/YYYY",LL:t("0x1719"),LLL:t("0x4980"),LLLL:t("0x4897")},calendarEl:{sameDay:t("0x35cc"),nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:t("0x175e"),lastWeek:function(){var e=t;switch(this[e("0x1588")]()){case 6:return e("0x38f0");default:return e("0x200e")}},sameElse:"L"},calendar:function(e,a){var r=t,i=this[r("0x4c3a")][e],o=a&&a[r("0x1fa0")]();return n(i)&&(i=i.apply(a)),i.replace("{}",o%12==1?r("0x3495"):"στις")},relativeTime:{future:t("0x188f"),past:t("0x1fb0"),s:t("0x1bf6"),ss:t("0x46f9"),m:t("0x1524"),mm:t("0x35c0"),h:t("0x6d9"),hh:t("0x2417"),d:"μία μέρα",dd:t("0x49e7"),M:"ένας μήνας",MM:t("0x3e65"),y:t("0xfc4"),yy:t("0x384d")},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:t("0x38a9"),week:{dow:1,doy:4}})}(n(381))},8348:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale(r("0x2900"),{months:r("0x4698")[r("0x9e5")]("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec"[r("0x9e5")]("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday"[r("0x9e5")]("_"),weekdaysShort:r("0x880")[r("0x9e5")]("_"),weekdaysMin:r("0x218d").split("_"),longDateFormat:{LT:r("0x1bc1"),LTS:r("0x1989"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x4980"),LLLL:r("0x4897")},calendar:{sameDay:r("0x1738"),nextDay:r("0x251f"),nextWeek:"dddd [at] LT",lastDay:r("0x12c6"),lastWeek:r("0x9d6"),sameElse:"L"},relativeTime:{future:"in %s",past:r("0x1121"),s:r("0x2207"),ss:"%d seconds",m:r("0x2c12"),mm:r("0x19b1"),h:r("0x3a25"),hh:r("0x1737"),d:"a day",dd:r("0x3ab4"),M:"a month",MM:r("0x696"),y:"a year",yy:r("0x3a51")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:0,doy:4}})},7925:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x3b8e"),{months:a("0x4698")[a("0x9e5")]("_"),monthsShort:a("0x3551")[a("0x9e5")]("_"),weekdays:a("0x186")[a("0x9e5")]("_"),weekdaysShort:a("0x880")[a("0x9e5")]("_"),weekdaysMin:a("0x218d")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x1bc1"),LTS:a("0x1989"),L:"YYYY-MM-DD",LL:a("0x276b"),LLL:a("0x4eb3"),LLLL:a("0x4792")},calendar:{sameDay:a("0x1738"),nextDay:a("0x251f"),nextWeek:a("0x4b21"),lastDay:a("0x12c6"),lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:a("0x1121"),s:a("0x2207"),ss:a("0x992"),m:a("0x2c12"),mm:a("0x19b1"),h:"an hour",hh:a("0x1737"),d:a("0x4653"),dd:a("0x3ab4"),M:a("0x31db"),MM:a("0x696"),y:a("0x3f48"),yy:a("0x3a51")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}})},2243:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale(r("0x6f2"),{months:r("0x4698")[r("0x9e5")]("_"),monthsShort:r("0x3551")[r("0x9e5")]("_"),weekdays:r("0x186")[r("0x9e5")]("_"),weekdaysShort:r("0x880").split("_"),weekdaysMin:r("0x218d")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:r("0x262")},calendar:{sameDay:r("0x1738"),nextDay:r("0x251f"),nextWeek:r("0x4b21"),lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:r("0x2b93"),past:r("0x1121"),s:r("0x2207"),ss:r("0x992"),m:r("0x2c12"),mm:r("0x19b1"),h:r("0x3a25"),hh:"%d hours",d:r("0x4653"),dd:r("0x3ab4"),M:r("0x31db"),MM:r("0x696"),y:r("0x3f48"),yy:r("0x3a51")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})},6436:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x1c99"),{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:a("0x3551")[a("0x9e5")]("_"),weekdays:a("0x186")[a("0x9e5")]("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:a("0x218d").split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:"DD/MM/YYYY",LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x37c2")},calendar:{sameDay:a("0x1738"),nextDay:"[Tomorrow at] LT",nextWeek:a("0x4b21"),lastDay:a("0x12c6"),lastWeek:a("0x9d6"),sameElse:"L"},relativeTime:{future:a("0x2b93"),past:a("0x1121"),s:a("0x2207"),ss:a("0x992"),m:"a minute",mm:a("0x19b1"),h:a("0x3a25"),hh:a("0x1737"),d:a("0x4653"),dd:"%d days",M:a("0x31db"),MM:"%d months",y:a("0x3f48"),yy:a("0x3a51")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})},7207:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x343a"),{months:a("0x4698")[a("0x9e5")]("_"),monthsShort:a("0x3551")[a("0x9e5")]("_"),weekdays:a("0x186")[a("0x9e5")]("_"),weekdaysShort:a("0x880")[a("0x9e5")]("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa"[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:a("0x1738"),nextDay:a("0x251f"),nextWeek:"dddd [at] LT",lastDay:a("0x12c6"),lastWeek:a("0x9d6"),sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:a("0x2207"),ss:a("0x992"),m:a("0x2c12"),mm:a("0x19b1"),h:a("0x3a25"),hh:a("0x1737"),d:a("0x4653"),dd:a("0x3ab4"),M:a("0x31db"),MM:"%d months",y:a("0x3f48"),yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}})},4175:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x9e2"),{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:a("0x3551").split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday"[a("0x9e5")]("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat"[a("0x9e5")]("_"),weekdaysMin:a("0x218d")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x1bc1"),LTS:a("0x1989"),L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x4980"),LLLL:a("0x4897")},calendar:{sameDay:a("0x1738"),nextDay:a("0x251f"),nextWeek:a("0x4b21"),lastDay:a("0x12c6"),lastWeek:a("0x9d6"),sameElse:"L"},relativeTime:{future:a("0x2b93"),past:a("0x1121"),s:"a few seconds",ss:a("0x992"),m:a("0x2c12"),mm:a("0x19b1"),h:a("0x3a25"),hh:a("0x1737"),d:a("0x4653"),dd:a("0x3ab4"),M:a("0x31db"),MM:a("0x696"),y:"a year",yy:a("0x3a51")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:0,doy:6}})},6319:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x35e2"),{months:"January_February_March_April_May_June_July_August_September_October_November_December"[a("0x9e5")]("_"),monthsShort:a("0x3551")[a("0x9e5")]("_"),weekdays:a("0x186")[a("0x9e5")]("_"),weekdaysShort:a("0x880")[a("0x9e5")]("_"),weekdaysMin:a("0x218d").split("_"),longDateFormat:{LT:a("0x1bc1"),LTS:a("0x1989"),L:"DD/MM/YYYY",LL:a("0x1719"),LLL:a("0x4980"),LLLL:a("0x4897")},calendar:{sameDay:"[Today at] LT",nextDay:a("0x251f"),nextWeek:"dddd [at] LT",lastDay:a("0x12c6"),lastWeek:a("0x9d6"),sameElse:"L"},relativeTime:{future:a("0x2b93"),past:"%s ago",s:a("0x2207"),ss:a("0x992"),m:a("0x2c12"),mm:a("0x19b1"),h:a("0x3a25"),hh:"%d hours",d:a("0x4653"),dd:"%d days",M:a("0x31db"),MM:"%d months",y:"a year",yy:a("0x3a51")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})},1662:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x164b"),{months:a("0x4698")[a("0x9e5")]("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec"[a("0x9e5")]("_"),weekdays:a("0x186").split("_"),weekdaysShort:a("0x880")[a("0x9e5")]("_"),weekdaysMin:a("0x218d").split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:a("0x262")},calendar:{sameDay:a("0x1738"),nextDay:a("0x251f"),nextWeek:a("0x4b21"),lastDay:"[Yesterday at] LT",lastWeek:a("0x9d6"),sameElse:"L"},relativeTime:{future:a("0x2b93"),past:a("0x1121"),s:a("0x2207"),ss:a("0x992"),m:"a minute",mm:a("0x19b1"),h:a("0x3a25"),hh:a("0x1737"),d:"a day",dd:a("0x3ab4"),M:"a month",MM:"%d months",y:"a year",yy:a("0x3a51")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})},2915:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("eo",{months:a("0x4fb4")[a("0x9e5")]("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec"[a("0x9e5")]("_"),weekdays:a("0x1165")[a("0x9e5")]("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab"[a("0x9e5")]("_"),weekdaysMin:a("0x4ac1")[a("0x9e5")]("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:a("0x2114"),LL:"[la] D[-an de] MMMM, YYYY",LLL:a("0x37db"),LLLL:a("0x1746"),llll:a("0x109c")},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){var r=a;return r(e>11?n?"0x2e1d":"0x482":n?"0x12e3":"0x455")},calendar:{sameDay:a("0x4d7a"),nextDay:a("0x482d"),nextWeek:a("0x957"),lastDay:a("0x2b80"),lastWeek:a("0x178a"),sameElse:"L"},relativeTime:{future:a("0x3106"),past:"antaŭ %s",s:"kelkaj sekundoj",ss:a("0x48fc"),m:a("0x3994"),mm:a("0x15a5"),h:"unu horo",hh:"%d horoj",d:"unu tago",dd:a("0x61d"),M:a("0x276d"),MM:a("0x2893"),y:a("0x564"),yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:a("0xd97"),week:{dow:1,doy:7}})},5251:function(e,t,n){var a,r,i,o,x,s;a=n(381),i=(r=a2_0x37cf)("0x3c7f")[r("0x9e5")]("_"),o=r("0x3eb5")[r("0x9e5")]("_"),x=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,a[r("0x42e7")](r("0x3e97"),{months:r("0x3e80").split("_"),monthsShort:function(e,t){var n=r;return e?/-MMM-/[n("0x3ff3")](t)?o[e[n("0x1b62")]()]:i[e[n("0x1b62")]()]:i},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,weekdays:r("0x4b94")[r("0x9e5")]("_"),weekdaysShort:r("0xa39")[r("0x9e5")]("_"),weekdaysMin:r("0x6f3")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x1bc1"),LTS:r("0x1989"),L:"DD/MM/YYYY",LL:r("0x1f9f"),LLL:r("0x3673"),LLLL:r("0x262a")},calendar:{sameDay:function(){var e=r;return e("0x4072")+(1!==this[e("0x1fa0")]()?"s":"")+"] LT"},nextDay:function(){var e=r;return e("0xf01")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},nextWeek:function(){var e=r;return e("0x37d")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},lastDay:function(){var e=r;return e("0xf33")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},lastWeek:function(){return r("0x4f7d")+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:r("0x2b47"),past:r("0x2d17"),s:r("0x13a7"),ss:"%d segundos",m:r("0x204"),mm:r("0x4783"),h:"una hora",hh:"%d horas",d:r("0x1514"),dd:r("0x443f"),w:"una semana",ww:r("0x24ca"),M:r("0x1dfe"),MM:r("0x46cf"),y:"un año",yy:r("0x1ade")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:r("0xbfb"),week:{dow:1,doy:4}})},6112:function(e,t,n){var a,r,i,o,x,s;a=n(381),i="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic."[(r=a2_0x37cf)("0x9e5")]("_"),o=r("0x3eb5")[r("0x9e5")]("_"),x=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,a[r("0x42e7")](r("0x4b3d"),{months:r("0x3e80")[r("0x9e5")]("_"),monthsShort:function(e,t){var n=r;return e?/-MMM-/[n("0x3ff3")](t)?o[e[n("0x1b62")]()]:i[e[n("0x1b62")]()]:i},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,weekdays:r("0x4b94")[r("0x9e5")]("_"),weekdaysShort:r("0xa39")[r("0x9e5")]("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x13bc"),LTS:"H:mm:ss",L:r("0x4fcb"),LL:r("0x1f9f"),LLL:r("0x3131"),LLLL:r("0x26b6")},calendar:{sameDay:function(){var e=r;return e("0x4072")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},nextDay:function(){var e=r;return e("0xf01")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},nextWeek:function(){var e=r;return"dddd [a la"+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},lastDay:function(){var e=r;return"[ayer a la"+(1!==this.hours()?"s":"")+e("0x4661")},lastWeek:function(){var e=r;return e("0x4f7d")+(1!==this[e("0x1fa0")]()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:r("0x2d17"),s:r("0x13a7"),ss:r("0x141b"),m:"un minuto",mm:r("0x4783"),h:r("0x2520"),hh:"%d horas",d:r("0x1514"),dd:r("0x443f"),w:"una semana",ww:"%d semanas",M:r("0x1dfe"),MM:r("0x46cf"),y:r("0x13b5"),yy:r("0x1ade")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:r("0xbfb"),week:{dow:0,doy:4},invalidDate:r("0x186f")})},1146:function(e,t,n){var a,r,i,o,x,s;a=n(381),i=(r=a2_0x37cf)("0x3c7f")[r("0x9e5")]("_"),o=r("0x3eb5")[r("0x9e5")]("_"),x=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,a[r("0x42e7")](r("0x4df4"),{months:r("0x3e80").split("_"),monthsShort:function(e,t){var n=r;return e?/-MMM-/[n("0x3ff3")](t)?o[e[n("0x1b62")]()]:i[e[n("0x1b62")]()]:i},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,weekdays:r("0x4b94")[r("0x9e5")]("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb."[r("0x9e5")]("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá"[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:r("0x1f9f"),LLL:r("0x3673"),LLLL:r("0x262a")},calendar:{sameDay:function(){var e=r;return e("0x4072")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},nextDay:function(){var e=r;return"[mañana a la"+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},nextWeek:function(){var e=r;return e("0x37d")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},lastDay:function(){var e=r;return e("0xf33")+(1!==this.hours()?"s":"")+e("0x4661")},lastWeek:function(){var e=r;return e("0x4f7d")+(1!==this.hours()?"s":"")+e("0x4661")},sameElse:"L"},relativeTime:{future:r("0x2b47"),past:"hace %s",s:r("0x13a7"),ss:r("0x141b"),m:"un minuto",mm:r("0x4783"),h:"una hora",hh:r("0x3fcf"),d:r("0x1514"),dd:r("0x443f"),w:"una semana",ww:r("0x24ca"),M:r("0x1dfe"),MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:r("0xbfb"),week:{dow:0,doy:6}})},5655:function(e,t,n){var a,r,i,o,x,s;a=n(381),i=(r=a2_0x37cf)("0x3c7f")[r("0x9e5")]("_"),o=r("0x3eb5").split("_"),x=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,a.defineLocale("es",{months:r("0x3e80")[r("0x9e5")]("_"),monthsShort:function(e,t){var n=r;return e?/-MMM-/.test(t)?o[e.month()]:i[e[n("0x1b62")]()]:i},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,weekdays:r("0x4b94").split("_"),weekdaysShort:r("0xa39").split("_"),weekdaysMin:r("0x6f3")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x13bc"),LTS:r("0x49a6"),L:r("0x4fcb"),LL:r("0x1f9f"),LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:r("0x26b6")},calendar:{sameDay:function(){var e=r;return e("0x4072")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},nextDay:function(){var e=r;return"[mañana a la"+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},nextWeek:function(){var e=r;return e("0x37d")+(1!==this[e("0x1fa0")]()?"s":"")+e("0x4661")},lastDay:function(){var e=r;return"[ayer a la"+(1!==this.hours()?"s":"")+e("0x4661")},lastWeek:function(){var e=r;return e("0x4f7d")+(1!==this[e("0x1fa0")]()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:r("0x2b47"),past:r("0x2d17"),s:"unos segundos",ss:r("0x141b"),m:r("0x204"),mm:r("0x4783"),h:"una hora",hh:r("0x3fcf"),d:r("0x1514"),dd:r("0x443f"),w:"una semana",ww:r("0x24ca"),M:r("0x1dfe"),MM:r("0x46cf"),y:r("0x13b5"),yy:r("0x1ade")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4},invalidDate:r("0x186f")})},5603:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i={s:[r("0x1823"),"mõni sekund",r("0x12d3")],ss:[e+r("0x497d"),e+r("0x25ef")],m:["ühe minuti","üks minut"],mm:[e+r("0x3bcf"),e+r("0x49e8")],h:[r("0x737"),r("0x2070"),r("0x105b")],hh:[e+r("0xdcc"),e+r("0x45b5")],d:[r("0x37ec"),r("0x72b")],M:["kuu aja",r("0x35d3"),"üks kuu"],MM:[e+r("0x3a8d"),e+" kuud"],y:[r("0x2271"),"aasta",r("0x2297")],yy:[e+r("0x260"),e+r("0x2a06")]};return t?i[n][2]?i[n][2]:i[n][1]:a?i[n][0]:i[n][1]}e.defineLocale("et",{months:t("0x3310")[t("0x9e5")]("_"),monthsShort:t("0x29ea")[t("0x9e5")]("_"),weekdays:t("0x1ac0")[t("0x9e5")]("_"),weekdaysShort:t("0x19e7")[t("0x9e5")]("_"),weekdaysMin:t("0x19e7").split("_"),longDateFormat:{LT:t("0x13bc"),LTS:t("0x49a6"),L:t("0x21f3"),LL:t("0x1bcc"),LLL:t("0x46fd"),LLLL:t("0x4e79")},calendar:{sameDay:t("0x2f9f"),nextDay:t("0x2190"),nextWeek:t("0x3ca7"),lastDay:t("0x34eb"),lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:t("0x39f9"),past:"%s tagasi",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:t("0x5b5"),M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},7763:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("eu",{months:a("0x3931")[a("0x9e5")]("_"),monthsShort:a("0x24c3")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0xd99")[a("0x9e5")]("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr."[a("0x9e5")]("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr"[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x2114"),LL:a("0x2f67"),LLL:a("0x3fe0"),LLLL:a("0x4ef8"),l:a("0x167b"),ll:a("0x4182"),lll:a("0x34cc"),llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:a("0x13f5"),lastDay:a("0x16e4"),lastWeek:a("0x983"),sameElse:"L"},relativeTime:{future:"%s barru",past:a("0x2ff0"),s:a("0x19cd"),ss:a("0x3596"),m:"minutu bat",mm:a("0x3df"),h:a("0xf65"),hh:a("0x238a"),d:a("0x126a"),dd:a("0x119d"),M:a("0x12e0"),MM:"%d hilabete",y:a("0x1ba5"),yy:a("0x319d")},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:a("0x3f1c"),week:{dow:1,doy:7}})},6959:function(e,t,n){var a,r,i,o;a=n(381),i={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},o={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},a[(r=a2_0x37cf)("0x42e7")]("fa",{months:r("0x3e76").split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر"[r("0x9e5")]("_"),weekdays:r("0x1e6c")[r("0x9e5")]("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه"[r("0x9e5")]("_"),weekdaysMin:r("0x470c")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:r("0x1719"),LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/[r("0x3ff3")](e)},meridiem:function(e,t,n){var a=r;return a(e<12?"0x489c":"0x1781")},calendar:{sameDay:r("0x282f"),nextDay:r("0xfbc"),nextWeek:r("0x42f9"),lastDay:r("0x204f"),lastWeek:r("0x9ad"),sameElse:"L"},relativeTime:{future:r("0x19d9"),past:r("0x4840"),s:r("0x1f7b"),ss:"%d ثانیه",m:r("0x3329"),mm:r("0xe56"),h:r("0xf4f"),hh:r("0x3f04"),d:r("0x4b90"),dd:r("0x363a"),M:r("0xaca"),MM:r("0x2e87"),y:r("0x149a"),yy:r("0x4209")},preparse:function(e){var t=r;return e[t("0x3cc0")](/[۰-۹]/g,(function(e){return o[e]}))[t("0x3cc0")](/،/g,",")},postformat:function(e){var t=r;return e[t("0x3cc0")](/\d/g,(function(e){return i[e]}))[t("0x3cc0")](/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})},1897:function(e,t,n){!function(e){var t=a2_0x37cf,n=t("0x40c3")[t("0x9e5")](" "),a=[t("0x3429"),t("0x4ef1"),t("0x36aa"),t("0x2a3b"),t("0x43b5"),t("0x42ea"),t("0x1313"),n[7],n[8],n[9]];function r(e,n,a,r){var o=t,x="";switch(a){case"s":return o(r?"0x21d4":"0x25c8");case"ss":x=o(r?"0x40e8":"0x3ca9");break;case"m":return o(r?"0x4b8f":"0x2c9d");case"mm":x=o(r?"0x4b8f":"0x2dd5");break;case"h":return o(r?"0x35eb":"0x393c");case"hh":x=o(r?"0x35eb":"0x33aa");break;case"d":return o(r?"0x2a59":"0x49c1");case"dd":x=o(r?"0x2a59":"0x2976");break;case"M":return r?"kuukauden":o("0x32af");case"MM":x=o(r?"0x2d49":"0x2493");break;case"y":return o(r?"0x48cf":"0xf25");case"yy":x=o(r?"0x48cf":"0x307")}return x=i(e,r)+" "+x}function i(e,t){return e<10?t?a[e]:n[e]:e}e[t("0x42e7")]("fi",{months:t("0x469b")[t("0x9e5")]("_"),monthsShort:t("0x297f")[t("0x9e5")]("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:t("0x217e").split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la"[t("0x9e5")]("_"),longDateFormat:{LT:"HH.mm",LTS:t("0x1e15"),L:t("0x21f3"),LL:t("0xd64"),LLL:t("0x4bd4"),LLLL:t("0x4a0b"),l:t("0x15ab"),ll:t("0x1617"),lll:t("0x3698"),llll:t("0x2234")},calendar:{sameDay:t("0x510"),nextDay:"[huomenna] [klo] LT",nextWeek:t("0x2dc6"),lastDay:t("0x2f17"),lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:t("0x3f4c"),past:t("0x47b2"),s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(381))},2549:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("fil",{months:a("0x48bf")[a("0x9e5")]("_"),monthsShort:a("0x4ce0")[a("0x9e5")]("_"),weekdays:a("0x1ba9").split("_"),weekdaysShort:a("0x43b2")[a("0x9e5")]("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab"[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:"MM/D/YYYY",LL:a("0x276b"),LLL:a("0x81"),LLLL:a("0x233d")},calendar:{sameDay:"LT [ngayong araw]",nextDay:a("0x3381"),nextWeek:a("0x2265"),lastDay:a("0x2065"),lastWeek:a("0x4721"),sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:a("0xe2c"),s:a("0xf6"),ss:a("0x3596"),m:a("0xff3"),mm:a("0x8ee"),h:a("0x32cd"),hh:a("0x3aba"),d:"isang araw",dd:a("0x247f"),M:a("0x43a7"),MM:a("0x19b8"),y:a("0x5cc"),yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})},4694:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("fo",{months:a("0x3578")[a("0x9e5")]("_"),monthsShort:a("0xc6e").split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:a("0x4b88").split("_"),weekdaysMin:a("0x4394")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x13f4")},calendar:{sameDay:a("0x3b60"),nextDay:a("0xba7"),nextWeek:a("0x30b1"),lastDay:"[Í gjár kl.] LT",lastWeek:a("0x2950"),sameElse:"L"},relativeTime:{future:a("0xf9f"),past:a("0xc9b"),s:a("0x1a12"),ss:a("0x25f7"),m:a("0xba3"),mm:a("0x4eec"),h:a("0x2041"),hh:"%d tímar",d:a("0x2541"),dd:a("0x181e"),M:"ein mánaður",MM:a("0x1771"),y:"eitt ár",yy:a("0x36b7")},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:a("0x3f1c"),week:{dow:1,doy:4}})},3049:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("fr-ca",{months:a("0x3b65")[a("0x9e5")]("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam."[a("0x9e5")]("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x37c2")},calendar:{sameDay:a("0x4cf"),nextDay:"[Demain à] LT",nextWeek:a("0xed2"),lastDay:a("0x2d2b"),lastWeek:a("0xd1d"),sameElse:"L"},relativeTime:{future:a("0x4b04"),past:a("0x16ac"),s:"quelques secondes",ss:a("0x5b6"),m:a("0x2706"),mm:a("0x19b1"),h:a("0x17ce"),hh:a("0x3290"),d:"un jour",dd:a("0x360a"),M:a("0x4ab9"),MM:a("0x2a9a"),y:a("0x4b5c"),yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case a("0x4044"):case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}})},2330:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x19c0"),{months:a("0x3b65")[a("0x9e5")]("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc."[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0x1dc2")[a("0x9e5")]("_"),weekdaysShort:a("0x4be8")[a("0x9e5")]("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa"[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x21f3"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:a("0x4cf"),nextDay:a("0x3235"),nextWeek:a("0xed2"),lastDay:"[Hier à] LT",lastWeek:a("0xd1d"),sameElse:"L"},relativeTime:{future:a("0x4b04"),past:"il y a %s",s:"quelques secondes",ss:a("0x5b6"),m:a("0x2706"),mm:a("0x19b1"),h:"une heure",hh:a("0x3290"),d:"un jour",dd:a("0x360a"),M:"un mois",MM:"%d mois",y:a("0x4b5c"),yy:a("0x4e21")},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case a("0x4044"):case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})},4470:function(e,t,n){var a,r,i,o,x,s;a=n(381),i=/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,o=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,x=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,s=[/^janv/i,/^févr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^août/i,/^sept/i,/^oct/i,/^nov/i,/^déc/i],a[(r=a2_0x37cf)("0x42e7")]("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre"[r("0x9e5")]("_"),monthsShort:r("0xfd5")[r("0x9e5")]("_"),monthsRegex:x,monthsShortRegex:x,monthsStrictRegex:i,monthsShortStrictRegex:o,monthsParse:s,longMonthsParse:s,shortMonthsParse:s,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam."[r("0x9e5")]("_"),weekdaysMin:r("0x3f74").split("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:"DD/MM/YYYY",LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},calendar:{sameDay:r("0x4cf"),nextDay:"[Demain à] LT",nextWeek:r("0xed2"),lastDay:r("0x2d2b"),lastWeek:r("0xd1d"),sameElse:"L"},relativeTime:{future:r("0x4b04"),past:"il y a %s",s:"quelques secondes",ss:r("0x5b6"),m:r("0x2706"),mm:r("0x19b1"),h:"une heure",hh:r("0x3290"),d:r("0x22b6"),dd:r("0x360a"),w:r("0x237b"),ww:r("0x1b27"),M:r("0x4ab9"),MM:r("0x2a9a"),y:r("0x4b5c"),yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case r("0x4044"):case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})},5044:function(e,t,n){var a,r,i,o;a=n(381),i=(r=a2_0x37cf)("0x3d2").split("_"),o=r("0x362f")[r("0x9e5")]("_"),a[r("0x42e7")]("fy",{months:r("0x43a6")[r("0x9e5")]("_"),monthsShort:function(e,t){var n=r;return e?/-MMM-/.test(t)?o[e.month()]:i[e[n("0x1b62")]()]:i},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon"[r("0x9e5")]("_"),weekdaysShort:r("0x1d01").split("_"),weekdaysMin:r("0x4278").split("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0xf6c"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},calendar:{sameDay:r("0x21af"),nextDay:r("0x14e5"),nextWeek:r("0x86"),lastDay:r("0xf03"),lastWeek:r("0x3c5a"),sameElse:"L"},relativeTime:{future:r("0x1e53"),past:r("0x606"),s:r("0x4289"),ss:"%d sekonden",m:"ien minút",mm:r("0x4dcd"),h:r("0x306"),hh:r("0xe51"),d:"ien dei",dd:r("0x3430"),M:r("0x34c4"),MM:r("0x513"),y:r("0x1a3"),yy:r("0x2273")},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})},9295:function(e,t,n){var a,r,i,o,x,s,c;a=n(381),i=[(r=a2_0x37cf)("0x4306"),r("0x29b7"),r("0x2392"),r("0x377e"),"Bealtaine",r("0x1156"),r("0x4417"),r("0x9e"),r("0x3538"),r("0x2d35"),r("0x4510"),"Nollaig"],o=[r("0x4e70"),r("0xdb4"),"Márt",r("0x1497"),r("0x3fdb"),r("0x409"),"Iúil","Lún","M.F.",r("0x2a54"),r("0x1fb1"),r("0x4cff")],x=[r("0x1fba"),r("0x3fa0"),r("0x3638"),"Dé Céadaoin",r("0xe3f"),r("0x26e7"),"Dé Sathairn"],s=[r("0x1440"),r("0x245c"),r("0x170d"),"Céad",r("0x4000"),r("0x18f1"),r("0x2b88")],c=["Do","Lu","Má","Cé","Dé","A","Sa"],a.defineLocale("ga",{months:i,monthsShort:o,monthsParseExact:!0,weekdays:x,weekdaysShort:s,weekdaysMin:c,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:r("0x262")},calendar:{sameDay:r("0x4a4e"),nextDay:r("0x4df0"),nextWeek:r("0x8e"),lastDay:r("0x3771"),lastWeek:r("0x6bb"),sameElse:"L"},relativeTime:{future:"i %s",past:r("0x2bed"),s:r("0x22e8"),ss:r("0x19e2"),m:r("0x3c12"),mm:r("0x22ca"),h:"uair an chloig",hh:r("0x3518"),d:"lá",dd:r("0x1f68"),M:"mí",MM:"%d míonna",y:r("0x34ea"),yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}})},2101:function(e,t,n){var a,r,i,o,x,s,c;a=n(381),i=[(r=a2_0x37cf)("0x4dd1"),"An Gearran",r("0x1ecb"),r("0x2bf6"),r("0x392d"),"An t-Ògmhios",r("0xd49"),r("0x351d"),r("0x2a01"),r("0xdd9"),r("0x4401"),r("0x3c65")],o=[r("0x4086"),r("0x270"),r("0x3b66"),"Gibl",r("0x947"),r("0x1152"),r("0x4110"),r("0x4037"),r("0x6f9"),"Dàmh",r("0x1fb1"),r("0x1f58")],x=[r("0x1f53"),r("0x1f0e"),"Dimàirt",r("0x21b6"),r("0x430a"),r("0x4e1f"),"Disathairne"],s=["Did",r("0x375c"),r("0x3172"),r("0x4af0"),r("0x1079"),"Dih",r("0x982")],c=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],a[r("0x42e7")]("gd",{months:i,monthsShort:o,monthsParseExact:!0,weekdays:x,weekdaysShort:s,weekdaysMin:c,longDateFormat:{LT:r("0x2bf3"),LTS:"HH:mm:ss",L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x262")},calendar:{sameDay:r("0x6eb"),nextDay:r("0x2709"),nextWeek:"dddd [aig] LT",lastDay:r("0x4e49"),lastWeek:r("0x2f46"),sameElse:"L"},relativeTime:{future:r("0x4c0c"),past:r("0x25ab"),s:r("0x3052"),ss:r("0x3ef6"),m:"mionaid",mm:r("0xf10"),h:r("0x3cf2"),hh:r("0x353d"),d:r("0x7d7"),dd:"%d latha",M:r("0x3844"),MM:"%d mìosan",y:"bliadhna",yy:r("0x2431")},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}})},8794:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro"[a("0x9e5")]("_"),monthsShort:a("0x238")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado"[a("0x9e5")]("_"),weekdaysShort:a("0x12a5")[a("0x9e5")]("_"),weekdaysMin:a("0x717")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:a("0x49a6"),L:a("0x4fcb"),LL:"D [de] MMMM [de] YYYY",LLL:a("0x3131"),LLLL:a("0x26b6")},calendar:{sameDay:function(){var e=a;return e("0x1052")+(1!==this[e("0x1fa0")]()?"ás":"á")+e("0x4661")},nextDay:function(){var e=a;return e("0x1787")+(1!==this[e("0x1fa0")]()?"ás":"á")+e("0x4661")},nextWeek:function(){var e=a;return"dddd ["+(1!==this[e("0x1fa0")]()?"ás":"a")+e("0x4661")},lastDay:function(){var e=a;return e("0x46da")+(1!==this[e("0x1fa0")]()?"á":"a")+e("0x4661")},lastWeek:function(){var e=a;return"[o] dddd [pasado "+(1!==this[e("0x1fa0")]()?"ás":"a")+e("0x4661")},sameElse:"L"},relativeTime:{future:function(e){var t=a;return 0===e.indexOf("un")?"n"+e:t("0xebc")+e},past:a("0x311f"),s:"uns segundos",ss:a("0x141b"),m:a("0x204"),mm:a("0x4783"),h:a("0x342a"),hh:a("0x3fcf"),d:a("0x1514"),dd:a("0x443f"),M:"un mes",MM:a("0x46cf"),y:a("0x134b"),yy:a("0x173f")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:a("0xbfb"),week:{dow:1,doy:4}})},7884:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i={s:[r("0x319b"),r("0x4896")],ss:[e+r("0x327"),e+r("0x53f")],m:[r("0x3436"),r("0x3185")],mm:[e+r("0x4298"),e+" मिणटां"],h:["एका वरान",r("0x24b")],hh:[e+r("0xd40"),e+r("0x8f7")],d:["एका दिसान",r("0x39ac")],dd:[e+" दिसांनी",e+r("0x1a2b")],M:["एका म्हयन्यान",r("0x48e5")],MM:[e+" म्हयन्यानी",e+r("0x439a")],y:["एका वर्सान","एक वर्स"],yy:[e+" वर्सांनी",e+r("0xc6c")]};return a?i[n][0]:i[n][1]}e[t("0x42e7")](t("0xe0f"),{months:{standalone:t("0x2860")[t("0x9e5")]("_"),format:t("0x452e")[t("0x9e5")]("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें."[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:t("0x4839")[t("0x9e5")]("_"),weekdaysShort:"आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन."[t("0x9e5")]("_"),weekdaysMin:t("0x1f7")[t("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x492a"),LTS:t("0x4816"),L:t("0xf6c"),LL:t("0x1719"),LLL:"D MMMM YYYY A h:mm [वाजतां]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [वाजतां]",llll:"ddd, D MMM YYYY, A h:mm [वाजतां]"},calendar:{sameDay:t("0x2c4f"),nextDay:t("0x1469"),nextWeek:t("0x1982"),lastDay:t("0x37d2"),lastWeek:t("0x2871"),sameElse:"L"},relativeTime:{future:"%s",past:t("0x10d2"),s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}(वेर)/,ordinal:function(e,n){var a=t;switch(n){case"D":return e+a("0x4751");default:case"M":case"Q":case a("0x4044"):case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/राती|सकाळीं|दनपारां|सांजे/,meridiemHour:function(e,n){var a=t;return 12===e&&(e=0),n===a("0x4235")?e<4?e:e+12:n===a("0x2135")?e:"दनपारां"===n?e>12?e:e+12:n===a("0x929")?e+12:void 0},meridiem:function(e,n,a){var r=t;return e<4?r("0x4235"):e<12?"सकाळीं":e<16?"दनपारां":e<20?r("0x929"):"राती"}})}(n(381))},3168:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i={s:[r("0x357"),"thodde sekond"],ss:[e+r("0x4c4a"),e+r("0x328e")],m:[r("0x360f"),r("0x4e85")],mm:[e+r("0x450f"),e+r("0x3099")],h:[r("0x121f"),r("0x136d")],hh:[e+r("0x1bbe"),e+" voram"],d:[r("0x2356"),r("0x286e")],dd:[e+r("0x1716"),e+" dis"],M:[r("0xe42"),r("0x4de6")],MM:[e+r("0x4b30"),e+r("0x1011")],y:[r("0x3c32"),r("0x4f87")],yy:[e+" vorsamni",e+r("0x4ced")]};return a?i[n][0]:i[n][1]}e[t("0x42e7")](t("0x347d"),{months:{standalone:t("0x20a3")[t("0x9e5")]("_"),format:t("0xb20")[t("0x9e5")]("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:t("0x173d")[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var"[t("0x9e5")]("_"),weekdaysShort:t("0x49b")[t("0x9e5")]("_"),weekdaysMin:t("0x4bd5")[t("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:t("0x15fa"),L:t("0xf6c"),LL:t("0x1719"),LLL:t("0x1875"),LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:t("0x104f"),nextDay:"[Faleam] LT",nextWeek:t("0x3331"),lastDay:t("0x2eaf"),lastWeek:t("0x26d3"),sameElse:"L"},relativeTime:{future:"%s",past:t("0x2585"),s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,n){switch(n){case"D":return e+"er";default:case"M":case"Q":case t("0x4044"):case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,n){var a=t;return 12===e&&(e=0),n===a("0x1006")?e<4?e:e+12:"sokallim"===n?e:n===a("0x2237")?e>12?e:e+12:n===a("0x660")?e+12:void 0},meridiem:function(e,n,a){var r=t;return r(e<4?"0x1006":e<12?"0x354b":e<16?"0x2237":e<20?"0x660":"0x1006")}})}(n(381))},5349:function(e,t,n){var a,r,i,o;a=n(381),i={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},o={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"},a[(r=a2_0x37cf)("0x42e7")]("gu",{months:r("0x485e")[r("0x9e5")]("_"),monthsShort:r("0x4d3d").split("_"),monthsParseExact:!0,weekdays:r("0x621").split("_"),weekdaysShort:r("0x2951").split("_"),weekdaysMin:r("0x38d3")[r("0x9e5")]("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:r("0x3b51"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x3823"),LLLL:r("0x4229")},calendar:{sameDay:r("0x159"),nextDay:"[કાલે] LT",nextWeek:r("0x1262"),lastDay:r("0x1b3a"),lastWeek:r("0x4a36"),sameElse:"L"},relativeTime:{future:r("0x4cda"),past:r("0x3c76"),s:"અમુક પળો",ss:r("0x3562"),m:r("0x37bf"),mm:r("0x11a6"),h:r("0x2c14"),hh:r("0x3cb9"),d:r("0x3da0"),dd:"%d દિવસ",M:r("0x1cfd"),MM:r("0x3c4b"),y:r("0x4d2e"),yy:"%d વર્ષ"},preparse:function(e){return e[r("0x3cc0")](/[૧૨૩૪૫૬૭૮૯૦]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0x3a75")?e<4?e:e+12:t===n("0x2d37")?e:t===n("0x33f3")?e>=10?e:e+12:t===n("0x14a0")?e+12:void 0},meridiem:function(e,t,n){var a=r;return e<4?a("0x3a75"):e<10?a("0x2d37"):e<17?a("0x33f3"):e<20?"સાંજ":a("0x3a75")},week:{dow:0,doy:6}})},4206:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("he",{months:r("0x4ba3").split("_"),monthsShort:r("0x1991")[r("0x9e5")]("_"),weekdays:r("0x1c1d")[r("0x9e5")]("_"),weekdaysShort:r("0x2046")[r("0x9e5")]("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש"[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:r("0x3a0b"),LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:r("0x4efe"),ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:r("0x3be")},calendar:{sameDay:r("0xfef"),nextDay:r("0x21dd"),nextWeek:r("0x2153"),lastDay:r("0x13bf"),lastWeek:r("0x3492"),sameElse:"L"},relativeTime:{future:r("0x1fad"),past:r("0x1512"),s:r("0x148e"),ss:"%d שניות",m:r("0xa0f"),mm:r("0x3903"),h:r("0x193c"),hh:function(e){return 2===e?r("0x349c"):e+" שעות"},d:r("0x4230"),dd:function(e){var t=r;return 2===e?t("0x4e06"):e+t("0x953")},M:r("0x4224"),MM:function(e){var t=r;return 2===e?t("0x1b64"):e+t("0x9db")},y:r("0x2cdb"),yy:function(e){var t=r;return 2===e?t("0x823"):e%10==0&&10!==e?e+t("0x3dae"):e+t("0x3dca")}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){var a=r;return e<5?a("0x34e0"):e<10?a("0x1ece"):e<12?n?'לפנה"צ':"לפני הצהריים":a(e<18?n?"0x23d6":"0x2f0":"0x31da")}})},94:function(e,t,n){var a,r,i,o,x,s;a=n(381),i={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},o={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},x=[/^जन/i,/^फ़र|फर/i,/^मार्च/i,/^अप्रै/i,/^मई/i,/^जून/i,/^जुल/i,/^अग/i,/^सितं|सित/i,/^अक्टू/i,/^नव|नवं/i,/^दिसं|दिस/i],s=[/^जन/i,/^फ़र/i,/^मार्च/i,/^अप्रै/i,/^मई/i,/^जून/i,/^जुल/i,/^अग/i,/^सित/i,/^अक्टू/i,/^नव/i,/^दिस/i],a[(r=a2_0x37cf)("0x42e7")]("hi",{months:{format:r("0x1665")[r("0x9e5")]("_"),standalone:"जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर"[r("0x9e5")]("_")},monthsShort:r("0x3089")[r("0x9e5")]("_"),weekdays:r("0x3a4")[r("0x9e5")]("_"),weekdaysShort:r("0x2a")[r("0x9e5")]("_"),weekdaysMin:r("0x1797").split("_"),longDateFormat:{LT:r("0x965"),LTS:r("0x1dae"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x2c9a"),LLLL:r("0x3576")},monthsParse:x,longMonthsParse:x,shortMonthsParse:s,monthsRegex:/^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,monthsShortRegex:/^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,monthsStrictRegex:/^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,monthsShortStrictRegex:/^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i,calendar:{sameDay:r("0x2152"),nextDay:r("0x4e7a"),nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:r("0x2b07"),s:r("0x1c1e"),ss:r("0x41ea"),m:r("0x3828"),mm:r("0x3b7d"),h:"एक घंटा",hh:r("0x33c"),d:r("0x3523"),dd:"%d दिन",M:"एक महीने",MM:r("0x1f91"),y:r("0x2ac4"),yy:r("0x272b")},preparse:function(e){return e[r("0x3cc0")](/[१२३४५६७८९०]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0xc11")?e<4?e:e+12:t===n("0x2a5d")?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,n){var a=r;return e<4?"रात":a(e<10?"0x2a5d":e<17?"0x17ad":e<20?"0x4d5d":"0xc11")},week:{dow:0,doy:6}})},316:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n){var a=a2_0x37cf,r=e+" ";switch(n){case"ss":return r+=a(1===e?"0x4d28":2===e||3===e||4===e?"0x1af6":"0x497d");case"m":return t?a("0x2ac1"):"jedne minute";case"mm":return r+=a(1===e?"0x2b76":2===e||3===e||4===e?"0x2884":"0x2b76");case"h":return a(t?"0x4a10":"0xcf8");case"hh":return r+=1===e?"sat":a(2===e||3===e||4===e?"0x23bf":"0x34a");case"dd":return r+=1===e?a("0x1b26"):"dana";case"MM":return r+=1===e?"mjesec":a(2===e||3===e||4===e?"0x2d70":"0x1baa");case"yy":return r+=1===e?"godina":a(2===e||3===e||4===e?"0x1704":"0x4f43")}}e[t("0x42e7")]("hr",{months:{format:t("0x2e4b")[t("0x9e5")]("_"),standalone:t("0x16e3")[t("0x9e5")]("_")},monthsShort:t("0x16f2").split("_"),monthsParseExact:!0,weekdays:t("0xb4")[t("0x9e5")]("_"),weekdaysShort:t("0x258a").split("_"),weekdaysMin:t("0xd5d").split("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x13bc"),LTS:t("0x49a6"),L:"DD.MM.YYYY",LL:t("0x38fb"),LLL:"Do MMMM YYYY H:mm",LLLL:t("0x3679")},calendar:{sameDay:t("0x240"),nextDay:"[sutra u] LT",nextWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return"[u] [nedjelju] [u] LT";case 3:return e("0x2304");case 6:return e("0x2c19");case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){var e=t;switch(this.day()){case 0:return"[prošlu] [nedjelju] [u] LT";case 3:return e("0x3888");case 6:return e("0x1365");case 1:case 2:case 4:case 5:return e("0x225d")}},sameElse:"L"},relativeTime:{future:t("0x39e3"),past:"prije %s",s:t("0x3977"),ss:n,m:n,mm:n,h:n,hh:n,d:t("0x1b26"),dd:n,M:t("0x329e"),MM:n,y:t("0x727"),yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:7}})}(n(381))},2138:function(e,t,n){!function(e){var t=a2_0x37cf,n="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function a(e,t,n,a){var r=a2_0x37cf,i=e;switch(n){case"s":return a||t?"néhány másodperc":r("0x1679");case"ss":return r(i+(a||t)?"0xa72":"0x2b15");case"m":return r("0x3e89")+r(a||t?"0x4db0":"0x3581");case"mm":return i+r(a||t?"0x4db0":"0x3581");case"h":return r("0x3e89")+r(a||t?"0xbd7":"0x1a23");case"hh":return i+r(a||t?"0xbd7":"0x1a23");case"d":return"egy"+(a||t?r("0x4690"):" napja");case"dd":return i+r(a||t?"0x4690":"0x478e");case"M":return r("0x3e89")+(a||t?" hónap":r("0x1a49"));case"MM":return i+(a||t?r("0x1199"):" hónapja");case"y":return r("0x3e89")+r(a||t?"0x4b6c":"0x2e86");case"yy":return i+(a||t?r("0x4b6c"):" éve")}return""}function r(e){var t=a2_0x37cf;return(e?"":t("0x1da9"))+"["+n[this[t("0x1588")]()]+t("0x401a")}e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec."[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:t("0x4cb3")[t("0x9e5")]("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo"[t("0x9e5")]("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:t("0x13bc"),LTS:t("0x49a6"),L:"YYYY.MM.DD.",LL:t("0x4e7b"),LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:t("0x3913"),nextDay:t("0x92e"),nextWeek:function(){return r[t("0x3c6b")](this,!0)},lastDay:t("0x8a"),lastWeek:function(){return r[t("0x3c6b")](this,!1)},sameElse:"L"},relativeTime:{future:t("0x20c2"),past:"%s",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},1423:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x426c"),{months:{format:a("0x232b")[a("0x9e5")]("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր"[a("0x9e5")]("_")},monthsShort:a("0x9b4").split("_"),weekdays:a("0x2124")[a("0x9e5")]("_"),weekdaysShort:a("0x2287")[a("0x9e5")]("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x21f3"),LL:"D MMMM YYYY թ.",LLL:a("0x4a0f"),LLLL:a("0x2adc")},calendar:{sameDay:a("0x4eed"),nextDay:a("0x2b5a"),lastDay:a("0x224b"),nextWeek:function(){return a("0x49ad")},lastWeek:function(){return a("0x19b7")},sameElse:"L"},relativeTime:{future:a("0x4c4f"),past:a("0x12b2"),s:a("0x424a"),ss:a("0x2a23"),m:a("0x82c"),mm:"%d րոպե",h:"ժամ",hh:a("0x4730"),d:"օր",dd:a("0xf8b"),M:a("0xe27"),MM:a("0x3d56"),y:a("0x9ae"),yy:a("0x328b")},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){var t=a;return t(e<4?"0x1188":e<12?"0x3d1b":e<17?"0xdad":"0x15ef")},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,t){var n=a;switch(t){case n("0x4044"):case"w":case"W":case n("0x2733"):return 1===e?e+n("0x19ce"):e+n("0x1d39");default:return e}},week:{dow:1,doy:7}})},9218:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("id",{months:a("0x187b").split("_"),monthsShort:a("0x4adc")[a("0x9e5")]("_"),weekdays:a("0x417c")[a("0x9e5")]("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:a("0xbc2")[a("0x9e5")]("_"),longDateFormat:{LT:a("0xde"),LTS:"HH.mm.ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x1b9f"),LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){var n=a;return 12===e&&(e=0),t===n("0x1753")?e:t===n("0x351b")?e>=11?e:e+12:t===n("0x1723")||t===n("0x244d")?e+12:void 0},meridiem:function(e,t,n){var r=a;return e<11?r("0x1753"):e<15?r("0x351b"):e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:a("0x415f"),lastDay:a("0x4fb5"),lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:a("0x2c2c"),past:a("0x303b"),s:"beberapa detik",ss:a("0x1e7e"),m:a("0x34f"),mm:"%d menit",h:a("0x3edd"),hh:a("0x4248"),d:a("0x16e9"),dd:a("0x41b2"),M:a("0xcfe"),MM:a("0x180c"),y:a("0x454f"),yy:a("0x4b2b")},week:{dow:0,doy:6}})},135:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e){return e%100==11||e%10!=1}function a(e,t,a,r){var i=a2_0x37cf,o=e+" ";switch(a){case"s":return t||r?"nokkrar sekúndur":i("0x1264");case"ss":return n(e)?o+i(t||r?"0x4c0b":"0x3b06"):o+i("0x2837");case"m":return i(t?"0x12dd":"0x332f");case"mm":return n(e)?o+(t||r?"mínútur":"mínútum"):t?o+"mínúta":o+"mínútu";case"hh":return n(e)?o+i(t||r?"0x215c":"0x4d91"):o+i("0x207d");case"d":return i(t?"0x734":r?"0x78a":"0x1b37");case"dd":return n(e)?t?o+i("0x21be"):o+(r?"daga":i("0x3b85")):t?o+"dagur":o+(r?i("0x78a"):"degi");case"M":return t?i("0x1130"):r?"mánuð":"mánuði";case"MM":return n(e)?t?o+"mánuðir":o+i(r?"0x449d":"0x2257"):t?o+i("0x1130"):o+(r?"mánuð":i("0x449d"));case"y":return t||r?"ár":i("0x3773");case"yy":return n(e)?o+(t||r?"ár":i("0x165d")):o+(t||r?"ár":i("0x3773"))}}e.defineLocale("is",{months:t("0x4fe4").split("_"),monthsShort:t("0x37ee")[t("0x9e5")]("_"),weekdays:t("0x4d73")[t("0x9e5")]("_"),weekdaysShort:t("0x25d0").split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:t("0x13bc"),LTS:t("0x49a6"),L:t("0x21f3"),LL:"D. MMMM YYYY",LLL:t("0x14a"),LLLL:t("0x1516")},calendar:{sameDay:t("0x4a21"),nextDay:t("0x3bd5"),nextWeek:"dddd [kl.] LT",lastDay:t("0x42d4"),lastWeek:t("0x2ea4"),sameElse:"L"},relativeTime:{future:t("0x8c3"),past:t("0x1694"),s:a,ss:a,m:a,mm:a,h:t("0x207d"),hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(381))},150:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x4276"),{months:a("0x3f82")[a("0x9e5")]("_"),monthsShort:a("0x3d0")[a("0x9e5")]("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato"[a("0x9e5")]("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab"[a("0x9e5")]("_"),weekdaysMin:a("0xb1b")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x21f3"),LL:"D MMMM YYYY",LLL:a("0x25e6"),LLLL:a("0x37c2")},calendar:{sameDay:a("0x3e0a"),nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){var e=a;switch(this[e("0x1588")]()){case 0:return e("0x68e");default:return e("0x1419")}},sameElse:"L"},relativeTime:{future:function(e){var t=a;return(/^[0-9].+$/.test(e)?t("0x2022"):"in")+" "+e},past:a("0x12cb"),s:"alcuni secondi",ss:a("0xf13"),m:a("0x204"),mm:a("0x2dac"),h:a("0x2ef6"),hh:a("0x393b"),d:a("0xb53"),dd:"%d giorni",M:"un mese",MM:a("0xb8c"),y:a("0x2759"),yy:a("0x286f")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:a("0xbfb"),week:{dow:1,doy:4}})},626:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("it",{months:r("0x3f82")[r("0x9e5")]("_"),monthsShort:r("0x3d0").split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab"[r("0x9e5")]("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa"[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:"DD/MM/YYYY",LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},calendar:{sameDay:function(){var e=r;return"[Oggi a"+(this[e("0x1fa0")]()>1?e("0x188a"):0===this[e("0x1fa0")]()?" ":"ll'")+e("0x1ae5")},nextDay:function(){var e=r;return e("0x48f")+(this[e("0x1fa0")]()>1?e("0x188a"):0===this.hours()?" ":e("0x1253"))+e("0x1ae5")},nextWeek:function(){var e=r;return e("0x20ab")+(this[e("0x1fa0")]()>1?e("0x188a"):0===this[e("0x1fa0")]()?" ":e("0x1253"))+e("0x1ae5")},lastDay:function(){var e=r;return e("0x4ba6")+(this[e("0x1fa0")]()>1?e("0x188a"):0===this[e("0x1fa0")]()?" ":e("0x1253"))+e("0x1ae5")},lastWeek:function(){var e=r;switch(this[e("0x1588")]()){case 0:return e("0x3c2a")+(this[e("0x1fa0")]()>1?e("0x188a"):0===this[e("0x1fa0")]()?" ":e("0x1253"))+e("0x1ae5");default:return e("0x379f")+(this.hours()>1?"lle ":0===this[e("0x1fa0")]()?" ":"ll'")+e("0x1ae5")}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:r("0x49ba"),ss:r("0xf13"),m:r("0x204"),mm:r("0x2dac"),h:r("0x2ef6"),hh:r("0x393b"),d:r("0xb53"),dd:r("0x4e65"),w:r("0x3868"),ww:r("0x4aa8"),M:"un mese",MM:r("0xb8c"),y:r("0x2759"),yy:r("0x286f")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:r("0xbfb"),week:{dow:1,doy:4}})},9183:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("ja",{eras:[{since:"2019-05-01",offset:1,name:"令和",narrow:"㋿",abbr:"R"},{since:a("0x2907"),until:a("0x4afa"),offset:1,name:"平成",narrow:"㍻",abbr:"H"},{since:a("0x2c85"),until:a("0x11f0"),offset:1,name:"昭和",narrow:"㍼",abbr:"S"},{since:"1912-07-30",until:a("0x35a"),offset:1,name:"大正",narrow:"㍽",abbr:"T"},{since:a("0x38f1"),until:a("0x2e69"),offset:6,name:"明治",narrow:"㍾",abbr:"M"},{since:"0001-01-01",until:a("0x2f9b"),offset:1,name:"西暦",narrow:"AD",abbr:"AD"},{since:a("0xcb8"),until:-1/0,offset:1,name:a("0x308a"),narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(元|\d+)年/,eraYearOrdinalParse:function(e,t){return"元"===t[1]?1:parseInt(t[1]||e,10)},months:a("0xd3d")[a("0x9e5")]("_"),monthsShort:a("0xd3d").split("_"),weekdays:a("0x4de")[a("0x9e5")]("_"),weekdaysShort:"日_月_火_水_木_金_土"[a("0x9e5")]("_"),weekdaysMin:a("0x163c").split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:"YYYY/MM/DD",LL:a("0x4285"),LLL:a("0xc2"),LLLL:a("0xfd"),l:a("0x29ad"),ll:a("0x4285"),lll:"YYYY年M月D日 HH:mm",llll:a("0x46ed")},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,t,n){return e<12?"午前":"午後"},calendar:{sameDay:a("0x417d"),nextDay:"[明日] LT",nextWeek:function(e){var t=a;return e[t("0x4504")]()!==this[t("0x4504")]()?"[来週]dddd LT":t("0x3f9f")},lastDay:"[昨日] LT",lastWeek:function(e){var t=a;return this[t("0x4504")]()!==e[t("0x4504")]()?t("0x22ae"):"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(e,t){switch(t){case"y":return 1===e?"元年":e+"年";case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:a("0x1ad7"),past:a("0x2a29"),s:"数秒",ss:a("0x3510"),m:"1分",mm:a("0x4b6e"),h:a("0x29e8"),hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})},4286:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("jv",{months:r("0x14b6")[r("0x9e5")]("_"),monthsShort:r("0x4c2d")[r("0x9e5")]("_"),weekdays:r("0x3297")[r("0x9e5")]("_"),weekdaysShort:r("0x44c1")[r("0x9e5")]("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp"[r("0x9e5")]("_"),longDateFormat:{LT:r("0xde"),LTS:"HH.mm.ss",L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x1b9f"),LLLL:r("0xf66")},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0x1f13")?e:t===n("0x37e1")?e>=11?e:e+12:t===n("0x47e2")||"ndalu"===t?e+12:void 0},meridiem:function(e,t,n){var a=r;return a(e<11?"0x1f13":e<15?"0x37e1":e<19?"0x47e2":"0x2efa")},calendar:{sameDay:r("0x1e35"),nextDay:r("0x42ad"),nextWeek:r("0x415f"),lastDay:r("0xbaf"),lastWeek:r("0x362c"),sameElse:"L"},relativeTime:{future:r("0x3f43"),past:r("0x12b6"),s:r("0x4d70"),ss:r("0x1e7e"),m:"setunggal menit",mm:r("0x4bfd"),h:"setunggal jam",hh:r("0x4248"),d:r("0x2314"),dd:"%d dinten",M:r("0x1f8b"),MM:"%d wulan",y:"setaun",yy:r("0x3c56")},week:{dow:1,doy:7}})},2105:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("ka",{months:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი"[a("0x9e5")]("_"),monthsShort:a("0x497a")[a("0x9e5")]("_"),weekdays:{standalone:a("0x4f8a")[a("0x9e5")]("_"),format:a("0x2cd3")[a("0x9e5")]("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:a("0x2d2a").split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:"DD/MM/YYYY",LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x262")},calendar:{sameDay:a("0x196b"),nextDay:a("0x40ab"),lastDay:a("0x3e2c"),nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:a("0xf31"),sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,(function(e,t,n){return"ი"===n?t+"ში":t+n+"ში"}))},past:function(e){var t=a;return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e[t("0x3cc0")](/(ი|ე)$/,t("0x1403")):/წელი/[t("0x3ff3")](e)?e.replace(/წელი$/,t("0x2c3f")):e},s:a("0xa25"),ss:a("0x3fc"),m:"წუთი",mm:a("0x9a4"),h:a("0x48e3"),hh:"%d საათი",d:a("0x42cc"),dd:"%d დღე",M:a("0x22b4"),MM:a("0xd7"),y:a("0xa2d"),yy:a("0x3eea")},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){var t=a;return 0===e?e:1===e?e+t("0x41a0"):e<20||e<=100&&e%20==0||e%100==0?t("0x2210")+e:e+"-ე"},week:{dow:1,doy:7}})},7772:function(e,t,n){var a,r,i;a=n(381),i={0:(r=a2_0x37cf)("0x29"),1:r("0x29"),2:r("0x29"),3:r("0x29"),4:"-ші",5:r("0x29"),6:"-шы",7:"-ші",8:r("0x29"),9:r("0x1352"),10:r("0x1352"),20:r("0x1352"),30:r("0x1352"),40:"-шы",50:r("0x29"),60:r("0x1352"),70:"-ші",80:r("0x29"),90:"-шы",100:"-ші"},a[r("0x42e7")]("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан"[r("0x9e5")]("_"),monthsShort:r("0x1544")[r("0x9e5")]("_"),weekdays:r("0x3de6").split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:r("0x2816").split("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x21f3"),LL:"D MMMM YYYY",LLL:r("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:r("0x2dba"),nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:r("0x2f45"),lastWeek:r("0x1ea8"),sameElse:"L"},relativeTime:{future:r("0x1d14"),past:"%s бұрын",s:r("0x349f"),ss:r("0x460d"),m:r("0x4659"),mm:r("0x2b08"),h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:r("0x4ed5"),MM:r("0x37"),y:r("0xca1"),yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var t=e%10,n=e>=100?100:null;return e+(i[e]||i[t]||i[n])},week:{dow:1,doy:7}})},8758:function(e,t,n){var a,r,i,o;a=n(381),i={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},o={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"},a[(r=a2_0x37cf)("0x42e7")]("km",{months:r("0xd5")[r("0x9e5")]("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ"[r("0x9e5")]("_"),weekdays:r("0x145a")[r("0x9e5")]("_"),weekdaysShort:r("0x1de9")[r("0x9e5")]("_"),weekdaysMin:r("0x1de9").split("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return e===r("0x479d")},meridiem:function(e,t,n){return e<12?"ព្រឹក":r("0x479d")},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:r("0x30b6"),nextWeek:r("0xa60"),lastDay:r("0x22ee"),lastWeek:r("0x44c7"),sameElse:"L"},relativeTime:{future:r("0x36a5"),past:r("0x41e1"),s:r("0x9f3"),ss:r("0x2e78"),m:r("0x2561"),mm:r("0x30fb"),h:"មួយម៉ោង",hh:"%d ម៉ោង",d:r("0x4863"),dd:r("0x1271"),M:r("0x1eb4"),MM:r("0x3464"),y:r("0x30a2"),yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:r("0x27f2"),preparse:function(e){return e[r("0x3cc0")](/[១២៣៤៥៦៧៨៩០]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},week:{dow:1,doy:4}})},9282:function(e,t,n){var a,r,i,o;a=n(381),i={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},o={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"},a[(r=a2_0x37cf)("0x42e7")]("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್"[r("0x9e5")]("_"),monthsShort:r("0x3ff2")[r("0x9e5")]("_"),monthsParseExact:!0,weekdays:r("0x4067")[r("0x9e5")]("_"),weekdaysShort:r("0xa9d")[r("0x9e5")]("_"),weekdaysMin:r("0x2fcc")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x3c4c"),LTS:r("0x73e"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x364b"),LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:r("0x14ba"),nextWeek:"dddd, LT",lastDay:r("0x2589"),lastWeek:r("0x48c4"),sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:r("0x3246"),s:r("0x4ac0"),ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:r("0x3f76"),h:r("0x3e20"),hh:r("0x2d6"),d:r("0x37d3"),dd:r("0x34fd"),M:r("0xfa0"),MM:"%d ತಿಂಗಳು",y:r("0x3010"),yy:r("0x5be")},preparse:function(e){return e[r("0x3cc0")](/[೧೨೩೪೫೬೭೮೯೦]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0xefc")?e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===t?e:"ಮಧ್ಯಾಹ್ನ"===t?e>=10?e:e+12:t===n("0x2ee")?e+12:void 0},meridiem:function(e,t,n){var a=r;return e<4?a("0xefc"):e<10?a("0x857"):e<17?a("0x118c"):e<20?"ಸಂಜೆ":a("0xefc")},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+r("0x4824")},week:{dow:0,doy:6}})},3730:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("ko",{months:a("0x2725")[a("0x9e5")]("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월"[a("0x9e5")]("_"),weekdays:a("0x4169")[a("0x9e5")]("_"),weekdaysShort:a("0x1d0a").split("_"),weekdaysMin:a("0x1d0a")[a("0x9e5")]("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:a("0x24bc"),LL:a("0x2ada"),LLL:"YYYY년 MMMM D일 A h:mm",LLLL:a("0x3975"),l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:a("0x45e4"),llll:a("0x3975")},calendar:{sameDay:a("0x3bcd"),nextDay:a("0x2183"),nextWeek:a("0x3f9f"),lastDay:a("0x3d"),lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:a("0x2160"),past:"%s 전",s:a("0x1f2b"),ss:a("0x2d4f"),m:"1분",mm:"%d분",h:a("0x28e0"),hh:a("0x1bb7"),d:"하루",dd:"%d일",M:a("0x29bc"),MM:a("0x1ba3"),y:a("0x2d11"),yy:a("0x2df3")},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(e,t){switch(t){case"d":case"D":case a("0x4044"):return e+"일";case"M":return e+"월";case"w":case"W":return e+"주";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,t,n){return e<12?"오전":"오후"}})},1408:function(e,t,n){var a,r,i,o,x;a=n(381),i={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},o={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},x=[(r=a2_0x37cf)("0xee0"),r("0x212"),"ئازار",r("0x322"),r("0x2031"),r("0x16d6"),r("0x20a6"),r("0x3f5c"),r("0x3f05"),"تشرینی یەكەم",r("0x2c82"),r("0x4867")],a.defineLocale("ku",{months:x,monthsShort:x,weekdays:r("0x4bae")[r("0x9e5")]("_"),weekdaysShort:r("0x46c2")[r("0x9e5")]("_"),weekdaysMin:r("0x36dd")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:r("0x2dbb"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ئێواره‌|به‌یانی/,isPM:function(e){return/ئێواره‌/[r("0x3ff3")](e)},meridiem:function(e,t,n){return e<12?"به‌یانی":r("0x2ff1")},calendar:{sameDay:"[ئه‌مرۆ كاتژمێر] LT",nextDay:r("0x15de"),nextWeek:"dddd [كاتژمێر] LT",lastDay:r("0x15c9"),lastWeek:"dddd [كاتژمێر] LT",sameElse:"L"},relativeTime:{future:r("0x10b2"),past:"%s",s:r("0x4cca"),ss:r("0x43d2"),m:r("0x13e"),mm:r("0x39c4"),h:r("0x2526"),hh:r("0x136e"),d:r("0x41fe"),dd:"%d ڕۆژ",M:r("0x336f"),MM:r("0x36ab"),y:r("0x3614"),yy:r("0x2d51")},preparse:function(e){return e[r("0x3cc0")](/[١٢٣٤٥٦٧٨٩٠]/g,(function(e){return o[e]})).replace(/،/g,",")},postformat:function(e){var t=r;return e[t("0x3cc0")](/\d/g,(function(e){return i[e]}))[t("0x3cc0")](/,/g,"،")},week:{dow:6,doy:12}})},3291:function(e,t,n){var a,r,i;a=n(381),i={0:"-чү",1:(r=a2_0x37cf)("0x2579"),2:r("0x2579"),3:r("0x31af"),4:"-чү",5:r("0x2579"),6:r("0x184e"),7:r("0x2579"),8:r("0x2579"),9:"-чу",10:r("0x4ea0"),20:"-чы",30:r("0x4ea0"),40:"-чы",50:r("0x31af"),60:r("0x184e"),70:r("0x2579"),80:"-чи",90:"-чу",100:r("0x31af")},a[r("0x42e7")]("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь"[r("0x9e5")]("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек"[r("0x9e5")]("_"),weekdays:r("0x1718").split("_"),weekdaysShort:r("0x2c3a").split("_"),weekdaysMin:r("0x3633").split("_"),longDateFormat:{LT:"HH:mm",LTS:r("0x2dbb"),L:r("0x21f3"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x262")},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:r("0x4ed1"),nextWeek:r("0x4215"),lastDay:r("0x2c03"),lastWeek:r("0x4b92"),sameElse:"L"},relativeTime:{future:r("0x1d97"),past:"%s мурун",s:r("0x3086"),ss:r("0x460d"),m:r("0x1925"),mm:"%d мүнөт",h:r("0x3590"),hh:"%d саат",d:r("0x21ad"),dd:r("0x4a7a"),M:r("0x2059"),MM:r("0x37"),y:"бир жыл",yy:r("0x344a")},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var t=e%10,n=e>=100?100:null;return e+(i[e]||i[t]||i[n])},week:{dow:1,doy:7}})},6841:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i={m:[r("0x3d49"),r("0x23e8")],h:[r("0x170e"),r("0x1b86")],d:[r("0x3ddf"),r("0x1f0b")],M:["ee Mount",r("0x2d80")],y:[r("0x3ca"),r("0xfc5")]};return t?i[n][0]:i[n][1]}function a(e){var t=a2_0x37cf;return i(e[t("0x39fa")](0,e[t("0x3507")](" ")))?"a "+e:t("0x3039")+e}function r(e){var t=a2_0x37cf;return i(e[t("0x39fa")](0,e.indexOf(" ")))?t("0x2f7")+e:t("0x2294")+e}function i(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10;return i(0===t?e/10:t)}if(e<1e4){for(;e>=10;)e/=10;return i(e)}return i(e/=1e3)}e[t("0x42e7")]("lb",{months:t("0xac4")[t("0x9e5")]("_"),monthsShort:t("0x2e4e")[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg"[t("0x9e5")]("_"),weekdaysShort:t("0x4c53").split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x2f78"),LTS:"H:mm:ss [Auer]",L:t("0x21f3"),LL:t("0x1bcc"),LLL:t("0x920"),LLLL:t("0x2f2d")},calendar:{sameDay:t("0x12c0"),sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:t("0x2e94"),lastWeek:function(){var e=t;switch(this.day()){case 2:case 4:return e("0x1b93");default:return e("0x2ab6")}}},relativeTime:{future:a,past:r,s:t("0x1d20"),ss:t("0x8a5"),m:n,mm:t("0x7f"),h:n,hh:t("0x3f8f"),d:n,dd:"%d Deeg",M:n,MM:t("0x2fb1"),y:n,yy:t("0x29ff")},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},5466:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("lo",{months:a("0x181b").split("_"),monthsShort:a("0x181b").split("_"),weekdays:a("0x2cd")[a("0x9e5")]("_"),weekdaysShort:a("0x2caa")[a("0x9e5")]("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ"[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:a("0x2dbb"),L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x34ce")},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return e===a("0x332")},meridiem:function(e,t,n){var r=a;return r(e<12?"0x37ea":"0x332")},calendar:{sameDay:a("0x4302"),nextDay:a("0xf1b"),nextWeek:a("0x4355"),lastDay:a("0x1764"),lastWeek:a("0x3855"),sameElse:"L"},relativeTime:{future:a("0x1de3"),past:a("0xe7d"),s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:a("0x2eda"),m:a("0x4cc3"),mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:a("0x209d"),d:a("0x10fb"),dd:"%d ມື້",M:"1 ເດືອນ",MM:a("0x2006"),y:a("0xc1c"),yy:a("0x3231")},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return a("0x4437")+e}})},7010:function(e,t,n){!function(e){var t=a2_0x37cf,n={ss:t("0xfd8"),m:t("0x31d3"),mm:"minutės_minučių_minutes",h:t("0x284c"),hh:t("0x1d9f"),d:t("0x14de"),dd:t("0x2a72"),M:t("0x145"),MM:t("0x4ea7"),y:"metai_metų_metus",yy:t("0x437e")};function a(e,n,a,r){var i=t;return i(n?"0x188":r?"0x445c":"0x4013")}function r(e,t,n,a){return t?o(n)[0]:a?o(n)[1]:o(n)[2]}function i(e){return e%10==0||e>10&&e<20}function o(e){return n[e].split("_")}function x(e,t,n,a){var x=e+" ";return 1===e?x+r(e,t,n[0],a):t?x+(i(e)?o(n)[1]:o(n)[0]):a?x+o(n)[1]:x+(i(e)?o(n)[1]:o(n)[2])}e[t("0x42e7")]("lt",{months:{format:t("0x206a")[t("0x9e5")]("_"),standalone:t("0x422b").split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:t("0x15c5").split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį"[t("0x9e5")]("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis"[t("0x9e5")]("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:t("0x7f6")[t("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:t("0x2dbb"),L:"YYYY-MM-DD",LL:t("0x3b21"),LLL:t("0x3a58"),LLLL:t("0x17e7"),l:t("0x2114"),ll:t("0x3b21"),lll:t("0x3a58"),llll:t("0x38e7")},calendar:{sameDay:t("0x2f72"),nextDay:t("0x1250"),nextWeek:t("0x3f9f"),lastDay:t("0x46f6"),lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:t("0x203"),past:t("0x1aea"),s:a,ss:x,m:r,mm:x,h:r,hh:x,d:r,dd:x,M:r,MM:x,y:r,yy:x},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}})}(n(381))},7595:function(e,t,n){!function(e){var t=a2_0x37cf,n={ss:t("0x1e4a")[t("0x9e5")]("_"),m:t("0xf69")[t("0x9e5")]("_"),mm:"minūtes_minūtēm_minūte_minūtes"[t("0x9e5")]("_"),h:t("0x31bb").split("_"),hh:t("0x31bb")[t("0x9e5")]("_"),d:t("0x2c46").split("_"),dd:"dienas_dienām_diena_dienas"[t("0x9e5")]("_"),M:"mēneša_mēnešiem_mēnesis_mēneši"[t("0x9e5")]("_"),MM:t("0xc0f")[t("0x9e5")]("_"),y:t("0x1abe").split("_"),yy:t("0x1abe")[t("0x9e5")]("_")};function a(e,t,n){return n?t%10==1&&t%100!=11?e[2]:e[3]:t%10==1&&t%100!=11?e[0]:e[1]}function r(e,t,r){return e+" "+a(n[r],e,t)}function i(e,t,r){return a(n[r],e,t)}function o(e,n){var a=t;return a(n?"0x439b":"0x4b41")}e.defineLocale("lv",{months:t("0x29dc")[t("0x9e5")]("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:t("0x2ff4")[t("0x9e5")]("_"),weekdaysShort:t("0x41eb")[t("0x9e5")]("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:t("0x2dbb"),L:t("0x414b"),LL:t("0x3e30"),LLL:t("0xb8b"),LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:t("0x2a3f"),nextDay:t("0x1677"),nextWeek:t("0x3b73"),lastDay:t("0x2dd8"),lastWeek:t("0x1e44"),sameElse:"L"},relativeTime:{future:t("0x15c0"),past:t("0x462f"),s:o,ss:r,m:i,mm:r,h:i,hh:r,d:i,dd:r,M:i,MM:r,y:i,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},9861:function(e,t,n){var a,r,i;a=n(381),i={words:{ss:[(r=a2_0x37cf)("0x227"),r("0x4d28"),r("0x497d")],m:["jedan minut","jednog minuta"],mm:[r("0x3baa"),r("0x2b76"),r("0x2b76")],h:[r("0x4a10"),r("0xcf8")],hh:[r("0x3730"),"sata",r("0x34a")],dd:[r("0x1b26"),r("0x111a"),r("0x111a")],MM:[r("0x329e"),r("0x2d70"),r("0x1baa")],yy:[r("0x4f43"),r("0x1704"),"godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,t,n){var a=r,o=i[a("0x3708")][n];return 1===n[a("0x5e9")]?t?o[0]:o[1]:e+" "+i[a("0x3f56")](e,o)}},a[r("0x42e7")]("me",{months:r("0x1376")[r("0x9e5")]("_"),monthsShort:r("0x1504")[r("0x9e5")]("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota"[r("0x9e5")]("_"),weekdaysShort:r("0x258a").split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su"[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x13bc"),LTS:r("0x49a6"),L:r("0x21f3"),LL:r("0x1bcc"),LLL:r("0x46fd"),LLLL:r("0x4e79")},calendar:{sameDay:r("0x240"),nextDay:r("0x1650"),nextWeek:function(){var e=r;switch(this[e("0x1588")]()){case 0:return"[u] [nedjelju] [u] LT";case 3:return e("0x2304");case 6:return e("0x2c19");case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=r;return[e("0x2b11"),e("0x46b7"),e("0x40ee"),e("0x1355"),e("0x4d77"),e("0x32b2"),"[prošle] [subote] [u] LT"][this[e("0x1588")]()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:i[r("0x2112")],m:i[r("0x2112")],mm:i.translate,h:i.translate,hh:i[r("0x2112")],d:r("0x1b26"),dd:i.translate,M:r("0x329e"),MM:i[r("0x2112")],y:r("0x727"),yy:i.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})},5493:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:r("0x20e8")[r("0x9e5")]("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:r("0x38ff").split("_"),weekdaysShort:r("0x714").split("_"),weekdaysMin:r("0x714")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:r("0x37b5"),LLLL:r("0x17")},calendar:{sameDay:r("0x4ab6"),nextDay:"[apopo i] LT",nextWeek:r("0x4a70"),lastDay:r("0x441f"),lastWeek:r("0x3258"),sameElse:"L"},relativeTime:{future:r("0x4c30"),past:"%s i mua",s:r("0x36fb"),ss:r("0x1083"),m:r("0x300"),mm:r("0x112c"),h:r("0x441"),hh:"%d haora",d:"he ra",dd:r("0x3753"),M:r("0x29eb"),MM:r("0x3473"),y:r("0xe5e"),yy:r("0x381d")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:r("0xbfb"),week:{dow:1,doy:4}})},5966:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("mk",{months:r("0x21db")[r("0x9e5")]("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек"[r("0x9e5")]("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота"[r("0x9e5")]("_"),weekdaysShort:r("0x1db2")[r("0x9e5")]("_"),weekdaysMin:r("0x1754")[r("0x9e5")]("_"),longDateFormat:{LT:"H:mm",LTS:r("0x49a6"),L:r("0x4041"),LL:r("0x1719"),LLL:"D MMMM YYYY H:mm",LLLL:r("0x4719")},calendar:{sameDay:r("0x2b34"),nextDay:"[Утре во] LT",nextWeek:r("0x45ac"),lastDay:r("0x279a"),lastWeek:function(){var e=r;switch(this[e("0x1588")]()){case 0:case 3:case 6:return e("0x170f");case 1:case 2:case 4:case 5:return e("0xb9e")}},sameElse:"L"},relativeTime:{future:r("0x23a5"),past:r("0x36a3"),s:r("0x132b"),ss:r("0x2b66"),m:r("0xae4"),mm:r("0x1745"),h:r("0x43bc"),hh:r("0x8c0"),d:r("0x14fc"),dd:r("0x2857"),M:r("0x1769"),MM:r("0x4946"),y:r("0x4fa4"),yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=r,n=e%10,a=e%100;return 0===e?e+"-ев":0===a?e+"-ен":a>10&&a<20?e+t("0x3873"):1===n?e+"-ви":2===n?e+"-ри":7===n||8===n?e+"-ми":e+t("0x3873")},week:{dow:1,doy:7}})},7341:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("ml",{months:a("0x4af4")[a("0x9e5")]("_"),monthsShort:a("0x38f8")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0x24b6")[a("0x9e5")]("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി"[a("0x9e5")]("_"),weekdaysMin:a("0x4663").split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:a("0x11a"),L:"DD/MM/YYYY",LL:a("0x1719"),LLL:a("0x404c"),LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:a("0x5009"),nextDay:"[നാളെ] LT",nextWeek:a("0x1262"),lastDay:a("0x4513"),lastWeek:a("0xfb9"),sameElse:"L"},relativeTime:{future:a("0x2a38"),past:a("0x3d39"),s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:a("0x90b"),mm:a("0xa15"),h:"ഒരു മണിക്കൂർ",hh:a("0x2270"),d:a("0xce9"),dd:a("0x2f80"),M:a("0x970"),MM:a("0x1977"),y:a("0x2128"),yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){var n=a;return 12===e&&(e=0),t===n("0x16f3")&&e>=4||t===n("0x25d5")||t===n("0x3970")?e+12:e},meridiem:function(e,t,n){var r=a;return e<4?r("0x16f3"):e<12?r("0x9a"):e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?r("0x3970"):"രാത്രി"}})},5115:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf;switch(n){case"s":return r(t?"0x2f6e":"0x4d88");case"ss":return e+(t?" секунд":" секундын");case"m":case"mm":return e+(t?r("0x19f9"):" минутын");case"h":case"hh":return e+r(t?"0xbae":"0x2a0c");case"d":case"dd":return e+(t?" өдөр":r("0x527"));case"M":case"MM":return e+r(t?"0x40d7":"0x3f67");case"y":case"yy":return e+r(t?"0x521":"0x47b4");default:return e}}e[t("0x42e7")]("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар"[t("0x9e5")]("_"),monthsShort:t("0x2340")[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:t("0x4b4f").split("_"),weekdaysShort:t("0x4d8c")[t("0x9e5")]("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя"[t("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:t("0x2114"),LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:t("0x3d06")},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(e){return"ҮХ"===e},meridiem:function(e,t,n){return e<12?"ҮӨ":"ҮХ"},calendar:{sameDay:t("0x1baf"),nextDay:t("0xaa2"),nextWeek:"[Ирэх] dddd LT",lastDay:t("0x42b7"),lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:t("0x2369"),past:t("0x3c08"),s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(e,n){var a=t;switch(n){case"d":case"D":case a("0x4044"):return e+a("0x8c6");default:return e}}})}(n(381))},370:function(e,t,n){!function(e){var t=a2_0x37cf,n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},a={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function r(e,t,n,a){var r=a2_0x37cf,i="";if(t)switch(n){case"s":i="काही सेकंद";break;case"ss":i=r("0x2c1c");break;case"m":i=r("0x16e6");break;case"mm":i="%d मिनिटे";break;case"h":i=r("0x3aef");break;case"hh":i=r("0x23f4");break;case"d":i=r("0x98f");break;case"dd":i="%d दिवस";break;case"M":i="एक महिना";break;case"MM":i=r("0x2ca4");break;case"y":i=r("0x2ac4");break;case"yy":i=r("0x4a63")}else switch(n){case"s":i=r("0xc41");break;case"ss":i="%d सेकंदां";break;case"m":i=r("0x29db");break;case"mm":i="%d मिनिटां";break;case"h":i="एका तासा";break;case"hh":i=r("0x2aeb");break;case"d":i=r("0x4f4c");break;case"dd":i="%d दिवसां";break;case"M":i="एका महिन्या";break;case"MM":i="%d महिन्यां";break;case"y":i=r("0x2a9c");break;case"yy":i=r("0x1a9a")}return i[r("0x3cc0")](/%d/i,e)}e[t("0x42e7")]("mr",{months:t("0x15ae")[t("0x9e5")]("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:t("0x4f1e")[t("0x9e5")]("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श"[t("0x9e5")]("_"),longDateFormat:{LT:t("0x30b4"),LTS:t("0x6cd"),L:t("0x4fcb"),LL:t("0x1719"),LLL:t("0x3f7"),LLLL:t("0x4682")},calendar:{sameDay:t("0x2152"),nextDay:t("0x1442"),nextWeek:"dddd, LT",lastDay:t("0x37d2"),lastWeek:t("0x44c4"),sameElse:"L"},relativeTime:{future:t("0x3f89"),past:t("0x179f"),s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},preparse:function(e){return e[t("0x3cc0")](/[१२३४५६७८९०]/g,(function(e){return a[e]}))},postformat:function(e){return e[t("0x3cc0")](/\d/g,(function(e){return n[e]}))},meridiemParse:/पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,meridiemHour:function(e,n){var a=t;return 12===e&&(e=0),n===a("0x2cc9")||"सकाळी"===n?e:n===a("0x2414")||n===a("0x2261")||n===a("0x31e4")?e>=12?e:e+12:void 0},meridiem:function(e,n,a){var r=t;return e>=0&&e<6?r("0x2cc9"):e<12?"सकाळी":r(e<17?"0x2414":e<20?"0x2261":"0x31e4")},week:{dow:0,doy:6}})}(n(381))},1237:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x466a"),{months:a("0x73b")[a("0x9e5")]("_"),monthsShort:a("0x398")[a("0x9e5")]("_"),weekdays:a("0x408b")[a("0x9e5")]("_"),weekdaysShort:a("0x153a")[a("0x9e5")]("_"),weekdaysMin:a("0x56f")[a("0x9e5")]("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x1b9f"),LLLL:a("0xf66")},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){var n=a;return 12===e&&(e=0),"pagi"===t?e:t===n("0x3e2f")?e>=11?e:e+12:t===n("0x348d")||t===n("0x244d")?e+12:void 0},meridiem:function(e,t,n){var r=a;return e<11?"pagi":r(e<15?"0x3e2f":e<19?"0x348d":"0x244d")},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:a("0x4c5"),nextWeek:a("0x415f"),lastDay:a("0x13a8"),lastWeek:a("0x2cb"),sameElse:"L"},relativeTime:{future:a("0x2c2c"),past:a("0x39d3"),s:a("0xb97"),ss:a("0x2814"),m:a("0x1397"),mm:"%d minit",h:a("0x3edd"),hh:a("0x4248"),d:a("0x16e9"),dd:a("0x41b2"),M:a("0xcfe"),MM:a("0x180c"),y:"setahun",yy:a("0x4b2b")},week:{dow:1,doy:7}})},9847:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("ms",{months:a("0x73b").split("_"),monthsShort:a("0x398")[a("0x9e5")]("_"),weekdays:a("0x408b")[a("0x9e5")]("_"),weekdaysShort:a("0x153a")[a("0x9e5")]("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb"[a("0x9e5")]("_"),longDateFormat:{LT:a("0xde"),LTS:"HH.mm.ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x1b9f"),LLLL:a("0xf66")},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){var n=a;return 12===e&&(e=0),t===n("0x1753")?e:t===n("0x3e2f")?e>=11?e:e+12:t===n("0x348d")||t===n("0x244d")?e+12:void 0},meridiem:function(e,t,n){var r=a;return e<11?r("0x1753"):e<15?"tengahari":r(e<19?"0x348d":"0x244d")},calendar:{sameDay:a("0x4337"),nextDay:a("0x4c5"),nextWeek:a("0x415f"),lastDay:"[Kelmarin pukul] LT",lastWeek:a("0x2cb"),sameElse:"L"},relativeTime:{future:a("0x2c2c"),past:a("0x39d3"),s:a("0xb97"),ss:"%d saat",m:"seminit",mm:a("0x45e1"),h:a("0x3edd"),hh:a("0x4248"),d:a("0x16e9"),dd:"%d hari",M:a("0xcfe"),MM:a("0x180c"),y:"setahun",yy:a("0x4b2b")},week:{dow:1,doy:7}})},2126:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("mt",{months:a("0x3e6b").split("_"),monthsShort:a("0x4bfb").split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt"[a("0x9e5")]("_"),weekdaysShort:a("0x490e").split("_"),weekdaysMin:a("0x2ae6")[a("0x9e5")]("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x262")},calendar:{sameDay:a("0xd39"),nextDay:a("0xd8e"),nextWeek:a("0x4a78"),lastDay:a("0x33f0"),lastWeek:a("0x23f1"),sameElse:"L"},relativeTime:{future:a("0x750"),past:a("0x1c91"),s:"ftit sekondi",ss:a("0x4387"),m:a("0x2b76"),mm:a("0x2dac"),h:a("0x40e0"),hh:"%d siegħat",d:"ġurnata",dd:a("0x11fa"),M:a("0x2aed"),MM:a("0x2718"),y:a("0x13ea"),yy:a("0x9c4")},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:a("0xbfb"),week:{dow:1,doy:4}})},6165:function(e,t,n){var a,r,i,o;a=n(381),r=a2_0x37cf,i={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},o={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"},a.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ"[r("0x9e5")]("_"),monthsShort:r("0x2a55")[r("0x9e5")]("_"),weekdays:r("0x1cab").split("_"),weekdaysShort:r("0x1e42")[r("0x9e5")]("_"),weekdaysMin:r("0x1e42").split("_"),longDateFormat:{LT:r("0x2bf3"),LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:r("0x25e6"),LLLL:r("0x37c2")},calendar:{sameDay:r("0x3954"),nextDay:r("0x22f9"),nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:r("0x4a6f"),past:"လွန်ခဲ့သော %s က",s:r("0x1c69"),ss:r("0x2736"),m:"တစ်မိနစ်",mm:r("0x27be"),h:r("0xce0"),hh:r("0x27ad"),d:r("0x3faa"),dd:r("0x1b60"),M:"တစ်လ",MM:"%d လ",y:r("0x44f2"),yy:r("0x1ae1")},preparse:function(e){return e[r("0x3cc0")](/[၁၂၃၄၅၆၇၈၉၀]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},week:{dow:1,doy:4}})},4924:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("nb",{months:r("0x4002")[r("0x9e5")]("_"),monthsShort:r("0xdfc")[r("0x9e5")]("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag"[r("0x9e5")]("_"),weekdaysShort:r("0x2a58")[r("0x9e5")]("_"),weekdaysMin:r("0x496e")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:r("0x2dbb"),L:r("0x21f3"),LL:r("0x1bcc"),LLL:r("0x49d7"),LLLL:r("0x3973")},calendar:{sameDay:r("0xc47"),nextDay:"[i morgen kl.] LT",nextWeek:r("0x30b1"),lastDay:r("0x44a4"),lastWeek:r("0x2b75"),sameElse:"L"},relativeTime:{future:r("0x1cbe"),past:"%s siden",s:r("0x18ba"),ss:r("0x4c9d"),m:"ett minutt",mm:r("0x98d"),h:r("0x39d2"),hh:"%d timer",d:"en dag",dd:r("0x419f"),w:"en uke",ww:"%d uker",M:"en måned",MM:r("0x3cb8"),y:r("0x289f"),yy:r("0x1e86")},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})},6744:function(e,t,n){var a,r,i,o;a=n(381),i={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},o={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},a[(r=a2_0x37cf)("0x42e7")]("ne",{months:r("0x37f7")[r("0x9e5")]("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:r("0x49ab")[r("0x9e5")]("_"),weekdaysShort:r("0x4fa2")[r("0x9e5")]("_"),weekdaysMin:r("0x3e7a")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2f08"),LTS:r("0x618"),L:r("0x4fcb"),LL:r("0x1719"),LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e[r("0x3cc0")](/[१२३४५६७८९०]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),"राति"===t?e<4?e:e+12:t===n("0x3de5")?e:t===n("0x291e")?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){var a=r;return a(e<3?"0x238f":e<12?"0x3de5":e<16?"0x291e":e<20?"0x41de":"0x238f")},calendar:{sameDay:r("0x2152"),nextDay:r("0x1d6a"),nextWeek:r("0x313f"),lastDay:r("0x483d"),lastWeek:r("0x2e14"),sameElse:"L"},relativeTime:{future:r("0x2b7e"),past:r("0x41c7"),s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:r("0x15ee"),h:r("0x4b9f"),hh:r("0x25fd"),d:r("0x3523"),dd:r("0x1962"),M:r("0x3daa"),MM:"%d महिना",y:r("0x2780"),yy:r("0x3e1")},week:{dow:0,doy:6}})},9814:function(e,t,n){var a,r,i,o,x,s;a=n(381),i="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec."[(r=a2_0x37cf)("0x9e5")]("_"),o=r("0x3adb").split("_"),x=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],s=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,a[r("0x42e7")](r("0x1e87"),{months:r("0xdf0").split("_"),monthsShort:function(e,t){var n=r;return e?/-MMM-/[n("0x3ff3")](t)?o[e[n("0x1b62")]()]:i[e.month()]:i},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,weekdays:r("0x4b1a")[r("0x9e5")]("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za."[r("0x9e5")]("_"),weekdaysMin:r("0x2676")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},calendar:{sameDay:r("0x337"),nextDay:r("0x12ac"),nextWeek:r("0x86"),lastDay:r("0x196"),lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:r("0x4e1d"),past:r("0x2ae"),s:r("0x226d"),ss:"%d seconden",m:"één minuut",mm:r("0x4dcd"),h:r("0x3534"),hh:r("0x3558"),d:"één dag",dd:"%d dagen",M:r("0x2209"),MM:r("0x3b19"),y:r("0x2f56"),yy:r("0x31ea")},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?r("0x21ae"):"de")},week:{dow:1,doy:4}})},3901:function(e,t,n){var a,r,i,o,x,s;a=n(381),i=(r=a2_0x37cf)("0x1e19").split("_"),o="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec"[r("0x9e5")]("_"),x=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],s=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,a[r("0x42e7")]("nl",{months:r("0xdf0")[r("0x9e5")]("_"),monthsShort:function(e,t){var n=r;return e?/-MMM-/.test(t)?o[e[n("0x1b62")]()]:i[e[n("0x1b62")]()]:i},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,weekdays:r("0x4b1a")[r("0x9e5")]("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za."[r("0x9e5")]("_"),weekdaysMin:r("0x2676")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x2bf3"),LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},calendar:{sameDay:r("0x337"),nextDay:r("0x12ac"),nextWeek:r("0x86"),lastDay:r("0x196"),lastWeek:r("0x151b"),sameElse:"L"},relativeTime:{future:r("0x4e1d"),past:r("0x2ae"),s:r("0x226d"),ss:r("0x4156"),m:r("0xbf9"),mm:"%d minuten",h:"één uur",hh:r("0x3558"),d:r("0x2ab9"),dd:r("0x3430"),w:r("0x343e"),ww:r("0x281a"),M:r("0x2209"),MM:r("0x3b19"),y:r("0x2f56"),yy:r("0x31ea")},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?r("0x21ae"):"de")},week:{dow:1,doy:4}})},3877:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember"[a("0x9e5")]("_"),monthsShort:a("0xdfc")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0x13d4").split("_"),weekdaysShort:a("0x3225").split("_"),weekdaysMin:a("0x4c73")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x21f3"),LL:"D. MMMM YYYY",LLL:a("0x14a"),LLLL:a("0x3973")},calendar:{sameDay:a("0x38d2"),nextDay:a("0x4cb2"),nextWeek:a("0x3c96"),lastDay:a("0x37a6"),lastWeek:a("0x190b"),sameElse:"L"},relativeTime:{future:a("0x1cbe"),past:a("0x2e40"),s:"nokre sekund",ss:a("0x7f1"),m:"eit minutt",mm:a("0x360d"),h:"ein time",hh:"%d timar",d:a("0x2ef8"),dd:"%d dagar",w:a("0x16af"),ww:a("0x2c8e"),M:a("0x3ab5"),MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:a("0x3f1c"),week:{dow:1,doy:4}})},2135:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x39ef"),{months:{standalone:a("0xfba")[a("0x9e5")]("_"),format:"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre"[a("0x9e5")]("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:a("0x14c7").split("_"),monthsParseExact:!0,weekdays:a("0x873")[a("0x9e5")]("_"),weekdaysShort:a("0x42eb")[a("0x9e5")]("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds"[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x13bc"),LTS:"H:mm:ss",L:a("0x4fcb"),LL:"D MMMM [de] YYYY",ll:a("0x1893"),LLL:a("0x1c6d"),lll:a("0x458d"),LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:a("0x4ac4"),nextDay:a("0x43d3"),nextWeek:a("0x20eb"),lastDay:a("0x3486"),lastWeek:a("0xaba"),sameElse:"L"},relativeTime:{future:a("0x235e"),past:a("0x3439"),s:a("0x4102"),ss:a("0x7fd"),m:a("0x1ab2"),mm:a("0x879"),h:"una ora",hh:a("0x3aba"),d:a("0x3373"),dd:a("0x46e8"),M:a("0x1dfe"),MM:"%d meses",y:"un an",yy:a("0x4e21")},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return("w"===t||"W"===t)&&(n="a"),e+n},week:{dow:1,doy:4}})},5858:function(e,t,n){var a,r,i,o;a=n(381),i={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},o={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"},a[(r=a2_0x37cf)("0x42e7")]("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ"[r("0x9e5")]("_"),monthsShort:r("0x2ae1").split("_"),weekdays:r("0x3b31")[r("0x9e5")]("_"),weekdaysShort:r("0x12ba")[r("0x9e5")]("_"),weekdaysMin:r("0x12ba")[r("0x9e5")]("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:r("0x42c5"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x30d3"),LLLL:r("0x3f0b")},calendar:{sameDay:r("0x1dd8"),nextDay:r("0x42a8"),nextWeek:r("0x1cfa"),lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:r("0x3c6f"),past:r("0x4552"),s:r("0xd61"),ss:r("0x1b2a"),m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:r("0x12"),hh:"%d ਘੰਟੇ",d:r("0x2550"),dd:r("0x161f"),M:"ਇੱਕ ਮਹੀਨਾ",MM:r("0x156e"),y:r("0x25b4"),yy:"%d ਸਾਲ"},preparse:function(e){return e[r("0x3cc0")](/[੧੨੩੪੫੬੭੮੯੦]/g,(function(e){return o[e]}))},postformat:function(e){return e[r("0x3cc0")](/\d/g,(function(e){return i[e]}))},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0xadb")?e<4?e:e+12:t===n("0x2fd6")?e:t===n("0x3588")?e>=10?e:e+12:t===n("0x376c")?e+12:void 0},meridiem:function(e,t,n){var a=r;return a(e<4?"0xadb":e<10?"0x2fd6":e<17?"0x3588":e<20?"0x376c":"0xadb")},week:{dow:0,doy:6}})},4495:function(e,t,n){!function(e){var t=a2_0x37cf,n=t("0x297b")[t("0x9e5")]("_"),a=t("0x3bfe")[t("0x9e5")]("_"),r=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^paź/i,/^lis/i,/^gru/i];function i(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function o(e,n,a){var r=t,o=e+" ";switch(a){case"ss":return o+(i(e)?"sekundy":r("0x227"));case"m":return n?r("0x2b76"):"minutę";case"mm":return o+(i(e)?r("0x12e5"):r("0x3baa"));case"h":return n?"godzina":r("0x42d1");case"hh":return o+(i(e)?r("0x3463"):r("0x3bab"));case"ww":return o+(i(e)?r("0x2523"):r("0x113b"));case"MM":return o+(i(e)?r("0x3f49"):"miesięcy");case"yy":return o+(i(e)?r("0x1eb5"):r("0x2b"))}}e[t("0x42e7")]("pl",{months:function(e,r){var i=t;return e?/D MMMM/[i("0x3ff3")](r)?a[e[i("0x1b62")]()]:n[e.month()]:n},monthsShort:t("0x3b89")[t("0x9e5")]("_"),monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:t("0x337e")[t("0x9e5")]("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:t("0x21f3"),LL:t("0x1719"),LLL:t("0x25e6"),LLLL:t("0x262")},calendar:{sameDay:t("0x28d4"),nextDay:t("0x1623"),nextWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return"[W niedzielę o] LT";case 2:return e("0x76a");case 3:return e("0x38b8");case 6:return e("0x24c6");default:return e("0x40a4")}},lastDay:t("0x15b9"),lastWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return e("0x3ccf");case 3:return e("0x3743");case 6:return"[W zeszłą sobotę o] LT";default:return e("0x3b20")}},sameElse:"L"},relativeTime:{future:t("0x39e3"),past:t("0x4e60"),s:t("0x1967"),ss:o,m:o,mm:o,h:o,hh:o,d:t("0x3ec8"),dd:"%d dni",w:"tydzień",ww:o,M:t("0x2b58"),MM:o,y:"rok",yy:o},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(381))},7971:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x2530"),{months:a("0x4e15").split("_"),monthsShort:a("0x3b08")[a("0x9e5")]("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado"[a("0x9e5")]("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:a("0x1a96")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:a("0x1f9f"),LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:a("0x2b32")},calendar:{sameDay:a("0x35b9"),nextDay:a("0x1c36"),nextWeek:a("0x1fb3"),lastDay:a("0x8fc"),lastWeek:function(){var e=a;return 0===this[e("0x1588")]()||6===this[e("0x1588")]()?e("0x2ab4"):e("0x3674")},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:a("0x2668"),ss:"%d segundos",m:"um minuto",mm:a("0x4783"),h:"uma hora",hh:a("0x3fcf"),d:"um dia",dd:"%d dias",M:"um mês",MM:a("0x46cf"),y:a("0x4c44"),yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",invalidDate:a("0xcff")})},9520:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("pt",{months:a("0x4e15")[a("0x9e5")]("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez"[a("0x9e5")]("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado"[a("0x9e5")]("_"),weekdaysShort:a("0x41ce").split("_"),weekdaysMin:a("0x3d27")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:a("0x2dbb"),L:a("0x4fcb"),LL:a("0x1f9f"),LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:a("0x2916")},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:a("0x1fb3"),lastDay:a("0x8fc"),lastWeek:function(){var e=a;return 0===this[e("0x1588")]()||6===this[e("0x1588")]()?e("0x2ab4"):e("0x3674")},sameElse:"L"},relativeTime:{future:a("0x3ce0"),past:a("0x32f0"),s:a("0x1051"),ss:a("0x141b"),m:a("0x388d"),mm:"%d minutos",h:a("0x40c5"),hh:a("0x3fcf"),d:a("0x1f2f"),dd:a("0xe4e"),w:a("0x27bc"),ww:a("0x24ca"),M:a("0xa44"),MM:a("0x46cf"),y:a("0x4c44"),yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:a("0xbfb"),week:{dow:1,doy:4}})},6459:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n){var a=a2_0x37cf,r={ss:"secunde",mm:a("0x2884"),hh:a("0x15bf"),dd:"zile",ww:a("0x2e73"),MM:"luni",yy:a("0x270a")},i=" ";return(e%100>=20||e>=100&&e%100==0)&&(i=a("0x4c33")),e+i+r[n]}e[t("0x42e7")]("ro",{months:t("0x3b4a")[t("0x9e5")]("_"),monthsShort:t("0x491e").split("_"),monthsParseExact:!0,weekdays:t("0x1088")[t("0x9e5")]("_"),weekdaysShort:t("0x66d")[t("0x9e5")]("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ"[t("0x9e5")]("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:t("0x21f3"),LL:t("0x1719"),LLL:"D MMMM YYYY H:mm",LLLL:t("0x4719")},calendar:{sameDay:t("0x1a42"),nextDay:t("0x3a0e"),nextWeek:t("0x3aa5"),lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:t("0x2d4e"),past:t("0xc1b"),s:t("0x4dd7"),ss:n,m:"un minut",mm:n,h:t("0x3d13"),hh:n,d:"o zi",dd:n,w:"o săptămână",ww:n,M:t("0x2db1"),MM:n,y:t("0x4b5c"),yy:n},week:{dow:1,doy:7}})}(n(381))},1793:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t){var n=e[a2_0x37cf("0x9e5")]("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function a(e,t,a){var r=a2_0x37cf,i={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:r(t?"0x46fc":"0x2c59"),hh:"час_часа_часов",dd:"день_дня_дней",ww:r("0x4434"),MM:r("0x3705"),yy:"год_года_лет"};return"m"===a?r(t?"0x2416":"0x35ea"):e+" "+n(i[a],+e)}var r=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];e[t("0x42e7")]("ru",{months:{format:t("0x4ab8").split("_"),standalone:t("0x4900")[t("0x9e5")]("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек."[t("0x9e5")]("_")},weekdays:{standalone:t("0x14ad")[t("0x9e5")]("_"),format:t("0x1cd7")[t("0x9e5")]("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/},weekdaysShort:t("0x4d47")[t("0x9e5")]("_"),weekdaysMin:t("0x4d47")[t("0x9e5")]("_"),monthsParse:r,longMonthsParse:r,shortMonthsParse:r,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:t("0x49a6"),L:t("0x21f3"),LL:"D MMMM YYYY г.",LLL:t("0x2027"),LLLL:t("0x1c35")},calendar:{sameDay:t("0x2aa2"),nextDay:"[Завтра, в] LT",lastDay:t("0x49b3"),nextWeek:function(e){var n=t;if(e[n("0x4504")]()===this[n("0x4504")]())return 2===this[n("0x1588")]()?n("0x2ffc"):n("0x25d6");switch(this[n("0x1588")]()){case 0:return n("0x1bc3");case 1:case 2:case 4:return n("0x4ee");case 3:case 5:case 6:return n("0xefe")}},lastWeek:function(e){var n=t;if(e[n("0x4504")]()===this[n("0x4504")]())return 2===this[n("0x1588")]()?"[Во] dddd, [в] LT":n("0x25d6");switch(this[n("0x1588")]()){case 0:return n("0x20a4");case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return n("0x2a52")}},sameElse:"L"},relativeTime:{future:t("0x3ba3"),past:t("0x45eb"),s:"несколько секунд",ss:a,m:a,mm:a,h:t("0x3aac"),hh:a,d:t("0x296d"),dd:a,w:t("0x4758"),ww:a,M:t("0x894"),MM:a,y:t("0x1755"),yy:a},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/[t("0x3ff3")](e)},meridiem:function(e,n,a){var r=t;return e<4?r("0x4315"):e<12?r("0x4520"):e<17?r("0x4d6c"):"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,n){var a=t;switch(n){case"M":case"d":case a("0x4044"):return e+"-й";case"D":return e+a("0x3990");case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}})}(n(381))},950:function(e,t,n){var a,r,i,o;a=n(381),i=[(r=a2_0x37cf)("0x43ae"),r("0x500"),r("0x3ced"),r("0x498b"),"مئي","جون",r("0x671"),r("0x1286"),r("0x15bb"),"آڪٽوبر",r("0x3471"),r("0x4558")],o=[r("0xad5"),"سومر","اڱارو",r("0x38b3"),r("0x5001"),r("0x3081"),"ڇنڇر"],a.defineLocale("sd",{months:i,monthsShort:i,weekdays:o,weekdaysShort:o,weekdaysMin:o,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x20af")},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?r("0x4b1c"):"شام"},calendar:{sameDay:r("0x3615"),nextDay:r("0x1e40"),nextWeek:r("0x89b"),lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:r("0x3a5e"),past:r("0x4812"),s:r("0x1d8d"),ss:r("0x2732"),m:r("0xfd7"),mm:"%d منٽ",h:r("0xe1b"),hh:r("0x2ac7"),d:r("0x578"),dd:r("0x430b"),M:r("0x2439"),MM:"%d مهينا",y:r("0x2e63"),yy:r("0x4209")},preparse:function(e){return e[r("0x3cc0")](/،/g,",")},postformat:function(e){return e[r("0x3cc0")](/,/g,"،")},week:{dow:1,doy:4}})},490:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("se",{months:a("0x446e")[a("0x9e5")]("_"),monthsShort:a("0x3df3").split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:a("0x2edc")[a("0x9e5")]("_"),weekdaysMin:"s_v_m_g_d_b_L"[a("0x9e5")]("_"),longDateFormat:{LT:"HH:mm",LTS:a("0x2dbb"),L:a("0x21f3"),LL:a("0x215a"),LLL:a("0x28d1"),LLLL:a("0x40b3")},calendar:{sameDay:a("0x4a05"),nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:a("0x28b9"),lastWeek:a("0xd91"),sameElse:"L"},relativeTime:{future:a("0x36a8"),past:"maŋit %s",s:a("0x1460"),ss:a("0x1414"),m:"okta minuhta",mm:a("0x25e0"),h:a("0x26d"),hh:"%d diimmut",d:a("0x47b7"),dd:a("0x22dd"),M:a("0x306f"),MM:"%d mánut",y:"okta jahki",yy:a("0x467c")},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:a("0x3f1c"),week:{dow:1,doy:4}})},124:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("si",{months:a("0x4a93")[a("0x9e5")]("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ"[a("0x9e5")]("_"),weekdays:a("0x69c").split("_"),weekdaysShort:a("0x2e0a")[a("0x9e5")]("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ"[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x46ba"),LTS:a("0x1f66"),L:a("0x29ad"),LL:a("0x1e9e"),LLL:a("0x4586"),LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:a("0x23ce"),nextDay:"[හෙට] LT[ට]",nextWeek:a("0xa62"),lastDay:"[ඊයේ] LT[ට]",lastWeek:a("0x31f0"),sameElse:"L"},relativeTime:{future:a("0xec5"),past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:a("0xba4"),m:a("0x4c6f"),mm:a("0x4309"),h:a("0x363d"),hh:"පැය %d",d:a("0xaf3"),dd:a("0x140f"),M:a("0x39cb"),MM:"මාස %d",y:"වසර",yy:a("0x17d8")},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){var t=a;return e===t("0x4c00")||e===t("0x467")},meridiem:function(e,t,n){var r=a;return e>11?n?r("0x4c00"):"පස් වරු":r(n?"0x252d":"0x1f6f")}})},4249:function(e,t,n){!function(e){var t=a2_0x37cf,n="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december"[t("0x9e5")]("_"),a=t("0x4f04")[t("0x9e5")]("_");function r(e){return e>1&&e<5}function i(e,n,a,i){var o=t,x=e+" ";switch(a){case"s":return n||i?"pár sekúnd":o("0x4fd1");case"ss":return n||i?x+(r(e)?o("0x504"):o("0x4c1a")):x+o("0x43c2");case"m":return o(n?"0x4d03":i?"0x3a01":"0x1b12");case"mm":return n||i?x+(r(e)?o("0x1649"):o("0x53a")):x+o("0x4a87");case"h":return o(n?"0x472e":i?"0x2415":"0x331a");case"hh":return n||i?x+(r(e)?o("0x4dbd"):o("0x146b")):x+o("0x3c8a");case"d":return o(n||i?"0x9b2":"0x4d45");case"dd":return n||i?x+(r(e)?o("0x385a"):o("0x460b")):x+o("0x1566");case"M":return o(n||i?"0x48ca":"0x4973");case"MM":return n||i?x+(r(e)?o("0x1095"):"mesiacov"):x+o("0x238e");case"y":return n||i?"rok":o("0x234d");case"yy":return n||i?x+(r(e)?o("0x1e91"):"rokov"):x+o("0x227e")}}e.defineLocale("sk",{months:n,monthsShort:a,weekdays:t("0x3762")[t("0x9e5")]("_"),weekdaysShort:t("0x3e68")[t("0x9e5")]("_"),weekdaysMin:t("0x3e68")[t("0x9e5")]("_"),longDateFormat:{LT:t("0x13bc"),LTS:t("0x49a6"),L:t("0x21f3"),LL:t("0x1bcc"),LLL:t("0x46fd"),LLLL:t("0x1e8b")},calendar:{sameDay:"[dnes o] LT",nextDay:t("0x3e88"),nextWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return e("0x32f2");case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return e("0x35fa");case 5:return e("0x3e1b");case 6:return"[v sobotu o] LT"}},lastDay:t("0x3940"),lastWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return e("0x19c8");case 1:case 2:return"[minulý] dddd [o] LT";case 3:return e("0x3833");case 4:case 5:return"[minulý] dddd [o] LT";case 6:return e("0x14d9")}},sameElse:"L"},relativeTime:{future:t("0x39e3"),past:t("0x24d5"),s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},4985:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t,n,a){var r=a2_0x37cf,i=e+" ";switch(n){case"s":return r(t||a?"0x38f9":"0x744");case"ss":return i+=r(1===e?t?"0x2220":"0x497d":2===e?t||a?"0x497d":"0x38b":e<5?t||a?"0x1af6":"0x38b":"0x227");case"m":return r(t?"0x34ba":"0x5bb");case"mm":return i+=1===e?t?"minuta":r("0x2e5d"):r(2===e?t||a?"0x3d5":"0x2613":e<5?t||a?"0x2884":"0x65d":t||a?"0x3baa":"0x65d");case"h":return r(t?"0x1eb7":"0x438d");case"hh":return i+=1===e?t?"ura":r("0xbb4"):2===e?t||a?r("0x234"):"urama":e<5?t||a?r("0xf9d"):"urami":t||a?"ur":r("0x2d6c");case"d":return t||a?r("0x4152"):"enim dnem";case"dd":return i+=1===e?t||a?r("0x1b26"):"dnem":2===e?r(t||a?"0x385a":"0x2bb3"):t||a?"dni":r("0x1640");case"M":return r(t||a?"0x27b2":"0x35");case"MM":return i+=1===e?r(t||a?"0x1cb3":"0x33ce"):2===e?r(t||a?"0x4bc8":"0x37be"):e<5?r(t||a?"0x36c1":"0x424b"):t||a?"mesecev":r("0x424b");case"y":return r(t||a?"0x42ba":"0x4a75");case"yy":return i+=1===e?r(t||a?"0x341c":"0x4ba8"):2===e?r(t||a?"0x60c":"0x447"):e<5?r(t||a?"0x4b05":"0x60c"):t||a?"let":r("0x60c")}}e[t("0x42e7")]("sl",{months:t("0x2c4b")[t("0x9e5")]("_"),monthsShort:t("0x2645")[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:t("0xefa")[t("0x9e5")]("_"),weekdaysShort:t("0x4d95")[t("0x9e5")]("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:t("0x13bc"),LTS:"H:mm:ss",L:t("0x1c56"),LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:t("0x4e79")},calendar:{sameDay:t("0x68a"),nextDay:"[jutri ob] LT",nextWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return e("0x1ee0");case 3:return e("0x220b");case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return e("0x1636")}},lastDay:t("0x37e2"),lastWeek:function(){var e=t;switch(this[e("0x1588")]()){case 0:return e("0x34f6");case 3:return e("0x3aee");case 6:return e("0x1338");case 1:case 2:case 4:case 5:return e("0x436a")}},sameElse:"L"},relativeTime:{future:"čez %s",past:t("0x24d5"),s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:7}})}(n(381))},1104:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("sq",{months:a("0x4a4c")[a("0x9e5")]("_"),monthsShort:a("0xfd2")[a("0x9e5")]("_"),weekdays:a("0xa3d")[a("0x9e5")]("_"),weekdaysShort:a("0x4634")[a("0x9e5")]("_"),weekdaysMin:a("0x366d")[a("0x9e5")]("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x262")},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:a("0x3e07"),lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:a("0x1b9d"),s:a("0x1895"),ss:a("0x182f"),m:a("0x550"),mm:a("0x146e"),h:a("0x7e1"),hh:a("0x44a5"),d:a("0x475f"),dd:a("0x2c70"),M:"një muaj",MM:a("0xb0f"),y:a("0xf00"),yy:a("0x821")},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:a("0x3f1c"),week:{dow:1,doy:4}})},9915:function(e,t,n){var a,r,i;a=n(381),i={words:{ss:[(r=a2_0x37cf)("0x3852"),r("0x8c1"),r("0x355f")],m:[r("0x6a0"),r("0x725")],mm:[r("0x4ef6"),r("0x4e4c"),r("0x2416")],h:[r("0x30fd"),r("0x2d75")],hh:[r("0x490"),"сата",r("0x4471")],dd:[r("0x603"),r("0xb2a"),r("0xb2a")],MM:[r("0x1430"),"месеца",r("0x1f64")],yy:["година",r("0x4123"),r("0x33ac")]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,t,n){var a=r,o=i[a("0x3708")][n];return 1===n[a("0x5e9")]?t?o[0]:o[1]:e+" "+i[a("0x3f56")](e,o)}},a[r("0x42e7")](r("0x35a4"),{months:r("0x51e")[r("0x9e5")]("_"),monthsShort:r("0x1620")[r("0x9e5")]("_"),monthsParseExact:!0,weekdays:r("0x283d")[r("0x9e5")]("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:r("0x393d")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:r("0x49a6"),L:r("0x18f3"),LL:r("0x42be"),LLL:r("0x1d2a"),LLLL:r("0x108a")},calendar:{sameDay:"[данас у] LT",nextDay:r("0x1221"),nextWeek:function(){var e=r;switch(this[e("0x1588")]()){case 0:return"[у] [недељу] [у] LT";case 3:return e("0x1bfd");case 6:return e("0x2475");case 1:case 2:case 4:case 5:return e("0x33a9")}},lastDay:"[јуче у] LT",lastWeek:function(){var e=r;return[e("0x4c80"),e("0x368"),e("0x2cd5"),"[прошле] [среде] [у] LT",e("0x3119"),e("0xf57"),e("0x2a39")][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:r("0x485b"),s:r("0xe1a"),ss:i[r("0x2112")],m:i[r("0x2112")],mm:i[r("0x2112")],h:i[r("0x2112")],hh:i.translate,d:r("0x603"),dd:i[r("0x2112")],M:r("0x1430"),MM:i.translate,y:r("0x4d16"),yy:i.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:r("0x3f1c"),week:{dow:1,doy:7}})},9131:function(e,t,n){var a,r,i;a=n(381),i={words:{ss:[(r=a2_0x37cf)("0x4d28"),r("0x1af6"),r("0x497d")],m:[r("0x421f"),r("0x4563")],mm:[r("0x3baa"),r("0x2884"),r("0x2b76")],h:[r("0x4a10"),"jednog sata"],hh:[r("0x3730"),r("0x23bf"),r("0x34a")],dd:[r("0x1b26"),r("0x111a"),r("0x111a")],MM:[r("0x1cb3"),"meseca",r("0x424b")],yy:[r("0x4f43"),r("0x1704"),r("0x4f43")]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,t,n){var a=i.words[n];return 1===n.length?t?a[0]:a[1]:e+" "+i.correctGrammaticalCase(e,a)}},a.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar"[r("0x9e5")]("_"),monthsShort:r("0x1504")[r("0x9e5")]("_"),monthsParseExact:!0,weekdays:r("0xb05").split("_"),weekdaysShort:r("0x41b3")[r("0x9e5")]("_"),weekdaysMin:r("0xd5d")[r("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:r("0x13bc"),LTS:r("0x49a6"),L:"D. M. YYYY.",LL:r("0x42be"),LLL:"D. MMMM YYYY. H:mm",LLLL:r("0x108a")},calendar:{sameDay:"[danas u] LT",nextDay:r("0x1fb6"),nextWeek:function(){var e=r;switch(this.day()){case 0:return e("0x129d");case 3:return e("0x1863");case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:r("0x490a"),lastWeek:function(){var e=r;return[e("0x52d"),e("0x19be"),e("0x40ee"),"[prošle] [srede] [u] LT",e("0x4d77"),"[prošlog] [petka] [u] LT",e("0x1365")][this[e("0x1588")]()]},sameElse:"L"},relativeTime:{future:r("0x39e3"),past:"pre %s",s:r("0xc22"),ss:i[r("0x2112")],m:i.translate,mm:i[r("0x2112")],h:i.translate,hh:i[r("0x2112")],d:"dan",dd:i[r("0x2112")],M:r("0x1cb3"),MM:i[r("0x2112")],y:r("0x727"),yy:i[r("0x2112")]},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})},5893:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("ss",{months:a("0x89f")[a("0x9e5")]("_"),monthsShort:a("0x4b38").split("_"),weekdays:a("0x4d1").split("_"),weekdaysShort:a("0x774")[a("0x9e5")]("_"),weekdaysMin:a("0x3ac4")[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x1bc1"),LTS:a("0x1989"),L:a("0x4fcb"),LL:a("0x1719"),LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:a("0x4813"),nextDay:a("0x1b8f"),nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:a("0x17c7"),past:a("0x12e2"),s:a("0xa92"),ss:"%d mzuzwana",m:a("0x380d"),mm:a("0x2d42"),h:a("0x1fe8"),hh:a("0x2a28"),d:a("0x3242"),dd:a("0x2fc5"),M:a("0x3b77"),MM:a("0x28dd"),y:a("0x3efc"),yy:a("0x258d")},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){var r=a;return r(e<11?"0x1543":e<15?"0x1da0":e<19?"0x109":"0x2551")},meridiemHour:function(e,t){var n=a;return 12===e&&(e=0),t===n("0x1543")?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||t===n("0x2551")?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})},8760:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec"[a("0x9e5")]("_"),weekdays:a("0x4da4").split("_"),weekdaysShort:a("0x4d6")[a("0x9e5")]("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x2114"),LL:a("0x1719"),LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:a("0x2672"),lll:a("0x1415"),llll:a("0x3a82")},calendar:{sameDay:"[Idag] LT",nextDay:a("0x463a"),lastDay:a("0x47ae"),nextWeek:a("0x32da"),lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:a("0x1cbe"),past:"för %s sedan",s:a("0x76e"),ss:a("0x4c9d"),m:a("0x1676"),mm:"%d minuter",h:a("0x3dfa"),hh:"%d timmar",d:a("0x2a88"),dd:a("0x181e"),M:"en månad",MM:a("0x1230"),y:a("0x289f"),yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?":e":1===t||2===t?":a":":e")},week:{dow:1,doy:4}})},1172:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("sw",{months:a("0x611")[a("0x9e5")]("_"),monthsShort:a("0x140").split("_"),weekdays:a("0x3fb9")[a("0x9e5")]("_"),weekdaysShort:a("0x3842").split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1"[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x465e"),LTS:a("0x2dbb"),L:a("0x21f3"),LL:"D MMMM YYYY",LLL:a("0x25e6"),LLLL:a("0x262")},calendar:{sameDay:a("0x49f"),nextDay:a("0x3260"),nextWeek:a("0x3776"),lastDay:a("0x4945"),lastWeek:a("0x4c5b"),sameElse:"L"},relativeTime:{future:a("0x1709"),past:a("0x4c22"),s:a("0x487b"),ss:a("0x46b6"),m:a("0x4612"),mm:a("0x28c2"),h:a("0x1a6e"),hh:a("0x3f01"),d:"siku moja",dd:a("0x3202"),M:a("0x44d7"),MM:"miezi %d",y:a("0x3d73"),yy:a("0x2b6")},week:{dow:1,doy:7}})},7333:function(e,t,n){var a,r,i,o;a=n(381),i={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},o={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"},a[(r=a2_0x37cf)("0x42e7")]("ta",{months:r("0xbdc")[r("0x9e5")]("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்"[r("0x9e5")]("_"),weekdays:r("0x390a")[r("0x9e5")]("_"),weekdaysShort:r("0x43af")[r("0x9e5")]("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச"[r("0x9e5")]("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:r("0x1719"),LLL:r("0x79d"),LLLL:r("0x1c2c")},calendar:{sameDay:r("0x4a3d"),nextDay:r("0x1997"),nextWeek:r("0x1262"),lastDay:r("0x2602"),lastWeek:r("0x205d"),sameElse:"L"},relativeTime:{future:r("0x157e"),past:r("0x1268"),s:"ஒரு சில விநாடிகள்",ss:r("0x1a59"),m:r("0xbd8"),mm:r("0x4e19"),h:r("0x1a46"),hh:"%d மணி நேரம்",d:r("0x2239"),dd:r("0x3073"),M:r("0x3060"),MM:r("0x4381"),y:r("0x319e"),yy:r("0x2353")},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,(function(e){return o[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return i[e]}))},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){var a=r;return e<2?a("0x1da2"):e<6?a("0x3195"):e<10?a("0x2185"):e<14?a("0x42c3"):e<18?a("0xa5a"):e<22?" மாலை":a("0x1da2")},meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0x35e9")?e<2?e:e+12:t===n("0x3444")||t===n("0x2a0d")||t===n("0x125a")&&e>=10?e:e+12},week:{dow:0,doy:6}})},3110:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్"[a("0x9e5")]("_"),monthsShort:a("0x3f9d")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0x4fb6").split("_"),weekdaysShort:a("0x48ea")[a("0x9e5")]("_"),weekdaysMin:a("0x47fd")[a("0x9e5")]("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:"D MMMM YYYY, A h:mm",LLLL:a("0x39f3")},calendar:{sameDay:a("0x3584"),nextDay:a("0xeca"),nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:a("0x476e"),sameElse:"L"},relativeTime:{future:a("0xa33"),past:a("0x4856"),s:a("0x12f4"),ss:a("0x87a"),m:"ఒక నిమిషం",mm:a("0x3c9e"),h:a("0x3236"),hh:a("0x4205"),d:a("0x461d"),dd:"%d రోజులు",M:a("0x3371"),MM:a("0xbcf"),y:a("0x4a84"),yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:a("0x3117"),meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){var n=a;return 12===e&&(e=0),t===n("0x489f")?e<4?e:e+12:t===n("0x237a")?e:t===n("0x1da5")?e>=10?e:e+12:t===n("0x150b")?e+12:void 0},meridiem:function(e,t,n){var r=a;return e<4?r("0x489f"):e<10?r("0x237a"):e<17?r("0x1da5"):e<20?r("0x150b"):"రాత్రి"},week:{dow:0,doy:6}})},2095:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0xcc4"),{months:a("0x16dc")[a("0x9e5")]("_"),monthsShort:a("0x1e54").split("_"),weekdays:a("0x1deb").split("_"),weekdaysShort:a("0x69f")[a("0x9e5")]("_"),weekdaysMin:a("0x43b7")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x25e6"),LLLL:a("0x262")},calendar:{sameDay:a("0x2c89"),nextDay:a("0x22fa"),nextWeek:a("0x24f5"),lastDay:a("0x4b46"),lastWeek:a("0x32e8"),sameElse:"L"},relativeTime:{future:a("0x1ef5"),past:a("0x3379"),s:a("0x36a4"),ss:a("0x2cac"),m:"minutu ida",mm:a("0x4125"),h:"oras ida",hh:a("0x47bc"),d:a("0x1312"),dd:a("0x4424"),M:a("0x1142"),MM:a("0xecb"),y:a("0x34b0"),yy:a("0x47e3")},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})},7321:function(e,t,n){var a,r,i;a=n(381),i={0:(r=a2_0x37cf)("0x3e46"),1:r("0x3e46"),2:r("0x4ec8"),3:r("0x4ec8"),4:r("0x3e46"),5:r("0x3e46"),6:r("0x3e46"),7:r("0x3e46"),8:r("0x3e46"),9:r("0x3e46"),10:r("0x3e46"),12:r("0x3e46"),13:r("0x3e46"),20:r("0x3e46"),30:r("0x4ec8"),40:r("0x3e46"),50:"-ум",60:r("0x3e46"),70:r("0x3e46"),80:r("0x3e46"),90:"-ум",100:r("0x3e46")},a[r("0x42e7")]("tg",{months:{format:r("0x2757")[r("0x9e5")]("_"),standalone:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_")},monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек"[r("0x9e5")]("_"),weekdays:r("0x49c")[r("0x9e5")]("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб"[r("0x9e5")]("_"),weekdaysMin:r("0x3ff8")[r("0x9e5")]("_"),longDateFormat:{LT:"HH:mm",LTS:r("0x2dbb"),L:r("0x21f3"),LL:"D MMMM YYYY",LLL:r("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:r("0x3332"),nextDay:r("0x216f"),lastDay:r("0x4a17"),nextWeek:r("0x4ffd"),lastWeek:r("0x431f"),sameElse:"L"},relativeTime:{future:r("0x1cc"),past:r("0x4dce"),s:r("0x154a"),m:r("0xed9"),mm:r("0x3a8a"),h:r("0x15d9"),hh:r("0x48b4"),d:r("0x3d87"),dd:r("0x3781"),M:"як моҳ",MM:r("0x1caf"),y:"як сол",yy:r("0x4d32")},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){var n=r;return 12===e&&(e=0),t===n("0x1668")?e<4?e:e+12:t===n("0x1a61")?e:t===n("0x4a7c")?e>=11?e:e+12:t===n("0x1edd")?e+12:void 0},meridiem:function(e,t,n){var a=r;return e<4?a("0x1668"):e<11?a("0x1a61"):e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){var t=e%10,n=e>=100?100:null;return e+(i[e]||i[t]||i[n])},week:{dow:1,doy:7}})},9041:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม"[a("0x9e5")]("_"),monthsShort:a("0x48f8")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0x1a4f")[a("0x9e5")]("_"),weekdaysShort:a("0x2e35")[a("0x9e5")]("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส."[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x13bc"),LTS:a("0x49a6"),L:a("0x4fcb"),LL:a("0x1719"),LLL:a("0x914"),LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return e===a("0x3d2c")},meridiem:function(e,t,n){var r=a;return r(e<12?"0x1ca5":"0x3d2c")},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:a("0x1e31"),nextWeek:a("0x40c8"),lastDay:a("0x2090"),lastWeek:a("0x32ee"),sameElse:"L"},relativeTime:{future:"อีก %s",past:a("0x4d4d"),s:a("0xc09"),ss:a("0x38d"),m:a("0x41a3"),mm:a("0x3dc4"),h:a("0x141c"),hh:a("0x410a"),d:"1 วัน",dd:a("0x45ce"),w:a("0x1433"),ww:a("0x2994"),M:a("0xbc6"),MM:a("0x31bf"),y:a("0xaa7"),yy:"%d ปี"}})},9005:function(e,t,n){var a,r,i;a=n(381),i={1:"'inji",5:(r=a2_0x37cf)("0x2c81"),8:"'inji",70:r("0x2c81"),80:"'inji",2:r("0x33f7"),7:r("0x33f7"),20:r("0x33f7"),50:r("0x33f7"),3:r("0x34"),4:r("0x34"),100:r("0x34"),6:r("0x3e24"),9:r("0x10c5"),10:"'unjy",30:"'unjy",60:r("0x4138"),90:"'ynjy"},a[r("0x42e7")]("tk",{months:r("0x3084")[r("0x9e5")]("_"),monthsShort:r("0x204a")[r("0x9e5")]("_"),weekdays:r("0x686")[r("0x9e5")]("_"),weekdaysShort:r("0x159d").split("_"),weekdaysMin:r("0x1332")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:"DD.MM.YYYY",LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x262")},calendar:{sameDay:r("0x3a54"),nextDay:r("0x11ed"),nextWeek:r("0x3f1e"),lastDay:r("0x118e"),lastWeek:r("0x1a5c"),sameElse:"L"},relativeTime:{future:r("0xa11"),past:r("0x48d0"),s:r("0x254e"),m:"bir minut",mm:r("0x2af2"),h:r("0x1070"),hh:r("0x45d5"),d:r("0x265c"),dd:r("0x1f14"),M:"bir aý",MM:"%d aý",y:"bir ýyl",yy:r("0x36e6")},ordinal:function(e,t){var n=r;switch(t){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+n("0x10c5");var a=e%10,o=e%100-a,x=e>=100?100:null;return e+(i[a]||i[o]||i[x])}},week:{dow:1,doy:7}})},5768:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x13c2"),{months:a("0x48bf")[a("0x9e5")]("_"),monthsShort:a("0x4ce0")[a("0x9e5")]("_"),weekdays:a("0x1ba9").split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab"[a("0x9e5")]("_"),weekdaysMin:a("0x394f")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0xae9"),LL:a("0x276b"),LLL:a("0x81"),LLLL:a("0x233d")},calendar:{sameDay:"LT [ngayong araw]",nextDay:a("0x3381"),nextWeek:a("0x2265"),lastDay:"LT [kahapon]",lastWeek:a("0x4721"),sameElse:"L"},relativeTime:{future:a("0x26a7"),past:a("0xe2c"),s:a("0xf6"),ss:a("0x3596"),m:a("0xff3"),mm:a("0x8ee"),h:"isang oras",hh:a("0x3aba"),d:a("0x33e3"),dd:"%d araw",M:a("0x43a7"),MM:a("0x19b8"),y:a("0x5cc"),yy:a("0x1383")},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})},9444:function(e,t,n){!function(e){var t=a2_0x37cf,n=t("0xc7a")[t("0x9e5")]("_");function a(e){var n=t,a=e;return a=-1!==e[n("0x3507")](n("0x31c3"))?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a[n("0x9b3")](0,-3)+n("0xb2c"):-1!==e[n("0x3507")]("DIS")?a[n("0x9b3")](0,-3)+n("0x4f30"):a+n("0xcd7")}function r(e){var n=t,a=e;return a=-1!==e[n("0x3507")](n("0x31c3"))?a[n("0x9b3")](0,-3)+"Hu’":-1!==e[n("0x3507")]("jar")?a[n("0x9b3")](0,-3)+n("0x1598"):-1!==e[n("0x3507")]("DIS")?a.slice(0,-3)+n("0x47cb"):a+n("0x16b3")}function i(e,n,a,r){var i=t,x=o(e);switch(a){case"ss":return x+i("0x1873");case"mm":return x+" tup";case"hh":return x+i("0x495d");case"dd":return x+i("0x4a9f");case"MM":return x+i("0x4a50");case"yy":return x+i("0x2b90")}}function o(e){var a=t,r=Math.floor(e%1e3/100),i=Math.floor(e%100/10),o=e%10,x="";return r>0&&(x+=n[r]+a("0x2bce")),i>0&&(x+=(""!==x?" ":"")+n[i]+a("0x3961")),o>0&&(x+=(""!==x?" ":"")+n[o]),""===x?a("0x59c"):x}e[t("0x42e7")](t("0x2b40"),{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’"[t("0x9e5")]("_"),monthsShort:t("0xabb")[t("0x9e5")]("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:t("0xca6").split("_"),weekdaysMin:t("0xca6")[t("0x9e5")]("_"),longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:"DD.MM.YYYY",LL:t("0x1719"),LLL:t("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:t("0x27c1"),nextDay:"[wa’leS] LT",nextWeek:t("0x370a"),lastDay:t("0x1f6e"),lastWeek:t("0x370a"),sameElse:"L"},relativeTime:{future:a,past:r,s:"puS lup",ss:i,m:"wa’ tup",mm:i,h:t("0x27ed"),hh:i,d:t("0x3dc9"),dd:i,M:t("0x2071"),MM:i,y:"wa’ DIS",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(381))},2397:function(e,t,n){var a,r,i;a=n(381),i={1:(r=a2_0x37cf)("0x2eaa"),5:r("0x2eaa"),8:r("0x2eaa"),70:"'inci",80:r("0x2eaa"),2:"'nci",7:r("0x4a2e"),20:"'nci",50:r("0x4a2e"),3:r("0x32c8"),4:"'üncü",100:r("0x32c8"),6:"'ncı",9:r("0x29d7"),10:r("0x29d7"),30:r("0x29d7"),60:"'ıncı",90:r("0x2894")},a[r("0x42e7")]("tr",{months:r("0x1833")[r("0x9e5")]("_"),monthsShort:r("0xe48")[r("0x9e5")]("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:r("0x18fc").split("_"),weekdaysMin:r("0x4efa")[r("0x9e5")]("_"),meridiem:function(e,t,n){return e<12?n?"öö":"ÖÖ":n?"ös":"ÖS"},meridiemParse:/öö|ÖÖ|ös|ÖS/,isPM:function(e){return"ös"===e||"ÖS"===e},longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x21f3"),LL:r("0x1719"),LLL:r("0x25e6"),LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:r("0x3aa6"),nextDay:r("0x44a8"),nextWeek:r("0x224a"),lastDay:r("0x25b6"),lastWeek:r("0x23a8"),sameElse:"L"},relativeTime:{future:r("0x13da"),past:r("0x2200"),s:r("0x3cd0"),ss:r("0x47a2"),m:r("0x51c"),mm:r("0x1ffe"),h:r("0x4fbc"),hh:r("0x2814"),d:"bir gün",dd:r("0x1f14"),w:"bir hafta",ww:"%d hafta",M:r("0x17e1"),MM:r("0xc9c"),y:"bir yıl",yy:r("0x4429")},ordinal:function(e,t){var n=r;switch(t){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+n("0x2894");var a=e%10,o=e%100-a,x=e>=100?100:null;return e+(i[a]||i[o]||i[x])}},week:{dow:1,doy:7}})},8254:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,n,a,r){var i=t,o={s:[i("0x270e"),i("0x1b44")],ss:[e+i("0x3ae3"),e+" secunds"],m:[i("0x492d"),i("0x1e65")],mm:[e+" míuts",""+e+i("0x3696")],h:[i("0x4fab"),i("0x3edf")],hh:[e+" þoras",""+e+i("0x19b4")],d:["'n ziua",i("0x25f1")],dd:[e+i("0x48"),e+" ziuas"],M:["'n mes",i("0x2b39")],MM:[e+i("0x1f3f"),""+e+i("0x1f3f")],y:[i("0x71e"),i("0x317b")],yy:[e+i("0x2bb0"),""+e+i("0x2bb0")]};return r||n?o[a][0]:o[a][1]}e.defineLocale(t("0x27eb"),{months:t("0xe59")[t("0x9e5")]("_"),monthsShort:t("0x2b36").split("_"),weekdays:t("0x2eeb")[t("0x9e5")]("_"),weekdaysShort:t("0x2529").split("_"),weekdaysMin:t("0x1580")[t("0x9e5")]("_"),longDateFormat:{LT:"HH.mm",LTS:t("0x1e15"),L:t("0x21f3"),LL:t("0x1bc8"),LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e[t("0x2eb9")]()},meridiem:function(e,n,a){var r=t;return e>11?r(a?"0x26d7":"0x134e"):a?r("0x3a06"):"D'A"},calendar:{sameDay:t("0x35f0"),nextDay:t("0x941"),nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:t("0x38c6"),sameElse:"L"},relativeTime:{future:"osprei %s",past:t("0x505"),s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:t("0x3f1c"),week:{dow:1,doy:4}})}(n(381))},699:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("tzm-latn",{months:a("0x4b76")[a("0x9e5")]("_"),monthsShort:a("0x4b76")[a("0x9e5")]("_"),weekdays:a("0x2fab")[a("0x9e5")]("_"),weekdaysShort:a("0x2fab")[a("0x9e5")]("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas"[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:a("0x1719"),LLL:"D MMMM YYYY HH:mm",LLLL:a("0x37c2")},calendar:{sameDay:"[asdkh g] LT",nextDay:a("0x146d"),nextWeek:a("0x3068"),lastDay:a("0x20a"),lastWeek:a("0x3068"),sameElse:"L"},relativeTime:{future:a("0xfa6"),past:"yan %s",s:a("0x4198"),ss:a("0x3fbc"),m:"minuḍ",mm:"%d minuḍ",h:a("0x4ad1"),hh:a("0x249f"),d:a("0x168f"),dd:a("0x2b26"),M:a("0x4d15"),MM:a("0x2098"),y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})},1106:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale(r("0x178e"),{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:r("0x2e15")[r("0x9e5")]("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:r("0x2d4a")[r("0x9e5")]("_"),weekdaysMin:r("0x2d4a")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:"DD/MM/YYYY",LL:r("0x1719"),LLL:r("0x25e6"),LLLL:r("0x37c2")},calendar:{sameDay:r("0x46c"),nextDay:r("0x4da2"),nextWeek:r("0x30bf"),lastDay:r("0x66b"),lastWeek:r("0x30bf"),sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:r("0x4bb7"),s:r("0x142b"),ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:r("0xff4"),d:r("0xa98"),dd:r("0x11b"),M:r("0x287d"),MM:r("0x3eb4"),y:r("0x4e1"),yy:r("0xc79")},week:{dow:6,doy:12}})},9288:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x1a7e"),{months:a("0x295")[a("0x9e5")]("_"),monthsShort:a("0x295")[a("0x9e5")]("_"),weekdays:a("0x133").split("_"),weekdaysShort:a("0x2450")[a("0x9e5")]("_"),weekdaysMin:a("0x2450")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x2114"),LL:a("0x3bbf"),LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:a("0x43fa")},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,t){var n=a;return 12===e&&(e=0),t===n("0x2fa8")||t===n("0x3dc2")||t===n("0x363e")?e:"چۈشتىن كېيىن"===t||t===n("0x1485")?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=a,i=100*e+t;return i<600?r("0x2fa8"):i<900?"سەھەر":i<1130?r("0x363e"):i<1230?"چۈش":i<1800?r("0x2f7b"):"كەچ"},calendar:{sameDay:a("0xfa5"),nextDay:a("0x25bc"),nextWeek:a("0x427e"),lastDay:a("0x22f3"),lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:a("0x3377"),past:a("0x266f"),s:a("0x269e"),ss:"%d سېكونت",m:a("0x4347"),mm:a("0x282a"),h:a("0xd4c"),hh:a("0x12eb"),d:a("0x4e39"),dd:a("0x36d3"),M:a("0x2756"),MM:a("0x3894"),y:a("0x3ca3"),yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,t){var n=a;switch(t){case"d":case"D":case n("0x4044"):return e+n("0x9bd");case"w":case"W":return e+n("0x38cc");default:return e}},preparse:function(e){return e[a("0x3cc0")](/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:7}})},7691:function(e,t,n){!function(e){var t=a2_0x37cf;function n(e,t){var n=e[a2_0x37cf("0x9e5")]("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function a(e,t,a){var r=a2_0x37cf,i={ss:r(t?"0x2382":"0x384b"),mm:r(t?"0xfe4":"0xcd9"),hh:t?"година_години_годин":"годину_години_годин",dd:r("0xa96"),MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===a?t?"хвилина":r("0x4638"):"h"===a?r(t?"0x33ac":"0x4d16"):e+" "+n(i[a],+e)}function r(e,t){var n=a2_0x37cf,a={nominative:n("0x2d12")[n("0x9e5")]("_"),accusative:n("0x2fde")[n("0x9e5")]("_"),genitive:n("0x15f9")[n("0x9e5")]("_")};return!0===e?a[n("0x213d")][n("0x9b3")](1,7)[n("0x3abc")](a[n("0x213d")][n("0x9b3")](0,1)):e?a[/(\[[ВвУу]\]) ?dddd/[n("0x3ff3")](t)?n("0x2714"):/\[?(?:минулої|наступної)? ?\] ?dddd/[n("0x3ff3")](t)?n("0x312b"):"nominative"][e[n("0x1588")]()]:a[n("0x213d")]}function i(e){return function(){var t=a2_0x37cf;return e+"о"+(11===this[t("0x1fa0")]()?"б":"")+t("0x4661")}}e.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня"[t("0x9e5")]("_"),standalone:t("0x3156")[t("0x9e5")]("_")},monthsShort:t("0x30af")[t("0x9e5")]("_"),weekdays:r,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:t("0x487d").split("_"),longDateFormat:{LT:t("0x2bf3"),LTS:t("0x2dbb"),L:t("0x21f3"),LL:t("0x2841"),LLL:t("0x220f"),LLLL:t("0x27f1")},calendar:{sameDay:i("[Сьогодні "),nextDay:i(t("0x4d93")),lastDay:i(t("0x1ad3")),nextWeek:i("[У] dddd ["),lastWeek:function(){var e=t;switch(this.day()){case 0:case 3:case 5:case 6:return i(e("0x2b77"))[e("0x3c6b")](this);case 1:case 2:case 4:return i(e("0x4969"))[e("0x3c6b")](this)}},sameElse:"L"},relativeTime:{future:t("0x23a5"),past:"%s тому",s:t("0x2974"),ss:a,m:a,mm:a,h:t("0x4d16"),hh:a,d:t("0x296d"),dd:a,M:t("0x4ce"),MM:a,y:"рік",yy:a},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/[t("0x3ff3")](e)},meridiem:function(e,n,a){var r=t;return r(e<4?"0x2ff6":e<12?"0x4f72":e<17?"0x4d6c":"0x4f58")},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,n){var a=t;switch(n){case"M":case"d":case a("0x4044"):case"w":case"W":return e+"-й";case"D":return e+a("0x3990");default:return e}},week:{dow:1,doy:7}})}(n(381))},3795:function(e,t,n){var a,r,i,o;a=n(381),i=["جنوری",(r=a2_0x37cf)("0x26e3"),r("0x3ced"),r("0x28c6"),r("0x3511"),r("0x4101"),r("0x40f"),r("0x2605"),"ستمبر","اکتوبر",r("0x3471"),r("0x30a8")],o=[r("0x1d5b"),r("0xe4a"),"منگل",r("0x40af"),r("0x45c"),r("0x3d74"),r("0x1ff2")],a[r("0x42e7")]("ur",{months:i,monthsShort:i,weekdays:o,weekdaysShort:o,weekdaysMin:o,longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:"D MMMM YYYY",LLL:r("0x25e6"),LLLL:r("0x20af")},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){var a=r;return a(e<12?"0x4b1c":"0x1afa")},calendar:{sameDay:r("0x38b1"),nextDay:r("0x1d91"),nextWeek:r("0x2f1e"),lastDay:r("0x1252"),lastWeek:r("0x22a3"),sameElse:"L"},relativeTime:{future:"%s بعد",past:r("0x24c5"),s:"چند سیکنڈ",ss:r("0x19fa"),m:r("0x28f6"),mm:"%d منٹ",h:r("0x3173"),hh:r("0xbde"),d:r("0x2289"),dd:r("0x3bdf"),M:"ایک ماہ",MM:r("0x18b4"),y:r("0x25ad"),yy:r("0x4209")},preparse:function(e){return e[r("0x3cc0")](/،/g,",")},postformat:function(e){return e[r("0x3cc0")](/,/g,"،")},week:{dow:1,doy:4}})},588:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale(r("0x135f"),{months:r("0x29d0")[r("0x9e5")]("_"),monthsShort:r("0x1404")[r("0x9e5")]("_"),weekdays:r("0x1046")[r("0x9e5")]("_"),weekdaysShort:r("0x3fc1")[r("0x9e5")]("_"),weekdaysMin:r("0x3bc6")[r("0x9e5")]("_"),longDateFormat:{LT:r("0x2bf3"),LTS:r("0x2dbb"),L:r("0x4fcb"),LL:r("0x1719"),LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:r("0x2ea0"),nextDay:r("0x3c1f"),nextWeek:r("0x4dc0"),lastDay:r("0x6ee"),lastWeek:r("0x1170"),sameElse:"L"},relativeTime:{future:r("0x1670"),past:"Bir necha %s oldin",s:r("0x3898"),ss:"%d soniya",m:r("0x11c8"),mm:r("0x1002"),h:r("0x301b"),hh:r("0x2330"),d:r("0xe45"),dd:r("0x3303"),M:r("0x282c"),MM:r("0x30d0"),y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})},6791:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:a("0x180e").split("_"),weekdays:a("0x2e28")[a("0x9e5")]("_"),weekdaysShort:a("0x411f").split("_"),weekdaysMin:a("0x1ebc").split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:"HH:mm:ss",L:a("0x4fcb"),LL:a("0x1719"),LLL:"D MMMM YYYY HH:mm",LLLL:a("0x481")},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:a("0x1c53"),nextWeek:"dddd [куни соат] LT [да]",lastDay:a("0x13d5"),lastWeek:a("0xb5b"),sameElse:"L"},relativeTime:{future:a("0x3712"),past:a("0x1196"),s:a("0x1016"),ss:a("0x3e9b"),m:a("0x1b82"),mm:a("0x3864"),h:"бир соат",hh:a("0x48b4"),d:a("0xad3"),dd:"%d кун",M:"бир ой",MM:a("0x4daa"),y:a("0x4503"),yy:a("0x25aa")},week:{dow:1,doy:7}})},5666:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("vi",{months:a("0x327d")[a("0x9e5")]("_"),monthsShort:a("0x32bc")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0x2543")[a("0x9e5")]("_"),weekdaysShort:a("0xccf").split("_"),weekdaysMin:a("0xccf")[a("0x9e5")]("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i[a("0x3ff3")](e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:a("0x24d1"),LLL:a("0x3ee"),LLLL:a("0x346b"),l:"DD/M/YYYY",ll:a("0x1893"),lll:a("0x1415"),llll:a("0x3be")},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:a("0x17f8"),nextWeek:a("0x377d"),lastDay:"[Hôm qua lúc] LT",lastWeek:a("0x23c9"),sameElse:"L"},relativeTime:{future:"%s tới",past:a("0x3d71"),s:a("0x4f2f"),ss:"%d giây",m:a("0x1aef"),mm:a("0x34f4"),h:a("0x4b8e"),hh:a("0x8d9"),d:"một ngày",dd:a("0x3587"),w:"một tuần",ww:a("0x4015"),M:"một tháng",MM:a("0x1af3"),y:a("0x156f"),yy:a("0x3405")},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})},4378:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x30de"),{months:a("0x4cbb")[a("0x9e5")]("_"),monthsShort:a("0x108")[a("0x9e5")]("_"),monthsParseExact:!0,weekdays:a("0x4589")[a("0x9e5")]("_"),weekdaysShort:a("0x592")[a("0x9e5")]("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá"[a("0x9e5")]("_"),weekdaysParseExact:!0,longDateFormat:{LT:a("0x2bf3"),L:a("0x4fcb"),LL:a("0x1719"),LLL:"D MMMM YYYY HH:mm",LLLL:a("0x262")},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:a("0x848"),nextWeek:a("0x1825"),lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:a("0x245a"),sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:a("0xa8a"),m:a("0x3f45"),mm:a("0x3579"),h:a("0x4871"),hh:a("0x27d5"),d:"á ~dáý",dd:a("0x41af"),M:a("0x1bfe"),MM:"%d m~óñt~hs",y:a("0x758"),yy:a("0x2e54")},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})},5805:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀"[r("0x9e5")]("_"),weekdays:r("0x1dfa")[r("0x9e5")]("_"),weekdaysShort:r("0x3078")[r("0x9e5")]("_"),weekdaysMin:r("0x4aeb").split("_"),longDateFormat:{LT:r("0x1bc1"),LTS:r("0x1989"),L:r("0x4fcb"),LL:r("0x1719"),LLL:r("0x4980"),LLLL:r("0x4897")},calendar:{sameDay:r("0x2181"),nextDay:r("0x256a"),nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:r("0x4614"),lastWeek:r("0x16d7"),sameElse:"L"},relativeTime:{future:"ní %s",past:r("0x2381"),s:r("0x3b8d"),ss:r("0x175c"),m:r("0x22a9"),mm:r("0x2a16"),h:"wákati kan",hh:"wákati %d",d:r("0x514"),dd:r("0xcd4"),M:r("0x4d14"),MM:r("0x278c"),y:r("0x2419"),yy:r("0x70c")},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})},3839:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")]("zh-cn",{months:a("0x500e")[a("0x9e5")]("_"),monthsShort:a("0xd3d")[a("0x9e5")]("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六"[a("0x9e5")]("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六"[a("0x9e5")]("_"),weekdaysMin:a("0x65b").split("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x29ad"),LL:a("0x4285"),LLL:a("0x2ae3"),LLLL:"YYYY年M月D日ddddAh点mm分",l:a("0x27a7"),ll:"YYYY年M月D日",lll:a("0xc2"),llll:a("0x1792")},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:a("0x24a8"),nextDay:a("0x93b"),nextWeek:function(e){var t=a;return e[t("0x4504")]()!==this.week()?t("0x4a52"):"[本]dddLT"},lastDay:a("0x3b35"),lastWeek:function(e){var t=a;return this[t("0x4504")]()!==e[t("0x4504")]()?t("0x94"):"[本]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case a("0x4044"):return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s后",past:a("0x2a29"),s:"几秒",ss:a("0x391f"),m:a("0x33e4"),mm:a("0x2e11"),h:"1 小时",hh:"%d 小时",d:a("0x27bb"),dd:a("0x2d1d"),w:a("0x24d2"),ww:a("0x27c3"),M:"1 个月",MM:"%d 个月",y:a("0x1bf9"),yy:a("0x3433")},week:{dow:1,doy:4}})},5726:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x4efc"),{months:a("0x500e")[a("0x9e5")]("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月"[a("0x9e5")]("_"),weekdays:a("0x2339")[a("0x9e5")]("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:a("0x65b")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x29ad"),LL:a("0x4285"),LLL:"YYYY年M月D日 HH:mm",LLLL:a("0x1792"),l:a("0x27a7"),ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:a("0x1792")},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1200?"上午":1200===a?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:a("0x24a8"),nextDay:a("0x93b"),nextWeek:a("0x3788"),lastDay:a("0x3b35"),lastWeek:a("0x4d8d"),sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case a("0x4044"):return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:a("0x1ad7"),past:a("0x2a29"),s:"幾秒",ss:a("0x391f"),m:a("0x425a"),mm:a("0x15"),h:a("0x4f59"),hh:a("0x1d30"),d:"1 天",dd:a("0x2d1d"),M:a("0x1599"),MM:a("0x35b1"),y:a("0x1bf9"),yy:a("0x3433")}})},9807:function(e,t,n){var a;n(381)[(a=a2_0x37cf)("0x42e7")](a("0x18c9"),{months:a("0x500e")[a("0x9e5")]("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月"[a("0x9e5")]("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六"[a("0x9e5")]("_"),weekdaysShort:a("0x39bc")[a("0x9e5")]("_"),weekdaysMin:a("0x65b")[a("0x9e5")]("_"),longDateFormat:{LT:a("0x2bf3"),LTS:a("0x2dbb"),L:a("0x4fcb"),LL:"YYYY年M月D日",LLL:a("0xc2"),LLLL:a("0x1792"),l:a("0x4efe"),ll:a("0x4285"),lll:a("0xc2"),llll:a("0x1792")},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:a("0x399d"),nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:a("0x1614"),lastWeek:a("0x12da"),sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:a("0x2a29"),s:"幾秒",ss:a("0x391f"),m:a("0x425a"),mm:a("0x15"),h:a("0x4f59"),hh:a("0x1d30"),d:a("0x27bb"),dd:a("0x2d1d"),M:a("0x1599"),MM:a("0x35b1"),y:"1 年",yy:a("0x3433")}})},4152:function(e,t,n){var a,r;a=n(381),r=a2_0x37cf,a.defineLocale("zh-tw",{months:r("0x500e")[r("0x9e5")]("_"),monthsShort:r("0xd3d").split("_"),weekdays:r("0x2339").split("_"),weekdaysShort:r("0x39bc")[r("0x9e5")]("_"),weekdaysMin:r("0x65b")[r("0x9e5")]("_"),longDateFormat:{LT:"HH:mm",LTS:r("0x2dbb"),L:r("0x29ad"),LL:"YYYY年M月D日",LLL:r("0xc2"),LLLL:r("0x1792"),l:r("0x27a7"),ll:r("0x4285"),lll:r("0xc2"),llll:r("0x1792")},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:r("0x399d"),nextDay:r("0x2002"),nextWeek:r("0x1b3d"),lastDay:r("0x1614"),lastWeek:r("0x12da"),sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case r("0x4044"):return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:r("0x1ad7"),past:r("0x2a29"),s:"幾秒",ss:r("0x391f"),m:r("0x425a"),mm:r("0x15"),h:r("0x4f59"),hh:"%d 小時",d:"1 天",dd:r("0x2d1d"),M:r("0x1599"),MM:r("0x35b1"),y:"1 年",yy:r("0x3433")}})},381:function(e,t,n){(e=n.nmd(e)).exports=function(){var t,a,r=a2_0x37cf;function i(){return t.apply(null,arguments)}function o(e){t=e}function x(e){var t=a2_0x37cf;return e instanceof Array||Object[t("0x20f")].toString[t("0x3c6b")](e)===t("0x508")}function s(e){var t=a2_0x37cf;return null!=e&&Object[t("0x20f")].toString.call(e)===t("0x3061")}function c(e,t){var n=a2_0x37cf;return Object[n("0x20f")][n("0x1bd4")].call(e,t)}function l(e){var t,n=a2_0x37cf;if(Object.getOwnPropertyNames)return 0===Object[n("0x3afb")](e)[n("0x5e9")];for(t in e)if(c(e,t))return!1;return!0}function d(e){return void 0===e}function u(e){var t=a2_0x37cf;return typeof e===t("0x2231")||Object[t("0x20f")][t("0x3c88")].call(e)===t("0x4d4b")}function f(e){var t=a2_0x37cf;return e instanceof Date||"[object Date]"===Object.prototype[t("0x3c88")].call(e)}function m(e,t){var n,a=a2_0x37cf,r=[];for(n=0;n<e[a("0x5e9")];++n)r[a("0x459a")](t(e[n],n));return r}function b(e,t){var n=a2_0x37cf;for(var a in t)c(t,a)&&(e[a]=t[a]);return c(t,n("0x3c88"))&&(e.toString=t[n("0x3c88")]),c(t,n("0x2f75"))&&(e[n("0x2f75")]=t[n("0x2f75")]),e}function _(e,t,n,a){var r=a2_0x37cf;return Qn(e,t,n,a,!0)[r("0x1a68")]()}function p(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function h(e){var t=a2_0x37cf;return null==e[t("0x16e8")]&&(e[t("0x16e8")]=p()),e[t("0x16e8")]}function g(e){var t=r;if(null==e[t("0x43db")]){var n=h(e),i=a[t("0x3c6b")](n[t("0x2511")],(function(e){return null!=e})),o=!isNaN(e._d[t("0x4dad")]())&&n[t("0x905")]<0&&!n.empty&&!n[t("0x4c2c")]&&!n.invalidMonth&&!n[t("0x580")]&&!n[t("0x3059")]&&!n[t("0x2f8b")]&&!n[t("0x1836")]&&!n.userInvalidated&&(!n[t("0x123d")]||n[t("0x123d")]&&i);if(e[t("0xe9")]&&(o=o&&0===n.charsLeftOver&&0===n[t("0x4092")][t("0x5e9")]&&void 0===n[t("0x1479")]),null!=Object.isFrozen&&Object.isFrozen(e))return o;e[t("0x43db")]=o}return e[t("0x43db")]}function v(e){var t=r,n=_(NaN);return null!=e?b(h(n),e):h(n)[t("0x4fd")]=!0,n}a=Array.prototype[r("0x906")]?Array[r("0x20f")][r("0x906")]:function(e){var t,n=r,a=Object(this),i=a[n("0x5e9")]>>>0;for(t=0;t<i;t++)if(t in a&&e[n("0x3c6b")](this,a[t],t,a))return!0;return!1};var S=i[r("0xa")]=[],E=!1;function A(e,t){var n,a,i,o=r;if(!d(t[o("0x1856")])&&(e[o("0x1856")]=t[o("0x1856")]),!d(t._i)&&(e._i=t._i),!d(t._f)&&(e._f=t._f),!d(t._l)&&(e._l=t._l),!d(t[o("0xe9")])&&(e._strict=t[o("0xe9")]),!d(t[o("0x354")])&&(e[o("0x354")]=t._tzm),!d(t[o("0x10d8")])&&(e._isUTC=t._isUTC),!d(t[o("0x4b07")])&&(e[o("0x4b07")]=t[o("0x4b07")]),!d(t[o("0x16e8")])&&(e._pf=h(t)),!d(t[o("0x4053")])&&(e[o("0x4053")]=t[o("0x4053")]),S[o("0x5e9")]>0)for(n=0;n<S[o("0x5e9")];n++)!d(i=t[a=S[n]])&&(e[a]=i);return e}function T(e){var t=r;A(this,e),this._d=new Date(null!=e._d?e._d[t("0x4dad")]():NaN),!this[t("0x32d4")]()&&(this._d=new Date(NaN)),!1===E&&(E=!0,i.updateOffset(this),E=!1)}function y(e){return e instanceof T||null!=e&&null!=e[r("0x1856")]}function C(e){var t=r;!1===i[t("0x16ca")]&&typeof console!==t("0xc42")&&console[t("0x1dc6")]&&console[t("0x1dc6")]("Deprecation warning: "+e)}function w(e,t){var n=!0;return b((function(){var a=a2_0x37cf;if(null!=i[a("0x3a09")]&&i[a("0x3a09")](null,e),n){var r,o,x,s=[];for(o=0;o<arguments.length;o++){if(r="",typeof arguments[o]===a("0x1b1d")){for(x in r+="\n["+o+"] ",arguments[0])c(arguments[0],x)&&(r+=x+": "+arguments[0][x]+", ");r=r[a("0x9b3")](0,-2)}else r=arguments[o];s[a("0x459a")](r)}C(e+a("0x3f70")+Array.prototype.slice.call(s)[a("0xc60")]("")+"\n"+(new Error).stack),n=!1}return t[a("0x4884")](this,arguments)}),t)}var M,R={};function D(e,t){null!=i[r("0x3a09")]&&i.deprecationHandler(e,t),!R[e]&&(C(t),R[e]=!0)}function I(e){var t=r;return typeof Function!==t("0xc42")&&e instanceof Function||"[object Function]"===Object[t("0x20f")][t("0x3c88")][t("0x3c6b")](e)}function N(e){var t,n,a=r;for(n in e)c(e,n)&&(I(t=e[n])?this[n]=t:this["_"+n]=t);this[a("0x3188")]=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this[a("0x3e42")][a("0x4aff")]||this[a("0x1a0f")].source)+"|"+/\d{1,2}/[a("0x4aff")])}function O(e,t){var n,a=b({},e);for(n in t)c(t,n)&&(s(e[n])&&s(t[n])?(a[n]={},b(a[n],e[n]),b(a[n],t[n])):null!=t[n]?a[n]=t[n]:delete a[n]);for(n in e)c(e,n)&&!c(t,n)&&s(e[n])&&(a[n]=b({},a[n]));return a}function k(e){null!=e&&this.set(e)}i[r("0x16ca")]=!1,i[r("0x3a09")]=null,M=Object[r("0xa35")]?Object.keys:function(e){var t,n=r,a=[];for(t in e)c(e,t)&&a[n("0x459a")](t);return a};var P={sameDay:r("0x1738"),nextDay:r("0x251f"),nextWeek:r("0x4b21"),lastDay:r("0x12c6"),lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function L(e,t,n){var a=r,i=this[a("0x48a8")][e]||this[a("0x48a8")][a("0x25f3")];return I(i)?i[a("0x3c6b")](t,n):i}function F(e,t,n){var a=r,i=""+Math[a("0x681")](e),o=t-i[a("0x5e9")];return(e>=0?n?"+":"":"-")+Math[a("0x3861")](10,Math[a("0x242b")](0,o))[a("0x3c88")]()[a("0x39fa")](1)+i}var B=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Y=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,G={},H={};function U(e,t,n,a){var i=r,o=a;typeof a===i("0x38b7")&&(o=function(){return this[a]()}),e&&(H[e]=o),t&&(H[t[0]]=function(){return F(o[i("0x4884")](this,arguments),t[1],t[2])}),n&&(H[n]=function(){var t=i;return this[t("0x3908")]()[t("0x404f")](o[t("0x4884")](this,arguments),e)})}function $(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function j(e){var t,n,a=r,i=e[a("0x2cd9")](B);for(t=0,n=i[a("0x5e9")];t<n;t++)H[i[t]]?i[t]=H[i[t]]:i[t]=$(i[t]);return function(t){var r,o=a,x="";for(r=0;r<n;r++)x+=I(i[r])?i[r][o("0x3c6b")](t,e):i[r];return x}}function V(e,t){var n=r;return e.isValid()?(t=W(t,e[n("0x3908")]()),G[t]=G[t]||j(t),G[t](e)):e[n("0x3908")]()[n("0x20f3")]()}function W(e,t){var n=r,a=5;function i(e){return t[a2_0x37cf("0xfc8")](e)||e}for(Y.lastIndex=0;a>=0&&Y[n("0x3ff3")](e);)e=e[n("0x3cc0")](Y,i),Y[n("0x151e")]=0,a-=1;return e}var q={LTS:r("0x1989"),LT:r("0x1bc1"),L:r("0x12b9"),LL:r("0x276b"),LLL:"MMMM D, YYYY h:mm A",LLLL:r("0x4792")};function z(e){var t=r,n=this[t("0x3fd0")][e],a=this[t("0x3fd0")][e[t("0x110")]()];return n||!a?n:(this[t("0x3fd0")][e]=a[t("0x2cd9")](B).map((function(e){return e===t("0x3480")||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}))[t("0xc60")](""),this[t("0x3fd0")][e])}var Q=r("0x2a40");function K(){return this._invalidDate}var X="%d",J=/\d{1,2}/;function Z(e){var t=r;return this[t("0x1bfb")][t("0x3cc0")]("%d",e)}var ee={future:r("0x2b93"),past:r("0x1121"),s:r("0x2207"),ss:r("0x992"),m:r("0x2c12"),mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:r("0x9f0"),ww:"%d weeks",M:r("0x31db"),MM:r("0x696"),y:r("0x3f48"),yy:"%d years"};function te(e,t,n,a){var i=r,o=this._relativeTime[n];return I(o)?o(e,t,n,a):o[i("0x3cc0")](/%d/i,e)}function ne(e,t){var n=r,a=this[n("0x4ef")][n(e>0?"0x15d5":"0x3d45")];return I(a)?a(t):a.replace(/%s/i,t)}var ae={};function re(e,t){var n=e[r("0x2eb9")]();ae[n]=ae[n+"s"]=ae[t]=e}function ie(e){var t=r;return typeof e===t("0x38b7")?ae[e]||ae[e[t("0x2eb9")]()]:void 0}function oe(e){var t,n,a={};for(n in e)c(e,n)&&(t=ie(n))&&(a[t]=e[n]);return a}var xe={};function se(e,t){xe[e]=t}function ce(e){var t,n=r,a=[];for(t in e)c(e,t)&&a.push({unit:t,priority:xe[t]});return a[n("0x4d63")]((function(e,t){var a=n;return e[a("0x20e3")]-t[a("0x20e3")]})),a}function le(e){return e%4==0&&e%100!=0||e%400==0}function de(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function ue(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=de(t)),n}function fe(e,t){return function(n){return null!=n?(be(this,e,n),i.updateOffset(this,t),this):me(this,e)}}function me(e,t){var n=r;return e[n("0x32d4")]()?e._d[n("0x1cf")+(e[n("0x10d8")]?"UTC":"")+t]():NaN}function be(e,t,n){var a=r;e[a("0x32d4")]()&&!isNaN(n)&&(t===a("0x3fda")&&le(e[a("0x572")]())&&1===e[a("0x1b62")]()&&29===e.date()?(n=ue(n),e._d[a("0x6e6")+(e[a("0x10d8")]?a("0x17ee"):"")+t](n,e.month(),tt(n,e.month()))):e._d[a("0x6e6")+(e[a("0x10d8")]?a("0x17ee"):"")+t](n))}function _e(e){return I(this[e=ie(e)])?this[e]():this}function pe(e,t){var n=r;if(typeof e===n("0x1b1d")){var a,i=ce(e=oe(e));for(a=0;a<i[n("0x5e9")];a++)this[i[a][n("0x360")]](e[i[a][n("0x360")]])}else if(I(this[e=ie(e)]))return this[e](t);return this}var he,ge=/\d/,ve=/\d\d/,Se=/\d{3}/,Ee=/\d{4}/,Ae=/[+-]?\d{6}/,Te=/\d\d?/,ye=/\d\d\d\d?/,Ce=/\d\d\d\d\d\d?/,we=/\d{1,3}/,Me=/\d{1,4}/,Re=/[+-]?\d{1,6}/,De=/\d+/,Ie=/[+-]?\d+/,Ne=/Z|[+-]\d\d:?\d\d/gi,Oe=/Z|[+-]\d\d(?::?\d\d)?/gi,ke=/[+-]?\d+(\.\d{1,3})?/,Pe=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function Le(e,t,n){he[e]=I(t)?t:function(e,a){return e&&n?n:t}}function Fe(e,t){var n=r;return c(he,e)?he[e](t._strict,t[n("0x4053")]):new RegExp(Be(e))}function Be(e){return Ye(e[r("0x3cc0")]("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,a,r){return t||n||a||r})))}function Ye(e){var t=r;return e[t("0x3cc0")](/[-\/\\^$*+?.()|[\]{}]/g,t("0x1dea"))}he={};var Ge={};function He(e,t){var n,a=t;for(typeof e===r("0x38b7")&&(e=[e]),u(t)&&(a=function(e,n){n[t]=ue(e)}),n=0;n<e.length;n++)Ge[e[n]]=a}function Ue(e,t){He(e,(function(e,n,a,r){a._w=a._w||{},t(e,a._w,a,r)}))}function $e(e,t,n){null!=t&&c(Ge,e)&&Ge[e](t,n._a,n,e)}var je,Ve=0,We=1,qe=2,ze=3,Qe=4,Ke=5,Xe=6,Je=7,Ze=8;function et(e,t){return(e%t+t)%t}function tt(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=et(t,12);return e+=(t-n)/12,1===n?le(e)?29:28:31-n%7%2}je=Array[r("0x20f")][r("0x3507")]?Array[r("0x20f")][r("0x3507")]:function(e){var t,n=r;for(t=0;t<this[n("0x5e9")];++t)if(this[t]===e)return t;return-1},U("M",["MM",2],"Mo",(function(){return this[r("0x1b62")]()+1})),U(r("0x171d"),0,0,(function(e){var t=r;return this[t("0x3908")]()[t("0x65")](this,e)})),U(r("0x3480"),0,0,(function(e){var t=r;return this[t("0x3908")]()[t("0x3dc5")](this,e)})),re(r("0x1b62"),"M"),se("month",8),Le("M",Te),Le("MM",Te,ve),Le(r("0x171d"),(function(e,t){return t[r("0x29f8")](e)})),Le(r("0x3480"),(function(e,t){return t[r("0x20b9")](e)})),He(["M","MM"],(function(e,t){t[We]=ue(e)-1})),He([r("0x171d"),r("0x3480")],(function(e,t,n,a){var i=r,o=n[i("0x4053")].monthsParse(e,a,n[i("0xe9")]);null!=o?t[We]=o:h(n).invalidMonth=e}));var nt=r("0x4698")[r("0x9e5")]("_"),at=r("0x3551")[r("0x9e5")]("_"),rt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,it=Pe,ot=Pe;function xt(e,t){var n=r;return e?x(this[n("0x407")])?this[n("0x407")][e[n("0x1b62")]()]:this[n("0x407")][(this[n("0x407")].isFormat||rt)[n("0x3ff3")](t)?n("0x293c"):"standalone"][e[n("0x1b62")]()]:x(this[n("0x407")])?this[n("0x407")]:this[n("0x407")].standalone}function st(e,t){var n=r;return e?x(this._monthsShort)?this[n("0x41b7")][e.month()]:this[n("0x41b7")][rt[n("0x3ff3")](t)?"format":n("0x3422")][e[n("0x1b62")]()]:x(this[n("0x41b7")])?this._monthsShort:this[n("0x41b7")].standalone}function ct(e,t,n){var a,i,o,x=r,s=e[x("0x2f9a")]();if(!this[x("0x4e02")])for(this[x("0x4e02")]=[],this[x("0x1cb9")]=[],this[x("0x1848")]=[],a=0;a<12;++a)o=_([2e3,a]),this._shortMonthsParse[a]=this[x("0x65")](o,"")[x("0x2f9a")](),this[x("0x1cb9")][a]=this[x("0x3dc5")](o,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=je[x("0x3c6b")](this[x("0x1848")],s))?i:null:-1!==(i=je[x("0x3c6b")](this[x("0x1cb9")],s))?i:null:t===x("0x171d")?-1!==(i=je.call(this._shortMonthsParse,s))||-1!==(i=je.call(this._longMonthsParse,s))?i:null:-1!==(i=je[x("0x3c6b")](this[x("0x1cb9")],s))||-1!==(i=je[x("0x3c6b")](this[x("0x1848")],s))?i:null}function lt(e,t,n){var a,i,o,x=r;if(this[x("0x1a6c")])return ct[x("0x3c6b")](this,e,t,n);for(!this._monthsParse&&(this[x("0x4e02")]=[],this[x("0x1cb9")]=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(i=_([2e3,a]),n&&!this[x("0x1cb9")][a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(i,"")[x("0x3cc0")](".","")+"$","i"),this[x("0x1848")][a]=new RegExp("^"+this[x("0x65")](i,"")[x("0x3cc0")](".","")+"$","i")),!n&&!this[x("0x4e02")][a]&&(o="^"+this[x("0x3dc5")](i,"")+"|^"+this[x("0x65")](i,""),this[x("0x4e02")][a]=new RegExp(o[x("0x3cc0")](".",""),"i")),n&&t===x("0x3480")&&this._longMonthsParse[a][x("0x3ff3")](e))return a;if(n&&"MMM"===t&&this[x("0x1848")][a][x("0x3ff3")](e))return a;if(!n&&this._monthsParse[a][x("0x3ff3")](e))return a}}function dt(e,t){var n,a=r;if(!e.isValid())return e;if(typeof t===a("0x38b7"))if(/^\d+$/.test(t))t=ue(t);else if(!u(t=e[a("0x3908")]().monthsParse(t)))return e;return n=Math.min(e[a("0x306c")](),tt(e.year(),t)),e._d[a("0x6e6")+(e[a("0x10d8")]?a("0x17ee"):"")+"Month"](t,n),e}function ut(e){var t=r;return null!=e?(dt(this,e),i[t("0x1e7c")](this,!0),this):me(this,t("0x845"))}function ft(){return tt(this[r("0x572")](),this.month())}function mt(e){var t=r;return this[t("0x1a6c")]?(!c(this,t("0xe35"))&&_t[t("0x3c6b")](this),e?this[t("0x15e1")]:this[t("0x4ac9")]):(!c(this,t("0x4ac9"))&&(this[t("0x4ac9")]=it),this[t("0x15e1")]&&e?this[t("0x15e1")]:this[t("0x4ac9")])}function bt(e){var t=r;return this[t("0x1a6c")]?(!c(this,t("0xe35"))&&_t.call(this),e?this._monthsStrictRegex:this._monthsRegex):(!c(this,t("0xe35"))&&(this[t("0xe35")]=ot),this[t("0x461c")]&&e?this._monthsStrictRegex:this[t("0xe35")])}function _t(){var e=r;function t(e,t){var n=a2_0x37cf;return t[n("0x5e9")]-e[n("0x5e9")]}var n,a,i=[],o=[],x=[];for(n=0;n<12;n++)a=_([2e3,n]),i[e("0x459a")](this[e("0x65")](a,"")),o[e("0x459a")](this.months(a,"")),x[e("0x459a")](this[e("0x3dc5")](a,"")),x[e("0x459a")](this.monthsShort(a,""));for(i[e("0x4d63")](t),o[e("0x4d63")](t),x[e("0x4d63")](t),n=0;n<12;n++)i[n]=Ye(i[n]),o[n]=Ye(o[n]);for(n=0;n<24;n++)x[n]=Ye(x[n]);this[e("0xe35")]=new RegExp("^("+x[e("0xc60")]("|")+")","i"),this._monthsShortRegex=this[e("0xe35")],this._monthsStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i[e("0xc60")]("|")+")","i")}function pt(e){return le(e)?366:365}U("Y",0,0,(function(){var e=this[r("0x572")]();return e<=9999?F(e,4):"+"+e})),U(0,["YY",2],0,(function(){return this.year()%100})),U(0,[r("0x3c1a"),4],0,r("0x572")),U(0,[r("0x19d4"),5],0,r("0x572")),U(0,["YYYYYY",6,!0],0,r("0x572")),re("year","y"),se("year",1),Le("Y",Ie),Le("YY",Te,ve),Le(r("0x3c1a"),Me,Ee),Le(r("0x19d4"),Re,Ae),Le("YYYYYY",Re,Ae),He(["YYYYY",r("0x1c04")],Ve),He("YYYY",(function(e,t){var n=r;t[Ve]=2===e[n("0x5e9")]?i.parseTwoDigitYear(e):ue(e)})),He("YY",(function(e,t){t[Ve]=i.parseTwoDigitYear(e)})),He("Y",(function(e,t){t[Ve]=parseInt(e,10)})),i[r("0x2254")]=function(e){return ue(e)+(ue(e)>68?1900:2e3)};var ht=fe(r("0x3fda"),!0);function gt(){return le(this[r("0x572")]())}function vt(e,t,n,a,r,i,o){var x;return e<100&&e>=0?(x=new Date(e+400,t,n,a,r,i,o),isFinite(x.getFullYear())&&x.setFullYear(e)):x=new Date(e,t,n,a,r,i,o),x}function St(e){var t,n,a=r;return e<100&&e>=0?((n=Array[a("0x20f")].slice.call(arguments))[0]=e+400,t=new Date(Date.UTC[a("0x4884")](null,n)),isFinite(t.getUTCFullYear())&&t[a("0x115e")](e)):t=new Date(Date.UTC[a("0x4884")](null,arguments)),t}function Et(e,t,n){var a=7+t-n;return-(7+St(e,0,a).getUTCDay()-t)%7+a-1}function At(e,t,n,a,r){var i,o,x=1+7*(t-1)+(7+n-a)%7+Et(e,a,r);return x<=0?o=pt(i=e-1)+x:x>pt(e)?(i=e+1,o=x-pt(e)):(i=e,o=x),{year:i,dayOfYear:o}}function Tt(e,t,n){var a,i,o=r,x=Et(e[o("0x572")](),t,n),s=Math[o("0x4184")]((e[o("0x273d")]()-x-1)/7)+1;return s<1?a=s+yt(i=e.year()-1,t,n):s>yt(e[o("0x572")](),t,n)?(a=s-yt(e[o("0x572")](),t,n),i=e[o("0x572")]()+1):(i=e.year(),a=s),{week:a,year:i}}function yt(e,t,n){var a=Et(e,t,n),r=Et(e+1,t,n);return(pt(e)-a+r)/7}function Ct(e){var t=r;return Tt(e,this[t("0x453d")][t("0x3359")],this[t("0x453d")][t("0x1a99")])[t("0x4504")]}U("w",["ww",2],"wo",r("0x4504")),U("W",["WW",2],"Wo",r("0x4d92")),re(r("0x4504"),"w"),re(r("0x4d92"),"W"),se("week",5),se(r("0x4d92"),5),Le("w",Te),Le("ww",Te,ve),Le("W",Te),Le("WW",Te,ve),Ue(["w","ww","W","WW"],(function(e,t,n,a){t[a.substr(0,1)]=ue(e)}));var wt={dow:0,doy:6};function Mt(){var e=r;return this[e("0x453d")][e("0x3359")]}function Rt(){var e=r;return this._week[e("0x1a99")]}function Dt(e){var t=r,n=this[t("0x3908")]()[t("0x4504")](this);return null==e?n:this[t("0x2d6e")](7*(e-n),"d")}function It(e){var t=r,n=Tt(this,1,4)[t("0x4504")];return null==e?n:this[t("0x2d6e")](7*(e-n),"d")}function Nt(e,t){var n=r;return"string"!=typeof e?e:isNaN(e)?typeof(e=t.weekdaysParse(e))===n("0x2231")?e:null:parseInt(e,10)}function Ot(e,t){return typeof e===r("0x38b7")?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function kt(e,t){var n=r;return e[n("0x9b3")](t,7).concat(e[n("0x9b3")](0,t))}U("d",0,"do","day"),U("dd",0,0,(function(e){var t=r;return this.localeData()[t("0x4b0a")](this,e)})),U(r("0x2ce8"),0,0,(function(e){var t=r;return this[t("0x3908")]()[t("0x128f")](this,e)})),U(r("0x2c2d"),0,0,(function(e){return this[r("0x3908")]().weekdays(this,e)})),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),re(r("0x1588"),"d"),re("weekday","e"),re(r("0x4b91"),"E"),se("day",11),se(r("0x4dcb"),11),se(r("0x4b91"),11),Le("d",Te),Le("e",Te),Le("E",Te),Le("dd",(function(e,t){return t[r("0x1f1e")](e)})),Le("ddd",(function(e,t){return t[r("0xdd0")](e)})),Le("dddd",(function(e,t){return t[r("0x124d")](e)})),Ue(["dd",r("0x2ce8"),r("0x2c2d")],(function(e,t,n,a){var i=r,o=n[i("0x4053")][i("0x160b")](e,a,n[i("0xe9")]);null!=o?t.d=o:h(n)[i("0x580")]=e})),Ue(["d","e","E"],(function(e,t,n,a){t[a]=ue(e)}));var Pt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday"[r("0x9e5")]("_"),Lt=r("0x880")[r("0x9e5")]("_"),Ft=r("0x218d")[r("0x9e5")]("_"),Bt=Pe,Yt=Pe,Gt=Pe;function Ht(e,t){var n=r,a=x(this._weekdays)?this[n("0x140c")]:this[n("0x140c")][e&&!0!==e&&this[n("0x140c")].isFormat[n("0x3ff3")](t)?n("0x293c"):n("0x3422")];return!0===e?kt(a,this[n("0x453d")][n("0x3359")]):e?a[e[n("0x1588")]()]:a}function Ut(e){var t=r;return!0===e?kt(this[t("0x2946")],this[t("0x453d")][t("0x3359")]):e?this[t("0x2946")][e.day()]:this[t("0x2946")]}function $t(e){var t=r;return!0===e?kt(this[t("0x2ad2")],this[t("0x453d")][t("0x3359")]):e?this[t("0x2ad2")][e[t("0x1588")]()]:this._weekdaysMin}function jt(e,t,n){var a,i,o,x=r,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this[x("0x3423")]=[],this._shortWeekdaysParse=[],this[x("0x162c")]=[],a=0;a<7;++a)o=_([2e3,1])[x("0x1588")](a),this[x("0x162c")][a]=this[x("0x4b0a")](o,"")[x("0x2f9a")](),this._shortWeekdaysParse[a]=this[x("0x128f")](o,"").toLocaleLowerCase(),this._weekdaysParse[a]=this[x("0x4b27")](o,"").toLocaleLowerCase();return n?t===x("0x2c2d")?-1!==(i=je.call(this._weekdaysParse,s))?i:null:t===x("0x2ce8")?-1!==(i=je[x("0x3c6b")](this._shortWeekdaysParse,s))?i:null:-1!==(i=je.call(this[x("0x162c")],s))?i:null:t===x("0x2c2d")?-1!==(i=je[x("0x3c6b")](this._weekdaysParse,s))||-1!==(i=je[x("0x3c6b")](this[x("0xaaa")],s))||-1!==(i=je[x("0x3c6b")](this[x("0x162c")],s))?i:null:"ddd"===t?-1!==(i=je[x("0x3c6b")](this[x("0xaaa")],s))||-1!==(i=je.call(this[x("0x3423")],s))||-1!==(i=je[x("0x3c6b")](this[x("0x162c")],s))?i:null:-1!==(i=je[x("0x3c6b")](this[x("0x162c")],s))||-1!==(i=je[x("0x3c6b")](this[x("0x3423")],s))||-1!==(i=je.call(this._shortWeekdaysParse,s))?i:null}function Vt(e,t,n){var a,i,o,x=r;if(this._weekdaysParseExact)return jt[x("0x3c6b")](this,e,t,n);for(!this[x("0x3423")]&&(this._weekdaysParse=[],this[x("0x162c")]=[],this[x("0xaaa")]=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(i=_([2e3,1]).day(a),n&&!this[x("0x2")][a]&&(this[x("0x2")][a]=new RegExp("^"+this[x("0x4b27")](i,"")[x("0x3cc0")](".",x("0x470"))+"$","i"),this[x("0xaaa")][a]=new RegExp("^"+this[x("0x128f")](i,"")[x("0x3cc0")](".","\\.?")+"$","i"),this[x("0x162c")][a]=new RegExp("^"+this[x("0x4b0a")](i,"")[x("0x3cc0")](".","\\.?")+"$","i")),!this[x("0x3423")][a]&&(o="^"+this[x("0x4b27")](i,"")+"|^"+this[x("0x128f")](i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[a]=new RegExp(o[x("0x3cc0")](".",""),"i")),n&&t===x("0x2c2d")&&this[x("0x2")][a][x("0x3ff3")](e))return a;if(n&&t===x("0x2ce8")&&this[x("0xaaa")][a][x("0x3ff3")](e))return a;if(n&&"dd"===t&&this[x("0x162c")][a].test(e))return a;if(!n&&this[x("0x3423")][a][x("0x3ff3")](e))return a}}function Wt(e){var t=r;if(!this[t("0x32d4")]())return null!=e?this:NaN;var n=this[t("0x10d8")]?this._d.getUTCDay():this._d[t("0xd2b")]();return null!=e?(e=Nt(e,this[t("0x3908")]()),this[t("0x2d6e")](e-n,"d")):n}function qt(e){var t=r;if(!this.isValid())return null!=e?this:NaN;var n=(this[t("0x1588")]()+7-this[t("0x3908")]()[t("0x453d")].dow)%7;return null==e?n:this[t("0x2d6e")](e-n,"d")}function zt(e){var t=r;if(!this[t("0x32d4")]())return null!=e?this:NaN;if(null!=e){var n=Ot(e,this[t("0x3908")]());return this[t("0x1588")](this[t("0x1588")]()%7?n:n-7)}return this[t("0x1588")]()||7}function Qt(e){var t=r;return this[t("0x3628")]?(!c(this,t("0x366e"))&&Jt[t("0x3c6b")](this),e?this[t("0x14f4")]:this._weekdaysRegex):(!c(this,t("0x366e"))&&(this[t("0x366e")]=Bt),this[t("0x14f4")]&&e?this[t("0x14f4")]:this[t("0x366e")])}function Kt(e){var t=r;return this[t("0x3628")]?(!c(this,"_weekdaysRegex")&&Jt[t("0x3c6b")](this),e?this[t("0x3196")]:this[t("0x1d2c")]):(!c(this,"_weekdaysShortRegex")&&(this[t("0x1d2c")]=Yt),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this[t("0x1d2c")])}function Xt(e){var t=r;return this[t("0x3628")]?(!c(this,t("0x366e"))&&Jt[t("0x3c6b")](this),e?this[t("0x4ef5")]:this._weekdaysMinRegex):(!c(this,t("0x11fb"))&&(this[t("0x11fb")]=Gt),this._weekdaysMinStrictRegex&&e?this[t("0x4ef5")]:this._weekdaysMinRegex)}function Jt(){var e=r;function t(e,t){return t.length-e.length}var n,a,i,o,x,s=[],c=[],l=[],d=[];for(n=0;n<7;n++)a=_([2e3,1]).day(n),i=Ye(this[e("0x4b0a")](a,"")),o=Ye(this[e("0x128f")](a,"")),x=Ye(this.weekdays(a,"")),s[e("0x459a")](i),c[e("0x459a")](o),l[e("0x459a")](x),d[e("0x459a")](i),d[e("0x459a")](o),d[e("0x459a")](x);s[e("0x4d63")](t),c[e("0x4d63")](t),l[e("0x4d63")](t),d[e("0x4d63")](t),this[e("0x366e")]=new RegExp("^("+d[e("0xc60")]("|")+")","i"),this[e("0x1d2c")]=this._weekdaysRegex,this._weekdaysMinRegex=this[e("0x366e")],this[e("0x14f4")]=new RegExp("^("+l[e("0xc60")]("|")+")","i"),this[e("0x3196")]=new RegExp("^("+c[e("0xc60")]("|")+")","i"),this[e("0x4ef5")]=new RegExp("^("+s[e("0xc60")]("|")+")","i")}function Zt(){return this[r("0x1fa0")]()%12||12}function en(){return this.hours()||24}function tn(e,t){U(e,0,0,(function(){var e=a2_0x37cf;return this[e("0x3908")]().meridiem(this[e("0x1fa0")](),this[e("0x5e")](),t)}))}function nn(e,t){return t[r("0x452f")]}function an(e){var t=r;return"p"===(e+"")[t("0x2eb9")]()[t("0x24de")](0)}U("H",["HH",2],0,r("0x17ba")),U("h",["hh",2],0,Zt),U("k",["kk",2],0,en),U(r("0x3347"),0,0,(function(){return""+Zt[r("0x4884")](this)+F(this.minutes(),2)})),U(r("0x4d78"),0,0,(function(){var e=r;return""+Zt[e("0x4884")](this)+F(this[e("0x5e")](),2)+F(this[e("0x4c5c")](),2)})),U("Hmm",0,0,(function(){return""+this[r("0x1fa0")]()+F(this.minutes(),2)})),U(r("0x963"),0,0,(function(){var e=r;return""+this[e("0x1fa0")]()+F(this.minutes(),2)+F(this[e("0x4c5c")](),2)})),tn("a",!0),tn("A",!1),re(r("0x17ba"),"h"),se("hour",13),Le("a",nn),Le("A",nn),Le("H",Te),Le("h",Te),Le("k",Te),Le("HH",Te,ve),Le("hh",Te,ve),Le("kk",Te,ve),Le(r("0x3347"),ye),Le(r("0x4d78"),Ce),Le("Hmm",ye),Le(r("0x963"),Ce),He(["H","HH"],ze),He(["k","kk"],(function(e,t,n){var a=ue(e);t[ze]=24===a?0:a})),He(["a","A"],(function(e,t,n){var a=r;n._isPm=n[a("0x4053")].isPM(e),n[a("0x4d9c")]=e})),He(["h","hh"],(function(e,t,n){var a=r;t[ze]=ue(e),h(n)[a("0x1479")]=!0})),He(r("0x3347"),(function(e,t,n){var a=r,i=e[a("0x5e9")]-2;t[ze]=ue(e[a("0x39fa")](0,i)),t[Qe]=ue(e[a("0x39fa")](i)),h(n)[a("0x1479")]=!0})),He("hmmss",(function(e,t,n){var a=r,i=e[a("0x5e9")]-4,o=e[a("0x5e9")]-2;t[ze]=ue(e[a("0x39fa")](0,i)),t[Qe]=ue(e.substr(i,2)),t[Ke]=ue(e[a("0x39fa")](o)),h(n)[a("0x1479")]=!0})),He(r("0x42bf"),(function(e,t,n){var a=r,i=e.length-2;t[ze]=ue(e[a("0x39fa")](0,i)),t[Qe]=ue(e[a("0x39fa")](i))})),He(r("0x963"),(function(e,t,n){var a=r,i=e[a("0x5e9")]-4,o=e[a("0x5e9")]-2;t[ze]=ue(e[a("0x39fa")](0,i)),t[Qe]=ue(e[a("0x39fa")](i,2)),t[Ke]=ue(e[a("0x39fa")](o))}));var rn=/[ap]\.?m?\.?/i,on=fe(r("0x129"),!0);function xn(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}var sn,cn={calendar:P,longDateFormat:q,invalidDate:Q,ordinal:X,dayOfMonthOrdinalParse:J,relativeTime:ee,months:nt,monthsShort:at,week:wt,weekdays:Pt,weekdaysMin:Ft,weekdaysShort:Lt,meridiemParse:rn},ln={},dn={};function un(e,t){var n,a=r,i=Math[a("0x11db")](e[a("0x5e9")],t[a("0x5e9")]);for(n=0;n<i;n+=1)if(e[n]!==t[n])return n;return i}function fn(e){var t=r;return e?e[t("0x2eb9")]()[t("0x3cc0")]("_","-"):e}function mn(e){for(var t,n,a,i,o=r,x=0;x<e[o("0x5e9")];){for(t=(i=fn(e[x])[o("0x9e5")]("-"))[o("0x5e9")],n=(n=fn(e[x+1]))?n[o("0x9e5")]("-"):null;t>0;){if(a=bn(i.slice(0,t)[o("0xc60")]("-")))return a;if(n&&n[o("0x5e9")]>=t&&un(i,n)>=t-1)break;t--}x++}return sn}function bn(t){var a=r,i=null;if(void 0===ln[t]&&a("0x1b1d")!==a("0xc42")&&e&&e[a("0x33f9")])try{i=sn[a("0x432e")],n(6700)("./"+t),_n(i)}catch(e){ln[t]=null}return ln[t]}function _n(e,t){var n,a=r;return e&&((n=d(t)?gn(e):pn(e,t))?sn=n:"undefined"!=typeof console&&console[a("0x1dc6")]&&console[a("0x1dc6")](a("0x45d3")+e+a("0xeef"))),sn[a("0x432e")]}function pn(e,t){var n=r;if(null!==t){var a,i=cn;if(t[n("0x60")]=e,null!=ln[e])D(n("0x66c"),n("0xf35")+n("0x2e9c")+n("0xf95")+"See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=ln[e]._config;else if(null!=t.parentLocale)if(null!=ln[t.parentLocale])i=ln[t[n("0x40ac")]]._config;else{if(null==(a=bn(t.parentLocale)))return!dn[t[n("0x40ac")]]&&(dn[t.parentLocale]=[]),dn[t.parentLocale][n("0x459a")]({name:e,config:t}),null;i=a[n("0x3188")]}return ln[e]=new k(O(i,t)),dn[e]&&dn[e][n("0x5ba")]((function(e){var t=n;pn(e[t("0x98c")],e[t("0x1805")])})),_n(e),ln[e]}return delete ln[e],null}function hn(e,t){var n=r;if(null!=t){var a,i,o=cn;null!=ln[e]&&null!=ln[e].parentLocale?ln[e][n("0x6e6")](O(ln[e][n("0x3188")],t)):(null!=(i=bn(e))&&(o=i._config),t=O(o,t),null==i&&(t[n("0x60")]=e),(a=new k(t))[n("0x40ac")]=ln[e],ln[e]=a),_n(e)}else null!=ln[e]&&(null!=ln[e].parentLocale?(ln[e]=ln[e][n("0x40ac")],e===_n()&&_n(e)):null!=ln[e]&&delete ln[e]);return ln[e]}function gn(e){var t,n=r;if(e&&e[n("0x4053")]&&e._locale[n("0x432e")]&&(e=e[n("0x4053")][n("0x432e")]),!e)return sn;if(!x(e)){if(t=bn(e))return t;e=[e]}return mn(e)}function vn(){return M(ln)}function Sn(e){var t,n=r,a=e._a;return a&&-2===h(e)[n("0x905")]&&(t=a[We]<0||a[We]>11?We:a[qe]<1||a[qe]>tt(a[Ve],a[We])?qe:a[ze]<0||a[ze]>24||24===a[ze]&&(0!==a[Qe]||0!==a[Ke]||0!==a[Xe])?ze:a[Qe]<0||a[Qe]>59?Qe:a[Ke]<0||a[Ke]>59?Ke:a[Xe]<0||a[Xe]>999?Xe:-1,h(e)[n("0x117e")]&&(t<Ve||t>qe)&&(t=qe),h(e)[n("0x203c")]&&-1===t&&(t=Je),h(e)._overflowWeekday&&-1===t&&(t=Ze),h(e)[n("0x905")]=t),e}var En=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,An=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Tn=/Z|[+-]\d\d(?::?\d\d)?/,yn=[[r("0x80a"),/[+-]\d{6}-\d\d-\d\d/],[r("0x2114"),/\d{4}-\d\d-\d\d/],[r("0xb75"),/\d{4}-W\d\d-\d/],[r("0x1418"),/\d{4}-W\d\d/,!1],[r("0x168d"),/\d{4}-\d{3}/],[r("0x3d05"),/\d{4}-\d\d/,!1],[r("0x3aa7"),/[+-]\d{10}/],[r("0x1429"),/\d{8}/],[r("0x33d5"),/\d{4}W\d{3}/],[r("0x394a"),/\d{4}W\d{2}/,!1],[r("0x3afd"),/\d{7}/],[r("0x3f32"),/\d{6}/,!1],[r("0x3c1a"),/\d{4}/,!1]],Cn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],[r("0x317c"),/\d\d:\d\d:\d\d,\d+/],[r("0x2dbb"),/\d\d:\d\d:\d\d/],[r("0x2bf3"),/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],[r("0x3d60"),/\d\d\d\d\d\d,\d+/],[r("0x858"),/\d\d\d\d\d\d/],[r("0x28b8"),/\d\d\d\d/],["HH",/\d\d/]],wn=/^\/?Date\((-?\d+)/i,Mn=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Rn={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Dn(e){var t,n,a,i,o,x,s=r,c=e._i,l=En[s("0x3629")](c)||An.exec(c);if(l){for(h(e)[s("0x3b43")]=!0,t=0,n=yn.length;t<n;t++)if(yn[t][1][s("0x3629")](l[1])){i=yn[t][0],a=!1!==yn[t][2];break}if(null==i)return void(e[s("0x43db")]=!1);if(l[3]){for(t=0,n=Cn[s("0x5e9")];t<n;t++)if(Cn[t][1][s("0x3629")](l[3])){o=(l[2]||" ")+Cn[t][0];break}if(null==o)return void(e[s("0x43db")]=!1)}if(!a&&null!=o)return void(e[s("0x43db")]=!1);if(l[4]){if(!Tn[s("0x3629")](l[4]))return void(e._isValid=!1);x="Z"}e._f=i+(o||"")+(x||""),Un(e)}else e[s("0x43db")]=!1}function In(e,t,n,a,i,o){var x=r,s=[Nn(e),at.indexOf(t),parseInt(n,10),parseInt(a,10),parseInt(i,10)];return o&&s[x("0x459a")](parseInt(o,10)),s}function Nn(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function On(e){var t=r;return e[t("0x3cc0")](/\([^)]*\)|[\n\t]/g," ")[t("0x3cc0")](/(\s\s+)/g," ").replace(/^\s\s*/,"")[t("0x3cc0")](/\s\s*$/,"")}function kn(e,t,n){var a=r;return!e||Lt.indexOf(e)===new Date(t[0],t[1],t[2])[a("0xd2b")]()||(h(n)[a("0x3059")]=!0,n[a("0x43db")]=!1,!1)}function Pn(e,t,n){if(e)return Rn[e];if(t)return 0;var a=parseInt(n,10),r=a%100;return(a-r)/100*60+r}function Ln(e){var t,n=r,a=Mn.exec(On(e._i));if(a){if(t=In(a[4],a[3],a[2],a[5],a[6],a[7]),!kn(a[1],t,e))return;e._a=t,e[n("0x354")]=Pn(a[8],a[9],a[10]),e._d=St.apply(null,e._a),e._d[n("0x4a90")](e._d.getUTCMinutes()-e._tzm),h(e)[n("0x3bde")]=!0}else e[n("0x43db")]=!1}function Fn(e){var t=r,n=wn.exec(e._i);null===n?(Dn(e),!1===e[t("0x43db")]&&(delete e[t("0x43db")],Ln(e),!1===e._isValid&&(delete e[t("0x43db")],e._strict?e._isValid=!1:i.createFromInputFallback(e)))):e._d=new Date(+n[1])}function Bn(e,t,n){return null!=e?e:null!=t?t:n}function Yn(e){var t=r,n=new Date(i[t("0x4706")]());return e._useUTC?[n[t("0x499d")](),n[t("0x4c2e")](),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n[t("0x18f4")]()]}function Gn(e){var t,n,a,i,o,x=r,s=[];if(!e._d){for(a=Yn(e),e._w&&null==e._a[qe]&&null==e._a[We]&&Hn(e),null!=e[x("0x1803")]&&(o=Bn(e._a[Ve],a[Ve]),(e[x("0x1803")]>pt(o)||0===e[x("0x1803")])&&(h(e)._overflowDayOfYear=!0),n=St(o,0,e[x("0x1803")]),e._a[We]=n[x("0x4c2e")](),e._a[qe]=n[x("0x2abe")]()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=a[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ze]&&0===e._a[Qe]&&0===e._a[Ke]&&0===e._a[Xe]&&(e._nextDay=!0,e._a[ze]=0),e._d=(e[x("0x2618")]?St:vt).apply(null,s),i=e[x("0x2618")]?e._d[x("0x396")]():e._d[x("0xd2b")](),null!=e._tzm&&e._d.setUTCMinutes(e._d[x("0x1ff5")]()-e[x("0x354")]),e[x("0x43cf")]&&(e._a[ze]=24),e._w&&typeof e._w.d!==x("0xc42")&&e._w.d!==i&&(h(e)[x("0x3059")]=!0)}}function Hn(e){var t,n,a,i,o,x,s,c,l,d=r;null!=(t=e._w).GG||null!=t.W||null!=t.E?(o=1,x=4,n=Bn(t.GG,e._a[Ve],Tt(Kn(),1,4)[d("0x572")]),a=Bn(t.W,1),((i=Bn(t.E,1))<1||i>7)&&(c=!0)):(o=e[d("0x4053")][d("0x453d")][d("0x3359")],x=e._locale[d("0x453d")][d("0x1a99")],l=Tt(Kn(),o,x),n=Bn(t.gg,e._a[Ve],l[d("0x572")]),a=Bn(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(c=!0):null!=t.e?(i=t.e+o,(t.e<0||t.e>6)&&(c=!0)):i=o),a<1||a>yt(n,o,x)?h(e)[d("0x203c")]=!0:null!=c?h(e)._overflowWeekday=!0:(s=At(n,a,i,o,x),e._a[Ve]=s[d("0x572")],e[d("0x1803")]=s[d("0x273d")])}function Un(e){var t=r;if(e._f!==i[t("0x2e00")])if(e._f!==i[t("0x2e17")]){e._a=[],h(e)[t("0x21c")]=!0;var n,a,o,x,s,c,l=""+e._i,d=l.length,u=0;for(o=W(e._f,e[t("0x4053")]).match(B)||[],n=0;n<o[t("0x5e9")];n++)x=o[n],(a=(l[t("0x2cd9")](Fe(x,e))||[])[0])&&((s=l[t("0x39fa")](0,l[t("0x3507")](a))).length>0&&h(e)[t("0x2673")].push(s),l=l[t("0x9b3")](l.indexOf(a)+a.length),u+=a.length),H[x]?(a?h(e)[t("0x21c")]=!1:h(e)[t("0x4092")].push(x),$e(x,a,e)):e[t("0xe9")]&&!a&&h(e)[t("0x4092")][t("0x459a")](x);h(e)[t("0x1310")]=d-u,l.length>0&&h(e).unusedInput.push(l),e._a[ze]<=12&&!0===h(e).bigHour&&e._a[ze]>0&&(h(e)[t("0x1479")]=void 0),h(e)[t("0x2511")]=e._a[t("0x9b3")](0),h(e)[t("0x123d")]=e[t("0x4d9c")],e._a[ze]=$n(e[t("0x4053")],e._a[ze],e[t("0x4d9c")]),null!==(c=h(e).era)&&(e._a[Ve]=e[t("0x4053")][t("0x1cda")](c,e._a[Ve])),Gn(e),Sn(e)}else Ln(e);else Dn(e)}function $n(e,t,n){var a,i=r;return null==n?t:null!=e[i("0x3f5")]?e[i("0x3f5")](t,n):null!=e[i("0x27e")]?((a=e.isPM(n))&&t<12&&(t+=12),!a&&12===t&&(t=0),t):t}function jn(e){var t,n,a,i,o,x,s=r,c=!1;if(0===e._f[s("0x5e9")])return h(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f[s("0x5e9")];i++)o=0,x=!1,t=A({},e),null!=e[s("0x2618")]&&(t[s("0x2618")]=e[s("0x2618")]),t._f=e._f[i],Un(t),g(t)&&(x=!0),o+=h(t)[s("0x1310")],o+=10*h(t)[s("0x4092")][s("0x5e9")],h(t).score=o,c?o<a&&(a=o,n=t):(null==a||o<a||x)&&(a=o,n=t,x&&(c=!0));b(e,n||t)}function Vn(e){var t=r;if(!e._d){var n=oe(e._i),a=void 0===n[t("0x1588")]?n[t("0x306c")]:n[t("0x1588")];e._a=m([n.year,n.month,a,n.hour,n[t("0x2884")],n[t("0x3ec7")],n[t("0x35e5")]],(function(e){return e&&parseInt(e,10)})),Gn(e)}}function Wn(e){var t=r,n=new T(Sn(qn(e)));return n[t("0x43cf")]&&(n[t("0x2d6e")](1,"d"),n[t("0x43cf")]=void 0),n}function qn(e){var t=r,n=e._i,a=e._f;return e[t("0x4053")]=e[t("0x4053")]||gn(e._l),null===n||void 0===a&&""===n?v({nullInput:!0}):(typeof n===t("0x38b7")&&(e._i=n=e[t("0x4053")][t("0x38ba")](n)),y(n)?new T(Sn(n)):(f(n)?e._d=n:x(a)?jn(e):a?Un(e):zn(e),!g(e)&&(e._d=null),e))}function zn(e){var t=r,n=e._i;d(n)?e._d=new Date(i.now()):f(n)?e._d=new Date(n[t("0x2f75")]()):typeof n===t("0x38b7")?Fn(e):x(n)?(e._a=m(n.slice(0),(function(e){return parseInt(e,10)})),Gn(e)):s(n)?Vn(e):u(n)?e._d=new Date(n):i[t("0x1bd9")](e)}function Qn(e,t,n,a,i){var o=r,c={};return(!0===t||!1===t)&&(a=t,t=void 0),(!0===n||!1===n)&&(a=n,n=void 0),(s(e)&&l(e)||x(e)&&0===e[o("0x5e9")])&&(e=void 0),c._isAMomentObject=!0,c[o("0x2618")]=c[o("0x10d8")]=i,c._l=n,c._i=e,c._f=t,c[o("0xe9")]=a,Wn(c)}function Kn(e,t,n,a){return Qn(e,t,n,a,!1)}i[r("0x1bd9")]=w(r("0x46f8")+"which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(e){var t=r;e._d=new Date(e._i+(e[t("0x2618")]?t("0x15b4"):""))})),i[r("0x2e00")]=function(){},i[r("0x2e17")]=function(){};var Xn=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var e=r,t=Kn.apply(null,arguments);return this[e("0x32d4")]()&&t[e("0x32d4")]()?t<this?this:t:v()})),Jn=w(r("0x1e73"),(function(){var e=r,t=Kn.apply(null,arguments);return this[e("0x32d4")]()&&t.isValid()?t>this?this:t:v()}));function Zn(e,t){var n,a,i=r;if(1===t[i("0x5e9")]&&x(t[0])&&(t=t[0]),!t[i("0x5e9")])return Kn();for(n=t[0],a=1;a<t.length;++a)(!t[a][i("0x32d4")]()||t[a][e](n))&&(n=t[a]);return n}function ea(){var e=r,t=[][e("0x9b3")][e("0x3c6b")](arguments,0);return Zn(e("0x2272"),t)}function ta(){var e=r;return Zn("isAfter",[][e("0x9b3")][e("0x3c6b")](arguments,0))}var na=function(){var e=r;return Date.now?Date[e("0x4706")]():+new Date},aa=[r("0x572"),r("0x4258"),r("0x1b62"),"week",r("0x1588"),r("0x17ba"),r("0x2884"),"second",r("0x35e5")];function ra(e){var t,n,a=r,i=!1;for(t in e)if(c(e,t)&&(-1===je[a("0x3c6b")](aa,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<aa[a("0x5e9")];++n)if(e[aa[n]]){if(i)return!1;parseFloat(e[aa[n]])!==ue(e[aa[n]])&&(i=!0)}return!0}function ia(){return this._isValid}function oa(){return Ra(NaN)}function xa(e){var t=r,n=oe(e),a=n[t("0x572")]||0,i=n[t("0x4258")]||0,o=n.month||0,x=n[t("0x4504")]||n.isoWeek||0,s=n.day||0,c=n.hour||0,l=n[t("0x2884")]||0,d=n[t("0x3ec7")]||0,u=n[t("0x35e5")]||0;this[t("0x43db")]=ra(n),this._milliseconds=+u+1e3*d+6e4*l+1e3*c*60*60,this[t("0x293a")]=+s+7*x,this._months=+o+3*i+12*a,this[t("0x3e7b")]={},this[t("0x4053")]=gn(),this._bubble()}function sa(e){return e instanceof xa}function ca(e){var t=r;return e<0?-1*Math[t("0x46d")](-1*e):Math[t("0x46d")](e)}function la(e,t,n){var a,i=r,o=Math[i("0x11db")](e.length,t.length),x=Math[i("0x681")](e[i("0x5e9")]-t[i("0x5e9")]),s=0;for(a=0;a<o;a++)(n&&e[a]!==t[a]||!n&&ue(e[a])!==ue(t[a]))&&s++;return s+x}function da(e,t){U(e,0,0,(function(){var e=this[a2_0x37cf("0x2f26")](),n="+";return e<0&&(e=-e,n="-"),n+F(~~(e/60),2)+t+F(~~e%60,2)}))}da("Z",":"),da("ZZ",""),Le("Z",Oe),Le("ZZ",Oe),He(["Z","ZZ"],(function(e,t,n){var a=r;n._useUTC=!0,n[a("0x354")]=fa(Oe,e)}));var ua=/([\+\-]|\d\d)/gi;function fa(e,t){var n,a,i=r,o=(t||"")[i("0x2cd9")](e);return null===o?null:0===(a=60*(n=((o[o[i("0x5e9")]-1]||[])+"")[i("0x2cd9")](ua)||["-",0,0])[1]+ue(n[2]))?0:"+"===n[0]?a:-a}function ma(e,t){var n,a,o=r;return t[o("0x10d8")]?(n=t[o("0x42df")](),a=(y(e)||f(e)?e[o("0x2f75")]():Kn(e)[o("0x2f75")]())-n[o("0x2f75")](),n._d[o("0x138d")](n._d.valueOf()+a),i[o("0x1e7c")](n,!1),n):Kn(e)[o("0x4373")]()}function ba(e){var t=r;return-Math.round(e._d[t("0xa01")]())}function _a(e,t,n){var a,o=r,x=this[o("0x4b07")]||0;if(!this[o("0x32d4")]())return null!=e?this:NaN;if(null!=e){if(typeof e===o("0x38b7")){if(null===(e=fa(Oe,e)))return this}else Math[o("0x681")](e)<16&&!n&&(e*=60);return!this[o("0x10d8")]&&t&&(a=ba(this)),this._offset=e,this._isUTC=!0,null!=a&&this[o("0x2d6e")](a,"m"),x!==e&&(!t||this[o("0x1fa6")]?ka(this,Ra(e-x,"m"),1,!1):!this[o("0x1fa6")]&&(this[o("0x1fa6")]=!0,i[o("0x1e7c")](this,!0),this._changeInProgress=null)),this}return this._isUTC?x:ba(this)}function pa(e,t){var n=r;return null!=e?(typeof e!==n("0x38b7")&&(e=-e),this[n("0x2f26")](e,t),this):-this[n("0x2f26")]()}function ha(e){return this[r("0x2f26")](0,e)}function ga(e){var t=r;return this[t("0x10d8")]&&(this[t("0x2f26")](0,e),this[t("0x10d8")]=!1,e&&this[t("0x471d")](ba(this),"m")),this}function va(){var e=r;if(null!=this[e("0x354")])this[e("0x2f26")](this[e("0x354")],!1,!0);else if(typeof this._i===e("0x38b7")){var t=fa(Ne,this._i);null!=t?this[e("0x2f26")](t):this.utcOffset(0,!0)}return this}function Sa(e){var t=r;return!!this[t("0x32d4")]()&&(e=e?Kn(e)[t("0x2f26")]():0,(this[t("0x2f26")]()-e)%60==0)}function Ea(){var e=r;return this[e("0x2f26")]()>this[e("0x42df")]()[e("0x1b62")](0).utcOffset()||this[e("0x2f26")]()>this[e("0x42df")]().month(5)[e("0x2f26")]()}function Aa(){var e=r;if(!d(this[e("0x4f42")]))return this._isDSTShifted;var t,n={};return A(n,this),(n=qn(n))._a?(t=n[e("0x10d8")]?_(n._a):Kn(n._a),this[e("0x4f42")]=this[e("0x32d4")]()&&la(n._a,t[e("0x486")]())>0):this._isDSTShifted=!1,this[e("0x4f42")]}function Ta(){return!!this[r("0x32d4")]()&&!this._isUTC}function ya(){var e=r;return!!this[e("0x32d4")]()&&this[e("0x10d8")]}function Ca(){var e=r;return!!this.isValid()&&this._isUTC&&0===this[e("0x4b07")]}i.updateOffset=function(){};var wa=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ma=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ra(e,t){var n,a,i,o=r,x=e,s=null;return sa(e)?x={ms:e._milliseconds,d:e._days,M:e[o("0x407")]}:u(e)||!isNaN(+e)?(x={},t?x[t]=+e:x[o("0x5a6")]=+e):(s=wa[o("0x3629")](e))?(n="-"===s[1]?-1:1,x={y:0,d:ue(s[qe])*n,h:ue(s[ze])*n,m:ue(s[Qe])*n,s:ue(s[Ke])*n,ms:ue(ca(1e3*s[Xe]))*n}):(s=Ma[o("0x3629")](e))?(n="-"===s[1]?-1:1,x={y:Da(s[2],n),M:Da(s[3],n),w:Da(s[4],n),d:Da(s[5],n),h:Da(s[6],n),m:Da(s[7],n),s:Da(s[8],n)}):null==x?x={}:typeof x===o("0x1b1d")&&(o("0x3121")in x||"to"in x)&&(i=Na(Kn(x[o("0x3121")]),Kn(x.to)),(x={}).ms=i.milliseconds,x.M=i[o("0x3dc5")]),a=new xa(x),sa(e)&&c(e,o("0x4053"))&&(a[o("0x4053")]=e._locale),sa(e)&&c(e,o("0x43db"))&&(a._isValid=e._isValid),a}function Da(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Ia(e,t){var n=r,a={};return a[n("0x3dc5")]=t[n("0x1b62")]()-e[n("0x1b62")]()+12*(t.year()-e[n("0x572")]()),e[n("0x42df")]()[n("0x2d6e")](a[n("0x3dc5")],"M")[n("0xb83")](t)&&--a[n("0x3dc5")],a[n("0x5a6")]=+t-+e[n("0x42df")]()[n("0x2d6e")](a[n("0x3dc5")],"M"),a}function Na(e,t){var n,a=r;return e[a("0x32d4")]()&&t[a("0x32d4")]()?(t=ma(t,e),e[a("0x2272")](t)?n=Ia(e,t):((n=Ia(t,e))[a("0x5a6")]=-n[a("0x5a6")],n[a("0x3dc5")]=-n[a("0x3dc5")]),n):{milliseconds:0,months:0}}function Oa(e,t){return function(n,a){var r,i=a2_0x37cf;return null!==a&&!isNaN(+a)&&(D(t,i("0x2bc7")+t+"(period, number) is deprecated. Please use moment()."+t+i("0x4937")+"See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=a,a=r),ka(this,Ra(n,a),e),this}}function ka(e,t,n,a){var o=r,x=t._milliseconds,s=ca(t._days),c=ca(t[o("0x407")]);e[o("0x32d4")]()&&(a=null==a||a,c&&dt(e,me(e,"Month")+c*n),s&&be(e,"Date",me(e,"Date")+s*n),x&&e._d[o("0x138d")](e._d[o("0x2f75")]()+x*n),a&&i[o("0x1e7c")](e,s||c))}Ra.fn=xa[r("0x20f")],Ra.invalid=oa;var Pa=Oa(1,r("0x2d6e")),La=Oa(-1,r("0x471d"));function Fa(e){return typeof e===r("0x38b7")||e instanceof String}function Ba(e){return y(e)||f(e)||Fa(e)||u(e)||Ga(e)||Ya(e)||null==e}function Ya(e){var t,n,a=r,i=s(e)&&!l(e),o=!1,x=[a("0x9cd"),"year","y","months",a("0x1b62"),"M",a("0x276c"),"day","d",a("0x379"),a("0x306c"),"D",a("0x1fa0"),a("0x17ba"),"h",a("0x5e"),a("0x2884"),"m",a("0x4c5c"),a("0x3ec7"),"s",a("0x5a6"),"millisecond","ms"];for(t=0;t<x[a("0x5e9")];t+=1)n=x[t],o=o||c(e,n);return i&&o}function Ga(e){var t=r,n=x(e),a=!1;return n&&(a=0===e.filter((function(t){return!u(t)&&Fa(e)}))[t("0x5e9")]),n&&a}function Ha(e){var t,n,a=r,i=s(e)&&!l(e),o=!1,x=["sameDay",a("0x4b71"),"lastDay","nextWeek","lastWeek","sameElse"];for(t=0;t<x.length;t+=1)n=x[t],o=o||c(e,n);return i&&o}function Ua(e,t){var n=r,a=e.diff(t,n("0x276c"),!0);return a<-6?"sameElse":a<-1?n("0x11b8"):a<0?n("0x14e0"):a<1?n("0x2142"):a<2?n("0x4b71"):a<7?n("0x1ddd"):"sameElse"}function $a(e,t){var n=r;1===arguments.length&&(arguments[0]?Ba(arguments[0])?(e=arguments[0],t=void 0):Ha(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var a=e||Kn(),o=ma(a,this)[n("0x4b0d")](n("0x1588")),x=i[n("0x3de8")](this,o)||n("0x25f3"),s=t&&(I(t[x])?t[x][n("0x3c6b")](this,a):t[x]);return this.format(s||this.localeData()[n("0x25f4")](x,this,Kn(a)))}function ja(){return new T(this)}function Va(e,t){var n=r,a=y(e)?e:Kn(e);return!(!this.isValid()||!a[n("0x32d4")]())&&("millisecond"===(t=ie(t)||"millisecond")?this.valueOf()>a[n("0x2f75")]():a[n("0x2f75")]()<this[n("0x42df")]()[n("0x4b0d")](t)[n("0x2f75")]())}function Wa(e,t){var n=r,a=y(e)?e:Kn(e);return!(!this[n("0x32d4")]()||!a[n("0x32d4")]())&&((t=ie(t)||n("0x35e5"))===n("0x35e5")?this.valueOf()<a.valueOf():this.clone()[n("0x4fd5")](t)[n("0x2f75")]()<a[n("0x2f75")]())}function qa(e,t,n,a){var i=r,o=y(e)?e:Kn(e),x=y(t)?t:Kn(t);return!!(this[i("0x32d4")]()&&o[i("0x32d4")]()&&x.isValid())&&("("===(a=a||"()")[0]?this[i("0xb83")](o,n):!this.isBefore(o,n))&&(")"===a[1]?this.isBefore(x,n):!this[i("0xb83")](x,n))}function za(e,t){var n,a=r,i=y(e)?e:Kn(e);return!(!this.isValid()||!i[a("0x32d4")]())&&("millisecond"===(t=ie(t)||a("0x35e5"))?this[a("0x2f75")]()===i[a("0x2f75")]():(n=i[a("0x2f75")](),this[a("0x42df")]()[a("0x4b0d")](t)[a("0x2f75")]()<=n&&n<=this[a("0x42df")]()[a("0x4fd5")](t)[a("0x2f75")]()))}function Qa(e,t){return this[r("0x3af8")](e,t)||this.isAfter(e,t)}function Ka(e,t){return this[r("0x3af8")](e,t)||this.isBefore(e,t)}function Xa(e,t,n){var a,i,o,x=r;if(!this[x("0x32d4")]())return NaN;if(!(a=ma(e,this))[x("0x32d4")]())return NaN;switch(i=6e4*(a[x("0x2f26")]()-this[x("0x2f26")]()),t=ie(t)){case x("0x572"):o=Ja(this,a)/12;break;case x("0x1b62"):o=Ja(this,a);break;case x("0x4258"):o=Ja(this,a)/3;break;case"second":o=(this-a)/1e3;break;case"minute":o=(this-a)/6e4;break;case"hour":o=(this-a)/36e5;break;case"day":o=(this-a-i)/864e5;break;case x("0x4504"):o=(this-a-i)/6048e5;break;default:o=this-a}return n?o:de(o)}function Ja(e,t){var n=r;if(e[n("0x306c")]()<t[n("0x306c")]())return-Ja(t,e);var a,i=12*(t[n("0x572")]()-e[n("0x572")]())+(t[n("0x1b62")]()-e[n("0x1b62")]()),o=e[n("0x42df")]()[n("0x2d6e")](i,n("0x3dc5"));return a=t-o<0?(t-o)/(o-e.clone()[n("0x2d6e")](i-1,n("0x3dc5"))):(t-o)/(e[n("0x42df")]()[n("0x2d6e")](i+1,n("0x3dc5"))-o),-(i+a)||0}function Za(){var e=r;return this[e("0x42df")]()[e("0xf15")]("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function er(e){var t=r;if(!this[t("0x32d4")]())return null;var n=!0!==e,a=n?this[t("0x42df")]()[t("0x1a68")]():this;return a.year()<0||a[t("0x572")]()>9999?V(a,n?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):I(Date.prototype[t("0x27f")])?n?this[t("0x222f")]()[t("0x27f")]():new Date(this[t("0x2f75")]()+60*this.utcOffset()*1e3)[t("0x27f")]()[t("0x3cc0")]("Z",V(a,"Z")):V(a,t(n?"0xa56":"0x4254"))}function tr(){var e=r;if(!this[e("0x32d4")]())return e("0x2da0")+this._i+e("0x47c3");var t,n,a,i,o="moment",x="";return!this.isLocal()&&(o=0===this[e("0x2f26")]()?e("0x3351"):e("0x2454"),x="Z"),t="["+o+e("0x2845"),n=0<=this[e("0x572")]()&&this[e("0x572")]()<=9999?"YYYY":"YYYYYY",a=e("0x27f9"),i=x+e("0x19c2"),this[e("0x293c")](t+n+a+i)}function nr(e){var t=r;!e&&(e=this[t("0x26cb")]()?i[t("0x1b05")]:i[t("0x962")]);var n=V(this,e);return this[t("0x3908")]()[t("0x3002")](n)}function ar(e,t){var n=r;return this.isValid()&&(y(e)&&e[n("0x32d4")]()||Kn(e)[n("0x32d4")]())?Ra({to:this,from:e})[n("0xf15")](this.locale()).humanize(!t):this.localeData()[n("0x20f3")]()}function rr(e){return this[r("0x3121")](Kn(),e)}function ir(e,t){var n=r;return this[n("0x32d4")]()&&(y(e)&&e[n("0x32d4")]()||Kn(e)[n("0x32d4")]())?Ra({from:this,to:e})[n("0xf15")](this[n("0xf15")]())[n("0xd85")](!t):this[n("0x3908")]()[n("0x20f3")]()}function or(e){return this.to(Kn(),e)}function xr(e){var t,n=r;return void 0===e?this[n("0x4053")]._abbr:(null!=(t=gn(e))&&(this[n("0x4053")]=t),this)}i[r("0x962")]=r("0x2007"),i[r("0x1b05")]=r("0x3ebd");var sr=w(r("0x452"),(function(e){return void 0===e?this.localeData():this.locale(e)}));function cr(){return this[r("0x4053")]}var lr=1e3,dr=60*lr,ur=60*dr,fr=3506328*ur;function mr(e,t){return(e%t+t)%t}function br(e,t,n){var a=r;return e<100&&e>=0?new Date(e+400,t,n)-fr:new Date(e,t,n)[a("0x2f75")]()}function _r(e,t,n){var a=r;return e<100&&e>=0?Date.UTC(e+400,t,n)-fr:Date[a("0x17ee")](e,t,n)}function pr(e){var t,n,a=r;if(void 0===(e=ie(e))||"millisecond"===e||!this.isValid())return this;switch(n=this[a("0x10d8")]?_r:br,e){case"year":t=n(this[a("0x572")](),0,1);break;case"quarter":t=n(this[a("0x572")](),this[a("0x1b62")]()-this[a("0x1b62")]()%3,1);break;case"month":t=n(this[a("0x572")](),this[a("0x1b62")](),1);break;case a("0x4504"):t=n(this[a("0x572")](),this[a("0x1b62")](),this[a("0x306c")]()-this[a("0x4dcb")]());break;case a("0x4d92"):t=n(this.year(),this[a("0x1b62")](),this[a("0x306c")]()-(this[a("0x4b91")]()-1));break;case"day":case"date":t=n(this[a("0x572")](),this[a("0x1b62")](),this[a("0x306c")]());break;case a("0x17ba"):t=this._d.valueOf(),t-=mr(t+(this[a("0x10d8")]?0:this.utcOffset()*dr),ur);break;case a("0x2884"):t=this._d.valueOf(),t-=mr(t,dr);break;case a("0x3ec7"):t=this._d[a("0x2f75")](),t-=mr(t,lr)}return this._d[a("0x138d")](t),i[a("0x1e7c")](this,!0),this}function hr(e){var t,n,a=r;if(void 0===(e=ie(e))||e===a("0x35e5")||!this.isValid())return this;switch(n=this[a("0x10d8")]?_r:br,e){case"year":t=n(this[a("0x572")]()+1,0,1)-1;break;case"quarter":t=n(this[a("0x572")](),this.month()-this[a("0x1b62")]()%3+3,1)-1;break;case a("0x1b62"):t=n(this[a("0x572")](),this[a("0x1b62")]()+1,1)-1;break;case a("0x4504"):t=n(this.year(),this[a("0x1b62")](),this[a("0x306c")]()-this[a("0x4dcb")]()+7)-1;break;case a("0x4d92"):t=n(this.year(),this[a("0x1b62")](),this.date()-(this[a("0x4b91")]()-1)+7)-1;break;case a("0x1588"):case a("0x306c"):t=n(this.year(),this[a("0x1b62")](),this[a("0x306c")]()+1)-1;break;case"hour":t=this._d.valueOf(),t+=ur-mr(t+(this[a("0x10d8")]?0:this[a("0x2f26")]()*dr),ur)-1;break;case"minute":t=this._d[a("0x2f75")](),t+=dr-mr(t,dr)-1;break;case a("0x3ec7"):t=this._d[a("0x2f75")](),t+=lr-mr(t,lr)-1}return this._d.setTime(t),i.updateOffset(this,!0),this}function gr(){var e=r;return this._d[e("0x2f75")]()-6e4*(this[e("0x4b07")]||0)}function vr(){var e=r;return Math[e("0x4184")](this[e("0x2f75")]()/1e3)}function Sr(){return new Date(this.valueOf())}function Er(){var e=r,t=this;return[t.year(),t[e("0x1b62")](),t[e("0x306c")](),t[e("0x17ba")](),t[e("0x2884")](),t[e("0x3ec7")](),t[e("0x35e5")]()]}function Ar(){var e=r,t=this;return{years:t[e("0x572")](),months:t[e("0x1b62")](),date:t[e("0x306c")](),hours:t.hours(),minutes:t.minutes(),seconds:t[e("0x4c5c")](),milliseconds:t.milliseconds()}}function Tr(){return this.isValid()?this.toISOString():null}function yr(){return g(this)}function Cr(){return b({},h(this))}function wr(){return h(this).overflow}function Mr(){var e=r;return{input:this._i,format:this._f,locale:this[e("0x4053")],isUTC:this[e("0x10d8")],strict:this[e("0xe9")]}}function Rr(e,t){var n,a,o,x=r,s=this[x("0xd89")]||gn("en")[x("0xd89")];for(n=0,a=s[x("0x5e9")];n<a;++n){switch(typeof s[n].since){case"string":o=i(s[n][x("0x2954")])[x("0x4b0d")]("day"),s[n][x("0x2954")]=o[x("0x2f75")]()}switch(typeof s[n][x("0x1d9d")]){case x("0xc42"):s[n][x("0x1d9d")]=1/0;break;case x("0x38b7"):o=i(s[n][x("0x1d9d")])[x("0x4b0d")](x("0x1588"))[x("0x2f75")](),s[n][x("0x1d9d")]=o[x("0x2f75")]()}}return s}function Dr(e,t,n){var a,i,o,x,s,c=r,l=this[c("0x449b")]();for(e=e[c("0x110")](),a=0,i=l[c("0x5e9")];a<i;++a)if(o=l[a][c("0x98c")][c("0x110")](),x=l[a][c("0x60")][c("0x110")](),s=l[a][c("0x286c")][c("0x110")](),n)switch(t){case"N":case"NN":case c("0x6d2"):if(x===e)return l[a];break;case"NNNN":if(o===e)return l[a];break;case"NNNNN":if(s===e)return l[a]}else if([o,x,s][c("0x3507")](e)>=0)return l[a]}function Ir(e,t){var n=r,a=e.since<=e[n("0x1d9d")]?1:-1;return void 0===t?i(e[n("0x2954")])[n("0x572")]():i(e[n("0x2954")])[n("0x572")]()+(t-e[n("0x1feb")])*a}function Nr(){var e,t,n,a=r,i=this[a("0x3908")]()[a("0x449b")]();for(e=0,t=i[a("0x5e9")];e<t;++e){if(n=this[a("0x42df")]()[a("0x4b0d")](a("0x1588"))[a("0x2f75")](),i[e][a("0x2954")]<=n&&n<=i[e][a("0x1d9d")])return i[e][a("0x98c")];if(i[e][a("0x1d9d")]<=n&&n<=i[e].since)return i[e].name}return""}function Or(){var e,t,n,a=r,i=this[a("0x3908")]().eras();for(e=0,t=i[a("0x5e9")];e<t;++e){if(n=this.clone()[a("0x4b0d")]("day").valueOf(),i[e][a("0x2954")]<=n&&n<=i[e][a("0x1d9d")])return i[e][a("0x286c")];if(i[e][a("0x1d9d")]<=n&&n<=i[e].since)return i[e][a("0x286c")]}return""}function kr(){var e,t,n,a=r,i=this[a("0x3908")]().eras();for(e=0,t=i.length;e<t;++e){if(n=this[a("0x42df")]()[a("0x4b0d")]("day").valueOf(),i[e][a("0x2954")]<=n&&n<=i[e].until)return i[e][a("0x60")];if(i[e][a("0x1d9d")]<=n&&n<=i[e].since)return i[e][a("0x60")]}return""}function Pr(){var e,t,n,a,o=r,x=this[o("0x3908")]()[o("0x449b")]();for(e=0,t=x[o("0x5e9")];e<t;++e)if(n=x[e].since<=x[e][o("0x1d9d")]?1:-1,a=this[o("0x42df")]()[o("0x4b0d")](o("0x1588"))[o("0x2f75")](),x[e][o("0x2954")]<=a&&a<=x[e][o("0x1d9d")]||x[e].until<=a&&a<=x[e][o("0x2954")])return(this.year()-i(x[e][o("0x2954")])[o("0x572")]())*n+x[e][o("0x1feb")];return this[o("0x572")]()}function Lr(e){var t=r;return!c(this,t("0x1ca6"))&&$r[t("0x3c6b")](this),e?this[t("0x1ca6")]:this._erasRegex}function Fr(e){var t=r;return!c(this,t("0x1fdf"))&&$r[t("0x3c6b")](this),e?this[t("0x1fdf")]:this[t("0x23ae")]}function Br(e){var t=r;return!c(this,"_erasNarrowRegex")&&$r.call(this),e?this._erasNarrowRegex:this[t("0x23ae")]}function Yr(e,t){return t[r("0x20ac")](e)}function Gr(e,t){return t.erasNameRegex(e)}function Hr(e,t){return t.erasNarrowRegex(e)}function Ur(e,t){return t[r("0xeaf")]||De}function $r(){var e,t,n=r,a=[],i=[],o=[],x=[],s=this[n("0x449b")]();for(e=0,t=s.length;e<t;++e)i[n("0x459a")](Ye(s[e][n("0x98c")])),a.push(Ye(s[e][n("0x60")])),o[n("0x459a")](Ye(s[e][n("0x286c")])),x[n("0x459a")](Ye(s[e].name)),x[n("0x459a")](Ye(s[e][n("0x60")])),x[n("0x459a")](Ye(s[e][n("0x286c")]));this[n("0x23ae")]=new RegExp("^("+x[n("0xc60")]("|")+")","i"),this._erasNameRegex=new RegExp("^("+i.join("|")+")","i"),this[n("0x1fdf")]=new RegExp("^("+a[n("0xc60")]("|")+")","i"),this[n("0xcc3")]=new RegExp("^("+o[n("0xc60")]("|")+")","i")}function jr(e,t){U(0,[e,e[r("0x5e9")]],0,t)}function Vr(e){var t=r;return Xr.call(this,e,this[t("0x4504")](),this[t("0x4dcb")](),this[t("0x3908")]()[t("0x453d")].dow,this.localeData()[t("0x453d")][t("0x1a99")])}function Wr(e){var t=r;return Xr.call(this,e,this[t("0x4d92")](),this[t("0x4b91")](),1,4)}function qr(){return yt(this[r("0x572")](),1,4)}function zr(){return yt(this[r("0x1168")](),1,4)}function Qr(){var e=r,t=this.localeData()[e("0x453d")];return yt(this[e("0x572")](),t.dow,t[e("0x1a99")])}function Kr(){var e=r,t=this[e("0x3908")]()[e("0x453d")];return yt(this[e("0x2b0a")](),t[e("0x3359")],t[e("0x1a99")])}function Xr(e,t,n,a,i){var o,x=r;return null==e?Tt(this,a,i).year:(t>(o=yt(e,a,i))&&(t=o),Jr[x("0x3c6b")](this,e,t,n,a,i))}function Jr(e,t,n,a,i){var o=r,x=At(e,t,n,a,i),s=St(x[o("0x572")],0,x.dayOfYear);return this[o("0x572")](s.getUTCFullYear()),this[o("0x1b62")](s[o("0x4c2e")]()),this[o("0x306c")](s[o("0x2abe")]()),this}function Zr(e){var t=r;return null==e?Math[t("0x3c59")]((this[t("0x1b62")]()+1)/3):this[t("0x1b62")](3*(e-1)+this.month()%3)}U("N",0,0,"eraAbbr"),U("NN",0,0,r("0x18ad")),U(r("0x6d2"),0,0,r("0x18ad")),U(r("0x1638"),0,0,r("0x148f")),U(r("0x3563"),0,0,r("0x2b56")),U("y",["y",1],"yo",r("0x3ff4")),U("y",["yy",2],0,"eraYear"),U("y",[r("0x7c8"),3],0,r("0x3ff4")),U("y",[r("0x1b1c"),4],0,r("0x3ff4")),Le("N",Yr),Le("NN",Yr),Le("NNN",Yr),Le(r("0x1638"),Gr),Le("NNNNN",Hr),He(["N","NN",r("0x6d2"),r("0x1638"),r("0x3563")],(function(e,t,n,a){var i=r,o=n._locale.erasParse(e,a,n[i("0xe9")]);o?h(n)[i("0x4648")]=o:h(n)[i("0x4c2c")]=e})),Le("y",De),Le("yy",De),Le("yyy",De),Le(r("0x1b1c"),De),Le("yo",Ur),He(["y","yy",r("0x7c8"),r("0x1b1c")],Ve),He(["yo"],(function(e,t,n,a){var i,o=r;n._locale[o("0xeaf")]&&(i=e.match(n._locale._eraYearOrdinalRegex)),n[o("0x4053")][o("0x4cf3")]?t[Ve]=n[o("0x4053")][o("0x4cf3")](e,i):t[Ve]=parseInt(e,10)})),U(0,["gg",2],0,(function(){return this.weekYear()%100})),U(0,["GG",2],0,(function(){return this[r("0x1168")]()%100})),jr(r("0x4be2"),"weekYear"),jr(r("0x3313"),r("0x2b0a")),jr(r("0x1fc4"),r("0x1168")),jr(r("0x4d9e"),r("0x1168")),re("weekYear","gg"),re("isoWeekYear","GG"),se(r("0x2b0a"),1),se(r("0x1168"),1),Le("G",Ie),Le("g",Ie),Le("GG",Te,ve),Le("gg",Te,ve),Le("GGGG",Me,Ee),Le(r("0x4be2"),Me,Ee),Le(r("0x4d9e"),Re,Ae),Le(r("0x3313"),Re,Ae),Ue([r("0x4be2"),r("0x3313"),r("0x1fc4"),r("0x4d9e")],(function(e,t,n,a){t[a[r("0x39fa")](0,2)]=ue(e)})),Ue(["gg","GG"],(function(e,t,n,a){var o=r;t[a]=i[o("0x2254")](e)})),U("Q",0,"Qo",r("0x4258")),re("quarter","Q"),se(r("0x4258"),7),Le("Q",ge),He("Q",(function(e,t){t[We]=3*(ue(e)-1)})),U("D",["DD",2],"Do",r("0x306c")),re(r("0x306c"),"D"),se(r("0x306c"),9),Le("D",Te),Le("DD",Te,ve),Le("Do",(function(e,t){var n=r;return e?t[n("0x3e42")]||t[n("0x1a0f")]:t[n("0xfb0")]})),He(["D","DD"],qe),He("Do",(function(e,t){t[qe]=ue(e.match(Te)[0])}));var ei=fe(r("0x3b49"),!0);function ti(e){var t=r,n=Math[t("0x46d")]((this.clone()[t("0x4b0d")](t("0x1588"))-this.clone()[t("0x4b0d")](t("0x572")))/864e5)+1;return null==e?n:this[t("0x2d6e")](e-n,"d")}U(r("0x4044"),["DDDD",3],"DDDo","dayOfYear"),re(r("0x273d"),r("0x4044")),se(r("0x273d"),4),Le("DDD",we),Le(r("0x12d7"),Se),He([r("0x4044"),r("0x12d7")],(function(e,t,n){n[r("0x1803")]=ue(e)})),U("m",["mm",2],0,r("0x2884")),re(r("0x2884"),"m"),se("minute",14),Le("m",Te),Le("mm",Te,ve),He(["m","mm"],Qe);var ni=fe(r("0x1ef9"),!1);U("s",["ss",2],0,r("0x3ec7")),re("second","s"),se(r("0x3ec7"),15),Le("s",Te),Le("ss",Te,ve),He(["s","ss"],Ke);var ai,ri,ii=fe("Seconds",!1);for(U("S",0,0,(function(){return~~(this[r("0x35e5")]()/100)})),U(0,["SS",2],0,(function(){return~~(this[r("0x35e5")]()/10)})),U(0,[r("0x3bb1"),3],0,r("0x35e5")),U(0,[r("0x42b5"),4],0,(function(){return 10*this[r("0x35e5")]()})),U(0,[r("0x4d26"),5],0,(function(){return 100*this[r("0x35e5")]()})),U(0,[r("0x20ed"),6],0,(function(){return 1e3*this[r("0x35e5")]()})),U(0,[r("0x4f6c"),7],0,(function(){return 1e4*this[r("0x35e5")]()})),U(0,[r("0x33da"),8],0,(function(){return 1e5*this[r("0x35e5")]()})),U(0,[r("0x378f"),9],0,(function(){return 1e6*this[r("0x35e5")]()})),re("millisecond","ms"),se("millisecond",16),Le("S",we,ge),Le("SS",we,ve),Le(r("0x3bb1"),we,Se),ai=r("0x42b5");ai[r("0x5e9")]<=9;ai+="S")Le(ai,De);function oi(e,t){t[Xe]=ue(1e3*("0."+e))}for(ai="S";ai[r("0x5e9")]<=9;ai+="S")He(ai,oi);function xi(){var e=r;return this._isUTC?e("0x17ee"):""}function si(){var e=r;return this[e("0x10d8")]?e("0xbb0"):""}ri=fe("Milliseconds",!1),U("z",0,0,r("0x184b")),U("zz",0,0,r("0x2768"));var ci=T.prototype;function li(e){return Kn(1e3*e)}function di(){var e=r;return Kn.apply(null,arguments)[e("0x201c")]()}function ui(e){return e}ci[r("0x2d6e")]=Pa,ci[r("0x25f4")]=$a,ci.clone=ja,ci[r("0x4019")]=Xa,ci[r("0x4fd5")]=hr,ci.format=nr,ci[r("0x3121")]=ar,ci[r("0x10be")]=rr,ci.to=ir,ci[r("0xed0")]=or,ci[r("0x1cf")]=_e,ci.invalidAt=wr,ci[r("0xb83")]=Va,ci[r("0x2272")]=Wa,ci.isBetween=qa,ci[r("0x3af8")]=za,ci[r("0xb69")]=Qa,ci[r("0x4406")]=Ka,ci[r("0x32d4")]=yr,ci[r("0x15df")]=sr,ci[r("0xf15")]=xr,ci[r("0x3908")]=cr,ci.max=Jn,ci[r("0x11db")]=Xn,ci[r("0x3472")]=Cr,ci[r("0x6e6")]=pe,ci.startOf=pr,ci[r("0x471d")]=La,ci.toArray=Er,ci[r("0x2084")]=Ar,ci[r("0x222f")]=Sr,ci[r("0x27f")]=er,ci.inspect=tr,typeof Symbol!==r("0xc42")&&null!=Symbol.for&&(ci[Symbol[r("0x2d1a")]("nodejs.util.inspect.custom")]=function(){return"Moment<"+this[r("0x293c")]()+">"}),ci[r("0x27f8")]=Tr,ci[r("0x3c88")]=Za,ci[r("0x4701")]=vr,ci[r("0x2f75")]=gr,ci.creationData=Mr,ci[r("0x148f")]=Nr,ci[r("0x2b56")]=Or,ci[r("0x18ad")]=kr,ci[r("0x3ff4")]=Pr,ci.year=ht,ci.isLeapYear=gt,ci[r("0x2b0a")]=Vr,ci[r("0x1168")]=Wr,ci[r("0x4258")]=ci[r("0xf08")]=Zr,ci[r("0x1b62")]=ut,ci.daysInMonth=ft,ci[r("0x4504")]=ci.weeks=Dt,ci[r("0x4d92")]=ci[r("0x4a0c")]=It,ci.weeksInYear=Qr,ci[r("0x1cf2")]=Kr,ci[r("0xad2")]=qr,ci[r("0x27aa")]=zr,ci[r("0x306c")]=ei,ci.day=ci[r("0x276c")]=Wt,ci[r("0x4dcb")]=qt,ci.isoWeekday=zt,ci[r("0x273d")]=ti,ci[r("0x17ba")]=ci[r("0x1fa0")]=on,ci.minute=ci[r("0x5e")]=ni,ci[r("0x3ec7")]=ci.seconds=ii,ci[r("0x35e5")]=ci.milliseconds=ri,ci[r("0x2f26")]=_a,ci[r("0x1a68")]=ha,ci[r("0x4373")]=ga,ci[r("0x201c")]=va,ci[r("0x3fce")]=Sa,ci.isDST=Ea,ci[r("0x1910")]=Ta,ci.isUtcOffset=ya,ci.isUtc=Ca,ci[r("0x41f3")]=Ca,ci[r("0x184b")]=xi,ci[r("0x2768")]=si,ci[r("0x379")]=w(r("0xd84"),ei),ci[r("0x3dc5")]=w(r("0x6a"),ut),ci[r("0x9cd")]=w(r("0x1f1"),ht),ci.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",pa),ci[r("0x3007")]=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Aa);var fi=k.prototype;function mi(e,t,n,a){var i=r,o=gn(),x=_()[i("0x6e6")](a,t);return o[n](x,e)}function bi(e,t,n){var a=r;if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return mi(e,t,n,a("0x1b62"));var i,o=[];for(i=0;i<12;i++)o[i]=mi(e,i,n,a("0x1b62"));return o}function _i(e,t,n,a){var i=r;"boolean"==typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var o,x=gn(),s=e?x[i("0x453d")][i("0x3359")]:0,c=[];if(null!=n)return mi(t,(n+s)%7,a,i("0x1588"));for(o=0;o<7;o++)c[o]=mi(t,(o+s)%7,a,i("0x1588"));return c}function pi(e,t){return bi(e,t,r("0x3dc5"))}function hi(e,t){return bi(e,t,r("0x65"))}function gi(e,t,n){return _i(e,t,n,r("0x4b27"))}function vi(e,t,n){return _i(e,t,n,r("0x128f"))}function Si(e,t,n){return _i(e,t,n,r("0x4b0a"))}fi.calendar=L,fi[r("0xfc8")]=z,fi[r("0x20f3")]=K,fi[r("0x404f")]=Z,fi[r("0x38ba")]=ui,fi[r("0x3002")]=ui,fi.relativeTime=te,fi[r("0x28ec")]=ne,fi[r("0x6e6")]=N,fi[r("0x449b")]=Rr,fi[r("0x220d")]=Dr,fi[r("0x1cda")]=Ir,fi[r("0x20ac")]=Fr,fi.erasNameRegex=Lr,fi[r("0x4dee")]=Br,fi[r("0x3dc5")]=xt,fi[r("0x65")]=st,fi.monthsParse=lt,fi.monthsRegex=bt,fi[r("0x29f8")]=mt,fi.week=Ct,fi[r("0x4256")]=Rt,fi[r("0x3009")]=Mt,fi.weekdays=Ht,fi.weekdaysMin=$t,fi[r("0x128f")]=Ut,fi[r("0x160b")]=Vt,fi.weekdaysRegex=Qt,fi[r("0xdd0")]=Kt,fi.weekdaysMinRegex=Xt,fi[r("0x27e")]=an,fi[r("0x123d")]=xn,_n("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:r("0x4580"),narrow:"AD",abbr:"AD"},{since:r("0xcb8"),until:-1/0,offset:1,name:r("0x3177"),narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===ue(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),i[r("0x15df")]=w(r("0xbd2"),_n),i[r("0x1f32")]=w("moment.langData is deprecated. Use moment.localeData instead.",gn);var Ei=Math[r("0x681")];function Ai(){var e=r,t=this[e("0x3e7b")];return this[e("0x2707")]=Ei(this[e("0x2707")]),this[e("0x293a")]=Ei(this[e("0x293a")]),this[e("0x407")]=Ei(this[e("0x407")]),t[e("0x5a6")]=Ei(t.milliseconds),t[e("0x4c5c")]=Ei(t[e("0x4c5c")]),t[e("0x5e")]=Ei(t.minutes),t[e("0x1fa0")]=Ei(t[e("0x1fa0")]),t[e("0x3dc5")]=Ei(t[e("0x3dc5")]),t[e("0x9cd")]=Ei(t[e("0x9cd")]),this}function Ti(e,t,n,a){var i=r,o=Ra(t,n);return e._milliseconds+=a*o[i("0x2707")],e[i("0x293a")]+=a*o._days,e._months+=a*o[i("0x407")],e[i("0x1b1e")]()}function yi(e,t){return Ti(this,e,t,1)}function Ci(e,t){return Ti(this,e,t,-1)}function wi(e){var t=r;return e<0?Math[t("0x4184")](e):Math[t("0x3c59")](e)}function Mi(){var e,t,n,a,i,o=r,x=this._milliseconds,s=this._days,c=this[o("0x407")],l=this._data;return!(x>=0&&s>=0&&c>=0||x<=0&&s<=0&&c<=0)&&(x+=864e5*wi(Di(c)+s),s=0,c=0),l[o("0x5a6")]=x%1e3,e=de(x/1e3),l[o("0x4c5c")]=e%60,t=de(e/60),l[o("0x5e")]=t%60,n=de(t/60),l.hours=n%24,s+=de(n/24),c+=i=de(Ri(s)),s-=wi(Di(i)),a=de(c/12),c%=12,l[o("0x276c")]=s,l[o("0x3dc5")]=c,l[o("0x9cd")]=a,this}function Ri(e){return 4800*e/146097}function Di(e){return 146097*e/4800}function Ii(e){var t=r;if(!this.isValid())return NaN;var n,a,i=this[t("0x2707")];if((e=ie(e))===t("0x1b62")||"quarter"===e||e===t("0x572"))switch(n=this[t("0x293a")]+i/864e5,a=this[t("0x407")]+Ri(n),e){case"month":return a;case t("0x4258"):return a/3;case t("0x572"):return a/12}else switch(n=this._days+Math[t("0x46d")](Di(this[t("0x407")])),e){case t("0x4504"):return n/7+i/6048e5;case t("0x1588"):return n+i/864e5;case t("0x17ba"):return 24*n+i/36e5;case t("0x2884"):return 1440*n+i/6e4;case t("0x3ec7"):return 86400*n+i/1e3;case t("0x35e5"):return Math[t("0x4184")](864e5*n)+i;default:throw new Error("Unknown unit "+e)}}function Ni(){var e=r;return this[e("0x32d4")]()?this[e("0x2707")]+864e5*this._days+this[e("0x407")]%12*2592e6+31536e6*ue(this._months/12):NaN}function Oi(e){return function(){return this.as(e)}}var ki=Oi("ms"),Pi=Oi("s"),Li=Oi("m"),Fi=Oi("h"),Bi=Oi("d"),Yi=Oi("w"),Gi=Oi("M"),Hi=Oi("Q"),Ui=Oi("y");function $i(){return Ra(this)}function ji(e){var t=r;return e=ie(e),this[t("0x32d4")]()?this[e+"s"]():NaN}function Vi(e){return function(){var t=a2_0x37cf;return this[t("0x32d4")]()?this[t("0x3e7b")][e]:NaN}}var Wi=Vi(r("0x5a6")),qi=Vi(r("0x4c5c")),zi=Vi(r("0x5e")),Qi=Vi(r("0x1fa0")),Ki=Vi(r("0x276c")),Xi=Vi(r("0x3dc5")),Ji=Vi(r("0x9cd"));function Zi(){return de(this[r("0x276c")]()/7)}var eo=Math.round,to={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function no(e,t,n,a,r){return r.relativeTime(t||1,!!n,e,a)}function ao(e,t,n,a){var i=r,o=Ra(e)[i("0x681")](),x=eo(o.as("s")),s=eo(o.as("m")),c=eo(o.as("h")),l=eo(o.as("d")),d=eo(o.as("M")),u=eo(o.as("w")),f=eo(o.as("y")),m=x<=n.ss&&["s",x]||x<n.s&&["ss",x]||s<=1&&["m"]||s<n.m&&["mm",s]||c<=1&&["h"]||c<n.h&&["hh",c]||l<=1&&["d"]||l<n.d&&["dd",l];return null!=n.w&&(m=m||u<=1&&["w"]||u<n.w&&["ww",u]),(m=m||d<=1&&["M"]||d<n.M&&["MM",d]||f<=1&&["y"]||["yy",f])[2]=t,m[3]=+e>0,m[4]=a,no[i("0x4884")](null,m)}function ro(e){return void 0===e?eo:typeof e===r("0x3349")&&(eo=e,!0)}function io(e,t){return void 0!==to[e]&&(void 0===t?to[e]:(to[e]=t,"s"===e&&(to.ss=t-1),!0))}function oo(e,t){var n=r;if(!this[n("0x32d4")]())return this[n("0x3908")]()[n("0x20f3")]();var a,i,o=!1,x=to;return"object"==typeof e&&(t=e,e=!1),typeof e===n("0xacc")&&(o=e),typeof t===n("0x1b1d")&&(x=Object[n("0x3df0")]({},to,t),null!=t.s&&null==t.ss&&(x.ss=t.s-1)),i=ao(this,!o,x,a=this[n("0x3908")]()),o&&(i=a[n("0x28ec")](+this,i)),a[n("0x3002")](i)}var xo=Math[r("0x681")];function so(e){return(e>0)-(e<0)||+e}function co(){var e=r;if(!this.isValid())return this[e("0x3908")]()[e("0x20f3")]();var t,n,a,i,o,x,s,c,l=xo(this[e("0x2707")])/1e3,d=xo(this[e("0x293a")]),u=xo(this[e("0x407")]),f=this[e("0xe18")]();return f?(t=de(l/60),n=de(t/60),l%=60,t%=60,a=de(u/12),u%=12,i=l?l[e("0x3fab")](3)[e("0x3cc0")](/\.?0+$/,""):"",o=f<0?"-":"",x=so(this[e("0x407")])!==so(f)?"-":"",s=so(this._days)!==so(f)?"-":"",c=so(this[e("0x2707")])!==so(f)?"-":"",o+"P"+(a?x+a+"Y":"")+(u?x+u+"M":"")+(d?s+d+"D":"")+(n||t||l?"T":"")+(n?c+n+"H":"")+(t?c+t+"M":"")+(l?c+i+"S":"")):"P0D"}var lo=xa.prototype;return lo.isValid=ia,lo.abs=Ai,lo[r("0x2d6e")]=yi,lo.subtract=Ci,lo.as=Ii,lo[r("0x2ca2")]=ki,lo[r("0xe18")]=Pi,lo[r("0xfe1")]=Li,lo[r("0x33a5")]=Fi,lo[r("0x4d3e")]=Bi,lo.asWeeks=Yi,lo.asMonths=Gi,lo[r("0xc91")]=Hi,lo[r("0x448b")]=Ui,lo[r("0x2f75")]=Ni,lo._bubble=Mi,lo[r("0x42df")]=$i,lo[r("0x1cf")]=ji,lo[r("0x5a6")]=Wi,lo[r("0x4c5c")]=qi,lo[r("0x5e")]=zi,lo.hours=Qi,lo[r("0x276c")]=Ki,lo.weeks=Zi,lo[r("0x3dc5")]=Xi,lo[r("0x9cd")]=Ji,lo[r("0xd85")]=oo,lo[r("0x27f")]=co,lo[r("0x3c88")]=co,lo[r("0x27f8")]=co,lo[r("0xf15")]=xr,lo[r("0x3908")]=cr,lo[r("0x1a5a")]=w(r("0x4"),co),lo[r("0x15df")]=sr,U("X",0,0,r("0x4701")),U("x",0,0,"valueOf"),Le("x",Ie),Le("X",ke),He("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),He("x",(function(e,t,n){n._d=new Date(ue(e))})),i[r("0x10ea")]="2.29.1",o(Kn),i.fn=ci,i[r("0x11db")]=ea,i.max=ta,i[r("0x4706")]=na,i[r("0x1a68")]=_,i[r("0x4701")]=li,i.months=pi,i.isDate=f,i[r("0xf15")]=_n,i[r("0x1978")]=v,i[r("0x40b2")]=Ra,i[r("0xe9e")]=y,i[r("0x4b27")]=gi,i[r("0x201c")]=di,i[r("0x3908")]=gn,i[r("0x216c")]=sa,i[r("0x65")]=hi,i[r("0x4b0a")]=Si,i[r("0x42e7")]=pn,i[r("0x2887")]=hn,i[r("0x36b0")]=vn,i[r("0x128f")]=vi,i[r("0x4220")]=ie,i.relativeTimeRounding=ro,i[r("0x1aae")]=io,i[r("0x3de8")]=Ua,i[r("0x20f")]=ci,i[r("0xdce")]={DATETIME_LOCAL:r("0x30fc"),DATETIME_LOCAL_SECONDS:r("0x200d"),DATETIME_LOCAL_MS:r("0x1f17"),DATE:r("0x2114"),TIME:r("0x2bf3"),TIME_SECONDS:"HH:mm:ss",TIME_MS:r("0x10b4"),WEEK:r("0x1418"),MONTH:r("0x3d05")},i}()},7824:e=>{var t=_0x299160,n=1e3,a=6e4,r=36e5,i=864e5,o=6048e5,x=315576e5;function s(e,t,n,a){var r=t>=1.5*n;return Math.round(e/n)+" "+a+(r?"s":"")}e[t("0x33f9")]=function(e,c){var l=t;c=c||{};var d,u,f,m,b,_,p=typeof e;if(p===l("0x38b7")&&e.length>0)return function(e){var s=t;if((e=String(e)).length>100)return;var c=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i[s("0x3629")](e);if(!c)return;var l=parseFloat(c[1]);switch((c[2]||"ms")[s("0x2eb9")]()){case s("0x9cd"):case s("0x572"):case s("0x13b7"):case"yr":case"y":return l*x;case"weeks":case s("0x4504"):case"w":return l*o;case s("0x276c"):case s("0x1588"):case"d":return l*i;case"hours":case s("0x17ba"):case s("0x335b"):case"hr":case"h":return l*r;case s("0x5e"):case"minute":case"mins":case s("0x11db"):case"m":return l*a;case"seconds":case s("0x3ec7"):case s("0x25c"):case s("0x29dd"):case"s":return l*n;case s("0x5a6"):case s("0x35e5"):case s("0x1b68"):case s("0x14"):case"ms":return l;default:return}}(e);if("number"===p&&isFinite(e))return c[l("0x230d")]?(m=e,b=t,(_=Math.abs(m))>=i?s(m,_,i,b("0x1588")):_>=r?s(m,_,r,"hour"):_>=a?s(m,_,a,b("0x2884")):_>=n?s(m,_,n,"second"):m+b("0x1798")):(d=e,u=t,(f=Math[u("0x681")](d))>=i?Math[u("0x46d")](d/i)+"d":f>=r?Math[u("0x46d")](d/r)+"h":f>=a?Math[u("0x46d")](d/a)+"m":f>=n?Math[u("0x46d")](d/n)+"s":d+"ms");throw new Error(l("0x36b4")+JSON[l("0xcda")](e))}},466:function(e){e.exports=function(){var e=a2_0x37cf,t=Object[e("0x20f")][e("0x3c88")],n=Array[e("0x498f")]||function(n){var a=e;return t[a("0x3c6b")](n)===a("0x508")};function a(t){return typeof t===e("0x3349")}function r(e){return n(e)?"array":typeof e}function i(t){var n=e;return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,n("0x1dea"))}function o(t,n){return null!=t&&typeof t===e("0x1b1d")&&n in t}function x(t,n){var a=e;return null!=t&&typeof t!==a("0x1b1d")&&t[a("0x1bd4")]&&t.hasOwnProperty(n)}var s=RegExp[e("0x20f")][e("0x3ff3")];function c(t,n){return s[e("0x3c6b")](t,n)}var l=/\S/;function d(e){return!c(l,e)}var u={"&":e("0xcfa"),"<":"&lt;",">":e("0x3045"),'"':e("0x4cd1"),"'":e("0x42e6"),"/":e("0x20c7"),"`":e("0x261b"),"=":"&#x3D;"};function f(t){var n=e;return String(t)[n("0x3cc0")](/[&<>"'`=\/]/g,(function(e){return u[e]}))}var m=/\s*/,b=/\s+/,_=/\s*=/,p=/\s*\}/,h=/#|\^|\/|>|\{|&|=|!/;function g(t,a){var r=e;if(!t)return[];var o,x,s,c=!1,l=[],u=[],f=[],g=!1,A=!1,T="",C=0;function w(){var e=a2_0x37cf;if(g&&!A)for(;f[e("0x5e9")];)delete u[f.pop()];else f=[];g=!1,A=!1}function M(e){var t=a2_0x37cf;if(typeof e===t("0x38b7")&&(e=e[t("0x9e5")](b,2)),!n(e)||2!==e[t("0x5e9")])throw new Error(t("0x2cd7")+e);o=new RegExp(i(e[0])+t("0x4c75")),x=new RegExp("\\s*"+i(e[1])),s=new RegExp(t("0x4c75")+i("}"+e[1]))}M(a||y[r("0x2c07")]);for(var R,D,I,N,O,k,P=new E(t);!P[r("0x2b2a")]();){if(R=P[r("0x455d")],I=P.scanUntil(o))for(var L=0,F=I[r("0x5e9")];L<F;++L)d(N=I[r("0x24de")](L))?(f[r("0x459a")](u.length),T+=N):(A=!0,c=!0,T+=" "),u[r("0x459a")]([r("0x806"),N,R,R+1]),R+=1,"\n"===N&&(w(),T="",C=0,c=!1);if(!P[r("0x36f6")](o))break;if(g=!0,D=P.scan(h)||r("0x98c"),P[r("0x36f6")](m),"="===D?(I=P[r("0x493a")](_),P.scan(_),P[r("0x493a")](x)):"{"===D?(I=P.scanUntil(s),P.scan(p),P[r("0x493a")](x),D="&"):I=P.scanUntil(x),!P[r("0x36f6")](x))throw new Error(r("0x1fc9")+P[r("0x455d")]);if(O=">"==D?[D,I,R,P[r("0x455d")],T,C,c]:[D,I,R,P[r("0x455d")]],C++,u.push(O),"#"===D||"^"===D)l[r("0x459a")](O);else if("/"===D){if(!(k=l[r("0x4acd")]()))throw new Error(r("0x4e96")+I+r("0x4ed2")+R);if(k[1]!==I)throw new Error(r("0x3b7")+k[1]+r("0x4ed2")+R)}else D===r("0x98c")||"{"===D||"&"===D?A=!0:"="===D&&M(I)}if(w(),k=l.pop())throw new Error(r("0x3b7")+k[1]+r("0x4ed2")+P[r("0x455d")]);return S(v(u))}function v(t){for(var n,a,r=e,i=[],o=0,x=t.length;o<x;++o)(n=t[o])&&(n[0]===r("0x806")&&a&&a[0]===r("0x806")?(a[1]+=n[1],a[3]=n[3]):(i[r("0x459a")](n),a=n));return i}function S(t){for(var n,a=e,r=[],i=r,o=[],x=0,s=t.length;x<s;++x)switch((n=t[x])[0]){case"#":case"^":i[a("0x459a")](n),o[a("0x459a")](n),i=n[4]=[];break;case"/":o[a("0x4acd")]()[5]=n[2],i=o[a("0x5e9")]>0?o[o.length-1][4]:r;break;default:i[a("0x459a")](n)}return r}function E(t){var n=e;this.string=t,this[n("0x49f6")]=t,this[n("0x455d")]=0}function A(t,n){var a=e;this[a("0xaf1")]=t,this[a("0x3e3")]={".":this[a("0xaf1")]},this.parent=n}function T(){var t=e;this[t("0x1968")]={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this[t("0x1cfc")][e]},clear:function(){this[t("0x1cfc")]={}}}}E.prototype[e("0x2b2a")]=function(){return""===this[e("0x49f6")]},E[e("0x20f")][e("0x36f6")]=function(t){var n=e,a=this[n("0x49f6")][n("0x2cd9")](t);if(!a||0!==a[n("0x2d50")])return"";var r=a[0];return this[n("0x49f6")]=this[n("0x49f6")].substring(r[n("0x5e9")]),this[n("0x455d")]+=r[n("0x5e9")],r},E[e("0x20f")][e("0x493a")]=function(t){var n,a=e,r=this[a("0x49f6")][a("0xc63")](t);switch(r){case-1:n=this[a("0x49f6")],this[a("0x49f6")]="";break;case 0:n="";break;default:n=this[a("0x49f6")].substring(0,r),this[a("0x49f6")]=this[a("0x49f6")][a("0x35e7")](r)}return this[a("0x455d")]+=n[a("0x5e9")],n},A[e("0x20f")][e("0x459a")]=function(e){return new A(e,this)},A[e("0x20f")][e("0x392e")]=function(t){var n,r=e,i=this[r("0x3e3")];if(i[r("0x1bd4")](t))n=i[t];else{for(var s,c,l,d=this,u=!1;d;){if(t.indexOf(".")>0)for(s=d.view,c=t[r("0x9e5")]("."),l=0;null!=s&&l<c[r("0x5e9")];)l===c[r("0x5e9")]-1&&(u=o(s,c[l])||x(s,c[l])),s=s[c[l++]];else s=d[r("0xaf1")][t],u=o(d.view,t);if(u){n=s;break}d=d[r("0x731")]}i[t]=n}return a(n)&&(n=n[r("0x3c6b")](this[r("0xaf1")])),n},T[e("0x20f")].clearCache=function(){var t=e;typeof this[t("0x1968")]!==t("0xc42")&&this[t("0x1968")][t("0x2066")]()},T[e("0x20f")][e("0x1fb8")]=function(t,n){var a=e,r=this[a("0x1968")],i=t+":"+(n||y.tags)[a("0xc60")](":"),o=void 0!==r,x=o?r[a("0x1cf")](i):void 0;return null==x&&(x=g(t,n),o&&r[a("0x6e6")](i,x)),x},T[e("0x20f")][e("0x4537")]=function(t,n,a,r){var i=e,o=this[i("0x1fb8")](t,r),x=n instanceof A?n:new A(n,void 0);return this[i("0x2a48")](o,x,a,t,r)},T.prototype[e("0x2a48")]=function(t,n,a,r,i){for(var o,x,s,c=e,l="",d=0,u=t[c("0x5e9")];d<u;++d)s=void 0,"#"===(x=(o=t[d])[0])?s=this.renderSection(o,n,a,r):"^"===x?s=this.renderInverted(o,n,a,r):">"===x?s=this[c("0x4970")](o,n,a,i):"&"===x?s=this.unescapedValue(o,n):x===c("0x98c")?s=this[c("0xea6")](o,n):x===c("0x806")&&(s=this[c("0x3c9a")](o)),void 0!==s&&(l+=s);return l},T[e("0x20f")][e("0x39")]=function(t,r,i,o){var x=e,s=this,c="",l=r[x("0x392e")](t[1]);function d(e){return s.render(e,r,i)}if(l){if(n(l))for(var u=0,f=l[x("0x5e9")];u<f;++u)c+=this.renderTokens(t[4],r.push(l[u]),i,o);else if(typeof l===x("0x1b1d")||typeof l===x("0x38b7")||typeof l===x("0x2231"))c+=this.renderTokens(t[4],r.push(l),i,o);else if(a(l)){if(typeof o!==x("0x38b7"))throw new Error(x("0x35aa"));null!=(l=l[x("0x3c6b")](r.view,o[x("0x9b3")](t[3],t[5]),d))&&(c+=l)}else c+=this[x("0x2a48")](t[4],r,i,o);return c}},T[e("0x20f")].renderInverted=function(t,a,r,i){var o=e,x=a.lookup(t[1]);if(!x||n(x)&&0===x[o("0x5e9")])return this[o("0x2a48")](t[4],a,r,i)},T.prototype[e("0x3831")]=function(t,n,a){for(var r=e,i=n[r("0x3cc0")](/[^ \t]/g,""),o=t[r("0x9e5")]("\n"),x=0;x<o[r("0x5e9")];x++)o[x].length&&(x>0||!a)&&(o[x]=i+o[x]);return o[r("0xc60")]("\n")},T[e("0x20f")][e("0x4970")]=function(t,n,r,i){var o=e;if(r){var x=a(r)?r(t[1]):r[t[1]];if(null!=x){var s=t[6],c=t[5],l=t[4],d=x;return 0==c&&l&&(d=this.indentPartial(x,l,s)),this[o("0x2a48")](this[o("0x1fb8")](d,i),n,r,d,i)}}},T.prototype.unescapedValue=function(t,n){var a=n[e("0x392e")](t[1]);if(null!=a)return a},T[e("0x20f")][e("0xea6")]=function(t,n){var a=e,r=n.lookup(t[1]);if(null!=r)return y[a("0x2bc6")](r)},T.prototype[e("0x3c9a")]=function(e){return e[1]};var y={name:e("0x3305"),version:"4.0.1",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(t){C[e("0x1968")]=t},get templateCache(){return C[e("0x1968")]}},C=new T;return y.clearCache=function(){return C.clearCache()},y.parse=function(t,n){return C[e("0x1fb8")](t,n)},y[e("0x4537")]=function(t,n,a,i){var o=e;if(typeof t!==o("0x38b7"))throw new TypeError('Invalid template! Template should be a "string" but "'+r(t)+'" was given as the first '+o("0x4f53"));return C[o("0x4537")](t,n,a,i)},y.escape=f,y[e("0x26b4")]=E,y.Context=A,y.Writer=T,y}()},7358:(e,t)=>{var n,a;n=window,document,a=a2_0x37cf,angular[a("0x39e9")](a("0x3e34"),[])[a("0x3a33")](a("0x3e34"),{debug:!0})[a("0x1805")]([a("0x42b6"),function(e){var t=a;angular[t("0x64a")](e[t("0x1367")])?e.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|data):/):e[t("0x3324")](/^\s*(https?|ftp|mailto|file|data):/)}]),angular[a("0x39e9")]("ngCsv.directives",["ngCsv.services"]),angular.module(a("0x4c01"),[]),angular[a("0x39e9")](a("0x208c"),[a("0x3e34"),"ngCsv.services",a("0x1ee"),"ngSanitize"]),e[a("0x33f9")]===t&&(e[a("0x33f9")]=a("0x208c")),angular.module("ngCsv.services").service(a("0x3a0"),["$q",function(e){var t=a,n="\r\n",r={"\\t":"\t","\\b":"\b","\\v":"\v","\\f":"\f","\\r":"\r"};this.stringifyField=function(e,t){var n=a2_0x37cf;return n("0xf15")===t.decimalSep&&this.isFloat(e)?e[n("0x2168")]():"."!==t.decimalSep&&this[n("0x2442")](e)?e[n("0x3c88")]()[n("0x3cc0")](".",t[n("0x1f6b")]):"string"==typeof e?(e=e[n("0x3cc0")](/"/g,'""'),(t[n("0x2e12")]||e[n("0x3507")](",")>-1||e[n("0x3507")]("\n")>-1||e[n("0x3507")]("\r")>-1)&&(e=t.txtDelim+e+t[n("0x279")]),e):n("0xacc")==typeof e?e?"TRUE":"FALSE":e},this[t("0x2442")]=function(e){return+e===e&&(!isFinite(e)||Boolean(e%1))},this.stringify=function(a,r){var i=t,o=e[i("0x3a26")](),x=this,s="",c="",l=e.when(a)[i("0x34e8")]((function(e){var t,a,l=i;angular[l("0x64a")](r[l("0x1b71")])&&r[l("0x1b71")]&&(t=[],angular.forEach(r[l("0x1b71")],(function(e){var t=l;this[t("0x459a")](x[t("0x4999")](e,r))}),t),a=t.join(r.fieldSep?r[l("0x4994")]:","),c+=a+n);var d,u,f=[];angular[l("0x498f")](e)?f=e:angular[l("0x4977")](e)&&(f=e()),angular[l("0x64a")](r.label)&&r[l("0x32b")]&&l("0xacc")==typeof r[l("0x32b")]&&(d=[],angular[l("0x5ba")](f[0],(function(e,t){this[l("0x459a")](x.stringifyField(t,r))}),d),u=d[l("0xc60")](r[l("0x4994")]?r[l("0x4994")]:","),c+=u+n),angular.forEach(f,(function(e,t){var a,i,o=l,s=angular.copy(f[t]);i=[];var d=r.columnOrder?r[o("0x1ed0")]:s;angular[o("0x5ba")](d,(function(e){var t=o,n=r[t("0x1ed0")]?s[e]:e;this[t("0x459a")](x[t("0x4999")](n,r))}),i),a=i.join(r[o("0x4994")]?r[o("0x4994")]:","),c+=t<f[o("0x5e9")]?a+n:a})),r[l("0x18b2")]&&(s+="\ufeff"),s+=c,o[l("0x407b")](s)}));return i("0x3349")==typeof l.catch&&l.catch((function(e){o[i("0x2078")](e)})),o[i("0x234e")]},this[t("0x2277")]=function(e){return void 0!==r[e]},this[t("0x4bf8")]=function(e){return r[e]}}]),angular[a("0x39e9")](a("0x1ee"))[a("0x1b75")](a("0x208c"),[a("0x68c"),"$q","CSV","$document","$timeout",function(e,t,r,i,o){var x=a;return{restrict:"AC",scope:{data:x("0x457d"),filename:x("0x3cfc"),header:x("0x2bae"),columnOrder:"&csvColumnOrder",txtDelim:x("0x2e39"),decimalSep:x("0x4908"),quoteStrings:x("0x4c60"),fieldSep:x("0x33e6"),lazyLoad:x("0x862"),addByteOrderMarker:x("0x162a"),ngClick:"&",charset:x("0x88a"),label:x("0x52e")},controller:[x("0x36af"),x("0x4998"),x("0x428f"),"$transclude",function(e,n,a){var i=x;e[i("0x4e47")]="",angular[i("0x64a")](e.lazyLoad)&&i("0x1509")==e[i("0x2318")]||angular[i("0x498f")](e[i("0x237c")])&&e.$watch(i("0x237c"),(function(){e[i("0x43f5")]()}),!0),e[i("0x14b3")]=function(){return e.filename||"download.csv"},e[i("0x43f5")]=function(){var o,x,s=i,c=t.defer();return n[s("0x31dc")](a.ngCsvLoadingClass||s("0x4dc8")),r.stringify(e[s("0x237c")](),(o=a2_0x37cf,x={txtDelim:e[o("0x279")]?e[o("0x279")]:'"',decimalSep:e[o("0x1f6b")]?e.decimalSep:".",quoteStrings:e[o("0x2e12")],addByteOrderMarker:e.addByteOrderMarker},angular[o("0x64a")](a[o("0x1f4a")])&&(x[o("0x1b71")]=e[o("0xe2b")](e[o("0x1b71")])),angular.isDefined(a[o("0x9ea")])&&(x[o("0x1ed0")]=e[o("0xe2b")](e.columnOrder)),angular[o("0x64a")](a.csvLabel)&&(x.label=e[o("0xe2b")](e.label)),x[o("0x4994")]=e[o("0x4994")]?e[o("0x4994")]:",",x[o("0x4994")]=r[o("0x2277")](x[o("0x4994")])?r.getSpecialChar(x[o("0x4994")]):x[o("0x4994")],x))[s("0x34e8")]((function(t){var r=s;e[r("0x4e47")]=t,n[r("0xa81")](a.ngCsvLoadingClass||r("0x4dc8")),c[r("0x407b")](t)})),e[s("0xd66")](),c[s("0x234e")]}}],link:function(e,t){var a=x;t.bind(a("0x7cb"),(function(){var t=a;e[t("0x43f5")]()[t("0x34e8")]((function(){!function(){var t=a2_0x37cf,a=e[t("0x4843")]||t("0x2d5"),r=new Blob([e[t("0x4e47")]],{type:"text/csv;charset="+a+";"});if(n[t("0x149d")].msSaveOrOpenBlob)navigator[t("0x3a1")](r,e[t("0x14b3")]());else{var x=angular.element(t("0x34b")),s=angular[t("0xb48")](x[t("0x71b")]()[0]);s[t("0x417f")]("href",n[t("0x18e")].createObjectURL(r)),s[t("0x417f")]("download",e.getFilename()),s[t("0x417f")](t("0x55d"),t("0x159f")),i[t("0x372f")](t("0x3b3e"))[t("0x136a")](x),o((function(){var e=t;s[0][e("0x7cb")](),s[e("0xf82")]()}),null)}}()})),e[t("0xd66")]()}))}}}])},2684:()=>{!function(){var e=a2_0x37cf;function t(t,n,x,s,c,l,d,u){return{restrict:"AE",scope:!0,templateUrl:function(e,t){return t[a2_0x37cf("0x100f")]||l},link:function(l,f,m){var b=a2_0x37cf,_=t(b("0x39aa")),p=o(),h=l[b("0xe2b")](m[b("0x4339")]),g={};angular.copy(u,g),i(g,h);var v={calcDimensions:function(e){var t=b,n={width:null,height:null};return n.width=e[t("0x430")][t("0xbbf")],n[t("0x4e66")]=e[t("0x430")][t("0x4e66")],e[t("0x430")].height&&e[t("0x430")][t("0xbbf")]?n:e[t("0x430")][t("0x4e66")]?(n[t("0xbbf")]=e[t("0x430")][t("0x4e66")]/390*640,n):e.video[t("0xbbf")]?(n[t("0x4e66")]=n[t("0xbbf")]/640*390,n):(n[t("0xbbf")]=640,n[t("0x4e66")]=390,n)},getRequestConfig:function(){return{headers:{Authorization:void 0}}},youtubeEmbed:function(e,t){var a,i,o=b;if(e[o("0x2cd9")](d[o("0x4033")])){var s=v[o("0x3529")](t);i={id:RegExp.$1,host:o("0x4033"),width:s.width,height:s[o("0x4e66")]},t.video[o("0x1556")]?a=x[o("0x1cf")]("https://www.googleapis.com/youtube/v3/videos?id="+i.id+o("0x2279")+t[o("0x362e")]+"&part=snippet,statistics",v[o("0x3644")]()).then((function(e){var a=o,x=void 0===t[a("0x430")][a("0x2139")]||!0===t.video[a("0x2139")]?a("0x1b10"):a("0x156a"),s=e.data[a("0x158a")][0];return i[a("0x2fdc")]=s[a("0xdff")][a("0x2fdc")],i[a("0x2db0")]=s[a("0xdff")].thumbnails.medium.url,i[a("0x34b9")]=r(s.snippet[a("0x34b9")],250,!0).replace(/\n/g," ").replace(/&#10;/g," "),i.rawDescription=s[a("0xdff")][a("0x34b9")],i[a("0xbe5")]=s[a("0x1466")][a("0x794")],i[a("0xe91")]=s[a("0x1466")][a("0x4b3b")],i[a("0x3521")]=s.snippet.channelTitle,i[a("0xf26")]=a("0xe7b")+s[a("0xdff")].channelId,i[a("0x23b2")]=s[a("0xdff")][a("0x198e")],i.url=n[a("0x43ac")](a("0x4531")+s.id),i[a("0x99b")]=n[a("0x43ac")](a("0x1538")+i.id+x),i})):(i[o("0x99b")]=n[o("0x43ac")]("https://www.youtube.com/embed/"+i.id+o("0x156a")),a=c[o("0x407b")](i))}else a=c[o("0x2078")]();return a},vimeoEmbed:function(e,t){var a,i,o=b;if(e[o("0x2cd9")](d[o("0x280")])){var s=v[o("0x3529")](t);i={id:RegExp.$3,host:o("0x280"),width:s.width,height:s[o("0x4e66")]},t[o("0x430")][o("0x1556")]?a=x[o("0x1cf")]("https://vimeo.com/api/v2/video/"+i.id+o("0x16b5"),v[o("0x3644")]())[o("0x34e8")]((function(e){var a=o,x=e[a("0x237c")],s=void 0===t.video[a("0x2139")]||!0===t[a("0x430")][a("0x2139")]?"&autoplay=1":a("0x2d91");return i[a("0x2fdc")]=x[0][a("0x2fdc")],i[a("0x32f8")]=x[0][a("0x34b9")][a("0x3cc0")](/\n/g,a("0x24ee"))[a("0x3cc0")](/&#10;/g,"<br/>"),i[a("0x34b9")]=r(x[0][a("0x34b9")][a("0x3cc0")](/((<|&lt;)br\s*\/*(>|&gt;)\r\n)/g," "),250,!0),i.thumbnail=x[0][a("0x2aea")],i[a("0xbe5")]=x[0][a("0x3db7")],i[a("0xe91")]=x[0][a("0x4a38")],i[a("0x3521")]=x[0][a("0x47ac")],i[a("0xf26")]=x[0][a("0x4b81")],i[a("0x23b2")]=x[0][a("0x23b2")],i[a("0x4aef")]=x[0][a("0x4aef")],i[a("0x99b")]=n[a("0x43ac")](a("0x2524")+x[0].id+"?title=0&byline=0&portrait=0"+s),i})):(i[o("0x99b")]=n.trustAsResourceUrl(o("0x2524")+i.id+o("0x1a3b")),a=c[o("0x407b")](i))}else a=c[o("0x2078")]();return a},embed:function(e,t){var n=b;return v.youtubeEmbed(e,t)[n("0x373a")]((function(){return v[n("0x2368")](e,t)}))},embedBasic:function(e){var t=b;return e[t("0x2cd9")](d[t("0x30e7")])&&(l[t("0x430")].basic=n[t("0x43ac")](RegExp.$1)),e},twitchtvEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d.twitchtv);if(i){var o=a(i),x=v[r("0x3529")](t);angular.forEach(o,(function(e){var t=r,a=n.trustAsHtml("<iframe "+t("0x296a")+e[t("0x9e5")]("/")[1]+t("0x1ec5")+t("0x45cd")+x[t("0x4e66")]+'" '+t("0x24e8")+x.width+'" '+t("0x576")+'frameborder="0" '+t("0x2895")+t("0x21c1")+t("0x4196"));l[t("0x19f5")][t("0x459a")](a)}))}return e},dailymotionEmbed:function(e,t){var r=b,i=e.match(d[r("0x1c32")]);if(i){var o=a(i),x=v.calcDimensions(t);angular[r("0x5ba")](o,(function(e){var t=r,a=n[t("0x1243")](t("0x4425")+p+t("0x2e67")+e[t("0x9e5")]("/")[2]+'" height="'+x.height+t("0x2693")+x[t("0xbbf")]+t("0x48c3"));l[t("0x19f5")][t("0x459a")](a)}))}return e},tedEmbed:function(e,t){var r=b,i=e.match(d[r("0x40d2")]);if(i){var o=a(i),x=v[r("0x3529")](t);angular[r("0x5ba")](o,(function(e){var t=r,a=n[t("0x1243")]('<iframe src="https://embed.ted.com/talks/'+e[t("0x9e5")]("/")[2]+t("0x25bd")+t("0x45cd")+x[t("0x4e66")]+t("0x2693")+x[t("0xbbf")]+t("0x48c3"));l[t("0x19f5")][t("0x459a")](a)}))}return e},dotsubEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x432c")]);if(i){var o=a(i),x=v.calcDimensions(t);angular[r("0x5ba")](o,(function(e){var t=r,a=n[t("0x1243")]('<iframe src="https://dotsub.com/media/'+e.split("/")[2]+t("0x4a11")+x[t("0xbbf")]+t("0x4fe2")+x[t("0x4e66")]+t("0x48c3"));l[t("0x19f5")].push(a)}))}return e},liveleakEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x4e57")]);if(i){var o=a(i),x=v[r("0x3529")](t);angular[r("0x5ba")](o,(function(e){var t=r,a=n.trustAsHtml(t("0x4425")+p+t("0x540")+e[t("0x9e5")]("=")[1]+t("0x4fe2")+x[t("0x4e66")]+t("0x2693")+x.width+t("0x48c3"));l[t("0x19f5")].push(a)}))}return e},ustreamEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x3be3")]);if(i){var o=a(i),x=v[r("0x3529")](t);angular[r("0x5ba")](o,(function(e){var t=r,a=e.split("/");a.indexOf(t("0x39aa"))<0&&a[t("0x2bcf")](1,0,t("0x39aa"));var i=n.trustAsHtml(t("0x4425")+p+t("0x17d2")+a[t("0xc60")]("/")+t("0x4fe2")+x.height+'" width="'+x.width+t("0x48c3"));l.videoServices[t("0x459a")](i)}))}return e}},S={embed:function(e){var t=b;return e[t("0x2cd9")](d[t("0x2030")])&&(l[t("0x3201")][t("0x4aef")]=n[t("0x43ac")](RegExp.$1)),e},soundcloudEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x840")]);if(i){var o=a(i);angular[r("0x5ba")](o,(function(e){var a=r,i=n[a("0x1243")](a("0x1154")+a("0x46fa")+e+a("0xd5b")+t[a("0x425e")][a("0x2139")]+a("0x139e")+t[a("0x425e")].hideRelated+a("0x4627")+t[a("0x425e")][a("0x178")]+a("0x748")+t[a("0x425e")][a("0x2897")]+a("0x3443")+t.soundCloudOptions[a("0x20a1")]+"&visual="+t[a("0x425e")][a("0xf84")]+"&download="+t[a("0x425e")][a("0x1149")]+a("0x10b1")+t[a("0x425e")][a("0x4329")]+"&theme_color="+t.soundCloudOptions[a("0x4329")]+a("0x48c3"));l[a("0x19f5")].push(i)}))}return e},spotifyEmbed:function(e){var t=e.match(d.spotify);if(t){var r=a(t);angular.forEach(r,(function(e){var t=a2_0x37cf,a=n[t("0x1243")]('<iframe src="https://embed.spotify.com/?uri=spotify:track:'+e[t("0x9e5")]("/")[2]+t("0x3b15"));l[t("0x4cab")][t("0x459a")](a)}))}return e}},E={embed:function(e){var t=b;return e[t("0x2cd9")](d[t("0x261a")])&&(l[t("0x13a2")][t("0x4aef")]=RegExp.$1),e}},A={encode:function(t){var n,a=b,r=(n={"&amp;":"&","&gt;":">","&lt;":"<"},t[e("0x3cc0")](/&(amp|gt|lt);/g,(function(e){return n[e]})));return r=r[a("0x3cc0")](/&amp;/gm,"")},getCode:function(t){return(t+"").replace(d.highlightCode,(function(t,n,a,r){var i,o=a2_0x37cf,x=r;x=x[(i=e)("0x3cc0")](/^([ \t]*)/g,"")[i("0x3cc0")](/[ \t]*$/g,""),x=(x=A[o("0x3f92")](x)).replace(/:\/\//g,"~P");var s,c=a[o("0x9e5")]("\n")[0];return c?s=hljs[o("0x4ec3")](x,[c]):c=(s=hljs[o("0x4ec3")](x)).language,o("0x227b")+c+'">'+s.value+o("0x4022")}))}},T=function(e){var t=b;return e[t("0x2cd9")](d[t("0x2441")])&&(l.pdf[t("0x4aef")]=n[t("0x43ac")](RegExp.$1)),e},y={embed:function(e,t){var r=b;if(!window[r("0x2d02")])return console[r("0x4ad3")](new ReferenceError("twttr is not defined. Load http://platform.twitter.com/widgets.js")),data;l[r("0xf16")]=[];var i=e[r("0x2cd9")](d[r("0x3e9f")]);if(i){var o=a(i);angular[r("0x5ba")](o,(function(e){var a=r,i="https://api.twitter.com/1/statuses/oembed.json?omit_script=true&&url="+e+a("0x311b")+t[a("0x18de")].maxWidth+a("0x3393")+t[a("0x18de")][a("0x3186")]+"&hide_thread="+t[a("0x18de")][a("0x413c")]+a("0x43d9")+t[a("0x18de")][a("0x4f21")]+a("0x3400")+t[a("0x18de")][a("0x15df")];(parseInt(angular[a("0x10ea")][a("0x2c74")])>=1&&parseInt(angular[a("0x10ea")][a("0x8b1")])>=6?x[a("0x15c1")](n.trustAsResourceUrl(i),{callbackParam:a("0x27c")}):x.jsonp(i+a("0x22c0")))[a("0x34e8")]((function(e){var t=a;l[t("0xf16")][t("0x459a")](e[t("0x237c")].html),l[t("0xf16")].length==o[t("0x5e9")]&&s((function(){var e=a2_0x37cf;twttr[e("0x23b0")][e("0x2de8")]()}),10)}))[a("0x373a")]((function(e){console[a("0x4ad3")](e)}))}))}return e}},C={codepenEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x2de")]);if(i){var o=a(i);angular.forEach(o,(function(e){var a=r,i=n[a("0x1243")]('<iframe scrolling="no" height="'+t[a("0x23a1")]+a("0x1c5d")+e.replace(/\/pen\//,a("0x2491"))+a("0x25fc")+t[a("0x23a1")]+a("0x2c4d"));l.codeServices[a("0x459a")](i)}))}return e},jsfiddleEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x412f")]);if(i){var o=a(i);angular[r("0x5ba")](o,(function(e){var a=r,i=n[a("0x1243")]('<iframe height="'+t[a("0x2001")]+a("0x1c5d")+p+"//"+e+a("0x4bac"));l.codeServices[a("0x459a")](i)}))}return e},jsbinEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x14d8")]);if(i){var o=a(i);angular[r("0x5ba")](o,(function(e){var a=r,i=n[a("0x1243")](a("0x164f")+t[a("0x4f1a")]+a("0x41e")+p+"//"+e+a("0x2461"));l.codeServices[a("0x459a")](i)}))}return e},plunkerEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d.plunker);if(i){var o=a(i);angular[r("0x5ba")](o,(function(e){var a=r,i=e[a("0x9e5")]("/")[2],o=-1===e[a("0x3507")]("?")?i:i[a("0x9e5")]("?")[0],x=n[a("0x1243")](a("0x3723")+p+a("0x3025")+o+a("0x4fe2")+t[a("0x4f1a")]+a("0x48c3"));l[a("0x17bc")][a("0x459a")](x)}))}return e},githubgistEmbed:function(e){var t=b,n=e[t("0x2cd9")](d[t("0x25b0")]);if(n){var r=[];angular.forEach(n,(function(e){var n=t;r.push(e[n("0x9e5")]("/")[2])})),l.gist=a(r)}return e},ideoneEmbed:function(e,t){var r=b,i=e[r("0x2cd9")](d[r("0x25b7")]);if(i){var o=a(i);angular[r("0x5ba")](o,(function(e){var a=r,i=n[a("0x1243")]('<iframe src="'+p+"//ideone.com/embed/"+e[a("0x9e5")]("/")[1]+a("0x4fe2")+t.ideoneHeight+'"></iframe>');l[a("0x17bc")][a("0x459a")](i)}))}return e},highlightEmbed:function(e,t){var n=b;return window.hljs?(e=A[n("0x2bd5")](e),s((function(){var e=n;if(t.code[e("0x8af")]){var a=f.find(e("0x20d1"));a.length>0&&angular[e("0x5ba")](a,(function(t){for(var n=e,a=angular.element(t)[n("0x31dc")]("has-numbering"),r=a.text()[n("0x9e5")]("\n")[n("0x5e9")],i=angular[n("0xb48")](n("0x6f1"))[n("0x31dc")](n("0x1be3")),o=1;o<=r;o++){var x=angular.element(n("0x4ec4")).text(o);i[n("0x136a")](x)}a.parent()[n("0x136a")](i)}))}}),20),e):(console.error(new ReferenceError(n("0x4240"))),e)}};function w(e){var t=b;l.video={},l.image={},l[t("0x2441")]={},l[t("0x3201")]={},l[t("0x19f5")]=[],l[t("0x4cab")]=[],l[t("0x17bc")]=[],l[t("0x25b0")]=[],(!angular[t("0x1236")](e)||0===e[t("0x5e9")])&&(e=" ");var a=_(e,g)[t("0x3ab2")]();g.video[t("0x39aa")]&&(g[t("0x362e")]?v[t("0x39aa")](a,g).then((function(e){l[t("0x430")]=e})):console[t("0x4ad3")](t("0x354f"))),a=g.basicVideo?v[t("0x2b6b")](a):a,a=g[t("0x3201")].embed?S[t("0x39aa")](a):a,a=g[t("0x13a2")][t("0x39aa")]?E[t("0x39aa")](a):a,a=g.pdf[t("0x39aa")]?T(a):a,a=g[t("0x3aa8")]?y[t("0x39aa")](a,g):a,a=g.twitchtvEmbed?v.twitchtvEmbed(a,g):a,a=g[t("0x3f77")]?v[t("0x3f77")](a,g):a,a=g.tedEmbed?v[t("0x4618")](a,g):a,a=g[t("0x1c31")]?v.dotsubEmbed(a,g):a,a=g[t("0x4383")]?v[t("0x4383")](a,g):a,a=g[t("0x4c9b")]?v[t("0x4c9b")](a,g):a,a=g[t("0xa61")]?S[t("0x45ab")](a,g):a,a=g[t("0xd1")]?S.spotifyEmbed(a):a,a=g[t("0xd41")].highlight?C[t("0x3ba9")](a,g):a,a=g[t("0x34d0")]?C[t("0x34d0")](a,g):a,a=g[t("0x46cb")]?C.jsfiddleEmbed(a,g):a,a=g[t("0x2658")]?C.jsbinEmbed(a,g):a,a=g[t("0x2b35")]?C[t("0x2b35")](a,g):a,a=g[t("0x2366")]?C[t("0x2366")](a,g):a,a=g[t("0x27c2")]?C.ideoneEmbed(a,g):a,s((function(e){var a=t;l.neText=n[a("0x1243")](e)}),0,!0,a)}g[b("0x1831")]?l[b("0x7a")](m.embedData,w):w(l.$eval(m.embedData))}}}function n(t,n,a,r,x){var s=new RegExp(":("+a.join("|")+"):","gi");return function(a,c){var l,d,u,f,m,b,_,p,h,g,v,S,E=a2_0x37cf,A={};if(angular.copy(x,A),i(A,c),null!=a)return typeof a===E("0x1b1d")?a:(!angular[E("0x1ba0")](a)&&(a=a[E("0x3c88")]()),A[E("0x29a0")]&&(g=a,S={"&":(v=e)("0xcfa"),">":v("0x3045"),"<":v("0x244b")},a=g[v("0x3cc0")](/[&<>]/g,(function(e){return S[e]}))),A[E("0x254")]&&(_=n,p=e,h=a.split(" "),angular[p("0x5ba")](h,(function(e,t){var n=p,a=_[e];a&&(h[t]='<i class="ne-emoticon" title="'+a[n("0x806")]+'">'+n("0x26a3")+a[n("0xd41")]+n("0x4a66"))})),a=h[p("0xc60")](" ")),A[E("0x4901")]&&(b=s,a=a.replace(b,(function(e,t){var n=a2_0x37cf;return n("0x38ad")+t+n("0x2772")+t+n("0xdb0")}))),A[E("0x28f2")]&&(l=a,d=A[E("0x2d6d")],u=r.url,f=r.protocol,a=l[(m=e)("0x3cc0")](u,(function(e){var t=m,n=e;return!f[t("0x3ff3")](e)&&(n=o()+"//"+e),d==t("0x483f")?'<a href="#" onclick="window.open(\''+n+"', '_system', 'location=yes')\" >"+e+t("0x40a"):'<a href="'+n+t("0x2b19")+d+'">'+e+t("0x40a")}))),t[E("0x1243")](a))}}function a(e){for(var t={},n=[],a=0;a<e.length;a++)!t[e[a]]&&(t[e[a]]=!0,n.push(e[a]));return n}function r(t,n,a){var r=e,i=t[r("0x5e9")]>n,o=i?t.substr(0,n-1):t;return o=a&&i?o[r("0x39fa")](0,o[r("0x4e")](" ")):o,i?o+r("0x31d5"):o}function i(t){var n=e;return angular[n("0x5ba")](arguments,(function(e){var a=n;e!==t&&angular[a("0x5ba")](e,(function(e,n){var r=a;t[n]&&t[n][r("0x11ae")]&&t[n][r("0x11ae")]===Object?i(t[n],e):t[n]=e}))})),t}function o(){var t=e;return window.location.protocol[t("0x2cd9")](/https/)?t("0xf28"):t("0x103a")}angular[e("0x39e9")](e("0x3e08"),[e("0x4dab")])[e("0x4d94")](e("0x2252"),{":)":{text:":)",class:e("0x3f80"),code:e("0x4729")},":D":{text:":D",class:e("0x1892"),code:e("0x1e6d")},":d":{text:":d",class:"happy",code:e("0x1e6d")},":(":{text:":(",class:e("0x23ad"),code:e("0x11c2")},":/":{text:":/",class:e("0x496f"),code:e("0x659")},":P":{text:":P",class:e("0x250"),code:"e60c"},":p":{text:":p",class:"tongue",code:e("0x1d19")},"3:)":{text:e("0xab8"),class:e("0x3476"),code:e("0x49af")},"(^)":{text:e("0x46ae"),class:e("0x1809"),code:e("0xda9")},";)":{text:";)",class:e("0x4ce4"),code:e("0x1ea5")},":o":{text:":o",class:e("0x28d7"),code:e("0x45ff")},"-_-":{text:e("0x37a2"),class:e("0x2af5"),code:e("0x344d")},"(y)":{text:e("0x19af"),class:e("0x4b65"),code:e("0x4511")},":*":{text:":*",class:e("0x3e5d"),code:e("0x303a")},"&lt;3":{text:e("0x40b9"),class:e("0x3e5d"),code:e("0x303a")},"<3":{text:"<3",class:e("0x3e5d"),code:e("0x303a")},"&lt;/3":{text:e("0x34a4"),class:e("0xdab"),code:e("0x489b")},"</3":{text:e("0x4893"),class:e("0xdab"),code:e("0x489b")},"^_^":{text:e("0x3bb6"),class:"grin",code:"e612"},"8-)":{text:e("0x4979"),class:e("0x8e5"),code:e("0x46cc")},"8|":{text:"8|",class:"cool",code:e("0x46cc")},":S":{text:":S",class:e("0x16ae"),code:e("0x252e")},":s":{text:":s",class:e("0x16ae"),code:e("0x252e")}})[e("0x4d94")](e("0x491"),[e("0x4549"),e("0x44e9"),e("0x32c0"),e("0x2d1b"),"smiley",e("0x1ac2"),e("0xc32"),e("0x3adf"),e("0xe22"),e("0x1e88"),e("0x816"),"relieved",e("0x14a9"),"grin",e("0x4ce4"),e("0x259f"),e("0x4dac"),e("0x2ef2"),e("0x3076"),e("0x1846"),"kissing_smiling_eyes",e("0x4e87"),e("0x2720"),e("0x4e5d"),e("0x2629"),e("0x3d35"),e("0x4989"),e("0x242c"),e("0x16ae"),e("0x3a4d"),e("0x42ee"),"unamused","sweat_smile",e("0x2465"),e("0x449e"),e("0x428d"),"weary",e("0x1ee1"),e("0xd75"),e("0x1b83"),e("0xb6f"),"cold_sweat",e("0x4add"),e("0x2bbe"),e("0x3175"),"joy","astonished","scream",e("0x495c"),e("0x498a"),e("0x38ec"),e("0x475e"),e("0x2f6d"),"sleepy",e("0x30db"),e("0x4b84"),"sunglasses",e("0x2aca"),e("0x3ffe"),"smiling_imp","neutral_face",e("0x2df1"),"innocent",e("0x1dde"),e("0x4d90"),e("0xbef"),e("0x2ede"),e("0x3e5d"),e("0x168a"),e("0xc02"),e("0x779"),"heartpulse","two_hearts",e("0x33d3"),e("0x4b0f"),e("0x1ab0"),e("0x1aeb"),e("0x403e"),e("0x1e3f"),e("0x44b4"),e("0x2e19"),"collision",e("0x1a45"),e("0x1b07"),e("0x2a12"),"grey_exclamation",e("0x4f03"),e("0x399a"),e("0x68d"),"sweat_drops","notes",e("0x787"),"fire","hankey",e("0x3544"),e("0x3a2b"),e("0x21f8"),e("0x1a7d"),"-1",e("0x2e76"),e("0x2c68"),e("0x39c2"),e("0x2ff5"),e("0xb65"),"v",e("0x22d0"),e("0x352e"),e("0x3951"),e("0x4f50"),e("0x3ab0"),e("0x18f9"),e("0x4c10"),e("0x3d46"),e("0xff8"),e("0x4a47"),e("0x3d77"),e("0x4adf"),e("0x95f"),"metal","fu",e("0x2a8f"),"runner",e("0x144a"),"couple",e("0x4f6a"),e("0x2f5a"),e("0x405e"),"dancer",e("0x2c78"),e("0x43e5"),"no_good","information_desk_person",e("0x3f2f"),e("0x457f"),"person_with_pouting_face",e("0x471a"),"bow",e("0x45a3"),e("0x4e7"),e("0x2a24"),e("0x1aa2"),"nail_care","boy",e("0x14ef"),e("0x909"),"man",e("0x1d68"),e("0x3474"),e("0x5d1"),e("0x13ae"),e("0x1a1d"),e("0x630"),e("0x33d7"),e("0x1198"),"angel",e("0xc7c"),e("0x2bac"),"smile_cat",e("0x30c8"),e("0x2854"),e("0x4fef"),e("0x45aa"),"crying_cat_face","joy_cat",e("0x383a"),e("0x4060"),"japanese_goblin",e("0x2dbd"),"hear_no_evil",e("0x30d2"),e("0x1e8d"),e("0x28f0"),"feet","lips",e("0x26f3"),e("0x4f49"),e("0x1816"),e("0x78d"),e("0x4042"),e("0x250"),e("0x2989"),"bust_in_silhouette",e("0x1cb4"),e("0x61f"),"thought_balloon",e("0x37cb"),e("0x37a0"),"goberserk",e("0x12d5"),e("0x2c8b"),"rage1",e("0x2cdc"),"rage3",e("0x1733"),"suspect",e("0x216b"),e("0x1e74"),e("0x4722"),"cloud","snowflake",e("0x551"),e("0x2255"),"cyclone","foggy","ocean","cat",e("0x23dc"),e("0xe5a"),e("0x1d95"),"rabbit",e("0xaf5"),e("0x3582"),e("0x2018"),e("0x1189"),"bear",e("0xb9c"),e("0x2d9e"),e("0x3015"),e("0x24a6"),e("0x4204"),e("0x4a48"),e("0x23cf"),e("0x4412"),e("0x4a68"),"sheep",e("0x161d"),"panda_face","snake","bird",e("0x3315"),e("0x4ca6"),e("0x27c8"),e("0x1291"),"penguin","turtle",e("0x37c5"),e("0x4ada"),e("0x28c"),e("0x44fe"),e("0xeb2"),e("0x27d8"),"tropical_fish",e("0x47fa"),e("0xfd6"),e("0x461a"),e("0x396c"),e("0x2299"),"ram",e("0x4964"),e("0x384f"),e("0x2e8a"),"rabbit2","dragon",e("0x1c16"),e("0x45e6"),e("0x10bd"),e("0x2485"),e("0xf3e"),"ox",e("0x2934"),"blowfish",e("0x31ba"),e("0x2106"),"leopard",e("0x1545"),e("0x30ab"),"paw_prints","bouquet",e("0x2075"),"tulip","four_leaf_clover","rose",e("0x2d3d"),e("0x204b"),"maple_leaf",e("0x4b37"),e("0x3950"),e("0x34ca"),"mushroom",e("0x608"),e("0x2005"),"evergreen_tree",e("0x2872"),e("0xb7f"),e("0x41a9"),e("0x3211"),e("0x42e0"),e("0x3452"),e("0x4c3b"),"sun_with_face","full_moon_with_face",e("0x31f1"),"new_moon","waxing_crescent_moon",e("0x2d24"),e("0x3b6f"),e("0x2577"),e("0x3018"),e("0x10fa"),e("0x236e"),e("0x2624"),"first_quarter_moon_with_face",e("0x207b"),e("0xf59"),e("0x2b1d"),"earth_asia",e("0x3c51"),"milky_way",e("0xb89"),"octocat",e("0x17dd"),e("0x1dd"),e("0x1d6f"),e("0x4934"),e("0x7bf"),e("0x4e4f"),e("0x4e5b"),e("0x4099"),"sparkler",e("0x4d13"),e("0xdb8"),e("0x38ab"),"ghost","santa",e("0x17b1"),e("0x4113"),e("0x3627"),"no_bell","tanabata_tree",e("0x300a"),e("0x4b52"),e("0x238c"),"crystal_ball","cd",e("0x18c"),e("0x34bf"),e("0x3d69"),"video_camera",e("0x622"),e("0x4be7"),"tv",e("0x30b3"),e("0x42a7"),e("0x4fb8"),e("0x570"),e("0x2a6d"),e("0x122f"),e("0x432f"),e("0x1d61"),"sound",e("0x4a81"),e("0x60b"),e("0x2d2c"),e("0xb85"),"hourglass","hourglass_flowing_sand",e("0x1a8a"),e("0x3c7d"),e("0x1629"),"satellite",e("0x4ece"),e("0x2bcb"),"mag_right",e("0xd58"),e("0x13df"),e("0x2039"),"closed_lock_with_key",e("0x2646"),e("0x2b4c"),"flashlight",e("0x1057"),e("0x305b"),e("0x175d"),e("0x13f7"),e("0x176c"),e("0x1a97"),"mailbox",e("0x10a0"),"bath","bathtub","shower",e("0x1943"),e("0x1e3c"),"nut_and_bolt",e("0x33ea"),"seat",e("0x21a"),"yen",e("0x1696"),e("0x1e5a"),e("0xf5f"),e("0x2f51"),e("0x959"),e("0x27e3"),e("0x4676"),e("0xd9e"),e("0xc9"),e("0x21c9"),e("0x47e"),"mailbox_closed",e("0x1915"),e("0xf39"),"door",e("0x46b2"),"bomb","gun","hocho",e("0x676"),e("0x31b6"),e("0x3982"),e("0x81e"),e("0x423a"),e("0x481e"),e("0x3a5"),e("0x4157"),e("0x3def"),e("0x426d"),"calendar",e("0x306c"),e("0x1521"),"file_folder",e("0x31"),e("0x2865"),"pushpin",e("0xd22"),"black_nib","pencil2",e("0x1227"),e("0x161e"),"closed_book","green_book",e("0x292"),"orange_book",e("0x4e6a"),e("0x2981"),"ledger","books",e("0x2e6e"),"name_badge",e("0x4697"),e("0x17c2"),"newspaper",e("0x10ec"),"basketball",e("0x415a"),e("0x46ab"),e("0x2fd"),"8ball","rugby_football",e("0x3ffb"),e("0x2cc7"),e("0x4c1"),e("0xf07"),e("0x907"),e("0x1115"),e("0x45cf"),e("0x1740"),e("0x132d"),e("0x2690"),e("0x15ec"),e("0x70e"),"diamonds",e("0x3cac"),e("0x3e73"),"trophy",e("0x32e3"),"musical_keyboard",e("0x301a"),e("0x1448"),e("0x1373"),e("0x3759"),e("0x6e7"),e("0x47ff"),e("0x3f53"),"mahjong",e("0x31ef"),e("0x4a82"),"pencil","book",e("0x35b4"),e("0x4035"),e("0x40be"),"trumpet","saxophone",e("0x423c"),e("0x3cb"),e("0x3a03"),e("0x4926"),e("0x3a30"),e("0x3123"),e("0x24b7"),"tshirt",e("0x1dee"),"womans_clothes","dress",e("0x1851"),e("0x2a27"),e("0x451"),e("0x832"),e("0x42"),"tophat","crown",e("0x3a9d"),e("0x24e7"),"closed_umbrella","briefcase","handbag",e("0x87d"),e("0xf18"),e("0x3646"),e("0x4f0"),e("0x4d49"),e("0x4216"),e("0x614"),e("0x2470"),"beer","beers",e("0x35ee"),e("0x45bc"),e("0x1ab9"),e("0x11ca"),"pizza","hamburger",e("0x1a8d"),e("0x1348"),"meat_on_bone",e("0x4ded"),e("0x4108"),e("0x2cf"),"bento",e("0x3f22"),e("0x1067"),e("0x2f6b"),"rice_cracker",e("0x42c1"),e("0x1500"),"stew",e("0xf76"),e("0x4640"),e("0x3752"),e("0x321d"),e("0xb5d"),"custard","icecream","ice_cream",e("0x22d2"),e("0x4fe"),e("0x3c50"),e("0xbf5"),e("0x1178"),"candy",e("0x42f6"),e("0x2057"),e("0x3d97"),e("0xcbe"),e("0x304"),"lemon",e("0x9f1"),"grapes",e("0x29e0"),"strawberry","peach",e("0xc49"),e("0x4b3f"),e("0x1cd0"),e("0x791"),e("0x40e3"),"eggplant","tomato",e("0x4f4b"),e("0x545"),e("0x468b"),e("0x4a43"),e("0x1161"),e("0x379d"),"hospital",e("0x3037"),e("0x17bb"),e("0xfb"),"hotel",e("0x9fa"),e("0x4eae"),e("0x4cfe"),e("0x198b"),"city_sunrise",e("0x2f84"),e("0x4eee"),e("0x48d4"),e("0x41d6"),e("0x3faf"),"tokyo_tower",e("0x4b87"),e("0x9a5"),e("0x4ee3"),"sunrise",e("0x283b"),e("0x3c57"),"tmyk",e("0x7f7"),e("0x1333"),e("0xe94"),e("0x1007"),e("0x2107"),e("0x1d56"),e("0x2481"),e("0x35ed"),e("0x4312"),e("0xf61"),e("0x436c"),e("0x547"),e("0x3703"),e("0xec8"),e("0x1fe7"),e("0x4d89"),e("0x152d"),"tram",e("0x3a02"),"bike",e("0x3f00"),e("0x3275"),"mountain_cableway",e("0x2818"),e("0x2422"),e("0x144d"),"car",e("0x1d55"),e("0x18b0"),"oncoming_taxi",e("0x4738"),"bus",e("0x3fd6"),"rotating_light","police_car",e("0x4e6"),e("0x4ff3"),e("0x28ea"),e("0x811"),e("0x2ce1"),"train",e("0x2fbd"),e("0x1afc"),e("0x1ace"),e("0x40a8"),e("0xd52"),e("0x4e41"),e("0x1e51"),"trolleybus",e("0x318a"),e("0x4aa0"),e("0x208a"),e("0x2925"),"warning",e("0x2374"),e("0x31df"),e("0x4466"),e("0x3ad7"),"busstop",e("0x2fa1"),e("0x1aa3"),"checkered_flag","crossed_flags","izakaya_lantern",e("0x1582"),"circus_tent","performing_arts",e("0x4a6c"),"triangular_flag_on_post","jp","kr","cn","us","fr","es","it","ru","gb","uk","de","one",e("0x3b13"),"three",e("0x4194"),e("0x1c1a"),e("0x10ef"),e("0x38fc"),e("0x4fdd"),e("0x2a7b"),e("0x26c5"),e("0x459d"),e("0xc31"),e("0x426"),e("0x4b1b"),e("0x427c"),e("0x2e2a"),"arrow_forward",e("0x2850"),e("0x32e6"),e("0x330f"),e("0xec6"),e("0xa22"),"arrow_lower_right",e("0xa87"),e("0xd2f"),e("0x500d"),e("0x4cd4"),e("0x4bde"),e("0x2b27"),e("0xb92"),"arrow_heading_down",e("0x1602"),e("0x28ce"),"arrow_right_hook",e("0x401c"),e("0x325d"),"arrow_up_small",e("0x801"),e("0x1e2b"),e("0x4171"),e("0x315"),e("0x700"),"ok",e("0x3224"),"repeat","repeat_one",e("0x4cf9"),"top","up","cool","free","ng","cinema","koko",e("0xc6f"),e("0x138a"),e("0x3070"),"u55b6","u6307",e("0x230f"),"u6709",e("0x47c1"),e("0x30a6"),e("0x4930"),e("0x1a08"),e("0x20b2"),"sa",e("0x168c"),e("0x4a6"),e("0x16cd"),e("0xe15"),e("0x2211"),"parking","wheelchair",e("0x1fa"),"baggage_claim",e("0xc03"),"wc",e("0x1489"),"put_litter_in_its_place",e("0x4b47"),e("0x1725"),"m",e("0x29e4"),e("0x3672"),e("0xd19"),e("0x2c06"),"cl","sos","id",e("0x4696"),e("0x1569"),e("0x4ffb"),e("0x20ff"),"non-potable_water",e("0x1a0e"),"no_pedestrians",e("0x15e4"),"no_entry",e("0x4ee9"),"eight_pointed_black_star",e("0x33b2"),"vs",e("0x4c48"),e("0x427a"),"chart",e("0x4bed"),e("0x4dec"),e("0x35e4"),e("0x313d"),e("0x4137"),e("0x10bc"),e("0x99f"),e("0x37a9"),e("0xf87"),e("0xdd2"),"capricorn",e("0x13de"),"pisces",e("0x224c"),"six_pointed_star",e("0x310d"),"a","b","ab","o2","diamond_shape_with_a_dot_inside",e("0x2d47"),"end","on",e("0x1f11"),e("0xa42"),e("0x2afa"),e("0x2400"),e("0x680"),e("0x4c9a"),e("0x2f53"),"clock12",e("0x3a0a"),e("0x34c7"),e("0x106b"),e("0x2367"),"clock330","clock4","clock430",e("0x1ad9"),e("0x5c9"),e("0x21bd"),"clock630",e("0x1ba2"),"clock730","clock8",e("0x2ddc"),e("0x3d16"),e("0x3247"),e("0x287a"),e("0x2c25"),e("0x4c6d"),"tm","x",e("0x2440"),"bangbang","interrobang","o","heavy_multiplication_x",e("0x23c6"),e("0x2fc9"),e("0x335a"),"white_flower","100",e("0x459b"),e("0x3304"),"radio_button",e("0x28f2"),e("0x11ee"),e("0x2598"),"part_alternation_mark",e("0xeeb"),e("0x2533"),e("0x4666"),e("0x1692"),e("0x140d"),e("0x13d2"),e("0x445"),e("0x344c"),e("0xc1d"),"large_blue_circle","large_blue_diamond","large_orange_diamond",e("0x1a56"),e("0xf62"),"small_red_triangle",e("0x28ab"),e("0x42ff")]).constant(e("0x4fa0"),{protocol:/^[a-z]+:\/\//i,url:/\b(?:(https?|ftp|file):\/\/|www\.)[-A-Z0-9+()&@$#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]/gi,basicVideo:/((?:https?|ftp|file):\/\/\S*\.(?:ogv|webm|mp4)(\?([\w=&_%\-]*))?)/gi,basicAudio:/((?:https?|ftp|file):\/\/\S*\.(?:wav|mp3|ogg)(\?([\w=&_%\-]*))?)/gi,basicImage:/((?:https?|ftp|file):\/\/\S*\.(?:gif|jpg|jpeg|tiff|png|svg|webp)(\?([\w=&_%\-]*))?)/gi,pdf:/((?:https?|ftp|file):\/\/\S*\.(?:pdf)(\?([\w=&_%\-]*))?)/gi,soundCloud:/soundcloud.com\/[a-zA-Z0-9-_]+\/[a-zA-Z0-9-_]+/gi,spotify:/spotify.com\/track\/[a-zA-Z0-9_]+/gi,highlightCode:/(`{3})(\s|[a-z]+)\s*([\s\S]*?[^`])\s*\1(?!`)/gm,codepen:/http:\/\/codepen.io\/([A-Za-z0-9_]+)\/pen\/([A-Za-z0-9_]+)/gi,gist:/gist.github.com\/[a-zA-Z0-9_-]+\/([a-zA-Z0-9]+)/gi,ideone:/ideone.com\/[a-zA-Z0-9]{6}/gi,jsbin:/jsbin.com\/[a-zA-Z0-9_]+\/[0-9_]+/gi,jsfiddle:/jsfiddle.net\/[a-zA-Z0-9_]+\/[a-zA-Z0-9_]+/gi,plunker:/plnkr.co\/edit\/[a-zA-Z0-9?=]+/gi,dotsub:/dotsub.com\/view\/[a-zA-Z0-9-]+/gi,dailymotion:/dailymotion.com\/video\/[a-zA-Z0-9-_]+/gi,liveleak:/liveleak.com\/view\?i=[a-zA-Z0-9_]+/gi,ted:/ted.com\/talks\/[a-zA-Z0-9_]+/gi,vimeo:/vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?)*/gi,youtube:/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[?=&+%\w-]*/gi,twitchtv:/twitch.tv\/[a-zA_Z0-9_]+/gi,ustream:/ustream.tv\/[a-z\/0-9]*/gi,twitter:/https:\/\/twitter\.com\/\w+\/\w+\/\d+/gi})[e("0x4d94")](e("0x33c6"),{sanitizeHtml:!0,fontSmiley:!0,emoji:!0,link:!0,linkTarget:e("0x23cb")})[e("0x4d94")](e("0x23dd"),{watchEmbedData:!1,sanitizeHtml:!0,fontSmiley:!0,emoji:!0,link:!0,linkTarget:e("0x23cb"),pdf:{embed:!0},image:{embed:!1},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!1,gdevAuth:null,video:{embed:!1,width:null,height:null,ytTheme:"dark",details:!1,thumbnailQuality:e("0x3cf5")},tweetEmbed:!0,tweetOptions:{maxWidth:550,hideMedia:!1,hideThread:!1,align:"none",lang:"en"},twitchtvEmbed:!0,dailymotionEmbed:!0,tedEmbed:!0,dotsubEmbed:!0,liveleakEmbed:!0,ustreamEmbed:!0,soundCloudEmbed:!0,soundCloudOptions:{height:160,themeColor:"f50000",autoPlay:!1,hideRelated:!1,showComments:!0,showUser:!0,showReposts:!1,visual:!1,download:!1},spotifyEmbed:!0,codepenEmbed:!0,codepenHeight:300,jsfiddleEmbed:!0,jsfiddleHeight:300,jsbinEmbed:!0,jsbinHeight:300,plunkerEmbed:!0,githubgistEmbed:!0,ideoneEmbed:!0,ideoneHeight:300}).filter(e("0x39aa"),n)[e("0x4d94")](e("0x2dee"),e("0x817"))[e("0x4c69")]([e("0x19f0"),"NG_DEFAULT_TEMPLATE_URL",function(t,n){var a=e,r=a("0x4636");t[a("0x32f3")](n,r)}])[e("0x1b75")](e("0x3e08"),t)[e("0x1b75")]("neGist",(function(){return{restrict:"EA",replace:!0,template:e("0x1760"),link:function(t,n,a){!function(t,n){var a=e,r=document[a("0x4202")](a("0x1575"));r[a("0x4480")](a("0xbbf"),a("0x590")),r.setAttribute(a("0x85d"),"0"),r.id=a("0x3f93")+n,t[a("0x4238")](r);var i=a("0xe12")+a("0x1ead")+r.id+a("0xd45")+a("0x47c0")+a("0x15f")+'document.getElementsByClassName("gist");for(var i=0,links;i<gists.length;i++){links=gists[i].getElementsByTagName("a");for(var j=0;j<links.length;j++){ '+a("0x24cc")+a("0x3561")+n+'.js" onload="retargetLinks()"><\/script></body></html>',o=r[a("0x3afa")];r[a("0x458b")]?o=r[a("0x458b")]:r[a("0x329c")]&&(o=r.contentWindow.document);o[a("0x55a")](),o[a("0x3e0c")](i),o[a("0x440f")]()}(n[0],a.id)}}})),t.$inject=["$filter","$sce","$http","$timeout","$q","NG_DEFAULT_TEMPLATE_URL",e("0x4fa0"),"NG_EMBED_DEFAULT_OPTIONS"],n[e("0x4670")]=[e("0x4f60"),"NG_EMBED_BASIC_EMOTICONS",e("0x491"),e("0x4fa0"),e("0x33c6")]}()},801:()=>{var e,t,n,a,r=_0x299160;angular[r("0x39e9")](r("0x2023"),[]).provider(r("0x2e0d"),(function(){var e=r;this[e("0xbda")]={},this[e("0x3faf")]=function(e){return new Flow(e)},this.events=[],this.on=function(t,n){var a=e;this[a("0x98a")][a("0x459a")]([t,n])},this[e("0x1cc9")]=function(){var t=e,n=this[t("0x3faf")],a=this[t("0xbda")],r=this[t("0x98a")];return{create:function(e){var i=t,o=n(angular[i("0x3448")]({},a,e));return angular[i("0x5ba")](r,(function(e){o.on(e[0],e[1])})),o}}}})),angular[r("0x39e9")](r("0x2b1c"),["flow.provider"])[r("0x1194")](r("0x15e6"),[r("0x36af"),r("0x428f"),r("0x68c"),r("0x2e0d"),function(e,t,n,a){var i=r,o=angular[i("0x3448")]({},e[i("0xe2b")](t[i("0x1564")])),x=a[i("0x4b8c")](o);x.on(i("0x2682"),(function(t){var n=i,a=Array[n("0x20f")][n("0x9b3")][n("0x3c6b")](arguments);a[n("0x4534")]();var r=e[n("0x2050")][n("0x4884")](e,[n("0x3910")+t,x][n("0x3abc")](a));if({progress:1,filesSubmitted:1,fileSuccess:1,fileError:1}[t]&&e.$apply(),r[n("0xc5d")])return!1})),e[i("0x4deb")]=x,t[i("0x1bd4")](i("0x3b42"))&&(n(t[i("0x3b42")])[i("0x3df0")](e,x),e[i("0x24c9")]("$destroy",(function(){var a=i;n(t[a("0x3b42")])[a("0x3df0")](e)})))}])[r("0x1b75")](r("0x1564"),[function(){return{scope:!0,controller:r("0x15e6")}}]),angular[r("0x39e9")]("flow.btn",["flow.init"])[r("0x1b75")](r("0x51f"),[function(){var e=r;return{restrict:"EA",scope:!1,require:e("0x34cb"),link:function(t,n,a){var r=e,i=a[r("0x1bd4")]("flowDirectory"),o=a[r("0x1bd4")](r("0x421b"));t[r("0x4deb")][r("0x1af7")](n,i,o)}}}]),angular[r("0x39e9")]("flow.dragEvents",[r("0x2b1c")])[r("0x1b75")]("flowPreventDrop",(function(){return{scope:!1,link:function(e,t,n){var a=a2_0x37cf;t[a("0x2b0c")](a("0x4faf"),(function(e){e.preventDefault()}))}}}))[r("0x1b75")](r("0x1cb8"),[r("0x38d4"),function(e){return{scope:!1,link:function(t,n,a){var r,i=a2_0x37cf;n.bind(i("0x15f4"),(function(n){var o,x,s,c,l=i;(s=!1,c=(o=n)[(x=i)("0x4d6b")]||o[x("0x2154")].dataTransfer,angular[x("0x5ba")](c&&c[x("0xb8a")],(function(e){e===x("0x13ad")&&(s=!0)})),s)&&(r?e[l("0x4920")](r):t[l("0xd66")](a[l("0x1cb8")]),r=e((function(){var e=l;t[e("0xe2b")](a[e("0x89c")]),r=null}),100),n.preventDefault())}))}}}]),angular[r("0x39e9")](r("0x4a61"),[r("0x2b1c")]).directive("flowDrop",(function(){var e=r;return{scope:!1,require:e("0x34cb"),link:function(t,n,a){var r=e;function i(){t[r("0x4deb")].assignDrop(n)}a[r("0x2abf")]?t[r("0x7a")](a[r("0x2abf")],(function(e){var a;e?i():t[(a=r)("0x4deb")][a("0x46e0")](n)})):i()}}})),e=angular,n=e[(t=r)("0x39e9")](t("0x1287"),[t("0x2b1c")]),a={fileSuccess:[t("0x1f7a"),t("0x1309")],fileProgress:[t("0x1f7a")],fileAdded:[t("0x1f7a"),t("0x443")],filesAdded:[t("0x3c09"),t("0x443")],filesSubmitted:[t("0x3c09"),t("0x443")],fileRetry:["$file"],fileError:[t("0x1f7a"),t("0x1309")],uploadStart:[],complete:[],progress:[],error:["$message","$file"]},e[t("0x5ba")](a,(function(a,r){var i,o,x=t,s=x("0xe67")+((i=r)[(o=t)("0x24de")](0)[o("0x110")]()+i[o("0x9b3")](1));n[x("0x1b75")](s,[function(){var t=x;return{require:t("0x34cb"),controller:[t("0x36af"),"$attrs",function(n,i){var o=t;n.$on(o("0x3910")+r,(function(){var t=o,r=Array.prototype[t("0x9b3")][t("0x3c6b")](arguments),x=r[t("0x4534")]();if(n[t("0x4deb")]===r[t("0x4534")]()){var c={};e[t("0x5ba")](a,(function(e,t){c[e]=r[t]})),!1===n[t("0xe2b")](i[s],c)&&x[t("0xe50")]()}}))}]}}])})),angular[r("0x39e9")](r("0x2269"),[r("0x2b1c")])[r("0x1b75")](r("0x3fae"),[function(){return{scope:!1,require:"^flowInit",link:function(e,t,n){var a=a2_0x37cf,r=n[a("0x3fae")];e[a("0x7a")](r,(function(t){var r=a;if(t){var i=new FileReader;i[r("0x4fc2")](t[r("0x3ce9")]),i[r("0x3e94")]=function(t){var a=r;e[a("0xd66")]((function(){var e=a;n[e("0x35be")]("src",t[e("0x55d")][e("0x1e64")])}))}}}))}}}]),angular.module(r("0x75e"),[r("0x2b1c")])[r("0x1b75")](r("0xd7d"),[function(){var e=r;return{scope:!0,require:e("0x34cb"),link:function(t){var n=e;t[n("0x2bd6")]=t.$flow[n("0x26c8")]}}}]),angular[r("0x39e9")](r("0xe67"),[r("0x2023"),r("0x2b1c"),r("0x1287"),r("0x15c4"),"flow.drop",r("0x75e"),r("0x2269"),r("0x16c9")])},3418:()=>{var e,t,n,a,r;a=jQuery,r=a2_0x37cf,a.jstree.defaults[r("0x2e3b")]=null,a[r("0x3d59")][r("0xb5a")][r("0x2e3b")]=function(e,t){this.init=function(n,r){var i=a2_0x37cf;if(e){this[i("0x3cef")]=function(n,a){var r=i;t[r("0x3cef")][r("0x3c6b")](this,n,a),e(n[r("0x3cc0")](".jstree","")+r("0x4606"),a)};var o=a.vakata[i("0x48cc")][i("0x154b")];a[i("0x18d1")].context[i("0x154b")]=function(t){var n=i;o(t),e(n("0xa65")+t+".vakata")};var x=a[i("0x18d1")].dnd[i("0x154b")];a.vakata.dnd[i("0x154b")]=function(t,n,a){var r=i;x(t,n,a),e(r("0x3a20")+t+".vakata",n,a)}}t[i("0xeed")][i("0x3c6b")](this,n,r)}},e=angular,(n=e[(t=a2_0x37cf)("0x39e9")](t("0x315c"),[]))[t("0x1194")]("jsTreeCtrl",(function(){var t=a2_0x37cf,n=1;this[t("0x3442")]=function(e){var a=t;return e[a("0x33af")]||(e[a("0x33af")]=n++),""+e[a("0x33af")]+(e.id||"")+(e[a("0x806")]||"")+(e[a("0x3298")]||"")},this[t("0x3e3f")]=function(n,a){var r,i=t,o=function(){var t,r,i=a2_0x37cf,o=[];if(n)for(var x=e[i("0x4977")](n)?n():n,c=0,l=x[i("0x5e9")];l>c;c++)r=x[c],t=a(r),s[t]=r,o[i("0x459a")](t);return o},x=function(e,t){var n,a,r=a2_0x37cf,i=[],o={};for(n=0,a=t[r("0x5e9")];a>n;n++)o[t[n]]=!0;for(n=0,a=e[r("0x5e9")];a>n;n++)o[e[n]]||i[r("0x459a")](e[n]);return i},s={};return r={subscribe:function(e,t){e[a2_0x37cf("0x7a")](o,(function(e,n){t&&!1===t(e,n)||function(e,t){var n,i,o,c,l=a2_0x37cf,d={},u=x(t,e);for(n=0,i=u[l("0x5e9")];i>n;n++){var f=u[n];o=s[f],delete s[f];var m=a(o);m===f?r[l("0x13a9")](o):(d[m]=f,r[l("0x31c7")](o))}var b=x(e,t);for(n=0,i=b[l("0x5e9")];i>n;n++)c=b[n],o=s[c],d[c]||r[l("0x2986")](o)}(e,n)}),!0)},onAdded:e.noop,onChanged:e[i("0x49d1")],onRemoved:e[i("0x49d1")]}}})),n[t("0x1b75")](t("0x11c7"),[t("0x38d4"),function(t){var n=a2_0x37cf;return{restrict:"A",scope:{treeData:n("0x2cd1"),treeEventsObj:n("0x44dd"),shouldApply:"&"},controller:n("0x37c1"),link:function(a,r,i,o){var x=n;function s(e,t){return function(){var n=a2_0x37cf,a=arguments,r=e.$parent.$eval(t);e[n("0x645")][n("0x4fca")]?r[n("0x4884")](e[n("0x20cb")],a):e[n("0x20cb")].$apply((function(){var t=n;r[t("0x4884")](e[t("0x20cb")],a)}))}}var c=null,l=o[x("0x3e3f")](a[x("0x1aa8")],o[x("0x3442")]),d=[],u=!1;a[x("0xdc5")]=function(){var e=x;if(d=[],i[e("0x17a0")])if(-1!==i[e("0x17a0")].indexOf(".")){for(var t=i.tree[e("0x9e5")]("."),n=t[e("0x4acd")](),o=a.$parent,s=0;s<t[e("0x5e9")];s++)o=o[t[s]];a[e("0x17a0")]=o[n]=r}else a.tree=a[e("0x20cb")][i[e("0x17a0")]]=r;else a[e("0x17a0")]=r;a.tree[e("0x3d59")](e("0xdc5"))},a[x("0xeed")]=function(){var n=x;a[n("0x17a0")][n("0x3d59")](c),t((function(){!function(t,n,a){var r=a2_0x37cf;if(a.treeEvents)for(var i=a[r("0x14ce")][r("0x9e5")](";"),o=0;o<i.length;o++)if(i[o][r("0x5e9")]>0){var x=i[o][r("0x9e5")](":")[0],c=i[o][r("0x9e5")](":")[1];-1===x.indexOf(".")&&(x+=r("0x4606")),d[r("0x459a")](x),-1===x[r("0x3507")](r("0x1820"))?t[r("0x17a0")].on(x,s(t,c)):$(document).on(x,s(t,c))}e.isObject(t[r("0x1a94")])&&e[r("0x5ba")](t[r("0x1a94")],(function(e,n){var a=r;-1===n[a("0x3507")](".")&&(n+=a("0x4606")),d[a("0x459a")](n),-1===n[a("0x3507")](".vakata")?t[a("0x17a0")].on(n,(function(){var n=a,r=arguments;t[n("0x645")][n("0x4fca")]?e[n("0x4884")](t[n("0x20cb")],r):t[n("0x20cb")][n("0xd66")]((function(){e.apply(t.$parent,r)}))})):$(document).on(n,(function(){var n=a,r=arguments;t[n("0x645")][n("0x4fca")]?e.apply(t[n("0x20cb")],r):t[n("0x20cb")].$apply((function(){e[n("0x4884")](t.$parent,r)}))}))}))}(a,0,i)}))},l.onChanged=function(t){var n=x;e.isDefined(a[n("0x17a0")].jstree(!0)[n("0x2480")])&&a[n("0x17a0")].jstree(!0)[n("0x2480")](t.id,t[n("0x3298")]),a[n("0x17a0")][n("0x3d59")](!0)[n("0x2053")](t.id,t[n("0x806")])},l[x("0x2986")]=function(e){t((function(){for(var t=a2_0x37cf;u;);u=!0;var n=a.tree[t("0x3d59")](!0)[t("0x2bf9")](e[t("0x731")]);a[t("0x17a0")][t("0x3d59")](!0).create_node(n,e,"inside",(function(){u=!1}))||(u=!1)}))},l.onRemoved=function(e){var t=x;a.tree[t("0x3d59")](!0)[t("0x4413")](e.id)},l[x("0x1b65")](a,(function(){var e=x;return!a[e("0x4a3b")]||a[e("0x4a3b")]()})),a[x("0x7a")]((function(){var t=a2_0x37cf,n=i[t("0x11c7")]?a[t("0x20cb")].$eval(i[t("0x11c7")]):{};c={},e[t("0x4d98")](n,c);var r=JSON.stringify(c);return c.core?c.core[t("0x237c")]=a[t("0x1aa8")]:c[t("0x49d3")]={data:a[t("0x1aa8")]},c[t("0xb5a")]?c.plugins.push(t("0x2e3b")):c[t("0xb5a")]=["alltrigger"],c[t("0x2e3b")]=function(e){var n=t;a.$root[n("0x4fca")]||-1!==d[n("0x3507")](e)||a[n("0xd66")]()},r}),(function(){var e=x;a[e("0xdc5")](),a[e("0xeed")]()}))}}}])},8532:(e,t,n)=>{var a,r,i,o;o=(i=a2_0x37cf)("0x4858"),e[i("0x33f9")]?(a=n(5734),r=n(2152),e[i("0x33f9")]=o):(a=window[i("0x40e2")],r=window[i("0x2b55")]),a[i("0x39e9")](o,[])[i("0x1b75")](i("0x4858"),(function(){return{restrict:"A",scope:{ngclipboardSuccess:"&",ngclipboardError:"&"},link:function(e,t){var n=a2_0x37cf,a=new r(t[0]);a.on(n("0x256d"),(function(t){var a=n;e[a("0xd66")]((function(){e[a("0x971")]({e:t})}))})),a.on(n("0x4ad3"),(function(t){var a=n;e[a("0xd66")]((function(){e[a("0x4cd2")]({e:t})}))})),t.on(n("0x4c91"),(function(){a[n("0xdc5")]()}))}}}))},5891:(e,t,n)=>{e[_0x299160("0x33f9")]=n(499)},7914:e=>{var t=_0x299160,n={};n[t("0x4b8c")]=function(e,t){var n=document.createElement(e);return n.className=t,n},n[t("0x2651")]=function(e,n){return n[t("0x4238")](e),e},n[t("0x42b1")]=function(e,n,a){var r,i,o,x,s,c,l=t;return typeof n===l("0x1b1d")?function(e,n){var a=t;for(var r in n){var i=n[r];typeof i===a("0x2231")&&(i=i.toString()+"px"),e[a("0x4025")][r]=i}return e}(e,n):typeof a===l("0xc42")?(s=e,c=n,window.getComputedStyle(s)[c]):(r=e,i=n,typeof(o=a)===(x=t)("0x2231")&&(o=o[x("0x3c88")]()+"px"),r[x("0x4025")][i]=o,r)},n[t("0x3c01")]=function(e,n){var a=t;return typeof e[a("0x3c01")]!==a("0xc42")?e.matches(n):e[a("0x1e5f")](n)},n[t("0xf82")]=function(e){var n=t;typeof e[n("0xf82")]!==n("0xc42")?e.remove():e[n("0x368c")]&&e.parentNode[n("0xffd")](e)},n.queryChildren=function(e,a){var r=t;return Array[r("0x20f")][r("0x6a6")][r("0x3c6b")](e.childNodes,(function(e){return n[r("0x3c01")](e,a)}))},e[t("0x33f9")]=n},6630:e=>{var t=_0x299160,n=function(e){var t=a2_0x37cf;this[t("0xb48")]=e,this[t("0x98a")]={}};n[t("0x20f")][t("0x2b0c")]=function(e,n){var a=t;typeof this[a("0x98a")][e]===a("0xc42")&&(this.events[e]=[]),this[a("0x98a")][e][a("0x459a")](n),this[a("0xb48")][a("0x4944")](e,n,!1)},n.prototype[t("0x2b6e")]=function(e,n){var a=t,r=typeof n!==a("0xc42");this[a("0x98a")][e]=this.events[e].filter((function(t){var i=a;return!(!r||t===n)||(this[i("0xb48")][i("0x4b59")](e,t,!1),!1)}),this)},n.prototype[t("0x25db")]=function(){var e=t;for(var n in this[e("0x98a")])this[e("0x2b6e")](n)};var a=function(){this[t("0x3238")]=[]};a[t("0x20f")][t("0x33b4")]=function(e){var a=t,r=this[a("0x3238")][a("0x6a6")]((function(t){return t.element===e}))[0];return typeof r===a("0xc42")&&(r=new n(e),this[a("0x3238")][a("0x459a")](r)),r},a[t("0x20f")][t("0x2b0c")]=function(e,n,a){var r=t;this[r("0x33b4")](e)[r("0x2b0c")](n,a)},a[t("0x20f")][t("0x2b6e")]=function(e,n,a){this[t("0x33b4")](e).unbind(n,a)},a[t("0x20f")].unbindAll=function(){for(var e=t,n=0;n<this.eventElements[e("0x5e9")];n++)this[e("0x3238")][n].unbindAll()},a[t("0x20f")][t("0x4299")]=function(e,n,a){var r=t,i=this[r("0x33b4")](e),o=function(e){i.unbind(n,o),a(e)};i[r("0x2b0c")](n,o)},e[t("0x33f9")]=a},4254:e=>{"use strict";e.exports=function(){function e(){var e=a2_0x37cf;return Math[e("0x4184")](65536*(1+Math[e("0xcbb")]()))[e("0x3c88")](16)[e("0x35e7")](1)}return function(){return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}}()},6482:(e,t,n)=>{var a=_0x299160,r=n(7914),i=t[a("0x4dea")]=function(e){return parseInt(e,10)||0};function o(e){var t,n=a,r=[n("0x1f00")];return t=typeof e===n("0xc42")?[n("0x4bcf"),"ps--y"]:[n("0x764")+e],r[n("0x3abc")](t)}t.isEditable=function(e){var t=a;return r[t("0x3c01")](e,"input,[contenteditable]")||r[t("0x3c01")](e,t("0x3a61"))||r[t("0x3c01")](e,t("0x1e1b"))||r.matches(e,t("0xb0c"))},t[a("0x1fcd")]=function(e){for(var t=a,n=0;n<e[t("0x1e2d")].length;n++){var r=e[t("0x1e2d")][n];0===r[t("0x3507")](t("0x3d37"))&&e[t("0x1e2d")][t("0xf82")](r)}},t[a("0x10c3")]=function(e){var t=a;return i(r[t("0x42b1")](e,t("0xbbf")))+i(r[t("0x42b1")](e,t("0x3cd")))+i(r[t("0x42b1")](e,t("0x49ca")))+i(r[t("0x42b1")](e,t("0x3f31")))+i(r[t("0x42b1")](e,t("0x11d0")))},t[a("0x41aa")]=function(e,t){for(var n=a,r=o(t),i=0;i<r[n("0x5e9")];i++)e[n("0x1e2d")][n("0x2d6e")](r[i])},t[a("0x123e")]=function(e,t){for(var n=a,r=o(t),i=0;i<r[n("0x5e9")];i++)e.classList[n("0xf82")](r[i])},t[a("0x3603")]={isWebKit:typeof document!==a("0xc42")&&a("0x3e75")in document[a("0x4c17")][a("0x4025")],supportsTouch:"undefined"!=typeof window&&(a("0x2685")in window||window[a("0x2069")]&&document instanceof window[a("0x2069")]),supportsIePointer:typeof window!==a("0xc42")&&null!==window[a("0x149d")][a("0x3b18")]}},499:(e,t,n)=>{var a=_0x299160,r=n(7250),i=n(2939),o=n(7703);e[a("0x33f9")]={initialize:i,update:o,destroy:r}},205:e=>{var t=_0x299160;e[t("0x33f9")]=function(){var e=t;return{handlers:[e("0x1464"),e("0x3cc7"),e("0x4804"),e("0x1027"),e("0x39ed")],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}}},7250:(e,t,n)=>{"use strict";var a=n(6482),r=n(7914),i=n(628);e.exports=function(e){var t=a2_0x37cf,n=i.get(e);n&&(n[t("0x1511")].unbindAll(),r.remove(n[t("0x3d25")]),r[t("0xf82")](n[t("0x1e79")]),r[t("0xf82")](n[t("0x11b3")]),r[t("0xf82")](n.scrollbarYRail),a[t("0x1fcd")](e),i.remove(e))}},8575:(e,t,n)=>{"use strict";var a=n(628),r=n(3109),i=n(7387);e.exports=function(e){!function(e,t){var n=a2_0x37cf;function a(e){return e[a2_0x37cf("0x1a8b")]()}var o=function(e){e[a2_0x37cf("0x4c98")]()};t[n("0x1511")][n("0x2b0c")](t[n("0x1e79")],n("0x7cb"),o),t[n("0x1511")][n("0x2b0c")](t[n("0xc16")],n("0x7cb"),(function(o){var x=n,s=o.pageY-window[x("0x8a1")]-a(t.scrollbarYRail).top>t[x("0x40ed")]?1:-1;i(e,x("0x228a"),e.scrollTop+s*t[x("0x4f73")]),r(e),o[x("0x4c98")]()})),t[n("0x1511")][n("0x2b0c")](t.scrollbarX,n("0x7cb"),o),t[n("0x1511")][n("0x2b0c")](t.scrollbarXRail,n("0x7cb"),(function(o){var x=n,s=o[x("0x2508")]-window[x("0x1dac")]-a(t[x("0x11b3")])[x("0x2885")]>t[x("0x4a1b")]?1:-1;i(e,x("0x2885"),e[x("0xc1")]+s*t[x("0x32f6")]),r(e),o[x("0x4c98")]()}))}(e,a[a2_0x37cf("0x1cf")](e))}},8962:(e,t,n)=>{"use strict";var a=n(6482),r=n(7914),i=n(628),o=n(3109),x=n(7387);function s(e,t){var n=a2_0x37cf,i=null,s=null;var c=function(n){var r=a2_0x37cf;(function(n){var r=a2_0x37cf,o=i+n*t[r("0x1b02")],s=Math[r("0x242b")](0,t[r("0x11b3")][r("0x1a8b")]().left)+t.railXRatio*(t[r("0x6d3")]-t[r("0x3220")]);o<0?t[r("0x4a1b")]=0:o>s?t.scrollbarXLeft=s:t[r("0x4a1b")]=o;var c=a[r("0x4dea")](t[r("0x4a1b")]*(t[r("0x71")]-t.containerWidth)/(t[r("0x32f6")]-t[r("0x1b02")]*t[r("0x3220")]))-t.negativeScrollAdjustment;x(e,r("0x2885"),c)})(n.pageX-s),o(e),n[r("0x4c98")](),n.preventDefault()},l=function(){var n=a2_0x37cf;a[n("0x123e")](e,"x"),t[n("0x1511")].unbind(t.ownerDocument,"mousemove",c)};t[n("0x1511")][n("0x2b0c")](t[n("0x3d25")],"mousedown",(function(o){var x=n;s=o[x("0x2508")],i=a.toInt(r[x("0x42b1")](t.scrollbarX,x("0x2885")))*t[x("0x1b02")],a[x("0x41aa")](e,"x"),t[x("0x1511")].bind(t.ownerDocument,x("0x285a"),c),t[x("0x1511")][x("0x4299")](t[x("0x716")],x("0x1f"),l),o[x("0x4c98")](),o[x("0xe50")]()}))}function c(e,t){var n=a2_0x37cf,i=null,s=null;var c=function(n){var r=a2_0x37cf;(function(n){var r=a2_0x37cf,o=i+n*t.railYRatio,s=Math[r("0x242b")](0,t.scrollbarYRail[r("0x1a8b")]().top)+t[r("0x98e")]*(t.railYHeight-t.scrollbarYHeight);o<0?t[r("0x40ed")]=0:t.scrollbarYTop=o>s?s:o;var c=a.toInt(t.scrollbarYTop*(t[r("0x3e04")]-t[r("0x4f73")])/(t.containerHeight-t[r("0x98e")]*t[r("0x3f27")]));x(e,"top",c)})(n[r("0x4e6d")]-s),o(e),n[r("0x4c98")](),n.preventDefault()},l=function(){var n=a2_0x37cf;a.stopScrolling(e,"y"),t[n("0x1511")][n("0x2b6e")](t[n("0x716")],n("0x285a"),c)};t.event[n("0x2b0c")](t[n("0x1e79")],"mousedown",(function(o){var x=n;s=o[x("0x4e6d")],i=a[x("0x4dea")](r[x("0x42b1")](t[x("0x1e79")],"top"))*t[x("0x98e")],a[x("0x41aa")](e,"y"),t.event.bind(t.ownerDocument,x("0x285a"),c),t[x("0x1511")][x("0x4299")](t.ownerDocument,"mouseup",l),o[x("0x4c98")](),o[x("0xe50")]()}))}e.exports=function(e){var t=i[a2_0x37cf("0x1cf")](e);s(e,t),c(e,t)}},5414:(e,t,n)=>{var a=_0x299160,r=n(6482),i=n(7914),o=n(628),x=n(3109),s=n(7387);function c(e,t){var n=a2_0x37cf,a=!1;t[n("0x1511")].bind(e,n("0x4577"),(function(){a=!0})),t.event.bind(e,n("0x5c0"),(function(){a=!1}));t[n("0x1511")][n("0x2b0c")](t[n("0x716")],"keydown",(function(o){var c=n;if(!(o[c("0x3f7c")]&&o.isDefaultPrevented()||o[c("0xc5d")])){var l=i[c("0x3c01")](t[c("0x3d25")],":focus")||i[c("0x3c01")](t[c("0x1e79")],c("0x27a8"));if(a||l){var d=document[c("0x3671")]?document[c("0x3671")]:t[c("0x716")].activeElement;if(d){if("IFRAME"===d[c("0x4d74")])d=d.contentDocument[c("0x3671")];else for(;d[c("0x2275")];)d=d[c("0x2275")][c("0x3671")];if(r[c("0x15fe")](d))return}var u=0,f=0;switch(o[c("0x2d41")]){case 37:u=o[c("0x366c")]?-t.contentWidth:o[c("0x42a6")]?-t[c("0x32f6")]:-30;break;case 38:f=o[c("0x366c")]?t[c("0x3e04")]:o.altKey?t[c("0x4f73")]:30;break;case 39:u=o[c("0x366c")]?t[c("0x71")]:o.altKey?t[c("0x32f6")]:30;break;case 40:f=o.metaKey?-t[c("0x3e04")]:o[c("0x42a6")]?-t[c("0x4f73")]:-30;break;case 33:f=90;break;case 32:f=o[c("0x3d90")]?90:-90;break;case 34:f=-90;break;case 35:f=o.ctrlKey?-t.contentHeight:-t[c("0x4f73")];break;case 36:f=o.ctrlKey?e[c("0x1423")]:t[c("0x4f73")];break;default:return}s(e,c("0x228a"),e[c("0x1423")]-f),s(e,c("0x2885"),e[c("0xc1")]+u),x(e),function(a,r){var i=n,o=e[i("0x1423")];if(0===a){if(!t[i("0x44a9")])return!1;if(0===o&&r>0||o>=t[i("0x3e04")]-t[i("0x4f73")]&&r<0)return!t[i("0x31a6")][i("0x18ca")]}var x=e.scrollLeft;if(0===r){if(!t.scrollbarXActive)return!1;if(0===x&&a<0||x>=t[i("0x71")]-t.containerWidth&&a>0)return!t[i("0x31a6")].wheelPropagation}return!0}(u,f)&&o[c("0xe50")]()}}}))}e[a("0x33f9")]=function(e){c(e,o[a("0x1cf")](e))}},1581:(e,t,n)=>{"use strict";var a=n(628),r=n(3109),i=n(7387);function o(e,t){var n=a2_0x37cf,a=!1;function o(n){var o,x,s,c,l=a2_0x37cf,d=(x=a2_0x37cf,s=(o=n).deltaX,c=-1*o.deltaY,(typeof s===x("0xc42")||void 0===c)&&(s=-1*o[x("0x1209")]/6,c=o[x("0x3c3e")]/6),o.deltaMode&&1===o[x("0x989")]&&(s*=10,c*=10),s!=s&&c!=c&&(s=0,c=o[x("0x4770")]),o[x("0x3d90")]?[-c,-s]:[s,c]),u=d[0],f=d[1];(function(t,n){var a=a2_0x37cf,r=e.querySelector(a("0x350"));if(r){var i=window[a("0x2b64")](r);if(![i[a("0x905")],i[a("0x6db")],i[a("0x635")]][a("0xc60")]("")[a("0x2cd9")](/(scroll|auto)/))return!1;var o=r[a("0x2afd")]-r[a("0x2838")];if(o>0&&!(0===r[a("0x1423")]&&n>0||r[a("0x1423")]===o&&n<0))return!0;var x=r[a("0xc1")]-r[a("0x538")];if(x>0&&!(0===r[a("0xc1")]&&t<0||r[a("0xc1")]===x&&t>0))return!0}return!1})(u,f)||(a=!1,t[l("0x31a6")][l("0x1fa5")]?t.scrollbarYActive&&!t[l("0x9d7")]?(f?i(e,l("0x228a"),e[l("0x1423")]-f*t[l("0x31a6")][l("0x2a2b")]):i(e,"top",e[l("0x1423")]+u*t[l("0x31a6")][l("0x2a2b")]),a=!0):t.scrollbarXActive&&!t[l("0x44a9")]&&(i(e,l("0x2885"),u?e.scrollLeft+u*t[l("0x31a6")].wheelSpeed:e[l("0xc1")]-f*t[l("0x31a6")][l("0x2a2b")]),a=!0):(i(e,l("0x228a"),e[l("0x1423")]-f*t[l("0x31a6")][l("0x2a2b")]),i(e,l("0x2885"),e.scrollLeft+u*t.settings[l("0x2a2b")])),r(e),(a=a||function(n,a){var r=a2_0x37cf,i=e.scrollTop;if(0===n){if(!t.scrollbarYActive)return!1;if(0===i&&a>0||i>=t.contentHeight-t[r("0x4f73")]&&a<0)return!t[r("0x31a6")][r("0x18ca")]}var o=e[r("0xc1")];if(0===a){if(!t.scrollbarXActive)return!1;if(0===o&&n<0||o>=t[r("0x71")]-t[r("0x32f6")]&&n>0)return!t.settings[r("0x18ca")]}return!0}(u,f))&&(n[l("0x4c98")](),n[l("0xe50")]()))}typeof window[n("0x2e37")]!==n("0xc42")?t[n("0x1511")][n("0x2b0c")](e,n("0x1027"),o):typeof window[n("0x1a21")]!==n("0xc42")&&t[n("0x1511")][n("0x2b0c")](e,n("0x4b5"),o)}e.exports=function(e){o(e,a[a2_0x37cf("0x1cf")](e))}},7545:(e,t,n)=>{var a=_0x299160,r=n(628),i=n(3109);e[a("0x33f9")]=function(e){var t,n,a=r.get(e);t=e,n=a2_0x37cf,a.event[n("0x2b0c")](t,n("0x3def"),(function(){i(t)}))}},3991:(e,t,n)=>{var a=_0x299160,r=n(6482),i=n(628),o=n(3109),x=n(7387);function s(e,t){var n=a2_0x37cf;var a=null,s={top:0,left:0};function c(){a&&(clearInterval(a),a=null),r.stopScrolling(e)}var l=!1;t.event.bind(t.ownerDocument,n("0x3da5"),(function(){var t,n;e.contains((t=a2_0x37cf,0===(n=window.getSelection?window.getSelection():document[t("0x2de6")]?document.getSelection():"").toString()[t("0x5e9")]?null:n[t("0x45ed")](0)[t("0x1f3a")]))?l=!0:(l=!1,c())})),t[n("0x1511")][n("0x2b0c")](window,n("0x1f"),(function(){l&&(l=!1,c())})),t.event[n("0x2b0c")](window,n("0xa20"),(function(){l&&(l=!1,c())})),t[n("0x1511")][n("0x2b0c")](window,n("0x285a"),(function(t){var d=n;if(l){var u={x:t[d("0x2508")],y:t[d("0x4e6d")]},f={left:e.offsetLeft,right:e[d("0x3c94")]+e[d("0xe76")],top:e[d("0x2ac6")],bottom:e[d("0x2ac6")]+e[d("0x2b02")]};u.x<f[d("0x2885")]+3?(s[d("0x2885")]=-5,r[d("0x41aa")](e,"x")):u.x>f[d("0x30eb")]-3?(s[d("0x2885")]=5,r.startScrolling(e,"x")):s[d("0x2885")]=0,u.y<f[d("0x228a")]+3?(f.top+3-u.y<5?s.top=-5:s[d("0x228a")]=-20,r[d("0x41aa")](e,"y")):u.y>f[d("0x47d9")]-3?(s[d("0x228a")]=u.y-f.bottom+3<5?5:20,r.startScrolling(e,"y")):s.top=0,0===s.top&&0===s[d("0x2885")]?c():!a&&(a=setInterval((function(){var t=a2_0x37cf;i[t("0x1cf")](e)?(x(e,t("0x228a"),e[t("0x1423")]+s[t("0x228a")]),x(e,"left",e[t("0xc1")]+s[t("0x2885")]),o(e)):clearInterval(a)}),50))}}))}e[a("0x33f9")]=function(e){s(e,i[a("0x1cf")](e))}},5161:(e,t,n)=>{"use strict";var a=n(6482),r=n(628),i=n(3109),o=n(7387);function x(e,t,n,a){var x=a2_0x37cf;function s(t,n){var a=a2_0x37cf;o(e,a("0x228a"),e[a("0x1423")]-n),o(e,a("0x2885"),e.scrollLeft-t),i(e)}var c={},l=0,d={},u=null,f=!1,m=!1;function b(){f=!0}function _(){f=!1}function p(e){var t=a2_0x37cf;return e[t("0x3b5")]?e[t("0x3b5")][0]:e}function h(e){var t=a2_0x37cf;return(!e[t("0x4f93")]||e[t("0x4f93")]!==t("0x418e")||0!==e.buttons)&&(!(!e[t("0x3b5")]||1!==e[t("0x3b5")].length)||!(!e[t("0x4f93")]||e[t("0x4f93")]===t("0xe5a")||e[t("0x4f93")]===e[t("0x29ec")]))}function g(e){var t=a2_0x37cf;if(h(e)){m=!0;var n=p(e);c.pageX=n[t("0x2508")],c[t("0x4e6d")]=n[t("0x4e6d")],l=(new Date)[t("0x4dad")](),null!==u&&clearInterval(u),e[t("0x4c98")]()}}function v(n){var a=a2_0x37cf;if(!m&&t[a("0x31a6")][a("0xa53")]&&g(n),!f&&m&&h(n)){var r=p(n),i={pageX:r[a("0x2508")],pageY:r[a("0x4e6d")]},o=i[a("0x2508")]-c[a("0x2508")],x=i[a("0x4e6d")]-c[a("0x4e6d")];s(o,x),c=i;var u=(new Date)[a("0x4dad")](),b=u-l;b>0&&(d.x=o/b,d.y=x/b,l=u),function(n,a){var r=a2_0x37cf,i=e.scrollTop,o=e[r("0xc1")],x=Math[r("0x681")](n),s=Math[r("0x681")](a);if(s>x){if(a<0&&i===t[r("0x3e04")]-t[r("0x4f73")]||a>0&&0===i)return!t[r("0x31a6")][r("0xa53")]}else if(x>s&&(n<0&&o===t[r("0x71")]-t[r("0x32f6")]||n>0&&0===o))return!t[r("0x31a6")].swipePropagation;return!0}(o,x)&&(n[a("0x4c98")](),n[a("0xe50")]())}}function S(){var n=a2_0x37cf;!f&&m&&(m=!1,t[n("0x31a6")][n("0x3036")]&&(clearInterval(u),u=setInterval((function(){var t=n;r[t("0x1cf")](e)&&(d.x||d.y)?Math[t("0x681")](d.x)<.01&&Math[t("0x681")](d.y)<.01?clearInterval(u):(s(30*d.x,30*d.y),d.x*=.8,d.y*=.8):clearInterval(u)}),10)))}n?(t[x("0x1511")][x("0x2b0c")](window,"touchstart",b),t[x("0x1511")][x("0x2b0c")](window,"touchend",_),t[x("0x1511")].bind(e,x("0x2198"),g),t.event.bind(e,"touchmove",v),t[x("0x1511")].bind(e,x("0x1342"),S)):a&&(window[x("0x1513")]?(t.event[x("0x2b0c")](window,"pointerdown",b),t[x("0x1511")][x("0x2b0c")](window,x("0x1fc7"),_),t[x("0x1511")][x("0x2b0c")](e,x("0x12ff"),g),t[x("0x1511")][x("0x2b0c")](e,"pointermove",v),t.event.bind(e,x("0x1fc7"),S)):window[x("0xa07")]&&(t[x("0x1511")][x("0x2b0c")](window,x("0x1145"),b),t[x("0x1511")][x("0x2b0c")](window,x("0x46d9"),_),t[x("0x1511")][x("0x2b0c")](e,x("0x1145"),g),t[x("0x1511")].bind(e,x("0x488a"),v),t[x("0x1511")][x("0x2b0c")](e,x("0x46d9"),S)))}e.exports=function(e){var t=a2_0x37cf;(a[t("0x3603")][t("0xfd3")]||a[t("0x3603")][t("0x40ce")])&&x(e,r[t("0x1cf")](e),a.env.supportsTouch,a.env.supportsIePointer)}},2939:(e,t,n)=>{var a=_0x299160,r=n(628),i=n(3109),o={"click-rail":n(8575),"drag-scrollbar":n(8962),keyboard:n(5414),wheel:n(1581),touch:n(5161),selection:n(3991)},x=n(7545);e[a("0x33f9")]=function(e,t){var n=a;e[n("0x1e2d")][n("0x2d6e")]("ps");var s=r[n("0x2d6e")](e,typeof t===n("0x1b1d")?t:{});e[n("0x1e2d")][n("0x2d6e")]("ps--theme_"+s[n("0x31a6")][n("0x4228")]),s[n("0x31a6")].handlers.forEach((function(t){o[t](e)})),x(e),i(e)}},628:(e,t,n)=>{var a=_0x299160,r=n(6482),i=n(205),o=n(7914),x=n(6630),s=n(4254),c={};function l(e,t){var n,a,s,c=a2_0x37cf,l=this;for(var d in l[c("0x31a6")]=i(),t)l.settings[d]=t[d];function u(){var t=c;e[t("0x1e2d")].add(t("0x24d8"))}function f(){var t=c;e[t("0x1e2d")][t("0xf82")](t("0x24d8"))}l[c("0x32f6")]=null,l[c("0x4f73")]=null,l[c("0x71")]=null,l[c("0x3e04")]=null,l[c("0x3475")]=o.css(e,c("0xb72"))===c("0x18c8"),l.isNegativeScroll=(s=e[(a=c)("0xc1")],e.scrollLeft=-1,n=e[a("0xc1")]<0,e[a("0xc1")]=s,n),l[c("0x16e")]=l[c("0x1d09")]?e.scrollWidth-e[c("0x538")]:0,l[c("0x1511")]=new x,l[c("0x716")]=e[c("0x716")]||document,l[c("0x11b3")]=o[c("0x2651")](o[c("0x4b8c")](c("0x4774"),c("0x3897")),e),l[c("0x3d25")]=o[c("0x2651")](o[c("0x4b8c")](c("0x4774"),c("0x24e6")),l[c("0x11b3")]),l.scrollbarX.setAttribute(c("0x562"),0),l.event[c("0x2b0c")](l[c("0x3d25")],"focus",u),l.event.bind(l[c("0x3d25")],c("0x4a1"),f),l.scrollbarXActive=null,l[c("0x3220")]=null,l[c("0x4a1b")]=null,l[c("0x3565")]=r[c("0x4dea")](o[c("0x42b1")](l[c("0x11b3")],c("0x47d9"))),l[c("0x494f")]=l[c("0x3565")]==l[c("0x3565")],l[c("0x150f")]=l[c("0x494f")]?null:r[c("0x4dea")](o.css(l[c("0x11b3")],"top")),l[c("0x6b6")]=r[c("0x4dea")](o[c("0x42b1")](l[c("0x11b3")],c("0x3f31")))+r[c("0x4dea")](o.css(l[c("0x11b3")],c("0x11d0"))),o[c("0x42b1")](l[c("0x11b3")],c("0x37b3"),c("0x37ca")),l.railXMarginWidth=r.toInt(o[c("0x42b1")](l[c("0x11b3")],c("0x314b")))+r.toInt(o.css(l[c("0x11b3")],c("0x4e73"))),o.css(l[c("0x11b3")],c("0x37b3"),""),l[c("0x6d3")]=null,l[c("0x1b02")]=null,l.scrollbarYRail=o.appendTo(o.create("div",c("0x3a15")),e),l[c("0x1e79")]=o[c("0x2651")](o[c("0x4b8c")]("div",c("0x1786")),l.scrollbarYRail),l[c("0x1e79")][c("0x4480")]("tabindex",0),l.event[c("0x2b0c")](l[c("0x1e79")],"focus",u),l[c("0x1511")].bind(l[c("0x1e79")],"blur",f),l.scrollbarYActive=null,l[c("0x3f27")]=null,l[c("0x40ed")]=null,l[c("0x41a8")]=r[c("0x4dea")](o[c("0x42b1")](l[c("0xc16")],c("0x30eb"))),l[c("0x34f1")]=l.scrollbarYRight===l[c("0x41a8")],l.scrollbarYLeft=l.isScrollbarYUsingRight?null:r[c("0x4dea")](o.css(l[c("0xc16")],"left")),l[c("0x64b")]=l[c("0x3475")]?r[c("0x10c3")](l[c("0x1e79")]):null,l[c("0x477c")]=r.toInt(o[c("0x42b1")](l[c("0xc16")],c("0x2c2e")))+r[c("0x4dea")](o.css(l.scrollbarYRail,c("0x1fe2"))),o[c("0x42b1")](l[c("0xc16")],"display",c("0x37ca")),l[c("0x45c0")]=r.toInt(o.css(l[c("0xc16")],"marginTop"))+r[c("0x4dea")](o[c("0x42b1")](l[c("0xc16")],c("0x2e10"))),o.css(l[c("0xc16")],c("0x37b3"),""),l[c("0x3f61")]=null,l[c("0x98e")]=null}function d(e){var t=a2_0x37cf;return e[t("0x22b9")](t("0x266b"))}t[a("0x2d6e")]=function(e,t){var n,a,r=s();return n=r,a=a2_0x37cf,e.setAttribute(a("0x266b"),n),c[r]=new l(e,t),c[r]},t[a("0xf82")]=function(e){delete c[d(e)],e[a2_0x37cf("0x25b3")]("data-ps-id")},t[a("0x1cf")]=function(e){return c[d(e)]}},3109:(e,t,n)=>{var a=_0x299160,r=n(6482),i=n(7914),o=n(628),x=n(7387);function s(e,t){var n=a2_0x37cf;return e[n("0x31a6")][n("0x10e1")]&&(t=Math.max(t,e[n("0x31a6")][n("0x10e1")])),e.settings[n("0x2e44")]&&(t=Math[n("0x11db")](t,e[n("0x31a6")][n("0x2e44")])),t}e[a("0x33f9")]=function(e){var t,n=a,c=o[n("0x1cf")](e);c[n("0x32f6")]=e[n("0x538")],c.containerHeight=e[n("0x2838")],c[n("0x71")]=e[n("0x3d33")],c[n("0x3e04")]=e[n("0x2afd")],!e[n("0x2a10")](c[n("0x11b3")])&&((t=i[n("0x370d")](e,n("0x75d")))[n("0x5e9")]>0&&t.forEach((function(e){i[n("0xf82")](e)})),i[n("0x2651")](c[n("0x11b3")],e)),!e[n("0x2a10")](c[n("0xc16")])&&((t=i[n("0x370d")](e,".ps__scrollbar-y-rail"))[n("0x5e9")]>0&&t[n("0x5ba")]((function(e){i[n("0xf82")](e)})),i[n("0x2651")](c[n("0xc16")],e)),!c[n("0x31a6")][n("0x1b55")]&&c.containerWidth+c[n("0x31a6")].scrollXMarginOffset<c[n("0x71")]?(c[n("0x9d7")]=!0,c[n("0x6d3")]=c.containerWidth-c[n("0x2875")],c[n("0x1b02")]=c.containerWidth/c[n("0x6d3")],c[n("0x3220")]=s(c,r[n("0x4dea")](c.railXWidth*c[n("0x32f6")]/c[n("0x71")])),c.scrollbarXLeft=r[n("0x4dea")]((c[n("0x16e")]+e.scrollLeft)*(c[n("0x6d3")]-c[n("0x3220")])/(c[n("0x71")]-c[n("0x32f6")]))):c[n("0x9d7")]=!1,!c.settings.suppressScrollY&&c[n("0x4f73")]+c[n("0x31a6")][n("0x3d8c")]<c[n("0x3e04")]?(c[n("0x44a9")]=!0,c[n("0x3f61")]=c.containerHeight-c[n("0x45c0")],c[n("0x98e")]=c.containerHeight/c.railYHeight,c[n("0x3f27")]=s(c,r.toInt(c.railYHeight*c.containerHeight/c[n("0x3e04")])),c[n("0x40ed")]=r[n("0x4dea")](e.scrollTop*(c[n("0x3f61")]-c[n("0x3f27")])/(c[n("0x3e04")]-c[n("0x4f73")]))):c[n("0x44a9")]=!1,c[n("0x4a1b")]>=c[n("0x6d3")]-c[n("0x3220")]&&(c[n("0x4a1b")]=c[n("0x6d3")]-c.scrollbarXWidth),c[n("0x40ed")]>=c[n("0x3f61")]-c.scrollbarYHeight&&(c[n("0x40ed")]=c.railYHeight-c.scrollbarYHeight),function(e,t){var n=a2_0x37cf,a={width:t[n("0x6d3")]};t[n("0x3475")]?a[n("0x2885")]=t.negativeScrollAdjustment+e[n("0xc1")]+t[n("0x32f6")]-t[n("0x71")]:a.left=e[n("0xc1")],t[n("0x494f")]?a.bottom=t[n("0x3565")]-e[n("0x1423")]:a[n("0x228a")]=t[n("0x150f")]+e[n("0x1423")],i.css(t[n("0x11b3")],a);var r={top:e[n("0x1423")],height:t[n("0x3f61")]};t.isScrollbarYUsingRight?t.isRtl?r.right=t[n("0x71")]-(t.negativeScrollAdjustment+e[n("0xc1")])-t.scrollbarYRight-t[n("0x64b")]:r[n("0x30eb")]=t.scrollbarYRight-e[n("0xc1")]:t.isRtl?r.left=t[n("0x16e")]+e[n("0xc1")]+2*t.containerWidth-t[n("0x71")]-t[n("0x215")]-t[n("0x64b")]:r.left=t.scrollbarYLeft+e[n("0xc1")],i.css(t[n("0xc16")],r),i[n("0x42b1")](t[n("0x3d25")],{left:t[n("0x4a1b")],width:t[n("0x3220")]-t.railBorderXWidth}),i[n("0x42b1")](t[n("0x1e79")],{top:t[n("0x40ed")],height:t[n("0x3f27")]-t.railBorderYWidth})}(e,c),c[n("0x9d7")]?e[n("0x1e2d")][n("0x2d6e")](n("0x2ec3")):(e.classList.remove(n("0x2ec3")),c[n("0x3220")]=0,c[n("0x4a1b")]=0,x(e,"left",0)),c.scrollbarYActive?e[n("0x1e2d")][n("0x2d6e")]("ps--active-y"):(e[n("0x1e2d")][n("0xf82")](n("0x1416")),c[n("0x3f27")]=0,c[n("0x40ed")]=0,x(e,"top",0))}},7387:(e,t,n)=>{var a=_0x299160,r=n(628),i=function(e){var t=a2_0x37cf,n=document[t("0xdcb")](t("0x3d50"));return n[t("0x9d8")](e,!0,!0),n};e[a("0x33f9")]=function(e,t,n){var o=a;if(typeof e===o("0xc42"))throw o("0x3dda");if(typeof t===o("0xc42"))throw o("0x1151");if(typeof n===o("0xc42"))throw o("0x251");t===o("0x228a")&&n<=0&&(e.scrollTop=n=0,e[o("0x4afc")](i(o("0x373b")))),"left"===t&&n<=0&&(e.scrollLeft=n=0,e[o("0x4afc")](i(o("0x296b"))));var x=r[o("0x1cf")](e);t===o("0x228a")&&n>=x[o("0x3e04")]-x.containerHeight&&((n=x[o("0x3e04")]-x[o("0x4f73")])-e[o("0x1423")]<=2?n=e[o("0x1423")]:e[o("0x1423")]=n,e[o("0x4afc")](i(o("0xa1b")))),t===o("0x2885")&&n>=x[o("0x71")]-x[o("0x32f6")]&&((n=x[o("0x71")]-x[o("0x32f6")])-e[o("0xc1")]<=2?n=e.scrollLeft:e[o("0xc1")]=n,e[o("0x4afc")](i(o("0x2590")))),void 0===x.lastTop&&(x[o("0x675")]=e[o("0x1423")]),void 0===x.lastLeft&&(x[o("0x2874")]=e[o("0xc1")]),t===o("0x228a")&&n<x[o("0x675")]&&e.dispatchEvent(i("ps-scroll-up")),t===o("0x228a")&&n>x[o("0x675")]&&e[o("0x4afc")](i("ps-scroll-down")),"left"===t&&n<x[o("0x2874")]&&e.dispatchEvent(i(o("0x53b"))),t===o("0x2885")&&n>x[o("0x2874")]&&e[o("0x4afc")](i("ps-scroll-right")),t===o("0x228a")&&n!==x[o("0x675")]&&(e[o("0x1423")]=x[o("0x675")]=n,e.dispatchEvent(i(o("0x2ef0")))),t===o("0x2885")&&n!==x[o("0x2874")]&&(e.scrollLeft=x[o("0x2874")]=n,e[o("0x4afc")](i(o("0x323c"))))}},7703:(e,t,n)=>{var a=_0x299160,r=n(6482),i=n(7914),o=n(628),x=n(3109),s=n(7387);e[a("0x33f9")]=function(e){var t=a,n=o[t("0x1cf")](e);n&&(n[t("0x16e")]=n[t("0x1d09")]?e[t("0x3d33")]-e[t("0x538")]:0,i[t("0x42b1")](n[t("0x11b3")],t("0x37b3"),t("0x37ca")),i[t("0x42b1")](n[t("0xc16")],t("0x37b3"),"block"),n[t("0x2875")]=r[t("0x4dea")](i[t("0x42b1")](n[t("0x11b3")],"marginLeft"))+r.toInt(i[t("0x42b1")](n[t("0x11b3")],t("0x4e73"))),n[t("0x45c0")]=r[t("0x4dea")](i.css(n[t("0xc16")],t("0x464f")))+r[t("0x4dea")](i[t("0x42b1")](n[t("0xc16")],"marginBottom")),i[t("0x42b1")](n.scrollbarXRail,"display","none"),i[t("0x42b1")](n[t("0xc16")],t("0x37b3"),"none"),x(e),s(e,"top",e[t("0x1423")]),s(e,t("0x2885"),e[t("0xc1")]),i[t("0x42b1")](n.scrollbarXRail,"display",""),i[t("0x42b1")](n.scrollbarYRail,t("0x37b3"),""))}},6692:e=>{var t=_0x299160,n=e[t("0x33f9")]={v:[{name:t("0x10ea"),reg:/^(\d*)$/}],o:[{name:t("0x25e3"),reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:[t("0x4242"),t("0x3fc2"),"sessionVersion",t("0x3887"),t("0x2452"),t("0xcfb")],format:"%s %s %d %s IP%d %s"}],s:[{name:t("0x98c")}],i:[{name:"description"}],u:[{name:t("0x234")}],e:[{name:t("0x1a97")}],p:[{name:t("0x42a7")}],z:[{name:t("0x24b1")}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:[t("0x1023"),t("0x5a")],format:"%d %d"}],c:[{name:t("0x360e"),reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:t("0xb15")}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:[t("0x3298"),t("0x477f")],format:t("0x121c")}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type",t("0x23a4"),t("0x427"),t("0x1996")],format:t("0x263")}],a:[{push:t("0x171e"),reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload",t("0x3f37"),t("0x191c"),t("0x2d32")],format:function(e){var n=t;return e.encoding?"rtpmap:%d %s/%s/%s":e[n("0x191c")]?n("0x25ea"):"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:[t("0x3880"),t("0x1805")],format:t("0x424e")},{name:t("0x1ab8"),reg:/^control:(.*)/,format:t("0x19f3")},{name:t("0x3d6d"),reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:[t("0x23a4"),t("0x3887"),t("0x2452"),"address"],format:function(e){var n=t;return null!=e[n("0xcfb")]?n("0x2808"):n("0x1ffd")}},{push:t("0x4928"),reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:[t("0x3880"),t("0x3a33")],format:t("0x2cbc")},{push:t("0x4b2f"),reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload",t("0x3298"),"subtype"],format:function(e){var n=t;return null!=e[n("0x11f5")]?n("0x975"):"rtcp-fb:%s %s"}},{push:t("0x15f7"),reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:[t("0x3a33"),t("0xb72"),t("0x4624"),t("0x234"),t("0x1805")],format:function(e){var n=t;return n("0x3c25")+(e[n("0xb72")]?n("0x3939"):"%v")+(e[n("0x4624")]?n("0x2137"):"%v")+n("0x2137")+(e[n("0x1805")]?" %s":"")}},{name:t("0x25cd"),reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id",t("0x1c72"),t("0x1805"),t("0x3e53")],format:function(e){var n=t;return null!=e[n("0x3e53")]?n("0x15bc"):n("0x396d")}},{name:t("0x42fe"),reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:t("0x1240"),reg:/^mid:([^\s]*)/,format:t("0x4085")},{name:t("0x1df1"),reg:/^msid:(.*)/,format:t("0x23df")},{name:t("0x44e8"),reg:/^ptime:(\d*(?:\.\d*)*)/,format:t("0x2a47")},{name:t("0x353a"),reg:/^maxptime:(\d*(?:\.\d*)*)/,format:t("0x4fff")},{name:t("0xb72"),reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:t("0x4def"),reg:/^(ice-lite)/},{name:t("0xc10"),reg:/^ice-ufrag:(\S*)/,format:t("0xca4")},{name:t("0x1004"),reg:/^ice-pwd:(\S*)/,format:t("0x46ec")},{name:t("0x44d"),reg:/^fingerprint:(\S*) (\S*)/,names:[t("0x3298"),t("0x426")],format:"fingerprint:%s %s"},{push:t("0x30c3"),reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation",t("0x11e9"),t("0x1381"),t("0x20e3"),"ip",t("0x23a4"),"type",t("0x12b3"),t("0x3a6a"),t("0x2da4"),"generation",t("0x12de"),"network-cost"],format:function(e){var n=t,a="candidate:%s %d %s %d %s %d typ %s";return a+=null!=e.raddr?n("0x4868"):n("0x1e95"),a+=null!=e[n("0x2da4")]?n("0x44d5"):"%v",null!=e[n("0xf0")]&&(a+=n("0x31ec")),a+=null!=e[n("0x12de")]?n("0x5b4"):"%v",a+=null!=e["network-cost"]?n("0x1b32"):"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:t("0x4310")},{name:t("0xa1e"),reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:t("0x3b4b"),reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id",t("0x3d26"),t("0x3a33")],format:function(e){var n=t,a="ssrc:%d";return null!=e[n("0x3d26")]&&(a+=n("0x2137"),null!=e.value&&(a+=":%s")),a}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:[t("0x3ab3"),t("0x3b4b")],format:"ssrc-group:%s %s"},{name:t("0x41c3"),reg:/^msid-semantic:\s?(\w*) (\S*)/,names:[t("0x18be"),t("0x3742")],format:t("0xd02")},{push:t("0x2de9"),reg:/^group:(\w*) (.*)/,names:[t("0x3298"),t("0x271d")],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:t("0x4bdb"),reg:/^(rtcp-rsize)/},{name:t("0x46be"),reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:[t("0x4f7a"),t("0x28d"),t("0x327b")],format:function(e){var n=t;return null!=e.maxMessageSize?n("0x2c9c"):n("0x13c9")}},{name:t("0x19e9"),reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:t("0x4124"),reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction",t("0x48ad")],format:function(e){var n=t;return e[n("0x48ad")]?n("0x4de5"):n("0x2782")}},{push:t("0x47da"),reg:new RegExp(t("0x47f7")+t("0x21a5")+t("0x1d25")),names:["pt","dir1","attrs1",t("0x1bf0"),t("0x4669")],format:function(e){var n=t;return"imageattr:%s %s %s"+(e.dir2?n("0x1cfb"):"")}},{name:t("0x342b"),reg:new RegExp(t("0x28de")+t("0x39e")+t("0x13f9")+"$"),names:[t("0xaa0"),"list1",t("0x1bf0"),t("0x2d95")],format:function(e){var n=t;return"simulcast:%s %s"+(e.dir2?n("0x1cfb"):"")}},{name:t("0x393"),reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:[t("0x3a33")],format:t("0x4cd5")},{name:t("0x2ad4"),reg:/^framerate:(\d+(?:$|\.\d+))/,format:t("0x2fe8")},{name:t("0xf36"),reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:[t("0x3a52"),"netType",t("0x2c3"),t("0xe28"),t("0xcc1")],format:t("0x24b3")},{name:t("0x2ca9"),reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:t("0x22cf")},{name:t("0x180b"),reg:/^sctp-port:(\d+)$/,format:t("0xa6d")},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:t("0x5f7")},{push:t("0x47d3"),reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:[t("0x29a4"),t("0x22bf")],format:function(e){var n=t;return n("0x4573")+(null!=e[n("0x22bf")]?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id",t("0x4578"),"mediaClockValue",t("0xf29"),"rateDenominator"],format:function(e){var n=t,a=n("0x3564");return a+=null!=e.id?"id=%s %s":n("0x26ed"),a+=null!=e.mediaClockValue?n("0x3237"):"",a+=null!=e.rateNumerator?" rate=%s":"",a+=null!=e[n("0x41d1")]?"/%s":""}},{name:t("0x16be"),reg:/^keywds:(.+)$/,format:t("0x3de")},{name:t("0xa9f"),reg:/^content:(.+)/,format:t("0x8b8")},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:t("0x1c88")},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:t("0x1f9e")},{name:t("0x10"),reg:/^userid:(\d+)/,format:"userid:%s"},{name:t("0x2592"),reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:t("0x24f4")},{push:t("0x1978"),names:[t("0x3a33")]}]};Object[t("0xa35")](n)[t("0x5ba")]((function(e){var a=t;n[e][a("0x5ba")]((function(e){var t=a;!e[t("0x3dd")]&&(e[t("0x3dd")]=/(.*)/),!e[t("0x293c")]&&(e.format="%s")}))}))},766:(e,t,n)=>{var a=_0x299160,r=n(962),i=n(5776);t[a("0x69a")]=i,t[a("0x1fb8")]=r[a("0x1fb8")],t[a("0x255d")]=r[a("0x255d")],t.parseFmtpConfig=r[a("0x4473")],t[a("0x1f8f")]=r.parsePayloads,t[a("0x4c02")]=r[a("0x4c02")],t.parseImageAttributes=r[a("0x4d3")],t[a("0x19a4")]=r[a("0x19a4")]},962:(e,t,n)=>{var a=_0x299160,r=function(e){return String(Number(e))===e?Number(e):e},i=function(e,t,n){var a=a2_0x37cf,i=e[a("0x98c")]&&e[a("0x41c8")];e[a("0x459a")]&&!t[e.push]?t[e[a("0x459a")]]=[]:i&&!t[e[a("0x98c")]]&&(t[e.name]={});var o=e.push?{}:i?t[e.name]:t;(function(e,t,n,a){var i=a2_0x37cf;if(a&&!n)t[a]=r(e[1]);else for(var o=0;o<n[i("0x5e9")];o+=1)null!=e[o+1]&&(t[n[o]]=r(e[o+1]))})(n[a("0x2cd9")](e[a("0x3dd")]),o,e[a("0x41c8")],e[a("0x98c")]),e[a("0x459a")]&&t[e.push][a("0x459a")](o)},o=n(6692),x=RegExp[a("0x20f")][a("0x3ff3")][a("0x2b0c")](/^([a-z])=(.*)/);t[a("0x1fb8")]=function(e){var t=a,n={},r=[],s=n;return e.split(/(\r\n|\r|\n)/)[t("0x6a6")](x)[t("0x5ba")]((function(e){var n=t,a=e[0],x=e[n("0x9b3")](2);"m"===a&&(r[n("0x459a")]({rtp:[],fmtp:[]}),s=r[r.length-1]);for(var c=0;c<(o[a]||[])[n("0x5e9")];c+=1){var l=o[a][c];if(l[n("0x3dd")][n("0x3ff3")](x))return i(l,s,x)}})),n[t("0x4f11")]=r,n};var s=function(e,t){var n=a,i=t[n("0x9e5")](/=(.+)/,2);return 2===i[n("0x5e9")]?e[i[0]]=r(i[1]):1===i.length&&t[n("0x5e9")]>1&&(e[i[0]]=void 0),e};t[a("0x255d")]=function(e){var t=a;return e.split(/;\s?/)[t("0x2e06")](s,{})},t[a("0x4473")]=t.parseParams,t.parsePayloads=function(e){var t=a;return e.toString()[t("0x9e5")](" ").map(Number)},t[a("0x4c02")]=function(e){for(var t=a,n=[],i=e[t("0x9e5")](" ")[t("0x19e8")](r),o=0;o<i[t("0x5e9")];o+=3)n[t("0x459a")]({component:i[o],ip:i[o+1],port:i[o+2]});return n},t[a("0x4d3")]=function(e){var t=a;return e[t("0x9e5")](" ")[t("0x19e8")]((function(e){var n=t;return e[n("0x35e7")](1,e.length-1).split(",")[n("0x2e06")](s,{})}))},t[a("0x19a4")]=function(e){var t=a;return e[t("0x9e5")](";")[t("0x19e8")]((function(e){var n=t;return e[n("0x9e5")](",")[n("0x19e8")]((function(e){var t,a=n,i=!1;return"~"!==e[0]?t=r(e):(t=r(e[a("0x35e7")](1,e[a("0x5e9")])),i=!0),{scid:t,paused:i}}))}))}},5776:(e,t,n)=>{var a=_0x299160,r=n(6692),i=/%[sdv%]/g,o=function(e){var t=a2_0x37cf,n=1,a=arguments,r=a[t("0x5e9")];return e.replace(i,(function(e){if(n>=r)return e;var t=a[n];switch(n+=1,e){case"%%":return"%";case"%s":return String(t);case"%d":return Number(t);case"%v":return""}}))},x=function(e,t,n){var a=a2_0x37cf,r=[e+"="+(t[a("0x293c")]instanceof Function?t.format(t[a("0x459a")]?n:n[t[a("0x98c")]]):t.format)];if(t[a("0x41c8")])for(var i=0;i<t[a("0x41c8")].length;i+=1){var x=t[a("0x41c8")][i];t[a("0x98c")]?r[a("0x459a")](n[t.name][x]):r[a("0x459a")](n[t[a("0x41c8")][i]])}else r[a("0x459a")](n[t[a("0x98c")]]);return o[a("0x4884")](null,r)},s=["v","o","s","i","u","e","p","c","b","t","r","z","a"],c=["i","c","b","a"];e[a("0x33f9")]=function(e,t){var n=a;t=t||{},null==e[n("0x10ea")]&&(e[n("0x10ea")]=0),null==e.name&&(e[n("0x98c")]=" "),e[n("0x4f11")][n("0x5ba")]((function(e){var t=n;null==e[t("0x1996")]&&(e[t("0x1996")]="")}));var i=t.outerOrder||s,o=t[n("0x262f")]||c,l=[];return i[n("0x5ba")]((function(t){var a=n;r[t][a("0x5ba")]((function(n){var r=a;n[r("0x98c")]in e&&null!=e[n[r("0x98c")]]?l[r("0x459a")](x(t,n,e)):n[r("0x459a")]in e&&null!=e[n.push]&&e[n[r("0x459a")]][r("0x5ba")]((function(e){l[r("0x459a")](x(t,n,e))}))}))})),e[n("0x4f11")][n("0x5ba")]((function(e){l[n("0x459a")](x("m",r.m[0],e)),o.forEach((function(t){r[t].forEach((function(n){var a=a2_0x37cf;n[a("0x98c")]in e&&null!=e[n.name]?l[a("0x459a")](x(t,n,e)):n[a("0x459a")]in e&&null!=e[n[a("0x459a")]]&&e[n[a("0x459a")]][a("0x5ba")]((function(e){l.push(x(t,n,e))}))}))}))})),l[n("0xc60")]("\r\n")+"\r\n"}},751:(e,t,n)=>{var a=_0x299160;Object.defineProperty(t,a("0x398d"),{value:!0}),t.Socket=t.io=t.Manager=t[a("0x427")]=void 0;const r=n(1775),i=n(7001),o=n(2277);Object[a("0x47ad")](t,a("0x298e"),{enumerable:!0,get:function(){return o[a("0x298e")]}});const x=n(3669)(a("0x13f2"));e.exports=t=c;const s=t[a("0x2b9d")]={};function c(e,t){var n=a;typeof e===n("0x1b1d")&&(t=e,e=void 0),t=t||{};const o=r[n("0x4aef")](e),c=o[n("0x4aff")],l=o.id,d=o[n("0x1da4")],u=s[l]&&d in s[l][n("0xc3")];let f;return t.forceNew||t[n("0x3c41")]||!1===t[n("0x3528")]||u?(x(n("0x2013"),c),f=new i.Manager(c,t)):(!s[l]&&(x(n("0xd38"),c),s[l]=new(i[n("0xca")])(c,t)),f=s[l]),o.query&&!t[n("0x3829")]&&(t.query=o[n("0x3829")]),f.socket(o[n("0x1da4")],t)}t.io=c;var l=n(4369);Object[a("0x47ad")](t,a("0x427"),{enumerable:!0,get:function(){return l[a("0x427")]}}),t[a("0x4e7d")]=c;var d=n(7001);Object[a("0x47ad")](t,a("0xca"),{enumerable:!0,get:function(){return d[a("0xca")]}})},7001:(e,t,n)=>{var a=_0x299160;Object[a("0x47ad")](t,a("0x398d"),{value:!0}),t[a("0xca")]=void 0;const r=n(5983),i=n(2277),o=n(8767),x=n(4369),s=n(5657),c=n(6077),l=n(3010),d=n(3669)(a("0x2a89"));class u extends o{constructor(e,t){var n=a;super(),this[n("0xc3")]={},this[n("0x1eb2")]=[],this[n("0x149b")]=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{})[n("0x1da4")]=t.path||n("0x1ce1"),this.opts=t,this[n("0x304f")](!1!==t[n("0x304f")]),this[n("0x403f")](t[n("0x403f")]||1/0),this[n("0x2312")](t[n("0x2312")]||1e3),this.reconnectionDelayMax(t[n("0x15cc")]||5e3),this.randomizationFactor(t.randomizationFactor||.5),this[n("0x1f3")]=new l({min:this[n("0x2312")](),max:this[n("0x15cc")](),jitter:this[n("0x346")]()}),this[n("0x1612")](null==t.timeout?2e4:t.timeout),this._readyState=n("0x234c"),this.uri=e;const r=t[n("0x131c")]||x;this[n("0x1937")]=new(r[n("0x1e5")]),this[n("0x382f")]=new(r[n("0x231")]),this[n("0x48b7")]=!1!==t.autoConnect,this._autoConnect&&this[n("0x55a")]()}reconnection(e){return arguments.length?(this[a("0x4bb5")]=!!e,this):this._reconnection}[a("0x403f")](e){var t=a;return void 0===e?this[t("0x26b0")]:(this[t("0x26b0")]=e,this)}[a("0x2312")](e){var t=a;return void 0===e?this[t("0x1113")]:(this._reconnectionDelay=e,this.backoff&&this[t("0x1f3")][t("0x27b")](e),this)}randomizationFactor(e){var t=a;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,this[t("0x1f3")]&&this.backoff[t("0x3ab")](e),this)}reconnectionDelayMax(e){var t=a;return void 0===e?this[t("0x28e4")]:(this[t("0x28e4")]=e,this.backoff&&this[t("0x1f3")][t("0x4832")](e),this)}[a("0x1612")](e){var t=a;return arguments.length?(this[t("0x429b")]=e,this):this[t("0x429b")]}[a("0x4a83")](){var e=a;!this[e("0x300e")]&&this[e("0x4bb5")]&&0===this.backoff[e("0x4b7e")]&&this[e("0x27")]()}[a("0x55a")](e){var t=a;if(d(t("0x323"),this._readyState),~this[t("0xd1a")][t("0x3507")](t("0x55a")))return this;d(t("0x2c0a"),this[t("0x234")]),this[t("0x275a")]=r(this.uri,this[t("0x3572")]);const n=this[t("0x275a")],i=this;this[t("0xd1a")]=t("0x4789"),this[t("0x174d")]=!1;const o=s.on(n,"open",(function(){i[t("0x9e9")](),e&&e()})),x=s.on(n,t("0x4ad3"),(n=>{var a=t;d(a("0x4ad3")),i[a("0x1c09")](),i[a("0xd1a")]=a("0x234c"),super[a("0xe39")](a("0x4ad3"),n),e?e(n):i[a("0x4a83")]()}));if(!1!==this._timeout){const e=this._timeout;d(t("0x216a"),e),0===e&&o[t("0xdc5")]();const a=setTimeout((()=>{var a=t;d(a("0x4b08"),e),o[a("0xdc5")](),n.close(),n[a("0xe39")]("error",new Error(a("0x1612")))}),e);this.subs[t("0x459a")]({destroy:function(){clearTimeout(a)}})}return this[t("0x1eb2")][t("0x459a")](o),this.subs[t("0x459a")](x),this}[a("0x4e7d")](e){return this[a("0x55a")](e)}[a("0x9e9")](){var e=a;d(e("0x55a")),this.cleanup(),this[e("0xd1a")]=e("0x55a"),super[e("0xe39")]("open");const t=this[e("0x275a")];this[e("0x1eb2")][e("0x459a")](s.on(t,"data",c(this,e("0xfcd")))),this.subs[e("0x459a")](s.on(t,"ping",c(this,"onping"))),this.subs[e("0x459a")](s.on(t,"error",c(this,e("0x1cea")))),this.subs[e("0x459a")](s.on(t,"close",c(this,"onclose"))),this[e("0x1eb2")][e("0x459a")](s.on(this[e("0x382f")],e("0x36d4"),c(this,e("0x2878"))))}[a("0x262d")](){var e=a;super[e("0xe39")](e("0xfca"))}[a("0xfcd")](e){var t=a;this.decoder[t("0x2d6e")](e)}[a("0x2878")](e){var t=a;super[t("0xe39")](t("0x27ab"),e)}[a("0x1cea")](e){var t=a;d(t("0x4ad3"),e),super[t("0xe39")](t("0x4ad3"),e)}[a("0x191d")](e,t){var n=a;let r=this[n("0xc3")][e];if(!r){r=new(i[n("0x298e")])(this,e,t),this[n("0xc3")][e]=r;var o=this;r.on(n("0x149b"),x),this[n("0x48b7")]&&x()}function x(){var e=n;!~o[e("0x149b")][e("0x3507")](r)&&o.connecting[e("0x459a")](r)}return r}[a("0x40d8")](e){var t=a;const n=this.connecting[t("0x3507")](e);~n&&this[t("0x149b")][t("0x2bcf")](n,1),this[t("0x149b")][t("0x5e9")]||this[t("0x1f78")]()}[a("0x4f5d")](e){var t=a;d("writing packet %j",e),e[t("0x3829")]&&0===e[t("0x3298")]&&(e[t("0x88b")]+="?"+e[t("0x3829")]);const n=this[t("0x1937")].encode(e);for(let a=0;a<n[t("0x5e9")];a++)this.engine.write(n[a],e.options)}[a("0x1c09")](){var e=a;d(e("0x1c09"));const t=this[e("0x1eb2")][e("0x5e9")];for(let n=0;n<t;n++){this.subs[e("0x4534")]()[e("0xdc5")]()}this[e("0x382f")][e("0xdc5")]()}[a("0x1f78")](){var e=a;d("disconnect"),this.skipReconnect=!0,this[e("0x300e")]=!1,e("0x4789")===this._readyState&&this[e("0x1c09")](),this[e("0x1f3")][e("0x19a7")](),this[e("0xd1a")]="closed",this[e("0x275a")]&&this[e("0x275a")][e("0x440f")]()}[a("0x2a37")](){return this[a("0x1f78")]()}[a("0x13c8")](e){var t=a;d("onclose"),this[t("0x1c09")](),this[t("0x1f3")].reset(),this[t("0xd1a")]=t("0x234c"),super.emit(t("0x440f"),e),this[t("0x4bb5")]&&!this[t("0x174d")]&&this[t("0x27")]()}[a("0x27")](){var e=a;if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this[e("0x1f3")].attempts>=this[e("0x26b0")])d("reconnect failed"),this[e("0x1f3")][e("0x19a7")](),super.emit(e("0x1096")),this._reconnecting=!1;else{const n=this[e("0x1f3")][e("0x40b2")]();d(e("0x31aa"),n),this[e("0x300e")]=!0;const a=setTimeout((()=>{var n=e;t[n("0x174d")]||(d(n("0x40fe")),super[n("0xe39")]("reconnect_attempt",t[n("0x1f3")][n("0x4b7e")]),t.skipReconnect||t[n("0x55a")]((e=>{var a=n;e?(d("reconnect attempt error"),t[a("0x300e")]=!1,t[a("0x27")](),super[a("0xe39")](a("0x217c"),e)):(d("reconnect success"),t[a("0x353c")]())})))}),n);this[e("0x1eb2")][e("0x459a")]({destroy:function(){clearTimeout(a)}})}}onreconnect(){var e=a;const t=this[e("0x1f3")][e("0x4b7e")];this[e("0x300e")]=!1,this.backoff[e("0x19a7")](),super[e("0xe39")](e("0x27"),t)}}t[a("0xca")]=u},5657:(e,t)=>{var n=_0x299160;Object[n("0x47ad")](t,n("0x398d"),{value:!0}),t.on=void 0,t.on=function(e,t,n){return e.on(t,n),{destroy:function(){e[a2_0x37cf("0x1dc")](t,n)}}}},2277:(e,t,n)=>{var a=_0x299160;Object[a("0x47ad")](t,a("0x398d"),{value:!0}),t[a("0x298e")]=void 0;const r=n(4369),i=n(8767),o=n(5657),x=n(6077),s=n(3669)(a("0x1081")),c={connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1};class l extends i{constructor(e,t,n){var r=a;super(),this[r("0x733")]=0,this[r("0x284")]={},this[r("0x29d2")]=[],this[r("0x2a0e")]=[],this.flags={},this.io=e,this.nsp=t,this.ids=0,this.acks={},this[r("0x29d2")]=[],this.sendBuffer=[],this[r("0x2468")]=!1,this[r("0x4356")]=!0,this[r("0x4e5b")]={},n&&n.auth&&(this[r("0x1533")]=n[r("0x1533")]),this.io[r("0x48b7")]&&this[r("0x55a")]()}[a("0x49b6")](){var e=a;if(this.subs)return;const t=this.io;this[e("0x1eb2")]=[o.on(t,e("0x55a"),x(this,e("0x9e9"))),o.on(t,e("0x27ab"),x(this,"onpacket")),o.on(t,"close",x(this,e("0x13c8")))]}connect(){var e=a;return this[e("0x2468")]||(this[e("0x49b6")](),this.io[e("0x300e")]||this.io[e("0x55a")](),e("0x55a")===this.io[e("0xd1a")]&&this[e("0x9e9")]()),this}open(){return this.connect()}[a("0x1819")](...e){var t=a;return e[t("0x4e4a")](t("0x45ea")),this[t("0xe39")][t("0x4884")](this,e),this}[a("0xe39")](e,...t){var n=a;if(c[n("0x1bd4")](e))throw new Error('"'+e+'" is a reserved event name');t[n("0x4e4a")](e);const i={type:r.PacketType.EVENT,data:t};i[n("0x16d1")]={},i[n("0x16d1")][n("0x3046")]=!1!==this[n("0x4e5b")].compress,"function"==typeof t[t[n("0x5e9")]-1]&&(s(n("0x6a8"),this[n("0x733")]),this[n("0x284")][this[n("0x733")]]=t[n("0x4acd")](),i.id=this[n("0x733")]++);const o=this.io[n("0x275a")]&&this.io[n("0x275a")].transport&&this.io[n("0x275a")][n("0x1381")][n("0xed1")];return this[n("0x4e5b")][n("0x1635")]&&(!o||!this[n("0x2468")])?s(n("0x1c11")):this[n("0x2468")]?this[n("0x27ab")](i):this[n("0x2a0e")][n("0x459a")](i),this.flags={},this}[a("0x27ab")](e){var t=a;e.nsp=this[t("0x88b")],this.io[t("0x4f5d")](e)}[a("0x9e9")](){var e=a;s(e("0x4e90")),"function"==typeof this[e("0x1533")]?this[e("0x1533")]((t=>{this[e("0x27ab")]({type:r.PacketType.CONNECT,data:t})})):this[e("0x27ab")]({type:r[e("0x2ad1")][e("0x3958")],data:this.auth})}onclose(e){var t=a;s("close (%s)",e),this[t("0x2468")]=!1,this[t("0x4356")]=!0,delete this.id,super[t("0xe39")](t("0x2a37"),e)}[a("0x2dd4")](e){var t=a;if(e[t("0x88b")]===this[t("0x88b")])switch(e[t("0x3298")]){case r[t("0x2ad1")].CONNECT:const n=e[t("0x237c")][t("0x20f6")];this[t("0x19a6")](n);break;case r.PacketType[t("0x496c")]:this.onevent(e);break;case r[t("0x2ad1")][t("0xa2c")]:this[t("0x22ce")](e);break;case r[t("0x2ad1")][t("0x438a")]:this[t("0x4aa9")](e);break;case r[t("0x2ad1")].BINARY_ACK:this.onack(e);break;case r[t("0x2ad1")][t("0x13fe")]:this[t("0x455a")]();break;case r.PacketType.CONNECT_ERROR:const a=new Error(e[t("0x237c")][t("0x45ea")]);a.data=e[t("0x237c")][t("0x237c")],super[t("0xe39")](t("0xb81"),a)}}onevent(e){var t=a;const n=e.data||[];s(t("0x281f"),n),null!=e.id&&(s(t("0x1cbb")),n.push(this[t("0x19d8")](e.id))),this[t("0x2468")]?this.emitEvent(n):this[t("0x29d2")][t("0x459a")](n)}[a("0x2f5b")](e){var t=a;if(this[t("0x2957")]&&this[t("0x2957")][t("0x5e9")]){const n=this[t("0x2957")][t("0x9b3")]();for(const t of n)t.apply(this,e)}super[t("0xe39")][t("0x4884")](this,e)}ack(e){const t=this;let n=!1;return function(...a){var i=a2_0x37cf;n||(n=!0,s(i("0x2201"),a),t[i("0x27ab")]({type:r[i("0x2ad1")][i("0x438a")],id:e,data:a}))}}[a("0x4aa9")](e){var t=a;const n=this[t("0x284")][e.id];t("0x3349")===typeof n?(s(t("0x4603"),e.id,e[t("0x237c")]),n[t("0x4884")](this,e.data),delete this[t("0x284")][e.id]):s(t("0x2bdf"),e.id)}[a("0x19a6")](e){var t=a;this.id=e,this[t("0x2468")]=!0,this[t("0x4356")]=!1,super[t("0xe39")]("connect"),this[t("0x2e5")]()}[a("0x2e5")](){var e=a;for(let t=0;t<this[e("0x29d2")][e("0x5e9")];t++)this[e("0x2f5b")](this[e("0x29d2")][t]);this[e("0x29d2")]=[];for(let t=0;t<this[e("0x2a0e")][e("0x5e9")];t++)this[e("0x27ab")](this[e("0x2a0e")][t]);this[e("0x2a0e")]=[]}[a("0x455a")](){var e=a;s(e("0x1d27"),this.nsp),this[e("0xdc5")](),this[e("0x13c8")](e("0x3bfd"))}[a("0xdc5")](){var e=a;if(this[e("0x1eb2")]){for(let t=0;t<this[e("0x1eb2")][e("0x5e9")];t++)this[e("0x1eb2")][t][e("0xdc5")]();this.subs=null}this.io[e("0x40d8")](this)}[a("0x2a37")](){var e=a;return this[e("0x2468")]&&(s(e("0x3f41"),this[e("0x88b")]),this.packet({type:r.PacketType.DISCONNECT})),this.destroy(),this.connected&&this[e("0x13c8")](e("0x2f44")),this}[a("0x440f")](){return this[a("0x2a37")]()}compress(e){var t=a;return this[t("0x4e5b")][t("0x3046")]=e,this}get volatile(){var e=a;return this.flags[e("0x1635")]=!0,this}[a("0x3320")](e){var t=a;return this[t("0x2957")]=this[t("0x2957")]||[],this._anyListeners[t("0x459a")](e),this}[a("0x3c44")](e){var t=a;return this[t("0x2957")]=this[t("0x2957")]||[],this[t("0x2957")][t("0x4e4a")](e),this}[a("0x18e4")](e){var t=a;if(!this._anyListeners)return this;if(e){const n=this[t("0x2957")];for(let a=0;a<n.length;a++)if(e===n[a])return n[t("0x2bcf")](a,1),this}else this._anyListeners=[];return this}[a("0x49bc")](){return this[a("0x2957")]||[]}}t[a("0x298e")]=l},1775:(e,t,n)=>{var a=_0x299160;Object.defineProperty(t,a("0x398d"),{value:!0}),t.url=void 0;const r=n(4926),i=n(3669)("socket.io-client:url");t.url=function(e,t){var n=a;let o=e;t=t||typeof location!==n("0xc42")&&location,null==e&&(e=t.protocol+"//"+t[n("0x4961")]),n("0x38b7")===typeof e&&("/"===e[n("0x24de")](0)&&(e="/"===e[n("0x24de")](1)?t[n("0x427")]+e:t[n("0x4961")]+e),!/^(https?|wss?):\/\//[n("0x3ff3")](e)&&(i(n("0x4950"),e),e=n("0xc42")!==typeof t?t[n("0x427")]+"//"+e:"https://"+e),i(n("0x726"),e),o=r(e)),o[n("0x23a4")]||(/^(http|ws)$/[n("0x3ff3")](o[n("0x427")])?o[n("0x23a4")]="80":/^(http|ws)s$/.test(o.protocol)&&(o[n("0x23a4")]=n("0x444f"))),o[n("0x1da4")]=o[n("0x1da4")]||"/";const x=-1!==o[n("0x4961")].indexOf(":")?"["+o[n("0x4961")]+"]":o[n("0x4961")];return o.id=o[n("0x427")]+n("0xad0")+x+":"+o[n("0x23a4")],o[n("0x44a3")]=o[n("0x427")]+n("0xad0")+x+(t&&t[n("0x23a4")]===o[n("0x23a4")]?"":":"+o[n("0x23a4")]),o}},3669:(e,t,n)=>{var a=_0x299160;t[a("0x10f3")]=function(...e){var t=a;return typeof console===t("0x1b1d")&&console.log&&console[t("0x10f3")](...e)},t[a("0x41fd")]=function(t){var n=a;if(t[0]=(this[n("0x46f7")]?"%c":"")+this.namespace+(this[n("0x46f7")]?n("0x2879"):" ")+t[0]+(this[n("0x46f7")]?n("0x480a"):" ")+"+"+e.exports[n("0xd85")](this[n("0x4019")]),!this[n("0x46f7")])return;const r=n("0x3de0")+this[n("0xf2c")];t[n("0x2bcf")](1,0,r,n("0x2cee"));let i=0,o=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(i++,"%c"===e&&(o=i))})),t[n("0x2bcf")](o,0,r)},t[a("0x37e0")]=function(e){var n=a;try{e?t[n("0x3db5")][n("0x473b")](n("0x3382"),e):t.storage.removeItem(n("0x3382"))}catch(e){}},t[a("0x2de8")]=function(){var e=a;let n;try{n=t[e("0x3db5")][e("0x1fc8")](e("0x3382"))}catch(e){}return!n&&typeof process!==e("0xc42")&&e("0x3603")in process&&(n=process[e("0x3603")][e("0x4af2")]),n},t[a("0x46f7")]=function(){var e=a;return!(typeof window===e("0xc42")||!window[e("0x4731")]||window.process[e("0x3298")]!==e("0x1a16")&&!window[e("0x4731")][e("0x1349")])||(typeof navigator===e("0xc42")||!navigator[e("0x22fc")]||!navigator[e("0x22fc")][e("0x2eb9")]()[e("0x2cd9")](/(edge|trident)\/(\d+)/))&&(typeof document!==e("0xc42")&&document[e("0x4c17")]&&document[e("0x4c17")][e("0x4025")]&&document[e("0x4c17")].style[e("0x3e75")]||typeof window!==e("0xc42")&&window[e("0x2196")]&&(window[e("0x2196")][e("0x4fe5")]||window[e("0x2196")][e("0x3120")]&&window.console[e("0x37f3")])||typeof navigator!==e("0xc42")&&navigator[e("0x22fc")]&&navigator.userAgent.toLowerCase()[e("0x2cd9")](/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent[e("0x2eb9")]()[e("0x2cd9")](/applewebkit\/(\d+)/))},t[a("0x3db5")]=function(){try{return localStorage}catch(e){}}(),t[a("0x273f")]=["#0000CC","#0000FF",a("0x4826"),a("0x3375"),a("0x24dc"),a("0xff7"),"#0099CC","#0099FF",a("0x340"),a("0x1d85"),a("0x3bd1"),a("0x401b"),a("0x3715"),a("0x3a7f"),a("0x4d7d"),"#3300FF","#3333CC",a("0x337c"),a("0x3f2a"),"#3366FF",a("0x439"),a("0x2586"),"#33CC00",a("0x2051"),a("0x39f"),a("0x35af"),a("0x95d"),a("0x4bdc"),a("0x1cce"),"#6600FF",a("0x2bc1"),a("0x4c77"),"#66CC00",a("0x12b1"),a("0x272f"),a("0x1faa"),"#9933CC",a("0xe96"),"#99CC00",a("0x1ff0"),a("0xda7"),a("0x424f"),a("0x28af"),a("0x37b1"),"#CC00CC",a("0x125b"),a("0x4392"),a("0x21c8"),a("0x4bc"),"#CC3399",a("0x21fc"),a("0x4eb8"),a("0x3481"),"#CC6633",a("0x3064"),a("0x1fd5"),"#CCCC00",a("0x7a3"),"#FF0000",a("0x1499"),a("0x4ed7"),"#FF0099",a("0x2743"),a("0x4787"),a("0x1455"),a("0xce3"),a("0x122b"),a("0x9c9"),a("0x49fc"),a("0x4200"),a("0x560"),a("0x3a5b"),"#FF9900",a("0x259e"),"#FFCC00",a("0x889")],e[a("0x33f9")]=n(9231)(t);const{formatters:r}=e[a("0x33f9")];r.j=function(e){var t=a;try{return JSON[t("0xcda")](e)}catch(e){return t("0x3e4c")+e.message}}},9231:(e,t,n)=>{e[_0x299160("0x33f9")]=function(e){var t=a2_0x37cf;function a(e){var n=t;let a=0;for(let t=0;t<e.length;t++)a=(a<<5)-a+e.charCodeAt(t),a|=0;return r.colors[Math[n("0x681")](a)%r.colors[n("0x5e9")]]}function r(e){var n=t;let x;function s(...e){var t=a2_0x37cf;if(!s[t("0x48b5")])return;const n=s,a=Number(new Date),i=a-(x||a);n[t("0x4019")]=i,n.prev=x,n[t("0x4dfa")]=a,x=a,e[0]=r.coerce(e[0]),"string"!=typeof e[0]&&e[t("0x4e4a")]("%O");let o=0;e[0]=e[0][t("0x3cc0")](/%([a-zA-Z%])/g,((a,i)=>{var x=t;if("%%"===a)return a;o++;const s=r[x("0x2d44")][i];if(typeof s===x("0x3349")){const t=e[o];a=s.call(n,t),e[x("0x2bcf")](o,1),o--}return a})),r[t("0x41fd")][t("0x3c6b")](n,e);(n.log||r.log)[t("0x4884")](n,e)}return s.namespace=e,s.enabled=r.enabled(e),s[n("0x46f7")]=r[n("0x46f7")](),s[n("0xf2c")]=a(e),s[n("0xdc5")]=i,s[n("0x3448")]=o,typeof r.init===n("0x3349")&&r[n("0xeed")](s),r[n("0x273e")].push(s),s}function i(){var e=t;const n=r[e("0x273e")][e("0x3507")](this);return-1!==n&&(r[e("0x273e")][e("0x2bcf")](n,1),!0)}function o(e,n){var a=t;const i=r(this[a("0x4939")]+(typeof n===a("0xc42")?":":n)+e);return i[a("0x10f3")]=this.log,i}function x(e){var n=t;return e[n("0x3c88")]()[n("0x35e7")](2,e[n("0x3c88")]()[n("0x5e9")]-2)[n("0x3cc0")](/\.\*\?$/,"*")}return r[t("0x3382")]=r,r[t("0x3993")]=r,r[t("0xe4d")]=function(e){var n=t;return e instanceof Error?e.stack||e[n("0x45ea")]:e},r[t("0x1f4d")]=function(){var e=t;const n=[...r[e("0x41c8")][e("0x19e8")](x),...r.skips[e("0x19e8")](x)[e("0x19e8")]((e=>"-"+e))][e("0xc60")](",");return r[e("0x1a33")](""),n},r[t("0x1a33")]=function(e){var n=t;let a;r[n("0x37e0")](e),r[n("0x41c8")]=[],r[n("0x42a4")]=[];const i=(typeof e===n("0x38b7")?e:"")[n("0x9e5")](/[\s,]+/),o=i.length;for(a=0;a<o;a++)i[a]&&("-"===(e=i[a][n("0x3cc0")](/\*/g,".*?"))[0]?r[n("0x42a4")][n("0x459a")](new RegExp("^"+e[n("0x39fa")](1)+"$")):r[n("0x41c8")].push(new RegExp("^"+e+"$")));for(a=0;a<r[n("0x273e")][n("0x5e9")];a++){const e=r[n("0x273e")][a];e.enabled=r[n("0x48b5")](e.namespace)}},r[t("0x48b5")]=function(e){var n=t;if("*"===e[e[n("0x5e9")]-1])return!0;let a,i;for(a=0,i=r[n("0x42a4")][n("0x5e9")];a<i;a++)if(r[n("0x42a4")][a].test(e))return!1;for(a=0,i=r.names.length;a<i;a++)if(r[n("0x41c8")][a][n("0x3ff3")](e))return!0;return!1},r[t("0xd85")]=n(7824),Object.keys(e)[t("0x5ba")]((t=>{r[t]=e[t]})),r[t("0x273e")]=[],r[t("0x41c8")]=[],r.skips=[],r[t("0x2d44")]={},r[t("0x2f0d")]=a,r[t("0x1a33")](r.load()),r}},4926:e=>{var t=_0x299160,n=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,a=[t("0x4aff"),t("0x427"),t("0xb49"),t("0x777"),t("0x3c64"),t("0x88"),t("0x4961"),t("0x23a4"),t("0x38d7"),t("0x1da4"),t("0x257a"),t("0x3ce9"),t("0x3829"),t("0x3703")];e[t("0x33f9")]=function(e){var r=t,i=e,o=e[r("0x3507")]("["),x=e.indexOf("]");-1!=o&&-1!=x&&(e=e.substring(0,o)+e[r("0x35e7")](o,x)[r("0x3cc0")](/:/g,";")+e.substring(x,e[r("0x5e9")]));for(var s,c,l,d,u,f,m=n.exec(e||""),b={},_=14;_--;)b[a[_]]=m[_]||"";return-1!=o&&-1!=x&&(b.source=i,b[r("0x4961")]=b[r("0x4961")][r("0x35e7")](1,b[r("0x4961")][r("0x5e9")]-1)[r("0x3cc0")](/;/g,":"),b[r("0xb49")]=b[r("0xb49")][r("0x3cc0")]("[","")[r("0x3cc0")]("]","").replace(/;/g,":"),b[r("0xe14")]=!0),b[r("0x37d0")]=(l=b[r("0x1da4")],d=t,u=/\/{2,9}/g,f=l.replace(u,"/")[d("0x9e5")]("/"),("/"==l.substr(0,1)||0===l[d("0x5e9")])&&f[d("0x2bcf")](0,1),"/"==l[d("0x39fa")](l[d("0x5e9")]-1,1)&&f[d("0x2bcf")](f.length-1,1),f),b[r("0x346e")]=(s=b[r("0x3829")],c={},s[t("0x3cc0")](/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(c[t]=n)})),c),b}},4383:(e,t,n)=>{var a=_0x299160;Object[a("0x47ad")](t,a("0x398d"),{value:!0}),t[a("0x19fe")]=t.deconstructPacket=void 0;const r=n(9608);function i(e,t){var n=a;if(!e)return e;if(r[n("0x2182")](e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array[n("0x498f")](e)){const a=new Array(e.length);for(let r=0;r<e[n("0x5e9")];r++)a[r]=i(e[r],t);return a}if(typeof e===n("0x1b1d")&&!(e instanceof Date)){const a={};for(const r in e)e[n("0x1bd4")](r)&&(a[r]=i(e[r],t));return a}return e}function o(e,t){var n=a;if(!e)return e;if(e&&e[n("0xe2f")])return t[e.num];if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=o(e[n],t);else if(typeof e===n("0x1b1d"))for(const a in e)e[n("0x1bd4")](a)&&(e[a]=o(e[a],t));return e}t[a("0x2223")]=function(e){var t=a;const n=[],r=e[t("0x237c")],o=e;return o[t("0x237c")]=i(r,n),o.attachments=n.length,{packet:o,buffers:n}},t[a("0x19fe")]=function(e,t){var n=a;return e[n("0x237c")]=o(e[n("0x237c")],t),e[n("0xbff")]=void 0,e}},4369:(e,t,n)=>{var a=_0x299160;Object.defineProperty(t,a("0x398d"),{value:!0}),t[a("0x231")]=t[a("0x1e5")]=t[a("0x2ad1")]=t[a("0x427")]=void 0;const r=n(8767),i=n(4383),o=n(9608),x=n(3669)(a("0x372b"));var s,c,l;t[a("0x427")]=5,(c=s=t[a("0x2ad1")]||(t[a("0x2ad1")]={}))[c[(l=a)("0x3958")]=0]="CONNECT",c[c[l("0x13fe")]=1]=l("0x13fe"),c[c.EVENT=2]=l("0x496c"),c[c[l("0x438a")]=3]=l("0x438a"),c[c[l("0x2e5a")]=4]=l("0x2e5a"),c[c[l("0xa2c")]=5]=l("0xa2c"),c[c[l("0x3268")]=6]=l("0x3268");class d{encode(e){var t=a;return x(t("0x3a23"),e),e[t("0x3298")]!==s[t("0x496c")]&&e[t("0x3298")]!==s.ACK||!o.hasBinary(e)?[this[t("0x36b8")](e)]:(e[t("0x3298")]=e[t("0x3298")]===s[t("0x496c")]?s[t("0xa2c")]:s[t("0x3268")],this[t("0x442f")](e))}[a("0x36b8")](e){var t=a;let n=""+e[t("0x3298")];return(e.type===s[t("0xa2c")]||e.type===s.BINARY_ACK)&&(n+=e[t("0xbff")]+"-"),e[t("0x88b")]&&"/"!==e.nsp&&(n+=e[t("0x88b")]+","),null!=e.id&&(n+=e.id),null!=e[t("0x237c")]&&(n+=JSON[t("0xcda")](e[t("0x237c")])),x("encoded %j as %s",e,n),n}encodeAsBinary(e){var t=a;const n=i.deconstructPacket(e),r=this[t("0x36b8")](n[t("0x27ab")]),o=n[t("0x4e4d")];return o[t("0x4e4a")](r),o}}t.Encoder=d;class u extends r{constructor(){super()}add(e){var t=a;let n;if(typeof e===t("0x38b7"))n=this[t("0x6ea")](e),n[t("0x3298")]===s[t("0xa2c")]||n[t("0x3298")]===s[t("0x3268")]?(this.reconstructor=new f(n),0===n[t("0xbff")]&&super[t("0xe39")]("decoded",n)):super.emit(t("0x36d4"),n);else{if(!o.isBinary(e)&&!e.base64)throw new Error(t("0x898")+e);if(!this[t("0x2901")])throw new Error(t("0x3d0e"));n=this[t("0x2901")][t("0x1054")](e),n&&(this[t("0x2901")]=null,super[t("0xe39")](t("0x36d4"),n))}}[a("0x6ea")](e){var t=a;let n=0;const r={type:Number(e.charAt(0))};if(void 0===s[r[t("0x3298")]])throw new Error(t("0x2660")+r[t("0x3298")]);if(r.type===s[t("0xa2c")]||r[t("0x3298")]===s[t("0x3268")]){const a=n+1;for(;"-"!==e[t("0x24de")](++n)&&n!=e[t("0x5e9")];);const i=e[t("0x35e7")](a,n);if(i!=Number(i)||"-"!==e.charAt(n))throw new Error(t("0x156d"));r[t("0xbff")]=Number(i)}if("/"===e[t("0x24de")](n+1)){const a=n+1;for(;++n;){if(","===e[t("0x24de")](n))break;if(n===e.length)break}r[t("0x88b")]=e[t("0x35e7")](a,n)}else r.nsp="/";const i=e[t("0x24de")](n+1);if(""!==i&&Number(i)==i){const a=n+1;for(;++n;){const a=e[t("0x24de")](n);if(null==a||Number(a)!=a){--n;break}if(n===e.length)break}r.id=Number(e[t("0x35e7")](a,n+1))}if(e[t("0x24de")](++n)){const i=function(e){var t=a;try{return JSON[t("0x1fb8")](e)}catch(e){return!1}}(e.substr(n));if(!u.isPayloadValid(r[t("0x3298")],i))throw new Error("invalid payload");r.data=i}return x(t("0xaa3"),e,r),r}static[a("0x329b")](e,t){var n=a;switch(e){case s[n("0x3958")]:return typeof t===n("0x1b1d");case s.DISCONNECT:return void 0===t;case s[n("0x2e5a")]:return"string"==typeof t||typeof t===n("0x1b1d");case s[n("0x496c")]:case s[n("0xa2c")]:return Array.isArray(t)&&"string"==typeof t[0];case s.ACK:case s[n("0x3268")]:return Array[n("0x498f")](t)}}destroy(){var e=a;this[e("0x2901")]&&this[e("0x2901")][e("0x3c43")]()}}t[a("0x231")]=u;class f{constructor(e){var t=a;this[t("0x27ab")]=e,this[t("0x4e4d")]=[],this.reconPack=e}takeBinaryData(e){var t=a;if(this[t("0x4e4d")][t("0x459a")](e),this.buffers[t("0x5e9")]===this[t("0x35d2")][t("0xbff")]){const e=i[t("0x19fe")](this[t("0x35d2")],this[t("0x4e4d")]);return this[t("0x3c43")](),e}return null}[a("0x3c43")](){var e=a;this[e("0x35d2")]=null,this[e("0x4e4d")]=[]}}},9608:(e,t)=>{var n=_0x299160;Object[n("0x47ad")](t,n("0x398d"),{value:!0}),t.hasBinary=t[n("0x2182")]=void 0;const a=typeof ArrayBuffer===n("0x3349"),r=Object[n("0x20f")][n("0x3c88")],i=typeof Blob===n("0x3349")||typeof Blob!==n("0xc42")&&r[n("0x3c6b")](Blob)===n("0x361"),o=typeof File===n("0x3349")||"undefined"!=typeof File&&r[n("0x3c6b")](File)===n("0x44eb");function x(e){return a&&(e instanceof ArrayBuffer||(t=e,r=n,typeof ArrayBuffer.isView===r("0x3349")?ArrayBuffer[r("0x1d1d")](t):t.buffer instanceof ArrayBuffer))||i&&e instanceof Blob||o&&e instanceof File;var t,r}t[n("0x2182")]=x,t[n("0x5ed")]=function e(t,a){var r=n;if(!t||typeof t!==r("0x1b1d"))return!1;if(Array[r("0x498f")](t)){for(let n=0,a=t[r("0x5e9")];n<a;n++)if(e(t[n]))return!0;return!1}if(x(t))return!0;if(t[r("0x27f8")]&&typeof t.toJSON===r("0x3349")&&1===arguments.length)return e(t[r("0x27f8")](),!0);for(const n in t)if(Object.prototype.hasOwnProperty[r("0x3c6b")](t,n)&&e(t[n]))return!0;return!1}},5615:(e,t,n)=>{var a=_0x299160;n(751)[a("0xca")]},5311:(e,t,n)=>{var a,r,i;void 0===(r=typeof(a=function(){var e=a2_0x37cf;if("undefined"==typeof window||!window[e("0x3afa")])return function(){throw new Error(e("0xbe7"))};var t,n,a,r,i,o,x,s,c,l,d,u,f,m,b,_,p,h,g,v,S,E,A,T,y,C,w,M,R=[],D=!1,I=!1,N=!1,O=[],k=!1,P=!1,L=[],F=/\s+/g,B="Sortable"+(new Date)[e("0x4dad")](),Y=window,G=Y[e("0x3afa")],H=Y[e("0x2b4d")],U=Y[e("0x1b5f")],$=Y[e("0x365a")]||Y[e("0xe46")],j=Y[e("0x2a71")],V={capture:!1,passive:!1},W=!!navigator[e("0x22fc")][e("0x2cd9")](/(?:Trident.*rv[ :]?11\.|msie|iemobile)/i),q=!!navigator[e("0x22fc")][e("0x2cd9")](/Edge/i),z=!!navigator[e("0x22fc")][e("0x2cd9")](/firefox/i),Q=!(!navigator[e("0x22fc")].match(/safari/i)||navigator[e("0x22fc")][e("0x2cd9")](/chrome/i)||navigator[e("0x22fc")][e("0x2cd9")](/android/i)),K=!!navigator.userAgent[e("0x2cd9")](/iP(ad|od|hone)/i),X=e(q||W?"0x3660":"0x3dfd"),J=e("0x472b")in G[e("0x4202")](e("0x4774")),Z=function(){var t=e;if(W)return!1;var n=G[t("0x4202")]("x");return n[t("0x4025")][t("0x3d0c")]=t("0x10e0"),n[t("0x4025")][t("0x23ef")]===t("0x15ac")}(),ee=!1,te=!1,ne=Math[e("0x681")],ae=Math.min,re=Math[e("0x242b")],ie=[],oe=function(t,n){var a=e,r=Ae(t),i=H(r[a("0xbbf")])-H(r[a("0x3cd")])-H(r[a("0x49ca")])-H(r[a("0x3f31")])-H(r[a("0x11d0")]),o=De(t,0,n),x=De(t,1,n),s=o&&Ae(o),c=x&&Ae(x),l=s&&H(s.marginLeft)+H(s.marginRight)+He(o)[a("0xbbf")],d=c&&H(c.marginLeft)+H(c[a("0x4e73")])+He(x)[a("0xbbf")];if("flex"===r[a("0x37b3")])return r.flexDirection===a("0x4cb6")||r[a("0x9b9")]===a("0x2c94")?a("0x40a3"):a("0x1377");if("grid"===r[a("0x37b3")])return r[a("0xd26")][a("0x9e5")](" ")[a("0x5e9")]<=1?a("0x40a3"):a("0x1377");if(o&&s.float!==a("0x2847")){var u="left"===s[a("0x3dfd")]?a("0x2885"):a("0x30eb");return!x||c[a("0x2066")]!==a("0x4ceb")&&c.clear!==u?"horizontal":a("0x40a3")}return o&&("block"===s[a("0x37b3")]||s[a("0x37b3")]===a("0x26f1")||s[a("0x37b3")]===a("0x37f3")||s.display===a("0x169b")||l>=i&&r[X]===a("0x2847")||x&&r[X]===a("0x2847")&&l+d>i)?a("0x40a3"):a("0x1377")},xe=function(t,n){var a=e;if(!t||!t[a("0x1a8b")])return se();var r=t,i=!1;do{if(r.clientWidth<r[a("0x3d33")]||r.clientHeight<r[a("0x2afd")]){var o=Ae(r);if(r[a("0x538")]<r[a("0x3d33")]&&("auto"==o[a("0x6db")]||"scroll"==o[a("0x6db")])||r[a("0x2838")]<r[a("0x2afd")]&&(o.overflowY==a("0x15ac")||o[a("0x635")]==a("0x3def"))){if(!r||!r.getBoundingClientRect||r===G[a("0x3b3e")])return se();if(i||n)return r;i=!0}}}while(r=r[a("0x368c")]);return se()},se=function(){var t=e;return W?G[t("0x4c17")]:G[t("0xdbf")]},ce=function(t,n,a){var r=e;t[r("0xc1")]+=n,t[r("0x1423")]+=a},le=Le((function(t,n,a,r){var i=e;if(n[i("0x3def")]){var o=a?a[B]:window,x=n.scrollSensitivity,d=n[i("0x18e2")],u=t[i("0x9f5")],f=t[i("0x1c24")],m=se(),b=!1;c!==a&&(de(),s=n[i("0x3def")],l=n[i("0x1ac5")],!0===s&&(s=xe(a,!0),c=s));var _=0,p=s;do{var h,g,v,E,A,T,y,C,w,M=p,I=He(M),N=I.top,O=I[i("0x47d9")],k=I[i("0x2885")],P=I.right,L=I.width,F=I[i("0x4e66")];if(h=M[i("0x3d33")],g=M[i("0x2afd")],v=Ae(M),C=M.scrollLeft,w=M[i("0x1423")],M===m?(T=L<h&&("auto"===v[i("0x6db")]||v[i("0x6db")]===i("0x3def")||v[i("0x6db")]===i("0x3b17")),y=F<g&&(v.overflowY===i("0x15ac")||v.overflowY===i("0x3def")||"visible"===v[i("0x635")])):(T=L<h&&("auto"===v[i("0x6db")]||v[i("0x6db")]===i("0x3def")),y=F<g&&(v[i("0x635")]===i("0x15ac")||v.overflowY===i("0x3def"))),E=T&&(ne(P-u)<=x&&C+L<h)-(ne(k-u)<=x&&!!C),A=y&&(ne(O-f)<=x&&w+F<g)-(ne(N-f)<=x&&!!w),!R[_])for(var Y=0;Y<=_;Y++)!R[Y]&&(R[Y]={});(R[_].vx!=E||R[_].vy!=A||R[_].el!==M)&&(R[_].el=M,R[_].vx=E,R[_].vy=A,clearInterval(R[_].pid),M&&(0!=E||0!=A)&&(b=!0,R[_].pid=setInterval(function(){var e=i;r&&0===this[e("0x11fe")]&&(he[e("0x48c8")][e("0x48f5")](!0),he[e("0x48c8")]._onTouchMove(S,!0));var n=R[this[e("0x11fe")]].vy?R[this.layer].vy*d:0,a=R[this[e("0x11fe")]].vx?R[this[e("0x11fe")]].vx*d:0;e("0x3349")===typeof l&&l[e("0x3c6b")](o,a,n,t,S,R[this[e("0x11fe")]].el)!==e("0x3dec")||ce(R[this[e("0x11fe")]].el,a,n)}.bind({layer:_}),24))),_++}while(n[i("0x2f32")]&&p!==m&&(p=xe(p,!1)));D=b}}),30),de=function(){var t=e;R[t("0x5ba")]((function(e){clearInterval(e[t("0x17f1")])})),R=[]},ue=function(t){var n=e;function a(e,t){return function(n,r,i,o){var x=a2_0x37cf,s=n.options[x("0x2b12")][x("0x98c")]&&r[x("0x16d1")].group[x("0x98c")]&&n[x("0x16d1")].group[x("0x98c")]===r.options.group[x("0x98c")];if(null==e&&(t||s))return!0;if(null==e||!1===e)return!1;if(t&&e===x("0x42df"))return e;if(typeof e===x("0x3349"))return a(e(n,r,i,o),t)(n,r,i,o);var c=(t?n:r).options.group[x("0x98c")];return!0===e||typeof e===x("0x38b7")&&e===c||e[x("0xc60")]&&e[x("0x3507")](c)>-1}}var r={},i=t[n("0x2b12")];(!i||"object"!=typeof i)&&(i={name:i}),r.name=i.name,r[n("0x272")]=a(i[n("0x3124")],!0),r[n("0x21a0")]=a(i[n("0x32f3")]),r[n("0xff1")]=i[n("0xff1")],t.group=r},fe=function(n){var a=e;t&&t[a("0x368c")]&&t[a("0x368c")][B]&&t[a("0x368c")][B][a("0x3c4f")](n)},me=function(){!Z&&a&&Ae(a,e("0x37b3"),"none")},be=function(){!Z&&a&&Ae(a,e("0x37b3"),"")};G[e("0x4944")](e("0x7cb"),(function(t){var n=e;if(N)return t[n("0xe50")](),t[n("0x4c98")]&&t.stopPropagation(),t.stopImmediatePropagation&&t[n("0x360b")](),N=!1,!1}),!0);var _e,pe=function(n){var a=e;if(t){var r=function(t,n){for(var a=e,r=0;r<O.length;r++)if(!Ie(O[r])){var i=He(O[r]),o=O[r][B][a("0x16d1")][a("0x474f")],x=t>=i[a("0x2885")]-o&&t<=i.right+o,s=n>=i[a("0x228a")]-o&&n<=i.bottom+o;if(o&&x&&s)return O[r]}}((n=n.touches?n.touches[0]:n)[a("0x9f5")],n[a("0x1c24")]);if(r){var i={};for(var o in n)i[o]=n[o];i[a("0x55d")]=i[a("0x94c")]=r,i[a("0xe50")]=void 0,i.stopPropagation=void 0,r[B][a("0x3dad")](i)}}};function he(t,n){var a=e;if(!t||!t[a("0x4879")]||1!==t[a("0x4879")])throw a("0x2fb")+{}[a("0x3c88")][a("0x3c6b")](t);this.el=t,this[a("0x16d1")]=n=Fe({},n),t[B]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0,draggable:/[uo]l/i.test(t[a("0x4907")])?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return oe(t,this[a("0x16d1")])},ghostClass:a("0x1801"),chosenClass:a("0x17f9"),dragClass:"sortable-drag",ignore:a("0x3846"),filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){var n=a;e[n("0x1869")](n("0x23d0"),t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:a("0x2a9e"),delay:0,delayOnTouchOnly:!1,touchStartThreshold:H(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:a("0x2073"),fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==he.supportPointer&&a("0x1513")in window,emptyInsertThreshold:5};for(var i in r)!(i in n)&&(n[i]=r[i]);for(var o in ue(n),this)"_"===o[a("0x24de")](0)&&typeof this[o]===a("0x3349")&&(this[o]=this[o][a("0x2b0c")](this));this.nativeDraggable=!n[a("0x407f")]&&J,this[a("0x2659")]&&(this.options[a("0x1bdf")]=1),n.supportPointer?ve(t,a("0x12ff"),this._onTapStart):(ve(t,a("0x4a2b"),this[a("0x38c0")]),ve(t,a("0x2198"),this._onTapStart)),this[a("0x2659")]&&(ve(t,a("0x15f4"),this),ve(t,a("0x4029"),this)),O[a("0x459a")](this.el),n[a("0x3074")]&&n[a("0x3074")][a("0x1cf")]&&this[a("0x4d63")](n.store[a("0x1cf")](this)||[])}function ge(t,n,a,r){if(t){a=a||G;do{if(null!=n&&(">"===n[0]?t.parentNode===a&&Pe(t,n):Pe(t,n))||r&&t===a)return t;if(t===a)break}while(o=void 0,t=(i=t)[(o=e)("0x4961")]&&i!==G&&i[o("0x4961")][o("0x4879")]?i[o("0x4961")]:i[o("0x368c")])}var i,o;return null}function ve(t,n,a){t[e("0x4944")](n,a,!W&&V)}function Se(t,n,a){t[e("0x4b59")](n,a,!W&&V)}function Ee(t,n,a){var r=e;if(t&&n)if(t[r("0x1e2d")])t[r("0x1e2d")][a?"add":r("0xf82")](n);else{var i=(" "+t[r("0x14a8")]+" ")[r("0x3cc0")](F," ")[r("0x3cc0")](" "+n+" "," ");t.className=(i+(a?" "+n:""))[r("0x3cc0")](F," ")}}function Ae(t,n,a){var r=e,i=t&&t[r("0x4025")];if(i){if(void 0===a)return G[r("0x4462")]&&G[r("0x4462")][r("0x2b64")]?a=G[r("0x4462")][r("0x2b64")](t,""):t[r("0xa6b")]&&(a=t[r("0xa6b")]),void 0===n?a:a[n];!(n in i)&&-1===n.indexOf("webkit")&&(n=r("0x4dc9")+n),i[n]=a+(typeof a===r("0x38b7")?"":"px")}}function Te(t){var n=e,a="";do{var r=Ae(t,n("0x3c4"));r&&r!==n("0x2847")&&(a=r+" "+a)}while(t=t[n("0x368c")]);return window.DOMMatrix?new DOMMatrix(a):window[n("0x73d")]?new WebKitCSSMatrix(a):window.CSSMatrix?new CSSMatrix(a):void 0}function ye(t,n,a){var r=e;if(t){var i=t[r("0x3684")](n),o=0,x=i[r("0x5e9")];if(a)for(;o<x;o++)a(i[o],o);return i}return[]}function Ce(t,n,a,i,o,x,s,c,l,d,u){var f,m=e,b=(t=t||n[B])[m("0x16d1")],p="on"+a.charAt(0)[m("0x110")]()+a[m("0x39fa")](1);!window[m("0x4cd7")]||W||q?(f=G.createEvent(m("0x3d50")))[m("0x9d8")](a,!0,!0):f=new CustomEvent(a,{bubbles:!0,cancelable:!0}),f.to=o||n,f[m("0x3121")]=x||n,f[m("0x17a9")]=i||n,f[m("0x42df")]=r,f.oldIndex=s,f[m("0x2170")]=c,f[m("0x1d4")]=l,f[m("0x6c7")]=d,f[m("0x2154")]=u,f[m("0x2dd6")]=_?_.lastPutMode:void 0,n&&n.dispatchEvent(f),b[p]&&b[p].call(t,f)}function we(t,n,a,r,i,o,x,s){var c,l,d=e,u=t[B],f=u[d("0x16d1")][d("0x822")];return!window[d("0x4cd7")]||W||q?(c=G[d("0xdcb")](d("0x3d50"))).initEvent("move",!0,!0):c=new CustomEvent(d("0x1ff3"),{bubbles:!0,cancelable:!0}),c.to=n,c[d("0x3121")]=t,c.dragged=a,c[d("0x2626")]=r,c[d("0x47ca")]=i||n,c.relatedRect=o||He(n),c[d("0x361f")]=s,c[d("0x2154")]=x,t[d("0x4afc")](c),f&&(l=f[d("0x3c6b")](u,c,x)),l}function Me(t){t[e("0x472b")]=!1}function Re(){ee=!1}function De(n,r,i){for(var o=e,x=0,s=0,c=n[o("0x71b")];s<c[o("0x5e9")];){if("none"!==c[s][o("0x4025")].display&&c[s]!==a&&c[s]!==t&&ge(c[s],i[o("0x472b")],n,!1)){if(x===r)return c[s];x++}s++}return null}function Ie(t){for(var n=e,r=t[n("0x3685")];r&&(r===a||Ae(r,n("0x37b3"))===n("0x2847"));)r=r[n("0x1f71")];return r||null}function Ne(e){return ke(t)<ke(e)?1:-1}function Oe(t){for(var n=e,a=t[n("0x4d74")]+t[n("0x14a8")]+t[n("0x21d6")]+t.href+t[n("0x12ee")],r=a[n("0x5e9")],i=0;r--;)i+=a[n("0x11df")](r);return i.toString(36)}function ke(t,n){var a=e,i=0;if(!t||!t.parentNode)return-1;for(;t&&(t=t[a("0x1f71")]);)t[a("0x4907")].toUpperCase()!==a("0x2534")&&t!==r&&(!n||Pe(t,n))&&i++;return i}function Pe(t,n){var a=e;if(n){if(">"===n[0]&&(n=n[a("0x35e7")](1)),t)try{if(t[a("0x3c01")])return t.matches(n);if(t.msMatchesSelector)return t[a("0x1e5f")](n);if(t[a("0x46d8")])return t[a("0x46d8")](n)}catch(e){return!1}return!1}}function Le(e,t){return function(){if(!_e){var n=arguments,a=this;_e=U((function(){var t=a2_0x37cf;1===n[t("0x5e9")]?e[t("0x3c6b")](a,n[0]):e.apply(a,n),_e=void 0}),t)}}}function Fe(t,n){var a=e;if(t&&n)for(var r in n)n[a("0x1bd4")](r)&&(t[r]=n[r]);return t}function Be(t){var n=e;return j&&j.dom?j[n("0x1c30")](t)[n("0x3e91")](!0):$?$(t)[n("0x42df")](!0)[0]:t.cloneNode(!0)}function Ye(e){return U(e,0)}function Ge(e){return clearTimeout(e)}function He(t,n,a,r){var i=e;if(t[i("0x1a8b")]||t===Y){var o,x,s,c,l,d,u;if(t!==Y&&t!==se()?(x=(o=t.getBoundingClientRect())[i("0x228a")],s=o[i("0x2885")],c=o[i("0x47d9")],l=o.right,d=o[i("0x4e66")],u=o[i("0xbbf")]):(x=0,s=0,c=window[i("0x4b6b")],l=window[i("0x105d")],d=window.innerHeight,u=window[i("0x105d")]),r&&t!==Y&&(a=a||t[i("0x368c")],!W))do{if(a&&a[i("0x1a8b")]&&Ae(a,i("0x3c4"))!==i("0x2847")){var f=a[i("0x1a8b")]();x-=f[i("0x228a")]+H(Ae(a,"border-top-width")),s-=f[i("0x2885")]+H(Ae(a,i("0x2794"))),c=x+o[i("0x4e66")],l=s+o.width;break}}while(a=a[i("0x368c")]);if(n&&t!==Y){var m=Te(a||t),b=m&&m.a,_=m&&m.d;m&&(c=(x/=_)+(d/=_),l=(s/=b)+(u/=b))}return{top:x,left:s,bottom:c,right:l,width:u,height:d}}}function Ue(t,n){for(var a=e,r=xe(t,!0),i=He(t)[n];r;){var o=He(r)[n];if(!(n===a("0x228a")||n===a("0x2885")?i>=o:i<=o))return r;if(r===se())break;r=xe(r,!1)}return!1}function $e(t){var n=e,a=0,r=0,i=se();if(t)do{var o=Te(t),x=o.a,s=o.d;a+=t[n("0xc1")]*x,r+=t[n("0x1423")]*s}while(t!==i&&(t=t[n("0x368c")]));return[a,r]}return he[e("0x20f")]={constructor:he,_computeIsAligned:function(n){var r,i=e;if(a&&!Z?(me(),r=G[i("0x1fce")](n.clientX,n[i("0x1c24")]),be()):r=n[i("0x55d")],r=ge(r,this[i("0x16d1")][i("0x472b")],this.el,!1),!te&&t&&t[i("0x368c")]===this.el){for(var o,x,s,c,l,d,u,f,m,b=this.el[i("0x71b")],_=0;_<b[i("0x5e9")];_++)ge(b[_],this[i("0x16d1")].draggable,this.el,!1)&&b[_]!==r&&(b[_].sortableMouseAligned=(o=n[i("0x9f5")],x=n[i("0x1c24")],s=b[_],c=this[i("0x1f9d")](n,null),this[i("0x16d1")],l=void 0,d=void 0,u=void 0,f=void 0,m=void 0,l=e,d=He(s),u=c===l("0x40a3")?d[l("0x2885")]:d[l("0x228a")],f=c===l("0x40a3")?d[l("0x30eb")]:d[l("0x47d9")],m=c===l("0x40a3")?o:x,u<m&&m<f));!ge(r,this[i("0x16d1")][i("0x472b")],this.el,!0)&&(A=null),te=!0,U((function(){te=!1}),30)}},_getDirection:function(n,a){var r=e;return typeof this[r("0x16d1")].direction===r("0x3349")?this.options[r("0xb72")].call(this,n,a,t):this[r("0x16d1")][r("0xb72")]},_onTapStart:function(n){var a=e;if(n[a("0xb9d")]){var r,i,o=this,s=this.el,c=this[a("0x16d1")],l=c[a("0x10cb")],d=n[a("0x3298")],u=n[a("0x4d33")]&&n[a("0x4d33")][0],f=(u||n).target,m=n.target[a("0x2275")]&&(n.path&&n[a("0x1da4")][0]||n[a("0x55f")]&&n.composedPath()[0])||f,b=c.filter;if(function(t){var n=e;ie[n("0x5e9")]=0;for(var a=t.getElementsByTagName("input"),r=a[n("0x5e9")];r--;){var i=a[r];i.checked&&ie.push(i)}}(s),!t&&!(/mousedown|pointerdown/.test(d)&&0!==n.button||c[a("0x1c54")]||m[a("0x240a")]||(f=ge(f,c[a("0x472b")],s,!1),x===f))){if(r=ke(f),i=ke(f,c.draggable),"function"==typeof b){if(b.call(this,n,f,this))return Ce(o,m,a("0x6a6"),f,s,s,r,void 0,i),void(l&&n[a("0xb9d")]&&n.preventDefault())}else if(b&&(b=b.split(",")[a("0x906")]((function(e){var t=a;if(e=ge(m,e[t("0x2dc4")](),s,!1))return Ce(o,e,t("0x6a6"),f,s,s,r,void 0,i),!0}))))return void(l&&n.cancelable&&n[a("0xe50")]());c[a("0x4757")]&&!ge(m,c[a("0x4757")],s,!1)||this._prepareDragStart(n,u,f,r,i)}}},_handleAutoScroll:function(n,a){var r=e;if(t&&this[r("0x16d1")].scroll){var i=n[r("0x9f5")],o=n[r("0x1c24")],x=G[r("0x1fce")](i,o),s=this;if(a||q||W||Q){le(n,s[r("0x16d1")],x,a);var c=xe(x,!0);D&&(!p||i!==h||o!==g)&&(p&&clearInterval(p),p=setInterval((function(){var e=r;if(t){var x=xe(G.elementFromPoint(i,o),!0);x!==c&&(c=x,de(),le(n,s[e("0x16d1")],c,a))}}),10),h=i,g=o)}else{if(!s[r("0x16d1")][r("0x2f32")]||xe(x,!0)===se())return void de();le(n,s[r("0x16d1")],xe(x,!1),!1)}}},_prepareDragStart:function(a,r,s,c,l){var u,m=e,_=this,p=_.el,h=_[m("0x16d1")],g=p[m("0x716")];s&&!t&&s[m("0x368c")]===p&&(i=p,n=(t=s)[m("0x368c")],o=t[m("0x1681")],x=s,b=h[m("0x2b12")],d=c,f=l,v={target:t,clientX:(r||a)[m("0x9f5")],clientY:(r||a).clientY},this[m("0x47a6")]=(r||a).clientX,this[m("0x93c")]=(r||a)[m("0x1c24")],t.style["will-change"]=m("0x3217"),t.style.transition="",t.style.transform="",u=function(){var e=m;_._disableDelayedDragEvents(),!z&&_[e("0x2659")]&&(t[e("0x472b")]=!0),_[e("0x899")](a,r),Ce(_,i,e("0x3af9"),t,i,i,d,void 0,f),Ee(t,h[e("0x4637")],!0)},h[m("0x2da")].split(",")[m("0x5ba")]((function(e){ye(t,e[m("0x2dc4")](),Me)})),ve(g,m("0x15f4"),pe),ve(g,"mousemove",pe),ve(g,m("0x4a1a"),pe),ve(g,"mouseup",_[m("0x2ad0")]),ve(g,m("0x1342"),_[m("0x2ad0")]),ve(g,m("0x2de1"),_[m("0x2ad0")]),z&&this[m("0x2659")]&&(this[m("0x16d1")][m("0x1bdf")]=4,t[m("0x472b")]=!0),!h[m("0x381")]||h.delayOnTouchOnly&&!r||this.nativeDraggable&&(q||W)?u():(ve(g,"mouseup",_[m("0x12ab")]),ve(g,m("0x1342"),_[m("0x12ab")]),ve(g,"touchcancel",_[m("0x12ab")]),ve(g,m("0x285a"),_[m("0x4f67")]),ve(g,m("0x4a1a"),_._delayedDragTouchMoveHandler),h.supportPointer&&ve(g,"pointermove",_[m("0x4f67")]),_[m("0x2552")]=U(u,h[m("0x381")])))},_delayedDragTouchMoveHandler:function(t){var n=e,a=t[n("0x4d33")]?t[n("0x4d33")][0]:t;re(ne(a[n("0x9f5")]-this[n("0x47a6")]),ne(a.clientY-this[n("0x93c")]))>=Math[n("0x4184")](this[n("0x16d1")][n("0x1bdf")]/(this[n("0x2659")]&&window.devicePixelRatio||1))&&this[n("0x12ab")]()},_disableDelayedDrag:function(){var n=e;t&&Me(t),clearTimeout(this[n("0x2552")]),this[n("0x125e")]()},_disableDelayedDragEvents:function(){var t=e,n=this.el.ownerDocument;Se(n,t("0x1f"),this[t("0x12ab")]),Se(n,t("0x1342"),this._disableDelayedDrag),Se(n,t("0x2de1"),this._disableDelayedDrag),Se(n,"mousemove",this._delayedDragTouchMoveHandler),Se(n,t("0x4a1a"),this[t("0x4f67")]),Se(n,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(n,a){var r=e;a=a||(n[r("0x4f93")]==r("0x39ed")?n:null),!this[r("0x2659")]||a?this[r("0x16d1")][r("0xd88")]?ve(G,"pointermove",this[r("0x1e8")]):a?ve(G,r("0x4a1a"),this[r("0x1e8")]):ve(G,"mousemove",this._onTouchMove):(ve(t,r("0x4fd4"),this),ve(i,r("0x2681"),this[r("0x1492")]));try{G[r("0x1b21")]?Ye((function(){G[r("0x1b21")].empty()})):window[r("0x2de6")]().removeAllRanges()}catch(e){}},_dragStarted:function(n,a){var r=e;if(I=!1,i&&t){this[r("0x2659")]&&(ve(G,r("0x15f4"),this[r("0x38de")]),ve(G,r("0x15f4"),fe));var o=this.options;!n&&Ee(t,o[r("0x7df")],!1),Ee(t,o.ghostClass,!0),Ae(t,r("0x3c4"),""),he[r("0x48c8")]=this,n&&this[r("0x2334")](),Ce(this,i,r("0x1023"),t,i,i,d,void 0,f,void 0,a)}else this[r("0x2adf")]()},_emulateDragOver:function(n){var a=e;if(S){if(this._lastX===S[a("0x9f5")]&&this[a("0x93c")]===S[a("0x1c24")]&&!n)return;this._lastX=S.clientX,this[a("0x93c")]=S.clientY,me();for(var r=G[a("0x1fce")](S[a("0x9f5")],S[a("0x1c24")]),i=r;r&&r[a("0x2275")]&&(r=r[a("0x2275")].elementFromPoint(S[a("0x9f5")],S[a("0x1c24")]))!==i;)i=r;if(i)do{if(i[B]&&i[B][a("0x3dad")]({clientX:S[a("0x9f5")],clientY:S[a("0x1c24")],target:r,rootEl:i})&&!this[a("0x16d1")].dragoverBubble)break;r=i}while(i=i[a("0x368c")]);t[a("0x368c")][B][a("0x3c4f")](S),be()}},_onTouchMove:function(t,n){var r=e;if(v){var i=this[r("0x16d1")],o=i[r("0x36ad")],x=i.fallbackOffset,s=t[r("0x4d33")]?t[r("0x4d33")][0]:t,c=a&&Te(a),l=a&&c&&c.a,d=a&&c&&c.d,u=K&&w&&$e(w),f=(s[r("0x9f5")]-v[r("0x9f5")]+x.x)/(l||1)+(u?u[0]-L[0]:0)/(l||1),m=(s[r("0x1c24")]-v[r("0x1c24")]+x.y)/(d||1)+(u?u[1]-L[1]:0)/(d||1),b=t[r("0x4d33")]?r("0x22e")+f+"px,"+m+r("0x43be"):"translate("+f+"px,"+m+r("0x1073");if(!he[r("0x48c8")]&&!I){if(o&&ae(ne(s[r("0x9f5")]-this[r("0x47a6")]),ne(s.clientY-this[r("0x93c")]))<o)return;this[r("0x1492")](t,!0)}!n&&this[r("0x38de")](s,!0),E=!0,S=s,Ae(a,r("0x25c5"),b),Ae(a,"mozTransform",b),Ae(a,"msTransform",b),Ae(a,r("0x3c4"),b),t[r("0xb9d")]&&t[r("0xe50")]()}},_appendGhost:function(){var n=e;if(!a){var r=this[n("0x16d1")].fallbackOnBody?G[n("0x3b3e")]:i,o=He(t,!0,r,!K),x=(Ae(t),this[n("0x16d1")]);if(K){for(w=r;Ae(w,n("0x342c"))===n("0x2704")&&"none"===Ae(w,"transform")&&w!==G;)w=w[n("0x368c")];if(w!==G){var s=He(w,!0);o[n("0x228a")]-=s[n("0x228a")],o[n("0x2885")]-=s[n("0x2885")]}w!==G[n("0x3b3e")]&&w!==G[n("0x4c17")]?(w===G&&(w=se()),o[n("0x228a")]+=w.scrollTop,o[n("0x2885")]+=w[n("0xc1")]):w=se(),L=$e(w)}Ee(a=t[n("0x3e91")](!0),x[n("0x2ebb")],!1),Ee(a,x[n("0x34e3")],!0),Ee(a,x[n("0x7df")],!0),Ae(a,n("0x357a"),n("0x4aa5")),Ae(a,"margin",0),Ae(a,"top",o.top),Ae(a,n("0x2885"),o[n("0x2885")]),Ae(a,"width",o[n("0xbbf")]),Ae(a,n("0x4e66"),o.height),Ae(a,n("0x47e0"),n("0x3b71")),Ae(a,n("0x342c"),n(K?"0xc1a":"0x2e56")),Ae(a,"zIndex",n("0x691")),Ae(a,"pointerEvents",n("0x2847")),r[n("0x4238")](a)}},_onDragStart:function(n,a){var o=e,x=this,s=n[o("0x4d6b")],c=x.options;(r=Be(t)).draggable=!1,r[o("0x4025")][o("0x2b9b")]="",this[o("0x17b3")](),Ee(r,x.options.chosenClass,!1),x[o("0x348f")]=Ye((function(){var e=o;!x.options[e("0x374f")]&&i[e("0x1437")](r,t),Ce(x,i,e("0x42df"),t)})),!a&&Ee(t,c[o("0x7df")],!0),a?(N=!0,x[o("0x2830")]=setInterval(x[o("0x48f5")],50)):(Se(G,o("0x1f"),x[o("0x2ad0")]),Se(G,o("0x1342"),x[o("0x2ad0")]),Se(G,"touchcancel",x[o("0x2ad0")]),s&&(s[o("0x295e")]=o("0x1ff3"),c.setData&&c[o("0x1869")][o("0x3c6b")](x,s,t)),ve(G,o("0x4faf"),x),Ae(t,o("0x3c4"),"translateZ(0)")),I=!0,x[o("0x2359")]=Ye(x[o("0x197e")][o("0x2b0c")](x,a,n)),ve(G,o("0x1192"),x),Q&&Ae(G.body,o("0x295c"),o("0x2847"))},_onDragOver:function(a){var r,x,s,c=e,l=this.el,u=a[c("0x55d")],m=this[c("0x16d1")],p=m.group,h=he.active,g=b===p,v=m[c("0x4d63")],S=this;if(!ee){if(void 0!==a[c("0xe50")]&&a[c("0xb9d")]&&a[c("0xe50")](),E=!0,u=ge(u,m[c("0x472b")],l,!0),t[c("0x2a10")](a[c("0x55d")])||u[c("0x1ccb")])return ve(!1);if(u!==t&&(N=!1),h&&!m[c("0x1c54")]&&(g?v||(s=!i.contains(t)):_===this||(this[c("0x221d")]=b.checkPull(this,h,t,a))&&p[c("0x21a0")](this,h,t,a))){var w=this._getDirection(a,u);if(r=He(t),s)return this[c("0x17b3")](),n=i,o?i[c("0x1437")](t,o):i[c("0x4238")](t),ve(!0);var R=Ie(l);if(R&&(oe=a,xe=w,se=e,le=He(Ie(l)),de=xe===se("0x40a3")?oe[se("0x1c24")]:oe[se("0x9f5")],ue="vertical"===xe?oe.clientX:oe[se("0x1c24")],fe=xe===se("0x40a3")?le[se("0x47d9")]:le[se("0x30eb")],me=xe===se("0x40a3")?le.left:le[se("0x228a")],be="vertical"===xe?le.right:le[se("0x47d9")],_e=10,!(xe===se("0x40a3")?ue>be+_e||ue<=be&&de>fe&&ue>=me:de>fe&&ue>me||de<=fe&&ue>be+_e)||R[c("0x1ccb")])){if(u&&u!==t&&u[c("0x368c")]===l){var D,I=0,O=u[c("0x2ca6")],L=t[c("0x368c")]!==l,F=w===c("0x40a3")?c("0x228a"):c("0x2885"),Y=Ue(u,c("0x228a"))||Ue(t,"top"),H=Y?Y.scrollTop:void 0;if(A!==u&&(y=null,D=He(u)[F],k=!1),q=u,z=w,Q=e,K=(W=t)===t&&M||He(W),X=q===t&&M||He(q),J=z===Q("0x40a3")?K[Q("0x2885")]:K[Q("0x228a")],Z=z===Q("0x40a3")?K[Q("0x30eb")]:K[Q("0x47d9")],te=z===Q("0x40a3")?K.width:K.height,ae=z===Q("0x40a3")?X.left:X[Q("0x228a")],re="vertical"===z?X[Q("0x30eb")]:X[Q("0x47d9")],ie=z===Q("0x40a3")?X.width:X.height,(J===ae||Z===re||J+te/2===ae+ie/2)&&O||L||Y||m[c("0x2a78")]||y===c("0x10e3")||"swap"===y?(y!==c("0x3643")&&(P=m[c("0x2a78")]||L),I=function(n,a,r,i,o,x,s){var c=e,l=He(a),d=r===c("0x40a3")?n[c("0x1c24")]:n[c("0x9f5")],u=r===c("0x40a3")?l[c("0x4e66")]:l[c("0xbbf")],f=r===c("0x40a3")?l[c("0x228a")]:l[c("0x2885")],m="vertical"===r?l[c("0x47d9")]:l[c("0x30eb")],b=He(t),_=!1;if(!x)if(s&&C<u*i){if(!k&&(1===T?d>f+u*o/2:d<m-u*o/2)&&(k=!0),k)_=!0;else if("vertical"===r?b[c("0x228a")]:b[c("0x2885")],"vertical"===r?b[c("0x47d9")]:b[c("0x30eb")],1===T?d<f+C:d>m-C)return-1*T}else if(d>f+u*(1-i)/2&&d<m-u*(1-i)/2)return Ne(a);return(_=_||x)&&(d<f+u*o/2||d>m-u*o/2)?d>f+u/2?1:-1:0}(a,u,w,m[c("0x26b2")],null==m[c("0x474d")]?m[c("0x26b2")]:m.invertedSwapThreshold,P,A===u),y=c("0x3643")):(I=Ne(u),y="insert"),0===I)return ve(!1);M=null,A=u,T=I,x=He(u);var $=u[c("0x3207")],j=!1,V=we(i,l,t,r,u,x,a,j=1===I);if(!1!==V)return(1===V||-1===V)&&(j=1===V),ee=!0,U(Re,30),g?h[c("0x17b3")]():h[c("0x35cf")](this),j&&!$?l.appendChild(t):u.parentNode[c("0x1437")](t,j?$:u),Y&&ce(Y,0,H-Y.scrollTop),n=t[c("0x368c")],void 0!==D&&!P&&(C=ne(D-He(u)[F])),Se(),ve(!0)}}else if(R&&l===a[c("0x55d")]&&(u=R),u&&(x=He(u)),g?h._hideClone():h[c("0x35cf")](this),!1!==we(i,l,t,r,u,x,a,!!u))return l[c("0x4238")](t),n=l,M=null,Se(),ve(!0);if(l.contains(t))return ve(!1)}var W,q,z,Q,K,X,J,Z,te,ae,re,ie,oe,xe,se,le,de,ue,fe,me,be,_e;return!1}function ve(e){var n=c;return e&&(g?h[n("0x17b3")]():h._showClone(S),h&&(Ee(t,_?_[n("0x16d1")][n("0x2ebb")]:h.options[n("0x2ebb")],!1),Ee(t,m[n("0x2ebb")],!0)),_!==S&&S!==he[n("0x48c8")]?_=S:S===he[n("0x48c8")]&&(_=null),r&&S[n("0x105e")](r,t),u&&x&&S[n("0x105e")](x,u)),(u===t&&!t[n("0x1ccb")]||u===l&&!u[n("0x1ccb")])&&(A=null),!m[n("0x1bd2")]&&!a.rootEl&&u!==G&&(S[n("0x38de")](a),t[n("0x368c")][B][n("0x3c4f")](a),!e&&pe(a)),!m[n("0x1bd2")]&&a[n("0x4c98")]&&a[n("0x4c98")](),!0}function Se(){var e=c;Ce(S,i,e("0x18dd"),u,l,i,d,ke(t),f,ke(t,m[e("0x472b")]),a)}},_animate:function(n,a){var r=e,i=this[r("0x16d1")][r("0x2f73")];if(i){var o=He(a);if(a===t&&(M=o),1===n[r("0x4879")]&&(n=He(n)),n[r("0x2885")]+n[r("0xbbf")]/2!==o[r("0x2885")]+o.width/2||n[r("0x228a")]+n.height/2!==o[r("0x228a")]+o.height/2){var x=Te(this.el),s=x&&x.a,c=x&&x.d;Ae(a,r("0x2f61"),"none"),Ae(a,r("0x3c4"),r("0x22e")+(n[r("0x2885")]-o[r("0x2885")])/(s||1)+r("0x4540")+(n[r("0x228a")]-o[r("0x228a")])/(c||1)+r("0x43be")),this[r("0x1536")](a),Ae(a,"transition",r("0x333d")+i+"ms"+(this[r("0x16d1")][r("0x1a8f")]?" "+this[r("0x16d1")][r("0x1a8f")]:"")),Ae(a,r("0x3c4"),r("0x4985"))}typeof a[r("0x1ccb")]===r("0x2231")&&clearTimeout(a[r("0x1ccb")]),a[r("0x1ccb")]=U((function(){var e=r;Ae(a,e("0x2f61"),""),Ae(a,e("0x3c4"),""),a[e("0x1ccb")]=!1}),i)}},_repaint:function(t){return t[e("0xe76")]},_offMoveEvents:function(){var t=e;Se(G,"touchmove",this[t("0x1e8")]),Se(G,"pointermove",this[t("0x1e8")]),Se(G,t("0x15f4"),pe),Se(G,t("0x285a"),pe),Se(G,t("0x4a1a"),pe)},_offUpEvents:function(){var t=e,n=this.el.ownerDocument;Se(n,t("0x1f"),this[t("0x2ad0")]),Se(n,t("0x1342"),this[t("0x2ad0")]),Se(n,t("0x1fc7"),this._onDrop),Se(n,t("0x2de1"),this._onDrop),Se(G,"selectstart",this)},_onDrop:function(x){var s=e,c=this.el,l=this[s("0x16d1")];I=!1,D=!1,P=!1,k=!1,clearInterval(this[s("0x2830")]),clearInterval(p),de(),clearTimeout(_e),_e=void 0,clearTimeout(this[s("0x2552")]),Ge(this._cloneId),Ge(this._dragStartId),Se(G,s("0x285a"),this[s("0x1e8")]),this[s("0x2659")]&&(Se(G,s("0x4faf"),this),Se(c,s("0x2681"),this[s("0x1492")]),Se(G,"dragover",this[s("0x38de")]),Se(G,s("0x15f4"),fe)),Q&&Ae(G.body,s("0x295c"),""),this[s("0x1289")](),this._offUpEvents(),x&&(E&&(x[s("0xb9d")]&&x[s("0xe50")](),!l.dropBubble&&x[s("0x4c98")]()),a&&a[s("0x368c")]&&a[s("0x368c")][s("0xffd")](a),(i===n||_&&_[s("0x221d")]!==s("0x42df"))&&r&&r[s("0x368c")]&&r[s("0x368c")].removeChild(r),t&&(this[s("0x2659")]&&Se(t,s("0x4fd4"),this),Me(t),t[s("0x4025")][s("0x2b9b")]="",Ee(t,_?_[s("0x16d1")][s("0x2ebb")]:this[s("0x16d1")].ghostClass,!1),Ee(t,this[s("0x16d1")][s("0x4637")],!1),Ce(this,i,s("0x2f99"),t,n,i,d,null,f,null,x),i!==n?(u=ke(t),m=ke(t,l[s("0x472b")]),u>=0&&(Ce(null,n,s("0x2d6e"),t,n,i,d,u,f,m,x),Ce(this,i,s("0xf82"),t,n,i,d,u,f,m,x),Ce(null,n,"sort",t,n,i,d,u,f,m,x),Ce(this,i,s("0x4d63"),t,n,i,d,u,f,m,x)),_&&_.save()):t.nextSibling!==o&&(u=ke(t),m=ke(t,l[s("0x472b")]),u>=0&&(Ce(this,i,s("0x3fdc"),t,n,i,d,u,f,m,x),Ce(this,i,"sort",t,n,i,d,u,f,m,x))),he[s("0x48c8")]&&((null==u||-1===u)&&(u=d,m=f),Ce(this,i,"end",t,n,i,d,u,f,m,x),this[s("0x37e0")]()))),this._nulling()},_nulling:function(){var l=e;i=t=n=a=o=r=x=s=c=R.length=p=h=g=v=S=E=u=d=A=T=M=_=b=he[l("0x48c8")]=null,ie[l("0x5ba")]((function(e){e[l("0x218b")]=!0})),ie.length=0},handleEvent:function(n){var a,r,i=e;switch(n[i("0x3298")]){case i("0x4faf"):case i("0x4fd4"):this[i("0x2ad0")](n);break;case i("0x4029"):case"dragover":t&&(this[i("0x3dad")](n),(a=n)[(r=e)("0x4d6b")]&&(a[r("0x4d6b")][r("0xcbd")]="move"),a.cancelable&&a[r("0xe50")]());break;case i("0x1192"):n.preventDefault()}},toArray:function(){for(var t,n=e,a=[],r=this.el[n("0x71b")],i=0,o=r[n("0x5e9")],x=this[n("0x16d1")];i<o;i++)ge(t=r[i],x[n("0x472b")],this.el,!1)&&a[n("0x459a")](t[n("0x22b9")](x.dataIdAttr)||Oe(t));return a},sort:function(t){var n=e,a={},r=this.el;this[n("0x486")]().forEach((function(e,t){var i=n,o=r[i("0x71b")][t];ge(o,this[i("0x16d1")][i("0x472b")],r,!1)&&(a[e]=o)}),this),t.forEach((function(e){a[e]&&(r.removeChild(a[e]),r.appendChild(a[e]))}))},save:function(){var t=e,n=this.options[t("0x3074")];n&&n[t("0x6e6")]&&n[t("0x6e6")](this)},closest:function(t,n){var a=e;return ge(t,n||this[a("0x16d1")][a("0x472b")],this.el,!1)},option:function(t,n){var a=e,r=this[a("0x16d1")];if(void 0===n)return r[t];r[t]=n,t===a("0x2b12")&&ue(r)},destroy:function(){var t=e,n=this.el;n[B]=null,Se(n,t("0x4a2b"),this[t("0x38c0")]),Se(n,t("0x2198"),this[t("0x38c0")]),Se(n,t("0x12ff"),this[t("0x38c0")]),this.nativeDraggable&&(Se(n,"dragover",this),Se(n,"dragenter",this)),Array[t("0x20f")][t("0x5ba")][t("0x3c6b")](n[t("0x1e72")](t("0x3e66")),(function(e){var n=t;e[n("0x25b3")](n("0x472b"))})),this[t("0x2ad0")](),O.splice(O[t("0x3507")](this.el),1),this.el=n=null},_hideClone:function(){var t=e;!r[t("0x33ec")]&&(Ae(r,"display",t("0x2847")),r.cloneHidden=!0,r[t("0x368c")]&&this[t("0x16d1")][t("0x374f")]&&r[t("0x368c")][t("0xffd")](r))},_showClone:function(n){var a=e;n[a("0x221d")]===a("0x42df")?r[a("0x33ec")]&&(i[a("0x2a10")](t)&&!this[a("0x16d1")][a("0x2b12")][a("0xff1")]?i[a("0x1437")](r,t):o?i[a("0x1437")](r,o):i[a("0x4238")](r),this.options[a("0x2b12")][a("0xff1")]&&this._animate(t,r),Ae(r,"display",""),r.cloneHidden=!1):this[a("0x17b3")]()}},ve(G,e("0x4a1a"),(function(t){var n=e;(he.active||I)&&t[n("0xb9d")]&&t.preventDefault()})),he[e("0x1590")]={on:ve,off:Se,css:Ae,find:ye,is:function(e,t){return!!ge(e,t,e,!1)},extend:Fe,throttle:Le,closest:ge,toggleClass:Ee,clone:Be,index:ke,nextTick:Ye,cancelNextTick:Ge,detectDirection:oe,getChild:De},he[e("0x4b8c")]=function(e,t){return new he(e,t)},he[e("0x10ea")]=e("0x2fb8"),he})===(i=a2_0x37cf)("0x3349")?a[i("0x3c6b")](t,n,t,e):a)||(e[i("0x33f9")]=r)},1109:(e,t,n)=>{var a;!function(r){var i=a2_0x37cf;function o(e,t){var n=a2_0x37cf;if(t=t||{},(e=e||"")instanceof o)return e;if(!(this instanceof o))return new o(e,t);var a,i,x,s,c,l,d,u,f,m,b,_,p=(a=e,x={r:0,g:0,b:0},s=1,c=null,l=null,d=null,u=!1,f=!1,(i=a2_0x37cf)("0x38b7")==typeof a&&(a=function(e){var t=a2_0x37cf;e=e[t("0x3cc0")](O,"").replace(k,"")[t("0x2eb9")]();var n,a=!1;if(j[e])e=j[e],a=!0;else if(t("0x2859")==e)return{r:0,g:0,b:0,a:0,format:t("0x98c")};return(n=W.rgb[t("0x3629")](e))?{r:n[1],g:n[2],b:n[3]}:(n=W[t("0x21da")].exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=W.hsl[t("0x3629")](e))?{h:n[1],s:n[2],l:n[3]}:(n=W[t("0x25ca")][t("0x3629")](e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=W[t("0x285e")][t("0x3629")](e))?{h:n[1],s:n[2],v:n[3]}:(n=W.hsva[t("0x3629")](e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=W[t("0xac")][t("0x3629")](e))?{r:w(n[1]),g:w(n[2]),b:w(n[3]),a:I(n[4]),format:t(a?"0x98c":"0xac")}:(n=W[t("0x241a")].exec(e))?{r:w(n[1]),g:w(n[2]),b:w(n[3]),format:a?"name":t("0x7d1")}:(n=W[t("0xd16")].exec(e))?{r:w(n[1]+""+n[1]),g:w(n[2]+""+n[2]),b:w(n[3]+""+n[3]),a:I(n[4]+""+n[4]),format:a?"name":t("0xac")}:!!(n=W[t("0x1bf4")][t("0x3629")](e))&&{r:w(n[1]+""+n[1]),g:w(n[2]+""+n[2]),b:w(n[3]+""+n[3]),format:t(a?"0x98c":"0x7d1")}}(a)),i("0x1b1d")==typeof a&&(N(a.r)&&N(a.g)&&N(a.b)?(m=a.r,b=a.g,_=a.b,x={r:255*y(m,255),g:255*y(b,255),b:255*y(_,255)},u=!0,f="%"===String(a.r)[i("0x39fa")](-1)?i("0x1615"):i("0x12ef")):N(a.h)&&N(a.s)&&N(a.v)?(c=R(a.s),l=R(a.v),x=function(e,t,n){var a=a2_0x37cf;e=6*y(e,360),t=y(t,100),n=y(n,100);var i=r[a("0x4184")](e),o=e-i,x=n*(1-t),s=n*(1-o*t),c=n*(1-(1-o)*t),l=i%6;return{r:255*[n,s,x,x,c,n][l],g:255*[c,n,n,s,x,x][l],b:255*[x,x,c,n,n,s][l]}}(a.h,c,l),u=!0,f=i("0x285e")):N(a.h)&&N(a.s)&&N(a.l)&&(c=R(a.s),d=R(a.l),x=function(e,t,n){function a(e,t,n){return 0>n&&(n+=1),n>1&&(n-=1),1/6>n?e+6*(t-e)*n:.5>n?t:2/3>n?e+(t-e)*(2/3-n)*6:e}var r,i,o;if(e=y(e,360),t=y(t,100),n=y(n,100),0===t)r=i=o=n;else{var x=.5>n?n*(1+t):n+t-n*t,s=2*n-x;r=a(s,x,e+1/3),i=a(s,x,e),o=a(s,x,e-1/3)}return{r:255*r,g:255*i,b:255*o}}(a.h,c,d),u=!0,f=i("0x784")),a[i("0x1bd4")]("a")&&(s=a.a)),s=T(s),{ok:u,format:a.format||f,r:F(255,B(x.r,0)),g:F(255,B(x.g,0)),b:F(255,B(x.b,0)),a:s});this[n("0x4f8")]=e,this._r=p.r,this._g=p.g,this._b=p.b,this._a=p.a,this[n("0x893")]=L(100*this._a)/100,this._format=t.format||p[n("0x293c")],this[n("0x44f9")]=t[n("0x1180")],this._r<1&&(this._r=L(this._r)),this._g<1&&(this._g=L(this._g)),this._b<1&&(this._b=L(this._b)),this[n("0x4e86")]=p.ok,this[n("0x311a")]=P++}function x(e,t,n){e=y(e,255),t=y(t,255),n=y(n,255);var a,r,i=B(e,t,n),o=F(e,t,n),x=(i+o)/2;if(i==o)a=r=0;else{var s=i-o;switch(r=x>.5?s/(2-i-o):s/(i+o),i){case e:a=(t-n)/s+(n>t?6:0);break;case t:a=(n-e)/s+2;break;case n:a=(e-t)/s+4}a/=6}return{h:a,s:r,l:x}}function s(e,t,n){e=y(e,255),t=y(t,255),n=y(n,255);var a,r,i=B(e,t,n),o=F(e,t,n),x=i,s=i-o;if(r=0===i?0:s/i,i==o)a=0;else{switch(i){case e:a=(t-n)/s+(n>t?6:0);break;case t:a=(n-e)/s+2;break;case n:a=(e-t)/s+4}a/=6}return{h:a,s:r,v:x}}function c(e,t,n,a){var r=a2_0x37cf,i=[M(L(e)[r("0x3c88")](16)),M(L(t)[r("0x3c88")](16)),M(L(n)[r("0x3c88")](16))];return a&&i[0][r("0x24de")](0)==i[0][r("0x24de")](1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2][r("0x24de")](0)==i[2].charAt(1)?i[0][r("0x24de")](0)+i[1][r("0x24de")](0)+i[2][r("0x24de")](0):i[r("0xc60")]("")}function l(e,t,n,a){var r=a2_0x37cf;return[M(D(a)),M(L(e)[r("0x3c88")](16)),M(L(t).toString(16)),M(L(n)[r("0x3c88")](16))][r("0xc60")]("")}function d(e,t){var n=a2_0x37cf;t=0===t?0:t||10;var a=o(e)[n("0x447c")]();return a.s-=t/100,a.s=C(a.s),o(a)}function u(e,t){var n=a2_0x37cf;t=0===t?0:t||10;var a=o(e)[n("0x447c")]();return a.s+=t/100,a.s=C(a.s),o(a)}function f(e){var t=a2_0x37cf;return o(e)[t("0x3108")](100)}function m(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.l+=t/100,n.l=C(n.l),o(n)}function b(e,t){var n=a2_0x37cf;t=0===t?0:t||10;var a=o(e)[n("0x2ccb")]();return a.r=B(0,F(255,a.r-L(-t/100*255))),a.g=B(0,F(255,a.g-L(-t/100*255))),a.b=B(0,F(255,a.b-L(-t/100*255))),o(a)}function _(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.l-=t/100,n.l=C(n.l),o(n)}function p(e,t){var n=a2_0x37cf,a=o(e)[n("0x447c")](),r=(a.h+t)%360;return a.h=0>r?360+r:r,o(a)}function h(e){var t=a2_0x37cf,n=o(e)[t("0x447c")]();return n.h=(n.h+180)%360,o(n)}function g(e){var t=a2_0x37cf,n=o(e)[t("0x447c")](),a=n.h;return[o(e),o({h:(a+120)%360,s:n.s,l:n.l}),o({h:(a+240)%360,s:n.s,l:n.l})]}function v(e){var t=a2_0x37cf,n=o(e)[t("0x447c")](),a=n.h;return[o(e),o({h:(a+90)%360,s:n.s,l:n.l}),o({h:(a+180)%360,s:n.s,l:n.l}),o({h:(a+270)%360,s:n.s,l:n.l})]}function S(e){var t=a2_0x37cf,n=o(e)[t("0x447c")](),a=n.h;return[o(e),o({h:(a+72)%360,s:n.s,l:n.l}),o({h:(a+216)%360,s:n.s,l:n.l})]}function E(e,t,n){var a=a2_0x37cf;t=t||6,n=n||30;var r=o(e)[a("0x447c")](),i=360/n,x=[o(e)];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,x[a("0x459a")](o(r));return x}function A(e,t){var n=a2_0x37cf;t=t||6;for(var a=o(e)[n("0x2509")](),r=a.h,i=a.s,x=a.v,s=[],c=1/t;t--;)s[n("0x459a")](o({h:r,s:i,v:x})),x=(x+c)%1;return s}function T(e){return e=parseFloat(e),(isNaN(e)||0>e||e>1)&&(e=1),e}function y(e,t){var n,a,i=a2_0x37cf;n=e,(a=a2_0x37cf)("0x38b7")==typeof n&&-1!=n[a("0x3507")](".")&&1===parseFloat(n)&&(e=i("0x590"));var o,x=(o=e,a2_0x37cf("0x38b7")==typeof o&&-1!=o.indexOf("%"));return e=F(t,B(0,parseFloat(e))),x&&(e=parseInt(e*t,10)/100),r.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function C(e){return F(1,B(0,e))}function w(e){return parseInt(e,16)}function M(e){return 1==e[a2_0x37cf("0x5e9")]?"0"+e:""+e}function R(e){return 1>=e&&(e=100*e+"%"),e}function D(e){var t=a2_0x37cf;return r.round(255*parseFloat(e))[t("0x3c88")](16)}function I(e){return w(e)/255}function N(e){var t=a2_0x37cf;return!!W.CSS_UNIT[t("0x3629")](e)}var O=/^\s+/,k=/\s+$/,P=0,L=r.round,F=r[i("0x11db")],B=r[i("0x242b")],Y=r.random;o[i("0x20f")]={isDark:function(){return this[i("0xaab")]()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this[i("0x4f8")]},getFormat:function(){return this[i("0x1a74")]},getAlpha:function(){return this._a},getBrightness:function(){var e=this[i("0x2ccb")]();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,n,a=i,o=this.toRgb();return e=o.r/255,t=o.g/255,n=o.b/255,.2126*(.03928>=e?e/12.92:r.pow((e+.055)/1.055,2.4))+.7152*(.03928>=t?t/12.92:r[a("0x3861")]((t+.055)/1.055,2.4))+.0722*(.03928>=n?n/12.92:r[a("0x3861")]((n+.055)/1.055,2.4))},setAlpha:function(e){var t=i;return this._a=T(e),this[t("0x893")]=L(100*this._a)/100,this},toHsv:function(){var e=s(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=i,t=s(this._r,this._g,this._b),n=L(360*t.h),a=L(100*t.s),r=L(100*t.v);return 1==this._a?e("0x1eec")+n+", "+a+e("0x368e")+r+"%)":e("0x3357")+n+", "+a+e("0x368e")+r+e("0x368e")+this[e("0x893")]+")"},toHsl:function(){var e=x(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=i,t=x(this._r,this._g,this._b),n=L(360*t.h),a=L(100*t.s),r=L(100*t.l);return 1==this._a?e("0x13c4")+n+", "+a+"%, "+r+"%)":e("0xf2b")+n+", "+a+e("0x368e")+r+e("0x368e")+this[e("0x893")]+")"},toHex:function(e){return c(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this[i("0x2a91")](e)},toHex8:function(e){return t=this._r,n=this._g,a=this._b,r=this._a,i=e,o=a2_0x37cf,x=[M(L(t).toString(16)),M(L(n)[o("0x3c88")](16)),M(L(a).toString(16)),M(D(r))],i&&x[0].charAt(0)==x[0][o("0x24de")](1)&&x[1].charAt(0)==x[1][o("0x24de")](1)&&x[2][o("0x24de")](0)==x[2][o("0x24de")](1)&&x[3][o("0x24de")](0)==x[3][o("0x24de")](1)?x[0][o("0x24de")](0)+x[1][o("0x24de")](0)+x[2][o("0x24de")](0)+x[3][o("0x24de")](0):x[o("0xc60")]("");var t,n,a,r,i,o,x},toHex8String:function(e){return"#"+this[i("0x40d")](e)},toRgb:function(){return{r:L(this._r),g:L(this._g),b:L(this._b),a:this._a}},toRgbString:function(){var e=i;return 1==this._a?"rgb("+L(this._r)+", "+L(this._g)+", "+L(this._b)+")":e("0x4db3")+L(this._r)+", "+L(this._g)+", "+L(this._b)+", "+this[e("0x893")]+")"},toPercentageRgb:function(){return{r:L(100*y(this._r,255))+"%",g:L(100*y(this._g,255))+"%",b:L(100*y(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){var e=i;return 1==this._a?e("0x117")+L(100*y(this._r,255))+"%, "+L(100*y(this._g,255))+e("0x368e")+L(100*y(this._b,255))+"%)":e("0x4db3")+L(100*y(this._r,255))+e("0x368e")+L(100*y(this._g,255))+e("0x368e")+L(100*y(this._b,255))+e("0x368e")+this._roundA+")"},toName:function(){var e=i;return 0===this._a?e("0x2859"):!(this._a<1)&&(V[c(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t=i,n="#"+l(this._r,this._g,this._b,this._a),a=n,r=this[t("0x44f9")]?t("0x193"):"";if(e){var x=o(e);a="#"+l(x._r,x._g,x._b,x._a)}return t("0x3b26")+r+t("0x1ef2")+n+t("0x1f60")+a+")"},toString:function(e){var t=i,n=!!e;e=e||this[t("0x1a74")];var a=!1,r=this._a<1&&this._a>=0;return!n&&r&&(t("0x7d1")===e||t("0x241a")===e||t("0x1bf4")===e||t("0xd16")===e||t("0xac")===e||t("0x98c")===e)?t("0x98c")===e&&0===this._a?this[t("0x8dc")]():this[t("0xa99")]():("rgb"===e&&(a=this.toRgbString()),t("0x1615")===e&&(a=this[t("0x4afb")]()),(t("0x7d1")===e||"hex6"===e)&&(a=this[t("0x3700")]()),t("0x1bf4")===e&&(a=this[t("0x3700")](!0)),t("0xd16")===e&&(a=this.toHex8String(!0)),t("0xac")===e&&(a=this[t("0x3a71")]()),"name"===e&&(a=this[t("0x8dc")]()),"hsl"===e&&(a=this[t("0x4472")]()),t("0x285e")===e&&(a=this[t("0x2b24")]()),a||this[t("0x3700")]())},clone:function(){return o(this[i("0x3c88")]())},_applyModification:function(e,t){var n=i,a=e[n("0x4884")](null,[this].concat([][n("0x9b3")][n("0x3c6b")](t)));return this._r=a._r,this._g=a._g,this._b=a._b,this[n("0x3240")](a._a),this},lighten:function(){return this._applyModification(m,arguments)},brighten:function(){var e=i;return this[e("0x4880")](b,arguments)},darken:function(){var e=i;return this[e("0x4880")](_,arguments)},desaturate:function(){var e=i;return this[e("0x4880")](d,arguments)},saturate:function(){var e=i;return this[e("0x4880")](u,arguments)},greyscale:function(){var e=i;return this[e("0x4880")](f,arguments)},spin:function(){var e=i;return this[e("0x4880")](p,arguments)},_applyCombination:function(e,t){var n=i;return e[n("0x4884")](null,[this][n("0x3abc")]([][n("0x9b3")][n("0x3c6b")](t)))},analogous:function(){var e=i;return this[e("0x13fd")](E,arguments)},complement:function(){return this._applyCombination(h,arguments)},monochromatic:function(){var e=i;return this[e("0x13fd")](A,arguments)},splitcomplement:function(){var e=i;return this[e("0x13fd")](S,arguments)},triad:function(){var e=i;return this[e("0x13fd")](g,arguments)},tetrad:function(){var e=i;return this[e("0x13fd")](v,arguments)}},o[i("0x1727")]=function(e,t){var n=i;if(n("0x1b1d")==typeof e){var a={};for(var r in e)e[n("0x1bd4")](r)&&(a[r]="a"===r?e[r]:R(e[r]));e=a}return o(e,t)},o[i("0x34f9")]=function(e,t){var n=i;return!(!e||!t)&&o(e)[n("0xa99")]()==o(t)[n("0xa99")]()},o[i("0xcbb")]=function(){return o[i("0x1727")]({r:Y(),g:Y(),b:Y()})},o.mix=function(e,t,n){var a=i;n=0===n?0:n||50;var r=o(e)[a("0x2ccb")](),x=o(t).toRgb(),s=n/100;return o({r:(x.r-r.r)*s+r.r,g:(x.g-r.g)*s+r.g,b:(x.b-r.b)*s+r.b,a:(x.a-r.a)*s+r.a})},o[i("0x3791")]=function(e,t){var n=i,a=o(e),x=o(t);return(r.max(a.getLuminance(),x[n("0xf19")]())+.05)/(r[n("0x11db")](a[n("0xf19")](),x[n("0xf19")]())+.05)},o[i("0x300b")]=function(e,t,n){var a,r,x,s,c,l,d=i,u=o[d("0x3791")](e,t);switch(r=!1,l=a2_0x37cf,s=((x=(x=n)||{level:"AA",size:l("0x2ffb")})[l("0x2b7a")]||"AA").toUpperCase(),c=(x[l("0x27ff")]||l("0x2ffb"))[l("0x2eb9")](),"AA"!==s&&l("0x4740")!==s&&(s="AA"),l("0x2ffb")!==c&&l("0x2015")!==c&&(c="small"),(a={level:s,size:c})[d("0x2b7a")]+a.size){case d("0x2094"):case d("0x405c"):r=u>=4.5;break;case d("0xfdd"):r=u>=3;break;case"AAAsmall":r=u>=7}return r},o.mostReadable=function(e,t,n){var a,r,x,s,c=i,l=null,d=0;r=(n=n||{})[c("0x15c8")],x=n[c("0x2b7a")],s=n[c("0x27ff")];for(var u=0;u<t.length;u++)(a=o[c("0x3791")](e,t[u]))>d&&(d=a,l=o(t[u]));return o[c("0x300b")](e,l,{level:x,size:s})||!r?l:(n[c("0x15c8")]=!1,o[c("0x1a8")](e,["#fff",c("0x143c")],n))};var G,H,U,$,j=o[i("0x41c8")]={aliceblue:i("0x35bc"),antiquewhite:i("0x834"),aqua:i("0x1dd5"),aquamarine:i("0x668"),azure:"f0ffff",beige:i("0x33a4"),bisque:"ffe4c4",black:i("0x33d4"),blanchedalmond:i("0x43b1"),blue:i("0x8ae"),blueviolet:"8a2be2",brown:i("0x3c37"),burlywood:i("0xaf9"),burntsienna:i("0xe0c"),cadetblue:"5f9ea0",chartreuse:i("0x4df2"),chocolate:"d2691e",coral:i("0x446f"),cornflowerblue:i("0x181c"),cornsilk:"fff8dc",crimson:i("0x26c4"),cyan:i("0x1dd5"),darkblue:i("0x2430"),darkcyan:i("0x2061"),darkgoldenrod:i("0x1f82"),darkgray:i("0x1dd1"),darkgreen:i("0x4422"),darkgrey:"a9a9a9",darkkhaki:i("0x171c"),darkmagenta:"8b008b",darkolivegreen:i("0x4833"),darkorange:i("0x46c7"),darkorchid:"9932cc",darkred:i("0xd27"),darksalmon:i("0x254a"),darkseagreen:i("0x2d98"),darkslateblue:i("0x35d9"),darkslategray:i("0x4326"),darkslategrey:i("0x4326"),darkturquoise:i("0x3042"),darkviolet:i("0x1796"),deeppink:"ff1493",deepskyblue:i("0x1a9d"),dimgray:i("0x50e"),dimgrey:i("0x50e"),dodgerblue:i("0x28b0"),firebrick:i("0x1d72"),floralwhite:i("0xb27"),forestgreen:i("0x27b0"),fuchsia:i("0x4b18"),gainsboro:i("0x4654"),ghostwhite:i("0x3734"),gold:i("0xdd"),goldenrod:"daa520",gray:i("0x4de4"),green:i("0x40a5"),greenyellow:i("0x1c5a"),grey:i("0x4de4"),honeydew:"f0fff0",hotpink:i("0x4c6e"),indianred:i("0x1c8"),indigo:i("0x2f1c"),ivory:i("0x36c7"),khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:i("0x4c4b"),lawngreen:i("0x2d33"),lemonchiffon:i("0x869"),lightblue:i("0x33f"),lightcoral:i("0xe8"),lightcyan:i("0x3cdf"),lightgoldenrodyellow:i("0x4328"),lightgray:i("0x3ce4"),lightgreen:i("0x209e"),lightgrey:i("0x3ce4"),lightpink:i("0x26"),lightsalmon:i("0x4d01"),lightseagreen:i("0x9dd"),lightskyblue:i("0x9d1"),lightslategray:i("0x389d"),lightslategrey:i("0x389d"),lightsteelblue:i("0x22da"),lightyellow:i("0x262b"),lime:i("0x338a"),limegreen:"32cd32",linen:i("0x1afb"),magenta:"f0f",maroon:i("0x1055"),mediumaquamarine:i("0x3014"),mediumblue:i("0x22de"),mediumorchid:i("0x37c4"),mediumpurple:i("0x35dc"),mediumseagreen:"3cb371",mediumslateblue:i("0x3aad"),mediumspringgreen:i("0x1cb1"),mediumturquoise:"48d1cc",mediumvioletred:i("0x2b2c"),midnightblue:i("0x2fce"),mintcream:"f5fffa",mistyrose:i("0x4afd"),moccasin:"ffe4b5",navajowhite:"ffdead",navy:i("0x3a38"),oldlace:i("0x3e74"),olive:"808000",olivedrab:i("0x34e7"),orange:"ffa500",orangered:i("0x4dd0"),orchid:i("0x1c52"),palegoldenrod:i("0x3b99"),palegreen:i("0x4103"),paleturquoise:i("0xc62"),palevioletred:i("0x3408"),papayawhip:i("0xb40"),peachpuff:i("0x3019"),peru:i("0x5f0"),pink:i("0x3065"),plum:"dda0dd",powderblue:i("0x3bc2"),purple:i("0x44f"),rebeccapurple:i("0x33a2"),red:i("0x1e17"),rosybrown:i("0x4e98"),royalblue:i("0x1b5b"),saddlebrown:i("0x1529"),salmon:"fa8072",sandybrown:i("0x2229"),seagreen:i("0x767"),seashell:i("0x1eb8"),sienna:i("0x15c"),silver:i("0x4136"),skyblue:i("0x4f2a"),slateblue:i("0x26dd"),slategray:"708090",slategrey:i("0xb8e"),snow:i("0x4431"),springgreen:i("0x29c6"),steelblue:i("0x422"),tan:"d2b48c",teal:"008080",thistle:i("0xdea"),tomato:i("0x15cd"),turquoise:"40e0d0",violet:"ee82ee",wheat:i("0x2cae"),white:i("0x184"),whitesmoke:i("0x18f"),yellow:i("0x1c8a"),yellowgreen:i("0x243")},V=o.hexNames=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}(j),W=(H="(?:"+(G=i)("0x2348")+G("0x3e8a")+"[-\\+]?\\d+%?)",U="[\\s|\\(]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+G("0x2321"),$=G("0x11ba")+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+G("0x2321"),{CSS_UNIT:new RegExp(H),rgb:new RegExp(G("0x12ef")+U),rgba:new RegExp(G("0x21da")+$),hsl:new RegExp(G("0x784")+U),hsla:new RegExp(G("0x25ca")+$),hsv:new RegExp("hsv"+U),hsva:new RegExp(G("0xf04")+$),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});e[i("0x33f9")]?e[i("0x33f9")]=o:void 0===(a=function(){return o}[i("0x3c6b")](t,n,t,e))||(e.exports=a)}(Math)},2281:e=>{var t,n=_0x299160,a=n("0x2aaa")[n("0x9e5")](""),r={},i=0,o=0;function x(e){var t="";do{t=a[e%64]+t,e=Math.floor(e/64)}while(e>0);return t}function s(){var e=x(+new Date);return e!==t?(i=0,t=e):e+"."+x(i++)}for(;o<64;o++)r[a[o]]=o;s[n("0x3f92")]=x,s[n("0x19f2")]=function(e){var t=n,a=0;for(o=0;o<e[t("0x5e9")];o++)a=64*a+r[e[t("0x24de")](o)];return a},e[n("0x33f9")]=s}}]);
\ No newline at end of file
\ No newline at end of file
diff --git a/public/app-0c74c21a1c1532cf3009.js b/public/app-0c74c21a1c1532cf3009.js
deleted file mode 100644
index 6b434fb..0000000
--- a/public/app-0c74c21a1c1532cf3009.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*!
- * @license
- * *************************************************************************
- * *                                                                       *
- * * xCALLY Motion -  The Omnichannel Contact Center                       *
- * * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
- * *                                                                       *
- * *************************************************************************
- * *                                                                       *
- * * Email: [email-masked]                                                *
- * * Website: https://www.xcally.com                                       *
- * *                                                                       *
- * *************************************************************************
- * *                                                                       *
- * * The SOFTWARE PRODUCT is protected by copyright laws and international *
- * * copyright treaties, as well as other intellectual property laws and   *
- * * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		        *
- * *                                                                       *
- * *************************************************************************
- */
\ No newline at end of file
diff --git a/public/app-236515be3923c5a3498c.js b/public/app-236515be3923c5a3498c.js
new file mode 100644
index 0000000..886c8d5
--- /dev/null
+++ b/public/app-236515be3923c5a3498c.js
@@ -0,0 +1,21 @@
+/*!
+ * @license
+ * *************************************************************************
+ * *                                                                       *
+ * * xCALLY Motion -  The Omnichannel Contact Center                       *
+ * * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
+ * *                                                                       *
+ * *************************************************************************
+ * *                                                                       *
+ * * Email: [email-masked]                                                *
+ * * Website: https://www.xcally.com                                       *
+ * *                                                                       *
+ * *************************************************************************
+ * *                                                                       *
+ * * The SOFTWARE PRODUCT is protected by copyright laws and international *
+ * * copyright treaties, as well as other intellectual property laws and   *
+ * * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		        *
+ * *                                                                       *
+ * *************************************************************************
+ */
\ No newline at end of file
diff --git a/public/app/main/apps/analytics/i18n/ar.json b/public/app/main/apps/analytics/i18n/ar.json
index 6082af3..0da93d6 100644
--- a/public/app/main/apps/analytics/i18n/ar.json
+++ b/public/app/main/apps/analytics/i18n/ar.json
@@ -1,88 +1,54 @@
 {
   "ANALYTICS": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "إسم النطاق المستعار المطلوب",
       "COLUMN_REQUIRED": "العمود المطلوب",
       "CUSTOM_METRIC_REQUIRED": "المقياس المخصص المطلوب",
-      "METRIC_REQUIRED": "المعيارالمطلوب",
-      "NAME_REQUIRED": "الأسم المطلوب",
-      "VALUE_REQUIRED": "القيمه المطلوبة"
+      "METRIC_REQUIRED": "المعيارالمطلوب"
     },
     "ADD_METRIC": "إضافة معيار",
     "ADD_REPORT": "أضفافة تقرير",
     "ADD_REPORTFIELD": "إضافه حقل التقرير",
-    "ALIAS": "الاسم المستعار",
     "ANALYTICS": "التحليلات",
-    "BACK": "عودة الى الخلف",
-    "CLOSE": "إغلاق",
     "COLUMN": "العمود المخصص",
-    "CONDITION": "شرط",
     "CONDITIONS": "الشروط",
     "COPY_REPORT": "نسخ التقرير",
     "CREATE": "إنشاء",
-    "CREATED_AT": "أنشئ في",
     "CUSTOM_METRIC": "تخصيص_مقياس",
     "DATE_RANGE_FROM": "نطاق التاريخ من",
     "DATE_RANGE_TO": "نطاق التاريخ إلى",
-    "DELETE": "حذف",
     "DELETE_EXTRACTEDREPORT": "حذف التقرير المستخلص",
     "DELETE_METRIC": "حذف المقياس",
     "DELETE_REPORT": "حذف التقرير",
     "DELETE_REPORTFIELD": "حذف حقل التقرير",
-    "DESCRIPTION": "الوصف",
     "DOWNLOAD_EXTRACTEDREPORT": "تحميل التقرير المستخلص",
     "DOWNLOAD_JSON_REPORT": " JSON  تحميل التقرير الخاص ببرنامج",
     "EDIT_EXTRACTEDREPORT": "تعديل التقرير المستخلص",
     "EDIT_METRIC": "تعديل المقياس",
     "EDIT_REPORT": "تعديل التقرير",
     "EDIT_REPORTFIELD": "تعديل حقل التقرير",
-    "ERROR": "خطأ",
     "EXTRACTEDREPORTS": "التقارير المستخرجه",
-    "FIELDS": "الحقول",
-    "FORMAT": "تنسيق",
     "FUNCTION": "وظيفة",
-    "GENERAL": "عامه",
     "GENERATED_AT": "منتجه فى ",
     "GROUP": "الفريق",
     "GROUP_BY": "الفريق بواسطه",
-    "ID": "الرقم التعريفى",
     "LIMITED_RESULT": " نتائج محدودة",
-    "MESSAGE": "رسالة",
-    "METRIC": "المقياس",
     "METRICS": "المقاييس",
     "METRIC_NAME": "اسم المقياس",
-    "NAME": "اسم",
     "NEW_METRIC": "مقياس جديد",
     "NEW_REPORT": "تقرير جديد",
-    "NO_AVAILABLE_INFO": "المعلومات غير متوفرة",
     "NO_DATA": "البيانات غير متوفرة",
     "NO_METRIC_FOUND": "المقياس غير متوفر",
-    "OF": "التابعه ل ",
-    "OPERATOR": "المشغل ",
     "ORDER_BY": "صادر عن ",
-    "OUTPUT": "النتائج",
-    "PAGE": "صفحة",
-    "PREVIEW": "معاينة",
     "PREVIEW_REPORT": "معاينه التقرير",
     "QUERY_ERROR": "خطأ في الاستعلام",
     "REMOVE": "إزالة ",
     "RENAME": "إعادة تسمية ",
     "REPORTNAME": "اسم التقرير",
     "REPORTS": "تقارير",
-    "ROWSPERPAGE": "صفوف لكل صفحة",
     "RUN_REPORT": "تشغيل التقرير",
-    "SAVE": "حفظ",
-    "SEARCH_FOR_ANYONE": "البحث عن أى شخص",
     "SEARCH_FOR_FOLDER": "البحث عن مجلد",
-    "SELECTED": "المحدد",
-    "SELECT_ALL": "اختر الكل",
     "SELECT_NODE": "تحديد عقدة البرنامج",
-    "SELECT_NONE": "لم تقم بتحديد أى إختيار",
     "SEND_IF_EMPTY": "أرسل إذا كان فارغًا",
-    "SETTINGS": "إعدادات",
-    "STATUS": "الحالة",
-    "TABLE": "الجدول",
-    "TYPE": "اكتب",
-    "VALUE": "القيمة"
+    "TABLE": "الجدول"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/cs.json b/public/app/main/apps/analytics/i18n/cs.json
index 84a05ea..cf8e05f 100644
--- a/public/app/main/apps/analytics/i18n/cs.json
+++ b/public/app/main/apps/analytics/i18n/cs.json
@@ -2,42 +2,24 @@
   "ANALYTICS": {
     "SEND_IF_EMPTY": "Send if empty",
     "REPORTNAME": "Report Name",
-    "DELETE": "Delete",
-    "NAME": "Name",
     "ANALYTICS": "Analytics",
     "METRICS": "Metrics",
-    "ID": "Id",
     "TABLE": "Table",
-    "DESCRIPTION": "Description",
-    "SEARCH_FOR_ANYONE": "Search",
-    "METRIC": "Metric",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
       "METRIC_REQUIRED": "Mandatory field",
       "COLUMN_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "CUSTOM_METRIC_REQUIRED": "Mandatory field",
-      "ALIAS_REQUIRED": "Mandatory field"
+      "CUSTOM_METRIC_REQUIRED": "Mandatory field"
     },
     "NEW_METRIC": "New Metric",
     "ADD_METRIC": "Add Metric",
     "EDIT_METRIC": "Edit Metric",
     "DELETE_METRIC": "Delete Metric",
-    "SAVE": "Save",
-    "BACK": "Back",
-    "SELECTED": "Selected",
-    "SELECT_ALL": "Select All",
-    "SELECT_NONE": "Select None",
-    "TYPE": "Type",
     "EXTRACTEDREPORTS": "Extracted Reports",
     "DATE_RANGE_FROM": "Date Range From",
     "DATE_RANGE_TO": "Date Range To",
     "GENERATED_AT": "Generated At",
-    "STATUS": "Status",
-    "OUTPUT": "Output",
     "REPORTS": "Reports",
     "SEARCH_FOR_FOLDER": "Search for folder",
-    "CREATED_AT": "Created At",
     "NEW_REPORT": "New Report",
     "ADD_REPORT": "Add Report",
     "COPY_REPORT": "Copy Report",
@@ -50,24 +32,12 @@
     "RENAME": "Rename Folder",
     "REMOVE": "Remove Folder",
     "SELECT_NODE": "Select Folder",
-    "ERROR": "Error",
     "QUERY_ERROR": "Query Error",
-    "MESSAGE": "Message",
-    "CLOSE": "Close",
-    "FORMAT": "Format",
-    "SETTINGS": "Settings",
-    "GENERAL": "General",
-    "FIELDS": "Fields",
-    "CONDITION": "Condition",
-    "OPERATOR": "Operator",
     "GROUP": "Group",
     "COLUMN": "Column",
-    "VALUE": "Value",
-    "PREVIEW": "Preview",
     "LIMITED_RESULT": "*Limited Results",
     "NO_DATA": "No data results",
     "CONDITIONS": "Conditions",
-    "ALIAS": "Alias",
     "FUNCTION": "Function",
     "GROUP_BY": "Group By",
     "ORDER_BY": "Order By",
@@ -76,13 +46,9 @@
     "DELETE_REPORTFIELD": "Delete Field",
     "METRIC_NAME": "Metric",
     "NO_METRIC_FOUND": "No metric found",
-    "NO_AVAILABLE_INFO": "No available info",
     "CUSTOM_METRIC": "Custom Metric",
     "DELETE_EXTRACTEDREPORT": "Delete Extracted Report",
     "EDIT_EXTRACTEDREPORT": "Edit Extracted Report",
-    "DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report",
-    "PAGE": "Page",
-    "ROWSPERPAGE": "Rows per page",
-    "OF": "of"
+    "DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/da.json b/public/app/main/apps/analytics/i18n/da.json
index b289aa1..7fe7e0c 100644
--- a/public/app/main/apps/analytics/i18n/da.json
+++ b/public/app/main/apps/analytics/i18n/da.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Navnet",
     "ANALYTICS": "Analytics",
     "METRICS": "Nøgletal",
-    "ID": "Id",
     "TABLE": "Tabel",
-    "DESCRIPTION": "Beskrivelse",
-    "SEARCH_FOR_ANYONE": "Søg efter alle",
-    "METRIC": "Metrisk",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er påkrævet",
       "METRIC_REQUIRED": "Nøgletallet er påkrævet",
       "COLUMN_REQUIRED": "Kolonnen er obligatorisk",
-      "VALUE_REQUIRED": "Værdien er nødvendig",
-      "CUSTOM_METRIC_REQUIRED": "Den brugerdefinerede metrikken påkrævet",
-      "ALIAS_REQUIRED": "Aliaset er påkrævet"
+      "CUSTOM_METRIC_REQUIRED": "Den brugerdefinerede metrikken påkrævet"
     },
     "NEW_METRIC": "Nyt nøgletals",
     "ADD_METRIC": "Tilføj metrisk",
     "EDIT_METRIC": "Rediger metrisk",
     "DELETE_METRIC": "Slet metrisk",
-    "SAVE": "Gem",
-    "BACK": "Tilbage",
-    "SELECTED": "Valgt",
-    "SELECT_ALL": "Vælg Alle",
-    "SELECT_NONE": "Vælg Ingen",
-    "TYPE": "Type",
     "EXTRACTEDREPORTS": "Udtrukket rapporter",
     "DATE_RANGE_FROM": "Datointerval fra",
     "DATE_RANGE_TO": "Datointervallet",
     "GENERATED_AT": "Genereret på",
-    "STATUS": "Status",
-    "OUTPUT": "Udgang",
     "REPORTS": "Rapporter",
     "SEARCH_FOR_FOLDER": "Søg efter mappe",
-    "CREATED_AT": "Oprettet på",
     "NEW_REPORT": "Ny rapport",
     "ADD_REPORT": "Tilføj rapport",
     "COPY_REPORT": "Kopi rapport",
@@ -47,24 +30,12 @@
     "RENAME": "Omdøb mappe",
     "REMOVE": "Fjern folder",
     "SELECT_NODE": "Vælg mappe",
-    "ERROR": "Fejl",
     "QUERY_ERROR": "Fejl i forespørgsel",
-    "MESSAGE": "Besked",
-    "CLOSE": "Luk",
-    "FORMAT": "Format",
-    "SETTINGS": "Indstillinger",
-    "GENERAL": "Generel",
-    "FIELDS": "Felter",
-    "CONDITION": "Betingelse",
-    "OPERATOR": "Operatøren",
     "GROUP": "Gruppe",
     "COLUMN": "Kolonne",
-    "VALUE": "Værdi",
-    "PREVIEW": "Preview",
     "LIMITED_RESULT": "*Begrænsede resultater",
     "NO_DATA": "Ingen resultater",
     "CONDITIONS": "Betingelser",
-    "ALIAS": "Alias",
     "FUNCTION": "Funktion",
     "GROUP_BY": "Gruppér efter",
     "ORDER_BY": "Order By",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Slet mark",
     "METRIC_NAME": "Metrisk",
     "NO_METRIC_FOUND": "Nej metriske fundet",
-    "NO_AVAILABLE_INFO": "Der er ingen tilgængelig info",
     "CUSTOM_METRIC": "Custom metrisk",
     "DELETE_EXTRACTEDREPORT": "Slet uddraget rapport",
     "EDIT_EXTRACTEDREPORT": "Rediger uddraget rapport",
     "DOWNLOAD_EXTRACTEDREPORT": "Hent uddraget rapport",
-    "PAGE": "Page",
-    "ROWSPERPAGE": "Rækker pr. side",
-    "OF": "Af",
-    "DELETE": "Slet",
     "REPORTNAME": "Rapportnavn",
     "SEND_IF_EMPTY": "Send hvis tom"
   }
diff --git a/public/app/main/apps/analytics/i18n/de.json b/public/app/main/apps/analytics/i18n/de.json
index 7dbe85f..879d8b8 100644
--- a/public/app/main/apps/analytics/i18n/de.json
+++ b/public/app/main/apps/analytics/i18n/de.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Name",
     "ANALYTICS": "Analytics",
     "METRICS": "Kennzahlen",
-    "ID": "Id",
     "TABLE": "Tabelle",
-    "DESCRIPTION": "Beschreibung",
-    "SEARCH_FOR_ANYONE": "Suche für Jedermann",
-    "METRIC": "Metrisch",
     "ERRORS": {
-      "NAME_REQUIRED": "Der Name ist erforderlich",
       "METRIC_REQUIRED": "Die Metrik ist erforderlich",
       "COLUMN_REQUIRED": "Die Spalte ist erforderlich",
-      "VALUE_REQUIRED": "Der Wert ist erforderlich",
-      "CUSTOM_METRIC_REQUIRED": "Die benutzerdefinierte Metrik ist erforderlich",
-      "ALIAS_REQUIRED": "Der Alias wird benötigt"
+      "CUSTOM_METRIC_REQUIRED": "Die benutzerdefinierte Metrik ist erforderlich"
     },
     "NEW_METRIC": "Neue metrische",
     "ADD_METRIC": "Metrische hinzufügen",
     "EDIT_METRIC": "Metrische bearbeiten",
     "DELETE_METRIC": "Löschen Sie Metrisch",
-    "SAVE": "Speichern",
-    "BACK": "Zurück",
-    "SELECTED": "Ausgewählte",
-    "SELECT_ALL": "Alle auswählen",
-    "SELECT_NONE": "Wählen Sie \"Keine\"",
-    "TYPE": "Typ",
     "EXTRACTEDREPORTS": "Berichte extrahiert",
     "DATE_RANGE_FROM": "Datum von",
     "DATE_RANGE_TO": "Datum bis",
     "GENERATED_AT": "Die an",
-    "STATUS": "Status",
-    "OUTPUT": "Ausgang",
     "REPORTS": "Berichte",
     "SEARCH_FOR_FOLDER": "Ordner suchen",
-    "CREATED_AT": "Erstellt am",
     "NEW_REPORT": "Neuer Bericht",
     "ADD_REPORT": "Bericht hinzufügen",
     "COPY_REPORT": "Bericht kopieren",
@@ -47,24 +30,12 @@
     "RENAME": "Ordner umbenennen",
     "REMOVE": "Ordner entfernen",
     "SELECT_NODE": "Wählen Sie den Ordner aus",
-    "ERROR": "Fehler",
     "QUERY_ERROR": "Anfragefehler",
-    "MESSAGE": "Nachricht",
-    "CLOSE": "In der Nähe",
-    "FORMAT": "Format",
-    "SETTINGS": "Einstellungen",
-    "GENERAL": "Allgemein",
-    "FIELDS": "Felder",
-    "CONDITION": "Zustand",
-    "OPERATOR": "Betreiber",
     "GROUP": "Gruppe",
     "COLUMN": "Spalte",
-    "VALUE": "Wert",
-    "PREVIEW": "Vorschau",
     "LIMITED_RESULT": "*Begrenzt Ergebnisse",
     "NO_DATA": "Keine Ergebnisse",
     "CONDITIONS": "Bedingungen",
-    "ALIAS": "Alias",
     "FUNCTION": "Funktion",
     "GROUP_BY": "Gruppieren nach",
     "ORDER_BY": "Bestellung von",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Feld löschen",
     "METRIC_NAME": "Metrisch",
     "NO_METRIC_FOUND": "Kein metrisches System gefunden",
-    "NO_AVAILABLE_INFO": "Keine verfügbaren Info",
     "CUSTOM_METRIC": "Benutzerdefinierte Metrik",
     "DELETE_EXTRACTEDREPORT": "Extrahiert Bericht löschen",
     "EDIT_EXTRACTEDREPORT": "Extrahiert Bericht bearbeiten",
     "DOWNLOAD_EXTRACTEDREPORT": "Download extrahiert Bericht",
-    "PAGE": "Seite",
-    "ROWSPERPAGE": "Zeilen pro Seite",
-    "OF": "Von",
-    "DELETE": "Löschen",
     "REPORTNAME": "Berichtsname",
     "SEND_IF_EMPTY": "Senden, wenn leer"
   }
diff --git a/public/app/main/apps/analytics/i18n/en.json b/public/app/main/apps/analytics/i18n/en.json
index 84a05ea..cf8e05f 100644
--- a/public/app/main/apps/analytics/i18n/en.json
+++ b/public/app/main/apps/analytics/i18n/en.json
@@ -2,42 +2,24 @@
   "ANALYTICS": {
     "SEND_IF_EMPTY": "Send if empty",
     "REPORTNAME": "Report Name",
-    "DELETE": "Delete",
-    "NAME": "Name",
     "ANALYTICS": "Analytics",
     "METRICS": "Metrics",
-    "ID": "Id",
     "TABLE": "Table",
-    "DESCRIPTION": "Description",
-    "SEARCH_FOR_ANYONE": "Search",
-    "METRIC": "Metric",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
       "METRIC_REQUIRED": "Mandatory field",
       "COLUMN_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "CUSTOM_METRIC_REQUIRED": "Mandatory field",
-      "ALIAS_REQUIRED": "Mandatory field"
+      "CUSTOM_METRIC_REQUIRED": "Mandatory field"
     },
     "NEW_METRIC": "New Metric",
     "ADD_METRIC": "Add Metric",
     "EDIT_METRIC": "Edit Metric",
     "DELETE_METRIC": "Delete Metric",
-    "SAVE": "Save",
-    "BACK": "Back",
-    "SELECTED": "Selected",
-    "SELECT_ALL": "Select All",
-    "SELECT_NONE": "Select None",
-    "TYPE": "Type",
     "EXTRACTEDREPORTS": "Extracted Reports",
     "DATE_RANGE_FROM": "Date Range From",
     "DATE_RANGE_TO": "Date Range To",
     "GENERATED_AT": "Generated At",
-    "STATUS": "Status",
-    "OUTPUT": "Output",
     "REPORTS": "Reports",
     "SEARCH_FOR_FOLDER": "Search for folder",
-    "CREATED_AT": "Created At",
     "NEW_REPORT": "New Report",
     "ADD_REPORT": "Add Report",
     "COPY_REPORT": "Copy Report",
@@ -50,24 +32,12 @@
     "RENAME": "Rename Folder",
     "REMOVE": "Remove Folder",
     "SELECT_NODE": "Select Folder",
-    "ERROR": "Error",
     "QUERY_ERROR": "Query Error",
-    "MESSAGE": "Message",
-    "CLOSE": "Close",
-    "FORMAT": "Format",
-    "SETTINGS": "Settings",
-    "GENERAL": "General",
-    "FIELDS": "Fields",
-    "CONDITION": "Condition",
-    "OPERATOR": "Operator",
     "GROUP": "Group",
     "COLUMN": "Column",
-    "VALUE": "Value",
-    "PREVIEW": "Preview",
     "LIMITED_RESULT": "*Limited Results",
     "NO_DATA": "No data results",
     "CONDITIONS": "Conditions",
-    "ALIAS": "Alias",
     "FUNCTION": "Function",
     "GROUP_BY": "Group By",
     "ORDER_BY": "Order By",
@@ -76,13 +46,9 @@
     "DELETE_REPORTFIELD": "Delete Field",
     "METRIC_NAME": "Metric",
     "NO_METRIC_FOUND": "No metric found",
-    "NO_AVAILABLE_INFO": "No available info",
     "CUSTOM_METRIC": "Custom Metric",
     "DELETE_EXTRACTEDREPORT": "Delete Extracted Report",
     "EDIT_EXTRACTEDREPORT": "Edit Extracted Report",
-    "DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report",
-    "PAGE": "Page",
-    "ROWSPERPAGE": "Rows per page",
-    "OF": "of"
+    "DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/es.json b/public/app/main/apps/analytics/i18n/es.json
index 79862b3..12c3973 100644
--- a/public/app/main/apps/analytics/i18n/es.json
+++ b/public/app/main/apps/analytics/i18n/es.json
@@ -1,88 +1,54 @@
 {
   "ANALYTICS": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "Campo obligatorio",
       "COLUMN_REQUIRED": "Campo obligatorio",
       "CUSTOM_METRIC_REQUIRED": "Campo obligatorio",
-      "METRIC_REQUIRED": "Campo obligatorio",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio"
+      "METRIC_REQUIRED": "Campo obligatorio"
     },
     "ADD_METRIC": "Añadir métrica",
     "ADD_REPORT": "Agregar informe",
     "ADD_REPORTFIELD": "Agregue campo",
-    "ALIAS": "Alias",
     "ANALYTICS": "Analítica",
-    "BACK": "Atrás",
-    "CLOSE": "Cerrar",
     "COLUMN": "Columna",
-    "CONDITION": "Condición",
     "CONDITIONS": "Condiciones",
     "COPY_REPORT": "Copiar informe",
     "CREATE": "Crear carpeta",
-    "CREATED_AT": "Creado en",
     "CUSTOM_METRIC": "Métrica personalizada",
     "DATE_RANGE_FROM": "Rango de Fechas Desde",
     "DATE_RANGE_TO": "Rango de Fechas Hasta",
-    "DELETE": "Borrar",
     "DELETE_EXTRACTEDREPORT": "Eliminar informe extraído",
     "DELETE_METRIC": "Eliminar métrica",
     "DELETE_REPORT": "Eliminar informe",
     "DELETE_REPORTFIELD": "Eliminar campo",
-    "DESCRIPTION": "Descripción",
     "DOWNLOAD_EXTRACTEDREPORT": "Descargar el informe extraído",
     "DOWNLOAD_JSON_REPORT": "Exportar Informe JSON",
     "EDIT_EXTRACTEDREPORT": "Editar informe extraído",
     "EDIT_METRIC": "Editar métrica",
     "EDIT_REPORT": "Editar informe",
     "EDIT_REPORTFIELD": "Editar campo",
-    "ERROR": "Error",
     "EXTRACTEDREPORTS": "Informes extraídos",
-    "FIELDS": "Campos",
-    "FORMAT": "Formato",
     "FUNCTION": "Función",
-    "GENERAL": "General",
     "GENERATED_AT": "Generado en",
     "GROUP": "Grupo",
     "GROUP_BY": "Agrupar por",
-    "ID": "Id",
     "LIMITED_RESULT": "* Resultados limitados",
-    "MESSAGE": "Mensaje",
-    "METRIC": "Métrica",
     "METRICS": "Métrica",
     "METRIC_NAME": "Métrica",
-    "NAME": "Nombre",
     "NEW_METRIC": "Nueva métrica",
     "NEW_REPORT": "Nuevo reporte",
-    "NO_AVAILABLE_INFO": "No hay información disponible",
     "NO_DATA": "No hay resultados de datos",
     "NO_METRIC_FOUND": "No se encontró métrica",
-    "OF": "de",
-    "OPERATOR": "Operador",
     "ORDER_BY": "Ordenar por",
-    "OUTPUT": "Salida",
-    "PAGE": "Página",
-    "PREVIEW": "Vista Previa",
     "PREVIEW_REPORT": "Informe de vista previa",
     "QUERY_ERROR": "Error de consulta",
     "REMOVE": "Eliminar carpeta",
     "RENAME": "Renombrar carpeta",
     "REPORTNAME": "Reportar nombre",
     "REPORTS": "Informes",
-    "ROWSPERPAGE": "Filas por página",
     "RUN_REPORT": "Ejecutar un Reporte",
-    "SAVE": "Salvar",
-    "SEARCH_FOR_ANYONE": "Buscar",
     "SEARCH_FOR_FOLDER": "Buscar carpeta",
-    "SELECTED": "Seleccionado",
-    "SELECT_ALL": "Seleccionar todo",
     "SELECT_NODE": "Seleccione Carpeta",
-    "SELECT_NONE": "Seleccione Ninguno",
-    "SETTINGS": "Configuraciones",
-    "STATUS": "Estado",
     "TABLE": "Tabla",
-    "TYPE": "Tipo",
-    "VALUE": "Valor",
     "SEND_IF_EMPTY": "Enviar si está vacío"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/et.json b/public/app/main/apps/analytics/i18n/et.json
index 84a05ea..cf8e05f 100644
--- a/public/app/main/apps/analytics/i18n/et.json
+++ b/public/app/main/apps/analytics/i18n/et.json
@@ -2,42 +2,24 @@
   "ANALYTICS": {
     "SEND_IF_EMPTY": "Send if empty",
     "REPORTNAME": "Report Name",
-    "DELETE": "Delete",
-    "NAME": "Name",
     "ANALYTICS": "Analytics",
     "METRICS": "Metrics",
-    "ID": "Id",
     "TABLE": "Table",
-    "DESCRIPTION": "Description",
-    "SEARCH_FOR_ANYONE": "Search",
-    "METRIC": "Metric",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
       "METRIC_REQUIRED": "Mandatory field",
       "COLUMN_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "CUSTOM_METRIC_REQUIRED": "Mandatory field",
-      "ALIAS_REQUIRED": "Mandatory field"
+      "CUSTOM_METRIC_REQUIRED": "Mandatory field"
     },
     "NEW_METRIC": "New Metric",
     "ADD_METRIC": "Add Metric",
     "EDIT_METRIC": "Edit Metric",
     "DELETE_METRIC": "Delete Metric",
-    "SAVE": "Save",
-    "BACK": "Back",
-    "SELECTED": "Selected",
-    "SELECT_ALL": "Select All",
-    "SELECT_NONE": "Select None",
-    "TYPE": "Type",
     "EXTRACTEDREPORTS": "Extracted Reports",
     "DATE_RANGE_FROM": "Date Range From",
     "DATE_RANGE_TO": "Date Range To",
     "GENERATED_AT": "Generated At",
-    "STATUS": "Status",
-    "OUTPUT": "Output",
     "REPORTS": "Reports",
     "SEARCH_FOR_FOLDER": "Search for folder",
-    "CREATED_AT": "Created At",
     "NEW_REPORT": "New Report",
     "ADD_REPORT": "Add Report",
     "COPY_REPORT": "Copy Report",
@@ -50,24 +32,12 @@
     "RENAME": "Rename Folder",
     "REMOVE": "Remove Folder",
     "SELECT_NODE": "Select Folder",
-    "ERROR": "Error",
     "QUERY_ERROR": "Query Error",
-    "MESSAGE": "Message",
-    "CLOSE": "Close",
-    "FORMAT": "Format",
-    "SETTINGS": "Settings",
-    "GENERAL": "General",
-    "FIELDS": "Fields",
-    "CONDITION": "Condition",
-    "OPERATOR": "Operator",
     "GROUP": "Group",
     "COLUMN": "Column",
-    "VALUE": "Value",
-    "PREVIEW": "Preview",
     "LIMITED_RESULT": "*Limited Results",
     "NO_DATA": "No data results",
     "CONDITIONS": "Conditions",
-    "ALIAS": "Alias",
     "FUNCTION": "Function",
     "GROUP_BY": "Group By",
     "ORDER_BY": "Order By",
@@ -76,13 +46,9 @@
     "DELETE_REPORTFIELD": "Delete Field",
     "METRIC_NAME": "Metric",
     "NO_METRIC_FOUND": "No metric found",
-    "NO_AVAILABLE_INFO": "No available info",
     "CUSTOM_METRIC": "Custom Metric",
     "DELETE_EXTRACTEDREPORT": "Delete Extracted Report",
     "EDIT_EXTRACTEDREPORT": "Edit Extracted Report",
-    "DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report",
-    "PAGE": "Page",
-    "ROWSPERPAGE": "Rows per page",
-    "OF": "of"
+    "DOWNLOAD_EXTRACTEDREPORT": "Download Extracted Report"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/fa.json b/public/app/main/apps/analytics/i18n/fa.json
index e9bbea3..7a8ea58 100644
--- a/public/app/main/apps/analytics/i18n/fa.json
+++ b/public/app/main/apps/analytics/i18n/fa.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "نام",
     "ANALYTICS": "Analytics",
     "METRICS": "تجديد نظر كامل درمراحل اداره پردازش",
-    "ID": "شناسه",
     "TABLE": "میز",
-    "DESCRIPTION": "شرح",
-    "SEARCH_FOR_ANYONE": "در جستجوی کسی",
-    "METRIC": "متري",
     "ERRORS": {
-      "NAME_REQUIRED": "نام لازم است.",
       "METRIC_REQUIRED": "متري لازم است.",
       "COLUMN_REQUIRED": "ستون لازم است.",
-      "VALUE_REQUIRED": "مقدار مورد نیاز است.",
-      "CUSTOM_METRIC_REQUIRED": "متري سفارشی لازم است.",
-      "ALIAS_REQUIRED": "عبدالرزاق، لازم است."
+      "CUSTOM_METRIC_REQUIRED": "متري سفارشی لازم است."
     },
     "NEW_METRIC": "متري جديد",
     "ADD_METRIC": "متري اضافه کنید",
     "EDIT_METRIC": "ویرایش اثرش",
     "DELETE_METRIC": "متري را حذف کنید",
-    "SAVE": "ذخیره",
-    "BACK": "پشت",
-    "SELECTED": "انتخاب می شود",
-    "SELECT_ALL": "همه را انتخاب کنید",
-    "SELECT_NONE": "هيچ كدام را انتخاب کنید",
-    "TYPE": "نوع دستگاه",
     "EXTRACTEDREPORTS": "گزارشات استخراج شده",
     "DATE_RANGE_FROM": "دامنه تاریخ",
     "DATE_RANGE_TO": "به وسعت تاریخ",
     "GENERATED_AT": "ایجاد شده در",
-    "STATUS": "وضعیت",
-    "OUTPUT": "خروجی",
     "REPORTS": "گزارش",
     "SEARCH_FOR_FOLDER": "جستجوی پوشه",
-    "CREATED_AT": "ایجاد شده در",
     "NEW_REPORT": "گزارش جدید",
     "ADD_REPORT": "گزارش اضافه کنید",
     "COPY_REPORT": "گزارش کپی",
@@ -47,24 +30,12 @@
     "RENAME": "پوشه کامپیوترها",
     "REMOVE": "پوشه را حذف کنید",
     "SELECT_NODE": "یک پوشه را انتخاب کنید",
-    "ERROR": "خطا",
     "QUERY_ERROR": "پرسش خطا",
-    "MESSAGE": "ارسال پیام",
-    "CLOSE": "بستن",
-    "FORMAT": "قالب بندی",
-    "SETTINGS": "تنظیمات",
-    "GENERAL": "سردار",
-    "FIELDS": "رشته",
-    "CONDITION": "شرط",
-    "OPERATOR": "اپراتور",
     "GROUP": "گروه",
     "COLUMN": "ستون فرمان",
-    "VALUE": "مقدار",
-    "PREVIEW": "پیش نمایش",
     "LIMITED_RESULT": "*نتایج محدود",
     "NO_DATA": "نه نتایج داده ها",
     "CONDITIONS": "شرايط",
-    "ALIAS": "عبدالرزاق",
     "FUNCTION": "عملکرد",
     "GROUP_BY": "توسط گروه",
     "ORDER_BY": "فرمان",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "رشته را حذف کنید",
     "METRIC_NAME": "متري",
     "NO_METRIC_FOUND": "نه متري یافت نشد.",
-    "NO_AVAILABLE_INFO": "اطلاعات در دسترس نیست",
     "CUSTOM_METRIC": "متري سفارشی",
     "DELETE_EXTRACTEDREPORT": "گزارش استخراج شده را حذف کنید",
     "EDIT_EXTRACTEDREPORT": "ویرایش گزارش استخراج شده",
     "DOWNLOAD_EXTRACTEDREPORT": "گزارش استخراج شده را بارگیری کنید",
-    "PAGE": "صفحه",
-    "ROWSPERPAGE": "رديف در صفحه",
-    "OF": "از",
-    "DELETE": "حذف",
     "REPORTNAME": "نام گزارش",
     "SEND_IF_EMPTY": "ارسال کنید اگر خالی باشد"
   }
diff --git a/public/app/main/apps/analytics/i18n/fi.json b/public/app/main/apps/analytics/i18n/fi.json
index 643142c..c9a4a1f 100644
--- a/public/app/main/apps/analytics/i18n/fi.json
+++ b/public/app/main/apps/analytics/i18n/fi.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Nimi",
     "ANALYTICS": "Analytics",
     "METRICS": "Tunnusluvut",
-    "ID": "Tunnus",
     "TABLE": "Taulukko",
-    "DESCRIPTION": "Kuvaus",
-    "SEARCH_FOR_ANYONE": "Etsi joku",
-    "METRIC": "Metrijärjestelmä",
     "ERRORS": {
-      "NAME_REQUIRED": "Nimi on pakollinen",
       "METRIC_REQUIRED": "Tunnusluku on pakollinen",
       "COLUMN_REQUIRED": "Sarake on pakollinen",
-      "VALUE_REQUIRED": "Arvo on pakollinen",
-      "CUSTOM_METRIC_REQUIRED": "Mukautetun metrinen ei tarvita",
-      "ALIAS_REQUIRED": "Alias on pakollinen"
+      "CUSTOM_METRIC_REQUIRED": "Mukautetun metrinen ei tarvita"
     },
     "NEW_METRIC": "Uuden tunnusluvun",
     "ADD_METRIC": "Lisää metrinen",
     "EDIT_METRIC": "Muokkaa metrinen",
     "DELETE_METRIC": "Poista metrinen",
-    "SAVE": "Tallenna",
-    "BACK": "Takaisin",
-    "SELECTED": "Valittu",
-    "SELECT_ALL": "Valitse kaikki",
-    "SELECT_NONE": "Valitse None (Ei mitään)",
-    "TYPE": "Tyyppi",
     "EXTRACTEDREPORTS": "Uutetaan raportit",
     "DATE_RANGE_FROM": "Päivämääräväli",
     "DATE_RANGE_TO": "Päättymispäivämäärä",
     "GENERATED_AT": "Luotu",
-    "STATUS": "Tila",
-    "OUTPUT": "Lähtö",
     "REPORTS": "Raportit",
     "SEARCH_FOR_FOLDER": "Etsi kansio",
-    "CREATED_AT": "Luodaan",
     "NEW_REPORT": "Uusi raportti",
     "ADD_REPORT": "Lisää raporttiin",
     "COPY_REPORT": "Kopioi raportti",
@@ -47,24 +30,12 @@
     "RENAME": "Nimeä kansio",
     "REMOVE": "Poista kansio",
     "SELECT_NODE": "Valitse laajennettava tai supistettava kansio",
-    "ERROR": "Virhe",
     "QUERY_ERROR": "Kysely virhe",
-    "MESSAGE": "Viesti",
-    "CLOSE": "Sulje",
-    "FORMAT": "Muoto",
-    "SETTINGS": "Asetusten määrittäminen",
-    "GENERAL": "Yleistä",
-    "FIELDS": "Kentät",
-    "CONDITION": "Kunto",
-    "OPERATOR": "Käyttäjä",
     "GROUP": "Ryhmä",
     "COLUMN": "Sarakkeessa",
-    "VALUE": "Arvo",
-    "PREVIEW": "Esikatselu",
     "LIMITED_RESULT": "*vain vähäisiä tuloksia",
     "NO_DATA": "Ei tietoja tulokset",
     "CONDITIONS": "Edellytykset",
-    "ALIAS": "Alias",
     "FUNCTION": "Toiminto",
     "GROUP_BY": "Group By",
     "ORDER_BY": "Tilauksen esitiliöinti",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Poista kenttä",
     "METRIC_NAME": "Metrijärjestelmä",
     "NO_METRIC_FOUND": "Ei löydy metrinen",
-    "NO_AVAILABLE_INFO": "Ei saatavana olevasta lataustehosta",
     "CUSTOM_METRIC": "Mukautettu metrinen",
     "DELETE_EXTRACTEDREPORT": "Poista uutetaan raportti",
     "EDIT_EXTRACTEDREPORT": "Muokkaa raportin uuttaa",
     "DOWNLOAD_EXTRACTEDREPORT": "Lataa raportti uuttaa",
-    "PAGE": "Sivu",
-    "ROWSPERPAGE": "Riviä sivulle",
-    "OF": ",",
-    "DELETE": "Poistaa",
     "REPORTNAME": "Raportin nimi",
     "SEND_IF_EMPTY": "Lähetä, jos se on tyhjä"
   }
diff --git a/public/app/main/apps/analytics/i18n/fr.json b/public/app/main/apps/analytics/i18n/fr.json
index 96c79c7..b06609c 100644
--- a/public/app/main/apps/analytics/i18n/fr.json
+++ b/public/app/main/apps/analytics/i18n/fr.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Nom",
     "ANALYTICS": "Analytics",
     "METRICS": "Indicateurs",
-    "ID": "Id",
     "TABLE": "Tableau",
-    "DESCRIPTION": "Description",
-    "SEARCH_FOR_ANYONE": "Rechercher",
-    "METRIC": "Indicateur",
     "ERRORS": {
-      "NAME_REQUIRED": "Le nom est obligatoire",
       "METRIC_REQUIRED": "L'indicateur est requise",
       "COLUMN_REQUIRED": "La colonne est nécessaire",
-      "VALUE_REQUIRED": "Cette valeur est requise",
-      "CUSTOM_METRIC_REQUIRED": "L'indicateur personnalisée est requise",
-      "ALIAS_REQUIRED": "L'Alias est requis"
+      "CUSTOM_METRIC_REQUIRED": "L'indicateur personnalisée est requise"
     },
     "NEW_METRIC": "Nouvel indicateur",
     "ADD_METRIC": "Ajouter l'indicateur",
     "EDIT_METRIC": "Modifier l'indicateur",
     "DELETE_METRIC": "Supprimer l'indicateur",
-    "SAVE": "Sauvegarder",
-    "BACK": "Retour",
-    "SELECTED": "Sélectionné",
-    "SELECT_ALL": "Sélectionnez tout",
-    "SELECT_NONE": "Desélectionnez tout",
-    "TYPE": "Type",
     "EXTRACTEDREPORTS": "Rapports extraits",
     "DATE_RANGE_FROM": "Date de début et de fin",
     "DATE_RANGE_TO": "Plage de dates pour",
     "GENERATED_AT": "Généré à",
-    "STATUS": "Status",
-    "OUTPUT": "Output",
     "REPORTS": "Rapports",
     "SEARCH_FOR_FOLDER": "Recherchez le dossier",
-    "CREATED_AT": "Créé à",
     "NEW_REPORT": "Nouveau rapport",
     "ADD_REPORT": "Ajouter le rapport",
     "COPY_REPORT": "Copier le rapport",
@@ -47,24 +30,12 @@
     "RENAME": "Renommer dossier",
     "REMOVE": "Supprimer le dossier",
     "SELECT_NODE": "Sélectionnez le dossier",
-    "ERROR": "Erreur",
     "QUERY_ERROR": "Erreur de requête",
-    "MESSAGE": "Message",
-    "CLOSE": "Fermer",
-    "FORMAT": "Présentation",
-    "SETTINGS": "Paramètres",
-    "GENERAL": "Général",
-    "FIELDS": "Champs",
-    "CONDITION": "Condition",
-    "OPERATOR": "Opérateur",
     "GROUP": "Groupe",
     "COLUMN": "Colonne",
-    "VALUE": "Valeur",
-    "PREVIEW": "Aperçu",
     "LIMITED_RESULT": "*Résultats limités",
     "NO_DATA": "Pas de résultats",
     "CONDITIONS": "Conditions",
-    "ALIAS": "Alias",
     "FUNCTION": "Fonction",
     "GROUP_BY": "Grouper par",
     "ORDER_BY": "Trier par",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Supprimer un champ",
     "METRIC_NAME": "Nom de l'indicateur",
     "NO_METRIC_FOUND": "Aucun indicateur trouvé",
-    "NO_AVAILABLE_INFO": "Aucune information disponible",
     "CUSTOM_METRIC": "Indicateur personnalisé",
     "DELETE_EXTRACTEDREPORT": "Supprimer le rapport",
     "EDIT_EXTRACTEDREPORT": "Editer le Rapport",
     "DOWNLOAD_EXTRACTEDREPORT": "Télécharger le rapport extrait",
-    "PAGE": "Page",
-    "ROWSPERPAGE": "Lignes par page",
-    "OF": "Sur",
-    "DELETE": "Effacer",
     "REPORTNAME": "Nom du rapport",
     "SEND_IF_EMPTY": "Envoyer si vide"
   }
diff --git a/public/app/main/apps/analytics/i18n/he.json b/public/app/main/apps/analytics/i18n/he.json
index c1acbef..7d0780e 100644
--- a/public/app/main/apps/analytics/i18n/he.json
+++ b/public/app/main/apps/analytics/i18n/he.json
@@ -2,42 +2,24 @@
   "ANALYTICS": {
     "SEND_IF_EMPTY": "שלח אם ריק",
     "REPORTNAME": "שם הדוח",
-    "DELETE": "מחק",
-    "NAME": "שם",
     "ANALYTICS": "דוחות",
     "METRICS": "מדדים",
-    "ID": "מזהה",
     "TABLE": "טבלה",
-    "DESCRIPTION": "תיאור",
-    "SEARCH_FOR_ANYONE": "חיפוש",
-    "METRIC": "מדד",
     "ERRORS": {
-      "NAME_REQUIRED": "שדה חובה",
       "METRIC_REQUIRED": "שדה חובה",
       "COLUMN_REQUIRED": " שדה חובה",
-      "VALUE_REQUIRED": "שדה חובה",
-      "CUSTOM_METRIC_REQUIRED": " שדה חובה",
-      "ALIAS_REQUIRED": "שדה חובה"
+      "CUSTOM_METRIC_REQUIRED": " שדה חובה"
     },
     "NEW_METRIC": "מדד חדש",
     "ADD_METRIC": "הוסף מדד",
     "EDIT_METRIC": "ערוך מדד",
     "DELETE_METRIC": "מחק מדד",
-    "SAVE": "שמור",
-    "BACK": "חזרה",
-    "SELECTED": "נבחר/ו",
-    "SELECT_ALL": "בחר הכול",
-    "SELECT_NONE": "אל תבחר אף פריט",
-    "TYPE": "סוג",
     "EXTRACTEDREPORTS": "דוחות שהופקו",
     "DATE_RANGE_FROM": "-טווח תאריכים מ",
     "DATE_RANGE_TO": "טווח תאריכים עד",
     "GENERATED_AT": "-הופק ב",
-    "STATUS": "סטטוס",
-    "OUTPUT": "פלט",
     "REPORTS": "דוחות",
     "SEARCH_FOR_FOLDER": "חפש תיקייה",
-    "CREATED_AT": "נוצר ב-",
     "NEW_REPORT": "דוח חדש",
     "ADD_REPORT": "הוסף דוח",
     "COPY_REPORT": "העתק דוח",
@@ -50,24 +32,12 @@
     "RENAME": "שנה שם תיקייה",
     "REMOVE": "הסר תיקייה",
     "SELECT_NODE": "בחר תיקייה",
-    "ERROR": "שגיאה",
     "QUERY_ERROR": "שגיאת שאילתה",
-    "MESSAGE": "הודעה",
-    "CLOSE": "סגור",
-    "FORMAT": "תבנית",
-    "SETTINGS": "הגדרות",
-    "GENERAL": "כללי",
-    "FIELDS": "שדות",
-    "CONDITION": "תנאי",
-    "OPERATOR": "אופרטור",
     "GROUP": "קבוצה",
     "COLUMN": "עמודה",
-    "VALUE": "ערך",
-    "PREVIEW": "תצוגה מקדימה",
     "LIMITED_RESULT": "*תוצאות מוגבלות",
     "NO_DATA": "אין תוצאות נתונים",
     "CONDITIONS": "תנאים",
-    "ALIAS": "כינוי",
     "FUNCTION": "פונקציה",
     "GROUP_BY": "קבץ לפי",
     "ORDER_BY": "סדר לפי",
@@ -76,13 +46,9 @@
     "DELETE_REPORTFIELD": "מחק שדה",
     "METRIC_NAME": "מדד",
     "NO_METRIC_FOUND": "לא נמצאו מדדים",
-    "NO_AVAILABLE_INFO": "אין פרטים זמינים",
     "CUSTOM_METRIC": "מדד מותאם אישית",
     "DELETE_EXTRACTEDREPORT": "מחק דוח שהופק",
     "EDIT_EXTRACTEDREPORT": "ערוך דוח שהופק",
-    "DOWNLOAD_EXTRACTEDREPORT": "הורד דוח שהופק",
-    "PAGE": "דף",
-    "ROWSPERPAGE": "שורות בדף",
-    "OF": "מתוך"
+    "DOWNLOAD_EXTRACTEDREPORT": "הורד דוח שהופק"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/hi.json b/public/app/main/apps/analytics/i18n/hi.json
index 4094fb5..47cd96f 100644
--- a/public/app/main/apps/analytics/i18n/hi.json
+++ b/public/app/main/apps/analytics/i18n/hi.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "नाम",
     "ANALYTICS": "Analytics",
     "METRICS": "छंदशास् त्र",
-    "ID": "Id",
     "TABLE": "तालिका",
-    "DESCRIPTION": "वर्णन",
-    "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
-    "METRIC": "2.93",
     "ERRORS": {
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
       "METRIC_REQUIRED": "2.93 यह अपेक्षित है।",
       "COLUMN_REQUIRED": "स्तंभ की आवश्यकता है।",
-      "VALUE_REQUIRED": "मूल्य की आवश्यकता है।",
-      "CUSTOM_METRIC_REQUIRED": "कस्टम मैट्रिक की आवश्यकता है।",
-      "ALIAS_REQUIRED": "इस उर्फ अपेक्षित है।"
+      "CUSTOM_METRIC_REQUIRED": "कस्टम मैट्रिक की आवश्यकता है।"
     },
     "NEW_METRIC": "नई मीट्रिक",
     "ADD_METRIC": "2.93 जोड़ें",
     "EDIT_METRIC": "2.93 संपादित करें",
     "DELETE_METRIC": "2.93 हटाएं",
-    "SAVE": "सहेजें",
-    "BACK": "वापिस",
-    "SELECTED": "चयनित",
-    "SELECT_ALL": "सभी का चयन करें",
-    "SELECT_NONE": "किसी का भी चयन",
-    "TYPE": "प्रकार",
     "EXTRACTEDREPORTS": "सत्व प्रतिवेदनों",
     "DATE_RANGE_FROM": "तिथि से",
     "DATE_RANGE_TO": "की तिथि से दूरी",
     "GENERATED_AT": "में सृजित",
-    "STATUS": "की स्थिति",
-    "OUTPUT": "उत् पादन में",
     "REPORTS": "प्रतिवेदनों",
     "SEARCH_FOR_FOLDER": "फ़ोल्डर के लिए खोजें",
-    "CREATED_AT": "सृजित",
     "NEW_REPORT": "नई रिपोर्ट",
     "ADD_REPORT": "रिपोर्ट में जोड़ें",
     "COPY_REPORT": "रिपोर्ट में कॉपी करें",
@@ -47,24 +30,12 @@
     "RENAME": "फ़ोल्डर का नाम बदलना",
     "REMOVE": "फ़ोल्डर हटाने",
     "SELECT_NODE": "फ़ोल्डर का चयन करें",
-    "ERROR": "त्रुटि",
     "QUERY_ERROR": "प्रश्न के उत्तर में त्रुटि",
-    "MESSAGE": "संदेश",
-    "CLOSE": "निकट",
-    "FORMAT": "स्वरूप",
-    "SETTINGS": "सेटिंग्स",
-    "GENERAL": "सामान्य",
-    "FIELDS": "खेतों",
-    "CONDITION": "दशा",
-    "OPERATOR": "आॅपरेटर",
     "GROUP": "समूह",
     "COLUMN": "स्तंभ",
-    "VALUE": "मूल्य",
-    "PREVIEW": "पूर्वावलोकन",
     "LIMITED_RESULT": "* लिमिटेड के परिणाम",
     "NO_DATA": "कोई डेटा परिणाम",
     "CONDITIONS": "शर्तों",
-    "ALIAS": "उर्फ",
     "FUNCTION": "कार्य",
     "GROUP_BY": "समूह",
     "ORDER_BY": "आदेश",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "हटाएं फ़ील्ड",
     "METRIC_NAME": "2.93",
     "NO_METRIC_FOUND": "2.93 नहीं मिला",
-    "NO_AVAILABLE_INFO": "जानकारी उपलब्ध नहीं",
     "CUSTOM_METRIC": "कस्टम मीट्रिक",
     "DELETE_EXTRACTEDREPORT": "सत्व प्रतिवेदन को हटाएं",
     "EDIT_EXTRACTEDREPORT": "संपादित करने के लिए सत्व प्रतिवेदन",
     "DOWNLOAD_EXTRACTEDREPORT": "डाउनलोड निष्कर्षित की रिपोर्ट",
-    "PAGE": "पृष्ठ",
-    "ROWSPERPAGE": "पंक्तियां प्रति पृष्ठ",
-    "OF": "की",
-    "DELETE": "हटाना",
     "REPORTNAME": "रिपोर्ट नाम",
     "SEND_IF_EMPTY": "खाली अगर भेजें"
   }
diff --git a/public/app/main/apps/analytics/i18n/id.json b/public/app/main/apps/analytics/i18n/id.json
index f56e8ac..42a7917 100644
--- a/public/app/main/apps/analytics/i18n/id.json
+++ b/public/app/main/apps/analytics/i18n/id.json
@@ -1,88 +1,54 @@
 {
   "ANALYTICS": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "Bidang wajib",
       "COLUMN_REQUIRED": "Bidang wajib",
       "CUSTOM_METRIC_REQUIRED": "Bidang wajib",
-      "METRIC_REQUIRED": "Bidang wajib",
-      "NAME_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib"
+      "METRIC_REQUIRED": "Bidang wajib"
     },
     "ADD_METRIC": "Tambahkan Metrik",
     "ADD_REPORT": "Tambahkan Laporan",
     "ADD_REPORTFIELD": "Tambahkan Field",
-    "ALIAS": "Alias",
     "ANALYTICS": "Analytics",
-    "BACK": "Kembali",
-    "CLOSE": "Dekat",
     "COLUMN": "Kolom",
-    "CONDITION": "Kondisi",
     "CONDITIONS": "Kondisi",
     "COPY_REPORT": "Salin Laporan",
     "CREATE": "Membuat folder",
-    "CREATED_AT": "Dibuat di",
     "CUSTOM_METRIC": "Metrik Khusus",
     "DATE_RANGE_FROM": "Rentang Tanggal Dari",
     "DATE_RANGE_TO": "Rentang Tanggal Untuk",
-    "DELETE": "Menghapus",
     "DELETE_EXTRACTEDREPORT": "Hapus Laporan yang Diekstrak",
     "DELETE_METRIC": "Hapus Metrik",
     "DELETE_REPORT": "Hapus Laporan",
     "DELETE_REPORTFIELD": "Hapus Bidang",
-    "DESCRIPTION": "Deskripsi",
     "DOWNLOAD_EXTRACTEDREPORT": "Unduh Laporan yang Diekstrak",
     "DOWNLOAD_JSON_REPORT": "Ekspor Laporan JSON",
     "EDIT_EXTRACTEDREPORT": "Edit Laporan yang Diekstrak",
     "EDIT_METRIC": "Edit Metrik",
     "EDIT_REPORT": "Edit Laporan",
     "EDIT_REPORTFIELD": "Edit Field",
-    "ERROR": "Kesalahan",
     "EXTRACTEDREPORTS": "Laporan yang Diekstrak",
-    "FIELDS": "Fields",
-    "FORMAT": "Format",
     "FUNCTION": "Fungsi",
-    "GENERAL": "Umum",
     "GENERATED_AT": "Dihasilkan di",
     "GROUP": "Kelompok",
     "GROUP_BY": "Kelompokkan Menurut",
-    "ID": "ID",
     "LIMITED_RESULT": "* Hasil Terbatas",
-    "MESSAGE": "Pesan",
-    "METRIC": "Metrik",
     "METRICS": "Metrik",
     "METRIC_NAME": "Metrik",
-    "NAME": "Nama",
     "NEW_METRIC": "Metrik Baru",
     "NEW_REPORT": "Laporan baru",
-    "NO_AVAILABLE_INFO": "Tidak ada info",
     "NO_DATA": "Tidak ada hasil data",
     "NO_METRIC_FOUND": "Tidak ada metrik yang ditemukan",
-    "OF": "dari",
-    "OPERATOR": "Operator",
     "ORDER_BY": "Dipesan oleh",
-    "OUTPUT": "Keluaran",
-    "PAGE": "Halaman",
-    "PREVIEW": "Preview",
     "PREVIEW_REPORT": "Laporan Pratinjau",
     "QUERY_ERROR": "Kesalahan Kueri",
     "REMOVE": "Hapus Folder",
     "RENAME": "Mengganti nama folder",
     "REPORTNAME": "Nama Laporan",
     "REPORTS": "Laporan",
-    "ROWSPERPAGE": "Baris per halaman",
     "RUN_REPORT": "Jalankan Laporan",
-    "SAVE": "Menyimpan",
-    "SEARCH_FOR_ANYONE": "Pencarian",
     "SEARCH_FOR_FOLDER": "Cari folder",
-    "SELECTED": "Terpilih",
-    "SELECT_ALL": "Pilih Semua",
     "SELECT_NODE": "Pilih folder",
-    "SELECT_NONE": "Pilih Tidak Ada",
     "SEND_IF_EMPTY": "Kirim jika kosong",
-    "SETTINGS": "Pengaturan",
-    "STATUS": "Status",
-    "TABLE": "Meja",
-    "TYPE": "Mengetik",
-    "VALUE": "Nilai"
+    "TABLE": "Meja"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/it.json b/public/app/main/apps/analytics/i18n/it.json
index 4a29444..9f2840f 100644
--- a/public/app/main/apps/analytics/i18n/it.json
+++ b/public/app/main/apps/analytics/i18n/it.json
@@ -2,42 +2,24 @@
   "ANALYTICS": {
     "SEND_IF_EMPTY": "Invia se vuoto",
     "REPORTNAME": "Nome Report",
-    "DELETE": "Elimina",
-    "NAME": "Nome",
     "ANALYTICS": "Analytics",
     "METRICS": "Metriche",
-    "ID": "Id",
     "TABLE": "Tabella",
-    "DESCRIPTION": "Descrizione",
-    "SEARCH_FOR_ANYONE": "Cerca",
-    "METRIC": "Metrica",
     "ERRORS": {
-      "NAME_REQUIRED": "Campo obbligatorio",
       "METRIC_REQUIRED": "Campo obbligatorio",
       "COLUMN_REQUIRED": "Campo obbligatorio",
-      "VALUE_REQUIRED": "Campo obbligatorio",
-      "CUSTOM_METRIC_REQUIRED": "Campo obbligatorio",
-      "ALIAS_REQUIRED": "Campo obbligatorio"
+      "CUSTOM_METRIC_REQUIRED": "Campo obbligatorio"
     },
     "NEW_METRIC": "Nuova Metrica",
     "ADD_METRIC": "Aggiungi Metrica",
     "EDIT_METRIC": "Modifica Metrica",
     "DELETE_METRIC": "Elimina Metrica",
-    "SAVE": "Salva",
-    "BACK": "Indietro",
-    "SELECTED": "Selezionati",
-    "SELECT_ALL": "Seleziona tutti",
-    "SELECT_NONE": "Deseleziona tutti",
-    "TYPE": "Tipo",
     "EXTRACTEDREPORTS": "Report Estratti",
     "DATE_RANGE_FROM": "Da Data",
     "DATE_RANGE_TO": "A Data",
     "GENERATED_AT": "Generato il",
-    "STATUS": "Stato",
-    "OUTPUT": "Output",
     "REPORTS": "Report",
     "SEARCH_FOR_FOLDER": "Cerca per cartella",
-    "CREATED_AT": "Creato il",
     "NEW_REPORT": "Nuovo Report",
     "ADD_REPORT": "AggiungiReport",
     "COPY_REPORT": "Copia Report",
@@ -50,24 +32,12 @@
     "RENAME": "Rinomina cartella",
     "REMOVE": "Elimina cartella",
     "SELECT_NODE": "Seleziona cartella",
-    "ERROR": "Errore",
     "QUERY_ERROR": "Errore Query",
-    "MESSAGE": "Messaggio",
-    "CLOSE": "Chiudi",
-    "FORMAT": "Formato",
-    "SETTINGS": "Impostazioni",
-    "GENERAL": "Generale",
-    "FIELDS": "Campi",
-    "CONDITION": "Condizione",
-    "OPERATOR": "Operatore",
     "GROUP": "Gruppo",
     "COLUMN": "Colonna",
-    "VALUE": "Valore",
-    "PREVIEW": "Anteprima",
     "LIMITED_RESULT": "*Risultati limitati",
     "NO_DATA": "Nessun risultato",
     "CONDITIONS": "Condizioni",
-    "ALIAS": "Alias",
     "FUNCTION": "Funzione",
     "GROUP_BY": "Raggruppa per",
     "ORDER_BY": "Ordina per",
@@ -76,13 +46,9 @@
     "DELETE_REPORTFIELD": "Elimina Campo",
     "METRIC_NAME": "Metrica",
     "NO_METRIC_FOUND": "Metrica non trovata",
-    "NO_AVAILABLE_INFO": "Nessuna informazione disponibile",
     "CUSTOM_METRIC": "Metrica personalizzata",
     "DELETE_EXTRACTEDREPORT": "Elimina Report Estratto",
     "EDIT_EXTRACTEDREPORT": "Modifica Report Estratto",
-    "DOWNLOAD_EXTRACTEDREPORT": "Scarica Report Estratto",
-    "PAGE": "Pagina",
-    "ROWSPERPAGE": "Righe per pagina",
-    "OF": "di"
+    "DOWNLOAD_EXTRACTEDREPORT": "Scarica Report Estratto"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/ja.json b/public/app/main/apps/analytics/i18n/ja.json
index 44e0efc..32c97e4 100644
--- a/public/app/main/apps/analytics/i18n/ja.json
+++ b/public/app/main/apps/analytics/i18n/ja.json
@@ -1,88 +1,54 @@
 {
   "ANALYTICS": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "必須フィールド",
       "COLUMN_REQUIRED": "必須フィールド",
       "CUSTOM_METRIC_REQUIRED": "必須フィールド",
-      "METRIC_REQUIRED": "必須フィールド",
-      "NAME_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド"
+      "METRIC_REQUIRED": "必須フィールド"
     },
     "ADD_METRIC": "メトリックを追加",
     "ADD_REPORT": "レポートを追加",
     "ADD_REPORTFIELD": "フィールドを追加",
-    "ALIAS": "エイリアス",
     "ANALYTICS": "アナリティクス",
-    "BACK": "戻る",
-    "CLOSE": "閉じる",
     "COLUMN": "カラム",
-    "CONDITION": "条件",
     "CONDITIONS": "条件",
     "COPY_REPORT": "レポートをコピー",
     "CREATE": "フォルダーを作る",
-    "CREATED_AT": "作成日時",
     "CUSTOM_METRIC": "カスタムメトリック",
     "DATE_RANGE_FROM": "開始日時",
     "DATE_RANGE_TO": "終了日時",
-    "DELETE": "削除",
     "DELETE_EXTRACTEDREPORT": "抽出されたレポートを削除",
     "DELETE_METRIC": "メトリックを削除",
     "DELETE_REPORT": "レポートを削除",
     "DELETE_REPORTFIELD": "フィールドを削除",
-    "DESCRIPTION": "説明",
     "DOWNLOAD_EXTRACTEDREPORT": "抽出レポートをダウンロード",
     "DOWNLOAD_JSON_REPORT": "レポートのエクスポートJSON",
     "EDIT_EXTRACTEDREPORT": "抽出されたレポートを編集",
     "EDIT_METRIC": "メトリックを編集",
     "EDIT_REPORT": "レポートを編集",
     "EDIT_REPORTFIELD": "フィールドを編集",
-    "ERROR": "エラー",
     "EXTRACTEDREPORTS": "抽出されたレポート",
-    "FIELDS": "フィールド",
-    "FORMAT": "フォーマット",
     "FUNCTION": "機能",
-    "GENERAL": "一般",
     "GENERATED_AT": "生成された",
     "GROUP": "グループ",
     "GROUP_BY": "グループ化",
-    "ID": "Id",
     "LIMITED_RESULT": "*有限の結果",
-    "MESSAGE": "メッセージ",
-    "METRIC": "メトリック",
     "METRICS": "メトリック",
     "METRIC_NAME": "メトリック",
-    "NAME": "名前",
     "NEW_METRIC": "新しいメトリック",
     "NEW_REPORT": "新しいレポート",
-    "NO_AVAILABLE_INFO": "利用可能な情報がありません",
     "NO_DATA": "データなし",
     "NO_METRIC_FOUND": "メトリックが見つかりません",
-    "OF": "の",
-    "OPERATOR": "オペレーター",
     "ORDER_BY": "並べ替え",
-    "OUTPUT": "出力",
-    "PAGE": "ページ",
-    "PREVIEW": "プレビュー",
     "PREVIEW_REPORT": "プレビューレポート",
     "QUERY_ERROR": "クエリエラー",
     "REMOVE": "フォルダを削除",
     "RENAME": "フォルダの名前を変更",
     "REPORTNAME": "レポート名",
     "REPORTS": "レポート",
-    "ROWSPERPAGE": "ページあたりの行数",
     "RUN_REPORT": "レポートを実行",
-    "SAVE": "保存",
-    "SEARCH_FOR_ANYONE": "検索",
     "SEARCH_FOR_FOLDER": "フォルダを検索",
-    "SELECTED": "選択された",
-    "SELECT_ALL": "すべて選択",
     "SELECT_NODE": "フォルダーを選択",
-    "SELECT_NONE": "選択を解除",
-    "SETTINGS": "設定",
-    "STATUS": "状態",
     "TABLE": "テーブル",
-    "TYPE": "タイプ",
-    "VALUE": "値",
     "SEND_IF_EMPTY": "空の場合に送信する"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/ko.json b/public/app/main/apps/analytics/i18n/ko.json
index fba8ef3..f67da3c 100644
--- a/public/app/main/apps/analytics/i18n/ko.json
+++ b/public/app/main/apps/analytics/i18n/ko.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "이름",
     "ANALYTICS": "분석",
     "METRICS": "METRICS",
-    "ID": "ID",
     "TABLE": "테이블",
-    "DESCRIPTION": "설명",
-    "SEARCH_FOR_ANYONE": "모두 검색",
-    "METRIC": "METRIC",
     "ERRORS": {
-      "NAME_REQUIRED": "이름은 필수입니다.",
       "METRIC_REQUIRED": "Metric은 필수입니다.",
       "COLUMN_REQUIRED": "컬럼은 필수입니다.",
-      "VALUE_REQUIRED": "값은 필수입니다.",
-      "CUSTOM_METRIC_REQUIRED": "사용자정의 Metric은 필수입니다.",
-      "ALIAS_REQUIRED": "별명은 필수입니다."
+      "CUSTOM_METRIC_REQUIRED": "사용자정의 Metric은 필수입니다."
     },
     "NEW_METRIC": "신규 Metric",
     "ADD_METRIC": "Metric 추가",
     "EDIT_METRIC": "Metric 편집",
     "DELETE_METRIC": "Metric 삭제",
-    "SAVE": "저장",
-    "BACK": "뒤로",
-    "SELECTED": "선택 완료",
-    "SELECT_ALL": "전체 선택",
-    "SELECT_NONE": "선택 안함",
-    "TYPE": "타입",
     "EXTRACTEDREPORTS": "추출된 레포트",
     "DATE_RANGE_FROM": "시작 날짜",
     "DATE_RANGE_TO": "종료 날짜",
     "GENERATED_AT": "생성 일시",
-    "STATUS": "상태",
-    "OUTPUT": "출력",
     "REPORTS": "레포트",
     "SEARCH_FOR_FOLDER": "폴더 검색",
-    "CREATED_AT": "생성 일시",
     "NEW_REPORT": "신규 레포트",
     "ADD_REPORT": "레포트 추가",
     "COPY_REPORT": "레포트 복사",
@@ -47,24 +30,12 @@
     "RENAME": "이름 바꾸기",
     "REMOVE": "제거",
     "SELECT_NODE": "노드 선택",
-    "ERROR": "오류",
     "QUERY_ERROR": "쿼리 오류",
-    "MESSAGE": "메시지",
-    "CLOSE": "닫기",
-    "FORMAT": "형식",
-    "SETTINGS": "설정",
-    "GENERAL": "일반",
-    "FIELDS": "필드",
-    "CONDITION": "조건",
-    "OPERATOR": "교환원",
     "GROUP": "그룹",
     "COLUMN": "컬럼",
-    "VALUE": "값",
-    "PREVIEW": "미리보기",
     "LIMITED_RESULT": "제한된 결과",
     "NO_DATA": "데이터 없음",
     "CONDITIONS": "조건",
-    "ALIAS": "별명",
     "FUNCTION": "기능",
     "GROUP_BY": "그롭별",
     "ORDER_BY": "순서별",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "레포트 필드 삭제",
     "METRIC_NAME": "METRIC 이름",
     "NO_METRIC_FOUND": "METRIC을 찾을 수 없음",
-    "NO_AVAILABLE_INFO": "사용 가능한 정보 없음",
     "CUSTOM_METRIC": "사용자 정의 METRIC",
     "DELETE_EXTRACTEDREPORT": "추출된 레포트 삭제",
     "EDIT_EXTRACTEDREPORT": "추출된 레포트 수정",
     "DOWNLOAD_EXTRACTEDREPORT": "추출된 레포트 다운로드",
-    "PAGE": "페이지",
-    "ROWSPERPAGE": "페이지별 행 수",
-    "OF": "중",
-    "DELETE": "삭제",
     "REPORTNAME": "레포트 이름",
     "SEND_IF_EMPTY": "비어 있으면 보내기"
   }
diff --git a/public/app/main/apps/analytics/i18n/lt.json b/public/app/main/apps/analytics/i18n/lt.json
index 931ff3d..d69fc21 100644
--- a/public/app/main/apps/analytics/i18n/lt.json
+++ b/public/app/main/apps/analytics/i18n/lt.json
@@ -2,42 +2,24 @@
   "ANALYTICS": {
     "SEND_IF_EMPTY": "Siųsti, jei tuščia",
     "REPORTNAME": "Ataskaitos pavadinimas",
-    "DELETE": "Ištrinti",
-    "NAME": "Pavadinimas",
     "ANALYTICS": "Analizė",
     "METRICS": "Metrikos",
-    "ID": "Id",
     "TABLE": "Lentelė",
-    "DESCRIPTION": "Aprašymas",
-    "SEARCH_FOR_ANYONE": "Paieška",
-    "METRIC": "Metrika",
     "ERRORS": {
-      "NAME_REQUIRED": "Privalomas laukas",
       "METRIC_REQUIRED": "Privalomas laukas",
       "COLUMN_REQUIRED": "Privalomas laukas",
-      "VALUE_REQUIRED": "Privalomas laukas",
-      "CUSTOM_METRIC_REQUIRED": "Privalomas laukas",
-      "ALIAS_REQUIRED": "Privalomas laukas"
+      "CUSTOM_METRIC_REQUIRED": "Privalomas laukas"
     },
     "NEW_METRIC": "Nauja metrika",
     "ADD_METRIC": "Pridėti metriką",
     "EDIT_METRIC": "Redaguoti metriką",
     "DELETE_METRIC": "Ištrinti metriką",
-    "SAVE": "Išsaugoti",
-    "BACK": "Atgal",
-    "SELECTED": "Pasirinkta",
-    "SELECT_ALL": "Pasirinkti viską",
-    "SELECT_NONE": "Nieko nepasirinkti",
-    "TYPE": "Tipas",
     "EXTRACTEDREPORTS": "Išplėstinės ataskaitos",
     "DATE_RANGE_FROM": "Laikotarpis nuo",
     "DATE_RANGE_TO": "Laikotarpis iki",
     "GENERATED_AT": "Generuoti į",
-    "STATUS": "Statusas",
-    "OUTPUT": "Išeiga",
     "REPORTS": "Ataskaitos",
     "SEARCH_FOR_FOLDER": "Ieškoti aplanko",
-    "CREATED_AT": "Sukurtas",
     "NEW_REPORT": "Nauja ataskaita",
     "ADD_REPORT": "Pridėti ataskaitą",
     "COPY_REPORT": "Kopijuoti ataskaitą",
@@ -50,24 +32,12 @@
     "RENAME": "Pervardyti aplanką",
     "REMOVE": "Pašalinti aplanką",
     "SELECT_NODE": "Pasirinkti aplanką",
-    "ERROR": "Klaida",
     "QUERY_ERROR": "Užklausos klaida",
-    "MESSAGE": "Žinutė",
-    "CLOSE": "Uždaryti",
-    "FORMAT": "Formatas",
-    "SETTINGS": "Nustatymai",
-    "GENERAL": "Bendras",
-    "FIELDS": "Laukai",
-    "CONDITION": "Būsena",
-    "OPERATOR": "Operatorius",
     "GROUP": "Grupė",
     "COLUMN": "Stulpelis",
-    "VALUE": "Vertė",
-    "PREVIEW": "Peržiūra",
     "LIMITED_RESULT": "*Riboti rezultatai",
     "NO_DATA": "Duomenų rezultatų nėra",
     "CONDITIONS": "Būsenos",
-    "ALIAS": "Slapyvardis",
     "FUNCTION": "Funkcija",
     "GROUP_BY": "Grupuoti pagal",
     "ORDER_BY": "Rūšiuoti pagal",
@@ -76,13 +46,9 @@
     "DELETE_REPORTFIELD": "Ištrinti lauką",
     "METRIC_NAME": "Metrika",
     "NO_METRIC_FOUND": "Metrika nerasta",
-    "NO_AVAILABLE_INFO": "Informacijos nėra",
     "CUSTOM_METRIC": "Įprasta metrika",
     "DELETE_EXTRACTEDREPORT": "Ištrinti išplėstinę ataskaitą",
     "EDIT_EXTRACTEDREPORT": "Redaguoti išplėstinę ataskaitą",
-    "DOWNLOAD_EXTRACTEDREPORT": "Atsisiųsti išplėstinę ataskaitą",
-    "PAGE": "Puslapis",
-    "ROWSPERPAGE": "Eilutės puslapyje",
-    "OF": "Iš"
+    "DOWNLOAD_EXTRACTEDREPORT": "Atsisiųsti išplėstinę ataskaitą"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/lv.json b/public/app/main/apps/analytics/i18n/lv.json
index 0d98a7b..fcb2f17 100644
--- a/public/app/main/apps/analytics/i18n/lv.json
+++ b/public/app/main/apps/analytics/i18n/lv.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
     "ERRORS": {
-      "NAME_REQUIRED": "Obligāts lauks",
       "METRIC_REQUIRED": "Obligāts lauks",
       "COLUMN_REQUIRED": "Obligāts lauks",
-      "VALUE_REQUIRED": "Obligāts lauks",
-      "CUSTOM_METRIC_REQUIRED": "Obligāts lauks",
-      "ALIAS_REQUIRED": "Obligāts lauks"
+      "CUSTOM_METRIC_REQUIRED": "Obligāts lauks"
     },
-    "NAME": "Nosaukums",
     "ANALYTICS": "Analītika",
     "METRICS": "Rādītāji",
-    "ID": "ID",
     "TABLE": "Tabula",
-    "DESCRIPTION": "Apraksts",
-    "SEARCH_FOR_ANYONE": "Meklēt",
-    "METRIC": "Rādītājs",
     "NEW_METRIC": "Jauns rādītājs",
     "ADD_METRIC": "Pievienot rādītāju",
     "EDIT_METRIC": "Rediģēt rādītāju",
     "DELETE_METRIC": "Dzēst rādītāju",
-    "SAVE": "Saglabāt",
-    "BACK": "Atpakaļ",
-    "SELECTED": "Atlasīts",
-    "SELECT_ALL": "Atlasīt visus",
-    "SELECT_NONE": "Neizvēlēties nevienu",
-    "TYPE": "Tips",
     "EXTRACTEDREPORTS": "Iegūtie pārskati",
     "DATE_RANGE_FROM": "Datumu diapazons no",
     "DATE_RANGE_TO": "Datumu diapazons līdz",
     "GENERATED_AT": "Izveidots",
-    "STATUS": "Statuss",
-    "OUTPUT": "Izvaddati",
     "REPORTS": "Pārskati",
     "SEARCH_FOR_FOLDER": "Meklēt mapi",
-    "CREATED_AT": "Izveidots",
     "NEW_REPORT": "Jauns pārskats",
     "ADD_REPORT": "Pievienot pārskatu",
     "COPY_REPORT": "Kopēt pārskatu",
@@ -47,24 +30,12 @@
     "RENAME": "Pārdēvēt mapi",
     "REMOVE": "Dzēst mapi",
     "SELECT_NODE": "Atlasīt mapi",
-    "ERROR": "Kļūda",
     "QUERY_ERROR": "Vaicājuma kļūda",
-    "MESSAGE": "Ziņojums",
-    "CLOSE": "Aizvērt",
-    "FORMAT": "Formāts",
-    "SETTINGS": "Iestatījumi",
-    "GENERAL": "Vispārīgi",
-    "FIELDS": "Lauki",
-    "CONDITION": "Nosacījums",
-    "OPERATOR": "Operators",
     "GROUP": "Grupa",
     "COLUMN": "Kolonna",
-    "VALUE": "Vērtība",
-    "PREVIEW": "Priekšskatījums",
     "LIMITED_RESULT": "*Ierobežoti rezultāti",
     "NO_DATA": "Nav datu",
     "CONDITIONS": "Nosacījumi",
-    "ALIAS": "Segvārds",
     "FUNCTION": "Funkcija",
     "GROUP_BY": "Grupēt pēc",
     "ORDER_BY": "Sakārtot pēc",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Dzēst lauku",
     "METRIC_NAME": "Rādītājs",
     "NO_METRIC_FOUND": "Rādītājs nav atrasts",
-    "NO_AVAILABLE_INFO": "Nav pieejama informācija",
     "CUSTOM_METRIC": "Pielāgots rādītājs",
     "DELETE_EXTRACTEDREPORT": "Dzēst iegūto pārskatu",
     "EDIT_EXTRACTEDREPORT": "Rediģēt iegūto pārskatu",
     "DOWNLOAD_EXTRACTEDREPORT": "Lejupielādēt iegūto pārskatu",
-    "PAGE": "Lappuse",
-    "ROWSPERPAGE": "Ieraksti lappusē",
-    "OF": "no",
-    "DELETE": "Dzēst",
     "REPORTNAME": "Pārskata nosaukums",
     "SEND_IF_EMPTY": "Nosūtīt, ja tukšs"
   }
diff --git a/public/app/main/apps/analytics/i18n/nl.json b/public/app/main/apps/analytics/i18n/nl.json
index a2787c0..2eb7b01 100644
--- a/public/app/main/apps/analytics/i18n/nl.json
+++ b/public/app/main/apps/analytics/i18n/nl.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Naam",
     "ANALYTICS": "Analytics",
     "METRICS": "Metrieken",
-    "ID": "Id",
     "TABLE": "Tabel",
-    "DESCRIPTION": "Beschrijving",
-    "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
-    "METRIC": "Metrisch",
     "ERRORS": {
-      "NAME_REQUIRED": "De naam is verplicht",
       "METRIC_REQUIRED": "De metrische is vereist",
       "COLUMN_REQUIRED": "De kolom is vereist",
-      "VALUE_REQUIRED": "De waarde is vereist",
-      "CUSTOM_METRIC_REQUIRED": "De aangepaste metrisch is vereist",
-      "ALIAS_REQUIRED": "De alias is vereist"
+      "CUSTOM_METRIC_REQUIRED": "De aangepaste metrisch is vereist"
     },
     "NEW_METRIC": "Nieuwe metrisch",
     "ADD_METRIC": "Voeg metrisch",
     "EDIT_METRIC": "Edit metrisch",
     "DELETE_METRIC": "Verwijder metrisch",
-    "SAVE": "Opslaan",
-    "BACK": "Terug",
-    "SELECTED": "Geselecteerd",
-    "SELECT_ALL": "Alles selecteren",
-    "SELECT_NONE": "Selecteer None (Geen).",
-    "TYPE": "Type",
     "EXTRACTEDREPORTS": "Uitgepakte rapporten",
     "DATE_RANGE_FROM": "Datumbereik Van",
     "DATE_RANGE_TO": "Datumbereik Tot",
     "GENERATED_AT": "Gegenereerd.",
-    "STATUS": "Status",
-    "OUTPUT": "Uitgang",
     "REPORTS": "Rapporten",
     "SEARCH_FOR_FOLDER": "Zoeken naar map",
-    "CREATED_AT": "Gemaakt op",
     "NEW_REPORT": "Nieuw rapport",
     "ADD_REPORT": "Rapport toevoegen",
     "COPY_REPORT": "Kopie rapport",
@@ -47,24 +30,12 @@
     "RENAME": "Naam van map wijzigen",
     "REMOVE": "Map verwijderen",
     "SELECT_NODE": "Map selecteren",
-    "ERROR": "Fout",
     "QUERY_ERROR": "Query fout",
-    "MESSAGE": "Bericht",
-    "CLOSE": "Dicht",
-    "FORMAT": "Formaat",
-    "SETTINGS": "Instellingen",
-    "GENERAL": "Algemeen",
-    "FIELDS": "Velden",
-    "CONDITION": "Voorwaarde",
-    "OPERATOR": "Bestuurder",
     "GROUP": "Groep",
     "COLUMN": "Kolom",
-    "VALUE": "Waarde",
-    "PREVIEW": "Afdrukvoorbeeld",
     "LIMITED_RESULT": "*Beperkte resultaten",
     "NO_DATA": "Geen gegevens resultaten",
     "CONDITIONS": "Voorwaarden",
-    "ALIAS": "Alias",
     "FUNCTION": "Functie",
     "GROUP_BY": "Groeperen op",
     "ORDER_BY": "Order By",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Veld wissen",
     "METRIC_NAME": "Metrisch",
     "NO_METRIC_FOUND": "Geen metrische gevonden",
-    "NO_AVAILABLE_INFO": "Geen beschikbare informatie",
     "CUSTOM_METRIC": "Aangepaste metrisch",
     "DELETE_EXTRACTEDREPORT": "Verwijder geëxtraheerd verslag",
     "EDIT_EXTRACTEDREPORT": "Edit geëxtraheerd verslag",
     "DOWNLOAD_EXTRACTEDREPORT": "Download geëxtraheerd verslag",
-    "PAGE": "Pagina",
-    "ROWSPERPAGE": "Rijen per pagina",
-    "OF": "Van",
-    "DELETE": "Verwijder",
     "REPORTNAME": "Rapportnaam",
     "SEND_IF_EMPTY": "Verstuur als leeg"
   }
diff --git a/public/app/main/apps/analytics/i18n/no.json b/public/app/main/apps/analytics/i18n/no.json
index 2eda6f8..8b5801b 100644
--- a/public/app/main/apps/analytics/i18n/no.json
+++ b/public/app/main/apps/analytics/i18n/no.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Navn",
     "ANALYTICS": "Analytics",
     "METRICS": "Nøkkeltall",
-    "ID": "Id",
     "TABLE": "Tabell",
-    "DESCRIPTION": "Beskrivelse",
-    "SEARCH_FOR_ANYONE": "Søk etter alle",
-    "METRIC": "Metrisk",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er nødvendig",
       "METRIC_REQUIRED": "Nøkkeltallet er nødvendig",
       "COLUMN_REQUIRED": "Kolonnen er obligatorisk",
-      "VALUE_REQUIRED": "Verdien er obligatorisk",
-      "CUSTOM_METRIC_REQUIRED": "Den egendefinerte nøkkeltall er nødvendig",
-      "ALIAS_REQUIRED": "Aliaset er nødvendig"
+      "CUSTOM_METRIC_REQUIRED": "Den egendefinerte nøkkeltall er nødvendig"
     },
     "NEW_METRIC": "Nye nøkkeltall",
     "ADD_METRIC": "Legg til metrisk",
     "EDIT_METRIC": "Rediger metrisk",
     "DELETE_METRIC": "Slette metrisk",
-    "SAVE": "Lagre",
-    "BACK": "Tilbake",
-    "SELECTED": "Valgt",
-    "SELECT_ALL": "Velg alle",
-    "SELECT_NONE": "Velg ingen",
-    "TYPE": "Type",
     "EXTRACTEDREPORTS": "Hentes ut rapporter",
     "DATE_RANGE_FROM": "Dato utvalg fra",
     "DATE_RANGE_TO": "Datointervallet til",
     "GENERATED_AT": "Generert på",
-    "STATUS": "Status",
-    "OUTPUT": "Utgang",
     "REPORTS": "Rapporter",
     "SEARCH_FOR_FOLDER": "Søk etter mappe",
-    "CREATED_AT": "Opprettet i",
     "NEW_REPORT": "Ny rapport",
     "ADD_REPORT": "Legg til rapport",
     "COPY_REPORT": "Kopiere rapport",
@@ -47,24 +30,12 @@
     "RENAME": "Gi nytt navn til mappe",
     "REMOVE": "Fjern mappe",
     "SELECT_NODE": "Velg mappe",
-    "ERROR": "Feil",
     "QUERY_ERROR": "Søk feil",
-    "MESSAGE": "Melding",
-    "CLOSE": "Lukk",
-    "FORMAT": "Format",
-    "SETTINGS": "Innstillinger",
-    "GENERAL": "Generelt",
-    "FIELDS": "Felt",
-    "CONDITION": "Tilstand",
-    "OPERATOR": "Føreren",
     "GROUP": "Gruppe",
     "COLUMN": "Kolonnen",
-    "VALUE": "Verdi",
-    "PREVIEW": "Forhåndsvisning",
     "LIMITED_RESULT": "*Begrensede resultater",
     "NO_DATA": "Ingen data resultater",
     "CONDITIONS": "Betingelser",
-    "ALIAS": "Alias",
     "FUNCTION": "Funksjon",
     "GROUP_BY": "Gruppe av",
     "ORDER_BY": "Bestilling av",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Slette feltet",
     "METRIC_NAME": "Metrisk",
     "NO_METRIC_FOUND": "Ingen metriske funnet",
-    "NO_AVAILABLE_INFO": "Ingen tilgjengelig info",
     "CUSTOM_METRIC": "Egendefinerte nøkkeltall",
     "DELETE_EXTRACTEDREPORT": "Slette ut rapport",
     "EDIT_EXTRACTEDREPORT": "Rediger ekstrahert rapport",
     "DOWNLOAD_EXTRACTEDREPORT": "Last ned rapporten ut",
-    "PAGE": "Siden",
-    "ROWSPERPAGE": "Linjer per side",
-    "OF": "Av",
-    "DELETE": "Slett",
     "REPORTNAME": "Rapportnavn",
     "SEND_IF_EMPTY": "Send hvis tom"
   }
diff --git a/public/app/main/apps/analytics/i18n/pl.json b/public/app/main/apps/analytics/i18n/pl.json
index 7e852e5..83faaf7 100644
--- a/public/app/main/apps/analytics/i18n/pl.json
+++ b/public/app/main/apps/analytics/i18n/pl.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Nazwa",
     "ANALYTICS": "Analityka",
     "METRICS": "Metryki",
-    "ID": "Id",
     "TABLE": "Tabela",
-    "DESCRIPTION": "Opis",
-    "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
-    "METRIC": "Metryka",
     "ERRORS": {
-      "NAME_REQUIRED": "Wymagana nazwa",
       "METRIC_REQUIRED": "Wymagana metryka",
       "COLUMN_REQUIRED": "Wymagana kolumna",
-      "VALUE_REQUIRED": "Wymagana wartość",
-      "CUSTOM_METRIC_REQUIRED": "Wymagana metryka własna",
-      "ALIAS_REQUIRED": "Wymagany alias"
+      "CUSTOM_METRIC_REQUIRED": "Wymagana metryka własna"
     },
     "NEW_METRIC": "Nowa metryka",
     "ADD_METRIC": "Dodaj metrykę",
     "EDIT_METRIC": "Edytuj metrykę",
     "DELETE_METRIC": "Usuń metrykę",
-    "SAVE": "Zapisz",
-    "BACK": "Powrót",
-    "SELECTED": "Wybrane",
-    "SELECT_ALL": "Zaznacz wszystkie",
-    "SELECT_NONE": "Odznacz wszystkie",
-    "TYPE": "Typ",
     "EXTRACTEDREPORTS": "Rozpakowanych raportów",
     "DATE_RANGE_FROM": "Zakres dat od",
     "DATE_RANGE_TO": "Zakres dat do",
     "GENERATED_AT": "Wygenerowane w",
-    "STATUS": "Stan",
-    "OUTPUT": "Wyjście",
     "REPORTS": "Raporty",
     "SEARCH_FOR_FOLDER": "Wyszukaj folder",
-    "CREATED_AT": "Utworzone w",
     "NEW_REPORT": "Nowy raport",
     "ADD_REPORT": "Dodaj raport",
     "COPY_REPORT": "Kopia raportu",
@@ -47,24 +30,12 @@
     "RENAME": "Zmień nazwę",
     "REMOVE": "Usuń folder",
     "SELECT_NODE": "Wybierz folder",
-    "ERROR": "Błąd",
     "QUERY_ERROR": "Błąd zapytania",
-    "MESSAGE": "Komunikat",
-    "CLOSE": "Zamknij",
-    "FORMAT": "Format",
-    "SETTINGS": "Ustawienia",
-    "GENERAL": "Ogólne",
-    "FIELDS": "Pola",
-    "CONDITION": "Stan",
-    "OPERATOR": "Operator",
     "GROUP": "Grupa",
     "COLUMN": "Kolumna",
-    "VALUE": "Wartość",
-    "PREVIEW": "Podgląd",
     "LIMITED_RESULT": "*Ograniczone rezultaty",
     "NO_DATA": "Brak danych",
     "CONDITIONS": "Warunki",
-    "ALIAS": "Alias",
     "FUNCTION": "Funkcja",
     "GROUP_BY": "Grupuj wg",
     "ORDER_BY": "Sortuj wg",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Usuń pole",
     "METRIC_NAME": "Metryka",
     "NO_METRIC_FOUND": "Nie znaleziono metryki",
-    "NO_AVAILABLE_INFO": "Brak informacji",
     "CUSTOM_METRIC": "Metryka własna",
     "DELETE_EXTRACTEDREPORT": "Usuń raport",
     "EDIT_EXTRACTEDREPORT": "Edytuj raport",
     "DOWNLOAD_EXTRACTEDREPORT": "Pobierz raport",
-    "PAGE": "Strona",
-    "ROWSPERPAGE": "Wierszy na stronie",
-    "OF": "z",
-    "DELETE": "Kasować",
     "REPORTNAME": "Nazwa raportu",
     "SEND_IF_EMPTY": "Wyślij, jeśli jest pusty"
   }
diff --git a/public/app/main/apps/analytics/i18n/pt-BR.json b/public/app/main/apps/analytics/i18n/pt-BR.json
index 53ccda2..f57e2de 100644
--- a/public/app/main/apps/analytics/i18n/pt-BR.json
+++ b/public/app/main/apps/analytics/i18n/pt-BR.json
@@ -2,42 +2,24 @@
   "ANALYTICS": {
     "SEND_IF_EMPTY": "Enviar se vazio",
     "REPORTNAME": "Nome do relatório",
-    "DELETE": "Excluir",
-    "NAME": "Nome",
     "ANALYTICS": "Relatórios",
     "METRICS": "Métricas",
-    "ID": "Id",
     "TABLE": "Tabela",
-    "DESCRIPTION": "Descrição",
-    "SEARCH_FOR_ANYONE": "Procurar",
-    "METRIC": "Métrica",
     "ERRORS": {
-      "NAME_REQUIRED": "Campo obrigatório",
       "METRIC_REQUIRED": "Campo obrigatório",
       "COLUMN_REQUIRED": "Campo obrigatório",
-      "VALUE_REQUIRED": "Campo obrigatório",
-      "CUSTOM_METRIC_REQUIRED": "Campo obrigatório",
-      "ALIAS_REQUIRED": "Campo obrigatório"
+      "CUSTOM_METRIC_REQUIRED": "Campo obrigatório"
     },
     "NEW_METRIC": "Nova métrica",
     "ADD_METRIC": "Adicionar métrica",
     "EDIT_METRIC": "Editar métrica",
     "DELETE_METRIC": "Excluir métrica",
-    "SAVE": "Salvar",
-    "BACK": "Voltar",
-    "SELECTED": "Selecionado",
-    "SELECT_ALL": "Selecionar todos",
-    "SELECT_NONE": "Selecione nenhum",
-    "TYPE": "Tipo",
     "EXTRACTEDREPORTS": "Relatórios extraídos",
     "DATE_RANGE_FROM": "Intervalo de datas de",
     "DATE_RANGE_TO": "Intervalo de datas para",
     "GENERATED_AT": "Gerado em",
-    "STATUS": "Status",
-    "OUTPUT": "Saída",
     "REPORTS": "Relatórios",
     "SEARCH_FOR_FOLDER": "Procurar por pasta",
-    "CREATED_AT": "Criado em",
     "NEW_REPORT": "Novo relatório",
     "ADD_REPORT": "Adicionar relatório",
     "COPY_REPORT": "Copiar relatório",
@@ -50,24 +32,12 @@
     "RENAME": "Renomear pasta",
     "REMOVE": "Remover pasta",
     "SELECT_NODE": "Selecione a pasta",
-    "ERROR": "Erro",
     "QUERY_ERROR": "Erro de consulta",
-    "MESSAGE": "Mensagem",
-    "CLOSE": "Fechar",
-    "FORMAT": "Formato",
-    "SETTINGS": "Definições",
-    "GENERAL": "Geral",
-    "FIELDS": "Campos",
-    "CONDITION": "Condição",
-    "OPERATOR": "Operador",
     "GROUP": "Grupo",
     "COLUMN": "Coluna",
-    "VALUE": "Valor",
-    "PREVIEW": "Visualizar",
     "LIMITED_RESULT": "* Resultados limitados",
     "NO_DATA": "Nenhum resultado de dados",
     "CONDITIONS": "Condições",
-    "ALIAS": "Alias",
     "FUNCTION": "Função",
     "GROUP_BY": "Agrupar por",
     "ORDER_BY": "Ordenar por",
@@ -76,13 +46,9 @@
     "DELETE_REPORTFIELD": "Excluir campo",
     "METRIC_NAME": "Nome métrica",
     "NO_METRIC_FOUND": "Nenhuma métrica encontrada",
-    "NO_AVAILABLE_INFO": "Nenhuma informação disponível",
     "CUSTOM_METRIC": "Métrica personalizada",
     "DELETE_EXTRACTEDREPORT": "Excluir relatório extraído",
     "EDIT_EXTRACTEDREPORT": "Editar relatório extraído",
-    "DOWNLOAD_EXTRACTEDREPORT": "Download do relatório extraído",
-    "PAGE": "Página",
-    "ROWSPERPAGE": "Linhas por página",
-    "OF": "do"
+    "DOWNLOAD_EXTRACTEDREPORT": "Download do relatório extraído"
   }
 }
diff --git a/public/app/main/apps/analytics/i18n/pt-PT.json b/public/app/main/apps/analytics/i18n/pt-PT.json
index 138a71b..8a848a9 100644
--- a/public/app/main/apps/analytics/i18n/pt-PT.json
+++ b/public/app/main/apps/analytics/i18n/pt-PT.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Nome",
     "ANALYTICS": "Analytics",
     "METRICS": "Métricas",
-    "ID": "Id",
     "TABLE": "Tabela",
-    "DESCRIPTION": "Descrição",
-    "SEARCH_FOR_ANYONE": "Pesquisar todos",
-    "METRIC": "Sistema Métrico",
     "ERRORS": {
-      "NAME_REQUIRED": "O Nome é obrigatório",
       "METRIC_REQUIRED": "A métrica é necessária",
       "COLUMN_REQUIRED": "A coluna é necessário",
-      "VALUE_REQUIRED": "O valor é obrigatório",
-      "CUSTOM_METRIC_REQUIRED": "A Métrica personalizada é necessária",
-      "ALIAS_REQUIRED": "O Alias é necessária"
+      "CUSTOM_METRIC_REQUIRED": "A Métrica personalizada é necessária"
     },
     "NEW_METRIC": "Nova Métrica",
     "ADD_METRIC": "Adicionar Sistema Métrico",
     "EDIT_METRIC": "Editar Métrica",
     "DELETE_METRIC": "Excluir Métrica",
-    "SAVE": "Salvar",
-    "BACK": "De volta",
-    "SELECTED": "Selecionada",
-    "SELECT_ALL": "Selecionar todas",
-    "SELECT_NONE": "Selecione Nenhum",
-    "TYPE": "Tipo",
     "EXTRACTEDREPORTS": "Relatórios extraídos",
     "DATE_RANGE_FROM": "Intervalo de data",
     "DATE_RANGE_TO": "Intervalo de datas para a",
     "GENERATED_AT": "Gerado em",
-    "STATUS": "Estado",
-    "OUTPUT": "Saída",
     "REPORTS": "Relatórios",
     "SEARCH_FOR_FOLDER": "Busca por Pasta",
-    "CREATED_AT": "Criado em",
     "NEW_REPORT": "Novo Relatório",
     "ADD_REPORT": "Adicionar relatório",
     "COPY_REPORT": "A cópia do relatório",
@@ -47,24 +30,12 @@
     "RENAME": "Renomear pasta",
     "REMOVE": "Remover pasta",
     "SELECT_NODE": "Selecione a pasta",
-    "ERROR": "Erro",
     "QUERY_ERROR": "Erro de consulta",
-    "MESSAGE": "Mensagem",
-    "CLOSE": "Fechar",
-    "FORMAT": "Formato",
-    "SETTINGS": "Definições",
-    "GENERAL": "Geral",
-    "FIELDS": "Campos",
-    "CONDITION": "Estado",
-    "OPERATOR": "Operador",
     "GROUP": "Grupo",
     "COLUMN": "Coluna",
-    "VALUE": "Valor",
-    "PREVIEW": "Visualização",
     "LIMITED_RESULT": "*Resultados limitados",
     "NO_DATA": "Não há dados resultados",
     "CONDITIONS": "Condições",
-    "ALIAS": "Alias",
     "FUNCTION": "Função",
     "GROUP_BY": "Agrupar por",
     "ORDER_BY": "Por fim",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Excluir domínio",
     "METRIC_NAME": "Sistema Métrico",
     "NO_METRIC_FOUND": "Nenhuma métrica encontrada",
-    "NO_AVAILABLE_INFO": "Sem informações disponíveis",
     "CUSTOM_METRIC": "Métrica personalizada",
     "DELETE_EXTRACTEDREPORT": "Excluir Relatório extraído",
     "EDIT_EXTRACTEDREPORT": "Editar Relatório extraído",
     "DOWNLOAD_EXTRACTEDREPORT": "Baixar relatório extraído",
-    "PAGE": "Página",
-    "ROWSPERPAGE": "Linhas por página",
-    "OF": "De",
-    "DELETE": "Excluir",
     "REPORTNAME": "Nome do relatório",
     "SEND_IF_EMPTY": "Enviar se vazio"
   }
diff --git a/public/app/main/apps/analytics/i18n/ru.json b/public/app/main/apps/analytics/i18n/ru.json
index 90126ed..553625e 100644
--- a/public/app/main/apps/analytics/i18n/ru.json
+++ b/public/app/main/apps/analytics/i18n/ru.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Имя",
     "ANALYTICS": "Аналитики",
     "METRICS": "Метрики",
-    "ID": "Id",
     "TABLE": "Таблица",
-    "DESCRIPTION": "Описание",
-    "SEARCH_FOR_ANYONE": "Для поиска любого",
-    "METRIC": "Метрические",
     "ERRORS": {
-      "NAME_REQUIRED": "Это имя требуется",
       "METRIC_REQUIRED": "Метрика не требуется",
       "COLUMN_REQUIRED": "Колонки не требуется",
-      "VALUE_REQUIRED": "Это значение требуется",
-      "CUSTOM_METRIC_REQUIRED": "Пользовательские метрики не требуется",
-      "ALIAS_REQUIRED": "Псевдоним не требуется"
+      "CUSTOM_METRIC_REQUIRED": "Пользовательские метрики не требуется"
     },
     "NEW_METRIC": "Новые метрические",
     "ADD_METRIC": "Добавить метрические",
     "EDIT_METRIC": "Редактировать с метрической резьбой",
     "DELETE_METRIC": "Удалить с метрической резьбой",
-    "SAVE": "Сохранить",
-    "BACK": "Назад",
-    "SELECTED": "Выбранные",
-    "SELECT_ALL": "Выбрать все",
-    "SELECT_NONE": "Выберите пункт None",
-    "TYPE": "Тип",
     "EXTRACTEDREPORTS": "Извлечь доклады",
     "DATE_RANGE_FROM": "Дату в диапазоне от",
     "DATE_RANGE_TO": "Диапазон дат для",
     "GENERATED_AT": "Генерируется по",
-    "STATUS": "Статус",
-    "OUTPUT": "Выход",
     "REPORTS": "Доклады",
     "SEARCH_FOR_FOLDER": "Поиск папки",
-    "CREATED_AT": "Созданные в",
     "NEW_REPORT": "Новый доклад",
     "ADD_REPORT": "Добавить отчет",
     "COPY_REPORT": "Копировать отчет",
@@ -47,24 +30,12 @@
     "RENAME": "Переименовать папку",
     "REMOVE": "Удалить папку",
     "SELECT_NODE": "Выберите папку",
-    "ERROR": "Сообщение об ошибке",
     "QUERY_ERROR": "Ошибка запроса",
-    "MESSAGE": "Сообщение",
-    "CLOSE": "Закрыть",
-    "FORMAT": "Формат",
-    "SETTINGS": "Настройки",
-    "GENERAL": "Генеральной",
-    "FIELDS": "Поля",
-    "CONDITION": "Состояние",
-    "OPERATOR": "Оператор",
     "GROUP": "Группа",
     "COLUMN": "Рулевой колонки",
-    "VALUE": "Значение",
-    "PREVIEW": "Предварительный просмотр",
     "LIMITED_RESULT": "*Ограниченные результаты",
     "NO_DATA": "Нет данных результатов",
     "CONDITIONS": "Условия",
-    "ALIAS": "Псевдоним",
     "FUNCTION": "Функции",
     "GROUP_BY": "Группы",
     "ORDER_BY": "Заказ",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Удалить поле",
     "METRIC_NAME": "Метрические",
     "NO_METRIC_FOUND": "Не найден с метрической резьбой",
-    "NO_AVAILABLE_INFO": "Нет доступной информации",
     "CUSTOM_METRIC": "Пользовательские метрики",
     "DELETE_EXTRACTEDREPORT": "Удалить извлеченные доклад",
     "EDIT_EXTRACTEDREPORT": "Редактировать распаковали доклад",
     "DOWNLOAD_EXTRACTEDREPORT": "Загрузить доклад извлечены",
-    "PAGE": "Страница",
-    "ROWSPERPAGE": "Строк на странице",
-    "OF": "В",
-    "DELETE": "Удалить",
     "REPORTNAME": "Название отчета",
     "SEND_IF_EMPTY": "Отправить, если пусто"
   }
diff --git a/public/app/main/apps/analytics/i18n/sv.json b/public/app/main/apps/analytics/i18n/sv.json
index a1ab80e..f15e13d 100644
--- a/public/app/main/apps/analytics/i18n/sv.json
+++ b/public/app/main/apps/analytics/i18n/sv.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Namn",
     "ANALYTICS": "Analytics",
     "METRICS": "Mätvärden",
-    "ID": "Id",
     "TABLE": "Tabell",
-    "DESCRIPTION": "Beskrivning",
-    "SEARCH_FOR_ANYONE": "Sök",
-    "METRIC": "Mätvärde",
     "ERRORS": {
-      "NAME_REQUIRED": "Obligatoriskt fält",
       "METRIC_REQUIRED": "Obligatoriskt fält",
       "COLUMN_REQUIRED": "Obligatoriskt fält",
-      "VALUE_REQUIRED": "Obligatoriskt fält",
-      "CUSTOM_METRIC_REQUIRED": "Obligatoriskt fält",
-      "ALIAS_REQUIRED": "Obligatoriskt fält"
+      "CUSTOM_METRIC_REQUIRED": "Obligatoriskt fält"
     },
     "NEW_METRIC": "Nytt mätvärde",
     "ADD_METRIC": "Lägg till mätvärde",
     "EDIT_METRIC": "Redigera mätvärde",
     "DELETE_METRIC": "Ta bort mätvärde",
-    "SAVE": "Spara",
-    "BACK": "Tillbaka",
-    "SELECTED": "Vald",
-    "SELECT_ALL": "Markera alla",
-    "SELECT_NONE": "Välj ingen",
-    "TYPE": "Typ",
     "EXTRACTEDREPORTS": "Extraherade rapporter",
     "DATE_RANGE_FROM": "Från datum",
     "DATE_RANGE_TO": "Till datum",
     "GENERATED_AT": "Genererad vid",
-    "STATUS": "Status",
-    "OUTPUT": "Resultat",
     "REPORTS": "Rapporter",
     "SEARCH_FOR_FOLDER": "Sök efter mapp",
-    "CREATED_AT": "Skapad",
     "NEW_REPORT": "Ny rapport",
     "ADD_REPORT": "Lägg till rapport",
     "COPY_REPORT": "Kopiera rapport",
@@ -47,24 +30,12 @@
     "RENAME": "Ändra namn",
     "REMOVE": "Radera",
     "SELECT_NODE": "Välj mapp",
-    "ERROR": "Fel",
     "QUERY_ERROR": "Queryfel",
-    "MESSAGE": "Meddelande",
-    "CLOSE": "Stäng",
-    "FORMAT": "Format",
-    "SETTINGS": "Inställningar",
-    "GENERAL": "Allmänt",
-    "FIELDS": "Fält",
-    "CONDITION": "Skick",
-    "OPERATOR": "Operatör",
     "GROUP": "Grupp",
     "COLUMN": "Kolumn",
-    "VALUE": "Värde",
-    "PREVIEW": "Förhandsgranska",
     "LIMITED_RESULT": "*Begränsat resultat",
     "NO_DATA": "Ingen data",
     "CONDITIONS": "Villkor",
-    "ALIAS": "Alias",
     "FUNCTION": "Funktion",
     "GROUP_BY": "Gruppera efter",
     "ORDER_BY": "Beställning av",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Ta bort fält",
     "METRIC_NAME": "Mätvärde",
     "NO_METRIC_FOUND": "Ingen mätvärden hittades",
-    "NO_AVAILABLE_INFO": "Ingen tillgänlig info",
     "CUSTOM_METRIC": "Anpassat mätvärde",
     "DELETE_EXTRACTEDREPORT": "Ta bort rapport",
     "EDIT_EXTRACTEDREPORT": "Redigera rapport",
     "DOWNLOAD_EXTRACTEDREPORT": "Ladda ner rapport",
-    "PAGE": "Sida",
-    "ROWSPERPAGE": "Rader per sida",
-    "OF": "av",
-    "DELETE": "Radera",
     "REPORTNAME": "Rapportnamn",
     "SEND_IF_EMPTY": "Skicka om rapporten är tom"
   }
diff --git a/public/app/main/apps/analytics/i18n/tr.json b/public/app/main/apps/analytics/i18n/tr.json
index c8b1565..bf7e4ce 100644
--- a/public/app/main/apps/analytics/i18n/tr.json
+++ b/public/app/main/apps/analytics/i18n/tr.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "Adı",
     "ANALYTICS": "Analitik",
     "METRICS": "Ölçümleri",
-    "ID": "Id",
     "TABLE": "Masa",
-    "DESCRIPTION": "Açıklama",
-    "SEARCH_FOR_ANYONE": "Arama herkesin",
-    "METRIC": "Metrik",
     "ERRORS": {
-      "NAME_REQUIRED": "Adı gerekiyor",
       "METRIC_REQUIRED": "Metrik gerekiyor.",
       "COLUMN_REQUIRED": "Kolon gerekli",
-      "VALUE_REQUIRED": "Bu Değer gereklidir",
-      "CUSTOM_METRIC_REQUIRED": "Özel Metrik gerekiyor.",
-      "ALIAS_REQUIRED": "Ve diğer gerekli"
+      "CUSTOM_METRIC_REQUIRED": "Özel Metrik gerekiyor."
     },
     "NEW_METRIC": "Yeni Metrik",
     "ADD_METRIC": "Add Metrik",
     "EDIT_METRIC": "Edit Metrik",
     "DELETE_METRIC": "Delete Metrik",
-    "SAVE": "Kaydet",
-    "BACK": "Geri",
-    "SELECTED": "Seçilen",
-    "SELECT_ALL": "Tümünü Seç",
-    "SELECT_NONE": "Hiçbiri",
-    "TYPE": "Tipi",
     "EXTRACTEDREPORTS": "Ayıklanan Raporları",
     "DATE_RANGE_FROM": "Tarih Aralığı",
     "DATE_RANGE_TO": "Tarih Aralığı",
     "GENERATED_AT": "Oluşturulan",
-    "STATUS": "Durum",
-    "OUTPUT": "Çıkış",
     "REPORTS": "Raporlar",
     "SEARCH_FOR_FOLDER": "Arama klasör",
-    "CREATED_AT": "Oluşturulmuş",
     "NEW_REPORT": "Yeni bir Rapor",
     "ADD_REPORT": "Rapor Ekleme",
     "COPY_REPORT": "Kopya raporu",
@@ -47,24 +30,12 @@
     "RENAME": "Klasör yeniden adlandırılamıyor",
     "REMOVE": "Klasörü Kaldır",
     "SELECT_NODE": "Klasör Seçin",
-    "ERROR": "Hata",
     "QUERY_ERROR": "Sorgu Hatası",
-    "MESSAGE": "Mesaj",
-    "CLOSE": "Close",
-    "FORMAT": "Biçimi",
-    "SETTINGS": "Ayarlar",
-    "GENERAL": "Genel",
-    "FIELDS": "Alanlar",
-    "CONDITION": "Durumunu",
-    "OPERATOR": "Sürücü",
     "GROUP": "Grup",
     "COLUMN": "Direksiyon kolonu",
-    "VALUE": "Değer",
-    "PREVIEW": "Önizleme",
     "LIMITED_RESULT": "*Sınırlı Sonuçlar",
     "NO_DATA": "Veri sonuçları",
     "CONDITIONS": "Koşullar",
-    "ALIAS": "Alias",
     "FUNCTION": "Fonksiyon",
     "GROUP_BY": "Grup,",
     "ORDER_BY": "Sipariş",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "Silme alanına",
     "METRIC_NAME": "Metrik",
     "NO_METRIC_FOUND": "Hiçbir metrik bulunamadı",
-    "NO_AVAILABLE_INFO": "Mevcut bilgisi",
     "CUSTOM_METRIC": "Özel Metrik",
     "DELETE_EXTRACTEDREPORT": "Ayıklanan Silin Raporu",
     "EDIT_EXTRACTEDREPORT": "Ayıklanan Düzenle Rapor",
     "DOWNLOAD_EXTRACTEDREPORT": "Ayıklanan Karşıdan Raporu",
-    "PAGE": "Sayfa",
-    "ROWSPERPAGE": "Sayfadaki satırları",
-    "OF": "Ve",
-    "DELETE": "silmek",
     "REPORTNAME": "Rapor Adı",
     "SEND_IF_EMPTY": "Boş gönder"
   }
diff --git a/public/app/main/apps/analytics/i18n/zh-CN.json b/public/app/main/apps/analytics/i18n/zh-CN.json
index b081102..5e00e43 100644
--- a/public/app/main/apps/analytics/i18n/zh-CN.json
+++ b/public/app/main/apps/analytics/i18n/zh-CN.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "名称",
     "ANALYTICS": "分析",
     "METRICS": "衡量指标",
-    "ID": "Id",
     "TABLE": "表",
-    "DESCRIPTION": "描述",
-    "SEARCH_FOR_ANYONE": "搜索任何人",
-    "METRIC": "公制",
     "ERRORS": {
-      "NAME_REQUIRED": "该名称是必需的",
       "METRIC_REQUIRED": "度量是必需的",
       "COLUMN_REQUIRED": "该列是必需的",
-      "VALUE_REQUIRED": "该值是必需的",
-      "CUSTOM_METRIC_REQUIRED": "自定义的度量标准是必需的",
-      "ALIAS_REQUIRED": "别名是必需的"
+      "CUSTOM_METRIC_REQUIRED": "自定义的度量标准是必需的"
     },
     "NEW_METRIC": "新的度量标准",
     "ADD_METRIC": "添加公制",
     "EDIT_METRIC": "编辑公制",
     "DELETE_METRIC": "删除公制",
-    "SAVE": "保存",
-    "BACK": "返回",
-    "SELECTED": "选中的",
-    "SELECT_ALL": "选择所有",
-    "SELECT_NONE": "选择 “无”",
-    "TYPE": "类型",
     "EXTRACTEDREPORTS": "提取的报告。",
     "DATE_RANGE_FROM": "日期范围",
     "DATE_RANGE_TO": "日期范围",
     "GENERATED_AT": "生成的",
-    "STATUS": "状态",
-    "OUTPUT": "输出",
     "REPORTS": "报告",
     "SEARCH_FOR_FOLDER": "搜索文件夹",
-    "CREATED_AT": "创建在",
     "NEW_REPORT": "新的报告。",
     "ADD_REPORT": "添加报告",
     "COPY_REPORT": "复制报告",
@@ -47,24 +30,12 @@
     "RENAME": "重命名文件夹",
     "REMOVE": "删除文件夹",
     "SELECT_NODE": "选择文件夹",
-    "ERROR": "错误",
     "QUERY_ERROR": "查询错误。",
-    "MESSAGE": "消息",
-    "CLOSE": "关闭",
-    "FORMAT": "格式",
-    "SETTINGS": "设置",
-    "GENERAL": "总的",
-    "FIELDS": "字段",
-    "CONDITION": "条件",
-    "OPERATOR": "操作员",
     "GROUP": "本集团",
     "COLUMN": "列",
-    "VALUE": "值",
-    "PREVIEW": "预览",
     "LIMITED_RESULT": "*有限的结果。",
     "NO_DATA": "没有数据结果。",
     "CONDITIONS": "条件",
-    "ALIAS": "别名。",
     "FUNCTION": "功能",
     "GROUP_BY": "组。",
     "ORDER_BY": "Order By",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "删除字段。",
     "METRIC_NAME": "公制",
     "NO_METRIC_FOUND": "没有找到的度量",
-    "NO_AVAILABLE_INFO": "无可用的信息",
     "CUSTOM_METRIC": "自定义度量",
     "DELETE_EXTRACTEDREPORT": "删除解压的报告。",
     "EDIT_EXTRACTEDREPORT": "编辑解压的报告。",
     "DOWNLOAD_EXTRACTEDREPORT": "下载解压缩的报告。",
-    "PAGE": "页面",
-    "ROWSPERPAGE": "每页的行数。",
-    "OF": "的",
-    "DELETE": "删除",
     "REPORTNAME": "报告名称",
     "SEND_IF_EMPTY": "如果空的话发送"
   }
diff --git a/public/app/main/apps/analytics/i18n/zh-TW.json b/public/app/main/apps/analytics/i18n/zh-TW.json
index 54dbe1d..f11cafb 100644
--- a/public/app/main/apps/analytics/i18n/zh-TW.json
+++ b/public/app/main/apps/analytics/i18n/zh-TW.json
@@ -1,40 +1,23 @@
 {
   "ANALYTICS": {
-    "NAME": "名稱",
     "ANALYTICS": "分析",
     "METRICS": "評量標準",
-    "ID": "Id",
     "TABLE": "資料表",
-    "DESCRIPTION": "說明",
-    "SEARCH_FOR_ANYONE": "搜尋使用者",
-    "METRIC": "公制",
     "ERRORS": {
-      "NAME_REQUIRED": "「名稱」為必填欄位",
       "METRIC_REQUIRED": "公制為必填欄位",
       "COLUMN_REQUIRED": "該欄位為必填欄位",
-      "VALUE_REQUIRED": "此值為必填欄位",
-      "CUSTOM_METRIC_REQUIRED": "自訂公制為必填欄位",
-      "ALIAS_REQUIRED": "別名是必填欄位"
+      "CUSTOM_METRIC_REQUIRED": "自訂公制為必填欄位"
     },
     "NEW_METRIC": "新度量",
     "ADD_METRIC": "新增標準",
     "EDIT_METRIC": "編輯度量",
     "DELETE_METRIC": "刪除量度",
-    "SAVE": "儲存",
-    "BACK": "備份",
-    "SELECTED": "已選取",
-    "SELECT_ALL": "全部選取",
-    "SELECT_NONE": "選取「無」",
-    "TYPE": "類型",
     "EXTRACTEDREPORTS": "擷取報表",
     "DATE_RANGE_FROM": "日期範圍",
     "DATE_RANGE_TO": "日期範圍",
     "GENERATED_AT": "產生於",
-    "STATUS": "狀態",
-    "OUTPUT": "輸出",
     "REPORTS": "報告",
     "SEARCH_FOR_FOLDER": "搜尋資料夾",
-    "CREATED_AT": "建立在",
     "NEW_REPORT": "新的報表",
     "ADD_REPORT": "新增報表",
     "COPY_REPORT": "複製報告",
@@ -47,24 +30,12 @@
     "RENAME": "重新命名資料夾",
     "REMOVE": "移除資料夾",
     "SELECT_NODE": "選取資料夾",
-    "ERROR": "錯誤",
     "QUERY_ERROR": "查詢錯誤",
-    "MESSAGE": "訊息",
-    "CLOSE": "關閉",
-    "FORMAT": "格式化",
-    "SETTINGS": "設定",
-    "GENERAL": "通用",
-    "FIELDS": "欄位",
-    "CONDITION": "狀況",
-    "OPERATOR": "操作員",
     "GROUP": "群組",
     "COLUMN": "”欄位",
-    "VALUE": "值",
-    "PREVIEW": "預覽列印",
     "LIMITED_RESULT": "* 效果有限",
     "NO_DATA": "無資料結果",
     "CONDITIONS": "條件",
-    "ALIAS": "別名",
     "FUNCTION": "功能",
     "GROUP_BY": "群組。",
     "ORDER_BY": "訂單。",
@@ -73,15 +44,10 @@
     "DELETE_REPORTFIELD": "刪除欄位",
     "METRIC_NAME": "公制",
     "NO_METRIC_FOUND": "無量度已找到",
-    "NO_AVAILABLE_INFO": "無可用資訊",
     "CUSTOM_METRIC": "自訂公制",
     "DELETE_EXTRACTEDREPORT": "解壓縮後刪除報告",
     "EDIT_EXTRACTEDREPORT": "編輯擷取報告",
     "DOWNLOAD_EXTRACTEDREPORT": "解壓縮下載報告",
-    "PAGE": "頁面",
-    "ROWSPERPAGE": "每頁行數",
-    "OF": "的",
-    "DELETE": "刪除",
     "REPORTNAME": "報告名稱",
     "SEND_IF_EMPTY": "如果空的話發送"
   }
diff --git a/public/app/main/apps/analytics/views/reports/edit/condition/group.html b/public/app/main/apps/analytics/views/reports/edit/condition/group.html
index 5439bb7..3216d5f 100644
--- a/public/app/main/apps/analytics/views/reports/edit/condition/group.html
+++ b/public/app/main/apps/analytics/views/reports/edit/condition/group.html
@@ -1,7 +1,7 @@
 <md-card class="padding-horizontal-15 padding-top-15">
   <div layout="row" ng-if="vm_rc.crudPermissions.canEdit">
     <md-input-container class="md-block" flex>
-      <label translate="ANALYTICS.OPERATOR">Operator</label>
+      <label translate="APP.OPERATOR">Operator</label>
       <md-select ng-model="group.operator" required>
         <md-option value="AND">AND</md-option>
         <md-option value="OR">OR</md-option>
@@ -24,8 +24,8 @@
         ng-click="vm_rc.addCondition(group.rules)"
         <md-icon md-font-icon="icon-plus"></md-icon> {{'ANALYTICS.CONDITION' |
-        translate}}</md-button
-      >
+        translate}}
+      </md-button>
     </md-input-container>
     <md-input-container class="md-block">
       <md-button
@@ -33,8 +33,8 @@
         ng-click="vm_rc.addGroup(group.rules)"
         <md-icon md-font-icon="icon-plus"></md-icon> {{'ANALYTICS.GROUP' |
-        translate}}</md-button
-      >
+        translate}}
+      </md-button>
     </md-input-container>
     <div flex></div>
     <md-input-container class="md-block" ng-if="parent">
@@ -43,8 +43,8 @@
         ng-click="vm_rc.deleteConfirm(parent, index, $event)"
         <md-icon md-font-icon="icon-delete"></md-icon> {{'ANALYTICS.GROUP' |
-        translate}}</md-button
-      >
+        translate}}
+      </md-button>
     </md-input-container>
   </div>
   <div layout="column" ng-repeat="rule in group.rules track by $index">
@@ -61,8 +61,8 @@
             <md-option
               ng-repeat="column in vm_rc.columns"
               value="{{vm_rc.report.table}}.{{column}}"
-              >{{column}}</md-option
-            >
+              >{{column}}
+            </md-option>
           </md-optgroup>
           <md-optgroup
             ng-if="vm_rc.report.joins"
@@ -72,8 +72,8 @@
             <md-option
               ng-repeat="field in join.foreignTableFields"
               value="{{join.foreignTable}}.{{field}}"
-              >{{field}}</md-option
-            >
+              >{{field}}
+            </md-option>
           </md-optgroup>
         </md-select>
         <div
@@ -89,7 +89,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block" flex>
-        <label translate="ANALYTICS.CONDITION">CONDITION</label>
+        <label translate="APP.CONDITION">CONDITION</label>
         <md-select
           name="condition"
           ng-model="rule.condition"
@@ -108,7 +108,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.CONDITION_REQUIRED"
+            <span translate="APP.ERRORS.CONDITION_REQUIRED"
               >Condition field is required</span
             >
           </div>
@@ -119,7 +119,7 @@
         class="md-block"
         flex
-        <label translate="ANALYTICS.VALUE">VALUE</label>
+        <label translate="APP.VALUE">VALUE</label>
         <input
           type="text"
           name="value"
@@ -134,7 +134,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
diff --git a/public/app/main/apps/contactmanager/i18n/ar.json b/public/app/main/apps/contactmanager/i18n/ar.json
index 861c8fd..0c3504d 100644
--- a/public/app/main/apps/contactmanager/i18n/ar.json
+++ b/public/app/main/apps/contactmanager/i18n/ar.json
@@ -1,13 +1,7 @@
 {
   "CONTACTMANAGER": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "   حقل (الاسم المستعار للنطاق) المطلوب ",
-      "EMAIL_MUST_VALID": "يجب إدخال بريد إلكترونى صالحا",
-      "FIRSTNAME_REQUIRED": "الاسم الاول المطلوب",
-      "NAME_REQUIRED": "الاسم المطلوب",
       "PHONEBAR_API": "واجهه برمجه تطبيق شريط الهاتف",
-      "PHONE_REQUIRED": "حقل الزامي",
-      "VALUE_REQUIRED": "القيمه المطلوبة",
       "ACTIONTYPE_REQUIRED": "حقل الزامي",
       "CLICKTOACTION_REQUIRED": "حقل الزامي"
     },
@@ -72,13 +66,11 @@
     "ID": "الرقم التعريفى",
     "IMPORT_CONTACTS": "استيراد جهات الاتصال",
     "LASTNAME": "الاسم الأخير",
-    "LIST": "قائمة",
     "LISTS": "قوائم",
     "MERGE_CONTACT": "دمج جهه إتصال",
     "MOBILE": "الهاتق المحمول",
     "MOTIONDIALER": "طلب المتصل التلقائى ",
     "MOTION_BULL": "حملات الإتصال الصادرة",
-    "NAME": "اسم",
     "NEW_COMPANY": "شركة جديدة",
     "NEW_CONTACT": "جهة اتصال جديدة",
     "NEW_CUSTOMFIELD": "حقل مخصص جديد",
@@ -110,7 +102,6 @@
     "STREET": "شارع",
     "SUCCESS": "نجاح",
     "TAGS": "علامات",
-    "TYPE": "اكتب",
     "UNIQUEID": "رقم التعريف المميز",
     "UPLOAD_CONTACTS": "تحميل جهات الاتصال",
     "USERID": "الرقم التعريفى للمستخدم",
diff --git a/public/app/main/apps/contactmanager/i18n/cs.json b/public/app/main/apps/contactmanager/i18n/cs.json
index 087457f..aa84dce 100644
--- a/public/app/main/apps/contactmanager/i18n/cs.json
+++ b/public/app/main/apps/contactmanager/i18n/cs.json
@@ -10,7 +10,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Campaign ID",
     "STATE": "State",
-    "NAME": "Name",
     "LISTS": "Lists",
     "UNIQUEID": "Unique Id",
     "STATUS": "Status",
@@ -31,12 +30,6 @@
     "NO_AVAILABLE_ITEMS": "No Available Items",
     "ADD": "Add",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "FIRSTNAME_REQUIRED": "Mandatory field",
-      "PHONE_REQUIRED": "Mandatory field",
-      "ALIAS_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "EMAIL_MUST_VALID": "Wrong format",
       "PHONEBAR_API": "Check the MotionBar is running and the remote control switch for the agent is turned on",
       "ACTIONTYPE_REQUIRED": "Povinné pole",
       "CLICKTOACTION_REQUIRED": "Povinné pole"
@@ -62,7 +55,6 @@
     "NEW_LIST": "New List",
     "FIRSTNAME": "First Name",
     "LASTNAME": "Last Name",
-    "LIST": "List",
     "COMPANY": "Company",
     "ADD_CONTACT": "Add Contact",
     "EDIT_CONTACT": "Edit Contact",
@@ -93,7 +85,6 @@
     "ADD_TAG": "Add Tag",
     "NO_TAG": "No Tags",
     "ALIAS": "Alias",
-    "TYPE": "Type",
     "VALUE": "Value",
     "ADD_CUSTOMFIELD": "Add Custom Field",
     "EDIT_CUSTOMFIELD": "Edit Custom Field",
diff --git a/public/app/main/apps/contactmanager/i18n/da.json b/public/app/main/apps/contactmanager/i18n/da.json
index ab8a820..5022865 100644
--- a/public/app/main/apps/contactmanager/i18n/da.json
+++ b/public/app/main/apps/contactmanager/i18n/da.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Kampagne ID",
     "STATE": "Medlemsstat",
-    "NAME": "Navnet",
     "LISTS": "Lister",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Status",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Ingen tilgængelige elementer",
     "ADD": "Tilføj",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "FIRSTNAME_REQUIRED": "Det første navn er påkrævet",
-      "PHONE_REQUIRED": "Telefonen er påkrævet",
-      "ALIAS_REQUIRED": "Aliaset er påkrævet",
-      "VALUE_REQUIRED": "Værdien er nødvendig",
-      "EMAIL_MUST_VALID": "E-mail-adressen skal være skrevet i et gyldigt format",
       "PHONEBAR_API": "Kontroller at MotionBar kører, og at fjernbetjeningen til agenten er aktiveret",
       "ACTIONTYPE_REQUIRED": "Obligatorisk felt",
       "CLICKTOACTION_REQUIRED": "Obligatorisk felt"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Ny liste",
     "FIRSTNAME": "Fornavn",
     "LASTNAME": "Efternavn",
-    "LIST": "Listen",
     "COMPANY": "Selskab",
     "ADD_CONTACT": "Tilføj kontakt",
     "EDIT_CONTACT": "Rediger kontakt",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Læg mærke",
     "NO_TAG": "Ingen Tags",
     "ALIAS": "Alias",
-    "TYPE": "Type",
     "VALUE": "Værdi",
     "ADD_CUSTOMFIELD": "Tilføj brugerdefineret felt",
     "EDIT_CUSTOMFIELD": "Rediger brugerdefineret felt",
diff --git a/public/app/main/apps/contactmanager/i18n/de.json b/public/app/main/apps/contactmanager/i18n/de.json
index 3377e00..0c885ea 100644
--- a/public/app/main/apps/contactmanager/i18n/de.json
+++ b/public/app/main/apps/contactmanager/i18n/de.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "ID Kampagne",
     "STATE": "Zustand",
-    "NAME": "Name",
     "LISTS": "Listen",
     "UNIQUEID": "Die Uniqueid-",
     "STATUS": "Status",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Keine verfügbaren Elemente",
     "ADD": "Hinzufügen",
     "ERRORS": {
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "FIRSTNAME_REQUIRED": "Der Vorname ist erforderlich",
-      "PHONE_REQUIRED": "Die Telefonnummer ist erforderlich",
-      "ALIAS_REQUIRED": "Der Alias wird benötigt",
-      "VALUE_REQUIRED": "Der Wert ist erforderlich",
-      "EMAIL_MUST_VALID": "Die E-Mail Adresse muss in einem gültigen Format",
       "PHONEBAR_API": "Prüfen, ob die MotionBar ausgeführt wird und die Fernbedienung für den Agenten aktiviert ist",
       "ACTIONTYPE_REQUIRED": "Pflichtfeld",
       "CLICKTOACTION_REQUIRED": "Pflichtfeld"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Neue Liste",
     "FIRSTNAME": "Vorname",
     "LASTNAME": "Nachname",
-    "LIST": "Liste",
     "COMPANY": "Unternehmen",
     "ADD_CONTACT": "Kontakt hinzufügen",
     "EDIT_CONTACT": "Kontakt bearbeiten",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Tag hinzufügen",
     "NO_TAG": "Keine Tags",
     "ALIAS": "Alias",
-    "TYPE": "Typ",
     "VALUE": "Wert",
     "ADD_CUSTOMFIELD": "Benutzerdefiniertes Feld hinzufügen",
     "EDIT_CUSTOMFIELD": "Benutzerdefinierte Felder bearbeiten",
diff --git a/public/app/main/apps/contactmanager/i18n/en.json b/public/app/main/apps/contactmanager/i18n/en.json
index cf52510..0894561 100644
--- a/public/app/main/apps/contactmanager/i18n/en.json
+++ b/public/app/main/apps/contactmanager/i18n/en.json
@@ -10,7 +10,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Campaign ID",
     "STATE": "State",
-    "NAME": "Name",
     "LISTS": "Lists",
     "UNIQUEID": "Unique Id",
     "STATUS": "Status",
@@ -31,14 +30,8 @@
     "NO_AVAILABLE_ITEMS": "No Available Items",
     "ADD": "Add",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "FIRSTNAME_REQUIRED": "Mandatory field",
-      "PHONE_REQUIRED": "Mandatory field",
-      "ALIAS_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
       "CLICKTOACTION_REQUIRED": "Mandatory field",
       "ACTIONTYPE_REQUIRED": "Mandatory field",
-      "EMAIL_MUST_VALID": "Wrong format",
       "PHONEBAR_API": "Check the MotionBar is running and the remote control switch for the agent is turned on"
     },
     "DESCRIPTION": "Description",
@@ -62,7 +55,6 @@
     "NEW_LIST": "New List",
     "FIRSTNAME": "First Name",
     "LASTNAME": "Last Name",
-    "LIST": "List",
     "COMPANY": "Company",
     "ADD_CONTACT": "Add Contact",
     "EDIT_CONTACT": "Edit Contact",
@@ -95,7 +87,6 @@
     "ALIAS": "Alias",
     "CLICKTOACTION": "Click to action",
     "ACTIONTYPE": "Action type",
-    "TYPE": "Type",
     "VALUE": "Value",
     "ADD_CUSTOMFIELD": "Add Custom Field",
     "EDIT_CUSTOMFIELD": "Edit Custom Field",
diff --git a/public/app/main/apps/contactmanager/i18n/es.json b/public/app/main/apps/contactmanager/i18n/es.json
index 49e4dbd..9012085 100644
--- a/public/app/main/apps/contactmanager/i18n/es.json
+++ b/public/app/main/apps/contactmanager/i18n/es.json
@@ -1,13 +1,7 @@
 {
   "CONTACTMANAGER": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "Campo obligatorio",
-      "EMAIL_MUST_VALID": "Formato erróneo",
-      "FIRSTNAME_REQUIRED": "Campo obligatorio",
-      "NAME_REQUIRED": "Campo obligatorio",
       "PHONEBAR_API": "Compruebe que MotionBar se está ejecutando y el interruptor de control remoto para el agente está encendido",
-      "PHONE_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
       "ACTIONTYPE_REQUIRED": "Campo obligatorio",
       "CLICKTOACTION_REQUIRED": "Campo obligatorio"
     },
@@ -92,13 +86,11 @@
     "IMPORT_CONTACTS": "Importar contactos",
     "JSCRIPTY": "Jscripty",
     "LASTNAME": "Apellido",
-    "LIST": "Lista",
     "LISTS": "Listas",
     "MERGE_CONTACT": "Fusionar contacto",
     "MOBILE": "Móvil",
     "MOTIONDIALER": "Motion Bull",
     "MOTION_BULL": "Motion Bull",
-    "NAME": "Nombre",
     "NEW_COMPANY": "Nueva compañia",
     "NEW_CONTACT": "Nuevo contacto",
     "NEW_CUSTOMFIELD": "Nuevo campo personalizado",
@@ -151,7 +143,6 @@
     "SUCCESS": "Exitoso",
     "TAG": "Etiqueta",
     "TAGS": "Etiquetas",
-    "TYPE": "Tipo",
     "UNIQUEID": "Identificación Unica",
     "UPLOAD": "Subir",
     "UPLOAD_COMPLETED": "Carga Completada",
diff --git a/public/app/main/apps/contactmanager/i18n/et.json b/public/app/main/apps/contactmanager/i18n/et.json
index d162619..6f379b2 100644
--- a/public/app/main/apps/contactmanager/i18n/et.json
+++ b/public/app/main/apps/contactmanager/i18n/et.json
@@ -10,7 +10,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Campaign ID",
     "STATE": "State",
-    "NAME": "Name",
     "LISTS": "Lists",
     "UNIQUEID": "Unique Id",
     "STATUS": "Status",
@@ -31,12 +30,6 @@
     "NO_AVAILABLE_ITEMS": "No Available Items",
     "ADD": "Add",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "FIRSTNAME_REQUIRED": "Mandatory field",
-      "PHONE_REQUIRED": "Mandatory field",
-      "ALIAS_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "EMAIL_MUST_VALID": "Wrong format",
       "PHONEBAR_API": "Check the MotionBar is running and the remote control switch for the agent is turned on",
       "ACTIONTYPE_REQUIRED": "Kohustuslik väli",
       "CLICKTOACTION_REQUIRED": "Kohustuslik väli"
@@ -62,7 +55,6 @@
     "NEW_LIST": "New List",
     "FIRSTNAME": "First Name",
     "LASTNAME": "Last Name",
-    "LIST": "List",
     "COMPANY": "Company",
     "ADD_CONTACT": "Add Contact",
     "EDIT_CONTACT": "Edit Contact",
@@ -93,7 +85,6 @@
     "ADD_TAG": "Add Tag",
     "NO_TAG": "No Tags",
     "ALIAS": "Alias",
-    "TYPE": "Type",
     "VALUE": "Value",
     "ADD_CUSTOMFIELD": "Add Custom Field",
     "EDIT_CUSTOMFIELD": "Edit Custom Field",
diff --git a/public/app/main/apps/contactmanager/i18n/fa.json b/public/app/main/apps/contactmanager/i18n/fa.json
index 6940f14..fa9fdf0 100644
--- a/public/app/main/apps/contactmanager/i18n/fa.json
+++ b/public/app/main/apps/contactmanager/i18n/fa.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "شناسه VoiceQueue",
     "CAMPAIGNID": "مبارزه با شناسه",
     "STATE": "دولت",
-    "NAME": "نام",
     "LISTS": "فهرست",
     "UNIQUEID": "Uniqueid",
     "STATUS": "وضعیت",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "اقلام موجود نیست",
     "ADD": "افزودن",
     "ERRORS": {
-      "NAME_REQUIRED": "نام لازم است.",
-      "FIRSTNAME_REQUIRED": "اسم اول لازم است.",
-      "PHONE_REQUIRED": "تلفن لازم است.",
-      "ALIAS_REQUIRED": "عبدالرزاق، لازم است.",
-      "VALUE_REQUIRED": "مقدار مورد نیاز است.",
-      "EMAIL_MUST_VALID": "آدرس ایمیل باید با فرمت معتبر نوشته شده است",
       "PHONEBAR_API": "بررسی کنید که MotionBar در حال اجرا است و از آن به عنوان عامل كنترل از راه دور فعال است.",
       "ACTIONTYPE_REQUIRED": "زمینه اجباری",
       "CLICKTOACTION_REQUIRED": "زمینه اجباری"
@@ -55,7 +48,6 @@
     "NEW_LIST": "لیست جدید",
     "FIRSTNAME": "اسم اول",
     "LASTNAME": "نام خانوادگ",
-    "LIST": "فهرست",
     "COMPANY": "شرکت",
     "ADD_CONTACT": "افزودن تماس",
     "EDIT_CONTACT": "ویرایش تماس",
@@ -86,7 +78,6 @@
     "ADD_TAG": "برچسب اضافه کنید",
     "NO_TAG": "نه برچسب",
     "ALIAS": "عبدالرزاق",
-    "TYPE": "نوع دستگاه",
     "VALUE": "مقدار",
     "ADD_CUSTOMFIELD": "افزودن زمینه سفارشی",
     "EDIT_CUSTOMFIELD": "ویرایش اختصاصی رشته",
diff --git a/public/app/main/apps/contactmanager/i18n/fi.json b/public/app/main/apps/contactmanager/i18n/fi.json
index 9f41da5..ad5c6f7 100644
--- a/public/app/main/apps/contactmanager/i18n/fi.json
+++ b/public/app/main/apps/contactmanager/i18n/fi.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue tunnus",
     "CAMPAIGNID": "Kampanjatunnus",
     "STATE": "Tila",
-    "NAME": "Nimi",
     "LISTS": "Luettelo",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Tila",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Ei käytettävissä kohteet",
     "ADD": "Lisää",
     "ERRORS": {
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "FIRSTNAME_REQUIRED": "Etunimi on pakollinen",
-      "PHONE_REQUIRED": "Puhelin ei tarvita",
-      "ALIAS_REQUIRED": "Alias on pakollinen",
-      "VALUE_REQUIRED": "Arvo on pakollinen",
-      "EMAIL_MUST_VALID": "Sähköpostiosoite on kirjoitettava kelvollisessa muodossa",
       "PHONEBAR_API": "Tarkista, että MotionBar on käynnissä ja, että kauko-ohjain edustajan on käytössä",
       "ACTIONTYPE_REQUIRED": "Pakollinen kenttä",
       "CLICKTOACTION_REQUIRED": "Pakollinen kenttä"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Uusi lista",
     "FIRSTNAME": "Etunimi",
     "LASTNAME": "Sukunimi",
-    "LIST": "Luettelo",
     "COMPANY": "Yritys",
     "ADD_CONTACT": "Kontaktin lisääminen",
     "EDIT_CONTACT": "Muokkaa kontaktia",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Lisää tunniste",
     "NO_TAG": "Ole tunnisteita",
     "ALIAS": "Alias",
-    "TYPE": "Tyyppi",
     "VALUE": "Arvo",
     "ADD_CUSTOMFIELD": "Lisää mukautettu kenttä",
     "EDIT_CUSTOMFIELD": "Muokkaa mukautettua kenttää",
diff --git a/public/app/main/apps/contactmanager/i18n/fr.json b/public/app/main/apps/contactmanager/i18n/fr.json
index d4d07aa..8cf6fa4 100644
--- a/public/app/main/apps/contactmanager/i18n/fr.json
+++ b/public/app/main/apps/contactmanager/i18n/fr.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "ID File d'attente Voix ",
     "CAMPAIGNID": "ID de campagne",
     "STATE": "État",
-    "NAME": "Nom",
     "LISTS": "Listes",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Status",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Pas d'articles disponibles",
     "ADD": "Ajouter",
     "ERRORS": {
-      "NAME_REQUIRED": "Nom obligatoire",
-      "FIRSTNAME_REQUIRED": "Prénom obligatoire",
-      "PHONE_REQUIRED": "Téléphone requis",
-      "ALIAS_REQUIRED": "Alias requis",
-      "VALUE_REQUIRED": "Cette valeur est requise",
-      "EMAIL_MUST_VALID": "Adresse e-mail doit avoir un format valide",
       "PHONEBAR_API": "Vérifier que le MotionBar fonctionne et que l'application pour l'agent est activé",
       "ACTIONTYPE_REQUIRED": "Champ obligatoire",
       "CLICKTOACTION_REQUIRED": "Champ obligatoire"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Nouvelle liste",
     "FIRSTNAME": "Prénom",
     "LASTNAME": "Nom",
-    "LIST": "Liste",
     "COMPANY": "Société",
     "ADD_CONTACT": "Ajouter contact",
     "EDIT_CONTACT": "Modifier contact",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Ajouter un tag",
     "NO_TAG": "Aucun tag disponible",
     "ALIAS": "Alias",
-    "TYPE": "Type",
     "VALUE": "Valeur",
     "ADD_CUSTOMFIELD": "Ajouter un champ personnalisé",
     "EDIT_CUSTOMFIELD": "Modifier un champ personnalisé",
diff --git a/public/app/main/apps/contactmanager/i18n/he.json b/public/app/main/apps/contactmanager/i18n/he.json
index 85fed91..5767990 100644
--- a/public/app/main/apps/contactmanager/i18n/he.json
+++ b/public/app/main/apps/contactmanager/i18n/he.json
@@ -10,7 +10,6 @@
     "VOICEQUEUEID": "מזהה תור שיחות",
     "CAMPAIGNID": "מזהה קמפיין",
     "STATE": "מדינה",
-    "NAME": "שם",
     "LISTS": "רשימות",
     "UNIQUEID": "מזהה ייחודי",
     "STATUS": "מצב",
@@ -31,12 +30,6 @@
     "NO_AVAILABLE_ITEMS": "אין פריטים זמינים",
     "ADD": "הוסף",
     "ERRORS": {
-      "NAME_REQUIRED": "שדה חובה",
-      "FIRSTNAME_REQUIRED": "שדה חובה",
-      "PHONE_REQUIRED": "שדה חובה",
-      "ALIAS_REQUIRED": "שדה חובה",
-      "VALUE_REQUIRED": "שדה חובה",
-      "EMAIL_MUST_VALID": "תבנית שגויה",
       "PHONEBAR_API": "ודא כי החייגן האוטומטי פועל וכי מתג השלט רחוק של הנציג מופעל",
       "ACTIONTYPE_REQUIRED": "שדה חובה",
       "CLICKTOACTION_REQUIRED": "שדה חובה"
@@ -62,7 +55,6 @@
     "NEW_LIST": "רשימה חדשה",
     "FIRSTNAME": "שם פרטי",
     "LASTNAME": "שם משפחה",
-    "LIST": "רשימה",
     "COMPANY": "חברה",
     "ADD_CONTACT": "הוסף איש קשר",
     "EDIT_CONTACT": "ערוך איש קשר",
@@ -93,7 +85,6 @@
     "ADD_TAG": "הוסף תג",
     "NO_TAG": "אין תגים",
     "ALIAS": "כינוי",
-    "TYPE": "סוג",
     "VALUE": "ערך",
     "ADD_CUSTOMFIELD": "הוסף שדה",
     "EDIT_CUSTOMFIELD": "ערוך שדה נוסף",
diff --git a/public/app/main/apps/contactmanager/i18n/hi.json b/public/app/main/apps/contactmanager/i18n/hi.json
index 0731e09..1395c2d 100644
--- a/public/app/main/apps/contactmanager/i18n/hi.json
+++ b/public/app/main/apps/contactmanager/i18n/hi.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "अभियान ID",
     "STATE": "राज्य",
-    "NAME": "नाम",
     "LISTS": "सूचियां",
     "UNIQUEID": "Uniqueid",
     "STATUS": "की स्थिति",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "वस्तुएं उपलब्ध नहीं",
     "ADD": "जोड़ें",
     "ERRORS": {
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "FIRSTNAME_REQUIRED": "पहला नाम की आवश्यकता है।",
-      "PHONE_REQUIRED": "फ़ोन की आवश्यकता है।",
-      "ALIAS_REQUIRED": "इस उर्फ अपेक्षित है।",
-      "VALUE_REQUIRED": "मूल्य की आवश्यकता है।",
-      "EMAIL_MUST_VALID": "ईमेल पते को मान्य स्वरूप में लिखा होना",
       "PHONEBAR_API": "जांचें कि MotionBar चल रहा है और यह भी कि रिमोट कंट्रोल के एजेंट सक्षम",
       "ACTIONTYPE_REQUIRED": "आवश्यक स्थान",
       "CLICKTOACTION_REQUIRED": "आवश्यक स्थान"
@@ -55,7 +48,6 @@
     "NEW_LIST": "नई सूची",
     "FIRSTNAME": "प्रथम नाम",
     "LASTNAME": "अंतिम नाम",
-    "LIST": "की सूची",
     "COMPANY": "कंपनी",
     "ADD_CONTACT": "संपर्क जोड़ें",
     "EDIT_CONTACT": "संपर्क संपादित करें",
@@ -86,7 +78,6 @@
     "ADD_TAG": "मौजूदासंदर्भ में जोड़ें",
     "NO_TAG": "कोई टैग्स",
     "ALIAS": "उर्फ",
-    "TYPE": "प्रकार",
     "VALUE": "मूल्य",
     "ADD_CUSTOMFIELD": "कस्टम फ़ील्ड जोड़ें",
     "EDIT_CUSTOMFIELD": "कस्टम फ़ील्ड संपादित करें",
diff --git a/public/app/main/apps/contactmanager/i18n/id.json b/public/app/main/apps/contactmanager/i18n/id.json
index d35e0ad..c560d4d 100644
--- a/public/app/main/apps/contactmanager/i18n/id.json
+++ b/public/app/main/apps/contactmanager/i18n/id.json
@@ -1,13 +1,7 @@
 {
   "CONTACTMANAGER": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "Bidang wajib",
-      "EMAIL_MUST_VALID": "Format yang salah",
-      "FIRSTNAME_REQUIRED": "Bidang wajib",
-      "NAME_REQUIRED": "Bidang wajib",
       "PHONEBAR_API": "Periksa MotionBar sedang berjalan dan tombol remote control untuk agen dihidupkan",
-      "PHONE_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
       "ACTIONTYPE_REQUIRED": "Bidang wajib",
       "CLICKTOACTION_REQUIRED": "Bidang wajib"
     },
@@ -93,13 +87,11 @@
     "IMPORT_CONTACTS": "Impor Kontak",
     "JSCRIPTY": "Jscripty",
     "LASTNAME": "Nama keluarga",
-    "LIST": "Daftar",
     "LISTS": "Daftar",
     "MERGE_CONTACT": "Menggabungkan Kontak",
     "MOBILE": "Seluler",
     "MOTIONDIALER": "Motion Bull",
     "MOTION_BULL": "Motion Bull",
-    "NAME": "Nama",
     "NEW_COMPANY": "Perusahaan Baru",
     "NEW_CONTACT": "Kontak baru",
     "NEW_CUSTOMFIELD": "Bidang Kustom Baru",
@@ -152,7 +144,6 @@
     "SUCCESS": "Keberhasilan",
     "TAG": "Menandai",
     "TAGS": "Tag",
-    "TYPE": "Mengetik",
     "UNIQUEID": "Identitas unik",
     "UPLOAD": "Unggah",
     "UPLOAD_COMPLETED": "Unggah Selesai",
diff --git a/public/app/main/apps/contactmanager/i18n/it.json b/public/app/main/apps/contactmanager/i18n/it.json
index bf30b92..d9ab07b 100644
--- a/public/app/main/apps/contactmanager/i18n/it.json
+++ b/public/app/main/apps/contactmanager/i18n/it.json
@@ -5,20 +5,13 @@
     "PREFIX": "Prefisso di chiamata",
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Campaign ID",
-    "NAME": "Nome",
     "LISTS": "Liste",
     "SEARCH_FOR_ANYONE": "Cerca",
     "EDIT_LIST": "Modifica Lista",
     "DELETE_LIST": "Elimina Lista",
     "ERRORS": {
-      "NAME_REQUIRED": "Campo Obbligatorio",
-      "FIRSTNAME_REQUIRED": "Campo Obbligatorio",
-      "ALIAS_REQUIRED": "Campo Obbligatorio",
-      "VALUE_REQUIRED": "Campo Obbligatorio",
       "CLICKTOACTION_REQUIRED": "Campo Obbligatorio",
       "ACTIONTYPE_REQUIRED": "Campo Obbligatorio",
-      "EMAIL_MUST_VALID": "Il campo deve avere un formato valido",
-      "PHONE_REQUIRED": "Campo Obbligatorio",
       "PHONEBAR_API": "Controlla che la MotionBar sia in funzione e che il Controllo Remoto per l'agente sia abilitato"
     },
     "DESCRIPTION": "Descrizione",
@@ -41,7 +34,6 @@
     "NEW_LIST": "Nuova Lista",
     "FIRSTNAME": "Nome",
     "LASTNAME": "Cognome",
-    "LIST": "Lista",
     "COMPANY": "Azienda",
     "ADD_CONTACT": "Aggiungi Contatto",
     "EDIT_CONTACT": "Modifica Contatto",
@@ -71,7 +63,6 @@
     "ALIAS": "Alias",
     "CLICKTOACTION": "Clicca azione",
     "ACTIONTYPE": "Tipo di azione",
-    "TYPE": "Tipo",
     "VALUE": "Valore",
     "ADD_CUSTOMFIELD": "Aggiungi Campo Custom",
     "EDIT_CUSTOMFIELD": "Modifica Campo Custom",
diff --git a/public/app/main/apps/contactmanager/i18n/ja.json b/public/app/main/apps/contactmanager/i18n/ja.json
index c30555d..74e2278 100644
--- a/public/app/main/apps/contactmanager/i18n/ja.json
+++ b/public/app/main/apps/contactmanager/i18n/ja.json
@@ -1,13 +1,7 @@
 {
   "CONTACTMANAGER": {
     "ERRORS": {
-      "ALIAS_REQUIRED": "必須フィールド",
-      "EMAIL_MUST_VALID": "間違ったフォーマット",
-      "FIRSTNAME_REQUIRED": "必須フィールド",
-      "NAME_REQUIRED": "必須フィールド",
       "PHONEBAR_API": "MotionBarが実行中で、エージェントのリモートコントロールスイッチがオンになっていることを確認してください",
-      "PHONE_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
       "ACTIONTYPE_REQUIRED": "必須フィールド",
       "CLICKTOACTION_REQUIRED": "必須フィールド"
     },
@@ -92,13 +86,11 @@
     "IMPORT_CONTACTS": "連絡先のインポート",
     "JSCRIPTY": "Jscripty",
     "LASTNAME": "姓",
-    "LIST": "リスト",
     "LISTS": "リスト",
     "MERGE_CONTACT": "連絡先を統合",
     "MOBILE": "モバイル",
     "MOTIONDIALER": "Motion Bull",
     "MOTION_BULL": "Motion Bull",
-    "NAME": "名前",
     "NEW_COMPANY": "新規会社",
     "NEW_CONTACT": "新規連絡先",
     "NEW_CUSTOMFIELD": "新しいカスタムフィールド",
@@ -151,7 +143,6 @@
     "SUCCESS": "成功",
     "TAG": "タグ",
     "TAGS": "タグ",
-    "TYPE": "タイプ",
     "UNIQUEID": "ユニークID",
     "UPLOAD": "アップロード",
     "UPLOAD_COMPLETED": "アップロード完了",
diff --git a/public/app/main/apps/contactmanager/i18n/ko.json b/public/app/main/apps/contactmanager/i18n/ko.json
index 9b72f64..3514636 100644
--- a/public/app/main/apps/contactmanager/i18n/ko.json
+++ b/public/app/main/apps/contactmanager/i18n/ko.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "음성 상담그룹 ID",
     "CAMPAIGNID": "캠페인 ID",
     "STATE": "상태",
-    "NAME": "이름",
     "LISTS": "목록",
     "UNIQUEID": "고유 ID",
     "STATUS": "상태",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "사용가능한 항목 없음",
     "ADD": "추가",
     "ERRORS": {
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "FIRSTNAME_REQUIRED": "이름은 필수입니다.",
-      "PHONE_REQUIRED": "전화는 필수입니다.",
-      "ALIAS_REQUIRED": "별명은 필수입니다.",
-      "VALUE_REQUIRED": "값은 필수입니다.",
-      "EMAIL_MUST_VALID": "이메일으 유효해야 합니다.",
       "PHONEBAR_API": "Phonebar API",
       "ACTIONTYPE_REQUIRED": "필수 필드",
       "CLICKTOACTION_REQUIRED": "필수 필드"
@@ -55,7 +48,6 @@
     "NEW_LIST": "신규 목록",
     "FIRSTNAME": "이름",
     "LASTNAME": "성",
-    "LIST": "목록",
     "COMPANY": "회사",
     "ADD_CONTACT": "연락처 추가",
     "EDIT_CONTACT": "연락처 편집",
@@ -86,7 +78,6 @@
     "ADD_TAG": "태그 추가",
     "NO_TAG": "태그 없음",
     "ALIAS": "별명",
-    "TYPE": "타입",
     "VALUE": "값",
     "ADD_CUSTOMFIELD": "사용자 정의 필드 추가",
     "EDIT_CUSTOMFIELD": "사용자 지정 필드 수정",
diff --git a/public/app/main/apps/contactmanager/i18n/lt.json b/public/app/main/apps/contactmanager/i18n/lt.json
index a060847..7a3ccc6 100644
--- a/public/app/main/apps/contactmanager/i18n/lt.json
+++ b/public/app/main/apps/contactmanager/i18n/lt.json
@@ -10,7 +10,6 @@
     "VOICEQUEUEID": "Balso eilės ID",
     "CAMPAIGNID": "Kampanijos ID",
     "STATE": "Valstybė",
-    "NAME": "Pavadinimas",
     "LISTS": "Sąrašai",
     "UNIQUEID": "Unikalus Id",
     "STATUS": "Būsena",
@@ -31,12 +30,6 @@
     "NO_AVAILABLE_ITEMS": "Nėra galimų įrašų",
     "ADD": "Pridėti",
     "ERRORS": {
-      "NAME_REQUIRED": "Privalomas laukas",
-      "FIRSTNAME_REQUIRED": "Privalomas laukas",
-      "PHONE_REQUIRED": "Privalomas laukas",
-      "ALIAS_REQUIRED": "Privalomas laukas",
-      "VALUE_REQUIRED": "Privalomas laukas",
-      "EMAIL_MUST_VALID": "Blogas formatas",
       "PHONEBAR_API": "Patikrinkite, ar veikia „MotionBar“ ir ar įjungtas agento nuotolinio valdymo perjungimas",
       "ACTIONTYPE_REQUIRED": "Privalomas laukas",
       "CLICKTOACTION_REQUIRED": "Privalomas laukas"
@@ -62,7 +55,6 @@
     "NEW_LIST": "Naujas sąrašas",
     "FIRSTNAME": "Vardas",
     "LASTNAME": "Pavardė",
-    "LIST": "Sąrašas",
     "COMPANY": "Įmonė",
     "ADD_CONTACT": "Pridėti kontaktą",
     "EDIT_CONTACT": "Redaguoti kontaktą",
@@ -93,7 +85,6 @@
     "ADD_TAG": "Pridėti žymę",
     "NO_TAG": "Nėra žymių",
     "ALIAS": "Slapyvardis",
-    "TYPE": "Tipas",
     "VALUE": "Reikšmė",
     "ADD_CUSTOMFIELD": "Pridėti pasirinktinį lauką",
     "EDIT_CUSTOMFIELD": "Redaguoti pasirinktinį lauką",
diff --git a/public/app/main/apps/contactmanager/i18n/lv.json b/public/app/main/apps/contactmanager/i18n/lv.json
index b2c99a9..f9f04a6 100644
--- a/public/app/main/apps/contactmanager/i18n/lv.json
+++ b/public/app/main/apps/contactmanager/i18n/lv.json
@@ -1,12 +1,6 @@
 {
   "CONTACTMANAGER": {
     "ERRORS": {
-      "NAME_REQUIRED": "Obligāts lauks",
-      "FIRSTNAME_REQUIRED": "Obligāts lauks",
-      "PHONE_REQUIRED": "Obligāts lauks",
-      "ALIAS_REQUIRED": "Obligāts lauks",
-      "VALUE_REQUIRED": "Obligāts lauks",
-      "EMAIL_MUST_VALID": "Nepareizs formāts",
       "PHONEBAR_API": "Pārbaudiet, vai darbojas MotionBar un ir ieslēgts aģenta tālvadības slēdzis",
       "ACTIONTYPE_REQUIRED": "Obligāts lauks",
       "CLICKTOACTION_REQUIRED": "Obligāts lauks"
@@ -18,7 +12,6 @@
     "VOICEQUEUEID": "Zvanu rindas ID",
     "CAMPAIGNID": "Kampaņas ID",
     "STATE": "Valsts",
-    "NAME": "Nosaukums",
     "LISTS": "Saraksti",
     "UNIQUEID": "Unikāls ID",
     "STATUS": "Statuss",
@@ -59,7 +52,6 @@
     "NEW_LIST": "Jauns saraksts",
     "FIRSTNAME": "Vārds",
     "LASTNAME": "Uzvārds",
-    "LIST": "Saraksts",
     "COMPANY": "Uzņēmums",
     "ADD_CONTACT": "Pievienot kontaktu",
     "EDIT_CONTACT": "Rediģēt kontaktu",
@@ -90,7 +82,6 @@
     "ADD_TAG": "Pievienot birku",
     "NO_TAG": "Nav birku",
     "ALIAS": "Nosaukums",
-    "TYPE": "Tips",
     "VALUE": "Vērtība",
     "ADD_CUSTOMFIELD": "Pievienot pielāgotu lauku",
     "EDIT_CUSTOMFIELD": "Rediģēt pielāgoto lauku",
diff --git a/public/app/main/apps/contactmanager/i18n/nl.json b/public/app/main/apps/contactmanager/i18n/nl.json
index 9e54508..e88a50a 100644
--- a/public/app/main/apps/contactmanager/i18n/nl.json
+++ b/public/app/main/apps/contactmanager/i18n/nl.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Campagne-ID",
     "STATE": "Staat",
-    "NAME": "Naam",
     "LISTS": "Lijsten",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Status",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Geen beschikbare items",
     "ADD": "Toevoegen",
     "ERRORS": {
-      "NAME_REQUIRED": "De naam is verplicht",
-      "FIRSTNAME_REQUIRED": "De Voornaam is verplicht",
-      "PHONE_REQUIRED": "Het telefoonnummer is verplicht",
-      "ALIAS_REQUIRED": "De alias is vereist",
-      "VALUE_REQUIRED": "De waarde is vereist",
-      "EMAIL_MUST_VALID": "Het e-mailadres moet worden geschreven in een geldige indeling",
       "PHONEBAR_API": "Controleer of de MotionBar draait en dat de afstandsbediening voor de agent is ingeschakeld",
       "ACTIONTYPE_REQUIRED": "Verplicht veld",
       "CLICKTOACTION_REQUIRED": "Verplicht veld"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Nieuwe lijst",
     "FIRSTNAME": "Voornaam",
     "LASTNAME": "Achternaam",
-    "LIST": "Lijst",
     "COMPANY": "Bedrijf",
     "ADD_CONTACT": "Contactpersoon toevoegen",
     "EDIT_CONTACT": "Contactpersoon bewerken",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Tag toevoegen",
     "NO_TAG": "Geen Tags",
     "ALIAS": "Alias",
-    "TYPE": "Type",
     "VALUE": "Waarde",
     "ADD_CUSTOMFIELD": "Aangepast veld toevoegen",
     "EDIT_CUSTOMFIELD": "Bewerk aangepaste veld",
diff --git a/public/app/main/apps/contactmanager/i18n/no.json b/public/app/main/apps/contactmanager/i18n/no.json
index f874119..e755e7c 100644
--- a/public/app/main/apps/contactmanager/i18n/no.json
+++ b/public/app/main/apps/contactmanager/i18n/no.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Kampanje-ID",
     "STATE": "Tilstand",
-    "NAME": "Navn",
     "LISTS": "Lister",
     "UNIQUEID": "Unikid",
     "STATUS": "Status",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Ingen tilgjengelige elementer",
     "ADD": "Legg til",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "FIRSTNAME_REQUIRED": "Den første navn er nødvendig",
-      "PHONE_REQUIRED": "Telefonen er nødvendig",
-      "ALIAS_REQUIRED": "Aliaset er nødvendig",
-      "VALUE_REQUIRED": "Verdien er obligatorisk",
-      "EMAIL_MUST_VALID": "E-postadressen må være skrevet i et gyldig format",
       "PHONEBAR_API": "Kontroller at MotionBar er i gang og at fjernkontrollen for agent er aktivert",
       "ACTIONTYPE_REQUIRED": "Obligatoriske felt",
       "CLICKTOACTION_REQUIRED": "Obligatoriske felt"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Ny liste",
     "FIRSTNAME": "Fornavn",
     "LASTNAME": "Etternavn",
-    "LIST": "Liste",
     "COMPANY": "Selskap",
     "ADD_CONTACT": "Legg til kontakt",
     "EDIT_CONTACT": "Rediger kontakt",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Legg til Tag",
     "NO_TAG": "Ingen etiketter",
     "ALIAS": "Alias",
-    "TYPE": "Type",
     "VALUE": "Verdi",
     "ADD_CUSTOMFIELD": "Legg til egendefinert felt",
     "EDIT_CUSTOMFIELD": "Rediger egendefinert felt",
diff --git a/public/app/main/apps/contactmanager/i18n/pl.json b/public/app/main/apps/contactmanager/i18n/pl.json
index 9255631..c66801c 100644
--- a/public/app/main/apps/contactmanager/i18n/pl.json
+++ b/public/app/main/apps/contactmanager/i18n/pl.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "ID Kolejki głosowej",
     "CAMPAIGNID": "ID Kampanii",
     "STATE": "Stan",
-    "NAME": "Nazwa",
     "LISTS": "Listy",
     "UNIQUEID": "Unikatowy identyfikator",
     "STATUS": "Status",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Brak dostępnych pozycji",
     "ADD": "Dodaj",
     "ERRORS": {
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "FIRSTNAME_REQUIRED": "Pole obowiązkowe",
-      "PHONE_REQUIRED": "Pole obowiązkowe",
-      "ALIAS_REQUIRED": "Pole obowiązkowe",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
-      "EMAIL_MUST_VALID": "Zły format",
       "PHONEBAR_API": "Sprawdzić MotionBar pracuje i przełącznik zdalnego sterowania dla agenta jest włączony",
       "ACTIONTYPE_REQUIRED": "Pole obowiązkowe",
       "CLICKTOACTION_REQUIRED": "Pole obowiązkowe"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Nowa lista",
     "FIRSTNAME": "Imię",
     "LASTNAME": "Nazwisko",
-    "LIST": "Lista",
     "COMPANY": "Firma",
     "ADD_CONTACT": "Dodaj kontakt",
     "EDIT_CONTACT": "Edytuj kontakt",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Dodaj oznaczenie",
     "NO_TAG": "Brak tagów",
     "ALIAS": "Alias",
-    "TYPE": "Typ",
     "VALUE": "Wartość",
     "ADD_CUSTOMFIELD": "Dodaj niestandardowe pole",
     "EDIT_CUSTOMFIELD": "Edytuj pole niestandardowe",
diff --git a/public/app/main/apps/contactmanager/i18n/pt-BR.json b/public/app/main/apps/contactmanager/i18n/pt-BR.json
index 8aa2d26..dd39306 100644
--- a/public/app/main/apps/contactmanager/i18n/pt-BR.json
+++ b/public/app/main/apps/contactmanager/i18n/pt-BR.json
@@ -10,7 +10,6 @@
     "VOICEQUEUEID": "ID da Fila de Voz",
     "CAMPAIGNID": "ID da campanha",
     "STATE": "Estado",
-    "NAME": "Nome",
     "LISTS": "Listas",
     "UNIQUEID": "ID unico",
     "STATUS": "Status",
@@ -31,12 +30,6 @@
     "NO_AVAILABLE_ITEMS": "Nenhum item disponível",
     "ADD": "Adicionar",
     "ERRORS": {
-      "NAME_REQUIRED": "Campo obrigatório",
-      "FIRSTNAME_REQUIRED": "Campo obrigatório",
-      "PHONE_REQUIRED": "Campo obrigatório",
-      "ALIAS_REQUIRED": "Campo obrigatório",
-      "VALUE_REQUIRED": "Campo obrigatório",
-      "EMAIL_MUST_VALID": "Formato incorreto",
       "PHONEBAR_API": "Verifique se o MotionBar está em execução e se o interruptor do controle remoto do agente está ligado",
       "ACTIONTYPE_REQUIRED": "Campo obrigatório",
       "CLICKTOACTION_REQUIRED": "Campo obrigatório"
@@ -62,7 +55,6 @@
     "NEW_LIST": "Nova Lista",
     "FIRSTNAME": "Primeiro Nome",
     "LASTNAME": "Sobrenome",
-    "LIST": "Lista",
     "COMPANY": "Empresa",
     "ADD_CONTACT": "Adicionar Contato",
     "EDIT_CONTACT": "Editar Contato",
@@ -93,7 +85,6 @@
     "ADD_TAG": "Adicionar Tag",
     "NO_TAG": "Sem Tags",
     "ALIAS": "Apelido",
-    "TYPE": "Tipo",
     "VALUE": "Valor",
     "ADD_CUSTOMFIELD": "Adicionar campo personalizado",
     "EDIT_CUSTOMFIELD": "Editar campo personalizado",
diff --git a/public/app/main/apps/contactmanager/i18n/pt-PT.json b/public/app/main/apps/contactmanager/i18n/pt-PT.json
index ca0c173..2d7db4e 100644
--- a/public/app/main/apps/contactmanager/i18n/pt-PT.json
+++ b/public/app/main/apps/contactmanager/i18n/pt-PT.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "ID da Campanha",
     "STATE": "Estado",
-    "NAME": "Nome",
     "LISTS": "Listas",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Estado",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Itens Não Disponíveis",
     "ADD": "Adicionar",
     "ERRORS": {
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "FIRSTNAME_REQUIRED": "O Nome é obrigatório",
-      "PHONE_REQUIRED": "O telefone é obrigatório",
-      "ALIAS_REQUIRED": "O Alias é necessária",
-      "VALUE_REQUIRED": "O valor é obrigatório",
-      "EMAIL_MUST_VALID": "O endereço de e-mail deve ser escrito em um formato válido",
       "PHONEBAR_API": "Verificar que o MotionBar está sendo executado e se o controle remoto para o agente está ativado",
       "ACTIONTYPE_REQUIRED": "Campo obrigatório",
       "CLICKTOACTION_REQUIRED": "Campo obrigatório"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Nova Lista",
     "FIRSTNAME": "Primeiro Nome",
     "LASTNAME": "Último nome",
-    "LIST": "Lista",
     "COMPANY": "Empresa",
     "ADD_CONTACT": "Adicionar contato",
     "EDIT_CONTACT": "Editar contato",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Adicionar a Tag",
     "NO_TAG": "Tags",
     "ALIAS": "Alias",
-    "TYPE": "Tipo",
     "VALUE": "Valor",
     "ADD_CUSTOMFIELD": "Adicionar campo personalizado",
     "EDIT_CUSTOMFIELD": "Editar campo personalizado",
diff --git a/public/app/main/apps/contactmanager/i18n/ru.json b/public/app/main/apps/contactmanager/i18n/ru.json
index 2fed7ee..a73248f 100644
--- a/public/app/main/apps/contactmanager/i18n/ru.json
+++ b/public/app/main/apps/contactmanager/i18n/ru.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Кампания ID",
     "STATE": "Государство",
-    "NAME": "Имя",
     "LISTS": "Списки",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Статус",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Нет доступных элементов",
     "ADD": "Добавить",
     "ERRORS": {
-      "NAME_REQUIRED": "Это имя требуется",
-      "FIRSTNAME_REQUIRED": "Первое имя не требуется",
-      "PHONE_REQUIRED": "Номер телефона не требуется",
-      "ALIAS_REQUIRED": "Псевдоним не требуется",
-      "VALUE_REQUIRED": "Это значение требуется",
-      "EMAIL_MUST_VALID": "Адрес электронной почты должен быть написан в действительный формат",
       "PHONEBAR_API": "Убедитесь, что MotionBar работает и что пульт дистанционного управления для оператора включен",
       "ACTIONTYPE_REQUIRED": "Обязательное поле",
       "CLICKTOACTION_REQUIRED": "Обязательное поле"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Новый список",
     "FIRSTNAME": "Имя",
     "LASTNAME": "Фамилия",
-    "LIST": "Список",
     "COMPANY": "Компания",
     "ADD_CONTACT": "Добавить контакт",
     "EDIT_CONTACT": "Редактирование контактной",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Добавить метки",
     "NO_TAG": "Теги",
     "ALIAS": "Псевдоним",
-    "TYPE": "Тип",
     "VALUE": "Значение",
     "ADD_CUSTOMFIELD": "Добавить пользовательские поля",
     "EDIT_CUSTOMFIELD": "Редактировать настраиваемые поля",
diff --git a/public/app/main/apps/contactmanager/i18n/sv.json b/public/app/main/apps/contactmanager/i18n/sv.json
index face0d9..34a1d11 100644
--- a/public/app/main/apps/contactmanager/i18n/sv.json
+++ b/public/app/main/apps/contactmanager/i18n/sv.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Kampanj-ID",
     "STATE": "Stat",
-    "NAME": "Namn",
     "LISTS": "Listor",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Status",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Ingen tillgänglig information",
     "ADD": "Lägg till",
     "ERRORS": {
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "FIRSTNAME_REQUIRED": "Förnamn är obligatoriskt",
-      "PHONE_REQUIRED": "Telefonen är obligatoriskt",
-      "ALIAS_REQUIRED": "Alias är obligatoriskt",
-      "VALUE_REQUIRED": "Värdet är obligatoriskt",
-      "EMAIL_MUST_VALID": "E-postadressen måste vara skriven på ett giltigt format",
       "PHONEBAR_API": "Kontrollera att MotionBar är igång och att fjärrkontrollen för agent är aktiverad",
       "ACTIONTYPE_REQUIRED": "Obligatoriskt fält",
       "CLICKTOACTION_REQUIRED": "Obligatoriskt fält"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Ny lista",
     "FIRSTNAME": "Förnamn",
     "LASTNAME": "Efternamn",
-    "LIST": "Lista",
     "COMPANY": "Företag",
     "ADD_CONTACT": "Lägg till kontakt",
     "EDIT_CONTACT": "Redigera kontakt",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Lägg till etikett",
     "NO_TAG": "Inga etiketter",
     "ALIAS": "Alias",
-    "TYPE": "Typ",
     "VALUE": "Värde",
     "ADD_CUSTOMFIELD": "Lägg till anpassade fält",
     "EDIT_CUSTOMFIELD": "Redigera anpassade fält",
diff --git a/public/app/main/apps/contactmanager/i18n/tr.json b/public/app/main/apps/contactmanager/i18n/tr.json
index df04c8d..39820f1 100644
--- a/public/app/main/apps/contactmanager/i18n/tr.json
+++ b/public/app/main/apps/contactmanager/i18n/tr.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "Kampanya Kimliği",
     "STATE": "Devlet",
-    "NAME": "Adı",
     "LISTS": "Listeleri",
     "UNIQUEID": "Uniqueid",
     "STATUS": "Durum",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "Hiçbir Öğe",
     "ADD": "Ekle",
     "ERRORS": {
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "FIRSTNAME_REQUIRED": "İlk Adı gerekiyor.",
-      "PHONE_REQUIRED": "Telefon gerekiyor.",
-      "ALIAS_REQUIRED": "Ve diğer gerekli",
-      "VALUE_REQUIRED": "Bu Değer gereklidir",
-      "EMAIL_MUST_VALID": "E-Posta Adresi yazılmış olması gerekir. geçerli bir format",
       "PHONEBAR_API": "Kontrol, MotionBar ve uzaktan kumanda için temsilci etkin",
       "ACTIONTYPE_REQUIRED": "Zorunlu alan",
       "CLICKTOACTION_REQUIRED": "Zorunlu alan"
@@ -55,7 +48,6 @@
     "NEW_LIST": "Yeni Liste",
     "FIRSTNAME": "İlk Adı",
     "LASTNAME": "Soyadı",
-    "LIST": "Listesi",
     "COMPANY": "Şirket",
     "ADD_CONTACT": "Kişi Ekle",
     "EDIT_CONTACT": "Kişi Düzenle",
@@ -86,7 +78,6 @@
     "ADD_TAG": "Etiket ekleme",
     "NO_TAG": "Etiketler yok.",
     "ALIAS": "Alias",
-    "TYPE": "Tipi",
     "VALUE": "Değer",
     "ADD_CUSTOMFIELD": "Özel Alan Ekle",
     "EDIT_CUSTOMFIELD": "Edit Özel Alan",
diff --git a/public/app/main/apps/contactmanager/i18n/zh-CN.json b/public/app/main/apps/contactmanager/i18n/zh-CN.json
index a9645c8..e959d7e 100644
--- a/public/app/main/apps/contactmanager/i18n/zh-CN.json
+++ b/public/app/main/apps/contactmanager/i18n/zh-CN.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "促销活动标识",
     "STATE": "状态",
-    "NAME": "名称",
     "LISTS": "列表",
     "UNIQUEID": "Uniqueid",
     "STATUS": "状态",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "没有可用的项目。",
     "ADD": "添加",
     "ERRORS": {
-      "NAME_REQUIRED": "该名称是必需的",
-      "FIRSTNAME_REQUIRED": "第一名是必需的",
-      "PHONE_REQUIRED": "手机是必需的",
-      "ALIAS_REQUIRED": "别名是必需的",
-      "VALUE_REQUIRED": "该值是必需的",
-      "EMAIL_MUST_VALID": "该电子邮件地址必须写的格式无效",
       "PHONEBAR_API": "检查 MotionBar 运行和远程控制的代理已启用",
       "ACTIONTYPE_REQUIRED": "必填项",
       "CLICKTOACTION_REQUIRED": "必填项"
@@ -55,7 +48,6 @@
     "NEW_LIST": "新的列表。",
     "FIRSTNAME": "第一名",
     "LASTNAME": "最后的名称。",
-    "LIST": "列表",
     "COMPANY": "公司",
     "ADD_CONTACT": "添加联系人",
     "EDIT_CONTACT": "编辑联系人",
@@ -86,7 +78,6 @@
     "ADD_TAG": "添加标记",
     "NO_TAG": "无标记",
     "ALIAS": "别名。",
-    "TYPE": "类型",
     "VALUE": "值",
     "ADD_CUSTOMFIELD": "添加自定义字段",
     "EDIT_CUSTOMFIELD": "编辑自定义字段",
diff --git a/public/app/main/apps/contactmanager/i18n/zh-TW.json b/public/app/main/apps/contactmanager/i18n/zh-TW.json
index fe0823a..c197b0d 100644
--- a/public/app/main/apps/contactmanager/i18n/zh-TW.json
+++ b/public/app/main/apps/contactmanager/i18n/zh-TW.json
@@ -3,7 +3,6 @@
     "VOICEQUEUEID": "VoiceQueue ID",
     "CAMPAIGNID": "活動 ID",
     "STATE": "狀態",
-    "NAME": "名稱",
     "LISTS": "清單",
     "UNIQUEID": "指定唯一 ID",
     "STATUS": "狀態",
@@ -24,12 +23,6 @@
     "NO_AVAILABLE_ITEMS": "沒有可用的項目",
     "ADD": "新增",
     "ERRORS": {
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "FIRSTNAME_REQUIRED": "名字是必填欄位",
-      "PHONE_REQUIRED": "「電話」為必填欄位",
-      "ALIAS_REQUIRED": "別名是必填欄位",
-      "VALUE_REQUIRED": "此值為必填欄位",
-      "EMAIL_MUST_VALID": "電子郵件地址必須以有效的格式",
       "PHONEBAR_API": "檢查 MotionBar 正在運行並且遠程控制代理程式已啟用",
       "ACTIONTYPE_REQUIRED": "必填項",
       "CLICKTOACTION_REQUIRED": "必填項"
@@ -55,7 +48,6 @@
     "NEW_LIST": "新增清單",
     "FIRSTNAME": "名字",
     "LASTNAME": "姓氏",
-    "LIST": "清單",
     "COMPANY": "公司",
     "ADD_CONTACT": "新增連絡人",
     "EDIT_CONTACT": "編輯連絡人",
@@ -86,7 +78,6 @@
     "ADD_TAG": "新增標籤",
     "NO_TAG": "無標籤",
     "ALIAS": "別名",
-    "TYPE": "類型",
     "VALUE": "值",
     "ADD_CUSTOMFIELD": "新增自訂欄位",
     "EDIT_CUSTOMFIELD": "編輯自訂欄位",
diff --git a/public/app/main/apps/dashboards/views/general/agent/bot/agent.general.bot.html b/public/app/main/apps/dashboards/views/general/agent/bot/agent.general.bot.html
index 9ddf15b..9161eba 100644
--- a/public/app/main/apps/dashboards/views/general/agent/bot/agent.general.bot.html
+++ b/public/app/main/apps/dashboards/views/general/agent/bot/agent.general.bot.html
@@ -13,7 +13,7 @@
         md-font-icon="fas fa-robot"
       ></md-icon>
     </div>
-    <span class="app-title" translate="DASHBOARDS.WAITING">Waiting</span>
+    <span class="app-title" translate="APP.WAITING">Waiting</span>
     <span
       class="hide show-gt-md secondary-text"
       translate="DASHBOARDS.LOADING_INTERACTION"
diff --git a/public/app/main/apps/dashboards/views/general/agent/contact/agent.general.contact.html b/public/app/main/apps/dashboards/views/general/agent/contact/agent.general.contact.html
index 5cc7108..c1c462e 100644
--- a/public/app/main/apps/dashboards/views/general/agent/contact/agent.general.contact.html
+++ b/public/app/main/apps/dashboards/views/general/agent/contact/agent.general.contact.html
@@ -1,7 +1,7 @@
 <md-tabs md-selected="vm.currentTab" md-dynamic-height>
   <md-tab>
     <md-tab-label>
-      <span translate="DASHBOARDS.DETAIL">Detail</span>
+      <span translate="APP.DETAIL">Detail</span>
     </md-tab-label>
     <md-tab-body>
       <md-content>
@@ -123,7 +123,7 @@
               ng-disabled="vm.detailForm.$invalid || vm.customFieldsForm.$invalid || vm.socialForm.$invalid"
               aria-label="save"
-              {{ 'DASHBOARDS.SAVE' | translate }}
+              {{ 'APP.SAVE' | translate }}
             </md-button>
           </div>
         </div>
@@ -132,12 +132,12 @@
             <md-card layout-padding>
               <div
                 class="h2 secondary-text text-truncate"
-                translate="DASHBOARDS.PERSONAL_INFO"
+                translate="APP.PERSONAL_INFO"
                 PERSONAL_INFO
               </div>
               <div class="subtitle secondary-text">
-                <span translate="CONTACTMANAGER.CREATED_AT"></span>
+                <span translate="APP.CREATED_AT"></span>
                 <span>{{vm.contact.createdAt | date:'medium'}}</span>
               </div>
 
@@ -145,7 +145,7 @@
                 <div layout-gt-sm="row" class="layout-gt-sm-row">
                   <div layout="row" flex>
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="DASHBOARDS.FIRSTNAME">First Name</label>
+                      <label translate="APP.FIRSTNAME">First Name</label>
                       <md-icon
                         md-font-icon="icon-account"
                         class="firstname"
@@ -163,7 +163,7 @@
                         role="alert"
                         <div ng-message="required">
-                          <span translate="DASHBOARDS.ERRORS.FIRSTNAME_REQUIRED"
+                          <span translate="APP.ERRORS.FIRSTNAME_REQUIRED"
                             >First name field is required</span
                           >
                         </div>
@@ -210,7 +210,7 @@
                   </div>
                   <div flex="5"></div>
                   <md-input-container class="md-block" flex-gt-sm="">
-                    <label translate="DASHBOARDS.LASTNAME">Last Name</label>
+                    <label translate="APP.LASTNAME">Last Name</label>
                     <input
                       type="text"
                       name="lastName"
@@ -223,7 +223,7 @@
                 <div layout-gt-sm="row" class="layout-gt-sm-row">
                   <div layout="row" flex>
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="DASHBOARDS.PHONE">Phone</label>
+                      <label translate="APP.PHONE">Phone</label>
                       <md-icon md-font-icon="icon-phone"></md-icon>
                       <input
                         type="text"
@@ -252,7 +252,7 @@
                   <div flex="5"></div>
                   <div layout="row" flex>
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="DASHBOARDS.MOBILE">Mobile</label>
+                      <label translate="APP.MOBILE">Mobile</label>
                       <md-icon md-font-icon="icon-cellphone-iphone"></md-icon>
                       <input
                         type="text"
@@ -363,7 +363,7 @@
                 <div layout-gt-sm="row" class="layout-gt-sm-row">
                   <div layout="row" flex>
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="DASHBOARDS.EMAIL">Email</label>
+                      <label translate="APP.EMAIL">Email</label>
                       <md-icon
                         md-font-icon="icon-email"
                         class="email"
@@ -380,7 +380,7 @@
                         role="alert"
                         <div ng-message="email">
-                          <span translate="DASHBOARDS.ERRORS.EMAIL_MUST_VALID"
+                          <span translate="APP.ERRORS.EMAIL_MUST_VALID"
                             >Email must be a valid e-mail address</span
                           >
                         </div>
@@ -428,7 +428,7 @@
                   <div flex="5"></div>
                   <div layout="row" flex>
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="DASHBOARDS.FAX">Fax</label>
+                      <label translate="APP.FAX">Fax</label>
                       <md-icon md-font-icon="icon-deskphone"></md-icon>
                       <input type="text" name="fax" ng-model="vm.contact.fax" />
                     </md-input-container>
@@ -479,9 +479,7 @@
                     flex-gt-sm=""
                     ng-init="vm.contact.dateOfBirth = vm.getDateFromString(vm.contact.dateOfBirth)"
-                    <label translate="DASHBOARDS.DATE_OF_BIRTH"
-                      >Date of Birth</label
-                    >
+                    <label translate="APP.DATE_OF_BIRTH">Date of Birth</label>
                     <mdp-date-picker
                       mdp-open-on-click
                       mdp-format="YYYY-MM-DD"
@@ -493,7 +491,7 @@
 
                 <div layout-gt-sm="row" class="layout-gt-sm-row">
                   <md-input-container class="md-block" flex-gt-sm="">
-                    <label translate="DASHBOARDS.COMPANY">Company</label>
+                    <label translate="APP.COMPANY">Company</label>
                     <md-icon md-font-icon="icon-domain" class="email"></md-icon>
                     <md-select name="company" ng-model="vm.contact.CompanyId">
                       <md-option
@@ -502,13 +500,13 @@
                         >{{company.name}}
                       </md-option>
                       <md-option ng-value="null"
-                        ><em translate="DASHBOARDS.NONE">None</em>
+                        ><em translate="APP.NONE">None</em>
                       </md-option>
                     </md-select>
                   </md-input-container>
                   <div flex="5"></div>
                   <md-input-container class="md-block" flex-gt-sm="">
-                    <label translate="DASHBOARDS.TAG">TAG</label>
+                    <label translate="APP.TAG">TAG</label>
                     <md-icon md-font-icon="icon-tag"></md-icon>
                     <md-select ng-model="vm.tab.Tags" multiple>
                       <md-option
@@ -523,7 +521,7 @@
 
                 <div layout-gt-sm="row" class="layout-gt-sm-row">
                   <md-input-container class="md-block" flex-gt-sm="">
-                    <label translate="DASHBOARDS.COUNTRY">Country</label>
+                    <label translate="APP.COUNTRY">Country</label>
                     <md-icon md-font-icon="icon-home" class="country"></md-icon>
                     <input
                       type="text"
@@ -534,7 +532,7 @@
                   </md-input-container>
                   <div flex="5"></div>
                   <md-input-container class="md-block" flex-gt-sm="">
-                    <label translate="DASHBOARDS.CITY">City</label>
+                    <label translate="APP.CITY">City</label>
                     <input type="text" name="city" ng-model="vm.contact.city" />
                   </md-input-container>
                 </div>
@@ -550,7 +548,7 @@
                   </md-input-container>
                   <div flex="5"></div>
                   <md-input-container class="md-block" flex-gt-sm="">
-                    <label translate="DASHBOARDS.POSTALCODE">Postal Code</label>
+                    <label translate="APP.POSTALCODE">Postal Code</label>
                     <input
                       type="text"
                       name="postalCode"
@@ -561,9 +559,7 @@
 
                 <div layout-gt-sm="row" class="layout-gt-sm-row">
                   <md-input-container class="md-block" flex-gt-sm="">
-                    <label
-                      translate
-                      translate-attr-placeholder="DASHBOARDS.NOTES"
+                    <label translate translate-attr-placeholder="APP.NOTES"
                       >Notes</label
                     <md-icon md-font-icon="icon-note"></md-icon>
@@ -579,7 +575,7 @@
             <md-card layout-padding>
               <div
                 class="h2 secondary-text text-truncate"
-                translate="DASHBOARDS.SOCIAL"
+                translate="APP.SOCIAL"
                 Social
               </div>
@@ -666,14 +662,14 @@
             <md-card flex="100" layout-padding>
               <div
                 class="h2 secondary-text text-truncate"
-                translate="DASHBOARDS.CUSTOM_FIELDS"
+                translate="APP.CUSTOM_FIELDS"
                 CUSTOM FIELDS
               </div>
               <form name="vm.customFieldsForm" novalidate>
                 <!-- START INPUT LIST -->
                 <md-input-container class="md-block" ng-if="!vm.contact.ListId">
-                  <label translate translate-attr-placeholder="DASHBOARDS.LIST"
+                  <label translate translate-attr-placeholder="APP.LIST"
                     >List</label
                   <md-select
@@ -693,7 +689,7 @@
                   </md-select>
                 </md-input-container>
                 <md-input-container class="md-block" ng-if="vm.contact.ListId">
-                  <label translate translate-attr-placeholder="DASHBOARDS.LIST"
+                  <label translate translate-attr-placeholder="APP.LIST"
                     >List</label
                   <md-select
@@ -766,7 +762,7 @@
                         {{value.value}}</md-option
                       <md-option ng-value="null"
-                        ><em translate="CONTACTMANAGER.NONE">None</em>
+                        ><em translate="APP.NONE">None</em>
                       </md-option>
                     </md-select>
                   </md-input-container>
@@ -819,7 +815,7 @@
   </md-tab>
   <md-tab>
     <md-tab-label>
-      <span translate="DASHBOARDS.CUSTOMER_JOURNEY">Customer Journey</span>
+      <span translate="APP.CUSTOMER_JOURNEY">Customer Journey</span>
     </md-tab-label>
     <md-tab-body>
       <md-content class="md-padding" id="interaction-content">
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/abandoned/bull/agent.general.abandoned.bull.html b/public/app/main/apps/dashboards/views/general/agent/home/abandoned/bull/agent.general.abandoned.bull.html
index 0aea7fc..dd1ee01 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/abandoned/bull/agent.general.abandoned.bull.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/abandoned/bull/agent.general.abandoned.bull.html
@@ -21,13 +21,14 @@
         filters="vm_bull.quickFilters"
         query="vm_bull.query"
         search="vm_bull.getAbandonedCalls()"
-      ></ms-quick-filter>
+      >
+      </ms-quick-filter>
       <md-button
         class="md-icon-button reload-list"
         ng-click="vm_bull.refresh && vm_bull.refreshAbandonedCalls($event)"
         aria-label="Reload"
         translate
-        translate-attr-label="DASHBOARDS.RELOAD"
+        translate-attr-label="APP.RELOAD"
         <md-icon md-font-icon="icon-reload"></md-icon>
         <md-tooltip
@@ -86,7 +87,7 @@
         <tr md-row ng-hide="vm_bull.abandonedCalls.rows.length">
           <td md-cell colspan="12">
             <div layout="row" layout-align="center center">
-              <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+              <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
             </div>
           </td>
         </tr>
@@ -138,7 +139,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/abandoned/voice/agent.general.abandoned.voice.html b/public/app/main/apps/dashboards/views/general/agent/home/abandoned/voice/agent.general.abandoned.voice.html
index cd40a13..e05781e 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/abandoned/voice/agent.general.abandoned.voice.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/abandoned/voice/agent.general.abandoned.voice.html
@@ -21,13 +21,14 @@
         filters="vm_voice.quickFilters"
         query="vm_voice.query"
         search="vm_voice.getAbandonedCalls()"
-      ></ms-quick-filter>
+      >
+      </ms-quick-filter>
       <md-button
         class="md-icon-button reload-list"
         ng-click="vm_voice.refresh && vm_voice.refreshAbandonedCalls($event)"
         aria-label="Reload"
         translate
-        translate-attr-label="DASHBOARDS.RELOAD"
+        translate-attr-label="APP.RELOAD"
         <md-icon md-font-icon="icon-reload"></md-icon>
         <md-tooltip
@@ -80,7 +81,7 @@
         <tr md-row ng-hide="vm_voice.abandonedCalls.rows.length">
           <td md-cell colspan="12">
             <div layout="row" layout-align="center center">
-              <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+              <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
             </div>
           </td>
         </tr>
@@ -127,7 +128,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/chat/agent.general.chat.html b/public/app/main/apps/dashboards/views/general/agent/home/chat/agent.general.chat.html
index 7d9d4d0..fde1d3f 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/chat/agent.general.chat.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/chat/agent.general.chat.html
@@ -45,7 +45,7 @@
           class="md-icon-button reload-list"
           aria-label="Reload"
           translate
-          translate-attr-aria-label="DASHBOARDS.RELOAD"
+          translate-attr-aria-label="APP.RELOAD"
           ng-click="vm.getChatInteractions()"
           <md-icon md-font-icon="icon-reload"></md-icon>
@@ -183,7 +183,7 @@
           </td>
           <td ng-click="vm.showChatInteraction($event, interaction)" md-cell>
             <span ng-if="interaction.closed" class="red-fg font-size-12"
-              >{{ 'DASHBOARDS.CLOSED' | translate}}
+              >{{ 'APP.CLOSED' | translate}}
               <span ng-if="interaction.disposition"
                 >- {{ interaction.thirdDisposition ||
                 interaction.secondDisposition || interaction.disposition
@@ -223,7 +223,7 @@
               </div>
             </md-tooltip>
             <span ng-if="!interaction.closed" class="green-fg font-size-12"
-              ><span translate="DASHBOARDS.OPENED"></span
+              ><span translate="APP.OPENED"></span
               ><span ng-if="interaction.substatus">
                 - {{interaction.substatus}}</span
               ></span
@@ -267,7 +267,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -284,7 +284,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadChatInteraction($event, interaction, true)"
-                    translate="CHAT.DOWNLOAD_WITH_ATTACHMENTS"
+                    translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
                     Download with attachments
                   </md-button>
@@ -292,7 +292,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadChatInteraction($event, interaction)"
-                    translate="CHAT.DOWNLOAD_WITHOUT_ATTACHMENTS"
+                    translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
                     Download without attachments
                   </md-button>
@@ -320,5 +320,6 @@
     md-total="{{vm.chatInteractions.count}}"
     md-on-paginate="vm.getChatInteractions"
     md-page-select
-  ></md-table-pagination>
+  >
+  </md-table-pagination>
 </md-card>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/contacts/agent.general.contacts.html b/public/app/main/apps/dashboards/views/general/agent/home/contacts/agent.general.contacts.html
index 8358974..2dcf33e 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/contacts/agent.general.contacts.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/contacts/agent.general.contacts.html
@@ -1,62 +1,30 @@
 <md-card ng-init="vm.onInit()">
-  <md-toolbar
-    class="md-table-toolbar md-default table-header"
-    ng-class="{{ 'vm.sectionColor' }} + '-bg'"
-    ng-disabled="vm.searchInProgress"
-  >
+  <md-toolbar class="md-table-toolbar md-default table-header" ng-class="{{ 'vm.sectionColor' }} + '-bg'"
+    ng-disabled="vm.searchInProgress">
     <div class="md-toolbar-tools" layout="row" layout-align="center center">
-      <span class="md-subhead" translate="DASHBOARDS.CONTACTS">Contacts</span>
-      <ms-search-bar
-        on-search="vm.query.filter = query"
-        on-collapse="vm.onSearchBarCollapse()"
-        on-expand="vm.onSearchBarExpand()"
-        query="vm.query.filter"
-        debounce="300"
-        direction="down"
-        icon-color="white-fg"
-        ng-disabled="vm.query.search"
-      >
+      <span class="md-subhead" translate="APP.CONTACTS">Contacts</span>
+      <ms-search-bar on-search="vm.query.filter = query" on-collapse="vm.onSearchBarCollapse()"
+        on-expand="vm.onSearchBarExpand()" query="vm.query.filter" debounce="300" direction="down" icon-color="white-fg"
+        ng-disabled="vm.query.search">
       </ms-search-bar>
       <div flex></div>
-      <ms-quick-filter
-        filters="vm.quickFilters"
-        query="vm.query"
-        search="vm.getContacts()"
-        ng-disabled="vm.query.search"
-      ></ms-quick-filter>
+      <ms-quick-filter filters="vm.quickFilters" query="vm.query" search="vm.getContacts()"
+        ng-disabled="vm.query.search"></ms-quick-filter>
       <div layout="row">
-        <md-button
-          class="md-icon-button advanced-search"
-          ng-class="{ 'md-fab md-mini white-bg': vm.query.search }"
-          aria-label="Advanced search"
-          translate
-          translate-attr-aria-label="DASHBOARDS.ADVANCED_SEARCH"
-          ng-click="vm.openAdvancedSearch()"
-        >
-          <md-icon
-            md-font-icon="{{ vm.query.search ? 'icon-filter' : 'icon-filter-outline' }}"
-            ng-class="{ '{{ vm.sectionColor }}-fg blink': vm.query.search }"
-          ></md-icon>
+        <md-button class="md-icon-button advanced-search" ng-class="{ 'md-fab md-mini white-bg': vm.query.search }"
+          aria-label="Advanced search" translate translate-attr-aria-label="DASHBOARDS.ADVANCED_SEARCH"
+          ng-click="vm.openAdvancedSearch()">
+          <md-icon md-font-icon="{{ vm.query.search ? 'icon-filter' : 'icon-filter-outline' }}"
+            ng-class="{ '{{ vm.sectionColor }}-fg blink': vm.query.search }"></md-icon>
           <md-tooltip>{{'DASHBOARDS.ADVANCED_SEARCH' | translate}}</md-tooltip>
         </md-button>
-        <md-button
-          class="md-icon-button reload-list"
-          ng-click="vm.refreshContacts($event)"
-          aria-label="Reload"
-          translate
-          translate-attr-label="DASHBOARDS.RELOAD"
-        >
+        <md-button class="md-icon-button reload-list" ng-click="vm.refreshContacts($event)" aria-label="Reload"
+          translate translate-attr-label="APP.RELOAD">
           <md-icon md-font-icon="icon-reload"></md-icon>
           <md-tooltip>{{'DASHBOARDS.RELOAD' | translate}}</md-tooltip>
         </md-button>
-        <md-button
-          ng-if="vm.crudPermissions.canEdit"
-          class="md-icon-button create-new"
-          ng-click="vm.openContact()"
-          aria-label="Add contact"
-          translate
-          translate-attr-label="DASHBOARDS.ADD_CONTACT"
-        >
+        <md-button ng-if="vm.crudPermissions.canEdit" class="md-icon-button create-new" ng-click="vm.openContact()"
+          aria-label="Add contact" translate translate-attr-label="APP.ADD_CONTACT">
           <md-icon md-font-icon="icon-plus"></md-icon>
         </md-button>
       </div>
@@ -81,7 +49,7 @@
             {{'DASHBOARDS.EMAIL' | translate}}
           </th>
           <th md-column md-order-by="ListId">
-            {{'DASHBOARDS.LIST' | translate}}
+            {{'APP.LIST' | translate}}
           </th>
           <th md-column>{{'DASHBOARDS.TAGS' | translate}}</th>
           <th md-column width="10px"></th>
@@ -91,7 +59,7 @@
         <tr md-row ng-hide="vm.contacts.rows.length">
           <td md-cell colspan="10">
             <div layout="row" layout-align="center center">
-              <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+              <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
             </div>
           </td>
         </tr>
@@ -104,20 +72,14 @@
           </td>
           <td ng-click="vm.openContact(contact.id)" md-cell class="phone">
             <!-- click to call directive -->
-            <ms-click-to-call
-              target="contact.phone"
-              prefix="vm.listsMap[contact.ListId].dialPrefix"
-              license="vm_home.license"
-            ></ms-click-to-call>
+            <ms-click-to-call target="contact.phone" prefix="vm.listsMap[contact.ListId].dialPrefix"
+              license="vm_home.license"></ms-click-to-call>
             <!--  / click to call directive -->
           </td>
           <td ng-click="vm.openContact(contact.id)" md-cell class="mobile">
             <!-- click to call directive -->
-            <ms-click-to-call
-              target="contact.mobile"
-              prefix="vm.listsMap[contact.ListId].dialPrefix"
-              license="vm_home.license"
-            ></ms-click-to-call>
+            <ms-click-to-call target="contact.mobile" prefix="vm.listsMap[contact.ListId].dialPrefix"
+              license="vm_home.license"></ms-click-to-call>
             <!--  / click to call directive -->
           </td>
           <td ng-click="vm.openContact(contact.id)" md-cell class="fax">
@@ -131,26 +93,13 @@
           </td>
           <td md-cell class="tag">
             <div ng-if="contact.Tags.length">
-              <div
-                ng-if="contact.Tags.length == 1"
-                layout="column"
-                layout-align="center center"
-              >
-                <md-icon
-                  md-font-icon="icon-tag"
-                  ng-style="{'color': contact.Tags[0].color }"
-                ></md-icon>
+              <div ng-if="contact.Tags.length == 1" layout="column" layout-align="center center">
+                <md-icon md-font-icon="icon-tag" ng-style="{'color': contact.Tags[0].color }"></md-icon>
                 <span class="text-truncate">{{contact.Tags[0].name}}</span>
               </div>
-              <div
-                ng-if="contact.Tags.length > 1"
-                layout="column"
-                layout-align="center center"
-              >
+              <div ng-if="contact.Tags.length > 1" layout="column" layout-align="center center">
                 <md-tooltip md-direction="left" layout="row">
-                  <span ng-repeat="tag in contact.Tags"
-                    >{{tag.name}}<span ng-if="!$last">, </span></span
-                  >
+                  <span ng-repeat="tag in contact.Tags">{{tag.name}}<span ng-if="!$last">, </span></span>
                 </md-tooltip>
                 <md-icon md-font-icon="icon-tag"></md-icon>
               </div>
@@ -158,38 +107,24 @@
           </td>
           <td md-cell class="actions">
             <md-menu>
-              <md-button
-                class="md-icon-button"
-                aria-label="More"
-                translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
-                ng-click="$mdMenu.open($event)"
-              >
+              <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                ng-click="$mdMenu.open($event)">
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
               </md-button>
 
               <md-menu-content width="3">
                 <md-menu-item>
-                  <md-button
-                    ng-click="vm.openContact(contact.id)"
-                    translate="DASHBOARDS.EDIT"
-                  >
+                  <md-button ng-click="vm.openContact(contact.id)" translate="APP.EDIT">
                     Edit Contact
                   </md-button>
                 </md-menu-item>
                 <md-menu-item>
-                  <md-button
-                    ng-click="vm.mergeContact($event, contact)"
-                    translate="DASHBOARDS.MERGE"
-                  >
+                  <md-button ng-click="vm.mergeContact($event, contact)" translate="DASHBOARDS.MERGE">
                     Merge Contact
                   </md-button>
                 </md-menu-item>
                 <md-menu-item>
-                  <md-button
-                    ng-click="vm.duplicateContact($event, contact)"
-                    translate="DASHBOARDS.DUPLICATE"
-                  >
+                  <md-button ng-click="vm.duplicateContact($event, contact)" translate="DASHBOARDS.DUPLICATE">
                     Duplicate Contact
                   </md-button>
                 </md-menu-item>
@@ -201,12 +136,6 @@
     </table>
   </md-table-container>
 
-  <md-table-pagination
-    md-limit="vm.query.limit"
-    md-limit-options="[10, 15, 20, 50, 100, 250]"
-    md-page="vm.query.page"
-    md-total="{{vm.contacts.count}}"
-    md-on-paginate="vm.getContacts"
-    md-page-select
-  ></md-table-pagination>
-</md-card>
+  <md-table-pagination md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+    md-total="{{vm.contacts.count}}" md-on-paginate="vm.getContacts" md-page-select></md-table-pagination>
+</md-card>
\ No newline at end of file
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/bull/agent.general.dashboard.bull.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/bull/agent.general.dashboard.bull.html
index 814b46e..d3dda26 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/bull/agent.general.dashboard.bull.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/bull/agent.general.dashboard.bull.html
@@ -2,7 +2,7 @@
   <md-card flex="50">
     <md-toolbar class="md-table-toolbar md-default table-header red-900-bg">
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="VOICE.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -14,22 +14,20 @@
           md-on-reorder="vm_bull.getVoiceQueues"
           <tr md-row>
-            <th md-column>{{ 'VOICE.NAME' | translate }}</th>
-            <th md-column>{{ 'VOICE.TYPE' | translate }}</th>
-            <th md-column>{{ 'VOICE.WAITING' | translate }}</th>
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.TYPE' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
             <th ng-if="voiceQueue.type === 'outbound'" md-column>
-              {{ 'VOICE.ACTIVE' | translate }}
+              {{ 'APP.ACTIVE' | translate }}
             </th>
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_bull.getSize(vm_bull.voiceQueues)">
             <td md-cell colspan="4">
               <div layout="row" layout-align="center center">
-                <span translate="VOICE.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -74,18 +72,16 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'VOICE.DID' | translate }}</th>
-            <th md-column>{{ 'VOICE.QUEUE' | translate }}</th>
-            <th md-column>{{ 'VOICE.CALLER' | translate }}</th>
+            <th md-column>{{ 'APP.DID' | translate }}</th>
+            <th md-column>{{ 'APP.QUEUE' | translate }}</th>
+            <th md-column>{{ 'APP.CALLER' | translate }}</th>
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_bull.getSize(vm_bull.rpcVoiceQueuesChannels)">
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="VOICE.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/chat/agent.general.dashboard.chat.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/chat/agent.general.dashboard.chat.html
index b891ac5..adda1a8 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/chat/agent.general.dashboard.chat.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/chat/agent.general.dashboard.chat.html
@@ -5,7 +5,7 @@
       ng-class="vm_chat.getColorByChannel('chat')"
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="DASHBOARDS.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -17,19 +17,17 @@
           md-on-reorder="vm_chat.getChatQueues"
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.NAME' | translate }}</th>
-            <th md-column>{{ 'DASHBOARDS.WAITING' | translate }}</th>
-            <!-- <th md-column>{{ 'VOICE.ACTIVE' | translate }}</th> -->
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
+            <!-- <th md-column>{{ 'APP.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_chat.getSize(vm_chat.chatQueues)">
             <td md-cell colspan="2">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -71,7 +69,7 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.ACCOUNT' | translate }}</th>
+            <th md-column>{{ 'APP.ACCOUNT' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_QUEUE' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_FROM' | translate }}</th>
           </tr>
@@ -80,9 +78,7 @@
           <tr md-row ng-hide="vm_chat.paginatedInteractions.length">
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/fax/agent.general.dashboard.fax.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/fax/agent.general.dashboard.fax.html
index 1151aee..fdf3f38 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/fax/agent.general.dashboard.fax.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/fax/agent.general.dashboard.fax.html
@@ -5,7 +5,7 @@
       ng-class="vm_fax.getColorByChannel('fax')"
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="DASHBOARDS.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -17,19 +17,17 @@
           md-on-reorder="vm_fax.getFaxQueues"
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.NAME' | translate }}</th>
-            <th md-column>{{ 'DASHBOARDS.WAITING' | translate }}</th>
-            <!-- <th md-column>{{ 'VOICE.ACTIVE' | translate }}</th> -->
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
+            <!-- <th md-column>{{ 'APP.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_fax.getSize(vm_fax.faxQueues)">
             <td md-cell colspan="2">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -71,7 +69,7 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.ACCOUNT' | translate }}</th>
+            <th md-column>{{ 'APP.ACCOUNT' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_QUEUE' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_FROM' | translate }}</th>
           </tr>
@@ -80,9 +78,7 @@
           <tr md-row ng-hide="vm_fax.paginatedInteractions.length">
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/mail/agent.general.dashboard.mail.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/mail/agent.general.dashboard.mail.html
index 7f72b1a..8f9c90c 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/mail/agent.general.dashboard.mail.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/mail/agent.general.dashboard.mail.html
@@ -5,7 +5,7 @@
       ng-class="vm_mail.getColorByChannel('mail')"
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="DASHBOARDS.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -17,19 +17,17 @@
           md-on-reorder="vm_mail.getMailQueues"
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.NAME' | translate }}</th>
-            <th md-column>{{ 'DASHBOARDS.WAITING' | translate }}</th>
-            <!-- <th md-column>{{ 'VOICE.ACTIVE' | translate }}</th> -->
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
+            <!-- <th md-column>{{ 'APP.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_mail.getSize(vm_mail.mailQueues)">
             <td md-cell colspan="2">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -71,7 +69,7 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.ACCOUNT' | translate }}</th>
+            <th md-column>{{ 'APP.ACCOUNT' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_QUEUE' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_FROM' | translate }}</th>
           </tr>
@@ -80,9 +78,7 @@
           <tr md-row ng-hide="vm_mail.paginatedInteractions.length">
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/openchannel/agent.general.dashboard.openchannel.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/openchannel/agent.general.dashboard.openchannel.html
index 5a3f0e1..1dc5458 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/openchannel/agent.general.dashboard.openchannel.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/openchannel/agent.general.dashboard.openchannel.html
@@ -5,7 +5,7 @@
       ng-class="vm_openchannel.getColorByChannel('openchannel')"
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="DASHBOARDS.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -17,10 +17,10 @@
           md-on-reorder="vm_openchannel.getOpenchannelQueues"
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.NAME' | translate }}</th>
-            <th md-column>{{ 'DASHBOARDS.WAITING' | translate }}</th>
-            <!-- <th md-column>{{ 'VOICE.ACTIVE' | translate }}</th> -->
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
+            <!-- <th md-column>{{ 'APP.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
@@ -30,9 +30,7 @@
             <td md-cell colspan="2">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -77,7 +75,7 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.ACCOUNT' | translate }}</th>
+            <th md-column>{{ 'APP.ACCOUNT' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_QUEUE' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_FROM' | translate }}</th>
           </tr>
@@ -86,9 +84,7 @@
           <tr md-row ng-hide="vm_openchannel.paginatedInteractions.length">
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/sms/agent.general.dashboard.sms.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/sms/agent.general.dashboard.sms.html
index 564d9e7..759a787 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/sms/agent.general.dashboard.sms.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/sms/agent.general.dashboard.sms.html
@@ -5,7 +5,7 @@
       ng-class="vm_sms.getColorByChannel('sms')"
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="DASHBOARDS.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -17,19 +17,17 @@
           md-on-reorder="vm_sms.getSmsQueues"
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.NAME' | translate }}</th>
-            <th md-column>{{ 'DASHBOARDS.WAITING' | translate }}</th>
-            <!-- <th md-column>{{ 'VOICE.ACTIVE' | translate }}</th> -->
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
+            <!-- <th md-column>{{ 'APP.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_sms.getSize(vm_sms.smsQueues)">
             <td md-cell colspan="2">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -71,7 +69,7 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.ACCOUNT' | translate }}</th>
+            <th md-column>{{ 'APP.ACCOUNT' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_QUEUE' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_FROM' | translate }}</th>
           </tr>
@@ -80,9 +78,7 @@
           <tr md-row ng-hide="vm_sms.paginatedInteractions.length">
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/voice/agent.general.dashboard.voice.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/voice/agent.general.dashboard.voice.html
index 02e7b80..ff69106 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/voice/agent.general.dashboard.voice.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/voice/agent.general.dashboard.voice.html
@@ -2,7 +2,7 @@
   <md-card flex="50">
     <md-toolbar class="md-table-toolbar md-default table-header blue-A700-bg">
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="VOICE.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -14,21 +14,19 @@
           md-on-reorder="vm_voice.getVoiceQueues"
           <tr md-row>
-            <th md-column>{{ 'VOICE.NAME' | translate }}</th>
-            <th md-column>{{ 'VOICE.WAITING' | translate }}</th>
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
             <th ng-if="voiceQueue.type === 'outbound'" md-column>
-              {{ 'VOICE.ACTIVE' | translate }}
+              {{ 'APP.ACTIVE' | translate }}
             </th>
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_voice.getSize(vm_voice.voiceQueues)">
             <td md-cell colspan="2">
               <div layout="row" layout-align="center center">
-                <span translate="VOICE.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -73,9 +71,9 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'VOICE.DID' | translate }}</th>
-            <th md-column>{{ 'VOICE.QUEUE' | translate }}</th>
-            <th md-column>{{ 'VOICE.CALLER' | translate }}</th>
+            <th md-column>{{ 'APP.DID' | translate }}</th>
+            <th md-column>{{ 'APP.QUEUE' | translate }}</th>
+            <th md-column>{{ 'APP.CALLER' | translate }}</th>
           </tr>
         </thead>
         <tbody md-body>
@@ -85,9 +83,7 @@
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="VOICE.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/whatsapp/agent.general.dashboard.whatsapp.html b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/whatsapp/agent.general.dashboard.whatsapp.html
index 98201c9..fae6aaa 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/dashboard/whatsapp/agent.general.dashboard.whatsapp.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/dashboard/whatsapp/agent.general.dashboard.whatsapp.html
@@ -5,7 +5,7 @@
       ng-class="vm_whatsapp.getColorByChannel('whatsapp')"
       <div class="md-toolbar-tools">
-        <span class="md-subhead" translate="DASHBOARDS.QUEUES">Queues</span>
+        <span class="md-subhead" translate="APP.QUEUES">Queues</span>
         <div flex></div>
       </div>
     </md-toolbar>
@@ -17,19 +17,17 @@
           md-on-reorder="vm_whatsapp.getWhatsappQueues"
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.NAME' | translate }}</th>
-            <th md-column>{{ 'DASHBOARDS.WAITING' | translate }}</th>
-            <!-- <th md-column>{{ 'VOICE.ACTIVE' | translate }}</th> -->
-            <!-- <th md-column md-order-by="active">{{ 'VOICE.ACTIVE' | translate }}</th> -->
+            <th md-column>{{ 'APP.NAME' | translate }}</th>
+            <th md-column>{{ 'APP.WAITING' | translate }}</th>
+            <!-- <th md-column>{{ 'APP.ACTIVE' | translate }}</th> -->
+            <!-- <th md-column md-order-by="active">{{ 'APP.ACTIVE' | translate }}</th> -->
           </tr>
         </thead>
         <tbody md-body>
           <tr md-row ng-hide="vm_whatsapp.getSize(vm_whatsapp.whatsappQueues)">
             <td md-cell colspan="2">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
@@ -71,7 +69,7 @@
       <table md-table>
         <thead md-head>
           <tr md-row>
-            <th md-column>{{ 'DASHBOARDS.ACCOUNT' | translate }}</th>
+            <th md-column>{{ 'APP.ACCOUNT' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_QUEUE' | translate }}</th>
             <th md-column>{{ 'DASHBOARDS.CHANNEL_FROM' | translate }}</th>
           </tr>
@@ -80,9 +78,7 @@
           <tr md-row ng-hide="vm_whatsapp.paginatedInteractions.length">
             <td md-cell colspan="3">
               <div layout="row" layout-align="center center">
-                <span translate="DASHBOARDS.NO_AVAILABLE_INFO"
-                  >No Available Info</span
-                >
+                <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
               </div>
             </td>
           </tr>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/fax/agent.general.fax.html b/public/app/main/apps/dashboards/views/general/agent/home/fax/agent.general.fax.html
index e286ce1..ae17173 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/fax/agent.general.fax.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/fax/agent.general.fax.html
@@ -45,7 +45,7 @@
           class="md-icon-button reload-list"
           aria-label="Reload"
           translate
-          translate-attr-aria-label="DASHBOARDS.RELOAD"
+          translate-attr-aria-label="APP.RELOAD"
           ng-click="vm.getFaxInteractions()"
           <md-icon md-font-icon="icon-reload"></md-icon>
@@ -57,7 +57,7 @@
           class="md-icon-button create-new"
           aria-label="More"
           translate
-          translate-attr-aria-label="DASHBOARDS.MORE"
+          translate-attr-aria-label="APP.MORE"
           ng-click="$mdMenu.open($event)"
           <md-icon md-font-icon="icon-plus"></md-icon>
@@ -204,7 +204,7 @@
           </td>
           <td ng-click="vm.showFaxInteraction($event, interaction)" md-cell>
             <span ng-if="interaction.closed" class="red-fg font-size-12"
-              >{{ 'DASHBOARDS.CLOSED' | translate}}
+              >{{ 'APP.CLOSED' | translate}}
               <span ng-if="interaction.disposition"
                 >- {{ interaction.thirdDisposition ||
                 interaction.secondDisposition || interaction.disposition
@@ -244,7 +244,7 @@
               </div>
             </md-tooltip>
             <span ng-if="!interaction.closed" class="green-fg font-size-12"
-              ><span translate="DASHBOARDS.OPENED"></span
+              ><span translate="APP.OPENED"></span
               ><span ng-if="interaction.substatus">
                 - {{interaction.substatus}}</span
               ></span
@@ -288,7 +288,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -305,7 +305,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadFaxInteraction($event, interaction)"
-                    translate="DASHBOARDS.DOWNLOAD"
+                    translate="APP.DOWNLOAD"
                     Download Fax
                   </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/mail/agent.general.mail.html b/public/app/main/apps/dashboards/views/general/agent/home/mail/agent.general.mail.html
index 5c3cd67..7507ba9 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/mail/agent.general.mail.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/mail/agent.general.mail.html
@@ -45,7 +45,7 @@
           class="md-icon-button reload-list"
           aria-label="Reload"
           translate
-          translate-attr-aria-label="DASHBOARDS.RELOAD"
+          translate-attr-aria-label="APP.RELOAD"
           ng-click="vm.getMailInteractions()"
           <md-icon md-font-icon="icon-reload"></md-icon>
@@ -57,7 +57,7 @@
           class="md-icon-button create-new"
           aria-label="More"
           translate
-          translate-attr-aria-label="DASHBOARDS.MORE"
+          translate-attr-aria-label="APP.MORE"
           ng-click="$mdMenu.open($event)"
           <md-icon md-font-icon="icon-plus"></md-icon>
@@ -232,7 +232,7 @@
           </td>
           <td ng-click="vm.showMailInteraction($event, interaction)" md-cell>
             <span ng-if="interaction.closed" class="red-fg font-size-12"
-              >{{ 'DASHBOARDS.CLOSED' | translate}}
+              >{{ 'APP.CLOSED' | translate}}
               <span ng-if="interaction.disposition"
                 >- {{ interaction.thirdDisposition ||
                 interaction.secondDisposition || interaction.disposition
@@ -272,7 +272,7 @@
               </div>
             </md-tooltip>
             <span ng-if="!interaction.closed" class="green-fg font-size-12"
-              ><span translate="DASHBOARDS.OPENED"></span
+              ><span translate="APP.OPENED"></span
               ><span ng-if="interaction.substatus">
                 - {{interaction.substatus}}</span
               ></span
@@ -316,7 +316,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -333,7 +333,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadMailInteraction($event, interaction, true)"
-                    translate="MAIL.DOWNLOAD_WITH_ATTACHMENTS"
+                    translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
                     Download with attachments
                   </md-button>
@@ -341,7 +341,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadMailInteraction($event, interaction)"
-                    translate="MAIL.DOWNLOAD_WITHOUT_ATTACHMENTS"
+                    translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
                     Download without attachments
                   </md-button>
@@ -369,5 +369,6 @@
     md-total="{{vm.mailInteractions.count}}"
     md-on-paginate="vm.getMailInteractions"
     md-page-select
-  ></md-table-pagination>
+  >
+  </md-table-pagination>
 </md-card>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/mycontacts/agent.general.mycontacts.html b/public/app/main/apps/dashboards/views/general/agent/home/mycontacts/agent.general.mycontacts.html
index 7897f53..e183ec7 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/mycontacts/agent.general.mycontacts.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/mycontacts/agent.general.mycontacts.html
@@ -1,63 +1,30 @@
 <md-card ng-init="vm.onInit()">
-  <md-toolbar
-    class="md-table-toolbar md-default table-header"
-    ng-class="{{ 'vm.sectionColor' }} + '-bg'"
-    ng-disabled="vm.searchInProgress"
-  >
+  <md-toolbar class="md-table-toolbar md-default table-header" ng-class="{{ 'vm.sectionColor' }} + '-bg'"
+    ng-disabled="vm.searchInProgress">
     <div class="md-toolbar-tools" layout="row" layout-align="center center">
-      <span class="md-subhead" translate="DASHBOARDS.MYCONTACTS"
-        >My Contacts</span
-      >
-      <ms-search-bar
-        on-search="vm.query.filter = query"
-        on-collapse="vm.onSearchBarCollapse()"
-        on-expand="vm.onSearchBarExpand()"
-        query="vm.query.filter"
-        debounce="300"
-        direction="down"
-        icon-color="white-fg"
-        ng-disabled="vm.query.search"
-      >
+      <span class="md-subhead" translate="DASHBOARDS.MYCONTACTS">My Contacts</span>
+      <ms-search-bar on-search="vm.query.filter = query" on-collapse="vm.onSearchBarCollapse()"
+        on-expand="vm.onSearchBarExpand()" query="vm.query.filter" debounce="300" direction="down" icon-color="white-fg"
+        ng-disabled="vm.query.search">
       </ms-search-bar>
       <div flex></div>
-      <ms-quick-filter
-        filters="vm.quickFilters"
-        query="vm.query"
-        search="vm.getContacts()"
-        ng-disabled="vm.query.search"
-      ></ms-quick-filter>
+      <ms-quick-filter filters="vm.quickFilters" query="vm.query" search="vm.getContacts()"
+        ng-disabled="vm.query.search"></ms-quick-filter>
       <div layout="row">
-        <md-button
-          class="md-icon-button advanced-search"
-          ng-class="{ 'md-fab md-mini white-bg': vm.query.search }"
-          aria-label="Advanced search"
-          translate
-          translate-attr-aria-label="DASHBOARDS.ADVANCED_SEARCH"
-          ng-click="vm.openAdvancedSearch()"
-        >
-          <md-icon
-            md-font-icon="{{ vm.query.search ? 'icon-filter' : 'icon-filter-outline' }}"
-            ng-class="{ '{{ vm.sectionColor }}-fg blink': vm.query.search }"
-          ></md-icon>
+        <md-button class="md-icon-button advanced-search" ng-class="{ 'md-fab md-mini white-bg': vm.query.search }"
+          aria-label="Advanced search" translate translate-attr-aria-label="DASHBOARDS.ADVANCED_SEARCH"
+          ng-click="vm.openAdvancedSearch()">
+          <md-icon md-font-icon="{{ vm.query.search ? 'icon-filter' : 'icon-filter-outline' }}"
+            ng-class="{ '{{ vm.sectionColor }}-fg blink': vm.query.search }"></md-icon>
           <md-tooltip>{{'DASHBOARDS.ADVANCED_SEARCH' | translate}}</md-tooltip>
         </md-button>
-        <md-button
-          class="md-icon-button reload-list"
-          ng-click="vm.refreshContacts($event)"
-          aria-label="Reload"
-          translate
-          translate-attr-label="DASHBOARDS.RELOAD"
-        >
+        <md-button class="md-icon-button reload-list" ng-click="vm.refreshContacts($event)" aria-label="Reload"
+          translate translate-attr-label="APP.RELOAD">
           <md-icon md-font-icon="icon-reload"></md-icon>
           <md-tooltip>{{'DASHBOARDS.RELOAD' | translate}}</md-tooltip>
         </md-button>
-        <md-button
-          class="md-icon-button create-new"
-          ng-click="vm.openContact($event)"
-          aria-label="Add contact"
-          translate
-          translate-attr-label="DASHBOARDS.ADD_CONTACT"
-        >
+        <md-button class="md-icon-button create-new" ng-click="vm.openContact($event)" aria-label="Add contact"
+          translate translate-attr-label="APP.ADD_CONTACT">
           <md-icon md-font-icon="icon-plus"></md-icon>
         </md-button>
       </div>
@@ -82,7 +49,7 @@
             {{'DASHBOARDS.EMAIL' | translate}}
           </th>
           <th md-column md-order-by="ListId">
-            {{'DASHBOARDS.LIST' | translate}}
+            {{'APP.LIST' | translate}}
           </th>
           <th md-column>{{'DASHBOARDS.TAGS' | translate}}</th>
           <th md-column width="10px"></th>
@@ -92,7 +59,7 @@
         <tr md-row ng-hide="vm.contacts.rows.length">
           <td md-cell colspan="10">
             <div layout="row" layout-align="center center">
-              <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+              <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
             </div>
           </td>
         </tr>
@@ -100,29 +67,19 @@
           <td ng-click="vm.openContact($event, contact)" md-cell class="id">
             {{contact.id}}
           </td>
-          <td
-            ng-click="vm.openContact($event, contact)"
-            md-cell
-            class="firstName"
-          >
+          <td ng-click="vm.openContact($event, contact)" md-cell class="firstName">
             {{contact.firstName}} {{contact.lastName}}
           </td>
           <td ng-click="vm.openContact($event, contact)" md-cell class="phone">
             <!-- click to call directive -->
-            <ms-click-to-call
-              target="contact.phone"
-              prefix="vm.listsMap[contact.ListId].dialPrefix"
-              license="vm_home.license"
-            ></ms-click-to-call>
+            <ms-click-to-call target="contact.phone" prefix="vm.listsMap[contact.ListId].dialPrefix"
+              license="vm_home.license"></ms-click-to-call>
             <!--  / click to call directive -->
           </td>
           <td ng-click="vm.openContact($event, contact)" md-cell class="mobile">
             <!-- click to call directive -->
-            <ms-click-to-call
-              target="contact.mobile"
-              prefix="vm.listsMap[contact.ListId].dialPrefix"
-              license="vm_home.license"
-            ></ms-click-to-call>
+            <ms-click-to-call target="contact.mobile" prefix="vm.listsMap[contact.ListId].dialPrefix"
+              license="vm_home.license"></ms-click-to-call>
             <!--  / click to call directive -->
           </td>
           <td ng-click="vm.openContact($event, contact)" md-cell class="fax">
@@ -136,26 +93,13 @@
           </td>
           <td md-cell class="tag">
             <div ng-if="contact.Tags.length">
-              <div
-                ng-if="contact.Tags.length == 1"
-                layout="column"
-                layout-align="center center"
-              >
-                <md-icon
-                  md-font-icon="icon-tag"
-                  ng-style="{'color': contact.Tags[0].color }"
-                ></md-icon>
+              <div ng-if="contact.Tags.length == 1" layout="column" layout-align="center center">
+                <md-icon md-font-icon="icon-tag" ng-style="{'color': contact.Tags[0].color }"></md-icon>
                 <span class="text-truncate">{{contact.Tags[0].name}}</span>
               </div>
-              <div
-                ng-if="contact.Tags.length > 1"
-                layout="column"
-                layout-align="center center"
-              >
+              <div ng-if="contact.Tags.length > 1" layout="column" layout-align="center center">
                 <md-tooltip md-direction="left" layout="row">
-                  <span ng-repeat="tag in contact.Tags"
-                    >{{tag.name}}<span ng-if="!$last">, </span></span
-                  >
+                  <span ng-repeat="tag in contact.Tags">{{tag.name}}<span ng-if="!$last">, </span></span>
                 </md-tooltip>
                 <md-icon md-font-icon="icon-tag"></md-icon>
               </div>
@@ -163,38 +107,24 @@
           </td>
           <td md-cell class="actions">
             <md-menu>
-              <md-button
-                class="md-icon-button"
-                aria-label="More"
-                translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
-                ng-click="$mdMenu.open($event)"
-              >
+              <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                ng-click="$mdMenu.open($event)">
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
               </md-button>
 
               <md-menu-content width="3">
                 <md-menu-item>
-                  <md-button
-                    ng-click="vm.openContact($event, contact)"
-                    translate="DASHBOARDS.EDIT"
-                  >
+                  <md-button ng-click="vm.openContact($event, contact)" translate="APP.EDIT">
                     Edit Contact
                   </md-button>
                 </md-menu-item>
                 <md-menu-item>
-                  <md-button
-                    ng-click="vm.mergeContact($event, contact)"
-                    translate="DASHBOARDS.MERGE"
-                  >
+                  <md-button ng-click="vm.mergeContact($event, contact)" translate="DASHBOARDS.MERGE">
                     Merge Contact
                   </md-button>
                 </md-menu-item>
                 <md-menu-item>
-                  <md-button
-                    ng-click="vm.duplicateContact($event, contact)"
-                    translate="DASHBOARDS.DUPLICATE"
-                  >
+                  <md-button ng-click="vm.duplicateContact($event, contact)" translate="DASHBOARDS.DUPLICATE">
                     Duplicate Contact
                   </md-button>
                 </md-menu-item>
@@ -206,12 +136,6 @@
     </table>
   </md-table-container>
 
-  <md-table-pagination
-    md-limit="vm.query.limit"
-    md-limit-options="[10, 15, 20, 50, 100, 250]"
-    md-page="vm.query.page"
-    md-total="{{vm.contacts.count}}"
-    md-on-paginate="vm.getContacts"
-    md-page-select
-  ></md-table-pagination>
-</md-card>
+  <md-table-pagination md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+    md-total="{{vm.contacts.count}}" md-on-paginate="vm.getContacts" md-page-select></md-table-pagination>
+</md-card>
\ No newline at end of file
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/openchannel/agent.general.openchannel.html b/public/app/main/apps/dashboards/views/general/agent/home/openchannel/agent.general.openchannel.html
index 0d5d905..5faf20f 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/openchannel/agent.general.openchannel.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/openchannel/agent.general.openchannel.html
@@ -45,7 +45,7 @@
           class="md-icon-button reload-list"
           aria-label="Reload"
           translate
-          translate-attr-aria-label="DASHBOARDS.RELOAD"
+          translate-attr-aria-label="APP.RELOAD"
           ng-click="vm.getOpenchannelInteractions()"
           <md-icon md-font-icon="icon-reload"></md-icon>
@@ -59,7 +59,7 @@
           class="md-icon-button create-new"
           aria-label="More"
           translate
-          translate-attr-aria-label="DASHBOARDS.MORE"
+          translate-attr-aria-label="APP.MORE"
           ng-click="$mdMenu.open($event)"
           <md-icon md-font-icon="icon-plus"></md-icon>
@@ -222,7 +222,7 @@
             md-cell
             <span ng-if="interaction.closed" class="red-fg font-size-12"
-              >{{ 'DASHBOARDS.CLOSED' | translate}}
+              >{{ 'APP.CLOSED' | translate}}
               <span ng-if="interaction.disposition"
                 >- {{ interaction.thirdDisposition ||
                 interaction.secondDisposition || interaction.disposition
@@ -262,7 +262,7 @@
               </div>
             </md-tooltip>
             <span ng-if="!interaction.closed" class="green-fg font-size-12"
-              ><span translate="DASHBOARDS.OPENED"></span
+              ><span translate="APP.OPENED"></span
               ><span ng-if="interaction.substatus">
                 - {{interaction.substatus}}</span
               ></span
@@ -306,7 +306,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -323,7 +323,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadOpenchannelInteraction($event, interaction, true)"
-                    translate="OPENCHANNEL.DOWNLOAD_WITH_ATTACHMENTS"
+                    translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
                     Download with attachments
                   </md-button>
@@ -331,7 +331,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadOpenchannelInteraction($event, interaction)"
-                    translate="OPENCHANNEL.DOWNLOAD_WITHOUT_ATTACHMENTS"
+                    translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
                     Download without attachments
                   </md-button>
@@ -359,5 +359,6 @@
     md-total="{{vm.openchannelInteractions.count}}"
     md-on-paginate="vm.getOpenchannelInteractions"
     md-page-select
-  ></md-table-pagination>
+  >
+  </md-table-pagination>
 </md-card>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/recordings/agent.general.recordings.html b/public/app/main/apps/dashboards/views/general/agent/home/recordings/agent.general.recordings.html
index 5099c8e..a472d14 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/recordings/agent.general.recordings.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/recordings/agent.general.recordings.html
@@ -4,7 +4,7 @@
     ng-disabled="vm.searchInProgress"
     <div class="md-toolbar-tools">
-      <span class="md-subhead" translate="VOICE.RECORDINGS">Recordings</span>
+      <span class="md-subhead" translate="APP.RECORDINGS">Recordings</span>
       <ms-search-bar
         on-search="vm.query.filter = query"
         on-collapse="vm.onSearchBarCollapse()"
@@ -32,26 +32,22 @@
         md-on-reorder="vm.getVoiceRecordings"
         <tr md-row>
-          <th md-column md-order-by="type">{{ 'VOICE.TYPE' | translate }}</th>
+          <th md-column md-order-by="type">{{ 'APP.TYPE' | translate }}</th>
           <th md-column md-order-by="uniqueid">
-            {{ 'VOICE.UNIQUEID' | translate }}
+            {{ 'APP.UNIQUEID' | translate }}
           </th>
           <th md-column md-order-by="calleridnum">
-            {{ 'VOICE.CALLER' | translate }}
-          </th>
-          <th md-column md-order-by="exten">
-            {{ 'VOICE.CALLED' | translate }}
+            {{ 'APP.CALLER' | translate }}
           </th>
+          <th md-column md-order-by="exten">{{ 'APP.CALLED' | translate }}</th>
           <th md-column md-order-by="connectedlinenum">
-            {{ 'VOICE.CONNECTED' | translate }}
-          </th>
-          <th md-column md-order-by="queue">{{ 'VOICE.QUEUE' | translate }}</th>
-          <th md-column md-order-by="rating">
-            {{ 'VOICE.RATING' | translate }}
+            {{ 'APP.CONNECTED' | translate }}
           </th>
-          <th md-column>{{ 'VOICE.AUDIO' | translate }}</th>
+          <th md-column md-order-by="queue">{{ 'APP.QUEUE' | translate }}</th>
+          <th md-column md-order-by="rating">{{ 'APP.RATING' | translate }}</th>
+          <th md-column>{{ 'APP.AUDIO' | translate }}</th>
           <th md-column md-order-by="createdAt">
-            {{ 'VOICE.DATE' | translate }}
+            {{ 'APP.DATE' | translate }}
           </th>
           <th md-column width="10px"></th>
         </tr>
@@ -60,7 +56,7 @@
         <tr md-row ng-hide="vm.voiceRecordings.rows.length">
           <td md-cell colspan="10">
             <div layout="row" layout-align="center center">
-              <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+              <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
             </div>
           </td>
         </tr>
@@ -101,7 +97,7 @@
               ng-show="voiceRecording.rating"
               ng-repeat="rating in [1,2,3,4,5] | limitTo:voiceRecording.rating"
             ></md-icon
-            ><span ng-hide="voiceRecording.rating" translate="VOICE.NO_RATING"
+            ><span ng-hide="voiceRecording.rating" translate="APP.NO_RATING"
               >No rating</span
           </td>
@@ -125,7 +121,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="VOICE.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -135,7 +131,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadfile(voiceRecording, $event)"
-                    translate="VOICE.DOWNLOAD_VOICERECORDING"
+                    translate="APP.DOWNLOAD_VOICERECORDING"
                     Download VoiceRecording
                   </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/scheduled/agent.general.scheduled.html b/public/app/main/apps/dashboards/views/general/agent/home/scheduled/agent.general.scheduled.html
index 8ff4f43..df45e99 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/scheduled/agent.general.scheduled.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/scheduled/agent.general.scheduled.html
@@ -4,7 +4,7 @@
     ng-disabled="vm.searchInProgress"
     <div class="md-toolbar-tools">
-      <span class="md-subhead" translate="MOTIONDIALER.SCHEDULED_CALLS"
+      <span class="md-subhead" translate="APP.SCHEDULED_CALLS"
         >Scheduled Calls</span
       <div flex></div>
@@ -37,17 +37,15 @@
         <tr md-row>
           <th md-column>{{'MOTIONDIALER.FULLNAME' | translate}}</th>
-          <th md-column md-order-by="phone">
-            {{ 'MOTIONDIALER.PHONE' | translate }}
-          </th>
+          <th md-column md-order-by="phone">{{ 'APP.PHONE' | translate }}</th>
           <th md-column md-order-by="scheduledat">
-            {{ 'MOTIONDIALER.SCHEDULEDAT' | translate }}
+            {{ 'APP.SCHEDULEDAT' | translate }}
           </th>
-          <th md-column>{{ 'MOTIONDIALER.PRIORITY' | translate }}</th>
+          <th md-column>{{ 'APP.PRIORITY' | translate }}</th>
           <th md-column md-order-by="recallme">
-            {{ 'MOTIONDIALER.RECALLME' | translate }}
+            {{ 'APP.RECALLME' | translate }}
           </th>
-          <th md-column>{{ 'MOTIONDIALER.CAMPAIGN' | translate }}</th>
+          <th md-column>{{ 'APP.CAMPAIGN' | translate }}</th>
           <th md-column width="10px"></th>
         </tr>
       </thead>
@@ -55,9 +53,7 @@
         <tr md-row ng-hide="vm.scheduledCalls.rows.length">
           <td md-cell colspan="10">
             <div layout="row" layout-align="center center">
-              <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
-                >No Available Info</span
-              >
+              <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
             </div>
           </td>
         </tr>
@@ -99,7 +95,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="MOTIONDIALER.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -109,7 +105,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.createOrEditQueueCampaignHopper($event, scheduledCall)"
-                    translate="MOTIONDIALER.EDIT_HOPPER"
+                    translate="APP.EDIT_HOPPER"
                     Edit Hopper
                   </md-button>
@@ -117,7 +113,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.deleteConfirm(scheduledCall, $event)"
-                    translate="MOTIONDIALER.DELETE_HOPPER"
+                    translate="APP.DELETE_HOPPER"
                     Delete Hopper
                   </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/sms/agent.general.sms.html b/public/app/main/apps/dashboards/views/general/agent/home/sms/agent.general.sms.html
index 555a283..93c9e4a 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/sms/agent.general.sms.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/sms/agent.general.sms.html
@@ -45,7 +45,7 @@
           class="md-icon-button reload-list"
           aria-label="Reload"
           translate
-          translate-attr-aria-label="DASHBOARDS.RELOAD"
+          translate-attr-aria-label="APP.RELOAD"
           ng-click="vm.getSmsInteractions()"
           <md-icon md-font-icon="icon-reload"></md-icon>
@@ -57,7 +57,7 @@
           class="md-icon-button create-new"
           aria-label="More"
           translate
-          translate-attr-aria-label="DASHBOARDS.MORE"
+          translate-attr-aria-label="APP.MORE"
           ng-click="$mdMenu.open($event)"
           <md-icon md-font-icon="icon-plus"></md-icon>
@@ -204,7 +204,7 @@
           </td>
           <td ng-click="vm.showSmsInteraction($event, interaction)" md-cell>
             <span ng-if="interaction.closed" class="red-fg font-size-12"
-              >{{ 'DASHBOARDS.CLOSED' | translate}}
+              >{{ 'APP.CLOSED' | translate}}
               <span ng-if="interaction.disposition"
                 >- {{ interaction.thirdDisposition ||
                 interaction.secondDisposition || interaction.disposition
@@ -244,7 +244,7 @@
               </div>
             </md-tooltip>
             <span ng-if="!interaction.closed" class="green-fg font-size-12"
-              ><span translate="DASHBOARDS.OPENED"></span
+              ><span translate="APP.OPENED"></span
               ><span ng-if="interaction.substatus">
                 - {{interaction.substatus}}</span
               ></span
@@ -288,7 +288,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -305,7 +305,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadSmsInteraction($event, interaction)"
-                    translate="DASHBOARDS.DOWNLOAD"
+                    translate="APP.DOWNLOAD"
                     Download Sms
                   </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/voice/agent.general.voice.html b/public/app/main/apps/dashboards/views/general/agent/home/voice/agent.general.voice.html
index 3e42f84..718f878 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/voice/agent.general.voice.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/voice/agent.general.voice.html
@@ -29,21 +29,19 @@
       <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getVoiceCalls">
         <tr md-row>
           <th md-column md-order-by="id">{{'VOICE.ID' | translate}}</th>
-          <th md-column md-order-by="type">{{ 'VOICE.TYPE' | translate }}</th>
-          <th md-column md-order-by="source">
-            {{ 'VOICE.SOURCE' | translate }}
-          </th>
+          <th md-column md-order-by="type">{{ 'APP.TYPE' | translate }}</th>
+          <th md-column md-order-by="source">{{ 'APP.SOURCE' | translate }}</th>
           <th md-column md-order-by="destination">
-            {{ 'VOICE.DESTINATION' | translate }}
+            {{ 'APP.DESTINATION' | translate }}
           </th>
           <th md-column md-order-by="starttime">
-            {{ 'VOICE.STARTEDAT' | translate }}
+            {{ 'APP.STARTEDAT' | translate }}
           </th>
           <th md-column md-order-by="endtime">
             {{ 'VOICE.ENDEDAT' | translate }}
           </th>
           <th md-column md-order-by="userDisposition">
-            {{ 'VOICE.DISPOSITION' | translate }}
+            {{ 'APP.DISPOSITION' | translate }}
           </th>
           <th md-column md-order-by="userSecondDisposition">
             {{ 'VOICE.SECOND_LEVEL_DISPOSITION' | translate }}
@@ -51,14 +49,14 @@
           <th md-column md-order-by="userThirdDisposition">
             {{ 'VOICE.THIRD_LEVEL_DISPOSITION' | translate }}
           </th>
-          <th md-column>{{ 'VOICE.NOTE' | translate }}</th>
+          <th md-column>{{ 'APP.NOTE' | translate }}</th>
         </tr>
       </thead>
       <tbody md-body>
         <tr md-row ng-hide="vm.voiceCalls.rows.length">
           <td md-cell colspan="10">
             <div layout="row" layout-align="center center">
-              <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+              <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
             </div>
           </td>
         </tr>
@@ -111,7 +109,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="VOICE.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -121,7 +119,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.showDetails(voiceCall, $event)"
-                    translate="VOICE.DETAILS"
+                    translate="APP.DETAILS"
                     Show Details
                   </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/home/whatsapp/agent.general.whatsapp.html b/public/app/main/apps/dashboards/views/general/agent/home/whatsapp/agent.general.whatsapp.html
index 027c1b0..e087654 100644
--- a/public/app/main/apps/dashboards/views/general/agent/home/whatsapp/agent.general.whatsapp.html
+++ b/public/app/main/apps/dashboards/views/general/agent/home/whatsapp/agent.general.whatsapp.html
@@ -45,7 +45,7 @@
           class="md-icon-button reload-list"
           aria-label="Reload"
           translate
-          translate-attr-aria-label="DASHBOARDS.RELOAD"
+          translate-attr-aria-label="APP.RELOAD"
           ng-click="vm.getWhatsappInteractions()"
           <md-icon md-font-icon="icon-reload"></md-icon>
@@ -59,7 +59,7 @@
           class="md-icon-button create-new"
           aria-label="More"
           translate
-          translate-attr-aria-label="DASHBOARDS.MORE"
+          translate-attr-aria-label="APP.MORE"
           ng-click="$mdMenu.open($event)"
           <md-icon md-font-icon="icon-plus"></md-icon>
@@ -218,7 +218,7 @@
             md-cell
             <span ng-if="interaction.closed" class="red-fg font-size-12"
-              >{{ 'DASHBOARDS.CLOSED' | translate}}
+              >{{ 'APP.CLOSED' | translate}}
               <span ng-if="interaction.disposition"
                 >- {{ interaction.thirdDisposition ||
                 interaction.secondDisposition || interaction.disposition
@@ -258,7 +258,7 @@
               </div>
             </md-tooltip>
             <span ng-if="!interaction.closed" class="green-fg font-size-12"
-              ><span translate="DASHBOARDS.OPENED"></span
+              ><span translate="APP.OPENED"></span
               ><span ng-if="interaction.substatus">
                 - {{interaction.substatus}}</span
               ></span
@@ -302,7 +302,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="DASHBOARDS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -319,7 +319,7 @@
                 <md-menu-item>
                   <md-button
                     ng-click="vm.downloadWhatsappInteraction($event, interaction)"
-                    translate="DASHBOARDS.DOWNLOAD"
+                    translate="APP.DOWNLOAD"
                     Download Whatsapp
                   </md-button>
@@ -347,5 +347,6 @@
     md-total="{{vm.whatsappInteractions.count}}"
     md-on-paginate="vm.getWhatsappInteractions"
     md-page-select
-  ></md-table-pagination>
+  >
+  </md-table-pagination>
 </md-card>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.footer.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.footer.html
index de7c4bd..d3794f4 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.footer.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.footer.html
@@ -50,7 +50,7 @@
     md-items="item in vm.searchTextChange(vm.searchText)"
     md-item-text="item.value"
     md-min-length="1"
-    placeholder="{{ 'DASHBOARDS.CANNED_ANSWER_SEARCH' | translate}}"
+    placeholder="{{ 'APP.CANNED_ANSWER_SEARCH' | translate}}"
     class="cannedarea input-show-hide"
     <md-item-template>
@@ -73,7 +73,7 @@
     </md-item-template>
 
     <md-not-found>
-      <span translate="DASHBOARDS.CANNED_ANSWER_NOT_FOUND"
+      <span translate="APP.CANNED_ANSWER_NOT_FOUND"
         >No canned answers were found</span
       >
     </md-not-found>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.chat.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.chat.html
index 6bfa5d6..132c78e 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.chat.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.chat.html
@@ -41,7 +41,7 @@
     ng-if="item.closed && item.ratingValue != null"
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.RATING">Rating</p>
+      <p translate="APP.RATING">Rating</p>
       <md-icon
         md-font-icon="icon-star"
         style="color: red"
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.html
index f217727..0658e19 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.html
@@ -1,14 +1,14 @@
 <md-tabs md-selected="vm.selectedTab" md-stretch-tabs="always" flex>
   <md-tab>
     <md-tab-label>
-      <span translate="DASHBOARDS.CONTACT">Contact</span>
+      <span translate="APP.CONTACT">Contact</span>
     </md-tab-label>
     <md-tab-body>
       <md-content class="md-padding">
         <form name="contactForm" class="md-inline-form" novalidate>
           <md-input-container class="md-block">
             <md-icon md-font-icon="icon-account"></md-icon>
-            <label translate="DASHBOARDS.NAME">Name</label>
+            <label translate="APP.NAME">Name</label>
             <input
               type="text"
               name="firstName"
@@ -19,7 +19,7 @@
 
           <md-input-container class="md-block">
             <md-icon md-font-icon="icon-email"></md-icon>
-            <label translate="DASHBOARDS.EMAIL">Email</label>
+            <label translate="APP.EMAIL">Email</label>
             <input
               type="email"
               name="email"
@@ -30,7 +30,7 @@
 
           <md-input-container ng-if="vm.tab.channel != 'fax'" class="md-block">
             <md-icon md-font-icon="icon-phone"></md-icon>
-            <label translate="DASHBOARDS.PHONE">Phone</label>
+            <label translate="APP.PHONE">Phone</label>
             <input
               type="text"
               name="phone"
@@ -41,7 +41,7 @@
 
           <md-input-container ng-if="vm.tab.channel == 'fax'" class="md-block">
             <md-icon md-font-icon="icon-deskphone"></md-icon>
-            <label translate="DASHBOARDS.FAX">Fax</label>
+            <label translate="APP.FAX">Fax</label>
             <input type="text" name="fax" ng-model="vm.contact.fax" disabled />
           </md-input-container>
 
@@ -49,7 +49,7 @@
             <md-button
               class="md-raised md-accent"
               ng-click="vm.openContact(ev)"
-              translate="DASHBOARDS.MORE"
+              translate="APP.MORE"
               More
             </md-button>
@@ -60,7 +60,7 @@
   </md-tab>
   <md-tab>
     <md-tab-label>
-      <span translate="DASHBOARDS.INTERACTION">Interaction</span>
+      <span translate="APP.INTERACTION">Interaction</span>
     </md-tab-label>
     <md-tab-body>
       <div
@@ -76,12 +76,12 @@
         <span
           ng-if="vm.interaction.closed"
           class="md-background-bg red-fg font-size-14"
-          >#{{vm.interaction.id}} - <span translate="DASHBOARDS.CLOSED"></span
+          >#{{vm.interaction.id}} - <span translate="APP.CLOSED"></span
         ></span>
         <span
           ng-if="!vm.interaction.closed"
           class="md-background-bg green-fg font-size-14"
-          >#{{vm.interaction.id}} - <span translate="DASHBOARDS.OPENED"></span
+          >#{{vm.interaction.id}} - <span translate="APP.OPENED"></span
         ></span>
         <span
           ng-if="!vm.interaction.closed && vm.interaction.substatus"
@@ -93,10 +93,10 @@
       <md-list flex>
         <md-list-item class="md-2-line">
           <div class="md-list-item-text">
-            <p translate="DASHBOARDS.WEBSITE" ng-if="vm.tab.channel == 'chat'">
+            <p translate="APP.WEBSITE" ng-if="vm.tab.channel == 'chat'">
               Website
             </p>
-            <p translate="DASHBOARDS.ACCOUNT" ng-if="vm.tab.channel != 'chat'">
+            <p translate="APP.ACCOUNT" ng-if="vm.tab.channel != 'chat'">
               Account
             </p>
             <h4>{{vm.account.name}}</h4>
@@ -105,7 +105,7 @@
 
         <md-list-item class="md-2-line">
           <div class="md-list-item-text">
-            <p translate="DASHBOARDS.AGENT">Agent</p>
+            <p translate="APP.AGENT">Agent</p>
             <h4>{{vm.agent.fullname || vm.usersMap[vm.interaction.UserId]}}</h4>
           </div>
         </md-list-item>
@@ -121,7 +121,7 @@
 
         <md-list-item class="md-2-line">
           <div class="md-list-item-text">
-            <p translate="DASHBOARDS.CREATED_AT">Created At</p>
+            <p translate="APP.CREATED_AT">Created At</p>
             <h4>{{vm.interaction.createdAt | date: 'medium'}}</h4>
           </div>
         </md-list-item>
@@ -146,7 +146,7 @@
 
         <md-list-item class="md-2-line" ng-if="vm.interaction.Tags.length">
           <div class="md-list-item-text">
-            <p translate="DASHBOARDS.TAGS">Tags</p>
+            <p translate="APP.TAGS">Tags</p>
             <div
               class="tags padding-bottom-5"
               layout="row"
@@ -182,7 +182,7 @@
           ng-if="vm.interaction.closed && vm.interaction.disposition"
           <div class="md-list-item-text">
-            <p translate="DASHBOARDS.DISPOSITION">Disposition</p>
+            <p translate="APP.DISPOSITION">Disposition</p>
             <h4>{{ vm.interaction.disposition }}</h4>
           </div>
         </md-list-item>
@@ -213,7 +213,7 @@
           ng-if="vm.interaction.closed && vm.interaction.note"
           <div class="md-list-item-text">
-            <p translate="DASHBOARDS.NOTE">NOTE</p>
+            <p translate="APP.NOTE">NOTE</p>
             <h4 style="overflow-wrap: break-word; white-space: normal">
               {{ vm.interaction.note }}
             </h4>
@@ -224,7 +224,7 @@
   </md-tab>
   <md-tab>
     <md-tab-label>
-      <span translate="DASHBOARDS.CUSTOMER_JOURNEY">Journey</span>
+      <span translate="APP.CUSTOMER_JOURNEY">Journey</span>
     </md-tab-label>
     <md-tab-body>
       <md-content class="md-padding">
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.all.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.all.html
index 10ba640..7defd82 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.all.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.all.html
@@ -3,7 +3,7 @@
 <md-list flex>
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.AGENT">Agent</p>
+      <p translate="APP.AGENT">Agent</p>
       <h4>
         {{vm.agent.fullname || vm.usersMap[item.UserId] ||
         'DASHBOARDS.NOT_ASSIGNED' | translate}}
@@ -22,7 +22,7 @@
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.CREATED_AT">Created At</p>
+      <p translate="APP.CREATED_AT">Created At</p>
       <h4>{{item.createdAt | date: 'medium'}}</h4>
     </div>
   </md-list-item>
@@ -47,7 +47,7 @@
   </md-list-item>
   <md-list-item class="md-2-line" ng-if="item.closed && item.disposition">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.DISPOSITION">Disposition</p>
+      <p translate="APP.DISPOSITION">Disposition</p>
       <h4>{{ item.disposition }}</h4>
     </div>
   </md-list-item>
@@ -69,7 +69,7 @@
   </md-list-item>
   <md-list-item class="md-3-line md-long-text" ng-if="item.closed && item.note">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.NOTE">NOTE</p>
+      <p translate="APP.NOTE">NOTE</p>
       <h4 style="overflow-wrap: break-word; white-space: normal">
         {{ item.note }}
       </h4>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.html
index 019f148..44c6e3a 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.html
@@ -2,12 +2,8 @@
   <div layout-margin>
     <md-input-container>
       <md-select ng-model="vm.channel" placeholder="Channel">
-        <md-option ng-value="undefined" translate="DASHBOARDS.ALL"
-          >All</md-option
-        >
-        <md-option ng-value="'voice'" translate="DASHBOARDS.VOICE"
-          >Voice</md-option
-        >
+        <md-option ng-value="undefined" translate="APP.ALL">All</md-option>
+        <md-option ng-value="'voice'" translate="APP.VOICE">Voice</md-option>
         <md-option ng-value="'chat'">Chat</md-option>
         <md-option ng-value="'mail'">Mail</md-option>
         <md-option ng-value="'sms'">Sms</md-option>
@@ -102,7 +98,7 @@
                 class="toggle-details md-accent-color"
                 ng-hide="item.showMore"
                 ng-click="item.showMore = !item.showMore"
-                translate="DASHBOARDS.SHOW_DETAILS"
+                translate="APP.SHOW_DETAILS"
                 Show Details
               </a>
@@ -110,7 +106,7 @@
                 class="toggle-details md-accent-color"
                 ng-show="item.showMore"
                 ng-click="item.showMore = !item.showMore"
-                translate="DASHBOARDS.HIDE_DETAILS"
+                translate="APP.HIDE_DETAILS"
                 Hide Details
               </a>
@@ -149,28 +145,27 @@
             <span
               class="red-fg"
-              title="{{ 'DASHBOARDS.STATUS' | translate}} : {{ 'DASHBOARDS.CLOSED' | translate }} {{ item.dispositionsValues }}"
+              title="{{ 'APP.STATUS' | translate}} : {{ 'APP.CLOSED' | translate }} {{ item.dispositionsValues }}"
-              {{ 'DASHBOARDS.STATUS' | translate}} : {{ 'DASHBOARDS.CLOSED' |
-              translate}} {{ item.dispositionsValues }}
+              {{ 'APP.STATUS' | translate}} : {{ 'APP.CLOSED' | translate}} {{
+              item.dispositionsValues }}
             </span>
           </div>
           <span
             class="text-boxed md-background-bg green-fg"
             ng-if="!item.closed && !item.amaflags"
-            title="{{ 'DASHBOARDS.STATUS' | translate}}: {{ 'DASHBOARDS.OPENED' | translate}}"
+            title="{{ 'APP.STATUS' | translate}}: {{ 'APP.OPENED' | translate}}"
-            {{ 'DASHBOARDS.STATUS' | translate}}: {{ 'DASHBOARDS.OPENED' |
-            translate}}
+            {{ 'APP.STATUS' | translate}}: {{ 'APP.OPENED' | translate}}
             <span ng-if="item.substatus"> - {{ item.substatus }}</span>
           </span>
           <span
             ng-if="item.amaflags"
             class="text-boxed md-background-bg red-fg"
-            title="{{ 'DASHBOARDS.DISPOSITION' | translate}}: {{ item.userDisposition || 'No Dispose'}}"
+            title="{{ 'APP.DISPOSITION' | translate}}: {{ item.userDisposition || 'No Dispose'}}"
-            {{ 'DASHBOARDS.DISPOSITION' | translate}}: {{ item.userDisposition
-            || ('DASHBOARDS.NO_DISPOSITION_SET' | translate)}}
+            {{ 'APP.DISPOSITION' | translate}}: {{ item.userDisposition ||
+            ('DASHBOARDS.NO_DISPOSITION_SET' | translate)}}
           </span>
           <span
             ng-if="item.amaflags && item.userSecondDisposition"
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.voice.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.voice.html
index de81fb0..4f49bc0 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.voice.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.journey.voice.html
@@ -3,42 +3,42 @@
 <md-list flex>
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.TYPE">Type</p>
+      <p translate="APP.TYPE">Type</p>
       <h4>{{item.type ? item.type : 'no type'}}</h4>
     </div>
   </md-list-item>
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.SOURCE">Source</p>
+      <p translate="APP.SOURCE">Source</p>
       <h4>{{item.source ? item.source : 'unknown'}}</h4>
     </div>
   </md-list-item>
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.DESTINATION">Destination</p>
+      <p translate="APP.DESTINATION">Destination</p>
       <h4>{{item.destination ? item.destination : 'unknown'}}</h4>
     </div>
   </md-list-item>
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.CALLERID">Caller Id</p>
+      <p translate="APP.CALLERID">Caller Id</p>
       <h4>{{item.callerid ? item.callerid : 'unknown'}}</h4>
     </div>
   </md-list-item>
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.STARTEDAT">Started At</p>
+      <p translate="APP.STARTEDAT">Started At</p>
       <h4>{{item.starttime | date:'medium'}}</h4>
     </div>
   </md-list-item>
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.UNIQUEID">Uniqueid</p>
+      <p translate="APP.UNIQUEID">Uniqueid</p>
       <h4>{{item.uniqueid ? item.uniqueid : 'unknown'}}</h4>
     </div>
   </md-list-item>
@@ -52,14 +52,14 @@
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.DURATION">Duration</p>
+      <p translate="APP.DURATION">Duration</p>
       <h4>{{item.duration ? item.duration : '--'}}s</h4>
     </div>
   </md-list-item>
 
   <md-list-item class="md-2-line">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.NOTE">Note</p>
+      <p translate="APP.NOTE">Note</p>
       <h4>{{item.note ? item.note : '--'}}</h4>
     </div>
   </md-list-item>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.mail.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.mail.html
index 89c3725..d554306 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.mail.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.info.mail.html
@@ -1,7 +1,7 @@
 <div ng-init="item = item || vm.interaction">
   <md-list-item class="md-2-line" ng-if="item.subject">
     <div class="md-list-item-text">
-      <p translate="DASHBOARDS.SUBJECT">Subject</p>
+      <p translate="APP.SUBJECT">Subject</p>
       <h4>{{item.subject}}</h4>
     </div>
   </md-list-item>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.interaction.mail.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.interaction.mail.html
index 5a20cdb..de89d29 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.interaction.mail.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.interaction.mail.html
@@ -107,7 +107,7 @@
                     <div>{{message.subject}}</div>
                   </div>
                   <div class="name" layout="row" layout-align="start center">
-                    <span translate="MAIL.TO">To</span>:
+                    <span translate="APP.TO">To</span>:
                     <span class="padding-left-5 subject text-truncate"
                       >{{ message.originTo || message.to }}</span
                     >
@@ -149,7 +149,7 @@
                 class="toggle-details md-accent-color"
                 ng-hide="vm.selectedMailShowDetails[message.id]"
                 ng-click="vm.selectedMailShowDetails[message.id] = !vm.selectedMailShowDetails[message.id]"
-                translate="MAIL.SHOW_DETAILS"
+                translate="APP.SHOW_DETAILS"
                 Show Details
               </a>
@@ -157,7 +157,7 @@
                 class="toggle-details md-accent-color"
                 ng-show="vm.selectedMailShowDetails[message.id]"
                 ng-click="vm.selectedMailShowDetails[message.id] = !vm.selectedMailShowDetails[message.id]"
-                translate="MAIL.HIDE_DETAILS"
+                translate="APP.HIDE_DETAILS"
                 Hide Details
               </a>
@@ -168,9 +168,9 @@
                 layout-align="start start"
                 <div layout="column">
-                  <span class="title" translate="MAIL.DATE">Date:</span>
-                  <span class="title" translate="MAIL.FROM">From:</span>
-                  <span class="title" translate="MAIL.TO">To:</span>
+                  <span class="title" translate="APP.DATE">Date:</span>
+                  <span class="title" translate="APP.FROM">From:</span>
+                  <span class="title" translate="APP.TO">To:</span>
                   <!-- NOTE: Start retrocompatibility with replyCc 2.0.66 -->
                   <span
                     class="title"
@@ -309,7 +309,7 @@
                 ng-click="vm.composeMailInteraction('reply', message)"
                 <md-tooltip md-direction="bottom"
-                  ><span translate="MAIL.REPLY">Reply</span></md-tooltip
+                  ><span translate="APP.REPLY">Reply</span></md-tooltip
                 <md-icon md-font-icon="icon-reply" class="icon s24"></md-icon>
               </md-button>
@@ -345,7 +345,7 @@
                 ng-click="vm.downloadMessage(message)"
                 <md-tooltip md-direction="bottom"
-                  ><span translate="MAIL.DOWNLOAD">Download</span>
+                  ><span translate="APP.DOWNLOAD">Download</span>
                 </md-tooltip>
                 <md-icon
                   md-font-icon="icon-download"
@@ -363,7 +363,7 @@
                   aria-label="download"
                   <md-tooltip md-direction="bottom"
-                    ><span translate="MAIL.DOWNLOAD">Download</span>
+                    ><span translate="APP.DOWNLOAD">Download</span>
                   </md-tooltip>
                   <md-icon md-font-icon="icon-download"></md-icon>
                 </md-button>
@@ -371,7 +371,7 @@
                   <md-menu-item>
                     <md-button
                       ng-click="vm.downloadMessage(message, true)"
-                      translate="MAIL.DOWNLOAD_WITH_ATTACHMENTS"
+                      translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
                       Download with attachments
                     </md-button>
@@ -379,7 +379,7 @@
                   <md-menu-item>
                     <md-button
                       ng-click="vm.downloadMessage(message)"
-                      translate="MAIL.DOWNLOAD_WITHOUT_ATTACHMENTS"
+                      translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
                       Download without attachments
                     </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.loading.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.loading.html
index a06da15..eecfbed 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.loading.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.loading.html
@@ -5,7 +5,7 @@
     ng-class="vm.getColorByChannel(vm.tab.channel) + '-fg'"
   ></md-icon>
 </div>
-<span class="app-title" translate="DASHBOARDS.WAITING">Waiting</span>
+<span class="app-title" translate="APP.WAITING">Waiting</span>
 <span
   class="hide show-gt-md secondary-text"
   translate="DASHBOARDS.LOADING_INTERACTION"
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.fax.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.fax.html
index 6054f2f..81d7bd6 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.fax.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.fax.html
@@ -5,7 +5,7 @@
   ng-click="vm.composeFaxInteraction('new')"
   <md-tooltip md-direction="bottom"
-    ><span translate="FAX.REPLY">Reply</span></md-tooltip
+    ><span translate="APP.REPLY">Reply</span></md-tooltip
   <md-icon md-font-icon="icon-reply" class="icon s24"></md-icon>
 </md-button>
@@ -15,7 +15,7 @@
   ng-click="vm.downloadInteraction(vm.interaction)"
   <md-tooltip md-direction="bottom"
-    ><span translate="DASHBOARDS.DOWNLOAD">Download</span></md-tooltip
+    ><span translate="APP.DOWNLOAD">Download</span></md-tooltip
   <md-icon md-font-icon="icon-download" class="icon s24"></md-icon>
 </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.html
index 9b86b9d..5c37f27 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.html
@@ -33,11 +33,11 @@
       <span
         class="red-fg padding-left-25"
         ng-if="vm.interaction.closed"
-        translate="DASHBOARDS.CLOSED"
+        translate="APP.CLOSED"
         >CLOSED</span
       <span class="green-fg padding-left-25" ng-if="!vm.interaction.closed"
-        ><span translate="DASHBOARDS.OPENED">OPENED</span
+        ><span translate="APP.OPENED">OPENED</span
         ><span ng-if="vm.interaction.substatus">
           - {{vm.interaction.substatus}}</span
         ></span
@@ -110,7 +110,7 @@
         aria-label="download"
         <md-tooltip md-direction="bottom"
-          ><span translate="DASHBOARDS.DOWNLOAD">Download</span></md-tooltip
+          ><span translate="APP.DOWNLOAD">Download</span></md-tooltip
         <md-icon md-font-icon="icon-download"></md-icon>
       </md-button>
@@ -118,7 +118,7 @@
         <md-menu-item>
           <md-button
             ng-click="vm.downloadInteraction(vm.interaction, true)"
-            translate="DASHBOARDS.DOWNLOAD_WITH_ATTACHMENTS"
+            translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
             Download with attachments
           </md-button>
@@ -126,7 +126,7 @@
         <md-menu-item>
           <md-button
             ng-click="vm.downloadInteraction(vm.interaction)"
-            translate="DASHBOARDS.DOWNLOAD_WITHOUT_ATTACHMENTS"
+            translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
             Download without attachments
           </md-button>
@@ -152,14 +152,14 @@
           <md-button
             ng-click="vm.createVidaooSession(vm.interaction)"
-            translate="DASHBOARDS.VIDAOOSESSION"
+            translate="APP.VIDAOOSESSION"
             Start Video Call
           </md-button>
         </md-menu-item>
 
         <md-menu-item>
-          <md-button ng-click="vm.tagInteraction()" translate="DASHBOARDS.TAG">
+          <md-button ng-click="vm.tagInteraction()" translate="APP.TAG">
             Tag
           </md-button>
         </md-menu-item>
@@ -168,7 +168,7 @@
           <md-button
             ng-click="vm.transferLastMessage()"
-            translate="DASHBOARDS.TRANSFER"
+            translate="APP.TRANSFER"
             Transfer
           </md-button>
@@ -186,10 +186,7 @@
             </md-button>
             <md-menu-content>
               <md-menu-item ng-if="vm.interaction.substatus != null">
-                <md-button
-                  ng-click="vm.setAs(null)"
-                  translate="DASHBOARDS.NONE"
-                >
+                <md-button ng-click="vm.setAs(null)" translate="APP.NONE">
                   None
                 </md-button>
               </md-menu-item>
@@ -206,7 +203,7 @@
           <md-button
             ng-click="vm.markAsUnread()"
-            translate="DASHBOARDS.MARK_AS_UNREAD"
+            translate="APP.MARK_AS_UNREAD"
             Unread
           </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.mail.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.mail.html
index 1cdb3d4..fd90b69 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.mail.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.mail.html
@@ -14,7 +14,8 @@
       md-font-icon="icon-pencil-box"
       class="icon s24"
       ng-class="vm.draft ? 'red-500-fg' : 'grey-fg'"
-    ></md-icon>
+    >
+    </md-icon>
   </md-button>
 </div>
 <md-button
@@ -24,7 +25,7 @@
   ng-click="vm.composeMailInteraction('reply', vm.interaction)"
   <md-tooltip md-direction="bottom"
-    ><span translate="MAIL.REPLY">Reply</span></md-tooltip
+    ><span translate="APP.REPLY">Reply</span></md-tooltip
   <md-icon md-font-icon="icon-reply" class="icon s24"></md-icon>
 </md-button>
@@ -56,7 +57,7 @@
   ng-click="vm.composeMailInteraction('note', vm.interaction)"
   <md-tooltip md-direction="bottom"
-    ><span translate="MAIL.NOTE">Note</span></md-tooltip
+    ><span translate="APP.NOTE">Note</span></md-tooltip
   <md-icon md-font-icon="icon-note-outline" class="icon s24"></md-icon>
 </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.sms.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.sms.html
index 5fa1e7d..43fc50e 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.sms.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.sms.html
@@ -4,7 +4,7 @@
   ng-click="vm.composeSmsInteraction('note', vm.interaction)"
   <md-tooltip md-direction="bottom"
-    ><span translate="SMS.NOTE">Note</span></md-tooltip
+    ><span translate="APP.NOTE">Note</span></md-tooltip
   <md-icon md-font-icon="icon-note-outline" class="icon s24"></md-icon>
 </md-button>
@@ -14,7 +14,7 @@
   ng-click="vm.downloadInteraction(vm.interaction)"
   <md-tooltip md-direction="bottom"
-    ><span translate="DASHBOARDS.DOWNLOAD">Download</span></md-tooltip
+    ><span translate="APP.DOWNLOAD">Download</span></md-tooltip
   <md-icon md-font-icon="icon-download" class="icon s24"></md-icon>
 </md-button>
diff --git a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.whatsapp.html b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.whatsapp.html
index 07cd2de..2552021 100644
--- a/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.whatsapp.html
+++ b/public/app/main/apps/dashboards/views/general/agent/interaction/views/agent.general.toolbar.whatsapp.html
@@ -4,7 +4,7 @@
   ng-click="vm.composeWhatsappInteraction('note', vm.interaction)"
   <md-tooltip md-direction="bottom"
-    ><span translate="WHATSAPP.NOTE">Note</span></md-tooltip
+    ><span translate="APP.NOTE">Note</span></md-tooltip
   <md-icon md-font-icon="icon-note-outline" class="icon s24"></md-icon>
 </md-button>
@@ -14,7 +14,7 @@
   ng-click="vm.downloadInteraction(vm.interaction)"
   <md-tooltip md-direction="bottom"
-    ><span translate="DASHBOARDS.DOWNLOAD">Download</span></md-tooltip
+    ><span translate="APP.DOWNLOAD">Download</span></md-tooltip
   <md-icon md-font-icon="icon-download" class="icon s24"></md-icon>
 </md-button>
diff --git a/public/app/main/apps/integrations/i18n/ar.json b/public/app/main/apps/integrations/i18n/ar.json
index 42560bc..691828a 100644
--- a/public/app/main/apps/integrations/i18n/ar.json
+++ b/public/app/main/apps/integrations/i18n/ar.json
@@ -1,33 +1,21 @@
 {
   "INTEGRATIONS": {
     "ERRORS": {
-      "APIKEY_REQUIRED": "  مفتاح واجهة برمجة التطبيقات المطلوب",
-      "AUTHTOKEN_REQUIRED": "رمز المصادقه المميز المطلوب",
       "CLIENTID_REQUIRED": "معرف العميل المطلوب",
       "CLIENTSECRET_REQUIRED": "سرية العميل مطلوبة ",
       "CONFIRM_NOT_MATCH": "تأكيد غير متطابق",
       "CONSUMERKEY_REQUIRED": "مفتاح المستهلك المطلوب",
       "CONSUMERSECRET_REQUIRED": "سرية العميل المطلوبة",
       "CONTENT_REQUIRED": "المحتوى مطلوب",
-      "FIELD_REQUIRED": "الحقل المطلوب",
-      "HOST_REQUIRED": "المستضيف المطلوب",
-      "KEY_REQUIRED": "المفتاح المطلوب",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "ادخل رابط العنوان اذا كنت ترغب في تعبئة التذكرة",
-      "NAME_REQUIRED": "الاسم المطلوب",
-      "PASSWORD_REQUIRED": "الرقم السرى المطلوب",
       "SECURITYTOKEN_REQUIRED": "رمز الأمان المطلوب",
       "TOKENSECRET_REQUIRED": "الرمز السرى المطلوب",
-      "TOKEN_REQUIRED": "الرمز المطلوب",
-      "TYPE_REQUIRED": "النوع المطلوب",
       "URI_MUST_VALID_URL": "يجب أن يكون الرابط الإلكترونى الخاص بمعرف الموارد الموحد صالحا ",
       "URI_REQUIRED": "معرف الموارد الموحد المطلوب",
-      "USERNAME_REQUIRED": "اسم المستخدم المطلوب",
-      "VALUE_REQUIRED": "القيمه المطلوبة",
       "VARIABLENAME_REQUIRED": "اسم المتغير المطلوب",
       "ACCESS_KEY_REQUIRED": "حقل الزامي",
       "VTIGER_USER_NAME_REQUIRED": "حقل الزامي",
       "TENANTID_REQUIRED": "حقل الزامي",
-      "EMAIL_REQUIRED": "حقل الزامي",
       "CODE_REQUIRED": "حقل الزامي"
     },
     "HELP": {
@@ -45,7 +33,6 @@
     "INTEGRATIONS": "تكامل النظام",
     "MODULE_CREATE": "إنشاء وحدة برمجية",
     "MODULE_SEARCH": "بحث عن وحدة برمجية",
-    "NAME": "اسم",
     "SELECTED": "المحدد",
     "URI": "عنوان رابط الكترونى",
     "USERNAME": "اسم المستخدم",
@@ -176,7 +163,6 @@
     "TEST_ZENDESKACCOUNT": "إختبار حساب برنامج ذينديسك",
     "TEST_ZOHOACCOUNT": "اختبار حساب زوهو",
     "TOKENSECRET": "الرمز المميز السري",
-    "TYPE": "نوع",
     "VALUE": "القيمة",
     "VOICE": "صوت",
     "ZOHOACCOUNTS": "حسابات زوهو",
diff --git a/public/app/main/apps/integrations/i18n/cs.json b/public/app/main/apps/integrations/i18n/cs.json
index 9eb7a69..dafda91 100644
--- a/public/app/main/apps/integrations/i18n/cs.json
+++ b/public/app/main/apps/integrations/i18n/cs.json
@@ -6,7 +6,6 @@
     "INTEGRATIONS": "Integrations",
     "ZENDESKACCOUNTS": "Zendesk Accounts",
     "ID": "Id",
-    "NAME": "Name",
     "USERNAME": "Username",
     "URI": "URL",
     "BACK": "Back",
@@ -24,33 +23,21 @@
     "DESCRIPTION": "Description",
     "ADD_ZENDESKACCOUNT": "Add Zendesk Account",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "USERNAME_REQUIRED": "Mandatory field",
       "URI_REQUIRED": "Mandatory field",
       "URI_MUST_VALID_URL": "Wrong format",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "TOKEN_REQUIRED": "Mandatory field",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Wrong format",
       "CLIENTID_REQUIRED": "Mandatory field",
       "CLIENTSECRET_REQUIRED": "Mandatory field",
       "SECURITYTOKEN_REQUIRED": "Mandatory field",
-      "APIKEY_REQUIRED": "Mandatory field",
       "CONTENT_REQUIRED": "Mandatory field",
       "VARIABLENAME_REQUIRED": "Mandatory field",
-      "KEY_REQUIRED": "Mandatory field",
-      "TYPE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
       "CONSUMERKEY_REQUIRED": "Mandatory field",
       "CONSUMERSECRET_REQUIRED": "Mandatory field",
       "TOKENSECRET_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
-      "AUTHTOKEN_REQUIRED": "Mandatory field",
       "VTIGER_USER_NAME_REQUIRED": "Mandatory field",
       "ACCESS_KEY_REQUIRED": "Mandatory field",
       "CODE_REQUIRED": "Povinné pole",
-      "EMAIL_REQUIRED": "Povinné pole",
       "TENANTID_REQUIRED": "Povinné pole"
     },
     "HELP": {
@@ -120,7 +107,6 @@
     "DESCRIPTIONS": "Descriptions",
     "FIELDS": "Fields",
     "TAGS": "Tags",
-    "TYPE": "Type",
     "CONTENT": "Content",
     "EDIT_SUBJECT": "Edit Subject",
     "DELETE_SUBJECT": "Delete Subject",
diff --git a/public/app/main/apps/integrations/i18n/da.json b/public/app/main/apps/integrations/i18n/da.json
index 451b7be..2d59f2a 100644
--- a/public/app/main/apps/integrations/i18n/da.json
+++ b/public/app/main/apps/integrations/i18n/da.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integrationer",
     "ZENDESKACCOUNTS": "Zendesk konti",
     "ID": "Id",
-    "NAME": "Navnet",
     "USERNAME": "Brugernavn",
     "URI": "URL",
     "BACK": "Tilbage",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Beskrivelse",
     "ADD_ZENDESKACCOUNT": "Zendesk Tilføj konto",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "USERNAME_REQUIRED": "Brugernavn er påkrævet",
       "URI_REQUIRED": "URL er påkrævet",
       "URI_MUST_VALID_URL": "URL skal være skrevet i et gyldigt format",
-      "PASSWORD_REQUIRED": "Adgangskoden kræves",
       "CONFIRM_NOT_MATCH": "Adgangskoderne don' t match",
-      "TOKEN_REQUIRED": "Dette token er påkrævet",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Adressen skal være skrevet i et gyldigt format",
       "CLIENTID_REQUIRED": "Klient-ID er påkrævet",
       "CLIENTSECRET_REQUIRED": "Kunden hemmeligheden er påkrævet",
       "SECURITYTOKEN_REQUIRED": "Det Security token er påkrævet",
-      "APIKEY_REQUIRED": "API-nøgle kræves",
       "CONTENT_REQUIRED": "Indholdet kræves",
       "VARIABLENAME_REQUIRED": "Variablen er nødvendig",
-      "KEY_REQUIRED": "Den nøgle er påkrævet",
-      "TYPE_REQUIRED": "Den Type skal angives",
-      "VALUE_REQUIRED": "Værdien er nødvendig",
-      "FIELD_REQUIRED": "Feltet er påkrævet",
       "CONSUMERKEY_REQUIRED": "Forbrugeren nøgle er påkrævet",
       "CONSUMERSECRET_REQUIRED": "Forbrugeren hemmeligheden er påkrævet",
       "TOKENSECRET_REQUIRED": "Token Secret er påkrævet",
-      "HOST_REQUIRED": "Værten er påkrævet",
-      "AUTHTOKEN_REQUIRED": "Bevillingsformaliteter token er påkrævet",
       "ACCESS_KEY_REQUIRED": "Obligatorisk felt",
       "VTIGER_USER_NAME_REQUIRED": "Obligatorisk felt",
       "TENANTID_REQUIRED": "Obligatorisk felt",
-      "EMAIL_REQUIRED": "Obligatorisk felt",
       "CODE_REQUIRED": "Obligatorisk felt"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Beskrivelser",
     "FIELDS": "Felter",
     "TAGS": "Tags",
-    "TYPE": "Type",
     "CONTENT": "Indhold",
     "EDIT_SUBJECT": "Rediger emne",
     "DELETE_SUBJECT": "Slet emne",
diff --git a/public/app/main/apps/integrations/i18n/de.json b/public/app/main/apps/integrations/i18n/de.json
index cdcc9fe..e141739 100644
--- a/public/app/main/apps/integrations/i18n/de.json
+++ b/public/app/main/apps/integrations/i18n/de.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integrationen",
     "ZENDESKACCOUNTS": "Zendesk Konten",
     "ID": "Id",
-    "NAME": "Name",
     "USERNAME": "Benutzername",
     "URI": "URL",
     "BACK": "Zurück",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Beschreibung",
     "ADD_ZENDESKACCOUNT": "Konto hinzufügen ZENDESK",
     "ERRORS": {
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "USERNAME_REQUIRED": "Der Benutzername ist erforderlich",
       "URI_REQUIRED": "Die URL ist erforderlich",
       "URI_MUST_VALID_URL": "Der URL muss schriftlich in einem gültigen Format",
-      "PASSWORD_REQUIRED": "Das Kennwort ist erforderlich",
       "CONFIRM_NOT_MATCH": "Die Kennwörter nicht übereinstimmen",
-      "TOKEN_REQUIRED": "Das Token ist erforderlich",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Die Adresse muss in einem gültigen Format",
       "CLIENTID_REQUIRED": "Die Client-ID ist erforderlich",
       "CLIENTSECRET_REQUIRED": "Der Client ist erforderlich",
       "SECURITYTOKEN_REQUIRED": "Der Sicherheitsschlüssel ist erforderlich",
-      "APIKEY_REQUIRED": "Die API-Schlüssel erforderlich ist",
       "CONTENT_REQUIRED": "Der Inhalt ist erforderlich",
       "VARIABLENAME_REQUIRED": "Die Variable ist erforderlich",
-      "KEY_REQUIRED": "Der Schlüssel ist erforderlich",
-      "TYPE_REQUIRED": "Der Typ ist erforderlich",
-      "VALUE_REQUIRED": "Der Wert ist erforderlich",
-      "FIELD_REQUIRED": "Das Feld ist erforderlich.",
       "CONSUMERKEY_REQUIRED": "Der Verbraucher Schlüssel ist erforderlich",
       "CONSUMERSECRET_REQUIRED": "Der Verbraucher Geheimnis ist erforderlich",
       "TOKENSECRET_REQUIRED": "Das Token Geheimnis ist erforderlich",
-      "HOST_REQUIRED": "Der Host wird benötigt",
-      "AUTHTOKEN_REQUIRED": "Die autorization Token ist erforderlich",
       "ACCESS_KEY_REQUIRED": "Pflichtfeld",
       "VTIGER_USER_NAME_REQUIRED": "Pflichtfeld",
       "TENANTID_REQUIRED": "Pflichtfeld",
-      "EMAIL_REQUIRED": "Pflichtfeld",
       "CODE_REQUIRED": "Pflichtfeld"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Beschreibungen",
     "FIELDS": "Felder",
     "TAGS": "Tags",
-    "TYPE": "Typ",
     "CONTENT": "Inhalt",
     "EDIT_SUBJECT": "Betreff bearbeiten",
     "DELETE_SUBJECT": "Löschen von Themen",
diff --git a/public/app/main/apps/integrations/i18n/en.json b/public/app/main/apps/integrations/i18n/en.json
index c5a4545..f4767a0 100644
--- a/public/app/main/apps/integrations/i18n/en.json
+++ b/public/app/main/apps/integrations/i18n/en.json
@@ -9,7 +9,6 @@
     "INTEGRATIONS": "Integrations",
     "ZENDESKACCOUNTS": "Zendesk Accounts",
     "ID": "Id",
-    "NAME": "Name",
     "USERNAME": "Username",
     "URI": "URL",
     "BACK": "Back",
@@ -28,32 +27,20 @@
     "DESCRIPTION": "Description",
     "ADD_ZENDESKACCOUNT": "Add Zendesk Account",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "USERNAME_REQUIRED": "Mandatory field",
       "URI_REQUIRED": "Mandatory field",
       "URI_MUST_VALID_URL": "Wrong format",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "TOKEN_REQUIRED": "Mandatory field",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Wrong format",
       "CLIENTID_REQUIRED": "Mandatory field",
       "CLIENTSECRET_REQUIRED": "Mandatory field",
       "SECURITYTOKEN_REQUIRED": "Mandatory field",
-      "APIKEY_REQUIRED": "Mandatory field",
       "CONTENT_REQUIRED": "Mandatory field",
       "VARIABLENAME_REQUIRED": "Mandatory field",
-      "KEY_REQUIRED": "Mandatory field",
-      "TYPE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
       "CONSUMERKEY_REQUIRED": "Mandatory field",
       "CONSUMERSECRET_REQUIRED": "Mandatory field",
       "TOKENSECRET_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
-      "AUTHTOKEN_REQUIRED": "Mandatory field",
       "VTIGER_USER_NAME_REQUIRED": "Mandatory field",
       "ACCESS_KEY_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
       "TENANTID_REQUIRED": "Mandatory field",
       "CODE_REQUIRED": "Mandatory field"
     },
@@ -126,7 +113,6 @@
     "DESCRIPTIONS": "Descriptions",
     "FIELDS": "Fields",
     "TAGS": "Tags",
-    "TYPE": "Type",
     "CONTENT": "Content",
     "EDIT_SUBJECT": "Edit Subject",
     "DELETE_SUBJECT": "Delete Subject",
diff --git a/public/app/main/apps/integrations/i18n/es.json b/public/app/main/apps/integrations/i18n/es.json
index 477265b..0d2161b 100644
--- a/public/app/main/apps/integrations/i18n/es.json
+++ b/public/app/main/apps/integrations/i18n/es.json
@@ -10,33 +10,21 @@
       "ZONE": "Elija su zona geográfica (EE. UU., AU, UE, IN, CN) para activar las cuentas de Zoho específicas del dominio"
     },
     "ERRORS": {
-      "APIKEY_REQUIRED": "Campo obligatorio",
-      "AUTHTOKEN_REQUIRED": "Campo obligatorio",
       "CLIENTID_REQUIRED": "Campo obligatorio",
       "CLIENTSECRET_REQUIRED": "Campo obligatorio",
       "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden",
       "CONSUMERKEY_REQUIRED": "Campo obligatorio",
       "CONSUMERSECRET_REQUIRED": "Campo obligatorio",
       "CONTENT_REQUIRED": "Campo obligatorio",
-      "FIELD_REQUIRED": "Campo obligatorio",
-      "HOST_REQUIRED": "Campo obligatorio",
-      "KEY_REQUIRED": "Campo obligatorio",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Formato erróneo",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "PASSWORD_REQUIRED": "Campo obligatorio",
       "SECURITYTOKEN_REQUIRED": "Campo obligatorio",
       "TOKENSECRET_REQUIRED": "Campo obligatorio",
-      "TOKEN_REQUIRED": "Campo obligatorio",
-      "TYPE_REQUIRED": "Campo obligatorio",
       "URI_MUST_VALID_URL": "Formato erróneo",
       "URI_REQUIRED": "Campo obligatorio",
-      "USERNAME_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
       "VARIABLENAME_REQUIRED": "Campo obligatorio",
       "ACCESS_KEY_REQUIRED": "Campo obligatorio",
       "VTIGER_USER_NAME_REQUIRED": "Campo obligatorio",
       "TENANTID_REQUIRED": "Campo obligatorio",
-      "EMAIL_REQUIRED": "Campo obligatorio",
       "CODE_REQUIRED": "Campo obligatorio"
     },
     "ACCOUNT": "Cuenta",
@@ -121,7 +109,6 @@
     "MODULE_CREATE": "Crear Módulo",
     "MODULE_SEARCH": "Búsqueda de módulo",
     "MOTIONPROXYADDRESS": "Dirección IP de Motion o proxy",
-    "NAME": "Nombre",
     "NEW_CONFIGURATION": "Nueva configuración",
     "NEW_DESCRIPTION": "Nueva descripción",
     "NEW_DESKACCOUNT": "Nueva cuenta de escritorio",
@@ -172,7 +159,6 @@
     "TEST_ZOHOACCOUNT": "Prueba Zoho Account",
     "TOKEN": "Simbólico",
     "TOKENSECRET": "Token Secreto",
-    "TYPE": "Tipo",
     "URI": "URL",
     "USERNAME": "Nombre de usuario",
     "VALUE": "Valor",
diff --git a/public/app/main/apps/integrations/i18n/et.json b/public/app/main/apps/integrations/i18n/et.json
index 7714fb8..44b0c04 100644
--- a/public/app/main/apps/integrations/i18n/et.json
+++ b/public/app/main/apps/integrations/i18n/et.json
@@ -6,7 +6,6 @@
     "INTEGRATIONS": "Integrations",
     "ZENDESKACCOUNTS": "Zendesk Accounts",
     "ID": "Id",
-    "NAME": "Name",
     "USERNAME": "Username",
     "URI": "URL",
     "BACK": "Back",
@@ -24,33 +23,21 @@
     "DESCRIPTION": "Description",
     "ADD_ZENDESKACCOUNT": "Add Zendesk Account",
     "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "USERNAME_REQUIRED": "Mandatory field",
       "URI_REQUIRED": "Mandatory field",
       "URI_MUST_VALID_URL": "Wrong format",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "TOKEN_REQUIRED": "Mandatory field",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Wrong format",
       "CLIENTID_REQUIRED": "Mandatory field",
       "CLIENTSECRET_REQUIRED": "Mandatory field",
       "SECURITYTOKEN_REQUIRED": "Mandatory field",
-      "APIKEY_REQUIRED": "Mandatory field",
       "CONTENT_REQUIRED": "Mandatory field",
       "VARIABLENAME_REQUIRED": "Mandatory field",
-      "KEY_REQUIRED": "Mandatory field",
-      "TYPE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
       "CONSUMERKEY_REQUIRED": "Mandatory field",
       "CONSUMERSECRET_REQUIRED": "Mandatory field",
       "TOKENSECRET_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
-      "AUTHTOKEN_REQUIRED": "Mandatory field",
       "VTIGER_USER_NAME_REQUIRED": "Mandatory field",
       "ACCESS_KEY_REQUIRED": "Mandatory field",
       "CODE_REQUIRED": "Kohustuslik väli",
-      "EMAIL_REQUIRED": "Kohustuslik väli",
       "TENANTID_REQUIRED": "Kohustuslik väli"
     },
     "HELP": {
@@ -120,7 +107,6 @@
     "DESCRIPTIONS": "Descriptions",
     "FIELDS": "Fields",
     "TAGS": "Tags",
-    "TYPE": "Type",
     "CONTENT": "Content",
     "EDIT_SUBJECT": "Edit Subject",
     "DELETE_SUBJECT": "Delete Subject",
diff --git a/public/app/main/apps/integrations/i18n/fa.json b/public/app/main/apps/integrations/i18n/fa.json
index 6f133d0..6a81953 100644
--- a/public/app/main/apps/integrations/i18n/fa.json
+++ b/public/app/main/apps/integrations/i18n/fa.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integrations",
     "ZENDESKACCOUNTS": "حسابهاي Zendesk",
     "ID": "شناسه",
-    "NAME": "نام",
     "USERNAME": "نام کاربری",
     "URI": "اوري",
     "BACK": "پشت",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "شرح",
     "ADD_ZENDESKACCOUNT": "افزودن اشتراک Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "نام لازم است.",
-      "USERNAME_REQUIRED": "نام کاربری مورد نیاز است.",
       "URI_REQUIRED": "به اوري لازم است.",
       "URI_MUST_VALID_URL": "به اوري بايد به فرمت معتبر نوشته شده است",
-      "PASSWORD_REQUIRED": "رمز عبور لازم است.",
       "CONFIRM_NOT_MATCH": "از دون' t مسابقه اسامی رمز",
-      "TOKEN_REQUIRED": "اين نشانه لازم است.",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "آدرس را باید با فرمت معتبر نوشته شده است",
       "CLIENTID_REQUIRED": "موكل شناسه لازم است.",
       "CLIENTSECRET_REQUIRED": "موكل محرمانه مورد نیاز است.",
       "SECURITYTOKEN_REQUIRED": "نشانه امنيت لازم است.",
-      "APIKEY_REQUIRED": "کلید API را لازم است.",
       "CONTENT_REQUIRED": "محتوای مورد نیاز است.",
       "VARIABLENAME_REQUIRED": "متغیر لازم است.",
-      "KEY_REQUIRED": "کلید مورد نیاز است.",
-      "TYPE_REQUIRED": "از نوع لازم است.",
-      "VALUE_REQUIRED": "مقدار مورد نیاز است.",
-      "FIELD_REQUIRED": "میدان لازم است.",
       "CONSUMERKEY_REQUIRED": "کلید مصرف کننده لازم است.",
       "CONSUMERSECRET_REQUIRED": "سری مصرف کننده لازم است.",
       "TOKENSECRET_REQUIRED": "سري به نشانه لازم است.",
-      "HOST_REQUIRED": "ميزبان لازم است.",
-      "AUTHTOKEN_REQUIRED": "اين نشانه Autorization لازم است.",
       "ACCESS_KEY_REQUIRED": "زمینه اجباری",
       "VTIGER_USER_NAME_REQUIRED": "زمینه اجباری",
       "TENANTID_REQUIRED": "زمینه اجباری",
-      "EMAIL_REQUIRED": "زمینه اجباری",
       "CODE_REQUIRED": "زمینه اجباری"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "شرح",
     "FIELDS": "رشته",
     "TAGS": "برچسب",
-    "TYPE": "نوع دستگاه",
     "CONTENT": "محتوا",
     "EDIT_SUBJECT": "ویرایش موضوع",
     "DELETE_SUBJECT": "اين موضوع را حذف کنید",
diff --git a/public/app/main/apps/integrations/i18n/fi.json b/public/app/main/apps/integrations/i18n/fi.json
index 95b3161..bf967b9 100644
--- a/public/app/main/apps/integrations/i18n/fi.json
+++ b/public/app/main/apps/integrations/i18n/fi.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integrointeja",
     "ZENDESKACCOUNTS": "Zendesk tilit",
     "ID": "Tunnus",
-    "NAME": "Nimi",
     "USERNAME": "Käyttäjätunnus",
     "URI": "URL",
     "BACK": "Takaisin",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Kuvaus",
     "ADD_ZENDESKACCOUNT": "Lisää tilin Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "USERNAME_REQUIRED": "Käyttäjätunnus on pakollinen",
       "URI_REQUIRED": "Vastaajapalvelimen URL on pakollinen",
       "URI_MUST_VALID_URL": "Vastaajapalvelimen URL on kirjoitettava kelvollisessa muodossa",
-      "PASSWORD_REQUIRED": "Salasana on pakollinen",
       "CONFIRM_NOT_MATCH": "Salasana ei vastaa t",
-      "TOKEN_REQUIRED": "Etätunnistinta ei tarvita",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Osoite on kirjoitettava kelvollisessa muodossa",
       "CLIENTID_REQUIRED": "Asiakkaan tunnus on pakollinen",
       "CLIENTSECRET_REQUIRED": "Asiakas salaisuus on pakollinen",
       "SECURITYTOKEN_REQUIRED": "Jos Turvallisuus tunnuksesi on pakollinen",
-      "APIKEY_REQUIRED": "API-avain.",
       "CONTENT_REQUIRED": "Sisältö on pakollinen",
       "VARIABLENAME_REQUIRED": "Muuttujan arvo on pakollinen",
-      "KEY_REQUIRED": "Avainta ei tarvita",
-      "TYPE_REQUIRED": "Tyyppi on pakollinen",
-      "VALUE_REQUIRED": "Arvo on pakollinen",
-      "FIELD_REQUIRED": "Tämä kenttä on pakollinen",
       "CONSUMERKEY_REQUIRED": "Kuluttajan avain.",
       "CONSUMERSECRET_REQUIRED": "Kuluttajan salaisuus on pakollinen",
       "TOKENSECRET_REQUIRED": "Token salaisuus on pakollinen",
-      "HOST_REQUIRED": "Isäntä ei tarvita",
-      "AUTHTOKEN_REQUIRED": "Kun voimassaoloajasta, Token tarvitaan",
       "ACCESS_KEY_REQUIRED": "Pakollinen kenttä",
       "VTIGER_USER_NAME_REQUIRED": "Pakollinen kenttä",
       "TENANTID_REQUIRED": "Pakollinen kenttä",
-      "EMAIL_REQUIRED": "Pakollinen kenttä",
       "CODE_REQUIRED": "Pakollinen kenttä"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Kuvaukset",
     "FIELDS": "Kentät",
     "TAGS": "Tunnisteet",
-    "TYPE": "Tyyppi",
     "CONTENT": "Sisältö",
     "EDIT_SUBJECT": "Muokkaa aihe",
     "DELETE_SUBJECT": "Poista aihe",
diff --git a/public/app/main/apps/integrations/i18n/fr.json b/public/app/main/apps/integrations/i18n/fr.json
index 0065273..84c81a4 100644
--- a/public/app/main/apps/integrations/i18n/fr.json
+++ b/public/app/main/apps/integrations/i18n/fr.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integrations",
     "ZENDESKACCOUNTS": "Comptes Zendesk",
     "ID": "Id",
-    "NAME": "Nom",
     "USERNAME": "Nom d'utilisateur",
     "URI": "URL",
     "BACK": "Retour",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Description",
     "ADD_ZENDESKACCOUNT": "Ajouter compte Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "Le nom est obligatoire",
-      "USERNAME_REQUIRED": "L'utilisateur est nécessaire",
       "URI_REQUIRED": "L'URL est requis",
       "URI_MUST_VALID_URL": "L'URL doit être écrit dans un format valide",
-      "PASSWORD_REQUIRED": "Le mot de passe est requis",
       "CONFIRM_NOT_MATCH": "Les mots de passe ne correspondent pas",
-      "TOKEN_REQUIRED": "Le jeton est requis",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "L'adresse doit être écrite dans un format valide",
       "CLIENTID_REQUIRED": "Le Client est requis",
       "CLIENTSECRET_REQUIRED": "Le Client est tenu secret",
       "SECURITYTOKEN_REQUIRED": "Le jeton de sécurité est requis",
-      "APIKEY_REQUIRED": "La clé API est requis",
       "CONTENT_REQUIRED": "Le contenu est nécessaire",
       "VARIABLENAME_REQUIRED": "La variable est nécessaire",
-      "KEY_REQUIRED": "La clé est nécessaire",
-      "TYPE_REQUIRED": "Le type est requis",
-      "VALUE_REQUIRED": "Cette valeur est requise",
-      "FIELD_REQUIRED": "Le champ est obligatoire",
       "CONSUMERKEY_REQUIRED": "La clé est nécessaire à la consommation",
       "CONSUMERSECRET_REQUIRED": "Le consommateur est tenu secret",
       "TOKENSECRET_REQUIRED": "Le jeton secret est nécessaire",
-      "HOST_REQUIRED": "L'hôte est nécessaire",
-      "AUTHTOKEN_REQUIRED": "Le jeton d'autorisation est requis",
       "ACCESS_KEY_REQUIRED": "Champ obligatoire",
       "VTIGER_USER_NAME_REQUIRED": "Champ obligatoire",
       "TENANTID_REQUIRED": "Champ obligatoire",
-      "EMAIL_REQUIRED": "Champ obligatoire",
       "CODE_REQUIRED": "Champ obligatoire"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Descriptions",
     "FIELDS": "Domaines",
     "TAGS": "Tags",
-    "TYPE": "Type",
     "CONTENT": "Content",
     "EDIT_SUBJECT": "Modifier l'objet",
     "DELETE_SUBJECT": "Supprimer l'objet",
diff --git a/public/app/main/apps/integrations/i18n/he.json b/public/app/main/apps/integrations/i18n/he.json
index ddeab84..dd55870 100644
--- a/public/app/main/apps/integrations/i18n/he.json
+++ b/public/app/main/apps/integrations/i18n/he.json
@@ -6,7 +6,6 @@
     "INTEGRATIONS": "אינטגרציות",
     "ZENDESKACCOUNTS": "חשבונות Zendesk",
     "ID": "מזהה",
-    "NAME": "שם",
     "USERNAME": "שם משתמש",
     "URI": "כתובת URL",
     "BACK": "חזרה",
@@ -24,33 +23,21 @@
     "DESCRIPTION": "תיאור",
     "ADD_ZENDESKACCOUNT": "הוסף חשבון Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "שדה חובה",
-      "USERNAME_REQUIRED": "שדה חובה",
       "URI_REQUIRED": "שדה חובה",
       "URI_MUST_VALID_URL": "תבנית שגויה",
-      "PASSWORD_REQUIRED": "שדה חובה",
       "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות",
-      "TOKEN_REQUIRED": "שדה חובה",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "תבנית שגויה",
       "CLIENTID_REQUIRED": "שדה חובה",
       "CLIENTSECRET_REQUIRED": "שדה חובה",
       "SECURITYTOKEN_REQUIRED": "שדה חובה",
-      "APIKEY_REQUIRED": "שדה חובה",
       "CONTENT_REQUIRED": "שדה חובה",
       "VARIABLENAME_REQUIRED": "שדה חובה",
-      "KEY_REQUIRED": "שדה חובה",
-      "TYPE_REQUIRED": "שדה חובה",
-      "VALUE_REQUIRED": "שדה חובה",
-      "FIELD_REQUIRED": "שדה חובה",
       "CONSUMERKEY_REQUIRED": "שדה חובה",
       "CONSUMERSECRET_REQUIRED": "שדה חובה",
       "TOKENSECRET_REQUIRED": "שדה חובה",
-      "HOST_REQUIRED": "שדה חובה",
-      "AUTHTOKEN_REQUIRED": "שדה חובה",
       "VTIGER_USER_NAME_REQUIRED": "שדה חובה",
       "ACCESS_KEY_REQUIRED": "שדה חובה",
       "TENANTID_REQUIRED": "שדה חובה",
-      "EMAIL_REQUIRED": "שדה חובה",
       "CODE_REQUIRED": "שדה חובה"
     },
     "HELP": {
@@ -120,7 +107,6 @@
     "DESCRIPTIONS": "תיאורים",
     "FIELDS": "שדות",
     "TAGS": "תגים",
-    "TYPE": "סוג",
     "CONTENT": "תוכן",
     "EDIT_SUBJECT": "ערוך נושא",
     "DELETE_SUBJECT": "מחק נושא",
diff --git a/public/app/main/apps/integrations/i18n/hi.json b/public/app/main/apps/integrations/i18n/hi.json
index d6e124d..1b858d1 100644
--- a/public/app/main/apps/integrations/i18n/hi.json
+++ b/public/app/main/apps/integrations/i18n/hi.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "एकीकरण",
     "ZENDESKACCOUNTS": "Zendesk लेखा",
     "ID": "Id",
-    "NAME": "नाम",
     "USERNAME": "उपयोगकर्ता नाम",
     "URI": "उरी",
     "BACK": "वापिस",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "वर्णन",
     "ADD_ZENDESKACCOUNT": "खाता जोड़ें Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "USERNAME_REQUIRED": "उपयोगकर्ता नाम की आवश्यकता है।",
       "URI_REQUIRED": "के उरी अपेक्षित है।",
       "URI_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना उरी के",
-      "PASSWORD_REQUIRED": "पासवर्ड की आवश्यकता है।",
       "CONFIRM_NOT_MATCH": "पासवर्ड मेल नहीं है।' '",
-      "TOKEN_REQUIRED": "टोकन की आवश्यकता है।",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "पता मान्य स्वरूप में लिखा होना",
       "CLIENTID_REQUIRED": "ग्राहक ID अपेक्षित है।",
       "CLIENTSECRET_REQUIRED": "ग्राहक को गुप्त की आवश्यकता है।",
       "SECURITYTOKEN_REQUIRED": "टोकन की सुरक्षा की आवश्यकता है।",
-      "APIKEY_REQUIRED": "कुंजी का वैक्टर अपेक्षित है।",
       "CONTENT_REQUIRED": "सामग्री की आवश्यकता है।",
       "VARIABLENAME_REQUIRED": "परिवर्तनीय अपेक्षित है।",
-      "KEY_REQUIRED": "कुंजी की आवश्यकता है।",
-      "TYPE_REQUIRED": "इस प्रकार की आवश्यकता है।",
-      "VALUE_REQUIRED": "मूल्य की आवश्यकता है।",
-      "FIELD_REQUIRED": "इस क्षेत्र की आवश्यकता है।",
       "CONSUMERKEY_REQUIRED": "उपभोक्ता कुंजी की आवश्यकता है।",
       "CONSUMERSECRET_REQUIRED": "उपभोक्ता को गुप्त की आवश्यकता है।",
       "TOKENSECRET_REQUIRED": "टोकन गुप्त की आवश्यकता है।",
-      "HOST_REQUIRED": "मेजबान की आवश्यकता है।",
-      "AUTHTOKEN_REQUIRED": "Autorization टोकन की आवश्यकता है।",
       "ACCESS_KEY_REQUIRED": "आवश्यक स्थान",
       "VTIGER_USER_NAME_REQUIRED": "आवश्यक स्थान",
       "TENANTID_REQUIRED": "आवश्यक स्थान",
-      "EMAIL_REQUIRED": "आवश्यक स्थान",
       "CODE_REQUIRED": "आवश्यक स्थान"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "वर्णन",
     "FIELDS": "खेतों",
     "TAGS": "टैग्स",
-    "TYPE": "प्रकार",
     "CONTENT": "सामग्री",
     "EDIT_SUBJECT": "इस विषय को संपादित करें",
     "DELETE_SUBJECT": "इस विषय को हटाएं",
diff --git a/public/app/main/apps/integrations/i18n/id.json b/public/app/main/apps/integrations/i18n/id.json
index ea6b9ff..8a4c88f 100644
--- a/public/app/main/apps/integrations/i18n/id.json
+++ b/public/app/main/apps/integrations/i18n/id.json
@@ -1,33 +1,21 @@
 {
   "INTEGRATIONS": {
     "ERRORS": {
-      "APIKEY_REQUIRED": "Bidang wajib",
-      "AUTHTOKEN_REQUIRED": "Bidang wajib",
       "CLIENTID_REQUIRED": "Bidang wajib",
       "CLIENTSECRET_REQUIRED": "Bidang wajib",
       "CONFIRM_NOT_MATCH": "Kata sandi tidak cocok",
       "CONSUMERKEY_REQUIRED": "Bidang wajib",
       "CONSUMERSECRET_REQUIRED": "Bidang wajib",
       "CONTENT_REQUIRED": "Bidang wajib",
-      "FIELD_REQUIRED": "Bidang wajib",
-      "HOST_REQUIRED": "Bidang wajib",
-      "KEY_REQUIRED": "Bidang wajib",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Format yang salah",
-      "NAME_REQUIRED": "Bidang wajib",
-      "PASSWORD_REQUIRED": "Bidang wajib",
       "SECURITYTOKEN_REQUIRED": "Bidang wajib",
       "TOKENSECRET_REQUIRED": "Bidang wajib",
-      "TOKEN_REQUIRED": "Bidang wajib",
-      "TYPE_REQUIRED": "Bidang wajib",
       "URI_MUST_VALID_URL": "Format yang salah",
       "URI_REQUIRED": "Bidang wajib",
-      "USERNAME_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
       "VARIABLENAME_REQUIRED": "Bidang wajib",
       "ACCESS_KEY_REQUIRED": "Bidang wajib",
       "VTIGER_USER_NAME_REQUIRED": "Bidang wajib",
       "TENANTID_REQUIRED": "Bidang wajib",
-      "EMAIL_REQUIRED": "Bidang wajib",
       "CODE_REQUIRED": "Bidang wajib"
     },
     "HELP": {
@@ -121,7 +109,6 @@
     "MODULE_CREATE": "Modul Buat",
     "MODULE_SEARCH": "Pencarian Modul",
     "MOTIONPROXYADDRESS": "Alamat IP Motion atau Proxy",
-    "NAME": "Nama",
     "NEW_CONFIGURATION": "Konfigurasi Baru",
     "NEW_DESCRIPTION": "Deskripsi Baru",
     "NEW_DESKACCOUNT": "Akun Meja Baru",
@@ -172,7 +159,6 @@
     "TEST_ZOHOACCOUNT": "Uji Akun Zoho",
     "TOKEN": "Token",
     "TOKENSECRET": "Rahasia Token",
-    "TYPE": "Mengetik",
     "URI": "URL",
     "USERNAME": "Nama pengguna",
     "VALUE": "Nilai",
diff --git a/public/app/main/apps/integrations/i18n/it.json b/public/app/main/apps/integrations/i18n/it.json
index 5609ae4..5b05efc 100644
--- a/public/app/main/apps/integrations/i18n/it.json
+++ b/public/app/main/apps/integrations/i18n/it.json
@@ -9,7 +9,6 @@
     "INTEGRATIONS": "Integrazioni",
     "ZENDESKACCOUNTS": "Account Zendesk",
     "ID": "Id",
-    "NAME": "Nome",
     "USERNAME": "Username",
     "URI": "URL",
     "BACK": "Indietro",
@@ -28,32 +27,20 @@
     "DESCRIPTION": "Descrizione",
     "ADD_ZENDESKACCOUNT": "Aggiungi Account Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "Campo Obbligatorio",
-      "USERNAME_REQUIRED": "Campo Obbligatorio",
       "URI_REQUIRED": "Campo Obbligatorio",
       "URI_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "PASSWORD_REQUIRED": "Campo Obbligatorio",
       "CONFIRM_NOT_MATCH": "Le password inserite sono diverse",
-      "TOKEN_REQUIRED": "Campo Obbligatorio",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Il campo deve avere un formato valido",
       "CLIENTID_REQUIRED": "Campo Obbligatorio",
       "CLIENTSECRET_REQUIRED": "Campo Obbligatorio",
       "SECURITYTOKEN_REQUIRED": "Campo Obbligatorio",
-      "APIKEY_REQUIRED": "Campo Obbligatorio",
       "CONTENT_REQUIRED": "Campo Obbligatorio",
       "VARIABLENAME_REQUIRED": "Campo Obbligatorio",
-      "KEY_REQUIRED": "Campo Obbligatorio",
-      "TYPE_REQUIRED": "Campo Obbligatorio",
-      "VALUE_REQUIRED": "Campo Obbligatorio",
-      "FIELD_REQUIRED": "Campo Obbligatorio",
       "CONSUMERKEY_REQUIRED": "Campo Obbligatorio",
       "CONSUMERSECRET_REQUIRED": "Campo Obbligatorio",
       "TOKENSECRET_REQUIRED": "Campo Obbligatorio",
-      "AUTHTOKEN_REQUIRED": "Campo Obbligatorio",
-      "HOST_REQUIRED": "Campo Obbligatorio",
       "VTIGER_USER_NAME_REQUIRED": "Campo Obbligatorio",
       "ACCESS_KEY_REQUIRED": "Campo Obbligatorio",
-      "EMAIL_REQUIRED": "Campo Obbligatorio",
       "TENANTID_REQUIRED": "Campo Obbligatorio",
       "CODE_REQUIRED": "Campo Obbligatorio"
     },
@@ -124,7 +111,6 @@
     "DESCRIPTIONS": "Descrizioni",
     "FIELDS": "Campi",
     "TAGS": "Tag",
-    "TYPE": "Tipo",
     "CONTENT": "Contenuto",
     "EDIT_SUBJECT": "Modifica Soggetto",
     "DELETE_SUBJECT": "Elimina Soggetto",
diff --git a/public/app/main/apps/integrations/i18n/ja.json b/public/app/main/apps/integrations/i18n/ja.json
index d17a9b9..fdfe7b2 100644
--- a/public/app/main/apps/integrations/i18n/ja.json
+++ b/public/app/main/apps/integrations/i18n/ja.json
@@ -1,33 +1,21 @@
 {
   "INTEGRATIONS": {
     "ERRORS": {
-      "APIKEY_REQUIRED": "必須フィールド",
-      "AUTHTOKEN_REQUIRED": "必須フィールド",
       "CLIENTID_REQUIRED": "必須フィールド",
       "CLIENTSECRET_REQUIRED": "必須フィールド",
       "CONFIRM_NOT_MATCH": "パスワードが一致しません",
       "CONSUMERKEY_REQUIRED": "必須フィールド",
       "CONSUMERSECRET_REQUIRED": "必須フィールド",
       "CONTENT_REQUIRED": "必須フィールド",
-      "FIELD_REQUIRED": "必須フィールド",
-      "HOST_REQUIRED": "必須フィールド",
-      "KEY_REQUIRED": "必須フィールド",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "間違ったフォーマット",
-      "NAME_REQUIRED": "必須フィールド",
-      "PASSWORD_REQUIRED": "必須フィールド",
       "SECURITYTOKEN_REQUIRED": "必須フィールド",
       "TOKENSECRET_REQUIRED": "必須フィールド",
-      "TOKEN_REQUIRED": "必須フィールド",
-      "TYPE_REQUIRED": "必須フィールド",
       "URI_MUST_VALID_URL": "間違ったフォーマット",
       "URI_REQUIRED": "必須フィールド",
-      "USERNAME_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
       "VARIABLENAME_REQUIRED": "必須フィールド",
       "ACCESS_KEY_REQUIRED": "必須フィールド",
       "VTIGER_USER_NAME_REQUIRED": "必須フィールド",
       "TENANTID_REQUIRED": "必須フィールド",
-      "EMAIL_REQUIRED": "必須フィールド",
       "CODE_REQUIRED": "必須フィールド"
     },
     "HELP": {
@@ -121,7 +109,6 @@
     "MODULE_CREATE": "モジュール作成",
     "MODULE_SEARCH": "モジュール検索",
     "MOTIONPROXYADDRESS": "MotionまたはプロキシIPアドレス",
-    "NAME": "名前",
     "NEW_CONFIGURATION": "新規設定",
     "NEW_DESCRIPTION": "新規説明",
     "NEW_DESKACCOUNT": "新規Deskアカウント",
@@ -172,7 +159,6 @@
     "TEST_ZOHOACCOUNT": "Zohoアカウントをテスト",
     "TOKEN": "トークン",
     "TOKENSECRET": "トークンシークレット",
-    "TYPE": "タイプ",
     "URI": "URI",
     "USERNAME": "ユーザー名",
     "VALUE": "値",
diff --git a/public/app/main/apps/integrations/i18n/ko.json b/public/app/main/apps/integrations/i18n/ko.json
index 6cca6b2..652ef7b 100644
--- a/public/app/main/apps/integrations/i18n/ko.json
+++ b/public/app/main/apps/integrations/i18n/ko.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "통합",
     "ZENDESKACCOUNTS": "Zendesk 계정",
     "ID": "ID",
-    "NAME": "이름",
     "USERNAME": "사용자 이름",
     "URI": "URL",
     "BACK": "뒤로",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "설명",
     "ADD_ZENDESKACCOUNT": "Zendesk 계정 추가",
     "ERRORS": {
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "USERNAME_REQUIRED": "사용자이름은 필수입니다.",
       "URI_REQUIRED": "URI는 필수입니다.",
       "URI_MUST_VALID_URL": "URI는 유효해야 합니다.",
-      "PASSWORD_REQUIRED": "비밀번호는 필수입니다.",
       "CONFIRM_NOT_MATCH": "일치하지 않습니다.",
-      "TOKEN_REQUIRED": "토큰은 필수입니다.",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "모션 프록시 주소는 유효해야 합니다.",
       "CLIENTID_REQUIRED": "고객 ID는 필수입니다.",
       "CLIENTSECRET_REQUIRED": "고객 비밀번호는 필수입니다.",
       "SECURITYTOKEN_REQUIRED": "보안토큰은 필수입니다.",
-      "APIKEY_REQUIRED": "API 키는 필수입니다.",
       "CONTENT_REQUIRED": "내용은 필수입니다.",
       "VARIABLENAME_REQUIRED": "변수 이름은 필수입니다.",
-      "KEY_REQUIRED": "키는 필수입니다.",
-      "TYPE_REQUIRED": "타입은 필수입니다.",
-      "VALUE_REQUIRED": "값은 필수입니다.",
-      "FIELD_REQUIRED": "필드는 필수입니다.",
       "CONSUMERKEY_REQUIRED": "고객 키는 필수입니다.",
       "CONSUMERSECRET_REQUIRED": "고객 비밀번호는 필수입니다.",
       "TOKENSECRET_REQUIRED": "토큰 비밀번호는 필수입니다.",
-      "HOST_REQUIRED": "호스트는 필수입니다.",
-      "AUTHTOKEN_REQUIRED": "인증토큰은 필수입니다.",
       "ACCESS_KEY_REQUIRED": "필수 필드",
       "VTIGER_USER_NAME_REQUIRED": "필수 필드",
       "TENANTID_REQUIRED": "필수 필드",
-      "EMAIL_REQUIRED": "필수 필드",
       "CODE_REQUIRED": "필수 필드"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "설명",
     "FIELDS": "필드",
     "TAGS": "태그",
-    "TYPE": "타입",
     "CONTENT": "내용",
     "EDIT_SUBJECT": "제목 편집",
     "DELETE_SUBJECT": "제목 삭제",
diff --git a/public/app/main/apps/integrations/i18n/lt.json b/public/app/main/apps/integrations/i18n/lt.json
index 0e111c8..d610b58 100644
--- a/public/app/main/apps/integrations/i18n/lt.json
+++ b/public/app/main/apps/integrations/i18n/lt.json
@@ -9,7 +9,6 @@
     "INTEGRATIONS": "Integracijos",
     "ZENDESKACCOUNTS": "Zendesk paskyros",
     "ID": "Id",
-    "NAME": "Vardas",
     "USERNAME": "Vartotojo vardas",
     "URI": "URL",
     "BACK": "Atgal",
@@ -28,32 +27,20 @@
     "DESCRIPTION": "Aprašymas",
     "ADD_ZENDESKACCOUNT": "Pridėti Zendesk paskyrą",
     "ERRORS": {
-      "NAME_REQUIRED": "Privalomas laukas",
-      "USERNAME_REQUIRED": "Privalomas laukas",
       "URI_REQUIRED": "Privalomas laukas",
       "URI_MUST_VALID_URL": "Blogas formatas",
-      "PASSWORD_REQUIRED": "Privalomas laukas",
       "CONFIRM_NOT_MATCH": "Slaptažodžiai nesutampa",
-      "TOKEN_REQUIRED": "Privalomas laukas",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Blogas formatas",
       "CLIENTID_REQUIRED": "Privalomas laukas",
       "CLIENTSECRET_REQUIRED": "Privalomas laukas",
       "SECURITYTOKEN_REQUIRED": "Privalomas laukas",
-      "APIKEY_REQUIRED": "Privalomas laukas",
       "CONTENT_REQUIRED": "Privalomas laukas",
       "VARIABLENAME_REQUIRED": "Privalomas laukas",
-      "KEY_REQUIRED": "Privalomas laukas",
-      "TYPE_REQUIRED": "Privalomas laukas",
-      "VALUE_REQUIRED": "Privalomas laukas",
-      "FIELD_REQUIRED": "Privalomas laukas",
       "CONSUMERKEY_REQUIRED": "Privalomas laukas",
       "CONSUMERSECRET_REQUIRED": "Privalomas laukas",
       "TOKENSECRET_REQUIRED": "Privalomas laukas",
-      "HOST_REQUIRED": "Privalomas laukas",
-      "AUTHTOKEN_REQUIRED": "Privalomas laukas",
       "VTIGER_USER_NAME_REQUIRED": "Privalomas laukas",
       "ACCESS_KEY_REQUIRED": "Privalomas laukas",
-      "EMAIL_REQUIRED": "Privalomas laukas",
       "TENANTID_REQUIRED": "Privalomas laukas",
       "CODE_REQUIRED": "Privalomas laukas"
     },
@@ -126,7 +113,6 @@
     "DESCRIPTIONS": "Aprašymai",
     "FIELDS": "Laukai",
     "TAGS": "Žymos",
-    "TYPE": "Tipas",
     "CONTENT": "Turinys",
     "EDIT_SUBJECT": "Redaguoti temą",
     "DELETE_SUBJECT": "Ištrinti temą",
diff --git a/public/app/main/apps/integrations/i18n/lv.json b/public/app/main/apps/integrations/i18n/lv.json
index 7f4ec55..709f2d3 100644
--- a/public/app/main/apps/integrations/i18n/lv.json
+++ b/public/app/main/apps/integrations/i18n/lv.json
@@ -1,33 +1,21 @@
 {
   "INTEGRATIONS": {
     "ERRORS": {
-      "NAME_REQUIRED": "Obligāts lauks",
-      "USERNAME_REQUIRED": "Obligāts lauks",
       "URI_REQUIRED": "Obligāts lauks",
       "URI_MUST_VALID_URL": "Nepareizs formāts",
-      "PASSWORD_REQUIRED": "Obligāts lauks",
       "CONFIRM_NOT_MATCH": "Paroles nesakrīt",
-      "TOKEN_REQUIRED": "Obligāts lauks",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Nepareizs formāts",
       "CLIENTID_REQUIRED": "Obligāts lauks",
       "CLIENTSECRET_REQUIRED": "Obligāts lauks",
       "SECURITYTOKEN_REQUIRED": "Obligāts lauks",
-      "APIKEY_REQUIRED": "Obligāts lauks",
       "CONTENT_REQUIRED": "Obligāts lauks",
       "VARIABLENAME_REQUIRED": "Obligāts lauks",
-      "KEY_REQUIRED": "Obligāts lauks",
-      "TYPE_REQUIRED": "Obligāts lauks",
-      "VALUE_REQUIRED": "Obligāts lauks",
-      "FIELD_REQUIRED": "Obligāts lauks",
       "CONSUMERKEY_REQUIRED": "Obligāts lauks",
       "CONSUMERSECRET_REQUIRED": "Obligāts lauks",
       "TOKENSECRET_REQUIRED": "Obligāts lauks",
-      "HOST_REQUIRED": "Obligāts lauks",
-      "AUTHTOKEN_REQUIRED": "Obligāts lauks",
       "ACCESS_KEY_REQUIRED": "Obligāts lauks",
       "VTIGER_USER_NAME_REQUIRED": "Obligāts lauks",
       "TENANTID_REQUIRED": "Obligāts lauks",
-      "EMAIL_REQUIRED": "Obligāts lauks",
       "CODE_REQUIRED": "Obligāts lauks"
     },
     "HELP": {
@@ -45,7 +33,6 @@
     "INTEGRATIONS": "Integrācijas",
     "ZENDESKACCOUNTS": "Zendesk konti",
     "ID": "ID",
-    "NAME": "Nosaukums",
     "USERNAME": "Lietotājvārds",
     "URI": "Tīmekļa adrese",
     "BACK": "Atpakaļ",
@@ -120,7 +107,6 @@
     "DESCRIPTIONS": "Apraksti",
     "FIELDS": "Lauki",
     "TAGS": "Atzīmes",
-    "TYPE": "Tips",
     "CONTENT": "Saturs",
     "EDIT_SUBJECT": "Rediģēt tēmu",
     "DELETE_SUBJECT": "Dzēst tēmu",
diff --git a/public/app/main/apps/integrations/i18n/nl.json b/public/app/main/apps/integrations/i18n/nl.json
index bc75447..887ba6a 100644
--- a/public/app/main/apps/integrations/i18n/nl.json
+++ b/public/app/main/apps/integrations/i18n/nl.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integraties",
     "ZENDESKACCOUNTS": "Zendesk Accounts",
     "ID": "Id",
-    "NAME": "Naam",
     "USERNAME": "Gebruikersnaam",
     "URI": "URL",
     "BACK": "Terug",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Beschrijving",
     "ADD_ZENDESKACCOUNT": "Voeg Zendesk Account",
     "ERRORS": {
-      "NAME_REQUIRED": "De naam is verplicht",
-      "USERNAME_REQUIRED": "De gebruikersnaam is vereist",
       "URI_REQUIRED": "De URL is vereist",
       "URI_MUST_VALID_URL": "De URL (Uniform Resource Identifier) moet worden geschreven in een geldige indeling",
-      "PASSWORD_REQUIRED": "Het wachtwoord is vereist",
       "CONFIRM_NOT_MATCH": "De wachtwoorden Don' t match",
-      "TOKEN_REQUIRED": "Het token is vereist",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Het adres moet worden geschreven in een geldige indeling",
       "CLIENTID_REQUIRED": "De klant-ID is vereist.",
       "CLIENTSECRET_REQUIRED": "De Cliënt geheim is vereist",
       "SECURITYTOKEN_REQUIRED": "De Security token is vereist",
-      "APIKEY_REQUIRED": "De API Key nodig",
       "CONTENT_REQUIRED": "De inhoud is vereist",
       "VARIABLENAME_REQUIRED": "De variabele is vereist",
-      "KEY_REQUIRED": "De sleutel is vereist",
-      "TYPE_REQUIRED": "Het type is vereist",
-      "VALUE_REQUIRED": "De waarde is vereist",
-      "FIELD_REQUIRED": "Het is een verplicht veld",
       "CONSUMERKEY_REQUIRED": "De consument sleutel is vereist",
       "CONSUMERSECRET_REQUIRED": "De consument geheim is vereist",
       "TOKENSECRET_REQUIRED": "Het token geheim is vereist",
-      "HOST_REQUIRED": "De host is vereist",
-      "AUTHTOKEN_REQUIRED": "De exporteur Token is vereist",
       "ACCESS_KEY_REQUIRED": "Verplicht veld",
       "VTIGER_USER_NAME_REQUIRED": "Verplicht veld",
       "TENANTID_REQUIRED": "Verplicht veld",
-      "EMAIL_REQUIRED": "Verplicht veld",
       "CODE_REQUIRED": "Verplicht veld"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Beschrijvingen",
     "FIELDS": "Velden",
     "TAGS": "Tags",
-    "TYPE": "Type",
     "CONTENT": "Inhoud",
     "EDIT_SUBJECT": "Onderwerp bewerken",
     "DELETE_SUBJECT": "Onderwerp verwijderen",
diff --git a/public/app/main/apps/integrations/i18n/no.json b/public/app/main/apps/integrations/i18n/no.json
index cbc9300..79e1843 100644
--- a/public/app/main/apps/integrations/i18n/no.json
+++ b/public/app/main/apps/integrations/i18n/no.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integreringer",
     "ZENDESKACCOUNTS": "Zendesk kontoer",
     "ID": "Id",
-    "NAME": "Navn",
     "USERNAME": "Brukernavn",
     "URI": "URL",
     "BACK": "Tilbake",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Beskrivelse",
     "ADD_ZENDESKACCOUNT": "Legg Zendesk konto",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "USERNAME_REQUIRED": "Brukernavnet er nødvendig",
       "URI_REQUIRED": "Den URL er nødvendig",
       "URI_MUST_VALID_URL": "Urien må være skrevet i et gyldig format",
-      "PASSWORD_REQUIRED": "Passordet er nødvendig",
       "CONFIRM_NOT_MATCH": "Passordene don' t kamp",
-      "TOKEN_REQUIRED": "Tokenet er nødvendig",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Adressen må være skrevet i et gyldig format",
       "CLIENTID_REQUIRED": "Klient-ID er obligatorisk",
       "CLIENTSECRET_REQUIRED": "Klienten hemmelige er nødvendig",
       "SECURITYTOKEN_REQUIRED": "Security-brikke er nødvendig",
-      "APIKEY_REQUIRED": "API-tasten er nødvendig",
       "CONTENT_REQUIRED": "Innholdet er nødvendig",
       "VARIABLENAME_REQUIRED": "Variabelen er nødvendig",
-      "KEY_REQUIRED": "Nøkkelen er nødvendig",
-      "TYPE_REQUIRED": "Den typen som er påkrevd",
-      "VALUE_REQUIRED": "Verdien er obligatorisk",
-      "FIELD_REQUIRED": "Feltet er obligatorisk",
       "CONSUMERKEY_REQUIRED": "Forbrukeren tasten er nødvendig",
       "CONSUMERSECRET_REQUIRED": "Forbrukeren hemmelige er nødvendig",
       "TOKENSECRET_REQUIRED": "Token hemmelige er nødvendig",
-      "HOST_REQUIRED": "Verten er nødvendig",
-      "AUTHTOKEN_REQUIRED": "Det Autorization brikke er nødvendig",
       "ACCESS_KEY_REQUIRED": "Obligatoriske felt",
       "VTIGER_USER_NAME_REQUIRED": "Obligatoriske felt",
       "TENANTID_REQUIRED": "Obligatoriske felt",
-      "EMAIL_REQUIRED": "Obligatoriske felt",
       "CODE_REQUIRED": "Obligatoriske felt"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Beskrivelser",
     "FIELDS": "Felt",
     "TAGS": "Tags",
-    "TYPE": "Type",
     "CONTENT": "Innhold",
     "EDIT_SUBJECT": "Rediger emne",
     "DELETE_SUBJECT": "Slett motivet",
diff --git a/public/app/main/apps/integrations/i18n/pl.json b/public/app/main/apps/integrations/i18n/pl.json
index 66b92dc..026de14 100644
--- a/public/app/main/apps/integrations/i18n/pl.json
+++ b/public/app/main/apps/integrations/i18n/pl.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integracje",
     "ZENDESKACCOUNTS": "Konta Zendesk",
     "ID": "Id",
-    "NAME": "Nazwa",
     "USERNAME": "Nazwa użytkownika",
     "URI": "URL",
     "BACK": "Powrót",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Opis",
     "ADD_ZENDESKACCOUNT": "Dodaj konto Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "USERNAME_REQUIRED": "Pole obowiązkowe",
       "URI_REQUIRED": "Pole obowiązkowe",
       "URI_MUST_VALID_URL": "Zły format",
-      "PASSWORD_REQUIRED": "Pole obowiązkowe",
       "CONFIRM_NOT_MATCH": "Hasła nie zgadzają się",
-      "TOKEN_REQUIRED": "Pole obowiązkowe",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Zły format",
       "CLIENTID_REQUIRED": "Pole obowiązkowe",
       "CLIENTSECRET_REQUIRED": "Pole obowiązkowe",
       "SECURITYTOKEN_REQUIRED": "Pole obowiązkowe",
-      "APIKEY_REQUIRED": "Pole obowiązkowe",
       "CONTENT_REQUIRED": "Pole obowiązkowe",
       "VARIABLENAME_REQUIRED": "Pole obowiązkowe",
-      "KEY_REQUIRED": "Pole obowiązkowe",
-      "TYPE_REQUIRED": "Pole obowiązkowe",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
-      "FIELD_REQUIRED": "Pole obowiązkowe",
       "CONSUMERKEY_REQUIRED": "Pole obowiązkowe",
       "CONSUMERSECRET_REQUIRED": "Pole obowiązkowe",
       "TOKENSECRET_REQUIRED": "Pole obowiązkowe",
-      "HOST_REQUIRED": "Pole obowiązkowe",
-      "AUTHTOKEN_REQUIRED": "Pole obowiązkowe",
       "ACCESS_KEY_REQUIRED": "Pole obowiązkowe",
       "VTIGER_USER_NAME_REQUIRED": "Pole obowiązkowe",
       "TENANTID_REQUIRED": "Pole obowiązkowe",
-      "EMAIL_REQUIRED": "Pole obowiązkowe",
       "CODE_REQUIRED": "Pole obowiązkowe"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Opisy",
     "FIELDS": "Pola",
     "TAGS": "Tagi",
-    "TYPE": "Typ",
     "CONTENT": "Zawartość",
     "EDIT_SUBJECT": "Edycja tematu",
     "DELETE_SUBJECT": "Usuń przedmiot",
diff --git a/public/app/main/apps/integrations/i18n/pt-BR.json b/public/app/main/apps/integrations/i18n/pt-BR.json
index 4554fc9..5030769 100644
--- a/public/app/main/apps/integrations/i18n/pt-BR.json
+++ b/public/app/main/apps/integrations/i18n/pt-BR.json
@@ -6,7 +6,6 @@
     "INTEGRATIONS": "Integrações",
     "ZENDESKACCOUNTS": "Contas do Zendesk",
     "ID": "Id",
-    "NAME": "Nome",
     "USERNAME": "Usuário",
     "URI": "URL",
     "BACK": "Voltar",
@@ -24,33 +23,21 @@
     "DESCRIPTION": "Descrição",
     "ADD_ZENDESKACCOUNT": "Adicionar conta do Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "Campo obrigatório",
-      "USERNAME_REQUIRED": "Campo obrigatório",
       "URI_REQUIRED": "Campo obrigatório",
       "URI_MUST_VALID_URL": "Formato incorreto",
-      "PASSWORD_REQUIRED": "Campo obrigatório",
       "CONFIRM_NOT_MATCH": "As senhas não combinam",
-      "TOKEN_REQUIRED": "Campo obrigatório",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Formato incorreto",
       "CLIENTID_REQUIRED": "Campo obrigatório",
       "CLIENTSECRET_REQUIRED": "Campo obrigatório",
       "SECURITYTOKEN_REQUIRED": "Campo obrigatório",
-      "APIKEY_REQUIRED": "Campo obrigatório",
       "CONTENT_REQUIRED": "Campo obrigatório",
       "VARIABLENAME_REQUIRED": "Campo obrigatório",
-      "KEY_REQUIRED": "Campo obrigatório",
-      "TYPE_REQUIRED": "Campo obrigatório",
-      "VALUE_REQUIRED": "Campo obrigatório",
-      "FIELD_REQUIRED": "Campo obrigatório",
       "CONSUMERKEY_REQUIRED": "Campo obrigatório",
       "CONSUMERSECRET_REQUIRED": "Campo obrigatório",
       "TOKENSECRET_REQUIRED": "Campo obrigatório",
-      "HOST_REQUIRED": "Campo obrigatório",
-      "AUTHTOKEN_REQUIRED": "Campo obrigatório",
       "VTIGER_USER_NAME_REQUIRED": "Campo obrigatório",
       "ACCESS_KEY_REQUIRED": "Campo obrigatório",
       "TENANTID_REQUIRED": "Campo obrigatório",
-      "EMAIL_REQUIRED": "Campo obrigatório",
       "CODE_REQUIRED": "Campo obrigatório"
     },
     "HELP": {
@@ -120,7 +107,6 @@
     "DESCRIPTIONS": "Descrições",
     "FIELDS": "Campos",
     "TAGS": "Tags",
-    "TYPE": "Tipo",
     "CONTENT": "Conteúdo",
     "EDIT_SUBJECT": "Editar assunto",
     "DELETE_SUBJECT": "Excluir assunto",
diff --git a/public/app/main/apps/integrations/i18n/pt-PT.json b/public/app/main/apps/integrations/i18n/pt-PT.json
index fba2650..d367b83 100644
--- a/public/app/main/apps/integrations/i18n/pt-PT.json
+++ b/public/app/main/apps/integrations/i18n/pt-PT.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integrações",
     "ZENDESKACCOUNTS": "Contas Zendesk",
     "ID": "Id",
-    "NAME": "Nome",
     "USERNAME": "Nome de usuário",
     "URI": "URL",
     "BACK": "De volta",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Descrição",
     "ADD_ZENDESKACCOUNT": "Adicionar Conta Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "USERNAME_REQUIRED": "O nome de usuário é obrigatório",
       "URI_REQUIRED": "A URL é necessária",
       "URI_MUST_VALID_URL": "O URL deve ser escrito em um formato válido",
-      "PASSWORD_REQUIRED": "A senha é obrigatória",
       "CONFIRM_NOT_MATCH": "As senhas não coincidem",
-      "TOKEN_REQUIRED": "O token é necessário",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "O endereço deve ser escrito em um formato válido",
       "CLIENTID_REQUIRED": "É necessária ID do cliente",
       "CLIENTSECRET_REQUIRED": "O segredo do cliente é obrigatório",
       "SECURITYTOKEN_REQUIRED": "O token de segurança for necessária",
-      "APIKEY_REQUIRED": "É necessária a chave da API",
       "CONTENT_REQUIRED": "O conteúdo é necessária",
       "VARIABLENAME_REQUIRED": "A variável é necessária",
-      "KEY_REQUIRED": "A chave é necessário",
-      "TYPE_REQUIRED": "O tipo é necessária",
-      "VALUE_REQUIRED": "O valor é obrigatório",
-      "FIELD_REQUIRED": "O campo é obrigatório",
       "CONSUMERKEY_REQUIRED": "É necessária a chave do consumidor",
       "CONSUMERSECRET_REQUIRED": "O consumidor secreto é necessária",
       "TOKENSECRET_REQUIRED": "O token é necessário segredo",
-      "HOST_REQUIRED": "O Host é necessário",
-      "AUTHTOKEN_REQUIRED": "O token é necessário autorização",
       "ACCESS_KEY_REQUIRED": "Campo obrigatório",
       "VTIGER_USER_NAME_REQUIRED": "Campo obrigatório",
       "TENANTID_REQUIRED": "Campo obrigatório",
-      "EMAIL_REQUIRED": "Campo obrigatório",
       "CODE_REQUIRED": "Campo obrigatório"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Descrições",
     "FIELDS": "Campos",
     "TAGS": "Tags",
-    "TYPE": "Tipo",
     "CONTENT": "Conteúdo",
     "EDIT_SUBJECT": "Editar assunto",
     "DELETE_SUBJECT": "Excluir assunto",
diff --git a/public/app/main/apps/integrations/i18n/ru.json b/public/app/main/apps/integrations/i18n/ru.json
index 94eac34..b811f57 100644
--- a/public/app/main/apps/integrations/i18n/ru.json
+++ b/public/app/main/apps/integrations/i18n/ru.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Интеграция",
     "ZENDESKACCOUNTS": "Zendesk счетов",
     "ID": "Id",
-    "NAME": "Имя",
     "USERNAME": "Имя пользователя",
     "URI": "URL",
     "BACK": "Назад",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Описание",
     "ADD_ZENDESKACCOUNT": "Добавить учетную запись Zendesk",
     "ERRORS": {
-      "NAME_REQUIRED": "Это имя требуется",
-      "USERNAME_REQUIRED": "Имя пользователя не требуется",
       "URI_REQUIRED": "URL не требуется",
       "URI_MUST_VALID_URL": "URL должен быть записан в действительный формат",
-      "PASSWORD_REQUIRED": "Пароль не требуется",
       "CONFIRM_NOT_MATCH": "Пароли не' t соответствует",
-      "TOKEN_REQUIRED": "Маркер не требуется",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Этот адрес должен быть записан в действительный формат",
       "CLIENTID_REQUIRED": "Код клиента не требуется",
       "CLIENTSECRET_REQUIRED": "Клиент секрет не требуется",
       "SECURITYTOKEN_REQUIRED": "В маркер безопасности не требуется",
-      "APIKEY_REQUIRED": "API не требуется ключ",
       "CONTENT_REQUIRED": "Содержимое не требуется",
       "VARIABLENAME_REQUIRED": "Переменная не требуется",
-      "KEY_REQUIRED": "Ключ не требуется",
-      "TYPE_REQUIRED": "Тип не требуется",
-      "VALUE_REQUIRED": "Это значение требуется",
-      "FIELD_REQUIRED": "Поле является обязательным",
       "CONSUMERKEY_REQUIRED": "Потребителей не требуется ключ",
       "CONSUMERSECRET_REQUIRED": "Потребитель тайного не требуется",
       "TOKENSECRET_REQUIRED": "Маркер тайного не требуется",
-      "HOST_REQUIRED": "Хост не требуется",
-      "AUTHTOKEN_REQUIRED": "В Autorization маркер не требуется",
       "ACCESS_KEY_REQUIRED": "Обязательное поле",
       "VTIGER_USER_NAME_REQUIRED": "Обязательное поле",
       "TENANTID_REQUIRED": "Обязательное поле",
-      "EMAIL_REQUIRED": "Обязательное поле",
       "CODE_REQUIRED": "Обязательное поле"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Описание",
     "FIELDS": "Поля",
     "TAGS": "Теги индексов",
-    "TYPE": "Тип",
     "CONTENT": "Содержание",
     "EDIT_SUBJECT": "Редактировать при условии",
     "DELETE_SUBJECT": "Удалить при условии",
diff --git a/public/app/main/apps/integrations/i18n/sv.json b/public/app/main/apps/integrations/i18n/sv.json
index 4c779c7..36382f2 100644
--- a/public/app/main/apps/integrations/i18n/sv.json
+++ b/public/app/main/apps/integrations/i18n/sv.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Integrationer",
     "ZENDESKACCOUNTS": "Zendesk konton",
     "ID": "Id",
-    "NAME": "Namn",
     "USERNAME": "Användarnamn",
     "URI": "URL",
     "BACK": "Tillbaka",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Beskrivning",
     "ADD_ZENDESKACCOUNT": "Lägg till Zendesk konto",
     "ERRORS": {
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "USERNAME_REQUIRED": "Användarnamn krävs",
       "URI_REQUIRED": "URL krävs",
       "URI_MUST_VALID_URL": "URL måste skrivas i ett giltigt format",
-      "PASSWORD_REQUIRED": "Lösenord krävs",
       "CONFIRM_NOT_MATCH": "Lösenord don' t matchar",
-      "TOKEN_REQUIRED": "Token är obligatoriskt",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Adressen måste vara skriven på ett giltigt format",
       "CLIENTID_REQUIRED": "Klient-ID är obligatoriskt",
       "CLIENTSECRET_REQUIRED": "Klienten hemliga krävs",
       "SECURITYTOKEN_REQUIRED": "Säkerheten Token krävs",
-      "APIKEY_REQUIRED": "API-nyckel krävs",
       "CONTENT_REQUIRED": "Innehållet är obligatoriskt",
       "VARIABLENAME_REQUIRED": "Variabeln är obligatoriskt",
-      "KEY_REQUIRED": "Nyckeln är obligatoriskt",
-      "TYPE_REQUIRED": "Den typen krävs",
-      "VALUE_REQUIRED": "Värdet är obligatoriskt",
-      "FIELD_REQUIRED": "Fältet är obligatoriskt",
       "CONSUMERKEY_REQUIRED": "Konsumenten nyckel krävs",
       "CONSUMERSECRET_REQUIRED": "Konsumenten hemliga krävs",
       "TOKENSECRET_REQUIRED": "Token hemliga krävs",
-      "HOST_REQUIRED": "Värd är obligatoriskt",
-      "AUTHTOKEN_REQUIRED": "Återvinningsanläggningen Token krävs",
       "ACCESS_KEY_REQUIRED": "Obligatoriskt fält",
       "VTIGER_USER_NAME_REQUIRED": "Obligatoriskt fält",
       "TENANTID_REQUIRED": "Obligatoriskt fält",
-      "EMAIL_REQUIRED": "Obligatoriskt fält",
       "CODE_REQUIRED": "Obligatoriskt fält"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Beskrivningar",
     "FIELDS": "Fält",
     "TAGS": "Etiketter",
-    "TYPE": "Typ",
     "CONTENT": "Innehåll",
     "EDIT_SUBJECT": "Redigera föremål",
     "DELETE_SUBJECT": "Ta bort ämne",
diff --git a/public/app/main/apps/integrations/i18n/tr.json b/public/app/main/apps/integrations/i18n/tr.json
index a9bf6d5..6332892 100644
--- a/public/app/main/apps/integrations/i18n/tr.json
+++ b/public/app/main/apps/integrations/i18n/tr.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "Entegrasyonları",
     "ZENDESKACCOUNTS": "Zendesk Hesapları",
     "ID": "Id",
-    "NAME": "Adı",
     "USERNAME": "Kullanıcı Adı",
     "URI": "URL",
     "BACK": "Geri",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "Açıklama",
     "ADD_ZENDESKACCOUNT": "Zendesk Ekleyin Hesap",
     "ERRORS": {
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "USERNAME_REQUIRED": "Kullanıcı Adı gerekiyor",
       "URI_REQUIRED": "Bu URL gerekiyor.",
       "URI_MUST_VALID_URL": "Bu URL mutlaka yazılı geçerli bir format",
-      "PASSWORD_REQUIRED": "Parola gerekli",
       "CONFIRM_NOT_MATCH": "Parolalar don' t match",
-      "TOKEN_REQUIRED": "Belirteç gerekiyor.",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "Adres mutlaka yazılı geçerli bir format",
       "CLIENTID_REQUIRED": "Istemci kimliği gerekiyor",
       "CLIENTSECRET_REQUIRED": "Istemci Gizli gerekiyor.",
       "SECURITYTOKEN_REQUIRED": "Güvenlik Belirteci gerekli",
-      "APIKEY_REQUIRED": "API Anahtarı gereklidir",
       "CONTENT_REQUIRED": "Içerik gerekiyor.",
       "VARIABLENAME_REQUIRED": "Değişken gerekli",
-      "KEY_REQUIRED": "Anahtar gerekiyor.",
-      "TYPE_REQUIRED": "Tip gerekli",
-      "VALUE_REQUIRED": "Bu Değer gereklidir",
-      "FIELD_REQUIRED": "Bu alanı gerekli.",
       "CONSUMERKEY_REQUIRED": "Tüketici gereklidir.",
       "CONSUMERSECRET_REQUIRED": "Tüketicinin Gizli gerekiyor.",
       "TOKENSECRET_REQUIRED": "Belirteç Gizli gerekiyor.",
-      "HOST_REQUIRED": "Ana gerekiyor.",
-      "AUTHTOKEN_REQUIRED": "Bu Autorization Belirteç gerekiyor.",
       "ACCESS_KEY_REQUIRED": "Zorunlu alan",
       "VTIGER_USER_NAME_REQUIRED": "Zorunlu alan",
       "TENANTID_REQUIRED": "Zorunlu alan",
-      "EMAIL_REQUIRED": "Zorunlu alan",
       "CODE_REQUIRED": "Zorunlu alan"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "Açıklamaları",
     "FIELDS": "Alanlar",
     "TAGS": "Etiketler",
-    "TYPE": "Tipi",
     "CONTENT": "Içerik",
     "EDIT_SUBJECT": "Edit Konu",
     "DELETE_SUBJECT": "Konu Sil",
diff --git a/public/app/main/apps/integrations/i18n/zh-CN.json b/public/app/main/apps/integrations/i18n/zh-CN.json
index a48a789..aad569b 100644
--- a/public/app/main/apps/integrations/i18n/zh-CN.json
+++ b/public/app/main/apps/integrations/i18n/zh-CN.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "集成。",
     "ZENDESKACCOUNTS": "Zendesk 帐户",
     "ID": "Id",
-    "NAME": "名称",
     "USERNAME": "用户名",
     "URI": "URL",
     "BACK": "返回",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "描述",
     "ADD_ZENDESKACCOUNT": "Zendesk 添加帐户",
     "ERRORS": {
-      "NAME_REQUIRED": "该名称是必需的",
-      "USERNAME_REQUIRED": "用户名是必需的",
       "URI_REQUIRED": "开放的是必需的",
       "URI_MUST_VALID_URL": "URL 必须书面格式无效",
-      "PASSWORD_REQUIRED": "密码是必需的",
       "CONFIRM_NOT_MATCH": "密码不匹配",
-      "TOKEN_REQUIRED": "令牌是必需的",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "该地址必须是书面的格式无效",
       "CLIENTID_REQUIRED": "客户端 ID 是必需的",
       "CLIENTSECRET_REQUIRED": "客户端加密是必需的",
       "SECURITYTOKEN_REQUIRED": "安全令牌",
-      "APIKEY_REQUIRED": "API 密钥所需的",
       "CONTENT_REQUIRED": "内容是必需的",
       "VARIABLENAME_REQUIRED": "该变量是必需的",
-      "KEY_REQUIRED": "关键的是必需的",
-      "TYPE_REQUIRED": "该类型是必需的",
-      "VALUE_REQUIRED": "该值是必需的",
-      "FIELD_REQUIRED": "该字段为必需字段。",
       "CONSUMERKEY_REQUIRED": "消费者主要是必需的",
       "CONSUMERSECRET_REQUIRED": "消费者的秘密是必需的",
       "TOKENSECRET_REQUIRED": "令牌的秘密是必需的",
-      "HOST_REQUIRED": "主机是必需的",
-      "AUTHTOKEN_REQUIRED": "的授权令牌",
       "ACCESS_KEY_REQUIRED": "必填项",
       "VTIGER_USER_NAME_REQUIRED": "必填项",
       "TENANTID_REQUIRED": "必填项",
-      "EMAIL_REQUIRED": "必填项",
       "CODE_REQUIRED": "必填项"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "说明",
     "FIELDS": "字段",
     "TAGS": "标签",
-    "TYPE": "类型",
     "CONTENT": "内容",
     "EDIT_SUBJECT": "编辑主题",
     "DELETE_SUBJECT": "删除主题",
diff --git a/public/app/main/apps/integrations/i18n/zh-TW.json b/public/app/main/apps/integrations/i18n/zh-TW.json
index 5cc7887..19d89b1 100644
--- a/public/app/main/apps/integrations/i18n/zh-TW.json
+++ b/public/app/main/apps/integrations/i18n/zh-TW.json
@@ -3,7 +3,6 @@
     "INTEGRATIONS": "整合",
     "ZENDESKACCOUNTS": "Zendesk 帳戶",
     "ID": "Id",
-    "NAME": "名稱",
     "USERNAME": "使用者名稱",
     "URI": "URL",
     "BACK": "備份",
@@ -21,33 +20,21 @@
     "DESCRIPTION": "說明",
     "ADD_ZENDESKACCOUNT": "新增 Zendesk 帳號",
     "ERRORS": {
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "USERNAME_REQUIRED": "使用者名稱為必要資訊",
       "URI_REQUIRED": "URL 為必填欄位",
       "URI_MUST_VALID_URL": "此 URL 必須寫在有效的格式",
-      "PASSWORD_REQUIRED": "密碼為必填欄位",
       "CONFIRM_NOT_MATCH": "密碼不符合 t",
-      "TOKEN_REQUIRED": "該記號為必填欄位",
       "MOTIONPROXYADDRESS_MUST_VALID_URL": "位址必須是書面的格式無效",
       "CLIENTID_REQUIRED": "用戶端識別碼為必填欄位",
       "CLIENTSECRET_REQUIRED": "用戶端密碼為必填欄位",
       "SECURITYTOKEN_REQUIRED": "安全性記號為必填欄位",
-      "APIKEY_REQUIRED": "API 金鑰為必填欄位",
       "CONTENT_REQUIRED": "其內容為必填欄位",
       "VARIABLENAME_REQUIRED": "變數是必填欄位",
-      "KEY_REQUIRED": "該金鑰為必填欄位",
-      "TYPE_REQUIRED": "「類型」為必填欄位",
-      "VALUE_REQUIRED": "此值為必填欄位",
-      "FIELD_REQUIRED": "此欄位為必填欄位",
       "CONSUMERKEY_REQUIRED": "消費者需要的關鍵",
       "CONSUMERSECRET_REQUIRED": "消費者的祕密是必填項",
       "TOKENSECRET_REQUIRED": "令牌密爲必填項",
-      "HOST_REQUIRED": "需要的主機",
-      "AUTHTOKEN_REQUIRED": "需要的 Autorization 記號",
       "ACCESS_KEY_REQUIRED": "必填項",
       "VTIGER_USER_NAME_REQUIRED": "必填項",
       "TENANTID_REQUIRED": "必填項",
-      "EMAIL_REQUIRED": "必填項",
       "CODE_REQUIRED": "必填項"
     },
     "HELP": {
@@ -117,7 +104,6 @@
     "DESCRIPTIONS": "說明",
     "FIELDS": "欄位",
     "TAGS": "標籤",
-    "TYPE": "類型",
     "CONTENT": "內容",
     "EDIT_SUBJECT": "編輯主旨",
     "DELETE_SUBJECT": "刪除主題",
diff --git a/public/app/main/apps/jscripty/i18n/ar.json b/public/app/main/apps/jscripty/i18n/ar.json
index 6b021b8..665bd35 100644
--- a/public/app/main/apps/jscripty/i18n/ar.json
+++ b/public/app/main/apps/jscripty/i18n/ar.json
@@ -1,14 +1,8 @@
 {
   "JSCRIPTY": {
-    "ERRORS": {
-      "FIELD_REQUIRED": "الحقل المطلوب",
-      "NAME_MUST_VALID_PATTERN": "يجب إدخال الإسم بنمط صحيح",
-      "NAME_REQUIRED": "الاسم المطلوب",
-      "PROJECT_REQUIRED": "الحقل المطلوب"
-    },
+    "ERRORS": {},
     "HELP": {
       "ENABLEUNCOMPLETESAVE": "تمكين اتمام الحفظ ",
-      "NAME": "الاسم",
       "SENDUNPAUSEONSUBMIT": "في نهاية الاستطلاع ، قم بإيقاف وقفة الوكيل تلقائيًا"
     },
     "ADD_PROJECT": "أضف مشروع",
@@ -27,7 +21,6 @@
     "JSCRIPTY": "لغه برمجه نصيه",
     "JSCRIPTYSESSIONS": "فترة انعقاد استطلاع رأي العملاء",
     "MEMBERNAME": "اسم العضو",
-    "NAME": "الاسم",
     "NEW_PROJECT": "مشروع جديد",
     "OF": "من",
     "OPEN_CONTACT": "فتح إتصال",
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "الاسم",
       "name.placeholder": "المكان المخصص للاسم",
       "description": "الوصف"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "فارغة"
       },
-      "pageWithNameCheckbox": "صفحه مع إسم خانه الإختيار",
-      "name": "إسم الصفحه"
+      "pageWithNameCheckbox": "صفحه مع إسم خانه الإختيار"
     },
     "pageFlow": {
       "afterPage": "بعد الصفحه",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "الاسم"
-        },
-        "textarea": {
-          "name": "الاسم"
-        },
-        "radio": {
-          "name": "الاسم"
-        },
-        "select": {
-          "name": "الاسم"
-        },
-        "checkbox": {
-          "name": "الاسم"
-        },
-        "grid": {
-          "name": "الاسم"
-        },
-        "priority": {
-          "name": "الاسم "
-        },
-        "division": {
-          "name": "الاسم"
-        },
-        "number": {
-          "name": "الرقم"
-        },
-        "date": {
-          "name": "الاسم"
-        },
-        "datetime": {
-          "name": "الاسم"
-        },
-        "time": {
-          "name": "الاسم "
-        },
-        "email": {
-          "name": "الاسم"
-        },
-        "range": {
-          "name": "الاسم"
-        },
-        "url": {
-          "name": "الاسم"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "نص",
-      "type": "اكتب",
       "required": "المطلوب",
       "preview": {
         "text": "نص",
diff --git a/public/app/main/apps/jscripty/i18n/cs.json b/public/app/main/apps/jscripty/i18n/cs.json
index 0de641a..23ff770 100644
--- a/public/app/main/apps/jscripty/i18n/cs.json
+++ b/public/app/main/apps/jscripty/i18n/cs.json
@@ -1,19 +1,13 @@
 {
   "JSCRIPTY": {
     "CLONE_PROJECT": "Clone Project",
-    "NAME": "Name",
     "SEARCH_FOR_ANYONE": "Search",
     "BACK": "Back",
     "SELECTED": "Selected",
     "SELECT_ALL": "Select All",
     "SELECT_NONE": "Select None",
     "DESCRIPTION": "Description",
-    "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "PROJECT_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
-      "NAME_MUST_VALID_PATTERN": "Wrong format"
-    },
+    "ERRORS": {},
     "SAVE": "Save",
     "PROJECTS": "Projects",
     "ADD_PROJECT": "Add Project",
@@ -31,7 +25,6 @@
     "PREVIEW": "Preview",
     "OPEN_CONTACT": "Open Contact",
     "HELP": {
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "ENABLEUNCOMPLETESAVE": "Allow to save the agent session even if the survey is not complete",
       "SENDUNPAUSEONSUBMIT": "Na konci průzkumu automaticky zastavte agentovu pauzu"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/da.json b/public/app/main/apps/jscripty/i18n/da.json
index f3d32ea..f9a4279 100644
--- a/public/app/main/apps/jscripty/i18n/da.json
+++ b/public/app/main/apps/jscripty/i18n/da.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Navnet",
     "SEARCH_FOR_ANYONE": "Søg efter alle",
     "BACK": "Tilbage",
     "SELECTED": "Valgt",
     "SELECT_ALL": "Vælg Alle",
     "SELECT_NONE": "Vælg Ingen",
     "DESCRIPTION": "Beskrivelse",
-    "ERRORS": {
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "PROJECT_REQUIRED": "Projektet er påkrævet",
-      "FIELD_REQUIRED": "Feltet er påkrævet",
-      "NAME_MUST_VALID_PATTERN": "Navnet skal være skrevet i et gyldigt format"
-    },
+    "ERRORS": {},
     "SAVE": "Gem",
     "PROJECTS": "Projekter",
     "ADD_PROJECT": "Tilføj projekt",
@@ -30,7 +24,6 @@
     "PREVIEW": "Preview",
     "OPEN_CONTACT": "Åben kontakt",
     "HELP": {
-      "NAME": "Kun tal og bogstaver og specielle tegn (.________) understøttes",
       "ENABLEUNCOMPLETESAVE": "Gør det muligt at gemme agent session selvom undersøgelsen ikke er afsluttet",
       "SENDUNPAUSEONSUBMIT": "Ved undersøgelsens afslutning skal du automatisk stoppe agentens pause"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/de.json b/public/app/main/apps/jscripty/i18n/de.json
index 40b33e8..6b68fb3 100644
--- a/public/app/main/apps/jscripty/i18n/de.json
+++ b/public/app/main/apps/jscripty/i18n/de.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Name",
     "SEARCH_FOR_ANYONE": "Suche für Jedermann",
     "BACK": "Zurück",
     "SELECTED": "Ausgewählte",
     "SELECT_ALL": "Alle auswählen",
     "SELECT_NONE": "Wählen Sie \"Keine\"",
     "DESCRIPTION": "Beschreibung",
-    "ERRORS": {
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "PROJECT_REQUIRED": "Das Projekt ist erforderlich",
-      "FIELD_REQUIRED": "Das Feld ist erforderlich.",
-      "NAME_MUST_VALID_PATTERN": "Der Name muss in einem gültigen Format geschrieben werden"
-    },
+    "ERRORS": {},
     "SAVE": "Speichern",
     "PROJECTS": "Projekte",
     "ADD_PROJECT": "Projekt hinzufügen",
@@ -30,7 +24,6 @@
     "PREVIEW": "Vorschau",
     "OPEN_CONTACT": "Kontakt öffnen",
     "HELP": {
-      "NAME": "Nur Zahlen, Buchstaben und Sonderzeichen (._) werden unterstützt.",
       "ENABLEUNCOMPLETESAVE": "Die dem Bedienplatz-Sitzung zu speichern, auch wenn die Umfrage ist noch nicht abgeschlossen",
       "SENDUNPAUSEONSUBMIT": "Beenden Sie am Ende der Umfrage automatisch die Pause des Agenten"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/en.json b/public/app/main/apps/jscripty/i18n/en.json
index c5e12d7..c791f90 100644
--- a/public/app/main/apps/jscripty/i18n/en.json
+++ b/public/app/main/apps/jscripty/i18n/en.json
@@ -1,19 +1,13 @@
 {
   "JSCRIPTY": {
     "CLONE_PROJECT": "Clone Project",
-    "NAME": "Name",
     "SEARCH_FOR_ANYONE": "Search",
     "BACK": "Back",
     "SELECTED": "Selected",
     "SELECT_ALL": "Select All",
     "SELECT_NONE": "Select None",
     "DESCRIPTION": "Description",
-    "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "PROJECT_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
-      "NAME_MUST_VALID_PATTERN": "Wrong format"
-    },
+    "ERRORS": {},
     "SAVE": "Save",
     "PROJECTS": "Projects",
     "ADD_PROJECT": "Add Project",
@@ -32,7 +26,6 @@
     "OPEN_CONTACT": "Open Contact",
     "SENDUNPAUSEONSUBMIT": "Unpause agent on Submit",
     "HELP": {
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "ENABLEUNCOMPLETESAVE": "Allow to save the agent session even if the survey is not complete",
       "SENDUNPAUSEONSUBMIT": "At the end of the survey, automatically stop the agent's pause"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/es.json b/public/app/main/apps/jscripty/i18n/es.json
index f8c567e..94a5ed0 100644
--- a/public/app/main/apps/jscripty/i18n/es.json
+++ b/public/app/main/apps/jscripty/i18n/es.json
@@ -2,15 +2,9 @@
   "JSCRIPTY": {
     "HELP": {
       "ENABLEUNCOMPLETESAVE": "Permitir guardar la sesión de agente incluso si la encuesta no está completa",
-      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
       "SENDUNPAUSEONSUBMIT": "Al final de la encuesta, detenga automáticamente la pausa del agente."
     },
-    "ERRORS": {
-      "FIELD_REQUIRED": "Campo obligatorio",
-      "NAME_MUST_VALID_PATTERN": "Formato erróneo",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "PROJECT_REQUIRED": "Campo obligatorio"
-    },
+    "ERRORS": {},
     "ADD_PROJECT": "Agregar proyecto",
     "ALL_SURVEY_DATA_WILL_BE_LOST": "¡Todas las respuestas de la encuesta se perderán!",
     "ANSWER": "Responder",
@@ -35,7 +29,6 @@
     "JSCRIPTY": "Jscripty",
     "JSCRIPTYSESSIONS": "Sesiones de proyectos",
     "MEMBERNAME": "Nombre de miembro",
-    "NAME": "Nombre",
     "NEW_PROJECT": "Nuevo proyecto",
     "NO": "No",
     "NO_ANSWERS_AVAILABLE": "No hay respuestas disponibles",
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Titulo",
       "name.placeholder": "Titulo Formulario",
       "description": "Descripción"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty"
       },
-      "pageWithNameCheckbox": "Nombrada",
-      "name": "Nombre Pagina"
+      "pageWithNameCheckbox": "Nombrada"
     },
     "pageFlow": {
       "afterPage": "Después de Pagina {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Texto Corto"
-        },
-        "textarea": {
-          "name": "Texto Largo"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Seleccionar"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Cuadricula"
-        },
-        "priority": {
-          "name": "Prioridad"
-        },
-        "division": {
-          "name": "División"
-        },
-        "number": {
-          "name": "Numero"
-        },
-        "date": {
-          "name": "Fecha"
-        },
-        "datetime": {
-          "name": "FechaTiempo"
-        },
-        "time": {
-          "name": "Tiempo"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Rango"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Texto Pregunta",
-      "type": "Tipo Pregunta",
       "required": "Requerido",
       "preview": {
         "text": "Texto Respuesta Corta",
diff --git a/public/app/main/apps/jscripty/i18n/et.json b/public/app/main/apps/jscripty/i18n/et.json
index 054f558..84f5bb1 100644
--- a/public/app/main/apps/jscripty/i18n/et.json
+++ b/public/app/main/apps/jscripty/i18n/et.json
@@ -1,19 +1,13 @@
 {
   "JSCRIPTY": {
     "CLONE_PROJECT": "Clone Project",
-    "NAME": "Name",
     "SEARCH_FOR_ANYONE": "Search",
     "BACK": "Back",
     "SELECTED": "Selected",
     "SELECT_ALL": "Select All",
     "SELECT_NONE": "Select None",
     "DESCRIPTION": "Description",
-    "ERRORS": {
-      "NAME_REQUIRED": "Mandatory field",
-      "PROJECT_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
-      "NAME_MUST_VALID_PATTERN": "Wrong format"
-    },
+    "ERRORS": {},
     "SAVE": "Save",
     "PROJECTS": "Projects",
     "ADD_PROJECT": "Add Project",
@@ -31,7 +25,6 @@
     "PREVIEW": "Preview",
     "OPEN_CONTACT": "Open Contact",
     "HELP": {
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "ENABLEUNCOMPLETESAVE": "Allow to save the agent session even if the survey is not complete",
       "SENDUNPAUSEONSUBMIT": "Uuringu lõpus peatage agendi paus automaatselt"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/fa.json b/public/app/main/apps/jscripty/i18n/fa.json
index d65a93a..dfb7236 100644
--- a/public/app/main/apps/jscripty/i18n/fa.json
+++ b/public/app/main/apps/jscripty/i18n/fa.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "نام",
     "SEARCH_FOR_ANYONE": "در جستجوی کسی",
     "BACK": "پشت",
     "SELECTED": "انتخاب می شود",
     "SELECT_ALL": "همه را انتخاب کنید",
     "SELECT_NONE": "هيچ كدام را انتخاب کنید",
     "DESCRIPTION": "شرح",
-    "ERRORS": {
-      "NAME_REQUIRED": "نام لازم است.",
-      "PROJECT_REQUIRED": "پروژه مورد نیاز است.",
-      "FIELD_REQUIRED": "میدان لازم است.",
-      "NAME_MUST_VALID_PATTERN": "نام باید با فرمت معتبر نوشته شده است"
-    },
+    "ERRORS": {},
     "SAVE": "ذخیره",
     "PROJECTS": "پروژه ها",
     "ADD_PROJECT": "پروژه اضافه کنید",
@@ -30,7 +24,6 @@
     "PREVIEW": "پیش نمایش",
     "OPEN_CONTACT": "باز تماس",
     "HELP": {
-      "NAME": "فقط شماره ها و حروف و نویسه های ویژه (_) پشتیبانی می شود.",
       "ENABLEUNCOMPLETESAVE": "امکان ذخیره کنید حتی اگر عامل جلسه بررسي كامل نشده است.",
       "SENDUNPAUSEONSUBMIT": "در پایان بررسی ، به طور خودکار مکث عامل را متوقف کنید"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/fi.json b/public/app/main/apps/jscripty/i18n/fi.json
index 3ea5185..9b45d56 100644
--- a/public/app/main/apps/jscripty/i18n/fi.json
+++ b/public/app/main/apps/jscripty/i18n/fi.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Nimi",
     "SEARCH_FOR_ANYONE": "Etsi joku",
     "BACK": "Takaisin",
     "SELECTED": "Valittu",
     "SELECT_ALL": "Valitse kaikki",
     "SELECT_NONE": "Valitse None (Ei mitään)",
     "DESCRIPTION": "Kuvaus",
-    "ERRORS": {
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "PROJECT_REQUIRED": "Projekti on pakollinen",
-      "FIELD_REQUIRED": "Tämä kenttä on pakollinen",
-      "NAME_MUST_VALID_PATTERN": "Nimi on kirjoitettava kelvollisessa muodossa"
-    },
+    "ERRORS": {},
     "SAVE": "Tallenna",
     "PROJECTS": "Projektit",
     "ADD_PROJECT": "Lisää projektin",
@@ -30,7 +24,6 @@
     "PREVIEW": "Esikatselu",
     "OPEN_CONTACT": "Avoin kosketin",
     "HELP": {
-      "NAME": "Vain numeroita, kirjaimia ja erikoismerkkejä (._ tuetaan",
       "ENABLEUNCOMPLETESAVE": "Avulla voidaan tallentaa asiakaspalvelijan istunnon vaikka tutkimus ei ole valmis",
       "SENDUNPAUSEONSUBMIT": "Pysäytä kyselyn lopussa agentin tauko automaattisesti"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/fr.json b/public/app/main/apps/jscripty/i18n/fr.json
index d64f7da..d321fec 100644
--- a/public/app/main/apps/jscripty/i18n/fr.json
+++ b/public/app/main/apps/jscripty/i18n/fr.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Nom",
     "SEARCH_FOR_ANYONE": "Vous pouvez chercher n'importe qui",
     "BACK": "Retour",
     "SELECTED": "Sélectionné",
     "SELECT_ALL": "Sélectionnez tous les",
     "SELECT_NONE": "Sélectionnez Aucun",
     "DESCRIPTION": "Description",
-    "ERRORS": {
-      "NAME_REQUIRED": "Le nom est obligatoire",
-      "PROJECT_REQUIRED": "Le projet est requis",
-      "FIELD_REQUIRED": "Le champ est obligatoire",
-      "NAME_MUST_VALID_PATTERN": "Le nom doit être écrit dans un format valide"
-    },
+    "ERRORS": {},
     "SAVE": "Sauvegarder",
     "PROJECTS": "Projets",
     "ADD_PROJECT": "Ajouter un projet",
@@ -30,7 +24,6 @@
     "PREVIEW": "Aperçu",
     "OPEN_CONTACT": "Contact ouvert",
     "HELP": {
-      "NAME": "Seulement les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
       "ENABLEUNCOMPLETESAVE": "Permettre de sauver l'agent session même si l'enquête n'est pas terminée",
       "SENDUNPAUSEONSUBMIT": "À la fin de l'enquête, arrête automatiquement la pause de l'agent"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/he.json b/public/app/main/apps/jscripty/i18n/he.json
index 2278f9d..9d51f83 100644
--- a/public/app/main/apps/jscripty/i18n/he.json
+++ b/public/app/main/apps/jscripty/i18n/he.json
@@ -1,19 +1,13 @@
 {
   "JSCRIPTY": {
     "CLONE_PROJECT": "שכפל פרויקט",
-    "NAME": "שם",
     "SEARCH_FOR_ANYONE": "חיפוש",
     "BACK": "חזרה",
     "SELECTED": "נבחר/ו",
     "SELECT_ALL": "בחר הכול",
     "SELECT_NONE": "אל תבחר אף פריט",
     "DESCRIPTION": "תיאור",
-    "ERRORS": {
-      "NAME_REQUIRED": "שדה חובה",
-      "PROJECT_REQUIRED": "שדה חובה",
-      "FIELD_REQUIRED": "שדה חובה",
-      "NAME_MUST_VALID_PATTERN": "תבנית שגויה"
-    },
+    "ERRORS": {},
     "SAVE": "שמור",
     "PROJECTS": "פרויקטים",
     "ADD_PROJECT": "הוסף פרויקט",
@@ -31,7 +25,6 @@
     "PREVIEW": "תצוגה מקדימה",
     "OPEN_CONTACT": "פתח איש קשר",
     "HELP": {
-      "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)",
       "ENABLEUNCOMPLETESAVE": "אפשר שמירה של הפעלת הנציג גם אם הסקר לא הושלם",
       "SENDUNPAUSEONSUBMIT": "בסוף הסקר, עצרו אוטומטית את השהיית הסוכן"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "כותרת",
       "name.placeholder": "כותרת הטופס",
       "description": "תיאור"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "דף ריק"
       },
-      "pageWithNameCheckbox": "יש שם",
-      "name": "שם דף"
+      "pageWithNameCheckbox": "יש שם"
     },
     "pageFlow": {
       "afterPage": "אחרי הדף {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "טקסט קצר"
-        },
-        "textarea": {
-          "name": "טקסט ארוך"
-        },
-        "radio": {
-          "name": "לחצן ברירה"
-        },
-        "select": {
-          "name": "בחר"
-        },
-        "checkbox": {
-          "name": "תיבות סימון"
-        },
-        "grid": {
-          "name": "טבלה"
-        },
-        "priority": {
-          "name": "עדיפות"
-        },
-        "division": {
-          "name": "הפרדה"
-        },
-        "number": {
-          "name": "מספר"
-        },
-        "date": {
-          "name": "תאריך"
-        },
-        "datetime": {
-          "name": "תאריך ושעה"
-        },
-        "time": {
-          "name": "שעה"
-        },
-        "email": {
-          "name": "דוא\"ל"
-        },
-        "range": {
-          "name": "טווח"
-        },
-        "url": {
-          "name": "כתובת URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "נוסח השאלה",
-      "type": "סוג השאלה",
       "required": "חובה",
       "preview": {
         "text": "טקסט תשובה קצר",
diff --git a/public/app/main/apps/jscripty/i18n/hi.json b/public/app/main/apps/jscripty/i18n/hi.json
index c73001d..db8387f 100644
--- a/public/app/main/apps/jscripty/i18n/hi.json
+++ b/public/app/main/apps/jscripty/i18n/hi.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "नाम",
     "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
     "BACK": "वापिस",
     "SELECTED": "चयनित",
     "SELECT_ALL": "सभी का चयन करें",
     "SELECT_NONE": "किसी का भी चयन",
     "DESCRIPTION": "वर्णन",
-    "ERRORS": {
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "PROJECT_REQUIRED": "इस परियोजना की आवश्यकता है।",
-      "FIELD_REQUIRED": "इस क्षेत्र की आवश्यकता है।",
-      "NAME_MUST_VALID_PATTERN": "एक मान्य स्वरूप का नाम लिखा होना"
-    },
+    "ERRORS": {},
     "SAVE": "सहेजें",
     "PROJECTS": "परियोजनाएं",
     "ADD_PROJECT": "परियोजना में जोड़ें",
@@ -30,7 +24,6 @@
     "PREVIEW": "पूर्वावलोकन",
     "OPEN_CONTACT": "संपर्क को खोलें",
     "HELP": {
-      "NAME": "केवल विशिष्ट वर्ण (।_) और नंबर्स, समर्थित",
       "ENABLEUNCOMPLETESAVE": "यहां तक कि यदि सत्र के एजेंट को बचाने के लिए अनुमति सर्वेख्रण कार्य पूरा नहीं",
       "SENDUNPAUSEONSUBMIT": "सर्वेक्षण के अंत में, स्वचालित रूप से एजेंट के ठहराव को रोक दें"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/id.json b/public/app/main/apps/jscripty/i18n/id.json
index 6b0e998..55d512e 100644
--- a/public/app/main/apps/jscripty/i18n/id.json
+++ b/public/app/main/apps/jscripty/i18n/id.json
@@ -1,14 +1,8 @@
 {
   "JSCRIPTY": {
-    "ERRORS": {
-      "FIELD_REQUIRED": "Bidang wajib",
-      "NAME_MUST_VALID_PATTERN": "Format yang salah",
-      "NAME_REQUIRED": "Bidang wajib",
-      "PROJECT_REQUIRED": "Bidang wajib"
-    },
+    "ERRORS": {},
     "HELP": {
       "ENABLEUNCOMPLETESAVE": "Biarkan menyimpan sesi agen meskipun survei belum selesai",
-      "NAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
       "SENDUNPAUSEONSUBMIT": "Di akhir survei, secara otomatis menghentikan jeda agen"
     },
     "ADD_PROJECT": "Tambahkan Proyek",
@@ -35,7 +29,6 @@
     "JSCRIPTY": "Jscripty",
     "JSCRIPTYSESSIONS": "Sesi Proyek",
     "MEMBERNAME": "Nama anggota",
-    "NAME": "Nama",
     "NEW_PROJECT": "Proyek baru",
     "NO": "Tidak",
     "NO_ANSWERS_AVAILABLE": "Tidak ada jawaban yang tersedia",
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/it.json b/public/app/main/apps/jscripty/i18n/it.json
index f96ce4a..6e2ccef 100644
--- a/public/app/main/apps/jscripty/i18n/it.json
+++ b/public/app/main/apps/jscripty/i18n/it.json
@@ -1,19 +1,13 @@
 {
   "JSCRIPTY": {
     "CLONE_PROJECT": "Clona Progetto",
-    "NAME": "Nome",
     "SEARCH_FOR_ANYONE": "Cerca",
     "BACK": "Indietro",
     "SELECTED": "Selezionati",
     "SELECT_ALL": "Seleziona tutto",
     "SELECT_NONE": "Deseleziona tutto",
     "DESCRIPTION": "Descrizione",
-    "ERRORS": {
-      "NAME_REQUIRED": "Campo Obbligatorio",
-      "PROJECT_REQUIRED": "Campo Obbligatorio",
-      "FIELD_REQUIRED": "Campo Obbligatorio",
-      "NAME_MUST_VALID_PATTERN": "Il campo deve avere un formato valido"
-    },
+    "ERRORS": {},
     "SAVE": "Salva",
     "PROJECTS": "Progetti",
     "ADD_PROJECT": "Aggiungi Progetto",
@@ -32,7 +26,6 @@
     "OPEN_CONTACT": "Apri il contatto",
     "SENDUNPAUSEONSUBMIT": "Rimuovi agente dalla pausa su invio",
     "HELP": {
-      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
       "ENABLEUNCOMPLETESAVE": "Permette di salvare la sessione dell'agente anche se il sondaggio non è completo",
       "SENDUNPAUSEONSUBMIT": "Alla fine del sondaggio, interrompi automaticamente la pausa dell'agente"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Titolo",
       "name.placeholder": "Titolo del form",
       "description": "Descrizione"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Pagina vuota"
       },
-      "pageWithNameCheckbox": "nome",
-      "name": "Nome della pagina"
+      "pageWithNameCheckbox": "nome"
     },
     "pageFlow": {
       "afterPage": "Pagina successiva {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Testo corto"
-        },
-        "textarea": {
-          "name": "Testo lungo"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Selezione"
-        },
-        "checkbox": {
-          "name": "Checkbox"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priorità"
-        },
-        "division": {
-          "name": "Divisione"
-        },
-        "number": {
-          "name": "Numero"
-        },
-        "date": {
-          "name": "Data"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Testo Domanda",
-      "type": "Tipo Domanda",
       "required": "Richiesta",
       "preview": {
         "text": "Testo risposta breve",
diff --git a/public/app/main/apps/jscripty/i18n/ja.json b/public/app/main/apps/jscripty/i18n/ja.json
index a15f413..ef998c2 100644
--- a/public/app/main/apps/jscripty/i18n/ja.json
+++ b/public/app/main/apps/jscripty/i18n/ja.json
@@ -1,14 +1,8 @@
 {
   "JSCRIPTY": {
-    "ERRORS": {
-      "FIELD_REQUIRED": "必須フィールド",
-      "NAME_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "NAME_REQUIRED": "必須フィールド",
-      "PROJECT_REQUIRED": "必須フィールド"
-    },
+    "ERRORS": {},
     "HELP": {
       "ENABLEUNCOMPLETESAVE": "アンケートが完了していなくてもエージェントセッションを保存できるようにします",
-      "NAME": "数字、文字、および特定の文字（._）のみがサポートされています",
       "SENDUNPAUSEONSUBMIT": "調査の最後に、エージェントの一時停止を自動的に停止します"
     },
     "ADD_PROJECT": "プロジェクトを追加",
@@ -35,7 +29,6 @@
     "JSCRIPTY": "モニタリング",
     "JSCRIPTYSESSIONS": "モニタリングセッション",
     "MEMBERNAME": "メンバー名",
-    "NAME": "名前",
     "NEW_PROJECT": "新規プロジェクト",
     "NO": "いいえ",
     "NO_ANSWERS_AVAILABLE": "回答がありません",
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "タイトル",
       "name.placeholder": "フォームタイトル",
       "description": "説明"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "空白ページ"
       },
-      "pageWithNameCheckbox": "命名",
-      "name": "ページ名"
+      "pageWithNameCheckbox": "命名"
     },
     "pageFlow": {
       "afterPage": "{{page}}ページの次:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "短いテキスト"
-        },
-        "textarea": {
-          "name": "長いテキスト"
-        },
-        "radio": {
-          "name": "ラジオボタン"
-        },
-        "select": {
-          "name": "セレクトボックス"
-        },
-        "checkbox": {
-          "name": "チェックボックス"
-        },
-        "grid": {
-          "name": "グリッド線"
-        },
-        "priority": {
-          "name": "優先度"
-        },
-        "division": {
-          "name": "区分"
-        },
-        "number": {
-          "name": "数字"
-        },
-        "date": {
-          "name": "日付"
-        },
-        "datetime": {
-          "name": "日時"
-        },
-        "time": {
-          "name": "時刻"
-        },
-        "email": {
-          "name": "メール"
-        },
-        "range": {
-          "name": "範囲"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "質問テキスト",
-      "type": "質問タイプ",
       "required": "必要",
       "preview": {
         "text": "短答テキスト",
diff --git a/public/app/main/apps/jscripty/i18n/ko.json b/public/app/main/apps/jscripty/i18n/ko.json
index a40e10a..9075a93 100644
--- a/public/app/main/apps/jscripty/i18n/ko.json
+++ b/public/app/main/apps/jscripty/i18n/ko.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "이름",
     "SEARCH_FOR_ANYONE": "모두 검색",
     "BACK": "뒤로",
     "SELECTED": "선택 완료",
     "SELECT_ALL": "전체 선택",
     "SELECT_NONE": "선택 안함",
     "DESCRIPTION": "설명",
-    "ERRORS": {
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "PROJECT_REQUIRED": "프로젝트는 필수입니다.",
-      "FIELD_REQUIRED": "필드는 필수입니다.",
-      "NAME_MUST_VALID_PATTERN": "이름은 유효한 패턴이어야 합니다."
-    },
+    "ERRORS": {},
     "SAVE": "저장",
     "PROJECTS": "프로젝트",
     "ADD_PROJECT": "프로젝트 추가",
@@ -30,7 +24,6 @@
     "PREVIEW": "미리보기",
     "OPEN_CONTACT": "연락처 열기",
     "HELP": {
-      "NAME": "이름",
       "ENABLEUNCOMPLETESAVE": "임시저장 활성화",
       "SENDUNPAUSEONSUBMIT": "설문 조사가 끝나면 자동으로 상담원의 일시 중지를 중지"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "이름",
       "name.placeholder": "이름 플레이스홀더",
       "description": "설명"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "공백"
       },
-      "pageWithNameCheckbox": "체크박스 이름이 있는 페이지",
-      "name": "이름"
+      "pageWithNameCheckbox": "체크박스 이름이 있는 페이지"
     },
     "pageFlow": {
       "afterPage": "다음 페이지",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "이름"
-        },
-        "textarea": {
-          "name": "이름"
-        },
-        "radio": {
-          "name": "이름"
-        },
-        "select": {
-          "name": "이름"
-        },
-        "checkbox": {
-          "name": "이름"
-        },
-        "grid": {
-          "name": "이름"
-        },
-        "priority": {
-          "name": "이름"
-        },
-        "division": {
-          "name": "이름"
-        },
-        "number": {
-          "name": "이름"
-        },
-        "date": {
-          "name": "이름"
-        },
-        "datetime": {
-          "name": "이름"
-        },
-        "time": {
-          "name": "이름"
-        },
-        "email": {
-          "name": "이름"
-        },
-        "range": {
-          "name": "이름"
-        },
-        "url": {
-          "name": "이름"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "텍스트",
-      "type": "타입",
       "required": "필수",
       "preview": {
         "text": "텍스트",
diff --git a/public/app/main/apps/jscripty/i18n/lt.json b/public/app/main/apps/jscripty/i18n/lt.json
index a61c697..93556e0 100644
--- a/public/app/main/apps/jscripty/i18n/lt.json
+++ b/public/app/main/apps/jscripty/i18n/lt.json
@@ -1,19 +1,13 @@
 {
   "JSCRIPTY": {
     "CLONE_PROJECT": "Klono projektas",
-    "NAME": "Pavadinimas",
     "SEARCH_FOR_ANYONE": "Paieška",
     "BACK": "Atgal",
     "SELECTED": "PAsirinkta",
     "SELECT_ALL": "Pasirinkti visus",
     "SELECT_NONE": "Nieko nepasirinkta",
     "DESCRIPTION": "Aprašymas",
-    "ERRORS": {
-      "NAME_REQUIRED": "Privalomas laukas",
-      "PROJECT_REQUIRED": "Privalomas laukas",
-      "FIELD_REQUIRED": "Privalomas laukas",
-      "NAME_MUST_VALID_PATTERN": "Blogas formatas"
-    },
+    "ERRORS": {},
     "SAVE": "Saugoti",
     "PROJECTS": "Projektai",
     "ADD_PROJECT": "Pridėti projektą",
@@ -32,7 +26,6 @@
     "OPEN_CONTACT": "Atidaryti kontaktą",
     "SENDUNPAUSEONSUBMIT": "Nepristabdyti agento pateikiant",
     "HELP": {
-      "NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
       "ENABLEUNCOMPLETESAVE": "Leisti išsaugoti agento sesiją, net jei apklausa nėra baigta",
       "SENDUNPAUSEONSUBMIT": "Apklausos pabaigoje automatiškai sustabdyti agento pauzę"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Pavadinimas",
       "name.placeholder": "Formos pavadinimas",
       "description": "Aprašymas"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Tuščias puslapis"
       },
-      "pageWithNameCheckbox": "pavadintas",
-      "name": "Puslapio pavadinimas"
+      "pageWithNameCheckbox": "pavadintas"
     },
     "pageFlow": {
       "afterPage": "Po puslapiu {{puslapis}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Trumpas tekstas"
-        },
-        "textarea": {
-          "name": "Ilgas tekstas"
-        },
-        "radio": {
-          "name": "Radijas"
-        },
-        "select": {
-          "name": "Pasirinkti"
-        },
-        "checkbox": {
-          "name": "Žymės langeliai"
-        },
-        "grid": {
-          "name": "Tinklelis"
-        },
-        "priority": {
-          "name": "Prioritetas"
-        },
-        "division": {
-          "name": "Padalijimas"
-        },
-        "number": {
-          "name": "Numeris"
-        },
-        "date": {
-          "name": "Data"
-        },
-        "datetime": {
-          "name": "Datos laikas"
-        },
-        "time": {
-          "name": "Laikas"
-        },
-        "email": {
-          "name": "El. paštas"
-        },
-        "range": {
-          "name": "Intervalas"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Klausimo tekstas",
-      "type": "Klausimo tipas",
       "required": "Privaloma",
       "preview": {
         "text": "Trumpas atsakymo tekstas",
diff --git a/public/app/main/apps/jscripty/i18n/lv.json b/public/app/main/apps/jscripty/i18n/lv.json
index 28c679b..e7bca0e 100644
--- a/public/app/main/apps/jscripty/i18n/lv.json
+++ b/public/app/main/apps/jscripty/i18n/lv.json
@@ -1,18 +1,11 @@
 {
   "JSCRIPTY": {
-    "ERRORS": {
-      "NAME_REQUIRED": "Obligāts lauks",
-      "PROJECT_REQUIRED": "Obligāts lauks",
-      "FIELD_REQUIRED": "Obligāts lauks",
-      "NAME_MUST_VALID_PATTERN": "Nepareizs formāts"
-    },
+    "ERRORS": {},
     "HELP": {
-      "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)",
       "ENABLEUNCOMPLETESAVE": "Ļauj saglabāt aģenta sesiju, pat ja aptauja nav pabeigta",
       "SENDUNPAUSEONSUBMIT": "Aptaujas beigās automātiski pārtrauciet aģenta pauzi"
     },
     "CLONE_PROJECT": "Klona projekts",
-    "NAME": "Nosaukums",
     "SEARCH_FOR_ANYONE": "Meklēt",
     "BACK": "Atpakaļ",
     "SELECTED": "Atlasīts",
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Nosaukums",
       "name.placeholder": "Veidlapas nosaukums",
       "description": "Apraksts"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Tukša lapa"
       },
-      "pageWithNameCheckbox": "nosaukts",
-      "name": "Lapas nosaukums"
+      "pageWithNameCheckbox": "nosaukts"
     },
     "pageFlow": {
       "afterPage": "Pēc {{page}}. lapas:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Īss teksts"
-        },
-        "textarea": {
-          "name": "Garš teksts"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Izvēlēties"
-        },
-        "checkbox": {
-          "name": "Izvēles rūtiņas"
-        },
-        "grid": {
-          "name": "Režģis"
-        },
-        "priority": {
-          "name": "Prioritāte"
-        },
-        "division": {
-          "name": "Nodaļa"
-        },
-        "number": {
-          "name": "Numurs"
-        },
-        "date": {
-          "name": "Datums"
-        },
-        "datetime": {
-          "name": "Datums un laiks"
-        },
-        "time": {
-          "name": "Laiks"
-        },
-        "email": {
-          "name": "E-pasts"
-        },
-        "range": {
-          "name": "Diapazons"
-        },
-        "url": {
-          "name": "Tīmekļa adrese"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Jautājuma teksts",
-      "type": "Jautājuma veids",
       "required": "Nepieciešams",
       "preview": {
         "text": "Īss atbildes teksts",
diff --git a/public/app/main/apps/jscripty/i18n/nl.json b/public/app/main/apps/jscripty/i18n/nl.json
index 254dc8c..71c9324 100644
--- a/public/app/main/apps/jscripty/i18n/nl.json
+++ b/public/app/main/apps/jscripty/i18n/nl.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Naam",
     "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
     "BACK": "Terug",
     "SELECTED": "Geselecteerd",
     "SELECT_ALL": "Alles selecteren",
     "SELECT_NONE": "Selecteer None (Geen).",
     "DESCRIPTION": "Beschrijving",
-    "ERRORS": {
-      "NAME_REQUIRED": "De naam is verplicht",
-      "PROJECT_REQUIRED": "Het project is vereist",
-      "FIELD_REQUIRED": "Het is een verplicht veld",
-      "NAME_MUST_VALID_PATTERN": "De naam moet worden geschreven in een geldige indeling"
-    },
+    "ERRORS": {},
     "SAVE": "Opslaan",
     "PROJECTS": "Projecten",
     "ADD_PROJECT": "Voeg Project",
@@ -30,7 +24,6 @@
     "PREVIEW": "Afdrukvoorbeeld",
     "OPEN_CONTACT": "Open Contact",
     "HELP": {
-      "NAME": "Alleen cijfers, letters en speciale tekens (_) worden ondersteund",
       "ENABLEUNCOMPLETESAVE": "Laat de agent-sessie, zelfs indien de enquête is niet voltooid",
       "SENDUNPAUSEONSUBMIT": "Stop aan het einde van de enquête automatisch de pauze van de agent"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/no.json b/public/app/main/apps/jscripty/i18n/no.json
index 337a243..ba5e0a7 100644
--- a/public/app/main/apps/jscripty/i18n/no.json
+++ b/public/app/main/apps/jscripty/i18n/no.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Navn",
     "SEARCH_FOR_ANYONE": "Søk etter alle",
     "BACK": "Tilbake",
     "SELECTED": "Valgt",
     "SELECT_ALL": "Velg alle",
     "SELECT_NONE": "Velg ingen",
     "DESCRIPTION": "Beskrivelse",
-    "ERRORS": {
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "PROJECT_REQUIRED": "Prosjektet er nødvendig",
-      "FIELD_REQUIRED": "Feltet er obligatorisk",
-      "NAME_MUST_VALID_PATTERN": "Navnet må være skrevet i et gyldig format"
-    },
+    "ERRORS": {},
     "SAVE": "Lagre",
     "PROJECTS": "Prosjekter",
     "ADD_PROJECT": "Legg til prosjekt",
@@ -30,7 +24,6 @@
     "PREVIEW": "Forhåndsvisning",
     "OPEN_CONTACT": "Åpen kontakt",
     "HELP": {
-      "NAME": "Bare tall, bokstaver og bestemte tegn (._) støttes",
       "ENABLEUNCOMPLETESAVE": "Tillat å lagre agent økt selv om oversikten er ikke komplett",
       "SENDUNPAUSEONSUBMIT": "Mot slutten av undersøkelsen, stopp automatisk agentens pause"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/pl.json b/public/app/main/apps/jscripty/i18n/pl.json
index f7b0eed..8e9b794 100644
--- a/public/app/main/apps/jscripty/i18n/pl.json
+++ b/public/app/main/apps/jscripty/i18n/pl.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Nazwa",
     "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
     "BACK": "Powrót",
     "SELECTED": "Wybrane",
     "SELECT_ALL": "Zaznacz wszystkie",
     "SELECT_NONE": "Wybierz opcję Brak.",
     "DESCRIPTION": "Opis",
-    "ERRORS": {
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "PROJECT_REQUIRED": "Pole obowiązkowe",
-      "FIELD_REQUIRED": "Pole obowiązkowe",
-      "NAME_MUST_VALID_PATTERN": "Zły format"
-    },
+    "ERRORS": {},
     "SAVE": "Zapisz",
     "PROJECTS": "Projekty",
     "ADD_PROJECT": "Dodaj projekt",
@@ -30,7 +24,6 @@
     "PREVIEW": "Podgląd",
     "OPEN_CONTACT": "Styk rozwarty",
     "HELP": {
-      "NAME": "Tylko cyfry, litery i znaki specjalne (._) są obsługiwane",
       "ENABLEUNCOMPLETESAVE": "Umożliwia zapisanie agent sesja nawet jeśli badanie nie zostało zakończone",
       "SENDUNPAUSEONSUBMIT": "Na koniec ankiety automatycznie zatrzymaj pauzę agenta"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/pt-BR.json b/public/app/main/apps/jscripty/i18n/pt-BR.json
index a39d9fd..5cf249e 100644
--- a/public/app/main/apps/jscripty/i18n/pt-BR.json
+++ b/public/app/main/apps/jscripty/i18n/pt-BR.json
@@ -1,19 +1,13 @@
 {
   "JSCRIPTY": {
     "CLONE_PROJECT": "Projeto Clone",
-    "NAME": "Nome",
     "SEARCH_FOR_ANYONE": "Procurar",
     "BACK": "Voltar",
     "SELECTED": "Selecionado",
     "SELECT_ALL": "Selecionar tudo",
     "SELECT_NONE": "Selecione nenhum",
     "DESCRIPTION": "Descrição",
-    "ERRORS": {
-      "NAME_REQUIRED": "Campo obrigatório",
-      "PROJECT_REQUIRED": "Campo obrigatório",
-      "FIELD_REQUIRED": "Campo obrigatório",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto"
-    },
+    "ERRORS": {},
     "SAVE": "Salvar",
     "PROJECTS": "Projetos",
     "ADD_PROJECT": "Adicionar Projeto",
@@ -31,7 +25,6 @@
     "PREVIEW": "Visualizar",
     "OPEN_CONTACT": "Contato aberto",
     "HELP": {
-      "NAME": "Somente números, letras e caracteres específicos (._) são suportados",
       "ENABLEUNCOMPLETESAVE": "Permitir salvar a sessão do agente, mesmo que a pesquisa não esteja completa",
       "SENDUNPAUSEONSUBMIT": "No final da pesquisa, interrompa automaticamente a pausa do agente"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Título",
       "name.placeholder": "Título do formulário",
       "description": "Descrição"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Página vazia"
       },
-      "pageWithNameCheckbox": "nomeado",
-      "name": "Nome da página"
+      "pageWithNameCheckbox": "nomeado"
     },
     "pageFlow": {
       "afterPage": "Depois da página {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Pequeno texto"
-        },
-        "textarea": {
-          "name": "Texto longo"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Selecione"
-        },
-        "checkbox": {
-          "name": "Caixas de seleção"
-        },
-        "grid": {
-          "name": "Grade"
-        },
-        "priority": {
-          "name": "Prioridade"
-        },
-        "division": {
-          "name": "Divisão"
-        },
-        "number": {
-          "name": "Número"
-        },
-        "date": {
-          "name": "Data"
-        },
-        "datetime": {
-          "name": "Data hora"
-        },
-        "time": {
-          "name": "Tempo"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Alcance"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Texto da pergunta",
-      "type": "Tipo de pergunta",
       "required": "Requeridos",
       "preview": {
         "text": "Texto de resposta curta",
diff --git a/public/app/main/apps/jscripty/i18n/pt-PT.json b/public/app/main/apps/jscripty/i18n/pt-PT.json
index bf3c2f1..e5f3bde 100644
--- a/public/app/main/apps/jscripty/i18n/pt-PT.json
+++ b/public/app/main/apps/jscripty/i18n/pt-PT.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Nome",
     "SEARCH_FOR_ANYONE": "Pesquisar todos",
     "BACK": "De volta",
     "SELECTED": "Selecionada",
     "SELECT_ALL": "Selecionar todas",
     "SELECT_NONE": "Selecione Nenhum",
     "DESCRIPTION": "Descrição",
-    "ERRORS": {
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "PROJECT_REQUIRED": "O projeto é necessário",
-      "FIELD_REQUIRED": "O campo é obrigatório",
-      "NAME_MUST_VALID_PATTERN": "O nome deve ser escrito em um formato válido"
-    },
+    "ERRORS": {},
     "SAVE": "Salvar",
     "PROJECTS": "Projectos",
     "ADD_PROJECT": "Adicionar projeto",
@@ -30,7 +24,6 @@
     "PREVIEW": "Visualização",
     "OPEN_CONTACT": "Contacto aberto",
     "HELP": {
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
       "ENABLEUNCOMPLETESAVE": "Permite salvar a sessão do agente, mesmo se a pesquisa não está completa",
       "SENDUNPAUSEONSUBMIT": "No final da pesquisa, interrompa automaticamente a pausa do agente"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/ru.json b/public/app/main/apps/jscripty/i18n/ru.json
index f0b75d9..ff27367 100644
--- a/public/app/main/apps/jscripty/i18n/ru.json
+++ b/public/app/main/apps/jscripty/i18n/ru.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Имя",
     "SEARCH_FOR_ANYONE": "Для поиска любого",
     "BACK": "Назад",
     "SELECTED": "Выбранные",
     "SELECT_ALL": "Выбрать все",
     "SELECT_NONE": "Выберите пункт None",
     "DESCRIPTION": "Описание",
-    "ERRORS": {
-      "NAME_REQUIRED": "Это имя требуется",
-      "PROJECT_REQUIRED": "В рамках этого проекта не требуется",
-      "FIELD_REQUIRED": "Поле является обязательным",
-      "NAME_MUST_VALID_PATTERN": "Имя должно быть записано в действительный формат"
-    },
+    "ERRORS": {},
     "SAVE": "Сохранить",
     "PROJECTS": "Проекты",
     "ADD_PROJECT": "Добавить проект",
@@ -30,7 +24,6 @@
     "PREVIEW": "Предварительный просмотр",
     "OPEN_CONTACT": "Контакт разомкнут",
     "HELP": {
-      "NAME": "Только цифры, буквы и специальные символы (_) поддерживаются",
       "ENABLEUNCOMPLETESAVE": "Чтобы сохранить сеанс оператора, даже если обследование не завершена",
       "SENDUNPAUSEONSUBMIT": "По окончании опроса автоматически останавливается пауза агента"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/sv.json b/public/app/main/apps/jscripty/i18n/sv.json
index 9d36b83..7c5ff3d 100644
--- a/public/app/main/apps/jscripty/i18n/sv.json
+++ b/public/app/main/apps/jscripty/i18n/sv.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Namn",
     "SEARCH_FOR_ANYONE": "Sök",
     "BACK": "Tillbaka",
     "SELECTED": "Vald",
     "SELECT_ALL": "Markera alla",
     "SELECT_NONE": "Markera ingen",
     "DESCRIPTION": "Beskrivning",
-    "ERRORS": {
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "PROJECT_REQUIRED": "Projektet är obligatoriskt",
-      "FIELD_REQUIRED": "Fältet är obligatoriskt",
-      "NAME_MUST_VALID_PATTERN": "Namnet måste skrivas i ett giltigt format"
-    },
+    "ERRORS": {},
     "SAVE": "Spara",
     "PROJECTS": "Projekt",
     "ADD_PROJECT": "Lägg till projekt",
@@ -30,7 +24,6 @@
     "PREVIEW": "Förhandsgranska",
     "OPEN_CONTACT": "Öppen kontakt",
     "HELP": {
-      "NAME": "Endast siffror, bokstäver och särskilda tecken (_) stöds",
       "ENABLEUNCOMPLETESAVE": "Beviljar till räddar agenten session även om undersökningen inte är avslutad",
       "SENDUNPAUSEONSUBMIT": "I slutet av undersökningen ska du automatiskt stoppa agentens paus"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Namn",
       "name.placeholder": "Jscripty-namn",
       "description": "Beskrivning"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Tom sida"
       },
-      "pageWithNameCheckbox": "namngiven",
-      "name": "sidonamn"
+      "pageWithNameCheckbox": "namngiven"
     },
     "pageFlow": {
       "afterPage": "Efter sida {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Kort text"
-        },
-        "textarea": {
-          "name": "Lång text"
-        },
-        "radio": {
-          "name": "Radioknappar"
-        },
-        "select": {
-          "name": "Selektorknappar"
-        },
-        "checkbox": {
-          "name": "Checkboxar"
-        },
-        "grid": {
-          "name": "Rutnät"
-        },
-        "priority": {
-          "name": "Prioritet"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Nummer"
-        },
-        "date": {
-          "name": "Datum"
-        },
-        "datetime": {
-          "name": "Datum och tid"
-        },
-        "time": {
-          "name": "Tid"
-        },
-        "email": {
-          "name": "Epost"
-        },
-        "range": {
-          "name": "Urval"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Frågetext",
-      "type": "Frågeteyp",
       "required": "Obligatorisk",
       "preview": {
         "text": "Kort frågetext",
diff --git a/public/app/main/apps/jscripty/i18n/tr.json b/public/app/main/apps/jscripty/i18n/tr.json
index e9369a7..c59de58 100644
--- a/public/app/main/apps/jscripty/i18n/tr.json
+++ b/public/app/main/apps/jscripty/i18n/tr.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "Adı",
     "SEARCH_FOR_ANYONE": "Arama herkesin",
     "BACK": "Geri",
     "SELECTED": "Seçilen",
     "SELECT_ALL": "Tümünü Seç",
     "SELECT_NONE": "Hiçbiri",
     "DESCRIPTION": "Açıklama",
-    "ERRORS": {
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "PROJECT_REQUIRED": "Proje gerekiyor.",
-      "FIELD_REQUIRED": "Bu alanı gerekli.",
-      "NAME_MUST_VALID_PATTERN": "Ad yazılmış olması gerekir. geçerli bir format"
-    },
+    "ERRORS": {},
     "SAVE": "Kaydet",
     "PROJECTS": "Projeler",
     "ADD_PROJECT": "Add Project",
@@ -30,7 +24,6 @@
     "PREVIEW": "Önizleme",
     "OPEN_CONTACT": "Kontak açık",
     "HELP": {
-      "NAME": "Sadece sayılar, harfler ve özel karakterler (._) desteklenir.",
       "ENABLEUNCOMPLETESAVE": "Için save temsilci oturum olsa bile, anketi tam değil",
       "SENDUNPAUSEONSUBMIT": "Anketin sonunda, ajanın duraklamasını otomatik olarak durdurun"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/zh-CN.json b/public/app/main/apps/jscripty/i18n/zh-CN.json
index 078ac8a..47c8358 100644
--- a/public/app/main/apps/jscripty/i18n/zh-CN.json
+++ b/public/app/main/apps/jscripty/i18n/zh-CN.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "名称",
     "SEARCH_FOR_ANYONE": "搜索任何人",
     "BACK": "返回",
     "SELECTED": "选中的",
     "SELECT_ALL": "选择所有",
     "SELECT_NONE": "选择 “无”",
     "DESCRIPTION": "描述",
-    "ERRORS": {
-      "NAME_REQUIRED": "该名称是必需的",
-      "PROJECT_REQUIRED": "该项目是必需的",
-      "FIELD_REQUIRED": "该字段为必需字段。",
-      "NAME_MUST_VALID_PATTERN": "该名称必须是书面的格式无效"
-    },
+    "ERRORS": {},
     "SAVE": "保存",
     "PROJECTS": "项目",
     "ADD_PROJECT": "添加项目",
@@ -30,7 +24,6 @@
     "PREVIEW": "预览",
     "OPEN_CONTACT": "打开联系人",
     "HELP": {
-      "NAME": "只有数字、字母和特殊字符(_)的支持",
       "ENABLEUNCOMPLETESAVE": "允许保存业务代表会话即使调查未完成",
       "SENDUNPAUSEONSUBMIT": "调查结束后，自动停止座席的暂停"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/jscripty/i18n/zh-TW.json b/public/app/main/apps/jscripty/i18n/zh-TW.json
index 7c10b2a..f49aaf3 100644
--- a/public/app/main/apps/jscripty/i18n/zh-TW.json
+++ b/public/app/main/apps/jscripty/i18n/zh-TW.json
@@ -1,18 +1,12 @@
 {
   "JSCRIPTY": {
-    "NAME": "名稱",
     "SEARCH_FOR_ANYONE": "搜尋使用者",
     "BACK": "備份",
     "SELECTED": "已選取",
     "SELECT_ALL": "全部選取",
     "SELECT_NONE": "選取「無」",
     "DESCRIPTION": "說明",
-    "ERRORS": {
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "PROJECT_REQUIRED": "該專案是必填欄位",
-      "FIELD_REQUIRED": "此欄位為必填欄位",
-      "NAME_MUST_VALID_PATTERN": "該名稱必須是書面的格式無效"
-    },
+    "ERRORS": {},
     "SAVE": "儲存",
     "PROJECTS": "專案計畫",
     "ADD_PROJECT": "新增專案",
@@ -30,7 +24,6 @@
     "PREVIEW": "預覽列印",
     "OPEN_CONTACT": "開啟聯絡人",
     "HELP": {
-      "NAME": "只有數字、字母和特殊字元 ( _ ) 都受到支援",
       "ENABLEUNCOMPLETESAVE": "允許保存業務代表會話即使這項統計調查是不完整",
       "SENDUNPAUSEONSUBMIT": "調查結束後，自動停止座席的暫停"
     },
@@ -68,7 +61,6 @@
   },
   "mwForm": {
     "form": {
-      "name": "Title",
       "name.placeholder": "Form title",
       "description": "Description"
     },
@@ -97,8 +89,7 @@
       "elements": {
         "empty": "Empty page"
       },
-      "pageWithNameCheckbox": "named",
-      "name": "Page name"
+      "pageWithNameCheckbox": "named"
     },
     "pageFlow": {
       "afterPage": "After page {{page}}:",
@@ -114,54 +105,23 @@
     },
     "question": {
       "types": {
-        "text": {
-          "name": "Short text"
-        },
-        "textarea": {
-          "name": "Long text"
-        },
-        "radio": {
-          "name": "Radio"
-        },
-        "select": {
-          "name": "Select"
-        },
-        "checkbox": {
-          "name": "Checkboxes"
-        },
-        "grid": {
-          "name": "Grid"
-        },
-        "priority": {
-          "name": "Priority"
-        },
-        "division": {
-          "name": "Division"
-        },
-        "number": {
-          "name": "Number"
-        },
-        "date": {
-          "name": "Date"
-        },
-        "datetime": {
-          "name": "Datetime"
-        },
-        "time": {
-          "name": "Time"
-        },
-        "email": {
-          "name": "Email"
-        },
-        "range": {
-          "name": "Range"
-        },
-        "url": {
-          "name": "URL"
-        }
+        "text": {},
+        "textarea": {},
+        "radio": {},
+        "select": {},
+        "checkbox": {},
+        "grid": {},
+        "priority": {},
+        "division": {},
+        "number": {},
+        "date": {},
+        "datetime": {},
+        "time": {},
+        "email": {},
+        "range": {},
+        "url": {}
       },
       "text": "Question text",
-      "type": "Question type",
       "required": "Required",
       "preview": {
         "text": "Short answer text",
diff --git a/public/app/main/apps/mail/i18n/ar.json b/public/app/main/apps/mail/i18n/ar.json
index 4d94fe2..a496670 100644
--- a/public/app/main/apps/mail/i18n/ar.json
+++ b/public/app/main/apps/mail/i18n/ar.json
@@ -1,73 +1,28 @@
 {
   "MAIL": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "يجب أن يكون عنوان الرابط الالكترونى الخاص بالقبول صالحا",
-      "AGENT_REQUIRED": "ممثل الخدمة المطلوب",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمة خلال مدة أكبر من أو تساوي",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمة خلال مدة أقل من أو تساوي",
-      "AGENT_TIMEOUT_REQUIRED": " فترةإنهاء الوقت من قبل ممثل الخدمة المطلوبة",
       "AUTHTIMEOUT_REQUIRED": "ضبط إنهاء الوقت المطلوب",
-      "CLOSEURL_MUST_VALID_URL": "يجب أن عنوان الرابط الالكترونى للإغلاق صالحا",
-      "COMMAND_REQUIRED": "الأمر المطلوب",
-      "CONDITION_REQUIRED": "الشرط المطلوب",
       "CONNTIMEOUT_REQUIRED": "مهله الأتصال بالخادم المطلوبة",
-      "DISPOSITION_REQUIRED": "الإستعداد المطلوب",
       "EMAIL_ADDRESS_MUST_VALID": "يجب ان يكون عنوان البريد الألكترونى صالحا",
       "EMAIL_ADDRESS_REQUIRED": " البريد الألكترونى المطلوب",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون نسبه الأولوية الخاطئه بقيمه اكبر من أو تساوي",
-      "FALSEPRIORITY_REQUIRED": "الأولوية الخاطئة المطلوبه",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " يجب أن يكون حجم الخط أكبر من أو يساوى ",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": " يجب أن يكون حجم الخط أقل من أو يساوى ",
       "FONT_SIZE_REQUIRED": "حجم الخط المطلوب",
-      "HOST_REQUIRED": "المستضيف المطلوب",
-      "NAME_MUST_VALID_PATTERN": "يجب إدخال الاسم بنمط صحيح",
-      "NAME_REQUIRED": "الاسم المطلوب",
       "PORT_REQUIRED": "المنفذ المطلوب",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون نسبه الأولوية بقيمه اكبر من أو تساوي",
-      "PRIORITY_REQUIRED": "الاولوية المطلوبة",
-      "REJECTURL_MUST_VALID_URL": "يجب أن يكون عنوان الرابط الالكترونى الخاص بالقبول صالحا",
-      "TEXT_MAX_LENGTH": "الحد الأقصى لطول النص",
-      "TEXT_REQUIRED": "النص المطلوب",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت  خلال مدة أكبر من أو تساوي",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت  خلال مدة أقل من أو تساوي",
-      "TIMEOUT_REQUIRED": "فترة إنهاء الوقت المطلوبة",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "TRUEPRIORITY_REQUIRED": "الأولويه الصحيحه المطلوبة",
-      "USERNAME_REQUIRED": "اسم المستخدم المطلوب",
-      "VALUE_REQUIRED": "حقل الزامي",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار الوكيل المعين  خلال مدة أكبر من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار الوكيل المعين  خلال مدة أقل من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": " فترة إنتظار الوكيل المعين المطلوبة",
       "CONFIRM_NOT_MATCH": "كلمات المرور المدرجة غير متطابقة***",
       "IMAP_HOST_REQUIRED": " مستضيف بروتوكول الوصول إلى الرسائل عبر الإنترنت المطلوب",
       "IMAP_PORT_REQUIRED": " منفذ بروتوكول الوصول إلى الرسائل عبر الإنترنت المطلوب",
-      "KEY_MAX_LENGTH": "الحد الأقصى لطول المفتاح",
-      "KEY_REQUIRED": "المفتاح المطلوب",
-      "LIST_REQUIRED": "القائمه المطلوبة",
-      "PASSWORD_REQUIRED": "الرقم السرى المطلوب",
-      "QUEUE_REQUIRED": "قائمه الترتيب المطلوبة",
       "SERVICE_REQUIRED": "الخدمة المطلوبة",
       "SMTP_HOST_REQUIRED": "مستضيف البروتوكول المستخدم في إرسال البريد الإلكتروني وتلقيه",
-      "SMTP_PORT_REQUIRED": "منفذالبروتوكول المستخدم في إرسال البريد الإلكتروني وتلقيه",
-      "TAG_REQUIRED": "العلامه المطلوبة",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي"
+      "SMTP_PORT_REQUIRED": "منفذالبروتوكول المستخدم في إرسال البريد الإلكتروني وتلقيه"
     },
     "HELP": {
       "FONT_FAMILY": " مجموعة الخطوط",
       "FONT_SIZE": "حجم الخط الافتراضي***",
       "MARK_AS_UNREAD": "تمكين / تعطيل العامل لوضع علامة كغير مقروءة على آخر رسالة للتفاعل***",
-      "NAME": "يتم دعم الأرقام والحروف والأحرف المحددة (._) فقط***",
       "PASSWORD": "كلمة المرور المستخدمة للمصادقة***",
       "SECURE": "إذا كان هذا صحيحًا ، فسيستخدم الاتصال طبقة النقل الآمنة عند الاتصال بالخادم***",
-      "USERNAME": "اسم المستخدم ",
-      "MANDATORYDISPOSITION": "التصرف الإلزامي",
-      "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام عند تمكين التخلص الإلزامي"
+      "USERNAME": "اسم المستخدم "
     },
     "ACCEPTED": "مقبول",
     "ACCOUNTS": "حسابات",
@@ -150,7 +105,6 @@
     "FORWARD": "موجهه الى",
     "FROM": "من ",
     "MAILQUEUES": "قوائم إنتظار البريد الإلكتروني",
-    "NAME": "اسم",
     "REPLY": "الرد",
     "REPLY_ALL": "الرد على الجميع",
     "SEARCH_FOR_ANYONE": "بحث",
@@ -192,7 +146,6 @@
     "ID": "المعرف",
     "IMAP": "بروتوكول الوصول إلى الرسائل عبر الإنترنت",
     "KEEPALIVE": "الاتصال بين خادم الويب ومتصفح الويب",
-    "LIST": "قائمة",
     "MAIL": "البريد الإلكتروني",
     "MAILACCOUNTS": "حسابات البريد الإلكتروني",
     "MAILBOX": "صندوق بريد",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "تحميل بدون مرفقات",
     "DOWNLOAD_WITH_ATTACHMENTS": "تحميل مع المرفقات",
     "TEAMS_ASSOCIATION": "رابطة الفرق",
-    "MANDATORYDISPOSITION": "التصرف الإلزامي",
-    "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام إذا تم تمكين التخلص الإلزامي",
     "ADVANCED": "المتقدمة",
     "TOOLTIP_SCREENRECORDING_OFF": "تسجيل الشاشة المتاحة",
     "TOOLTIP_SCREENRECORDING_ON": "تسجيل الشاشة في التقدم",
diff --git a/public/app/main/apps/mail/i18n/cs.json b/public/app/main/apps/mail/i18n/cs.json
index f704818..33aa9fd 100644
--- a/public/app/main/apps/mail/i18n/cs.json
+++ b/public/app/main/apps/mail/i18n/cs.json
@@ -113,67 +113,24 @@
     "SEND": "Send",
     "ATTACHMENT": "Attachment",
     "ATTACHMENTS": "Attachments",
-    "NAME": "Name",
     "MAILQUEUES": "Email Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "STRATEGY": "Strategy",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "COMMAND_REQUIRED": "Mandatory Field",
       "FONT_SIZE_REQUIRED": "Mandatory Field",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_MUST_VALID": "Wrong format",
-      "HOST_REQUIRED": "Mandatory Field",
-      "USERNAME_REQUIRED": "Mandatory Field",
       "PORT_REQUIRED": "Mandatory Field",
       "CONNTIMEOUT_REQUIRED": "Mandatory Field",
       "AUTHTIMEOUT_REQUIRED": "Mandatory Field",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "PASSWORD_REQUIRED": "Mandatory Field",
       "SERVICE_REQUIRED": "Mandatory Field",
       "IMAP_HOST_REQUIRED": "Mandatory Field",
       "IMAP_PORT_REQUIRED": "Mandatory Field",
       "SMTP_HOST_REQUIRED": "Mandatory Field",
       "SMTP_PORT_REQUIRED": "Mandatory Field",
-      "CONFIRM_NOT_MATCH": "The passwords inserted don't match",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole"
+      "CONFIRM_NOT_MATCH": "The passwords inserted don't match"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Description",
@@ -192,7 +149,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
     "OTHERS": "Others",
-    "LIST": "List",
     "TEMPLATE": "Template",
     "FIDELITY": "Fidelity",
     "SERVICE": "Service",
@@ -243,13 +199,10 @@
     "HELP": {
       "FONT_FAMILY": "Default Font Family",
       "FONT_SIZE": "Default Font Size",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "USERNAME": "Username used for authentication",
       "PASSWORD": "Password used for authentication",
       "SECURE": "If true, the connection will use TLS when connecting to server",
-      "MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction",
-      "MANDATORYDISPOSITION": "Povinná dispozice",
-      "MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice"
+      "MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
@@ -315,8 +268,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Stahujte bez přílohy",
     "DOWNLOAD_WITH_ATTACHMENT": "Stáhnout s přílohou",
     "LASTMESSAGE": "Poslední zpráva",
-    "MANDATORYDISPOSITION": "Povinná dispozice",
-    "MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej",
     "TEAMS_ASSOCIATION": "Asociace týmů",
     "TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
     "TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky"
diff --git a/public/app/main/apps/mail/i18n/da.json b/public/app/main/apps/mail/i18n/da.json
index 3bfadaf..c78e455 100644
--- a/public/app/main/apps/mail/i18n/da.json
+++ b/public/app/main/apps/mail/i18n/da.json
@@ -19,67 +19,24 @@
     "SEND": "Send",
     "ATTACHMENT": "Tilbehør",
     "ATTACHMENTS": "Tilbehør",
-    "NAME": "Navnet",
     "MAILQUEUES": "Postkøer",
     "SEARCH_FOR_ANYONE": "Søg efter alle",
     "STRATEGY": "Strategi",
     "ERRORS": {
-      "TEXT_REQUIRED": "Feltet tekst er påkrævet",
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout er påkrævet",
       "EMAIL_ADDRESS_REQUIRED": "E-mail-adresse er nødvendig",
       "EMAIL_ADDRESS_MUST_VALID": "E-mail-adressen skal være skrevet i et gyldigt format",
-      "HOST_REQUIRED": "Værten er påkrævet",
-      "USERNAME_REQUIRED": "Brugernavn er påkrævet",
       "PORT_REQUIRED": "Havnen er påkrævet",
       "CONNTIMEOUT_REQUIRED": "Det kræves Forbindelsestidsfrist",
       "AUTHTIMEOUT_REQUIRED": "Det Godkendelsestimeout er påkrævet",
-      "ACCEPTURL_MUST_VALID_URL": "Det acceptere URL skal være skrevet i et gyldigt format",
-      "TIMEOUT_REQUIRED": "Timeout er påkrævet",
-      "REJECTURL_MUST_VALID_URL": "Reject-URL skal være skrevet i et gyldigt format",
-      "CLOSEURL_MUST_VALID_URL": "Den tætte URL skal være skrevet i et gyldigt format",
-      "AGENT_REQUIRED": "Agenten er påkrævet",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Time-out skal være større end eller lig med",
-      "DISPOSITION_REQUIRED": "Dispositionen er nødvendig",
-      "CONDITION_REQUIRED": "Betingelsen er påkrævet",
-      "TRUEPRIORITY_REQUIRED": "Den sande prioritering er nødvendig",
-      "FALSEPRIORITY_REQUIRED": "Den Falske prioritet er påkrævet",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den sande prioritering skal være større end eller lig med",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den Falske prioritet skal være større end eller lig med",
-      "PRIORITY_REQUIRED": "Indsatsen er påkrævet",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioriteringen skal være større end eller lig med",
-      "QUEUE_REQUIRED": "Køen er påkrævet",
-      "LIST_REQUIRED": "Listen er påkrævet",
-      "PASSWORD_REQUIRED": "Adgangskoden kræves",
       "SERVICE_REQUIRED": "Den service er påkrævet",
       "IMAP_HOST_REQUIRED": "IMAP Host er påkrævet",
       "IMAP_PORT_REQUIRED": "IMAP Port kræves",
       "SMTP_HOST_REQUIRED": "SMTP-vært er påkrævet",
       "SMTP_PORT_REQUIRED": "SMTP-port",
       "CONFIRM_NOT_MATCH": "Adgangskoderne don' t match",
-      "KEY_MAX_LENGTH": "Nøgle skal have en maksimal længde på {{max}}",
-      "KEY_REQUIRED": "Den nøgle er påkrævet",
-      "TEXT_MAX_LENGTH": "Værdien skal have en maksimal længde svarende til {{max}}",
-      "VALUE_REQUIRED": "Obligatorisk felt",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "FONT_SIZE_REQUIRED": "Obligatorisk felt",
-      "COMMAND_REQUIRED": "Obligatorisk felt",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "NAME_MUST_VALID_PATTERN": "Forkert format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatorisk felt",
-      "TAG_REQUIRED": "Obligatorisk felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt"
+      "FONT_SIZE_REQUIRED": "Obligatorisk felt"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Beskrivelse",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Handlinger",
     "OTHERS": "Andre",
-    "LIST": "Listen",
     "TEMPLATE": "Skabelon",
     "FIDELITY": "Fidelity",
     "SERVICE": "Service",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Alle hold",
     "SELECTED_TEAMS": "Udvalgte Teams",
     "HELP": {
-      "NAME": "Kun tal og bogstaver og specielle tegn (.________) understøttes",
       "USERNAME": "Brugernavn bruges til godkendelse",
       "PASSWORD": "Adgangskoden bruges til godkendelse",
       "SECURE": "Hvis det er rigtigt, at forbindelsen vil bruge TLS til at oprette forbindelse til server",
       "FONT_FAMILY": "Standard skrifttype familie",
       "FONT_SIZE": "Standard skriftstørrelse",
-      "MARK_AS_UNREAD": "Aktivér / Deaktiver agent for at markere som ulæst den sidste meddelelse i en interaktion",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Brug pause, når obligatorisk disposition er aktiveret"
+      "MARK_AS_UNREAD": "Aktivér / Deaktiver agent for at markere som ulæst den sidste meddelelse i en interaktion"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rækker pr. side",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download uden vedhæftede filer",
     "DOWNLOAD_WITH_ATTACHMENTS": "Download med vedhæftede filer",
     "TEAMS_ASSOCIATION": "Holdforening",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Brug pause, hvis obligatorisk disposition er aktiveret",
     "ADVANCED": "Fremskreden",
     "TOOLTIP_SCREENRECORDING_OFF": "Screen optagelse tilgængelig",
     "TOOLTIP_SCREENRECORDING_ON": "Skærmoptagelse pågår",
diff --git a/public/app/main/apps/mail/i18n/de.json b/public/app/main/apps/mail/i18n/de.json
index 5ae7a6f..f6b6c1a 100644
--- a/public/app/main/apps/mail/i18n/de.json
+++ b/public/app/main/apps/mail/i18n/de.json
@@ -19,67 +19,24 @@
     "SEND": "Senden",
     "ATTACHMENT": "Anhang",
     "ATTACHMENTS": "Anhänge",
-    "NAME": "Name",
     "MAILQUEUES": "E-Mail Warteschlangen",
     "SEARCH_FOR_ANYONE": "Suche für Jedermann",
     "STRATEGY": "Strategie",
     "ERRORS": {
-      "TEXT_REQUIRED": "Das Feld \"Text\" ist erforderlich",
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "AGENT_TIMEOUT_REQUIRED": "Der Agent Timeout ist erforderlich",
       "EMAIL_ADDRESS_REQUIRED": "Die E-Mail-Adresse ist erforderlich",
       "EMAIL_ADDRESS_MUST_VALID": "Die E-Mail Adresse muss in einem gültigen Format",
-      "HOST_REQUIRED": "Der Host wird benötigt",
-      "USERNAME_REQUIRED": "Der Benutzername ist erforderlich",
       "PORT_REQUIRED": "Der Port ist erforderlich",
       "CONNTIMEOUT_REQUIRED": "Timeout der Verbindung ist erforderlich",
       "AUTHTIMEOUT_REQUIRED": "Das Zeitlimit für die Authentifizierung erforderlich ist",
-      "ACCEPTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "TIMEOUT_REQUIRED": "Der Timeout ist erforderlich",
-      "REJECTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "CLOSEURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "AGENT_REQUIRED": "Der Agent ist erforderlich",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Timeout muss größer als oder gleich",
-      "DISPOSITION_REQUIRED": "Die Disposition ist erforderlich",
-      "CONDITION_REQUIRED": "Der Zustand ist erforderlich",
-      "TRUEPRIORITY_REQUIRED": "Die wahre Priorität ist erforderlich",
-      "FALSEPRIORITY_REQUIRED": "Die falsche Priorität ist erforderlich",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die wahre Priorität muss größer als oder gleich",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die falsche Priorität muss größer als oder gleich",
-      "PRIORITY_REQUIRED": "Die Priorität ist erforderlich",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Priorität muss größer als oder gleich",
-      "QUEUE_REQUIRED": "Die Warteschlange ist erforderlich",
-      "LIST_REQUIRED": "Die Liste ist erforderlich",
-      "PASSWORD_REQUIRED": "Das Kennwort ist erforderlich",
       "SERVICE_REQUIRED": "Der Dienst ist erforderlich,",
       "IMAP_HOST_REQUIRED": "Der IMAP-Host wird benötigt",
       "IMAP_PORT_REQUIRED": "Der IMAP-Anschluss erforderlich",
       "SMTP_HOST_REQUIRED": "Der SMTP-Host ist erforderlich",
       "SMTP_PORT_REQUIRED": "Der SMTP-Port ist erforderlich",
       "CONFIRM_NOT_MATCH": "Die Passwörter nicht übereinstimmen",
-      "KEY_MAX_LENGTH": "Schlüssel muss eine maximale Länge von {{max}}",
-      "KEY_REQUIRED": "Der Schlüssel ist erforderlich",
-      "TEXT_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
-      "VALUE_REQUIRED": "Pflichtfeld",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "FONT_SIZE_REQUIRED": "Pflichtfeld",
-      "COMMAND_REQUIRED": "Pflichtfeld",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "NAME_MUST_VALID_PATTERN": "Falsches Format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pflichtfeld",
-      "TAG_REQUIRED": "Pflichtfeld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld"
+      "FONT_SIZE_REQUIRED": "Pflichtfeld"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Beschreibung",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Aktionen",
     "OTHERS": "Andere",
-    "LIST": "Liste",
     "TEMPLATE": "Vorlage",
     "FIDELITY": "Treue",
     "SERVICE": "Service",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Alle Mannschaften",
     "SELECTED_TEAMS": "Ausgewählte Teams",
     "HELP": {
-      "NAME": "Nur Zahlen, Buchstaben und Sonderzeichen (._) werden unterstützt.",
       "USERNAME": "Benutzername für die Authentifizierung verwendet werden",
       "PASSWORD": "Kennwort für die Authentifizierung verwendet werden",
       "SECURE": "Bei true wird die Verbindung TLS verwenden, wenn eine Verbindung zu Server",
       "FONT_FAMILY": "Standardschriftfamilie",
       "FONT_SIZE": "Standard Schriftgröße",
-      "MARK_AS_UNREAD": "Agent aktivieren / deaktivieren, um die letzte Nachricht einer Interaktion als ungelesen zu markieren",
-      "MANDATORYDISPOSITION": "Zwingende Disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Anhalten, um zu verwenden, wenn die obligatorische Disposition aktiviert ist"
+      "MARK_AS_UNREAD": "Agent aktivieren / deaktivieren, um die letzte Nachricht einer Interaktion als ungelesen zu markieren"
     },
     "PAGE": "Seite",
     "ROWSPERPAGE": "Zeilen pro Seite",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download ohne Anhänge",
     "DOWNLOAD_WITH_ATTACHMENTS": "Mit Anhängen herunterladen",
     "TEAMS_ASSOCIATION": "Vereinigung der Mannschaften",
-    "MANDATORYDISPOSITION": "Zwingende Disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause zur Verwendung, wenn die obligatorische Disposition aktiviert ist",
     "ADVANCED": "Fortgeschritten",
     "TOOLTIP_SCREENRECORDING_OFF": "Bildschirmaufnahme verfügbar",
     "TOOLTIP_SCREENRECORDING_ON": "Bildschirmaufnahme läuft",
diff --git a/public/app/main/apps/mail/i18n/en.json b/public/app/main/apps/mail/i18n/en.json
index 925e536..e096496 100644
--- a/public/app/main/apps/mail/i18n/en.json
+++ b/public/app/main/apps/mail/i18n/en.json
@@ -114,69 +114,24 @@
     "SEND": "Send",
     "ATTACHMENT": "Attachment",
     "ATTACHMENTS": "Attachments",
-    "NAME": "Name",
     "MAILQUEUES": "Email Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "STRATEGY": "Strategy",
-    "MANDATORYDISPOSITION": "Mandatory disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "COMMAND_REQUIRED": "Mandatory Field",
       "FONT_SIZE_REQUIRED": "Mandatory Field",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_MUST_VALID": "Wrong format",
-      "HOST_REQUIRED": "Mandatory Field",
-      "USERNAME_REQUIRED": "Mandatory Field",
       "PORT_REQUIRED": "Mandatory Field",
       "CONNTIMEOUT_REQUIRED": "Mandatory Field",
       "AUTHTIMEOUT_REQUIRED": "Mandatory Field",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "PASSWORD_REQUIRED": "Mandatory Field",
       "SERVICE_REQUIRED": "Mandatory Field",
       "IMAP_HOST_REQUIRED": "Mandatory Field",
       "IMAP_PORT_REQUIRED": "Mandatory Field",
       "SMTP_HOST_REQUIRED": "Mandatory Field",
       "SMTP_PORT_REQUIRED": "Mandatory Field",
-      "CONFIRM_NOT_MATCH": "The passwords inserted don't match",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field"
+      "CONFIRM_NOT_MATCH": "The passwords inserted don't match"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Description",
@@ -195,7 +150,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
     "OTHERS": "Others",
-    "LIST": "List",
     "TEMPLATE": "Template",
     "FIDELITY": "Fidelity",
     "SERVICE": "Service",
@@ -246,12 +200,9 @@
     "HELP": {
       "FONT_FAMILY": "Default Font Family",
       "FONT_SIZE": "Default Font Size",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "USERNAME": "Username used for authentication",
       "PASSWORD": "Password used for authentication",
       "SECURE": "If true, the connection will use TLS when connecting to server",
-      "MANDATORYDISPOSITION": "Mandatory disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
       "MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction"
     },
     "PAGE": "Page",
diff --git a/public/app/main/apps/mail/i18n/es.json b/public/app/main/apps/mail/i18n/es.json
index 0d75437..ff71606 100644
--- a/public/app/main/apps/mail/i18n/es.json
+++ b/public/app/main/apps/mail/i18n/es.json
@@ -4,70 +4,25 @@
       "FONT_FAMILY": "Familia de fuentes predeterminadas",
       "FONT_SIZE": "Tamaño de fuente predeterminado",
       "MARK_AS_UNREAD": "Activar / desactivar agente para marcar como no leído el último mensaje de una interacción",
-      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
       "PASSWORD": "Contraseña utilizada para autenticación",
       "SECURE": "Si es verdadero, la conexión usará TLS cuando se conecte al servidor",
-      "USERNAME": "Nombre de usuario utilizado para autenticación",
-      "MANDATORYDISPOSITION": "Cierre obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa a usar si el cierre obligatorio está habilitado"
+      "USERNAME": "Nombre de usuario utilizado para autenticación"
     },
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "Formato erróneo",
-      "AGENT_REQUIRED": "Campo obligatorio",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio",
       "AUTHTIMEOUT_REQUIRED": "Campo obligatorio",
-      "CLOSEURL_MUST_VALID_URL": "Formato erróneo",
-      "COMMAND_REQUIRED": "Campo obligatorio",
-      "CONDITION_REQUIRED": "Campo obligatorio",
       "CONFIRM_NOT_MATCH": "Las contraseñas ingresadas no coinciden",
       "CONNTIMEOUT_REQUIRED": "Campo obligatorio",
-      "DISPOSITION_REQUIRED": "Campo obligatorio",
       "EMAIL_ADDRESS_MUST_VALID": "Formato erróneo",
       "EMAIL_ADDRESS_REQUIRED": "Campo obligatorio",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "FALSEPRIORITY_REQUIRED": "Campo obligatorio",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
       "FONT_SIZE_REQUIRED": "Campo obligatorio",
-      "HOST_REQUIRED": "Campo obligatorio",
       "IMAP_HOST_REQUIRED": "Campo obligatorio",
       "IMAP_PORT_REQUIRED": "Campo obligatorio",
-      "KEY_MAX_LENGTH": "La clave debe tener una longitud máxima igual a {{max}}",
-      "KEY_REQUIRED": "Campo obligatorio",
-      "LIST_REQUIRED": "Campo obligatorio",
-      "NAME_MUST_VALID_PATTERN": "Formato erróneo",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "PASSWORD_REQUIRED": "Campo obligatorio",
       "PORT_REQUIRED": "Campo obligatorio",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "PRIORITY_REQUIRED": "Campo obligatorio",
-      "QUEUE_REQUIRED": "Campo obligatorio",
-      "REJECTURL_MUST_VALID_URL": "Formato erróneo",
       "SERVICE_REQUIRED": "Campo obligatorio",
       "SMTP_HOST_REQUIRED": "Campo obligatorio",
-      "SMTP_PORT_REQUIRED": "Campo obligatorio",
-      "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
-      "TEXT_REQUIRED": "Campo obligatorio",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "TIMEOUT_REQUIRED": "Campo obligatorio",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TRUEPRIORITY_REQUIRED": "Campo obligatorio",
-      "USERNAME_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obligatorio",
-      "TAG_REQUIRED": "Campo obligatorio",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio"
+      "SMTP_PORT_REQUIRED": "Campo obligatorio"
     },
     "ACCEPT": "Aceptar",
     "ACCEPTED": "Aceptado",
@@ -177,7 +132,6 @@
     "IN_USE": "En uso",
     "KEEPALIVE": "Mantener viva",
     "KEY": "Llave",
-    "LIST": "Lista",
     "LOGGED_IN": "Conectado",
     "LOGOUT": "Cerrar sesión",
     "MAIL": "Email",
@@ -187,7 +141,6 @@
     "MAILQUEUES": "Colas de correo electrónico",
     "MAILSUBSTATUSES": "Subestaciones de correo electrónico",
     "MARK_AS_UNREAD": "marcar como no leído",
-    "NAME": "Nombre",
     "NEVER_VERIFIED": "Nunca Verificar",
     "NEW_MAILACCOUNT": "Nueva cuenta de correo electrónico",
     "NEW_MAILCANNEDANSWER": "Nueva respuesta enlatada",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Descargar sin archivos adjuntos",
     "DOWNLOAD_WITH_ATTACHMENTS": "Descargar con archivos adjuntos",
     "TEAMS_ASSOCIATION": "Asociación de equipos",
-    "MANDATORYDISPOSITION": "Cierre obligatorio",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa a usar si el cierre obligatorio está habilitado",
     "ADVANCED": "Avanzado",
     "TOOLTIP_SCREENRECORDING_OFF": "Grabación de pantalla disponible",
     "TOOLTIP_SCREENRECORDING_ON": "Grabación de pantalla en progreso",
diff --git a/public/app/main/apps/mail/i18n/et.json b/public/app/main/apps/mail/i18n/et.json
index af145d7..11f9531 100644
--- a/public/app/main/apps/mail/i18n/et.json
+++ b/public/app/main/apps/mail/i18n/et.json
@@ -113,67 +113,24 @@
     "SEND": "Send",
     "ATTACHMENT": "Attachment",
     "ATTACHMENTS": "Attachments",
-    "NAME": "Name",
     "MAILQUEUES": "Email Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "STRATEGY": "Strategy",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "COMMAND_REQUIRED": "Mandatory Field",
       "FONT_SIZE_REQUIRED": "Mandatory Field",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_MUST_VALID": "Wrong format",
-      "HOST_REQUIRED": "Mandatory Field",
-      "USERNAME_REQUIRED": "Mandatory Field",
       "PORT_REQUIRED": "Mandatory Field",
       "CONNTIMEOUT_REQUIRED": "Mandatory Field",
       "AUTHTIMEOUT_REQUIRED": "Mandatory Field",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "PASSWORD_REQUIRED": "Mandatory Field",
       "SERVICE_REQUIRED": "Mandatory Field",
       "IMAP_HOST_REQUIRED": "Mandatory Field",
       "IMAP_PORT_REQUIRED": "Mandatory Field",
       "SMTP_HOST_REQUIRED": "Mandatory Field",
       "SMTP_PORT_REQUIRED": "Mandatory Field",
-      "CONFIRM_NOT_MATCH": "The passwords inserted don't match",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli"
+      "CONFIRM_NOT_MATCH": "The passwords inserted don't match"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Description",
@@ -192,7 +149,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
     "OTHERS": "Others",
-    "LIST": "List",
     "TEMPLATE": "Template",
     "FIDELITY": "Fidelity",
     "SERVICE": "Service",
@@ -243,13 +199,10 @@
     "HELP": {
       "FONT_FAMILY": "Default Font Family",
       "FONT_SIZE": "Default Font Size",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "USERNAME": "Username used for authentication",
       "PASSWORD": "Password used for authentication",
       "SECURE": "If true, the connection will use TLS when connecting to server",
-      "MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction",
-      "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-      "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud"
+      "MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
@@ -315,8 +268,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Laadige alla ilma manuseta",
     "DOWNLOAD_WITH_ATTACHMENT": "Laadige alla koos manusega",
     "LASTMESSAGE": "Viimane teade",
-    "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-    "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
     "TEAMS_ASSOCIATION": "Võistkondade liit",
     "TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
     "TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli"
diff --git a/public/app/main/apps/mail/i18n/fa.json b/public/app/main/apps/mail/i18n/fa.json
index f2c5e84..d2096ed 100644
--- a/public/app/main/apps/mail/i18n/fa.json
+++ b/public/app/main/apps/mail/i18n/fa.json
@@ -19,67 +19,24 @@
     "SEND": "فرستادن",
     "ATTACHMENT": "ضمیمه",
     "ATTACHMENTS": "لوازم ضمیمه",
-    "NAME": "نام",
     "MAILQUEUES": "صفهای طولانی پست",
     "SEARCH_FOR_ANYONE": "در جستجوی کسی",
     "STRATEGY": "استراتژي",
     "ERRORS": {
-      "TEXT_REQUIRED": "در حوزه متن لازم است.",
-      "NAME_REQUIRED": "نام لازم است.",
-      "AGENT_TIMEOUT_REQUIRED": "عامل پایان زمان لازم است.",
       "EMAIL_ADDRESS_REQUIRED": "آدرس ایمیل لازم است.",
       "EMAIL_ADDRESS_MUST_VALID": "آدرس ایمیل باید با فرمت معتبر نوشته شده است",
-      "HOST_REQUIRED": "ميزبان لازم است.",
-      "USERNAME_REQUIRED": "نام کاربری مورد نیاز است.",
       "PORT_REQUIRED": "از پورت مورد نیاز است.",
       "CONNTIMEOUT_REQUIRED": "اتصال به پایان زمان لازم است.",
       "AUTHTIMEOUT_REQUIRED": "تأیید اعتبار به پایان زمان لازم است.",
-      "ACCEPTURL_MUST_VALID_URL": "از پذیرفتن باید آدرس کامل را در یک فرمت معتبر نوشته شده است",
-      "TIMEOUT_REQUIRED": "در پایان زمان لازم است.",
-      "REJECTURL_MUST_VALID_URL": "آدرس کامل را رد كند بايد در فرمت معتبر نوشته شده است",
-      "CLOSEURL_MUST_VALID_URL": "آدرس کامل باید بسته به فرمت معتبر نوشته شده است",
-      "AGENT_REQUIRED": "عامل لازم است.",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "در پایان زمان باید بیشتر یا مساوی با",
-      "DISPOSITION_REQUIRED": "از 1626 مورد نیاز است.",
-      "CONDITION_REQUIRED": "شرط لازم است.",
-      "TRUEPRIORITY_REQUIRED": "تقدم حقيقي لازم است.",
-      "FALSEPRIORITY_REQUIRED": "به غلط اولویت لازم است.",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "اولويت واقعي را باید بیشتر یا مساوی با",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "به غلط اولویت باید بیشتر یا مساوی با",
-      "PRIORITY_REQUIRED": "اولويت لازم است.",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "اولویت باید بیشتر یا مساوی با",
-      "QUEUE_REQUIRED": "توی صف لازم است.",
-      "LIST_REQUIRED": "لیست مورد نیاز است.",
-      "PASSWORD_REQUIRED": "رمز عبور لازم است.",
       "SERVICE_REQUIRED": "سرویس لازم است.",
       "IMAP_HOST_REQUIRED": "از IMAP ميزبان لازم است.",
       "IMAP_PORT_REQUIRED": "درگاه IMAP، لازم است.",
       "SMTP_HOST_REQUIRED": "از ميزبان SMTP لازم است.",
       "SMTP_PORT_REQUIRED": "SMTP از پورت مورد نیاز است.",
       "CONFIRM_NOT_MATCH": "از دون' t مسابقه اسامی رمز",
-      "KEY_MAX_LENGTH": "کلید باید حداکثر برابر با طول حداکثر}} {{",
-      "KEY_REQUIRED": "کلید مورد نیاز است.",
-      "TEXT_MAX_LENGTH": "مقدار باید طول حداکثر {{حداکثر}} باشد",
-      "VALUE_REQUIRED": "زمینه اجباری",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "FONT_SIZE_REQUIRED": "زمینه اجباری",
-      "COMMAND_REQUIRED": "زمینه اجباری",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "NAME_MUST_VALID_PATTERN": "فرمت اشتباه",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "زمینه اجباری",
-      "TAG_REQUIRED": "زمینه اجباری",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری"
+      "FONT_SIZE_REQUIRED": "زمینه اجباری"
     },
     "AGENT_TIMEOUT": "عامل زمان مجاز",
     "DESCRIPTION": "شرح",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "اقدامات",
     "OTHERS": "ديگران",
-    "LIST": "فهرست",
     "TEMPLATE": "الگوی",
     "FIDELITY": "وفاداري",
     "SERVICE": "سرویس",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "همه تیم ها",
     "SELECTED_TEAMS": "تيم هاي برگزيده",
     "HELP": {
-      "NAME": "فقط شماره ها و حروف و نویسه های ویژه (_) پشتیبانی می شود.",
       "USERNAME": "استفاده از نام کاربری برای تأیید اعتبار",
       "PASSWORD": "رمز عبور استفاده شده برای تأیید اعتبار",
       "SECURE": "درست است كه اگر ارتباط استفاده خواهد هيچ دليل مشروعی هنگام اتصال به سرور",
       "FONT_FAMILY": "خانواده فونت پیش فرض",
       "FONT_SIZE": "اندازه فونت پیش فرض",
-      "MARK_AS_UNREAD": "فعال کردن / غیرفعال کردن عامل برای علامت گذاری به عنوان خوانده نشده آخرین پیام تعامل",
-      "MANDATORYDISPOSITION": "وضع اجباری",
-      "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن حالت اجباری ، مکث کنید"
+      "MARK_AS_UNREAD": "فعال کردن / غیرفعال کردن عامل برای علامت گذاری به عنوان خوانده نشده آخرین پیام تعامل"
     },
     "PAGE": "صفحه",
     "ROWSPERPAGE": "رديف در صفحه",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "دانلود بدون فایل پیوست",
     "DOWNLOAD_WITH_ATTACHMENTS": "با ضمیمه دانلود کنید",
     "TEAMS_ASSOCIATION": "انجمن تیم",
-    "MANDATORYDISPOSITION": "وضع اجباری",
-    "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن وضع اجباری ، مکث کنید",
     "ADVANCED": "پیشرفته",
     "TOOLTIP_SCREENRECORDING_OFF": "ضبط صفحه در دسترس است",
     "TOOLTIP_SCREENRECORDING_ON": "ضبط صفحه در حال انجام است",
diff --git a/public/app/main/apps/mail/i18n/fi.json b/public/app/main/apps/mail/i18n/fi.json
index 0878202..5d1ddcd 100644
--- a/public/app/main/apps/mail/i18n/fi.json
+++ b/public/app/main/apps/mail/i18n/fi.json
@@ -19,67 +19,24 @@
     "SEND": "Lähetä",
     "ATTACHMENT": "Kiinnitys",
     "ATTACHMENTS": "Lisävarusteet",
-    "NAME": "Nimi",
     "MAILQUEUES": "Postin jonot",
     "SEARCH_FOR_ANYONE": "Etsi joku",
     "STRATEGY": "Strategia",
     "ERRORS": {
-      "TEXT_REQUIRED": "Kenttä on pakollinen",
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "AGENT_TIMEOUT_REQUIRED": "Asiakaspalvelijan aikakatkaisu on pakollinen",
       "EMAIL_ADDRESS_REQUIRED": "Sähköpostiosoite on pakollinen",
       "EMAIL_ADDRESS_MUST_VALID": "Sähköpostiosoite on kirjoitettava kelvollisessa muodossa",
-      "HOST_REQUIRED": "Isäntä ei tarvita",
-      "USERNAME_REQUIRED": "Käyttäjätunnus on pakollinen",
       "PORT_REQUIRED": "Portti ei tarvita",
       "CONNTIMEOUT_REQUIRED": "Yhteyden aikakatkaisu on pakollinen",
       "AUTHTIMEOUT_REQUIRED": "Laillisuustarkistuksen aikakatkaisu on pakollinen",
-      "ACCEPTURL_MUST_VALID_URL": "Hyväksy URL on kirjoitettava kelvollisessa muodossa",
-      "TIMEOUT_REQUIRED": "Aikakatkaisujakso on pakollinen",
-      "REJECTURL_MUST_VALID_URL": "Hylätyt URL on kirjoitettava kelvollisessa muodossa",
-      "CLOSEURL_MUST_VALID_URL": "Sulje URL on kirjoitettava kelvollisessa muodossa",
-      "AGENT_REQUIRED": "Agentti on pakollinen",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Timeout on oltava suurempi tai yhtä suuri kuin",
-      "DISPOSITION_REQUIRED": "Jatkokäsittely on pakollinen",
-      "CONDITION_REQUIRED": "Kunto on pakollinen",
-      "TRUEPRIORITY_REQUIRED": "Todellinen prioriteetti on pakollinen",
-      "FALSEPRIORITY_REQUIRED": "Väärät prioriteetti on pakollinen",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Todellinen prioriteetti on suurempi tai yhtä suuri kuin",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärät ensisijaisena tavoitteena on oltava suurempi tai yhtä suuri kuin",
-      "PRIORITY_REQUIRED": "Etusijalla on pakollinen",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioriteetti on oltava suurempi tai yhtä suuri kuin",
-      "QUEUE_REQUIRED": "Jono on pakollinen",
-      "LIST_REQUIRED": "Lista on pakollinen",
-      "PASSWORD_REQUIRED": "Salasana on pakollinen",
       "SERVICE_REQUIRED": "Huolto on tarpeen",
       "IMAP_HOST_REQUIRED": "IMAP palvelimeen ei tarvita",
       "IMAP_PORT_REQUIRED": "IMAP-portti ei tarvita",
       "SMTP_HOST_REQUIRED": "SMTP-palvelin ei tarvita",
       "SMTP_PORT_REQUIRED": "SMTP-porttiin ei tarvita",
       "CONFIRM_NOT_MATCH": "Salasana ei vastaa t",
-      "KEY_MAX_LENGTH": "Avain on enintään yhtä suuri kuin {{max}}",
-      "KEY_REQUIRED": "Avainta ei tarvita",
-      "TEXT_MAX_LENGTH": "Arvon enimmäispituus on {{max}}",
-      "VALUE_REQUIRED": "Pakollinen kenttä",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "FONT_SIZE_REQUIRED": "Pakollinen kenttä",
-      "COMMAND_REQUIRED": "Pakollinen kenttä",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "NAME_MUST_VALID_PATTERN": "Väärä formaatti",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pakollinen kenttä",
-      "TAG_REQUIRED": "Pakollinen kenttä",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä"
+      "FONT_SIZE_REQUIRED": "Pakollinen kenttä"
     },
     "AGENT_TIMEOUT": "Agentti aikakatkaisu",
     "DESCRIPTION": "Kuvaus",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Toimet",
     "OTHERS": "Muut",
-    "LIST": "Luettelo",
     "TEMPLATE": "Malli",
     "FIDELITY": "Epätarkkaan äänentoistoon",
     "SERVICE": "Palvelu",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Kaikki joukkueet",
     "SELECTED_TEAMS": "Valittu työryhmille",
     "HELP": {
-      "NAME": "Vain numeroita, kirjaimia ja erikoismerkkejä (._ tuetaan",
       "USERNAME": "Käyttäjätunnus todennukseen käytettävä",
       "PASSWORD": "Salasana todennukseen käytettävä",
       "SECURE": "Jos tosi, käytä TLS, kun muodostat yhteyden palvelimeen",
       "FONT_FAMILY": "Oletusfonttiperhe",
       "FONT_SIZE": "Oletusfonttikoko",
-      "MARK_AS_UNREAD": "Ota agentti käyttöön tai poista se merkitsemästä lukemattomaksi viimeisen vuorovaikutuksen viestin",
-      "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-      "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, kun pakollinen sijoittaminen on käytössä"
+      "MARK_AS_UNREAD": "Ota agentti käyttöön tai poista se merkitsemästä lukemattomaksi viimeisen vuorovaikutuksen viestin"
     },
     "PAGE": "Sivu",
     "ROWSPERPAGE": "Riviä sivulle",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Lataa ilman liitteitä",
     "DOWNLOAD_WITH_ATTACHMENTS": "Lataa liitteillä",
     "TEAMS_ASSOCIATION": "Joukkueiden yhdistys",
-    "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-    "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, jos pakollinen sijoittaminen on käytössä",
     "ADVANCED": "Pitkälle kehittynyt",
     "TOOLTIP_SCREENRECORDING_OFF": "Näytön tallennus saatavilla",
     "TOOLTIP_SCREENRECORDING_ON": "Näytön nauhoitus käynnissä",
diff --git a/public/app/main/apps/mail/i18n/fr.json b/public/app/main/apps/mail/i18n/fr.json
index d83ec15..37a9b12 100644
--- a/public/app/main/apps/mail/i18n/fr.json
+++ b/public/app/main/apps/mail/i18n/fr.json
@@ -19,67 +19,24 @@
     "SEND": "Envoyer",
     "ATTACHMENT": "Pièce jointe",
     "ATTACHMENTS": "Pièces jointes",
-    "NAME": "Nom",
     "MAILQUEUES": "Files d'attente Email",
     "SEARCH_FOR_ANYONE": "Recherche n'importe quel champs",
     "STRATEGY": "Stratégie",
     "ERRORS": {
-      "TEXT_REQUIRED": "Vous devez saisir du texte",
-      "NAME_REQUIRED": "Nom obligatoire",
-      "AGENT_TIMEOUT_REQUIRED": "Valeur requise",
       "EMAIL_ADDRESS_REQUIRED": "Email requis",
       "EMAIL_ADDRESS_MUST_VALID": "le format de l'adresse email est invalide",
-      "HOST_REQUIRED": "Host obligatoire",
-      "USERNAME_REQUIRED": "Un nom d'utilisateur est obligatoire",
       "PORT_REQUIRED": "Port requis",
       "CONNTIMEOUT_REQUIRED": "Délai de connexion requis",
       "AUTHTIMEOUT_REQUIRED": "Délai d'authentification requis",
-      "ACCEPTURL_MUST_VALID_URL": "Le format de l'URL est invalide",
-      "TIMEOUT_REQUIRED": "Valeur requise",
-      "REJECTURL_MUST_VALID_URL": "Le format de l'URL est invalide",
-      "CLOSEURL_MUST_VALID_URL": "Le format de l'URL est invalide",
-      "AGENT_REQUIRED": "Agent requis",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Le délai doit être supérieure ou égal à",
-      "DISPOSITION_REQUIRED": "Disposition requise",
-      "CONDITION_REQUIRED": "Etat requis",
-      "TRUEPRIORITY_REQUIRED": "Valeur requise",
-      "FALSEPRIORITY_REQUIRED": "Valeur requise",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La priorité doit être supérieure ou égale à",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La priorité doit être supérieure ou égale à",
-      "PRIORITY_REQUIRED": "Priorité requise",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La priorité doit être supérieure ou égale à",
-      "QUEUE_REQUIRED": "File d'attente requis",
-      "LIST_REQUIRED": "Liste requis",
-      "PASSWORD_REQUIRED": "Mot de passe requis",
       "SERVICE_REQUIRED": "Service requis",
       "IMAP_HOST_REQUIRED": "IMAP requis",
       "IMAP_PORT_REQUIRED": "Port IMAP requis",
       "SMTP_HOST_REQUIRED": "Host SMTP requis",
       "SMTP_PORT_REQUIRED": "Port SMTP requis",
       "CONFIRM_NOT_MATCH": "Les mots de passe ne correspondent pas",
-      "KEY_MAX_LENGTH": "La Clé doit avoir une longueur maximale égale à {{max}}",
-      "KEY_REQUIRED": "Clé requise",
-      "TEXT_MAX_LENGTH": "Text trop long. Longueur maximale : {{max}}",
-      "VALUE_REQUIRED": "Champ obligatoire",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La taille doit être supérieure ou égale à",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La taille doit être inférieure ou égale à",
-      "FONT_SIZE_REQUIRED": "Champ obligatoire",
-      "COMMAND_REQUIRED": "Champ obligatoire",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "NAME_MUST_VALID_PATTERN": "Mauvais format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Champ obligatoire",
-      "TAG_REQUIRED": "Champ obligatoire",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire"
+      "FONT_SIZE_REQUIRED": "Champ obligatoire"
     },
     "AGENT_TIMEOUT": "Temps dépassé",
     "DESCRIPTION": "Description",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
     "OTHERS": "Autres",
-    "LIST": "Liste",
     "TEMPLATE": "Modèle",
     "FIDELITY": "Fidelity",
     "SERVICE": "Fournisseur:",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Toutes les équipes",
     "SELECTED_TEAMS": "Les équipes sélectionnées",
     "HELP": {
-      "NAME": "Seulement les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
       "USERNAME": "identifiant utilisé pour l'authentification",
       "PASSWORD": "Mot de passe utilisé pour l'authentification",
       "SECURE": "Vrai si la connexion utilise TLS lorsque la connexion au serveur",
       "FONT_FAMILY": "Police",
       "FONT_SIZE": "Taille de la police par défaut",
-      "MARK_AS_UNREAD": "Activer / Désactiver l'agent pour marquer comme non lu le dernier message d'une interaction",
-      "MANDATORYDISPOSITION": "Disposition obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause à utiliser lorsque la disposition obligatoire est activée"
+      "MARK_AS_UNREAD": "Activer / Désactiver l'agent pour marquer comme non lu le dernier message d'une interaction"
     },
     "PAGE": "page",
     "ROWSPERPAGE": "Nb lignes par page",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Télécharger sans pièces jointes",
     "DOWNLOAD_WITH_ATTACHMENTS": "Télécharger avec les pièces jointes",
     "TEAMS_ASSOCIATION": "Association des équipes",
-    "MANDATORYDISPOSITION": "Disposition obligatoire",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause à utiliser si la disposition obligatoire est activée",
     "ADVANCED": "Avancée",
     "TOOLTIP_SCREENRECORDING_OFF": "Enregistrement d'écran disponible",
     "TOOLTIP_SCREENRECORDING_ON": "Enregistrement d'écran en cours",
diff --git a/public/app/main/apps/mail/i18n/he.json b/public/app/main/apps/mail/i18n/he.json
index 5e8a8af..841dba3 100644
--- a/public/app/main/apps/mail/i18n/he.json
+++ b/public/app/main/apps/mail/i18n/he.json
@@ -113,67 +113,24 @@
     "SEND": "שלח",
     "ATTACHMENT": "קובץ מצורף",
     "ATTACHMENTS": "קבצים מצורפים",
-    "NAME": "שם",
     "MAILQUEUES": "תורי דוא\"ל",
     "SEARCH_FOR_ANYONE": "חיפוש",
     "STRATEGY": "אסטרטגיה",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "TAG_REQUIRED": "שדה חובה",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "NAME_MUST_VALID_PATTERN": "תבנית שגויה",
-      "COMMAND_REQUIRED": "שדה חובה",
       "FONT_SIZE_REQUIRED": "שדה חובה",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}",
-      "VALUE_REQUIRED": "שדה חובה",
-      "TEXT_REQUIRED": "שדה חובה",
-      "NAME_REQUIRED": "שדה חובה",
-      "AGENT_TIMEOUT_REQUIRED": "שדה חובה",
       "EMAIL_ADDRESS_REQUIRED": "שדה חובה",
       "EMAIL_ADDRESS_MUST_VALID": "תבנית שגויה",
-      "HOST_REQUIRED": "שדה חובה",
-      "USERNAME_REQUIRED": "שדה חובה",
       "PORT_REQUIRED": "שדה חובה",
       "CONNTIMEOUT_REQUIRED": "שדה חובה",
       "AUTHTIMEOUT_REQUIRED": "שדה חובה",
-      "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה",
-      "TIMEOUT_REQUIRED": "שדה חובה",
-      "REJECTURL_MUST_VALID_URL": "תבנית שגויה",
-      "CLOSEURL_MUST_VALID_URL": "תבנית שגויה",
-      "AGENT_REQUIRED": "שדה חובה",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "DISPOSITION_REQUIRED": "שדה חובה",
-      "CONDITION_REQUIRED": "שדה חובה",
-      "TRUEPRIORITY_REQUIRED": "שדה חובה",
-      "FALSEPRIORITY_REQUIRED": "שדה חובה",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "PRIORITY_REQUIRED": "שדה חובה",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "QUEUE_REQUIRED": "שדה חובה",
-      "LIST_REQUIRED": "שדה חובה",
-      "PASSWORD_REQUIRED": "שדה חובה",
       "SERVICE_REQUIRED": "שדה חובה",
       "IMAP_HOST_REQUIRED": "שדה חובה",
       "IMAP_PORT_REQUIRED": "שדה חובה",
       "SMTP_HOST_REQUIRED": "שדה חובה",
       "SMTP_PORT_REQUIRED": "שדה חובה",
-      "CONFIRM_NOT_MATCH": "אין התאמה בין הסיסמאות שהוזנו",
-      "KEY_MAX_LENGTH": "האורך המרבי המותר של מפתח הוא {{max}}",
-      "KEY_REQUIRED": "שדה חובה",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה"
+      "CONFIRM_NOT_MATCH": "אין התאמה בין הסיסמאות שהוזנו"
     },
     "AGENT_TIMEOUT": "סוף זמן קצוב לנציג",
     "DESCRIPTION": "תיאור",
@@ -192,7 +149,6 @@
     "WEBHOOKS": "רכיבי WebHook",
     "ACTIONS": "פעולות",
     "OTHERS": "אחרים",
-    "LIST": "רשימה",
     "TEMPLATE": "תבנית",
     "FIDELITY": "מהימנות",
     "SERVICE": "שירות",
@@ -243,13 +199,10 @@
     "HELP": {
       "FONT_FAMILY": "ברירת מחדל של משפחת גופנים",
       "FONT_SIZE": "גודל ברירת מחדל של גופנים",
-      "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)",
       "USERNAME": "האימות מבוסס על שם משתמש",
       "PASSWORD": "האימות מבוסס על סיסמה",
       "SECURE": "אם כן, החיבור לשרת יתבסס על TLS",
-      "MARK_AS_UNREAD": "הפעל/השבת נציג כדי לסמן כ'לא נקרא' את ההודעה האחרונה באינטראקציה",
-      "MANDATORYDISPOSITION": "סיכום",
-      "MANDATORYDISPOSITIONPAUSEID": "השהה שימוש כאשר הסיכום מופעל"
+      "MARK_AS_UNREAD": "הפעל/השבת נציג כדי לסמן כ'לא נקרא' את ההודעה האחרונה באינטראקציה"
     },
     "PAGE": "דף",
     "ROWSPERPAGE": "שורות בדף",
@@ -312,8 +265,6 @@
     "DELETE_INTERACTION": "מחק אינטראקציה",
     "AGENTADD_MAILACCOUNT": "הוסף נציג לחשבון הדוא\"ל",
     "TEAMS_ASSOCIATION": "איגוד הצוותים",
-    "MANDATORYDISPOSITION": "סיכום",
-    "MANDATORYDISPOSITIONPAUSEID": "השהה שימוש כשהסיכום מופעל",
     "ADVANCED": "מתקדם",
     "TOOLTIP_SCREENRECORDING_OFF": "הקלטת מסך זמינה",
     "TOOLTIP_SCREENRECORDING_ON": "הקלטת מסך מתבצעת",
diff --git a/public/app/main/apps/mail/i18n/hi.json b/public/app/main/apps/mail/i18n/hi.json
index 2823514..c2b135b 100644
--- a/public/app/main/apps/mail/i18n/hi.json
+++ b/public/app/main/apps/mail/i18n/hi.json
@@ -19,67 +19,24 @@
     "SEND": "भेजें",
     "ATTACHMENT": "लगाव",
     "ATTACHMENTS": "अनुलग्नक",
-    "NAME": "नाम",
     "MAILQUEUES": "मेल कतार",
     "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
     "STRATEGY": "रणनीति",
     "ERRORS": {
-      "TEXT_REQUIRED": "पाठ फ़ील्ड को अपेक्षित है।",
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "AGENT_TIMEOUT_REQUIRED": "एजेंट समयबाह्य अपेक्षित है।",
       "EMAIL_ADDRESS_REQUIRED": "ईमेल पते की आवश्यकता है।",
       "EMAIL_ADDRESS_MUST_VALID": "ईमेल पते को मान्य स्वरूप में लिखा होना",
-      "HOST_REQUIRED": "मेजबान की आवश्यकता है।",
-      "USERNAME_REQUIRED": "उपयोगकर्ता नाम की आवश्यकता है।",
       "PORT_REQUIRED": "इस पत्तन पर अपेक्षित है।",
       "CONNTIMEOUT_REQUIRED": "कनेक्शन समयबाह्य अपेक्षित है।",
       "AUTHTIMEOUT_REQUIRED": "समयबाह्य प्रमाणीकरण की आवश्यकता है।",
-      "ACCEPTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को स्वीकार करें",
-      "TIMEOUT_REQUIRED": "इस समय की आवश्यकता है।",
-      "REJECTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को अस्वीकार करें",
-      "CLOSEURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL के निकट",
-      "AGENT_REQUIRED": "एजेंट अपेक्षित है।",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "टाइमआउट के समान या से अधिक होनी चाहिए.",
-      "DISPOSITION_REQUIRED": "शेयरोंका अन्तरण की आवश्यकता है।",
-      "CONDITION_REQUIRED": "की स्थिति की आवश्यकता है।",
-      "TRUEPRIORITY_REQUIRED": "यह सच प्राथमिकता की आवश्यकता है।",
-      "FALSEPRIORITY_REQUIRED": "झूठे प्राथमिकता की आवश्यकता है।",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "यह सच प्राथमिकता से अधिक होना चाहिए या के बराबर",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "झूठे प्राथमिकता से अधिक होना चाहिए या के बराबर",
-      "PRIORITY_REQUIRED": "प्राथमिकता की आवश्यकता है।",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "प्राथमिकता से अधिक होना चाहिए या के बराबर",
-      "QUEUE_REQUIRED": "लोकतंत्रमें अपेक्षित है।",
-      "LIST_REQUIRED": "इस सूची में अपेक्षित है।",
-      "PASSWORD_REQUIRED": "पासवर्ड की आवश्यकता है।",
       "SERVICE_REQUIRED": "इस सेवा की आवश्यकता है।",
       "IMAP_HOST_REQUIRED": "IMAP होस्ट अपेक्षित है।",
       "IMAP_PORT_REQUIRED": "IMAP पत्तन की आवश्यकता है।",
       "SMTP_HOST_REQUIRED": "SMTP की मेजबानी की आवश्यकता है।",
       "SMTP_PORT_REQUIRED": "इस पत्तन SMTP अपेक्षित है।",
       "CONFIRM_NOT_MATCH": "पासवर्ड मेल नहीं है।' '",
-      "KEY_MAX_LENGTH": "कुंजी को एक समान सूबेदार सुरिन९दर सिनह को अधिकतम}{} अधिकतम लंबाई",
-      "KEY_REQUIRED": "कुंजी की आवश्यकता है।",
-      "TEXT_MAX_LENGTH": "मान {{अधिकतम}} के बराबर अधिकतम लंबाई होना चाहिए",
-      "VALUE_REQUIRED": "आवश्यक स्थान",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान को या उसके बराबर होना चाहिए",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान से कम या बराबर होना चाहिए",
-      "FONT_SIZE_REQUIRED": "आवश्यक स्थान",
-      "COMMAND_REQUIRED": "आवश्यक स्थान",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "NAME_MUST_VALID_PATTERN": "गलत प्रारूप",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "आवश्यक स्थान",
-      "TAG_REQUIRED": "आवश्यक स्थान",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान"
+      "FONT_SIZE_REQUIRED": "आवश्यक स्थान"
     },
     "AGENT_TIMEOUT": "एजेंट समयबाह्य",
     "DESCRIPTION": "वर्णन",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "क्रियाएं",
     "OTHERS": "अन्य",
-    "LIST": "की सूची",
     "TEMPLATE": "टेम्पलेट",
     "FIDELITY": "वास्तविक",
     "SERVICE": "सेवा के",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "सभी टीमें भाग लेंगी।",
     "SELECTED_TEAMS": "चयनित टीम",
     "HELP": {
-      "NAME": "केवल विशिष्ट वर्ण (।_) और नंबर्स, समर्थित",
       "USERNAME": "उपयोगकर्ता प्रमाणीकरण के लिए प्रयुक्त",
       "PASSWORD": "पासवर्ड का प्रयोग करने के लिए प्रमाणीकरण",
       "SECURE": "यदि TLS कनेक् शन का प्रयोग करेंगे जब सर्वर से कनेक्ट करने में सही",
       "FONT_FAMILY": "डिफ़ॉल्ट फ़ॉन्ट परिवार",
       "FONT_SIZE": "डिफ़ॉल्ट फ़ॉन्ट आकार",
-      "MARK_AS_UNREAD": "किसी संवाद के अंतिम संदेश को अनरेड के रूप में चिह्नित करने के लिए सक्षम / अक्षम एजेंट सक्षम करें",
-      "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-      "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्वभाव सक्षम होने पर उपयोग करने के लिए रुकें"
+      "MARK_AS_UNREAD": "किसी संवाद के अंतिम संदेश को अनरेड के रूप में चिह्नित करने के लिए सक्षम / अक्षम एजेंट सक्षम करें"
     },
     "PAGE": "पृष्ठ",
     "ROWSPERPAGE": "पंक्तियां प्रति पृष्ठ",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "अनुलग्नकों के बिना डाउनलोड करें",
     "DOWNLOAD_WITH_ATTACHMENTS": "अनुलग्नकों के साथ डाउनलोड करें",
     "TEAMS_ASSOCIATION": "टीमों एसोसिएशन",
-    "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-    "MANDATORYDISPOSITIONPAUSEID": "यदि अनिवार्य स्वभाव सक्षम है, तो उपयोग करने के लिए रुकें",
     "ADVANCED": "उन्नत",
     "TOOLTIP_SCREENRECORDING_OFF": "स्क्रीन रिकॉर्डिंग उपलब्ध है",
     "TOOLTIP_SCREENRECORDING_ON": "स्क्रीन रिकॉर्डिंग प्रगति पर है",
diff --git a/public/app/main/apps/mail/i18n/id.json b/public/app/main/apps/mail/i18n/id.json
index e0795d0..b6d59cf 100644
--- a/public/app/main/apps/mail/i18n/id.json
+++ b/public/app/main/apps/mail/i18n/id.json
@@ -1,73 +1,28 @@
 {
   "MAIL": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "Format yang salah",
-      "AGENT_REQUIRED": "Bidang wajib",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "AGENT_TIMEOUT_REQUIRED": "Bidang wajib",
       "AUTHTIMEOUT_REQUIRED": "Bidang wajib",
-      "CLOSEURL_MUST_VALID_URL": "Format yang salah",
-      "COMMAND_REQUIRED": "Bidang wajib",
-      "CONDITION_REQUIRED": "Bidang wajib",
       "CONFIRM_NOT_MATCH": "Kata sandi yang dimasukkan tidak cocok",
       "CONNTIMEOUT_REQUIRED": "Bidang wajib",
-      "DISPOSITION_REQUIRED": "Bidang wajib",
       "EMAIL_ADDRESS_MUST_VALID": "Format yang salah",
       "EMAIL_ADDRESS_REQUIRED": "Bidang wajib",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "FALSEPRIORITY_REQUIRED": "Bidang wajib",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
       "FONT_SIZE_REQUIRED": "Bidang wajib",
-      "HOST_REQUIRED": "Bidang wajib",
       "IMAP_HOST_REQUIRED": "Bidang wajib",
       "IMAP_PORT_REQUIRED": "Bidang wajib",
-      "KEY_MAX_LENGTH": "Kunci harus memiliki panjang maksimum sama dengan {{max}}",
-      "KEY_REQUIRED": "Bidang wajib",
-      "LIST_REQUIRED": "Bidang wajib",
-      "NAME_MUST_VALID_PATTERN": "Format yang salah",
-      "NAME_REQUIRED": "Bidang wajib",
-      "PASSWORD_REQUIRED": "Bidang wajib",
       "PORT_REQUIRED": "Bidang wajib",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "PRIORITY_REQUIRED": "Bidang wajib",
-      "QUEUE_REQUIRED": "Bidang wajib",
-      "REJECTURL_MUST_VALID_URL": "Format yang salah",
       "SERVICE_REQUIRED": "Bidang wajib",
       "SMTP_HOST_REQUIRED": "Bidang wajib",
-      "SMTP_PORT_REQUIRED": "Bidang wajib",
-      "TAG_REQUIRED": "Bidang wajib",
-      "TEXT_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
-      "TEXT_REQUIRED": "Bidang wajib",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "TIMEOUT_REQUIRED": "Bidang wajib",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "TRUEPRIORITY_REQUIRED": "Bidang wajib",
-      "USERNAME_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Bidang wajib",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib"
+      "SMTP_PORT_REQUIRED": "Bidang wajib"
     },
     "HELP": {
       "FONT_FAMILY": "Keluarga Font Default",
       "FONT_SIZE": "Ukuran Font Default",
       "MARK_AS_UNREAD": "Aktifkan / Nonaktifkan agen untuk menandai sebagai belum dibaca pesan terakhir dari suatu interaksi",
-      "NAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
       "PASSWORD": "Kata sandi digunakan untuk otentikasi",
       "SECURE": "Jika benar, koneksi akan menggunakan TLS saat menghubungkan ke server",
-      "USERNAME": "Nama pengguna digunakan untuk otentikasi",
-      "MANDATORYDISPOSITION": "Disposisi wajib",
-      "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan ketika disposisi wajib diaktifkan"
+      "USERNAME": "Nama pengguna digunakan untuk otentikasi"
     },
     "ACCEPT": "Menerima",
     "ACCEPTED": "Diterima",
@@ -178,7 +133,6 @@
     "IN_USE": "Digunakan",
     "KEEPALIVE": "Berusaha agar hidup",
     "KEY": "Kunci",
-    "LIST": "Daftar",
     "LOGGED_IN": "Masuk",
     "LOGOUT": "Keluar",
     "MAIL": "E-mail",
@@ -188,7 +142,6 @@
     "MAILQUEUES": "Antrean Email",
     "MAILSUBSTATUSES": "Status Sub Email",
     "MARK_AS_UNREAD": "tandai sebagai Belum dibaca",
-    "NAME": "Nama",
     "NEVER_VERIFIED": "Belum Diverifikasi",
     "NEW_MAILACCOUNT": "Akun Email Baru",
     "NEW_MAILCANNEDANSWER": "Jawaban Kalengan Baru",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Unduh tanpa lampiran",
     "DOWNLOAD_WITH_ATTACHMENTS": "Unduh dengan lampiran",
     "TEAMS_ASSOCIATION": "Asosiasi Tim",
-    "MANDATORYDISPOSITION": "Disposisi wajib",
-    "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan jika disposisi wajib diaktifkan",
     "ADVANCED": "Maju",
     "TOOLTIP_SCREENRECORDING_OFF": "Rekaman Layar tersedia",
     "TOOLTIP_SCREENRECORDING_ON": "Perekaman Layar sedang berlangsung",
diff --git a/public/app/main/apps/mail/i18n/it.json b/public/app/main/apps/mail/i18n/it.json
index dcdc08b..76c4611 100644
--- a/public/app/main/apps/mail/i18n/it.json
+++ b/public/app/main/apps/mail/i18n/it.json
@@ -106,67 +106,24 @@
     "SEND": "Invia",
     "ATTACHMENT": "Allegato",
     "ATTACHMENTS": "Allegati",
-    "NAME": "Nome",
     "MAILQUEUES": "Code Email",
     "SEARCH_FOR_ANYONE": "Cerca",
     "STRATEGY": "Strategia",
     "ERRORS": {
-      "TAG_REQUIRED": "Campo obbligatorio",
-      "COMMAND_REQUIRED": "Campo obbligatorio",
       "FONT_SIZE_REQUIRED": "Campo obbligatorio",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "TEXT_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
-      "VALUE_REQUIRED": "Campo obbligatorio",
-      "TEXT_REQUIRED": "Campo obbligatorio",
-      "NAME_REQUIRED": "Campo obbligatorio",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obbligatorio",
       "EMAIL_ADDRESS_REQUIRED": "Campo obbligatorio",
       "EMAIL_ADDRESS_MUST_VALID": "Il campo deve avere un formato valido",
-      "HOST_REQUIRED": "Campo obbligatorio",
-      "USERNAME_REQUIRED": "Campo obbligatorio",
       "PORT_REQUIRED": "Campo obbligatorio",
       "CONNTIMEOUT_REQUIRED": "Campo obbligatorio",
       "AUTHTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "ACCEPTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "TIMEOUT_REQUIRED": "Il Timeout è richiesto",
-      "REJECTURL_MUST_VALID_URL": "L'URL Rifiuta deve essere in un formato valido",
-      "CLOSEURL_MUST_VALID_URL": "L'URL Chiudi deve essere in un formato valido",
-      "AGENT_REQUIRED": "L' Agente è richiesto",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il Timeout deve essere maggiore o uguale a",
-      "DISPOSITION_REQUIRED": "L' Esito è richiesto",
-      "CONDITION_REQUIRED": "La condizione è richiesta",
-      "TRUEPRIORITY_REQUIRED": "La Priorità per condizione vera è richiesta",
-      "FALSEPRIORITY_REQUIRED": "La Priorità per condizione falsa è richiesta",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità per condizione vera deve essere maggiore o uguale a",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità per condizione falsa deve essere maggiore o uguale a",
-      "PRIORITY_REQUIRED": "Le Priorità è richiesta",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità deve essere maggiore o uguale a",
-      "QUEUE_REQUIRED": "La Coda è richiesta",
-      "LIST_REQUIRED": "La Lista è richiesta",
-      "PASSWORD_REQUIRED": "La Password è richiesta",
       "SERVICE_REQUIRED": "Il Servizio è richiesto",
       "IMAP_HOST_REQUIRED": "L'Host IMAP è richiesto",
       "IMAP_PORT_REQUIRED": "La Porta IMAP è richiesta",
       "SMTP_HOST_REQUIRED": "L'Host SMTP è richiesto",
       "SMTP_PORT_REQUIRED": "La Porta SMTP è richiesta",
-      "CONFIRM_NOT_MATCH": "Le Password non coincidono",
-      "KEY_MAX_LENGTH": "La Chiave non deve essere più lunga di {{max}} caratteri",
-      "KEY_REQUIRED": "La Chiave è richiesta",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "NAME_MUST_VALID_PATTERN": "Formato errato",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obbligatorio",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio"
+      "CONFIRM_NOT_MATCH": "Le Password non coincidono"
     },
     "AGENT_TIMEOUT": "Timeout Agente",
     "DESCRIPTION": "Descrizione",
@@ -185,7 +142,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Azioni",
     "OTHERS": "Altro",
-    "LIST": "Lista",
     "TEMPLATE": "Template",
     "FIDELITY": "Fidelity",
     "SERVICE": "Servizio",
@@ -236,13 +192,10 @@
     "HELP": {
       "FONT_FAMILY": "Famiglia dei caratteri di default",
       "FONT_SIZE": "Dimensione dei caratteri di default",
-      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
       "USERNAME": "Username usato per l'autenticazione",
       "PASSWORD": "Password usata per l'autenticazione",
       "SECURE": "Se attivo, la coonessione al server verrà effettuata usando il protocollo TLS",
-      "MARK_AS_UNREAD": "Abilita/Disabilita l'agente a segnare come non letto l'ultimo messaggio di un'interazione",
-      "MANDATORYDISPOSITION": "Disposizione obbligatoria",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare quando è abilitata la disposizione obbligatoria"
+      "MARK_AS_UNREAD": "Abilita/Disabilita l'agente a segnare come non letto l'ultimo messaggio di un'interazione"
     },
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Righe per pagina",
@@ -314,8 +267,6 @@
     "TRANSFER": "Trasferimento",
     "AGENTADD_MAILACCOUNT": "Aggiungi Agente ad account Email",
     "TEAMS_ASSOCIATION": "Associazione Teams",
-    "MANDATORYDISPOSITION": "Disposizione obbligatoria",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare se è abilitata la disposizione obbligatoria",
     "TOOLTIP_SCREENRECORDING_OFF": "Registrazione dello schermo disponibile",
     "TOOLTIP_SCREENRECORDING_ON": "Registrazione dello schermo in corso",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Scarica senza allegato",
diff --git a/public/app/main/apps/mail/i18n/ja.json b/public/app/main/apps/mail/i18n/ja.json
index 9ec91f6..006a80e 100644
--- a/public/app/main/apps/mail/i18n/ja.json
+++ b/public/app/main/apps/mail/i18n/ja.json
@@ -1,73 +1,28 @@
 {
   "MAIL": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "間違ったフォーマット",
-      "AGENT_REQUIRED": "必須フィールド",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "AGENT_TIMEOUT_REQUIRED": "必須フィールド",
       "AUTHTIMEOUT_REQUIRED": "必須フィールド",
-      "CLOSEURL_MUST_VALID_URL": "間違ったフォーマット",
-      "COMMAND_REQUIRED": "必須フィールド",
-      "CONDITION_REQUIRED": "必須フィールド",
       "CONFIRM_NOT_MATCH": "パスワードが一致しません",
       "CONNTIMEOUT_REQUIRED": "必須フィールド",
-      "DISPOSITION_REQUIRED": "必須フィールド",
       "EMAIL_ADDRESS_MUST_VALID": "間違ったフォーマット",
       "EMAIL_ADDRESS_REQUIRED": "必須フィールド",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "FALSEPRIORITY_REQUIRED": "必須フィールド",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
       "FONT_SIZE_REQUIRED": "必須フィールド",
-      "HOST_REQUIRED": "必須フィールド",
       "IMAP_HOST_REQUIRED": "必須フィールド",
       "IMAP_PORT_REQUIRED": "必須フィールド",
-      "KEY_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
-      "KEY_REQUIRED": "必須フィールド",
-      "LIST_REQUIRED": "必須フィールド",
-      "NAME_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "NAME_REQUIRED": "必須フィールド",
-      "PASSWORD_REQUIRED": "必須フィールド",
       "PORT_REQUIRED": "必須フィールド",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "PRIORITY_REQUIRED": "必須フィールド",
-      "QUEUE_REQUIRED": "必須フィールド",
-      "REJECTURL_MUST_VALID_URL": "間違ったフォーマット",
       "SERVICE_REQUIRED": "必須フィールド",
       "SMTP_HOST_REQUIRED": "必須フィールド",
-      "SMTP_PORT_REQUIRED": "必須フィールド",
-      "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
-      "TEXT_REQUIRED": "必須フィールド",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "TIMEOUT_REQUIRED": "必須フィールド",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "TRUEPRIORITY_REQUIRED": "必須フィールド",
-      "USERNAME_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必須フィールド",
-      "TAG_REQUIRED": "必須フィールド",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド"
+      "SMTP_PORT_REQUIRED": "必須フィールド"
     },
     "HELP": {
       "FONT_FAMILY": "デフォルトフォントファミリ",
       "FONT_SIZE": "デフォルトフォントサイズ",
       "MARK_AS_UNREAD": "エージェントを有効/無効にしてインタラクションの最後のメッセージを未読にマークします",
-      "NAME": "数字、文字、および特定の文字（._）のみがサポートされています",
       "PASSWORD": "認証に使用されるパスワード",
       "SECURE": "trueの場合、接続はサーバーに接続するときにTLSを使用します",
-      "USERNAME": "認証に使用されるユーザー名",
-      "MANDATORYDISPOSITION": "強制処分",
-      "MANDATORYDISPOSITIONPAUSEID": "強制処分が有効になっているときに使用する一時停止"
+      "USERNAME": "認証に使用されるユーザー名"
     },
     "ACCEPT": "同意する",
     "ACCEPTED": "受け入れられました",
@@ -177,7 +132,6 @@
     "IN_USE": "使用中",
     "KEEPALIVE": "キープアライブ",
     "KEY": "キー",
-    "LIST": "リスト",
     "LOGGED_IN": "ログイン中",
     "LOGOUT": "ログアウト",
     "MAIL": "メール",
@@ -187,7 +141,6 @@
     "MAILQUEUES": "メールキュー",
     "MAILSUBSTATUSES": "メールサブステータス",
     "MARK_AS_UNREAD": "未読にマークする",
-    "NAME": "名前",
     "NEVER_VERIFIED": "確認されません",
     "NEW_MAILACCOUNT": "新規メールアカウント",
     "NEW_MAILCANNEDANSWER": "新規定型文",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "添付ファイルなしでダウンロードする",
     "DOWNLOAD_WITH_ATTACHMENTS": "添付ファイル付きでダウンロード",
     "TEAMS_ASSOCIATION": "チーム協会",
-    "MANDATORYDISPOSITION": "強制処分",
-    "MANDATORYDISPOSITIONPAUSEID": "強制処分が有効になっている場合に使用する一時停止",
     "ADVANCED": "高度な",
     "TOOLTIP_SCREENRECORDING_OFF": "利用可能なスクリーン録画",
     "TOOLTIP_SCREENRECORDING_ON": "スクリーン録画中",
diff --git a/public/app/main/apps/mail/i18n/ko.json b/public/app/main/apps/mail/i18n/ko.json
index e6f6214..9014578 100644
--- a/public/app/main/apps/mail/i18n/ko.json
+++ b/public/app/main/apps/mail/i18n/ko.json
@@ -19,67 +19,24 @@
     "SEND": "전송",
     "ATTACHMENT": "첨부 파일",
     "ATTACHMENTS": "첨부 파일",
-    "NAME": "이름",
     "MAILQUEUES": "이메일 상담그룹",
     "SEARCH_FOR_ANYONE": "모두 검색",
     "STRATEGY": "전략",
     "ERRORS": {
-      "TEXT_REQUIRED": "텍스트는 필수입니다.",
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "AGENT_TIMEOUT_REQUIRED": "상담원 시간초과는 필수입니다.",
       "EMAIL_ADDRESS_REQUIRED": "이메일 주소는 필수입니다.",
       "EMAIL_ADDRESS_MUST_VALID": "이메일 주소는 유효해야 합니다.",
-      "HOST_REQUIRED": "호스트는 필수입니다.",
-      "USERNAME_REQUIRED": "사용자이름은 필수입니다.",
       "PORT_REQUIRED": "포트는 필수입니다.",
       "CONNTIMEOUT_REQUIRED": "연결 시간초과는 필수입니다.",
       "AUTHTIMEOUT_REQUIRED": "인증 시간초과는 필수입니다.",
-      "ACCEPTURL_MUST_VALID_URL": "수락 URL은 유효해야 합니다.",
-      "TIMEOUT_REQUIRED": "시간초과는 필수입니다.",
-      "REJECTURL_MUST_VALID_URL": "거절 URL은 유효해야 합니다.",
-      "CLOSEURL_MUST_VALID_URL": "닫기 URL은 유효해야 합니다.",
-      "AGENT_REQUIRED": "상담원은 필수입니다.",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 커야합니다.",
-      "DISPOSITION_REQUIRED": "배치는 필수입니다.",
-      "CONDITION_REQUIRED": "조건은 필수입니다.",
-      "TRUEPRIORITY_REQUIRED": "참 우선순위는 필수입니다.",
-      "FALSEPRIORITY_REQUIRED": "거짓 우선순위는 필수입니다.",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "참 우선순위는 다음과 같거나 커야 합니다.",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "거짓 우선순위는 다음과 같거나 커야 합니다.",
-      "PRIORITY_REQUIRED": "우선순위는 필수입니다.",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "우선순위는 다음과 같거나 커야 합니다.",
-      "QUEUE_REQUIRED": "상담그룹은 필수입니다.",
-      "LIST_REQUIRED": "목록은 필수입니다.",
-      "PASSWORD_REQUIRED": "비밀번호는 필수입니다.",
       "SERVICE_REQUIRED": "서비스는 필수입니다.",
       "IMAP_HOST_REQUIRED": "IMAP 호스트는 필수입니다.",
       "IMAP_PORT_REQUIRED": "IMAP 포트는 필수입니다.",
       "SMTP_HOST_REQUIRED": "SMTP 호스트는 필수입니다.",
       "SMTP_PORT_REQUIRED": "SMTP 포트는 필수입니다.",
       "CONFIRM_NOT_MATCH": "일치하지 않습니다",
-      "KEY_MAX_LENGTH": "키 최대 길이",
-      "KEY_REQUIRED": "키는 필수입니다.",
-      "TEXT_MAX_LENGTH": "텍스트 최대 길이",
-      "VALUE_REQUIRED": "값은 필수입니다.",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "글자 사이즈는 다음과 같거나 커야합니다.",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "글자 사이즈는 다음과 같거나 작아야 합니다.",
-      "FONT_SIZE_REQUIRED": "글자 사이즈는 필수입니다.",
-      "COMMAND_REQUIRED": "명령은 필수입니다.",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "상담원 시간초과는 다음과 같거나 커야 합니다.",
-      "NAME_MUST_VALID_PATTERN": "이름은 유효한 패턴이어야 합니다.",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 작아야합니다.",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "상담원 시간초과는 다음과 같거나 작아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 커야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 작아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "할당된 상담원에 대한 대기는 필수입니다.",
-      "TAG_REQUIRED": "필수 필드",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드"
+      "FONT_SIZE_REQUIRED": "글자 사이즈는 필수입니다."
     },
     "AGENT_TIMEOUT": "상담원 시간초과",
     "DESCRIPTION": "설명",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "활동",
     "OTHERS": "기타",
-    "LIST": "목록",
     "TEMPLATE": "템플릿",
     "FIDELITY": "정확도",
     "SERVICE": "서비스",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "전체 팀",
     "SELECTED_TEAMS": "선택된 팀",
     "HELP": {
-      "NAME": "이름",
       "USERNAME": "사용자 이름",
       "PASSWORD": "비밀번호",
       "SECURE": "보안",
       "FONT_FAMILY": "글꼴 모음",
       "FONT_SIZE": "글자 크기",
-      "MARK_AS_UNREAD": "읽지않음으로 표시",
-      "MANDATORYDISPOSITION": "의무 처분",
-      "MANDATORYDISPOSITIONPAUSEID": "강제 처분이 활성화 된 경우 사용 중지"
+      "MARK_AS_UNREAD": "읽지않음으로 표시"
     },
     "PAGE": "페이지",
     "ROWSPERPAGE": "페이지별 행 수",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "첨부 파일없이 다운로드",
     "DOWNLOAD_WITH_ATTACHMENTS": "첨부 파일 다운로드",
     "TEAMS_ASSOCIATION": "팀 협회",
-    "MANDATORYDISPOSITION": "의무 처분",
-    "MANDATORYDISPOSITIONPAUSEID": "강제 처분이 활성화 된 경우 사용 중지",
     "ADVANCED": "많은",
     "TOOLTIP_SCREENRECORDING_OFF": "스크린 녹화 가능",
     "TOOLTIP_SCREENRECORDING_ON": "화면 녹화 중",
diff --git a/public/app/main/apps/mail/i18n/lt.json b/public/app/main/apps/mail/i18n/lt.json
index 6835213..5440cf7 100644
--- a/public/app/main/apps/mail/i18n/lt.json
+++ b/public/app/main/apps/mail/i18n/lt.json
@@ -114,69 +114,24 @@
     "SEND": "Siųsti",
     "ATTACHMENT": "Priedas",
     "ATTACHMENTS": "Priedai",
-    "NAME": "Vardas",
     "MAILQUEUES": "El. pašto eilės",
     "SEARCH_FOR_ANYONE": "Paieška",
     "STRATEGY": "Strategija",
-    "MANDATORYDISPOSITION": "Privalomas išdėstymas",
-    "MANDATORYDISPOSITIONPAUSEID": "Pauzės naudojimas, jei įjungtas privalomas išdėstymas",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
-      "TAG_REQUIRED": "Privalomas laukas",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Privalomas laukas",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "NAME_MUST_VALID_PATTERN": "Blogas formatas",
-      "COMMAND_REQUIRED": "Privalomas laukas",
       "FONT_SIZE_REQUIRED": "Privalomas laukas",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "TEXT_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{maks}}",
-      "VALUE_REQUIRED": "Privalomas laukas",
-      "TEXT_REQUIRED": "Privalomas laukas",
-      "NAME_REQUIRED": "Privalomas laukas",
-      "AGENT_TIMEOUT_REQUIRED": "Privalomas laukas",
       "EMAIL_ADDRESS_REQUIRED": "Privalomas laukas",
       "EMAIL_ADDRESS_MUST_VALID": "Blogas formatas",
-      "HOST_REQUIRED": "Privalomas laukas",
-      "USERNAME_REQUIRED": "Privalomas laukas",
       "PORT_REQUIRED": "Privalomas laukas",
       "CONNTIMEOUT_REQUIRED": "Privalomas laukas",
       "AUTHTIMEOUT_REQUIRED": "Privalomas laukas",
-      "ACCEPTURL_MUST_VALID_URL": "Blogas formatas",
-      "TIMEOUT_REQUIRED": "Privalomas laukas",
-      "REJECTURL_MUST_VALID_URL": "Blogas formatas",
-      "CLOSEURL_MUST_VALID_URL": "Blogas formatas",
-      "AGENT_REQUIRED": "Privalomas laukas",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "DISPOSITION_REQUIRED": "Privalomas laukas",
-      "CONDITION_REQUIRED": "Privalomas laukas",
-      "TRUEPRIORITY_REQUIRED": "Privalomas laukas",
-      "FALSEPRIORITY_REQUIRED": "Privalomas laukas",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "PRIORITY_REQUIRED": "Privalomas laukas",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "QUEUE_REQUIRED": "Privalomas laukas",
-      "LIST_REQUIRED": "Privalomas laukas",
-      "PASSWORD_REQUIRED": "Privalomas laukas",
       "SERVICE_REQUIRED": "Privalomas laukas",
       "IMAP_HOST_REQUIRED": "Privalomas laukas",
       "IMAP_PORT_REQUIRED": "Privalomas laukas",
       "SMTP_HOST_REQUIRED": "Privalomas laukas",
       "SMTP_PORT_REQUIRED": "Privalomas laukas",
-      "CONFIRM_NOT_MATCH": "Įvesti slaptažodžiai nesutampa",
-      "KEY_MAX_LENGTH": "Raktas turi būti ne ilgesnė kaip {{maks}}",
-      "KEY_REQUIRED": "Privalomas laukas",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas"
+      "CONFIRM_NOT_MATCH": "Įvesti slaptažodžiai nesutampa"
     },
     "AGENT_TIMEOUT": "Agento laikas",
     "DESCRIPTION": "Aprašymas",
@@ -195,7 +150,6 @@
     "WEBHOOKS": "Internetinės svetainės",
     "ACTIONS": "Veiksmai",
     "OTHERS": "Kiti",
-    "LIST": "Sąrašas",
     "TEMPLATE": "Šablonas",
     "FIDELITY": "Tikslumas",
     "SERVICE": "Paslauga",
@@ -246,12 +200,9 @@
     "HELP": {
       "FONT_FAMILY": "Numatytoji šrifto šeima",
       "FONT_SIZE": "Numatytasis šrifto dydis",
-      "NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
       "USERNAME": "Vartotojo vardas naudojamas autentifikavimui",
       "PASSWORD": "Slaptažodis naudojamas autentifikavimui",
       "SECURE": "Jei teisinga, ryšys naudos TLS, jungiantis prie serverio",
-      "MANDATORYDISPOSITION": "Privalomas išdėstymas",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauzės naudojimas, kai įjungtas privalomas išdėstymas",
       "MARK_AS_UNREAD": "Įjungti/išjungti agentą pažymėti paskutinį sąveikos pranešimą kaip neskaitytą"
     },
     "PAGE": "Puslapis",
diff --git a/public/app/main/apps/mail/i18n/lv.json b/public/app/main/apps/mail/i18n/lv.json
index a91c5e7..0253a3d 100644
--- a/public/app/main/apps/mail/i18n/lv.json
+++ b/public/app/main/apps/mail/i18n/lv.json
@@ -1,73 +1,28 @@
 {
   "MAIL": {
     "ERRORS": {
-      "TEXT_MAX_LENGTH": "Vērtībai jābūt ar maksimālo garumu {{max}}",
-      "VALUE_REQUIRED": "Obligāts lauks",
-      "TEXT_REQUIRED": "Obligāts lauks",
-      "NAME_REQUIRED": "Obligāts lauks",
-      "AGENT_TIMEOUT_REQUIRED": "Obligāts lauks",
       "EMAIL_ADDRESS_REQUIRED": "Obligāts lauks",
       "EMAIL_ADDRESS_MUST_VALID": "Nepareizs formāts",
-      "HOST_REQUIRED": "Obligāts lauks",
-      "USERNAME_REQUIRED": "Obligāts lauks",
       "PORT_REQUIRED": "Obligāts lauks",
       "CONNTIMEOUT_REQUIRED": "Obligāts lauks",
       "AUTHTIMEOUT_REQUIRED": "Obligāts lauks",
-      "ACCEPTURL_MUST_VALID_URL": "Nepareizs formāts",
-      "TIMEOUT_REQUIRED": "Obligāts lauks",
-      "REJECTURL_MUST_VALID_URL": "Nepareizs formāts",
-      "CLOSEURL_MUST_VALID_URL": "Nepareizs formāts",
-      "AGENT_REQUIRED": "Obligāts lauks",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "DISPOSITION_REQUIRED": "Obligāts lauks",
-      "CONDITION_REQUIRED": "Obligāts lauks",
-      "TRUEPRIORITY_REQUIRED": "Obligāts lauks",
-      "FALSEPRIORITY_REQUIRED": "Obligāts lauks",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "PRIORITY_REQUIRED": "Obligāts lauks",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "QUEUE_REQUIRED": "Obligāts lauks",
-      "LIST_REQUIRED": "Obligāts lauks",
-      "PASSWORD_REQUIRED": "Obligāts lauks",
       "SERVICE_REQUIRED": "Obligāts lauks",
       "IMAP_HOST_REQUIRED": "Obligāts lauks",
       "IMAP_PORT_REQUIRED": "Obligāts lauks",
       "SMTP_HOST_REQUIRED": "Obligāts lauks",
       "SMTP_PORT_REQUIRED": "Obligāts lauks",
       "CONFIRM_NOT_MATCH": "Ievadītās paroles nesakrīt",
-      "KEY_MAX_LENGTH": "Atslēgas maksimālais garums ir vienāds ar {{max}}",
-      "KEY_REQUIRED": "Obligāts lauks",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "FONT_SIZE_REQUIRED": "Obligāts lauks",
-      "COMMAND_REQUIRED": "Obligāts lauks",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "NAME_MUST_VALID_PATTERN": "Nepareizs formāts",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligāts lauks",
-      "TAG_REQUIRED": "Obligāts lauks",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks"
+      "FONT_SIZE_REQUIRED": "Obligāts lauks"
     },
     "HELP": {
-      "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)",
       "USERNAME": "Autentifikācijai izmantotais lietotājvārds",
       "PASSWORD": "Parole, ko izmanto autentifikācijai",
       "SECURE": "Ja tā ir patiesa, savienojumā ar serveri tiks izmantots TLS protokols",
       "FONT_FAMILY": "Noklusējuma fontu saime",
       "FONT_SIZE": "Noklusējuma fonta izmērs",
-      "MARK_AS_UNREAD": "Iespējot/atspējot aģentu, lai atzīmētu kā nelasītu pēdējo mijiedarbības ziņojumu",
-      "MANDATORYDISPOSITION": "Obligāta rīcība",
-      "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, kad ir iespējota obligātā izvietošana"
+      "MARK_AS_UNREAD": "Iespējot/atspējot aģentu, lai atzīmētu kā nelasītu pēdējo mijiedarbības ziņojumu"
     },
     "NO_MAILCANNEDANSWER_AVAILABLE": "Nav pieejamas standarta atbildes",
     "NEW_MAILCANNEDANSWER": "Jauna standarta atbilde",
@@ -147,7 +102,6 @@
     "SEND": "Nosūtīt",
     "ATTACHMENT": "Pielikums",
     "ATTACHMENTS": "Pielikumi",
-    "NAME": "Nosaukums",
     "MAILQUEUES": "E-pasta rindas",
     "SEARCH_FOR_ANYONE": "Meklēt",
     "STRATEGY": "Stratēģija",
@@ -168,7 +122,6 @@
     "WEBHOOKS": "Tīmekļa aizķeres",
     "ACTIONS": "Darbības",
     "OTHERS": "Citi",
-    "LIST": "Saraksts",
     "TEMPLATE": "Veidne",
     "FIDELITY": "Uzticība",
     "SERVICE": "Apkalpošana",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Lejupielādēt bez pielikumiem",
     "DOWNLOAD_WITH_ATTACHMENTS": "Lejupielādēt ar pielikumiem",
     "TEAMS_ASSOCIATION": "Komandu asociācija",
-    "MANDATORYDISPOSITION": "Obligāta rīcība",
-    "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, ja ir iespējota obligātā izvietošana",
     "ADVANCED": "Advanced",
     "TOOLTIP_SCREENRECORDING_OFF": "Ekrāna ieraksts ir pieejams",
     "TOOLTIP_SCREENRECORDING_ON": "Notiek ekrāna ierakstīšana",
diff --git a/public/app/main/apps/mail/i18n/nl.json b/public/app/main/apps/mail/i18n/nl.json
index e8f081f..4c4cdd6 100644
--- a/public/app/main/apps/mail/i18n/nl.json
+++ b/public/app/main/apps/mail/i18n/nl.json
@@ -19,67 +19,24 @@
     "SEND": "Verzenden",
     "ATTACHMENT": "Voorzetstuk",
     "ATTACHMENTS": "Voorzetapparatuur",
-    "NAME": "Naam",
     "MAILQUEUES": "Mailwachtrijen",
     "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
     "STRATEGY": "Strategie",
     "ERRORS": {
-      "TEXT_REQUIRED": "Het veld tekst nodig is",
-      "NAME_REQUIRED": "De naam is verplicht",
-      "AGENT_TIMEOUT_REQUIRED": "De Agent Timeout is vereist",
       "EMAIL_ADDRESS_REQUIRED": "Het e-mailadres is vereist",
       "EMAIL_ADDRESS_MUST_VALID": "Het e-mailadres moet worden geschreven in een geldige indeling",
-      "HOST_REQUIRED": "De host is vereist",
-      "USERNAME_REQUIRED": "De gebruikersnaam is vereist",
       "PORT_REQUIRED": "De poort is vereist",
       "CONNTIMEOUT_REQUIRED": "De time-out van verbinding is vereist",
       "AUTHTIMEOUT_REQUIRED": "De time-out voor verificatie is vereist",
-      "ACCEPTURL_MUST_VALID_URL": "Accepteer URL moet worden geschreven in een geldige indeling",
-      "TIMEOUT_REQUIRED": "De timeout is vereist",
-      "REJECTURL_MUST_VALID_URL": "De afwijzing URL moet worden geschreven in een geldige indeling",
-      "CLOSEURL_MUST_VALID_URL": "De nauwe URL moet worden geschreven in een geldige indeling",
-      "AGENT_REQUIRED": "De Agent is vereist",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De time-out moet groter zijn dan of gelijk aan",
-      "DISPOSITION_REQUIRED": "De Dispositie is vereist",
-      "CONDITION_REQUIRED": "De conditie is vereist",
-      "TRUEPRIORITY_REQUIRED": "De echte prioriteit is vereist.",
-      "FALSEPRIORITY_REQUIRED": "De valse prioriteit is vereist.",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De echte prioriteit moet groter zijn dan of gelijk aan",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De valse prioriteit moet groter zijn dan of gelijk aan",
-      "PRIORITY_REQUIRED": "De prioriteit is vereist.",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De prioriteit moet groter zijn dan of gelijk aan",
-      "QUEUE_REQUIRED": "De wachtrij is vereist",
-      "LIST_REQUIRED": "De lijst is vereist",
-      "PASSWORD_REQUIRED": "Het wachtwoord is vereist",
       "SERVICE_REQUIRED": "De Service is vereist",
       "IMAP_HOST_REQUIRED": "De IMAP-host is vereist",
       "IMAP_PORT_REQUIRED": "Als u de IMAP-poort is vereist",
       "SMTP_HOST_REQUIRED": "De SMTP-host is vereist",
       "SMTP_PORT_REQUIRED": "De SMTP-poort is vereist",
       "CONFIRM_NOT_MATCH": "De wachtwoorden Don' t match",
-      "KEY_MAX_LENGTH": "Sleutel moet een lengte gelijk aan {{max.}}",
-      "KEY_REQUIRED": "De sleutel is vereist",
-      "TEXT_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
-      "VALUE_REQUIRED": "Verplicht veld",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "FONT_SIZE_REQUIRED": "Verplicht veld",
-      "COMMAND_REQUIRED": "Verplicht veld",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "NAME_MUST_VALID_PATTERN": "Verkeerd formaat",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Verplicht veld",
-      "TAG_REQUIRED": "Verplicht veld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld"
+      "FONT_SIZE_REQUIRED": "Verplicht veld"
     },
     "AGENT_TIMEOUT": "Time-out agent",
     "DESCRIPTION": "Beschrijving",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Acties",
     "OTHERS": "Anderen",
-    "LIST": "Lijst",
     "TEMPLATE": "Sjabloon",
     "FIDELITY": "Hifi-geluid",
     "SERVICE": "Service",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Alle teams",
     "SELECTED_TEAMS": "Geselecteerde teams",
     "HELP": {
-      "NAME": "Alleen cijfers, letters en speciale tekens (_) worden ondersteund",
       "USERNAME": "Gebruikersnaam die wordt gebruikt voor verificatie",
       "PASSWORD": "Het wachtwoord dat wordt gebruikt voor verificatie",
       "SECURE": "Als ware de verbinding met TLS om verbinding te maken met server",
       "FONT_FAMILY": "Standaard lettertypefamilie",
       "FONT_SIZE": "Standaard lettertypegrootte",
-      "MARK_AS_UNREAD": "Schakel agent in / uit om het laatste bericht van een interactie als ongelezen te markeren",
-      "MANDATORYDISPOSITION": "Verplichte regeling",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauze om te gebruiken wanneer verplichte dispositie is ingeschakeld"
+      "MARK_AS_UNREAD": "Schakel agent in / uit om het laatste bericht van een interactie als ongelezen te markeren"
     },
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Rijen per pagina",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Downloaden zonder bijlagen",
     "DOWNLOAD_WITH_ATTACHMENTS": "Downloaden met bijlagen",
     "TEAMS_ASSOCIATION": "Teams Association",
-    "MANDATORYDISPOSITION": "Verplichte regeling",
-    "MANDATORYDISPOSITIONPAUSEID": "Pauze om te gebruiken als verplichte dispositie is ingeschakeld",
     "ADVANCED": "gevorderd",
     "TOOLTIP_SCREENRECORDING_OFF": "Schermopname beschikbaar",
     "TOOLTIP_SCREENRECORDING_ON": "Schermopname bezig",
diff --git a/public/app/main/apps/mail/i18n/no.json b/public/app/main/apps/mail/i18n/no.json
index 1c9e70c..27182f8 100644
--- a/public/app/main/apps/mail/i18n/no.json
+++ b/public/app/main/apps/mail/i18n/no.json
@@ -19,67 +19,24 @@
     "SEND": "Send",
     "ATTACHMENT": "Vedlegg",
     "ATTACHMENTS": "Vedlegg",
-    "NAME": "Navn",
     "MAILQUEUES": "Post køer",
     "SEARCH_FOR_ANYONE": "Søk etter alle",
     "STRATEGY": "Strategi",
     "ERRORS": {
-      "TEXT_REQUIRED": "Feltet tekst er nødvendig",
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten tidsavbrudd er nødvendig",
       "EMAIL_ADDRESS_REQUIRED": "E-postadresse er påkrevd",
       "EMAIL_ADDRESS_MUST_VALID": "E-postadressen må være skrevet i et gyldig format",
-      "HOST_REQUIRED": "Verten er nødvendig",
-      "USERNAME_REQUIRED": "Brukernavnet er nødvendig",
       "PORT_REQUIRED": "Porten er nødvendig",
       "CONNTIMEOUT_REQUIRED": "Det tidsavbrudd for tilkobling er nødvendig",
       "AUTHTIMEOUT_REQUIRED": "Autentisering tidsavbrudd er nødvendig",
-      "ACCEPTURL_MUST_VALID_URL": "Godta URL må være skrevet i et gyldig format",
-      "TIMEOUT_REQUIRED": "Tidsavbruddet er nødvendig",
-      "REJECTURL_MUST_VALID_URL": "Avvis URL må være skrevet i et gyldig format",
-      "CLOSEURL_MUST_VALID_URL": "Lukk URL må være skrevet i et gyldig format",
-      "AGENT_REQUIRED": "Agenten er nødvendig",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den stille må være større enn eller lik",
-      "DISPOSITION_REQUIRED": "Disposisjonen er nødvendig",
-      "CONDITION_REQUIRED": "Tilstanden er nødvendig",
-      "TRUEPRIORITY_REQUIRED": "Den ekte prioritet er nødvendig",
-      "FALSEPRIORITY_REQUIRED": "Den falske prioritet er nødvendig",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den ekte prioritet må være større enn eller lik",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den falske prioritet må være større enn eller lik",
-      "PRIORITY_REQUIRED": "Prioriteten er nødvendig",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioritet må være større enn eller lik",
-      "QUEUE_REQUIRED": "Køen er nødvendig",
-      "LIST_REQUIRED": "Listen er nødvendig",
-      "PASSWORD_REQUIRED": "Passordet er nødvendig",
       "SERVICE_REQUIRED": "Det er behov for service",
       "IMAP_HOST_REQUIRED": "IMAP-vert er nødvendig",
       "IMAP_PORT_REQUIRED": "IMAP Port er nødvendig",
       "SMTP_HOST_REQUIRED": "SMTP-vert er nødvendig",
       "SMTP_PORT_REQUIRED": "SMTP-port er nødvendig",
       "CONFIRM_NOT_MATCH": "Passordene don' t kamp",
-      "KEY_MAX_LENGTH": "Tasten må ha en maksimal lengde lik {{max}}",
-      "KEY_REQUIRED": "Nøkkelen er nødvendig",
-      "TEXT_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
-      "VALUE_REQUIRED": "Obligatoriske felt",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "FONT_SIZE_REQUIRED": "Obligatoriske felt",
-      "COMMAND_REQUIRED": "Obligatoriske felt",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "NAME_MUST_VALID_PATTERN": "Feil format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriske felt",
-      "TAG_REQUIRED": "Obligatoriske felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt"
+      "FONT_SIZE_REQUIRED": "Obligatoriske felt"
     },
     "AGENT_TIMEOUT": "Agent tidsavbrudd",
     "DESCRIPTION": "Beskrivelse",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Tiltak",
     "OTHERS": "Andre",
-    "LIST": "Liste",
     "TEMPLATE": "Mal",
     "FIDELITY": "Fi",
     "SERVICE": "Service",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Alle grupper",
     "SELECTED_TEAMS": "Valgte lag",
     "HELP": {
-      "NAME": "Bare tall, bokstaver og bestemte tegn (._) støttes",
       "USERNAME": "Brukernavnet som brukes for autentisering",
       "PASSWORD": "Passordet som brukes til godkjenning",
       "SECURE": "Hvis true tilkoblingen vil bruke TLS når en tilkobling til tjeneren",
       "FONT_FAMILY": "Standard skriftfamilie",
       "FONT_SIZE": "Standard skriftstørrelse",
-      "MARK_AS_UNREAD": "Aktiver / deaktiver agent for å markere som ulest den siste meldingen til en samhandling",
-      "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause for bruk når obligatorisk disposisjon er aktivert"
+      "MARK_AS_UNREAD": "Aktiver / deaktiver agent for å markere som ulest den siste meldingen til en samhandling"
     },
     "PAGE": "Siden",
     "ROWSPERPAGE": "Linjer per side",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Last ned uten vedlegg",
     "DOWNLOAD_WITH_ATTACHMENTS": "Last ned med vedlegg",
     "TEAMS_ASSOCIATION": "Lagforening",
-    "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-    "MANDATORYDISPOSITIONPAUSEID": "Bruk pause hvis obligatorisk disposisjon er aktivert",
     "ADVANCED": "Avansert",
     "TOOLTIP_SCREENRECORDING_OFF": "Skjermopptak tilgjengelig",
     "TOOLTIP_SCREENRECORDING_ON": "Skjermopptak pågår",
diff --git a/public/app/main/apps/mail/i18n/pl.json b/public/app/main/apps/mail/i18n/pl.json
index 6e53256..b1275bf 100644
--- a/public/app/main/apps/mail/i18n/pl.json
+++ b/public/app/main/apps/mail/i18n/pl.json
@@ -56,67 +56,24 @@
     "SEND": "Wyślij",
     "ATTACHMENT": "Osprzęt",
     "ATTACHMENTS": "Osprzęt",
-    "NAME": "Nazwa",
     "MAILQUEUES": "Kolejek poczty",
     "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
     "STRATEGY": "Strategia",
     "ERRORS": {
-      "TEXT_REQUIRED": "Pole obowiązkowe",
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "AGENT_TIMEOUT_REQUIRED": "Pole obowiązkowe",
       "EMAIL_ADDRESS_REQUIRED": "Pole obowiązkowe",
       "EMAIL_ADDRESS_MUST_VALID": "Zły format",
-      "HOST_REQUIRED": "Pole obowiązkowe",
-      "USERNAME_REQUIRED": "Pole obowiązkowe",
       "PORT_REQUIRED": "Pole obowiązkowe",
       "CONNTIMEOUT_REQUIRED": "Pole obowiązkowe",
       "AUTHTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "ACCEPTURL_MUST_VALID_URL": "Zły format",
-      "TIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "REJECTURL_MUST_VALID_URL": "Zły format",
-      "CLOSEURL_MUST_VALID_URL": "Zły format",
-      "AGENT_REQUIRED": "Pole obowiązkowe",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "DISPOSITION_REQUIRED": "Pole obowiązkowe",
-      "CONDITION_REQUIRED": "Pole obowiązkowe",
-      "TRUEPRIORITY_REQUIRED": "Pole obowiązkowe",
-      "FALSEPRIORITY_REQUIRED": "Pole obowiązkowe",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "PRIORITY_REQUIRED": "Pole obowiązkowe",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "QUEUE_REQUIRED": "Pole obowiązkowe",
-      "LIST_REQUIRED": "Pole obowiązkowe",
-      "PASSWORD_REQUIRED": "Pole obowiązkowe",
       "SERVICE_REQUIRED": "Pole obowiązkowe",
       "IMAP_HOST_REQUIRED": "Pole obowiązkowe",
       "IMAP_PORT_REQUIRED": "Pole obowiązkowe",
       "SMTP_HOST_REQUIRED": "Pole obowiązkowe",
       "SMTP_PORT_REQUIRED": "Pole obowiązkowe",
       "CONFIRM_NOT_MATCH": "Hasła się nie zgadzają się",
-      "KEY_MAX_LENGTH": "Klucz musi mieć maksymalną długość równa {{max}}",
-      "KEY_REQUIRED": "Pole obowiązkowe",
-      "TEXT_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "FONT_SIZE_REQUIRED": "Pole obowiązkowe",
-      "COMMAND_REQUIRED": "Pole obowiązkowe",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "NAME_MUST_VALID_PATTERN": "Zły format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pole obowiązkowe",
-      "TAG_REQUIRED": "Pole obowiązkowe",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe"
+      "FONT_SIZE_REQUIRED": "Pole obowiązkowe"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Opis",
@@ -135,7 +92,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Działania",
     "OTHERS": "Inni",
-    "LIST": "Lista",
     "TEMPLATE": "Szablon",
     "FIDELITY": "Wierność",
     "SERVICE": "Service",
@@ -184,15 +140,12 @@
     "ALL_TEAMS": "Wszystkie zespoły",
     "SELECTED_TEAMS": "Wybrane zespoły",
     "HELP": {
-      "NAME": "Tylko cyfry, litery i znaki specjalne (._) są obsługiwane",
       "USERNAME": "Nazwa użytkownika służy do uwierzytelniania",
       "PASSWORD": "Hasło używane do uwierzytelniania",
       "SECURE": "Jeśli to prawda, że połączenie będzie używała TLS podczas łączenia się z serwerem",
       "FONT_FAMILY": "Domyślna rodzina czcionek",
       "FONT_SIZE": "Domyślny rozmiar czcionki",
-      "MARK_AS_UNREAD": "Włącz / wyłącz agenta, aby oznaczyć jako nieprzeczytaną ostatnią wiadomość z interakcji",
-      "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
-      "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj, aby użyć, gdy włączona jest obowiązkowa dyspozycja"
+      "MARK_AS_UNREAD": "Włącz / wyłącz agenta, aby oznaczyć jako nieprzeczytaną ostatnią wiadomość z interakcji"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Wierszy na stronie",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Pobierz bez załączników",
     "DOWNLOAD_WITH_ATTACHMENTS": "Pobierz z załącznikami",
     "TEAMS_ASSOCIATION": "Stowarzyszenie zespołów",
-    "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
-    "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj korzystanie, jeśli włączona jest obowiązkowa dyspozycja",
     "ADVANCED": "zaawansowane",
     "TOOLTIP_SCREENRECORDING_OFF": "Dostępne nagrywanie ekranu",
     "TOOLTIP_SCREENRECORDING_ON": "Trwa nagrywanie ekranu",
diff --git a/public/app/main/apps/mail/i18n/pt-BR.json b/public/app/main/apps/mail/i18n/pt-BR.json
index 85d7a8f..7fd43dc 100644
--- a/public/app/main/apps/mail/i18n/pt-BR.json
+++ b/public/app/main/apps/mail/i18n/pt-BR.json
@@ -113,67 +113,24 @@
     "SEND": "Enviar",
     "ATTACHMENT": "Anexo",
     "ATTACHMENTS": "Anexos",
-    "NAME": "Nome",
     "MAILQUEUES": "Fila de Emails",
     "SEARCH_FOR_ANYONE": "Procurar",
     "STRATEGY": "Estrategia",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "COMMAND_REQUIRED": "Mandatory Field",
       "FONT_SIZE_REQUIRED": "Mandatory Field",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_REQUIRED": "Mandatory Field",
       "EMAIL_ADDRESS_MUST_VALID": "Wrong format",
-      "HOST_REQUIRED": "Mandatory Field",
-      "USERNAME_REQUIRED": "Mandatory Field",
       "PORT_REQUIRED": "Mandatory Field",
       "CONNTIMEOUT_REQUIRED": "Mandatory Field",
       "AUTHTIMEOUT_REQUIRED": "Mandatory Field",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "PASSWORD_REQUIRED": "Mandatory Field",
       "SERVICE_REQUIRED": "Mandatory Field",
       "IMAP_HOST_REQUIRED": "Mandatory Field",
       "IMAP_PORT_REQUIRED": "Mandatory Field",
       "SMTP_HOST_REQUIRED": "Mandatory Field",
       "SMTP_PORT_REQUIRED": "Mandatory Field",
-      "CONFIRM_NOT_MATCH": "The passwords inserted don't match",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório"
+      "CONFIRM_NOT_MATCH": "The passwords inserted don't match"
     },
     "AGENT_TIMEOUT": "Tempo limite do agente",
     "DESCRIPTION": "Descrição",
@@ -192,7 +149,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Ações",
     "OTHERS": "Outros",
-    "LIST": "Lista",
     "TEMPLATE": "Modelo",
     "FIDELITY": "Fidelidade",
     "SERVICE": "Serviço",
@@ -243,13 +199,10 @@
     "HELP": {
       "FONT_FAMILY": "Default Font Family",
       "FONT_SIZE": "Default Font Size",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "USERNAME": "Username used for authentication",
       "PASSWORD": "Password used for authentication",
       "SECURE": "If true, the connection will use TLS when connecting to server",
-      "MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar quando a disposição obrigatória estiver ativada"
+      "MARK_AS_UNREAD": "Enable/Disable agent to mark as unread the last message of an interaction"
     },
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Linhas por Página",
@@ -312,8 +265,6 @@
     "DELETE_INTERACTION": "Excluir interação",
     "AGENTADD_MAILACCOUNT": "Adicionar agente à conta de email",
     "TEAMS_ASSOCIATION": "Associação de equipes",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar se a disposição obrigatória estiver ativada",
     "ADVANCED": "Avançado",
     "TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
     "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
diff --git a/public/app/main/apps/mail/i18n/pt-PT.json b/public/app/main/apps/mail/i18n/pt-PT.json
index 5ed468d..a1164f4 100644
--- a/public/app/main/apps/mail/i18n/pt-PT.json
+++ b/public/app/main/apps/mail/i18n/pt-PT.json
@@ -19,67 +19,24 @@
     "SEND": "Enviar",
     "ATTACHMENT": "Anexo",
     "ATTACHMENTS": "Anexos",
-    "NAME": "Nome",
     "MAILQUEUES": "Filas de correio",
     "SEARCH_FOR_ANYONE": "Pesquisar todos",
     "STRATEGY": "Estratégia",
     "ERRORS": {
-      "TEXT_REQUIRED": "O campo texto é necessário",
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "AGENT_TIMEOUT_REQUIRED": "O Tempo Limite do Agente é necessária",
       "EMAIL_ADDRESS_REQUIRED": "O endereço de e-mail é obrigatório",
       "EMAIL_ADDRESS_MUST_VALID": "O endereço de e-mail deve ser escrito em um formato válido",
-      "HOST_REQUIRED": "O Host é necessário",
-      "USERNAME_REQUIRED": "O nome de usuário é obrigatório",
       "PORT_REQUIRED": "A porta é necessária",
       "CONNTIMEOUT_REQUIRED": "O tempo limite de conexão é necessária",
       "AUTHTIMEOUT_REQUIRED": "O tempo limite da autenticação é necessária",
-      "ACCEPTURL_MUST_VALID_URL": "A aceitar a URL deve ser escrito em um formato válido",
-      "TIMEOUT_REQUIRED": "O tempo limite é necessária",
-      "REJECTURL_MUST_VALID_URL": "A rejeitar a URL deve ser escrito em um formato válido",
-      "CLOSEURL_MUST_VALID_URL": "A FECHAR A URL deve ser escrito em um formato válido",
-      "AGENT_REQUIRED": "O agente é necessário",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O tempo de espera deve ser maior que ou igual a",
-      "DISPOSITION_REQUIRED": "A disposição é necessário",
-      "CONDITION_REQUIRED": "A condição é necessária",
-      "TRUEPRIORITY_REQUIRED": "É necessária a verdadeira prioridade",
-      "FALSEPRIORITY_REQUIRED": "O falso é necessária prioridade",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A verdadeira prioridade deve ser maior que ou igual a",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A Falsa prioridade deve ser maior ou igual a",
-      "PRIORITY_REQUIRED": "A prioridade é necessário",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A prioridade deve ser maior que ou igual a",
-      "QUEUE_REQUIRED": "A fila de espera é necessário",
-      "LIST_REQUIRED": "A lista é necessário",
-      "PASSWORD_REQUIRED": "A senha é necessária",
       "SERVICE_REQUIRED": "O serviço é necessário",
       "IMAP_HOST_REQUIRED": "O Host IMAP é necessário",
       "IMAP_PORT_REQUIRED": "A porta é necessário",
       "SMTP_HOST_REQUIRED": "O Host SMTP é necessário",
       "SMTP_PORT_REQUIRED": "A porta SMTP é necessário",
       "CONFIRM_NOT_MATCH": "As senhas não correspondem",
-      "KEY_MAX_LENGTH": "A chave deve ter um comprimento máximo igual ao máximo {{}}",
-      "KEY_REQUIRED": "A chave é necessário",
-      "TEXT_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "VALUE_REQUIRED": "Campo Obrigatório",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "FONT_SIZE_REQUIRED": "Campo Obrigatório",
-      "COMMAND_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
-      "TAG_REQUIRED": "Campo Obrigatório",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório"
+      "FONT_SIZE_REQUIRED": "Campo Obrigatório"
     },
     "AGENT_TIMEOUT": "Tempo Limite do Agente",
     "DESCRIPTION": "Descrição",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Acções",
     "OTHERS": "Outros",
-    "LIST": "Lista",
     "TEMPLATE": "Modelo",
     "FIDELITY": "Fidelidade",
     "SERVICE": "Serviço",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Todas as equipas",
     "SELECTED_TEAMS": "Equipes selecionadas",
     "HELP": {
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
       "USERNAME": "Nome de usuário usado para autenticação",
       "PASSWORD": "Senha usada para autenticação",
       "SECURE": "Se for verdade a ligação irá usar TLS ao conectar ao servidor",
       "FONT_FAMILY": "Família de Fontes Padrão",
       "FONT_SIZE": "Tamanho da Fonte Padrão",
-      "MARK_AS_UNREAD": "Ativar / desativar agente para marcar como não lida a última mensagem de uma interação",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar quando a disposição obrigatória estiver ativada"
+      "MARK_AS_UNREAD": "Ativar / desativar agente para marcar como não lida a última mensagem de uma interação"
     },
     "PAGE": "Página",
     "ROWSPERPAGE": "Linhas por página",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download sem anexos",
     "DOWNLOAD_WITH_ATTACHMENTS": "Download com anexos",
     "TEAMS_ASSOCIATION": "Associação de equipes",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar se a disposição obrigatória estiver ativada",
     "ADVANCED": "Avançado",
     "TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
     "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
diff --git a/public/app/main/apps/mail/i18n/ru.json b/public/app/main/apps/mail/i18n/ru.json
index 77c9088..0d03677 100644
--- a/public/app/main/apps/mail/i18n/ru.json
+++ b/public/app/main/apps/mail/i18n/ru.json
@@ -19,67 +19,24 @@
     "SEND": "Отправить",
     "ATTACHMENT": "Приложение",
     "ATTACHMENTS": "Вложения",
-    "NAME": "Имя",
     "MAILQUEUES": "Очереди сообщений электронной почты",
     "SEARCH_FOR_ANYONE": "Для поиска любого",
     "STRATEGY": "Стратегия",
     "ERRORS": {
-      "TEXT_REQUIRED": "Поле text не требуется",
-      "NAME_REQUIRED": "Это имя требуется",
-      "AGENT_TIMEOUT_REQUIRED": "Оператор - тайм-аут требуется",
       "EMAIL_ADDRESS_REQUIRED": "Адрес электронной почты не требуется",
       "EMAIL_ADDRESS_MUST_VALID": "Адрес электронной почты должен быть написан в действительный формат",
-      "HOST_REQUIRED": "Хост не требуется",
-      "USERNAME_REQUIRED": "Имя пользователя не требуется",
       "PORT_REQUIRED": "Порт не требуется",
       "CONNTIMEOUT_REQUIRED": "На время ожидания подключения не требуется",
       "AUTHTIMEOUT_REQUIRED": "В тайм-аут аутентификации не требуется",
-      "ACCEPTURL_MUST_VALID_URL": "Принять URL должен быть записан в действительный формат",
-      "TIMEOUT_REQUIRED": "Тайм-аут не требуется",
-      "REJECTURL_MUST_VALID_URL": "Отклонить URL должен быть записан в действительный формат",
-      "CLOSEURL_MUST_VALID_URL": "Закрыть адрес URL должен быть записан в действительный формат",
-      "AGENT_REQUIRED": "Агент обязан",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Время тайм-аута должно быть больше или равно",
-      "DISPOSITION_REQUIRED": "Распоряжения не требуется",
-      "CONDITION_REQUIRED": "Это состояние требует",
-      "TRUEPRIORITY_REQUIRED": "Истинный приоритет не требуется",
-      "FALSEPRIORITY_REQUIRED": "Ложный Приоритет не требуется",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Истинный приоритет должно быть больше или равно",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Ложным приоритетом должно быть больше или равно",
-      "PRIORITY_REQUIRED": "Приоритет не требуется",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Приоритетным должно быть больше или равно",
-      "QUEUE_REQUIRED": "Очереди не требуется",
-      "LIST_REQUIRED": "Список не требуется",
-      "PASSWORD_REQUIRED": "Необходимо указать пароль.",
       "SERVICE_REQUIRED": "О необходимости обслуживания",
       "IMAP_HOST_REQUIRED": "IMAP хост не требуется",
       "IMAP_PORT_REQUIRED": "IMAP порт не требуется",
       "SMTP_HOST_REQUIRED": "На SMTP-сервер не требуется",
       "SMTP_PORT_REQUIRED": "Порт SMTP не требуется",
       "CONFIRM_NOT_MATCH": "Пароли не совпадают",
-      "KEY_MAX_LENGTH": "Ключ должен иметь максимальную длину равную {{max}}",
-      "KEY_REQUIRED": "Ключ не требуется",
-      "TEXT_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}",
-      "VALUE_REQUIRED": "Обязательное поле",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "FONT_SIZE_REQUIRED": "Обязательное поле",
-      "COMMAND_REQUIRED": "Обязательное поле",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "NAME_MUST_VALID_PATTERN": "Неверный формат",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Обязательное поле",
-      "TAG_REQUIRED": "Обязательное поле",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле"
+      "FONT_SIZE_REQUIRED": "Обязательное поле"
     },
     "AGENT_TIMEOUT": "Время ожидания оператора",
     "DESCRIPTION": "Описание",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Действия",
     "OTHERS": "Другие",
-    "LIST": "Список",
     "TEMPLATE": "Шаблон",
     "FIDELITY": "Четкость",
     "SERVICE": "Сервис",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Все группы",
     "SELECTED_TEAMS": "Выбранные группы",
     "HELP": {
-      "NAME": "Только цифры, буквы и специальные символы (_) поддерживаются",
       "USERNAME": "Имя пользователя для проверки подлинности",
       "PASSWORD": "Пароль, используемый для аутентификации",
       "SECURE": "Если true соединение использовать TLS при подключении к серверу",
       "FONT_FAMILY": "Семейство шрифтов по умолчанию",
       "FONT_SIZE": "Размер шрифта по умолчанию",
-      "MARK_AS_UNREAD": "Включить / отключить агент для отметки как непрочитанное последнее сообщение о взаимодействии",
-      "MANDATORYDISPOSITION": "Обязательное распоряжение",
-      "MANDATORYDISPOSITIONPAUSEID": "Пауза для использования, когда включена обязательная утилизация"
+      "MARK_AS_UNREAD": "Включить / отключить агент для отметки как непрочитанное последнее сообщение о взаимодействии"
     },
     "PAGE": "Страница",
     "ROWSPERPAGE": "Строк на странице",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Скачать без вложений",
     "DOWNLOAD_WITH_ATTACHMENTS": "Скачать с вложениями",
     "TEAMS_ASSOCIATION": "Ассоциация команд",
-    "MANDATORYDISPOSITION": "Обязательное распоряжение",
-    "MANDATORYDISPOSITIONPAUSEID": "Пауза для использования, если включена обязательная утилизация",
     "ADVANCED": "продвинутый",
     "TOOLTIP_SCREENRECORDING_OFF": "Запись экрана доступна",
     "TOOLTIP_SCREENRECORDING_ON": "Идет запись экрана",
diff --git a/public/app/main/apps/mail/i18n/sv.json b/public/app/main/apps/mail/i18n/sv.json
index 3a3ca68..e2764eb 100644
--- a/public/app/main/apps/mail/i18n/sv.json
+++ b/public/app/main/apps/mail/i18n/sv.json
@@ -19,67 +19,24 @@
     "SEND": "Skicka",
     "ATTACHMENT": "Tillbehör",
     "ATTACHMENTS": "Tillbehör",
-    "NAME": "Namn",
     "MAILQUEUES": "Emailköer",
     "SEARCH_FOR_ANYONE": "Sökning för någon",
     "STRATEGY": "Strategi",
     "ERRORS": {
-      "TEXT_REQUIRED": "Texten i fältet är obligatoriskt",
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout krävs",
       "EMAIL_ADDRESS_REQUIRED": "Emailadress krävs",
       "EMAIL_ADDRESS_MUST_VALID": "Emailadressen måste vara skriven på ett giltigt format",
-      "HOST_REQUIRED": "Värd är obligatoriskt",
-      "USERNAME_REQUIRED": "Användarnamn krävs",
       "PORT_REQUIRED": "Porten är obligatoriskt",
       "CONNTIMEOUT_REQUIRED": "Anslutningens tidsgräns krävs",
       "AUTHTIMEOUT_REQUIRED": "Den Timeout för autentisering krävs",
-      "ACCEPTURL_MUST_VALID_URL": "Acceptera URL måste vara skrivna på ett giltigt format",
-      "TIMEOUT_REQUIRED": "Väntetiden är obligatoriskt",
-      "REJECTURL_MUST_VALID_URL": "Avvisa URL måste vara skrivna på ett giltigt format",
-      "CLOSEURL_MUST_VALID_URL": "Stäng URL måste vara skrivna på ett giltigt format",
-      "AGENT_REQUIRED": "Agenten är obligatoriskt",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Timeout måste vara större än eller lika med",
-      "DISPOSITION_REQUIRED": "Dispositionen är obligatoriskt",
-      "CONDITION_REQUIRED": "Skicket är obligatoriskt",
-      "TRUEPRIORITY_REQUIRED": "Den verkliga prioriterade krävs",
-      "FALSEPRIORITY_REQUIRED": "Den falska prioritering krävs",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den riktiga prioriteringen måste vara större än eller lika med",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den falska prioritet måste vara större än eller lika med",
-      "PRIORITY_REQUIRED": "Den prioritet som krävs",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioritet måste vara större än eller lika med",
-      "QUEUE_REQUIRED": "Kön är obligatoriskt",
-      "LIST_REQUIRED": "Listan krävs",
-      "PASSWORD_REQUIRED": "Lösenord krävs",
       "SERVICE_REQUIRED": "Service krävs",
       "IMAP_HOST_REQUIRED": "Det IMAP-värden krävs",
       "IMAP_PORT_REQUIRED": "Det IMAP-port krävs",
       "SMTP_HOST_REQUIRED": "SMTP-värd är obligatoriskt",
       "SMTP_PORT_REQUIRED": "SMTP-port krävs",
       "CONFIRM_NOT_MATCH": "Lösenord don' t matchar",
-      "KEY_MAX_LENGTH": "Nyckeln måste ha en maximal längd lika med {{max}}",
-      "KEY_REQUIRED": "Nyckeln är obligatoriskt",
-      "TEXT_MAX_LENGTH": "Värdet måste ha en maximal längd som är lika med {{max}}",
-      "VALUE_REQUIRED": "Obligatoriskt fält",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "FONT_SIZE_REQUIRED": "Obligatoriskt fält",
-      "COMMAND_REQUIRED": "Obligatoriskt fält",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "NAME_MUST_VALID_PATTERN": "Fel format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriskt fält",
-      "TAG_REQUIRED": "Obligatoriskt fält",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält"
+      "FONT_SIZE_REQUIRED": "Obligatoriskt fält"
     },
     "AGENT_TIMEOUT": "Tidsgräns för agent",
     "DESCRIPTION": "Beskrivning",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Åtgärder",
     "OTHERS": "Andra",
-    "LIST": "Lista",
     "TEMPLATE": "Mall",
     "FIDELITY": "Fidelity",
     "SERVICE": "Service",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Alla grupper",
     "SELECTED_TEAMS": "Valda grupper",
     "HELP": {
-      "NAME": "Endast siffror, bokstäver och särskilda tecken (_) stöds",
       "USERNAME": "Användarnamn används för autentisering",
       "PASSWORD": "Lösenord används för autentisering",
       "SECURE": "Om true connection använder TLS för att ansluta till servern",
       "FONT_FAMILY": "Standardfontsfamilj",
       "FONT_SIZE": "Standard typsnittstyp",
-      "MARK_AS_UNREAD": "Aktivera / inaktivera agent för att markera som oläst det senaste meddelandet om en interaktion",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa för användning när obligatorisk disposition är aktiverad"
+      "MARK_AS_UNREAD": "Aktivera / inaktivera agent för att markera som oläst det senaste meddelandet om en interaktion"
     },
     "PAGE": "Sidan",
     "ROWSPERPAGE": "Rader per sida",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Hämta utan bilagor",
     "DOWNLOAD_WITH_ATTACHMENTS": "Ladda ner med bilagor",
     "TEAMS_ASSOCIATION": "Team Association",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa för att använda om obligatorisk disposition är aktiverad",
     "ADVANCED": "Avancerad",
     "TOOLTIP_SCREENRECORDING_OFF": "Skärminspelning tillgänglig",
     "TOOLTIP_SCREENRECORDING_ON": "Skärminspelning pågår",
diff --git a/public/app/main/apps/mail/i18n/tr.json b/public/app/main/apps/mail/i18n/tr.json
index 125a8d7..992eeca 100644
--- a/public/app/main/apps/mail/i18n/tr.json
+++ b/public/app/main/apps/mail/i18n/tr.json
@@ -19,67 +19,24 @@
     "SEND": "Gönder",
     "ATTACHMENT": "Ek",
     "ATTACHMENTS": "Ekleri",
-    "NAME": "Adı",
     "MAILQUEUES": "Posta Kuyrukları",
     "SEARCH_FOR_ANYONE": "Arama herkesin",
     "STRATEGY": "Strateji",
     "ERRORS": {
-      "TEXT_REQUIRED": "Alan metin gerekiyor",
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "AGENT_TIMEOUT_REQUIRED": "Ajan zaman gerekiyor.",
       "EMAIL_ADDRESS_REQUIRED": "E-Posta Adresi gerekli",
       "EMAIL_ADDRESS_MUST_VALID": "E-Posta Adresi yazılmış olması gerekir. geçerli bir format",
-      "HOST_REQUIRED": "Ana gerekiyor.",
-      "USERNAME_REQUIRED": "Kullanıcı Adı gerekiyor",
       "PORT_REQUIRED": "Port gerekiyor.",
       "CONNTIMEOUT_REQUIRED": "Bağlantı zaman aşımı gerekiyor.",
       "AUTHTIMEOUT_REQUIRED": "Kimlik Doğrulama Zaman Aşımı gerekiyor.",
-      "ACCEPTURL_MUST_VALID_URL": "Kabul URL yazılmış olması gerekir. geçerli bir format",
-      "TIMEOUT_REQUIRED": "Zaman Aşımı gerekiyor.",
-      "REJECTURL_MUST_VALID_URL": "Reddetme URL yazılmış olması gerekir. geçerli bir format",
-      "CLOSEURL_MUST_VALID_URL": "Kapat URL yazılmış olması gerekir. geçerli bir format",
-      "AGENT_REQUIRED": "Ajan gerekli",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Zaman Aşımı eşit veya daha büyük olmalıdır.",
-      "DISPOSITION_REQUIRED": "Eğilim gerekli",
-      "CONDITION_REQUIRED": "Bu durumda gerekli",
-      "TRUEPRIORITY_REQUIRED": "Gerçek Öncelik gerekli",
-      "FALSEPRIORITY_REQUIRED": "Yanlış Öncelik gerekli",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Gerçek Öncelik eşit veya daha büyük olmalıdır.",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Yanlış Öncelik eşit veya daha büyük olmalıdır.",
-      "PRIORITY_REQUIRED": "Öncelikli olarak gerekli",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Öncelik eşit veya daha büyük olmalıdır.",
-      "QUEUE_REQUIRED": "Kuyruk gerekli",
-      "LIST_REQUIRED": "Liste, gerekli",
-      "PASSWORD_REQUIRED": "Parola gerekli",
       "SERVICE_REQUIRED": "Servis gerekli",
       "IMAP_HOST_REQUIRED": "IMAP Host gerekiyor.",
       "IMAP_PORT_REQUIRED": "IMAP Port gerekiyor.",
       "SMTP_HOST_REQUIRED": "SMTP Host gerekiyor.",
       "SMTP_PORT_REQUIRED": "SMTP Port gerekiyor.",
       "CONFIRM_NOT_MATCH": "Parolalar don' t match",
-      "KEY_MAX_LENGTH": "Anahtar maksimum uzunluğu eşit {{maks.}}",
-      "KEY_REQUIRED": "Anahtar gerekiyor.",
-      "TEXT_MAX_LENGTH": "Değer, {{max}} değerine eşit bir maksimum uzunluğa sahip olmalıdır.",
-      "VALUE_REQUIRED": "Zorunlu alan",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "FONT_SIZE_REQUIRED": "Zorunlu alan",
-      "COMMAND_REQUIRED": "Zorunlu alan",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "NAME_MUST_VALID_PATTERN": "Yanlış format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Zorunlu alan",
-      "TAG_REQUIRED": "Zorunlu alan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan"
+      "FONT_SIZE_REQUIRED": "Zorunlu alan"
     },
     "AGENT_TIMEOUT": "Ajan Zaman Aşımı",
     "DESCRIPTION": "Açıklama",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Eylemler",
     "OTHERS": "Diğerleri",
-    "LIST": "Listesi",
     "TEMPLATE": "Şablon",
     "FIDELITY": "Doğruluğu",
     "SERVICE": "Servis",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "Tüm takımlar",
     "SELECTED_TEAMS": "Seçilen Ekipleri",
     "HELP": {
-      "NAME": "Sadece sayılar, harfler ve özel karakterler (._) desteklenir.",
       "USERNAME": "Kullanıcı kimlik doğrulaması için kullanılan",
       "PASSWORD": "Parola kimlik doğrulaması için kullanılan",
       "SECURE": "Eğer gerçek bir bağlantı, TLS, sunucu",
       "FONT_FAMILY": "Varsayılan Font Ailesi",
       "FONT_SIZE": "Varsayılan Yazı Tipi Boyutu",
-      "MARK_AS_UNREAD": "Bir etkileşimin son mesajını okunmamış olarak işaretlemek için Etkinleştir / Devre dışı bırak",
-      "MANDATORYDISPOSITION": "Zorunlu düzenleme",
-      "MANDATORYDISPOSITIONPAUSEID": "Zorunlu bırakma etkin olduğunda kullanmak için duraklat"
+      "MARK_AS_UNREAD": "Bir etkileşimin son mesajını okunmamış olarak işaretlemek için Etkinleştir / Devre dışı bırak"
     },
     "PAGE": "Sayfa",
     "ROWSPERPAGE": "Sayfadaki satırları",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "Eksiz indir",
     "DOWNLOAD_WITH_ATTACHMENTS": "Eklerle indir",
     "TEAMS_ASSOCIATION": "Takımlar Birliği",
-    "MANDATORYDISPOSITION": "Zorunlu düzenleme",
-    "MANDATORYDISPOSITIONPAUSEID": "Zorunlu bırakma etkinse, kullanımı duraklat",
     "ADVANCED": "ileri",
     "TOOLTIP_SCREENRECORDING_OFF": "Ekran Kaydı mevcut",
     "TOOLTIP_SCREENRECORDING_ON": "Ekran Kaydı devam ediyor",
diff --git a/public/app/main/apps/mail/i18n/zh-CN.json b/public/app/main/apps/mail/i18n/zh-CN.json
index 166e78f..53bdd6d 100644
--- a/public/app/main/apps/mail/i18n/zh-CN.json
+++ b/public/app/main/apps/mail/i18n/zh-CN.json
@@ -19,67 +19,24 @@
     "SEND": "发送",
     "ATTACHMENT": "附件",
     "ATTACHMENTS": "附件",
-    "NAME": "名称",
     "MAILQUEUES": "邮件队列。",
     "SEARCH_FOR_ANYONE": "搜索任何人",
     "STRATEGY": "战略",
     "ERRORS": {
-      "TEXT_REQUIRED": "在字段中的文本是必需的",
-      "NAME_REQUIRED": "该名称是必需的",
-      "AGENT_TIMEOUT_REQUIRED": "代理超时是必需的",
       "EMAIL_ADDRESS_REQUIRED": "电子邮件地址是必填项",
       "EMAIL_ADDRESS_MUST_VALID": "该电子邮件地址必须写的格式无效",
-      "HOST_REQUIRED": "主机是必需的",
-      "USERNAME_REQUIRED": "用户名是必需的",
       "PORT_REQUIRED": "该端口是必需的",
       "CONNTIMEOUT_REQUIRED": "连接超时是必需的",
       "AUTHTIMEOUT_REQUIRED": "身份验证超时是必需的",
-      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必须是书面的格式无效",
-      "TIMEOUT_REQUIRED": "超时是必需的",
-      "REJECTURL_MUST_VALID_URL": "“拒绝” 的 URL 必须是书面的格式无效",
-      "CLOSEURL_MUST_VALID_URL": "关闭 URL 必须是书面的格式无效",
-      "AGENT_REQUIRED": "业务代表是必需的",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "超时值必须大于或等于",
-      "DISPOSITION_REQUIRED": "性情是必需的",
-      "CONDITION_REQUIRED": "但条件是必需的",
-      "TRUEPRIORITY_REQUIRED": "真正的优先级是必需的",
-      "FALSEPRIORITY_REQUIRED": "虚假的优先级是必需的",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "真正的优先级必须大于或等于",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "虚假的优先级必须大于或等于",
-      "PRIORITY_REQUIRED": "优先级是必需的",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "优先级必须大于或等于",
-      "QUEUE_REQUIRED": "该队列是必需的",
-      "LIST_REQUIRED": "该列表是必需的",
-      "PASSWORD_REQUIRED": "密码是必需的",
       "SERVICE_REQUIRED": "该服务是必需的",
       "IMAP_HOST_REQUIRED": "IMAP 主机需要",
       "IMAP_PORT_REQUIRED": "IMAP 端口是必需的",
       "SMTP_HOST_REQUIRED": "主机的 SMTP 是必需的",
       "SMTP_PORT_REQUIRED": "在 SMTP 端口是必需的",
       "CONFIRM_NOT_MATCH": "这两个密码 don ' t 匹配。",
-      "KEY_MAX_LENGTH": "密钥必须有一个最大长度等于最大值{{}}",
-      "KEY_REQUIRED": "最重要的是必需的",
-      "TEXT_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
-      "VALUE_REQUIRED": "必填项",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "FONT_SIZE_REQUIRED": "必填项",
-      "COMMAND_REQUIRED": "必填项",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "NAME_MUST_VALID_PATTERN": "错误的格式",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填项",
-      "TAG_REQUIRED": "必填项",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填项",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填项",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项"
+      "FONT_SIZE_REQUIRED": "必填项"
     },
     "AGENT_TIMEOUT": "代理超时",
     "DESCRIPTION": "描述",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "采取的行动",
     "OTHERS": "其他人",
-    "LIST": "列表",
     "TEMPLATE": "模板。",
     "FIDELITY": "保真度",
     "SERVICE": "服务",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "所有的团队",
     "SELECTED_TEAMS": "选定的组",
     "HELP": {
-      "NAME": "只有数字、字母和特殊字符(_)的支持",
       "USERNAME": "用于身份验证的用户名",
       "PASSWORD": "用于身份验证的密码。",
       "SECURE": "如果为真则连接将使用 TLS 当连接到服务器",
       "FONT_FAMILY": "默认字体系列",
       "FONT_SIZE": "默认字体大小",
-      "MARK_AS_UNREAD": "启用/禁用代理标记为未读取交互的最后一条消息",
-      "MANDATORYDISPOSITION": "强制性处分",
-      "MANDATORYDISPOSITIONPAUSEID": "启用强制配置时暂停使用"
+      "MARK_AS_UNREAD": "启用/禁用代理标记为未读取交互的最后一条消息"
     },
     "PAGE": "页面",
     "ROWSPERPAGE": "每页的行数。",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "下载没有附件",
     "DOWNLOAD_WITH_ATTACHMENTS": "下载附件",
     "TEAMS_ASSOCIATION": "团队协会",
-    "MANDATORYDISPOSITION": "强制性处分",
-    "MANDATORYDISPOSITIONPAUSEID": "如果启用了强制性处置，则暂停使用",
     "ADVANCED": "高级",
     "TOOLTIP_SCREENRECORDING_OFF": "屏幕录像可用",
     "TOOLTIP_SCREENRECORDING_ON": "屏幕录制正在进行中",
diff --git a/public/app/main/apps/mail/i18n/zh-TW.json b/public/app/main/apps/mail/i18n/zh-TW.json
index 1119941..31fa852 100644
--- a/public/app/main/apps/mail/i18n/zh-TW.json
+++ b/public/app/main/apps/mail/i18n/zh-TW.json
@@ -19,67 +19,24 @@
     "SEND": "傳送",
     "ATTACHMENT": "附件",
     "ATTACHMENTS": "附件",
-    "NAME": "名稱",
     "MAILQUEUES": "郵件佇列",
     "SEARCH_FOR_ANYONE": "搜尋使用者",
     "STRATEGY": "策略",
     "ERRORS": {
-      "TEXT_REQUIRED": "文字欄位是必填項",
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "AGENT_TIMEOUT_REQUIRED": "「值機人員逾時為必填欄位",
       "EMAIL_ADDRESS_REQUIRED": "「電子郵件地址」為必填欄位",
       "EMAIL_ADDRESS_MUST_VALID": "電子郵件地址必須以有效的格式",
-      "HOST_REQUIRED": "主機是必填欄位",
-      "USERNAME_REQUIRED": "使用者名稱為必要資訊",
       "PORT_REQUIRED": "連接埠為必填欄位",
       "CONNTIMEOUT_REQUIRED": "連線逾時的必填欄位",
       "AUTHTIMEOUT_REQUIRED": "驗證逾時為必填欄位",
-      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必須以有效的格式",
-      "TIMEOUT_REQUIRED": "逾時時間為必要資訊",
-      "REJECTURL_MUST_VALID_URL": "拒絕 URL 必須以有效的格式",
-      "CLOSEURL_MUST_VALID_URL": "關閉的 URL 必須以有效的格式",
-      "AGENT_REQUIRED": "「值機員必須",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "超時必須大於或等於",
-      "DISPOSITION_REQUIRED": "處理要求",
-      "CONDITION_REQUIRED": "需要的條件",
-      "TRUEPRIORITY_REQUIRED": "真正的重點是必填項",
-      "FALSEPRIORITY_REQUIRED": "這個錯誤的優先順序是必要的",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "真正的優先權必須大於或等於",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "這個錯誤的優先順序必須大於或等於",
-      "PRIORITY_REQUIRED": "優先級",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "優先必須大於或等於",
-      "QUEUE_REQUIRED": "需要的佇列",
-      "LIST_REQUIRED": "該列表是必需的",
-      "PASSWORD_REQUIRED": "需要密碼",
       "SERVICE_REQUIRED": "該服務是必要的",
       "IMAP_HOST_REQUIRED": "IMAP 主機需要",
       "IMAP_PORT_REQUIRED": "IMAP 連接埠為必填",
       "SMTP_HOST_REQUIRED": "SMTP 主機需要",
       "SMTP_PORT_REQUIRED": "SMTP 端口是必需的",
       "CONFIRM_NOT_MATCH": "密碼 don ’ t match",
-      "KEY_MAX_LENGTH": "金鑰必須具有最大長度等於 { { 最大 } }",
-      "KEY_REQUIRED": "最重要的是要求",
-      "TEXT_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
-      "VALUE_REQUIRED": "必填項",
       "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
       "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "FONT_SIZE_REQUIRED": "必填項",
-      "COMMAND_REQUIRED": "必填項",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "NAME_MUST_VALID_PATTERN": "錯誤的格式",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填項",
-      "TAG_REQUIRED": "必填項",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填項",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填項",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項"
+      "FONT_SIZE_REQUIRED": "必填項"
     },
     "AGENT_TIMEOUT": "值機人員等候逾時",
     "DESCRIPTION": "說明",
@@ -98,7 +55,6 @@
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "動作",
     "OTHERS": "其他人",
-    "LIST": "清單",
     "TEMPLATE": "範本",
     "FIDELITY": "準確性",
     "SERVICE": "服務",
@@ -147,15 +103,12 @@
     "ALL_TEAMS": "所有群組",
     "SELECTED_TEAMS": "選取群組",
     "HELP": {
-      "NAME": "只有數字、字母和特殊字元 ( _ ) 都受到支援",
       "USERNAME": "用於驗證使用者名稱",
       "PASSWORD": "使用密碼進行驗證",
       "SECURE": "如果真的連線將會連線至伺服器時使用 TLS",
       "FONT_FAMILY": "默認字體系列",
       "FONT_SIZE": "默認字體大小",
-      "MARK_AS_UNREAD": "啟用/禁用代理標記為未讀取交互的最後一條消息",
-      "MANDATORYDISPOSITION": "強制性處分",
-      "MANDATORYDISPOSITIONPAUSEID": "啟用強製配置時暫停使用"
+      "MARK_AS_UNREAD": "啟用/禁用代理標記為未讀取交互的最後一條消息"
     },
     "PAGE": "頁面",
     "ROWSPERPAGE": "每頁行數",
@@ -312,8 +265,6 @@
     "DOWNLOAD_WITHOUT_ATTACHMENTS": "下載沒有附件",
     "DOWNLOAD_WITH_ATTACHMENTS": "下載附件",
     "TEAMS_ASSOCIATION": "團隊協會",
-    "MANDATORYDISPOSITION": "強制性處分",
-    "MANDATORYDISPOSITIONPAUSEID": "如果啟用了強制性處置，則暫停使用",
     "ADVANCED": "高級",
     "TOOLTIP_SCREENRECORDING_OFF": "屏幕錄像可用",
     "TOOLTIP_SCREENRECORDING_ON": "屏幕錄製正在進行中",
diff --git a/public/app/main/apps/marketplace/i18n/ar.json b/public/app/main/apps/marketplace/i18n/ar.json
index 235afae..9d99ca2 100644
--- a/public/app/main/apps/marketplace/i18n/ar.json
+++ b/public/app/main/apps/marketplace/i18n/ar.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "حقل الزامي"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "نشيط",
     "ADMINURL": "عنوان المسؤول",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "تثبيت المكوِّن الإضافي",
     "MARKETPLACE": "App Zone",
     "MORE": "أكثر من",
-    "NAME": "اسم",
     "NO_AVAILABLE_INFO": "لا توجد معلومات متاحة",
     "OF": "من",
     "PAGE": "صفحة",
@@ -42,7 +39,6 @@
     "SETTINGS": "إعدادات",
     "SIDEBAR": "الشريط الجانبي",
     "STOP_PLUGIN": "توقف البرنامج المساعد",
-    "TYPE": "اكتب",
     "UNINSTALL_PLUGIN": "إلغاء تثبيت المكون الإضافي",
     "UPLOADING": "تحميل",
     "UPLOAD_PLUGIN": "تحميل المكوِّن الإضافي",
diff --git a/public/app/main/apps/marketplace/i18n/cs.json b/public/app/main/apps/marketplace/i18n/cs.json
index e80fbe2..7d62cd3 100644
--- a/public/app/main/apps/marketplace/i18n/cs.json
+++ b/public/app/main/apps/marketplace/i18n/cs.json
@@ -7,10 +7,8 @@
     "SELECTED": "Selected",
     "SELECT_ALL": "Select all",
     "SELECT_NONE": "Select none",
-    "NAME": "Name",
     "DESCRIPTION": "Description",
     "ACTIVE": "Active",
-    "TYPE": "Type",
     "ICON": "Icon",
     "ADMINURL": "Admin url",
     "AGENTURL": "Agent url",
@@ -40,9 +38,7 @@
     "GENERAL": "General",
     "SETTINGS": "Settings",
     "EDITOR": "Editor",
-    "ERRORS": {
-      "URL_REQUIRED": "Mandatory field"
-    },
+    "ERRORS": {},
     "HELP": {},
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/marketplace/i18n/da.json b/public/app/main/apps/marketplace/i18n/da.json
index 3bd5ad2..df6e6db 100644
--- a/public/app/main/apps/marketplace/i18n/da.json
+++ b/public/app/main/apps/marketplace/i18n/da.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Obligatorisk felt"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktiv",
     "ADMINURL": "Admin url",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Installer plugin",
     "MARKETPLACE": "App Zone",
     "MORE": "Mere",
-    "NAME": "Navn",
     "NO_AVAILABLE_INFO": "Ingen tilgængelig info",
     "OF": "af",
     "PAGE": "Side",
@@ -42,7 +39,6 @@
     "SETTINGS": "Indstillinger",
     "SIDEBAR": "Sidebar",
     "STOP_PLUGIN": "Stop plugin",
-    "TYPE": "Type",
     "UNINSTALL_PLUGIN": "Afinstaller plugin",
     "UPLOADING": "Upload",
     "UPLOAD_PLUGIN": "Upload plugin",
diff --git a/public/app/main/apps/marketplace/i18n/de.json b/public/app/main/apps/marketplace/i18n/de.json
index f150ff2..16e8a0a 100644
--- a/public/app/main/apps/marketplace/i18n/de.json
+++ b/public/app/main/apps/marketplace/i18n/de.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Pflichtfeld"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktiv",
     "ADMINURL": "Admin-URL",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "PIugin installieren",
     "MARKETPLACE": "App Zone",
     "MORE": "Mehr",
-    "NAME": "Name",
     "NO_AVAILABLE_INFO": "Keine verfügbaren Informationen",
     "OF": "von",
     "PAGE": "Seite",
@@ -42,7 +39,6 @@
     "SETTINGS": "die Einstellungen",
     "SIDEBAR": "Seitenleiste",
     "STOP_PLUGIN": "Stoppen Sie das Plugin",
-    "TYPE": "Art",
     "UNINSTALL_PLUGIN": "Plugin deinstallieren",
     "UPLOADING": "Hochladen",
     "UPLOAD_PLUGIN": "Plugin hochladen",
diff --git a/public/app/main/apps/marketplace/i18n/en.json b/public/app/main/apps/marketplace/i18n/en.json
index e80fbe2..7d62cd3 100644
--- a/public/app/main/apps/marketplace/i18n/en.json
+++ b/public/app/main/apps/marketplace/i18n/en.json
@@ -7,10 +7,8 @@
     "SELECTED": "Selected",
     "SELECT_ALL": "Select all",
     "SELECT_NONE": "Select none",
-    "NAME": "Name",
     "DESCRIPTION": "Description",
     "ACTIVE": "Active",
-    "TYPE": "Type",
     "ICON": "Icon",
     "ADMINURL": "Admin url",
     "AGENTURL": "Agent url",
@@ -40,9 +38,7 @@
     "GENERAL": "General",
     "SETTINGS": "Settings",
     "EDITOR": "Editor",
-    "ERRORS": {
-      "URL_REQUIRED": "Mandatory field"
-    },
+    "ERRORS": {},
     "HELP": {},
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/marketplace/i18n/es.json b/public/app/main/apps/marketplace/i18n/es.json
index a85d3cb..9018ff4 100644
--- a/public/app/main/apps/marketplace/i18n/es.json
+++ b/public/app/main/apps/marketplace/i18n/es.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Campo obligatorio"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Activo",
     "ADMINURL": "URL de administrador",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Instalar complemento",
     "MARKETPLACE": "App Zone",
     "MORE": "Más",
-    "NAME": "Nombre",
     "NO_AVAILABLE_INFO": "No hay información disponible",
     "OF": "de",
     "PAGE": "Página",
@@ -42,7 +39,6 @@
     "SETTINGS": "Configuraciones",
     "SIDEBAR": "Barra lateral",
     "STOP_PLUGIN": "Deja de conectar",
-    "TYPE": "Tipo",
     "UNINSTALL_PLUGIN": "Desinstalar plugin",
     "UPLOADING": "Cargando",
     "UPLOAD_PLUGIN": "Subir plugin",
diff --git a/public/app/main/apps/marketplace/i18n/et.json b/public/app/main/apps/marketplace/i18n/et.json
index e80fbe2..7d62cd3 100644
--- a/public/app/main/apps/marketplace/i18n/et.json
+++ b/public/app/main/apps/marketplace/i18n/et.json
@@ -7,10 +7,8 @@
     "SELECTED": "Selected",
     "SELECT_ALL": "Select all",
     "SELECT_NONE": "Select none",
-    "NAME": "Name",
     "DESCRIPTION": "Description",
     "ACTIVE": "Active",
-    "TYPE": "Type",
     "ICON": "Icon",
     "ADMINURL": "Admin url",
     "AGENTURL": "Agent url",
@@ -40,9 +38,7 @@
     "GENERAL": "General",
     "SETTINGS": "Settings",
     "EDITOR": "Editor",
-    "ERRORS": {
-      "URL_REQUIRED": "Mandatory field"
-    },
+    "ERRORS": {},
     "HELP": {},
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/marketplace/i18n/fa.json b/public/app/main/apps/marketplace/i18n/fa.json
index bf299e5..dcdc18a 100644
--- a/public/app/main/apps/marketplace/i18n/fa.json
+++ b/public/app/main/apps/marketplace/i18n/fa.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "زمینه اجباری"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "فعال",
     "ADMINURL": "آدرس اینترنتی",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "نصب پلاگین",
     "MARKETPLACE": "App Zone",
     "MORE": "بیشتر",
-    "NAME": "نام",
     "NO_AVAILABLE_INFO": "اطلاعات موجود نیست",
     "OF": "از",
     "PAGE": "صفحه",
@@ -42,7 +39,6 @@
     "SETTINGS": "تنظیمات",
     "SIDEBAR": "نوار کناری",
     "STOP_PLUGIN": "پلاگین را متوقف کنید",
-    "TYPE": "تایپ کنید",
     "UNINSTALL_PLUGIN": "پلاگین را حذف کنید",
     "UPLOADING": "آپلود",
     "UPLOAD_PLUGIN": "آپلود افزونه",
diff --git a/public/app/main/apps/marketplace/i18n/fi.json b/public/app/main/apps/marketplace/i18n/fi.json
index be3860b..03f6ed1 100644
--- a/public/app/main/apps/marketplace/i18n/fi.json
+++ b/public/app/main/apps/marketplace/i18n/fi.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Pakollinen kenttä"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "aktiivinen",
     "ADMINURL": "Admin url",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Asenna laajennus",
     "MARKETPLACE": "App Zone",
     "MORE": "Lisää",
-    "NAME": "Nimi",
     "NO_AVAILABLE_INFO": "Ei saatavilla",
     "OF": "of",
     "PAGE": "Sivu",
@@ -42,7 +39,6 @@
     "SETTINGS": "asetukset",
     "SIDEBAR": "sivupalkki",
     "STOP_PLUGIN": "Pysäytä plugin",
-    "TYPE": "Tyyppi",
     "UNINSTALL_PLUGIN": "Poista asennuksen poistaminen",
     "UPLOADING": "lataaminen",
     "UPLOAD_PLUGIN": "Lähetä plugin",
diff --git a/public/app/main/apps/marketplace/i18n/fr.json b/public/app/main/apps/marketplace/i18n/fr.json
index edbcd90..e923421 100644
--- a/public/app/main/apps/marketplace/i18n/fr.json
+++ b/public/app/main/apps/marketplace/i18n/fr.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Champ obligatoire"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "actif",
     "ADMINURL": "URL d'administration",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Installer le plugin",
     "MARKETPLACE": "App Zone",
     "MORE": "Plus",
-    "NAME": "prénom",
     "NO_AVAILABLE_INFO": "Aucune information disponible",
     "OF": "de",
     "PAGE": "Page",
@@ -42,7 +39,6 @@
     "SETTINGS": "Paramètres",
     "SIDEBAR": "Barre latérale",
     "STOP_PLUGIN": "Arrêter le plugin",
-    "TYPE": "Type",
     "UNINSTALL_PLUGIN": "Désinstallez le plugin",
     "UPLOADING": "Téléchargement",
     "UPLOAD_PLUGIN": "Télécharger le plugin",
diff --git a/public/app/main/apps/marketplace/i18n/he.json b/public/app/main/apps/marketplace/i18n/he.json
index c3cb181..304f040 100644
--- a/public/app/main/apps/marketplace/i18n/he.json
+++ b/public/app/main/apps/marketplace/i18n/he.json
@@ -7,10 +7,8 @@
     "SELECTED": "נבחר/ו",
     "SELECT_ALL": "בחר הכול",
     "SELECT_NONE": "אל תבחר אף פריט",
-    "NAME": "שם",
     "DESCRIPTION": "תיאור",
     "ACTIVE": "פעיל",
-    "TYPE": "סוג",
     "ICON": "סמל",
     "ADMINURL": "כתובת URL של מנהל מערכת",
     "AGENTURL": "כתובת URL של נציג",
@@ -40,9 +38,7 @@
     "GENERAL": "כללי",
     "SETTINGS": "הגדרות",
     "EDITOR": "עורך",
-    "ERRORS": {
-      "URL_REQUIRED": "שדה חובה"
-    },
+    "ERRORS": {},
     "HELP": {},
     "PAGE": "דף",
     "ROWSPERPAGE": "שורות בדף",
diff --git a/public/app/main/apps/marketplace/i18n/hi.json b/public/app/main/apps/marketplace/i18n/hi.json
index 1170227..5452ca8 100644
--- a/public/app/main/apps/marketplace/i18n/hi.json
+++ b/public/app/main/apps/marketplace/i18n/hi.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "आवश्यक स्थान"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "सक्रिय",
     "ADMINURL": "व्यवस्थापक यूआरएल",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "प्लग मैं स्थापित",
     "MARKETPLACE": "App Zone",
     "MORE": "अधिक",
-    "NAME": "नाम",
     "NO_AVAILABLE_INFO": "कोई उपलब्ध जानकारी नहीं",
     "OF": "का",
     "PAGE": "पृष्ठ",
@@ -42,7 +39,6 @@
     "SETTINGS": "सेटिंग्स",
     "SIDEBAR": "साइडबार",
     "STOP_PLUGIN": "प्लग - इन बंद करें",
-    "TYPE": "प्रकार",
     "UNINSTALL_PLUGIN": "अनइंस्टॉल प्लगइन",
     "UPLOADING": "अपलोड हो रहा है",
     "UPLOAD_PLUGIN": "प्लगइन अपलोड करें",
diff --git a/public/app/main/apps/marketplace/i18n/id.json b/public/app/main/apps/marketplace/i18n/id.json
index c4fbe7e..8a44c87 100644
--- a/public/app/main/apps/marketplace/i18n/id.json
+++ b/public/app/main/apps/marketplace/i18n/id.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Bidang wajib"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktif",
     "ADMINURL": "Url admin",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Instal plugin",
     "MARKETPLACE": "App Zone",
     "MORE": "Lebih",
-    "NAME": "Nama",
     "NO_AVAILABLE_INFO": "Tidak ada info",
     "OF": "dari",
     "PAGE": "Halaman",
@@ -42,7 +39,6 @@
     "SETTINGS": "Pengaturan",
     "SIDEBAR": "Sidebar",
     "STOP_PLUGIN": "Hentikan plugin",
-    "TYPE": "Mengetik",
     "UNINSTALL_PLUGIN": "Copot pemasangan plugin",
     "UPLOADING": "Mengunggah",
     "UPLOAD_PLUGIN": "Unggah plugin",
diff --git a/public/app/main/apps/marketplace/i18n/it.json b/public/app/main/apps/marketplace/i18n/it.json
index 68e0c53..b3cb030 100644
--- a/public/app/main/apps/marketplace/i18n/it.json
+++ b/public/app/main/apps/marketplace/i18n/it.json
@@ -7,10 +7,8 @@
     "SELECTED": "Selezionati",
     "SELECT_ALL": "Seleziona tutto",
     "SELECT_NONE": "Deseleziona tutto",
-    "NAME": "Nome",
     "DESCRIPTION": "Descrizione",
     "ACTIVE": "Attivo",
-    "TYPE": "Tipo",
     "ICON": "Icona",
     "ADMINURL": "Url admin",
     "AGENTURL": "Url agente",
@@ -40,9 +38,7 @@
     "GENERAL": "Generale",
     "SETTINGS": "Impostazioni",
     "EDITOR": "Editor",
-    "ERRORS": {
-      "URL_REQUIRED": "Campo obbligatorio"
-    },
+    "ERRORS": {},
     "HELP": {},
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Righe per pagina",
diff --git a/public/app/main/apps/marketplace/i18n/ja.json b/public/app/main/apps/marketplace/i18n/ja.json
index 3fd4f57..a27712a 100644
--- a/public/app/main/apps/marketplace/i18n/ja.json
+++ b/public/app/main/apps/marketplace/i18n/ja.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "必須フィールド"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "アクティブ",
     "ADMINURL": "管理者のURL",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "プラグインをインストールする",
     "MARKETPLACE": "App Zone",
     "MORE": "もっと",
-    "NAME": "名",
     "NO_AVAILABLE_INFO": "利用可能な情報がありません",
     "OF": "の",
     "PAGE": "ページ",
@@ -42,7 +39,6 @@
     "SETTINGS": "設定",
     "SIDEBAR": "サイドバー",
     "STOP_PLUGIN": "プラグインを停止",
-    "TYPE": "タイプ",
     "UNINSTALL_PLUGIN": "プラグインのアンインストール",
     "UPLOADING": "アップロード中",
     "UPLOAD_PLUGIN": "アップロードプラグイン",
diff --git a/public/app/main/apps/marketplace/i18n/ko.json b/public/app/main/apps/marketplace/i18n/ko.json
index 29c0869..8fa1e1d 100644
--- a/public/app/main/apps/marketplace/i18n/ko.json
+++ b/public/app/main/apps/marketplace/i18n/ko.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "필수 필드"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "유효한",
     "ADMINURL": "관리자 URL",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "플러그인 설치",
     "MARKETPLACE": "App Zone",
     "MORE": "더",
-    "NAME": "이름",
     "NO_AVAILABLE_INFO": "사용 가능한 정보가 없습니다.",
     "OF": "의",
     "PAGE": "페이지",
@@ -42,7 +39,6 @@
     "SETTINGS": "설정",
     "SIDEBAR": "사이드 바",
     "STOP_PLUGIN": "플러그인 중지",
-    "TYPE": "유형",
     "UNINSTALL_PLUGIN": "플러그인 제거",
     "UPLOADING": "업로드 중",
     "UPLOAD_PLUGIN": "플러그인 업로드",
diff --git a/public/app/main/apps/marketplace/i18n/lt.json b/public/app/main/apps/marketplace/i18n/lt.json
index e80fbe2..7d62cd3 100644
--- a/public/app/main/apps/marketplace/i18n/lt.json
+++ b/public/app/main/apps/marketplace/i18n/lt.json
@@ -7,10 +7,8 @@
     "SELECTED": "Selected",
     "SELECT_ALL": "Select all",
     "SELECT_NONE": "Select none",
-    "NAME": "Name",
     "DESCRIPTION": "Description",
     "ACTIVE": "Active",
-    "TYPE": "Type",
     "ICON": "Icon",
     "ADMINURL": "Admin url",
     "AGENTURL": "Agent url",
@@ -40,9 +38,7 @@
     "GENERAL": "General",
     "SETTINGS": "Settings",
     "EDITOR": "Editor",
-    "ERRORS": {
-      "URL_REQUIRED": "Mandatory field"
-    },
+    "ERRORS": {},
     "HELP": {},
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/marketplace/i18n/lv.json b/public/app/main/apps/marketplace/i18n/lv.json
index 154c0b7..277a631 100644
--- a/public/app/main/apps/marketplace/i18n/lv.json
+++ b/public/app/main/apps/marketplace/i18n/lv.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Obligāts lauks"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktīvs",
     "ADMINURL": "Administratora tīmekļa adrese",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Instalēt spraudni",
     "MARKETPLACE": "App Zone",
     "MORE": "Vairāk",
-    "NAME": "Nosaukums",
     "NO_AVAILABLE_INFO": "Informācija nav pieejama",
     "OF": "no",
     "PAGE": "Lappuse",
@@ -42,7 +39,6 @@
     "SETTINGS": "Iestatījumi",
     "SIDEBAR": "Sānjosla",
     "STOP_PLUGIN": "Pārtraukt spraudni",
-    "TYPE": "Tips",
     "UNINSTALL_PLUGIN": "Atinstalēt spraudni",
     "UPLOADING": "Augšupielāde",
     "UPLOAD_PLUGIN": "Augšupielādēt spraudni",
diff --git a/public/app/main/apps/marketplace/i18n/nl.json b/public/app/main/apps/marketplace/i18n/nl.json
index 361f77e..29d36dd 100644
--- a/public/app/main/apps/marketplace/i18n/nl.json
+++ b/public/app/main/apps/marketplace/i18n/nl.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Verplicht veld"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Actief",
     "ADMINURL": "Admin-URL",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Installeer plugin",
     "MARKETPLACE": "App Zone",
     "MORE": "Meer",
-    "NAME": "Naam",
     "NO_AVAILABLE_INFO": "Geen beschikbare info",
     "OF": "van",
     "PAGE": "Pagina",
@@ -42,7 +39,6 @@
     "SETTINGS": "instellingen",
     "SIDEBAR": "sidebar",
     "STOP_PLUGIN": "Stop plugin",
-    "TYPE": "Type",
     "UNINSTALL_PLUGIN": "Installatie ongedaan maken",
     "UPLOADING": "uploaden",
     "UPLOAD_PLUGIN": "Upload plug-in",
diff --git a/public/app/main/apps/marketplace/i18n/no.json b/public/app/main/apps/marketplace/i18n/no.json
index d49bd20..06d6f66 100644
--- a/public/app/main/apps/marketplace/i18n/no.json
+++ b/public/app/main/apps/marketplace/i18n/no.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Obligatoriske felt"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktiv",
     "ADMINURL": "Admin url",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Installer plugin",
     "MARKETPLACE": "App Zone",
     "MORE": "Mer",
-    "NAME": "Navn",
     "NO_AVAILABLE_INFO": "Ingen tilgjengelig info",
     "OF": "av",
     "PAGE": "Side",
@@ -42,7 +39,6 @@
     "SETTINGS": "innstillinger",
     "SIDEBAR": "sidebar",
     "STOP_PLUGIN": "Stopp plugin",
-    "TYPE": "Type",
     "UNINSTALL_PLUGIN": "Avinstaller plugin",
     "UPLOADING": "Laster opp",
     "UPLOAD_PLUGIN": "Last opp plugin",
diff --git a/public/app/main/apps/marketplace/i18n/pl.json b/public/app/main/apps/marketplace/i18n/pl.json
index d694357..52f845c 100644
--- a/public/app/main/apps/marketplace/i18n/pl.json
+++ b/public/app/main/apps/marketplace/i18n/pl.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Pole obowiązkowe"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktywny",
     "ADMINURL": "Adres URL administratora",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Zainstaluj wtyczkę",
     "MARKETPLACE": "App Zone",
     "MORE": "Jeszcze",
-    "NAME": "Nazwa",
     "NO_AVAILABLE_INFO": "Brak dostępnych informacji",
     "OF": "z",
     "PAGE": "Strona",
@@ -42,7 +39,6 @@
     "SETTINGS": "Ustawienia",
     "SIDEBAR": "Pasek boczny",
     "STOP_PLUGIN": "Zatrzymaj wtyczkę",
-    "TYPE": "Rodzaj",
     "UNINSTALL_PLUGIN": "Odinstaluj wtyczkę",
     "UPLOADING": "Przesyłanie",
     "UPLOAD_PLUGIN": "Prześlij wtyczkę",
diff --git a/public/app/main/apps/marketplace/i18n/pt-BR.json b/public/app/main/apps/marketplace/i18n/pt-BR.json
index e80fbe2..7d62cd3 100644
--- a/public/app/main/apps/marketplace/i18n/pt-BR.json
+++ b/public/app/main/apps/marketplace/i18n/pt-BR.json
@@ -7,10 +7,8 @@
     "SELECTED": "Selected",
     "SELECT_ALL": "Select all",
     "SELECT_NONE": "Select none",
-    "NAME": "Name",
     "DESCRIPTION": "Description",
     "ACTIVE": "Active",
-    "TYPE": "Type",
     "ICON": "Icon",
     "ADMINURL": "Admin url",
     "AGENTURL": "Agent url",
@@ -40,9 +38,7 @@
     "GENERAL": "General",
     "SETTINGS": "Settings",
     "EDITOR": "Editor",
-    "ERRORS": {
-      "URL_REQUIRED": "Mandatory field"
-    },
+    "ERRORS": {},
     "HELP": {},
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/marketplace/i18n/pt-PT.json b/public/app/main/apps/marketplace/i18n/pt-PT.json
index ac5383c..2b32328 100644
--- a/public/app/main/apps/marketplace/i18n/pt-PT.json
+++ b/public/app/main/apps/marketplace/i18n/pt-PT.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Campo obrigatório"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Ativo",
     "ADMINURL": "URL de administrador",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Instalar plugin",
     "MARKETPLACE": "App Zone",
     "MORE": "Mais",
-    "NAME": "Nome",
     "NO_AVAILABLE_INFO": "Nenhuma informação disponível",
     "OF": "do",
     "PAGE": "Página",
@@ -42,7 +39,6 @@
     "SETTINGS": "Configurações",
     "SIDEBAR": "Barra Lateral",
     "STOP_PLUGIN": "Parar o plugin",
-    "TYPE": "Tipo",
     "UNINSTALL_PLUGIN": "Plugin de desinstalação",
     "UPLOADING": "Upload",
     "UPLOAD_PLUGIN": "Upload plugin",
diff --git a/public/app/main/apps/marketplace/i18n/ru.json b/public/app/main/apps/marketplace/i18n/ru.json
index 39efe9f..409af67 100644
--- a/public/app/main/apps/marketplace/i18n/ru.json
+++ b/public/app/main/apps/marketplace/i18n/ru.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Обязательное поле"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "активный",
     "ADMINURL": "URL-адрес администратора",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Установить плагин",
     "MARKETPLACE": "App Zone",
     "MORE": "Больше",
-    "NAME": "имя",
     "NO_AVAILABLE_INFO": "Нет информации",
     "OF": "из",
     "PAGE": "страница",
@@ -42,7 +39,6 @@
     "SETTINGS": "настройки",
     "SIDEBAR": "Боковая панель",
     "STOP_PLUGIN": "Остановить плагин",
-    "TYPE": "Тип",
     "UNINSTALL_PLUGIN": "Удалить плагин",
     "UPLOADING": "Выгрузка",
     "UPLOAD_PLUGIN": "Загрузить плагин",
diff --git a/public/app/main/apps/marketplace/i18n/sv.json b/public/app/main/apps/marketplace/i18n/sv.json
index 171327a..3408dd0 100644
--- a/public/app/main/apps/marketplace/i18n/sv.json
+++ b/public/app/main/apps/marketplace/i18n/sv.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Obligatoriskt fält"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktiva",
     "ADMINURL": "Admin url",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Installera plugin",
     "MARKETPLACE": "App Zone",
     "MORE": "Mer",
-    "NAME": "namn",
     "NO_AVAILABLE_INFO": "Ingen tillgänglig info",
     "OF": "av",
     "PAGE": "Sida",
@@ -42,7 +39,6 @@
     "SETTINGS": "inställningar",
     "SIDEBAR": "Sidebar",
     "STOP_PLUGIN": "Sluta plugin",
-    "TYPE": "Typ",
     "UNINSTALL_PLUGIN": "Avinstallera plugin",
     "UPLOADING": "uppladdning",
     "UPLOAD_PLUGIN": "Ladda upp plugin",
diff --git a/public/app/main/apps/marketplace/i18n/tr.json b/public/app/main/apps/marketplace/i18n/tr.json
index 4646459..e524ded 100644
--- a/public/app/main/apps/marketplace/i18n/tr.json
+++ b/public/app/main/apps/marketplace/i18n/tr.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "Zorunlu alan"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "Aktif",
     "ADMINURL": "Yönetici URL'si",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "Eklenti kur",
     "MARKETPLACE": "App Zone",
     "MORE": "Daha",
-    "NAME": "isim",
     "NO_AVAILABLE_INFO": "Uygun bilgi yok",
     "OF": "arasında",
     "PAGE": "Sayfa",
@@ -42,7 +39,6 @@
     "SETTINGS": "Ayarlar",
     "SIDEBAR": "Kenar çubuğu",
     "STOP_PLUGIN": "Eklentiyi durdur",
-    "TYPE": "tip",
     "UNINSTALL_PLUGIN": "Eklentiyi kaldır",
     "UPLOADING": "Yükleme",
     "UPLOAD_PLUGIN": "Eklentiyi yükle",
diff --git a/public/app/main/apps/marketplace/i18n/zh-CN.json b/public/app/main/apps/marketplace/i18n/zh-CN.json
index 18246b8..cf8658a 100644
--- a/public/app/main/apps/marketplace/i18n/zh-CN.json
+++ b/public/app/main/apps/marketplace/i18n/zh-CN.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "必填项"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "活性",
     "ADMINURL": "管理员网址",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "安装插件",
     "MARKETPLACE": "App Zone",
     "MORE": "更多",
-    "NAME": "名称",
     "NO_AVAILABLE_INFO": "没有可用的信息",
     "OF": "的",
     "PAGE": "页",
@@ -42,7 +39,6 @@
     "SETTINGS": "设置",
     "SIDEBAR": "侧边栏",
     "STOP_PLUGIN": "停止插件",
-    "TYPE": "类型",
     "UNINSTALL_PLUGIN": "卸载插件",
     "UPLOADING": "上传",
     "UPLOAD_PLUGIN": "上传插件",
diff --git a/public/app/main/apps/marketplace/i18n/zh-TW.json b/public/app/main/apps/marketplace/i18n/zh-TW.json
index 2956f0d..2085f7c 100644
--- a/public/app/main/apps/marketplace/i18n/zh-TW.json
+++ b/public/app/main/apps/marketplace/i18n/zh-TW.json
@@ -1,8 +1,6 @@
 {
   "MARKETPLACE": {
-    "ERRORS": {
-      "URL_REQUIRED": "必填項"
-    },
+    "ERRORS": {},
     "HELP": {},
     "ACTIVE": "活性",
     "ADMINURL": "管理員網址",
@@ -25,7 +23,6 @@
     "INSTALL_PLUGIN": "安裝插件",
     "MARKETPLACE": "App Zone",
     "MORE": "更多",
-    "NAME": "名稱",
     "NO_AVAILABLE_INFO": "沒有可用的信息",
     "OF": "的",
     "PAGE": "頁",
@@ -42,7 +39,6 @@
     "SETTINGS": "設置",
     "SIDEBAR": "側邊欄",
     "STOP_PLUGIN": "停止插件",
-    "TYPE": "類型",
     "UNINSTALL_PLUGIN": "卸載插件",
     "UPLOADING": "上傳",
     "UPLOAD_PLUGIN": "上傳插件",
diff --git a/public/app/main/apps/openchannel/i18n/ar.json b/public/app/main/apps/openchannel/i18n/ar.json
index cf0502f..db9c655 100644
--- a/public/app/main/apps/openchannel/i18n/ar.json
+++ b/public/app/main/apps/openchannel/i18n/ar.json
@@ -1,62 +1,13 @@
 {
   "OPENCHANNEL": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "يجب أن يكون العنوان الالكترونى الخاص بالموافقه صالحا",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمة خلال مدة أكبر من أو تساوي",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمة خلال مدة أقل من أو تساوي",
-      "AGENT_TIMEOUT_REQUIRED": "فترة إنهاء الوقت من قبل ممثل الخدمة مطلوبه",
-      "COMMAND_REQUIRED": "الأمر مطلوب",
-      "KEY_REQUIRED": "المفتاح مطلوب",
-      "LIST_REQUIRED": "القائمه مطلوبه",
-      "MOTIONADDRESS_MUST_VALID_URL": "صيغة خاطئة",
-      "MOTIONADDRESS_REQUIRED": "حقل الزامي",
-      "NAME_MUST_VALID_PATTERN": "يجب كتابه الاسم بنمط صحيح",
-      "NAME_REQUIRED": "الاسم مطلوب",
-      "REJECTURL_MUST_VALID_URL": "يجب أن يكون العنوان الالكترونى الخاص بالرفض صالحا",
-      "TEXT_MAX_LENGTH": "الحد الأقصى لطول النص",
-      "TEXT_REQUIRED": "النص مطلوب",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت  خلال مدة أقل من أو تساوي",
-      "TIMEOUT_REQUIRED": "انتهاء الوقت مطلوب",
-      "VALUE_REQUIRED": "القيمه مطلوبة",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار ممثل الخدمة المعين  خلال مدة أكبر من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار ممثل الخدمة المعين  خلال مدة أقل من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "فترة إنتظار ممثل الخدمة المعين مطلوبة",
-      "AGENT_REQUIRED": "ممثل الخدمه مطلوب",
-      "CLOSEURL_MUST_VALID_URL": "يجب أن يكون العنوان الالكترونى الخاص بالإغلاق صالحا",
-      "CONDITION_REQUIRED": "الشرط مطلوب",
-      "DISPOSITION_REQUIRED": "التغير مطلوب",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون نسبه الأولوية الخاطئه بقيمه اكبر من أو تساوي",
-      "FALSEPRIORITY_REQUIRED": "الأولوية الخاطئة مطلوبه",
-      "KEY_MAX_LENGTH": "الحد الأقصى لحجم المفتاح",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون إعطاءالأولوية بقيمه أكبر من أو تساوي",
-      "PRIORITY_REQUIRED": "الاولويه مطلوبه",
-      "QUEUE_REQUIRED": "قائمه الانتظار مطلوبه",
       "REPLYURI_MUST_VALID_URL": "يجب أن يكون رد معرف الموارد الموحد رابطا الكترونى صالح",
-      "REPLYURI_REQUIRED": " رد معرف الموارد الموحد مطلوب",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت  خلال مدة أكبر من أو تساوي",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون نسبه الاولوية الحقيقيه بقيمه أكبر من أو تساوي",
-      "TRUEPRIORITY_REQUIRED": " الاولوية الحقيقيه مطلوبه",
-      "TAG_REQUIRED": "العلامه مطلوبه",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي",
-      "ACCESSKEYID_REQUIRED": "معرف مفتاح الوصول مطلوب",
-      "BOTNAME_REQUIRED": "اسم بوت مطلوب",
-      "SECRETACCESSKEY_REQUIRED": "مطلوب مفتاح الوصول السري"
+      "REPLYURI_REQUIRED": " رد معرف الموارد الموحد مطلوب"
     },
     "HELP": {
       "RECEIVEURI": "سلسلة API تم إنشاؤها تلقائيًا لاستخدامها لتلقي الرسائل داخل القناة المفتوحة من التطبيق الخارجي (باستخدام طريقة POST). انقر فوق زر الحافظة لنسخها",
       "REPLYURI": "عنوان URL الذي ستطلقه القناة المفتوحة عند إرسال رسالة أو الرد عليها. لمزيد من التفاصيل ، اطلع على خطوات تهيئة <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels",
-      "TOKEN": "أضف هذه الخاصية كسلسلة استعلام في عنوان URL لخدمة الويب. لمزيد من التفاصيل ، اطلع على خطوات تهيئة <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels",
-      "LIST": "قائمة مدير الاتصال المستخدمة لربط جهات الاتصال",
-      "NAME": "يتم دعم الأرقام والحروف والأحرف المحددة (._) فقط",
-      "MANDATORYDISPOSITION": "التصرف الإلزامي",
-      "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام إذا تم تمكين التخلص الإلزامي",
-      "WELCOMEMESSAGE": "هذه هي الرسالة الأولى المرسلة إلى المقاول"
+      "TOKEN": "أضف هذه الخاصية كسلسلة استعلام في عنوان URL لخدمة الويب. لمزيد من التفاصيل ، اطلع على خطوات تهيئة <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels"
     },
     "AGENTSADD_QUEUE": "إضافة وكلاء لقائمة انتظار القناة المفتوحة",
     "CHAT": "دردشة",
@@ -82,7 +33,6 @@
     "GOTOREALTIME_OPENCHANNELQUEUE": "إذهب الى الوقت الحقيقي لقائمه إنتظار قناة الاتصال الفتوحه",
     "IDLE": "خامل",
     "INSERT_MESSAGE_HERE": "أدخل الرساله النصيه هنا",
-    "NAME": "اسم",
     "NEW_OPENCHANNELCANNEDANSWER": "إجابه محفوظة جديدة لقناه الاتصال الفتوحه",
     "NOTIFICATION": "إشعار ",
     "NOTIFICATIONSHAKE": "رنة الاشعار ",
@@ -138,7 +88,6 @@
     "GOTO": "قاعدة إذهب إلى",
     "GOTOIF": "قاعدة إذهب إلى لو",
     "ID": "هوية شخصية",
-    "LIST": "قائمة",
     "MOTIONADDRESS": "",
     "NOOP": "لا يوجد عمليات",
     "OPENCHANNEL": "قناه إتصال مفتوحة",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "وقت تسجيل الدخول",
     "PAUSE_TIME": "وقفة الوقت",
     "TEAMS_ASSOCIATION": "رابطة الفرق",
-    "MANDATORYDISPOSITION": "التصرف الإلزامي",
-    "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام إذا تم تمكين التخلص الإلزامي",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "تحرير التكوين Dialogflow",
     "LANGUAGE": "لغة",
-    "WELCOMEMESSAGE": "أهلا وسهلا",
     "ACCESSKEYID": "معرف مفتاح الوصول",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "اسم بوت",
diff --git a/public/app/main/apps/openchannel/i18n/cs.json b/public/app/main/apps/openchannel/i18n/cs.json
index 29e59a3..136184f 100644
--- a/public/app/main/apps/openchannel/i18n/cs.json
+++ b/public/app/main/apps/openchannel/i18n/cs.json
@@ -46,56 +46,11 @@
     "TIMES": "Number of times per interaction",
     "EDIT_AUTOREPLY": "Edit Auto Reply",
     "AUTOREPLY": "Auto Reply",
-    "NAME": "Name",
     "OPENCHANNELQUEUES": "Open Channel Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "KEY_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "The field text is required",
-      "NAME_REQUIRED": "Mandatory field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
       "REPLYURI_REQUIRED": "Mandatory field",
-      "REPLYURI_MUST_VALID_URL": "Wrong format",
-      "PRIORITY_REQUIRED": "Mandatory field",
-      "CONDITION_REQUIRED": "Mandatory field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory field",
-      "AGENT_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory field",
-      "QUEUE_REQUIRED": "Mandatory field",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "ACCESSKEYID_REQUIRED": "Je vyžadováno ID přístupového klíče",
-      "BOTNAME_REQUIRED": "Název bota je povinný",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
-      "SECRETACCESSKEY_REQUIRED": "Je vyžadováno tajemství přístupu"
+      "REPLYURI_MUST_VALID_URL": "Wrong format"
     },
     "STRATEGY": "Strategy",
     "AGENT": "Agent",
@@ -136,7 +91,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Accept",
     "ACCEPTMETHOD": "Accept Method",
@@ -170,12 +124,7 @@
     "HELP": {
       "TOKEN": "Add this property as query string in your Web Service URL. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
       "RECEIVEURI": "Auto-generated API string to be used in order to receive messages inside your open channel from the external application (using POST method). Click the clipboard button to copy it ",
-      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager List used to associate contacts",
-      "MANDATORYDISPOSITION": "Povinná dispozice",
-      "MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej",
-      "WELCOMEMESSAGE": "Toto je první odezva na nové interakce."
+      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
@@ -250,12 +199,9 @@
     "LANGUAGE": "Jazyk",
     "LASTMESSAGE": "Poslední zpráva",
     "LEXREGION": "Kraj",
-    "MANDATORYDISPOSITION": "Povinná dispozice",
-    "MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej",
     "SECRETACCESSKEY": "Přístup k tajným klíčům",
     "TEAMS_ASSOCIATION": "Asociace týmů",
     "TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
-    "TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
-    "WELCOMEMESSAGE": "Uvítací zpráva"
+    "TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky"
   }
 }
diff --git a/public/app/main/apps/openchannel/i18n/da.json b/public/app/main/apps/openchannel/i18n/da.json
index 2cc877c..18b4903 100644
--- a/public/app/main/apps/openchannel/i18n/da.json
+++ b/public/app/main/apps/openchannel/i18n/da.json
@@ -4,56 +4,11 @@
     "TIMES": "Antal gange pr. interaktion",
     "EDIT_AUTOREPLY": "Edit Auto svar",
     "AUTOREPLY": "Automatisk svar",
-    "NAME": "Navnet",
     "OPENCHANNELQUEUES": "Åben Kanal køer",
     "SEARCH_FOR_ANYONE": "Søg efter alle",
     "ERRORS": {
-      "TEXT_REQUIRED": "Feltet tekst er påkrævet",
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout er påkrævet",
-      "MOTIONADDRESS_REQUIRED": "Motion Adresse skal angives.",
-      "MOTIONADDRESS_MUST_VALID_URL": "Motion adresse skal være skrevet i et gyldigt format",
-      "ACCEPTURL_MUST_VALID_URL": "Det acceptere URL skal være skrevet i et gyldigt format",
-      "TIMEOUT_REQUIRED": "Timeout er påkrævet",
-      "REJECTURL_MUST_VALID_URL": "Reject-URL skal være skrevet i et gyldigt format",
-      "CLOSEURL_MUST_VALID_URL": "Den tætte URL skal være skrevet i et gyldigt format",
       "REPLYURI_REQUIRED": "Svaret URL er påkrævet",
-      "REPLYURI_MUST_VALID_URL": "Svaret URL skal være skrevet i et gyldigt format",
-      "PRIORITY_REQUIRED": "Indsatsen er påkrævet",
-      "CONDITION_REQUIRED": "Betingelsen er påkrævet",
-      "TRUEPRIORITY_REQUIRED": "Den sande prioritering er nødvendig",
-      "FALSEPRIORITY_REQUIRED": "Den falske prioritet er påkrævet",
-      "AGENT_REQUIRED": "Obligatorisk felt",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "DISPOSITION_REQUIRED": "Obligatorisk felt",
-      "QUEUE_REQUIRED": "Obligatorisk felt",
-      "KEY_MAX_LENGTH": "Nøgle skal have en maksimal længde på {{max}}",
-      "TEXT_MAX_LENGTH": "Værdien skal have en maksimal længde svarende til {{max}}",
-      "VALUE_REQUIRED": "Obligatorisk felt",
-      "COMMAND_REQUIRED": "Obligatorisk felt",
-      "LIST_REQUIRED": "Obligatorisk felt",
-      "KEY_REQUIRED": "Obligatorisk felt",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "NAME_MUST_VALID_PATTERN": "Forkert format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatorisk felt",
-      "TAG_REQUIRED": "Obligatorisk felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt",
-      "ACCESSKEYID_REQUIRED": "Adgangsnøgle-ID er påkrævet",
-      "BOTNAME_REQUIRED": "Bot navn kræves",
-      "SECRETACCESSKEY_REQUIRED": "Adgangsnøglehemmelighed er påkrævet"
+      "REPLYURI_MUST_VALID_URL": "Svaret URL skal være skrevet i et gyldigt format"
     },
     "STRATEGY": "Strategi",
     "AGENT": "Agent",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Handlinger",
-    "LIST": "Listen",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Accepter",
     "ACCEPTMETHOD": "Acceptere metode",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Det er autogenereret API string du skal bruge til at modtage beskeder i din åbne kanal fra din eksterne program (POST metode skal anvendes). Du kan trykke på knappen for at kopiere det til Udklipsholder i din udklipsholder.",
       "REPLYURI": "Det er URL open channel ringer ved afsendelse og besvarelse af en besked",
-      "NAME": "Kun tal og bogstaver og specielle tegn (.________) understøttes",
-      "LIST": "Kontakt Manager listen bruges til at knytte kontakter",
-      "TOKEN": "Tilføj denne egenskab som forespørgselsstreng i din webservicewebadresse. For flere detaljer se doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Brug pause, hvis obligatorisk disposition er aktiveret",
-      "WELCOMEMESSAGE": "Dette er den første meddelelse, der sendes til kontaktpersonen"
+      "TOKEN": "Tilføj denne egenskab som forespørgselsstreng i din webservicewebadresse. For flere detaljer se doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rækker pr. side",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Login tid",
     "PAUSE_TIME": "Pause tid",
     "TEAMS_ASSOCIATION": "Holdforening",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Brug pause, hvis obligatorisk disposition er aktiveret",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Rediger Dialogflow-konfiguration",
     "LANGUAGE": "Sprog",
-    "WELCOMEMESSAGE": "Velkomstbesked",
     "ACCESSKEYID": "Adgangsnøgle-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot navn",
diff --git a/public/app/main/apps/openchannel/i18n/de.json b/public/app/main/apps/openchannel/i18n/de.json
index 898d455..c1f85a8 100644
--- a/public/app/main/apps/openchannel/i18n/de.json
+++ b/public/app/main/apps/openchannel/i18n/de.json
@@ -4,56 +4,11 @@
     "TIMES": "Die Anzahl der Zeiten pro Interaktion",
     "EDIT_AUTOREPLY": "Bearbeiten Sie automatische Antwort",
     "AUTOREPLY": "Automatische Antwort",
-    "NAME": "Name",
     "OPENCHANNELQUEUES": "Offener Kanal Warteschlangen",
     "SEARCH_FOR_ANYONE": "Suche für Jedermann",
     "ERRORS": {
-      "TEXT_REQUIRED": "Das Feld \"Text\" ist erforderlich",
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "AGENT_TIMEOUT_REQUIRED": "Der Agent Timeout ist erforderlich",
-      "MOTIONADDRESS_REQUIRED": "Die Adresse ist erforderlich",
-      "MOTIONADDRESS_MUST_VALID_URL": "Die Adresse muss in einem gültigen Format",
-      "ACCEPTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "TIMEOUT_REQUIRED": "Der Timeout ist erforderlich",
-      "REJECTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "CLOSEURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
       "REPLYURI_REQUIRED": "Die Antwort URL ist erforderlich",
-      "REPLYURI_MUST_VALID_URL": "Die Antwort URL muss im gültigen Format geschrieben werden",
-      "PRIORITY_REQUIRED": "Die Priorität ist erforderlich",
-      "CONDITION_REQUIRED": "Der Zustand ist erforderlich",
-      "TRUEPRIORITY_REQUIRED": "Die wahre Priorität ist erforderlich",
-      "FALSEPRIORITY_REQUIRED": "Die falsche Priorität ist erforderlich",
-      "AGENT_REQUIRED": "Pflichtfeld",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer als oder gleich",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer als oder gleich",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer als oder gleich",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer als oder gleich",
-      "DISPOSITION_REQUIRED": "Pflichtfeld",
-      "QUEUE_REQUIRED": "Pflichtfeld",
-      "KEY_MAX_LENGTH": "Schlüssel muss eine maximale Länge von {{max}}",
-      "TEXT_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
-      "VALUE_REQUIRED": "Pflichtfeld",
-      "COMMAND_REQUIRED": "Pflichtfeld",
-      "LIST_REQUIRED": "Pflichtfeld",
-      "KEY_REQUIRED": "Pflichtfeld",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "NAME_MUST_VALID_PATTERN": "Falsches Format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pflichtfeld",
-      "TAG_REQUIRED": "Pflichtfeld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld",
-      "ACCESSKEYID_REQUIRED": "Zugangsschlüssel-ID ist erforderlich",
-      "BOTNAME_REQUIRED": "Der Bot-Name ist erforderlich",
-      "SECRETACCESSKEY_REQUIRED": "Zugangsschlüssel geheim ist erforderlich"
+      "REPLYURI_MUST_VALID_URL": "Die Antwort URL muss im gültigen Format geschrieben werden"
     },
     "STRATEGY": "Strategie",
     "AGENT": "Agent",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Bestimmungen",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Aktionen",
-    "LIST": "Liste",
     "FIDELITY": "Treue",
     "ACCEPT": "Akzeptieren",
     "ACCEPTMETHOD": "Die Methode",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Dies ist die automatisch generierte API-String müssen Sie die Nachrichten in Ihrem offenen Kanal zu erhalten von der externen Anwendung (POST-Methode verwendet werden muss). Drücken Sie die Zwischenablage, um Sie in die Zwischenablage zu kopieren.",
       "REPLYURI": "Dies ist die URL der Offene Kanal wird beim Senden oder Beantworten von Nachrichten",
-      "NAME": "Nur Zahlen, Buchstaben und Sonderzeichen (._) werden unterstützt.",
-      "LIST": "Contact Manager Liste zu verknüpfen von Kontakten",
-      "TOKEN": "Fügen Sie diese Eigenschaft als Abfragezeichenfolge in Ihrer Web-Service-URL hinzu. Weitere Informationen finden Sie im Dokument doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "Zwingende Disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause zur Verwendung, wenn die obligatorische Disposition aktiviert ist",
-      "WELCOMEMESSAGE": "Dies ist die erste Nachricht, die an das Schütz gesendet wird"
+      "TOKEN": "Fügen Sie diese Eigenschaft als Abfragezeichenfolge in Ihrer Web-Service-URL hinzu. Weitere Informationen finden Sie im Dokument doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "Seite",
     "ROWSPERPAGE": "Zeilen pro Seite",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Login-Zeit",
     "PAUSE_TIME": "Pausenzeit",
     "TEAMS_ASSOCIATION": "Vereinigung der Mannschaften",
-    "MANDATORYDISPOSITION": "Zwingende Disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause zur Verwendung, wenn die obligatorische Disposition aktiviert ist",
     "DIALOGFLOW": "Dialogablauf",
     "EDIT_DIALOGFLOW": "Bearbeiten Sie die Dialogflow-Konfiguration",
     "LANGUAGE": "Sprache",
-    "WELCOMEMESSAGE": "Willkommen Messsage",
     "ACCESSKEYID": "Zugangsschlüssel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot-Name",
diff --git a/public/app/main/apps/openchannel/i18n/en.json b/public/app/main/apps/openchannel/i18n/en.json
index 4aea58a..42c9f65 100644
--- a/public/app/main/apps/openchannel/i18n/en.json
+++ b/public/app/main/apps/openchannel/i18n/en.json
@@ -11,8 +11,7 @@
     "SECRETACCESSKEY": "Access key secret",
     "LEXREGION": "Region",
     "BOTNAME": "Bot name",
-    "WELCOMEMESSAGE": "Welcome message",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Edit Dialogflow configuration",
     "LANGUAGE": "Language",
     "LOGIN_TIME": "Login time",
@@ -61,61 +60,11 @@
     "TIMES": "Number of times per interaction",
     "EDIT_AUTOREPLY": "Edit Auto Reply",
     "AUTOREPLY": "Auto Reply",
-    "NAME": "Name",
     "OPENCHANNELQUEUES": "Open Channel Queues",
     "SEARCH_FOR_ANYONE": "Search",
-    "MANDATORYDISPOSITION": "Mandatory disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
     "ERRORS": {
-      "PROJECTID_REQUIRED": "Mandatory Field",
-      "CLIENTEMAIL_REQUIRED": "Mandatory Field",
-      "PRIVATEKEY_REQUIRED": "Mandatory Field",
-      "ACCESSKEYID_REQUIRED": "Access key ID is required",
-      "SECRETACCESSKEY_REQUIRED": "Access key secret is required",
-      "BOTNAME_REQUIRED": "Bot name is required",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "KEY_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "The field text is required",
-      "NAME_REQUIRED": "Mandatory field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
       "REPLYURI_REQUIRED": "Mandatory field",
-      "REPLYURI_MUST_VALID_URL": "Wrong format",
-      "PRIORITY_REQUIRED": "Mandatory field",
-      "CONDITION_REQUIRED": "Mandatory field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory field",
-      "AGENT_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory field",
-      "QUEUE_REQUIRED": "Mandatory field",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field"
+      "REPLYURI_MUST_VALID_URL": "Wrong format"
     },
     "STRATEGY": "Strategy",
     "AGENT": "Agent",
@@ -156,7 +105,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Accept",
     "ACCEPTMETHOD": "Accept Method",
@@ -188,14 +136,9 @@
     "REPLYURI": "Reply URL",
     "RECEIVEURI": "Receive URL",
     "HELP": {
-      "WELCOMEMESSAGE": "This is the first response message sent to new interactions.",
       "TOKEN": "Add this property as query string in your Web Service URL. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
       "RECEIVEURI": "Auto-generated API string to be used in order to receive messages inside your open channel from the external application (using POST method). Click the clipboard button to copy it ",
-      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager List used to associate contacts",
-      "MANDATORYDISPOSITION": "Mandatory disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled"
+      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/openchannel/i18n/es.json b/public/app/main/apps/openchannel/i18n/es.json
index 9db23ab..3657516 100644
--- a/public/app/main/apps/openchannel/i18n/es.json
+++ b/public/app/main/apps/openchannel/i18n/es.json
@@ -1,62 +1,13 @@
 {
   "OPENCHANNEL": {
     "HELP": {
-      "LIST": "Lista de contactos de contacto utilizada para asociar contactos",
-      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
       "RECEIVEURI": "La cadena de la API generada automáticamente se utilizará para recibir mensajes dentro de su canal abierto desde la aplicación externa (utilizando el método POST). Haga clic en el botón del portapapeles para copiarlo",
       "REPLYURI": "La URL a la que llamará el canal abierto cuando envíe o responda un mensaje. Para obtener más información, consulte el documento <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Nuevos pasos de configuración de canales",
-      "TOKEN": "Agregue esta propiedad como cadena de consulta en su URL de servicio web. Para obtener más información, consulte el documento <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Nuevos pasos de configuración de canales",
-      "MANDATORYDISPOSITION": "Cierre obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa a usar si el cierre obligatorio está habilitado",
-      "WELCOMEMESSAGE": "Este es el primer mensaje enviado al contactor."
+      "TOKEN": "Agregue esta propiedad como cadena de consulta en su URL de servicio web. Para obtener más información, consulte el documento <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Nuevos pasos de configuración de canales"
     },
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "Formato erróneo",
-      "AGENT_REQUIRED": "Campo obligatorio",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio",
-      "CLOSEURL_MUST_VALID_URL": "Formato erróneo",
-      "COMMAND_REQUIRED": "Campo obligatorio",
-      "CONDITION_REQUIRED": "Campo obligatorio",
-      "DISPOSITION_REQUIRED": "Campo obligatorio",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "FALSEPRIORITY_REQUIRED": "Campo obligatorio",
-      "KEY_MAX_LENGTH": "La clave debe tener una longitud máxima igual a {{max}}",
-      "KEY_REQUIRED": "Campo obligatorio",
-      "LIST_REQUIRED": "Campo obligatorio",
-      "MOTIONADDRESS_MUST_VALID_URL": "Formato erróneo",
-      "MOTIONADDRESS_REQUIRED": "Campo obligatorio",
-      "NAME_MUST_VALID_PATTERN": "Formato erróneo",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "PRIORITY_REQUIRED": "Campo obligatorio",
-      "QUEUE_REQUIRED": "Campo obligatorio",
-      "REJECTURL_MUST_VALID_URL": "Formato erróneo",
       "REPLYURI_MUST_VALID_URL": "Formato erróneo",
-      "REPLYURI_REQUIRED": "Campo obligatorio",
-      "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
-      "TEXT_REQUIRED": "El texto del campo es obligatorio",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "TIMEOUT_REQUIRED": "Campo obligatorio",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TRUEPRIORITY_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obligatorio",
-      "TAG_REQUIRED": "Campo obligatorio",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio",
-      "ACCESSKEYID_REQUIRED": "Se requiere ID de clave de acceso",
-      "BOTNAME_REQUIRED": "Se requiere el nombre del bot",
-      "SECRETACCESSKEY_REQUIRED": "Se requiere clave de acceso secreta"
+      "REPLYURI_REQUIRED": "Campo obligatorio"
     },
     "ACCEPT": "Aceptar",
     "ACCEPTMETHOD": "Aceptar el método",
@@ -136,12 +87,10 @@
     "INTERNAL": "Interno",
     "IN_USE": "En uso",
     "KEY": "Llave",
-    "LIST": "Lista",
     "LOGGED_IN": "Conectado",
     "LOGOUT": "Cerrar sesión",
     "MAIL": "Email",
     "MOTIONADDRESS": "Motion Address",
-    "NAME": "Nombre",
     "NEW_OPENCHANNELACCOUNT": "Nueva cuenta de canal abierto",
     "NEW_OPENCHANNELCANNEDANSWER": "Nueva respuesta enlatada",
     "NEW_OPENCHANNELDISPOSITION": "Nuevo cierre de canal abierto",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Hora de inicio de sesión",
     "PAUSE_TIME": "Tiempo de pausa",
     "TEAMS_ASSOCIATION": "Asociación de equipos",
-    "MANDATORYDISPOSITION": "Cierre obligatorio",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa a usar si el cierre obligatorio está habilitado",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Editar configuración de Dialogflow",
     "LANGUAGE": "Idioma",
-    "WELCOMEMESSAGE": "Mensaje de bienvenida",
     "ACCESSKEYID": "ID de clave de acceso",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nombre del bot",
diff --git a/public/app/main/apps/openchannel/i18n/et.json b/public/app/main/apps/openchannel/i18n/et.json
index 65e92b6..bc8e901 100644
--- a/public/app/main/apps/openchannel/i18n/et.json
+++ b/public/app/main/apps/openchannel/i18n/et.json
@@ -46,56 +46,11 @@
     "TIMES": "Number of times per interaction",
     "EDIT_AUTOREPLY": "Edit Auto Reply",
     "AUTOREPLY": "Auto Reply",
-    "NAME": "Name",
     "OPENCHANNELQUEUES": "Open Channel Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "KEY_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "The field text is required",
-      "NAME_REQUIRED": "Mandatory field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
       "REPLYURI_REQUIRED": "Mandatory field",
-      "REPLYURI_MUST_VALID_URL": "Wrong format",
-      "PRIORITY_REQUIRED": "Mandatory field",
-      "CONDITION_REQUIRED": "Mandatory field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory field",
-      "AGENT_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory field",
-      "QUEUE_REQUIRED": "Mandatory field",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "ACCESSKEYID_REQUIRED": "Juurdepääsukoodi ID on vajalik",
-      "BOTNAME_REQUIRED": "Boti nimi on kohustuslik",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
-      "SECRETACCESSKEY_REQUIRED": "Juurdepääsu võtme saladus on vajalik"
+      "REPLYURI_MUST_VALID_URL": "Wrong format"
     },
     "STRATEGY": "Strategy",
     "AGENT": "Agent",
@@ -136,7 +91,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Accept",
     "ACCEPTMETHOD": "Accept Method",
@@ -170,12 +124,7 @@
     "HELP": {
       "TOKEN": "Add this property as query string in your Web Service URL. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
       "RECEIVEURI": "Auto-generated API string to be used in order to receive messages inside your open channel from the external application (using POST method). Click the clipboard button to copy it ",
-      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager List used to associate contacts",
-      "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-      "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
-      "WELCOMEMESSAGE": "See on esimene vastussõnum, mis saadetakse uutele interaktsioonidele."
+      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
@@ -250,12 +199,9 @@
     "LANGUAGE": "Keel",
     "LASTMESSAGE": "Viimane teade",
     "LEXREGION": "Piirkond",
-    "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-    "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
     "SECRETACCESSKEY": "Juurdepääsu võtme saladus",
     "TEAMS_ASSOCIATION": "Võistkondade liit",
     "TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
-    "TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
-    "WELCOMEMESSAGE": "Tervitussõnum"
+    "TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli"
   }
 }
diff --git a/public/app/main/apps/openchannel/i18n/fa.json b/public/app/main/apps/openchannel/i18n/fa.json
index 0ef13ff..1ead395 100644
--- a/public/app/main/apps/openchannel/i18n/fa.json
+++ b/public/app/main/apps/openchannel/i18n/fa.json
@@ -4,56 +4,11 @@
     "TIMES": "تعداد بار در تعامل",
     "EDIT_AUTOREPLY": "ویرایش پاسخ خودکار",
     "AUTOREPLY": "پاسخ خودکار",
-    "NAME": "نام",
     "OPENCHANNELQUEUES": "صفهای طولانی کانال باز",
     "SEARCH_FOR_ANYONE": "در جستجوی کسی",
     "ERRORS": {
-      "TEXT_REQUIRED": "در حوزه متن لازم است.",
-      "NAME_REQUIRED": "نام لازم است.",
-      "AGENT_TIMEOUT_REQUIRED": "عامل پایان زمان لازم است.",
-      "MOTIONADDRESS_REQUIRED": "آدرس حركت لازم است.",
-      "MOTIONADDRESS_MUST_VALID_URL": "حركت باید آدرس را در یک فرمت معتبر نوشته شده است",
-      "ACCEPTURL_MUST_VALID_URL": "از پذیرفتن باید آدرس کامل را در یک فرمت معتبر نوشته شده است",
-      "TIMEOUT_REQUIRED": "در پایان زمان لازم است.",
-      "REJECTURL_MUST_VALID_URL": "آدرس کامل را رد كند بايد در فرمت معتبر نوشته شده است",
-      "CLOSEURL_MUST_VALID_URL": "آدرس کامل باید بسته به فرمت معتبر نوشته شده است",
       "REPLYURI_REQUIRED": "پاسخ اوري لازم است.",
-      "REPLYURI_MUST_VALID_URL": "پاسخ اوري بايد به فرمت معتبر نوشته شده است",
-      "PRIORITY_REQUIRED": "اولويت لازم است.",
-      "CONDITION_REQUIRED": "شرط لازم است.",
-      "TRUEPRIORITY_REQUIRED": "تقدم حقيقي لازم است.",
-      "FALSEPRIORITY_REQUIRED": "به غلط اولویت لازم است.",
-      "AGENT_REQUIRED": "رشته الزامی",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی با",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی با",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی با",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی با",
-      "DISPOSITION_REQUIRED": "رشته الزامی",
-      "QUEUE_REQUIRED": "رشته الزامی",
-      "KEY_MAX_LENGTH": "کلید باید حداکثر برابر با طول حداکثر}} {{",
-      "TEXT_MAX_LENGTH": "مقدار باید طول حداکثر {{حداکثر}} باشد",
-      "VALUE_REQUIRED": "زمینه اجباری",
-      "COMMAND_REQUIRED": "زمینه اجباری",
-      "LIST_REQUIRED": "زمینه اجباری",
-      "KEY_REQUIRED": "زمینه اجباری",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "NAME_MUST_VALID_PATTERN": "فرمت اشتباه",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "زمینه اجباری",
-      "TAG_REQUIRED": "زمینه اجباری",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری",
-      "ACCESSKEYID_REQUIRED": "شناسه کلید دسترسی لازم است",
-      "BOTNAME_REQUIRED": "نام ربات لازم است",
-      "SECRETACCESSKEY_REQUIRED": "راز کلید دسترسی مورد نیاز است"
+      "REPLYURI_MUST_VALID_URL": "پاسخ اوري بايد به فرمت معتبر نوشته شده است"
     },
     "STRATEGY": "استراتژي",
     "AGENT": "عامل",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "مكتبى",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "اقدامات",
-    "LIST": "فهرست",
     "FIDELITY": "وفاداري",
     "ACCEPT": "پذیرفتن",
     "ACCEPTMETHOD": "اين روش را قبول",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "این API تولید خودکار عبارت شما نیاز به استفاده از آن دریافت پیام ها داخل کانال باز شما را از برنامه کاربردی خارجی (روش پست استفاده می شود). شما می توانید دکمه را فشار دهید تا یک کپی از آن را به حافظه موقت شما را در حافظه موقت کپی می کند.",
       "REPLYURI": "این کانال باز اوري وقتی تلفن یا ارسال پیام را به یک سووال",
-      "NAME": "فقط شماره ها و حروف و نویسه های ویژه (_) پشتیبانی می شود.",
-      "LIST": "مدیر تماس بگیرید لیست تماس ها استفاده می شود تا ٥",
-      "TOKEN": "این ویژگی را به عنوان رشته پرس و جو در URL سرویس وب خود اضافه کنید. برای جزئیات بیشتر به توضیحات مراجعه کنید doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "وضع اجباری",
-      "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن وضع اجباری ، مکث کنید",
-      "WELCOMEMESSAGE": "این اولین پیام است که به مخاطب ارسال می شود"
+      "TOKEN": "این ویژگی را به عنوان رشته پرس و جو در URL سرویس وب خود اضافه کنید. برای جزئیات بیشتر به توضیحات مراجعه کنید doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "صفحه",
     "ROWSPERPAGE": "رديف در صفحه",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "زمان ورود",
     "PAUSE_TIME": "مکث زمان",
     "TEAMS_ASSOCIATION": "انجمن تیم",
-    "MANDATORYDISPOSITION": "وضع اجباری",
-    "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن وضع اجباری ، مکث کنید",
     "DIALOGFLOW": "دیالوگ جریان",
     "EDIT_DIALOGFLOW": "پیکربندی Dialogflow را ویرایش کنید",
     "LANGUAGE": "زبان",
-    "WELCOMEMESSAGE": "پیام پیام خوش آمدید",
     "ACCESSKEYID": "دسترسی به شناسه کلید",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "نام بوت",
diff --git a/public/app/main/apps/openchannel/i18n/fi.json b/public/app/main/apps/openchannel/i18n/fi.json
index 2598833..6f503e4 100644
--- a/public/app/main/apps/openchannel/i18n/fi.json
+++ b/public/app/main/apps/openchannel/i18n/fi.json
@@ -4,56 +4,11 @@
     "TIMES": "Määrä vuorovaikutus",
     "EDIT_AUTOREPLY": "Muokkaa automaattista vastausta",
     "AUTOREPLY": "Automaattinen vastaus",
-    "NAME": "Nimi",
     "OPENCHANNELQUEUES": "Avoimen kanavan jonot",
     "SEARCH_FOR_ANYONE": "Etsi joku",
     "ERRORS": {
-      "TEXT_REQUIRED": "Kenttä on pakollinen",
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "AGENT_TIMEOUT_REQUIRED": "Asiakaspalvelijan aikakatkaisu on pakollinen",
-      "MOTIONADDRESS_REQUIRED": "Liikkeen osoite on pakollinen tieto",
-      "MOTIONADDRESS_MUST_VALID_URL": "Liikkeen osoite on kirjoitettava kelvollisessa muodossa",
-      "ACCEPTURL_MUST_VALID_URL": "Hyväksy URL on kirjoitettava kelvollisessa muodossa",
-      "TIMEOUT_REQUIRED": "Aikakatkaisujakso on pakollinen",
-      "REJECTURL_MUST_VALID_URL": "Hylätyt URL on kirjoitettava kelvollisessa muodossa",
-      "CLOSEURL_MUST_VALID_URL": "Sulje URL on kirjoitettava kelvollisessa muodossa",
       "REPLYURI_REQUIRED": "Vastaus URL on pakollinen",
-      "REPLYURI_MUST_VALID_URL": "Vastaus URL on kirjoitettava kelvollisessa muodossa",
-      "PRIORITY_REQUIRED": "Etusijalla on pakollinen",
-      "CONDITION_REQUIRED": "Kunto on pakollinen",
-      "TRUEPRIORITY_REQUIRED": "Todellinen prioriteetti on pakollinen",
-      "FALSEPRIORITY_REQUIRED": "Väärät prioriteetti on pakollinen",
-      "AGENT_REQUIRED": "Pakollinen kenttä.",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "DISPOSITION_REQUIRED": "Pakollinen kenttä.",
-      "QUEUE_REQUIRED": "Pakollinen kenttä.",
-      "KEY_MAX_LENGTH": "Avain on enintään yhtä suuri kuin {{max}}",
-      "TEXT_MAX_LENGTH": "Arvon enimmäispituus on {{max}}",
-      "VALUE_REQUIRED": "Pakollinen kenttä",
-      "COMMAND_REQUIRED": "Pakollinen kenttä",
-      "LIST_REQUIRED": "Pakollinen kenttä",
-      "KEY_REQUIRED": "Pakollinen kenttä",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "NAME_MUST_VALID_PATTERN": "Väärä formaatti",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pakollinen kenttä",
-      "TAG_REQUIRED": "Pakollinen kenttä",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä",
-      "ACCESSKEYID_REQUIRED": "Käyttöavaintunnus vaaditaan",
-      "BOTNAME_REQUIRED": "Botin nimi vaaditaan",
-      "SECRETACCESSKEY_REQUIRED": "Käyttöavaimen salaisuus vaaditaan"
+      "REPLYURI_MUST_VALID_URL": "Vastaus URL on kirjoitettava kelvollisessa muodossa"
     },
     "STRATEGY": "Strategia",
     "AGENT": "Agent",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Yhteisyys",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Toimet",
-    "LIST": "Luettelo",
     "FIDELITY": "Epätarkkaan äänentoistoon",
     "ACCEPT": "Hyväksy",
     "ACCEPTMETHOD": "Hyväksy menetelmä",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Tämä on automaattisesti luotua API string tarvitset vastaanottamaan viestejä sisään avointa kanavaa, ulkoinen sovellus (POST menetelmän on oltava käytössä). Voit painaa leikepöydän kopioi sen leikepöydälle.",
       "REPLYURI": "Tämä on URL avoimesta kanavasta soittaa lähettäessäsi ja viestiin vastaaminen",
-      "NAME": "Vain numeroita, kirjaimia ja erikoismerkkejä (._ tuetaan",
-      "LIST": "Contact Manager -moottorityyppiin yhteystiedot",
-      "TOKEN": "Lisää tämä ominaisuus kyselyjonoina Web-palvelun URL-osoitteessa. Lisätietoja on osoitteessa doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-      "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, jos pakollinen sijoittaminen on käytössä",
-      "WELCOMEMESSAGE": "Tämä on ensimmäinen kontaktorille lähetetty viesti"
+      "TOKEN": "Lisää tämä ominaisuus kyselyjonoina Web-palvelun URL-osoitteessa. Lisätietoja on osoitteessa doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "Sivu",
     "ROWSPERPAGE": "Riviä sivulle",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Kirjautumisaika",
     "PAUSE_TIME": "Keskeytä aika",
     "TEAMS_ASSOCIATION": "Joukkueiden yhdistys",
-    "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-    "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, jos pakollinen sijoittaminen on käytössä",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Muokkaa Dialogflow-määrityksiä",
     "LANGUAGE": "Kieli",
-    "WELCOMEMESSAGE": "Tervetuloa Messsage",
     "ACCESSKEYID": "Käyttöavaintunnus",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Botin nimi",
diff --git a/public/app/main/apps/openchannel/i18n/fr.json b/public/app/main/apps/openchannel/i18n/fr.json
index 417c941..8dab18f 100644
--- a/public/app/main/apps/openchannel/i18n/fr.json
+++ b/public/app/main/apps/openchannel/i18n/fr.json
@@ -4,56 +4,11 @@
     "TIMES": "Nombre de fois par interaction",
     "EDIT_AUTOREPLY": "Modifier la réponse automatique",
     "AUTOREPLY": "Réponse automatique",
-    "NAME": "Nom",
     "OPENCHANNELQUEUES": "Les files d'Canal ouvert",
     "SEARCH_FOR_ANYONE": "Vous pouvez chercher n'importe qui",
     "ERRORS": {
-      "TEXT_REQUIRED": "Le champ texte est nécessaire",
-      "NAME_REQUIRED": "Le nom est obligatoire",
-      "AGENT_TIMEOUT_REQUIRED": "L'Agent est nécessaire",
-      "MOTIONADDRESS_REQUIRED": "La motion est nécessaire",
-      "MOTIONADDRESS_MUST_VALID_URL": "La motion doit être écrit dans un format valide",
-      "ACCEPTURL_MUST_VALID_URL": "Accepter l'URL doit être écrit dans un format valide",
-      "TIMEOUT_REQUIRED": "Le délai est nécessaire",
-      "REJECTURL_MUST_VALID_URL": "Rejeter l'URL doit être écrit dans un format valide",
-      "CLOSEURL_MUST_VALID_URL": "Fermer l'URL doit être écrit dans un format valide",
       "REPLYURI_REQUIRED": "La réponse URL est requis",
-      "REPLYURI_MUST_VALID_URL": "La réponse URL doit être écrit dans un format valide",
-      "PRIORITY_REQUIRED": "La priorité est requise",
-      "CONDITION_REQUIRED": "L'état est requis",
-      "TRUEPRIORITY_REQUIRED": "La vraie priorité est requise",
-      "FALSEPRIORITY_REQUIRED": "La fausse priorité est requise",
-      "AGENT_REQUIRED": "Champ obligatoire",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "DISPOSITION_REQUIRED": "Champ obligatoire",
-      "QUEUE_REQUIRED": "Champ obligatoire",
-      "KEY_MAX_LENGTH": "Clé doit avoir une longueur maximale égale à {{max}}",
-      "TEXT_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
-      "VALUE_REQUIRED": "Champ obligatoire",
-      "COMMAND_REQUIRED": "Champ obligatoire",
-      "LIST_REQUIRED": "Champ obligatoire",
-      "KEY_REQUIRED": "Champ obligatoire",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "NAME_MUST_VALID_PATTERN": "Mauvais format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Champ obligatoire",
-      "TAG_REQUIRED": "Champ obligatoire",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire",
-      "ACCESSKEYID_REQUIRED": "La clé d'accès est requise",
-      "BOTNAME_REQUIRED": "Le nom du bot est obligatoire",
-      "SECRETACCESSKEY_REQUIRED": "Le secret de la clé d'accès est requis"
+      "REPLYURI_MUST_VALID_URL": "La réponse URL doit être écrit dans un format valide"
     },
     "STRATEGY": "Stratégie",
     "AGENT": "Agent",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
-    "LIST": "Liste",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Accepter",
     "ACCEPTMETHOD": "Méthode d'accepter",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "C'est auto-généré la chaîne API vous avez besoin d'utiliser pour recevoir les messages à l'intérieur de votre Canal ouvert à partir de votre application externe (méthode POST doit être utilisé). Vous pouvez appuyer sur le bouton du presse-papiers pour copier dans votre presse-papiers.",
       "REPLYURI": "C'est l'URL L'open channel fera appel lors de l'envoi d'un message et d'y répondre",
-      "NAME": "Seulement les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
-      "LIST": "Contact Manager liste utilisée pour associer des contacts",
-      "TOKEN": "Ajoutez cette propriété en tant que chaîne de requête dans votre URL de service Web. Pour plus de détails, consultez le doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Nouvelles étapes de configuration des canaux",
-      "MANDATORYDISPOSITION": "Disposition obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause à utiliser si la disposition obligatoire est activée",
-      "WELCOMEMESSAGE": "Ceci est le premier message envoyé au contacteur"
+      "TOKEN": "Ajoutez cette propriété en tant que chaîne de requête dans votre URL de service Web. Pour plus de détails, consultez le doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Nouvelles étapes de configuration des canaux"
     },
     "PAGE": "La page",
     "ROWSPERPAGE": "Les lignes par page",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Temps de connexion",
     "PAUSE_TIME": "Temps de pause",
     "TEAMS_ASSOCIATION": "Association des équipes",
-    "MANDATORYDISPOSITION": "Disposition obligatoire",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause à utiliser si la disposition obligatoire est activée",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Modifier la configuration du dialogue",
     "LANGUAGE": "La langue",
-    "WELCOMEMESSAGE": "Message de bienvenue",
     "ACCESSKEYID": "Clé d'accès ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nom de bot",
diff --git a/public/app/main/apps/openchannel/i18n/he.json b/public/app/main/apps/openchannel/i18n/he.json
index 1da5703..e108127 100644
--- a/public/app/main/apps/openchannel/i18n/he.json
+++ b/public/app/main/apps/openchannel/i18n/he.json
@@ -46,56 +46,11 @@
     "TIMES": "מספר הפעמים בכל אינטראקציה",
     "EDIT_AUTOREPLY": "ערוך תשובה אוטומטית",
     "AUTOREPLY": "תשובה אוטומטית",
-    "NAME": "שם",
     "OPENCHANNELQUEUES": "תורי ערוץ פתוח",
     "SEARCH_FOR_ANYONE": "חיפוש",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "TAG_REQUIRED": "שדה חובה",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "NAME_MUST_VALID_PATTERN": "תבנית שגויה",
-      "KEY_REQUIRED": "שדה חובה",
-      "LIST_REQUIRED": "שדה חובה",
-      "COMMAND_REQUIRED": "שדה חובה",
-      "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}",
-      "VALUE_REQUIRED": "שדה חובה",
-      "TEXT_REQUIRED": "שדה הטקסט הוא שדה חובה",
-      "NAME_REQUIRED": "שדה חובה",
-      "AGENT_TIMEOUT_REQUIRED": "שדה חובה",
-      "MOTIONADDRESS_REQUIRED": "שדה חובה",
-      "MOTIONADDRESS_MUST_VALID_URL": "תבנית שגויה",
-      "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה",
-      "TIMEOUT_REQUIRED": "שדה חובה",
-      "REJECTURL_MUST_VALID_URL": "תבנית שגויה",
-      "CLOSEURL_MUST_VALID_URL": "תבנית שגויה",
       "REPLYURI_REQUIRED": "שדה חובה",
-      "REPLYURI_MUST_VALID_URL": "תבנית שגויה",
-      "PRIORITY_REQUIRED": "שדה חובה",
-      "CONDITION_REQUIRED": "שדה חובה",
-      "TRUEPRIORITY_REQUIRED": "שדה חובה",
-      "FALSEPRIORITY_REQUIRED": "שדה חובה",
-      "AGENT_REQUIRED": "שדה חובה",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "DISPOSITION_REQUIRED": "שדה חובה",
-      "QUEUE_REQUIRED": "שדה חובה",
-      "KEY_MAX_LENGTH": "האורך המרבי המותר של מפתח הוא {{max}}",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה",
-      "ACCESSKEYID_REQUIRED": "דרוש מזהה מפתח גישה",
-      "BOTNAME_REQUIRED": "שם בוט נדרש",
-      "SECRETACCESSKEY_REQUIRED": "סוד מפתח הגישה נדרש"
+      "REPLYURI_MUST_VALID_URL": "תבנית שגויה"
     },
     "STRATEGY": "אסטרטגיה",
     "AGENT": "נציג",
@@ -136,7 +91,6 @@
     "DISPOSITIONS": "סיכומים",
     "WEBHOOKS": "רכיבי WebHook",
     "ACTIONS": "פעולות",
-    "LIST": "רשימה",
     "FIDELITY": "מהימנות",
     "ACCEPT": "קבל",
     "ACCEPTMETHOD": "קבל שיטה",
@@ -170,12 +124,7 @@
     "HELP": {
       "TOKEN": "הוסף תכונה זו כמחרוזת שאילתה בכתובת ה-URL של שירות האינטרנט שאתה מספק. לפרטים נוספים, עיין במסמך <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">כאן</a>",
       "RECEIVEURI": "מחרוזת API המופקת באופן אוטומטי, משמשת לקבלת הודעות פתוחות בתוך הערוץ הפתוח שלך מהיישום החיצוני (בשיטת POST). לחץ על לחצן הלוח כדי להעתיק את המחרוזת ",
-      "REPLYURI": "כתובת ה-URL שהערוץ הפתוח יתקשר אליה בעת שליחת הודעה או תשובה על הודעה. לפרטים נוספים, עיין במסמך <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">כאן</a>",
-      "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)",
-      "LIST": "רשימת 'מנהל אנשי הקשר' המשמשת לשיוך אנשי קשר",
-      "MANDATORYDISPOSITION": "סיכום",
-      "MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש אם הסיכום מופעל",
-      "WELCOMEMESSAGE": "זוהי ההודעה הראשונה שנשלחה לאיש הקשר"
+      "REPLYURI": "כתובת ה-URL שהערוץ הפתוח יתקשר אליה בעת שליחת הודעה או תשובה על הודעה. לפרטים נוספים, עיין במסמך <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">כאן</a>"
     },
     "PAGE": "דף",
     "ROWSPERPAGE": "שורות בדף",
@@ -240,12 +189,9 @@
     "TO": "אל",
     "MAPKEY": "מפתח מפה",
     "TEAMS_ASSOCIATION": "איגוד הצוותים",
-    "MANDATORYDISPOSITION": "סיכום",
-    "MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש כשהסיכום מופעל",
     "DIALOGFLOW": "זרימת דיאלוג",
     "EDIT_DIALOGFLOW": "ערוך את תצורת זרימת הדיאלוג",
     "LANGUAGE": "שפה",
-    "WELCOMEMESSAGE": "מסר ברוך הבא",
     "ACCESSKEYID": "גישה למזהה מפתח",
     "AMAZONLEX": "אמזון-לקס",
     "BOTNAME": "שם בוט",
diff --git a/public/app/main/apps/openchannel/i18n/hi.json b/public/app/main/apps/openchannel/i18n/hi.json
index 45273ec..ff77943 100644
--- a/public/app/main/apps/openchannel/i18n/hi.json
+++ b/public/app/main/apps/openchannel/i18n/hi.json
@@ -4,56 +4,11 @@
     "TIMES": "कई बार प्रति विचार-विमर्श",
     "EDIT_AUTOREPLY": "स् वत: उत्तर संपादित करें",
     "AUTOREPLY": "स्वत: उत्तर",
-    "NAME": "नाम",
     "OPENCHANNELQUEUES": "खुले चैनल कतार",
     "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
     "ERRORS": {
-      "TEXT_REQUIRED": "पाठ फ़ील्ड को अपेक्षित है।",
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "AGENT_TIMEOUT_REQUIRED": "एजेंट समयबाह्य अपेक्षित है।",
-      "MOTIONADDRESS_REQUIRED": "अभिभाषण के प्रस्ताव की आवश्यकता है।",
-      "MOTIONADDRESS_MUST_VALID_URL": "यह प्रस्ताव एक मान्य स्वरूप में लिखा होना पता",
-      "ACCEPTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को स्वीकार करें",
-      "TIMEOUT_REQUIRED": "इस समय की आवश्यकता है।",
-      "REJECTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को अस्वीकार करें",
-      "CLOSEURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL के निकट",
       "REPLYURI_REQUIRED": "उत्तर उरी अपेक्षित है।",
-      "REPLYURI_MUST_VALID_URL": "एक मान्य स्वरूप में लिखित उत्तर उरी होना",
-      "PRIORITY_REQUIRED": "प्राथमिकता की आवश्यकता है।",
-      "CONDITION_REQUIRED": "की स्थिति की आवश्यकता है।",
-      "TRUEPRIORITY_REQUIRED": "यह सच प्राथमिकता की आवश्यकता है।",
-      "FALSEPRIORITY_REQUIRED": "झूठे प्राथमिकता की आवश्यकता है।",
-      "AGENT_REQUIRED": "अनिवार्य क्षेत्र",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मूल्य के बराबर या अधिक होना चाहिए।",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मूल्य के बराबर या अधिक होना चाहिए।",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मूल्य के बराबर या अधिक होना चाहिए।",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मूल्य के बराबर या अधिक होना चाहिए।",
-      "DISPOSITION_REQUIRED": "अनिवार्य क्षेत्र",
-      "QUEUE_REQUIRED": "अनिवार्य क्षेत्र",
-      "KEY_MAX_LENGTH": "कुंजी को एक समान सूबेदार सुरिन९दर सिनह को अधिकतम}{} अधिकतम लंबाई",
-      "TEXT_MAX_LENGTH": "मान {{अधिकतम}} के बराबर अधिकतम लंबाई होना चाहिए",
-      "VALUE_REQUIRED": "आवश्यक स्थान",
-      "COMMAND_REQUIRED": "आवश्यक स्थान",
-      "LIST_REQUIRED": "आवश्यक स्थान",
-      "KEY_REQUIRED": "आवश्यक स्थान",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "NAME_MUST_VALID_PATTERN": "गलत प्रारूप",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "आवश्यक स्थान",
-      "TAG_REQUIRED": "आवश्यक स्थान",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान",
-      "ACCESSKEYID_REQUIRED": "प्रवेश कुंजी आईडी की आवश्यकता है",
-      "BOTNAME_REQUIRED": "बॉट नाम आवश्यक है",
-      "SECRETACCESSKEY_REQUIRED": "प्रवेश कुंजी रहस्य की आवश्यकता है"
+      "REPLYURI_MUST_VALID_URL": "एक मान्य स्वरूप में लिखित उत्तर उरी होना"
     },
     "STRATEGY": "रणनीति",
     "AGENT": "कर्ता",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "प्रवृतियों",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "क्रियाएं",
-    "LIST": "की सूची",
     "FIDELITY": "वास्तविक",
     "ACCEPT": "स्वीकार करना",
     "ACCEPTMETHOD": "तरीका स्वीकार करें",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "यह स्वत: जनरेट वैक्टर तार आपको संदेश प्राप्त करने के लिए प्रयोग करने के लिए आपका अपने बाह्य अनुप्रयोग खोलने के अंदर चैनल (पोस्ट पद्धति का उपयोग किया जाना चाहिए। क्लिपबोर्ड पर कॉपी कर सकते हैं जो आपको आपकी में दबाएं बटन को क्लिपबोर्ड पर कॉपी किया गया.",
       "REPLYURI": "यह खुले उरी चैनल कॉल का उत्तर देते या संदेश भेजना",
-      "NAME": "केवल विशिष्ट वर्ण (।_) और नंबर्स, समर्थित",
-      "LIST": "संपर्क सूची में संपर्कों को संबद्ध करने के लिए प्रयुक्त प्रबंधक",
-      "TOKEN": "इस वेब को अपने वेब सेवा यूआरएल में क्वेरी स्ट्रिंग के रूप में जोड़ें। अधिक जानकारी के लिए दस्तावेज़ <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New चैनल कॉन्फ़िगरेशन चरण देखें",
-      "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-      "MANDATORYDISPOSITIONPAUSEID": "यदि अनिवार्य स्वभाव सक्षम है, तो उपयोग करने के लिए रुकें",
-      "WELCOMEMESSAGE": "यह संपर्ककर्ता को भेजा गया पहला संदेश है"
+      "TOKEN": "इस वेब को अपने वेब सेवा यूआरएल में क्वेरी स्ट्रिंग के रूप में जोड़ें। अधिक जानकारी के लिए दस्तावेज़ <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New चैनल कॉन्फ़िगरेशन चरण देखें"
     },
     "PAGE": "पृष्ठ",
     "ROWSPERPAGE": "पंक्तियां प्रति पृष्ठ",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "लॉगिन समय",
     "PAUSE_TIME": "विराम का वक्त",
     "TEAMS_ASSOCIATION": "टीमों एसोसिएशन",
-    "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-    "MANDATORYDISPOSITIONPAUSEID": "यदि अनिवार्य स्वभाव सक्षम है, तो उपयोग करने के लिए रुकें",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "डायलॉगफ़्लो कॉन्फ़िगरेशन संपादित करें",
     "LANGUAGE": "भाषा: हिन्दी",
-    "WELCOMEMESSAGE": "स्वागत संदेश",
     "ACCESSKEYID": "एक्सेस कुंजी आईडी",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "बॉट नाम",
diff --git a/public/app/main/apps/openchannel/i18n/id.json b/public/app/main/apps/openchannel/i18n/id.json
index 277f64e..39c71b6 100644
--- a/public/app/main/apps/openchannel/i18n/id.json
+++ b/public/app/main/apps/openchannel/i18n/id.json
@@ -1,62 +1,13 @@
 {
   "OPENCHANNEL": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "Format yang salah",
-      "AGENT_REQUIRED": "Bidang wajib",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "AGENT_TIMEOUT_REQUIRED": "Bidang wajib",
-      "CLOSEURL_MUST_VALID_URL": "Format yang salah",
-      "COMMAND_REQUIRED": "Bidang wajib",
-      "CONDITION_REQUIRED": "Bidang wajib",
-      "DISPOSITION_REQUIRED": "Bidang wajib",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "FALSEPRIORITY_REQUIRED": "Bidang wajib",
-      "KEY_MAX_LENGTH": "Kunci harus memiliki panjang maksimum sama dengan {{max}}",
-      "KEY_REQUIRED": "Bidang wajib",
-      "LIST_REQUIRED": "Bidang wajib",
-      "MOTIONADDRESS_MUST_VALID_URL": "Format yang salah",
-      "MOTIONADDRESS_REQUIRED": "Bidang wajib",
-      "NAME_MUST_VALID_PATTERN": "Format yang salah",
-      "NAME_REQUIRED": "Bidang wajib",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "PRIORITY_REQUIRED": "Bidang wajib",
-      "QUEUE_REQUIRED": "Bidang wajib",
-      "REJECTURL_MUST_VALID_URL": "Format yang salah",
       "REPLYURI_MUST_VALID_URL": "Format yang salah",
-      "REPLYURI_REQUIRED": "Bidang wajib",
-      "TAG_REQUIRED": "Bidang wajib",
-      "TEXT_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
-      "TEXT_REQUIRED": "Teks bidang diperlukan",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "TIMEOUT_REQUIRED": "Bidang wajib",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "TRUEPRIORITY_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Bidang wajib",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib",
-      "ACCESSKEYID_REQUIRED": "Diperlukan ID kunci akses",
-      "BOTNAME_REQUIRED": "Nama bot diperlukan",
-      "SECRETACCESSKEY_REQUIRED": "Rahasia kunci akses diperlukan"
+      "REPLYURI_REQUIRED": "Bidang wajib"
     },
     "HELP": {
-      "LIST": "Daftar Contact Manager yang digunakan untuk menghubungkan kontak",
-      "NAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
       "RECEIVEURI": "String API yang dihasilkan otomatis untuk digunakan untuk menerima pesan di dalam saluran terbuka Anda dari aplikasi eksternal (menggunakan metode POST). Klik tombol clipboard untuk menyalinnya",
       "REPLYURI": "URL saluran terbuka akan memanggil saat mengirim atau membalas pesan. Untuk lebih jelasnya lihat dokumen <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\"> di sini </a>",
-      "TOKEN": "Tambahkan properti ini sebagai string kueri di URL Layanan Web Anda. Untuk lebih jelasnya lihat dokumen <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\"> di sini </a>",
-      "MANDATORYDISPOSITION": "Disposisi wajib",
-      "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan jika disposisi wajib diaktifkan",
-      "WELCOMEMESSAGE": "Ini adalah pesan pertama yang dikirim ke kontaktor"
+      "TOKEN": "Tambahkan properti ini sebagai string kueri di URL Layanan Web Anda. Untuk lebih jelasnya lihat dokumen <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\"> di sini </a>"
     },
     "ACCEPT": "Menerima",
     "ACCEPTMETHOD": "Terima Metode",
@@ -138,12 +89,10 @@
     "INTERNAL": "Intern",
     "IN_USE": "Digunakan",
     "KEY": "Kunci",
-    "LIST": "Daftar",
     "LOGGED_IN": "Masuk",
     "LOGOUT": "Keluar",
     "MAIL": "E-mail",
     "MOTIONADDRESS": "Alamat Gerak",
-    "NAME": "Nama",
     "NEW_OPENCHANNELACCOUNT": "Akun Saluran Terbuka baru",
     "NEW_OPENCHANNELCANNEDANSWER": "Jawaban Kalengan Baru",
     "NEW_OPENCHANNELDISPOSITION": "Open Channel Disposition Baru",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Waktu masuk",
     "PAUSE_TIME": "Jeda waktu",
     "TEAMS_ASSOCIATION": "Asosiasi Tim",
-    "MANDATORYDISPOSITION": "Disposisi wajib",
-    "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan jika disposisi wajib diaktifkan",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Edit konfigurasi Dialogflow",
     "LANGUAGE": "Bahasa",
-    "WELCOMEMESSAGE": "Pesan Selamat Datang",
     "ACCESSKEYID": "ID kunci akses",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nama bot",
diff --git a/public/app/main/apps/openchannel/i18n/it.json b/public/app/main/apps/openchannel/i18n/it.json
index 5e2d02f..c80e002 100644
--- a/public/app/main/apps/openchannel/i18n/it.json
+++ b/public/app/main/apps/openchannel/i18n/it.json
@@ -44,57 +44,11 @@
     "TIMES": "Numero di volte per interazione",
     "EDIT_AUTOREPLY": "Modifica Risposta Automatica",
     "AUTOREPLY": "Risposta Automatica",
-    "NAME": "Nome",
     "OPENCHANNELQUEUES": "Code Open Channel",
     "SEARCH_FOR_ANYONE": "Cerca",
-    "MANDATORYDISPOSITION": "Mandatory disposition",
     "ERRORS": {
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "TAG_REQUIRED": "Campo obbligatorio",
-      "TEXT_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
-      "VALUE_REQUIRED": "Campo obbligatorio",
-      "TEXT_REQUIRED": "Campo obbligatorio",
-      "NAME_REQUIRED": "Campo obbligatorio",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obbligatorio",
-      "MOTIONADDRESS_REQUIRED": "Campo obbligatorio",
-      "MOTIONADDRESS_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "ACCEPTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "TIMEOUT_REQUIRED": "Campo obbligatorio",
-      "REJECTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "CLOSEURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
       "REPLYURI_REQUIRED": "Campo obbligatorio",
-      "REPLYURI_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "PRIORITY_REQUIRED": "Specificare la priorità",
-      "CONDITION_REQUIRED": "Campo obbligatorio",
-      "TRUEPRIORITY_REQUIRED": "Campo Obbligatorio (in caso di TRUE)",
-      "FALSEPRIORITY_REQUIRED": "Campo Obbligatorio (in caso di FALSE)",
-      "AGENT_REQUIRED": "Campo obbligatorio",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere più grande di o uguale a",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere più grande di o uguale a",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore in caso di TRUE deve essere più grande di o uguale a",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore in caso di FALSE deve essere più grande di o uguale a",
-      "DISPOSITION_REQUIRED": "Campo obbligatorio",
-      "QUEUE_REQUIRED": "Campo obbligatorio",
-      "KEY_MAX_LENGTH": "Il valore introdotto non deve essere più lungo di {{max}} caratteri",
-      "COMMAND_REQUIRED": "Campo obbligatorio",
-      "LIST_REQUIRED": "Campo obbligatorio",
-      "KEY_REQUIRED": "Campo obbligatorio",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "NAME_MUST_VALID_PATTERN": "Formato errato",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obbligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio",
-      "ACCESSKEYID_REQUIRED": "È richiesto l'ID chiave di accesso",
-      "BOTNAME_REQUIRED": "È richiesto il nome del bot",
-      "SECRETACCESSKEY_REQUIRED": "È richiesto il segreto della chiave di accesso"
+      "REPLYURI_MUST_VALID_URL": "Il campo deve avere un formato valido"
     },
     "STRATEGY": "Strategia",
     "AGENT_TIMEOUT": "Timeout Agente",
@@ -115,7 +69,6 @@
     "DISPOSITIONS": "Esiti",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Azioni",
-    "LIST": "Lista",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Accetta",
     "ACCEPTMETHOD": "Metodo Accetta",
@@ -149,12 +102,7 @@
     "HELP": {
       "TOKEN": "Aggiungi questa proprietà come query string nell'URL del tuo Web Service. <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">Clicca qui per andare alla guida online</a>",
       "RECEIVEURI": "Stringa API generata automaticamente da usare per ricevere i messaggi provenienti dall'applicatione esterna (metodo POST). Clicca sul bottone blocco note per copiarla negli appunti",
-      "REPLYURI": "URL usato dal canale open channel quando si invia o si risponde ad un messaggio. <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">Clicca qui per andare alla guida online</a>",
-      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
-      "LIST": "Lista del Contact Manager usata per associare i contatti",
-      "MANDATORYDISPOSITION": "Mandatory disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare se è abilitata la disposizione obbligatoria",
-      "WELCOMEMESSAGE": "Questo è il primo messaggio inviato al contatto"
+      "REPLYURI": "URL usato dal canale open channel quando si invia o si risponde ad un messaggio. <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">Clicca qui per andare alla guida online</a>"
     },
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Righe per pagina",
@@ -242,11 +190,9 @@
     "TO": "A",
     "MAPKEY": "Map Key",
     "TEAMS_ASSOCIATION": "Associazione Teams",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare se è abilitata la disposizione obbligatoria",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Modifica la configurazione di Dialogflow",
     "LANGUAGE": "Lingua",
-    "WELCOMEMESSAGE": "Messaggio di benvenuto",
     "ACCESSKEYID": "ID chiave di accesso",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nome del bot",
diff --git a/public/app/main/apps/openchannel/i18n/ja.json b/public/app/main/apps/openchannel/i18n/ja.json
index dcba185..e3a5d22 100644
--- a/public/app/main/apps/openchannel/i18n/ja.json
+++ b/public/app/main/apps/openchannel/i18n/ja.json
@@ -1,62 +1,13 @@
 {
   "OPENCHANNEL": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "間違ったフォーマット",
-      "AGENT_REQUIRED": "必須フィールド",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "AGENT_TIMEOUT_REQUIRED": "必須フィールド",
-      "CLOSEURL_MUST_VALID_URL": "間違ったフォーマット",
-      "COMMAND_REQUIRED": "必須フィールド",
-      "CONDITION_REQUIRED": "必須フィールド",
-      "DISPOSITION_REQUIRED": "必須フィールド",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "FALSEPRIORITY_REQUIRED": "必須フィールド",
-      "KEY_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
-      "KEY_REQUIRED": "必須フィールド",
-      "LIST_REQUIRED": "必須フィールド",
-      "MOTIONADDRESS_MUST_VALID_URL": "間違ったフォーマット",
-      "MOTIONADDRESS_REQUIRED": "必須フィールド",
-      "NAME_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "NAME_REQUIRED": "必須フィールド",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "PRIORITY_REQUIRED": "必須フィールド",
-      "QUEUE_REQUIRED": "必須フィールド",
-      "REJECTURL_MUST_VALID_URL": "間違ったフォーマット",
       "REPLYURI_MUST_VALID_URL": "間違ったフォーマット",
-      "REPLYURI_REQUIRED": "必須フィールド",
-      "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
-      "TEXT_REQUIRED": "フィールドテキストは必須です",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "TIMEOUT_REQUIRED": "必須フィールド",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "TRUEPRIORITY_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必須フィールド",
-      "TAG_REQUIRED": "必須フィールド",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド",
-      "ACCESSKEYID_REQUIRED": "アクセスキーIDが必要です",
-      "BOTNAME_REQUIRED": "ボット名が必要です",
-      "SECRETACCESSKEY_REQUIRED": "アクセスキーシークレットが必要です"
+      "REPLYURI_REQUIRED": "必須フィールド"
     },
     "HELP": {
-      "LIST": "コンタクトを関連付けるために使用されるコンタクトマネージャーリスト",
-      "NAME": "数字、文字、および特定の文字（._）のみがサポートされています",
       "RECEIVEURI": "（POSTメソッドを使用する）外部アプリケーションからオープンチャネル内のメッセージを受信するために使用される自動生成API文字列です。クリップボードボタンをクリックしてコピーします",
       "REPLYURI": "メッセージを送信または返信するときにオープンチャネルが呼び出すURLです。 詳細はdocを参照してください <a target=\\_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>\"",
-      "TOKEN": "このプロパティをWebサービスURLのクエリ文字列として追加します。詳細については、doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "強制処分",
-      "MANDATORYDISPOSITIONPAUSEID": "強制処分が有効になっている場合に使用する一時停止",
-      "WELCOMEMESSAGE": "これは、コンタクタに送信される最初のメッセージです"
+      "TOKEN": "このプロパティをWebサービスURLのクエリ文字列として追加します。詳細については、doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "ACCEPT": "同意する",
     "ACCEPTMETHOD": "Acceptメソッド",
@@ -136,12 +87,10 @@
     "INTERNAL": "内部",
     "IN_USE": "使用中",
     "KEY": "キー",
-    "LIST": "リスト",
     "LOGGED_IN": "ログイン中",
     "LOGOUT": "ログアウト",
     "MAIL": "メール",
     "MOTIONADDRESS": "Motionアドレス",
-    "NAME": "名前",
     "NEW_OPENCHANNELACCOUNT": "新規オプションチャンネルアカウント",
     "NEW_OPENCHANNELCANNEDANSWER": "新規定型文",
     "NEW_OPENCHANNELDISPOSITION": "新規オプションチャンネル処理",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "ログイン時間",
     "PAUSE_TIME": "時間を一時停止",
     "TEAMS_ASSOCIATION": "チーム協会",
-    "MANDATORYDISPOSITION": "強制処分",
-    "MANDATORYDISPOSITIONPAUSEID": "強制処分が有効になっている場合に使用する一時停止",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Dialogflow構成の編集",
     "LANGUAGE": "言語",
-    "WELCOMEMESSAGE": "ようこそメッセージ",
     "ACCESSKEYID": "アクセスキーID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "ボット名",
diff --git a/public/app/main/apps/openchannel/i18n/ko.json b/public/app/main/apps/openchannel/i18n/ko.json
index c76267e..0a3dbc1 100644
--- a/public/app/main/apps/openchannel/i18n/ko.json
+++ b/public/app/main/apps/openchannel/i18n/ko.json
@@ -4,56 +4,11 @@
     "TIMES": "횟수",
     "EDIT_AUTOREPLY": "자동 답장 편집",
     "AUTOREPLY": "자동 답장",
-    "NAME": "이름",
     "OPENCHANNELQUEUES": "오픈채널 상담그룹",
     "SEARCH_FOR_ANYONE": "모두 검색",
     "ERRORS": {
-      "TEXT_REQUIRED": "텍스트는 필수입니다.",
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "AGENT_TIMEOUT_REQUIRED": "상담원 시간초과는 필수입니다.",
-      "MOTIONADDRESS_REQUIRED": "모션 주소는",
-      "MOTIONADDRESS_MUST_VALID_URL": "모션주소는 유효한 URL이어야 합니다.",
-      "ACCEPTURL_MUST_VALID_URL": "수락 URL은 유효해야 합니다.",
-      "TIMEOUT_REQUIRED": "시간초과는 필수입니다.",
-      "REJECTURL_MUST_VALID_URL": "거절 URL은 유효해야 합니다.",
-      "CLOSEURL_MUST_VALID_URL": "닫기 URL은 유효해야 합니다.",
       "REPLYURI_REQUIRED": "URL 답장은 필수입니다.",
-      "REPLYURI_MUST_VALID_URL": "URL 답장은 유효해야 합니다.",
-      "PRIORITY_REQUIRED": "우선순위는 필수입니다.",
-      "CONDITION_REQUIRED": "조건은 필수입니다.",
-      "TRUEPRIORITY_REQUIRED": "참 우선순위는 필수입니다.",
-      "FALSEPRIORITY_REQUIRED": "거짓 우선순위는 필수입니다.",
-      "AGENT_REQUIRED": "상담원은 필수입니다.",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 커야합니다.",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "우선순위는 다음과 같거나 커야합니다.",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "참 우선순위는 다음과 같거나 커야합니다.",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "거짓 우선순위는 다음과 같거나 커야합니다.",
-      "DISPOSITION_REQUIRED": "배치는 필수입니다.",
-      "QUEUE_REQUIRED": "상담그룹은 필수입니다.",
-      "KEY_MAX_LENGTH": "키 최대 길이",
-      "TEXT_MAX_LENGTH": "텍스트 최대 길이",
-      "VALUE_REQUIRED": "값은 필수입니다.",
-      "COMMAND_REQUIRED": "명령은 필수입니다.",
-      "LIST_REQUIRED": "목록은 필수입니다.",
-      "KEY_REQUIRED": "키는 필수입니다.",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "상담원 시간초과는다음과 같거나 커야합니다.",
-      "NAME_MUST_VALID_PATTERN": "이름은 유효한 패턴이어야합니다.",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 작아야합니다.",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "상담원 시간초과는 다음과 같거나 작아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 커야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 작아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "할당된 상담원에 대한 대기는 필수입니다.",
-      "TAG_REQUIRED": "필수 필드",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드",
-      "ACCESSKEYID_REQUIRED": "액세스 키 ID가 필요합니다",
-      "BOTNAME_REQUIRED": "봇 이름이 필요합니다",
-      "SECRETACCESSKEY_REQUIRED": "액세스 키 비밀이 필요합니다"
+      "REPLYURI_MUST_VALID_URL": "URL 답장은 유효해야 합니다."
     },
     "STRATEGY": "전략",
     "AGENT": "상담원",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "배치",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "활동",
-    "LIST": "목록",
     "FIDELITY": "정확도",
     "ACCEPT": "수락",
     "ACCEPTMETHOD": "수락 방법",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "URL 수신",
       "REPLYURI": "URL 답장",
-      "NAME": "이름",
-      "LIST": "목록",
-      "TOKEN": "이 속성을 웹 서비스 URL의 쿼리 문자열로 추가하십시오. 자세한 내용은 doc <a target = \"_ blank\"href = \"https://wiki.xcallymotion.com/display/XMV/ 새 채널 구성 단계를 참조하십시오.",
-      "MANDATORYDISPOSITION": "의무 처분",
-      "MANDATORYDISPOSITIONPAUSEID": "강제 처분이 활성화 된 경우 사용 중지",
-      "WELCOMEMESSAGE": "이것은 컨택 터에게 전송 된 첫 번째 메시지입니다"
+      "TOKEN": "이 속성을 웹 서비스 URL의 쿼리 문자열로 추가하십시오. 자세한 내용은 doc <a target = \"_ blank\"href = \"https://wiki.xcallymotion.com/display/XMV/ 새 채널 구성 단계를 참조하십시오."
     },
     "PAGE": "페이지",
     "ROWSPERPAGE": "페이지별 행 수",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "로그인 시간",
     "PAUSE_TIME": "일시 중지 시간",
     "TEAMS_ASSOCIATION": "팀 협회",
-    "MANDATORYDISPOSITION": "의무 처분",
-    "MANDATORYDISPOSITIONPAUSEID": "강제 처분이 활성화 된 경우 사용 중지",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Dialogflow 구성 편집",
     "LANGUAGE": "언어",
-    "WELCOMEMESSAGE": "환영 메세지",
     "ACCESSKEYID": "액세스 키 ID",
     "AMAZONLEX": "아마존 렉스",
     "BOTNAME": "봇 이름",
diff --git a/public/app/main/apps/openchannel/i18n/lt.json b/public/app/main/apps/openchannel/i18n/lt.json
index e76af2a..b283e57 100644
--- a/public/app/main/apps/openchannel/i18n/lt.json
+++ b/public/app/main/apps/openchannel/i18n/lt.json
@@ -6,7 +6,6 @@
     "SECRETACCESSKEY": "Access key secret",
     "LEXREGION": "Region",
     "BOTNAME": "Bot name",
-    "WELCOMEMESSAGE": "Welcome message",
     "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Edit Dialogflow configuration",
     "LANGUAGE": "Language",
@@ -56,58 +55,11 @@
     "TIMES": "Number of times per interaction",
     "EDIT_AUTOREPLY": "Edit Auto Reply",
     "AUTOREPLY": "Auto Reply",
-    "NAME": "Name",
     "OPENCHANNELQUEUES": "Open Channel Queues",
     "SEARCH_FOR_ANYONE": "Search",
-    "MANDATORYDISPOSITION": "Mandatory disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Access key ID is required",
-      "SECRETACCESSKEY_REQUIRED": "Access key secret is required",
-      "BOTNAME_REQUIRED": "Bot name is required",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "KEY_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "The field text is required",
-      "NAME_REQUIRED": "Mandatory field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_REQUIRED": "Mandatory field",
-      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
       "REPLYURI_REQUIRED": "Mandatory field",
-      "REPLYURI_MUST_VALID_URL": "Wrong format",
-      "PRIORITY_REQUIRED": "Mandatory field",
-      "CONDITION_REQUIRED": "Mandatory field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory field",
-      "AGENT_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "DISPOSITION_REQUIRED": "Mandatory field",
-      "QUEUE_REQUIRED": "Mandatory field",
-      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field"
+      "REPLYURI_MUST_VALID_URL": "Wrong format"
     },
     "STRATEGY": "Strategy",
     "AGENT": "Agent",
@@ -148,7 +100,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Actions",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Accept",
     "ACCEPTMETHOD": "Accept Method",
@@ -180,14 +131,9 @@
     "REPLYURI": "Reply URL",
     "RECEIVEURI": "Receive URL",
     "HELP": {
-      "WELCOMEMESSAGE": "This is the first response message sent to new interactions.",
       "TOKEN": "Add this property as query string in your Web Service URL. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
       "RECEIVEURI": "Auto-generated API string to be used in order to receive messages inside your open channel from the external application (using POST method). Click the clipboard button to copy it ",
-      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager List used to associate contacts",
-      "MANDATORYDISPOSITION": "Mandatory disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled"
+      "REPLYURI": "The URL the open channel will call when sending or replying to a message. For more details see the doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">here</a>"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/openchannel/i18n/lv.json b/public/app/main/apps/openchannel/i18n/lv.json
index cc3c340..a5d2c7f 100644
--- a/public/app/main/apps/openchannel/i18n/lv.json
+++ b/public/app/main/apps/openchannel/i18n/lv.json
@@ -1,62 +1,13 @@
 {
   "OPENCHANNEL": {
     "ERRORS": {
-      "TEXT_MAX_LENGTH": "Vērtībai jābūt ar maksimālo garumu {{max}}",
-      "VALUE_REQUIRED": "Obligāts lauks",
-      "TEXT_REQUIRED": "Lauka teksts ir nepieciešams",
-      "NAME_REQUIRED": "Obligāts lauks",
-      "AGENT_TIMEOUT_REQUIRED": "Obligāts lauks",
-      "MOTIONADDRESS_REQUIRED": "Obligāts lauks",
-      "MOTIONADDRESS_MUST_VALID_URL": "Nepareizs formāts",
-      "ACCEPTURL_MUST_VALID_URL": "Nepareizs formāts",
-      "TIMEOUT_REQUIRED": "Obligāts lauks",
-      "REJECTURL_MUST_VALID_URL": "Nepareizs formāts",
-      "CLOSEURL_MUST_VALID_URL": "Nepareizs formāts",
       "REPLYURI_REQUIRED": "Obligāts lauks",
-      "REPLYURI_MUST_VALID_URL": "Nepareizs formāts",
-      "PRIORITY_REQUIRED": "Obligāts lauks",
-      "CONDITION_REQUIRED": "Obligāts lauks",
-      "TRUEPRIORITY_REQUIRED": "Obligāts lauks",
-      "FALSEPRIORITY_REQUIRED": "Obligāts lauks",
-      "AGENT_REQUIRED": "Obligāts lauks",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "DISPOSITION_REQUIRED": "Obligāts lauks",
-      "QUEUE_REQUIRED": "Obligāts lauks",
-      "KEY_MAX_LENGTH": "Atslēgas maksimālais garums ir vienāds ar {{max}}",
-      "COMMAND_REQUIRED": "Obligāts lauks",
-      "LIST_REQUIRED": "Obligāts lauks",
-      "KEY_REQUIRED": "Obligāts lauks",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "NAME_MUST_VALID_PATTERN": "Nepareizs formāts",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligāts lauks",
-      "TAG_REQUIRED": "Obligāts lauks",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks",
-      "ACCESSKEYID_REQUIRED": "Nepieciešams piekļuves atslēgas ID",
-      "BOTNAME_REQUIRED": "Nepieciešams robotprogrammatūras nosaukums",
-      "SECRETACCESSKEY_REQUIRED": "Nepieciešams piekļuves atslēgas noslēpums"
+      "REPLYURI_MUST_VALID_URL": "Nepareizs formāts"
     },
     "HELP": {
       "RECEIVEURI": "Automātiski ģenerēta API virkne, kas ir jāizmanto, lai saņemtu ziņojumus atvērtajā kanālā no ārējās lietojumprogrammas (izmantojot POST metodi). Noklikšķiniet uz starpliktuves pogas, lai to kopētu ",
       "REPLYURI": "Tīmekļa adrese, ar ko sazināsies open channel, nosūtot vai atbildot uz ziņojumu. Plašāku informāciju skatiet dokumentā <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">šeit</a>",
-      "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)",
-      "LIST": "Kontaktpersonu pārvaldnieka saraksts, ko izmanto, lai saistītu kontaktpersonas",
-      "TOKEN": "Pievienojiet šo īpatnību kā vaicājumu virkni jūsu tīmekļa pakalpojuma adresē. Plašāku informāciju skatiet dokumentā <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">šeit</a>",
-      "MANDATORYDISPOSITION": "Obligāta rīcība",
-      "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, ja ir iespējota obligātā izvietošana",
-      "WELCOMEMESSAGE": "Šis ir pirmais ziņojums, kas nosūtīts kontaktoram"
+      "TOKEN": "Pievienojiet šo īpatnību kā vaicājumu virkni jūsu tīmekļa pakalpojuma adresē. Plašāku informāciju skatiet dokumentā <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">šeit</a>"
     },
     "DELETE": "Dzēst",
     "NO_OPENCHANNELCANNEDANSWER_AVAILABLE": "Nav pieejamas standarta atbildes",
@@ -79,7 +30,6 @@
     "TIMES": "Reižu skaits vienas saziņas laikā",
     "EDIT_AUTOREPLY": "Rediģēt automātisko atbildi",
     "AUTOREPLY": "Automātiskā atbilde",
-    "NAME": "Nosaukums",
     "OPENCHANNELQUEUES": "Open Channel rindas",
     "SEARCH_FOR_ANYONE": "Meklēt",
     "STRATEGY": "Stratēģija",
@@ -121,7 +71,6 @@
     "DISPOSITIONS": "Statusi",
     "WEBHOOKS": "Tīmekļa aizķeres",
     "ACTIONS": "Darbības",
-    "LIST": "Saraksts",
     "FIDELITY": "Uzticība",
     "ACCEPT": "Pieņemt",
     "ACCEPTMETHOD": "Pieņemt metodi",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Pieteikšanās laiks",
     "PAUSE_TIME": "Pārtraukuma ilgums",
     "TEAMS_ASSOCIATION": "Komandu asociācija",
-    "MANDATORYDISPOSITION": "Obligāta rīcība",
-    "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, ja ir iespējota obligātā izvietošana",
     "DIALOGFLOW": "Dialogplūsma",
     "EDIT_DIALOGFLOW": "Rediģēt Dialogflow konfigurāciju",
     "LANGUAGE": "Valoda",
-    "WELCOMEMESSAGE": "Laipni lūdzam Messsage",
     "ACCESSKEYID": "Piekļuves atslēgas ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot vārds",
diff --git a/public/app/main/apps/openchannel/i18n/nl.json b/public/app/main/apps/openchannel/i18n/nl.json
index 4f29f31..4aef709 100644
--- a/public/app/main/apps/openchannel/i18n/nl.json
+++ b/public/app/main/apps/openchannel/i18n/nl.json
@@ -4,56 +4,11 @@
     "TIMES": "Aantal keren per interactie",
     "EDIT_AUTOREPLY": "Edit automatisch antwoord",
     "AUTOREPLY": "Automatisch antwoord",
-    "NAME": "Naam",
     "OPENCHANNELQUEUES": "Open kanaal wachtrijen",
     "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
     "ERRORS": {
-      "TEXT_REQUIRED": "Het veld tekst nodig is",
-      "NAME_REQUIRED": "De naam is verplicht",
-      "AGENT_TIMEOUT_REQUIRED": "De Agent Timeout is vereist",
-      "MOTIONADDRESS_REQUIRED": "De Motion Adres is vereist.",
-      "MOTIONADDRESS_MUST_VALID_URL": "De Motion adres moet worden geschreven in een geldige indeling",
-      "ACCEPTURL_MUST_VALID_URL": "Accepteer URL moet worden geschreven in een geldige indeling",
-      "TIMEOUT_REQUIRED": "De timeout is vereist",
-      "REJECTURL_MUST_VALID_URL": "De afwijzing URL moet worden geschreven in een geldige indeling",
-      "CLOSEURL_MUST_VALID_URL": "De nauwe URL moet worden geschreven in een geldige indeling",
       "REPLYURI_REQUIRED": "Het antwoord URL is vereist",
-      "REPLYURI_MUST_VALID_URL": "Het antwoord URL moet worden geschreven in een geldige indeling",
-      "PRIORITY_REQUIRED": "De prioriteit is vereist.",
-      "CONDITION_REQUIRED": "De conditie is vereist",
-      "TRUEPRIORITY_REQUIRED": "De echte prioriteit is vereist.",
-      "FALSEPRIORITY_REQUIRED": "De valse prioriteit is vereist.",
-      "AGENT_REQUIRED": "Verplicht veld",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "DISPOSITION_REQUIRED": "Verplicht veld",
-      "QUEUE_REQUIRED": "Verplicht veld",
-      "KEY_MAX_LENGTH": "Sleutel moet een lengte gelijk aan {{max.}}",
-      "TEXT_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
-      "VALUE_REQUIRED": "Verplicht veld",
-      "COMMAND_REQUIRED": "Verplicht veld",
-      "LIST_REQUIRED": "Verplicht veld",
-      "KEY_REQUIRED": "Verplicht veld",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "NAME_MUST_VALID_PATTERN": "Verkeerd formaat",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Verplicht veld",
-      "TAG_REQUIRED": "Verplicht veld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld",
-      "ACCESSKEYID_REQUIRED": "Toegangssleutel-ID is vereist",
-      "BOTNAME_REQUIRED": "Botnaam is verplicht",
-      "SECRETACCESSKEY_REQUIRED": "Toegangssleutelgeheim is vereist"
+      "REPLYURI_MUST_VALID_URL": "Het antwoord URL moet worden geschreven in een geldige indeling"
     },
     "STRATEGY": "Strategie",
     "AGENT": "Agent",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Acties",
-    "LIST": "Lijst",
     "FIDELITY": "Hifi-geluid",
     "ACCEPT": "Accepteren",
     "ACCEPTMETHOD": "Accepteren methode",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Dit is het automatisch gegenereerde API string hebt u de berichten in uw open kanaal uit de externe toepassing (POST methode moet worden gebruikt). U kunt op het klembord te kopiëren naar het klembord.",
       "REPLYURI": "Dit is de URL (Uniform Resource Identifier) het open kanaal zal bellen wanneer u een bericht verstuurt of beantwoorden van een bericht",
-      "NAME": "Alleen cijfers, letters en speciale tekens (_) worden ondersteund",
-      "LIST": "Contact Manager lijst gebruikt om contactpersonen koppelen",
-      "TOKEN": "Voeg deze eigenschap toe als querytekenreeks in de URL van uw webservice. Zie het doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps voor meer informatie",
-      "MANDATORYDISPOSITION": "Verplichte regeling",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauze om te gebruiken als verplichte dispositie is ingeschakeld",
-      "WELCOMEMESSAGE": "Dit is het eerste bericht dat naar de contactor wordt verzonden"
+      "TOKEN": "Voeg deze eigenschap toe als querytekenreeks in de URL van uw webservice. Zie het doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps voor meer informatie"
     },
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Rijen per pagina",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Aanmeldtijd",
     "PAUSE_TIME": "Pauzetijd",
     "TEAMS_ASSOCIATION": "Teams Association",
-    "MANDATORYDISPOSITION": "Verplichte regeling",
-    "MANDATORYDISPOSITIONPAUSEID": "Pauze om te gebruiken als verplichte dispositie is ingeschakeld",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Configuratie dialoogscherm bewerken",
     "LANGUAGE": "Taal",
-    "WELCOMEMESSAGE": "Welkomstbericht",
     "ACCESSKEYID": "Toegangssleutel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot naam",
diff --git a/public/app/main/apps/openchannel/i18n/no.json b/public/app/main/apps/openchannel/i18n/no.json
index 85dbf37..221346b 100644
--- a/public/app/main/apps/openchannel/i18n/no.json
+++ b/public/app/main/apps/openchannel/i18n/no.json
@@ -4,56 +4,11 @@
     "TIMES": "Antall ganger per samhandling",
     "EDIT_AUTOREPLY": "Rediger Automatisk svar",
     "AUTOREPLY": "Automatisk svar",
-    "NAME": "Navn",
     "OPENCHANNELQUEUES": "Åpen kanal køer",
     "SEARCH_FOR_ANYONE": "Søk etter alle",
     "ERRORS": {
-      "TEXT_REQUIRED": "Feltet tekst er nødvendig",
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten tidsavbrudd er nødvendig",
-      "MOTIONADDRESS_REQUIRED": "Bevegelsen adresse er påkrevd",
-      "MOTIONADDRESS_MUST_VALID_URL": "Bevegelsen adresse må være skrevet i et gyldig format",
-      "ACCEPTURL_MUST_VALID_URL": "Godta URL må være skrevet i et gyldig format",
-      "TIMEOUT_REQUIRED": "Tidsavbruddet er nødvendig",
-      "REJECTURL_MUST_VALID_URL": "Avvis URL må være skrevet i et gyldig format",
-      "CLOSEURL_MUST_VALID_URL": "Lukk URL må være skrevet i et gyldig format",
       "REPLYURI_REQUIRED": "Svar URL er nødvendig",
-      "REPLYURI_MUST_VALID_URL": "Svar URL må være skrevet i et gyldig format",
-      "PRIORITY_REQUIRED": "Prioriteten er nødvendig",
-      "CONDITION_REQUIRED": "Tilstanden er nødvendig",
-      "TRUEPRIORITY_REQUIRED": "Den ekte prioritet er nødvendig",
-      "FALSEPRIORITY_REQUIRED": "Den falske prioritet er nødvendig",
-      "AGENT_REQUIRED": "Obligatorisk felt",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "DISPOSITION_REQUIRED": "Obligatorisk felt",
-      "QUEUE_REQUIRED": "Obligatorisk felt",
-      "KEY_MAX_LENGTH": "Tasten må ha en maksimal lengde lik {{max}}",
-      "TEXT_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
-      "VALUE_REQUIRED": "Obligatoriske felt",
-      "COMMAND_REQUIRED": "Obligatoriske felt",
-      "LIST_REQUIRED": "Obligatoriske felt",
-      "KEY_REQUIRED": "Obligatoriske felt",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "NAME_MUST_VALID_PATTERN": "Feil format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriske felt",
-      "TAG_REQUIRED": "Obligatoriske felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt",
-      "ACCESSKEYID_REQUIRED": "Tilgangsnøkkel-ID er påkrevd",
-      "BOTNAME_REQUIRED": "Botnavn kreves",
-      "SECRETACCESSKEY_REQUIRED": "Tilgangsnøkkelhemmelighet er påkrevd"
+      "REPLYURI_MUST_VALID_URL": "Svar URL må være skrevet i et gyldig format"
     },
     "STRATEGY": "Strategi",
     "AGENT": "Agent",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Disposisjoner",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Tiltak",
-    "LIST": "Liste",
     "FIDELITY": "Fi",
     "ACCEPT": "Godta",
     "ACCEPTMETHOD": "Godta metode",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Dette er auto-generert API-strengen du trenger for å bruke til å motta meldinger inne i åpen kanal fra den eksterne applikasjonen (POST-metoden må brukes). Du kan trykke på utklippstavlen for å kopiere det på utklippstavlen.",
       "REPLYURI": "Dette er URL den åpne kanalen vil ringe når du sender eller svare på en melding",
-      "NAME": "Bare tall, bokstaver og bestemte tegn (._) støttes",
-      "LIST": "Kontakt Manager liste som brukes til å knytte kontakter",
-      "TOKEN": "Legg til denne egenskapen som spørringsstreng i webtjenestens URL. For flere detaljer, se doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-      "MANDATORYDISPOSITIONPAUSEID": "Bruk pause hvis obligatorisk disposisjon er aktivert",
-      "WELCOMEMESSAGE": "Dette er den første meldingen som er sendt til kontaktoren"
+      "TOKEN": "Legg til denne egenskapen som spørringsstreng i webtjenestens URL. For flere detaljer, se doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "Siden",
     "ROWSPERPAGE": "Linjer per side",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Innloggingstid",
     "PAUSE_TIME": "Pause tid",
     "TEAMS_ASSOCIATION": "Lagforening",
-    "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-    "MANDATORYDISPOSITIONPAUSEID": "Bruk pause hvis obligatorisk disposisjon er aktivert",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Rediger Dialogflow-konfigurasjon",
     "LANGUAGE": "Språk",
-    "WELCOMEMESSAGE": "Velkomstmelding",
     "ACCESSKEYID": "Tilgangsnøkkel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot navn",
diff --git a/public/app/main/apps/openchannel/i18n/pl.json b/public/app/main/apps/openchannel/i18n/pl.json
index 6ed982b..883d691 100644
--- a/public/app/main/apps/openchannel/i18n/pl.json
+++ b/public/app/main/apps/openchannel/i18n/pl.json
@@ -5,56 +5,11 @@
     "TIMES": "Wiele razy na interakcję",
     "EDIT_AUTOREPLY": "Edycja automatycznej odpowiedzi",
     "AUTOREPLY": "Odpowiedź automatyczna",
-    "NAME": "Nazwa",
     "OPENCHANNELQUEUES": "Wiekszość kolejek",
     "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
     "ERRORS": {
-      "TEXT_REQUIRED": "Pole tekstowe jest wymagane",
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "AGENT_TIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "MOTIONADDRESS_REQUIRED": "Pole obowiązkowe",
-      "MOTIONADDRESS_MUST_VALID_URL": "Zły format",
-      "ACCEPTURL_MUST_VALID_URL": "Zły format",
-      "TIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "REJECTURL_MUST_VALID_URL": "Zły format",
-      "CLOSEURL_MUST_VALID_URL": "Zły format",
       "REPLYURI_REQUIRED": "Pole obowiązkowe",
-      "REPLYURI_MUST_VALID_URL": "Zły format",
-      "PRIORITY_REQUIRED": "Pole obowiązkowe",
-      "CONDITION_REQUIRED": "Pole obowiązkowe",
-      "TRUEPRIORITY_REQUIRED": "Pole obowiązkowe",
-      "FALSEPRIORITY_REQUIRED": "Pole obowiązkowe",
-      "AGENT_REQUIRED": "Pole obowiązkowe",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "DISPOSITION_REQUIRED": "Pole obowiązkowe",
-      "QUEUE_REQUIRED": "Pole obowiązkowe",
-      "KEY_MAX_LENGTH": "Klucz musi mieć maksymalną długość równa {{max}}",
-      "TEXT_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
-      "COMMAND_REQUIRED": "Pole obowiązkowe",
-      "LIST_REQUIRED": "Pole obowiązkowe",
-      "KEY_REQUIRED": "Pole obowiązkowe",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "NAME_MUST_VALID_PATTERN": "Zły format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pole obowiązkowe",
-      "TAG_REQUIRED": "Pole obowiązkowe",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe",
-      "ACCESSKEYID_REQUIRED": "Wymagany jest identyfikator klucza dostępu",
-      "BOTNAME_REQUIRED": "Nazwa bota jest wymagana",
-      "SECRETACCESSKEY_REQUIRED": "Wymagany jest klucz tajny"
+      "REPLYURI_MUST_VALID_URL": "Zły format"
     },
     "STRATEGY": "Strategia",
     "AGENT": "Agent",
@@ -95,7 +50,6 @@
     "DISPOSITIONS": "Dyspozycje",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Działania",
-    "LIST": "Lista",
     "FIDELITY": "Wierność",
     "ACCEPT": "Akceptuj",
     "ACCEPTMETHOD": "Zaakceptuj metodę",
@@ -129,12 +83,7 @@
     "HELP": {
       "RECEIVEURI": "Automatycznie wygenerowany ciąg API, które mają być użyte w celu odbierania wiadomości przebiegających otwarty kanał z zewnętrznej aplikacji (za pomocą metody POST). Kliknij przycisk Schowek skopiować ją",
       "REPLYURI": "URL otwartego kanału zadzwoni podczas wysyłania wiadomości lub odpowiadania na wiadomości. Po więcej szczegółów patrz doc <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New kanały kroki konfiguracji#NewChannelsConfigurationSteps-BuildyourownChannelservice\">tutaj</a>",
-      "NAME": "Tylko cyfry, litery i znaki specjalne (._) są obsługiwane",
-      "LIST": "Contact Manager Lista służy do wiązania kontaktów",
-      "TOKEN": "Dodaj tę właściwość jako ciąg zapytania w adresie URL usługi sieci Web. Aby uzyskać więcej informacji, zobacz doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Nowe kroki konfiguracji kanałów",
-      "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
-      "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj korzystanie, jeśli włączona jest obowiązkowa dyspozycja",
-      "WELCOMEMESSAGE": "To pierwsza wiadomość wysłana do stycznika"
+      "TOKEN": "Dodaj tę właściwość jako ciąg zapytania w adresie URL usługi sieci Web. Aby uzyskać więcej informacji, zobacz doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Nowe kroki konfiguracji kanałów"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Wierszy na stronie",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Czas logowania",
     "PAUSE_TIME": "Czas przerwy",
     "TEAMS_ASSOCIATION": "Stowarzyszenie zespołów",
-    "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
-    "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj korzystanie, jeśli włączona jest obowiązkowa dyspozycja",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Edytuj konfigurację Dialogflow",
     "LANGUAGE": "Język",
-    "WELCOMEMESSAGE": "Powitanie Wiadomości",
     "ACCESSKEYID": "Identyfikator klucza dostępu",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nazwa bota",
diff --git a/public/app/main/apps/openchannel/i18n/pt-BR.json b/public/app/main/apps/openchannel/i18n/pt-BR.json
index 0fb85fa..e3c058e 100644
--- a/public/app/main/apps/openchannel/i18n/pt-BR.json
+++ b/public/app/main/apps/openchannel/i18n/pt-BR.json
@@ -46,56 +46,11 @@
     "TIMES": "Número de vezes por interação",
     "EDIT_AUTOREPLY": "Editar resposta automática",
     "AUTOREPLY": "Resposta automatica",
-    "NAME": "Nome",
     "OPENCHANNELQUEUES": "Filas Open Channel",
     "SEARCH_FOR_ANYONE": "Procurar",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "TAG_REQUIRED": "Campo Obrigatório",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
-      "KEY_REQUIRED": "Campo Obrigatório",
-      "LIST_REQUIRED": "Campo Obrigatório",
-      "COMMAND_REQUIRED": "Campo Obrigatório",
-      "TEXT_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "VALUE_REQUIRED": "Campo Obrigatório",
-      "TEXT_REQUIRED": "O texto do campo é obrigatório",
-      "NAME_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_REQUIRED": "Campo Obrigatório",
-      "MOTIONADDRESS_REQUIRED": "Campo Obrigatório",
-      "MOTIONADDRESS_MUST_VALID_URL": "Formato incorreto",
-      "ACCEPTURL_MUST_VALID_URL": "Formato incorreto",
-      "TIMEOUT_REQUIRED": "Campo Obrigatório",
-      "REJECTURL_MUST_VALID_URL": "Formato incorreto",
-      "CLOSEURL_MUST_VALID_URL": "Formato incorreto",
       "REPLYURI_REQUIRED": "Campo Obrigatório",
-      "REPLYURI_MUST_VALID_URL": "Formato incorreto",
-      "PRIORITY_REQUIRED": "Campo Obrigatório",
-      "CONDITION_REQUIRED": "Campo Obrigatório",
-      "TRUEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "FALSEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "AGENT_REQUIRED": "Campo Obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "DISPOSITION_REQUIRED": "Campo Obrigatório",
-      "QUEUE_REQUIRED": "Campo Obrigatório",
-      "KEY_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
-      "ACCESSKEYID_REQUIRED": "O código da chave de acesso é obrigatório",
-      "BOTNAME_REQUIRED": "O nome do bot é obrigatório",
-      "SECRETACCESSKEY_REQUIRED": "É necessário segredo da chave de acesso"
+      "REPLYURI_MUST_VALID_URL": "Formato incorreto"
     },
     "STRATEGY": "Estratégia",
     "AGENT": "Agente",
@@ -136,7 +91,6 @@
     "DISPOSITIONS": "Disposições",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Ações",
-    "LIST": "Lista",
     "FIDELITY": "Fidelidade",
     "ACCEPT": "Aceitar",
     "ACCEPTMETHOD": "Aceite o Método",
@@ -170,12 +124,7 @@
     "HELP": {
       "TOKEN": "Adicione esta propriedade como string de consulta em sua URL do serviço da Web. Para obter mais detalhes, consulte o documento <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\"> aqui </ um>",
       "RECEIVEURI": "Cadeia de caracteres da API gerada automaticamente para ser usada para receber mensagens dentro de seu canal aberto a partir do aplicativo externo (usando o método POST). Clique no botão da área de transferência para copiá-lo",
-      "REPLYURI": "O URL que o canal aberto irá chamar ao enviar ou responder a uma mensagem. Para obter mais detalhes, consulte o documento <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\"> aqui </ um>",
-      "NAME": "Somente números, letras e caracteres específicos (._) são suportados",
-      "LIST": "Lista de contatos do gerenciador usada para associar contatos",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar se a disposição obrigatória estiver ativada",
-      "WELCOMEMESSAGE": "Esta é a primeira mensagem enviada ao contator"
+      "REPLYURI": "O URL que o canal aberto irá chamar ao enviar ou responder a uma mensagem. Para obter mais detalhes, consulte o documento <a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\"> aqui </ um>"
     },
     "PAGE": "Página",
     "ROWSPERPAGE": "Linhas por Página",
@@ -240,12 +189,9 @@
     "TO": "Para",
     "MAPKEY": "Map Key",
     "TEAMS_ASSOCIATION": "Associação de equipes",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar se a disposição obrigatória estiver ativada",
     "DIALOGFLOW": "Fluxo de Diálogo",
     "EDIT_DIALOGFLOW": "Editar configuração do fluxo de diálogo",
     "LANGUAGE": "Língua",
-    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
     "ACCESSKEYID": "ID da chave de acesso",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nome do bot",
diff --git a/public/app/main/apps/openchannel/i18n/pt-PT.json b/public/app/main/apps/openchannel/i18n/pt-PT.json
index 11a6c89..5384fe7 100644
--- a/public/app/main/apps/openchannel/i18n/pt-PT.json
+++ b/public/app/main/apps/openchannel/i18n/pt-PT.json
@@ -4,56 +4,11 @@
     "TIMES": "Número de vezes por interação",
     "EDIT_AUTOREPLY": "Editar resposta automática",
     "AUTOREPLY": "Resposta automática",
-    "NAME": "Nome",
     "OPENCHANNELQUEUES": "Filas de canal aberto",
     "SEARCH_FOR_ANYONE": "Pesquisar todos",
     "ERRORS": {
-      "TEXT_REQUIRED": "O campo texto é necessário",
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "AGENT_TIMEOUT_REQUIRED": "O Tempo Limite do Agente é necessária",
-      "MOTIONADDRESS_REQUIRED": "O Movimento de endereço é obrigatório",
-      "MOTIONADDRESS_MUST_VALID_URL": "A proposta Endereço deve ser escrito em um formato válido",
-      "ACCEPTURL_MUST_VALID_URL": "A aceitar a URL deve ser escrito em um formato válido",
-      "TIMEOUT_REQUIRED": "O tempo limite é necessária",
-      "REJECTURL_MUST_VALID_URL": "A rejeitar a URL deve ser escrito em um formato válido",
-      "CLOSEURL_MUST_VALID_URL": "A FECHAR A URL deve ser escrito em um formato válido",
       "REPLYURI_REQUIRED": "A resposta é necessária URL",
-      "REPLYURI_MUST_VALID_URL": "A resposta URL deve ser escrito em um formato válido",
-      "PRIORITY_REQUIRED": "A prioridade é necessária",
-      "CONDITION_REQUIRED": "A condição é necessária",
-      "TRUEPRIORITY_REQUIRED": "A verdadeira prioridade é obrigatório",
-      "FALSEPRIORITY_REQUIRED": "O falso é necessária prioridade",
-      "AGENT_REQUIRED": "Campo de preenchimento obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior que ou igual a",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior que ou igual a",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior que ou igual a",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior que ou igual a",
-      "DISPOSITION_REQUIRED": "Campo de preenchimento obrigatório",
-      "QUEUE_REQUIRED": "Campo de preenchimento obrigatório",
-      "KEY_MAX_LENGTH": "A chave deve ter um comprimento máximo igual ao máximo {{}}",
-      "TEXT_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "VALUE_REQUIRED": "Campo Obrigatório",
-      "COMMAND_REQUIRED": "Campo Obrigatório",
-      "LIST_REQUIRED": "Campo Obrigatório",
-      "KEY_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
-      "TAG_REQUIRED": "Campo Obrigatório",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
-      "ACCESSKEYID_REQUIRED": "O código da chave de acesso é obrigatório",
-      "BOTNAME_REQUIRED": "O nome do bot é obrigatório",
-      "SECRETACCESSKEY_REQUIRED": "É necessário segredo da chave de acesso"
+      "REPLYURI_MUST_VALID_URL": "A resposta URL deve ser escrito em um formato válido"
     },
     "STRATEGY": "Estratégia",
     "AGENT": "Agente",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Disposições",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Acções",
-    "LIST": "Lista",
     "FIDELITY": "Fidelidade",
     "ACCEPT": "Aceitar",
     "ACCEPTMETHOD": "Método de Aceitar",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Esta é a API de auto-gerados de caracteres que você precisa usar para receber as mensagens no interior do seu canal aberto a partir do seu aplicativo externo (método POST deve ser usado). Você pode pressionar o botão de transferência para copiar na área de transferência.",
       "REPLYURI": "Esta é a URL canal aberto será chamada quando enviar ou responder a uma mensagem",
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
-      "LIST": "Contact Manager lista usada para associar contatos",
-      "TOKEN": "Adicione esta propriedade como string de consulta em sua URL do serviço da Web. Para obter mais detalhes, consulte o documento <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Novos passos de configuração de canais",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar se a disposição obrigatória estiver ativada",
-      "WELCOMEMESSAGE": "Esta é a primeira mensagem enviada ao contator"
+      "TOKEN": "Adicione esta propriedade como string de consulta em sua URL do serviço da Web. Para obter mais detalhes, consulte o documento <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Novos passos de configuração de canais"
     },
     "PAGE": "Página",
     "ROWSPERPAGE": "Linhas por página",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Tempo de login",
     "PAUSE_TIME": "Tempo de pausa",
     "TEAMS_ASSOCIATION": "Associação de equipes",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar se a disposição obrigatória estiver ativada",
     "DIALOGFLOW": "Fluxo de Diálogo",
     "EDIT_DIALOGFLOW": "Editar configuração do fluxo de diálogo",
     "LANGUAGE": "Língua",
-    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
     "ACCESSKEYID": "ID da chave de acesso",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nome do bot",
diff --git a/public/app/main/apps/openchannel/i18n/ru.json b/public/app/main/apps/openchannel/i18n/ru.json
index 38983ad..dd53287 100644
--- a/public/app/main/apps/openchannel/i18n/ru.json
+++ b/public/app/main/apps/openchannel/i18n/ru.json
@@ -4,56 +4,11 @@
     "TIMES": "Количество раз в взаимодействие",
     "EDIT_AUTOREPLY": "Редактировать автоматический ответ",
     "AUTOREPLY": "Автоматический ответ",
-    "NAME": "Имя",
     "OPENCHANNELQUEUES": "Открыть канал очередей",
     "SEARCH_FOR_ANYONE": "Для поиска любого",
     "ERRORS": {
-      "TEXT_REQUIRED": "Поле text не требуется",
-      "NAME_REQUIRED": "Это имя требуется",
-      "AGENT_TIMEOUT_REQUIRED": "Оператор - тайм-аут требуется",
-      "MOTIONADDRESS_REQUIRED": "Движение адрес не требуется",
-      "MOTIONADDRESS_MUST_VALID_URL": "Движение адрес должен быть записан в действительный формат",
-      "ACCEPTURL_MUST_VALID_URL": "Принять URL должен быть записан в действительный формат",
-      "TIMEOUT_REQUIRED": "Тайм-аут не требуется",
-      "REJECTURL_MUST_VALID_URL": "Отклонить URL должен быть записан в действительный формат",
-      "CLOSEURL_MUST_VALID_URL": "Закрыть адрес URL должен быть записан в действительный формат",
       "REPLYURI_REQUIRED": "Ответ URL не требуется",
-      "REPLYURI_MUST_VALID_URL": "Ответ URL должен быть написан в действительный формат",
-      "PRIORITY_REQUIRED": "Приоритет не требуется",
-      "CONDITION_REQUIRED": "Состояние не требуется",
-      "TRUEPRIORITY_REQUIRED": "Истинный приоритет не требуется",
-      "FALSEPRIORITY_REQUIRED": "Ложные приоритет не требуется",
-      "AGENT_REQUIRED": "Обязательное поле",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "DISPOSITION_REQUIRED": "Обязательное поле",
-      "QUEUE_REQUIRED": "Обязательное поле",
-      "KEY_MAX_LENGTH": "Ключ должен иметь максимальную длину равную {{max}}",
-      "TEXT_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}",
-      "VALUE_REQUIRED": "Обязательное поле",
-      "COMMAND_REQUIRED": "Обязательное поле",
-      "LIST_REQUIRED": "Обязательное поле",
-      "KEY_REQUIRED": "Обязательное поле",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "NAME_MUST_VALID_PATTERN": "Неверный формат",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Обязательное поле",
-      "TAG_REQUIRED": "Обязательное поле",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле",
-      "ACCESSKEYID_REQUIRED": "Требуется идентификатор ключа доступа",
-      "BOTNAME_REQUIRED": "Имя бота обязательно",
-      "SECRETACCESSKEY_REQUIRED": "Требуется секретный ключ доступа"
+      "REPLYURI_MUST_VALID_URL": "Ответ URL должен быть написан в действительный формат"
     },
     "STRATEGY": "Стратегия",
     "AGENT": "Оператор",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Распоряжения",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Действия",
-    "LIST": "Список",
     "FIDELITY": "Четкость",
     "ACCEPT": "Согласиться с",
     "ACCEPTMETHOD": "Принять метод",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Это автоматически генерируемый API строки Вы должны использовать для приема сообщений внутри вашего открыть канал из внешнего приложения (POST метод должен использоваться). Вы можете нажать кнопку в буфер обмена для копирования в буфер обмена.",
       "REPLYURI": "Это URL открытого канала будет вызов при отправке или ответе на сообщение",
-      "NAME": "Только цифры, буквы и специальные символы (_) поддерживаются",
-      "LIST": "Contact Manager список используется для связи контакты",
-      "TOKEN": "Добавьте это свойство в строку запроса в URL-адрес веб-службы. Более подробную информацию см. В документе doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Новые шаги настройки каналов",
-      "MANDATORYDISPOSITION": "Обязательное распоряжение",
-      "MANDATORYDISPOSITIONPAUSEID": "Пауза для использования, если включена обязательная утилизация",
-      "WELCOMEMESSAGE": "Это первое сообщение, отправленное контактору"
+      "TOKEN": "Добавьте это свойство в строку запроса в URL-адрес веб-службы. Более подробную информацию см. В документе doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Новые шаги настройки каналов"
     },
     "PAGE": "Страница",
     "ROWSPERPAGE": "Строк на странице",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Время входа",
     "PAUSE_TIME": "Время паузы",
     "TEAMS_ASSOCIATION": "Ассоциация команд",
-    "MANDATORYDISPOSITION": "Обязательное распоряжение",
-    "MANDATORYDISPOSITIONPAUSEID": "Пауза для использования, если включена обязательная утилизация",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Изменить конфигурацию диалога",
     "LANGUAGE": "язык",
-    "WELCOMEMESSAGE": "Приветственное сообщение",
     "ACCESSKEYID": "Идентификатор ключа доступа",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Имя бота",
diff --git a/public/app/main/apps/openchannel/i18n/sv.json b/public/app/main/apps/openchannel/i18n/sv.json
index 105ab6f..085c364 100644
--- a/public/app/main/apps/openchannel/i18n/sv.json
+++ b/public/app/main/apps/openchannel/i18n/sv.json
@@ -4,56 +4,11 @@
     "TIMES": "Antalet gånger per interaktion",
     "EDIT_AUTOREPLY": "Redigera frånvaromeddelande",
     "AUTOREPLY": "Auto-svar",
-    "NAME": "Namn",
     "OPENCHANNELQUEUES": "Öppna kanalens köer",
     "SEARCH_FOR_ANYONE": "Sök",
     "ERRORS": {
-      "TEXT_REQUIRED": "Texten i fältet är obligatoriskt",
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout krävs",
-      "MOTIONADDRESS_REQUIRED": "Motion adress krävs",
-      "MOTIONADDRESS_MUST_VALID_URL": "Rörelsen måste vara skrivna på ett giltigt format",
-      "ACCEPTURL_MUST_VALID_URL": "Acceptera URL måste vara skrivna på ett giltigt format",
-      "TIMEOUT_REQUIRED": "Väntetiden är obligatoriskt",
-      "REJECTURL_MUST_VALID_URL": "Avvisa URL måste vara skrivna på ett giltigt format",
-      "CLOSEURL_MUST_VALID_URL": "Stäng URL måste vara skrivna på ett giltigt format",
       "REPLYURI_REQUIRED": "Svaret URL krävs",
-      "REPLYURI_MUST_VALID_URL": "Svaret URL måste skrivas i ett giltigt format",
-      "PRIORITY_REQUIRED": "Den prioritet som krävs",
-      "CONDITION_REQUIRED": "Skicket är obligatoriskt",
-      "TRUEPRIORITY_REQUIRED": "Den verkliga prioriterade krävs",
-      "FALSEPRIORITY_REQUIRED": "Den falska prioritering krävs",
-      "AGENT_REQUIRED": "Obligatoriskt fält",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "DISPOSITION_REQUIRED": "Obligatoriskt fält",
-      "QUEUE_REQUIRED": "Obligatoriskt fält",
-      "KEY_MAX_LENGTH": "Nyckeln måste ha en maximal längd lika med {{max}}",
-      "TEXT_MAX_LENGTH": "Värdet måste ha en maximal längd som är lika med {{max}}",
-      "VALUE_REQUIRED": "Obligatoriskt fält",
-      "COMMAND_REQUIRED": "Obligatoriskt fält",
-      "LIST_REQUIRED": "Obligatoriskt fält",
-      "KEY_REQUIRED": "Obligatoriskt fält",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "NAME_MUST_VALID_PATTERN": "Fel format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriskt fält",
-      "TAG_REQUIRED": "Obligatoriskt fält",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält",
-      "ACCESSKEYID_REQUIRED": "Åtkomstnyckel-ID krävs",
-      "BOTNAME_REQUIRED": "Botnamn krävs",
-      "SECRETACCESSKEY_REQUIRED": "Åtkomstnyckelhemlighet krävs"
+      "REPLYURI_MUST_VALID_URL": "Svaret URL måste skrivas i ett giltigt format"
     },
     "STRATEGY": "Strategi",
     "AGENT": "Agent",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Kategorier",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Åtgärder",
-    "LIST": "Lista",
     "FIDELITY": "Fidelity",
     "ACCEPT": "Godta",
     "ACCEPTMETHOD": "Acceptera metod",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Det är auto-genererade API snöre som du behöver använda för att ta emot meddelanden i din öppna kanalen från din externa program (efter metod måste användas). Du kan trycka på clipboarden för att kopiera det i urklipp.",
       "REPLYURI": "Detta är URL den öppna kanalen kommer att ringa när du skickar eller svarar på ett meddelande",
-      "NAME": "Endast siffror, bokstäver och särskilda tecken (_) stöds",
-      "LIST": "Contact Manager listan används för att knyta kontakter",
-      "TOKEN": "Lägg till den här egenskapen som frågesträng i din webbtjänstadress. För mer information, se doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa för att använda om obligatorisk disposition är aktiverad",
-      "WELCOMEMESSAGE": "Detta är det första meddelandet som skickas till kontaktorn"
+      "TOKEN": "Lägg till den här egenskapen som frågesträng i din webbtjänstadress. För mer information, se doc <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "Sidan",
     "ROWSPERPAGE": "Rader per sida",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Inloggningstid",
     "PAUSE_TIME": "Paus tid",
     "TEAMS_ASSOCIATION": "Team Association",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa för att använda om obligatorisk disposition är aktiverad",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Redigera Dialogflow-konfiguration",
     "LANGUAGE": "Språk",
-    "WELCOMEMESSAGE": "Välkomstmeddelande",
     "ACCESSKEYID": "Åtkomstnyckel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot namn",
diff --git a/public/app/main/apps/openchannel/i18n/tr.json b/public/app/main/apps/openchannel/i18n/tr.json
index 3a94569..78f538d 100644
--- a/public/app/main/apps/openchannel/i18n/tr.json
+++ b/public/app/main/apps/openchannel/i18n/tr.json
@@ -4,56 +4,11 @@
     "TIMES": "Numarası, her etkileşim",
     "EDIT_AUTOREPLY": "Edit Otomatik Yanıtlama",
     "AUTOREPLY": "Otomatik Yanıtlama",
-    "NAME": "Adı",
     "OPENCHANNELQUEUES": "Açık Kanal Kuyrukları",
     "SEARCH_FOR_ANYONE": "Arama herkesin",
     "ERRORS": {
-      "TEXT_REQUIRED": "Alan metin gerekiyor",
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "AGENT_TIMEOUT_REQUIRED": "Ajan zaman gerekiyor.",
-      "MOTIONADDRESS_REQUIRED": "Hareket adresi gerekli",
-      "MOTIONADDRESS_MUST_VALID_URL": "Hareket adres yazılmış olması gerekir. geçerli bir format",
-      "ACCEPTURL_MUST_VALID_URL": "Kabul URL yazılmış olması gerekir. geçerli bir format",
-      "TIMEOUT_REQUIRED": "Zaman Aşımı gerekiyor.",
-      "REJECTURL_MUST_VALID_URL": "Reddetme URL yazılmış olması gerekir. geçerli bir format",
-      "CLOSEURL_MUST_VALID_URL": "Kapat URL yazılmış olması gerekir. geçerli bir format",
       "REPLYURI_REQUIRED": "Cevap URL gerekiyor.",
-      "REPLYURI_MUST_VALID_URL": "Cevap URL mutlaka yazılı geçerli bir format",
-      "PRIORITY_REQUIRED": "Öncelikli olarak gerekli",
-      "CONDITION_REQUIRED": "Bu durumda gerekli",
-      "TRUEPRIORITY_REQUIRED": "Gerçek Öncelik gerekli",
-      "FALSEPRIORITY_REQUIRED": "Yanlış Öncelik gerekli",
-      "AGENT_REQUIRED": "Zorunlu alan",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer eşit veya daha büyük olmalıdır.",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer eşit veya daha büyük olmalıdır.",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer eşit veya daha büyük olmalıdır.",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer eşit veya daha büyük olmalıdır.",
-      "DISPOSITION_REQUIRED": "Zorunlu alan",
-      "QUEUE_REQUIRED": "Zorunlu alan",
-      "KEY_MAX_LENGTH": "Anahtar maksimum uzunluğu eşit {{maks.}}",
-      "TEXT_MAX_LENGTH": "Değer, {{max}} değerine eşit bir maksimum uzunluğa sahip olmalıdır.",
-      "VALUE_REQUIRED": "Zorunlu alan",
-      "COMMAND_REQUIRED": "Zorunlu alan",
-      "LIST_REQUIRED": "Zorunlu alan",
-      "KEY_REQUIRED": "Zorunlu alan",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "NAME_MUST_VALID_PATTERN": "Yanlış format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Zorunlu alan",
-      "TAG_REQUIRED": "Zorunlu alan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan",
-      "ACCESSKEYID_REQUIRED": "Erişim anahtarı kimliği gereklidir",
-      "BOTNAME_REQUIRED": "Bot adı gerekli",
-      "SECRETACCESSKEY_REQUIRED": "Erişim anahtarı sırrı gerekiyor"
+      "REPLYURI_MUST_VALID_URL": "Cevap URL mutlaka yazılı geçerli bir format"
     },
     "STRATEGY": "Strateji",
     "AGENT": "Ajan",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Işlenir",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "Eylemler",
-    "LIST": "Listesi",
     "FIDELITY": "Doğruluğu",
     "ACCEPT": "Kabul Ediyorum",
     "ACCEPTMETHOD": "Kabul Yöntemi",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "Bu otomatik oluşturulan API string için, mesajları, açık kanal harici uygulama (POST metodu kullanılmalıdır.). , Pano için kopyalama, panoya kopyalar.",
       "REPLYURI": "Bu URL açık kanal çağrı gönderme veya mesajı yanıtlama",
-      "NAME": "Sadece sayılar, harfler ve özel karakterler (._) desteklenir.",
-      "LIST": "Kişi Yöneticisi Listesi kullanılan ortak kişiler",
-      "TOKEN": "Bu özelliği Web Hizmeti URL’nizde sorgu dizesi olarak ekleyin. Daha fazla ayrıntı için dokümana bakın <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Yeni Kanallar Yapılandırma Adımları",
-      "MANDATORYDISPOSITION": "Zorunlu düzenleme",
-      "MANDATORYDISPOSITIONPAUSEID": "Zorunlu bırakma etkinse, kullanımı duraklat",
-      "WELCOMEMESSAGE": "Bu, kontaktöre gönderilen ilk mesajdır."
+      "TOKEN": "Bu özelliği Web Hizmeti URL’nizde sorgu dizesi olarak ekleyin. Daha fazla ayrıntı için dokümana bakın <a target = \"_ blank\" href = \"https://wiki.xcallymotion.com/display/XMV/Yeni Kanallar Yapılandırma Adımları"
     },
     "PAGE": "Sayfa",
     "ROWSPERPAGE": "Sayfadaki satırları",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "Giriş zamanı",
     "PAUSE_TIME": "Durma zamanı",
     "TEAMS_ASSOCIATION": "Takımlar Birliği",
-    "MANDATORYDISPOSITION": "Zorunlu düzenleme",
-    "MANDATORYDISPOSITIONPAUSEID": "Zorunlu bırakma etkinse, kullanımı duraklat",
-    "DIALOGFLOW": "Dialogflow (deprecated)",
+    "DIALOGFLOW": "Dialogflow",
     "EDIT_DIALOGFLOW": "Dialogflow yapılandırmasını düzenle",
     "LANGUAGE": "Dil",
-    "WELCOMEMESSAGE": "Hoşgeldin Mesajlaşma",
     "ACCESSKEYID": "Erişim anahtarı kimliği",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot adı",
diff --git a/public/app/main/apps/openchannel/i18n/zh-CN.json b/public/app/main/apps/openchannel/i18n/zh-CN.json
index e1f7470..1409500 100644
--- a/public/app/main/apps/openchannel/i18n/zh-CN.json
+++ b/public/app/main/apps/openchannel/i18n/zh-CN.json
@@ -4,56 +4,11 @@
     "TIMES": "每个交互操作的次数。",
     "EDIT_AUTOREPLY": "编辑自动回复",
     "AUTOREPLY": "自动回复",
-    "NAME": "名称",
     "OPENCHANNELQUEUES": "打开通道的队列。",
     "SEARCH_FOR_ANYONE": "搜索任何人",
     "ERRORS": {
-      "TEXT_REQUIRED": "在字段中的文本是必需的",
-      "NAME_REQUIRED": "该名称是必需的",
-      "AGENT_TIMEOUT_REQUIRED": "代理超时是必需的",
-      "MOTIONADDRESS_REQUIRED": "该议案的地址是必填项",
-      "MOTIONADDRESS_MUST_VALID_URL": "该议案的地址必须是书面的格式无效",
-      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必须是书面的格式无效",
-      "TIMEOUT_REQUIRED": "超时是必需的",
-      "REJECTURL_MUST_VALID_URL": "“拒绝” 的 URL 必须是书面的格式无效",
-      "CLOSEURL_MUST_VALID_URL": "关闭 URL 必须是书面的格式无效",
       "REPLYURI_REQUIRED": "回复 URL 是必需的",
-      "REPLYURI_MUST_VALID_URL": "回复 URL 必须书面格式无效",
-      "PRIORITY_REQUIRED": "优先级是必需的",
-      "CONDITION_REQUIRED": "条件是必需的",
-      "TRUEPRIORITY_REQUIRED": "真正的优先事项是必需的",
-      "FALSEPRIORITY_REQUIRED": "错误的优先级是必需的",
-      "AGENT_REQUIRED": "必填字段",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "DISPOSITION_REQUIRED": "必填字段",
-      "QUEUE_REQUIRED": "必填字段",
-      "KEY_MAX_LENGTH": "密钥必须有一个最大长度等于最大值{{}}",
-      "TEXT_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
-      "VALUE_REQUIRED": "必填项",
-      "COMMAND_REQUIRED": "必填项",
-      "LIST_REQUIRED": "必填项",
-      "KEY_REQUIRED": "必填项",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "NAME_MUST_VALID_PATTERN": "错误的格式",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填项",
-      "TAG_REQUIRED": "必填项",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填项",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填项",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项",
-      "ACCESSKEYID_REQUIRED": "必须输入访问密钥ID",
-      "BOTNAME_REQUIRED": "机器人名称为必填项",
-      "SECRETACCESSKEY_REQUIRED": "需要访问密钥机密"
+      "REPLYURI_MUST_VALID_URL": "回复 URL 必须书面格式无效"
     },
     "STRATEGY": "战略",
     "AGENT": "座席",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "资产处置",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "采取的行动",
-    "LIST": "列表",
     "FIDELITY": "保真度",
     "ACCEPT": "接受",
     "ACCEPTMETHOD": "接受的方法。",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "这是自动生成的 API 字符串需要使用接收的讯息的渠道, 从您的外部应用程序(开机自检的方法必须使用)。 您可以按 “剪贴板” 按钮以将其复制到您的剪贴板上。",
       "REPLYURI": "这是开放的开放的通道将呼叫发送或回复消息",
-      "NAME": "只有数字、字母和特殊字符(_)的支持",
-      "LIST": "联系人管理器用来关联的联系人列表。",
-      "TOKEN": "在Web服务URL中将此属性添加为查询字符串。有关详细信息，请参阅doc <a target =“_ blank”href =“https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "强制性处分",
-      "MANDATORYDISPOSITIONPAUSEID": "如果启用了强制性处置，则暂停使用",
-      "WELCOMEMESSAGE": "这是发送给接触者的第一条消息"
+      "TOKEN": "在Web服务URL中将此属性添加为查询字符串。有关详细信息，请参阅doc <a target =“_ blank”href =“https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "页面",
     "ROWSPERPAGE": "每页的行数。",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "登录时间",
     "PAUSE_TIME": "暂停时间",
     "TEAMS_ASSOCIATION": "团队协会",
-    "MANDATORYDISPOSITION": "强制性处分",
-    "MANDATORYDISPOSITIONPAUSEID": "如果启用了强制性处置，则暂停使用",
     "DIALOGFLOW": "对话流程",
     "EDIT_DIALOGFLOW": "编辑Dialogflow配置",
     "LANGUAGE": "语言",
-    "WELCOMEMESSAGE": "欢迎消息",
     "ACCESSKEYID": "访问密钥ID",
     "AMAZONLEX": "亚马逊Lex",
     "BOTNAME": "机器人名称",
diff --git a/public/app/main/apps/openchannel/i18n/zh-TW.json b/public/app/main/apps/openchannel/i18n/zh-TW.json
index 7febe75..8f3c677 100644
--- a/public/app/main/apps/openchannel/i18n/zh-TW.json
+++ b/public/app/main/apps/openchannel/i18n/zh-TW.json
@@ -4,56 +4,11 @@
     "TIMES": "每個互動的次數。",
     "EDIT_AUTOREPLY": "編輯自動回覆",
     "AUTOREPLY": "自動回覆",
-    "NAME": "名稱",
     "OPENCHANNELQUEUES": "打開通道佇列",
     "SEARCH_FOR_ANYONE": "搜尋使用者",
     "ERRORS": {
-      "TEXT_REQUIRED": "文字欄位是必填項",
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "AGENT_TIMEOUT_REQUIRED": "「值機人員逾時為必填欄位",
-      "MOTIONADDRESS_REQUIRED": "動態地址為必填欄位",
-      "MOTIONADDRESS_MUST_VALID_URL": "動態位址必須以有效的格式",
-      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必須以有效的格式",
-      "TIMEOUT_REQUIRED": "逾時時間為必要資訊",
-      "REJECTURL_MUST_VALID_URL": "拒絕 URL 必須以有效的格式",
-      "CLOSEURL_MUST_VALID_URL": "關閉的 URL 必須以有效的格式",
       "REPLYURI_REQUIRED": "回覆所需的 URL",
-      "REPLYURI_MUST_VALID_URL": "回覆 URL 必須書面的格式無效",
-      "PRIORITY_REQUIRED": "優先級",
-      "CONDITION_REQUIRED": "需要的條件",
-      "TRUEPRIORITY_REQUIRED": "真正的重點是必填項",
-      "FALSEPRIORITY_REQUIRED": "這個錯誤的優先順序是必要的",
-      "AGENT_REQUIRED": "必填欄位",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "DISPOSITION_REQUIRED": "必填欄位",
-      "QUEUE_REQUIRED": "必填欄位",
-      "KEY_MAX_LENGTH": "金鑰必須具有最大長度等於 { { 最大 } }",
-      "TEXT_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
-      "VALUE_REQUIRED": "必填項",
-      "COMMAND_REQUIRED": "必填項",
-      "LIST_REQUIRED": "必填項",
-      "KEY_REQUIRED": "必填項",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "NAME_MUST_VALID_PATTERN": "錯誤的格式",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填項",
-      "TAG_REQUIRED": "必填項",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填項",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填項",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項",
-      "ACCESSKEYID_REQUIRED": "必須輸入訪問密鑰ID",
-      "BOTNAME_REQUIRED": "機器人名稱為必填項",
-      "SECRETACCESSKEY_REQUIRED": "需要訪問密鑰機密"
+      "REPLYURI_MUST_VALID_URL": "回覆 URL 必須書面的格式無效"
     },
     "STRATEGY": "策略",
     "AGENT": "值機員",
@@ -94,7 +49,6 @@
     "DISPOSITIONS": "Dispositions",
     "WEBHOOKS": "WebHooks",
     "ACTIONS": "動作",
-    "LIST": "清單",
     "FIDELITY": "準確性",
     "ACCEPT": "接受",
     "ACCEPTMETHOD": "接受方法",
@@ -128,12 +82,7 @@
     "HELP": {
       "RECEIVEURI": "這是自動生成的 API 串您需要使用接收的訊息在您打開通道從您的外部應用程式 ( 必須使用 POST 方法 ) 。 您可以按下按鈕以將其複製到您的剪貼簿剪貼簿。",
       "REPLYURI": "這是開放的我們打開通道將通話傳送或回覆訊息時",
-      "NAME": "只有數字、字母和特殊字元 ( _ ) 都受到支援",
-      "LIST": "連絡人管理器列表用於關聯的連絡人",
-      "TOKEN": "在Web服務URL中將此屬性添加為查詢字符串。有關詳細信息，請參閱doc <a target =“_ blank”href =“https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps",
-      "MANDATORYDISPOSITION": "強制性處分",
-      "MANDATORYDISPOSITIONPAUSEID": "如果啟用了強制性處置，則暫停使用",
-      "WELCOMEMESSAGE": "這是發送給接觸者的第一條消息"
+      "TOKEN": "在Web服務URL中將此屬性添加為查詢字符串。有關詳細信息，請參閱doc <a target =“_ blank”href =“https://wiki.xcallymotion.com/display/XMV/New Channels Configuration Steps"
     },
     "PAGE": "頁面",
     "ROWSPERPAGE": "每頁行數",
@@ -240,12 +189,9 @@
     "LOGIN_TIME": "登錄時間",
     "PAUSE_TIME": "暫停時間",
     "TEAMS_ASSOCIATION": "團隊協會",
-    "MANDATORYDISPOSITION": "強制性處分",
-    "MANDATORYDISPOSITIONPAUSEID": "如果啟用了強制性處置，則暫停使用",
     "DIALOGFLOW": "對話流程",
     "EDIT_DIALOGFLOW": "編輯Dialogflow配置",
     "LANGUAGE": "語言",
-    "WELCOMEMESSAGE": "歡迎消息",
     "ACCESSKEYID": "訪問密鑰ID",
     "AMAZONLEX": "亞馬遜Lex",
     "BOTNAME": "機器人名稱",
diff --git a/public/app/main/apps/settings/i18n/ar.json b/public/app/main/apps/settings/i18n/ar.json
index 0506a16..5a12bf1 100644
--- a/public/app/main/apps/settings/i18n/ar.json
+++ b/public/app/main/apps/settings/i18n/ar.json
@@ -87,7 +87,6 @@
     "MOTIONBARAUTOUPDATER": "التحديث التلقائى لشريط الاتصال",
     "MOTIONBARAUTOUPDATERURL": "عنوان التحديث التلقائي",
     "MOUNT_POINT": "نقطه التحميل",
-    "NAME": "اسم",
     "NO_NEW_VERSION_AVAILABLE": "لا يوجد إصدار جديد متاح",
     "OPENCHANNEL": "قناه إتصال مفتوحة",
     "OTHERS": "الآخرين",
@@ -191,7 +190,6 @@
     "STUNADDR": "",
     "TOKEN": "رمز",
     "TRIAL_VERSION": "نسخه تجريبيه",
-    "TYPE": "اكتب",
     "UPDATES": "التحديثات",
     "UPDATE_LICENSE": "تحديث الترخيص",
     "USEFUL_COMMANDS": "أوامر مفيدة",
diff --git a/public/app/main/apps/settings/i18n/cs.json b/public/app/main/apps/settings/i18n/cs.json
index 0293971..b7d76a9 100644
--- a/public/app/main/apps/settings/i18n/cs.json
+++ b/public/app/main/apps/settings/i18n/cs.json
@@ -41,7 +41,6 @@
     "TOTAL": "Total",
     "USED": "Used",
     "FREE": "Free",
-    "NAME": "Name",
     "STATE": "State",
     "CHAT": "Chat",
     "MAIL": "Email",
@@ -88,7 +87,6 @@
     "SMTP_PASSWORD": "Password",
     "SMTP_PORT": "Port",
     "SMTP_SECURE": "Secure",
-    "TYPE": "Type",
     "ADDRESS": "Address",
     "NEW_NETWORK": "New Network",
     "ADD_NETWORK": "Add Network",
diff --git a/public/app/main/apps/settings/i18n/da.json b/public/app/main/apps/settings/i18n/da.json
index b8332a1..6c68ac4 100644
--- a/public/app/main/apps/settings/i18n/da.json
+++ b/public/app/main/apps/settings/i18n/da.json
@@ -19,7 +19,6 @@
     "TOTAL": "Total",
     "USED": "Brugt",
     "FREE": "Gratis",
-    "NAME": "Navnet",
     "STATE": "Medlemsstat",
     "CHAT": "Chat",
     "MAIL": "Mail",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP Password",
     "SMTP_PORT": "SMTP-port",
     "SMTP_SECURE": "Fastgør",
-    "TYPE": "Type",
     "ADDRESS": "Adresse",
     "NEW_NETWORK": "Nyt netværk",
     "ADD_NETWORK": "Add Network",
diff --git a/public/app/main/apps/settings/i18n/de.json b/public/app/main/apps/settings/i18n/de.json
index f57ca24..0ad82b2 100644
--- a/public/app/main/apps/settings/i18n/de.json
+++ b/public/app/main/apps/settings/i18n/de.json
@@ -19,7 +19,6 @@
     "TOTAL": "Gesamt",
     "USED": "Verwendet",
     "FREE": "Kostenlos",
-    "NAME": "Name",
     "STATE": "Zustand",
     "CHAT": "Chat",
     "MAIL": "E-Mail",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP-Passwort",
     "SMTP_PORT": "SMTP-Port",
     "SMTP_SECURE": "Sichere",
-    "TYPE": "Typ",
     "ADDRESS": "Adresse",
     "NEW_NETWORK": "Neues Netzwerk",
     "ADD_NETWORK": "Netzwerk hinzufügen",
diff --git a/public/app/main/apps/settings/i18n/en.json b/public/app/main/apps/settings/i18n/en.json
index b8e65d3..34d13fd 100644
--- a/public/app/main/apps/settings/i18n/en.json
+++ b/public/app/main/apps/settings/i18n/en.json
@@ -46,7 +46,6 @@
     "TOTAL": "Total",
     "USED": "Used",
     "FREE": "Free",
-    "NAME": "Name",
     "STATE": "State",
     "CHAT": "Chat",
     "MAIL": "Email",
@@ -96,7 +95,6 @@
     "SMTP_PASSWORD": "Password",
     "SMTP_PORT": "Port",
     "SMTP_SECURE": "Secure",
-    "TYPE": "Type",
     "ADDRESS": "Address",
     "USERNAME": "Username",
     "NEW_NETWORK": "New Network",
diff --git a/public/app/main/apps/settings/i18n/es.json b/public/app/main/apps/settings/i18n/es.json
index f2963ed..202204e 100644
--- a/public/app/main/apps/settings/i18n/es.json
+++ b/public/app/main/apps/settings/i18n/es.json
@@ -123,7 +123,6 @@
     "MOTIONBARAUTOUPDATERURL": "URL de actualización automática",
     "MOTION_PROCESS_MANAGEMENT": "Procesos Gestión de Motion",
     "MOUNT_POINT": "Montar",
-    "NAME": "Nombre",
     "NETWORKS": "Redes",
     "NEW_NETWORK": "Nueva red",
     "NEW_TOKEN": "Nuevo Token",
@@ -182,7 +181,6 @@
     "TURNADDR": "TURN Dirección",
     "TURN_PASSWORD": "TURN contraseña",
     "TURN_USERNAME": "TURN Nombre de usuario",
-    "TYPE": "Tipo",
     "UNLIMITED_CHANNELS": "Canales ilimitados",
     "UPDATE": "Actualizar",
     "UPDATES": "Actualizaciones",
diff --git a/public/app/main/apps/settings/i18n/et.json b/public/app/main/apps/settings/i18n/et.json
index d9d4d8c..8b16322 100644
--- a/public/app/main/apps/settings/i18n/et.json
+++ b/public/app/main/apps/settings/i18n/et.json
@@ -41,7 +41,6 @@
     "TOTAL": "Total",
     "USED": "Used",
     "FREE": "Free",
-    "NAME": "Name",
     "STATE": "State",
     "CHAT": "Chat",
     "MAIL": "Email",
@@ -88,7 +87,6 @@
     "SMTP_PASSWORD": "Password",
     "SMTP_PORT": "Port",
     "SMTP_SECURE": "Secure",
-    "TYPE": "Type",
     "ADDRESS": "Address",
     "NEW_NETWORK": "New Network",
     "ADD_NETWORK": "Add Network",
diff --git a/public/app/main/apps/settings/i18n/fa.json b/public/app/main/apps/settings/i18n/fa.json
index 435211e..32aa432 100644
--- a/public/app/main/apps/settings/i18n/fa.json
+++ b/public/app/main/apps/settings/i18n/fa.json
@@ -19,7 +19,6 @@
     "TOTAL": "کل",
     "USED": "استفاده",
     "FREE": "آزاد",
-    "NAME": "نام",
     "STATE": "دولت",
     "CHAT": "چت روم",
     "MAIL": "پست",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "رمز عبور SMTP",
     "SMTP_PORT": "پورت SMTP",
     "SMTP_SECURE": "ایمن سازی",
-    "TYPE": "نوع دستگاه",
     "ADDRESS": "آدرس",
     "NEW_NETWORK": "شبکه جدید",
     "ADD_NETWORK": "افزودن یک شبکه",
diff --git a/public/app/main/apps/settings/i18n/fi.json b/public/app/main/apps/settings/i18n/fi.json
index c65c411..4380624 100644
--- a/public/app/main/apps/settings/i18n/fi.json
+++ b/public/app/main/apps/settings/i18n/fi.json
@@ -19,7 +19,6 @@
     "TOTAL": "Yhteensä",
     "USED": "Käytetään",
     "FREE": "Vapaa",
-    "NAME": "Nimi",
     "STATE": "Tila",
     "CHAT": "Chat",
     "MAIL": "Sähköposti",
@@ -63,7 +62,6 @@
     "SMTP_PASSWORD": "SMTP-salasana",
     "SMTP_PORT": "SMTP-porttiin",
     "SMTP_SECURE": "Kiinnitä",
-    "TYPE": "Tyyppi",
     "ADDRESS": "Osoite",
     "NEW_NETWORK": "Uudet verkkoasetukset",
     "ADD_NETWORK": "Add Network",
diff --git a/public/app/main/apps/settings/i18n/fr.json b/public/app/main/apps/settings/i18n/fr.json
index dfe76d1..8fb2b3c 100644
--- a/public/app/main/apps/settings/i18n/fr.json
+++ b/public/app/main/apps/settings/i18n/fr.json
@@ -19,7 +19,6 @@
     "TOTAL": "Total",
     "USED": "Utilisé",
     "FREE": "Disponible",
-    "NAME": "Nom",
     "STATE": "Etat",
     "CHAT": "Chat",
     "MAIL": "Mail",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "Mot de passe SMTP",
     "SMTP_PORT": "Port SMTP",
     "SMTP_SECURE": "Connexion sécurisé",
-    "TYPE": "Type",
     "ADDRESS": "IP / Adresse",
     "NEW_NETWORK": "Nouveau réseau",
     "ADD_NETWORK": "Ajouter réseau",
diff --git a/public/app/main/apps/settings/i18n/he.json b/public/app/main/apps/settings/i18n/he.json
index 5b044bd..9d7aa9e 100644
--- a/public/app/main/apps/settings/i18n/he.json
+++ b/public/app/main/apps/settings/i18n/he.json
@@ -41,7 +41,6 @@
     "TOTAL": "סה\"כ",
     "USED": "בשימוש",
     "FREE": "פנוי",
-    "NAME": "שם",
     "STATE": "מדינה",
     "CHAT": "צ'אט",
     "MAIL": "דוא\"ל",
@@ -88,7 +87,6 @@
     "SMTP_PASSWORD": "סיסמה",
     "SMTP_PORT": "יציאה",
     "SMTP_SECURE": "מאובטח",
-    "TYPE": "סוג",
     "ADDRESS": "כתובת",
     "NEW_NETWORK": "רשת חדשה",
     "ADD_NETWORK": "הוסף רשת",
diff --git a/public/app/main/apps/settings/i18n/hi.json b/public/app/main/apps/settings/i18n/hi.json
index 3a5858b..cf199bc 100644
--- a/public/app/main/apps/settings/i18n/hi.json
+++ b/public/app/main/apps/settings/i18n/hi.json
@@ -19,7 +19,6 @@
     "TOTAL": "कुल",
     "USED": "का इस्तेमाल",
     "FREE": "मुक्त",
-    "NAME": "नाम",
     "STATE": "राज्य",
     "CHAT": "चैट",
     "MAIL": "मेल",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "पासवर्ड SMTP",
     "SMTP_PORT": "SMTP पत्तन",
     "SMTP_SECURE": "सुरक्षित",
-    "TYPE": "प्रकार",
     "ADDRESS": "पता",
     "NEW_NETWORK": "नए नेटवर्क",
     "ADD_NETWORK": "नेटवर्क जोड़ें",
diff --git a/public/app/main/apps/settings/i18n/id.json b/public/app/main/apps/settings/i18n/id.json
index 089cc57..619a1a1 100644
--- a/public/app/main/apps/settings/i18n/id.json
+++ b/public/app/main/apps/settings/i18n/id.json
@@ -125,7 +125,6 @@
     "MOTIONBARAUTOUPDATERURL": "URL Pembaruan Otomatis",
     "MOTION_PROCESS_MANAGEMENT": "Manajemen Proses Gerak",
     "MOUNT_POINT": "Meningkat",
-    "NAME": "Nama",
     "NETWORKS": "Jaringan",
     "NEW_NETWORK": "Jaringan Baru",
     "NEW_TOKEN": "Token Baru",
@@ -184,7 +183,6 @@
     "TURNADDR": "MENGHIDUPKAN Alamat",
     "TURN_PASSWORD": "TURN Sandi",
     "TURN_USERNAME": "MENGHIDUPKAN Nama Pengguna",
-    "TYPE": "Mengetik",
     "UNLIMITED_CHANNELS": "Saluran Tidak Terbatas",
     "UPDATE": "Memperbarui",
     "UPDATES": "Pembaruan",
diff --git a/public/app/main/apps/settings/i18n/it.json b/public/app/main/apps/settings/i18n/it.json
index a5a3588..85af573 100644
--- a/public/app/main/apps/settings/i18n/it.json
+++ b/public/app/main/apps/settings/i18n/it.json
@@ -37,7 +37,6 @@
     "FREE": "Free",
     "TOTAL": "Totale",
     "USED": "Usato",
-    "NAME": "Nome",
     "STATE": "Stato",
     "CHAT": "Chat",
     "MAIL": "Email",
@@ -86,7 +85,6 @@
     "SMTP_PASSWORD": "Password SMTP",
     "SMTP_PORT": "Porta SMTP",
     "SMTP_SSL": "SMTP SSL",
-    "TYPE": "Tipo",
     "ADDRESS": "Indirizzo",
     "NEW_NETWORK": "Nuova Rete",
     "ADD_NETWORK": "Aggiungi Rete",
diff --git a/public/app/main/apps/settings/i18n/ja.json b/public/app/main/apps/settings/i18n/ja.json
index 6cc25b5..61991f0 100644
--- a/public/app/main/apps/settings/i18n/ja.json
+++ b/public/app/main/apps/settings/i18n/ja.json
@@ -123,7 +123,6 @@
     "MOTIONBARAUTOUPDATERURL": "自動アップデートURL",
     "MOTION_PROCESS_MANAGEMENT": "Motionプロセス管理",
     "MOUNT_POINT": "マウント",
-    "NAME": "名前",
     "NETWORKS": "ネットワーク",
     "NEW_NETWORK": "新規ネットワーク",
     "NEW_TOKEN": "新しいトークン",
@@ -182,7 +181,6 @@
     "TURNADDR": "TURNアドレス",
     "TURN_PASSWORD": "TURNパスワード",
     "TURN_USERNAME": "TURNユーザー名",
-    "TYPE": "タイプ",
     "UNLIMITED_CHANNELS": "無制限のチャンネル",
     "UPDATE": "更新",
     "UPDATES": "更新",
diff --git a/public/app/main/apps/settings/i18n/ko.json b/public/app/main/apps/settings/i18n/ko.json
index 81fad81..522aeb5 100644
--- a/public/app/main/apps/settings/i18n/ko.json
+++ b/public/app/main/apps/settings/i18n/ko.json
@@ -19,7 +19,6 @@
     "TOTAL": "총",
     "USED": "사용됨",
     "FREE": "무료",
-    "NAME": "이름",
     "STATE": "상태",
     "CHAT": "채팅",
     "MAIL": "이메일",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP 비밀번호",
     "SMTP_PORT": "SMTP 포트",
     "SMTP_SECURE": "SMTP 보안",
-    "TYPE": "타입",
     "ADDRESS": "주소",
     "NEW_NETWORK": "신규 네트워크",
     "ADD_NETWORK": "네트워크 추가",
diff --git a/public/app/main/apps/settings/i18n/lt.json b/public/app/main/apps/settings/i18n/lt.json
index 7ec4c6c..098c83b 100644
--- a/public/app/main/apps/settings/i18n/lt.json
+++ b/public/app/main/apps/settings/i18n/lt.json
@@ -46,7 +46,6 @@
     "TOTAL": "Iš viso",
     "USED": "Naudojamas",
     "FREE": "Laisvas",
-    "NAME": "Vardas",
     "STATE": "Būsena",
     "CHAT": "Pokalbis",
     "MAIL": "El. paštas",
@@ -95,7 +94,6 @@
     "SMTP_PASSWORD": "Slaptažodis",
     "SMTP_PORT": "Langas",
     "SMTP_SECURE": "Saugus",
-    "TYPE": "Tipas",
     "ADDRESS": "Adresas",
     "USERNAME": "Vartotojo vardas",
     "NEW_NETWORK": "Naujas tinklas",
diff --git a/public/app/main/apps/settings/i18n/lv.json b/public/app/main/apps/settings/i18n/lv.json
index 8b0223d..ff29398 100644
--- a/public/app/main/apps/settings/i18n/lv.json
+++ b/public/app/main/apps/settings/i18n/lv.json
@@ -87,7 +87,6 @@
     "TOTAL": "Kopā",
     "USED": "Lietots",
     "FREE": "Bezmaksas",
-    "NAME": "Nosaukums",
     "STATE": "Valsts",
     "CHAT": "Tērzēšana",
     "MAIL": "E-pasts",
@@ -134,7 +133,6 @@
     "SMTP_PASSWORD": "Parole",
     "SMTP_PORT": "Pieslēgvieta",
     "SMTP_SECURE": "Drošs",
-    "TYPE": "Tips",
     "ADDRESS": "Adrese",
     "NEW_NETWORK": "Jauns tīkls",
     "ADD_NETWORK": "Pievienot tīklu",
diff --git a/public/app/main/apps/settings/i18n/nl.json b/public/app/main/apps/settings/i18n/nl.json
index 59e4aed..714a2f6 100644
--- a/public/app/main/apps/settings/i18n/nl.json
+++ b/public/app/main/apps/settings/i18n/nl.json
@@ -19,7 +19,6 @@
     "TOTAL": "Totaal",
     "USED": "Gebruikt",
     "FREE": "Gratis",
-    "NAME": "Naam",
     "STATE": "Staat",
     "CHAT": "Chat",
     "MAIL": "Mail",
@@ -63,7 +62,6 @@
     "SMTP_PASSWORD": "SMTP-wachtwoord",
     "SMTP_PORT": "SMTP-poort",
     "SMTP_SECURE": "Beveiligen",
-    "TYPE": "Type",
     "ADDRESS": "Adres",
     "NEW_NETWORK": "Nieuw netwerk",
     "ADD_NETWORK": "Netwerkhost toevoegen",
diff --git a/public/app/main/apps/settings/i18n/no.json b/public/app/main/apps/settings/i18n/no.json
index 81da025..a562b39 100644
--- a/public/app/main/apps/settings/i18n/no.json
+++ b/public/app/main/apps/settings/i18n/no.json
@@ -19,7 +19,6 @@
     "TOTAL": "Totalt",
     "USED": "Brukt",
     "FREE": "Gratis",
-    "NAME": "Navn",
     "STATE": "Tilstand",
     "CHAT": "Chat",
     "MAIL": "Post",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP-passord",
     "SMTP_PORT": "SMTP-port",
     "SMTP_SECURE": "Sikker",
-    "TYPE": "Type",
     "ADDRESS": "Adresse",
     "NEW_NETWORK": "Nytt nettverk",
     "ADD_NETWORK": "Legg til nettverk",
diff --git a/public/app/main/apps/settings/i18n/pl.json b/public/app/main/apps/settings/i18n/pl.json
index 50fa501..a7fff46 100644
--- a/public/app/main/apps/settings/i18n/pl.json
+++ b/public/app/main/apps/settings/i18n/pl.json
@@ -19,7 +19,6 @@
     "TOTAL": "Całkowity",
     "USED": "Szt.",
     "FREE": "Wolny",
-    "NAME": "Nazwa",
     "STATE": "Stan",
     "CHAT": "Czat",
     "MAIL": "Poczta",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "Hasło",
     "SMTP_PORT": "Port",
     "SMTP_SECURE": "Bezpieczne",
-    "TYPE": "Typ",
     "ADDRESS": "Adres",
     "NEW_NETWORK": "Nowa sieć",
     "ADD_NETWORK": "Dodawanie sieci",
diff --git a/public/app/main/apps/settings/i18n/pt-BR.json b/public/app/main/apps/settings/i18n/pt-BR.json
index b3e3ebc..82ec485 100644
--- a/public/app/main/apps/settings/i18n/pt-BR.json
+++ b/public/app/main/apps/settings/i18n/pt-BR.json
@@ -43,7 +43,6 @@
     "TOTAL": "Total",
     "USED": "Usado",
     "FREE": "Livre",
-    "NAME": "Nome",
     "STATE": "Estado",
     "CHAT": "Chat",
     "MAIL": "Email",
@@ -90,7 +89,6 @@
     "SMTP_PASSWORD": "Senha",
     "SMTP_PORT": "Porta",
     "SMTP_SECURE": "Segurança",
-    "TYPE": "Tipo",
     "ADDRESS": "Endereço",
     "NEW_NETWORK": "Nova rede",
     "ADD_NETWORK": "Adicionar Rede",
diff --git a/public/app/main/apps/settings/i18n/pt-PT.json b/public/app/main/apps/settings/i18n/pt-PT.json
index c3bf2f1..41af699 100644
--- a/public/app/main/apps/settings/i18n/pt-PT.json
+++ b/public/app/main/apps/settings/i18n/pt-PT.json
@@ -19,7 +19,6 @@
     "TOTAL": "Total",
     "USED": "Usado",
     "FREE": "Livre",
-    "NAME": "Nome",
     "STATE": "Estado",
     "CHAT": "Bate-papo",
     "MAIL": "Correio electrónico",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "Palavra passe SMTP",
     "SMTP_PORT": "Porta SMTP",
     "SMTP_SECURE": "Prenda",
-    "TYPE": "Tipo",
     "ADDRESS": "Endereço",
     "NEW_NETWORK": "Nova Rede",
     "ADD_NETWORK": "Adicionar a rede",
diff --git a/public/app/main/apps/settings/i18n/ru.json b/public/app/main/apps/settings/i18n/ru.json
index fba7c89..f5ffc9d 100644
--- a/public/app/main/apps/settings/i18n/ru.json
+++ b/public/app/main/apps/settings/i18n/ru.json
@@ -19,7 +19,6 @@
     "TOTAL": "Итого",
     "USED": "Используется",
     "FREE": "Бесплатно",
-    "NAME": "Имя",
     "STATE": "Государство",
     "CHAT": "Чат",
     "MAIL": "По электронной почте",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "Пароль SMTP",
     "SMTP_PORT": "Порт SMTP",
     "SMTP_SECURE": "Закрепите",
-    "TYPE": "Тип",
     "ADDRESS": "Адрес",
     "NEW_NETWORK": "Новая сеть",
     "ADD_NETWORK": "Добавить сеть",
diff --git a/public/app/main/apps/settings/i18n/sv.json b/public/app/main/apps/settings/i18n/sv.json
index 9920465..a341474 100644
--- a/public/app/main/apps/settings/i18n/sv.json
+++ b/public/app/main/apps/settings/i18n/sv.json
@@ -19,7 +19,6 @@
     "TOTAL": "Totalt",
     "USED": "Används",
     "FREE": "Fri",
-    "NAME": "Namn",
     "STATE": "Värde",
     "CHAT": "Chatt",
     "MAIL": "E-post",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP-lösenord",
     "SMTP_PORT": "SMTP-port",
     "SMTP_SECURE": "Säker",
-    "TYPE": "Typ",
     "ADDRESS": "Adress",
     "NEW_NETWORK": "Nytt nätverk",
     "ADD_NETWORK": "Lägg till nätverk",
diff --git a/public/app/main/apps/settings/i18n/tr.json b/public/app/main/apps/settings/i18n/tr.json
index 079b868..4b49bc2 100644
--- a/public/app/main/apps/settings/i18n/tr.json
+++ b/public/app/main/apps/settings/i18n/tr.json
@@ -19,7 +19,6 @@
     "TOTAL": "Toplam",
     "USED": "Kullanılmış",
     "FREE": "Ücretsiz",
-    "NAME": "Adı",
     "STATE": "Devlet",
     "CHAT": "Sohbet",
     "MAIL": "Posta",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP Parolası",
     "SMTP_PORT": "SMTP Bağlantı Noktası",
     "SMTP_SECURE": "Güvenli",
-    "TYPE": "Tipi",
     "ADDRESS": "Adres",
     "NEW_NETWORK": "Yeni Ağ",
     "ADD_NETWORK": "Ekle",
diff --git a/public/app/main/apps/settings/i18n/zh-CN.json b/public/app/main/apps/settings/i18n/zh-CN.json
index 2566ccb..70648b9 100644
--- a/public/app/main/apps/settings/i18n/zh-CN.json
+++ b/public/app/main/apps/settings/i18n/zh-CN.json
@@ -19,7 +19,6 @@
     "TOTAL": "总",
     "USED": "使用",
     "FREE": "免费",
-    "NAME": "名称",
     "STATE": "状态",
     "CHAT": "文本交谈",
     "MAIL": "电子邮件",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP 密码",
     "SMTP_PORT": "SMTP 端口。",
     "SMTP_SECURE": "安全的",
-    "TYPE": "类型",
     "ADDRESS": "地址",
     "NEW_NETWORK": "新的网络",
     "ADD_NETWORK": "添加网络",
diff --git a/public/app/main/apps/settings/i18n/zh-TW.json b/public/app/main/apps/settings/i18n/zh-TW.json
index 6aa9567..bb7f2a9 100644
--- a/public/app/main/apps/settings/i18n/zh-TW.json
+++ b/public/app/main/apps/settings/i18n/zh-TW.json
@@ -19,7 +19,6 @@
     "TOTAL": "總金額",
     "USED": "用於",
     "FREE": "免費",
-    "NAME": "名稱",
     "STATE": "狀態",
     "CHAT": "文字交談",
     "MAIL": "郵件",
@@ -64,7 +63,6 @@
     "SMTP_PASSWORD": "SMTP 密碼",
     "SMTP_PORT": "SMTP 連接埠",
     "SMTP_SECURE": "安全",
-    "TYPE": "類型",
     "ADDRESS": "位址",
     "NEW_NETWORK": "新增網路",
     "ADD_NETWORK": "新增網路",
diff --git a/public/app/main/apps/sms/i18n/ar.json b/public/app/main/apps/sms/i18n/ar.json
index 2b9fbdb..a722f26 100644
--- a/public/app/main/apps/sms/i18n/ar.json
+++ b/public/app/main/apps/sms/i18n/ar.json
@@ -1,72 +1,11 @@
 {
   "SMS": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "يجب أن يكون عنوان الرابط الاكترونى للقبول صالحا",
-      "ACCOUNTSID_REQUIRED": "حساب معرف الامان مطلوب",
-      "AGENT_REQUIRED": "ممثل الخدمة مطلوب",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمه العملاء فى بقيمه أكبر من أو تساوى ",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمه العملاء فى بقيمه أقل من أو تساوى ",
-      "AGENT_TIMEOUT_REQUIRED": "فترة إنهاء الوقت من قبل ممثل الخدمه مطلوبة",
-      "AUTHID_REQUIRED": "الرقم التعريفى للمصادقه مطلوب",
-      "AUTHTOKEN_REQUIRED": "رمز المصادقه مطلوب",
-      "CLOSEURL_MUST_VALID_URL": "يجب أن يكون عنوان الرابط الاكترونى للإغلاق صالحا",
-      "COMMAND_REQUIRED": "الامر مطلوب",
-      "CONDITION_REQUIRED": "الشرط مطلوب",
-      "DISPOSITION_REQUIRED": "التغير مطلوب",
-      "FALSEPRIORITY_REQUIRED": "الاولويه الخاطئه مطلوبة",
-      "KEY_MAX_LENGTH": "الحد الأقصى لطول المفتاح",
-      "KEY_REQUIRED": "المفتاح مطلوب",
-      "LIST_REQUIRED": "القائمه مطلوبة",
-      "METHOD_REQUIRED": "الطريقه مطلوبة",
-      "MOTIONADDRESS_MUST_VALID_URL": "يجب ان يكون عنوان المتصل رابط الكترونى صالحا ",
-      "MOTIONADDRESS_REQUIRED": "عنوان المتصل مطلوب",
-      "MOTIONPROXY_MUST_VALID_URL": "يجب أن يكون خادم الاتصال رابط الكترونى صالح",
-      "MOTIONPROXY_REQUIRED": "خادم الاتصال مطلوب",
-      "NAME_MUST_VALID_PATTERN": "يجب إدخال الاسم بنمط صحيح",
-      "NAME_REQUIRED": "الاسم مطلوب",
-      "PASSWORD_REQUIRED": "الرقم السرى مطلوب",
-      "PHONE_REQUIRED": "الهاتف مطلوب",
-      "PRIORITY_REQUIRED": "الأولوية مطلوبه",
-      "QUEUE_REQUIRED": "قائمه الانتظار مطلوبه",
-      "REJECTURL_MUST_VALID_URL": "يجب أن يكون عنوان الرابط الاكترونى للرفض صالحا",
-      "SENDERSTRING_MAX_LENGTH": "الحد الأقصى لطول حقل المرسِل",
-      "SENDERSTRING_MUST_VALID_PATTERN": "يجب أن يكون إدخال حقل المرسل بالشكل الصحيح",
-      "SID_REQUIRED": "معرف الأمان مطلوب",
-      "TEXT_MAX_LENGTH": "الحد الأقصى لطول النص",
-      "TEXT_REQUIRED": "النص مطلوب",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب ان يكون إنهاء الوقت فى فترة زمنيه أقل من أو تساوى",
-      "TIMEOUT_REQUIRED": "فترة انهاء الوقت مطلوبة",
-      "TOKEN_REQUIRED": "الرمز مطلوب",
-      "TRUEPRIORITY_REQUIRED": "الاولويه الحقيقيه مطلوبة",
-      "TYPE_REQUIRED": "النوع مطلوب",
-      "USERNAME_REQUIRED": "إسم المستخدم مطلوب",
-      "VALUE_REQUIRED": "القيمه مطلوبه",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار ممثل الخدمه المعين  خلال مدة أكبر من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار ممثل الخدمه المعين  خلال مدة أقل من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "فترة إنتظار ممثل الخدمه المعين مطلوبه",
-      "TAG_REQUIRED": "الرمز مطلوب",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "APIKEY_REQUIRED": "حقل الزامي",
-      "BASEURL_REQUIRED": "حقل الزامي",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي",
-      "ACCESSKEYID_REQUIRED": "معرف مفتاح الوصول مطلوب",
-      "BOTNAME_REQUIRED": "مطلوب اسم بوت",
-      "SECRETACCESSKEY_REQUIRED": "مطلوب سر مفتاح الوصول"
+      "AUTHID_REQUIRED": "الرقم التعريفى للمصادقه مطلوب"
     },
     "HELP": {
       "DELIVERYREPORTURL": "هذه هي سلسلة واجهة برمجة التطبيقات التي تم إنشاؤها تلقائيًا والتي تحتاج إلى استخدامها لتلقي تقرير التسليم للرسائل المرسلة من موفر SMS (يجب استخدام طريقة POST): انقر فوق زر الحافظة لنسخه.",
-      "LIST": "قائمة مدير جهات الاتصال المستخدمة لربط جهات الاتصال",
-      "MOTIONPROXY": "يجب أن يحتوي الحقل على التنسيق التالي: <protocol>: // <ipaddress> [: <port>]. مثال: https: //X.Y.Z.W",
-      "NAME": "يتم دعم الأرقام والحروف والأحرف المحددة (._) فقط",
-      "RECEIVEURL": "هذه هي سلسلة واجهة برمجة التطبيقات التي يتم إنشاؤها تلقائيًا والتي تحتاج إلى استخدامها لتلقي الرسائل داخل حسابك من موفر SMS (يجب استخدام طريقة POST): انقر فوق زر الحافظة لنسخها.",
-      "MANDATORYDISPOSITION": "التصرف الإلزامي",
-      "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام عند تمكين التخلص الإلزامي",
-      "WELCOMEMESSAGE": "هذه هي أول رسالة استجابة مرسلة إلى تفاعلات جديدة"
+      "RECEIVEURL": "هذه هي سلسلة واجهة برمجة التطبيقات التي يتم إنشاؤها تلقائيًا والتي تحتاج إلى استخدامها لتلقي الرسائل داخل حسابك من موفر SMS (يجب استخدام طريقة POST): انقر فوق زر الحافظة لنسخها."
     },
     "ACCEPT": "قبول",
     "ACCEPTMETHOD": "قبول الطريقة",
@@ -115,12 +54,9 @@
     "IDLE": "خامل",
     "INSERT_MESSAGE_HERE": "أدخل رسالتك النصية هنا",
     "KEY": "مفتاح",
-    "LIST": "قائمة",
     "MESSAGE": "رسالة",
     "METHOD": "طريقة",
     "MOTIONADDRESS": "عنوان الاتصال",
-    "MOTIONPROXY": "خادم الاتصال",
-    "NAME": "اسم",
     "NEW_SMSACCOUNT": "حساب الرسائل النصية القصيرة الجديد",
     "NEW_SMSCANNEDANSWER": "إجابه محفوظة جديدة للرسائل القصيرة",
     "NEW_SMSDISPOSITION": "تغير للرسائل القيرة جديد",
@@ -165,7 +101,6 @@
     "TIMES": "عدد المرات لكل تفاعل",
     "TO": "إلى",
     "TOKEN": "رمز",
-    "TYPE": "اكتب",
     "USERNAME": "اسم المستخدم",
     "VARIABLE": "متغير",
     "WAITFORTHEASSIGNEDAGENT": "انتظر ممثل الخدمه المعين",
@@ -266,8 +201,6 @@
     "APIKEY": "مفتاح API",
     "BASEURL": "عنوان URL الأساسي",
     "TEAMS_ASSOCIATION": "رابطة الفرق",
-    "MANDATORYDISPOSITION": "التصرف الإلزامي",
-    "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام عند تمكين التخلص الإلزامي",
     "ACCESSKEYID": "معرف مفتاح الوصول",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "اسم بوت",
@@ -277,7 +210,6 @@
     "LANGUAGE": "لغة",
     "LEXREGION": "منطقة",
     "SECRETACCESSKEY": "سر مفتاح الوصول",
-    "WELCOMEMESSAGE": "رسالة ترحيب",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "تحميل بدون مرفق",
     "DOWNLOAD_WITH_ATTACHMENT": "تنزيل بالمرفق",
     "LASTMESSAGE": "اخر رسالة"
diff --git a/public/app/main/apps/sms/i18n/cs.json b/public/app/main/apps/sms/i18n/cs.json
index 6551d31..cb42d7f 100644
--- a/public/app/main/apps/sms/i18n/cs.json
+++ b/public/app/main/apps/sms/i18n/cs.json
@@ -56,70 +56,13 @@
     "CAPACITY": "Capacity",
     "PROXY": "Proxy",
     "ADVANCED": "Advanced",
-    "MOTIONPROXY": "Proxy Or Motion Domain",
     "REALTIME": "Realtime",
     "KEY": "Key",
-    "NAME": "Name",
     "SMSQUEUES": "SMS Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "STRATEGY": "Strategy",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "AUTHID_REQUIRED": "Mandatory Field",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
-      "METHOD_REQUIRED": "Mandatory Field",
-      "MOTIONPROXY_REQUIRED": "Mandatory Field",
-      "MOTIONPROXY_MUST_VALID_URL": "Wrong format",
-      "KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
-      "PHONE_REQUIRED": "Mandatory Field",
-      "SID_REQUIRED": "Mandatory Field",
-      "TOKEN_REQUIRED": "Mandatory Field",
-      "USERNAME_REQUIRED": "Mandatory Field",
-      "PASSWORD_REQUIRED": "Mandatory Field",
-      "MOTIONADDRESS_REQUIRED": "Mandatory Field",
-      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
-      "TYPE_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "ACCOUNTSID_REQUIRED": "Mandatory Field",
-      "AUTHTOKEN_REQUIRED": "Mandatory Field",
-      "ACCESSKEYID_REQUIRED": "Je vyžadováno ID přístupového klíče",
-      "APIKEY_REQUIRED": "Povinné pole",
-      "BASEURL_REQUIRED": "Povinné pole",
-      "BOTNAME_REQUIRED": "Název bota je povinný",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
-      "SECRETACCESSKEY_REQUIRED": "Je vyžadováno tajemství přístupu"
+      "AUTHID_REQUIRED": "Mandatory Field"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Description",
@@ -131,7 +74,6 @@
     "CREATED_AT": "Created At",
     "SAVE": "Save",
     "SMSACCOUNTS": "SMS Accounts",
-    "TYPE": "Type",
     "PHONE": "Phone",
     "SID": "SID",
     "TOKEN": "Token",
@@ -142,7 +84,6 @@
     "ADD_SMSACCOUNT": "Add SMS Account",
     "EDIT_SMSACCOUNT": "Edit SMS Account",
     "DELETE_SMSACCOUNT": "Delete SMS Account",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -176,14 +117,8 @@
     "ALL_TEAMS": "All Teams",
     "SELECTED_TEAMS": "Selected Teams",
     "HELP": {
-      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager list used to associate contacts",
       "RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "MANDATORYDISPOSITION": "Povinná dispozice",
-      "MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
-      "WELCOMEMESSAGE": "Toto je první odezva na nové interakce"
+      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
@@ -276,10 +211,7 @@
     "LANGUAGE": "Jazyk",
     "LASTMESSAGE": "Poslední zpráva",
     "LEXREGION": "Kraj",
-    "MANDATORYDISPOSITION": "Povinná dispozice",
-    "MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
     "SECRETACCESSKEY": "Přístup k tajným klíčům",
-    "TEAMS_ASSOCIATION": "Asociace týmů",
-    "WELCOMEMESSAGE": "Uvítací zpráva"
+    "TEAMS_ASSOCIATION": "Asociace týmů"
   }
 }
diff --git a/public/app/main/apps/sms/i18n/da.json b/public/app/main/apps/sms/i18n/da.json
index a4ba0eb..212c11f 100644
--- a/public/app/main/apps/sms/i18n/da.json
+++ b/public/app/main/apps/sms/i18n/da.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Nøgle",
-    "NAME": "Navnet",
     "SMSQUEUES": "SMS KØER",
     "SEARCH_FOR_ANYONE": "Søg efter alle",
     "STRATEGY": "Strategi",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Nøgle skal have en maksimal længde på {{max}}",
-      "KEY_REQUIRED": "Nøgle er påkrævet",
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout er påkrævet",
-      "PHONE_REQUIRED": "Telefonen er påkrævet",
-      "SID_REQUIRED": "SID er påkrævet",
-      "TOKEN_REQUIRED": "Dette token er påkrævet",
-      "USERNAME_REQUIRED": "Brugernavn er påkrævet",
-      "PASSWORD_REQUIRED": "Adgangskoden kræves",
-      "MOTIONADDRESS_REQUIRED": "Motion Adresse skal angives.",
-      "MOTIONADDRESS_MUST_VALID_URL": "Motion adresse skal være skrevet i et gyldigt format",
-      "ACCEPTURL_MUST_VALID_URL": "Det acceptere URL skal være skrevet i et gyldigt format",
-      "TIMEOUT_REQUIRED": "Timeout er påkrævet",
-      "REJECTURL_MUST_VALID_URL": "Reject-URL skal være skrevet i et gyldigt format",
-      "CLOSEURL_MUST_VALID_URL": "Den tætte URL skal være skrevet i et gyldigt format",
-      "TYPE_REQUIRED": "Den Type skal angives",
-      "LIST_REQUIRED": "Listen er påkrævet",
-      "PRIORITY_REQUIRED": "Indsatsen er påkrævet",
-      "CONDITION_REQUIRED": "Betingelsen er påkrævet",
-      "TRUEPRIORITY_REQUIRED": "Den sande prioritering er nødvendig",
-      "FALSEPRIORITY_REQUIRED": "Den falske prioritet er påkrævet",
-      "AGENT_REQUIRED": "Agenten er påkrævet",
-      "QUEUE_REQUIRED": "Køen er påkrævet",
-      "DISPOSITION_REQUIRED": "Dispositionen er nødvendig",
-      "ACCOUNTSID_REQUIRED": "Konto SID er påkrævet",
-      "AUTHTOKEN_REQUIRED": "Auth token er påkrævet",
-      "MOTIONPROXY_REQUIRED": "Obligatorisk felt",
-      "MOTIONPROXY_MUST_VALID_URL": "Forkert format",
-      "TEXT_MAX_LENGTH": "Værdien skal have en maksimal længde svarende til {{max}}",
-      "TEXT_REQUIRED": "Obligatorisk felt",
-      "VALUE_REQUIRED": "Obligatorisk felt",
-      "SENDERSTRING_MAX_LENGTH": "Værdien skal have en maksimal længde svarende til {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Forkert format",
-      "METHOD_REQUIRED": "Obligatorisk felt",
-      "AUTHID_REQUIRED": "Obligatorisk felt",
-      "COMMAND_REQUIRED": "Obligatorisk felt",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "NAME_MUST_VALID_PATTERN": "Forkert format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatorisk felt",
-      "TAG_REQUIRED": "Obligatorisk felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "APIKEY_REQUIRED": "Obligatorisk felt",
-      "BASEURL_REQUIRED": "Obligatorisk felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt",
-      "ACCESSKEYID_REQUIRED": "Adgangsnøgle-ID er påkrævet",
-      "BOTNAME_REQUIRED": "Bot navn kræves",
-      "SECRETACCESSKEY_REQUIRED": "Adgangsnøglehemmelighed kræves"
+      "AUTHID_REQUIRED": "Obligatorisk felt"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Beskrivelse",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Oprettet på",
     "SAVE": "Gem",
     "SMSACCOUNTS": "SMS konti",
-    "TYPE": "Type",
     "PHONE": "Telefonen",
     "SID": "SID",
     "TOKEN": "Token",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Tilføj SMS KONTO",
     "EDIT_SMSACCOUNT": "Redigere SMS-konto",
     "DELETE_SMSACCOUNT": "Slet SMS KONTO",
-    "LIST": "Listen",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Alle hold",
     "SELECTED_TEAMS": "Udvalgte Teams",
     "HELP": {
-      "NAME": "Kun tal og bogstaver og specielle tegn (.________) understøttes",
-      "LIST": "Kontakt Manager listen bruges til at knytte kontakter",
       "RECEIVEURL": "Det er autogenereret API string du skal bruge til at modtage beskeder på din konto fra din SMS-udbyder (POST metode skal anvendes). Du kan trykke på knappen for at kopiere det til Udklipsholder i din udklipsholder.",
-      "MOTIONPROXY": "Feltet skal have følgende format: <protokol://><ipaddress>[:<port>]. Eksempel: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Dette er den automatisk genererede API-streng, du skal bruge til at modtage leveringsrapporten for sendte beskeder fra din SMS-udbyder (POST-metoden skal bruges): Klik på udklipsholderknappen for at kopiere den",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Brug pause, når obligatorisk disposition er aktiveret",
-      "WELCOMEMESSAGE": "Dette er den første svarmeddelelse sendt til nye interaktioner"
+      "DELIVERYREPORTURL": "Dette er den automatisk genererede API-streng, du skal bruge til at modtage leveringsrapporten for sendte beskeder fra din SMS-udbyder (POST-metoden skal bruges): Klik på udklipsholderknappen for at kopiere den"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rækker pr. side",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Auth Token",
     "PROXY": "Proxy",
     "ADVANCED": "Avanceret",
-    "MOTIONPROXY": "Proxy eller Motion domæne",
     "REALTIME": "Realtime",
     "UNKNOWN": "Ukendt",
     "UNREGISTERED": "Uregistreret",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "Basiswebadresse",
     "TEAMS_ASSOCIATION": "Holdforening",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Brug pause, når obligatorisk disposition er aktiveret",
     "ACCESSKEYID": "Adgangsnøgle-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot navn",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Sprog",
     "LEXREGION": "Område",
     "SECRETACCESSKEY": "Adgangsnøglehemmelighed",
-    "WELCOMEMESSAGE": "Velkomstbesked",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Download uden vedhæftet fil",
     "DOWNLOAD_WITH_ATTACHMENT": "Download med vedhæftet fil",
     "LASTMESSAGE": "Sidste besked"
diff --git a/public/app/main/apps/sms/i18n/de.json b/public/app/main/apps/sms/i18n/de.json
index 7a198b0..c1f859e 100644
--- a/public/app/main/apps/sms/i18n/de.json
+++ b/public/app/main/apps/sms/i18n/de.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Schlüssel",
-    "NAME": "Name",
     "SMSQUEUES": "SMS-Warteschlangen",
     "SEARCH_FOR_ANYONE": "Suche für Jedermann",
     "STRATEGY": "Strategie",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Schlüssel muss eine maximale Länge von {{max}}",
-      "KEY_REQUIRED": "Schlüssel ist erforderlich",
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "AGENT_TIMEOUT_REQUIRED": "Der Agent Timeout ist erforderlich",
-      "PHONE_REQUIRED": "Die Telefonnummer ist erforderlich",
-      "SID_REQUIRED": "Die SID ist erforderlich",
-      "TOKEN_REQUIRED": "Das Token ist erforderlich",
-      "USERNAME_REQUIRED": "Der Benutzername ist erforderlich",
-      "PASSWORD_REQUIRED": "Das Kennwort ist erforderlich",
-      "MOTIONADDRESS_REQUIRED": "Die Adresse ist erforderlich",
-      "MOTIONADDRESS_MUST_VALID_URL": "Die Adresse muss in einem gültigen Format",
-      "ACCEPTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "TIMEOUT_REQUIRED": "Der Timeout ist erforderlich",
-      "REJECTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "CLOSEURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
-      "TYPE_REQUIRED": "Der Typ ist erforderlich",
-      "LIST_REQUIRED": "Die Liste ist erforderlich",
-      "PRIORITY_REQUIRED": "Die Priorität ist erforderlich",
-      "CONDITION_REQUIRED": "Der Zustand ist erforderlich",
-      "TRUEPRIORITY_REQUIRED": "Die wahre Priorität ist erforderlich",
-      "FALSEPRIORITY_REQUIRED": "Die falsche Priorität ist erforderlich",
-      "AGENT_REQUIRED": "Der Agent ist erforderlich",
-      "QUEUE_REQUIRED": "Die Warteschlange ist erforderlich",
-      "DISPOSITION_REQUIRED": "Die Disposition ist erforderlich",
-      "ACCOUNTSID_REQUIRED": "Konto SID ist erforderlich",
-      "AUTHTOKEN_REQUIRED": "Auth Token ist erforderlich",
-      "MOTIONPROXY_REQUIRED": "Pflichtfeld",
-      "MOTIONPROXY_MUST_VALID_URL": "Falsches Format",
-      "TEXT_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
-      "TEXT_REQUIRED": "Pflichtfeld",
-      "VALUE_REQUIRED": "Pflichtfeld",
-      "SENDERSTRING_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Falsches Format",
-      "METHOD_REQUIRED": "Pflichtfeld",
-      "AUTHID_REQUIRED": "Pflichtfeld",
-      "COMMAND_REQUIRED": "Pflichtfeld",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "NAME_MUST_VALID_PATTERN": "Falsches Format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pflichtfeld",
-      "TAG_REQUIRED": "Pflichtfeld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "APIKEY_REQUIRED": "Pflichtfeld",
-      "BASEURL_REQUIRED": "Pflichtfeld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld",
-      "ACCESSKEYID_REQUIRED": "Die Zugangsschlüssel-ID ist erforderlich",
-      "BOTNAME_REQUIRED": "Bot Name ist erforderlich",
-      "SECRETACCESSKEY_REQUIRED": "Zugriffsschlüsselgeheimnis ist erforderlich"
+      "AUTHID_REQUIRED": "Pflichtfeld"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Beschreibung",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Erstellt am",
     "SAVE": "Speichern",
     "SMSACCOUNTS": "SMS-Konten",
-    "TYPE": "Typ",
     "PHONE": "Telefon",
     "SID": "SID",
     "TOKEN": "Token",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "SMS-Konto hinzufügen",
     "EDIT_SMSACCOUNT": "SMS-Konto bearbeiten",
     "DELETE_SMSACCOUNT": "SMS-Konto löschen.",
-    "LIST": "Liste",
     "FIDELITY": "Treue",
     "API": "API",
     "DISPOSITIONS": "Bestimmungen",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Alle Mannschaften",
     "SELECTED_TEAMS": "Ausgewählte Teams",
     "HELP": {
-      "NAME": "Nur Zahlen, Buchstaben und Sonderzeichen (._) werden unterstützt.",
-      "LIST": "Contact Manager Liste zu verknüpfen von Kontakten",
       "RECEIVEURL": "Dies ist die automatisch generierte API-String müssen Sie die Nachrichten in Ihrem Konto von Ihrem SMS-Anbieter zu erhalten (POST-Methode verwendet werden muss). Drücken Sie die Zwischenablage, um Sie in die Zwischenablage zu kopieren.",
-      "MOTIONPROXY": "Das Feld muss das folgende Format haben: <Protokoll>://<IP-Adresse>[:<Port>]. Beispiel: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Dies ist die automatisch generierte API-Zeichenfolge, die Sie verwenden müssen, um den Zustellungsbericht gesendeter Nachrichten von Ihrem SMS-Anbieter zu empfangen (die POST-Methode muss verwendet werden): Klicken Sie auf die Zwischenablage, um sie zu kopieren",
-      "MANDATORYDISPOSITION": "Zwingende Disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Anhalten, um zu verwenden, wenn die obligatorische Disposition aktiviert ist",
-      "WELCOMEMESSAGE": "Dies ist die erste Antwortnachricht, die an neue Interaktionen gesendet wird"
+      "DELIVERYREPORTURL": "Dies ist die automatisch generierte API-Zeichenfolge, die Sie verwenden müssen, um den Zustellungsbericht gesendeter Nachrichten von Ihrem SMS-Anbieter zu empfangen (die POST-Methode muss verwendet werden): Klicken Sie auf die Zwischenablage, um sie zu kopieren"
     },
     "PAGE": "Seite",
     "ROWSPERPAGE": "Zeilen pro Seite",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Auth Token",
     "PROXY": "Proxy",
     "ADVANCED": "Erweiterte",
-    "MOTIONPROXY": "Proxy oder Motion Domain",
     "REALTIME": "Echtzeit",
     "UNKNOWN": "Unbekannt",
     "UNREGISTERED": "Unregistrierte",
@@ -266,8 +201,6 @@
     "APIKEY": "API-Schlüssel",
     "BASEURL": "Basis-URL",
     "TEAMS_ASSOCIATION": "Vereinigung der Mannschaften",
-    "MANDATORYDISPOSITION": "Zwingende Disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Anhalten, um zu verwenden, wenn die obligatorische Disposition aktiviert ist",
     "ACCESSKEYID": "Zugriffsschlüssel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot Name",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Sprache",
     "LEXREGION": "Region",
     "SECRETACCESSKEY": "Zugriffsschlüsselgeheimnis",
-    "WELCOMEMESSAGE": "Willkommensnachricht",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Ohne Anhang herunterladen",
     "DOWNLOAD_WITH_ATTACHMENT": "Download mit Anhang",
     "LASTMESSAGE": "Letzte Nachricht"
diff --git a/public/app/main/apps/sms/i18n/en.json b/public/app/main/apps/sms/i18n/en.json
index 8d34991..09115d6 100644
--- a/public/app/main/apps/sms/i18n/en.json
+++ b/public/app/main/apps/sms/i18n/en.json
@@ -11,7 +11,6 @@
     "SECRETACCESSKEY": "Access key secret",
     "LEXREGION": "Region",
     "BOTNAME": "Bot name",
-    "WELCOMEMESSAGE": "Welcome message",
     "LOGIN_TIME": "Login time",
     "PAUSE_TIME": "Pause time",
     "DOWNLOAD_INTERACTION": "Download",
@@ -68,17 +67,14 @@
     "CAPACITY": "Capacity",
     "PROXY": "Proxy",
     "ADVANCED": "Advanced",
-    "MOTIONPROXY": "Proxy Or Motion Domain",
     "REALTIME": "Realtime",
     "KEY": "Key",
-    "NAME": "Name",
     "SMSQUEUES": "SMS Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "STRATEGY": "Strategy",
     "BASEURL": "Base URL",
-    "MANDATORYDISPOSITION": "Mandatory disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
     "ERRORS": {
+      "AUTHID_REQUIRED": "Mandatory Field",
       "PROJECTID_REQUIRED": "Mandatory Field",
       "CLIENTEMAIL_REQUIRED": "Mandatory Field",
       "PRIVATEKEY_REQUIRED": "Mandatory Field",
@@ -100,7 +96,6 @@
       "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "NAME_MUST_VALID_PATTERN": "Wrong format",
       "COMMAND_REQUIRED": "Mandatory Field",
-      "AUTHID_REQUIRED": "Mandatory Field",
       "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
       "TEXT_REQUIRED": "Mandatory Field",
       "VALUE_REQUIRED": "Mandatory Field",
@@ -149,7 +144,6 @@
     "CREATED_AT": "Created At",
     "SAVE": "Save",
     "SMSACCOUNTS": "SMS Accounts",
-    "TYPE": "Type",
     "PHONE": "Phone",
     "SID": "SID",
     "TOKEN": "Token",
@@ -160,7 +154,6 @@
     "ADD_SMSACCOUNT": "Add SMS Account",
     "EDIT_SMSACCOUNT": "Edit SMS Account",
     "DELETE_SMSACCOUNT": "Delete SMS Account",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -198,14 +191,8 @@
     "EDIT_DIALOGFLOW": "Edit DialogFlow configuration",
     "LANGUAGE": "Language",
     "HELP": {
-      "WELCOMEMESSAGE": "This is the first response message sent to new interactions",
-      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager list used to associate contacts",
       "RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "MANDATORYDISPOSITION": "Mandatory disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled"
+      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/sms/i18n/es.json b/public/app/main/apps/sms/i18n/es.json
index a4d4054..f1f9337 100644
--- a/public/app/main/apps/sms/i18n/es.json
+++ b/public/app/main/apps/sms/i18n/es.json
@@ -2,71 +2,10 @@
   "SMS": {
     "HELP": {
       "DELIVERYREPORTURL": "Esta es la cadena de API generada automáticamente que necesita usar para recibir el informe de entrega de los mensajes enviados desde su proveedor de SMS (se debe usar el método POST): haga clic en el botón del portapapeles para copiarlo",
-      "LIST": "Lista de Gestor de Contactos Utilizada para Asociar Contactos",
-      "MOTIONPROXY": "El campo debe tener el siguiente formato: <protocolo>: // <direccionip> [: <puerto>]. Ejemplo: https: //X.Y.Z.W",
-      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
-      "RECEIVEURL": "Esta es la cadena de la API generada automáticamente que necesita usar para recibir los mensajes dentro de su cuenta de su proveedor de SMS (se debe usar el método POST): haga clic en el botón del portapapeles para copiarlo",
-      "MANDATORYDISPOSITION": "Cierre obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa a usar si el cierre obligatorio está habilitado",
-      "WELCOMEMESSAGE": "Este es el primer mensaje de respuesta enviado a nuevas interacciones."
+      "RECEIVEURL": "Esta es la cadena de la API generada automáticamente que necesita usar para recibir los mensajes dentro de su cuenta de su proveedor de SMS (se debe usar el método POST): haga clic en el botón del portapapeles para copiarlo"
     },
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "Formato erróneo",
-      "ACCOUNTSID_REQUIRED": "Campo obligatorio",
-      "AGENT_REQUIRED": "Campo obligatorio",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio",
-      "AUTHID_REQUIRED": "Campo obligatorio",
-      "AUTHTOKEN_REQUIRED": "Campo obligatorio",
-      "CLOSEURL_MUST_VALID_URL": "Formato erróneo",
-      "COMMAND_REQUIRED": "Campo obligatorio",
-      "CONDITION_REQUIRED": "Campo obligatorio",
-      "DISPOSITION_REQUIRED": "Campo obligatorio",
-      "FALSEPRIORITY_REQUIRED": "Campo obligatorio",
-      "KEY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
-      "KEY_REQUIRED": "Campo obligatorio",
-      "LIST_REQUIRED": "Campo obligatorio",
-      "METHOD_REQUIRED": "Campo obligatorio",
-      "MOTIONADDRESS_MUST_VALID_URL": "Formato erróneo",
-      "MOTIONADDRESS_REQUIRED": "Campo obligatorio",
-      "MOTIONPROXY_MUST_VALID_URL": "Formato erróneo",
-      "MOTIONPROXY_REQUIRED": "Campo obligatorio",
-      "NAME_MUST_VALID_PATTERN": "Formato erróneo",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "PASSWORD_REQUIRED": "Campo obligatorio",
-      "PHONE_REQUIRED": "Campo obligatorio",
-      "PRIORITY_REQUIRED": "Campo obligatorio",
-      "QUEUE_REQUIRED": "Campo obligatorio",
-      "REJECTURL_MUST_VALID_URL": "Formato erróneo",
-      "SENDERSTRING_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Formato erróneo",
-      "SID_REQUIRED": "Campo obligatorio",
-      "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
-      "TEXT_REQUIRED": "Campo obligatorio",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "TIMEOUT_REQUIRED": "Campo obligatorio",
-      "TOKEN_REQUIRED": "Campo obligatorio",
-      "TRUEPRIORITY_REQUIRED": "Campo obligatorio",
-      "TYPE_REQUIRED": "Campo obligatorio",
-      "USERNAME_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obligatorio",
-      "TAG_REQUIRED": "Campo obligatorio",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "APIKEY_REQUIRED": "Campo obligatorio",
-      "BASEURL_REQUIRED": "Campo obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio",
-      "ACCESSKEYID_REQUIRED": "Se requiere ID de clave de acceso",
-      "BOTNAME_REQUIRED": "Se requiere el nombre del bot",
-      "SECRETACCESSKEY_REQUIRED": "Se requiere clave de acceso secreta"
+      "AUTHID_REQUIRED": "Campo obligatorio"
     },
     "ACCEPT": "Aceptar",
     "ACCEPTMETHOD": "Aceptar Método",
@@ -154,15 +93,12 @@
     "INTERNAL": "Interno",
     "IN_USE": "En uso",
     "KEY": "Llave",
-    "LIST": "Lista",
     "LOGGED_IN": "Conectado",
     "LOGOUT": "Cerrar sesión",
     "MAIL": "Email",
     "MESSAGE": "Mensaje",
     "METHOD": "Método",
     "MOTIONADDRESS": "Dirección Motion",
-    "MOTIONPROXY": "Dominio o Proxy Motion",
-    "NAME": "Nombre",
     "NEW_SMSACCOUNT": "Nueva cuenta SMS",
     "NEW_SMSCANNEDANSWER": "Nueva respuesta enlatada",
     "NEW_SMSDISPOSITION": "Nuevo cierre de SMS",
@@ -238,7 +174,6 @@
     "TO": "A",
     "TOKEN": "Token",
     "TRUEPRIORITY": "Prioridad Verdadera",
-    "TYPE": "Tipo",
     "UNAVAILABLE": "No Disponible",
     "UNKNOWN": "Desconocido",
     "UNPAUSE": "Fin de pausa",
@@ -266,8 +201,6 @@
     "APIKEY": "Clave API",
     "BASEURL": "URL base",
     "TEAMS_ASSOCIATION": "Asociación de equipos",
-    "MANDATORYDISPOSITION": "Cierre obligatorio",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa a usar si el cierre obligatorio está habilitado",
     "ACCESSKEYID": "ID de clave de acceso",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nombre del bot",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Idioma",
     "LEXREGION": "Región",
     "SECRETACCESSKEY": "Clave de acceso secreto",
-    "WELCOMEMESSAGE": "Mensaje de bienvenida",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Descargar sin adjuntar",
     "DOWNLOAD_WITH_ATTACHMENT": "Descargar con archivo adjunto",
     "LASTMESSAGE": "Ultimo mensaje"
diff --git a/public/app/main/apps/sms/i18n/et.json b/public/app/main/apps/sms/i18n/et.json
index 1ce5e8a..a38d352 100644
--- a/public/app/main/apps/sms/i18n/et.json
+++ b/public/app/main/apps/sms/i18n/et.json
@@ -56,70 +56,13 @@
     "CAPACITY": "Capacity",
     "PROXY": "Proxy",
     "ADVANCED": "Advanced",
-    "MOTIONPROXY": "Proxy Or Motion Domain",
     "REALTIME": "Realtime",
     "KEY": "Key",
-    "NAME": "Name",
     "SMSQUEUES": "SMS Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "STRATEGY": "Strategy",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "AUTHID_REQUIRED": "Mandatory Field",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
-      "METHOD_REQUIRED": "Mandatory Field",
-      "MOTIONPROXY_REQUIRED": "Mandatory Field",
-      "MOTIONPROXY_MUST_VALID_URL": "Wrong format",
-      "KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
-      "PHONE_REQUIRED": "Mandatory Field",
-      "SID_REQUIRED": "Mandatory Field",
-      "TOKEN_REQUIRED": "Mandatory Field",
-      "USERNAME_REQUIRED": "Mandatory Field",
-      "PASSWORD_REQUIRED": "Mandatory Field",
-      "MOTIONADDRESS_REQUIRED": "Mandatory Field",
-      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
-      "TYPE_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "ACCOUNTSID_REQUIRED": "Mandatory Field",
-      "AUTHTOKEN_REQUIRED": "Mandatory Field",
-      "ACCESSKEYID_REQUIRED": "Juurdepääsukoodi ID on vajalik",
-      "APIKEY_REQUIRED": "Kohustuslik väli",
-      "BASEURL_REQUIRED": "Kohustuslik väli",
-      "BOTNAME_REQUIRED": "Boti nimi on kohustuslik",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
-      "SECRETACCESSKEY_REQUIRED": "Juurdepääsu võtme saladus on vajalik"
+      "AUTHID_REQUIRED": "Mandatory Field"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Description",
@@ -131,7 +74,6 @@
     "CREATED_AT": "Created At",
     "SAVE": "Save",
     "SMSACCOUNTS": "SMS Accounts",
-    "TYPE": "Type",
     "PHONE": "Phone",
     "SID": "SID",
     "TOKEN": "Token",
@@ -142,7 +84,6 @@
     "ADD_SMSACCOUNT": "Add SMS Account",
     "EDIT_SMSACCOUNT": "Edit SMS Account",
     "DELETE_SMSACCOUNT": "Delete SMS Account",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -176,14 +117,8 @@
     "ALL_TEAMS": "All Teams",
     "SELECTED_TEAMS": "Selected Teams",
     "HELP": {
-      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager list used to associate contacts",
       "RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-      "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
-      "WELCOMEMESSAGE": "See on esimene vastussõnum, mis saadetakse uutele interaktsioonidele"
+      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
@@ -276,10 +211,7 @@
     "LANGUAGE": "Keel",
     "LASTMESSAGE": "Viimane teade",
     "LEXREGION": "Piirkond",
-    "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-    "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
     "SECRETACCESSKEY": "Juurdepääsu võtme saladus",
-    "TEAMS_ASSOCIATION": "Võistkondade liit",
-    "WELCOMEMESSAGE": "Tervitussõnum"
+    "TEAMS_ASSOCIATION": "Võistkondade liit"
   }
 }
diff --git a/public/app/main/apps/sms/i18n/fa.json b/public/app/main/apps/sms/i18n/fa.json
index 5397220..8686181 100644
--- a/public/app/main/apps/sms/i18n/fa.json
+++ b/public/app/main/apps/sms/i18n/fa.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "استاديار دانشگاه علوم پزشكي گرگان",
-    "NAME": "نام",
     "SMSQUEUES": "صفهای طولانی SMS",
     "SEARCH_FOR_ANYONE": "در جستجوی کسی",
     "STRATEGY": "استراتژي",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "کلید باید حداکثر برابر با طول حداکثر}} {{",
-      "KEY_REQUIRED": "کلید مورد نیاز است.",
-      "NAME_REQUIRED": "نام لازم است.",
-      "AGENT_TIMEOUT_REQUIRED": "عامل پایان زمان لازم است.",
-      "PHONE_REQUIRED": "تلفن لازم است.",
-      "SID_REQUIRED": "گرفتن SID، لازم است.",
-      "TOKEN_REQUIRED": "اين نشانه لازم است.",
-      "USERNAME_REQUIRED": "نام کاربری مورد نیاز است.",
-      "PASSWORD_REQUIRED": "رمز عبور لازم است.",
-      "MOTIONADDRESS_REQUIRED": "آدرس حركت لازم است.",
-      "MOTIONADDRESS_MUST_VALID_URL": "حركت باید آدرس را در یک فرمت معتبر نوشته شده است",
-      "ACCEPTURL_MUST_VALID_URL": "از پذیرفتن باید آدرس کامل را در یک فرمت معتبر نوشته شده است",
-      "TIMEOUT_REQUIRED": "در پایان زمان لازم است.",
-      "REJECTURL_MUST_VALID_URL": "آدرس کامل را رد كند بايد در فرمت معتبر نوشته شده است",
-      "CLOSEURL_MUST_VALID_URL": "آدرس کامل باید بسته به فرمت معتبر نوشته شده است",
-      "TYPE_REQUIRED": "از نوع لازم است.",
-      "LIST_REQUIRED": "لیست مورد نیاز است.",
-      "PRIORITY_REQUIRED": "اولويت لازم است.",
-      "CONDITION_REQUIRED": "شرط لازم است.",
-      "TRUEPRIORITY_REQUIRED": "تقدم حقيقي لازم است.",
-      "FALSEPRIORITY_REQUIRED": "به غلط اولویت لازم است.",
-      "AGENT_REQUIRED": "عامل لازم است.",
-      "QUEUE_REQUIRED": "توی صف لازم است.",
-      "DISPOSITION_REQUIRED": "از 1626 مورد نیاز است.",
-      "ACCOUNTSID_REQUIRED": "گرفتن SID اشتراک مورد نیاز است.",
-      "AUTHTOKEN_REQUIRED": "Auth نشانه لازم است.",
-      "MOTIONPROXY_REQUIRED": "رشته الزامی",
-      "MOTIONPROXY_MUST_VALID_URL": "فرمت نادرست",
-      "TEXT_MAX_LENGTH": "مقدار باید طول حداکثر {{حداکثر}} باشد",
-      "TEXT_REQUIRED": "زمینه اجباری",
-      "VALUE_REQUIRED": "زمینه اجباری",
-      "SENDERSTRING_MAX_LENGTH": "مقدار باید طول حداکثر {{حداکثر}} باشد",
-      "SENDERSTRING_MUST_VALID_PATTERN": "فرمت اشتباه",
-      "METHOD_REQUIRED": "زمینه اجباری",
-      "AUTHID_REQUIRED": "زمینه اجباری",
-      "COMMAND_REQUIRED": "زمینه اجباری",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "NAME_MUST_VALID_PATTERN": "فرمت اشتباه",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "زمینه اجباری",
-      "TAG_REQUIRED": "زمینه اجباری",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "APIKEY_REQUIRED": "زمینه اجباری",
-      "BASEURL_REQUIRED": "زمینه اجباری",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری",
-      "ACCESSKEYID_REQUIRED": "شناسه کلید دسترسی لازم است",
-      "BOTNAME_REQUIRED": "نام ربات لازم است",
-      "SECRETACCESSKEY_REQUIRED": "راز کلید دسترسی مورد نیاز است"
+      "AUTHID_REQUIRED": "زمینه اجباری"
     },
     "AGENT_TIMEOUT": "عامل زمان مجاز",
     "DESCRIPTION": "شرح",
@@ -73,7 +17,6 @@
     "CREATED_AT": "ایجاد شده در",
     "SAVE": "ذخیره",
     "SMSACCOUNTS": "SMS حسابداري",
-    "TYPE": "نوع دستگاه",
     "PHONE": "تلفن همراه",
     "SID": "گرفتن SID",
     "TOKEN": "نشانه",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "افزودن اشتراک SMS",
     "EDIT_SMSACCOUNT": "ویرایش اشتراک SMS",
     "DELETE_SMSACCOUNT": "حذف اشتراک SMS",
-    "LIST": "فهرست",
     "FIDELITY": "وفاداري",
     "API": "API",
     "DISPOSITIONS": "مكتبى",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "همه تیم ها",
     "SELECTED_TEAMS": "تيم هاي برگزيده",
     "HELP": {
-      "NAME": "فقط شماره ها و حروف و نویسه های ویژه (_) پشتیبانی می شود.",
-      "LIST": "مدیر تماس بگیرید لیست تماس ها استفاده می شود تا ٥",
       "RECEIVEURL": "این API تولید خودکار عبارت شما نیاز به استفاده از آن دریافت پیام داخلی اشتراک شما از روش پست SMS (سرویس دهنده استفاده می شود). شما می توانید دکمه را فشار دهید تا یک کپی از آن را به حافظه موقت شما را در حافظه موقت کپی می کند.",
-      "MOTIONPROXY": "حوزه باید با فرمت زیر است: <پروتكل://><ipaddress[:<بندر>>] است. مثال: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "این رشته API خودکار تولید شده است که شما باید برای دریافت گزارش تحویل پیام های فرستاده شده از ارائه دهنده پیام کوتاه خود استفاده کنید (روش POST باید استفاده شود): روی دکمه کلیپ بورد کلیک کنید تا آن را کپی کنید",
-      "MANDATORYDISPOSITION": "وضع اجباری",
-      "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن حالت اجباری ، مکث کنید",
-      "WELCOMEMESSAGE": "این اولین پیام پاسخی است که به تعاملات جدید ارسال می شود"
+      "DELIVERYREPORTURL": "این رشته API خودکار تولید شده است که شما باید برای دریافت گزارش تحویل پیام های فرستاده شده از ارائه دهنده پیام کوتاه خود استفاده کنید (روش POST باید استفاده شود): روی دکمه کلیپ بورد کلیک کنید تا آن را کپی کنید"
     },
     "PAGE": "صفحه",
     "ROWSPERPAGE": "رديف در صفحه",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Auth نشانه",
     "PROXY": "سيستم",
     "ADVANCED": "پيش رفت.",
-    "MOTIONPROXY": "بجنگند يا حركت حوزه",
     "REALTIME": "Realtime",
     "UNKNOWN": "ناشناخته",
     "UNREGISTERED": "ثبت",
@@ -266,8 +201,6 @@
     "APIKEY": "کلید ای پی ای",
     "BASEURL": "URL پایه",
     "TEAMS_ASSOCIATION": "انجمن تیم",
-    "MANDATORYDISPOSITION": "وضع اجباری",
-    "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن حالت اجباری ، مکث کنید",
     "ACCESSKEYID": "دسترسی به شناسه کلید",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "نام بوت",
@@ -277,7 +210,6 @@
     "LANGUAGE": "زبان",
     "LEXREGION": "منطقه",
     "SECRETACCESSKEY": "راز دسترسی به کلید",
-    "WELCOMEMESSAGE": "پیام خوش آمد",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "بارگیری بدون پیوست",
     "DOWNLOAD_WITH_ATTACHMENT": "با پیوست بارگیری کنید",
     "LASTMESSAGE": "آخرین پیام"
diff --git a/public/app/main/apps/sms/i18n/fi.json b/public/app/main/apps/sms/i18n/fi.json
index e088b2c..28293cf 100644
--- a/public/app/main/apps/sms/i18n/fi.json
+++ b/public/app/main/apps/sms/i18n/fi.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Avain",
-    "NAME": "Nimi",
     "SMSQUEUES": "SMS-jonosta",
     "SEARCH_FOR_ANYONE": "Etsi joku",
     "STRATEGY": "Strategia",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Avain on enintään yhtä suuri kuin {{max}}",
-      "KEY_REQUIRED": "Avain.",
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "AGENT_TIMEOUT_REQUIRED": "Asiakaspalvelijan aikakatkaisu on pakollinen",
-      "PHONE_REQUIRED": "Puhelin ei tarvita",
-      "SID_REQUIRED": "SID ei tarvita",
-      "TOKEN_REQUIRED": "Etätunnistinta ei tarvita",
-      "USERNAME_REQUIRED": "Käyttäjätunnus on pakollinen",
-      "PASSWORD_REQUIRED": "Salasana on pakollinen",
-      "MOTIONADDRESS_REQUIRED": "Liikkeen osoite on pakollinen tieto",
-      "MOTIONADDRESS_MUST_VALID_URL": "Liikkeen osoite on kirjoitettava kelvollisessa muodossa",
-      "ACCEPTURL_MUST_VALID_URL": "Hyväksy URL on kirjoitettava kelvollisessa muodossa",
-      "TIMEOUT_REQUIRED": "Aikakatkaisujakso on pakollinen",
-      "REJECTURL_MUST_VALID_URL": "Hylätyt URL on kirjoitettava kelvollisessa muodossa",
-      "CLOSEURL_MUST_VALID_URL": "Sulje URL on kirjoitettava kelvollisessa muodossa",
-      "TYPE_REQUIRED": "Tyyppi on pakollinen",
-      "LIST_REQUIRED": "Lista on pakollinen",
-      "PRIORITY_REQUIRED": "Etusijalla on pakollinen",
-      "CONDITION_REQUIRED": "Kunto on pakollinen",
-      "TRUEPRIORITY_REQUIRED": "Todellinen prioriteetti on pakollinen",
-      "FALSEPRIORITY_REQUIRED": "Väärät prioriteetti on pakollinen",
-      "AGENT_REQUIRED": "Agentti on pakollinen",
-      "QUEUE_REQUIRED": "Jono on pakollinen",
-      "DISPOSITION_REQUIRED": "Jatkokäsittely on pakollinen",
-      "ACCOUNTSID_REQUIRED": "Account SID ei tarvita",
-      "AUTHTOKEN_REQUIRED": "Valt token tarvitaan",
-      "MOTIONPROXY_REQUIRED": "Pakollinen kenttä.",
-      "MOTIONPROXY_MUST_VALID_URL": "Väärä sovellusmuoto",
-      "TEXT_MAX_LENGTH": "Arvon enimmäispituus on {{max}}",
-      "TEXT_REQUIRED": "Pakollinen kenttä",
-      "VALUE_REQUIRED": "Pakollinen kenttä",
-      "SENDERSTRING_MAX_LENGTH": "Arvon enimmäispituus on {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Väärä formaatti",
-      "METHOD_REQUIRED": "Pakollinen kenttä",
-      "AUTHID_REQUIRED": "Pakollinen kenttä",
-      "COMMAND_REQUIRED": "Pakollinen kenttä",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "NAME_MUST_VALID_PATTERN": "Väärä formaatti",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pakollinen kenttä",
-      "TAG_REQUIRED": "Pakollinen kenttä",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "APIKEY_REQUIRED": "Pakollinen kenttä",
-      "BASEURL_REQUIRED": "Pakollinen kenttä",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä",
-      "ACCESSKEYID_REQUIRED": "Käyttöavaintunnus vaaditaan",
-      "BOTNAME_REQUIRED": "Botin nimi vaaditaan",
-      "SECRETACCESSKEY_REQUIRED": "Käyttöavaimen salaisuus vaaditaan"
+      "AUTHID_REQUIRED": "Pakollinen kenttä"
     },
     "AGENT_TIMEOUT": "Agentti aikakatkaisu",
     "DESCRIPTION": "Kuvaus",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Luodaan",
     "SAVE": "Tallenna",
     "SMSACCOUNTS": "SMS-tilit",
-    "TYPE": "Tyyppi",
     "PHONE": "Puhelin",
     "SID": "SID",
     "TOKEN": "Etätunnistin",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Lisää SMS tili",
     "EDIT_SMSACCOUNT": "Muokkaa SMS tili",
     "DELETE_SMSACCOUNT": "Poista SMS tili",
-    "LIST": "Luettelo",
     "FIDELITY": "Epätarkkaan äänentoistoon",
     "API": "API",
     "DISPOSITIONS": "Yhteisyys",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Kaikki joukkueet",
     "SELECTED_TEAMS": "Valittu työryhmille",
     "HELP": {
-      "NAME": "Vain numeroita, kirjaimia ja erikoismerkkejä (._ tuetaan",
-      "LIST": "Contact Manager -moottorityyppiin yhteystiedot",
       "RECEIVEURL": "Tämä on automaattisesti luotua API string tarvitset vastaanottamaan viestejä sisällä tililtäsi Tekstiviestipalvelun tarjoaja (POST menetelmän on oltava käytössä). Voit painaa leikepöydän kopioi sen leikepöydälle.",
-      "MOTIONPROXY": "Kenttään on syötettävä seuraavassa muodossa: <protokolla>://<ipaddress>[:<portin>]. Esimerkki: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Tämä on automaattisesti luotu API-merkkijono, jonka haluat vastaanottaa SMS-palveluntarjoajaltasi lähetettyjen viestien lähetysraportista (POST-menetelmää on käytettävä): kopioi leikepöydälle napsauttamalla sitä",
-      "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-      "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, kun pakollinen sijoittaminen on käytössä",
-      "WELCOMEMESSAGE": "Tämä on ensimmäinen vastausviesti, joka lähetetään uusiin vuorovaikutuksiin"
+      "DELIVERYREPORTURL": "Tämä on automaattisesti luotu API-merkkijono, jonka haluat vastaanottaa SMS-palveluntarjoajaltasi lähetettyjen viestien lähetysraportista (POST-menetelmää on käytettävä): kopioi leikepöydälle napsauttamalla sitä"
     },
     "PAGE": "Sivu",
     "ROWSPERPAGE": "Riviä sivulle",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Valt etätunnistin",
     "PROXY": "Proxy",
     "ADVANCED": "Tarkennettu",
-    "MOTIONPROXY": "Välityspalvelimen tai Liikkeentunnistus Domain",
     "REALTIME": "Tosiaikainen",
     "UNKNOWN": "Tuntematon",
     "UNREGISTERED": "Rekisteröimätön",
@@ -266,8 +201,6 @@
     "APIKEY": "apikey",
     "BASEURL": "Perus-URL-osoite",
     "TEAMS_ASSOCIATION": "Joukkueiden yhdistys",
-    "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-    "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, kun pakollinen sijoittaminen on käytössä",
     "ACCESSKEYID": "Käyttöavaintunnus",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Botin nimi",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Kieli",
     "LEXREGION": "alue",
     "SECRETACCESSKEY": "Pääsysalaisuus",
-    "WELCOMEMESSAGE": "Tervetuloviesti",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Lataa ilman liitetiedostoja",
     "DOWNLOAD_WITH_ATTACHMENT": "Lataa liitteenä",
     "LASTMESSAGE": "Viimeinen viesti"
diff --git a/public/app/main/apps/sms/i18n/fr.json b/public/app/main/apps/sms/i18n/fr.json
index 6818fb7..dd4886e 100644
--- a/public/app/main/apps/sms/i18n/fr.json
+++ b/public/app/main/apps/sms/i18n/fr.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Key",
-    "NAME": "Nom",
     "SMSQUEUES": "Les files d'SMS",
     "SEARCH_FOR_ANYONE": "Vous pouvez chercher n'importe qui",
     "STRATEGY": "Stratégie",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Clé doit avoir une longueur maximale égale à {{max}}",
-      "KEY_REQUIRED": "Clé est nécessaire",
-      "NAME_REQUIRED": "Le nom est obligatoire",
-      "AGENT_TIMEOUT_REQUIRED": "L'Agent est nécessaire",
-      "PHONE_REQUIRED": "Le téléphone est requis",
-      "SID_REQUIRED": "Le SID est requis",
-      "TOKEN_REQUIRED": "Le jeton est requis",
-      "USERNAME_REQUIRED": "L'utilisateur est nécessaire",
-      "PASSWORD_REQUIRED": "Le mot de passe est requis",
-      "MOTIONADDRESS_REQUIRED": "La motion est nécessaire",
-      "MOTIONADDRESS_MUST_VALID_URL": "La motion doit être écrit dans un format valide",
-      "ACCEPTURL_MUST_VALID_URL": "Accepter l'URL doit être écrit dans un format valide",
-      "TIMEOUT_REQUIRED": "Le délai est nécessaire",
-      "REJECTURL_MUST_VALID_URL": "Rejeter l'URL doit être écrit dans un format valide",
-      "CLOSEURL_MUST_VALID_URL": "Fermer l'URL doit être écrit dans un format valide",
-      "TYPE_REQUIRED": "Le type est requis",
-      "LIST_REQUIRED": "La liste est requis",
-      "PRIORITY_REQUIRED": "La priorité est requise",
-      "CONDITION_REQUIRED": "L'état est requis",
-      "TRUEPRIORITY_REQUIRED": "La vraie priorité est requise",
-      "FALSEPRIORITY_REQUIRED": "La fausse priorité est requise",
-      "AGENT_REQUIRED": "L'Agent est nécessaire",
-      "QUEUE_REQUIRED": "La file d'attente est nécessaire",
-      "DISPOSITION_REQUIRED": "La disposition est nécessaire",
-      "ACCOUNTSID_REQUIRED": "SID compte est requis",
-      "AUTHTOKEN_REQUIRED": "Auth Token est nécessaire",
-      "MOTIONPROXY_REQUIRED": "Champ obligatoire",
-      "MOTIONPROXY_MUST_VALID_URL": "Format incorrect",
-      "TEXT_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
-      "TEXT_REQUIRED": "Champ obligatoire",
-      "VALUE_REQUIRED": "Champ obligatoire",
-      "SENDERSTRING_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Mauvais format",
-      "METHOD_REQUIRED": "Champ obligatoire",
-      "AUTHID_REQUIRED": "Champ obligatoire",
-      "COMMAND_REQUIRED": "Champ obligatoire",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "NAME_MUST_VALID_PATTERN": "Mauvais format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Champ obligatoire",
-      "TAG_REQUIRED": "Champ obligatoire",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "APIKEY_REQUIRED": "Champ obligatoire",
-      "BASEURL_REQUIRED": "Champ obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire",
-      "ACCESSKEYID_REQUIRED": "Un identifiant de clé d'accès est requis",
-      "BOTNAME_REQUIRED": "Le nom du bot est requis",
-      "SECRETACCESSKEY_REQUIRED": "Le secret de la clé d'accès est requis"
+      "AUTHID_REQUIRED": "Champ obligatoire"
     },
     "AGENT_TIMEOUT": "Délai d'agent",
     "DESCRIPTION": "Description",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Créé à",
     "SAVE": "Sauvegarder",
     "SMSACCOUNTS": "Comptes SMS",
-    "TYPE": "Type",
     "PHONE": "Téléphone",
     "SID": "SID",
     "TOKEN": "Coup",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Ajouter compte SMS",
     "EDIT_SMSACCOUNT": "Compte SMS Modifier",
     "DELETE_SMSACCOUNT": "Supprimer compte SMS",
-    "LIST": "Liste",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Toutes les équipes",
     "SELECTED_TEAMS": "Les équipes sélectionnées",
     "HELP": {
-      "NAME": "Seulement les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
-      "LIST": "Contact Manager liste utilisée pour associer des contacts",
       "RECEIVEURL": "C'est auto-généré la chaîne API vous avez besoin d'utiliser pour recevoir les messages à l'intérieur de votre compte à partir de votre fournisseur SMS (méthode POST doit être utilisé). Vous pouvez appuyer sur le bouton du presse-papiers pour copier dans votre presse-papiers.",
-      "MOTIONPROXY": "Le champ doit avoir le format suivant :  <protocole > :// <ipaddress >[ : <port >]. Exemple : https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Il s'agit de la chaîne d'API générée automatiquement que vous devez utiliser pour recevoir le rapport de remise des messages envoyés par votre fournisseur SMS (la méthode POST doit être utilisée): cliquez sur le bouton du presse-papiers pour le copier",
-      "MANDATORYDISPOSITION": "Disposition obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause à utiliser lorsque la disposition obligatoire est activée",
-      "WELCOMEMESSAGE": "Il s'agit du premier message de réponse envoyé à de nouvelles interactions"
+      "DELIVERYREPORTURL": "Il s'agit de la chaîne d'API générée automatiquement que vous devez utiliser pour recevoir le rapport de remise des messages envoyés par votre fournisseur SMS (la méthode POST doit être utilisée): cliquez sur le bouton du presse-papiers pour le copier"
     },
     "PAGE": "La page",
     "ROWSPERPAGE": "Les lignes par page",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Authtoken",
     "PROXY": "Procuration",
     "ADVANCED": "Recherche avancée",
-    "MOTIONPROXY": "Proxy ou domaine Motion",
     "REALTIME": "Des nouvelles en temps réel",
     "UNKNOWN": "Inconnu",
     "UNREGISTERED": "Non",
@@ -266,8 +201,6 @@
     "APIKEY": "Clé API",
     "BASEURL": "URL de base",
     "TEAMS_ASSOCIATION": "Association des équipes",
-    "MANDATORYDISPOSITION": "Disposition obligatoire",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause à utiliser lorsque la disposition obligatoire est activée",
     "ACCESSKEYID": "ID de clé d'accès",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nom du bot",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Langue",
     "LEXREGION": "Région",
     "SECRETACCESSKEY": "Clé d'accès secrète",
-    "WELCOMEMESSAGE": "Message de bienvenue",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Télécharger sans pièce jointe",
     "DOWNLOAD_WITH_ATTACHMENT": "Télécharger avec pièce jointe",
     "LASTMESSAGE": "Dernier message"
diff --git a/public/app/main/apps/sms/i18n/he.json b/public/app/main/apps/sms/i18n/he.json
index 2bef217..a3415c2 100644
--- a/public/app/main/apps/sms/i18n/he.json
+++ b/public/app/main/apps/sms/i18n/he.json
@@ -56,70 +56,13 @@
     "CAPACITY": "קיבולת",
     "PROXY": "פרוקסי",
     "ADVANCED": "מתקדם",
-    "MOTIONPROXY": "פרוקסי או דומיין Motion",
     "REALTIME": "זמן אמת",
     "KEY": "מפתח",
-    "NAME": "שם",
     "SMSQUEUES": "תורי SMS",
     "SEARCH_FOR_ANYONE": "חיפוש",
     "STRATEGY": "אסטרטגיה",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "TAG_REQUIRED": "שדה חובה",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "NAME_MUST_VALID_PATTERN": "תבנית שגויה",
-      "COMMAND_REQUIRED": "שדה חובה",
-      "AUTHID_REQUIRED": "שדה חובה",
-      "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}",
-      "TEXT_REQUIRED": "שדה חובה",
-      "VALUE_REQUIRED": "שדה חובה",
-      "SENDERSTRING_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "תבנית שגויה",
-      "METHOD_REQUIRED": "שדה חובה",
-      "MOTIONPROXY_REQUIRED": "שדה חובה",
-      "MOTIONPROXY_MUST_VALID_URL": "תבנית שגויה",
-      "KEY_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}",
-      "KEY_REQUIRED": "שדה חובה",
-      "NAME_REQUIRED": "שדה חובה",
-      "AGENT_TIMEOUT_REQUIRED": "שדה חובה",
-      "PHONE_REQUIRED": "שדה חובה",
-      "SID_REQUIRED": "שדה חובה",
-      "TOKEN_REQUIRED": "שדה חובה",
-      "USERNAME_REQUIRED": "שדה חובה",
-      "PASSWORD_REQUIRED": "שדה חובה",
-      "MOTIONADDRESS_REQUIRED": "שדה חובה",
-      "MOTIONADDRESS_MUST_VALID_URL": "תבנית שגויה",
-      "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה",
-      "TIMEOUT_REQUIRED": "שדה חובה",
-      "REJECTURL_MUST_VALID_URL": "תבנית שגויה",
-      "CLOSEURL_MUST_VALID_URL": "תבנית שגויה",
-      "TYPE_REQUIRED": "שדה חובה",
-      "LIST_REQUIRED": "שדה חובה",
-      "PRIORITY_REQUIRED": "שדה חובה",
-      "CONDITION_REQUIRED": "שדה חובה",
-      "TRUEPRIORITY_REQUIRED": "שדה חובה",
-      "FALSEPRIORITY_REQUIRED": "שדה חובה",
-      "AGENT_REQUIRED": "שדה חובה",
-      "QUEUE_REQUIRED": "שדה חובה",
-      "DISPOSITION_REQUIRED": "שדה חובה",
-      "ACCOUNTSID_REQUIRED": "שדה חובה",
-      "AUTHTOKEN_REQUIRED": "שדה חובה",
-      "APIKEY_REQUIRED": "שדה חובה",
-      "BASEURL_REQUIRED": "שדה חובה",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה",
-      "ACCESSKEYID_REQUIRED": "דרוש מזהה מפתח גישה",
-      "BOTNAME_REQUIRED": "שם בוט נדרש",
-      "SECRETACCESSKEY_REQUIRED": "סוד מפתח הגישה נדרש"
+      "AUTHID_REQUIRED": "שדה חובה"
     },
     "AGENT_TIMEOUT": "סוף זמן קצוב לנציג",
     "DESCRIPTION": "תיאור",
@@ -131,7 +74,6 @@
     "CREATED_AT": "נוצר ב-",
     "SAVE": "שמור",
     "SMSACCOUNTS": "חשבונות SMS",
-    "TYPE": "סוג",
     "PHONE": "טלפון",
     "SID": "SID",
     "TOKEN": "אסימון",
@@ -142,7 +84,6 @@
     "ADD_SMSACCOUNT": "הוסף חשבון SMS",
     "EDIT_SMSACCOUNT": "ערוך חשבון SMS",
     "DELETE_SMSACCOUNT": "מחק חשבון SMS",
-    "LIST": "רשימה",
     "FIDELITY": "מהימנות",
     "API": "ממשק API",
     "DISPOSITIONS": "סיכומים",
@@ -176,14 +117,8 @@
     "ALL_TEAMS": "כל הצוותים",
     "SELECTED_TEAMS": "צוותים נבחרים",
     "HELP": {
-      "MOTIONPROXY": "התבנית הבאה היא חובה בשדה זה: <protocol>://<ipaddress>[:<port>]. לדוגמה: https://X.Y.Z.W",
-      "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)",
-      "LIST": "רשימת 'מנהל אנשי הקשר' המשמשת לשיוך אנשי קשר",
       "RECEIVEURL": "מחרוזת ה-API המופקת באופן אוטומטי שדרושה לך כדי לקבל מספק ה-SMS את ההודעות שבחשבונך (חובה להשתמש בשיטת POST): לחץ על לחצן הלוח כדי להעתיק אותה",
-      "DELIVERYREPORTURL": "מחרוזת ה-API המופקת באופן אוטומטי שדרושה לך כדי לקבל מספק ה-SMS את דוח המסירה על הודעות שנשלחו (חובה להשתמש בשיטת POST): לחץ על לחצן הלוח כדי להעתיק אותה",
-      "MANDATORYDISPOSITION": "סיכום",
-      "MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש כאשר הסיכום מופעל",
-      "WELCOMEMESSAGE": "זוהי הודעת התגובה הראשונה שנשלחה לאינטראקציות חדשות"
+      "DELIVERYREPORTURL": "מחרוזת ה-API המופקת באופן אוטומטי שדרושה לך כדי לקבל מספק ה-SMS את דוח המסירה על הודעות שנשלחו (חובה להשתמש בשיטת POST): לחץ על לחצן הלוח כדי להעתיק אותה"
     },
     "PAGE": "דף",
     "ROWSPERPAGE": "שורות בדף",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "כתובת אתר בסיסית",
     "TEAMS_ASSOCIATION": "איגוד הצוותים",
-    "MANDATORYDISPOSITION": "סיכום",
-    "MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש כאשר הסיכום מופעל",
     "ACCESSKEYID": "גישה למזהה מפתח",
     "AMAZONLEX": "אמזון-לקס",
     "BOTNAME": "שם בוט",
@@ -277,7 +210,6 @@
     "LANGUAGE": "שפה",
     "LEXREGION": "אזור",
     "SECRETACCESSKEY": "גישה לסוד מפתח",
-    "WELCOMEMESSAGE": "הודעת ברכה",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "הורד ללא קובץ מצורף",
     "DOWNLOAD_WITH_ATTACHMENT": "הורד עם קובץ מצורף",
     "LASTMESSAGE": "הודעה אחרונה"
diff --git a/public/app/main/apps/sms/i18n/hi.json b/public/app/main/apps/sms/i18n/hi.json
index cf570ea..2cce9ce 100644
--- a/public/app/main/apps/sms/i18n/hi.json
+++ b/public/app/main/apps/sms/i18n/hi.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "कुंजी दबाएं",
-    "NAME": "नाम",
     "SMSQUEUES": "SMS कतार",
     "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
     "STRATEGY": "रणनीति",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "कुंजी को एक समान सूबेदार सुरिन९दर सिनह को अधिकतम}{} अधिकतम लंबाई",
-      "KEY_REQUIRED": "कुंजी की आवश्यकता है।",
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "AGENT_TIMEOUT_REQUIRED": "एजेंट समयबाह्य अपेक्षित है।",
-      "PHONE_REQUIRED": "फ़ोन की आवश्यकता है।",
-      "SID_REQUIRED": "हुए हमलोो की आवश्यकता है।",
-      "TOKEN_REQUIRED": "टोकन की आवश्यकता है।",
-      "USERNAME_REQUIRED": "उपयोगकर्ता नाम की आवश्यकता है।",
-      "PASSWORD_REQUIRED": "पासवर्ड की आवश्यकता है।",
-      "MOTIONADDRESS_REQUIRED": "अभिभाषण के प्रस्ताव की आवश्यकता है।",
-      "MOTIONADDRESS_MUST_VALID_URL": "यह प्रस्ताव एक मान्य स्वरूप में लिखा होना पता",
-      "ACCEPTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को स्वीकार करें",
-      "TIMEOUT_REQUIRED": "इस समय की आवश्यकता है।",
-      "REJECTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को अस्वीकार करें",
-      "CLOSEURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL के निकट",
-      "TYPE_REQUIRED": "इस प्रकार की आवश्यकता है।",
-      "LIST_REQUIRED": "इस सूची में अपेक्षित है।",
-      "PRIORITY_REQUIRED": "प्राथमिकता की आवश्यकता है।",
-      "CONDITION_REQUIRED": "की स्थिति की आवश्यकता है।",
-      "TRUEPRIORITY_REQUIRED": "यह सच प्राथमिकता की आवश्यकता है।",
-      "FALSEPRIORITY_REQUIRED": "झूठे प्राथमिकता की आवश्यकता है।",
-      "AGENT_REQUIRED": "एजेंट अपेक्षित है।",
-      "QUEUE_REQUIRED": "लोकतंत्रमें अपेक्षित है।",
-      "DISPOSITION_REQUIRED": "शेयरोंका अन्तरण की आवश्यकता है।",
-      "ACCOUNTSID_REQUIRED": "खाते हुए हमलोो की आवश्यकता है।",
-      "AUTHTOKEN_REQUIRED": "Auth टोकन की आवश्यकता है।",
-      "MOTIONPROXY_REQUIRED": "अनिवार्य क्षेत्र",
-      "MOTIONPROXY_MUST_VALID_URL": "गलत स्वरूप",
-      "TEXT_MAX_LENGTH": "मान {{अधिकतम}} के बराबर अधिकतम लंबाई होना चाहिए",
-      "TEXT_REQUIRED": "आवश्यक स्थान",
-      "VALUE_REQUIRED": "आवश्यक स्थान",
-      "SENDERSTRING_MAX_LENGTH": "मान {{अधिकतम}} के बराबर अधिकतम लंबाई होना चाहिए",
-      "SENDERSTRING_MUST_VALID_PATTERN": "गलत प्रारूप",
-      "METHOD_REQUIRED": "आवश्यक स्थान",
-      "AUTHID_REQUIRED": "आवश्यक स्थान",
-      "COMMAND_REQUIRED": "आवश्यक स्थान",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "NAME_MUST_VALID_PATTERN": "गलत प्रारूप",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "आवश्यक स्थान",
-      "TAG_REQUIRED": "आवश्यक स्थान",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "APIKEY_REQUIRED": "आवश्यक स्थान",
-      "BASEURL_REQUIRED": "आवश्यक स्थान",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान",
-      "ACCESSKEYID_REQUIRED": "प्रवेश कुंजी आईडी की आवश्यकता है",
-      "BOTNAME_REQUIRED": "बॉट नाम आवश्यक है",
-      "SECRETACCESSKEY_REQUIRED": "प्रवेश कुंजी रहस्य की आवश्यकता है"
+      "AUTHID_REQUIRED": "आवश्यक स्थान"
     },
     "AGENT_TIMEOUT": "एजेंट समयबाह्य",
     "DESCRIPTION": "वर्णन",
@@ -73,7 +17,6 @@
     "CREATED_AT": "सृजित",
     "SAVE": "सहेजें",
     "SMSACCOUNTS": "SMS लेखा",
-    "TYPE": "प्रकार",
     "PHONE": "फ़ोन",
     "SID": "बताया",
     "TOKEN": "टोकन",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "खाता जोड़ने के लिए, SMS",
     "EDIT_SMSACCOUNT": "SMS के कारण संपादित करें",
     "DELETE_SMSACCOUNT": "SMS खाते को हटाना",
-    "LIST": "की सूची",
     "FIDELITY": "वास्तविक",
     "API": "नोट्स API",
     "DISPOSITIONS": "प्रवृतियों",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "सभी टीमें भाग लेंगी।",
     "SELECTED_TEAMS": "चयनित टीम",
     "HELP": {
-      "NAME": "केवल विशिष्ट वर्ण (।_) और नंबर्स, समर्थित",
-      "LIST": "संपर्क सूची में संपर्कों को संबद्ध करने के लिए प्रयुक्त प्रबंधक",
       "RECEIVEURL": "यह स्वत: जनरेट नोट्स API प्रयोग करने के लिए, संदेश प्राप्त करने के लिए आपको एक तार के भीतर अपने खाते से अपने SMS प्रदाता (पोस्ट पद्धति का उपयोग किया जाना चाहिए। क्लिपबोर्ड पर कॉपी कर सकते हैं जो आपको आपकी में दबाएं बटन को क्लिपबोर्ड पर कॉपी किया गया.",
-      "MOTIONPROXY": "यह फ़ील्ड को निम्नलिखित हैं ://><ipaddress प्रोटोकॉल का स्वरूप: <><पत्तन>][ : उदाहरण के लिए: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "यह स्वतः जनरेट किया गया एपीआई स्ट्रिंग है जिसे आप अपने एसएमएस प्रदाता (पोस्ट पद्धति का उपयोग किया जाना चाहिए) से भेजे गए संदेशों की डिलीवरी रिपोर्ट प्राप्त करने के लिए करना है: इसे कॉपी करने के लिए क्लिपबोर्ड बटन पर क्लिक करें",
-      "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-      "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्वभाव सक्षम होने पर उपयोग करने के लिए रुकें",
-      "WELCOMEMESSAGE": "यह नई प्रतिक्रियाओं के लिए भेजा गया पहला प्रतिक्रिया संदेश है"
+      "DELIVERYREPORTURL": "यह स्वतः जनरेट किया गया एपीआई स्ट्रिंग है जिसे आप अपने एसएमएस प्रदाता (पोस्ट पद्धति का उपयोग किया जाना चाहिए) से भेजे गए संदेशों की डिलीवरी रिपोर्ट प्राप्त करने के लिए करना है: इसे कॉपी करने के लिए क्लिपबोर्ड बटन पर क्लिक करें"
     },
     "PAGE": "पृष्ठ",
     "ROWSPERPAGE": "पंक्तियां प्रति पृष्ठ",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "टोकन Auth",
     "PROXY": "छद्म",
     "ADVANCED": "उन्नत",
-    "MOTIONPROXY": "प्रॉक्सी या प्रस्ताव डोमेन",
     "REALTIME": "लिएभूकम्पनीय वैधशालाओं",
     "UNKNOWN": "अज्ञात",
     "UNREGISTERED": "अपंजीकृत",
@@ -266,8 +201,6 @@
     "APIKEY": "एपीआई कुंजी",
     "BASEURL": "आधार URL",
     "TEAMS_ASSOCIATION": "टीमों एसोसिएशन",
-    "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-    "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्वभाव सक्षम होने पर उपयोग करने के लिए रुकें",
     "ACCESSKEYID": "एक्सेस कुंजी आईडी",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "बॉट नाम",
@@ -277,7 +210,6 @@
     "LANGUAGE": "भाषा: हिन्दी",
     "LEXREGION": "क्षेत्र",
     "SECRETACCESSKEY": "पहुंच कुंजी रहस्य",
-    "WELCOMEMESSAGE": "स्वागत संदेश",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "अनुलग्नक के बिना डाउनलोड करें",
     "DOWNLOAD_WITH_ATTACHMENT": "अनुलग्नक के साथ डाउनलोड करें",
     "LASTMESSAGE": "अंतिम संदेश"
diff --git a/public/app/main/apps/sms/i18n/id.json b/public/app/main/apps/sms/i18n/id.json
index 183f1c9..12dbea1 100644
--- a/public/app/main/apps/sms/i18n/id.json
+++ b/public/app/main/apps/sms/i18n/id.json
@@ -1,72 +1,11 @@
 {
   "SMS": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "Format yang salah",
-      "ACCOUNTSID_REQUIRED": "Bidang wajib",
-      "AGENT_REQUIRED": "Bidang wajib",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "AGENT_TIMEOUT_REQUIRED": "Bidang wajib",
-      "AUTHID_REQUIRED": "Bidang wajib",
-      "AUTHTOKEN_REQUIRED": "Bidang wajib",
-      "CLOSEURL_MUST_VALID_URL": "Format yang salah",
-      "COMMAND_REQUIRED": "Bidang wajib",
-      "CONDITION_REQUIRED": "Bidang wajib",
-      "DISPOSITION_REQUIRED": "Bidang wajib",
-      "FALSEPRIORITY_REQUIRED": "Bidang wajib",
-      "KEY_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
-      "KEY_REQUIRED": "Bidang wajib",
-      "LIST_REQUIRED": "Bidang wajib",
-      "METHOD_REQUIRED": "Bidang wajib",
-      "MOTIONADDRESS_MUST_VALID_URL": "Format yang salah",
-      "MOTIONADDRESS_REQUIRED": "Bidang wajib",
-      "MOTIONPROXY_MUST_VALID_URL": "Format yang salah",
-      "MOTIONPROXY_REQUIRED": "Bidang wajib",
-      "NAME_MUST_VALID_PATTERN": "Format yang salah",
-      "NAME_REQUIRED": "Bidang wajib",
-      "PASSWORD_REQUIRED": "Bidang wajib",
-      "PHONE_REQUIRED": "Bidang wajib",
-      "PRIORITY_REQUIRED": "Bidang wajib",
-      "QUEUE_REQUIRED": "Bidang wajib",
-      "REJECTURL_MUST_VALID_URL": "Format yang salah",
-      "SENDERSTRING_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Format yang salah",
-      "SID_REQUIRED": "Bidang wajib",
-      "TAG_REQUIRED": "Bidang wajib",
-      "TEXT_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
-      "TEXT_REQUIRED": "Bidang wajib",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "TIMEOUT_REQUIRED": "Bidang wajib",
-      "TOKEN_REQUIRED": "Bidang wajib",
-      "TRUEPRIORITY_REQUIRED": "Bidang wajib",
-      "TYPE_REQUIRED": "Bidang wajib",
-      "USERNAME_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Bidang wajib",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "APIKEY_REQUIRED": "Bidang wajib",
-      "BASEURL_REQUIRED": "Bidang wajib",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib",
-      "ACCESSKEYID_REQUIRED": "Diperlukan ID kunci akses",
-      "BOTNAME_REQUIRED": "Nama bot diperlukan",
-      "SECRETACCESSKEY_REQUIRED": "Rahasia kunci akses diperlukan"
+      "AUTHID_REQUIRED": "Bidang wajib"
     },
     "HELP": {
       "DELIVERYREPORTURL": "Ini adalah string API yang dihasilkan secara otomatis yang perlu Anda gunakan untuk menerima laporan pengiriman pesan terkirim dari penyedia SMS Anda (metode POST harus digunakan): klik tombol clipboard untuk menyalinnya",
-      "LIST": "Daftar Contact Manager yang digunakan untuk menghubungkan kontak",
-      "MOTIONPROXY": "Field harus memiliki format berikut: <protocol>: // <ipaddress> [: <port>]. Contoh: https: //X.Y.Z.W",
-      "NAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
-      "RECEIVEURL": "Ini adalah string API yang dihasilkan secara otomatis yang perlu Anda gunakan untuk menerima pesan di dalam akun Anda dari penyedia SMS Anda (metode POST harus digunakan): klik tombol clipboard untuk menyalinnya",
-      "MANDATORYDISPOSITION": "Disposisi wajib",
-      "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan ketika disposisi wajib diaktifkan",
-      "WELCOMEMESSAGE": "Ini adalah pesan respons pertama yang dikirim ke interaksi baru"
+      "RECEIVEURL": "Ini adalah string API yang dihasilkan secara otomatis yang perlu Anda gunakan untuk menerima pesan di dalam akun Anda dari penyedia SMS Anda (metode POST harus digunakan): klik tombol clipboard untuk menyalinnya"
     },
     "ACCEPT": "Menerima",
     "ACCEPTMETHOD": "Terima Metode",
@@ -155,15 +94,12 @@
     "INTERNAL": "Intern",
     "IN_USE": "Digunakan",
     "KEY": "Kunci",
-    "LIST": "Daftar",
     "LOGGED_IN": "Masuk",
     "LOGOUT": "Keluar",
     "MAIL": "E-mail",
     "MESSAGE": "Pesan",
     "METHOD": "metode",
     "MOTIONADDRESS": "Alamat Gerak",
-    "MOTIONPROXY": "Domain Proxy Atau Gerak",
-    "NAME": "Nama",
     "NEW_SMSACCOUNT": "Akun SMS Baru",
     "NEW_SMSCANNEDANSWER": "Jawaban Kalengan Baru",
     "NEW_SMSDISPOSITION": "Disposisi SMS Baru",
@@ -240,7 +176,6 @@
     "TO": "Untuk",
     "TOKEN": "Token",
     "TRUEPRIORITY": "Prioritas Benar",
-    "TYPE": "Mengetik",
     "UNAVAILABLE": "Tidak tersedia",
     "UNKNOWN": "Tidak dikenal",
     "UNPAUSE": "Akhiri Jeda",
@@ -266,8 +201,6 @@
     "APIKEY": "Kunci API",
     "BASEURL": "URL dasar",
     "TEAMS_ASSOCIATION": "Asosiasi Tim",
-    "MANDATORYDISPOSITION": "Disposisi wajib",
-    "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan ketika disposisi wajib diaktifkan",
     "ACCESSKEYID": "ID kunci akses",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nama bot",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Bahasa",
     "LEXREGION": "Wilayah",
     "SECRETACCESSKEY": "Rahasia kunci akses",
-    "WELCOMEMESSAGE": "Pesan selamat datang",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Unduh tanpa lampiran",
     "DOWNLOAD_WITH_ATTACHMENT": "Unduh dengan lampiran",
     "LASTMESSAGE": "Pesan Terakhir"
diff --git a/public/app/main/apps/sms/i18n/it.json b/public/app/main/apps/sms/i18n/it.json
index 951f8a6..156085f 100644
--- a/public/app/main/apps/sms/i18n/it.json
+++ b/public/app/main/apps/sms/i18n/it.json
@@ -6,7 +6,6 @@
     "SECRETACCESSKEY": "Accesso chiave segreta",
     "BOTNAME": "Nome del bot",
     "LEXREGION": "Regione",
-    "WELCOMEMESSAGE": "Messaggio di benvenuto",
     "LOGIN_TIME": "Tempo di login",
     "PAUSE_TIME": "Tempo di pausa",
     "DOWNLOAD_INTERACTION": "Download",
@@ -61,71 +60,14 @@
     "CAPACITY": "Capacità",
     "PROXY": "Proxy",
     "ADVANCED": "Avanzate",
-    "MOTIONPROXY": "Proxy O Dominio Motion",
     "REALTIME": "Realtime",
     "KEY": "Chiave",
-    "NAME": "Nome",
     "SMSQUEUES": "Code SMS",
     "SEARCH_FOR_ANYONE": "Cerca",
     "STRATEGY": "Strategia",
     "BASEURL": "Base URL",
     "ERRORS": {
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "TAG_REQUIRED": "Campo obbligatorio",
-      "AUTHID_REQUIRED": "Campo Obbligatorio",
-      "TEXT_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
-      "TEXT_REQUIRED": "Campo obbligatorio",
-      "VALUE_REQUIRED": "Campo Obbligatorio",
-      "SENDERSTRING_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Il campo deve avere un formato valido",
-      "METHOD_REQUIRED": "Campo obbligatorio",
-      "MOTIONPROXY_REQUIRED": "Campo obbligatorio",
-      "MOTIONPROXY_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "KEY_MAX_LENGTH": "Il valore introdotto non deve essere più lungo di {{max}} caratteri",
-      "KEY_REQUIRED": "Campo obbligatorio",
-      "NAME_REQUIRED": "Campo obbligatorio",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obbligatorio",
-      "PHONE_REQUIRED": "Campo obbligatorio",
-      "SID_REQUIRED": "Campo obbligatorio",
-      "TOKEN_REQUIRED": "Campo obbligatorio",
-      "USERNAME_REQUIRED": "Campo obbligatorio",
-      "PASSWORD_REQUIRED": "Campo obbligatorio",
-      "MOTIONADDRESS_REQUIRED": "Campo obbligatorio",
-      "MOTIONADDRESS_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "ACCEPTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "TIMEOUT_REQUIRED": "Campo obbligatorio",
-      "REJECTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "CLOSEURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "TYPE_REQUIRED": "Campo obbligatorio",
-      "LIST_REQUIRED": "Campo obbligatorio",
-      "PRIORITY_REQUIRED": "Campo obbligatorio",
-      "CONDITION_REQUIRED": "Campo obbligatorio",
-      "TRUEPRIORITY_REQUIRED": "Campo obbligatorio",
-      "FALSEPRIORITY_REQUIRED": "Campo obbligatorio",
-      "AGENT_REQUIRED": "Campo obbligatorio",
-      "QUEUE_REQUIRED": "Campo obbligatorio",
-      "DISPOSITION_REQUIRED": "Campo obbligatorio",
-      "ACCOUNTSID_REQUIRED": "Campo obbligatorio",
-      "AUTHTOKEN_REQUIRED": "Campo obbligatorio",
-      "COMMAND_REQUIRED": "Campo obbligatorio",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "NAME_MUST_VALID_PATTERN": "Formato errato",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obbligatorio",
-      "BASEURL_REQUIRED": "Campo obbligatorio",
-      "APIKEY_REQUIRED": "Campo obbligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio",
-      "ACCESSKEYID_REQUIRED": "È richiesto l'ID chiave di accesso",
-      "BOTNAME_REQUIRED": "È richiesto il nome del bot",
-      "SECRETACCESSKEY_REQUIRED": "È richiesto il segreto della chiave di accesso"
+      "AUTHID_REQUIRED": "Campo Obbligatorio"
     },
     "AGENT_TIMEOUT": "Timeout Agente",
     "DESCRIPTION": "Descrizione",
@@ -137,7 +79,6 @@
     "CREATED_AT": "Creato il",
     "SAVE": "Salva",
     "SMSACCOUNTS": "Account SMS",
-    "TYPE": "Tipo",
     "PHONE": "Telefono",
     "SID": "SID",
     "TOKEN": "Token",
@@ -148,7 +89,6 @@
     "ADD_SMSACCOUNT": "Aggiungi Account SMS",
     "EDIT_SMSACCOUNT": "Modifica Account SMS",
     "DELETE_SMSACCOUNT": "Elimina Account SMS",
-    "LIST": "Lista",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Esiti",
@@ -187,14 +127,8 @@
     "EDIT_DIALOGFLOW": "Modifica la configurazione di Dialogflow",
     "LANGUAGE": "Lingua",
     "HELP": {
-      "WELCOMEMESSAGE": "Messaggio di benvenuto",
-      "MOTIONPROXY": "Inserire nel seguente formato: &lt;protocollo&gt;://&lt;indirizzoIP&gt;[:&lt;porta&gt;]. Es: https://X.Y.Z.W",
-      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
-      "LIST": "Lista del Contact Manager usata per associare i contatti",
       "RECEIVEURL": "Questa è la stringa API generata automaticamente che devi usare per ricevere i messaggi provenienti dal tuo provider SMS (deve essere usato il metodo POST). Clicca sull'icona del blocco note per copiare negli appunti",
-      "DELIVERYREPORTURL": "Questa è la stringa API generata automaticamente che devi usare per ricevere il rapporto di consegna dei messaggi inviati dal tuo provider SMS (deve essere usato il metodo POST). Clicca sull'icona del blocco note per copiare negli appunti",
-      "MANDATORYDISPOSITION": "Disposizione obbligatoria",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare quando è abilitata la disposizione obbligatoria"
+      "DELIVERYREPORTURL": "Questa è la stringa API generata automaticamente che devi usare per ricevere il rapporto di consegna dei messaggi inviati dal tuo provider SMS (deve essere usato il metodo POST). Clicca sull'icona del blocco note per copiare negli appunti"
     },
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Righe per pagina",
@@ -277,8 +211,6 @@
     "WAITFORTHEASSIGNEDAGENT": "Attendi l'agente assegnato",
     "AGENTADD_SMSACCOUNT": "Aggiungi Agente ad account SMS",
     "TEAMS_ASSOCIATION": "Associazione Teams",
-    "MANDATORYDISPOSITION": "Disposizione obbligatoria",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare quando è abilitata la disposizione obbligatoria",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Scarica senza allegato",
     "DOWNLOAD_WITH_ATTACHMENT": "Scarica con allegato"
   }
diff --git a/public/app/main/apps/sms/i18n/ja.json b/public/app/main/apps/sms/i18n/ja.json
index d5b75ba..29f41a4 100644
--- a/public/app/main/apps/sms/i18n/ja.json
+++ b/public/app/main/apps/sms/i18n/ja.json
@@ -1,72 +1,11 @@
 {
   "SMS": {
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "間違ったフォーマット",
-      "ACCOUNTSID_REQUIRED": "必須フィールド",
-      "AGENT_REQUIRED": "必須フィールド",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "AGENT_TIMEOUT_REQUIRED": "必須フィールド",
-      "AUTHID_REQUIRED": "必須フィールド",
-      "AUTHTOKEN_REQUIRED": "必須フィールド",
-      "CLOSEURL_MUST_VALID_URL": "間違ったフォーマット",
-      "COMMAND_REQUIRED": "必須フィールド",
-      "CONDITION_REQUIRED": "必須フィールド",
-      "DISPOSITION_REQUIRED": "必須フィールド",
-      "FALSEPRIORITY_REQUIRED": "必須フィールド",
-      "KEY_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
-      "KEY_REQUIRED": "必須フィールド",
-      "LIST_REQUIRED": "必須フィールド",
-      "METHOD_REQUIRED": "必須フィールド",
-      "MOTIONADDRESS_MUST_VALID_URL": "間違ったフォーマット",
-      "MOTIONADDRESS_REQUIRED": "必須フィールド",
-      "MOTIONPROXY_MUST_VALID_URL": "間違ったフォーマット",
-      "MOTIONPROXY_REQUIRED": "必須フィールド",
-      "NAME_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "NAME_REQUIRED": "必須フィールド",
-      "PASSWORD_REQUIRED": "必須フィールド",
-      "PHONE_REQUIRED": "必須フィールド",
-      "PRIORITY_REQUIRED": "必須フィールド",
-      "QUEUE_REQUIRED": "必須フィールド",
-      "REJECTURL_MUST_VALID_URL": "間違ったフォーマット",
-      "SENDERSTRING_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
-      "SENDERSTRING_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "SID_REQUIRED": "必須フィールド",
-      "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
-      "TEXT_REQUIRED": "必須フィールド",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "TIMEOUT_REQUIRED": "必須フィールド",
-      "TOKEN_REQUIRED": "必須フィールド",
-      "TRUEPRIORITY_REQUIRED": "必須フィールド",
-      "TYPE_REQUIRED": "必須フィールド",
-      "USERNAME_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必須フィールド",
-      "TAG_REQUIRED": "必須フィールド",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "APIKEY_REQUIRED": "必須フィールド",
-      "BASEURL_REQUIRED": "必須フィールド",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド",
-      "ACCESSKEYID_REQUIRED": "アクセスキーIDが必要です",
-      "BOTNAME_REQUIRED": "ボット名は必須です",
-      "SECRETACCESSKEY_REQUIRED": "アクセスキーシークレットが必要です"
+      "AUTHID_REQUIRED": "必須フィールド"
     },
     "HELP": {
       "DELIVERYREPORTURL": "これは、SMSプロバイダから送信されたメッセージの配信レポートを受信するために必要な自動生成されたAPI文字列です（POSTメソッドを使用する必要があります）。クリップボードボタンをクリックしてコピーします",
-      "LIST": "コンタクトを関連付けるために使用されるコンタクトマネージャーリスト",
-      "MOTIONPROXY": "フィールドは、<protocol>：// <ipaddress> [：<port>]の形式でなければなりません。例：https：//X.Y.Z.W",
-      "NAME": "数字、文字、および特定の文字（._）のみがサポートされています",
-      "RECEIVEURL": "これは、SMSプロバイダからアカウント内のメッセージを受信するために必要な自動生成のAPI文字列です（POSTメソッドを使用する必要があります）。クリップボードボタンをクリックしてコピーします",
-      "MANDATORYDISPOSITION": "強制処分",
-      "MANDATORYDISPOSITIONPAUSEID": "強制処分が有効になっているときに使用する一時停止",
-      "WELCOMEMESSAGE": "これは、新しいインタラクションに送信される最初の応答メッセージです"
+      "RECEIVEURL": "これは、SMSプロバイダからアカウント内のメッセージを受信するために必要な自動生成のAPI文字列です（POSTメソッドを使用する必要があります）。クリップボードボタンをクリックしてコピーします"
     },
     "ACCEPT": "同意する",
     "ACCEPTMETHOD": "Acceptメソッド",
@@ -154,15 +93,12 @@
     "INTERNAL": "内部",
     "IN_USE": "使用中",
     "KEY": "キー",
-    "LIST": "リスト",
     "LOGGED_IN": "ログインした",
     "LOGOUT": "ログアウト",
     "MAIL": "メール",
     "MESSAGE": "メッセージ",
     "METHOD": "メッソド",
     "MOTIONADDRESS": "Motionアドレス",
-    "MOTIONPROXY": "プロキシまたはモーションドメイン",
-    "NAME": "名前",
     "NEW_SMSACCOUNT": "新規SMSアカウント",
     "NEW_SMSCANNEDANSWER": "新規定型文",
     "NEW_SMSDISPOSITION": "新規SMS処理",
@@ -238,7 +174,6 @@
     "TO": "To",
     "TOKEN": "トークン",
     "TRUEPRIORITY": "True優先度",
-    "TYPE": "タイプ",
     "UNAVAILABLE": "不在",
     "UNKNOWN": "未知",
     "UNPAUSE": "再生",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "ベースURL",
     "TEAMS_ASSOCIATION": "チーム協会",
-    "MANDATORYDISPOSITION": "強制処分",
-    "MANDATORYDISPOSITIONPAUSEID": "強制処分が有効になっているときに使用する一時停止",
     "ACCESSKEYID": "アクセスキーID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "ボット名",
@@ -277,7 +210,6 @@
     "LANGUAGE": "言語",
     "LEXREGION": "領域",
     "SECRETACCESSKEY": "アクセスキーシークレット",
-    "WELCOMEMESSAGE": "ウェルカムメッセージ",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "添付せずにダウンロード",
     "DOWNLOAD_WITH_ATTACHMENT": "添付してダウンロード",
     "LASTMESSAGE": "最後のメッセージ"
diff --git a/public/app/main/apps/sms/i18n/ko.json b/public/app/main/apps/sms/i18n/ko.json
index 7b1dfe0..59acefb 100644
--- a/public/app/main/apps/sms/i18n/ko.json
+++ b/public/app/main/apps/sms/i18n/ko.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "키",
-    "NAME": "이름",
     "SMSQUEUES": "SMS 상담그룹",
     "SEARCH_FOR_ANYONE": "모두 검색",
     "STRATEGY": "전략",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "키 최대 길이",
-      "KEY_REQUIRED": "키는 필수입니다.",
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "AGENT_TIMEOUT_REQUIRED": "상담원 시간초과는 필수입니다.",
-      "PHONE_REQUIRED": "전화는 필수입니다.",
-      "SID_REQUIRED": "SID는 필수입니다.",
-      "TOKEN_REQUIRED": "토큰은 필수입니다.",
-      "USERNAME_REQUIRED": "사용자이름은 필수입니다.",
-      "PASSWORD_REQUIRED": "비밀번호는 필수입니다.",
-      "MOTIONADDRESS_REQUIRED": "모션 주소는 필수입니다.",
-      "MOTIONADDRESS_MUST_VALID_URL": "모션주소는 유효한 URL이어야 합니다.",
-      "ACCEPTURL_MUST_VALID_URL": "수락 URL은 유효해야 합니다.",
-      "TIMEOUT_REQUIRED": "시간초과는 필수입니다.",
-      "REJECTURL_MUST_VALID_URL": "거절 URL은 유효해야 합니다.",
-      "CLOSEURL_MUST_VALID_URL": "닫기 URL은 유효해야 합니다.",
-      "TYPE_REQUIRED": "타입은 필수입니다.",
-      "LIST_REQUIRED": "목록은 필수입니다.",
-      "PRIORITY_REQUIRED": "우선순위는 필수입니다.",
-      "CONDITION_REQUIRED": "조건은 필수입니다.",
-      "TRUEPRIORITY_REQUIRED": "참 우선순위는 필수입니다.",
-      "FALSEPRIORITY_REQUIRED": "거짓 우선순위는 필수입니다.",
-      "AGENT_REQUIRED": "상담원은 필수입니다.",
-      "QUEUE_REQUIRED": "상담그룹은 필수입니다.",
-      "DISPOSITION_REQUIRED": "배치는 필수입니다.",
-      "ACCOUNTSID_REQUIRED": "계정 SID는 필수입니다.",
-      "AUTHTOKEN_REQUIRED": "인증토큰은 필수입니다.",
-      "MOTIONPROXY_REQUIRED": "모션 프록시는 필수입니다.",
-      "MOTIONPROXY_MUST_VALID_URL": "모션 프록시는 유효한 URL이어야 합니다.",
-      "TEXT_MAX_LENGTH": "텍스트 최대 길이",
-      "TEXT_REQUIRED": "텍스트는 필수입니다.",
-      "VALUE_REQUIRED": "값은 필수입니다.",
-      "SENDERSTRING_MAX_LENGTH": "발신자 문자열 최대 길이",
-      "SENDERSTRING_MUST_VALID_PATTERN": "발신자 문자열을 유효한 패턴이어야 합니다.",
-      "METHOD_REQUIRED": "방법은 필수입니다.",
-      "AUTHID_REQUIRED": "인증 ID는 필수입니다.",
-      "COMMAND_REQUIRED": "명령은 필수입니다.",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "상담원 시간초과는 다음과 같거나 커야합니다.",
-      "NAME_MUST_VALID_PATTERN": "이름은 유효한 패턴이어야합니다.",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 작아야합니다.",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "상담원 시간초과는 다음과 같거나 작아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 커야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 작아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "할당된 상담원에 대한 대기는 필수입니다.",
-      "TAG_REQUIRED": "필수 필드",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "APIKEY_REQUIRED": "필수 필드",
-      "BASEURL_REQUIRED": "필수 필드",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드",
-      "ACCESSKEYID_REQUIRED": "액세스 키 ID가 필요합니다",
-      "BOTNAME_REQUIRED": "봇 이름이 필요합니다",
-      "SECRETACCESSKEY_REQUIRED": "액세스 키 비밀이 필요합니다"
+      "AUTHID_REQUIRED": "인증 ID는 필수입니다."
     },
     "AGENT_TIMEOUT": "상담원 시간 초과",
     "DESCRIPTION": "설명",
@@ -73,7 +17,6 @@
     "CREATED_AT": "생성 일시",
     "SAVE": "저장",
     "SMSACCOUNTS": "SMS 계정",
-    "TYPE": "타입",
     "PHONE": "전화",
     "SID": "SID",
     "TOKEN": "토큰",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "SMS 계정 추가",
     "EDIT_SMSACCOUNT": "SMS 계정 수정",
     "DELETE_SMSACCOUNT": "SMS 계정 삭제",
-    "LIST": "목록",
     "FIDELITY": "정확도",
     "API": "API",
     "DISPOSITIONS": "배치",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "전체 팀",
     "SELECTED_TEAMS": "선택된 팀",
     "HELP": {
-      "NAME": "이름",
-      "LIST": "목록",
       "RECEIVEURL": "URL 수신",
-      "MOTIONPROXY": "모션 프록시",
-      "DELIVERYREPORTURL": "레포트 URL 제출",
-      "MANDATORYDISPOSITION": "의무 처분",
-      "MANDATORYDISPOSITIONPAUSEID": "강제 처분이 활성화 된 경우 사용 중지",
-      "WELCOMEMESSAGE": "새로운 상호 작용으로 보낸 첫 번째 응답 메시지입니다."
+      "DELIVERYREPORTURL": "레포트 URL 제출"
     },
     "PAGE": "페이지",
     "ROWSPERPAGE": "페이지별 행 수",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "인증 토큰",
     "PROXY": "프록시",
     "ADVANCED": "고급",
-    "MOTIONPROXY": "모션 프록시",
     "REALTIME": "실시간",
     "UNKNOWN": "알 수 없음",
     "UNREGISTERED": "미등록",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "기본 URL",
     "TEAMS_ASSOCIATION": "팀 협회",
-    "MANDATORYDISPOSITION": "의무 처분",
-    "MANDATORYDISPOSITIONPAUSEID": "강제 처분이 활성화 된 경우 사용 중지",
     "ACCESSKEYID": "액세스 키 ID",
     "AMAZONLEX": "아마존 렉스",
     "BOTNAME": "봇 이름",
@@ -277,7 +210,6 @@
     "LANGUAGE": "언어",
     "LEXREGION": "부위",
     "SECRETACCESSKEY": "액세스 키 비밀",
-    "WELCOMEMESSAGE": "환영 메시지",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "첨부 파일없이 다운로드",
     "DOWNLOAD_WITH_ATTACHMENT": "첨부 파일로 다운로드",
     "LASTMESSAGE": "마지막 메시지"
diff --git a/public/app/main/apps/sms/i18n/lt.json b/public/app/main/apps/sms/i18n/lt.json
index 5a0ce64..4d9a69a 100644
--- a/public/app/main/apps/sms/i18n/lt.json
+++ b/public/app/main/apps/sms/i18n/lt.json
@@ -6,7 +6,6 @@
     "SECRETACCESSKEY": "Access key secret",
     "LEXREGION": "Region",
     "BOTNAME": "Bot name",
-    "WELCOMEMESSAGE": "Welcome message",
     "LOGIN_TIME": "Login time",
     "PAUSE_TIME": "Pause time",
     "DOWNLOAD_INTERACTION": "Download",
@@ -63,73 +62,14 @@
     "CAPACITY": "Capacity",
     "PROXY": "Proxy",
     "ADVANCED": "Advanced",
-    "MOTIONPROXY": "Proxy Or Motion Domain",
     "REALTIME": "Realtime",
     "KEY": "Key",
-    "NAME": "Name",
     "SMSQUEUES": "SMS Queues",
     "SEARCH_FOR_ANYONE": "Search",
     "STRATEGY": "Strategy",
     "BASEURL": "Base URL",
-    "MANDATORYDISPOSITION": "Mandatory disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Access key ID is required",
-      "SECRETACCESSKEY_REQUIRED": "Access key secret is required",
-      "BOTNAME_REQUIRED": "Bot name is required",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "AUTHID_REQUIRED": "Mandatory Field",
-      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "VALUE_REQUIRED": "Mandatory Field",
-      "SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
-      "METHOD_REQUIRED": "Mandatory Field",
-      "MOTIONPROXY_REQUIRED": "Mandatory Field",
-      "MOTIONPROXY_MUST_VALID_URL": "Wrong format",
-      "KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
-      "PHONE_REQUIRED": "Mandatory Field",
-      "SID_REQUIRED": "Mandatory Field",
-      "TOKEN_REQUIRED": "Mandatory Field",
-      "USERNAME_REQUIRED": "Mandatory Field",
-      "PASSWORD_REQUIRED": "Mandatory Field",
-      "MOTIONADDRESS_REQUIRED": "Mandatory Field",
-      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
-      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
-      "REJECTURL_MUST_VALID_URL": "Wrong format",
-      "CLOSEURL_MUST_VALID_URL": "Wrong format",
-      "TYPE_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "ACCOUNTSID_REQUIRED": "Mandatory Field",
-      "AUTHTOKEN_REQUIRED": "Mandatory Field",
-      "BASEURL_REQUIRED": "Mandatory Field",
-      "APIKEY_REQUIRED": "Mandatory Field",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field"
+      "AUTHID_REQUIRED": "Mandatory Field"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Description",
@@ -141,7 +81,6 @@
     "CREATED_AT": "Created At",
     "SAVE": "Save",
     "SMSACCOUNTS": "SMS Accounts",
-    "TYPE": "Type",
     "PHONE": "Phone",
     "SID": "SID",
     "TOKEN": "Token",
@@ -152,7 +91,6 @@
     "ADD_SMSACCOUNT": "Add SMS Account",
     "EDIT_SMSACCOUNT": "Edit SMS Account",
     "DELETE_SMSACCOUNT": "Delete SMS Account",
-    "LIST": "List",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -190,14 +128,8 @@
     "EDIT_DIALOGFLOW": "Edit DialogFlow configuration",
     "LANGUAGE": "Language",
     "HELP": {
-      "WELCOMEMESSAGE": "This is the first response message sent to new interactions",
-      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "LIST": "Contact Manager list used to associate contacts",
       "RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it",
-      "MANDATORYDISPOSITION": "Mandatory disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled"
+      "DELIVERYREPORTURL": "This is the auto-generated API string you need to use to receive the delivery report of sent messages from your SMS provider (POST method must be used): click the clipboard button to copy it"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Rows per page",
diff --git a/public/app/main/apps/sms/i18n/lv.json b/public/app/main/apps/sms/i18n/lv.json
index f77f5a7..41bc770 100644
--- a/public/app/main/apps/sms/i18n/lv.json
+++ b/public/app/main/apps/sms/i18n/lv.json
@@ -1,72 +1,11 @@
 {
   "SMS": {
     "ERRORS": {
-      "TEXT_MAX_LENGTH": "Vērtībai jābūt ar maksimālo garumu {{max}}",
-      "TEXT_REQUIRED": "Obligāts lauks",
-      "VALUE_REQUIRED": "Obligāts lauks",
-      "SENDERSTRING_MAX_LENGTH": "Vērtībai jābūt ar maksimālo garumu {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Nepareizs formāts",
-      "METHOD_REQUIRED": "Obligāts lauks",
-      "MOTIONPROXY_REQUIRED": "Obligāts lauks",
-      "MOTIONPROXY_MUST_VALID_URL": "Nepareizs formāts",
-      "KEY_MAX_LENGTH": "Vērtībai jābūt ar maksimālo garumu {{max}}",
-      "KEY_REQUIRED": "Obligāts lauks",
-      "NAME_REQUIRED": "Obligāts lauks",
-      "AGENT_TIMEOUT_REQUIRED": "Obligāts lauks",
-      "PHONE_REQUIRED": "Obligāts lauks",
-      "SID_REQUIRED": "Obligāts lauks",
-      "TOKEN_REQUIRED": "Obligāts lauks",
-      "USERNAME_REQUIRED": "Obligāts lauks",
-      "PASSWORD_REQUIRED": "Obligāts lauks",
-      "MOTIONADDRESS_REQUIRED": "Obligāts lauks",
-      "MOTIONADDRESS_MUST_VALID_URL": "Nepareizs formāts",
-      "ACCEPTURL_MUST_VALID_URL": "Nepareizs formāts",
-      "TIMEOUT_REQUIRED": "Obligāts lauks",
-      "REJECTURL_MUST_VALID_URL": "Nepareizs formāts",
-      "CLOSEURL_MUST_VALID_URL": "Nepareizs formāts",
-      "TYPE_REQUIRED": "Obligāts lauks",
-      "LIST_REQUIRED": "Obligāts lauks",
-      "PRIORITY_REQUIRED": "Obligāts lauks",
-      "CONDITION_REQUIRED": "Obligāts lauks",
-      "TRUEPRIORITY_REQUIRED": "Obligāts lauks",
-      "FALSEPRIORITY_REQUIRED": "Obligāts lauks",
-      "AGENT_REQUIRED": "Obligāts lauks",
-      "QUEUE_REQUIRED": "Obligāts lauks",
-      "DISPOSITION_REQUIRED": "Obligāts lauks",
-      "ACCOUNTSID_REQUIRED": "Obligāts lauks",
-      "AUTHTOKEN_REQUIRED": "Obligāts lauks",
-      "AUTHID_REQUIRED": "Obligāts lauks",
-      "COMMAND_REQUIRED": "Obligāts lauks",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "NAME_MUST_VALID_PATTERN": "Nepareizs formāts",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligāts lauks",
-      "TAG_REQUIRED": "Obligāts lauks",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "APIKEY_REQUIRED": "Obligāts lauks",
-      "BASEURL_REQUIRED": "Obligāts lauks",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks",
-      "ACCESSKEYID_REQUIRED": "Nepieciešams piekļuves atslēgas ID",
-      "BOTNAME_REQUIRED": "Nepieciešams robotprogrammatūras nosaukums",
-      "SECRETACCESSKEY_REQUIRED": "Nepieciešams piekļuves atslēgas noslēpums"
+      "AUTHID_REQUIRED": "Obligāts lauks"
     },
     "HELP": {
-      "MOTIONPROXY": "Laukam ir jābūt formatētam šādi: <protocol>: //<ipaddress>[:<port>]. Piemērs: https://XYZW",
-      "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)",
-      "LIST": "Kontaktpersonu pārvaldnieku saraksts tiek izmantots, lai saistītu kontaktpersonas",
       "RECEIVEURL": "Šī ir automātiski ģenerētā API virkne, kas ir jāizmanto, lai saņemtu īsziņas jūsu konta ietvaros no īsziņu pakalpojumu sniedzēja (jāizmanto POST metode): noklikšķiniet uz starpliktuves pogas, lai to kopētu",
-      "DELIVERYREPORTURL": "Šī ir automātiski ģenerētā API virkne, kas ir jāizmanto, lai saņemtu īsziņu piegādes ziņojumu no jūsu īsziņu pakalpojumu sniedzēja (jāizmanto POST metode): noklikšķiniet uz starpliktuves pogas, lai to kopētu",
-      "MANDATORYDISPOSITION": "Obligāta rīcība",
-      "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, kad ir iespējota obligātā izvietošana",
-      "WELCOMEMESSAGE": "Šis ir pirmais atbildes ziņojums, kas nosūtīts jaunām mijiedarbībām"
+      "DELIVERYREPORTURL": "Šī ir automātiski ģenerētā API virkne, kas ir jāizmanto, lai saņemtu īsziņu piegādes ziņojumu no jūsu īsziņu pakalpojumu sniedzēja (jāizmanto POST metode): noklikšķiniet uz starpliktuves pogas, lai to kopētu"
     },
     "NO_SMSDISPOSITIONS_AVAILABLE": "Nav pieejams SMS statuss",
     "NO_SMSCANNEDANSWER_AVAILABLE": "Nav pieejamas standarta atbildes",
@@ -102,10 +41,8 @@
     "CAPACITY": "Jauda",
     "PROXY": "Starpnieks",
     "ADVANCED": "Paplašināts",
-    "MOTIONPROXY": "Starpnieka vai Motion domēns",
     "REALTIME": "Monitorings",
     "KEY": "Atslēga",
-    "NAME": "Nosaukums",
     "SMSQUEUES": "SMS rindas",
     "SEARCH_FOR_ANYONE": "Meklēt",
     "STRATEGY": "Stratēģija",
@@ -119,7 +56,6 @@
     "CREATED_AT": "Izveidots",
     "SAVE": "Saglabāt",
     "SMSACCOUNTS": "SMS konti",
-    "TYPE": "Tips",
     "PHONE": "Tālrunis",
     "SID": "Drošības identifikators",
     "TOKEN": "Marķieris",
@@ -130,7 +66,6 @@
     "ADD_SMSACCOUNT": "Pievienot SMS kontu",
     "EDIT_SMSACCOUNT": "Rediģēt SMS kontu",
     "DELETE_SMSACCOUNT": "Dzēst SMS kontu",
-    "LIST": "Saraksts",
     "FIDELITY": "Uzticība",
     "API": "API",
     "DISPOSITIONS": "Statusi",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "Bāzes URL",
     "TEAMS_ASSOCIATION": "Komandu asociācija",
-    "MANDATORYDISPOSITION": "Obligāta rīcība",
-    "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, kad ir iespējota obligātā izvietošana",
     "ACCESSKEYID": "Piekļuves atslēgas ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot vārds",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Valoda",
     "LEXREGION": "Novads",
     "SECRETACCESSKEY": "Piekļuves atslēgas noslēpums",
-    "WELCOMEMESSAGE": "Sveiciena ziņa",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Lejupielādējiet bez pielikuma",
     "DOWNLOAD_WITH_ATTACHMENT": "Lejupielādējiet ar pielikumu",
     "LASTMESSAGE": "Pēdējā ziņa"
diff --git a/public/app/main/apps/sms/i18n/nl.json b/public/app/main/apps/sms/i18n/nl.json
index 43daa60..e8557ea 100644
--- a/public/app/main/apps/sms/i18n/nl.json
+++ b/public/app/main/apps/sms/i18n/nl.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Sleutel",
-    "NAME": "Naam",
     "SMSQUEUES": "SMS-wachtrijen",
     "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
     "STRATEGY": "Strategie",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Sleutel moet een lengte gelijk aan {{max.}}",
-      "KEY_REQUIRED": "Sleutel is vereist",
-      "NAME_REQUIRED": "De naam is verplicht",
-      "AGENT_TIMEOUT_REQUIRED": "De Agent Timeout is vereist",
-      "PHONE_REQUIRED": "Het telefoonnummer is verplicht",
-      "SID_REQUIRED": "De SID is vereist",
-      "TOKEN_REQUIRED": "Het token is vereist",
-      "USERNAME_REQUIRED": "De gebruikersnaam is vereist",
-      "PASSWORD_REQUIRED": "Het wachtwoord is vereist",
-      "MOTIONADDRESS_REQUIRED": "De Motion Adres is vereist.",
-      "MOTIONADDRESS_MUST_VALID_URL": "De Motion adres moet worden geschreven in een geldige indeling",
-      "ACCEPTURL_MUST_VALID_URL": "Accepteer URL moet worden geschreven in een geldige indeling",
-      "TIMEOUT_REQUIRED": "De timeout is vereist",
-      "REJECTURL_MUST_VALID_URL": "De afwijzing URL moet worden geschreven in een geldige indeling",
-      "CLOSEURL_MUST_VALID_URL": "De nauwe URL moet worden geschreven in een geldige indeling",
-      "TYPE_REQUIRED": "Het type is vereist",
-      "LIST_REQUIRED": "De lijst is vereist",
-      "PRIORITY_REQUIRED": "De prioriteit is vereist.",
-      "CONDITION_REQUIRED": "De conditie is vereist",
-      "TRUEPRIORITY_REQUIRED": "De echte prioriteit is vereist.",
-      "FALSEPRIORITY_REQUIRED": "De valse prioriteit is vereist.",
-      "AGENT_REQUIRED": "De Agent is vereist",
-      "QUEUE_REQUIRED": "De wachtrij is vereist",
-      "DISPOSITION_REQUIRED": "De Dispositie is vereist",
-      "ACCOUNTSID_REQUIRED": "Account SID is vereist",
-      "AUTHTOKEN_REQUIRED": "Auth Token is vereist",
-      "MOTIONPROXY_REQUIRED": "Verplicht veld",
-      "MOTIONPROXY_MUST_VALID_URL": "Onjuist formaat",
-      "TEXT_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
-      "TEXT_REQUIRED": "Verplicht veld",
-      "VALUE_REQUIRED": "Verplicht veld",
-      "SENDERSTRING_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Verkeerd formaat",
-      "METHOD_REQUIRED": "Verplicht veld",
-      "AUTHID_REQUIRED": "Verplicht veld",
-      "COMMAND_REQUIRED": "Verplicht veld",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "NAME_MUST_VALID_PATTERN": "Verkeerd formaat",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Verplicht veld",
-      "TAG_REQUIRED": "Verplicht veld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "APIKEY_REQUIRED": "Verplicht veld",
-      "BASEURL_REQUIRED": "Verplicht veld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld",
-      "ACCESSKEYID_REQUIRED": "Toegangssleutel-ID is vereist",
-      "BOTNAME_REQUIRED": "Botnaam is vereist",
-      "SECRETACCESSKEY_REQUIRED": "Toegangssleutel geheim is vereist"
+      "AUTHID_REQUIRED": "Verplicht veld"
     },
     "AGENT_TIMEOUT": "Time-out agent",
     "DESCRIPTION": "Beschrijving",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Gemaakt op",
     "SAVE": "Opslaan",
     "SMSACCOUNTS": "SMS Accounts",
-    "TYPE": "Type",
     "PHONE": "Telefoon",
     "SID": "SID",
     "TOKEN": "Token",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Voeg SMS Account",
     "EDIT_SMSACCOUNT": "Edit SMS Account",
     "DELETE_SMSACCOUNT": "SMS-account",
-    "LIST": "Lijst",
     "FIDELITY": "Hifi-geluid",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Alle teams",
     "SELECTED_TEAMS": "Geselecteerde teams",
     "HELP": {
-      "NAME": "Alleen cijfers, letters en speciale tekens (_) worden ondersteund",
-      "LIST": "Contact Manager lijst gebruikt om contactpersonen koppelen",
       "RECEIVEURL": "Dit is het automatisch gegenereerde API string hebt u de berichten in uw account vanaf uw SMS-provider (POST methode moet worden gebruikt). U kunt op het klembord te kopiëren naar het klembord.",
-      "MOTIONPROXY": "Het veld moet de volgende notatie: <protocol>://<IP-adres>[:<port>]. Voorbeeld: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Dit is de automatisch gegenereerde API-reeks die u moet gebruiken om het bezorgingsrapport van verzonden berichten van uw SMS-provider te ontvangen (POST-methode moet worden gebruikt): klik op de klembordknop om deze te kopiëren",
-      "MANDATORYDISPOSITION": "Verplichte regeling",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauze om te gebruiken wanneer verplichte dispositie is ingeschakeld",
-      "WELCOMEMESSAGE": "Dit is het eerste antwoordbericht dat naar nieuwe interacties wordt gestuurd"
+      "DELIVERYREPORTURL": "Dit is de automatisch gegenereerde API-reeks die u moet gebruiken om het bezorgingsrapport van verzonden berichten van uw SMS-provider te ontvangen (POST-methode moet worden gebruikt): klik op de klembordknop om deze te kopiëren"
     },
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Rijen per pagina",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Auth Token",
     "PROXY": "Proxy",
     "ADVANCED": "Geavanceerd",
-    "MOTIONPROXY": "Proxy of Motion domein",
     "REALTIME": "Realtime",
     "UNKNOWN": "Onbekend",
     "UNREGISTERED": "Unregistered",
@@ -266,8 +201,6 @@
     "APIKEY": "API sleutel",
     "BASEURL": "Basis-URL",
     "TEAMS_ASSOCIATION": "Teams Association",
-    "MANDATORYDISPOSITION": "Verplichte regeling",
-    "MANDATORYDISPOSITIONPAUSEID": "Pauze om te gebruiken wanneer verplichte dispositie is ingeschakeld",
     "ACCESSKEYID": "Toegangssleutel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot naam",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Taal",
     "LEXREGION": "Regio",
     "SECRETACCESSKEY": "Toegangssleutel geheim",
-    "WELCOMEMESSAGE": "Welkoms bericht",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Download zonder bijlage",
     "DOWNLOAD_WITH_ATTACHMENT": "Download met bijlage",
     "LASTMESSAGE": "Laatste bericht"
diff --git a/public/app/main/apps/sms/i18n/no.json b/public/app/main/apps/sms/i18n/no.json
index 61e2a5e..94368f7 100644
--- a/public/app/main/apps/sms/i18n/no.json
+++ b/public/app/main/apps/sms/i18n/no.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Tasten",
-    "NAME": "Navn",
     "SMSQUEUES": "SMS-køer",
     "SEARCH_FOR_ANYONE": "Søk etter alle",
     "STRATEGY": "Strategi",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Tasten må ha en maksimal lengde lik {{max}}",
-      "KEY_REQUIRED": "Nøkkelen er nødvendig",
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten tidsavbrudd er nødvendig",
-      "PHONE_REQUIRED": "Telefonen er nødvendig",
-      "SID_REQUIRED": "SID er nødvendig",
-      "TOKEN_REQUIRED": "Tokenet er nødvendig",
-      "USERNAME_REQUIRED": "Brukernavnet er nødvendig",
-      "PASSWORD_REQUIRED": "Passordet er nødvendig",
-      "MOTIONADDRESS_REQUIRED": "Bevegelsen adresse er påkrevd",
-      "MOTIONADDRESS_MUST_VALID_URL": "Bevegelsen adresse må være skrevet i et gyldig format",
-      "ACCEPTURL_MUST_VALID_URL": "Godta URL må være skrevet i et gyldig format",
-      "TIMEOUT_REQUIRED": "Tidsavbruddet er nødvendig",
-      "REJECTURL_MUST_VALID_URL": "Avvis URL må være skrevet i et gyldig format",
-      "CLOSEURL_MUST_VALID_URL": "Lukk URL må være skrevet i et gyldig format",
-      "TYPE_REQUIRED": "Den typen som er påkrevd",
-      "LIST_REQUIRED": "Listen er nødvendig",
-      "PRIORITY_REQUIRED": "Prioriteten er nødvendig",
-      "CONDITION_REQUIRED": "Tilstanden er nødvendig",
-      "TRUEPRIORITY_REQUIRED": "Den ekte prioritet er nødvendig",
-      "FALSEPRIORITY_REQUIRED": "Den falske prioritet er nødvendig",
-      "AGENT_REQUIRED": "Agenten er nødvendig",
-      "QUEUE_REQUIRED": "Køen er nødvendig",
-      "DISPOSITION_REQUIRED": "Disposisjonen er nødvendig",
-      "ACCOUNTSID_REQUIRED": "Konto SID er nødvendig",
-      "AUTHTOKEN_REQUIRED": "Attest ID-brikke er nødvendig",
-      "MOTIONPROXY_REQUIRED": "Obligatorisk felt",
-      "MOTIONPROXY_MUST_VALID_URL": "Feil format",
-      "TEXT_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
-      "TEXT_REQUIRED": "Obligatoriske felt",
-      "VALUE_REQUIRED": "Obligatoriske felt",
-      "SENDERSTRING_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Feil format",
-      "METHOD_REQUIRED": "Obligatoriske felt",
-      "AUTHID_REQUIRED": "Obligatoriske felt",
-      "COMMAND_REQUIRED": "Obligatoriske felt",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "NAME_MUST_VALID_PATTERN": "Feil format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriske felt",
-      "TAG_REQUIRED": "Obligatoriske felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "APIKEY_REQUIRED": "Obligatoriske felt",
-      "BASEURL_REQUIRED": "Obligatoriske felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt",
-      "ACCESSKEYID_REQUIRED": "Tilgangsnøkkel-ID er påkrevd",
-      "BOTNAME_REQUIRED": "Botnavn kreves",
-      "SECRETACCESSKEY_REQUIRED": "Tilgangsnøkkelhemmelighet er påkrevd"
+      "AUTHID_REQUIRED": "Obligatoriske felt"
     },
     "AGENT_TIMEOUT": "Agent tidsavbrudd",
     "DESCRIPTION": "Beskrivelse",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Opprettet i",
     "SAVE": "Lagre",
     "SMSACCOUNTS": "SMS-kontoer",
-    "TYPE": "Type",
     "PHONE": "Telefon",
     "SID": "SID",
     "TOKEN": "Brikke",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Legg til SMS-konto",
     "EDIT_SMSACCOUNT": "Redigere SMS-konto",
     "DELETE_SMSACCOUNT": "Slett SMS-konto",
-    "LIST": "Liste",
     "FIDELITY": "Fi",
     "API": "API",
     "DISPOSITIONS": "Disposisjoner",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Alle grupper",
     "SELECTED_TEAMS": "Valgte lag",
     "HELP": {
-      "NAME": "Bare tall, bokstaver og bestemte tegn (._) støttes",
-      "LIST": "Kontakt Manager liste som brukes til å knytte kontakter",
       "RECEIVEURL": "Dette er auto-generert API-strengen du trenger for å bruke til å motta meldinger inne din konto fra din SMS-leverandør (POST-metoden må brukes). Du kan trykke på utklippstavlen for å kopiere det på utklippstavlen.",
-      "MOTIONPROXY": "Feltet må ha følgende format: <protokoll>://<ipadresse>[:<port>]. Eksempel: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Dette er den automatisk genererte API-strengen du må bruke for å motta leveringsrapporten for sendte meldinger fra SMS-leverandøren din (POST-metoden må brukes): Klikk på utklippstavlen for å kopiere den",
-      "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause for bruk når obligatorisk disposisjon er aktivert",
-      "WELCOMEMESSAGE": "Dette er den første svarmeldingen som er sendt til nye interaksjoner"
+      "DELIVERYREPORTURL": "Dette er den automatisk genererte API-strengen du må bruke for å motta leveringsrapporten for sendte meldinger fra SMS-leverandøren din (POST-metoden må brukes): Klikk på utklippstavlen for å kopiere den"
     },
     "PAGE": "Siden",
     "ROWSPERPAGE": "Linjer per side",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Attest ID-brikke",
     "PROXY": "Proxy",
     "ADVANCED": "Avansert",
-    "MOTIONPROXY": "Proxy eller Motion domene",
     "REALTIME": "Sanntid",
     "UNKNOWN": "Ukjent",
     "UNREGISTERED": "Uregistrert",
@@ -266,8 +201,6 @@
     "APIKEY": "apikey",
     "BASEURL": "Basisadresse",
     "TEAMS_ASSOCIATION": "Lagforening",
-    "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause for bruk når obligatorisk disposisjon er aktivert",
     "ACCESSKEYID": "Tilgangsnøkkel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot navn",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Språk",
     "LEXREGION": "Region",
     "SECRETACCESSKEY": "Tilgang nøkkelhemmelighet",
-    "WELCOMEMESSAGE": "Velkomstmelding",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Last ned uten vedlegg",
     "DOWNLOAD_WITH_ATTACHMENT": "Last ned med vedlegg",
     "LASTMESSAGE": "Siste melding"
diff --git a/public/app/main/apps/sms/i18n/pl.json b/public/app/main/apps/sms/i18n/pl.json
index c9e0e85..df7d3bd 100644
--- a/public/app/main/apps/sms/i18n/pl.json
+++ b/public/app/main/apps/sms/i18n/pl.json
@@ -2,70 +2,13 @@
   "SMS": {
     "PROXY": "Proxy",
     "ADVANCED": "Zaawansowane",
-    "MOTIONPROXY": "Proxy lub ruchu domeny",
     "REALTIME": "Realtime",
     "KEY": "Klawisz",
-    "NAME": "Nazwa",
     "SMSQUEUES": "SMS kolejek",
     "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
     "STRATEGY": "Strategia",
     "ERRORS": {
-      "MOTIONPROXY_REQUIRED": "Pole obowiązkowe",
-      "MOTIONPROXY_MUST_VALID_URL": "Zły format",
-      "KEY_MAX_LENGTH": "Klucz musi mieć maksymalną długość równa {{max}}",
-      "KEY_REQUIRED": "Wymagany jest klucz",
-      "NAME_REQUIRED": "Nazwisko jest wymagane",
-      "AGENT_TIMEOUT_REQUIRED": "Agent Timeout jest wymagane",
-      "PHONE_REQUIRED": "Telefon jest wymagane",
-      "SID_REQUIRED": "SID jest wymagane",
-      "TOKEN_REQUIRED": "Token jest wymagane",
-      "USERNAME_REQUIRED": "Nazwa użytkownika jest wymagany",
-      "PASSWORD_REQUIRED": "Hasło jest wymagane",
-      "MOTIONADDRESS_REQUIRED": "Ruch wymagany jest adres",
-      "MOTIONADDRESS_MUST_VALID_URL": "Ruch adres musi być napisana w poprawnym formacie",
-      "ACCEPTURL_MUST_VALID_URL": "Akceptuj URL musi być napisana w poprawnym formacie",
-      "TIMEOUT_REQUIRED": "Limit czasu jest wymagane",
-      "REJECTURL_MUST_VALID_URL": "Odrzuć URL musi być napisana w poprawnym formacie",
-      "CLOSEURL_MUST_VALID_URL": "Zamknij URL musi być napisana w poprawnym formacie",
-      "TYPE_REQUIRED": "Typ jest wymagany",
-      "LIST_REQUIRED": "Lista jest wymagane",
-      "PRIORITY_REQUIRED": "Priorytetem jest wymagane",
-      "CONDITION_REQUIRED": "Stan jest wymagany",
-      "TRUEPRIORITY_REQUIRED": "Prawdziwym priorytetem jest wymagane",
-      "FALSEPRIORITY_REQUIRED": "Fałszywe priorytetem jest wymagane",
-      "AGENT_REQUIRED": "Agent jest wymagane",
-      "QUEUE_REQUIRED": "Kolejka jest wymagane",
-      "DISPOSITION_REQUIRED": "Do dyspozycji jest wymagane",
-      "ACCOUNTSID_REQUIRED": "Konto SID jest wymagane",
-      "AUTHTOKEN_REQUIRED": "Auth Token jest wymagane",
-      "TEXT_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
-      "TEXT_REQUIRED": "Pole obowiązkowe",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
-      "SENDERSTRING_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Zły format",
-      "METHOD_REQUIRED": "Pole obowiązkowe",
-      "AUTHID_REQUIRED": "Pole obowiązkowe",
-      "COMMAND_REQUIRED": "Pole obowiązkowe",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "NAME_MUST_VALID_PATTERN": "Zły format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pole obowiązkowe",
-      "TAG_REQUIRED": "Pole obowiązkowe",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "APIKEY_REQUIRED": "Pole obowiązkowe",
-      "BASEURL_REQUIRED": "Pole obowiązkowe",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe",
-      "ACCESSKEYID_REQUIRED": "Wymagany jest identyfikator klucza dostępu",
-      "BOTNAME_REQUIRED": "Nazwa bota jest wymagana",
-      "SECRETACCESSKEY_REQUIRED": "Wymagany jest klucz tajny"
+      "AUTHID_REQUIRED": "Pole obowiązkowe"
     },
     "AGENT_TIMEOUT": "Agent Timeout",
     "DESCRIPTION": "Opis",
@@ -77,7 +20,6 @@
     "CREATED_AT": "Utworzone w",
     "SAVE": "Zapisz",
     "SMSACCOUNTS": "SMS konta",
-    "TYPE": "Typ",
     "PHONE": "Telefon komórkowy",
     "SID": "SID",
     "TOKEN": "Token",
@@ -88,7 +30,6 @@
     "ADD_SMSACCOUNT": "Dodawanie konta SMS",
     "EDIT_SMSACCOUNT": "Edycja konta SMS",
     "DELETE_SMSACCOUNT": "Usuwanie konta SMS",
-    "LIST": "Lista",
     "FIDELITY": "Wierność",
     "API": "API",
     "DISPOSITIONS": "Dyspozycje",
@@ -122,14 +63,8 @@
     "ALL_TEAMS": "Wszystkie zespoły",
     "SELECTED_TEAMS": "Wybrane zespoły",
     "HELP": {
-      "MOTIONPROXY": "Pole musi mieć następujący format: <protokół>://<ipaddress>[:<port>]. Przykład: https://X.Y.Z.W",
-      "NAME": "Tylko cyfry, litery i znaki specjalne (._) są obsługiwane",
-      "LIST": "Contact Manager lista służy do wiązania kontaktów",
       "RECEIVEURL": "Jest to automatycznie wygenerowany ciąg API trzeba użyć aby otrzymywać wiadomości inside twoje konto od twojego dostawcy usługi SMS (POST metody muszą być stosowane). Możesz nacisnąć przycisk do schowka, aby go skopiować do schowka.",
-      "DELIVERYREPORTURL": "Jest to automatycznie wygenerowany ciąg interfejsu API, którego należy użyć do otrzymania raportu doręczenia wysłanych wiadomości od dostawcy wiadomości SMS (należy użyć metody POST): kliknij przycisk schowka, aby go skopiować",
-      "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
-      "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj, aby użyć, gdy włączona jest obowiązkowa dyspozycja",
-      "WELCOMEMESSAGE": "To pierwszy komunikat odpowiedzi wysłany na nowe interakcje"
+      "DELIVERYREPORTURL": "Jest to automatycznie wygenerowany ciąg interfejsu API, którego należy użyć do otrzymania raportu doręczenia wysłanych wiadomości od dostawcy wiadomości SMS (należy użyć metody POST): kliknij przycisk schowka, aby go skopiować"
     },
     "PAGE": "Page",
     "ROWSPERPAGE": "Wierszy na stronie",
@@ -266,8 +201,6 @@
     "APIKEY": "Klucz API",
     "BASEURL": "Podstawowy adres URL",
     "TEAMS_ASSOCIATION": "Stowarzyszenie zespołów",
-    "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
-    "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj, aby użyć, gdy włączona jest obowiązkowa dyspozycja",
     "ACCESSKEYID": "Identyfikator klucza dostępu",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nazwa bota",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Język",
     "LEXREGION": "Region",
     "SECRETACCESSKEY": "Tajny klucz dostępu",
-    "WELCOMEMESSAGE": "Wiadomość powitalna",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Pobierz bez załącznika",
     "DOWNLOAD_WITH_ATTACHMENT": "Pobierz z załącznikiem",
     "LASTMESSAGE": "Ostatnia wiadomość"
diff --git a/public/app/main/apps/sms/i18n/pt-BR.json b/public/app/main/apps/sms/i18n/pt-BR.json
index 198c740..860870f 100644
--- a/public/app/main/apps/sms/i18n/pt-BR.json
+++ b/public/app/main/apps/sms/i18n/pt-BR.json
@@ -56,70 +56,13 @@
     "CAPACITY": "Capacidade",
     "PROXY": "Proxy",
     "ADVANCED": "Avançado",
-    "MOTIONPROXY": "Proxy ou Dominio do Motion",
     "REALTIME": "Tempo Real",
     "KEY": "Key",
-    "NAME": "Nome",
     "SMSQUEUES": "Filas de SMS",
     "SEARCH_FOR_ANYONE": "Procurar",
     "STRATEGY": "Estratégia",
     "ERRORS": {
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "TAG_REQUIRED": "Campo Obrigatório",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
-      "COMMAND_REQUIRED": "Campo Obrigatório",
-      "AUTHID_REQUIRED": "Campo Obrigatório",
-      "TEXT_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "TEXT_REQUIRED": "Campo Obrigatório",
-      "VALUE_REQUIRED": "Campo Obrigatório",
-      "SENDERSTRING_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Formato incorreto",
-      "METHOD_REQUIRED": "Campo Obrigatório",
-      "MOTIONPROXY_REQUIRED": "Campo Obrigatório",
-      "MOTIONPROXY_MUST_VALID_URL": "Formato incorreto",
-      "KEY_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "KEY_REQUIRED": "Campo Obrigatório",
-      "NAME_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_REQUIRED": "Campo Obrigatório",
-      "PHONE_REQUIRED": "Campo Obrigatório",
-      "SID_REQUIRED": "Campo Obrigatório",
-      "TOKEN_REQUIRED": "Campo Obrigatório",
-      "USERNAME_REQUIRED": "Campo Obrigatório",
-      "PASSWORD_REQUIRED": "Campo Obrigatório",
-      "MOTIONADDRESS_REQUIRED": "Campo Obrigatório",
-      "MOTIONADDRESS_MUST_VALID_URL": "Formato incorreto",
-      "ACCEPTURL_MUST_VALID_URL": "Formato incorreto",
-      "TIMEOUT_REQUIRED": "Campo Obrigatório",
-      "REJECTURL_MUST_VALID_URL": "Formato incorreto",
-      "CLOSEURL_MUST_VALID_URL": "Formato incorreto",
-      "TYPE_REQUIRED": "Campo Obrigatório",
-      "LIST_REQUIRED": "Campo Obrigatório",
-      "PRIORITY_REQUIRED": "Campo Obrigatório",
-      "CONDITION_REQUIRED": "Campo Obrigatório",
-      "TRUEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "FALSEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "AGENT_REQUIRED": "Campo Obrigatório",
-      "QUEUE_REQUIRED": "Campo Obrigatório",
-      "DISPOSITION_REQUIRED": "Campo Obrigatório",
-      "ACCOUNTSID_REQUIRED": "Campo Obrigatório",
-      "AUTHTOKEN_REQUIRED": "Campo Obrigatório",
-      "APIKEY_REQUIRED": "Campo Obrigatório",
-      "BASEURL_REQUIRED": "Campo Obrigatório",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
-      "ACCESSKEYID_REQUIRED": "O código da chave de acesso é obrigatório",
-      "BOTNAME_REQUIRED": "O nome do bot é obrigatório",
-      "SECRETACCESSKEY_REQUIRED": "É necessário segredo da chave de acesso"
+      "AUTHID_REQUIRED": "Campo Obrigatório"
     },
     "AGENT_TIMEOUT": "Tempo limite do agente",
     "DESCRIPTION": "Descrição",
@@ -131,7 +74,6 @@
     "CREATED_AT": "Criado em",
     "SAVE": "Salvar",
     "SMSACCOUNTS": "Conta de SMS",
-    "TYPE": "Tipo",
     "PHONE": "Telefone",
     "SID": "SID",
     "TOKEN": "Token",
@@ -142,7 +84,6 @@
     "ADD_SMSACCOUNT": "Adicionar conta SMS",
     "EDIT_SMSACCOUNT": "Editar conta SMS",
     "DELETE_SMSACCOUNT": "Excluir conta SMS",
-    "LIST": "Lista",
     "FIDELITY": "Fidelidade",
     "API": "API",
     "DISPOSITIONS": "Disposições",
@@ -176,14 +117,8 @@
     "ALL_TEAMS": "Todas as equipes",
     "SELECTED_TEAMS": "Equipes Selecionadas",
     "HELP": {
-      "MOTIONPROXY": "O campo deve ter o seguinte formato: <protocol>: // <ipaddress> [: <port>]. Exemplo: https: //X.Y.Z.W",
-      "NAME": "Somente números, letras e caracteres específicos (._) são suportados",
-      "LIST": "Lista do Gerenciador de contatos usada para associar contatos",
       "RECEIVEURL": "Esta é a string da API gerada automaticamente que você precisa usar para receber as mensagens dentro da sua conta do seu provedor de SMS (o método POST deve ser usado): clique no botão da área de transferência para copiá-lo",
-      "DELIVERYREPORTURL": "Essa é a string da API gerada automaticamente que você precisa usar para receber o relatório de entrega das mensagens enviadas do seu provedor de SMS (o método POST deve ser usado): clique no botão da área de transferência para copiá-lo",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar quando a disposição obrigatória estiver ativada",
-      "WELCOMEMESSAGE": "Esta é a primeira mensagem de resposta enviada para novas interações"
+      "DELIVERYREPORTURL": "Essa é a string da API gerada automaticamente que você precisa usar para receber o relatório de entrega das mensagens enviadas do seu provedor de SMS (o método POST deve ser usado): clique no botão da área de transferência para copiá-lo"
     },
     "PAGE": "Página",
     "ROWSPERPAGE": "Linhas por Página",
@@ -266,8 +201,6 @@
     "APIKEY": "Chave API",
     "BASEURL": "URL base",
     "TEAMS_ASSOCIATION": "Associação de equipes",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar quando a disposição obrigatória estiver ativada",
     "ACCESSKEYID": "ID da chave de acesso",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nome do bot",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Língua",
     "LEXREGION": "Região",
     "SECRETACCESSKEY": "Segredo da chave de acesso",
-    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Download sem anexo",
     "DOWNLOAD_WITH_ATTACHMENT": "Download com anexo",
     "LASTMESSAGE": "Última mensagem"
diff --git a/public/app/main/apps/sms/i18n/pt-PT.json b/public/app/main/apps/sms/i18n/pt-PT.json
index a0658e6..c2a0be9 100644
--- a/public/app/main/apps/sms/i18n/pt-PT.json
+++ b/public/app/main/apps/sms/i18n/pt-PT.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Key",
-    "NAME": "Nome",
     "SMSQUEUES": "Filas de SMS",
     "SEARCH_FOR_ANYONE": "Pesquisar todos",
     "STRATEGY": "Estratégia",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "A chave deve ter um comprimento máximo igual ao máximo {{}}",
-      "KEY_REQUIRED": "Chave é necessário",
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "AGENT_TIMEOUT_REQUIRED": "O Tempo Limite do Agente é necessária",
-      "PHONE_REQUIRED": "O telefone é obrigatório",
-      "SID_REQUIRED": "A SID é necessária",
-      "TOKEN_REQUIRED": "O token é necessário",
-      "USERNAME_REQUIRED": "O nome de usuário é obrigatório",
-      "PASSWORD_REQUIRED": "A senha é obrigatória",
-      "MOTIONADDRESS_REQUIRED": "O Movimento de endereço é obrigatório",
-      "MOTIONADDRESS_MUST_VALID_URL": "A proposta Endereço deve ser escrito em um formato válido",
-      "ACCEPTURL_MUST_VALID_URL": "A aceitar a URL deve ser escrito em um formato válido",
-      "TIMEOUT_REQUIRED": "O tempo limite é necessária",
-      "REJECTURL_MUST_VALID_URL": "A rejeitar a URL deve ser escrito em um formato válido",
-      "CLOSEURL_MUST_VALID_URL": "A FECHAR A URL deve ser escrito em um formato válido",
-      "TYPE_REQUIRED": "O tipo é necessário",
-      "LIST_REQUIRED": "A lista é necessário",
-      "PRIORITY_REQUIRED": "A prioridade é necessário",
-      "CONDITION_REQUIRED": "A condição é necessária",
-      "TRUEPRIORITY_REQUIRED": "É necessária a verdadeira prioridade",
-      "FALSEPRIORITY_REQUIRED": "O falso é necessária prioridade",
-      "AGENT_REQUIRED": "O agente é necessário",
-      "QUEUE_REQUIRED": "A fila de espera é necessário",
-      "DISPOSITION_REQUIRED": "A disposição é necessário",
-      "ACCOUNTSID_REQUIRED": "É necessário SID conta",
-      "AUTHTOKEN_REQUIRED": "É necessário o Token de Autenticação",
-      "MOTIONPROXY_REQUIRED": "Campo de preenchimento obrigatório",
-      "MOTIONPROXY_MUST_VALID_URL": "Formato errado",
-      "TEXT_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "TEXT_REQUIRED": "Campo Obrigatório",
-      "VALUE_REQUIRED": "Campo Obrigatório",
-      "SENDERSTRING_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Formato incorreto",
-      "METHOD_REQUIRED": "Campo Obrigatório",
-      "AUTHID_REQUIRED": "Campo Obrigatório",
-      "COMMAND_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
-      "TAG_REQUIRED": "Campo Obrigatório",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "APIKEY_REQUIRED": "Campo Obrigatório",
-      "BASEURL_REQUIRED": "Campo Obrigatório",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
-      "ACCESSKEYID_REQUIRED": "O código da chave de acesso é obrigatório",
-      "BOTNAME_REQUIRED": "O nome do bot é obrigatório",
-      "SECRETACCESSKEY_REQUIRED": "É necessário segredo da chave de acesso"
+      "AUTHID_REQUIRED": "Campo Obrigatório"
     },
     "AGENT_TIMEOUT": "Tempo Limite do Agente",
     "DESCRIPTION": "Descrição",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Criado em",
     "SAVE": "Salvar",
     "SMSACCOUNTS": "As contas do SMS",
-    "TYPE": "Tipo",
     "PHONE": "Telefone",
     "SID": "SID",
     "TOKEN": "Token",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Adicionar conta SMS",
     "EDIT_SMSACCOUNT": "Editar conta SMS",
     "DELETE_SMSACCOUNT": "Excluir conta SMS",
-    "LIST": "Lista",
     "FIDELITY": "Fidelidade",
     "API": "API",
     "DISPOSITIONS": "Disposições",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Todas as equipas",
     "SELECTED_TEAMS": "Equipes selecionadas",
     "HELP": {
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
-      "LIST": "Contact Manager lista usada para associar contatos",
       "RECEIVEURL": "Este é o auto-gerada string API que você precisará usar para receber as mensagens dentro de sua conta do seu fornecedor de SMS (método POST deve ser usado). Você pode pressionar o botão de transferência para copiar na área de transferência.",
-      "MOTIONPROXY": "O campo deve ter o seguinte formato: <> protocolo://<ipaddress>[:<> porta]. Exemplo: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Esta é a string da API gerada automaticamente que você precisa usar para receber o relatório de entrega das mensagens enviadas do seu provedor de SMS (o método POST deve ser usado): clique no botão da área de transferência para copiá-lo",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar quando a disposição obrigatória estiver ativada",
-      "WELCOMEMESSAGE": "Esta é a primeira mensagem de resposta enviada para novas interações"
+      "DELIVERYREPORTURL": "Esta é a string da API gerada automaticamente que você precisa usar para receber o relatório de entrega das mensagens enviadas do seu provedor de SMS (o método POST deve ser usado): clique no botão da área de transferência para copiá-lo"
     },
     "PAGE": "Página",
     "ROWSPERPAGE": "Linhas por página",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Token de Autenticação",
     "PROXY": "O Proxy",
     "ADVANCED": "Advanced",
-    "MOTIONPROXY": "Proxy ou domínio de movimento",
     "REALTIME": "Realtime",
     "UNKNOWN": "Desconhecido",
     "UNREGISTERED": "Unregistered",
@@ -266,8 +201,6 @@
     "APIKEY": "Chave API",
     "BASEURL": "URL base",
     "TEAMS_ASSOCIATION": "Associação de equipes",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar quando a disposição obrigatória estiver ativada",
     "ACCESSKEYID": "ID da chave de acesso",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Nome do bot",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Língua",
     "LEXREGION": "Região",
     "SECRETACCESSKEY": "Segredo da chave de acesso",
-    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Download sem anexo",
     "DOWNLOAD_WITH_ATTACHMENT": "Download com anexo",
     "LASTMESSAGE": "Última mensagem"
diff --git a/public/app/main/apps/sms/i18n/ru.json b/public/app/main/apps/sms/i18n/ru.json
index 37fd0b0..d3af19a 100644
--- a/public/app/main/apps/sms/i18n/ru.json
+++ b/public/app/main/apps/sms/i18n/ru.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Ключ",
-    "NAME": "Имя",
     "SMSQUEUES": "Очереди сообщений SMS",
     "SEARCH_FOR_ANYONE": "Для поиска любого",
     "STRATEGY": "Стратегия",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Ключ должен иметь максимальную длину равную {{max}}",
-      "KEY_REQUIRED": "Ключ",
-      "NAME_REQUIRED": "Это имя требуется",
-      "AGENT_TIMEOUT_REQUIRED": "Оператор - тайм-аут требуется",
-      "PHONE_REQUIRED": "Номер телефона не требуется",
-      "SID_REQUIRED": "Значение SID не требуется",
-      "TOKEN_REQUIRED": "Маркер не требуется",
-      "USERNAME_REQUIRED": "Имя пользователя не требуется",
-      "PASSWORD_REQUIRED": "Пароль не требуется",
-      "MOTIONADDRESS_REQUIRED": "Движение адрес не требуется",
-      "MOTIONADDRESS_MUST_VALID_URL": "Движение адрес должен быть записан в действительный формат",
-      "ACCEPTURL_MUST_VALID_URL": "Принять URL должен быть записан в действительный формат",
-      "TIMEOUT_REQUIRED": "Тайм-аут не требуется",
-      "REJECTURL_MUST_VALID_URL": "Отклонить URL должен быть записан в действительный формат",
-      "CLOSEURL_MUST_VALID_URL": "Закрыть адрес URL должен быть записан в действительный формат",
-      "TYPE_REQUIRED": "Типа не требуется",
-      "LIST_REQUIRED": "Список не требуется",
-      "PRIORITY_REQUIRED": "Приоритет не требуется",
-      "CONDITION_REQUIRED": "Это состояние требует",
-      "TRUEPRIORITY_REQUIRED": "Истинный приоритет не требуется",
-      "FALSEPRIORITY_REQUIRED": "Ложный Приоритет не требуется",
-      "AGENT_REQUIRED": "Агент обязан",
-      "QUEUE_REQUIRED": "Очереди не требуется",
-      "DISPOSITION_REQUIRED": "Распоряжения не требуется",
-      "ACCOUNTSID_REQUIRED": "SID учетной записи не требуется",
-      "AUTHTOKEN_REQUIRED": "Маркер аутентификации не требуется",
-      "MOTIONPROXY_REQUIRED": "Обязательное поле",
-      "MOTIONPROXY_MUST_VALID_URL": "Неверный формат",
-      "TEXT_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}",
-      "TEXT_REQUIRED": "Обязательное поле",
-      "VALUE_REQUIRED": "Обязательное поле",
-      "SENDERSTRING_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Неверный формат",
-      "METHOD_REQUIRED": "Обязательное поле",
-      "AUTHID_REQUIRED": "Обязательное поле",
-      "COMMAND_REQUIRED": "Обязательное поле",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "NAME_MUST_VALID_PATTERN": "Неверный формат",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Обязательное поле",
-      "TAG_REQUIRED": "Обязательное поле",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "APIKEY_REQUIRED": "Обязательное поле",
-      "BASEURL_REQUIRED": "Обязательное поле",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле",
-      "ACCESSKEYID_REQUIRED": "Требуется идентификатор ключа доступа",
-      "BOTNAME_REQUIRED": "Имя бота обязательно",
-      "SECRETACCESSKEY_REQUIRED": "Требуется секретный ключ доступа"
+      "AUTHID_REQUIRED": "Обязательное поле"
     },
     "AGENT_TIMEOUT": "Время ожидания оператора",
     "DESCRIPTION": "Описание",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Созданные в",
     "SAVE": "Сохранить",
     "SMSACCOUNTS": "SMS счетов",
-    "TYPE": "Тип",
     "PHONE": "Номер телефона",
     "SID": "SID",
     "TOKEN": "Маркер",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Добавить учетную запись сервера SMS",
     "EDIT_SMSACCOUNT": "Редактировать учетную запись сервера SMS",
     "DELETE_SMSACCOUNT": "Удалить учетную запись сервера SMS",
-    "LIST": "Список",
     "FIDELITY": "Четкость",
     "API": "API",
     "DISPOSITIONS": "Распоряжения",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Все группы",
     "SELECTED_TEAMS": "Выбранные группы",
     "HELP": {
-      "NAME": "Только цифры, буквы и специальные символы (_) поддерживаются",
-      "LIST": "Contact Manager список используется для связи контакты",
       "RECEIVEURL": "Это автоматически сгенерированное API строки необходимо использовать для получения сообщений внутри вашего счета с SMS-услуг (метод POST должны использоваться). Вы можете нажать кнопку буфер обмена для копирования его в буфер обмена.",
-      "MOTIONPROXY": "Поле должно иметь следующий формат: <protocol>:// <IP_адрес>[<port>]. Пример: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Это автоматически созданная строка API, которую вы должны использовать для получения отчета о доставке отправленных сообщений от вашего провайдера SMS (должен использоваться метод POST): нажмите кнопку буфера обмена, чтобы скопировать его",
-      "MANDATORYDISPOSITION": "Обязательное распоряжение",
-      "MANDATORYDISPOSITIONPAUSEID": "Пауза для использования, когда включена обязательная утилизация",
-      "WELCOMEMESSAGE": "Это первое ответное сообщение, отправленное на новые взаимодействия"
+      "DELIVERYREPORTURL": "Это автоматически созданная строка API, которую вы должны использовать для получения отчета о доставке отправленных сообщений от вашего провайдера SMS (должен использоваться метод POST): нажмите кнопку буфера обмена, чтобы скопировать его"
     },
     "PAGE": "Страница",
     "ROWSPERPAGE": "Строк на странице",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Маркер аутентификации",
     "PROXY": "Прокси-сервер",
     "ADVANCED": "Расширенный",
-    "MOTIONPROXY": "Прокси-сервер или Движение доменных",
     "REALTIME": "В режиме реального времени",
     "UNKNOWN": "Неизвестно",
     "UNREGISTERED": "Незарегистрированный",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "Базовый URL",
     "TEAMS_ASSOCIATION": "Ассоциация команд",
-    "MANDATORYDISPOSITION": "Обязательное распоряжение",
-    "MANDATORYDISPOSITIONPAUSEID": "Пауза для использования, когда включена обязательная утилизация",
     "ACCESSKEYID": "Идентификатор ключа доступа",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Имя бота",
@@ -277,7 +210,6 @@
     "LANGUAGE": "язык",
     "LEXREGION": "Область",
     "SECRETACCESSKEY": "Секрет ключа доступа",
-    "WELCOMEMESSAGE": "Приветствие",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Скачать без вложения",
     "DOWNLOAD_WITH_ATTACHMENT": "Скачать с приложением",
     "LASTMESSAGE": "Последнее сообщение"
diff --git a/public/app/main/apps/sms/i18n/sv.json b/public/app/main/apps/sms/i18n/sv.json
index 7d4c0d8..6267233 100644
--- a/public/app/main/apps/sms/i18n/sv.json
+++ b/public/app/main/apps/sms/i18n/sv.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Nyckel",
-    "NAME": "Namn",
     "SMSQUEUES": "SMS-köer",
     "SEARCH_FOR_ANYONE": "Sökning för någon",
     "STRATEGY": "Strategi",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Nyckeln måste ha en maximal längd lika med {{max}}",
-      "KEY_REQUIRED": "Nyckel krävs",
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout krävs",
-      "PHONE_REQUIRED": "Telefonen är obligatoriskt",
-      "SID_REQUIRED": "Ffa är obligatoriskt",
-      "TOKEN_REQUIRED": "Token är obligatoriskt",
-      "USERNAME_REQUIRED": "Användarnamn krävs",
-      "PASSWORD_REQUIRED": "Lösenord krävs",
-      "MOTIONADDRESS_REQUIRED": "Motion adress krävs",
-      "MOTIONADDRESS_MUST_VALID_URL": "Rörelsen måste vara skrivna på ett giltigt format",
-      "ACCEPTURL_MUST_VALID_URL": "Acceptera URL måste vara skrivna på ett giltigt format",
-      "TIMEOUT_REQUIRED": "Väntetiden är obligatoriskt",
-      "REJECTURL_MUST_VALID_URL": "Avvisa URL måste vara skrivna på ett giltigt format",
-      "CLOSEURL_MUST_VALID_URL": "Stäng URL måste vara skrivna på ett giltigt format",
-      "TYPE_REQUIRED": "Den typen krävs",
-      "LIST_REQUIRED": "Listan krävs",
-      "PRIORITY_REQUIRED": "Den prioritet som krävs",
-      "CONDITION_REQUIRED": "Skicket är obligatoriskt",
-      "TRUEPRIORITY_REQUIRED": "Den verkliga prioriterade krävs",
-      "FALSEPRIORITY_REQUIRED": "Den falska prioritering krävs",
-      "AGENT_REQUIRED": "Agenten är obligatoriskt",
-      "QUEUE_REQUIRED": "Kön är obligatoriskt",
-      "DISPOSITION_REQUIRED": "Dispositionen är obligatoriskt",
-      "ACCOUNTSID_REQUIRED": "Hänsyn SID krävs",
-      "AUTHTOKEN_REQUIRED": "Auth Token krävs",
-      "MOTIONPROXY_REQUIRED": "Obligatoriskt fält",
-      "MOTIONPROXY_MUST_VALID_URL": "Fel format",
-      "TEXT_MAX_LENGTH": "Värdet måste ha en maximal längd som är lika med {{max}}",
-      "TEXT_REQUIRED": "Obligatoriskt fält",
-      "VALUE_REQUIRED": "Obligatoriskt fält",
-      "SENDERSTRING_MAX_LENGTH": "Värdet måste ha en maximal längd som är lika med {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Fel format",
-      "METHOD_REQUIRED": "Obligatoriskt fält",
-      "AUTHID_REQUIRED": "Obligatoriskt fält",
-      "COMMAND_REQUIRED": "Obligatoriskt fält",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "NAME_MUST_VALID_PATTERN": "Fel format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriskt fält",
-      "TAG_REQUIRED": "Obligatoriskt fält",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "APIKEY_REQUIRED": "Obligatoriskt fält",
-      "BASEURL_REQUIRED": "Obligatoriskt fält",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält",
-      "ACCESSKEYID_REQUIRED": "Åtkomstnyckel-ID krävs",
-      "BOTNAME_REQUIRED": "Botnamn krävs",
-      "SECRETACCESSKEY_REQUIRED": "Åtkomstnyckelhemlighet krävs"
+      "AUTHID_REQUIRED": "Obligatoriskt fält"
     },
     "AGENT_TIMEOUT": "Tidsgräns för agent",
     "DESCRIPTION": "Beskrivning",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Skapad",
     "SAVE": "Spara",
     "SMSACCOUNTS": "SMS-konton",
-    "TYPE": "Typ",
     "PHONE": "Telefon",
     "SID": "SID",
     "TOKEN": "Token",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Lägg till SMS-konto",
     "EDIT_SMSACCOUNT": "Redigera SMS-konto",
     "DELETE_SMSACCOUNT": "Ta bort SMS-konto",
-    "LIST": "Lista",
     "FIDELITY": "Fidelity",
     "API": "API",
     "DISPOSITIONS": "Dispositioner",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Alla grupper",
     "SELECTED_TEAMS": "Valda grupper",
     "HELP": {
-      "NAME": "Endast siffror, bokstäver och särskilda tecken (_) stöds",
-      "LIST": "Contact Manager listan används för att knyta kontakter",
       "RECEIVEURL": "Det är auto-genererade API snöre som du behöver använda för att ta emot meddelandena inuti ditt konto från din SMS-leverantör (POST metod måste användas). Du kan trycka på clipboarden för att kopiera det i urklipp.",
-      "MOTIONPROXY": "Fältet måste ha följande format: <protokoll>://<ip>[:<port>]. Exempel: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Det här är den automatiskt genererade API-strängen som du behöver använda för att ta emot leveransrapporten för skickade meddelanden från din SMS-leverantör (POST-metoden måste användas): klicka på urklippsknappen för att kopiera den",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa för användning när obligatorisk disposition är aktiverad",
-      "WELCOMEMESSAGE": "Detta är det första svarmeddelandet som skickas till nya interaktioner"
+      "DELIVERYREPORTURL": "Det här är den automatiskt genererade API-strängen som du behöver använda för att ta emot leveransrapporten för skickade meddelanden från din SMS-leverantör (POST-metoden måste användas): klicka på urklippsknappen för att kopiera den"
     },
     "PAGE": "Sidan",
     "ROWSPERPAGE": "Rader per sida",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Auth token",
     "PROXY": "Proxy",
     "ADVANCED": "Avancerade",
-    "MOTIONPROXY": "Proxy eller Motion domän",
     "REALTIME": "Realtid",
     "UNKNOWN": "Okänd",
     "UNREGISTERED": "Oregistrerade",
@@ -266,8 +201,6 @@
     "APIKEY": "apikey",
     "BASEURL": "Basadress",
     "TEAMS_ASSOCIATION": "Team Association",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa för användning när obligatorisk disposition är aktiverad",
     "ACCESSKEYID": "Åtkomstnyckel-ID",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot namn",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Språk",
     "LEXREGION": "Område",
     "SECRETACCESSKEY": "Åtkomstnyckelhemlighet",
-    "WELCOMEMESSAGE": "Välkomstmeddelande",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Ladda ner utan bilaga",
     "DOWNLOAD_WITH_ATTACHMENT": "Ladda ner med bilaga",
     "LASTMESSAGE": "Senaste meddelandet"
diff --git a/public/app/main/apps/sms/i18n/tr.json b/public/app/main/apps/sms/i18n/tr.json
index 12bd227..6d94f7e 100644
--- a/public/app/main/apps/sms/i18n/tr.json
+++ b/public/app/main/apps/sms/i18n/tr.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "Anahtar",
-    "NAME": "Adı",
     "SMSQUEUES": "SMS Kuyrukları",
     "SEARCH_FOR_ANYONE": "Arama herkesin",
     "STRATEGY": "Strateji",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "Anahtar maksimum uzunluğu eşit {{maks.}}",
-      "KEY_REQUIRED": "Anahtar gerekiyor.",
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "AGENT_TIMEOUT_REQUIRED": "Ajan zaman gerekiyor.",
-      "PHONE_REQUIRED": "Telefon gerekiyor.",
-      "SID_REQUIRED": "SID gerekiyor",
-      "TOKEN_REQUIRED": "Belirteç gerekiyor.",
-      "USERNAME_REQUIRED": "Kullanıcı Adı gerekiyor",
-      "PASSWORD_REQUIRED": "Parola gerekli",
-      "MOTIONADDRESS_REQUIRED": "Hareket adresi gerekli",
-      "MOTIONADDRESS_MUST_VALID_URL": "Hareket adres yazılmış olması gerekir. geçerli bir format",
-      "ACCEPTURL_MUST_VALID_URL": "Kabul URL yazılmış olması gerekir. geçerli bir format",
-      "TIMEOUT_REQUIRED": "Zaman Aşımı gerekiyor.",
-      "REJECTURL_MUST_VALID_URL": "Reddetme URL yazılmış olması gerekir. geçerli bir format",
-      "CLOSEURL_MUST_VALID_URL": "Kapat URL yazılmış olması gerekir. geçerli bir format",
-      "TYPE_REQUIRED": "Tip gerekli",
-      "LIST_REQUIRED": "Liste, gerekli",
-      "PRIORITY_REQUIRED": "Öncelikli olarak gerekli",
-      "CONDITION_REQUIRED": "Bu durumda gerekli",
-      "TRUEPRIORITY_REQUIRED": "Gerçek Öncelik gerekli",
-      "FALSEPRIORITY_REQUIRED": "Yanlış Öncelik gerekli",
-      "AGENT_REQUIRED": "Ajan gerekli",
-      "QUEUE_REQUIRED": "Kuyruk gerekli",
-      "DISPOSITION_REQUIRED": "Eğilim gerekli",
-      "ACCOUNTSID_REQUIRED": "Hesap SID gerekiyor",
-      "AUTHTOKEN_REQUIRED": "Auth Token gerekiyor.",
-      "MOTIONPROXY_REQUIRED": "Zorunlu Alan",
-      "MOTIONPROXY_MUST_VALID_URL": "Yanlış format",
-      "TEXT_MAX_LENGTH": "Değer, {{max}} değerine eşit bir maksimum uzunluğa sahip olmalıdır.",
-      "TEXT_REQUIRED": "Zorunlu alan",
-      "VALUE_REQUIRED": "Zorunlu alan",
-      "SENDERSTRING_MAX_LENGTH": "Değer, {{max}} değerine eşit bir maksimum uzunluğa sahip olmalıdır.",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Yanlış format",
-      "METHOD_REQUIRED": "Zorunlu alan",
-      "AUTHID_REQUIRED": "Zorunlu alan",
-      "COMMAND_REQUIRED": "Zorunlu alan",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "NAME_MUST_VALID_PATTERN": "Yanlış format",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Zorunlu alan",
-      "TAG_REQUIRED": "Zorunlu alan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "APIKEY_REQUIRED": "Zorunlu alan",
-      "BASEURL_REQUIRED": "Zorunlu alan",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan",
-      "ACCESSKEYID_REQUIRED": "Erişim anahtarı kimliği gerekli",
-      "BOTNAME_REQUIRED": "Bot adı gerekli",
-      "SECRETACCESSKEY_REQUIRED": "Erişim anahtarı sırrı gerekli"
+      "AUTHID_REQUIRED": "Zorunlu alan"
     },
     "AGENT_TIMEOUT": "Ajan Zaman Aşımı",
     "DESCRIPTION": "Açıklama",
@@ -73,7 +17,6 @@
     "CREATED_AT": "Oluşturulmuş",
     "SAVE": "Kaydet",
     "SMSACCOUNTS": "SMS Hesapları",
-    "TYPE": "Tipi",
     "PHONE": "Telefon",
     "SID": "SID",
     "TOKEN": "Işaretleyici",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "Add SMS Hesabı",
     "EDIT_SMSACCOUNT": "Edit SMS Hesabı",
     "DELETE_SMSACCOUNT": "SMS Hesabı",
-    "LIST": "Listesi",
     "FIDELITY": "Doğruluğu",
     "API": "API",
     "DISPOSITIONS": "Işlenir",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "Tüm takımlar",
     "SELECTED_TEAMS": "Seçilen Ekipleri",
     "HELP": {
-      "NAME": "Sadece sayılar, harfler ve özel karakterler (._) desteklenir.",
-      "LIST": "Kişi Yöneticisi listesi kullanılan ortak kişiler",
       "RECEIVEURL": "Bu otomatik oluşturulan API string için, mesajları, hesabı SMS sağlayıcı (POST metodu kullanılmalıdır.). , Pano için kopyalama, panoya kopyalar.",
-      "MOTIONPROXY": "Alan için aşağıdaki formatı: <protokol://<ipaddress>[:<port>]. Örneğin: https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "Bu, SMS sağlayıcınızdan gönderilen iletilerin teslim raporunu almak için kullanmanız gereken otomatik olarak oluşturulan API dizesidir (POST yöntemi kullanılmalıdır): kopyalamak için panoya tıklayın",
-      "MANDATORYDISPOSITION": "Zorunlu düzenleme",
-      "MANDATORYDISPOSITIONPAUSEID": "Zorunlu bırakma etkin olduğunda kullanmak için duraklat",
-      "WELCOMEMESSAGE": "Bu, yeni etkileşimlere gönderilen ilk yanıt mesajıdır"
+      "DELIVERYREPORTURL": "Bu, SMS sağlayıcınızdan gönderilen iletilerin teslim raporunu almak için kullanmanız gereken otomatik olarak oluşturulan API dizesidir (POST yöntemi kullanılmalıdır): kopyalamak için panoya tıklayın"
     },
     "PAGE": "Sayfa",
     "ROWSPERPAGE": "Sayfadaki satırları",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "Auth Token",
     "PROXY": "Proxy",
     "ADVANCED": "Gelişmiş",
-    "MOTIONPROXY": "Proxy veya Hareket Alanı",
     "REALTIME": "Gerçek Zamanlı",
     "UNKNOWN": "Bilinmeyen",
     "UNREGISTERED": "Kayıtsız",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "Temel URL",
     "TEAMS_ASSOCIATION": "Takımlar Birliği",
-    "MANDATORYDISPOSITION": "Zorunlu düzenleme",
-    "MANDATORYDISPOSITIONPAUSEID": "Zorunlu bırakma etkin olduğunda kullanmak için duraklat",
     "ACCESSKEYID": "Erişim anahtarı kimliği",
     "AMAZONLEX": "AmazonLex",
     "BOTNAME": "Bot adı",
@@ -277,7 +210,6 @@
     "LANGUAGE": "Dil",
     "LEXREGION": "bölge",
     "SECRETACCESSKEY": "Erişim anahtarı sırrı",
-    "WELCOMEMESSAGE": "Karşılama mesajı",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "Ek olmadan indir",
     "DOWNLOAD_WITH_ATTACHMENT": "Ekli olarak indir",
     "LASTMESSAGE": "Son Mesaj"
diff --git a/public/app/main/apps/sms/i18n/zh-CN.json b/public/app/main/apps/sms/i18n/zh-CN.json
index 0b794b9..4f9eb94 100644
--- a/public/app/main/apps/sms/i18n/zh-CN.json
+++ b/public/app/main/apps/sms/i18n/zh-CN.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "密钥",
-    "NAME": "名称",
     "SMSQUEUES": "短信队列。",
     "SEARCH_FOR_ANYONE": "搜索任何人",
     "STRATEGY": "战略",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "密钥必须有一个最大长度等于最大值{{}}",
-      "KEY_REQUIRED": "密钥是必需的",
-      "NAME_REQUIRED": "该名称是必需的",
-      "AGENT_TIMEOUT_REQUIRED": "代理超时是必需的",
-      "PHONE_REQUIRED": "手机是必需的",
-      "SID_REQUIRED": "SID 是必需的",
-      "TOKEN_REQUIRED": "令牌是必需的",
-      "USERNAME_REQUIRED": "用户名是必需的",
-      "PASSWORD_REQUIRED": "密码是必需的",
-      "MOTIONADDRESS_REQUIRED": "该议案的地址是必填项",
-      "MOTIONADDRESS_MUST_VALID_URL": "该议案的地址必须是书面的格式无效",
-      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必须是书面的格式无效",
-      "TIMEOUT_REQUIRED": "超时是必需的",
-      "REJECTURL_MUST_VALID_URL": "“拒绝” 的 URL 必须是书面的格式无效",
-      "CLOSEURL_MUST_VALID_URL": "关闭 URL 必须是书面的格式无效",
-      "TYPE_REQUIRED": "一类是必需的",
-      "LIST_REQUIRED": "该列表是必需的",
-      "PRIORITY_REQUIRED": "优先级是必需的",
-      "CONDITION_REQUIRED": "但条件是必需的",
-      "TRUEPRIORITY_REQUIRED": "真正的优先级是必需的",
-      "FALSEPRIORITY_REQUIRED": "虚假的优先级是必需的",
-      "AGENT_REQUIRED": "业务代表是必需的",
-      "QUEUE_REQUIRED": "该队列是必需的",
-      "DISPOSITION_REQUIRED": "性情是必需的",
-      "ACCOUNTSID_REQUIRED": "帐户的 SID 是必需的",
-      "AUTHTOKEN_REQUIRED": "验证令牌是必需的",
-      "MOTIONPROXY_REQUIRED": "必填字段",
-      "MOTIONPROXY_MUST_VALID_URL": "错误的格式。",
-      "TEXT_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
-      "TEXT_REQUIRED": "必填项",
-      "VALUE_REQUIRED": "必填项",
-      "SENDERSTRING_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "错误的格式",
-      "METHOD_REQUIRED": "必填项",
-      "AUTHID_REQUIRED": "必填项",
-      "COMMAND_REQUIRED": "必填项",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "NAME_MUST_VALID_PATTERN": "错误的格式",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填项",
-      "TAG_REQUIRED": "必填项",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填项",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填项",
-      "APIKEY_REQUIRED": "必填项",
-      "BASEURL_REQUIRED": "必填项",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项",
-      "ACCESSKEYID_REQUIRED": "必须输入访问密钥ID",
-      "BOTNAME_REQUIRED": "机器人名称为必填项",
-      "SECRETACCESSKEY_REQUIRED": "需要访问密钥机密"
+      "AUTHID_REQUIRED": "必填项"
     },
     "AGENT_TIMEOUT": "代理超时",
     "DESCRIPTION": "描述",
@@ -73,7 +17,6 @@
     "CREATED_AT": "创建在",
     "SAVE": "保存",
     "SMSACCOUNTS": "SMS 帐户。",
-    "TYPE": "类型",
     "PHONE": "电话",
     "SID": "SID。",
     "TOKEN": "令牌",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "添加 SMS 帐户",
     "EDIT_SMSACCOUNT": "编辑短信帐户",
     "DELETE_SMSACCOUNT": "删除 SMS 帐户",
-    "LIST": "列表",
     "FIDELITY": "保真度",
     "API": "API",
     "DISPOSITIONS": "资产处置",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "所有的团队",
     "SELECTED_TEAMS": "选定的组",
     "HELP": {
-      "NAME": "只有数字、字母和特殊字符(_)的支持",
-      "LIST": "联系人管理器用来关联的联系人列表。",
       "RECEIVEURL": "这是一个自动生成的 API 的字符串，你需要使用接收的邮件进入您的帐户，您的短信提供商（开机自检的方法必须使用）。 您可以将剪贴板上的按键，将其复制到您的剪贴板中。",
-      "MOTIONPROXY": "在字段中必须具有以下格式：<协议>： http:// < IP 地址>[： <br 端口）]。 Https://X.Y.Z.W 的示例：",
-      "DELIVERYREPORTURL": "这是自动生成的API字符串，您需要使用它来接收SMS提供商发送的邮件的递送报告（必须使用POST方法）：单击剪贴板按钮以将其复制",
-      "MANDATORYDISPOSITION": "强制性处分",
-      "MANDATORYDISPOSITIONPAUSEID": "启用强制配置时暂停使用",
-      "WELCOMEMESSAGE": "这是发送给新交互的第一个响应消息"
+      "DELIVERYREPORTURL": "这是自动生成的API字符串，您需要使用它来接收SMS提供商发送的邮件的递送报告（必须使用POST方法）：单击剪贴板按钮以将其复制"
     },
     "PAGE": "页面",
     "ROWSPERPAGE": "每页的行数。",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "验证令牌",
     "PROXY": "代理",
     "ADVANCED": "高级",
-    "MOTIONPROXY": "代理或运动的域",
     "REALTIME": "实时",
     "UNKNOWN": "未知",
     "UNREGISTERED": "未注册",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "基本URL",
     "TEAMS_ASSOCIATION": "团队协会",
-    "MANDATORYDISPOSITION": "强制性处分",
-    "MANDATORYDISPOSITIONPAUSEID": "启用强制配置时暂停使用",
     "ACCESSKEYID": "访问密钥ID",
     "AMAZONLEX": "亚马逊Lex",
     "BOTNAME": "机器人名称",
@@ -277,7 +210,6 @@
     "LANGUAGE": "语言",
     "LEXREGION": "区域",
     "SECRETACCESSKEY": "访问密钥机密",
-    "WELCOMEMESSAGE": "欢迎留言",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "不带附件下载",
     "DOWNLOAD_WITH_ATTACHMENT": "附件下载",
     "LASTMESSAGE": "最后留言"
diff --git a/public/app/main/apps/sms/i18n/zh-TW.json b/public/app/main/apps/sms/i18n/zh-TW.json
index 02185ef..335d6fd 100644
--- a/public/app/main/apps/sms/i18n/zh-TW.json
+++ b/public/app/main/apps/sms/i18n/zh-TW.json
@@ -1,67 +1,11 @@
 {
   "SMS": {
     "KEY": "按鍵",
-    "NAME": "名稱",
     "SMSQUEUES": "SMS ( 簡訊 ) 佇列",
     "SEARCH_FOR_ANYONE": "搜尋使用者",
     "STRATEGY": "策略",
     "ERRORS": {
-      "KEY_MAX_LENGTH": "金鑰必須具有最大長度等於 { { 最大 } }",
-      "KEY_REQUIRED": "關鍵是必填項",
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "AGENT_TIMEOUT_REQUIRED": "「值機人員逾時為必填欄位",
-      "PHONE_REQUIRED": "「電話」為必填欄位",
-      "SID_REQUIRED": "SID 為必填欄位",
-      "TOKEN_REQUIRED": "該記號為必填欄位",
-      "USERNAME_REQUIRED": "使用者名稱為必要資訊",
-      "PASSWORD_REQUIRED": "密碼為必填欄位",
-      "MOTIONADDRESS_REQUIRED": "動態地址為必填欄位",
-      "MOTIONADDRESS_MUST_VALID_URL": "動態位址必須以有效的格式",
-      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必須以有效的格式",
-      "TIMEOUT_REQUIRED": "逾時時間為必要資訊",
-      "REJECTURL_MUST_VALID_URL": "拒絕 URL 必須以有效的格式",
-      "CLOSEURL_MUST_VALID_URL": "關閉的 URL 必須以有效的格式",
-      "TYPE_REQUIRED": "這些類型為必填",
-      "LIST_REQUIRED": "該列表是必需的",
-      "PRIORITY_REQUIRED": "優先級",
-      "CONDITION_REQUIRED": "需要的條件",
-      "TRUEPRIORITY_REQUIRED": "真正的重點是必填項",
-      "FALSEPRIORITY_REQUIRED": "這個錯誤的優先順序是必要的",
-      "AGENT_REQUIRED": "「值機員必須",
-      "QUEUE_REQUIRED": "需要的佇列",
-      "DISPOSITION_REQUIRED": "處理要求",
-      "ACCOUNTSID_REQUIRED": "帳戶的 SID 是必填項",
-      "AUTHTOKEN_REQUIRED": "驗證權杖是必填項",
-      "MOTIONPROXY_REQUIRED": "必填欄位",
-      "MOTIONPROXY_MUST_VALID_URL": "錯誤的格式",
-      "TEXT_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
-      "TEXT_REQUIRED": "必填項",
-      "VALUE_REQUIRED": "必填項",
-      "SENDERSTRING_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "錯誤的格式",
-      "METHOD_REQUIRED": "必填項",
-      "AUTHID_REQUIRED": "必填項",
-      "COMMAND_REQUIRED": "必填項",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "NAME_MUST_VALID_PATTERN": "錯誤的格式",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填項",
-      "TAG_REQUIRED": "必填項",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填項",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填項",
-      "APIKEY_REQUIRED": "必填項",
-      "BASEURL_REQUIRED": "必填項",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項",
-      "ACCESSKEYID_REQUIRED": "必須輸入訪問密鑰ID",
-      "BOTNAME_REQUIRED": "機器人名稱為必填項",
-      "SECRETACCESSKEY_REQUIRED": "需要訪問密鑰機密"
+      "AUTHID_REQUIRED": "必填項"
     },
     "AGENT_TIMEOUT": "值機人員等候逾時",
     "DESCRIPTION": "說明",
@@ -73,7 +17,6 @@
     "CREATED_AT": "建立在",
     "SAVE": "儲存",
     "SMSACCOUNTS": "SMS 帳戶",
-    "TYPE": "類型",
     "PHONE": "電話",
     "SID": "SID",
     "TOKEN": "權杖",
@@ -84,7 +27,6 @@
     "ADD_SMSACCOUNT": "新增 SMS 帳戶",
     "EDIT_SMSACCOUNT": "編輯簡訊帳號",
     "DELETE_SMSACCOUNT": "刪除 SMS 帳戶",
-    "LIST": "清單",
     "FIDELITY": "準確性",
     "API": "API",
     "DISPOSITIONS": "Dispositions",
@@ -118,14 +60,8 @@
     "ALL_TEAMS": "所有群組",
     "SELECTED_TEAMS": "選取群組",
     "HELP": {
-      "NAME": "只有數字、字母和特殊字元 ( _ ) 都受到支援",
-      "LIST": "連絡人管理器列表用於關聯的連絡人",
       "RECEIVEURL": "這是自動生成的 API 來接收訊息的字串則需要使用在您的帳戶從您的 SMS 提供者 ( 必須使用 POST 方法 ) 。 您可以按下按鈕以將其複製到您的剪貼簿剪貼簿。",
-      "MOTIONPROXY": "該字段必須具有下列格式 : < > / / < IP 地址 > [ 通訊協定 : : < > 口 ] 。 例如 : https://X.Y.Z.W",
-      "DELIVERYREPORTURL": "這是自動生成的API字符串，您需要使用它來接收SMS提供程序發送的郵件的遞送報告（必須使用POST方法）：單擊剪貼板按鈕以將其複制",
-      "MANDATORYDISPOSITION": "強制性處分",
-      "MANDATORYDISPOSITIONPAUSEID": "啟用強製配置時暫停使用",
-      "WELCOMEMESSAGE": "這是發送給新交互的第一個響應消息"
+      "DELIVERYREPORTURL": "這是自動生成的API字符串，您需要使用它來接收SMS提供程序發送的郵件的遞送報告（必須使用POST方法）：單擊剪貼板按鈕以將其複制"
     },
     "PAGE": "頁面",
     "ROWSPERPAGE": "每頁行數",
@@ -176,7 +112,6 @@
     "AUTHTOKEN": "驗證權杖",
     "PROXY": "代理伺服器",
     "ADVANCED": "高級",
-    "MOTIONPROXY": "代理伺服器或運動的網域",
     "REALTIME": "即時",
     "UNKNOWN": "未知",
     "UNREGISTERED": "未註冊",
@@ -266,8 +201,6 @@
     "APIKEY": "ApiKey",
     "BASEURL": "基本URL",
     "TEAMS_ASSOCIATION": "團隊協會",
-    "MANDATORYDISPOSITION": "強制性處分",
-    "MANDATORYDISPOSITIONPAUSEID": "啟用強製配置時暫停使用",
     "ACCESSKEYID": "訪問密鑰ID",
     "AMAZONLEX": "亞馬遜Lex",
     "BOTNAME": "機器人名稱",
@@ -277,7 +210,6 @@
     "LANGUAGE": "語言",
     "LEXREGION": "區域",
     "SECRETACCESSKEY": "訪問密鑰機密",
-    "WELCOMEMESSAGE": "歡迎留言",
     "DOWNLOAD_WITHOUT_ATTACHMENT": "不帶附件下載",
     "DOWNLOAD_WITH_ATTACHMENT": "附件下載",
     "LASTMESSAGE": "最後留言"
diff --git a/public/app/main/apps/staff/i18n/ar.json b/public/app/main/apps/staff/i18n/ar.json
index df8db5f..a8b19c1 100644
--- a/public/app/main/apps/staff/i18n/ar.json
+++ b/public/app/main/apps/staff/i18n/ar.json
@@ -5,13 +5,7 @@
       "CONFIRM_NOT_MATCH": "كلمات المرور غير متطابقة",
       "DTLSCERTFILE_REQUIRED": "شهادرة ملف بروتوكول حماية نقل البيانات من التنصت_مطلوب",
       "DTLSPRIVATEKEY_REQUIRED": "المفتاح الخاص ببروتوكول حماية نقل البيانات_مطلوب",
-      "EMAIL_REQUIRED": "البريد الإلكتروني_مطلوب",
       "ENCRYPTION": "SRTP (بروتوكول Realtime Protocol) التشفير",
-      "FULLNAME_REQUIRED": "الاسم الكامل مطلوب",
-      "PASSWORD_REQUIRED": "الرقم السري مطلوب",
-      "USERNAME_REQUIRED": "أسم المستخدم مطلوب",
-      "EMAIL_MUST_VALID": "صيغة عنوان بريد اليكتروني صالح",
-      "ACCOUNTNAME_REQUIRED": "اسم الحساب مطلوب",
       "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة تاخير الرد التلقائي أكبر من أو تساوي",
       "AUTOANSWERDELAY_REQUIRED": "تأخر الرد التلقائي_مطلوب",
       "BUSYNUMBER_REQUIRED": "رقم مشغول_مطلوب",
@@ -19,11 +13,9 @@
       "CHATCAPACITY_REQUIRED": "سعة الدردشة_مطلوب",
       "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة سعة الفاكس أكبر من أو تساوي",
       "FAXCAPACITY_REQUIRED": "سعة الفاكس_مطلوب",
-      "HOST_REQUIRED": "الاستضافة_مطلوبة",
       "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة سعة البريد أكبر من أو تساوي",
       "MAILCAPACITY_REQUIRED": "سعة البريد الاستيعابية_مطلوبة",
       "MONITOREXTENSION_REQUIRED": "تحويلة المراقبة_مطلوبة",
-      "NAME_REQUIRED": "الأسم مطلوب",
       "NOREPLYNUMBER_REQUIRED": "رقم عدم الرد مطلوب",
       "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة سعة القناة المفتوحة أكبر من أو تساوي",
       "OPENCHANNELCAPACITY_REQUIRED": "طاقة القنوات المفتوحةالاستيعابية مطلوبة",
@@ -58,7 +50,6 @@
       "SIPPORT": "منفذ خط التلفون",
       "SMSCAPACITY": "الحد الأقصى لعدد تفاعلات القناة المتزامنة لكل وكيل (0 = غير محدود)",
       "TRANSPORT": "قم بتعيين النقل الافتراضي بترتيب التفضيل",
-      "TYPE": "نوع",
       "USERNAME": "اسم المستخدم",
       "SAVE_PERMISSIONS": "سيتم حفظ كل قسم يحتوي على أي تغييرات معلقة",
       "CUSTOM_DASHBOARDS_PERMISSIONS": "تتم إدارة أذونات Dashboards المخصصة في وحدة الأدوات",
@@ -77,7 +68,6 @@
     "A_TO_Z": "(من الألف إلى الياء)",
     "BACK": "الى الخلف",
     "CLOSE_DIALOG": "إغلاق الحوار",
-    "CONTEXT": "سياق الكلام",
     "DELETE": "حذف",
     "DELETE_AGENT": "حذف ممثل الخدمة",
     "DELETE_SELECTED": "احذف المختار",
@@ -93,13 +83,10 @@
     "LAST_PASSWORD_RESET_AT": "آخر كلمة مرور إعادة تعيين في",
     "MORE": "أكثر من",
     "MULTI_SELECT_TOGGLE": "تبديل خيارات متعددة",
-    "NAME": "اسم",
-    "NAME_REQUIRED": "الاسم (مطلوب)",
     "NO_PASSWORD_CHANGE": "لا تغيير كلمة المرور",
     "NO_RESULTS": "لا نتائج",
     "PASSWORD": "كلمه السر",
     "PHONE_NUMBER": "رقم الهاتف",
-    "RINGINUSE": "نغمة مستخدمة",
     "SAVE": "حفظ",
     "SEARCH_FOR_ANYONE": "بحث",
     "SECURITY_SUITE": "جناح الأمن",
@@ -220,7 +207,6 @@
     "TEAMS": "فرق",
     "TELEPHONES": "الهواتف",
     "TRANSPORT": "النقل",
-    "TYPE": "اكتب",
     "UNCONDITIONAL": "غير مشروط",
     "UNCONDITIONALNUMBER": "رقم غير مشروط",
     "VOICE": "صوت",
diff --git a/public/app/main/apps/staff/i18n/cs.json b/public/app/main/apps/staff/i18n/cs.json
index 5805e55..00b4fd4 100644
--- a/public/app/main/apps/staff/i18n/cs.json
+++ b/public/app/main/apps/staff/i18n/cs.json
@@ -13,8 +13,6 @@
     "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "TLS certificate",
     "DTLSPRIVATEKEY": "TLS certificate's private key",
-    "CONTEXT": "Context",
-    "RINGINUSE": "Ring In Use",
     "USERS": "Users",
     "AGENTS": "Agents",
     "TOGGLE_SIDENAV": "Toggle sidenav",
@@ -29,7 +27,6 @@
     "ALL_USERS": "All users",
     "ALL_AGENTS": "All agents",
     "SORT": "sort",
-    "NAME": "Name",
     "FULLNAME": "Full Name",
     "A_TO_Z": "(A to Z)",
     "Z_TO_A": "(Z to A)",
@@ -44,7 +41,6 @@
     "ADD_AGENT": "ADD AGENT",
     "NO_RESULTS": "No results..",
     "CLOSE_DIALOG": "Close dialog",
-    "NAME_REQUIRED": "Name (required)",
     "USERNAME": "Username",
     "SHOW_ALL_FIELDS": "Show All Fields",
     "PHONE_NUMBER": "Phone number",
@@ -55,15 +51,7 @@
       "ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
       "DTLSCERTFILE_REQUIRED": "Mandatory field",
       "DTLSPRIVATEKEY_REQUIRED": "Mandatory field",
-      "FULLNAME_REQUIRED": "Mandatory field",
-      "USERNAME_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "EMAIL_MUST_VALID": "Wrong format",
-      "ACCOUNTNAME_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
       "CHATCAPACITY_REQUIRED": "Mandatory field",
       "MAILCAPACITY_REQUIRED": "Mandatory field",
       "FAXCAPACITY_REQUIRED": "Mandatory field",
@@ -111,7 +99,6 @@
       "NAT": "Changes the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore other settings and set nat=no",
       "SIPEXPIRES": "Default: 160",
       "SIPPORT": "Default: 5060",
-      "TYPE": "Determines the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above",
       "CHATCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "MAILCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "FAXCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
@@ -171,7 +158,6 @@
     "DELETE_TEAM": "Delete Team",
     "AGENTADD_TEAM": "Add Agents to Team",
     "EDIT_TEAM": "Edit Team",
-    "TYPE": "Type",
     "TELEPHONES": "Telephones",
     "CALLERID": "Caller ID",
     "ENABLERECORDING": "Enable Recording",
diff --git a/public/app/main/apps/staff/i18n/da.json b/public/app/main/apps/staff/i18n/da.json
index c64ddc8..98b70a4 100644
--- a/public/app/main/apps/staff/i18n/da.json
+++ b/public/app/main/apps/staff/i18n/da.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Kontekst",
-    "RINGINUSE": "Ringen er i brug",
     "USERS": "Brugere",
     "AGENTS": "Agenter",
     "TOGGLE_SIDENAV": "Skifte sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Alle brugere",
     "ALL_AGENTS": "Alle agenter",
     "SORT": "Sorter",
-    "NAME": "Navnet",
     "FULLNAME": "Fulde navn",
     "A_TO_Z": "(A til Z)",
     "Z_TO_A": "(Z til A).",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Tilføj agent",
     "NO_RESULTS": "Ingen resultater..",
     "CLOSE_DIALOG": "Tæt dialog",
-    "NAME_REQUIRED": "Navn (påkrævet)",
     "USERNAME": "Brugernavn",
     "SHOW_ALL_FIELDS": "Vis alle felter",
     "PHONE_NUMBER": "Telefonnummer",
     "EMAIL": "Email",
     "PASSWORD": "Password",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Det fulde navn er påkrævet",
-      "USERNAME_REQUIRED": "Brugernavn er påkrævet",
-      "EMAIL_REQUIRED": "E-mail er påkrævet",
-      "PASSWORD_REQUIRED": "Adgangskoden kræves",
       "CONFIRM_NOT_MATCH": "Adgangskoderne stemmer ikke overens",
-      "EMAIL_MUST_VALID": "E-mailen skal være skrevet i et gyldigt format",
-      "ACCOUNTNAME_REQUIRED": "Kontonavnet er påkrævet",
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "HOST_REQUIRED": "Værten er påkrævet",
       "CHATCAPACITY_REQUIRED": "Chat-kapacitet er påkrævet",
       "MAILCAPACITY_REQUIRED": "E-Mail-kapacitet er påkrævet",
       "FAXCAPACITY_REQUIRED": "Faxen kapacitet er påkrævet",
@@ -95,7 +83,6 @@
       "NAT": "Ændrer adfærden hos stjerne for klienter bag en firewall.Hvis en kommasepareret muligheder er 'nej', Stjerne vil ignorere alle indstillinger og sæt nat=no.",
       "SIPEXPIRES": "Standard: 160",
       "SIPPORT": "Standard: 5160",
-      "TYPE": "Bestemmer SIP rolle i stjerne. Bruger: bruges til at autentificere indgående - Peer: til udgående opkald - Ven: dækker både beskrivelse af ovenstående.",
       "CHATCAPACITY": "Nul betyder ubegrænset.",
       "MAILCAPACITY": "Nul betyder ubegrænset.",
       "FAXCAPACITY": "Nul betyder ubegrænset.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Slet Team",
     "AGENTADD_TEAM": "Tilføj agenter til Team",
     "EDIT_TEAM": "Rediger Team",
-    "TYPE": "Type",
     "TELEPHONES": "Telefoner",
     "CALLERID": "Nummervisning",
     "ENABLERECORDING": "Aktiverer optagelse",
diff --git a/public/app/main/apps/staff/i18n/de.json b/public/app/main/apps/staff/i18n/de.json
index 8ed8d6d..b1d70b9 100644
--- a/public/app/main/apps/staff/i18n/de.json
+++ b/public/app/main/apps/staff/i18n/de.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Kontext",
-    "RINGINUSE": "Ring im Einsatz",
     "USERS": "Benutzer",
     "AGENTS": "Agenten",
     "TOGGLE_SIDENAV": "Um sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Alle Benutzer",
     "ALL_AGENTS": "Alle Agenten",
     "SORT": "Sortieren",
-    "NAME": "Name",
     "FULLNAME": "Voller Name",
     "A_TO_Z": "(A bis Z)",
     "Z_TO_A": "(Z bis A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "AGENT HINZUFÜGEN",
     "NO_RESULTS": "Keine Ergebnisse.",
     "CLOSE_DIALOG": "Dialog schließen",
-    "NAME_REQUIRED": "Name (erforderlich).",
     "USERNAME": "Benutzername",
     "SHOW_ALL_FIELDS": "Alle Felder anzeigen",
     "PHONE_NUMBER": "Telefonnummer",
     "EMAIL": "E-Mail",
     "PASSWORD": "Passwort",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Der Fullname ist erforderlich",
-      "USERNAME_REQUIRED": "Der Benutzername ist erforderlich",
-      "EMAIL_REQUIRED": "Die E-Mail ist erforderlich",
-      "PASSWORD_REQUIRED": "Das Kennwort ist erforderlich",
       "CONFIRM_NOT_MATCH": "Die Kennwörter stimmen nicht überein.",
-      "EMAIL_MUST_VALID": "Die e-Mail muss in einem gültigen Format",
-      "ACCOUNTNAME_REQUIRED": "Der Account ist erforderlich.",
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "HOST_REQUIRED": "Der Host wird benötigt",
       "CHATCAPACITY_REQUIRED": "Die Kapazität ist erforderlich",
       "MAILCAPACITY_REQUIRED": "Die E-Mail Kapazität erforderlich ist",
       "FAXCAPACITY_REQUIRED": "Die Kapazität ist erforderlich",
@@ -95,7 +83,6 @@
       "NAT": "Ändert das Verhalten von Sternchen für Clients hinter einer Firewall.Wenn der Komma-getrennten Optionen ist \"Nein\", Asterisk ignoriert alle anderen Einstellungen und die nat=No.",
       "SIPEXPIRES": "Standardeinstellung: 160",
       "SIPPORT": "Standardeinstellung: 5160",
-      "TYPE": "Legt das SIP-Rolle innerhalb der Sternchen. User: Wird verwendet, um die Authentifizierung für eingehende - Peer: für ausgehende Anrufe - Freund: Deckt sowohl die Eigenschaften der oben genannten.",
       "CHATCAPACITY": "Null bedeutet unbegrenzt.",
       "MAILCAPACITY": "Null bedeutet unbegrenzt.",
       "FAXCAPACITY": "Null bedeutet unbegrenzt.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Team löschen",
     "AGENTADD_TEAM": "Hinzufügen von Agenten zu einer Gruppe",
     "EDIT_TEAM": "Team bearbeiten.",
-    "TYPE": "Typ",
     "TELEPHONES": "Telefone",
     "CALLERID": "Die Anrufer-ID",
     "ENABLERECORDING": "Aktivieren der Aufzeichnung",
diff --git a/public/app/main/apps/staff/i18n/en.json b/public/app/main/apps/staff/i18n/en.json
index 5485e39..7c724a0 100644
--- a/public/app/main/apps/staff/i18n/en.json
+++ b/public/app/main/apps/staff/i18n/en.json
@@ -5,75 +5,37 @@
     "REGENERATE": "Regenerate",
     "REMOVE": "Remove",
     "APIKEYMANAGER_USER": "API Key Manager",
-    "APIKEY": "API Key",
-    "VIDEOSUPPORT": "Video support",
     "HOTDESK": "Hot desk",
     "ENABLEVIDEOECORDING": "Enable Video Recording",
     "ENABLESCREENRECORDINGBYAGENT": "Enable Screen Recording by Agent",
     "ENABLEAUTOMATICSCREENRECORDING": "Enable Automatic Screen Recording",
     "OLD_PASSWORD": "Old Password",
     "ENABLEJAWSINTEGRATION": "Enable Jaws Integration",
-    "ALIAS": "Alias",
     "NO_PASSWORD_CHANGE": "No Password Change",
-    "SECURITY_SUITE": "Security Suite",
     "LAST_PASSWORD_RESET_AT": "Last Password Reset At",
     "SIP_WEBRTC": "Sip",
     "SETTINGS_WEBRTC": "Settings",
-    "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "TLS certificate",
     "DTLSPRIVATEKEY": "TLS certificate's private key",
-    "CONTEXT": "Context",
-    "RINGINUSE": "Ring In Use",
-    "USERS": "Users",
-    "AGENTS": "Agents",
     "TOGGLE_SIDENAV": "Toggle sidenav",
-    "SEARCH_FOR_ANYONE": "Search",
-    "BACK": "Back",
     "MULTI_SELECT_TOGGLE": "multi select toggle",
-    "SELECT_ALL": "Select all",
-    "SELECT_NONE": "Select None",
-    "SELECTED": "Selected",
-    "DELETE_SELECTED": "Delete selected",
     "EXPORT_SELECTED": "Export selected",
-    "ALL_USERS": "All users",
-    "ALL_AGENTS": "All agents",
-    "SORT": "sort",
-    "NAME": "Name",
-    "FULLNAME": "Full Name",
     "A_TO_Z": "(A to Z)",
     "Z_TO_A": "(Z to A)",
-    "MORE": "More",
     "DELETE_USER": "Delete User",
     "EDIT_USER": "Edit User",
     "DELETE_AGENT": "Delete Agent",
-    "EDIT_AGENT": "Edit Agent",
-    "DELETE": "Delete",
-    "SAVE": "SAVE",
     "ADD_USER": "ADD USER",
     "ADD_AGENT": "ADD AGENT",
     "NO_RESULTS": "No results..",
     "CLOSE_DIALOG": "Close dialog",
-    "NAME_REQUIRED": "Name (required)",
-    "USERNAME": "Username",
-    "SHOW_ALL_FIELDS": "Show All Fields",
     "PHONE_NUMBER": "Phone number",
-    "EMAIL": "Email",
-    "PASSWORD": "Password",
     "ERRORS": {
       "CONFIRM_REQUIRED": "Mandatory field",
       "ALLOWCODECS_REQUIRED": "Mandatory field",
-      "ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
       "DTLSCERTFILE_REQUIRED": "Mandatory field",
       "DTLSPRIVATEKEY_REQUIRED": "Mandatory field",
-      "FULLNAME_REQUIRED": "Mandatory field",
-      "USERNAME_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "EMAIL_MUST_VALID": "Wrong format",
-      "ACCOUNTNAME_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
       "CHATCAPACITY_REQUIRED": "Mandatory field",
       "MAILCAPACITY_REQUIRED": "Mandatory field",
       "FAXCAPACITY_REQUIRED": "Mandatory field",
@@ -99,33 +61,16 @@
       "USERPROFILE_REQUIRED": "Mandatory field",
       "PASSWORD_OLDPASSWORD_MATCH": "New password must be different from previous one"
     },
-    "ACCOUNT": "Account",
-    "VOICE": "Voice",
-    "CREATED_AT": "Created At",
     "ROLE": "Role",
-    "PERSONAL_INFO": "Personal Info",
-    "DESCRIPTION": "Description",
     "CHANGE_AVATAR": "Change Avatar",
-    "GENERAL": "General",
-    "INTERNAL": "Internal",
-    "TRANSPORT": "Transport",
-    "ALLOWCODECS": "Allowed Codecs",
-    "DISABLED": "Deactivated",
     "BLOCKED": "Locked",
     "HELP": {
-      "DISABLED": "select to deactivate / unselect to reactivate",
       "BLOCKED": "Lock / Unlock access",
-      "APIKEY": "Please use 'API key manager' button on toolbar to manage this key",
       "LAST_PASSWORD_RESET_AT": "Last date and time the password has been changed. If Secure Suite General Setting is enabled, the password will expire after 90 days.",
       "DTLSCERTFILE": "Link to the valid TLS certificate(.crt file). Default value: '/etc/pki/tls/certs/motion.crt'.",
       "DTLSPRIVATEKEY": "Link to the certificate's private key(.key file). Default value: '/etc/pki/tls/private/motion.key'.",
-      "ALLOWCODECS": "Allowed Codecs in order of preference",
-      "TRANSPORT": "Set the default transports in order of preference",
-      "HOST": "How to find the client - IP or host name. If you want the phone to register itself, use the keyword dynamic instead of Host IP",
-      "NAT": "Changes the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore other settings and set nat=no",
       "SIPEXPIRES": "Default: 160",
       "SIPPORT": "Default: 5160",
-      "TYPE": "Determines the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above",
       "CHATCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "MAILCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "FAXCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
@@ -134,22 +79,16 @@
       "OPENCHANNELCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "CALLGROUP": "The agent's callgroup",
       "PICKUPGROUP": "The groups in which the agent can answer calls",
-      "USERNAME": "Only numbers, letters and specific characters (._) are supported",
-      "ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
       "SAVE_PERMISSIONS": "Every section containing any pending changes will be saved",
       "CUSTOM_DASHBOARDS_PERMISSIONS": "Custom Dashboards permissions are managed in the Tools module",
       "ENABLEAUTOMATICSCREENRECORDING": "The functionality is available only for voice channel"
     },
     "NEW_PASSWORD": "New Password",
-    "CONFIRM_PASSWORD": "Confirm Password",
     "CHANGE_PASSWORD": "Change Password",
     "CHANGEPASSWORD_AGENT": "Change Password",
     "CHANGEPASSWORD_USER": "Change Password",
     "CHANGEPASSWORD_TELEPHONE": "Change Password",
     "LOGININPAUSE": "Login In Pause",
-    "HOST": "Host",
-    "NAT": "NAT",
-    "CHANSPY": "ChanSpy",
     "OTHER_CHANNELS": "Other Channels",
     "CHATCAPACITY": "Chat Capacity",
     "MAILCAPACITY": "Email Capacity",
@@ -157,8 +96,6 @@
     "SMSCAPACITY": "Sms Capacity",
     "WHATSAPPCAPACITY": "WhatsApp Connector Capacity",
     "OPENCHANNELCAPACITY": "Open Channel Capacity",
-    "MOTIONBAR": "Motion Bar",
-    "SETTINGS": "Settings",
     "AUTOANSWER": "Auto Answer",
     "ENABLESETTINGS": "Enable Settings",
     "CALL_FORWARDING": "Call Forwarding",
@@ -166,7 +103,6 @@
     "UNCONDITIONALNUMBER": "Unconditional Number",
     "NOREPLY": "No Reply",
     "NOREPLYNUMBER": "No Reply Number",
-    "BUSY": "Busy",
     "BUSYNUMBER": "Busy Number",
     "REMOTE_CONTROL": "Remote Control",
     "REMOTECONTROL": "Remote Control",
@@ -174,8 +110,6 @@
     "SIP": "SIP",
     "SIPEXPIRES": "SIP Expires [sec]",
     "SIPPORT": "SIP Port",
-    "PENALTY": "Penalty",
-    "ACCOUNTNAME": "Account Name",
     "ADD_TELEPHONE": "Add Telephone",
     "EDIT_TELEPHONE": "Edit Telephone",
     "DELETE_TELEPHONE": "Delete Telephone",
@@ -183,25 +117,17 @@
     "DELETE_TEAM": "Delete Team",
     "AGENTADD_TEAM": "Add Agents to Team",
     "EDIT_TEAM": "Edit Team",
-    "TYPE": "Type",
-    "TELEPHONES": "Telephones",
-    "CALLERID": "Caller ID",
     "ENABLERECORDING": "Enable Recording",
-    "STAFF": "Staff",
-    "ID": "Id",
     "NEW_USER": "New User",
     "NEW_AGENT": "New Agent",
     "NEW_TELEPHONE": "New Telephone",
     "NEW_TEAM": "New Team",
     "ADD_TEAM": "Add Team",
     "JOIN_QUEUE": "Join Queue",
-    "CAPACITY": "Capacity",
     "AUTOINTERNAL": "Auto generate internal number",
     "ADD_AGENT_TO_TEAM": "Add Agent to Team",
     "TEAMADD_AGENT": "Add Agent to Team",
-    "NO_AVAILABLE_INFO": "No available info",
     "PERMISSIONS": "Permissions",
-    "ADD_AGENT_TO_QUEUE": "Add Agent to Queue",
     "ALL_MODULES_AVAILABLE": "All modules available",
     "CALLGROUP": "Call Group",
     "PICKUPGROUP": "Pickup Group",
@@ -220,9 +146,6 @@
     "QUEUEADD_USER_WHATSAPP_INBOUND": "Add User to WhatsApp Queues",
     "QUEUEADD_USER_OPENCHANNEL_INBOUND": "Add User to Open Channel Queues",
     "QUEUEADD_USER_FAX_INBOUND": "Add User to Fax Queues",
-    "ALL_TEAMS": "All Teams",
-    "SELECTED_TEAMS": "Selected Teams",
-    "SELECTED_AGENTS": "Selected Agents",
     "ALL_QUEUES_VOICE_OUTBOUND": "All Queue Campaigns",
     "SELECTED_QUEUES_VOICE_OUTBOUND": "Selected Queue Campaigns",
     "ALL_QUEUES_VOICE_INBOUND": "All Voice Queues",
@@ -239,23 +162,12 @@
     "SELECTED_QUEUES_OPENCHANNEL_INBOUND": "Selected Open Channel Queues",
     "ALL_QUEUES_FAX_INBOUND": "All Fax Queues",
     "SELECTED_QUEUES_FAX_INBOUND": "Selected Fax Queues",
-    "VOICEMAIL": "Voicemail",
     "SHOWWEBCONTROL": "Typology",
-    "PAGE": "Page",
-    "ROWSPERPAGE": "Rows per page",
-    "OF": "of",
     "CALLFORWARDING": "Call Forwarding",
     "DND": "Do not disturb during pause",
     "UNANSWEREDCALLBADGE": "Show unanswered call badge",
     "ENABLEDTMFTONE": "Enable Dtmf tones",
     "AUTOANSWERDELAY": "Auto Answer Delay [s]",
-    "ENCRYPTION": "Encryption",
-    "CHANNELS": "Channels",
-    "CHAT": "Chat",
-    "SMS": "Sms",
-    "WHATSAPP": "WhatsApp Connector",
-    "OPENCHANNEL": "Open Channel",
-    "FAX": "Fax",
     "QUEUEADD_USER_VOICE_OUTBOUND": "Add User to Queue Campaigns",
     "MONITOREXTENSION": "Record calls to user extension",
     "EDITPERMISSIONS": "Editing Permissions",
@@ -265,8 +177,6 @@
     "GENERAL_PERMISSIONS": "General",
     "ENABLEMESSENGER": "Enable Internal Messenger",
     "OUTBOUNDPROXY": "Oubound Proxy",
-    "PHONE": "Phone",
-    "MOBILE": "Mobile",
     "PREFIXREQUIRED": "Prefix Required",
     "MANAGE_PERMISSIONS": "Manage Permissions",
     "USERADD_VOICEQUEUES": "Add Voice Queue to User",
@@ -323,7 +233,6 @@
     "DELETE_USERPROFILE": "Delete User Profile",
     "CRUDPERMISSIONS": "Permission Type",
     "SECTIONS": "Sections",
-    "MODULES": "Modules",
     "SUMMARY": "Summary",
     "REPORT_TYPE": "Report Type",
     "PERMISSIONS_MANAGE": "Manage",
@@ -349,10 +258,7 @@
       "PERMISSIONS_SAVED_SUCCESS_MESSAGE": "Permissions successfully updated!"
     },
     "CONFIRM": "Confirm",
-    "CANCEL": "Cancel",
-    "CLOSE": "Close",
     "QUEUES_ASSOCIATION": "{{channel}} Queues Association",
-    "TEAMS_ASSOCIATION": "Teams Association",
     "PERMISSIONS_UNAUTHORIZED_REDIRECT_TITLE": "Unauthorized action",
     "PERMISSIONS_UNAUTHORIZED_REDIRECT_MESSAGE": "You are not allowed to access the selected section",
     "PERMISSIONS_UNAUTHORIZED_CREATION_MESSAGE": "You are not allowed to create the resource"
diff --git a/public/app/main/apps/staff/i18n/es.json b/public/app/main/apps/staff/i18n/es.json
index 6f4717d..3b4536a 100644
--- a/public/app/main/apps/staff/i18n/es.json
+++ b/public/app/main/apps/staff/i18n/es.json
@@ -18,7 +18,6 @@
       "SIPPORT": "Por defecto: 5160",
       "SMSCAPACITY": "Número máximo de interacciones de canal simultáneas por agente (0 = ilimitado)",
       "TRANSPORT": "Establezca los transportes predeterminados en orden de preferencia",
-      "TYPE": "Determina el rol de SIP dentro de Asterisk. Usuario: utilizado para autenticar entrantes - Peer: para llamadas salientes - Amigo: cubre ambas características de las anteriores",
       "USERNAME": "Solo se admiten números, letras y caracteres específicos (._)",
       "SAVE_PERMISSIONS": "Se guardarán todas las secciones que contengan cambios pendientes.",
       "CUSTOM_DASHBOARDS_PERMISSIONS": "Los permisos de paneles personalizados se administran en el módulo Herramientas",
@@ -29,7 +28,6 @@
       "WHATSAPPCAPACITY": "Número máximo de interacciones de canal simultáneas por agente (0 = ilimitado)"
     },
     "ERRORS": {
-      "ACCOUNTNAME_REQUIRED": "Campo obligatorio",
       "ALLOWCODECS_REQUIRED": "Campo obligatorio",
       "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "AUTOANSWERDELAY_REQUIRED": "Campo obligatorio",
@@ -39,21 +37,15 @@
       "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden",
       "DTLSCERTFILE_REQUIRED": "Campo obligatorio",
       "DTLSPRIVATEKEY_REQUIRED": "Campo obligatorio",
-      "EMAIL_MUST_VALID": "Formato erróneo",
-      "EMAIL_REQUIRED": "Campo obligatorio",
       "ENCRYPTION": "Cifrado SRTP (protocolo en tiempo real seguro)",
       "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "FAXCAPACITY_REQUIRED": "Campo obligatorio",
-      "FULLNAME_REQUIRED": "Campo obligatorio",
-      "HOST_REQUIRED": "Campo obligatorio",
       "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "MAILCAPACITY_REQUIRED": "Campo obligatorio",
       "MONITOREXTENSION_REQUIRED": "Campo obligatorio",
-      "NAME_REQUIRED": "Campo obligatorio",
       "NOREPLYNUMBER_REQUIRED": "Campo obligatorio",
       "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "OPENCHANNELCAPACITY_REQUIRED": "Campo obligatorio",
-      "PASSWORD_REQUIRED": "Campo obligatorio",
       "REMOTECONTROLPORT_REQUIRED": "Campo obligatorio",
       "SECURE_PASSWORD_PATTERN": "La contraseña debe tener al menos 8 caracteres de longitud y tener 1 carácter en minúscula, 1 carácter en mayúscula, 1 número y 1 carácter especial ~! @",
       "SIPEXPIRES_REQUIRED": "Campo obligatorio",
@@ -61,7 +53,6 @@
       "SMSCAPACITY_REQUIRED": "Campo obligatorio",
       "UNCONDITIONALNUMBER_REQUIRED": "Campo obligatorio",
       "USERNAME_MUST_VALID_PATTERN": "Formato incorrecto {{regex}}",
-      "USERNAME_REQUIRED": "Campo obligatorio",
       "CRUDPERMISSIONS_REQUIRED": "Campo obligatorio",
       "USERPROFILE_REQUIRED": "Campo obligatorio",
       "PASSWORD_OLDPASSWORD_MATCH": "La nueva contraseña debe ser diferente de la anterior.",
@@ -114,7 +105,6 @@
     "CHATCAPACITY": "Capacidad de chat",
     "CLOSE_DIALOG": "Cerrar el diálogo",
     "CONFIRM_PASSWORD": "Confirmar contraseña",
-    "CONTEXT": "Contexto",
     "CREATED_AT": "Creado en",
     "DELETE": "BORRAR",
     "DELETE_AGENT": "Eliminar agente",
@@ -155,8 +145,6 @@
     "MORE": "Más",
     "MOTIONBAR": "Motion Bar",
     "MULTI_SELECT_TOGGLE": "alternar multi selección",
-    "NAME": "Nombre",
-    "NAME_REQUIRED": "Nombre (requerido)",
     "NAT": "NAT",
     "NEW_AGENT": "Nuevo agente",
     "NEW_PASSWORD": "Nueva contraseña",
@@ -200,7 +188,6 @@
     "REMOTECONTROL": "Control remoto",
     "REMOTECONTROLPORT": "Puerto control remoto",
     "REMOTE_CONTROL": "Control remoto",
-    "RINGINUSE": "Sonido en Uso",
     "ROLE": "Rol",
     "ROWSPERPAGE": "Filas por página",
     "SAVE": "GUARDAR",
@@ -235,7 +222,6 @@
     "TELEPHONES": "Teléfonos",
     "TOGGLE_SIDENAV": "Alternar Navegador",
     "TRANSPORT": "Transporte",
-    "TYPE": "Tipo",
     "UNANSWEREDCALLBADGE": "Mostrar distintivo de llamada sin respuesta",
     "UNCONDITIONAL": "Incondicional",
     "UNCONDITIONALNUMBER": "Reenvío Incondicional",
diff --git a/public/app/main/apps/staff/i18n/et.json b/public/app/main/apps/staff/i18n/et.json
index e977430..45299dd 100644
--- a/public/app/main/apps/staff/i18n/et.json
+++ b/public/app/main/apps/staff/i18n/et.json
@@ -13,8 +13,6 @@
     "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "TLS certificate",
     "DTLSPRIVATEKEY": "TLS certificate's private key",
-    "CONTEXT": "Context",
-    "RINGINUSE": "Ring In Use",
     "USERS": "Users",
     "AGENTS": "Agents",
     "TOGGLE_SIDENAV": "Toggle sidenav",
@@ -29,7 +27,6 @@
     "ALL_USERS": "All users",
     "ALL_AGENTS": "All agents",
     "SORT": "sort",
-    "NAME": "Name",
     "FULLNAME": "Full Name",
     "A_TO_Z": "(A to Z)",
     "Z_TO_A": "(Z to A)",
@@ -44,7 +41,6 @@
     "ADD_AGENT": "ADD AGENT",
     "NO_RESULTS": "No results..",
     "CLOSE_DIALOG": "Close dialog",
-    "NAME_REQUIRED": "Name (required)",
     "USERNAME": "Username",
     "SHOW_ALL_FIELDS": "Show All Fields",
     "PHONE_NUMBER": "Phone number",
@@ -55,15 +51,7 @@
       "ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
       "DTLSCERTFILE_REQUIRED": "Mandatory field",
       "DTLSPRIVATEKEY_REQUIRED": "Mandatory field",
-      "FULLNAME_REQUIRED": "Mandatory field",
-      "USERNAME_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "EMAIL_MUST_VALID": "Wrong format",
-      "ACCOUNTNAME_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
       "CHATCAPACITY_REQUIRED": "Mandatory field",
       "MAILCAPACITY_REQUIRED": "Mandatory field",
       "FAXCAPACITY_REQUIRED": "Mandatory field",
@@ -111,7 +99,6 @@
       "NAT": "Changes the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore other settings and set nat=no",
       "SIPEXPIRES": "Default: 160",
       "SIPPORT": "Default: 5060",
-      "TYPE": "Determines the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above",
       "CHATCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "MAILCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "FAXCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
@@ -171,7 +158,6 @@
     "DELETE_TEAM": "Delete Team",
     "AGENTADD_TEAM": "Add Agents to Team",
     "EDIT_TEAM": "Edit Team",
-    "TYPE": "Type",
     "TELEPHONES": "Telephones",
     "CALLERID": "Caller ID",
     "ENABLERECORDING": "Enable Recording",
diff --git a/public/app/main/apps/staff/i18n/fa.json b/public/app/main/apps/staff/i18n/fa.json
index f6c579a..41fa755 100644
--- a/public/app/main/apps/staff/i18n/fa.json
+++ b/public/app/main/apps/staff/i18n/fa.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "متن",
-    "RINGINUSE": "در استفاده از حلقه",
     "USERS": "کاربران",
     "AGENTS": "عوامل",
     "TOGGLE_SIDENAV": "می توانید Sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "همه کاربران",
     "ALL_AGENTS": "همه عوامل",
     "SORT": "این نوع",
-    "NAME": "نام",
     "FULLNAME": "نام کامل",
     "A_TO_Z": "(A تا Z)",
     "Z_TO_A": "(به) Z",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "عامل اضافه کنید",
     "NO_RESULTS": "نتیجه ندارد.",
     "CLOSE_DIALOG": "کادر را ببندید",
-    "NAME_REQUIRED": "نام (مورد نیاز)",
     "USERNAME": "نام کاربری",
     "SHOW_ALL_FIELDS": "نمایش همه زمينه ها",
     "PHONE_NUMBER": "شماره تلفن همراه",
     "EMAIL": "آدرس ایمیل",
     "PASSWORD": "اسم رمز",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "به Fullname لازم است.",
-      "USERNAME_REQUIRED": "نام کاربری مورد نیاز است.",
-      "EMAIL_REQUIRED": "آدرس ایمیل لازم است.",
-      "PASSWORD_REQUIRED": "رمز عبور لازم است.",
       "CONFIRM_NOT_MATCH": "اسم رمزهای اين بازی نمیکنم",
-      "EMAIL_MUST_VALID": "آدرس ایمیل باید با فرمت معتبر نوشته شده است",
-      "ACCOUNTNAME_REQUIRED": "نام اشتراک مورد نیاز است.",
-      "NAME_REQUIRED": "نام لازم است.",
-      "HOST_REQUIRED": "ميزبان لازم است.",
       "CHATCAPACITY_REQUIRED": "گپ از ظرفيت لازم است.",
       "MAILCAPACITY_REQUIRED": "ظرفیت لازم را پیدا کرده است.",
       "FAXCAPACITY_REQUIRED": "از فكس ظرفیت مورد نیاز است.",
@@ -95,7 +83,6 @@
       "NAT": "تغییرات در رفتار Asterisk برای مراجعان در پشت یک دیوار آتش است.اگر یکی از گزینه ها از جمله جدا شده است خیر، Asterisk تنظیمات دیگری را ناديده گرفته خواهد شد و 3-1=تنظیم خیر.",
       "SIPEXPIRES": "فرض: 160",
       "SIPPORT": "فرض: 5160",
-      "TYPE": "نقش تعيين كننده در داخل نوشيدني asterisk است. کاربر تایید اعتبار ورودی استفاده می شود: - برای تماس های خروجی کمبودى: دوست: - هر دو خصوصیات پوشش بالاتر است.",
       "CHATCAPACITY": "صفر به معناى نامحدود است.",
       "MAILCAPACITY": "صفر به معناى نامحدود است.",
       "FAXCAPACITY": "صفر به معناى نامحدود است.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "تيم را حذف کنید",
     "AGENTADD_TEAM": "ماموران را به تيم اضافه کنید",
     "EDIT_TEAM": "تيم ویرایش",
-    "TYPE": "نوع دستگاه",
     "TELEPHONES": "تلفن ها",
     "CALLERID": "شناسه تماس گیرنده",
     "ENABLERECORDING": "فعال کردن ضبط",
diff --git a/public/app/main/apps/staff/i18n/fi.json b/public/app/main/apps/staff/i18n/fi.json
index a3cf291..b89c591 100644
--- a/public/app/main/apps/staff/i18n/fi.json
+++ b/public/app/main/apps/staff/i18n/fi.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Yhteydessä",
-    "RINGINUSE": "Rengas on käytössä",
     "USERS": "Käyttäjät",
     "AGENTS": "Aineet",
     "TOGGLE_SIDENAV": "Vaihtaa sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Kaikki selaimilla yhteyden muodostaneet käyttäjät",
     "ALL_AGENTS": "Kaikki toimijat",
     "SORT": "Lajittelujärjestys",
-    "NAME": "Nimi",
     "FULLNAME": "Täydellinen nimi",
     "A_TO_Z": "(A-Z)",
     "Z_TO_A": "(Z - A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Lisää AGENT",
     "NO_RESULTS": "Ei tuloksia.",
     "CLOSE_DIALOG": "Sulje ikkuna",
-    "NAME_REQUIRED": "Nimi (vaaditaan)",
     "USERNAME": "Käyttäjätunnus",
     "SHOW_ALL_FIELDS": "Näytä kaikki kentät",
     "PHONE_NUMBER": "Puhelinnumero",
     "EMAIL": "Sähköposti",
     "PASSWORD": "Salasana",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Kun Fullname ei tarvita",
-      "USERNAME_REQUIRED": "Käyttäjätunnus on pakollinen",
-      "EMAIL_REQUIRED": "Sähköpostiosoite on pakollinen",
-      "PASSWORD_REQUIRED": "Salasana on pakollinen",
       "CONFIRM_NOT_MATCH": "Jos salasana ei täsmää",
-      "EMAIL_MUST_VALID": "Sähköposti on kirjoitettava kelvollisessa muodossa",
-      "ACCOUNTNAME_REQUIRED": "Tilin nimi on annettava",
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "HOST_REQUIRED": "Isäntä ei tarvita",
       "CHATCAPACITY_REQUIRED": "Chat-suorituskykyä vaaditaan",
       "MAILCAPACITY_REQUIRED": "Postin suorituskykyä vaaditaan",
       "FAXCAPACITY_REQUIRED": "Faksi suorituskykyä vaaditaan",
@@ -95,7 +83,6 @@
       "NAT": "Muuttaa käyttäytymistä tähti asiakkaille palomuurin takana.Jos jokin pilkulla erotettuja valinnat on \"ei\", tähti ohittaa kaikki muut asetukset ja määritä nat=no.",
       "SIPEXPIRES": "Oletus: 160",
       "SIPPORT": "Oletus: 5160",
-      "TYPE": "Määrittää SIP-asema tähdellä. Käyttäjä: varmentamisessa käytettävät saapuneet - Peer: lähtevät puhelut - ystävä: kattaa molemmat ominaisuudet.",
       "CHATCAPACITY": "Nolla tarkoittaa rajaton.",
       "MAILCAPACITY": "Nolla tarkoittaa rajaton.",
       "FAXCAPACITY": "Nolla tarkoittaa rajaton.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Poista tiimi",
     "AGENTADD_TEAM": "Lisää agentteja tiimi",
     "EDIT_TEAM": "Muokkaa-tiimi",
-    "TYPE": "Tyyppi",
     "TELEPHONES": "Puhelimet",
     "CALLERID": "Soittajan tunnus",
     "ENABLERECORDING": "Ota tallennus",
diff --git a/public/app/main/apps/staff/i18n/fr.json b/public/app/main/apps/staff/i18n/fr.json
index 5d85dcf..dc10095 100644
--- a/public/app/main/apps/staff/i18n/fr.json
+++ b/public/app/main/apps/staff/i18n/fr.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Contexte",
-    "RINGINUSE": "L'utilisation de bague",
     "USERS": "Utilisateurs",
     "AGENTS": "Agents",
     "TOGGLE_SIDENAV": "Toggle sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Tous les utilisateurs",
     "ALL_AGENTS": "Tous les agents",
     "SORT": "Trier",
-    "NAME": "Nom",
     "FULLNAME": "Nom et prénom",
     "A_TO_Z": "(A à Z)",
     "Z_TO_A": "(Z à A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Ajouter un agent",
     "NO_RESULTS": "Aucun résultat",
     "CLOSE_DIALOG": "Dialogue de proximité",
-    "NAME_REQUIRED": "Nom requis",
     "USERNAME": "Nom d'utilisateur",
     "SHOW_ALL_FIELDS": "Afficher tous les champs",
     "PHONE_NUMBER": "Numéro de téléphone",
     "EMAIL": "Email",
     "PASSWORD": "Mot de passe",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Nom requis",
-      "USERNAME_REQUIRED": "Nom d'utilisateur requis",
-      "EMAIL_REQUIRED": "Email requis",
-      "PASSWORD_REQUIRED": "Mot de passe requis",
       "CONFIRM_NOT_MATCH": "Les mots de passe ne correspondent pas",
-      "EMAIL_MUST_VALID": "L'e-mail doit avoir un format valide",
-      "ACCOUNTNAME_REQUIRED": "Le nom de compte est requis",
-      "NAME_REQUIRED": "Nom requis",
-      "HOST_REQUIRED": "Host requis",
       "CHATCAPACITY_REQUIRED": "Nombre d'interaction Chat en simultanés requis",
       "MAILCAPACITY_REQUIRED": "Nombre d'intéraction Mail en simultanés requis",
       "FAXCAPACITY_REQUIRED": "Nombre d'intéreaction Fax en simultanés requis",
@@ -95,7 +83,6 @@
       "NAT": "Change le comportement de Asterisk pour les clients derrière un pare-feu.Si l'une des options séparées par des virgules est 'non', l'astérisque permet de ne pas tenir compte des autres paramètres et définissez le nat =no.",
       "SIPEXPIRES": "Par défaut : 160",
       "SIPPORT": "Par défaut : 5160",
-      "TYPE": "Détermine le rôle SIP au sein de Asterisk. Utilisateur : utilisé pour authentifier les - : par les pairs pour les appels sortants - AMI : couvre à la fois les caractéristiques de la ci-dessus.",
       "CHATCAPACITY": "0 signifie illimité.",
       "MAILCAPACITY": "0 signifie illimité.",
       "FAXCAPACITY": "0 signifie illimité.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "supprimer équipe",
     "AGENTADD_TEAM": "Ajouter des agents à l'équipe",
     "EDIT_TEAM": "modifier équipe",
-    "TYPE": "Type",
     "TELEPHONES": "Téléphones",
     "CALLERID": "Identifiant appelant",
     "ENABLERECORDING": "Activer l'enregistrement",
diff --git a/public/app/main/apps/staff/i18n/he.json b/public/app/main/apps/staff/i18n/he.json
index 3f65a9e..a5994ff 100644
--- a/public/app/main/apps/staff/i18n/he.json
+++ b/public/app/main/apps/staff/i18n/he.json
@@ -13,8 +13,6 @@
     "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "אישור TLS",
     "DTLSPRIVATEKEY": "מפתח פרטי של אישור TLS",
-    "CONTEXT": "הקשר",
-    "RINGINUSE": "הצלצול שבשימוש",
     "USERS": "משתמשים",
     "AGENTS": "נציגים",
     "TOGGLE_SIDENAV": "החלף לניווט צדי",
@@ -29,7 +27,6 @@
     "ALL_USERS": "כל המשתמשים",
     "ALL_AGENTS": "כל הנציגים",
     "SORT": "מיון",
-    "NAME": "שם",
     "FULLNAME": "שם מלא",
     "A_TO_Z": "(א עד ת)",
     "Z_TO_A": "(ת עד א)",
@@ -44,7 +41,6 @@
     "ADD_AGENT": "הוסף נציג",
     "NO_RESULTS": "אין תוצאות",
     "CLOSE_DIALOG": "סוג תיבת דו-שיח",
-    "NAME_REQUIRED": "שם (חובה)",
     "USERNAME": "שם משתמש",
     "SHOW_ALL_FIELDS": "הצג את כל השדות",
     "PHONE_NUMBER": "מספר טלפון",
@@ -55,15 +51,7 @@
       "ENCRYPTION": "הצפנת SRTP (פרוטוקול Realtime מאובטח)",
       "DTLSCERTFILE_REQUIRED": "שדה חובה",
       "DTLSPRIVATEKEY_REQUIRED": "שדה חובה",
-      "FULLNAME_REQUIRED": "שדה חובה",
-      "USERNAME_REQUIRED": "שדה חובה",
-      "EMAIL_REQUIRED": "שדה חובה",
-      "PASSWORD_REQUIRED": "שדה חובה",
       "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות",
-      "EMAIL_MUST_VALID": "תבנית שגויה",
-      "ACCOUNTNAME_REQUIRED": "שדה חובה",
-      "NAME_REQUIRED": "שדה חובה",
-      "HOST_REQUIRED": "שדה חובה",
       "CHATCAPACITY_REQUIRED": "שדה חובה",
       "MAILCAPACITY_REQUIRED": "שדה חובה",
       "FAXCAPACITY_REQUIRED": "שדה חובה",
@@ -111,7 +99,6 @@
       "NAT": "משנה את ההתנהגות של Asterisk עבור לקוחות מאחורי חומת אש. אם אחת מהאפשרויות המופרדות בפסיקים היא 'לא', Asterisk יתעלם מכל ההגדרות האחרות ויחיל nat=no.",
       "SIPEXPIRES": "ברירת מחדל: 160",
       "SIPPORT": "ברירת מחדל: 5160",
-      "TYPE": "קובע את תפקיד ה-SIP בעזרת Asterisk. משתמש: לאישור שיחות נכנסות – עמית: לשיחות יוצאות – חבר: כולל מאפיינים של שיחות נכנסות וגם יוצאות.",
       "CHATCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)",
       "MAILCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)",
       "FAXCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)",
@@ -171,7 +158,6 @@
     "DELETE_TEAM": "מחק צוות",
     "AGENTADD_TEAM": "הוסף נציגים לצוות",
     "EDIT_TEAM": "ערוך צוות",
-    "TYPE": "סוג",
     "TELEPHONES": "טלפונים",
     "CALLERID": "מזהה מתקשר",
     "ENABLERECORDING": "אפשר הקלטה",
diff --git a/public/app/main/apps/staff/i18n/hi.json b/public/app/main/apps/staff/i18n/hi.json
index 7973aaa..462953f 100644
--- a/public/app/main/apps/staff/i18n/hi.json
+++ b/public/app/main/apps/staff/i18n/hi.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "संदर्भ",
-    "RINGINUSE": "रिंग प्रयोग में है",
     "USERS": "प्रयोक्ता",
     "AGENTS": "एजेंटों",
     "TOGGLE_SIDENAV": "Sidenav टॉगल करें",
@@ -16,7 +14,6 @@
     "ALL_USERS": "सभी प्रयोक्ताओं",
     "ALL_AGENTS": "सभी एजेंटों",
     "SORT": "सॉर्ट करें",
-    "NAME": "नाम",
     "FULLNAME": "पूरा नाम",
     "A_TO_Z": "(A से Z)",
     "Z_TO_A": "(क) से (जेड",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "एजेंट जोड़ें",
     "NO_RESULTS": "कोई परिणाम नहीं है।",
     "CLOSE_DIALOG": "संवाद बंद करें",
-    "NAME_REQUIRED": "नाम (अपेक्षित)",
     "USERNAME": "उपयोगकर्ता नाम",
     "SHOW_ALL_FIELDS": "सभी क्षेत्रों में दिखाएं",
     "PHONE_NUMBER": "फ़ोन नंबर",
     "EMAIL": "ई-मेल",
     "PASSWORD": "पासवर्ड",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "इस Fullname अपेक्षित है।",
-      "USERNAME_REQUIRED": "उपयोगकर्ता नाम की आवश्यकता है।",
-      "EMAIL_REQUIRED": "ईमेल की आवश्यकता है।",
-      "PASSWORD_REQUIRED": "पासवर्ड की आवश्यकता है।",
       "CONFIRM_NOT_MATCH": "पासवर्ड मेल नहीं",
-      "EMAIL_MUST_VALID": "एक मान्य स्वरूप में लिखा होना ईमेल का",
-      "ACCOUNTNAME_REQUIRED": "खाता नाम की आवश्यकता है।",
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "HOST_REQUIRED": "मेजबान की आवश्यकता है।",
       "CHATCAPACITY_REQUIRED": "चैट क्षमता आवश्यकता है।",
       "MAILCAPACITY_REQUIRED": "मेल की क्षमता की आवश्यकता है।",
       "FAXCAPACITY_REQUIRED": "फ़ैक्स क्षमता आवश्यकता है।",
@@ -95,7 +83,6 @@
       "NAT": "ग्राहकों के लिए तारांकन के व्यवहार को पीछे फ़ायरवॉल.यदि कोई अलग-अल्पविराम की विकल्प है 'नहीं', तारांकन परटिप्प ाी और स ९सी अन्य सेटिंग्स सेट आइप गीतांजलिश्री का तिरोहित=सं.",
       "SIPEXPIRES": "डिफ़ॉल्ट: 160",
       "SIPPORT": "डिफ़ॉल्ट: 5160",
-      "TYPE": "रखावके कमरंद की भूमिका के तारांक लगा। उपयोगकर्ता को प्रमाणित करने के लिए प्रयोग किया :------- मित्र आउटगोइंग कॉल के लिए पीयर इनकमिंग कार्यनिष्पादनके विशेषताओं के ऊपर है।",
       "CHATCAPACITY": "असीमित अर्थ शून्य",
       "MAILCAPACITY": "असीमित अर्थ शून्य",
       "FAXCAPACITY": "असीमित अर्थ शून्य",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "टीम को हटाएं",
     "AGENTADD_TEAM": "टीम के एजेंट जोड़ें",
     "EDIT_TEAM": "टीम को संपादित करें",
-    "TYPE": "प्रकार",
     "TELEPHONES": "टेलीफोन",
     "CALLERID": "कॉलर ID",
     "ENABLERECORDING": "रिकॉर्डिंग को सक्षम करें",
diff --git a/public/app/main/apps/staff/i18n/id.json b/public/app/main/apps/staff/i18n/id.json
index 6a3cc09..ecf4d84 100644
--- a/public/app/main/apps/staff/i18n/id.json
+++ b/public/app/main/apps/staff/i18n/id.json
@@ -1,7 +1,6 @@
 {
   "STAFF": {
     "ERRORS": {
-      "ACCOUNTNAME_REQUIRED": "Bidang wajib",
       "ALLOWCODECS_REQUIRED": "Bidang wajib",
       "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "AUTOANSWERDELAY_REQUIRED": "Bidang wajib",
@@ -11,21 +10,15 @@
       "CONFIRM_NOT_MATCH": "Kata sandi tidak cocok",
       "DTLSCERTFILE_REQUIRED": "Bidang wajib",
       "DTLSPRIVATEKEY_REQUIRED": "Bidang wajib",
-      "EMAIL_MUST_VALID": "Format yang salah",
-      "EMAIL_REQUIRED": "Bidang wajib",
       "ENCRYPTION": "Enkripsi SRTP (Secure Realtime Protocol)",
       "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "FAXCAPACITY_REQUIRED": "Bidang wajib",
-      "FULLNAME_REQUIRED": "Bidang wajib",
-      "HOST_REQUIRED": "Bidang wajib",
       "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "MAILCAPACITY_REQUIRED": "Bidang wajib",
       "MONITOREXTENSION_REQUIRED": "Bidang wajib",
-      "NAME_REQUIRED": "Bidang wajib",
       "NOREPLYNUMBER_REQUIRED": "Bidang wajib",
       "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "OPENCHANNELCAPACITY_REQUIRED": "Bidang wajib",
-      "PASSWORD_REQUIRED": "Bidang wajib",
       "REMOTECONTROLPORT_REQUIRED": "Bidang wajib",
       "SECURE_PASSWORD_PATTERN": "Kata sandi harus setidaknya 8 karakter dan memiliki 1 karakter huruf kecil, 1 karakter huruf besar, 1 angka dan 1 karakter khusus ~! @ # $% ^ & -_ = + [{]}.",
       "SIPEXPIRES_REQUIRED": "Bidang wajib",
@@ -33,7 +26,6 @@
       "SMSCAPACITY_REQUIRED": "Bidang wajib",
       "UNCONDITIONALNUMBER_REQUIRED": "Bidang wajib",
       "USERNAME_MUST_VALID_PATTERN": "Format salah {{regex}}",
-      "USERNAME_REQUIRED": "Bidang wajib",
       "CRUDPERMISSIONS_REQUIRED": "Bidang wajib",
       "USERPROFILE_REQUIRED": "Bidang wajib",
       "PASSWORD_OLDPASSWORD_MATCH": "Kata sandi baru harus berbeda dari yang sebelumnya",
@@ -58,7 +50,6 @@
       "SIPPORT": "Default: 5160",
       "SMSCAPACITY": "Jumlah maksimum interaksi saluran bersamaan per agen (0 = tidak terbatas)",
       "TRANSPORT": "Setel transport default sesuai urutan preferensi",
-      "TYPE": "Menentukan peran SIP dalam tanda bintang. Pengguna: digunakan untuk mengotentikasi yang masuk - Peer: untuk panggilan keluar - Teman: mencakup kedua karakteristik di atas",
       "USERNAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
       "SAVE_PERMISSIONS": "Setiap bagian yang berisi perubahan yang tertunda akan disimpan",
       "CUSTOM_DASHBOARDS_PERMISSIONS": "Izin Dasbor Kustom dikelola dalam modul Alat",
@@ -114,7 +105,6 @@
     "CHATCAPACITY": "Kapasitas Obrolan",
     "CLOSE_DIALOG": "Tutup dialog",
     "CONFIRM_PASSWORD": "konfirmasi sandi",
-    "CONTEXT": "Konteks",
     "CREATED_AT": "Dibuat di",
     "DELETE": "MENGHAPUS",
     "DELETE_AGENT": "Hapus Agen",
@@ -156,8 +146,6 @@
     "MORE": "Lebih",
     "MOTIONBAR": "Gerak Gerak",
     "MULTI_SELECT_TOGGLE": "multi pilih beralih",
-    "NAME": "Nama",
-    "NAME_REQUIRED": "Nama (wajib)",
     "NAT": "NAT",
     "NEW_AGENT": "Agen Baru",
     "NEW_PASSWORD": "kata sandi baru",
@@ -201,7 +189,6 @@
     "REMOTECONTROL": "Kontrol Jarak Jauh",
     "REMOTECONTROLPORT": "Port Kontrol Jarak Jauh",
     "REMOTE_CONTROL": "Kontrol Jarak Jauh",
-    "RINGINUSE": "Ring In Use",
     "ROLE": "Peran",
     "ROWSPERPAGE": "Baris per halaman",
     "SAVE": "MENYIMPAN",
@@ -236,7 +223,6 @@
     "TELEPHONES": "Telepon",
     "TOGGLE_SIDENAV": "Alihkan sidenav",
     "TRANSPORT": "Mengangkut",
-    "TYPE": "Mengetik",
     "UNANSWEREDCALLBADGE": "Tampilkan lencana panggilan tak terjawab",
     "UNCONDITIONAL": "Tak bersyarat",
     "UNCONDITIONALNUMBER": "Nomor Tidak Bersyarat",
diff --git a/public/app/main/apps/staff/i18n/it.json b/public/app/main/apps/staff/i18n/it.json
index 7503962..5ecbab9 100644
--- a/public/app/main/apps/staff/i18n/it.json
+++ b/public/app/main/apps/staff/i18n/it.json
@@ -16,7 +16,6 @@
     "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "Certificato TLS",
     "DTLSPRIVATEKEY": "Chiave privata del certificato TLS",
-    "CONTEXT": "Contesto",
     "USERS": "Utenti",
     "AGENTS": "Agenti",
     "TOGGLE_SIDENAV": "Attiva/Disattiva barra laterale",
@@ -31,7 +30,6 @@
     "ALL_USERS": "Tutti gli Utenti",
     "ALL_AGENTS": "Tutti gli Agenti",
     "SORT": "Ordina",
-    "NAME": "Nome",
     "FULLNAME": "Nome completo",
     "A_TO_Z": "(da A a Z)",
     "Z_TO_A": "(da Z ad A)",
@@ -46,7 +44,6 @@
     "ADD_AGENT": "AGGIUNGI AGENTE",
     "NO_RESULTS": "Nessun risultato..",
     "CLOSE_DIALOG": "Chiudi finestra",
-    "NAME_REQUIRED": "Nome (richiesto)",
     "USERNAME": "Username",
     "SHOW_ALL_FIELDS": "Mostra tutti i campi",
     "PHONE_NUMBER": "Numero di telefono",
@@ -57,15 +54,7 @@
       "ALLOWCODECS_REQUIRED": "Campo obbligatorio",
       "DTLSCERTFILE_REQUIRED": "Campo obbligatorio",
       "DTLSPRIVATEKEY_REQUIRED": "Campo obbligatorio",
-      "FULLNAME_REQUIRED": "Campo obbligatorio",
-      "USERNAME_REQUIRED": "Campo obbligatorio",
-      "EMAIL_REQUIRED": "Campo obbligatorio",
-      "PASSWORD_REQUIRED": "Campo obbligatorio",
       "CONFIRM_NOT_MATCH": "Le password inserite non combaciano",
-      "EMAIL_MUST_VALID": "Il campo deve avere un formato valido",
-      "ACCOUNTNAME_REQUIRED": "Campo obbligatorio",
-      "NAME_REQUIRED": "Campo obbligatorio",
-      "HOST_REQUIRED": "TCampo obbligatorio",
       "CHATCAPACITY_REQUIRED": "Campo obbligatorio",
       "MAILCAPACITY_REQUIRED": "Campo obbligatorio",
       "FAXCAPACITY_REQUIRED": "Campo obbligatorio",
@@ -113,7 +102,6 @@
       "NAT": "Cambia il comportamento di asterisk per i client dietro un firewall. Se almeno una delle opzioni separate da virgola è 'no', Asterisk ignorerà tutte le altre e imposterà nat=no",
       "SIPEXPIRES": "Default: 160",
       "SIPPORT": "Default: 5160",
-      "TYPE": "Determina il ruolo del SIP all'interno di asterisk. User: usato per identificare le chiamate in arrivo - Peer: per le chiamate in uscita - Friend: copre entrambe le caratteristiche di User e Peer",
       "CHATCAPACITY": "Inserire il numero massimo di interazioni concorrenti per il canale (0=illimitato)",
       "MAILCAPACITY": "Inserire il numero massimo di interazioni concorrenti per il canale (0=illimitato)",
       "FAXCAPACITY": "Inserire il numero massimo di interazioni concorrenti per il canale (0=illimitato)",
@@ -173,7 +161,6 @@
     "DELETE_TEAM": "Elimina Team",
     "AGENTADD_TEAM": "Aggiungi Agenti al Team",
     "EDIT_TEAM": "Modifica Team",
-    "TYPE": "Tipo",
     "TELEPHONES": "Telefoni",
     "CALLERID": "ID Chiamante",
     "ENABLERECORDING": "Abilita Registrazione",
@@ -226,7 +213,6 @@
     "SELECTED_QUEUES_FAX_INBOUND": "Code Fax selezionate",
     "SELECTED_QUEUES_OPENCHANNEL_INBOUND": "Selezionare le code Open Channel",
     "VOICEMAIL": "Voicemail",
-    "RINGINUSE": "Squilla quando occupato",
     "SHOWWEBCONTROL": "Tipologia",
     "PAGE": "Pagina",
     "ROWSPERPAGE": "Righe per pagina",
diff --git a/public/app/main/apps/staff/i18n/ja.json b/public/app/main/apps/staff/i18n/ja.json
index 3ee66a8..42aefbb 100644
--- a/public/app/main/apps/staff/i18n/ja.json
+++ b/public/app/main/apps/staff/i18n/ja.json
@@ -1,7 +1,6 @@
 {
   "STAFF": {
     "ERRORS": {
-      "ACCOUNTNAME_REQUIRED": "必須フィールド",
       "ALLOWCODECS_REQUIRED": "必須フィールド",
       "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "AUTOANSWERDELAY_REQUIRED": "必須フィールド",
@@ -11,21 +10,15 @@
       "CONFIRM_NOT_MATCH": "パスワードが一致しません",
       "DTLSCERTFILE_REQUIRED": "必須フィールド",
       "DTLSPRIVATEKEY_REQUIRED": "必須フィールド",
-      "EMAIL_MUST_VALID": "間違ったフォーマット",
-      "EMAIL_REQUIRED": "必須フィールド",
       "ENCRYPTION": "SRTP (Secure Realtime Protocol) 暗号化",
       "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "FAXCAPACITY_REQUIRED": "必須フィールド",
-      "FULLNAME_REQUIRED": "必須フィールド",
-      "HOST_REQUIRED": "必須フィールド",
       "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "MAILCAPACITY_REQUIRED": "必須フィールド",
       "MONITOREXTENSION_REQUIRED": "必須フィールド",
-      "NAME_REQUIRED": "必須フィールド",
       "NOREPLYNUMBER_REQUIRED": "必須フィールド",
       "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "OPENCHANNELCAPACITY_REQUIRED": "必須フィールド",
-      "PASSWORD_REQUIRED": "必須フィールド",
       "REMOTECONTROLPORT_REQUIRED": "必須フィールド",
       "SECURE_PASSWORD_PATTERN": "パスワードは 8 文字以上で、少なくとも 1 つの英大文字、 1 つの英小文字、1 つの数字、および1 つの特殊文字！@＃$％^＆-_ = + [{]} を含む必要があります。",
       "SIPEXPIRES_REQUIRED": "必須フィールド",
@@ -33,7 +26,6 @@
       "SMSCAPACITY_REQUIRED": "必須フィールド",
       "UNCONDITIONALNUMBER_REQUIRED": "必須フィールド",
       "USERNAME_MUST_VALID_PATTERN": "間違ったフォーマット{{regex}}",
-      "USERNAME_REQUIRED": "必須フィールド",
       "CRUDPERMISSIONS_REQUIRED": "必須フィールド",
       "USERPROFILE_REQUIRED": "必須フィールド",
       "PASSWORD_OLDPASSWORD_MATCH": "新しいパスワードは以前のものと異なる必要があります",
@@ -58,7 +50,6 @@
       "SIPPORT": "デフォルト：5160",
       "SMSCAPACITY": "エージェントあたりを同時チャネルインタラクションの最大数（0 =無制限）",
       "TRANSPORT": "優先順位でデフォルト転送を設定します",
-      "TYPE": "アスタリスク内のSIPロールを決定します。User：着信を認証するために使用 - Peer：発信コール用 - Friend：上記の両方の特性を含みます",
       "USERNAME": "数字、文字、および特定の文字（._）のみがサポートされています",
       "SAVE_PERMISSIONS": "保留中の変更を含むすべてのセクションが保存されます",
       "CUSTOM_DASHBOARDS_PERMISSIONS": "カスタムダッシュボードの権限は、ツールモジュールで管理されます",
@@ -114,7 +105,6 @@
     "CHATCAPACITY": "チャットのキャパシティ",
     "CLOSE_DIALOG": "ダイアログを閉じる",
     "CONFIRM_PASSWORD": "パスワードの確認",
-    "CONTEXT": "コンテキスト",
     "CREATED_AT": "作成日時",
     "DELETE": "削除",
     "DELETE_AGENT": "エージェントを削除",
@@ -155,8 +145,6 @@
     "MORE": "もっと",
     "MOTIONBAR": "Motion Bar",
     "MULTI_SELECT_TOGGLE": "複数選択トグル",
-    "NAME": "名前",
-    "NAME_REQUIRED": "名前（必須）",
     "NAT": "NAT",
     "NEW_AGENT": "新規エージェント",
     "NEW_PASSWORD": "新規パスワード",
@@ -200,7 +188,6 @@
     "REMOTECONTROL": "遠隔操作",
     "REMOTECONTROLPORT": "遠隔操作ポート",
     "REMOTE_CONTROL": "遠隔操作",
-    "RINGINUSE": "通話中リング",
     "ROLE": "ロール",
     "ROWSPERPAGE": "ページあたりの行数",
     "SAVE": "保存",
@@ -235,7 +222,6 @@
     "TELEPHONES": "電話番号",
     "TOGGLE_SIDENAV": "sidenavの切り替え",
     "TRANSPORT": "転送",
-    "TYPE": "タイプ",
     "UNANSWEREDCALLBADGE": "未回答のコールバッジを表示します",
     "UNCONDITIONAL": "無条件",
     "UNCONDITIONALNUMBER": "無条件番号",
diff --git a/public/app/main/apps/staff/i18n/ko.json b/public/app/main/apps/staff/i18n/ko.json
index eb2c704..27f4865 100644
--- a/public/app/main/apps/staff/i18n/ko.json
+++ b/public/app/main/apps/staff/i18n/ko.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "내용",
-    "RINGINUSE": "사용중 전화",
     "USERS": "사용자",
     "AGENTS": "상담원",
     "TOGGLE_SIDENAV": "토글 SIDE NAV",
@@ -16,7 +14,6 @@
     "ALL_USERS": "전체 사용자",
     "ALL_AGENTS": "전체 상담원",
     "SORT": "정렬",
-    "NAME": "이름",
     "FULLNAME": "성명",
     "A_TO_Z": "A에서z",
     "Z_TO_A": "z에서A",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "상담원 추가",
     "NO_RESULTS": "결과 없음",
     "CLOSE_DIALOG": "다이얼로그 닫기",
-    "NAME_REQUIRED": "이름은 필수입니다.",
     "USERNAME": "사용자 이름",
     "SHOW_ALL_FIELDS": "모든 필드 보기",
     "PHONE_NUMBER": "전화 번호",
     "EMAIL": "이메일",
     "PASSWORD": "비밀번호",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "성명은 필수입니다.",
-      "USERNAME_REQUIRED": "사용자이름은 필수입니다.",
-      "EMAIL_REQUIRED": "이메일은 필수입니다.",
-      "PASSWORD_REQUIRED": "비밀번호는 필수입니다.",
       "CONFIRM_NOT_MATCH": "일치하지 않습니다.",
-      "EMAIL_MUST_VALID": "이메일은 유효해야합니다.",
-      "ACCOUNTNAME_REQUIRED": "계정 이름은 필수입니다.",
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "HOST_REQUIRED": "호스트는 필수입니다.",
       "CHATCAPACITY_REQUIRED": "채팅 용량은 필수입니다.",
       "MAILCAPACITY_REQUIRED": "이메일 용량은 필수입니다.",
       "FAXCAPACITY_REQUIRED": "팩스 용량은 필수입니다.",
@@ -95,7 +83,6 @@
       "NAT": "NAT",
       "SIPEXPIRES": "SIP 만료",
       "SIPPORT": "SIP 포트",
-      "TYPE": "타입",
       "CHATCAPACITY": "채팅 용량",
       "MAILCAPACITY": "이메일 용량",
       "FAXCAPACITY": "팩스 용량",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "팀 삭제",
     "AGENTADD_TEAM": "팀에 상담원 추가",
     "EDIT_TEAM": "팀 수정",
-    "TYPE": "타입",
     "TELEPHONES": "전화기",
     "CALLERID": "발신자 ID",
     "ENABLERECORDING": "녹취허용",
diff --git a/public/app/main/apps/staff/i18n/lt.json b/public/app/main/apps/staff/i18n/lt.json
index e75fb09..1d5af4d 100644
--- a/public/app/main/apps/staff/i18n/lt.json
+++ b/public/app/main/apps/staff/i18n/lt.json
@@ -22,8 +22,6 @@
     "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "TLS certificate",
     "DTLSPRIVATEKEY": "TLS certificate's private key",
-    "CONTEXT": "Context",
-    "RINGINUSE": "Ring In Use",
     "USERS": "Users",
     "AGENTS": "Agents",
     "TOGGLE_SIDENAV": "Toggle sidenav",
@@ -38,7 +36,6 @@
     "ALL_USERS": "All users",
     "ALL_AGENTS": "All agents",
     "SORT": "sort",
-    "NAME": "Name",
     "FULLNAME": "Full Name",
     "A_TO_Z": "(A to Z)",
     "Z_TO_A": "(Z to A)",
@@ -53,7 +50,6 @@
     "ADD_AGENT": "ADD AGENT",
     "NO_RESULTS": "No results..",
     "CLOSE_DIALOG": "Close dialog",
-    "NAME_REQUIRED": "Name (required)",
     "USERNAME": "Username",
     "SHOW_ALL_FIELDS": "Show All Fields",
     "PHONE_NUMBER": "Phone number",
@@ -65,15 +61,7 @@
       "ENCRYPTION": "SRTP (Secure Realtime Protocol) Encryption",
       "DTLSCERTFILE_REQUIRED": "Mandatory field",
       "DTLSPRIVATEKEY_REQUIRED": "Mandatory field",
-      "FULLNAME_REQUIRED": "Mandatory field",
-      "USERNAME_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "EMAIL_MUST_VALID": "Wrong format",
-      "ACCOUNTNAME_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
       "CHATCAPACITY_REQUIRED": "Mandatory field",
       "MAILCAPACITY_REQUIRED": "Mandatory field",
       "FAXCAPACITY_REQUIRED": "Mandatory field",
@@ -125,7 +113,6 @@
       "NAT": "Changes the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore other settings and set nat=no",
       "SIPEXPIRES": "Default: 160",
       "SIPPORT": "Default: 5160",
-      "TYPE": "Determines the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above",
       "CHATCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "MAILCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
       "FAXCAPACITY": "Maximum number of concurrent channel interactions per agent (0=unlimited)",
@@ -182,7 +169,6 @@
     "DELETE_TEAM": "Delete Team",
     "AGENTADD_TEAM": "Add Agents to Team",
     "EDIT_TEAM": "Edit Team",
-    "TYPE": "Type",
     "TELEPHONES": "Telephones",
     "CALLERID": "Caller ID",
     "ENABLERECORDING": "Enable Recording",
diff --git a/public/app/main/apps/staff/i18n/lv.json b/public/app/main/apps/staff/i18n/lv.json
index 92f1228..354e804 100644
--- a/public/app/main/apps/staff/i18n/lv.json
+++ b/public/app/main/apps/staff/i18n/lv.json
@@ -4,15 +4,7 @@
       "ENCRYPTION": "SRTP (droša reāllaika protokola) šifrēšana",
       "DTLSCERTFILE_REQUIRED": "Obligāts lauks",
       "DTLSPRIVATEKEY_REQUIRED": "Obligāts lauks",
-      "FULLNAME_REQUIRED": "Obligāts lauks",
-      "USERNAME_REQUIRED": "Obligāts lauks",
-      "EMAIL_REQUIRED": "Obligāts lauks",
-      "PASSWORD_REQUIRED": "Obligāts lauks",
       "CONFIRM_NOT_MATCH": "Paroles nesakrīt",
-      "EMAIL_MUST_VALID": "Nepareizs formāts",
-      "ACCOUNTNAME_REQUIRED": "Obligāts lauks",
-      "NAME_REQUIRED": "Obligāts lauks",
-      "HOST_REQUIRED": "Obligāts lauks",
       "CHATCAPACITY_REQUIRED": "Obligāts lauks",
       "MAILCAPACITY_REQUIRED": "Obligāts lauks",
       "FAXCAPACITY_REQUIRED": "Obligāts lauks",
@@ -50,7 +42,6 @@
       "NAT": "Maina \"Asterisk\" darbību klientiem aiz ugunsmūra. Ja kāda no opcijām, kas ir atdalītas ar komatiem, ir \"Nē\", \"Asterisk\" ignorēs citus iestatījumus un iestatīs nat = no",
       "SIPEXPIRES": "Noklusējums: 160",
       "SIPPORT": "Noklusējums: 5160",
-      "TYPE": "Nosaka SIP lomu \"Asterisk\" ietvaros Lietotājs: izmanto, lai autentificētu ienākošo – Biedrs: izejošajiem zvaniem – Draugs: iekļauj abas iepriekš minētās īpašības",
       "CHATCAPACITY": "Maksimālais vienlaicīgu kanālu mijiedarbību skaits vienam aģentam (0 = neierobežots)",
       "MAILCAPACITY": "Maksimālais vienlaicīgu kanālu mijiedarbību skaits vienam aģentam (0 = neierobežots)",
       "FAXCAPACITY": "Maksimālais vienlaicīgu kanālu mijiedarbību skaits vienam aģentam (0 = neierobežots)",
@@ -76,8 +67,6 @@
     "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "TLS sertifikāts",
     "DTLSPRIVATEKEY": "TLS sertifikāta privātā atslēga",
-    "CONTEXT": "Konteksts",
-    "RINGINUSE": "Izmantotais zvans",
     "USERS": "Lietotāji",
     "AGENTS": "Aģenti",
     "TOGGLE_SIDENAV": "Pārslēgt navigāciju",
@@ -92,7 +81,6 @@
     "ALL_USERS": "Visi lietotāji",
     "ALL_AGENTS": "Visi aģenti",
     "SORT": "kārtot",
-    "NAME": "Nosaukums",
     "FULLNAME": "Vārds un uzvārds",
     "A_TO_Z": "(No A līdz Z)",
     "Z_TO_A": "(No Z līdz A)",
@@ -107,7 +95,6 @@
     "ADD_AGENT": "PIEVIENOT AĢENTU",
     "NO_RESULTS": "Nav rezultātu...",
     "CLOSE_DIALOG": "Aizvērt dialogu",
-    "NAME_REQUIRED": "Vārds (nepieciešams)",
     "USERNAME": "Lietotājvārds",
     "SHOW_ALL_FIELDS": "Rādīt visus laukus",
     "PHONE_NUMBER": "Tālruņa numurs",
@@ -166,7 +153,6 @@
     "DELETE_TEAM": "Dzēst komandu",
     "AGENTADD_TEAM": "Pievienot aģentus komandai",
     "EDIT_TEAM": "Rediģēt komandu",
-    "TYPE": "Tips",
     "TELEPHONES": "Tālruņi",
     "CALLERID": "Zvanītāja ID",
     "ENABLERECORDING": "Iespējot ierakstīšanu",
diff --git a/public/app/main/apps/staff/i18n/nl.json b/public/app/main/apps/staff/i18n/nl.json
index 64d2041..9618ef3 100644
--- a/public/app/main/apps/staff/i18n/nl.json
+++ b/public/app/main/apps/staff/i18n/nl.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Kader",
-    "RINGINUSE": "Ring in gebruik",
     "USERS": "Gebruikers",
     "AGENTS": "Agenten",
     "TOGGLE_SIDENAV": "Toggle sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Alle gebruikers",
     "ALL_AGENTS": "Alle gebruikers zijn agenten",
     "SORT": "Sorteren",
-    "NAME": "Naam",
     "FULLNAME": "Volledige naam",
     "A_TO_Z": "A t/m Z)",
     "Z_TO_A": "(Z tot A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Voeg agent",
     "NO_RESULTS": "Geen resultaten.",
     "CLOSE_DIALOG": "Dialoogvenster sluiten",
-    "NAME_REQUIRED": "Naam (vereist)",
     "USERNAME": "Gebruikersnaam",
     "SHOW_ALL_FIELDS": "Toon alle velden",
     "PHONE_NUMBER": "Telefoonnummer",
     "EMAIL": "E-mail",
     "PASSWORD": "Wachtwoord",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "De Fullname is vereist",
-      "USERNAME_REQUIRED": "De gebruikersnaam is vereist",
-      "EMAIL_REQUIRED": "Het e-mailadres is vereist",
-      "PASSWORD_REQUIRED": "Het wachtwoord is vereist",
       "CONFIRM_NOT_MATCH": "De wachtwoorden komen niet overeen",
-      "EMAIL_MUST_VALID": "De e-mail moet worden geschreven in een geldige indeling",
-      "ACCOUNTNAME_REQUIRED": "Als u de accountnaam is vereist",
-      "NAME_REQUIRED": "De naam is verplicht",
-      "HOST_REQUIRED": "De host is vereist",
       "CHATCAPACITY_REQUIRED": "De Chat capaciteit is vereist",
       "MAILCAPACITY_REQUIRED": "De Mail capaciteit is vereist",
       "FAXCAPACITY_REQUIRED": "De Fax capaciteit is vereist",
@@ -95,7 +83,6 @@
       "NAT": "Verandert het gedrag van Asterisk voor cliënten achter een firewall.Indien een van de comma-separated opties is 'nee', sterretje negeert andere instellingen en stel nat=no.",
       "SIPEXPIRES": "Standaard: 160",
       "SIPPORT": "Standaard: 5160",
-      "TYPE": "Bepaalt de SIP-rol binnen asterisk. Gebruiker: gebruikt ter verificatie van binnenkomend - Peer: voor uitgaande gesprekken - vriend: zowel kenmerken van het bovenstaande.",
       "CHATCAPACITY": "Nul betekent onbeperkt.",
       "MAILCAPACITY": "Nul betekent onbeperkt.",
       "FAXCAPACITY": "Nul betekent onbeperkt.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Team verwijderen",
     "AGENTADD_TEAM": "Voeg agenten team",
     "EDIT_TEAM": "Edit Team",
-    "TYPE": "Type",
     "TELEPHONES": "Telefoons",
     "CALLERID": "Beller-ID",
     "ENABLERECORDING": "Opnemen inschakelen",
diff --git a/public/app/main/apps/staff/i18n/no.json b/public/app/main/apps/staff/i18n/no.json
index 7da7dcf..beb9f31 100644
--- a/public/app/main/apps/staff/i18n/no.json
+++ b/public/app/main/apps/staff/i18n/no.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Kontekst",
-    "RINGINUSE": "Ring i bruk",
     "USERS": "Brukere",
     "AGENTS": "Agenter",
     "TOGGLE_SIDENAV": "Veksle sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Alle brukere",
     "ALL_AGENTS": "Alle agenter",
     "SORT": "Sortere",
-    "NAME": "Navn",
     "FULLNAME": "Fullt navn",
     "A_TO_Z": "(A til Z)",
     "Z_TO_A": "(Z til A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Legg til AGENT",
     "NO_RESULTS": "Ingen resultater..",
     "CLOSE_DIALOG": "Lukk dialogboksen",
-    "NAME_REQUIRED": "Navn (obligatorisk)",
     "USERNAME": "Brukernavn",
     "SHOW_ALL_FIELDS": "Vis alle felt",
     "PHONE_NUMBER": "Telefonnummer",
     "EMAIL": "E",
     "PASSWORD": "Passord",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Det Fullname er nødvendig",
-      "USERNAME_REQUIRED": "Brukernavnet er nødvendig",
-      "EMAIL_REQUIRED": "Det er nødvendig med e-post",
-      "PASSWORD_REQUIRED": "Passordet er nødvendig",
       "CONFIRM_NOT_MATCH": "Passordene samsvarer ikke",
-      "EMAIL_MUST_VALID": "E må være skrevet i et gyldig format",
-      "ACCOUNTNAME_REQUIRED": "Kontonavnet er nødvendig",
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "HOST_REQUIRED": "Verten er nødvendig",
       "CHATCAPACITY_REQUIRED": "Det Chat kapasitet er nødvendig",
       "MAILCAPACITY_REQUIRED": "E-kapasitet er nødvendig",
       "FAXCAPACITY_REQUIRED": "Det faks kapasitet er nødvendig",
@@ -95,7 +83,6 @@
       "NAT": "Endrer oppførselen til stjerne for klienter bak en brannmur.Hvis noen av kommaseparert alternativer er 'Nei', stjerne vil ignorere andre innstillinger og sette nat=Nei.",
       "SIPEXPIRES": "Standard: 160",
       "SIPPORT": "Standard: 5160",
-      "TYPE": "Bestemmer SIP rolle innen stjerne. Bruker: brukes til å autentisere innkommende - Peer: for utgående anrop - venn: dekker både egenskapene til ovenfor.",
       "CHATCAPACITY": "Null betyr ubegrenset.",
       "MAILCAPACITY": "Null betyr ubegrenset.",
       "FAXCAPACITY": "Null betyr ubegrenset.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Slett laget",
     "AGENTADD_TEAM": "Legg til agenter til Team",
     "EDIT_TEAM": "Rediger Team",
-    "TYPE": "Type",
     "TELEPHONES": "Telefoner",
     "CALLERID": "Innringer-ID",
     "ENABLERECORDING": "Aktiverer opptak",
diff --git a/public/app/main/apps/staff/i18n/pl.json b/public/app/main/apps/staff/i18n/pl.json
index 13320b2..360b834 100644
--- a/public/app/main/apps/staff/i18n/pl.json
+++ b/public/app/main/apps/staff/i18n/pl.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Kontekst",
-    "RINGINUSE": "Pierścień w za",
     "USERS": "Użytkownicy",
     "AGENTS": "Agenci",
     "TOGGLE_SIDENAV": "Przełączać sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Wszyscy użytkownicy",
     "ALL_AGENTS": "Wszyscy agenci",
     "SORT": "Sortowanie",
-    "NAME": "Nazwa",
     "FULLNAME": "Pełna nazwa",
     "A_TO_Z": "(A do Z)",
     "Z_TO_A": "(Od Z do A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Dodaj agenta",
     "NO_RESULTS": "Brak wyników.",
     "CLOSE_DIALOG": "Zamknij okno dialogowe",
-    "NAME_REQUIRED": "Nazwisko (wymagane)",
     "USERNAME": "Nazwa użytkownika",
     "SHOW_ALL_FIELDS": "Pokaż wszystkie pola",
     "PHONE_NUMBER": "Numer telefonu",
     "EMAIL": "Wiadomości e-mail",
     "PASSWORD": "Hasło",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Pole obowiązkowe",
-      "USERNAME_REQUIRED": "Pole obowiązkowe",
-      "EMAIL_REQUIRED": "Pole obowiązkowe",
-      "PASSWORD_REQUIRED": "Pole obowiązkowe",
       "CONFIRM_NOT_MATCH": "Hasła nie zgadzają się",
-      "EMAIL_MUST_VALID": "Zły format",
-      "ACCOUNTNAME_REQUIRED": "Pole obowiązkowe",
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "HOST_REQUIRED": "Pole obowiązkowe",
       "CHATCAPACITY_REQUIRED": "Pole obowiązkowe",
       "MAILCAPACITY_REQUIRED": "Pole obowiązkowe",
       "FAXCAPACITY_REQUIRED": "Pole obowiązkowe",
@@ -95,7 +83,6 @@
       "NAT": "Zmiany zachowań gwiazdka dla klientów za zaporą ogniową. Jeżeli którykolwiek z oddzielonych przecinkami opcji 'no', gwiazdka będzie ignorował pozostałych ustawień i ustawić nat=no",
       "SIPEXPIRES": "Domyślnie: 160",
       "SIPPORT": "Wartość domyślna: 5160",
-      "TYPE": "Ustala SIP roli w gwiazdki. Użytkownik: używane do uwierzytelniania przychodzące - Peer: dla połączeń wychodzących - przyjaciela: obejmuje zarówno charakterystyki powyżej",
       "CHATCAPACITY": "Maksymalna liczba jednoczesnych kanałów interakcji na agenta (0=nieograniczona)",
       "MAILCAPACITY": "Maksymalna liczba jednoczesnych kanałów interakcji na agenta (0=nieograniczona)",
       "FAXCAPACITY": "Maksymalna liczba jednoczesnych kanałów interakcji na agenta (0=nieograniczona)",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Usuń Team",
     "AGENTADD_TEAM": "Dodawanie agentów do Team",
     "EDIT_TEAM": "Edit Team",
-    "TYPE": "Typ",
     "TELEPHONES": "Telefony",
     "CALLERID": "ID dzwoniącego",
     "ENABLERECORDING": "Włączanie zapisu",
diff --git a/public/app/main/apps/staff/i18n/pt-BR.json b/public/app/main/apps/staff/i18n/pt-BR.json
index b00fd5f..1768cad 100644
--- a/public/app/main/apps/staff/i18n/pt-BR.json
+++ b/public/app/main/apps/staff/i18n/pt-BR.json
@@ -13,8 +13,6 @@
     "WEBRTC": "WebRTC",
     "DTLSCERTFILE": "Certificado TLS",
     "DTLSPRIVATEKEY": "Chave privada do certificado TLS",
-    "CONTEXT": "Contexto",
-    "RINGINUSE": "Toque em uso",
     "USERS": "Usuários",
     "AGENTS": "Agentes",
     "TOGGLE_SIDENAV": "Toggle sidenav",
@@ -29,7 +27,6 @@
     "ALL_USERS": "Todos os usuários",
     "ALL_AGENTS": "Todos os agentes",
     "SORT": "ordenar",
-    "NAME": "Nome",
     "FULLNAME": "Nome Completo",
     "A_TO_Z": "(A a Z)",
     "Z_TO_A": "(Z a A)",
@@ -44,7 +41,6 @@
     "ADD_AGENT": "Adicionar Agente",
     "NO_RESULTS": "Nenhum resultado ..",
     "CLOSE_DIALOG": "Fechar a caixa de diálogo",
-    "NAME_REQUIRED": "Nome (obrigatório)",
     "USERNAME": "Usuário",
     "SHOW_ALL_FIELDS": "Mostrar todos os campos",
     "PHONE_NUMBER": "Número de telefone",
@@ -55,15 +51,7 @@
       "ENCRYPTION": "Criptografia SRTP (Secure Realtime Protocol)",
       "DTLSCERTFILE_REQUIRED": "Campo obrigatório",
       "DTLSPRIVATEKEY_REQUIRED": "Campo obrigatório",
-      "FULLNAME_REQUIRED": "Campo obrigatório",
-      "USERNAME_REQUIRED": "Campo obrigatório",
-      "EMAIL_REQUIRED": "Campo obrigatório",
-      "PASSWORD_REQUIRED": "Campo obrigatório",
       "CONFIRM_NOT_MATCH": "As senhas não combinam",
-      "EMAIL_MUST_VALID": "Formato incorreto",
-      "ACCOUNTNAME_REQUIRED": "Campo obrigatório",
-      "NAME_REQUIRED": "Campo obrigatório",
-      "HOST_REQUIRED": "Campo obrigatório",
       "CHATCAPACITY_REQUIRED": "Campo obrigatório",
       "MAILCAPACITY_REQUIRED": "Campo obrigatório",
       "FAXCAPACITY_REQUIRED": "Campo obrigatório",
@@ -111,7 +99,6 @@
       "NAT": "Altera o comportamento do Asterisk para clientes por trás de um firewall. Se qualquer uma das opções separadas por vírgulas for 'no', o Asterisk irá ignorar outras configurações e definir nat = no",
       "SIPEXPIRES": "Padrão: 160",
       "SIPPORT": "Padrão: 5160",
-      "TYPE": "Determina o papel do SIP no asterisco. Usuário: usado para autenticar entrada - Peer: para chamadas de saída - Amigo: abrange ambas as características do acima",
       "CHATCAPACITY": "Número máximo de interações de canal simultâneas por agente (0 = ilimitado)",
       "MAILCAPACITY": "Número máximo de interações de canal simultâneas por agente (0 = ilimitado)",
       "FAXCAPACITY": "Número máximo de interações de canal simultâneas por agente (0 = ilimitado)",
@@ -171,7 +158,6 @@
     "DELETE_TEAM": "Excluir Equipe",
     "AGENTADD_TEAM": "Adicionar agentes na equipe",
     "EDIT_TEAM": "Editar Equipe",
-    "TYPE": "Tipo",
     "TELEPHONES": "Telefones",
     "CALLERID": "Identificador de chamadas",
     "ENABLERECORDING": "Ativar gravação",
diff --git a/public/app/main/apps/staff/i18n/pt-PT.json b/public/app/main/apps/staff/i18n/pt-PT.json
index aa456d6..96bf9a9 100644
--- a/public/app/main/apps/staff/i18n/pt-PT.json
+++ b/public/app/main/apps/staff/i18n/pt-PT.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Contexto",
-    "RINGINUSE": "Anel em uso",
     "USERS": "Os usuários",
     "AGENTS": "Agentes",
     "TOGGLE_SIDENAV": "Alternar sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Todos os usuários",
     "ALL_AGENTS": "Todos os agentes",
     "SORT": "Classificar",
-    "NAME": "Nome",
     "FULLNAME": "Nome completo",
     "A_TO_Z": "(A a Z)",
     "Z_TO_A": "(Z a A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Adicionar Agente",
     "NO_RESULTS": "Sem resultados.",
     "CLOSE_DIALOG": "Fechar caixa de diálogo",
-    "NAME_REQUIRED": "Nome (obrigatório)",
     "USERNAME": "Nome de usuário",
     "SHOW_ALL_FIELDS": "Mostrar Todos os Campos",
     "PHONE_NUMBER": "Número de telefone",
     "EMAIL": "Email",
     "PASSWORD": "Senha",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "O Fullname é necessária",
-      "USERNAME_REQUIRED": "O nome de usuário é obrigatório",
-      "EMAIL_REQUIRED": "O Correio Electrónico é obrigatório",
-      "PASSWORD_REQUIRED": "A senha é obrigatória",
       "CONFIRM_NOT_MATCH": "As senhas não coincidem",
-      "EMAIL_MUST_VALID": "O email deve ser escrito em um formato válido",
-      "ACCOUNTNAME_REQUIRED": "O nome da conta é necessária",
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "HOST_REQUIRED": "O Host é necessário",
       "CHATCAPACITY_REQUIRED": "É necessária capacidade de Chat",
       "MAILCAPACITY_REQUIRED": "O email é necessária capacidade",
       "FAXCAPACITY_REQUIRED": "A capacidade de Fax é necessário",
@@ -95,7 +83,6 @@
       "NAT": "Altera o comportamento do asterisco para clientes atrás de um firewall.Se qualquer uma das opções separadas por vírgula é \"não\", asterisco será ignorar quaisquer outras configurações e defina nat=n°",
       "SIPEXPIRES": "Padrão: 160",
       "SIPPORT": "Padrão: 5160",
-      "TYPE": "Determina o papel SIP dentro de asterisco. Usuário: usado para autenticar - Ponto de entrada: para chamadas de saída - amigo: abrange tanto as características do acima.",
       "CHATCAPACITY": "Zero significa ilimitado.",
       "MAILCAPACITY": "Zero significa ilimitado.",
       "FAXCAPACITY": "Zero significa ilimitado.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Equipe de excluir",
     "AGENTADD_TEAM": "Adicionar agentes a equipe",
     "EDIT_TEAM": "Editar equipe",
-    "TYPE": "Tipo",
     "TELEPHONES": "Telefones",
     "CALLERID": "ID do chamador",
     "ENABLERECORDING": "Activar a gravação",
diff --git a/public/app/main/apps/staff/i18n/ru.json b/public/app/main/apps/staff/i18n/ru.json
index 7300766..d31b3af 100644
--- a/public/app/main/apps/staff/i18n/ru.json
+++ b/public/app/main/apps/staff/i18n/ru.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Контексте",
-    "RINGINUSE": "Кольцо в использовании",
     "USERS": "Пользователи",
     "AGENTS": "Операторы",
     "TOGGLE_SIDENAV": "Боковая панель навигации - переключения",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Все пользователи",
     "ALL_AGENTS": "Все операторы",
     "SORT": "Порядок сортировки",
-    "NAME": "Имя",
     "FULLNAME": "Полное Имя",
     "A_TO_Z": "(A-Z)",
     "Z_TO_A": "(Z)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Добавить оператора",
     "NO_RESULTS": "Нет результатов.",
     "CLOSE_DIALOG": "Закрыть диалоговое окно",
-    "NAME_REQUIRED": "Имя (обязательно)",
     "USERNAME": "Имя пользователя",
     "SHOW_ALL_FIELDS": "Показать все поля",
     "PHONE_NUMBER": "Номер телефона",
     "EMAIL": "Адрес электронной почты",
     "PASSWORD": "Пароль",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "В Fullname не требуется",
-      "USERNAME_REQUIRED": "Имя пользователя не требуется",
-      "EMAIL_REQUIRED": "Адреса электронной почты не требуется",
-      "PASSWORD_REQUIRED": "Пароль не требуется",
       "CONFIRM_NOT_MATCH": "Пароли не совпадают",
-      "EMAIL_MUST_VALID": "Адреса электронной почты должны быть записаны в действительный формат",
-      "ACCOUNTNAME_REQUIRED": "Имя учетной записи не требуется",
-      "NAME_REQUIRED": "Это имя требуется",
-      "HOST_REQUIRED": "Хост не требуется",
       "CHATCAPACITY_REQUIRED": "Чат требуется в",
       "MAILCAPACITY_REQUIRED": "По электронной почте требуется в",
       "FAXCAPACITY_REQUIRED": "Факс требуется в",
@@ -95,7 +83,6 @@
       "NAT": "Изменяет поведение звездочка для клиентов за брандмауэром.Если любое из разделенных запятыми параметров 'Нет', звездочка будет игнорировать любые другие параметры и настройки NAT=no.",
       "SIPEXPIRES": "По умолчанию: 160",
       "SIPPORT": "По умолчанию: 5160",
-      "TYPE": "Определяет роль SIP в Asterisk. Пользователь: используется для проверки подлинности входящих - Одноранговые сети: для исходящих вызовов - друга: охватывает как характеристики выше.",
       "CHATCAPACITY": "Ноль означает неограниченное количество.",
       "MAILCAPACITY": "Ноль означает неограниченное количество.",
       "FAXCAPACITY": "Ноль означает неограниченное количество.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Удалить группу",
     "AGENTADD_TEAM": "Добавление операторов в группе",
     "EDIT_TEAM": "Редактировать информацию о команде",
-    "TYPE": "Тип",
     "TELEPHONES": "Телефоны",
     "CALLERID": "Идентификатор вызывающего абонента",
     "ENABLERECORDING": "Включить запись",
diff --git a/public/app/main/apps/staff/i18n/sv.json b/public/app/main/apps/staff/i18n/sv.json
index 67d09c1..695f598 100644
--- a/public/app/main/apps/staff/i18n/sv.json
+++ b/public/app/main/apps/staff/i18n/sv.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Bakgrund",
-    "RINGINUSE": "Ring under användning",
     "USERS": "Användare",
     "AGENTS": "Agenter",
     "TOGGLE_SIDENAV": "Växla sidonavigering",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Alla användare",
     "ALL_AGENTS": "Alla agenter",
     "SORT": "Sortera",
-    "NAME": "Namn",
     "FULLNAME": "Fullständigt namn",
     "A_TO_Z": "(A till Ö)",
     "Z_TO_A": "(Ö till A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "Lägg till agent",
     "NO_RESULTS": "Inga resultat",
     "CLOSE_DIALOG": "Stäng dialogrutan",
-    "NAME_REQUIRED": "Namn (obligatoriskt)",
     "USERNAME": "Användarnamn",
     "SHOW_ALL_FIELDS": "Visa alla fält",
     "PHONE_NUMBER": "Telefonnummer",
     "EMAIL": "Epost",
     "PASSWORD": "Lösenord",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Det Fullname krävs",
-      "USERNAME_REQUIRED": "Användarnamn krävs",
-      "EMAIL_REQUIRED": "E-post är obligatoriskt",
-      "PASSWORD_REQUIRED": "Lösenord krävs",
       "CONFIRM_NOT_MATCH": "Lösenorden stämmer inte överens",
-      "EMAIL_MUST_VALID": "E måste vara skriven på ett giltigt format",
-      "ACCOUNTNAME_REQUIRED": "Kontonamnet är obligatoriskt",
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "HOST_REQUIRED": "Värd är obligatoriskt",
       "CHATCAPACITY_REQUIRED": "Chatten kapacitet krävs",
       "MAILCAPACITY_REQUIRED": "Mail kapacitet krävs",
       "FAXCAPACITY_REQUIRED": "Fax kapacitet krävs",
@@ -95,7 +83,6 @@
       "NAT": "Förändringar i beteendet hos Asterisk för beställare bakom en firewall.Om någon av komma-avskilde alternativ är \"nej\", Asterisk kommer att ignorera alla andra inställningar och ställa in nat=no.",
       "SIPEXPIRES": "Standard: 160",
       "SIPPORT": "Standard: 5160",
-      "TYPE": "Bestämmer SIP roll inom asterisk. Användare: används för att autentisera inkommande - Kisa: för utgående samtal - vän: omfattar både egenskaper hos ovan.",
       "CHATCAPACITY": "Noll betyder obegränsade.",
       "MAILCAPACITY": "Noll betyder obegränsade.",
       "FAXCAPACITY": "Noll betyder obegränsade.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Ta bort team",
     "AGENTADD_TEAM": "Lägg till agenter till team",
     "EDIT_TEAM": "Redigera team",
-    "TYPE": "Typ",
     "TELEPHONES": "Telefoner",
     "CALLERID": "Nummerpresentation",
     "ENABLERECORDING": "Aktivera inspelning",
diff --git a/public/app/main/apps/staff/i18n/tr.json b/public/app/main/apps/staff/i18n/tr.json
index f4f15c7..54d97ba 100644
--- a/public/app/main/apps/staff/i18n/tr.json
+++ b/public/app/main/apps/staff/i18n/tr.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "Içerik",
-    "RINGINUSE": "Halka.",
     "USERS": "Kullanıcılar",
     "AGENTS": "Ajanlar",
     "TOGGLE_SIDENAV": "Geçiş sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "Tüm kullanıcılar",
     "ALL_AGENTS": "Tüm temsilciler",
     "SORT": "Sıralama",
-    "NAME": "Adı",
     "FULLNAME": "Tam Adı",
     "A_TO_Z": "(A - Z)",
     "Z_TO_A": "(Z-A).",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "ADD AJANS",
     "NO_RESULTS": "Sonuç yok..",
     "CLOSE_DIALOG": "Yakın iletişim",
-    "NAME_REQUIRED": "Adı (gerekli)",
     "USERNAME": "Kullanıcı Adı",
     "SHOW_ALL_FIELDS": "Tüm Alanlar",
     "PHONE_NUMBER": "Telefon numarası",
     "EMAIL": "E-Posta",
     "PASSWORD": "Parola",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "Ve Fullname gerekiyor.",
-      "USERNAME_REQUIRED": "Kullanıcı Adı gerekiyor",
-      "EMAIL_REQUIRED": "E-posta gerekli",
-      "PASSWORD_REQUIRED": "Parola gerekli",
       "CONFIRM_NOT_MATCH": "Parolalar aynı değil",
-      "EMAIL_MUST_VALID": "E-posta mutlaka yazılı geçerli bir format",
-      "ACCOUNTNAME_REQUIRED": "Hesap Adı gerekiyor.",
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "HOST_REQUIRED": "Ana gerekiyor.",
       "CHATCAPACITY_REQUIRED": "Sohbet kapasite gerekiyor.",
       "MAILCAPACITY_REQUIRED": "Posta Kapasitesi",
       "FAXCAPACITY_REQUIRED": "Faks kapasite gerekiyor.",
@@ -95,7 +83,6 @@
       "NAT": "Değişiklikler, davranış, Yıldız istemciler için bir güvenlik duvarının arkasında.Herhangi bir virgülle ayrılmış seçenekleri 'hayır', Yıldız yok diğer ayarları ve nat=no.",
       "SIPEXPIRES": "Varsayılan: 160",
       "SIPPORT": "Varsayılan: 5160",
-      "TYPE": "Belirler, SIP içinde yıldız. Kullanıcı: kimliğini doğrulamak için kullanılan gelen - Eşler: aramaları - Arkadaş: kapakları hem özellikleri.",
       "CHATCAPACITY": "Sıfır anlamına gelir sınırsız.",
       "MAILCAPACITY": "Sıfır anlamına gelir sınırsız.",
       "FAXCAPACITY": "Sıfır anlamına gelir sınırsız.",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "Delete Team",
     "AGENTADD_TEAM": "Add Temsilcilerinin Team",
     "EDIT_TEAM": "Düzenleme Ekibi",
-    "TYPE": "Tipi",
     "TELEPHONES": "Telefonlar",
     "CALLERID": "Arayan kimliği",
     "ENABLERECORDING": "Etkinleştirme Kayıt",
diff --git a/public/app/main/apps/staff/i18n/zh-CN.json b/public/app/main/apps/staff/i18n/zh-CN.json
index ef3ddb0..14234c3 100644
--- a/public/app/main/apps/staff/i18n/zh-CN.json
+++ b/public/app/main/apps/staff/i18n/zh-CN.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "上下文",
-    "RINGINUSE": "环在使用中",
     "USERS": "用户",
     "AGENTS": "座席",
     "TOGGLE_SIDENAV": "切换 sidenav",
@@ -16,7 +14,6 @@
     "ALL_USERS": "所有用户",
     "ALL_AGENTS": "所有座席",
     "SORT": "排序",
-    "NAME": "名称",
     "FULLNAME": "全名。",
     "A_TO_Z": "(A 至 Z)",
     "Z_TO_A": "(Z 到 A)",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "添加代理",
     "NO_RESULTS": "没有任何的结果。",
     "CLOSE_DIALOG": "关闭对话框",
-    "NAME_REQUIRED": "名称(必需)",
     "USERNAME": "用户名",
     "SHOW_ALL_FIELDS": "显示所有字段",
     "PHONE_NUMBER": "电话号码",
     "EMAIL": "电子邮件",
     "PASSWORD": "密码",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "的全称是必需的",
-      "USERNAME_REQUIRED": "用户名是必需的",
-      "EMAIL_REQUIRED": "“电子邮件是必填的",
-      "PASSWORD_REQUIRED": "密码是必需的",
       "CONFIRM_NOT_MATCH": "密码不匹配",
-      "EMAIL_MUST_VALID": "电子邮件必须有书面的格式无效",
-      "ACCOUNTNAME_REQUIRED": "该帐户的名称是必需的",
-      "NAME_REQUIRED": "该名称是必需的",
-      "HOST_REQUIRED": "主机是必需的",
       "CHATCAPACITY_REQUIRED": "“文本交谈” 的能力是必需的",
       "MAILCAPACITY_REQUIRED": "邮件的能力是必需的",
       "FAXCAPACITY_REQUIRED": "传真的能力是必需的",
@@ -95,7 +83,6 @@
       "NAT": "改变行为的星号后面的客户端的防火墙。 如果任何的以逗号分隔的-选项是 “不”、星号将会忽略任何其他设置和设置 nat =否。",
       "SIPEXPIRES": "默认值: 160",
       "SIPPORT": "缺省值: 5160",
-      "TYPE": "确定了 SIP 的作用范围内的星号。 用户名: 用于验证传入-同行: 呼出电话-朋友: 涵盖了这两个特点。",
       "CHATCAPACITY": "0 意味着无限的。",
       "MAILCAPACITY": "0 意味着无限的。",
       "FAXCAPACITY": "0 意味着无限的。",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "删除工作组",
     "AGENTADD_TEAM": "将座席添加到组",
     "EDIT_TEAM": "编辑团队",
-    "TYPE": "类型",
     "TELEPHONES": "电话",
     "CALLERID": "主叫方 ID",
     "ENABLERECORDING": "启用录制",
diff --git a/public/app/main/apps/staff/i18n/zh-TW.json b/public/app/main/apps/staff/i18n/zh-TW.json
index 0a5a990..4fb7d43 100644
--- a/public/app/main/apps/staff/i18n/zh-TW.json
+++ b/public/app/main/apps/staff/i18n/zh-TW.json
@@ -1,7 +1,5 @@
 {
   "STAFF": {
-    "CONTEXT": "範圍內",
-    "RINGINUSE": "環使用中",
     "USERS": "使用者",
     "AGENTS": "值機員",
     "TOGGLE_SIDENAV": "切換側邊導覽列",
@@ -16,7 +14,6 @@
     "ALL_USERS": "所有的使用者使用",
     "ALL_AGENTS": "所有值機員",
     "SORT": "排序依據",
-    "NAME": "名稱",
     "FULLNAME": "完整名稱",
     "A_TO_Z": "( A 到 Z )",
     "Z_TO_A": "( Z 到 A )",
@@ -31,22 +28,13 @@
     "ADD_AGENT": "新增值機員",
     "NO_RESULTS": "沒有任何結果。",
     "CLOSE_DIALOG": "關閉對話方塊",
-    "NAME_REQUIRED": "名稱 ( 必填 )",
     "USERNAME": "使用者名稱",
     "SHOW_ALL_FIELDS": "顯示所有欄位",
     "PHONE_NUMBER": "電話號碼",
     "EMAIL": "電子郵件",
     "PASSWORD": "密碼",
     "ERRORS": {
-      "FULLNAME_REQUIRED": "的全名是必填欄位",
-      "USERNAME_REQUIRED": "使用者名稱為必要資訊",
-      "EMAIL_REQUIRED": "電子郵件為必填欄位",
-      "PASSWORD_REQUIRED": "密碼為必填欄位",
       "CONFIRM_NOT_MATCH": "密碼不相符",
-      "EMAIL_MUST_VALID": "電子郵件必須是書面的格式無效",
-      "ACCOUNTNAME_REQUIRED": "「帳戶名稱」為必填欄位",
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "HOST_REQUIRED": "主機是必填欄位",
       "CHATCAPACITY_REQUIRED": "「文字交談」容量是必填欄位",
       "MAILCAPACITY_REQUIRED": "郵件容量是必填欄位",
       "FAXCAPACITY_REQUIRED": "傳真容量是必填欄位",
@@ -95,7 +83,6 @@
       "NAT": "改變行為之星號的用戶端防火牆後面。如果有任何逗點分隔選項為「否」 , 星號將會略過所有其他設定值和設定 NAT = No ( 否 ) 。",
       "SIPEXPIRES": "預設值 : 160",
       "SIPPORT": "預設值 : 5160",
-      "TYPE": "決定 SIP 角色星號。 使用者 : 用於驗證傳入 - 點對點式 : 撥出電話 - 朋友 : 涵蓋了這兩個特徵的以上。",
       "CHATCAPACITY": "0 表示沒有限制。",
       "MAILCAPACITY": "0 表示沒有限制。",
       "FAXCAPACITY": "0 表示沒有限制。",
@@ -158,7 +145,6 @@
     "DELETE_TEAM": "刪除群組",
     "AGENTADD_TEAM": "值機員新增至群組",
     "EDIT_TEAM": "編輯群組",
-    "TYPE": "類型",
     "TELEPHONES": "電話",
     "CALLERID": "來電者 ID",
     "ENABLERECORDING": "啟用記錄",
diff --git a/public/app/main/apps/tools/i18n/ar.json b/public/app/main/apps/tools/i18n/ar.json
index 25ac5fa..70170c6 100644
--- a/public/app/main/apps/tools/i18n/ar.json
+++ b/public/app/main/apps/tools/i18n/ar.json
@@ -14,27 +14,16 @@
       "DEFAULTUSER_REQUIRED": "المستخدم الافتراضي مطلوب",
       "EMAILADDRESS_REQUIRED": "عنوان البريد الالكتروني مطلوب",
       "EVENTVARIABLES_REQUIRED": "الاحداث المتغيرة مطلوبة",
-      "FIELD_REQUIRED": "حقل مطلوب",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة حجم الخط أكبر من أو تساوي",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة حجم الخط أقل من أو تساوي",
-      "FONTSIZE_REQUIRED": "حجم الخط مطلوب",
       "FORMAT_REQUIRED": "التنسيق مطلوب",
-      "HOST_REQUIRED": "المضيف مطلوب",
       "HOUR_REQUIRED": "الساعة مطلوب",
       "INTEGRATION_REQUIRED": "الدمج مطلوب",
-      "KEY_REQUIRED": "المفتاح مطلوب",
-      "LIST_REQUIRED": "القائمة مطلوبة",
       "LOCATION_REQUIRED": "الموقع مطلوب",
       "MONTHDAY_REQUIRED": "يوم الشهر مطلوب",
       "MONTH_DAYS_TO_REQUIRED": "حقل الزامي",
       "MONTH_TO_REQUIRED": "من شهر مطلوب",
-      "NAME_MUST_VALID_PATTERN": "الاسم يجب ان يتطابق مع النمط",
-      "NAME_REQUIRED": "الاسم مطلوب",
-      "OUTBOUNDROUTE_REQUIRED": "مصدر المكالمة الصادرة مطلوب",
       "PATH_REQUIRED": "المسار مطلوب",
       "POLLING_INTERVAL_REQUIRED": "الاستقصاء مطلوب",
-      "PROJECT_REQUIRED": "المشروع مطلوب",
-      "QUEUE_REQUIRED": "الطابور مطلوب",
       "REFRESH_REQUIRED": "التحديث مطلوب",
       "REPORT_REQUIRED": "التقرير مطلوب",
       "TEMPLATE_REQUIRED": "القالب مطلوب",
@@ -42,12 +31,9 @@
       "TIME_RANGE_TO_INVALID": "النطاق الزمني الى_غير صالح",
       "TIME_RANGE_TO_REQUIRED": "النطاق الزمني _الى_مطلوب",
       "TITLE_REQUIRED": "العنوان مطلوب",
-      "TYPE_REQUIRED": "الكتابة مطلوبة",
       "URL_MUST_VALID_URL": "رابط الموقع يجب ان يتوافق مع الرابط",
-      "URL_REQUIRED": "رابط الموقع مطلوب",
       "VALIDITYEND_REQUIRED": "نهاية الصلاحية مطلوبة",
       "VALIDITYSTART_REQUIRED": "بداية الصلاحية مطلوبة",
-      "VALUE_REQUIRED": "القيمة مطلوبة",
       "WEEK_DAYS_TO_REQUIRED": "اسبوع_ايام_الى_مطلوب",
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة التحديث  أكبر من أو تساوي",
       "TITLE_MAX_LENGTH": "يجب أن يكون الحد الأقصى للطول مساويًا ",
@@ -56,12 +42,8 @@
       "REPORTFOLDER_REQUIRED": "حقل الزامي",
       "REPORTSUBFOLDER_REQUIRED": "حقل الزامي",
       "REPORTTYPE_REQUIRED": "حقل الزامي",
-      "AGENT_REQUIRED": "حقل الزامي",
       "INFO_REQUIRED": "حقل الزامي",
       "SCRIPT_REQUIRED": "حقل الزامي",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "TIMEOUT_REQUIRED": "حقل الزامي",
       "AUTOCREATE_FIELD_REQUIRED": "حقل الزامي"
     },
     "HELP": {
@@ -74,7 +56,6 @@
       "CALLCOUNTER": "تمكين عدادات الاتصال على الأجهزة",
       "CALLERID": "معرف المتصل",
       "CALL_LIMIT": "رقم الحد للمكالمات المتزامنة الواردة والصادرة",
-      "CONTEXT": "سياق المحادثة",
       "DIRECTMEDIA": "يحاول العلامة النجمية بشكل افتراضي إعادة توجيه دفق الوسائط RTP للانتقال مباشرة من المستدعي إلى المستدعي. بعض الأجهزة لا تدعم هذا (خاصة إذا كان أحدهما خلف NAT). الإعداد الافتراضي هو YES. إذا كان لديك جميع العملاء وراء NAT ، أو لسبب آخر ترغب في بقاء العلامة النجمية في مسار الصوت ، فقد ترغب في إيقاف تشغيلها.",
       "DTMFMODE": "كيف يتم إرسال DTMF (ثنائي النغمة متعددة التردد). RFC2833: الوضع الافتراضي ، يتم إرسال DTMF مع RTP ولكن خارج دفق الصوت. INBAND: يتم إرسال DTMF في دفق الصوت من المحادثة الحالية ، وأصبح مسموعة من مكبرات الصوت. يتطلب تحميل وحدة المعالجة المركزية عالية. INFO: على الرغم من أن هذه الطريقة موثوقة للغاية ، إلا أنها لا تدعمها جميع أجهزة PBX والعديد من صناديق SIP.",
       "EMAILADDRESS": "إضافة عنوان واحد أو عدة عناوين مفصولة بفواصل (على سبيل المثال [email-masked] ، [email-masked])",
@@ -83,7 +64,6 @@
       "FROMDOMAIN": "تعيين الافتراضي من: المجال في رسائل SIP عند العمل ك SI ua (العميل). قد تتطلب بعض الوجهات اسم هوية إلزامي بدلاً من عنوان IP فقط",
       "FROMUSER": "كيف يعرفك مزود الخدمة. هذا هو أي مستخدم لوضع بدلاً من callerid عند إجراء مكالمات إلى نظير (بروكسي SIP آخر). صالحة فقط للنوع = النظير.",
       "INSECURE": "حدد كيفية التعامل مع الاتصالات مع النظير ، مما يسمح بإعدادات غير آمنة",
-      "NAME": "يتم دعم الأرقام والحروف والأحرف المحددة (._) فقط",
       "NAT": "تغيير سلوك العلامة النجمية للعملاء خلف جدار حماية. إذا كان أي من الخيارات المفصولة بفواصل هو \"لا\" ، فستتجاهل علامة النجمة أي إعدادات أخرى وتضبط nat = no.",
       "OTHERFIELDS": "حقول أخرى لإضافتها في ملفات confs trunks. اتبع تنسيق النجمة الافتراضية (مفتاح = قيمة) ، كل حقل في صف واحد",
       "OUTBOUNDPROXY": "اسم IP_address أو DNS SRV (باستثناء بادئة _sip._udp): اسم SRV أو اسم مضيف أو عنوان IP الخاص بوكيل SIP الصادر. إرسال إشارات الصادرة إلى هذا الوكيل ، وليس مباشرة إلى الأجهزة. صالحة فقط للنوع = النظير.",
@@ -93,7 +73,6 @@
       "SEND_REMOTE_PARTY_ID_HEADER": "تحديد ما إذا كان يجب إرسال معرف الطرف البعيد (الافتراضات هو لا)",
       "TRANSPORT": "قم بتعيين وسائل النقل الافتراضية ، حسب ترتيب التفضيل",
       "TRUST_REMOTE_PARTY_ID": "تحديد ما إذا كان يجب الوثوق بمعرف الطرف البعيد",
-      "TYPE": "تحديد دور SIP داخل العلامة النجمية. المستخدم: يستخدم لمصادقة الواردة - الند: للمكالمات الصادرة - صديق: يغطي كلا من خصائص ما سبق.",
       "EMAILBCCADDRESS": "إضافة عنوان واحد أو عدة عناوين مفصولة بفواصل (على سبيل المثال [email-masked] ، [email-masked])",
       "EMAILCCADDRESS": "إضافة عنوان واحد أو عدة عناوين مفصولة بفواصل (على سبيل المثال [email-masked] ، [email-masked])",
       "BODY": "إذا لم يتم ملؤها ، سيتم إرسال القيمة الافتراضية",
@@ -237,7 +216,6 @@
     "TRANSPORT": "نقل",
     "TRIGGERS": "افعال",
     "TRUST_REMOTE_PARTY_ID": "الثقة معرف طرف بعيد*",
-    "TYPE": "اكتب",
     "UPLOAD_SOUND": "تحميل الصوت",
     "VALUE": "القيمة",
     "VARIABLES": "المتغيرات",
@@ -264,7 +242,6 @@
     "METRIC": "قياس",
     "MOVE_WIDGET": "تحريك القطعة",
     "MULTIBARCHART": "شريط بياني متعدد الاتجاهات",
-    "NAME": "اسم",
     "NEXTCONTACT": "الاتصال التالي",
     "NONE": "لا شيء",
     "OUTBOUND_ROUTE": "مصدر المكالمات الصادرة",
@@ -335,7 +312,6 @@
     "LAST_MONTH": "الشهر الماضي",
     "LAST_SEVEN_DAYS": "آخر سبعة أيام",
     "LAST_THIRTY_DAYS": "اخر ثلاثين يوم",
-    "LIST": "قائمة",
     "MONTHLY": "شهريا",
     "MONTHS": "الشهور",
     "MONTH_DAYS": "ايام الشهر",
@@ -380,7 +356,6 @@
     "APR": "أبريل",
     "AUG": "أغسطس",
     "CONFIRM_PASSWORD": "تأكيد كلمة المرور",
-    "CONTEXT": "سياق الكلام",
     "CREATED_AT": "أنشئت في",
     "DEC": "ديسمبر",
     "DELETE_TRUNK": "حذف القناة",
diff --git a/public/app/main/apps/tools/i18n/cs.json b/public/app/main/apps/tools/i18n/cs.json
index b5b05d9..13bd3c1 100644
--- a/public/app/main/apps/tools/i18n/cs.json
+++ b/public/app/main/apps/tools/i18n/cs.json
@@ -49,7 +49,6 @@
     "MESSAGE": "Message",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "Call",
-    "NAME": "Name",
     "TRUNKS": "Trunks",
     "SEARCH_FOR_ANYONE": "Search",
     "ERRORS": {
@@ -58,41 +57,28 @@
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "REFRESH_REQUIRED": "Mandatory field",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FONTSIZE_REQUIRED": "Mandatory field",
       "PATH_REQUIRED": "Mandatory field",
       "FORMAT_REQUIRED": "Mandatory field",
       "REPORT_REQUIRED": "Mandatory field",
-      "TYPE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
       "ACCOUNT_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
       "DEFAULTUSER_REQUIRED": "Mandatory field",
       "CALLERID_REQUIRED": "Mandatory field",
-      "KEY_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The Passwords don't match",
       "VALIDITYSTART_REQUIRED": "Mandatory field",
       "VALIDITYEND_REQUIRED": "Mandatory field",
       "MONTHDAY_REQUIRED": "Mandatory field",
       "HOUR_REQUIRED": "Mandatory field",
       "CONTENT_REQUIRED": "Mandatory field",
-      "URL_REQUIRED": "Mandatory field",
       "URL_MUST_VALID_URL": "Wrong format",
       "APPLICATION_REQUIRED": "Mandatory field",
       "ARGUMENTS_REQUIRED": "Mandatory field",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
       "POLLING_INTERVAL_REQUIRED": "Mandatory field",
       "TITLE_REQUIRED": "Mandatory field",
       "EMAILADDRESS_REQUIRED": "Mandatory field",
       "EVENTVARIABLES_REQUIRED": "Mandatory field",
       "INTEGRATION_REQUIRED": "Mandatory field",
-      "LIST_REQUIRED": "Mandatory field",
       "TEMPLATE_REQUIRED": "Mandatory field",
       "AUTOCREATECONTACT_REQUIRED": "Mandatory field",
-      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
-      "QUEUE_REQUIRED": "Mandatory field",
       "TIME_RANGE_TO_REQUIRED": "Mandatory field",
       "WEEK_DAYS_TO_REQUIRED": "Mandatory field",
       "MONTH_DAYS_TO_REQUIRED": "Mandatory field",
@@ -101,18 +87,13 @@
       "TIME_RANGE_TO_INVALID": "Wrong Format",
       "ACTION_REQUIRED": "Mandatory field",
       "CONFIGURATION_REQUIRED": "Mandatory field",
-      "PROJECT_REQUIRED": "Mandatory field",
       "LOCATION_REQUIRED": "Mandatory field",
       "OUTPUT_REQUIRED": "Mandatory field",
       "REPORTTYPE_REQUIRED": "Mandatory field",
       "REPORTFOLDER_REQUIRED": "Mandatory field",
       "REPORTSUBFOLDER_REQUIRED": "Mandatory field",
-      "AGENT_REQUIRED": "Povinné pole",
       "INFO_REQUIRED": "Povinné pole",
       "SCRIPT_REQUIRED": "Povinné pole",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
-      "TIMEOUT_REQUIRED": "Povinné pole",
       "AUTOCREATE_FIELD_REQUIRED": "Povinné pole"
     },
     "HOST": "Host",
@@ -131,8 +112,6 @@
       "FROMUSER": "How your provider knows you. This is which user to put instead of callerid when placing calls to peer (another SIP proxy). Valid only for type=peer.",
       "OUTBOUNDPROXY": "IP_address or DNS SRV name (excluding the _sip._udp prefix): SRV name, hostname, or IP address of the outbound SIP Proxy. Send outbound signaling to this proxy, not directly to the devices. Valid only for type=peer.",
       "PORT": "The SIP port number",
-      "CONTEXT": "The context for the trunk",
-      "TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
       "DTMFMODE": "How DTMF (Dual-Tone Multi-Frequency) are sent. RFC2833: the default mode, the DTMF are sent with RTP but outside the audio stream. INBAND: The DTMF is sent in audio stream of the current conversation, becoming audible from the speakers. Requires a high CPU load. INFO: Although this method is very reliable, it is not supported by all PBX devices and many SIP Trunks.",
       "NAT": "Change the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore any other settings and set nat=no.",
       "QUALIFY": "Determine when the SIP is achievable",
@@ -150,7 +129,6 @@
       "EMAILADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
       "EMAILBCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "EVENTVARIABLES": "If enabled, it adds all the event variables to the url (recommended value=No. Set to Yes only for evaluation purposes) ",
       "BODY": "If not filled out, the default value will be sent",
       "HEADERS": "Poznámka: Sekce záhlaví musí být ve formátu RAW JSON {\"key\": \"value\"}\nPoznámka: Pokud není vyplněna, bude odeslána výchozí hodnota",
@@ -167,9 +145,7 @@
     "ADVANCED": "Advanced",
     "OTHER": "Other",
     "ACTIVE": "Active",
-    "CONTEXT": "Context",
     "CALLERID": "Caller ID",
-    "TYPE": "Type",
     "DTMFMODE": "DTMF Mode",
     "NAT": "NAT",
     "QUALIFY": "Qualify",
@@ -358,7 +334,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL Forward",
     "WEB_POPUP": "Web Popup",
-    "LIST": "List",
     "INTEGRATION": "Integration",
     "TEMPLATE": "Template",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/da.json b/public/app/main/apps/tools/i18n/da.json
index 0a574e5..da3b972 100644
--- a/public/app/main/apps/tools/i18n/da.json
+++ b/public/app/main/apps/tools/i18n/da.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Opkald",
-    "NAME": "Navnet",
     "TRUNKS": "Trunks",
     "SEARCH_FOR_ANYONE": "Søg efter alle",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er påkrævet",
-      "HOST_REQUIRED": "Værten er påkrævet",
       "DEFAULTUSER_REQUIRED": "Standardbrugeren er påkrævet",
       "CALLERID_REQUIRED": "Opkalds-ID er påkrævet",
-      "KEY_REQUIRED": "Den nøgle er påkrævet",
       "CONFIRM_NOT_MATCH": "Adgangskoderne don' t match",
       "VALIDITYSTART_REQUIRED": "Starttidspunktet er påkrævet",
       "VALIDITYEND_REQUIRED": "Sluttidspunktet er påkrævet",
       "MONTHDAY_REQUIRED": "Den Månedsdag er påkrævet",
       "HOUR_REQUIRED": "Timen er påkrævet",
       "CONTENT_REQUIRED": "Indholdet kræves",
-      "URL_REQUIRED": "URL'en er påkrævet",
       "URL_MUST_VALID_URL": "URL-adressen skal være gyldig",
       "APPLICATION_REQUIRED": "Ansøgningen skal udfyldes",
       "ARGUMENTS_REQUIRED": "Argumenterne er påkrævet",
-      "NAME_MUST_VALID_PATTERN": "Navnet skal være skrevet i et gyldigt format",
       "POLLING_INTERVAL_REQUIRED": "Kontrolintervallet er påkrævet",
       "TITLE_REQUIRED": "Titlen er påkrævet",
       "EMAILADDRESS_REQUIRED": "E-mail-adresse er nødvendig",
       "EVENTVARIABLES_REQUIRED": "Obligatorisk felt",
-      "TYPE_REQUIRED": "Obligatorisk felt",
-      "VALUE_REQUIRED": "Obligatorisk felt",
       "ACCOUNT_REQUIRED": "Obligatorisk felt",
-      "FIELD_REQUIRED": "Obligatorisk felt",
       "INTEGRATION_REQUIRED": "Obligatorisk felt",
-      "LIST_REQUIRED": "Obligatorisk felt",
       "TEMPLATE_REQUIRED": "Obligatorisk felt",
       "AUTOCREATECONTACT_REQUIRED": "Obligatorisk felt",
-      "OUTBOUNDROUTE_REQUIRED": "Obligatorisk felt",
-      "QUEUE_REQUIRED": "Obligatorisk felt",
       "TIME_RANGE_TO_REQUIRED": "Obligatorisk felt",
       "WEEK_DAYS_TO_REQUIRED": "Obligatorisk felt",
       "MONTH_DAYS_TO_REQUIRED": "Obligatorisk felt",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Forkert format",
       "ACTION_REQUIRED": "Obligatorisk felt",
       "CONFIGURATION_REQUIRED": "Obligatorisk felt",
-      "PROJECT_REQUIRED": "Obligatorisk felt",
       "LOCATION_REQUIRED": "Obligatorisk felt",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "FONTSIZE_REQUIRED": "Obligatorisk felt",
       "PATH_REQUIRED": "Obligatorisk felt",
       "FORMAT_REQUIRED": "Obligatorisk felt",
       "REPORT_REQUIRED": "Obligatorisk felt",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Obligatorisk felt",
       "REPORTSUBFOLDER_REQUIRED": "Obligatorisk felt",
       "REPORTTYPE_REQUIRED": "Obligatorisk felt",
-      "AGENT_REQUIRED": "Obligatorisk felt",
       "INFO_REQUIRED": "Obligatorisk felt",
       "SCRIPT_REQUIRED": "Obligatorisk felt",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
-      "TIMEOUT_REQUIRED": "Obligatorisk felt",
       "AUTOCREATE_FIELD_REQUIRED": "Obligatorisk felt"
     },
     "HOST": "Host",
@@ -83,8 +64,6 @@
       "FROMUSER": "Hvordan dit rovider kender jer. Det er som bruger at sætte i stedet for opkalderens id når du ringer til peer (en anden SIP proxy). Gælder kun for type=peer.",
       "OUTBOUNDPROXY": "IP_adresse eller DNS SRV name (undtagen _sip._udp præfiks) : SRV name, hostname eller IP-adressen på den udgående SIP Proxy. Send outbound signalerer denne proxy, ikke direkte til enhederne. Gælder kun for type=peer.",
       "PORT": "Portnummeret vi vil knytte til den eksterne side.",
-      "CONTEXT": "De udnyttelige kontekst til bagagerummet.",
-      "TYPE": "Bestemmer SIP rolle i stjerne. Bruger: bruges til at autentificere indgående - Peer: til udgående opkald - Ven: dækker både beskrivelse af ovenstående.",
       "DTMFMODE": "Hvordan DTMF (Dual-Tone Multi-Frequency) sendes: RFC2833: standardindstillingen, DTMF sendes med rtp men uden lyden. INBAND: DTMF sendes i audio stream i den aktuelle samtale, stadig høres fra højttalerne. Kræver en høj CPU belastning. INFO: Selvom metoden er meget pålidelig, er det ikke understøttet af alle PBX SIP Trunk og mange enheder.",
       "NAT": "Ændrer adfærden hos stjerne for klienter bag en firewall.Hvis en kommasepareret muligheder er 'nej', Stjerne vil ignorere alle indstillinger og sæt nat=no.",
       "QUALIFY": "Afgør, hvornår SIP er opnåeligt.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Opsætter transporter. Rækkefølgen bestemmer den primære standard transport.",
       "OTHERFIELDS": "Andre felter for at tilføje i trunks conf filer. Skal skrives ind i stjerne-format (nøgle=værdi) af de enkelte felter i en enkelt række.",
       "EMAILADDRESS": "Du kan tilføje flere adresser med komma (f.eks. [email-masked], [email-masked])",
-      "NAME": "Kun tal og bogstaver og specielle tegn (.________) understøttes",
       "EVENTVARIABLES": "Hvis aktiveret, tilføjer alle tilfælde variabler til url",
       "T38PT_UDPTL": "Es: ja,redundans,maxdatagram=400",
       "EMAILBCCADDRESS": "Tilføj en eller flere adresser adskilt af kommaer (fx [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Avanceret",
     "OTHER": "Andre",
     "ACTIVE": "Aktiv",
-    "CONTEXT": "Kontekst",
     "CALLERID": "Nummervisning",
-    "TYPE": "Type",
     "DTMFMODE": "DTMF TILSTAND",
     "NAT": "NAT",
     "QUALIFY": "Kvalificere",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL FREM",
     "WEB_POPUP": "Web-Popup",
-    "LIST": "Listen",
     "INTEGRATION": "Integration",
     "TEMPLATE": "Skabelon",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/de.json b/public/app/main/apps/tools/i18n/de.json
index f1edb1a..a1603cd 100644
--- a/public/app/main/apps/tools/i18n/de.json
+++ b/public/app/main/apps/tools/i18n/de.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Anruf",
-    "NAME": "Name",
     "TRUNKS": "Amtsleitungen",
     "SEARCH_FOR_ANYONE": "Suche für Jedermann",
     "ERRORS": {
-      "NAME_REQUIRED": "Der Name ist erforderlich",
-      "HOST_REQUIRED": "Der Host wird benötigt",
       "DEFAULTUSER_REQUIRED": "Der Standardbenutzer ist erforderlich",
       "CALLERID_REQUIRED": "Die Anrufer-ID ist erforderlich",
-      "KEY_REQUIRED": "Der Schlüssel ist erforderlich",
       "CONFIRM_NOT_MATCH": "Die Kennwörter nicht übereinstimmen",
       "VALIDITYSTART_REQUIRED": "Die Startzeit ist erforderlich",
       "VALIDITYEND_REQUIRED": "Das Ende der Zeit ist erforderlich",
       "MONTHDAY_REQUIRED": "Tag des Monats ist erforderlich",
       "HOUR_REQUIRED": "Die Stunde ist erforderlich",
       "CONTENT_REQUIRED": "Der Inhalt ist erforderlich",
-      "URL_REQUIRED": "Die URL ist erforderlich",
       "URL_MUST_VALID_URL": "Die URL muss gültig sein",
       "APPLICATION_REQUIRED": "Die Anwendung ist erforderlich",
       "ARGUMENTS_REQUIRED": "Die Argumente sind erforderlich",
-      "NAME_MUST_VALID_PATTERN": "Der Name muss in einem gültigen Format geschrieben werden",
       "POLLING_INTERVAL_REQUIRED": "Das Abfrageintervall ist erforderlich",
       "TITLE_REQUIRED": "Der Titel ist erforderlich",
       "EMAILADDRESS_REQUIRED": "Die E-Mail Adresse ist erforderlich",
       "EVENTVARIABLES_REQUIRED": "Pflichtfeld",
-      "TYPE_REQUIRED": "Pflichtfeld",
-      "VALUE_REQUIRED": "Pflichtfeld",
       "ACCOUNT_REQUIRED": "Pflichtfeld",
-      "FIELD_REQUIRED": "Pflichtfeld",
       "INTEGRATION_REQUIRED": "Pflichtfeld",
-      "LIST_REQUIRED": "Pflichtfeld",
       "TEMPLATE_REQUIRED": "Pflichtfeld",
       "AUTOCREATECONTACT_REQUIRED": "Pflichtfeld",
-      "OUTBOUNDROUTE_REQUIRED": "Pflichtfeld",
-      "QUEUE_REQUIRED": "Pflichtfeld",
       "TIME_RANGE_TO_REQUIRED": "Pflichtfeld",
       "WEEK_DAYS_TO_REQUIRED": "Pflichtfeld",
       "MONTH_DAYS_TO_REQUIRED": "Pflichtfeld",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Falsches Format",
       "ACTION_REQUIRED": "Pflichtfeld",
       "CONFIGURATION_REQUIRED": "Pflichtfeld",
-      "PROJECT_REQUIRED": "Pflichtfeld",
       "LOCATION_REQUIRED": "Pflichtfeld",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "FONTSIZE_REQUIRED": "Pflichtfeld",
       "PATH_REQUIRED": "Pflichtfeld",
       "FORMAT_REQUIRED": "Pflichtfeld",
       "REPORT_REQUIRED": "Pflichtfeld",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Pflichtfeld",
       "REPORTSUBFOLDER_REQUIRED": "Pflichtfeld",
       "REPORTTYPE_REQUIRED": "Pflichtfeld",
-      "AGENT_REQUIRED": "Pflichtfeld",
       "INFO_REQUIRED": "Pflichtfeld",
       "SCRIPT_REQUIRED": "Pflichtfeld",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "TIMEOUT_REQUIRED": "Pflichtfeld",
       "AUTOCREATE_FIELD_REQUIRED": "Pflichtfeld"
     },
     "HOST": "Host",
@@ -83,8 +64,6 @@
       "FROMUSER": "Rovider wie ihr sie kennt. Dies ist der Benutzer, um anstelle der Anrufer-ID beim Tätigen von Anrufen zu anderen Peer (SIP-Proxy). Nur gültig für den Typ=peer.",
       "OUTBOUNDPROXY": "IP-Adresse oder DNS-SRV-Ressourceneintrag name (ausgenommen die _sip._udp-Präfix): SRV Name, den Hostnamen oder die IP-Adresse des ausgehenden SIP-Proxy. Senden Sie ausgehende Signale zu diesem Proxy und nicht direkt an die Geräte. Nur gültig für den Typ=peer.",
       "PORT": "Die Nummer des Ports, zu dem Sie eine Verbindung herstellen möchten wir auf der anderen Seite.",
-      "CONTEXT": "Die nutzbaren Rahmen für den Trunk.",
-      "TYPE": "Legt das SIP-Rolle innerhalb der Sternchen. User: Wird verwendet, um die Authentifizierung für eingehende - Peer: für ausgehende Anrufe - Freund: Deckt sowohl die Eigenschaften der oben genannten.",
       "DTMFMODE": "Wie DTMF (Dual-Tone Multi-Frequency): RFC2833: Die Standardeinstellung, die DTMF gesendet mit RTP, aber außerhalb der Audio Stream. INBAND DTMF gesendet wird: Die in der Audio Stream des aktuellen Gesprächs, wird über die Lautsprecher hörbar. Erfordert eine hohe CPU-Last. INFO: Diese Methode ist zwar sehr zuverlässig, es ist nicht für alle TK-Anlagen und viele SIP-Trunk.",
       "NAT": "Ändert das Verhalten von Sternchen für Clients hinter einer Firewall.Wenn der Komma-getrennten Optionen ist \"Nein\", Asterisk ignoriert alle anderen Einstellungen und die nat=No.",
       "QUALIFY": "Legt fest, wann die SIP erreichbar ist.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Festlegen der Standardeinstellungen für Transporte. Die Reihenfolge bestimmt den primären Standard.",
       "OTHERFIELDS": "Weitere Felder hinzufügen, in der Amtsleitungen conf-Dateien. In Sternchen format (key=value), jedes Feld auf einer Zeile.",
       "EMAILADDRESS": "Sie können mehrere Adressen mit Kommata (z. b. [email-masked], [email-masked])",
-      "NAME": "Nur Zahlen, Buchstaben und Sonderzeichen (._) werden unterstützt.",
       "EVENTVARIABLES": "Wenn aktiviert, Es fügt alle Event Variablen an die Url",
       "T38PT_UDPTL": "Es: Ja, Redundanz, maxdatagram = 400",
       "EMAILBCCADDRESS": "Fügen Sie eine oder mehrere durch Kommas getrennte Adressen hinzu (z. B. [email-masked], [email-masked]).",
@@ -120,9 +98,7 @@
     "ADVANCED": "Erweiterte",
     "OTHER": "Andere",
     "ACTIVE": "Aktiv",
-    "CONTEXT": "Kontext",
     "CALLERID": "Die Anrufer-ID",
-    "TYPE": "Typ",
     "DTMFMODE": "Mfv-Modus",
     "NAT": "NAT",
     "QUALIFY": "Qualifizieren",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL Weiterleitung",
     "WEB_POPUP": "Web Popup",
-    "LIST": "Liste",
     "INTEGRATION": "Integration",
     "TEMPLATE": "Vorlage",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/en.json b/public/app/main/apps/tools/i18n/en.json
index 4bf5640..0bcfcb7 100644
--- a/public/app/main/apps/tools/i18n/en.json
+++ b/public/app/main/apps/tools/i18n/en.json
@@ -51,7 +51,6 @@
     "MESSAGE": "Message",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "Call",
-    "NAME": "Name",
     "TRUNKS": "Trunks",
     "SEARCH_FOR_ANYONE": "Search",
     "SCRIPT": "Script",
@@ -65,42 +64,29 @@
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "REFRESH_REQUIRED": "Mandatory field",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FONTSIZE_REQUIRED": "Mandatory field",
       "PATH_REQUIRED": "Mandatory field",
       "FORMAT_REQUIRED": "Mandatory field",
       "REPORT_REQUIRED": "Mandatory field",
-      "TYPE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
       "ACCOUNT_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
       "DEFAULTUSER_REQUIRED": "Mandatory field",
       "CALLERID_REQUIRED": "Mandatory field",
-      "KEY_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The Passwords don't match",
       "VALIDITYSTART_REQUIRED": "Mandatory field",
       "VALIDITYEND_REQUIRED": "Mandatory field",
       "MONTHDAY_REQUIRED": "Mandatory field",
       "HOUR_REQUIRED": "Mandatory field",
       "CONTENT_REQUIRED": "Mandatory field",
-      "URL_REQUIRED": "Mandatory field",
       "URL_MUST_VALID_URL": "Wrong format",
       "APPLICATION_REQUIRED": "Mandatory field",
       "ARGUMENTS_REQUIRED": "Mandatory field",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
       "POLLING_INTERVAL_REQUIRED": "Mandatory field",
       "TITLE_REQUIRED": "Mandatory field",
       "EMAILADDRESS_REQUIRED": "Mandatory field",
       "EVENTVARIABLES_REQUIRED": "Mandatory field",
       "INTEGRATION_REQUIRED": "Mandatory field",
-      "LIST_REQUIRED": "Mandatory field",
       "TEMPLATE_REQUIRED": "Mandatory field",
       "AUTOCREATECONTACT_REQUIRED": "Mandatory field",
       "AUTOCREATE_FIELD_REQUIRED": "Mandatory field",
-      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
-      "QUEUE_REQUIRED": "Mandatory field",
       "TIME_RANGE_TO_REQUIRED": "Mandatory field",
       "WEEK_DAYS_TO_REQUIRED": "Mandatory field",
       "MONTH_DAYS_TO_REQUIRED": "Mandatory field",
@@ -109,16 +95,11 @@
       "TIME_RANGE_TO_INVALID": "Wrong Format",
       "ACTION_REQUIRED": "Mandatory field",
       "CONFIGURATION_REQUIRED": "Mandatory field",
-      "PROJECT_REQUIRED": "Mandatory field",
       "LOCATION_REQUIRED": "Mandatory field",
       "OUTPUT_REQUIRED": "Mandatory field",
       "REPORTTYPE_REQUIRED": "Mandatory field",
       "REPORTFOLDER_REQUIRED": "Mandatory field",
-      "REPORTSUBFOLDER_REQUIRED": "Mandatory field",
-      "AGENT_REQUIRED": "Mandatory field",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to"
+      "REPORTSUBFOLDER_REQUIRED": "Mandatory field"
     },
     "HOST": "Host",
     "SECRET": "Secret",
@@ -140,8 +121,6 @@
       "FROMUSER": "How your provider knows you. This is which user to put instead of callerid when placing calls to peer (another SIP proxy). Valid only for type=peer.",
       "OUTBOUNDPROXY": "IP_address or DNS SRV name (excluding the _sip._udp prefix): SRV name, hostname, or IP address of the outbound SIP Proxy. Send outbound signaling to this proxy, not directly to the devices. Valid only for type=peer.",
       "PORT": "The SIP port number",
-      "CONTEXT": "The context for the trunk",
-      "TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
       "DTMFMODE": "How DTMF (Dual-Tone Multi-Frequency) are sent. RFC2833: the default mode, the DTMF are sent with RTP but outside the audio stream. INBAND: The DTMF is sent in audio stream of the current conversation, becoming audible from the speakers. Requires a high CPU load. INFO: Although this method is very reliable, it is not supported by all PBX devices and many SIP Trunks.",
       "NAT": "Change the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore any other settings and set nat=no.",
       "QUALIFY": "Determine when the SIP is achievable",
@@ -159,7 +138,6 @@
       "EMAILADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
       "EMAILBCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "EVENTVARIABLES": "If enabled, it adds all the event variables to the url (recommended value=No. Set to Yes only for evaluation purposes) ",
       "HEADERS": "Note: Headers section must be in RAW JSON format {\"key\":\"value\"} \nNote: If not filled out, the default value will be sent",
       "BODY": "Note: the body must be in RAW JSON format {\"key\":\"value\"} \nNote: If not filled out, the default value will be sent",
@@ -172,9 +150,7 @@
     "ADVANCED": "Advanced",
     "OTHER": "Other",
     "ACTIVE": "Active",
-    "CONTEXT": "Context",
     "CALLERID": "Caller ID",
-    "TYPE": "Type",
     "DTMFMODE": "DTMF Mode",
     "NAT": "NAT",
     "QUALIFY": "Qualify",
@@ -363,7 +339,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL Forward",
     "WEB_POPUP": "Web Popup",
-    "LIST": "List",
     "INTEGRATION": "Integration",
     "TEMPLATE": "Template",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/es.json b/public/app/main/apps/tools/i18n/es.json
index 19c9e99..40b2c6b 100644
--- a/public/app/main/apps/tools/i18n/es.json
+++ b/public/app/main/apps/tools/i18n/es.json
@@ -7,7 +7,6 @@
       "CALLCOUNTER": "Habilitar contadores de llamadas en dispositivos",
       "CALLERID": "El identificador de llamadas, en el formato \"nombre\" <número>",
       "CALL_LIMIT": "El número límite de las llamadas concurrentes entrantes y salientes",
-      "CONTEXT": "El contexto para la troncal",
       "DEFAULTUSER": "Nombre de usuario de autenticación",
       "DIRECTMEDIA": "Asterisk de forma predeterminada intenta redirigir la transmisión de medios RTP para ir directamente de la persona que llama al destinatario. Algunos dispositivos no son compatibles con esto (especialmente si uno de ellos está detrás de un NAT). La configuración predeterminada es SÍ. Si tiene todos los clientes detrás de una NAT, o por alguna otra razón desea que Asterisk permanezca en la ruta de audio, es posible que desee desactivarlo.",
       "DTMFMODE": "Cómo se envían DTMF (Dual-Tone Multi-Frequency). RFC2833: el modo predeterminado, los DTMF se envían con RTP pero fuera de la transmisión de audio. INBAND: El DTMF se envía en audio de la conversación actual, siendo audible desde los altavoces. Requiere una alta carga de CPU. INFORMACIÓN: Aunque este método es muy confiable, no es compatible con todos los dispositivos PBX y muchos enlaces troncales SIP.",
@@ -18,7 +17,6 @@
       "FROMUSER": "Cómo lo conoce su proveedor Este es el usuario que debe colocar en lugar de callerid al realizar llamadas a pares (otro proxy SIP). Válido solo para type = peer.",
       "HOST": "El dominio o nombre de host",
       "INSECURE": "Especifique cómo manejar las conexiones con el par, permitiendo configuraciones inseguras",
-      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
       "NAT": "Cambia el comportamiento de Asterisk para clientes detrás de un firewall. Si alguna de las opciones separadas por comas es 'no', Asterisk ignorará cualquier otra configuración y establecerá nat = no.",
       "OTHERFIELDS": "Otros campos para agregar en las troncales conf archivos. Siga el formato de Asterisk predeterminado (clave = valor), cada campo en una sola fila ",
       "OUTBOUNDPROXY": "Dirección IP o nombre DNS SRV (excluyendo el prefijo _sip._udp): nombre SRV, nombre de host o dirección IP del SIP Proxy saliente. Envíe la señalización saliente a este proxy, no directamente a los dispositivos. Válido solo para type = peer.",
@@ -30,7 +28,6 @@
       "T38PT_UDPTL": "Es: sí, redundancia, maxdatagram = 400",
       "TRANSPORT": "Establezca los transportes predeterminados, en orden de preferencia",
       "TRUST_REMOTE_PARTY_ID": "Definir si Remote-Party-ID debe ser de confianza",
-      "TYPE": "Determine el rol de SIP dentro de un asterisco. Usuario: usado para autenticar entrantes - Peer: para llamadas salientes - Amigo: cubre ambas características de las anteriores.",
       "EMAILBCCADDRESS": "Agregue una o varias direcciones separadas por comas (por ejemplo, [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Agregue una o varias direcciones separadas por comas (por ejemplo, [email-masked], [email-masked])",
       "BODY": "Si no se completa, se enviará el valor predeterminado.",
@@ -54,27 +51,16 @@
       "DEFAULTUSER_REQUIRED": "Campo obligatorio",
       "EMAILADDRESS_REQUIRED": "Campo obligatorio",
       "EVENTVARIABLES_REQUIRED": "Campo obligatorio",
-      "FIELD_REQUIRED": "Campo obligatorio",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "FONTSIZE_REQUIRED": "Campo obligatorio",
       "FORMAT_REQUIRED": "Campo obligatorio",
-      "HOST_REQUIRED": "Campo obligatorio",
       "HOUR_REQUIRED": "Campo obligatorio",
       "INTEGRATION_REQUIRED": "Campo obligatorio",
-      "KEY_REQUIRED": "Campo obligatorio",
-      "LIST_REQUIRED": "Campo obligatorio",
       "LOCATION_REQUIRED": "Campo obligatorio",
       "MONTHDAY_REQUIRED": "Campo obligatorio",
       "MONTH_DAYS_TO_REQUIRED": "Campo obligatorio",
       "MONTH_TO_REQUIRED": "Campo obligatorio",
-      "NAME_MUST_VALID_PATTERN": "Formato erróneo",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "OUTBOUNDROUTE_REQUIRED": "Campo obligatorio",
       "PATH_REQUIRED": "Campo obligatorio",
       "POLLING_INTERVAL_REQUIRED": "Campo obligatorio",
-      "PROJECT_REQUIRED": "Campo obligatorio",
-      "QUEUE_REQUIRED": "Campo obligatorio",
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "REFRESH_REQUIRED": "Campo obligatorio",
       "REPORT_REQUIRED": "Campo obligatorio",
@@ -83,12 +69,9 @@
       "TIME_RANGE_TO_INVALID": "Formato erróneo",
       "TIME_RANGE_TO_REQUIRED": "Campo obligatorio",
       "TITLE_REQUIRED": "Campo obligatorio",
-      "TYPE_REQUIRED": "Campo obligatorio",
       "URL_MUST_VALID_URL": "Formato erróneo",
-      "URL_REQUIRED": "Campo obligatorio",
       "VALIDITYEND_REQUIRED": "Campo obligatorio",
       "VALIDITYSTART_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
       "WEEK_DAYS_TO_REQUIRED": "Campo obligatorio",
       "TITLE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
       "NAME_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
@@ -96,12 +79,8 @@
       "REPORTFOLDER_REQUIRED": "Campo obligatorio",
       "REPORTSUBFOLDER_REQUIRED": "Campo obligatorio",
       "REPORTTYPE_REQUIRED": "Campo obligatorio",
-      "AGENT_REQUIRED": "Campo obligatorio",
       "INFO_REQUIRED": "Campo obligatorio",
       "SCRIPT_REQUIRED": "Campo obligatorio",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "TIMEOUT_REQUIRED": "Campo obligatorio",
       "AUTOCREATE_FIELD_REQUIRED": "Campo obligatorio"
     },
     "15MIN": "15 minutos",
@@ -164,7 +143,6 @@
     "CONFIRM_PASSWORD": "Confirmar contraseña",
     "CONTACT_MANAGER": "Administrador de contactos",
     "CONTENT": "Contenido",
-    "CONTEXT": "Contexto",
     "COUNTER": "Mostrador",
     "CREATED_AT": "Creado en",
     "CRON": "Cron",
@@ -274,7 +252,6 @@
     "LAYOUT": "Diseño",
     "LIGHT": "Ligero",
     "LINK": "Enlace [https://]",
-    "LIST": "Lista",
     "LOCATION": "Ubicación",
     "MAIL": "Email",
     "MAILACCOUNT": "Cuenta de correo electrónico",
@@ -294,7 +271,6 @@
     "MOTIONBAR": "Motion Bar",
     "MOVE_WIDGET": "Mover Widget",
     "MULTIBARCHART": "Gráfico Multibar",
-    "NAME": "Nombre",
     "NAT": "NAT",
     "NEW_ACTION": "Nueva acción",
     "NEW_ALLCONDITION": "Nueva condición",
@@ -402,7 +378,6 @@
     "TRUNKS": "Troncal",
     "TRUST_REMOTE_PARTY_ID": "Trust Remote Party ID",
     "TUE": "martes",
-    "TYPE": "Tipo",
     "UNMANAGED": "No administrado",
     "UPDATE": "Actualizar",
     "UPLOAD_SOUND": "Herramientas",
diff --git a/public/app/main/apps/tools/i18n/et.json b/public/app/main/apps/tools/i18n/et.json
index 9b10ae4..205301c 100644
--- a/public/app/main/apps/tools/i18n/et.json
+++ b/public/app/main/apps/tools/i18n/et.json
@@ -49,7 +49,6 @@
     "MESSAGE": "Message",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "Call",
-    "NAME": "Name",
     "TRUNKS": "Trunks",
     "SEARCH_FOR_ANYONE": "Search",
     "ERRORS": {
@@ -58,41 +57,28 @@
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "REFRESH_REQUIRED": "Mandatory field",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "FONTSIZE_REQUIRED": "Mandatory field",
       "PATH_REQUIRED": "Mandatory field",
       "FORMAT_REQUIRED": "Mandatory field",
       "REPORT_REQUIRED": "Mandatory field",
-      "TYPE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
       "ACCOUNT_REQUIRED": "Mandatory field",
-      "FIELD_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
-      "HOST_REQUIRED": "Mandatory field",
       "DEFAULTUSER_REQUIRED": "Mandatory field",
       "CALLERID_REQUIRED": "Mandatory field",
-      "KEY_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The Passwords don't match",
       "VALIDITYSTART_REQUIRED": "Mandatory field",
       "VALIDITYEND_REQUIRED": "Mandatory field",
       "MONTHDAY_REQUIRED": "Mandatory field",
       "HOUR_REQUIRED": "Mandatory field",
       "CONTENT_REQUIRED": "Mandatory field",
-      "URL_REQUIRED": "Mandatory field",
       "URL_MUST_VALID_URL": "Wrong format",
       "APPLICATION_REQUIRED": "Mandatory field",
       "ARGUMENTS_REQUIRED": "Mandatory field",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
       "POLLING_INTERVAL_REQUIRED": "Mandatory field",
       "TITLE_REQUIRED": "Mandatory field",
       "EMAILADDRESS_REQUIRED": "Mandatory field",
       "EVENTVARIABLES_REQUIRED": "Mandatory field",
       "INTEGRATION_REQUIRED": "Mandatory field",
-      "LIST_REQUIRED": "Mandatory field",
       "TEMPLATE_REQUIRED": "Mandatory field",
       "AUTOCREATECONTACT_REQUIRED": "Mandatory field",
-      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
-      "QUEUE_REQUIRED": "Mandatory field",
       "TIME_RANGE_TO_REQUIRED": "Mandatory field",
       "WEEK_DAYS_TO_REQUIRED": "Mandatory field",
       "MONTH_DAYS_TO_REQUIRED": "Mandatory field",
@@ -101,18 +87,13 @@
       "TIME_RANGE_TO_INVALID": "Wrong Format",
       "ACTION_REQUIRED": "Mandatory field",
       "CONFIGURATION_REQUIRED": "Mandatory field",
-      "PROJECT_REQUIRED": "Mandatory field",
       "LOCATION_REQUIRED": "Mandatory field",
       "OUTPUT_REQUIRED": "Mandatory field",
       "REPORTTYPE_REQUIRED": "Mandatory field",
       "REPORTFOLDER_REQUIRED": "Mandatory field",
       "REPORTSUBFOLDER_REQUIRED": "Mandatory field",
-      "AGENT_REQUIRED": "Kohustuslik väli",
       "INFO_REQUIRED": "Kohustuslik väli",
       "SCRIPT_REQUIRED": "Kohustuslik väli",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne",
-      "TIMEOUT_REQUIRED": "Kohustuslik väli",
       "AUTOCREATE_FIELD_REQUIRED": "Kohustuslik väli"
     },
     "HOST": "Host",
@@ -131,8 +112,6 @@
       "FROMUSER": "How your provider knows you. This is which user to put instead of callerid when placing calls to peer (another SIP proxy). Valid only for type=peer.",
       "OUTBOUNDPROXY": "IP_address or DNS SRV name (excluding the _sip._udp prefix): SRV name, hostname, or IP address of the outbound SIP Proxy. Send outbound signaling to this proxy, not directly to the devices. Valid only for type=peer.",
       "PORT": "The SIP port number",
-      "CONTEXT": "The context for the trunk",
-      "TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
       "DTMFMODE": "How DTMF (Dual-Tone Multi-Frequency) are sent. RFC2833: the default mode, the DTMF are sent with RTP but outside the audio stream. INBAND: The DTMF is sent in audio stream of the current conversation, becoming audible from the speakers. Requires a high CPU load. INFO: Although this method is very reliable, it is not supported by all PBX devices and many SIP Trunks.",
       "NAT": "Change the behaviour of Asterisk for clients behind a firewall. If any of the comma-separated options is 'no', Asterisk will ignore any other settings and set nat=no.",
       "QUALIFY": "Determine when the SIP is achievable",
@@ -150,7 +129,6 @@
       "EMAILADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
       "EMAILBCCADDRESS": "Add one or multiple addresses separated by commas (e.g. [email-masked], [email-masked])",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "EVENTVARIABLES": "If enabled, it adds all the event variables to the url (recommended value=No. Set to Yes only for evaluation purposes) ",
       "BODY": "If not filled out, the default value will be sent",
       "HEADERS": "Märkus. Päiste jaotis peab olema RAW JSON-vormingus {\"võti\": \"väärtus\"}\nMärkus: kui seda ei täideta, saadetakse vaikeväärtus",
@@ -167,9 +145,7 @@
     "ADVANCED": "Advanced",
     "OTHER": "Other",
     "ACTIVE": "Active",
-    "CONTEXT": "Context",
     "CALLERID": "Caller ID",
-    "TYPE": "Type",
     "DTMFMODE": "DTMF Mode",
     "NAT": "NAT",
     "QUALIFY": "Qualify",
@@ -358,7 +334,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL Forward",
     "WEB_POPUP": "Web Popup",
-    "LIST": "List",
     "INTEGRATION": "Integration",
     "TEMPLATE": "Template",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/fa.json b/public/app/main/apps/tools/i18n/fa.json
index 4a2fcf8..c79e0ec 100644
--- a/public/app/main/apps/tools/i18n/fa.json
+++ b/public/app/main/apps/tools/i18n/fa.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "تلفن",
-    "NAME": "نام",
     "TRUNKS": "صندوقها",
     "SEARCH_FOR_ANYONE": "در جستجوی کسی",
     "ERRORS": {
-      "NAME_REQUIRED": "نام لازم است.",
-      "HOST_REQUIRED": "ميزبان لازم است.",
       "DEFAULTUSER_REQUIRED": "کاربر پیش فرض لازم است.",
       "CALLERID_REQUIRED": "شناسه تماس گیرنده لازم است.",
-      "KEY_REQUIRED": "کلید مورد نیاز است.",
       "CONFIRM_NOT_MATCH": "از دون' t مسابقه اسامی رمز",
       "VALIDITYSTART_REQUIRED": "شروع زمان لازم است.",
       "VALIDITYEND_REQUIRED": "پايان زمان لازم است.",
       "MONTHDAY_REQUIRED": "ماه در روز لازم است.",
       "HOUR_REQUIRED": "ساعت لازم است.",
       "CONTENT_REQUIRED": "محتوای مورد نیاز است.",
-      "URL_REQUIRED": "URL مورد نیاز است.",
       "URL_MUST_VALID_URL": "URL باید معتبر باشد.",
       "APPLICATION_REQUIRED": "برنامه کاربردی مورد نیاز است.",
       "ARGUMENTS_REQUIRED": "دلايل لازم هستند.",
-      "NAME_MUST_VALID_PATTERN": "نام باید با فرمت معتبر نوشته شده است",
       "POLLING_INTERVAL_REQUIRED": "از حوزه فاصله لازم است.",
       "TITLE_REQUIRED": "به عنوان مورد نیاز است.",
       "EMAILADDRESS_REQUIRED": "آدرس ایمیل لازم است.",
       "EVENTVARIABLES_REQUIRED": "رشته الزامی",
-      "TYPE_REQUIRED": "رشته الزامی",
-      "VALUE_REQUIRED": "رشته الزامی",
       "ACCOUNT_REQUIRED": "رشته الزامی",
-      "FIELD_REQUIRED": "رشته الزامی",
       "INTEGRATION_REQUIRED": "رشته الزامی",
-      "LIST_REQUIRED": "رشته الزامی",
       "TEMPLATE_REQUIRED": "رشته الزامی",
       "AUTOCREATECONTACT_REQUIRED": "رشته الزامی",
-      "OUTBOUNDROUTE_REQUIRED": "رشته الزامی",
-      "QUEUE_REQUIRED": "رشته الزامی",
       "TIME_RANGE_TO_REQUIRED": "رشته الزامی",
       "WEEK_DAYS_TO_REQUIRED": "رشته الزامی",
       "MONTH_DAYS_TO_REQUIRED": "رشته الزامی",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "فرمت نادرست",
       "ACTION_REQUIRED": "رشته الزامی",
       "CONFIGURATION_REQUIRED": "رشته الزامی",
-      "PROJECT_REQUIRED": "رشته الزامی",
       "LOCATION_REQUIRED": "رشته الزامی",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
-      "FONTSIZE_REQUIRED": "زمینه اجباری",
       "PATH_REQUIRED": "زمینه اجباری",
       "FORMAT_REQUIRED": "زمینه اجباری",
       "REPORT_REQUIRED": "زمینه اجباری",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "زمینه اجباری",
       "REPORTSUBFOLDER_REQUIRED": "زمینه اجباری",
       "REPORTTYPE_REQUIRED": "زمینه اجباری",
-      "AGENT_REQUIRED": "زمینه اجباری",
       "INFO_REQUIRED": "زمینه اجباری",
       "SCRIPT_REQUIRED": "زمینه اجباری",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی باشد",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر از یا مساوی باشد",
-      "TIMEOUT_REQUIRED": "زمینه اجباری",
       "AUTOCREATE_FIELD_REQUIRED": "زمینه اجباری"
     },
     "HOST": "کشور میزبان",
@@ -83,8 +64,6 @@
       "FROMUSER": "آیا شما چگونه rovider می داند. این است که کاربر را به جای callerid وقتی طرحی را می نامد (نظیر-نوشيدني ديگر بجنگند). فقط به خاطر نوع معتبر=مقدس طوی هستی.",
       "OUTBOUNDPROXY": "IP address و DNS SRV (حذف نام اين نوشيدني - خيلى لطف داربد._udp وراث): SRV نام hostname یا IP از کارکنان ديگر نوشيدني بجنگند. برای ارسال به اين نشانهء بجنگند، نه به طور مستقیم به دستگاه های دیگر است. فقط به خاطر نوع معتبر=مقدس طوی هستی.",
       "PORT": "ما مى خواهيم از شماره پورت برای اتصال از راه دور را بر طرف كرد.",
-      "CONTEXT": "در بافت exploitable برای بالا تنه است.",
-      "TYPE": "نقش تعيين كننده در داخل نوشيدني asterisk است. کاربر تایید اعتبار ورودی استفاده می شود: - برای تماس های خروجی کمبودى: دوست: - هر دو خصوصیات پوشش بالاتر است.",
       "DTMFMODE": "چگونه Dual-Tone Multi-Frequency (DTMF) فرستاده اند: RFC2833: در حالت پیش فرض، با RTP ارسال DTMF هستند ولی در خارج از سیستم صوتی در جريان است. INBAND: DTMF صوتی فرستاده است که در جریان گفتگو، جاري شدن بوق از بلندگو است. يك بار CPU بالا نیاز دارد. اطلاعات بیشتر: اگرچه اين روش بسيار معتبر است و نه مورد حمايت همه دستگاه ها و بسياري از PBX تنه نوشيدني است.",
       "NAT": "تغییرات در رفتار Asterisk برای مراجعان در پشت یک دیوار آتش است.اگر یکی از گزینه ها از جمله جدا شده است خیر، Asterisk تنظیمات دیگری را ناديده گرفته خواهد شد و 3-1=تنظیم خیر.",
       "QUALIFY": "وقتي اين نوشيدني تعيين كننده دست يافتني است.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "تنظیم پیش فرض را در خلسه است. نظام حمل و نقل پیش فرض اولیه را تعیین می کند.",
       "OTHERFIELDS": "ساير رشته ها افزودن فایل conf در كتابی محفوظ شده است. نوشته مى شد با فرمت (کلید asterisk=مقدار) و هر رشته را در یك ردیف است.",
       "EMAILADDRESS": "شما می توانید با استفاده از آدرس های چندگانه (مثلاً Commas [email-masked]، [email-masked])",
-      "NAME": "فقط شماره ها و حروف و نویسه های ویژه (_) پشتیبانی می شود.",
       "EVENTVARIABLES": "اگر فعال باشد، مي افزايد: اين واقعه همه متغیرها به Url",
       "T38PT_UDPTL": "تكثير مترادفات: بله,Es,maxdatagram=400",
       "EMAILBCCADDRESS": "یک یا چند آدرس جداگانه توسط کاما اضافه کنید (به عنوان مثال [email-masked]، [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "پيش رفت.",
     "OTHER": "ساير",
     "ACTIVE": "فعال",
-    "CONTEXT": "متن",
     "CALLERID": "شناسه تماس گیرنده",
-    "TYPE": "نوع دستگاه",
     "DTMFMODE": "حالت DTMF",
     "NAT": "ویتنام میزبان",
     "QUALIFY": "نوجوانان",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "آدرس کامل به جلو",
     "WEB_POPUP": "وب Popup",
-    "LIST": "فهرست",
     "INTEGRATION": "یکپارچگی",
     "TEMPLATE": "الگوی",
     "URL": "آدرس کامل",
diff --git a/public/app/main/apps/tools/i18n/fi.json b/public/app/main/apps/tools/i18n/fi.json
index 673d499..3556b65 100644
--- a/public/app/main/apps/tools/i18n/fi.json
+++ b/public/app/main/apps/tools/i18n/fi.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Soita",
-    "NAME": "Nimi",
     "TRUNKS": "Arkut",
     "SEARCH_FOR_ANYONE": "Etsi joku",
     "ERRORS": {
-      "NAME_REQUIRED": "Nimi on pakollinen",
-      "HOST_REQUIRED": "Isäntä ei tarvita",
       "DEFAULTUSER_REQUIRED": "Käyttäjän on pakollinen",
       "CALLERID_REQUIRED": "Soittajan tunnus on pakollinen",
-      "KEY_REQUIRED": "Avainta ei tarvita",
       "CONFIRM_NOT_MATCH": "Salasana ei vastaa t",
       "VALIDITYSTART_REQUIRED": "Aloitusaika on pakollinen",
       "VALIDITYEND_REQUIRED": "Päättymisaika on pakollinen",
       "MONTHDAY_REQUIRED": "Kuukausi päivä ei tarvita",
       "HOUR_REQUIRED": "Siihen asti kunnes tunti on pakollinen",
       "CONTENT_REQUIRED": "Sisältö on pakollinen",
-      "URL_REQUIRED": "URL-osoite on pakollinen",
       "URL_MUST_VALID_URL": "URL-osoitteen täytyy olla voimassa",
       "APPLICATION_REQUIRED": "Sovellus ei tarvita",
       "ARGUMENTS_REQUIRED": "Perustelut eivät ole tarpeen mukaan",
-      "NAME_MUST_VALID_PATTERN": "Nimi on kirjoitettava kelvollisessa muodossa",
       "POLLING_INTERVAL_REQUIRED": "Polling välejä",
       "TITLE_REQUIRED": "Otsikko on pakollinen",
       "EMAILADDRESS_REQUIRED": "Sähköpostiosoite on pakollinen",
       "EVENTVARIABLES_REQUIRED": "Pakollinen kenttä.",
-      "TYPE_REQUIRED": "Pakollinen kenttä.",
-      "VALUE_REQUIRED": "Pakollinen kenttä.",
       "ACCOUNT_REQUIRED": "Pakollinen kenttä.",
-      "FIELD_REQUIRED": "Pakollinen kenttä.",
       "INTEGRATION_REQUIRED": "Pakollinen kenttä.",
-      "LIST_REQUIRED": "Pakollinen kenttä.",
       "TEMPLATE_REQUIRED": "Pakollinen kenttä.",
       "AUTOCREATECONTACT_REQUIRED": "Pakollinen kenttä.",
-      "OUTBOUNDROUTE_REQUIRED": "Pakollinen kenttä.",
-      "QUEUE_REQUIRED": "Pakollinen kenttä.",
       "TIME_RANGE_TO_REQUIRED": "Pakollinen kenttä.",
       "WEEK_DAYS_TO_REQUIRED": "Pakollinen kenttä.",
       "MONTH_DAYS_TO_REQUIRED": "Pakollinen kenttä.",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Väärä sovellusmuoto",
       "ACTION_REQUIRED": "Pakollinen kenttä.",
       "CONFIGURATION_REQUIRED": "Pakollinen kenttä.",
-      "PROJECT_REQUIRED": "Pakollinen kenttä.",
       "LOCATION_REQUIRED": "Pakollinen kenttä.",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "FONTSIZE_REQUIRED": "Pakollinen kenttä",
       "PATH_REQUIRED": "Pakollinen kenttä",
       "FORMAT_REQUIRED": "Pakollinen kenttä",
       "REPORT_REQUIRED": "Pakollinen kenttä",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Pakollinen kenttä",
       "REPORTSUBFOLDER_REQUIRED": "Pakollinen kenttä",
       "REPORTTYPE_REQUIRED": "Pakollinen kenttä",
-      "AGENT_REQUIRED": "Pakollinen kenttä",
       "INFO_REQUIRED": "Pakollinen kenttä",
       "SCRIPT_REQUIRED": "Pakollinen kenttä",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "TIMEOUT_REQUIRED": "Pakollinen kenttä",
       "AUTOCREATE_FIELD_REQUIRED": "Pakollinen kenttä"
     },
     "HOST": "Host",
@@ -83,8 +64,6 @@
       "FROMUSER": "Miten rovider tietää. Tämä on käyttäjän asettamaan sen sijaan, kun numerontunnistuksen ansiosta soittaminen vertaiselle (toinen SIP proxy). Koskee vain type=kurkistelevat.",
       "OUTBOUNDPROXY": "IP_Address tai DNS SRV nimi (lukuun ottamatta _sip._udp-etuliite) : SRV nimi, isäntänimi tai IP-osoite lähtevä SIP Proxy. Lähetä lähtevä muistilinkityksen merkiksi proxy, ei suoraan laitteisiin. Koskee vain type=kurkistelevat.",
       "PORT": "Sen portin numero, haluamme liittää kaukosäätimen puolella.",
-      "CONTEXT": "Jos hyödynnettävien liittyen tavaratilassa.",
-      "TYPE": "Määrittää SIP-asema tähdellä. Käyttäjä: varmentamisessa käytettävät saapuneet - Peer: lähtevät puhelut - ystävä: kattaa molemmat ominaisuudet.",
       "DTMFMODE": "Miten DTMF (Dual-Tone Multi-Frequency) lähetetään RFC2833: oletustila, DTMF lähetetään, RTP muualla äänen suoratoistoa. INBAND: DTMF lähetetään audio stream nykyisen keskustelun tulossa kaiuttimista. Vaatii paljon suorittimen kuormitusta. INFO: Vaikka tämä menetelmä on erittäin luotettava, ei tue kaikkia PBX-laitteet ja monet SIP käsivarresta vatsan vasemmalle puolelle.",
       "NAT": "Muuttaa käyttäytymistä tähti asiakkaille palomuurin takana.Jos jokin pilkulla erotettuja valinnat on \"ei\", tähti ohittaa kaikki muut asetukset ja määritä nat=no.",
       "QUALIFY": "Määrittää, milloin SIP on toteutettavissa.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Aseta oletusarvoinen kuljetukset. Järjestys määrittää ensisijaisen oletus kuljetuksen ajaksi.",
       "OTHERFIELDS": "Muihin kenttiin URL-arkut conf. On kirjoitettu tähti format (näppäin = arvo), jokainen kenttä yhdellä rivillä.",
       "EMAILADDRESS": "Voit lisätä useita osoitteisiin pilkkuja (esim. [email-masked], [email-masked])",
-      "NAME": "Vain numeroita, kirjaimia ja erikoismerkkejä (._ tuetaan",
       "EVENTVARIABLES": "Jos toiminto on käytössä, se lisää kaikki tapahtuman muuttujat url",
       "T38PT_UDPTL": "Es: kyllä,vikasietoisuus,maxdatagram=400",
       "EMAILBCCADDRESS": "Lisää yksi tai useampia osoitteita pilkulla erotettuina (esim. [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Tarkennettu",
     "OTHER": "Muut",
     "ACTIVE": "Aktiivinen",
-    "CONTEXT": "Yhteydessä",
     "CALLERID": "Soittajan tunnus",
-    "TYPE": "Tyyppi",
     "DTMFMODE": "DTMF-tilassa",
     "NAT": "NAT",
     "QUALIFY": "Edellytysten täyttymiseksi",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL eteenpäin",
     "WEB_POPUP": "Web Popup",
-    "LIST": "Luettelo",
     "INTEGRATION": "Integrointi",
     "TEMPLATE": "Malli",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/fr.json b/public/app/main/apps/tools/i18n/fr.json
index 57dd7a2..ac77867 100644
--- a/public/app/main/apps/tools/i18n/fr.json
+++ b/public/app/main/apps/tools/i18n/fr.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Appel",
-    "NAME": "Nom",
     "TRUNKS": "Trunks",
     "SEARCH_FOR_ANYONE": "Vous pouvez chercher n'importe qui",
     "ERRORS": {
-      "NAME_REQUIRED": "Le nom est obligatoire",
-      "HOST_REQUIRED": "L'hôte est nécessaire",
       "DEFAULTUSER_REQUIRED": "L'utilisateur par défaut est nécessaire",
       "CALLERID_REQUIRED": "L'ID de l'appelant est nécessaire",
-      "KEY_REQUIRED": "La clé est nécessaire",
       "CONFIRM_NOT_MATCH": "Les mots de passe ne correspondent pas",
       "VALIDITYSTART_REQUIRED": "L'Heure de début est obligatoire",
       "VALIDITYEND_REQUIRED": "L'Heure de fin est nécessaire",
       "MONTHDAY_REQUIRED": "Le mois jour est nécessaire",
       "HOUR_REQUIRED": "L'heure est obligatoire",
       "CONTENT_REQUIRED": "Le contenu est nécessaire",
-      "URL_REQUIRED": "L'URL est nécessaire",
       "URL_MUST_VALID_URL": "L'URL doit être valide",
       "APPLICATION_REQUIRED": "L'Application est requise",
       "ARGUMENTS_REQUIRED": "Les arguments sont nécessaires",
-      "NAME_MUST_VALID_PATTERN": "Le nom doit être écrit dans un format valide",
       "POLLING_INTERVAL_REQUIRED": "L'intervalle d'interrogation est requis",
       "TITLE_REQUIRED": "Le titre est requis",
       "EMAILADDRESS_REQUIRED": "L'adresse e-mail est nécessaire",
       "EVENTVARIABLES_REQUIRED": "Champ obligatoire",
-      "TYPE_REQUIRED": "Champ obligatoire",
-      "VALUE_REQUIRED": "Champ obligatoire",
       "ACCOUNT_REQUIRED": "Champ obligatoire",
-      "FIELD_REQUIRED": "Champ obligatoire",
       "INTEGRATION_REQUIRED": "Champ obligatoire",
-      "LIST_REQUIRED": "Champ obligatoire",
       "TEMPLATE_REQUIRED": "Champ obligatoire",
       "AUTOCREATECONTACT_REQUIRED": "Champ obligatoire",
-      "OUTBOUNDROUTE_REQUIRED": "Champ obligatoire",
-      "QUEUE_REQUIRED": "Champ obligatoire",
       "TIME_RANGE_TO_REQUIRED": "Champ obligatoire",
       "WEEK_DAYS_TO_REQUIRED": "Champ obligatoire",
       "MONTH_DAYS_TO_REQUIRED": "Champ obligatoire",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Format incorrect",
       "ACTION_REQUIRED": "Champ obligatoire",
       "CONFIGURATION_REQUIRED": "Champ obligatoire",
-      "PROJECT_REQUIRED": "Champ obligatoire",
       "LOCATION_REQUIRED": "Champ obligatoire",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "FONTSIZE_REQUIRED": "Champ obligatoire",
       "PATH_REQUIRED": "Champ obligatoire",
       "FORMAT_REQUIRED": "Champ obligatoire",
       "REPORT_REQUIRED": "Champ obligatoire",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Champ obligatoire",
       "REPORTSUBFOLDER_REQUIRED": "Champ obligatoire",
       "REPORTTYPE_REQUIRED": "Champ obligatoire",
-      "AGENT_REQUIRED": "Champ obligatoire",
       "INFO_REQUIRED": "Champ obligatoire",
       "SCRIPT_REQUIRED": "Champ obligatoire",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "TIMEOUT_REQUIRED": "Champ obligatoire",
       "AUTOCREATE_FIELD_REQUIRED": "Champ obligatoire"
     },
     "HOST": "Host",
@@ -83,8 +64,6 @@
       "FROMUSER": "Comment votre rovider vous connaît. Ce qui est de mettre l'utilisateur au lieu de l'appelant lorsque vous passez des appels vers un autre poste (SIP proxy). Valable uniquement pour le type =peer.",
       "OUTBOUNDPROXY": "L'adresse IP ou nom DNS SRV (excluant le _sip._udp préfixe) : nom d'hôte, SRV, ou l'adresse IP de l'Outbound Proxy SIP. La signalisation d'appels sortants envoyer ce proxy, et non directement à l'appareil. Valable uniquement pour le type =peer.",
       "PORT": "Le numéro de port nous voulons nous connecter à distance sur le côté.",
-      "CONTEXT": "La source du contexte pour le coffre.",
-      "TYPE": "Détermine le rôle au sein de SIP Asterisk. Utilisateur : utilisé pour authentifier les - : par les pairs pour les appels sortants - AMI : couvre à la fois les caractéristiques de la ci-dessus.",
       "DTMFMODE": "Comment Dual-Tone Multi-Frequency (DTMF) sont envoyés : RFC2833 : le mode par défaut, les tonalités DTMF sont envoyés avec l'extérieur mais RTP le flux audio. INBAND : Le DTMF est envoyé en flux audio de la conversation en cours, devenir audible depuis les haut-parleurs. Exige un niveau de charge CPU. INFO : Bien que cette méthode est très fiable, il n'est pas pris en charge par tous les appareils PBX et beaucoup de réseau SIP.",
       "NAT": "Change le comportement de Asterisk pour les clients derrière un pare-feu.Si l'une des options séparées par des virgules est 'non', l'astérisque permet de ne pas tenir compte des autres paramètres et définissez le nat =no.",
       "QUALIFY": "Détermine quand le SIP est réalisable.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Définir la valeur par défaut de transports. L'ordre détermine le principal défaut des transports.",
       "OTHERFIELDS": "D'autres champs à ajouter dans les troncs. Pour être écrit en format asterisk (clé =valeur), chaque champ d'une seule ligne.",
       "EMAILADDRESS": "Vous pouvez ajouter plusieurs adresses par des virgules (p. ex., [email-masked]) [email-masked]",
-      "NAME": "Seulement les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
       "EVENTVARIABLES": "Si activé, il ajoute tous les cas des variables à l'url",
       "T38PT_UDPTL": "Es : maxdatagram,OUI,redondance =400",
       "EMAILBCCADDRESS": "Ajoutez une ou plusieurs adresses séparées par des virgules (par exemple, [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Recherche avancée",
     "OTHER": "Autres",
     "ACTIVE": "Actif",
-    "CONTEXT": "Contexte",
     "CALLERID": "L'identification de l'appelant",
-    "TYPE": "Type",
     "DTMFMODE": "Mode DTMF",
     "NAT": "NAT",
     "QUALIFY": "Droit",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL de l'avant",
     "WEB_POPUP": "Popup Web",
-    "LIST": "Liste",
     "INTEGRATION": "Integration",
     "TEMPLATE": "Template",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/he.json b/public/app/main/apps/tools/i18n/he.json
index adb2d84..b17105c 100644
--- a/public/app/main/apps/tools/i18n/he.json
+++ b/public/app/main/apps/tools/i18n/he.json
@@ -49,7 +49,6 @@
     "MESSAGE": "הודעה",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "שיחה",
-    "NAME": "שם",
     "TRUNKS": "קווים ראשיים",
     "SEARCH_FOR_ANYONE": "חיפוש",
     "ERRORS": {
@@ -58,41 +57,28 @@
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "REFRESH_REQUIRED": "שדה חובה",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "FONTSIZE_REQUIRED": "שדה חובה",
       "PATH_REQUIRED": "שדה חובה",
       "FORMAT_REQUIRED": "שדה חובה",
       "REPORT_REQUIRED": "שדה חובה",
-      "TYPE_REQUIRED": "שדה חובה",
-      "VALUE_REQUIRED": "שדה חובה",
       "ACCOUNT_REQUIRED": "שדה חובה",
-      "FIELD_REQUIRED": "שדה חובה",
-      "NAME_REQUIRED": "שדה חובה",
-      "HOST_REQUIRED": "שדה חובה",
       "DEFAULTUSER_REQUIRED": "שדה חובה",
       "CALLERID_REQUIRED": "שדה חובה",
-      "KEY_REQUIRED": "שדה חובה",
       "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות",
       "VALIDITYSTART_REQUIRED": "שדה חובה",
       "VALIDITYEND_REQUIRED": "שדה חובה",
       "MONTHDAY_REQUIRED": "שדה חובה",
       "HOUR_REQUIRED": "שדה חובה",
       "CONTENT_REQUIRED": "שדה חובה",
-      "URL_REQUIRED": "שדה חובה",
       "URL_MUST_VALID_URL": "תבנית שגויה",
       "APPLICATION_REQUIRED": "שדה חובה",
       "ARGUMENTS_REQUIRED": "שדה חובה",
-      "NAME_MUST_VALID_PATTERN": "תבנית שגויה",
       "POLLING_INTERVAL_REQUIRED": "שדה חובה",
       "TITLE_REQUIRED": "שדה חובה",
       "EMAILADDRESS_REQUIRED": "שדה חובה",
       "EVENTVARIABLES_REQUIRED": "שדה חובה",
       "INTEGRATION_REQUIRED": "שדה חובה",
-      "LIST_REQUIRED": "שדה חובה",
       "TEMPLATE_REQUIRED": "שדה חובה",
       "AUTOCREATECONTACT_REQUIRED": "שדה חובה",
-      "OUTBOUNDROUTE_REQUIRED": "שדה חובה",
-      "QUEUE_REQUIRED": "שדה חובה",
       "TIME_RANGE_TO_REQUIRED": "שדה חובה",
       "WEEK_DAYS_TO_REQUIRED": "שדה חובה",
       "MONTH_DAYS_TO_REQUIRED": "שדה חובה",
@@ -101,18 +87,13 @@
       "TIME_RANGE_TO_INVALID": "תבנית שגויה",
       "ACTION_REQUIRED": "שדה חובה",
       "CONFIGURATION_REQUIRED": "שדה חובה",
-      "PROJECT_REQUIRED": "שדה חובה",
       "LOCATION_REQUIRED": "שדה חובה",
       "OUTPUT_REQUIRED": "שדה חובה",
       "REPORTFOLDER_REQUIRED": "שדה חובה",
       "REPORTSUBFOLDER_REQUIRED": "שדה חובה",
       "REPORTTYPE_REQUIRED": "שדה חובה",
-      "AGENT_REQUIRED": "שדה חובה",
       "INFO_REQUIRED": "שדה חובה",
       "SCRIPT_REQUIRED": "שדה חובה",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה לו",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה ל",
-      "TIMEOUT_REQUIRED": "שדה חובה",
       "AUTOCREATE_FIELD_REQUIRED": "שדה חובה"
     },
     "HOST": "מארח",
@@ -131,8 +112,6 @@
       "FROMUSER": "האופן שבו ספק השירות מזהה אותך. אלה הם פרטי המשתמש שיוזנו במקום מזהה מתקשר בעת ביצוע שיחה לעמית (פרוקסי SIP אחר). תקף רק עבור type=peer.",
       "OUTBOUNDPROXY": "IP_address או שם DNS SRV (להוציא קידומת ‎_sip._udp): שם שרת, שם מארח או כתובת ה-IP של שן פרוקסי SIP היוצא. שלח איתות יוצא אל אותו פרוקסי, לא ישירות למכשירים. תקף רק עבור type=peer.",
       "PORT": "מספר יציאת ה-SIP",
-      "CONTEXT": "ההקשר של הקו הראשי",
-      "TYPE": "קבע את תפקיד ה-SIP בעזרת Asterisk. משתמש: לאישור שיחות נכנסות – עמית: לשיחות יוצאות – חבר: כולל מאפיינים של שיחות נכנסות וגם יוצאות.",
       "DTMFMODE": "אופן השליחה של DTMF‏. RFC2833: מצב ברירת המחדל, צלילי DTMF נשלחים עם RTP אבל מחוץ לזרם האודיו. INBAND: צלילי ה-DTMF נשלחים בתוך זרם האודיו של השיחה הנוכחית והופכים לנשמעים דרך הרמקולים. יוצר מעמס גבוה על ה-CPU‏. INFO: שיטה אמינה מאד אך לא נתמכת בכל התקני ה-PBX ובקווי SIP ראשיים רבים.",
       "NAT": "שנה את ההתנהגות של Asterisk עבור לקוחות מאחורי חומת אש. אם אחת מהאפשרויות המופרדות בפסיקים היא 'לא', Asterisk יתעלם מכל ההגדרות האחרות ויחיל nat=no.",
       "QUALIFY": "בירור מתי ניתן להשיג SIP",
@@ -150,7 +129,6 @@
       "EMAILADDRESS": "הוסף כתובת אחת או מספר כתובות מופרדות בפסיקים (לדוגמה, [email-masked], [email-masked])",
       "EMAILCCADDRESS": "הוסף כתובת אחת או מספר כתובות מופרדות בפסיקים (לדוגמה, [email-masked], [email-masked])",
       "EMAILBCCADDRESS": "הוסף כתובת אחת או מספר כתובות מופרדות בפסיקים (לדוגמה, [email-masked], [email-masked])",
-      "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)",
       "EVENTVARIABLES": "אם תכונה זו מופעלת היא מוסיפה את כל משתני האירוע לכתובת ה-URL (ערך מומלץ 'לא'. הצב ערך 'כן' רק למטרות הערכה) ",
       "BODY": "שדה ריק יאוכלס בערך ברירת המחדל",
       "INFO": "הכנס כותרת",
@@ -167,9 +145,7 @@
     "ADVANCED": "מתקדם",
     "OTHER": "אחר",
     "ACTIVE": "פעיל",
-    "CONTEXT": "הקשר",
     "CALLERID": "מזהה מתקשר",
-    "TYPE": "סוג",
     "DTMFMODE": "מצב DTMF",
     "NAT": "NAT",
     "QUALIFY": "אשר",
@@ -358,7 +334,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "העבר כתובת URL",
     "WEB_POPUP": "חלון אינטרנט קופץ",
-    "LIST": "רשימה",
     "INTEGRATION": "אינטגרציה",
     "TEMPLATE": "תבנית",
     "URL": "כתובת URL",
diff --git a/public/app/main/apps/tools/i18n/hi.json b/public/app/main/apps/tools/i18n/hi.json
index 453592a..0d5503b 100644
--- a/public/app/main/apps/tools/i18n/hi.json
+++ b/public/app/main/apps/tools/i18n/hi.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "कॉल",
-    "NAME": "नाम",
     "TRUNKS": "तनों",
     "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
     "ERRORS": {
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
-      "HOST_REQUIRED": "मेजबान की आवश्यकता है।",
       "DEFAULTUSER_REQUIRED": "डिफ़ॉल्ट उपयोगकर्ता की आवश्यकता है।",
       "CALLERID_REQUIRED": "कॉलर ID अपेक्षित है।",
-      "KEY_REQUIRED": "कुंजी की आवश्यकता है।",
       "CONFIRM_NOT_MATCH": "पासवर्ड मेल नहीं है।' '",
       "VALIDITYSTART_REQUIRED": "प्रारंभ समय की आवश्यकता है।",
       "VALIDITYEND_REQUIRED": "की समाप्ति समय की आवश्यकता है।",
       "MONTHDAY_REQUIRED": "इस माह के दिन की आवश्यकता है।",
       "HOUR_REQUIRED": "समय की आवश्यकता है।",
       "CONTENT_REQUIRED": "सामग्री की आवश्यकता है।",
-      "URL_REQUIRED": "URL की आवश्यकता है।",
       "URL_MUST_VALID_URL": "URL सही होना चाहिए।",
       "APPLICATION_REQUIRED": "अनुप्रयोग की आवश्यकता है।",
       "ARGUMENTS_REQUIRED": "तर्कों को आवश्यक हैं.",
-      "NAME_MUST_VALID_PATTERN": "एक मान्य स्वरूप का नाम लिखा होना",
       "POLLING_INTERVAL_REQUIRED": "पोलिंग अंतराल की आवश्यकता है।",
       "TITLE_REQUIRED": "शीर्षक की आवश्यकता है।",
       "EMAILADDRESS_REQUIRED": "ईमेल पते की आवश्यकता है।",
       "EVENTVARIABLES_REQUIRED": "अनिवार्य क्षेत्र",
-      "TYPE_REQUIRED": "अनिवार्य क्षेत्र",
-      "VALUE_REQUIRED": "अनिवार्य क्षेत्र",
       "ACCOUNT_REQUIRED": "अनिवार्य क्षेत्र",
-      "FIELD_REQUIRED": "अनिवार्य क्षेत्र",
       "INTEGRATION_REQUIRED": "अनिवार्य क्षेत्र",
-      "LIST_REQUIRED": "अनिवार्य क्षेत्र",
       "TEMPLATE_REQUIRED": "अनिवार्य क्षेत्र",
       "AUTOCREATECONTACT_REQUIRED": "अनिवार्य क्षेत्र",
-      "OUTBOUNDROUTE_REQUIRED": "अनिवार्य क्षेत्र",
-      "QUEUE_REQUIRED": "अनिवार्य क्षेत्र",
       "TIME_RANGE_TO_REQUIRED": "अनिवार्य क्षेत्र",
       "WEEK_DAYS_TO_REQUIRED": "अनिवार्य क्षेत्र",
       "MONTH_DAYS_TO_REQUIRED": "अनिवार्य क्षेत्र",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "गलत स्वरूप",
       "ACTION_REQUIRED": "अनिवार्य क्षेत्र",
       "CONFIGURATION_REQUIRED": "अनिवार्य क्षेत्र",
-      "PROJECT_REQUIRED": "अनिवार्य क्षेत्र",
       "LOCATION_REQUIRED": "अनिवार्य क्षेत्र",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान से कम या बराबर होना चाहिए",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान को या उसके बराबर होना चाहिए",
-      "FONTSIZE_REQUIRED": "आवश्यक स्थान",
       "PATH_REQUIRED": "आवश्यक स्थान",
       "FORMAT_REQUIRED": "आवश्यक स्थान",
       "REPORT_REQUIRED": "आवश्यक स्थान",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "आवश्यक स्थान",
       "REPORTSUBFOLDER_REQUIRED": "आवश्यक स्थान",
       "REPORTTYPE_REQUIRED": "आवश्यक स्थान",
-      "AGENT_REQUIRED": "आवश्यक स्थान",
       "INFO_REQUIRED": "आवश्यक स्थान",
       "SCRIPT_REQUIRED": "आवश्यक स्थान",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या उसके बराबर होना चाहिए",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
-      "TIMEOUT_REQUIRED": "आवश्यक स्थान",
       "AUTOCREATE_FIELD_REQUIRED": "आवश्यक स्थान"
     },
     "HOST": "होस्ट",
@@ -83,8 +64,6 @@
       "FROMUSER": "आप जानते हैं कि आपके rovider यह जो उपयोगकर्ता को देने की बजाय, जब callerid कॉल्स को जोड़ (दूसरा) छद्म कमरंद वैध केवल टाइप=झांकना.",
       "OUTBOUNDPROXY": "IP पता और DNS SRV दवाइयों के नाम को छोड़कर (_। कमरंद_udp प्रिफिक्स) : SRV नाम, hostname या IP पता के बाह्यवर्ती कमरंद छद्म हैं। भेजने के लिए सिग्नलिंग छुट्टिंयां मनाने नहीं होता है, तो डिवाइसेज़ को सीधे वैध केवल टाइप=झांकना.",
       "PORT": "हम चाहते हैं कि पोर्ट नंबर को कनेक् ट करने के लिए रिमोट कंट्रोल पर है।",
-      "CONTEXT": "इस संदर्भ में प्रतिवर्ष सूंड के लिए",
-      "TYPE": "रखावके कमरंद की भूमिका के तारांक लगा। उपयोगकर्ता को प्रमाणित करने के लिए प्रयोग किया :------- मित्र आउटगोइंग कॉल के लिए पीयर इनकमिंग कार्यनिष्पादनके विशेषताओं के ऊपर है।",
       "DTMFMODE": "(DTMF कैसे Dual-Tone Multi-Frequency) में भेजे गए हैं : लिखेंगे2833: डिफ़ॉल्ट मोड से बाहर भेजा जाता है, लेकिन RTP DTMF से ऑडियो सिद्धहोगा। INBAND : वर्तमान नदी में भेजा जाता है DTMF ऑडियो योग्य बनने से स्पीकर्स से बातचीत अधिक भार सीपीयू की आवश् यकता यद्यपि इस तरीके से बहुत अधिक विश्वसनीय जानकारी:, यह सभी डिवाइसेज़ PBX द्वारा समर्थित नहीं हैं और कई कमरंद सूंड",
       "NAT": "ग्राहकों के लिए तारांकन के व्यवहार को पीछे फ़ायरवॉल.यदि कोई अलग-अल्पविराम की विकल्प है 'नहीं', तारांकन परटिप्प ाी और स ९सी अन्य सेटिंग्स सेट आइप गीतांजलिश्री का तिरोहित=सं.",
       "QUALIFY": "जब यह निर्धारित करता है। इसमें प्रौद्योगिकीयप्रतिबंधक कमरंद",
@@ -100,7 +79,6 @@
       "TRANSPORT": "डिफ़ॉल्ट केपरिवहन सेट करें क्रम निर्धारण की प्राथमिक डिफ़ॉल्ट परिवहन।",
       "OTHERFIELDS": "अन्य क्षेत्रों के तनों में जोड़ने के लिए, तदनुसार फ़ाइलें शामिल हैं. तारांकन (=कुंजी को लिखित में प्रत्येक क्षेत्र), मूल्य का स्वरूप एक पंक् ति है।",
       "EMAILADDRESS": "आप एकाधिक पते का उपयोग करते हुए जोड़ सकते हैं (उदाहरण के लिए, अल्पविराम [email-masked] [email-masked])",
-      "NAME": "केवल विशिष्ट वर्ण (।_) और नंबर्स, समर्थित",
       "EVENTVARIABLES": "यदि सक्षम हो, तो यह कहते हैं कि सभी घटना के फेर में url",
       "T38PT_UDPTL": "हाँ, बहुतायत में, जांचें: 400=maxdatagram",
       "EMAILBCCADDRESS": "अल्पविराम से अलग एक या एकाधिक पते जोड़ें (उदा। [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "उन्नत",
     "OTHER": "अन्य",
     "ACTIVE": "चुस्त",
-    "CONTEXT": "संदर्भ",
     "CALLERID": "कॉलर ID",
-    "TYPE": "प्रकार",
     "DTMFMODE": "DTMF मोड",
     "NAT": "आइप गीतांजलिश्री का तिरोहित",
     "QUALIFY": "विश्व कप के लिए क्वालिफाई",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL आगे",
     "WEB_POPUP": "वेब पॉपअप",
-    "LIST": "की सूची",
     "INTEGRATION": "एकीकरण",
     "TEMPLATE": "टेम्पलेट",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/id.json b/public/app/main/apps/tools/i18n/id.json
index 9bbaf3c..5299264 100644
--- a/public/app/main/apps/tools/i18n/id.json
+++ b/public/app/main/apps/tools/i18n/id.json
@@ -14,27 +14,16 @@
       "DEFAULTUSER_REQUIRED": "Bidang wajib",
       "EMAILADDRESS_REQUIRED": "Bidang wajib",
       "EVENTVARIABLES_REQUIRED": "Bidang wajib",
-      "FIELD_REQUIRED": "Bidang wajib",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "FONTSIZE_REQUIRED": "Bidang wajib",
       "FORMAT_REQUIRED": "Bidang wajib",
-      "HOST_REQUIRED": "Bidang wajib",
       "HOUR_REQUIRED": "Bidang wajib",
       "INTEGRATION_REQUIRED": "Bidang wajib",
-      "KEY_REQUIRED": "Bidang wajib",
-      "LIST_REQUIRED": "Bidang wajib",
       "LOCATION_REQUIRED": "Bidang wajib",
       "MONTHDAY_REQUIRED": "Bidang wajib",
       "MONTH_DAYS_TO_REQUIRED": "Bidang wajib",
       "MONTH_TO_REQUIRED": "Bidang wajib",
-      "NAME_MUST_VALID_PATTERN": "Format yang salah",
-      "NAME_REQUIRED": "Bidang wajib",
-      "OUTBOUNDROUTE_REQUIRED": "Bidang wajib",
       "PATH_REQUIRED": "Bidang wajib",
       "POLLING_INTERVAL_REQUIRED": "Bidang wajib",
-      "PROJECT_REQUIRED": "Bidang wajib",
-      "QUEUE_REQUIRED": "Bidang wajib",
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "REFRESH_REQUIRED": "Bidang wajib",
       "REPORT_REQUIRED": "Bidang wajib",
@@ -44,24 +33,17 @@
       "TIME_RANGE_TO_REQUIRED": "Bidang wajib",
       "TITLE_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
       "TITLE_REQUIRED": "Bidang wajib",
-      "TYPE_REQUIRED": "Bidang wajib",
       "URL_MUST_VALID_URL": "Format yang salah",
-      "URL_REQUIRED": "Bidang wajib",
       "VALIDITYEND_REQUIRED": "Bidang wajib",
       "VALIDITYSTART_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
       "WEEK_DAYS_TO_REQUIRED": "Bidang wajib",
       "NAME_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
       "OUTPUT_REQUIRED": "Bidang wajib",
       "REPORTFOLDER_REQUIRED": "Bidang wajib",
       "REPORTSUBFOLDER_REQUIRED": "Bidang wajib",
       "REPORTTYPE_REQUIRED": "Bidang wajib",
-      "AGENT_REQUIRED": "Bidang wajib",
       "INFO_REQUIRED": "Bidang wajib",
       "SCRIPT_REQUIRED": "Bidang wajib",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
-      "TIMEOUT_REQUIRED": "Bidang wajib",
       "AUTOCREATE_FIELD_REQUIRED": "Bidang wajib"
     },
     "HELP": {
@@ -70,7 +52,6 @@
       "CALLCOUNTER": "Aktifkan penghitung panggilan di perangkat",
       "CALLERID": "ID Penelepon, dalam format \"nama\" <nomor>",
       "CALL_LIMIT": "Jumlah batas panggilan serentak inbound dan outbound",
-      "CONTEXT": "Konteks untuk bagasi",
       "DEFAULTUSER": "Nama pengguna otentikasi",
       "DIRECTMEDIA": "Asterisk secara default mencoba untuk mengarahkan aliran media RTP untuk langsung dari penelepon ke callee. Beberapa perangkat tidak mendukung ini (terutama jika salah satunya ada di belakang NAT). Pengaturan standar adalah YES. Jika Anda memiliki semua klien di belakang NAT, atau karena alasan lain ingin Asterisk tetap berada di jalur audio, Anda mungkin ingin mematikan ini.",
       "DTMFMODE": "Bagaimana DTMF (Dual-Tone Multi-Frequency) dikirim. RFC2833: mode default, DTMF dikirim dengan RTP tetapi di luar aliran audio. INBAND: DTMF dikirim dalam aliran audio dari percakapan saat ini, menjadi terdengar dari speaker. Membutuhkan beban CPU yang tinggi. INFO: Meskipun metode ini sangat andal, tidak didukung oleh semua perangkat PBX dan banyak Trunk SIP.",
@@ -81,7 +62,6 @@
       "FROMUSER": "Bagaimana penyedia Anda mengenal Anda. Ini adalah yang pengguna untuk menempatkan bukan callerid ketika menempatkan panggilan ke rekan (proxy SIP lain). Hanya berlaku untuk tipe = peer.",
       "HOST": "Domain atau nama host",
       "INSECURE": "Tentukan cara menangani koneksi dengan rekan, memungkinkan pengaturan tidak aman",
-      "NAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
       "NAT": "Ubah perilaku Asterisk untuk klien di belakang firewall. Jika salah satu opsi yang dipisahkan koma adalah 'tidak', Asterisk akan mengabaikan pengaturan lain dan mengatur nat = no.",
       "OTHERFIELDS": "Bidang lain untuk menambahkan file-file konfigurasi trunk. Ikuti format asterisk default (kunci = nilai), setiap bidang pada satu baris",
       "OUTBOUNDPROXY": "IP_address atau nama DNS SRV (tidak termasuk awalan _sip._udp): nama SRV, nama host, atau alamat IP Proksi SIP keluar. Kirim sinyal keluar ke proxy ini, bukan langsung ke perangkat. Hanya berlaku untuk tipe = peer.",
@@ -93,7 +73,6 @@
       "T38PT_UDPTL": "Es: ya, redundansi, maxdatagram = 400",
       "TRANSPORT": "Setel transport default, sesuai urutan preferensi",
       "TRUST_REMOTE_PARTY_ID": "Tentukan apakah Remote-Party-ID harus dipercaya",
-      "TYPE": "Tentukan peran SIP dalam tanda bintang. Pengguna: digunakan untuk mengotentikasi yang masuk - Peer: untuk panggilan keluar - Teman: mencakup kedua karakteristik di atas.",
       "EMAILBCCADDRESS": "Tambahkan satu atau beberapa alamat yang dipisahkan oleh koma (mis. [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Tambahkan satu atau beberapa alamat yang dipisahkan oleh koma (mis. [email-masked], [email-masked])",
       "BODY": "Jika tidak diisi, nilai default akan dikirim",
@@ -164,7 +143,6 @@
     "CONFIRM_PASSWORD": "konfirmasi sandi",
     "CONTACT_MANAGER": "Pengelola Kontak",
     "CONTENT": "Konten",
-    "CONTEXT": "Konteks",
     "COUNTER": "Melawan",
     "CREATED_AT": "Dibuat di",
     "CRON": "Cron",
@@ -274,7 +252,6 @@
     "LAYOUT": "Layout",
     "LIGHT": "Cahaya",
     "LINK": "Tautkan [https: //]",
-    "LIST": "Daftar",
     "LOCATION": "Lokasi",
     "MAIL": "E-mail",
     "MAILACCOUNT": "Akun email",
@@ -294,7 +271,6 @@
     "MOTIONBAR": "Gerak Gerak",
     "MOVE_WIDGET": "Pindahkan Widget",
     "MULTIBARCHART": "Bagan Multibar",
-    "NAME": "Nama",
     "NAT": "NAT",
     "NEW_ACTION": "Tindakan Baru",
     "NEW_ALLCONDITION": "Kondisi baru",
@@ -403,7 +379,6 @@
     "TRUNKS": "Trunks",
     "TRUST_REMOTE_PARTY_ID": "Trust Remote Party ID",
     "TUE": "Selasa",
-    "TYPE": "Mengetik",
     "UNMANAGED": "Tidak dikelola",
     "UPDATE": "Memperbarui",
     "UPLOAD_SOUND": "Alat-alat",
diff --git a/public/app/main/apps/tools/i18n/it.json b/public/app/main/apps/tools/i18n/it.json
index 409000e..0af7eff 100644
--- a/public/app/main/apps/tools/i18n/it.json
+++ b/public/app/main/apps/tools/i18n/it.json
@@ -49,7 +49,6 @@
     "MESSAGE": "Messaggio",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "Chiama",
-    "NAME": "Nome",
     "TRUNKS": "Trunk",
     "SEARCH_FOR_ANYONE": "Cerca",
     "SCRIPT": "Script",
@@ -62,42 +61,29 @@
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
       "REFRESH_REQUIRED": "Campo obbligatorio",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere inferiore o uguale a",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
-      "FONTSIZE_REQUIRED": "Campo obbligatorio",
       "PATH_REQUIRED": "Campo obbligatorio",
       "FORMAT_REQUIRED": "Campo obbligatorio",
       "REPORT_REQUIRED": "Campo obbligatorio",
-      "NAME_REQUIRED": "Campo obbligatorio",
-      "HOST_REQUIRED": "Campo obbligatorio",
       "DEFAULTUSER_REQUIRED": "Campo obbligatorio",
       "CALLERID_REQUIRED": "Campo obbligatorio",
-      "KEY_REQUIRED": "Campo obbligatorio",
       "CONFIRM_NOT_MATCH": "Le password introdotte non combaciano",
       "VALIDITYSTART_REQUIRED": "Campo obbligatorio",
       "VALIDITYEND_REQUIRED": "Campo obbligatorio",
       "MONTHDAY_REQUIRED": "Campo obbligatorio",
       "HOUR_REQUIRED": "Campo obbligatorio",
       "CONTENT_REQUIRED": "Campo obbligatorio",
-      "URL_REQUIRED": "Campo obbligatorio",
       "URL_MUST_VALID_URL": "Il campo deve avere un formato valido",
       "APPLICATION_REQUIRED": "Campo obbligatorio",
-      "NAME_MUST_VALID_PATTERN": "Il campo deve avere un formato valido",
       "POLLING_INTERVAL_REQUIRED": "Campo obbligatorio",
       "TITLE_REQUIRED": "Campo obbligatorio",
       "ARGUMENTS_REQUIRED": "Campo obbligatorio",
       "EMAILADDRESS_REQUIRED": "Campo obbligatorio",
       "EVENTVARIABLES_REQUIRED": "Campo obbligatorio",
       "INTEGRATION_REQUIRED": "Campo obbligatorio",
-      "LIST_REQUIRED": "Campo obbligatorio",
       "TEMPLATE_REQUIRED": "Campo obbligatorio",
       "AUTOCREATECONTACT_REQUIRED": "Campo obbligatorio",
       "AUTOCREATE_FIELD_REQUIRED": "Campo obbligatorio",
-      "OUTBOUNDROUTE_REQUIRED": "Campo obbligatorio",
-      "QUEUE_REQUIRED": "Campo obbligatorio",
-      "TYPE_REQUIRED": "Campo obbligatorio",
-      "VALUE_REQUIRED": "Campo obbligatorio",
       "ACCOUNT_REQUIRED": "Campo obbligatorio",
-      "FIELD_REQUIRED": "Campo obbligatorio",
       "TIME_RANGE_TO_REQUIRED": "Campo obbligatorio",
       "WEEK_DAYS_TO_REQUIRED": "Campo obbligatorio",
       "MONTH_DAYS_TO_REQUIRED": "Campo obbligatorio",
@@ -106,17 +92,12 @@
       "TIME_RANGE_TO_INVALID": "Il campo deve avere un formato valido",
       "ACTION_REQUIRED": "Campo obbligatorio",
       "CONFIGURATION_REQUIRED": "Campo obbligatorio",
-      "PROJECT_REQUIRED": "Campo obbligatorio",
       "LOCATION_REQUIRED": "Campo obbligatorio",
       "OUTPUT_REQUIRED": "Campo obbligatorio",
       "REPORTTYPE_REQUIRED": "Campo obbligatorio",
       "REPORTFOLDER_REQUIRED": "Campo obbligatorio",
       "REPORTSUBFOLDER_REQUIRED": "Campo obbligatorio",
-      "AGENT_REQUIRED": "Campo obbligatorio",
-      "TITLE_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
-      "TIMEOUT_REQUIRED": "Campo obbligatorio",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere inferiore o uguale a",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a"
+      "TITLE_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}"
     },
     "HOST": "Host",
     "SECRET": "Secret",
@@ -138,8 +119,6 @@
       "FROMUSER": "L'autenticazione con il provider. E' il valore dell'user da inserire al posto del Caller ID quando si fanno chiamate _to_ peer (verso un altro proxy SIP). Valido solo per type=peer",
       "OUTBOUNDPROXY": "IP_address o DNS SRV name (escludendo il prefisso _sip._udp): nome SRV, hostname o indirizzo IP del proxy SIP outbound. Invia la segnalazione a questo proxy, non direttamente al dispositivo. Valido solo per type=peer.",
       "PORT": "La porta a cui connettersi lato remoto",
-      "CONTEXT": "Il contesto del trunk",
-      "TYPE": "Determina il ruolo del SIP all'interno di asterisk. User: usato per identificare le chiamate in arrivo - Peer: per le chiamate in uscita - Friend: copre entrambe le caratteristiche di User e Peer",
       "DTMFMODE": "Come vengono inviati i DTM (Dual-Tone Multi-Frequency): RFC2833 (default, i DTMF vengono inviati con l' RTP ma separatamente dallo stream audio), INBAND (il DTMF è inviato nello stream audio della conversazione in corso, risultando udibile dai partecipanti. Comporta un grosso carico sulla CPU). Nonostante questo secondo metodo sia molto affidabile, non è supportato da tutti i dispositivi PBX e da molti Trunk SIP",
       "NAT": "Cambia il comportamento di Asterisk per i client dietro ad un fireewall. Se uno qualsiasi dei valori selezionati è 'no', Asterisk ignorerà tutti gli altri valori e imposterà il nat=no",
       "QUALIFY": "Determina quando il SIP è raggiungibile",
@@ -157,7 +136,6 @@
       "EMAILADDRESS": "Si possono aggiungere indirizzi multipli usando le virgole (es. [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Si possono aggiungere indirizzi multipli usando le virgole (es. [email-masked], [email-masked])",
       "EMAILBCCADDRESS": "Si possono aggiungere indirizzi multipli usando le virgole (es. [email-masked], [email-masked])",
-      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
       "EVENTVARIABLES": "Se abilitato, aggiunge tutte le variabili dell'evento all'url (Valore suggerito=No; Usare Yes solo per test valutativi)",
       "HEADERS": "Nota: sezione Headers deve essere scritta in formato RAW JSON {\"key\":\"value\"} \nNota: Se non compilato, verrà inviato il valore default",
       "BODY": "Nota: il body deve essere scritto in formato RAW JSON {\"key\":\"value\"} \nNota: Se non compilato, verrà inviato il valore default",
@@ -170,9 +148,7 @@
     "ADVANCED": "Avanzate",
     "OTHER": "Altro",
     "ACTIVE": "Attivo",
-    "CONTEXT": "Contesto",
     "CALLERID": "Caller ID",
-    "TYPE": "Tipo",
     "DTMFMODE": "Modalità DTMF",
     "NAT": "NAT",
     "QUALIFY": "Qualifica",
@@ -361,7 +337,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "Inoltro URL",
     "WEB_POPUP": "Popup Web",
-    "LIST": "Lista",
     "INTEGRATION": "Integrazione",
     "TEMPLATE": "Template",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/ja.json b/public/app/main/apps/tools/i18n/ja.json
index 5f5a247..3ba6c38 100644
--- a/public/app/main/apps/tools/i18n/ja.json
+++ b/public/app/main/apps/tools/i18n/ja.json
@@ -14,27 +14,16 @@
       "DEFAULTUSER_REQUIRED": "必須フィールド",
       "EMAILADDRESS_REQUIRED": "必須フィールド",
       "EVENTVARIABLES_REQUIRED": "必須フィールド",
-      "FIELD_REQUIRED": "必須フィールド",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
-      "FONTSIZE_REQUIRED": "必須フィールド",
       "FORMAT_REQUIRED": "必須フィールド",
-      "HOST_REQUIRED": "必須フィールド",
       "HOUR_REQUIRED": "必須フィールド",
       "INTEGRATION_REQUIRED": "必須フィールド",
-      "KEY_REQUIRED": "必須フィールド",
-      "LIST_REQUIRED": "必須フィールド",
       "LOCATION_REQUIRED": "必須フィールド",
       "MONTHDAY_REQUIRED": "必須フィールド",
       "MONTH_DAYS_TO_REQUIRED": "必須フィールド",
       "MONTH_TO_REQUIRED": "必須フィールド",
-      "NAME_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "NAME_REQUIRED": "必須フィールド",
-      "OUTBOUNDROUTE_REQUIRED": "必須フィールド",
       "PATH_REQUIRED": "必須フィールド",
       "POLLING_INTERVAL_REQUIRED": "必須フィールド",
-      "PROJECT_REQUIRED": "必須フィールド",
-      "QUEUE_REQUIRED": "必須フィールド",
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "REFRESH_REQUIRED": "必須フィールド",
       "REPORT_REQUIRED": "必須フィールド",
@@ -43,12 +32,9 @@
       "TIME_RANGE_TO_INVALID": "間違ったフォーマット",
       "TIME_RANGE_TO_REQUIRED": "必須フィールド",
       "TITLE_REQUIRED": "必須フィールド",
-      "TYPE_REQUIRED": "必須フィールド",
       "URL_MUST_VALID_URL": "間違ったフォーマット",
-      "URL_REQUIRED": "必須フィールド",
       "VALIDITYEND_REQUIRED": "必須フィールド",
       "VALIDITYSTART_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
       "WEEK_DAYS_TO_REQUIRED": "必須フィールド",
       "TITLE_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
       "NAME_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
@@ -56,12 +42,8 @@
       "REPORTFOLDER_REQUIRED": "必須フィールド",
       "REPORTSUBFOLDER_REQUIRED": "必須フィールド",
       "REPORTTYPE_REQUIRED": "必須フィールド",
-      "AGENT_REQUIRED": "必須フィールド",
       "INFO_REQUIRED": "必須フィールド",
       "SCRIPT_REQUIRED": "必須フィールド",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上でなければなりません",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下でなければなりません",
-      "TIMEOUT_REQUIRED": "必須フィールド",
       "AUTOCREATE_FIELD_REQUIRED": "必須フィールド"
     },
     "HELP": {
@@ -70,7 +52,6 @@
       "CALLCOUNTER": "デバイスでコールカウンターを有効にします",
       "CALLERID": "発信者IDは\name\"<number>\"の形式で",
       "CALL_LIMIT": "インバウンドとアウトバウンドの同時呼び出しの制限数",
-      "CONTEXT": "トランクのコンテキスト",
       "DEFAULTUSER": "認証ユーザ名",
       "DIRECTMEDIA": "Asteriskは、デフォルトでRTPメディアストリームをリダイレクトして、発信者から着信者に直接移動します。一部のデバイスはこれをサポートしていません（特にそれらの1つがNATの後ろにある場合）。デフォルト設定はYESです。 すべてのクライアントがNATの後にある場合や、Asteriskをオーディオパスに入れたい場合は、これをオフにすることができます。",
       "DTMFMODE": "DTMF（Dual-Tone Multi-Frequency）の送信方法。RFC2833: デフォルトモードです。DTMFはRTPと共に送信されますが、オーディオストリームの外に送信されます。INBAND: DTMFは現在の会話がオーディオストリームで送信され、スピーカーから聞こえるようになります。高いCPU負荷が必要です。INFO: この方法は非常に信頼性が高いですが、すべてのPBXデバイスと多くのSIPトランクでサポートされているわけではありません。",
@@ -81,7 +62,6 @@
       "FROMUSER": "プロバイダがあなたを知っている方法。これは、ピアにコールを発信するときにコール元の代わりに入れるユーザーです。type = peerに対してのみ有効です。",
       "HOST": "ドメインまたはホスト名",
       "INSECURE": "ピアとの接続を処理する方法を指定し、安全でない設定を許可します",
-      "NAME": "数字、文字、および特定の文字（._）のみがサポートされています",
       "NAT": "ファイアウォールの内側にあるクライアントのAsteriskの動作を変更します。 カンマ区切りのオプションのいずれかが 'no'の場合、Asteriskは他の設定を無視し、nat = noを設定します。",
       "OTHERFIELDS": "トランクconfファイルにその他のフィールドを追加します。デフォルトのAsterisk形式（key = value）に従います。各フィールドは単一の行にあります",
       "OUTBOUNDPROXY": "IP_addressまたはDNS SRV名（_sip._udpプレフィックスを除く）、SRV名、ホスト名、またはアウトバウンドSIPプロキシのIPアドレス。アウトバウンドシグナリングをこのプロキシに送信し、デバイスに直接送信しません。 type = peerに対してのみ有効です。",
@@ -93,7 +73,6 @@
       "T38PT_UDPTL": "Es: yes、冗長性、maxdatagram=400",
       "TRANSPORT": "優先順位でデフォルト転送を設定します",
       "TRUST_REMOTE_PARTY_ID": "Remote-Party-IDを信頼する必要があるかどうかを定義します",
-      "TYPE": "アスタリスク内のSIPロールを決定します。User：着信を認証するために使用 - Peer：発信コール用 - Friend：上記の両方の特性を含みます",
       "EMAILBCCADDRESS": "1つまたは複数のアドレスをコンマで区切って追加します（例：[email-masked]、[email-masked]）",
       "EMAILCCADDRESS": "1つまたは複数のアドレスをコンマで区切って追加します（例：[email-masked]、[email-masked]）",
       "BODY": "入力しない場合、デフォルト値が送信されます",
@@ -164,7 +143,6 @@
     "CONFIRM_PASSWORD": "パスワードを認証します",
     "CONTACT_MANAGER": "コンタクトマネージャー",
     "CONTENT": "コンテンツ",
-    "CONTEXT": "コンテキスト",
     "COUNTER": "カウンタ",
     "CREATED_AT": "作成日時：",
     "CRON": "クロン",
@@ -274,7 +252,6 @@
     "LAYOUT": "レイアウト",
     "LIGHT": "明るい",
     "LINK": "リンク[https://]",
-    "LIST": "リスト",
     "LOCATION": "ロケーション",
     "MAIL": "Eメール",
     "MAILACCOUNT": "メールアカウント",
@@ -294,7 +271,6 @@
     "MOTIONBAR": "Motion Bar",
     "MOVE_WIDGET": "ウィジェットを移動",
     "MULTIBARCHART": "マルチバーチャート",
-    "NAME": "名前",
     "NAT": "NAT",
     "NEW_ACTION": "新規アクション",
     "NEW_ALLCONDITION": "新規条件",
@@ -402,7 +378,6 @@
     "TRUNKS": "トランク",
     "TRUST_REMOTE_PARTY_ID": "リモートパーティIDを信頼します",
     "TUE": "火",
-    "TYPE": "タイプ",
     "UNMANAGED": "非管理",
     "UPDATE": "更新",
     "UPLOAD_SOUND": "ツール",
diff --git a/public/app/main/apps/tools/i18n/ko.json b/public/app/main/apps/tools/i18n/ko.json
index cccc2ab..20e6297 100644
--- a/public/app/main/apps/tools/i18n/ko.json
+++ b/public/app/main/apps/tools/i18n/ko.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "통화",
-    "NAME": "이름",
     "TRUNKS": "시외전화",
     "SEARCH_FOR_ANYONE": "모두 검색",
     "ERRORS": {
-      "NAME_REQUIRED": "이름은 필수입니다.",
-      "HOST_REQUIRED": "호스트는 필수입니다.",
       "DEFAULTUSER_REQUIRED": "기본 사용자는 필수입니다.",
       "CALLERID_REQUIRED": "발신자 ID는 필수입니다.",
-      "KEY_REQUIRED": "키는 필수입니다.",
       "CONFIRM_NOT_MATCH": "일치하지 않습니다.",
       "VALIDITYSTART_REQUIRED": "유효 시작은 필수입니다.",
       "VALIDITYEND_REQUIRED": "유효 종료는 필수입니다.",
       "MONTHDAY_REQUIRED": "월, 일은 필수입니다.",
       "HOUR_REQUIRED": "시간은 필수입니다.",
       "CONTENT_REQUIRED": "내용은 필수입니다.",
-      "URL_REQUIRED": "URL은 필수입니다.",
       "URL_MUST_VALID_URL": "URL은 유효해야 합니다.",
       "APPLICATION_REQUIRED": "앱은 필수입니다.",
       "ARGUMENTS_REQUIRED": "논의는 필수입니다.",
-      "NAME_MUST_VALID_PATTERN": "이름은 유효한 패턴이어야 합니다.",
       "POLLING_INTERVAL_REQUIRED": "투표 인터벌은 필수입니다.",
       "TITLE_REQUIRED": "제목은 필수입니다.",
       "EMAILADDRESS_REQUIRED": "이메일 주소는 필수입니다.",
       "EVENTVARIABLES_REQUIRED": "이벤트 변수는 필수입니다.",
-      "TYPE_REQUIRED": "타입은 필수입니다.",
-      "VALUE_REQUIRED": "값은 필수입니다.",
       "ACCOUNT_REQUIRED": "계정은 필수입니다.",
-      "FIELD_REQUIRED": "필드는 필수입니다.",
       "INTEGRATION_REQUIRED": "통합은 필수입니다.",
-      "LIST_REQUIRED": "목록은 필수입니다.",
       "TEMPLATE_REQUIRED": "템플릿은 필수입니다.",
       "AUTOCREATECONTACT_REQUIRED": "자동 연락처 생성은 필수입니다.",
-      "OUTBOUNDROUTE_REQUIRED": "발신 경로는 필수입니다.",
-      "QUEUE_REQUIRED": "상담그룹은 필수입니다.",
       "TIME_RANGE_TO_REQUIRED": "잘못된 시간 범위는 필수입니다.",
       "WEEK_DAYS_TO_REQUIRED": "요일은 필수입니다.",
       "MONTH_DAYS_TO_REQUIRED": "월별 날짜는 필수입니다.",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "잘못된 시간 범위 종료",
       "ACTION_REQUIRED": "활동은 필수입니다.",
       "CONFIGURATION_REQUIRED": "설정은 필수입니다.",
-      "PROJECT_REQUIRED": "프로젝트는 필수입니다.",
       "LOCATION_REQUIRED": "위치는 필수입니다.",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "글자사이즈가 다음과 같거나 작아야합니다.",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "글자사이즈가 다음과 같거나 커야합니다.",
-      "FONTSIZE_REQUIRED": "글자사이즈는 필수입니다.",
       "PATH_REQUIRED": "경로는 필수입니다.",
       "FORMAT_REQUIRED": "형식은 필수입니다.",
       "REPORT_REQUIRED": "레포트는 필수입니다.",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "필수 필드",
       "REPORTSUBFOLDER_REQUIRED": "필수 필드",
       "REPORTTYPE_REQUIRED": "필수 필드",
-      "AGENT_REQUIRED": "필수 필드",
       "INFO_REQUIRED": "필수 필드",
       "SCRIPT_REQUIRED": "필수 필드",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 크거나 같아야합니다",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 이하 여야합니다",
-      "TIMEOUT_REQUIRED": "필수 필드",
       "AUTOCREATE_FIELD_REQUIRED": "필수 필드"
     },
     "HOST": "호스트",
@@ -83,8 +64,6 @@
       "FROMUSER": "사용자로부터",
       "OUTBOUNDPROXY": "발신 프록시",
       "PORT": "포트",
-      "CONTEXT": "내용",
-      "TYPE": "타입",
       "DTMFMODE": "DTMFMODE",
       "NAT": "NAT",
       "QUALIFY": "자격",
@@ -100,7 +79,6 @@
       "TRANSPORT": "전송",
       "OTHERFIELDS": "기타 필드",
       "EMAILADDRESS": "이메일 주소",
-      "NAME": "이름",
       "EVENTVARIABLES": "이벤트 변수",
       "T38PT_UDPTL": "T38PT UDPTL",
       "EMAILBCCADDRESS": "한 개 또는 여러 개의 주소를 쉼표로 구분하여 추가하십시오 (예 : [email-masked], [email-masked]).",
@@ -120,9 +98,7 @@
     "ADVANCED": "고급",
     "OTHER": "기타",
     "ACTIVE": "활성화",
-    "CONTEXT": "내용",
     "CALLERID": "발신자 ID",
-    "TYPE": "타입",
     "DTMFMODE": "DTMFMODE",
     "NAT": "NAT",
     "QUALIFY": "자격",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL 전달",
     "WEB_POPUP": "웹 팝업",
-    "LIST": "목록",
     "INTEGRATION": "통합",
     "TEMPLATE": "템플릿",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/lt.json b/public/app/main/apps/tools/i18n/lt.json
index 246e0e1..2d7c976 100644
--- a/public/app/main/apps/tools/i18n/lt.json
+++ b/public/app/main/apps/tools/i18n/lt.json
@@ -51,7 +51,6 @@
     "MESSAGE": "Žinutė",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "Skambutis",
-    "NAME": "Vardas",
     "TRUNKS": "Ryšio tinklai",
     "SEARCH_FOR_ANYONE": "Paieška",
     "SCRIPT": "Skriptas",
@@ -65,41 +64,28 @@
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "REFRESH_REQUIRED": "Privalomas laukas",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "FONTSIZE_REQUIRED": "Privalomas laukas",
       "PATH_REQUIRED": "Privalomas laukas",
       "FORMAT_REQUIRED": "Privalomas laukas",
       "REPORT_REQUIRED": "Privalomas laukas",
-      "TYPE_REQUIRED": "Privalomas laukas",
-      "VALUE_REQUIRED": "Privalomas laukas",
       "ACCOUNT_REQUIRED": "Privalomas laukas",
-      "FIELD_REQUIRED": "Privalomas laukas",
-      "NAME_REQUIRED": "Privalomas laukas",
-      "HOST_REQUIRED": "Privalomas laukas",
       "DEFAULTUSER_REQUIRED": "Privalomas laukas",
       "CALLERID_REQUIRED": "Privalomas laukas",
-      "KEY_REQUIRED": "Privalomas laukas",
       "CONFIRM_NOT_MATCH": "Slaptažodžiai nesutampa",
       "VALIDITYSTART_REQUIRED": "Privalomas laukas",
       "VALIDITYEND_REQUIRED": "Privalomas laukas",
       "MONTHDAY_REQUIRED": "Privalomas laukas",
       "HOUR_REQUIRED": "Privalomas laukas",
       "CONTENT_REQUIRED": "Privalomas laukas",
-      "URL_REQUIRED": "Privalomas laukas",
       "URL_MUST_VALID_URL": "Blogas formatas",
       "APPLICATION_REQUIRED": "Privalomas laukas",
       "ARGUMENTS_REQUIRED": "Privalomas laukas",
-      "NAME_MUST_VALID_PATTERN": "Blogas formatas",
       "POLLING_INTERVAL_REQUIRED": "Privalomas laukas",
       "TITLE_REQUIRED": "Privalomas laukas",
       "EMAILADDRESS_REQUIRED": "Privalomas laukas",
       "EVENTVARIABLES_REQUIRED": "Privalomas laukas",
       "INTEGRATION_REQUIRED": "Privalomas laukas",
-      "LIST_REQUIRED": "Privalomas laukas",
       "TEMPLATE_REQUIRED": "Privalomas laukas",
       "AUTOCREATECONTACT_REQUIRED": "Privalomas laukas",
-      "OUTBOUNDROUTE_REQUIRED": "Privalomas laukas",
-      "QUEUE_REQUIRED": "Privalomas laukas",
       "TIME_RANGE_TO_REQUIRED": "Privalomas laukas",
       "WEEK_DAYS_TO_REQUIRED": "Privalomas laukas",
       "MONTH_DAYS_TO_REQUIRED": "Privalomas laukas",
@@ -108,16 +94,11 @@
       "TIME_RANGE_TO_INVALID": "Blogas formatas",
       "ACTION_REQUIRED": "Privalomas laukas",
       "CONFIGURATION_REQUIRED": "Privalomas laukas",
-      "PROJECT_REQUIRED": "Privalomas laukas",
       "LOCATION_REQUIRED": "Privalomas laukas",
       "OUTPUT_REQUIRED": "Privalomas laukas",
       "REPORTTYPE_REQUIRED": "Privalomas laukas",
       "REPORTFOLDER_REQUIRED": "Privalomas laukas",
       "REPORTSUBFOLDER_REQUIRED": "Privalomas laukas",
-      "AGENT_REQUIRED": "Privalomas laukas",
-      "TIMEOUT_REQUIRED": "Privalomas laukas",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "AUTOCREATE_FIELD_REQUIRED": "Privalomas laukas"
     },
     "HOST": "Savininkas",
@@ -140,8 +121,6 @@
       "FROMUSER": "Kaip jūsų paslaugų teikėjas jus pažįsta. Tai vartotojas, kurį reikia įdėti vietoj skambinančiojo ID, atliekant skambučius bendraamžiams (kitam SIP tarpiniam serveriui). Galioja tik tipui = bendraamžiui.",
       "OUTBOUNDPROXY": "IP_adresas arba DNS SRV vardas (išskyrus priešdėlį _sip._udp): SRV vardas, pagrindinio kompiuterio vardas arba siunčiamo SIP tarpinio serverio IP adresas. Siųskite išeinančius signalus šiam tarpiniam serveriui, o ne tiesiogiai į įrenginius. Galioja tik tipui = bendraamžiui.",
       "PORT": "SIP prievado numeris",
-      "CONTEXT": "Ryšio kanalo kontekstas",
-      "TYPE": "Nustatykite SIP vaidmenį Asterisk'e. Vartotojas: naudojamas atpažinti įeinantiems - bendraamžis: išeinantiems skambučiams - draugas: apima abi pirmiau nurodytas charakteristikas.",
       "DTMFMODE": "Kaip siunčiami DTMF (dviejų tonų daugiadažnis). RFC2833: numatytasis režimas, DTMF siunčiami su RTP, bet už garso srauto ribų. INBAND: DTMF siunčiamas dabartinio pokalbio garso srautu, pasigirsta iš garsiakalbių. Reikalauja didelės CPU apkrovos. INFORMACIJA: Nors šis metodas yra labai patikimas, jo nepalaiko visi PBX įrenginiai ir daugelis SIP ryšio kanalų.",
       "NAT": "Keiskite „Asterisk“ funkcionavimą klientams už ugniasienės. Jei kuri nors iš kableliais atskirtų parinkčių yra „ne“, „Asterisk“ ignoruos bet kokius kitus parametrus ir nustatys nat = ne.",
       "QUALIFY": "Nustatyti, kada pasiekiamas SIP",
@@ -159,7 +138,6 @@
       "EMAILADDRESS": "Pridėkite vieną arba kelis adresus, atskirtus kableliais (pvz., [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Pridėkite vieną arba kelis adresus, atskirtus kableliais (pvz., [email-masked], [email-masked])",
       "EMAILBCCADDRESS": "Pridėkite vieną arba kelis adresus, atskirtus kableliais (pvz., [email-masked], [email-masked])",
-      "NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
       "EVENTVARIABLES": "Jei įjungta, prie URL pridedami visi įvykių kintamieji (rekomenduojama reikšmė = Ne. Nustatykite į Taip tik vertinimo tikslais)",
       "HEADERS": "Pastaba: Antraštės skiltis turi būti RAW JSON formato {\"raktas\":\"reikšmė\"} Pastaba: jei neužpildyta, bus išsiųsta numatytoji reikšmė",
       "BODY": "Pastaba: turinys turi būti RAW JSON formato {\"raktas\":\"reikšmė\"} Pastaba: Jei neužpildysite, bus išsiųsta numatytoji reikšmė",
@@ -172,9 +150,7 @@
     "ADVANCED": "Išplėstinė",
     "OTHER": "Kiti",
     "ACTIVE": "Aktyvus",
-    "CONTEXT": "Kontekstas",
     "CALLERID": "Skambintojo ID",
-    "TYPE": "Tipas",
     "DTMFMODE": "DTMF modelis",
     "NAT": "NAT",
     "QUALIFY": "Kvalifikuoti",
@@ -363,7 +339,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL persiuntimas",
     "WEB_POPUP": "Žiniatinklio iššokantis langas",
-    "LIST": "Sąrašas",
     "INTEGRATION": "Integracija",
     "TEMPLATE": "Šablonas",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/lv.json b/public/app/main/apps/tools/i18n/lv.json
index a9daf8d..c6b87e7 100644
--- a/public/app/main/apps/tools/i18n/lv.json
+++ b/public/app/main/apps/tools/i18n/lv.json
@@ -3,41 +3,28 @@
     "BOT": "Balss robotprogrammatūra",
     "ERRORS": {
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "FONTSIZE_REQUIRED": "Obligāts lauks",
       "PATH_REQUIRED": "Obligāts lauks",
       "FORMAT_REQUIRED": "Obligāts lauks",
       "REPORT_REQUIRED": "Obligāts lauks",
-      "TYPE_REQUIRED": "Obligāts lauks",
-      "VALUE_REQUIRED": "Obligāts lauks",
       "ACCOUNT_REQUIRED": "Obligāts lauks",
-      "FIELD_REQUIRED": "Obligāts lauks",
-      "NAME_REQUIRED": "Obligāts lauks",
-      "HOST_REQUIRED": "Obligāts lauks",
       "DEFAULTUSER_REQUIRED": "Obligāts lauks",
       "CALLERID_REQUIRED": "Obligāts lauks",
-      "KEY_REQUIRED": "Obligāts lauks",
       "CONFIRM_NOT_MATCH": "Paroles nesakrīt",
       "VALIDITYSTART_REQUIRED": "Obligāts lauks",
       "VALIDITYEND_REQUIRED": "Obligāts lauks",
       "MONTHDAY_REQUIRED": "Obligāts lauks",
       "HOUR_REQUIRED": "Obligāts lauks",
       "CONTENT_REQUIRED": "Obligāts lauks",
-      "URL_REQUIRED": "Obligāts lauks",
       "URL_MUST_VALID_URL": "Nepareizs formāts",
       "APPLICATION_REQUIRED": "Obligāts lauks",
       "ARGUMENTS_REQUIRED": "Obligāts lauks",
-      "NAME_MUST_VALID_PATTERN": "Nepareizs formāts",
       "POLLING_INTERVAL_REQUIRED": "Obligāts lauks",
       "TITLE_REQUIRED": "Obligāts lauks",
       "EMAILADDRESS_REQUIRED": "Obligāts lauks",
       "EVENTVARIABLES_REQUIRED": "Obligāts lauks",
       "INTEGRATION_REQUIRED": "Obligāts lauks",
-      "LIST_REQUIRED": "Obligāts lauks",
       "TEMPLATE_REQUIRED": "Obligāts lauks",
       "AUTOCREATECONTACT_REQUIRED": "Obligāts lauks",
-      "OUTBOUNDROUTE_REQUIRED": "Obligāts lauks",
-      "QUEUE_REQUIRED": "Obligāts lauks",
       "TIME_RANGE_TO_REQUIRED": "Obligāts lauks",
       "WEEK_DAYS_TO_REQUIRED": "Obligāts lauks",
       "MONTH_DAYS_TO_REQUIRED": "Obligāts lauks",
@@ -46,7 +33,6 @@
       "TIME_RANGE_TO_INVALID": "Nepareizs formāts",
       "ACTION_REQUIRED": "Obligāts lauks",
       "CONFIGURATION_REQUIRED": "Obligāts lauks",
-      "PROJECT_REQUIRED": "Obligāts lauks",
       "LOCATION_REQUIRED": "Obligāts lauks",
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
       "REFRESH_REQUIRED": "Obligāts lauks",
@@ -56,12 +42,8 @@
       "REPORTFOLDER_REQUIRED": "Obligāts lauks",
       "REPORTSUBFOLDER_REQUIRED": "Obligāts lauks",
       "REPORTTYPE_REQUIRED": "Obligāts lauks",
-      "AGENT_REQUIRED": "Obligāts lauks",
       "INFO_REQUIRED": "Obligāts lauks",
       "SCRIPT_REQUIRED": "Obligāts lauks",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazai vai vienādai ar",
-      "TIMEOUT_REQUIRED": "Obligāts lauks",
       "AUTOCREATE_FIELD_REQUIRED": "Obligāts lauks"
     },
     "HELP": {
@@ -75,8 +57,6 @@
       "FROMUSER": "Kā jūsu pakalpojumu sniedzējs jūs pazīst. Tas norāda, kuru lietotāju izvēlēties lietotāja ID vietā, kad tiek veikti zvani biedram (citam SIP starpniekam). Derīgs tikai veidam = biedrs.",
       "OUTBOUNDPROXY": "IP_adress vai DNS SRV nosaukums (izņemot _sip._udp priedēkli): SRV nosaukums, resursdatora nosaukums vai izejošā SIP starpniekservera IP adrese. Sūtīt izejošo signālu uz šo starpniekserveri, nevis tieši ierīcēm. Derīgs tikai veidam = biedrs.",
       "PORT": "SIP pieslēgvietas numurs",
-      "CONTEXT": "Maģistrāles konteksts",
-      "TYPE": "Nosakiet SIP lomu Asterisk ietvaros. User: izmanto, lai autentificētu ienākošo – Peer: izejošajiem zvaniem – Friend: iekļauj abas iepriekš minētās īpašības.",
       "DTMFMODE": "Kā tiek nosūtīts DTMF (divtoņu daudzfrekvenču signalizācija). RFC2833: noklusējuma režīms, DTMF tiek nosūtīts ar RTP, bet ārpus audioplūsmas. VIENJOSLAS: DTMF tiek nosūtīts pašreizējās sarunas audiostraumē, kļūstot dzirdams no skaļruņiem. Nepieciešama augsta CPU slodze. INFORMĀCIJA: lai gan šī metode ir ļoti uzticama, to neatbalsta visas PBX ierīces un daudzas SIP maģistrāles.",
       "NAT": "Mainiet \"Asterisk\" darbību klientiem aiz ugunsmūra. Ja kāda no opcijām, kas ir atdalīta ar komatiem, ir \"Nē\", \"Asterisk\" ignorēs citus iestatījumus un iestatīs nat = no.",
       "QUALIFY": "Nosakiet, kad SIP ir sasniedzams",
@@ -92,7 +72,6 @@
       "TRANSPORT": "Iestatiet noklusējuma transportēšanu kārtībā pēc izvēles",
       "OTHERFIELDS": "Citi lauki, kas ir jāpievieno maģistrāles konfigurācijas datnēm. Ievērojiet standarta \"Asterisk\" formātu (taustiņš = vērtība), katru lauku vienā rindā",
       "EMAILADDRESS": "Pievienojiet vienu vai vairākas adreses, kas ir atdalītas ar komatiem (piemēram, [email-masked], [email-masked])",
-      "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)",
       "EVENTVARIABLES": "Ja tas ir iespējots, tas pievieno visus notikuma mainīgos tīmekļa adresei (ieteicamā vērtība = \"Nē\". Iestatiet \"Jā\" tikai novērtēšanas nolūkos) ",
       "EMAILBCCADDRESS": "Pievienojiet vienu vai vairākas adreses, kas ir atdalītas ar komatiem (piemēram, [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Pievienojiet vienu vai vairākas adreses, kas ir atdalītas ar komatiem (piemēram, [email-masked], [email-masked])",
@@ -143,7 +122,6 @@
     "MESSAGE": "Ziņojums",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "Zvans",
-    "NAME": "Nosaukums",
     "TRUNKS": "Maģistrāles",
     "SEARCH_FOR_ANYONE": "Meklēt",
     "HOST": "IP adrese",
@@ -158,9 +136,7 @@
     "ADVANCED": "Paplašināts",
     "OTHER": "Citi",
     "ACTIVE": "Aktīvs",
-    "CONTEXT": "Konteksts",
     "CALLERID": "Zvanītāja ID",
-    "TYPE": "Tips",
     "DTMFMODE": "DTMF režīms",
     "NAT": "standarts NAT",
     "QUALIFY": "Kvalificēties",
@@ -344,7 +320,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "Pārsūtīt tīmekļa adresi",
     "WEB_POPUP": "Tīmekļa uznirstošais logs",
-    "LIST": "Saraksts",
     "INTEGRATION": "Integrācija",
     "TEMPLATE": "Veidne",
     "URL": "Tīmekļa adrese",
diff --git a/public/app/main/apps/tools/i18n/nl.json b/public/app/main/apps/tools/i18n/nl.json
index 97f3731..7fb0cdf 100644
--- a/public/app/main/apps/tools/i18n/nl.json
+++ b/public/app/main/apps/tools/i18n/nl.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Gesprek",
-    "NAME": "Naam",
     "TRUNKS": "Trunks",
     "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
     "ERRORS": {
-      "NAME_REQUIRED": "De naam is verplicht",
-      "HOST_REQUIRED": "De host is vereist",
       "DEFAULTUSER_REQUIRED": "De standaardgebruiker is vereist",
       "CALLERID_REQUIRED": "De beller-ID is vereist.",
-      "KEY_REQUIRED": "De sleutel is vereist",
       "CONFIRM_NOT_MATCH": "De wachtwoorden Don' t match",
       "VALIDITYSTART_REQUIRED": "De Starttijd is vereist",
       "VALIDITYEND_REQUIRED": "De eindtijd is vereist",
       "MONTHDAY_REQUIRED": "De Maand Dag is vereist",
       "HOUR_REQUIRED": "Het Uur is vereist",
       "CONTENT_REQUIRED": "De inhoud is vereist",
-      "URL_REQUIRED": "De URL is vereist",
       "URL_MUST_VALID_URL": "De URL moet gelden.",
       "APPLICATION_REQUIRED": "De toepassing vereist",
       "ARGUMENTS_REQUIRED": "De argumenten zijn vereist",
-      "NAME_MUST_VALID_PATTERN": "De naam moet worden geschreven in een geldige indeling",
       "POLLING_INTERVAL_REQUIRED": "Het pollinginterval is vereist",
       "TITLE_REQUIRED": "De titel is vereist",
       "EMAILADDRESS_REQUIRED": "Het e-mailadres is vereist",
       "EVENTVARIABLES_REQUIRED": "Verplicht veld",
-      "TYPE_REQUIRED": "Verplicht veld",
-      "VALUE_REQUIRED": "Verplicht veld",
       "ACCOUNT_REQUIRED": "Verplicht veld",
-      "FIELD_REQUIRED": "Verplicht veld",
       "INTEGRATION_REQUIRED": "Verplicht veld",
-      "LIST_REQUIRED": "Verplicht veld",
       "TEMPLATE_REQUIRED": "Verplicht veld",
       "AUTOCREATECONTACT_REQUIRED": "Verplicht veld",
-      "OUTBOUNDROUTE_REQUIRED": "Verplicht veld",
-      "QUEUE_REQUIRED": "Verplicht veld",
       "TIME_RANGE_TO_REQUIRED": "Verplicht veld",
       "WEEK_DAYS_TO_REQUIRED": "Verplicht veld",
       "MONTH_DAYS_TO_REQUIRED": "Verplicht veld",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Onjuist formaat",
       "ACTION_REQUIRED": "Verplicht veld",
       "CONFIGURATION_REQUIRED": "Verplicht veld",
-      "PROJECT_REQUIRED": "Verplicht veld",
       "LOCATION_REQUIRED": "Verplicht veld",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
-      "FONTSIZE_REQUIRED": "Verplicht veld",
       "PATH_REQUIRED": "Verplicht veld",
       "FORMAT_REQUIRED": "Verplicht veld",
       "REPORT_REQUIRED": "Verplicht veld",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Verplicht veld",
       "REPORTSUBFOLDER_REQUIRED": "Verplicht veld",
       "REPORTTYPE_REQUIRED": "Verplicht veld",
-      "AGENT_REQUIRED": "Verplicht veld",
       "INFO_REQUIRED": "Verplicht veld",
       "SCRIPT_REQUIRED": "Verplicht veld",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter dan of gelijk zijn aan",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk zijn aan",
-      "TIMEOUT_REQUIRED": "Verplicht veld",
       "AUTOCREATE_FIELD_REQUIRED": "Verplicht veld"
     },
     "HOST": "Host",
@@ -83,8 +64,6 @@
       "FROMUSER": "Hoe uw rovider weet je. Dit is die gebruiker om in plaats van de beller bij het plaatsen van oproepen naar peer (een andere SIP-proxy). Alleen geldig voor type=peer.",
       "OUTBOUNDPROXY": "IP_adres of DNS SRV-naam (exclusief de _sip._udp prefix) : SRV naam, hostnaam of IP-adres van de uitgaande SIP-proxy. Stuur uitgaande signalen aan deze volmacht, niet rechtstreeks aan de apparaten. Alleen geldig voor type=peer.",
       "PORT": "Het poortnummer we willen aansluiten op op de afstandsbediening.",
-      "CONTEXT": "De misbruikgevoelige context voor de kofferbak.",
-      "TYPE": "Bepaalt de SIP-rol binnen asterisk. Gebruiker: gebruikt ter verificatie van binnenkomend - Peer: voor uitgaande gesprekken - vriend: zowel kenmerken van het bovenstaande.",
       "DTMFMODE": "Hoe DTMF (Tweetonig piepsignaal, Multi-Frequency) verzonden: RFC2833: de standaardmodus, DTMF zijn verzonden met RTP maar buiten de audiostream. INBAND: DTMF wordt verzonden in de audiostream van het huidige gesprek, steeds hoorbaar uit de luidsprekers. Vereist een hoge CPU belasting. INFO: Hoewel deze methode is zeer betrouwbaar is, is niet ondersteund door alle PBX-apparaten en vele SIP Transmissielijn.",
       "NAT": "Verandert het gedrag van Asterisk voor cliënten achter een firewall.Indien een van de comma-separated opties is 'nee', sterretje negeert andere instellingen en stel nat=no.",
       "QUALIFY": "Bepaalt wanneer de SIP is haalbaar.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Stel de standaard transporteert. De volgorde bepaalt de primaire standaard transport.",
       "OTHERFIELDS": "Andere velden toe te voegen in de trunks conf bestanden. Wordt geschreven in asterisk format (key=value), elk veld op een enkele rij.",
       "EMAILADDRESS": "U kunt meerdere adressen met een komma (bijvoorbeeld [email-masked], [email-masked])",
-      "NAME": "Alleen cijfers, letters en speciale tekens (_) worden ondersteund",
       "EVENTVARIABLES": "Als deze functie is ingeschakeld, worden alle evenement variabelen op de url",
       "T38PT_UDPTL": "Es: ja,ontslag,maxdatagram=400",
       "EMAILBCCADDRESS": "Voeg een of meerdere adressen toe, gescheiden door komma's (bijvoorbeeld [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Geavanceerd",
     "OTHER": "Andere",
     "ACTIVE": "Actief",
-    "CONTEXT": "Kader",
     "CALLERID": "Beller-ID",
-    "TYPE": "Type",
     "DTMFMODE": "DTMF-modus",
     "NAT": "NAT",
     "QUALIFY": "Kwalificeren",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL doorsturen",
     "WEB_POPUP": "Web Popup",
-    "LIST": "Lijst",
     "INTEGRATION": "Integratie",
     "TEMPLATE": "Sjabloon",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/no.json b/public/app/main/apps/tools/i18n/no.json
index f6dae20..e0e1966 100644
--- a/public/app/main/apps/tools/i18n/no.json
+++ b/public/app/main/apps/tools/i18n/no.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Anrop",
-    "NAME": "Navn",
     "TRUNKS": "Trunker",
     "SEARCH_FOR_ANYONE": "Søk etter alle",
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er nødvendig",
-      "HOST_REQUIRED": "Verten er nødvendig",
       "DEFAULTUSER_REQUIRED": "Standard bruker er nødvendig",
       "CALLERID_REQUIRED": "Innringer-ID er obligatorisk",
-      "KEY_REQUIRED": "Nøkkelen er nødvendig",
       "CONFIRM_NOT_MATCH": "Passordene don' t kamp",
       "VALIDITYSTART_REQUIRED": "Start tid er nødvendig",
       "VALIDITYEND_REQUIRED": "Sluttiden er nødvendig",
       "MONTHDAY_REQUIRED": "Måned dag er nødvendig",
       "HOUR_REQUIRED": "Timen er nødvendig",
       "CONTENT_REQUIRED": "Innholdet er nødvendig",
-      "URL_REQUIRED": "URL er nødvendig",
       "URL_MUST_VALID_URL": "Urlen må være gyldig",
       "APPLICATION_REQUIRED": "Programmet er nødvendig",
       "ARGUMENTS_REQUIRED": "Argumentene er nødvendig",
-      "NAME_MUST_VALID_PATTERN": "Navnet må være skrevet i et gyldig format",
       "POLLING_INTERVAL_REQUIRED": "Verifiseringsintervallet er nødvendig",
       "TITLE_REQUIRED": "Tittelen er nødvendig",
       "EMAILADDRESS_REQUIRED": "E-postadresse er påkrevd",
       "EVENTVARIABLES_REQUIRED": "Obligatorisk felt",
-      "TYPE_REQUIRED": "Obligatorisk felt",
-      "VALUE_REQUIRED": "Obligatorisk felt",
       "ACCOUNT_REQUIRED": "Obligatorisk felt",
-      "FIELD_REQUIRED": "Obligatorisk felt",
       "INTEGRATION_REQUIRED": "Obligatorisk felt",
-      "LIST_REQUIRED": "Obligatorisk felt",
       "TEMPLATE_REQUIRED": "Obligatorisk felt",
       "AUTOCREATECONTACT_REQUIRED": "Obligatorisk felt",
-      "OUTBOUNDROUTE_REQUIRED": "Obligatorisk felt",
-      "QUEUE_REQUIRED": "Obligatorisk felt",
       "TIME_RANGE_TO_REQUIRED": "Obligatorisk felt",
       "WEEK_DAYS_TO_REQUIRED": "Obligatorisk felt",
       "MONTH_DAYS_TO_REQUIRED": "Obligatorisk felt",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Feil format",
       "ACTION_REQUIRED": "Obligatorisk felt",
       "CONFIGURATION_REQUIRED": "Obligatorisk felt",
-      "PROJECT_REQUIRED": "Obligatorisk felt",
       "LOCATION_REQUIRED": "Obligatorisk felt",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "FONTSIZE_REQUIRED": "Obligatoriske felt",
       "PATH_REQUIRED": "Obligatoriske felt",
       "FORMAT_REQUIRED": "Obligatoriske felt",
       "REPORT_REQUIRED": "Obligatoriske felt",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Obligatoriske felt",
       "REPORTSUBFOLDER_REQUIRED": "Obligatoriske felt",
       "REPORTTYPE_REQUIRED": "Obligatoriske felt",
-      "AGENT_REQUIRED": "Obligatoriske felt",
       "INFO_REQUIRED": "Obligatoriske felt",
       "SCRIPT_REQUIRED": "Obligatoriske felt",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
-      "TIMEOUT_REQUIRED": "Obligatoriske felt",
       "AUTOCREATE_FIELD_REQUIRED": "Obligatoriske felt"
     },
     "HOST": "Vert",
@@ -83,8 +64,6 @@
       "FROMUSER": "Hvordan din rovider vet du. Dette er som å legge i stedet for, slik at de når foreta anrop til peer (en annen SIP proxy). Bare gyldig for type=peer.",
       "OUTBOUNDPROXY": "IP_adresse eller DNS SRV navn (unntatt _sip._udp-prefiks) : SRV navn, vertsnavnet eller IP-adressen til den utgående SIP Proxy. Sende utgående signalering til denne proxy, ikke direkte til enhetene. Bare gyldig for type=peer.",
       "PORT": "Portnummeret vi ønsker å koble til på ekstern side.",
-      "CONTEXT": "Det utnyttbare konteksten for samband.",
-      "TYPE": "Bestemmer SIP rolle innen stjerne. Bruker: brukes til å autentisere innkommende - Peer: for utgående anrop - venn: dekker både egenskapene til ovenfor.",
       "DTMFMODE": "Hvordan DTMF (Dual-Tone Multi-Frequency) er sendt: RFC2833: standard modus, DTMF sendes med RTP, men utenfor audio stream. INBAND: DTMF sendes i audio stream av gjeldende samtale, blir hørbar fra høyttalerne. Krever en høy CPU-belastning. INFO: Selv om denne metoden er svært pålitelige, er det ikke støttes av alle PBX-enheter og mange SIP Trunk.",
       "NAT": "Endrer oppførselen til stjerne for klienter bak en brannmur.Hvis noen av kommaseparert alternativer er 'Nei', stjerne vil ignorere andre innstillinger og sette nat=Nei.",
       "QUALIFY": "Avgjør når SIP er oppnåelig.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Angi standard transporterer. Rekkefølgen bestemmer den primære standard transport.",
       "OTHERFIELDS": "Andre felter for å legge til i samband konf filer. Å være skrevet i stjerne-format (key=verdi), hvert felt på en enkelt linje.",
       "EMAILADDRESS": "Du kan legge til flere adresser med komma (f.eks. [email-masked], [email-masked])",
-      "NAME": "Bare tall, bokstaver og bestemte tegn (._) støttes",
       "EVENTVARIABLES": "Hvis aktivert, det legger til alle møte variabler til url",
       "T38PT_UDPTL": "Es: ja,redundans,maxdatagram=400",
       "EMAILBCCADDRESS": "Legg til en eller flere adresser atskilt med kommaer (for eksempel [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Avansert",
     "OTHER": "Andre",
     "ACTIVE": "Aktiv",
-    "CONTEXT": "Kontekst",
     "CALLERID": "Innringer-ID",
-    "TYPE": "Type",
     "DTMFMODE": "DTMF-modus",
     "NAT": "NAT",
     "QUALIFY": "Kvalifisere",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL forover",
     "WEB_POPUP": "Web Popup",
-    "LIST": "Liste",
     "INTEGRATION": "Integrering",
     "TEMPLATE": "Mal",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/pl.json b/public/app/main/apps/tools/i18n/pl.json
index c9b39ec..6a53e1d 100644
--- a/public/app/main/apps/tools/i18n/pl.json
+++ b/public/app/main/apps/tools/i18n/pl.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Połączenie",
-    "NAME": "Nazwa",
     "TRUNKS": "Kufry",
     "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
     "ERRORS": {
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "HOST_REQUIRED": "Pole obowiązkowe",
       "DEFAULTUSER_REQUIRED": "Pole obowiązkowe",
       "CALLERID_REQUIRED": "Pole obowiązkowe",
-      "KEY_REQUIRED": "Pole obowiązkowe",
       "CONFIRM_NOT_MATCH": "Hasła nie zgadzają się",
       "VALIDITYSTART_REQUIRED": "Pole obowiązkowe",
       "VALIDITYEND_REQUIRED": "Pole obowiązkowe",
       "MONTHDAY_REQUIRED": "Pole obowiązkowe",
       "HOUR_REQUIRED": "Pole obowiązkowe",
       "CONTENT_REQUIRED": "Pole obowiązkowe",
-      "URL_REQUIRED": "Pole obowiązkowe",
       "URL_MUST_VALID_URL": "Zły format",
       "APPLICATION_REQUIRED": "Pole obowiązkowe",
       "ARGUMENTS_REQUIRED": "Pole obowiązkowe",
-      "NAME_MUST_VALID_PATTERN": "Zły format",
       "POLLING_INTERVAL_REQUIRED": "Pole obowiązkowe",
       "TITLE_REQUIRED": "Pole obowiązkowe",
       "EMAILADDRESS_REQUIRED": "Pole obowiązkowe",
       "EVENTVARIABLES_REQUIRED": "Pole obowiązkowe",
-      "TYPE_REQUIRED": "Pole obowiązkowe",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
       "ACCOUNT_REQUIRED": "Pole obowiązkowe",
-      "FIELD_REQUIRED": "Pole obowiązkowe",
       "INTEGRATION_REQUIRED": "Pole obowiązkowe",
-      "LIST_REQUIRED": "Pole obowiązkowe",
       "TEMPLATE_REQUIRED": "Pole obowiązkowe",
       "AUTOCREATECONTACT_REQUIRED": "Pole obowiązkowe",
-      "OUTBOUNDROUTE_REQUIRED": "Pole obowiązkowe",
-      "QUEUE_REQUIRED": "Pole obowiązkowe",
       "TIME_RANGE_TO_REQUIRED": "Pole obowiązkowe",
       "WEEK_DAYS_TO_REQUIRED": "Pole obowiązkowe",
       "MONTH_DAYS_TO_REQUIRED": "Pole obowiązkowe",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Zły format",
       "ACTION_REQUIRED": "Pole obowiązkowe",
       "CONFIGURATION_REQUIRED": "Pole obowiązkowe",
-      "PROJECT_REQUIRED": "Pole obowiązkowe",
       "LOCATION_REQUIRED": "Pole obowiązkowe",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "FONTSIZE_REQUIRED": "Pole obowiązkowe",
       "PATH_REQUIRED": "Pole obowiązkowe",
       "FORMAT_REQUIRED": "Pole obowiązkowe",
       "REPORT_REQUIRED": "Pole obowiązkowe",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Pole obowiązkowe",
       "REPORTSUBFOLDER_REQUIRED": "Pole obowiązkowe",
       "REPORTTYPE_REQUIRED": "Pole obowiązkowe",
-      "AGENT_REQUIRED": "Pole obowiązkowe",
       "INFO_REQUIRED": "Pole obowiązkowe",
       "SCRIPT_REQUIRED": "Pole obowiązkowe",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "TIMEOUT_REQUIRED": "Pole obowiązkowe",
       "AUTOCREATE_FIELD_REQUIRED": "Pole obowiązkowe"
     },
     "HOST": "Hosta",
@@ -83,8 +64,6 @@
       "FROMUSER": "W jaki sposób twój dostawca wie ci. Jest to użytkownik który przełączają zamiast callerid podczas nawiązywania połączenia peer (innego proxy SIP). Ważne wyłącznie dla type=peer.",
       "OUTBOUNDPROXY": "Adres_IP lub DNS SRV nazwa (z wyłączeniem _sip._udp prefiksu): SRV nazwisko, nazwę hosta lub adres IP SIP outbound Proxy. Wysyłanie sygnałów wychodzących do tego proxy, a nie bezpośrednio do urządzenia. Ważne wyłącznie dla type=peer.",
       "PORT": "SIP liczba portów",
-      "CONTEXT": "Kontekst dla łącza trunkingowego",
-      "TYPE": "Ustala SIP roli w gwiazdki. Użytkownik: używane do uwierzytelniania przychodzące - Peer: dla połączeń wychodzących - przyjaciela: obejmuje zarówno charakterystyki powyżej.",
       "DTMFMODE": "Jak DTMF (Dual-Tone Multi-Frequency) są wysyłane. RFC2833: tryb domyślny, DTMF przesyłane są dzięki protokołowi RTP ale poza strumień dźwięku. INBAND: DTMF jest przesyłany strumień audio bieżącej rozmowy, staje się słyszalne przez głośniki. Wymaga to wysokiego obciążenia CPU. INFO: Mimo że ta metoda jest bardzo wiarygodne, to nie jest obsługiwany przez wszystkie urządzenia PBX oraz liczne łącza SIP.",
       "NAT": "Zmienić zachowanie gwiazdka dla klientów za zaporą ogniową. Jeżeli którykolwiek z oddzielonych przecinkami opcji 'no', gwiazdka zignoruje wszelkie inne ustawienia i skonfigurować nat=nr",
       "QUALIFY": "Określić, kiedy protokół SIP jest osiągalne",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Ustawianie domyślnego transportery, w kolejności preferencji",
       "OTHERFIELDS": "Inne pola do dodawania w pniach pliki conf. Wykonaj domyślny format gwiazdki (klucz=wartość], każde pole w jednym rzędzie,",
       "EMAILADDRESS": "Dodanie jednego lub wielu adresów oddzielonych przecinkiem (np. [email-masked] [email-masked]),",
-      "NAME": "Tylko cyfry, litery i znaki specjalne (._) są obsługiwane",
       "EVENTVARIABLES": "Jeśli opcja jest włączona, to doda wszystkie zdarzenia zmienne do adresu URL",
       "T38PT_UDPTL": "Es: tak,nadmiarowość,maxdatagram=400",
       "EMAILBCCADDRESS": "Dodaj jeden lub wiele adresów oddzielonych przecinkami (np. [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Zaawansowane",
     "OTHER": "Inne",
     "ACTIVE": "Aktywny",
-    "CONTEXT": "Kontekst",
     "CALLERID": "ID dzwoniącego",
-    "TYPE": "Typ",
     "DTMFMODE": "Tryb DTMF",
     "NAT": "NAT",
     "QUALIFY": "Zakwalifikować",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "Adres URL do przodu",
     "WEB_POPUP": "Popup www",
-    "LIST": "Lista",
     "INTEGRATION": "Integracja",
     "TEMPLATE": "Szablon",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/pt-BR.json b/public/app/main/apps/tools/i18n/pt-BR.json
index 8416fc8..9772fe8 100644
--- a/public/app/main/apps/tools/i18n/pt-BR.json
+++ b/public/app/main/apps/tools/i18n/pt-BR.json
@@ -49,7 +49,6 @@
     "MESSAGE": "Mensagem",
     "T38PT_UDPTL": "T38pt Udptl",
     "CALL": "Chamada",
-    "NAME": "Nome",
     "TRUNKS": "Tronco",
     "SEARCH_FOR_ANYONE": "Procurar",
     "ERRORS": {
@@ -58,41 +57,28 @@
       "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "REFRESH_REQUIRED": "Campo obrigatório",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "FONTSIZE_REQUIRED": "Campo obrigatório",
       "PATH_REQUIRED": "Campo obrigatório",
       "FORMAT_REQUIRED": "Campo obrigatório",
       "REPORT_REQUIRED": "Campo obrigatório",
-      "TYPE_REQUIRED": "Campo obrigatório",
-      "VALUE_REQUIRED": "Campo obrigatório",
       "ACCOUNT_REQUIRED": "Campo obrigatório",
-      "FIELD_REQUIRED": "Campo obrigatório",
-      "NAME_REQUIRED": "Campo obrigatório",
-      "HOST_REQUIRED": "Campo obrigatório",
       "DEFAULTUSER_REQUIRED": "Campo obrigatório",
       "CALLERID_REQUIRED": "Campo obrigatório",
-      "KEY_REQUIRED": "Campo obrigatório",
       "CONFIRM_NOT_MATCH": "As senhas não combinam",
       "VALIDITYSTART_REQUIRED": "Campo obrigatório",
       "VALIDITYEND_REQUIRED": "Campo obrigatório",
       "MONTHDAY_REQUIRED": "Campo obrigatório",
       "HOUR_REQUIRED": "Campo obrigatório",
       "CONTENT_REQUIRED": "Campo obrigatório",
-      "URL_REQUIRED": "Campo obrigatório",
       "URL_MUST_VALID_URL": "Formato incorreto",
       "APPLICATION_REQUIRED": "Campo obrigatório",
       "ARGUMENTS_REQUIRED": "Campo obrigatório",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
       "POLLING_INTERVAL_REQUIRED": "Campo obrigatório",
       "TITLE_REQUIRED": "Campo obrigatório",
       "EMAILADDRESS_REQUIRED": "Campo obrigatório",
       "EVENTVARIABLES_REQUIRED": "Campo obrigatório",
       "INTEGRATION_REQUIRED": "Campo obrigatório",
-      "LIST_REQUIRED": "Campo obrigatório",
       "TEMPLATE_REQUIRED": "Campo obrigatório",
       "AUTOCREATECONTACT_REQUIRED": "Campo obrigatório",
-      "OUTBOUNDROUTE_REQUIRED": "Campo obrigatório",
-      "QUEUE_REQUIRED": "Campo obrigatório",
       "TIME_RANGE_TO_REQUIRED": "Campo obrigatório",
       "WEEK_DAYS_TO_REQUIRED": "Campo obrigatório",
       "MONTH_DAYS_TO_REQUIRED": "Campo obrigatório",
@@ -101,18 +87,13 @@
       "TIME_RANGE_TO_INVALID": "Formato incorreto",
       "ACTION_REQUIRED": "Campo obrigatório",
       "CONFIGURATION_REQUIRED": "Campo obrigatório",
-      "PROJECT_REQUIRED": "Campo obrigatório",
       "LOCATION_REQUIRED": "Campo obrigatório",
       "OUTPUT_REQUIRED": "Campo obrigatório",
       "REPORTTYPE_REQUIRED": "Campo obrigatório",
       "REPORTFOLDER_REQUIRED": "Campo obrigatório",
       "REPORTSUBFOLDER_REQUIRED": "Campo obrigatório",
-      "AGENT_REQUIRED": "Campo obrigatório",
       "INFO_REQUIRED": "Campo obrigatório",
       "SCRIPT_REQUIRED": "Campo obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "TIMEOUT_REQUIRED": "Campo obrigatório",
       "AUTOCREATE_FIELD_REQUIRED": "Campo obrigatório"
     },
     "HOST": "Host",
@@ -131,8 +112,6 @@
       "FROMUSER": "Como seu provedor conhece você. Este é qual usuário colocar em vez de callerid ao fazer chamadas para peer (outro proxy SIP). Válido apenas para type = peer.",
       "OUTBOUNDPROXY": "IP_address ou DNS SRV name (excluindo o prefixo _sip._udp): nome do SRV, nome do host ou endereço IP do SIP Proxy de saída. Envie a sinalização de saída para este proxy, não diretamente para os dispositivos. Válido apenas para type = peer.",
       "PORT": "O número da porta SIP",
-      "CONTEXT": "O contexto para o tronco",
-      "TYPE": "Determine o papel do SIP no asterisco. Usuário: usado para autenticar entrada - Peer: para chamadas de saída - Amigo: abrange as duas características dos itens acima.",
       "DTMFMODE": "Como DTMF (Dual-Tone Multi-Frequency) são enviados. RFC2833: o modo padrão, os DTMF são enviados com RTP, mas fora do fluxo de áudio. INBAND: O DTMF é enviado em fluxo de áudio da conversa atual, tornando-se audível pelos alto-falantes. Requer uma alta carga de CPU. INFO: Embora esse método seja muito confiável, ele não é suportado por todos os dispositivos PBX e muitos troncos SIP.",
       "NAT": "Altere o comportamento do Asterisk para clientes atrás de um firewall. Se qualquer uma das opções separadas por vírgula for 'no', o Asterisk irá ignorar quaisquer outras configurações e definir nat = no.",
       "QUALIFY": "Determinar quando o SIP é realizável",
@@ -150,7 +129,6 @@
       "EMAILADDRESS": "Adicione um ou vários endereços separados por vírgulas (por exemplo, [email-masked], [email-masked])",
       "EMAILCCADDRESS": "Adicione um ou vários endereços separados por vírgulas (por exemplo, [email-masked], [email-masked])",
       "EMAILBCCADDRESS": "Adicione um ou vários endereços separados por vírgulas (por exemplo, [email-masked], [email-masked])",
-      "NAME": "Somente números, letras e caracteres específicos (._) são suportados",
       "EVENTVARIABLES": "Se ativado, ele adiciona todas as variáveis ​​do evento ao URL (valor recomendado = Não. Defina como Sim somente para fins de avaliação)",
       "BODY": "Se não for preenchido, o valor padrão será enviado",
       "INFO": "Inserir título",
@@ -167,9 +145,7 @@
     "ADVANCED": "Avançado",
     "OTHER": "Outros",
     "ACTIVE": "Ativo",
-    "CONTEXT": "Contexto",
     "CALLERID": "Identificador de chamadas",
-    "TYPE": "Tipo",
     "DTMFMODE": "Modo DTMF",
     "NAT": "NAT",
     "QUALIFY": "Qualificar",
@@ -358,7 +334,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL Forward",
     "WEB_POPUP": "Web Popup",
-    "LIST": "Lista",
     "INTEGRATION": "Integração",
     "TEMPLATE": "Modelo",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/pt-PT.json b/public/app/main/apps/tools/i18n/pt-PT.json
index 36869fd..4e3653d 100644
--- a/public/app/main/apps/tools/i18n/pt-PT.json
+++ b/public/app/main/apps/tools/i18n/pt-PT.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Chamada",
-    "NAME": "Nome",
     "TRUNKS": "Troncos",
     "SEARCH_FOR_ANYONE": "Pesquisar todos",
     "ERRORS": {
-      "NAME_REQUIRED": "O Nome é obrigatório",
-      "HOST_REQUIRED": "O Host é necessário",
       "DEFAULTUSER_REQUIRED": "O utilizador padrão é necessária",
       "CALLERID_REQUIRED": "O ID do chamador é necessária",
-      "KEY_REQUIRED": "A chave é necessário",
       "CONFIRM_NOT_MATCH": "As senhas não coincidem",
       "VALIDITYSTART_REQUIRED": "A hora de início é obrigatório",
       "VALIDITYEND_REQUIRED": "A hora de fim é necessário",
       "MONTHDAY_REQUIRED": "Mês Dia é requerido",
       "HOUR_REQUIRED": "A hora é necessária",
       "CONTENT_REQUIRED": "O conteúdo é necessária",
-      "URL_REQUIRED": "O URL é necessária",
       "URL_MUST_VALID_URL": "O URL deve ser válido",
       "APPLICATION_REQUIRED": "O aplicativo é obrigatório",
       "ARGUMENTS_REQUIRED": "Os argumentos são necessários",
-      "NAME_MUST_VALID_PATTERN": "O nome deve ser escrito em um formato válido",
       "POLLING_INTERVAL_REQUIRED": "O intervalo de polling é necessária",
       "TITLE_REQUIRED": "O Título é obrigatório",
       "EMAILADDRESS_REQUIRED": "O endereço de e-mail é obrigatório",
       "EVENTVARIABLES_REQUIRED": "Campo de preenchimento obrigatório",
-      "TYPE_REQUIRED": "Campo de preenchimento obrigatório",
-      "VALUE_REQUIRED": "Campo de preenchimento obrigatório",
       "ACCOUNT_REQUIRED": "Campo de preenchimento obrigatório",
-      "FIELD_REQUIRED": "Campo de preenchimento obrigatório",
       "INTEGRATION_REQUIRED": "Campo de preenchimento obrigatório",
-      "LIST_REQUIRED": "Campo de preenchimento obrigatório",
       "TEMPLATE_REQUIRED": "Campo de preenchimento obrigatório",
       "AUTOCREATECONTACT_REQUIRED": "Campo de preenchimento obrigatório",
-      "OUTBOUNDROUTE_REQUIRED": "Campo de preenchimento obrigatório",
-      "QUEUE_REQUIRED": "Campo de preenchimento obrigatório",
       "TIME_RANGE_TO_REQUIRED": "Campo de preenchimento obrigatório",
       "WEEK_DAYS_TO_REQUIRED": "Campo de preenchimento obrigatório",
       "MONTH_DAYS_TO_REQUIRED": "Campo de preenchimento obrigatório",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Formato errado",
       "ACTION_REQUIRED": "Campo de preenchimento obrigatório",
       "CONFIGURATION_REQUIRED": "Campo de preenchimento obrigatório",
-      "PROJECT_REQUIRED": "Campo de preenchimento obrigatório",
       "LOCATION_REQUIRED": "Campo de preenchimento obrigatório",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "FONTSIZE_REQUIRED": "Campo obrigatório",
       "PATH_REQUIRED": "Campo obrigatório",
       "FORMAT_REQUIRED": "Campo obrigatório",
       "REPORT_REQUIRED": "Campo obrigatório",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Campo obrigatório",
       "REPORTSUBFOLDER_REQUIRED": "Campo obrigatório",
       "REPORTTYPE_REQUIRED": "Campo obrigatório",
-      "AGENT_REQUIRED": "Campo obrigatório",
       "INFO_REQUIRED": "Campo obrigatório",
       "SCRIPT_REQUIRED": "Campo obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "TIMEOUT_REQUIRED": "Campo obrigatório",
       "AUTOCREATE_FIELD_REQUIRED": "Campo obrigatório"
     },
     "HOST": "Host",
@@ -83,8 +64,6 @@
       "FROMUSER": "Como o seu rovider sabe que você. Isto é o que o usuário para colocar em vez de das quando efectuar chamadas a ponto (outro proxy SIP). Válido apenas para o tipo=peer.",
       "OUTBOUNDPROXY": "Endereço_IP ou nome DNS SRV (excluindo o _sip._udp prefixo) : SRV nome, hostname ou endereço IP do Outbound Proxy SIP. Sinalização de saída para enviar este proxy, não diretamente aos dispositivos. Válido apenas para o tipo=peer.",
       "PORT": "O número da porta que deseja se conectar no lado remoto.",
-      "CONTEXT": "O contexto para o tronco exploráveis.",
-      "TYPE": "Determina o papel SIP dentro de asterisco. Usuário: usado para autenticar - Ponto de entrada: para chamadas de saída - amigo: abrange tanto as características do acima.",
       "DTMFMODE": "Como DTMF (Dual-Tone Multi-Frequency) são enviadas: RFC2833: o modo padrão, o DTMF são enviados com a RTP mas fora do fluxo de áudio. INBAND: o DTMF é enviado no fluxo de áudio da conversa atual se tornar audível a partir dos altifalantes. Requer um alto uso de CPU. INFO: Embora este método seja muito confiável, ele não é suportado por todos os dispositivos de PBX e muitos tronco SIP.",
       "NAT": "Altera o comportamento do asterisco para clientes atrás de um firewall.Se qualquer uma das opções separadas por vírgula é \"não\", asterisco será ignorar quaisquer outras configurações e defina nat=n°",
       "QUALIFY": "Determina quando o SIP é exequível.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Defina o padrão de transportes. A ordem determina o transporte primário padrão.",
       "OTHERFIELDS": "Outros campos para adicionar nos troncos arquivos conf. Para ser escritos em formato de asterisco (key=valor), cada campo em uma única linha.",
       "EMAILADDRESS": "Você pode adicionar vários endereços com vírgulas (por exemplo, [email-masked]) [email-masked]",
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
       "EVENTVARIABLES": "Se ativado, ele adiciona todas as variáveis para o url do evento",
       "T38PT_UDPTL": "Es: sim, a redundância,maxdatagram=400",
       "EMAILBCCADDRESS": "Adicione um ou vários endereços separados por vírgulas (por exemplo, [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Avançado",
     "OTHER": "Outros",
     "ACTIVE": "Ativo",
-    "CONTEXT": "Contexto",
     "CALLERID": "ID do chamador",
-    "TYPE": "Tipo",
     "DTMFMODE": "Modo DTMF",
     "NAT": "A NAT",
     "QUALIFY": "Qualificar",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "Encaminhamento de URL",
     "WEB_POPUP": "Pop-up da web",
-    "LIST": "Lista",
     "INTEGRATION": "Integração",
     "TEMPLATE": "Modelo",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/ru.json b/public/app/main/apps/tools/i18n/ru.json
index 08e2c28..dc2d447 100644
--- a/public/app/main/apps/tools/i18n/ru.json
+++ b/public/app/main/apps/tools/i18n/ru.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Вызов",
-    "NAME": "Имя",
     "TRUNKS": "Соединительные линии внешней АТС",
     "SEARCH_FOR_ANYONE": "Для поиска любого",
     "ERRORS": {
-      "NAME_REQUIRED": "Это имя требуется",
-      "HOST_REQUIRED": "Хост не требуется",
       "DEFAULTUSER_REQUIRED": "По умолчанию имя пользователя не требуется",
       "CALLERID_REQUIRED": "Идентификатор вызывающего абонента не требуется",
-      "KEY_REQUIRED": "Ключ не требуется",
       "CONFIRM_NOT_MATCH": "Пароли не' t соответствует",
       "VALIDITYSTART_REQUIRED": "Время запуска не требуется",
       "VALIDITYEND_REQUIRED": "Время окончания не требуется",
       "MONTHDAY_REQUIRED": "Месяц день не требуется",
       "HOUR_REQUIRED": "Час не требуется",
       "CONTENT_REQUIRED": "Содержимое не требуется",
-      "URL_REQUIRED": "URL-адрес не требуется",
       "URL_MUST_VALID_URL": "URL-адрес должен быть действительным",
       "APPLICATION_REQUIRED": "Приложения не требуется",
       "ARGUMENTS_REQUIRED": "Аргументы не требуется",
-      "NAME_MUST_VALID_PATTERN": "Имя должно быть записано в действительный формат",
       "POLLING_INTERVAL_REQUIRED": "Интервал опроса не требуется",
       "TITLE_REQUIRED": "Название не требуется",
       "EMAILADDRESS_REQUIRED": "Адрес электронной почты не требуется",
       "EVENTVARIABLES_REQUIRED": "Обязательное поле",
-      "TYPE_REQUIRED": "Обязательное поле",
-      "VALUE_REQUIRED": "Обязательное поле",
       "ACCOUNT_REQUIRED": "Обязательное поле",
-      "FIELD_REQUIRED": "Обязательное поле",
       "INTEGRATION_REQUIRED": "Обязательное поле",
-      "LIST_REQUIRED": "Обязательное поле",
       "TEMPLATE_REQUIRED": "Обязательное поле",
       "AUTOCREATECONTACT_REQUIRED": "Обязательное поле",
-      "OUTBOUNDROUTE_REQUIRED": "Обязательное поле",
-      "QUEUE_REQUIRED": "Обязательное поле",
       "TIME_RANGE_TO_REQUIRED": "Обязательное поле",
       "WEEK_DAYS_TO_REQUIRED": "Обязательное поле",
       "MONTH_DAYS_TO_REQUIRED": "Обязательное поле",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Неверный формат",
       "ACTION_REQUIRED": "Обязательное поле",
       "CONFIGURATION_REQUIRED": "Обязательное поле",
-      "PROJECT_REQUIRED": "Обязательное поле",
       "LOCATION_REQUIRED": "Обязательное поле",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "FONTSIZE_REQUIRED": "Обязательное поле",
       "PATH_REQUIRED": "Обязательное поле",
       "FORMAT_REQUIRED": "Обязательное поле",
       "REPORT_REQUIRED": "Обязательное поле",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Обязательное поле",
       "REPORTSUBFOLDER_REQUIRED": "Обязательное поле",
       "REPORTTYPE_REQUIRED": "Обязательное поле",
-      "AGENT_REQUIRED": "Обязательное поле",
       "INFO_REQUIRED": "Обязательное поле",
       "SCRIPT_REQUIRED": "Обязательное поле",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "TIMEOUT_REQUIRED": "Обязательное поле",
       "AUTOCREATE_FIELD_REQUIRED": "Обязательное поле"
     },
     "HOST": "Принимающей",
@@ -83,8 +64,6 @@
       "FROMUSER": "Как ваш п оставщиков могли предоставлять услуги знает вас. Это которой пользователю ввести вместо от идентификаторавызывающего абонента при совершении вызовов для сверстников (Другой прокси-сервер SIP). Действителен только для type=peer.",
       "OUTBOUNDPROXY": "IP_адрес или DNS SRV имя (исключая _sip._udp префикс) : SRV имя, имя хоста или IP адрес исходящего прокси-сервера SIP. Отправка исходящих вызовов для данного прокси не непосредственно к устройствам. Действителен только для type=peer.",
       "PORT": "Номер порта мы хотим для подключения к удаленной стороне.",
-      "CONTEXT": "В этом контексте пригодными для соединительной линии.",
-      "TYPE": "Определяет роль SIP в Asterisk. Пользователь: используется для проверки подлинности входящих - Одноранговые сети: для исходящих вызовов - друга: охватывает как характеристики выше.",
       "DTMFMODE": "Как DTMF (двухтональный многочастотный набор значений Dual-Tone Multi) отправляются: RFC2833: режим по умолчанию, DTMF отправляются с RTP, но за пределами аудио поток. Внутриполосный: DTMF отправляется в аудио поток текущего разговора становится слышен из громкоговорителей. Требует высокой загрузки ЦП. INFO: Хотя этот метод является очень надежной, она поддерживается не всеми устройствами офисной АТС и многие SIP.",
       "NAT": "Изменяет поведение звездочка для клиентов за брандмауэром.Если любое из разделенных запятыми параметров 'Нет', звездочка будет игнорировать любые другие параметры и настройки NAT=no.",
       "QUALIFY": "Определяет, когда SIP - это достижимая цель.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Установить значение по умолчанию для транспорта. Порядок определяет основной транспортом по умолчанию.",
       "OTHERFIELDS": "Другие поля для добавления в соединительные линии conf файлы. Должны быть записаны в формате звездочка (клавиша=значение), каждое поле на одной строке.",
       "EMAILADDRESS": "Вы можете добавить несколько адресов с помощью запятыми (например, [email-masked], [email-masked])",
-      "NAME": "Только цифры, буквы и специальные символы (_) поддерживаются",
       "EVENTVARIABLES": "Если функция включена, она добавляет все случае переменные для url-адреса",
       "T38PT_UDPTL": "Эс: да, избыточность, maxdatagram=400",
       "EMAILBCCADDRESS": "Добавьте один или несколько адресов, разделенных запятыми (например, [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Расширенные возможности",
     "OTHER": "Другие",
     "ACTIVE": "Активно",
-    "CONTEXT": "Контексте",
     "CALLERID": "Идентификатор вызывающего абонента",
-    "TYPE": "Тип",
     "DTMFMODE": "В режиме DTMF",
     "NAT": "NAT",
     "QUALIFY": "Претендовать",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL вперед",
     "WEB_POPUP": "Web всплывающее окно",
-    "LIST": "Список",
     "INTEGRATION": "Интеграция",
     "TEMPLATE": "Шаблон",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/sv.json b/public/app/main/apps/tools/i18n/sv.json
index 3d76125..8705205 100644
--- a/public/app/main/apps/tools/i18n/sv.json
+++ b/public/app/main/apps/tools/i18n/sv.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Samtal",
-    "NAME": "Namn",
     "TRUNKS": "Trunk",
     "SEARCH_FOR_ANYONE": "Sök",
     "ERRORS": {
-      "NAME_REQUIRED": "Namnet är obligatoriskt",
-      "HOST_REQUIRED": "Värd är obligatoriskt",
       "DEFAULTUSER_REQUIRED": "Den förvalda användaren krävs",
       "CALLERID_REQUIRED": "Uppringar-ID är obligatoriskt",
-      "KEY_REQUIRED": "Nyckeln är obligatoriskt",
       "CONFIRM_NOT_MATCH": "Lösenord don' t matchar",
       "VALIDITYSTART_REQUIRED": "Starttiden är obligatoriskt",
       "VALIDITYEND_REQUIRED": "Utgången tid",
       "MONTHDAY_REQUIRED": "Månad dag krävs",
       "HOUR_REQUIRED": "En timme är obligatoriskt",
       "CONTENT_REQUIRED": "Innehållet är obligatoriskt",
-      "URL_REQUIRED": "URL krävs",
       "URL_MUST_VALID_URL": "URL:en måste vara giltig",
       "APPLICATION_REQUIRED": "Ansökan krävs",
       "ARGUMENTS_REQUIRED": "De argument som krävs",
-      "NAME_MUST_VALID_PATTERN": "Namnet måste skrivas i ett giltigt format",
       "POLLING_INTERVAL_REQUIRED": "Pollintervallet krävs",
       "TITLE_REQUIRED": "Titeln är obligatoriskt",
       "EMAILADDRESS_REQUIRED": "E-postadress krävs",
       "EVENTVARIABLES_REQUIRED": "Obligatoriskt fält",
-      "TYPE_REQUIRED": "Obligatoriskt fält",
-      "VALUE_REQUIRED": "Obligatoriskt fält",
       "ACCOUNT_REQUIRED": "Obligatoriskt fält",
-      "FIELD_REQUIRED": "Obligatoriskt fält",
       "INTEGRATION_REQUIRED": "Obligatoriskt fält",
-      "LIST_REQUIRED": "Obligatoriskt fält",
       "TEMPLATE_REQUIRED": "Obligatoriskt fält",
       "AUTOCREATECONTACT_REQUIRED": "Obligatoriskt fält",
-      "OUTBOUNDROUTE_REQUIRED": "Obligatoriskt fält",
-      "QUEUE_REQUIRED": "Obligatoriskt fält",
       "TIME_RANGE_TO_REQUIRED": "Obligatoriskt fält",
       "WEEK_DAYS_TO_REQUIRED": "Obligatoriskt fält",
       "MONTH_DAYS_TO_REQUIRED": "Obligatoriskt fält",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Fel format",
       "ACTION_REQUIRED": "Obligatoriskt fält",
       "CONFIGURATION_REQUIRED": "Obligatoriskt fält",
-      "PROJECT_REQUIRED": "Obligatoriskt fält",
       "LOCATION_REQUIRED": "Obligatoriskt fält",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "FONTSIZE_REQUIRED": "Obligatoriskt fält",
       "PATH_REQUIRED": "Obligatoriskt fält",
       "FORMAT_REQUIRED": "Obligatoriskt fält",
       "REPORT_REQUIRED": "Obligatoriskt fält",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Obligatoriskt fält",
       "REPORTSUBFOLDER_REQUIRED": "Obligatoriskt fält",
       "REPORTTYPE_REQUIRED": "Obligatoriskt fält",
-      "AGENT_REQUIRED": "Obligatoriskt fält",
       "INFO_REQUIRED": "Obligatoriskt fält",
       "SCRIPT_REQUIRED": "Obligatoriskt fält",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
-      "TIMEOUT_REQUIRED": "Obligatoriskt fält",
       "AUTOCREATE_FIELD_REQUIRED": "Obligatoriskt fält"
     },
     "HOST": "Host",
@@ -83,8 +64,6 @@
       "FROMUSER": "Hur din leverantör vet du. Det är som att sätta i stället för callerid när samtal till peer (en annan SIP-proxy). Endast giltig för type=peer.",
       "OUTBOUNDPROXY": "IP_adress eller DNS SRV-namn (exklusive _sip._udp prefix) : SRV namn, värdnamn eller IP-adress för utgående SIP-Proxy. Skicka utgående signaler till denna proxy, inte direkt till enheterna. Endast giltig för type=peer.",
       "PORT": "Det portnummer som vi vill ansluta till på fjärrkontrollen.",
-      "CONTEXT": "Den exploaterbara sammanhang för bagageutrymmet.",
-      "TYPE": "Bestämmer SIP roll inom asterisk. Användare: används för att autentisera inkommande - Kisa: för utgående samtal - vän: omfattar både egenskaper hos ovan.",
       "DTMFMODE": "Hur DTMF (Dual-Tone Multi-Frequency) skickas: RFC2833: standardläget DTMF skickas med RTP, men utanför ljudström. INBAND: DTMF skickas i ljudströmmen i den aktuella konversationen blir ljud ur högtalarna. Kräver en hög CPU-belastning. INFO: Även om denna metod är mycket tillförlitliga, det stöds inte av alla PBX-enheter och flera SIP-trunk.",
       "NAT": "Förändringar i beteendet hos Asterisk för beställare bakom en firewall.Om någon av komma-avskilde alternativ är \"nej\", Asterisk kommer att ignorera alla andra inställningar och ställa in nat=no.",
       "QUALIFY": "Avgör när SIP är genomförbara.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Ställ in standard transporter. Avgör det primära förvalda transporter.",
       "OTHERFIELDS": "Andra områden att lägga i segment conf filer. Att vara skrivna i asterisk-format (key=värde), varje fält på en enda rad.",
       "EMAILADDRESS": "Du kan lägga till flera adresser med kommatecken (t.ex. [email-masked] [email-masked]),",
-      "NAME": "Endast siffror, bokstäver och särskilda tecken (_) stöds",
       "EVENTVARIABLES": "Om aktiverad, lägger alla vid variabler till url",
       "T38PT_UDPTL": "Es: ja,redundans,maxdatagram=400",
       "EMAILBCCADDRESS": "Lägg till en eller flera adresser åtskilda med kommatecken (t ex [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Avancerat",
     "OTHER": "Övrigt",
     "ACTIVE": "Aktiv",
-    "CONTEXT": "Context",
     "CALLERID": "Nummerpresentation",
-    "TYPE": "Typ",
     "DTMFMODE": "DTMF-läge",
     "NAT": "NAT",
     "QUALIFY": "Kvalificera",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL-forward",
     "WEB_POPUP": "Web-popup",
-    "LIST": "Lista",
     "INTEGRATION": "Integrering",
     "TEMPLATE": "Mall",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/tr.json b/public/app/main/apps/tools/i18n/tr.json
index 9e7bb94..ba177ea 100644
--- a/public/app/main/apps/tools/i18n/tr.json
+++ b/public/app/main/apps/tools/i18n/tr.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "Arama",
-    "NAME": "Adı",
     "TRUNKS": "Devreleri",
     "SEARCH_FOR_ANYONE": "Arama herkesin",
     "ERRORS": {
-      "NAME_REQUIRED": "Adı gerekiyor",
-      "HOST_REQUIRED": "Ana gerekiyor.",
       "DEFAULTUSER_REQUIRED": "Varsayılan Kullanıcı gerekli",
       "CALLERID_REQUIRED": "Arayan kimliği gerekiyor",
-      "KEY_REQUIRED": "Anahtar gerekiyor.",
       "CONFIRM_NOT_MATCH": "Parolalar don' t match",
       "VALIDITYSTART_REQUIRED": "Başlangıç süresi gerekiyor.",
       "VALIDITYEND_REQUIRED": "Son zaman gerekiyor.",
       "MONTHDAY_REQUIRED": "Bu Ay Gün gerekiyor.",
       "HOUR_REQUIRED": "Saat gerekiyor.",
       "CONTENT_REQUIRED": "Içerik gerekiyor.",
-      "URL_REQUIRED": "URL gerekli",
       "URL_MUST_VALID_URL": "URL geçerli olmalıdır.",
       "APPLICATION_REQUIRED": "Uygulama gerekiyor.",
       "ARGUMENTS_REQUIRED": "Bu argümanlar gereklidir",
-      "NAME_MUST_VALID_PATTERN": "Ad yazılmış olması gerekir. geçerli bir format",
       "POLLING_INTERVAL_REQUIRED": "Yoklama aralığı gereklidir",
       "TITLE_REQUIRED": "Başlık gerekiyor.",
       "EMAILADDRESS_REQUIRED": "E-Posta Adresi gerekli",
       "EVENTVARIABLES_REQUIRED": "Zorunlu alan",
-      "TYPE_REQUIRED": "Zorunlu alan",
-      "VALUE_REQUIRED": "Zorunlu alan",
       "ACCOUNT_REQUIRED": "Zorunlu alan",
-      "FIELD_REQUIRED": "Zorunlu alan",
       "INTEGRATION_REQUIRED": "Zorunlu alan",
-      "LIST_REQUIRED": "Zorunlu alan",
       "TEMPLATE_REQUIRED": "Zorunlu alan",
       "AUTOCREATECONTACT_REQUIRED": "Zorunlu alan",
-      "OUTBOUNDROUTE_REQUIRED": "Zorunlu alan",
-      "QUEUE_REQUIRED": "Zorunlu alan",
       "TIME_RANGE_TO_REQUIRED": "Zorunlu alan",
       "WEEK_DAYS_TO_REQUIRED": "Zorunlu alan",
       "MONTH_DAYS_TO_REQUIRED": "Zorunlu alan",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "Yanlış format",
       "ACTION_REQUIRED": "Zorunlu alan",
       "CONFIGURATION_REQUIRED": "Zorunlu alan",
-      "PROJECT_REQUIRED": "Zorunlu alan",
       "LOCATION_REQUIRED": "Zorunlu alan",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
-      "FONTSIZE_REQUIRED": "Zorunlu alan",
       "PATH_REQUIRED": "Zorunlu alan",
       "FORMAT_REQUIRED": "Zorunlu alan",
       "REPORT_REQUIRED": "Zorunlu alan",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "Zorunlu alan",
       "REPORTSUBFOLDER_REQUIRED": "Zorunlu alan",
       "REPORTTYPE_REQUIRED": "Zorunlu alan",
-      "AGENT_REQUIRED": "Zorunlu alan",
       "INFO_REQUIRED": "Zorunlu alan",
       "SCRIPT_REQUIRED": "Zorunlu alan",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer şuna eşit veya daha büyük olmalıdır",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şuna eşit veya daha küçük olmalıdır",
-      "TIMEOUT_REQUIRED": "Zorunlu alan",
       "AUTOCREATE_FIELD_REQUIRED": "Zorunlu alan"
     },
     "HOST": "Ana",
@@ -83,8 +64,6 @@
       "FROMUSER": "Nasıl bilir rovider. Bu kullanıcı, bunun yerine, callerid, arama yapma eşler arası (başka bir SIP proxy). Geçerli sadece type=eşler.",
       "OUTBOUNDPROXY": "IP_adresi veya DNS SRV adı (hariç, _sip._udp önek) : SRV adı, ana bilgisayar adı veya IP adresi outbound SIP Proxy. Send giden sinyal bu proxy, doğrudan. Geçerli sadece type=eşler.",
       "PORT": "Bağlantı noktası numarası biz bağlanmak uzaktan.",
-      "CONTEXT": "Bu yararlanma için içerik.",
-      "TYPE": "Belirler, SIP içinde yıldız. Kullanıcı: kimliğini doğrulamak için kullanılan gelen - Eşler: aramaları - Arkadaş: kapakları hem özellikleri.",
       "DTMFMODE": "Nasıl DTMF (Çift Tonlu Çoklu Frekans) gönderilir: RFC2833: varsayılan mod, DTMF gönderilen RTP dışında ses akışı. Makineye kurulan: DTMF, ses akışı mevcut konuşma, giderek sesli hoparlörler. Bir yüksek CPU yükü. Bilgi: Bu yöntem, çok güvenilir, desteklenen tüm PBX cihazları ve birçok SIP Trunk.",
       "NAT": "Değişiklikler, davranış, Yıldız istemciler için bir güvenlik duvarının arkasında.Herhangi bir virgülle ayrılmış seçenekleri 'hayır', Yıldız yok diğer ayarları ve nat=no.",
       "QUALIFY": "Belirler, SIP, achievable.",
@@ -100,7 +79,6 @@
       "TRANSPORT": "Varsayılan geciktirir. Sipariş belirler, birincil varsayılan taşıma.",
       "OTHERFIELDS": "Diğer alanlar eklemek için, santrallerin conf dosyaları. Olarak yazılı yıldız biçimi (anahtar=değer), her alanda bir tek sıra.",
       "EMAILADDRESS": "Eklemek birden fazla adreslerini virgülle (örneğin [email-masked], [email-masked])",
-      "NAME": "Sadece sayılar, harfler ve özel karakterler (._) desteklenir.",
       "EVENTVARIABLES": "Etkin ise, tüm ekler olması değişkenleri url",
       "T38PT_UDPTL": "Es: evet,yedekleme,maxdatagram=400",
       "EMAILBCCADDRESS": "Virgülle ayrılmış bir veya birden fazla adres ekleyin (ör. [email-masked], [email-masked])",
@@ -120,9 +98,7 @@
     "ADVANCED": "Gelişmiş",
     "OTHER": "Diğer",
     "ACTIVE": "Aktif",
-    "CONTEXT": "Içerik",
     "CALLERID": "Arayan kimliği",
-    "TYPE": "Tipi",
     "DTMFMODE": "DTMF Modu",
     "NAT": "NAT",
     "QUALIFY": "Ödemesine",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL ileri",
     "WEB_POPUP": "Web Açılır",
-    "LIST": "Listesi",
     "INTEGRATION": "Entegrasyon",
     "TEMPLATE": "Şablon",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/i18n/zh-CN.json b/public/app/main/apps/tools/i18n/zh-CN.json
index e8f361f..048f84c 100644
--- a/public/app/main/apps/tools/i18n/zh-CN.json
+++ b/public/app/main/apps/tools/i18n/zh-CN.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "呼叫",
-    "NAME": "名称",
     "TRUNKS": "中继线",
     "SEARCH_FOR_ANYONE": "搜索任何人",
     "ERRORS": {
-      "NAME_REQUIRED": "该名称是必需的",
-      "HOST_REQUIRED": "主机是必需的",
       "DEFAULTUSER_REQUIRED": "默认的用户是必需的",
       "CALLERID_REQUIRED": "主叫方 ID 是必需的",
-      "KEY_REQUIRED": "关键的是必需的",
       "CONFIRM_NOT_MATCH": "密码不匹配",
       "VALIDITYSTART_REQUIRED": "启动所需的时间",
       "VALIDITYEND_REQUIRED": "结束时间是必需的",
       "MONTHDAY_REQUIRED": "在月日是必需的",
       "HOUR_REQUIRED": "小时是必需的",
       "CONTENT_REQUIRED": "内容是必需的",
-      "URL_REQUIRED": "URL 是必需的",
       "URL_MUST_VALID_URL": "URL 必须是有效的",
       "APPLICATION_REQUIRED": "应用程序是必需的",
       "ARGUMENTS_REQUIRED": "该参数是必需的",
-      "NAME_MUST_VALID_PATTERN": "该名称必须是书面的格式无效",
       "POLLING_INTERVAL_REQUIRED": "轮询间隔是必需的",
       "TITLE_REQUIRED": "标题是必需的",
       "EMAILADDRESS_REQUIRED": "电子邮件地址是必填项",
       "EVENTVARIABLES_REQUIRED": "必填字段",
-      "TYPE_REQUIRED": "必填字段",
-      "VALUE_REQUIRED": "必填字段",
       "ACCOUNT_REQUIRED": "必填字段",
-      "FIELD_REQUIRED": "必填字段",
       "INTEGRATION_REQUIRED": "必填字段",
-      "LIST_REQUIRED": "必填字段",
       "TEMPLATE_REQUIRED": "必填字段",
       "AUTOCREATECONTACT_REQUIRED": "必填字段",
-      "OUTBOUNDROUTE_REQUIRED": "必填字段",
-      "QUEUE_REQUIRED": "必填字段",
       "TIME_RANGE_TO_REQUIRED": "必填字段",
       "WEEK_DAYS_TO_REQUIRED": "必填字段",
       "MONTH_DAYS_TO_REQUIRED": "必填字段",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "错误的格式。",
       "ACTION_REQUIRED": "必填字段",
       "CONFIGURATION_REQUIRED": "必填字段",
-      "PROJECT_REQUIRED": "必填字段",
       "LOCATION_REQUIRED": "必填字段",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "FONTSIZE_REQUIRED": "必填项",
       "PATH_REQUIRED": "必填项",
       "FORMAT_REQUIRED": "必填项",
       "REPORT_REQUIRED": "必填项",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "必填项",
       "REPORTSUBFOLDER_REQUIRED": "必填项",
       "REPORTTYPE_REQUIRED": "必填项",
-      "AGENT_REQUIRED": "必填项",
       "INFO_REQUIRED": "必填项",
       "SCRIPT_REQUIRED": "必填项",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "TIMEOUT_REQUIRED": "必填项",
       "AUTOCREATE_FIELD_REQUIRED": "必填项"
     },
     "HOST": "主机",
@@ -83,8 +64,6 @@
       "FROMUSER": "如何您的提供商是否知悉你。 这是该用户而不是来电显示拨打电话时要对等(另一种 SIP 代理服务器)。 仅适用于类型=点。",
       "OUTBOUNDPROXY": "IP 地址或 DNS 服务器的名称(不包括_ sip _ udp 的前缀): 服务器名称、主机名或 IP 地址 SIP 呼出代理服务器。 发送出站信号, 该代理服务器, 而不是直接连接到设备。 仅适用于类型=点。",
       "PORT": "端口编号, 我们要连接到远程端上。",
-      "CONTEXT": "可利用上下文的中继线。",
-      "TYPE": "确定了 SIP 的作用范围内的星号。 用户名: 用于验证传入-同行: 呼出电话-朋友: 涵盖了这两个特点。",
       "DTMFMODE": "如何 DTMF(双音多频)发送: RFC2833: 默认模式、双音多频发送 RTP 以外的音频流。 : 带内 DTMF 发送音频数据流的当前对话, 成为声音的扬声器。 需要较高的 CPU 负载。 信息: 尽管这种方法非常可靠, 它是不受支持的所有 PBX 设备和许多的 SIP 中继。",
       "NAT": "改变行为的星号后面的客户端的防火墙。 如果任何的以逗号分隔的-选项是 “不”、星号将会忽略任何其他设置和设置 nat =否。",
       "QUALIFY": "确定当 SIP 是可以实现的。",
@@ -100,7 +79,6 @@
       "TRANSPORT": "设置缺省的传输。 该顺序确定主要的默认的传输。",
       "OTHERFIELDS": "其他字段以添加的中继线的配置文件。 写在星号格式(键=值), 每个字段的一行中。",
       "EMAILADDRESS": "您可以添加多个地址时使用逗号分隔(例如, [email-masked] [email-masked])",
-      "NAME": "只有数字、字母和特殊字符(_)的支持",
       "EVENTVARIABLES": "如果启用，它将所有的事件变量的 url 。",
       "T38PT_UDPTL": "Es ：是的，冗余， maxdatagram ＝ 400",
       "EMAILBCCADDRESS": "添加一个或多个以逗号分隔的地址（[email-masked],[email-masked]）",
@@ -120,9 +98,7 @@
     "ADVANCED": "高级",
     "OTHER": "其他",
     "ACTIVE": "Active",
-    "CONTEXT": "上下文",
     "CALLERID": "主叫方 ID",
-    "TYPE": "类型",
     "DTMFMODE": "DTMF 模式",
     "NAT": "NAT",
     "QUALIFY": "符合",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL 转发",
     "WEB_POPUP": "网站弹出式窗口",
-    "LIST": "列表",
     "INTEGRATION": "一体化",
     "TEMPLATE": "模板。",
     "URL": "URL。",
diff --git a/public/app/main/apps/tools/i18n/zh-TW.json b/public/app/main/apps/tools/i18n/zh-TW.json
index 8339358..57353bc 100644
--- a/public/app/main/apps/tools/i18n/zh-TW.json
+++ b/public/app/main/apps/tools/i18n/zh-TW.json
@@ -2,40 +2,28 @@
   "TOOLS": {
     "BOT": "Voicebot",
     "CALL": "通話",
-    "NAME": "名稱",
     "TRUNKS": "中繼線運行",
     "SEARCH_FOR_ANYONE": "搜尋使用者",
     "ERRORS": {
-      "NAME_REQUIRED": "「名稱」為必填欄位",
-      "HOST_REQUIRED": "主機是必填欄位",
       "DEFAULTUSER_REQUIRED": "預設的使用者為必填欄位",
       "CALLERID_REQUIRED": "「來電者 ID 」為必填欄位",
-      "KEY_REQUIRED": "該金鑰為必填欄位",
       "CONFIRM_NOT_MATCH": "密碼不符合 t",
       "VALIDITYSTART_REQUIRED": "開始時間為必要資訊",
       "VALIDITYEND_REQUIRED": "結束時間為必要資訊",
       "MONTHDAY_REQUIRED": "月日為必填欄位",
       "HOUR_REQUIRED": "小時為必填欄位",
       "CONTENT_REQUIRED": "其內容為必填欄位",
-      "URL_REQUIRED": "「 URL 」為必填欄位",
       "URL_MUST_VALID_URL": "URL 必須是有效的",
       "APPLICATION_REQUIRED": "應用程式是必填欄位",
       "ARGUMENTS_REQUIRED": "引數為必填欄位",
-      "NAME_MUST_VALID_PATTERN": "名稱必須以有效的格式",
       "POLLING_INTERVAL_REQUIRED": "輪詢間隔為必填欄位",
       "TITLE_REQUIRED": "「職稱」為必填欄位",
       "EMAILADDRESS_REQUIRED": "「電子郵件地址」為必填欄位",
       "EVENTVARIABLES_REQUIRED": "必填欄位",
-      "TYPE_REQUIRED": "必填欄位",
-      "VALUE_REQUIRED": "必填欄位",
       "ACCOUNT_REQUIRED": "必填欄位",
-      "FIELD_REQUIRED": "必填欄位",
       "INTEGRATION_REQUIRED": "必填欄位",
-      "LIST_REQUIRED": "必填欄位",
       "TEMPLATE_REQUIRED": "必填欄位",
       "AUTOCREATECONTACT_REQUIRED": "必填欄位",
-      "OUTBOUNDROUTE_REQUIRED": "必填欄位",
-      "QUEUE_REQUIRED": "必填欄位",
       "TIME_RANGE_TO_REQUIRED": "必填欄位",
       "WEEK_DAYS_TO_REQUIRED": "必填欄位",
       "MONTH_DAYS_TO_REQUIRED": "必填欄位",
@@ -44,11 +32,8 @@
       "TIME_RANGE_TO_INVALID": "錯誤的格式",
       "ACTION_REQUIRED": "必填欄位",
       "CONFIGURATION_REQUIRED": "必填欄位",
-      "PROJECT_REQUIRED": "必填欄位",
       "LOCATION_REQUIRED": "必填欄位",
       "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "FONTSIZE_REQUIRED": "必填項",
       "PATH_REQUIRED": "必填項",
       "FORMAT_REQUIRED": "必填項",
       "REPORT_REQUIRED": "必填項",
@@ -60,12 +45,8 @@
       "REPORTFOLDER_REQUIRED": "必填項",
       "REPORTSUBFOLDER_REQUIRED": "必填項",
       "REPORTTYPE_REQUIRED": "必填項",
-      "AGENT_REQUIRED": "必填項",
       "INFO_REQUIRED": "必填項",
       "SCRIPT_REQUIRED": "必填項",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "TIMEOUT_REQUIRED": "必填項",
       "AUTOCREATE_FIELD_REQUIRED": "必填項"
     },
     "HOST": "主機",
@@ -83,8 +64,6 @@
       "FROMUSER": "如何讓您的 rovider 知道您。 這是哪個使用者可將代替來電者 ID 在撥打電話到點 ( 另一 SIP 代理伺服器 ) 。 有效的類型 = 對等。",
       "OUTBOUNDPROXY": "IP _ 位址或 DNS 伺服器名稱 ( 不含 _ SIP 。 _ UDP 首 ) : 伺服器名稱、主機名稱或 IP 位址的「外傳 SIP 代理伺服器。 傳送輸出訊號給此代理伺服器 , 而不是直接傳送至裝置。 有效的類型 = 對等。",
       "PORT": "連接埠號碼我們想要連線到遠端。",
-      "CONTEXT": "弱點利用上下文的主幹。",
-      "TYPE": "決定 SIP 角色星號。 使用者 : 用於驗證傳入 - 點對點式 : 撥出電話 - 朋友 : 涵蓋了這兩個特徵的以上。",
       "DTMFMODE": "如何 DTMF ( 配合多頻 (DTMF) ) 傳送 : RFC2833 : 預設的模式、 DTMF 傳送與 RTP 但外部音訊串流。 頻帶內 : DTMF 傳送音訊串流的目前的交談、成為聲音從揚聲器。 需要很高的 CPU 負載。 資訊 : 雖然這個方法是非常可靠、不受所有 PBX 裝置和許多 SIP 中繼線。",
       "NAT": "改變行為之星號的用戶端防火牆後面。如果有任何逗點分隔選項為「否」 , 星號將會略過所有其他設定值和設定 NAT = No ( 否 ) 。",
       "QUALIFY": "決定當 SIP 可達成。",
@@ -100,7 +79,6 @@
       "TRANSPORT": "設定預設的傳輸。 醫令會決定主要預設傳輸。",
       "OTHERFIELDS": "其他欄位以新增中繼 conf 檔。 是以星號標示格式 ( 按鍵 = 值 ) 、每個欄位在單一列。",
       "EMAILADDRESS": "您可以將多個地址使用逗號 ( 例如 [email-masked] 、 [email-masked])",
-      "NAME": "只有數字、字母和特殊字元 ( _ ) 都受到支援",
       "EVENTVARIABLES": "如果已啟用 , 則會將它加到 url 變數的所有事件",
       "T38PT_UDPTL": "Es : 是的、備援、 maxdatagram = 400",
       "EMAILBCCADDRESS": "添加一個或多個以逗號分隔的地址（[email-masked],[email-masked]）",
@@ -120,9 +98,7 @@
     "ADVANCED": "進階",
     "OTHER": "其他",
     "ACTIVE": "作用中狀態",
-    "CONTEXT": "內容",
     "CALLERID": "來電者 ID",
-    "TYPE": "類型",
     "DTMFMODE": "DTMF 模式",
     "NAT": "NAT",
     "QUALIFY": "是否符合資格",
@@ -306,7 +282,6 @@
     "JSCRIPTY": "Jscripty",
     "URL_FORWARD": "URL 轉寄",
     "WEB_POPUP": "網頁快顯視窗",
-    "LIST": "清單",
     "INTEGRATION": "整合",
     "TEMPLATE": "範本",
     "URL": "URL",
diff --git a/public/app/main/apps/tools/views/triggers/edit/allconditions/allconditions.html b/public/app/main/apps/tools/views/triggers/edit/allconditions/allconditions.html
index 3029a14..4ae87ae 100644
--- a/public/app/main/apps/tools/views/triggers/edit/allconditions/allconditions.html
+++ b/public/app/main/apps/tools/views/triggers/edit/allconditions/allconditions.html
@@ -54,7 +54,7 @@
         ng-click="vm_dc.deleteSelectedTriggerAllConditions($event)"
         aria-label="delete selected"
         translate
-        translate-attr-label="TOOLS.DELETE_SELECTED"
+        translate-attr-label="APP.DELETE_SELECTED"
         <md-icon md-font-icon="icon-delete"></md-icon>
       </md-button>
@@ -74,14 +74,14 @@
         md-on-reorder="vm_dc.getTriggerAllConditions"
         <tr md-row>
-          <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
-          <th md-column md-order-by="field">{{ 'TOOLS.FIELD' | translate }}</th>
+          <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
+          <th md-column md-order-by="field">{{ 'APP.FIELD' | translate }}</th>
           <th md-column md-order-by="operator">
-            {{ 'TOOLS.OPERATOR' | translate }}
+            {{ 'APP.OPERATOR' | translate }}
           </th>
-          <th md-column md-order-by="value">{{ 'TOOLS.VALUE' | translate }}</th>
+          <th md-column md-order-by="value">{{ 'APP.VALUE' | translate }}</th>
           <th md-column md-order-by="createdAt">
-            {{ 'TOOLS.CREATED_AT' | translate }}
+            {{ 'APP.CREATED_AT' | translate }}
           </th>
           <th md-column width="10px"></th>
         </tr>
@@ -223,7 +223,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="TOOLS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -264,7 +264,7 @@
     </table>
   </md-table-container>
   <md-table-pagination
-    md-label="{page: '{{ 'TOOLS.PAGE' | translate }}:', rowsPerPage: '{{ 'TOOLS.ROWSPERPAGE' | translate }}:', of: '{{ 'TOOLS.OF' | translate }}'}"
+    md-label="{page: '{{ 'APP.PAGE' | translate }}:', rowsPerPage: '{{ 'APP.ROWSPERPAGE' | translate }}:', of: '{{ 'APP.OF' | translate }}'}"
     md-limit="vm_dc.query.limit"
     md-limit-options="[10, 15, 20, 50, 100, 250]"
     md-page="vm_dc.query.page"
diff --git a/public/app/main/apps/tools/views/triggers/edit/anyconditions/anyconditions.html b/public/app/main/apps/tools/views/triggers/edit/anyconditions/anyconditions.html
index 0d73ca4..bf2b2c6 100644
--- a/public/app/main/apps/tools/views/triggers/edit/anyconditions/anyconditions.html
+++ b/public/app/main/apps/tools/views/triggers/edit/anyconditions/anyconditions.html
@@ -54,7 +54,7 @@
         ng-click="vm_dc.deleteSelectedTriggerAnyConditions($event)"
         aria-label="delete selected"
         translate
-        translate-attr-label="TOOLS.DELETE_SELECTED"
+        translate-attr-label="APP.DELETE_SELECTED"
         <md-icon md-font-icon="icon-delete"></md-icon>
       </md-button>
@@ -74,14 +74,14 @@
         md-on-reorder="vm_dc.getTriggerAnyConditions"
         <tr md-row>
-          <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
-          <th md-column md-order-by="field">{{ 'TOOLS.FIELD' | translate }}</th>
+          <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
+          <th md-column md-order-by="field">{{ 'APP.FIELD' | translate }}</th>
           <th md-column md-order-by="operator">
-            {{ 'TOOLS.OPERATOR' | translate }}
+            {{ 'APP.OPERATOR' | translate }}
           </th>
-          <th md-column md-order-by="value">{{ 'TOOLS.VALUE' | translate }}</th>
+          <th md-column md-order-by="value">{{ 'APP.VALUE' | translate }}</th>
           <th md-column md-order-by="createdAt">
-            {{ 'TOOLS.CREATED_AT' | translate }}
+            {{ 'APP.CREATED_AT' | translate }}
           </th>
           <th md-column width="10px"></th>
         </tr>
@@ -215,7 +215,7 @@
                 class="md-icon-button"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="TOOLS.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -256,7 +256,7 @@
     </table>
   </md-table-container>
   <md-table-pagination
-    md-label="{page: '{{ 'TOOLS.PAGE' | translate }}:', rowsPerPage: '{{ 'TOOLS.ROWSPERPAGE' | translate }}:', of: '{{ 'TOOLS.OF' | translate }}'}"
+    md-label="{page: '{{ 'APP.PAGE' | translate }}:', rowsPerPage: '{{ 'APP.ROWSPERPAGE' | translate }}:', of: '{{ 'APP.OF' | translate }}'}"
     md-limit="vm_dc.query.limit"
     md-limit-options="[10, 15, 20, 50, 100, 250]"
     md-page="vm_dc.query.page"
diff --git a/public/app/main/apps/voice/i18n/ar.json b/public/app/main/apps/voice/i18n/ar.json
index ad4c966..0636a94 100644
--- a/public/app/main/apps/voice/i18n/ar.json
+++ b/public/app/main/apps/voice/i18n/ar.json
@@ -4,35 +4,11 @@
       "CUSTOM_APPLICATION": "(*) - تطبيق مخصص"
     },
     "ERRORS": {
-      "AFTERCALLWORKDURATION_REQUIRED": "بعد فترة المكالمات المطلوبة",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة التنبية المستمر أكبر من أو تساوي",
       "APPLICATION_NAME_REQUIRED": "اسم التطبيق مطلوب",
       "APPLICATION_REQUIRED": "التطبيق مطلوب",
       "CONFIRM_NOT_MATCH": "كلمات المرور غير متطابقة",
-      "CONTEXT_REQUIRED": "سياق الكلام مطلوب",
-      "DESTINATIONPATTERN_REQUIRED": "نمط الوجهة مطلوب",
-      "EMAIL_MUST_VALID": "يجب ان يكون البريد الالكتروني صالحا ",
-      "EMAIL_REQUIRED": "البريد الالكتروني مطلوب",
-      "EXTENSION_REQUIRED": "التحويلة مطلوبة ",
-      "FULLNAME_REQUIRED": "الاسم كاملا مطلوب",
-      "MAILBOX_REQUIRED": "صندوق البريد مطلوب",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "NAME_MUST_VALID_PATTERN": "يجب ان يكون نمط الاسم صالحا",
-      "NAME_REQUIRED": "الاسم مطلوب",
-      "OPTIONS_REQUIRED": "خيارات مطلوبة",
-      "PASSWORD_REQUIRED": "كلمة المرور مطلوبة",
-      "PHONENUMBER_REQUIRED": "رقم الهاتف مطلوب",
-      "PHONE_REQUIRED": "الهاتف مطلوب",
-      "PREFIX_REQUIRED": "الاختصار مطلوب",
-      "PRIORITY_REQUIRED": "الاولوية مطلوبة ",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون اعادة المحاولة أكبر من أو تساوي",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "التقنية و المصادر مطلوبة ",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة انتهاء الوقت أكبر من أو تساوي",
-      "TIMEOUT_REQUIRED": "انتهاء الوقت مطلوب",
-      "TIMEZONE_REQUIRED": "الوحدة الزمنية مطلوبة",
-      "VALUE_REQUIRED": "القيمة مطلوبة ",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمةالوزن او الحمولة أكبر من أو تساوي",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة نهاية الوقت أكبر من أو تساوي",
       "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمةمدة التوقف بعد المكالمة أكبر من أو تساوي",
       "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون الحد الاقصى للرسائل أكبر من أو تساوي",
@@ -43,58 +19,26 @@
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة الاشعار الدوري المتكرر أكبر من أو تساوي",
       "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة الحالة  أكبر من أو تساوي",
       "CALLERIDALL_MUST_VALID_PATTERN": "صيغة خاطئة",
-      "OUTBOUNDROUTE_REQUIRED": "حقل الزامي",
       "VARIABLE_REQUIRED": "حقل الزامي",
-      "CALLER_ID_MUST_VALID_PATTERN": "صيغة خاطئة",
-      "TRUNK_REQUIRED": "حقل الزامي",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي",
-      "PROJECT_REQUIRED": "حقل الزامي"
+      "CALLER_ID_MUST_VALID_PATTERN": "صيغة خاطئة"
     },
     "HELP": {
-      "AFTERCALLWORK": "في حالة التمكين ، سيتم تعيين ممثل الخدمة على إيقاف مؤقت بعد إكمال المكالمة",
-      "AFTERCALLWORKDURATION": "طول التوقف المؤقت الذي يتم تشغيله بواسطة خيار \"ما بعد مكالمة العمل\"",
-      "ANNOUNCECALLERPOSITION": "يتم استخدامه لتحديد ما إذا كان سيتم الإعلان عن موضع المتصل في قائمة الانتظار: لا = أبدًا ؛ نعم = دائما. Limit = only if is within the limit limit by announce-position-limit؛ أكثر = فقط إذا تجاوزت القيمة المحددة بواسطة حد الإعلان",
       "ANNOUNCEFREQUENCY": "عدد مرات الإعلان عن موضع المتصل و / أو وقت الانتظار المقدر في قائمة الانتظار (صفر إلى التعطيل)",
-      "ANNOUNCEHOLDTIME": "تشغيل وقت الانتظار المقدر مع الإعلانات الدورية (نعم / لا / مرة واحدة)",
       "ANNOUNCEPOSITIONLIMIT": "تُستخدم إذا تم تعريف الإعلان بأنه \"حد\" أو \"أكثر\"",
-      "ANNOUNCETOAGENT": "تشغيل إعلان للعامل الذي يرد على المكالمة (عادةً لإخباره عن قائمة الانتظار التي يأتي منها المتصل)",
       "AUTOPAUSE": "لتمكين / تعطيل التوقف التلقائي لممثلين الخدمةالذين يفشلون في الرد على مكالمة. إذا تم تمكينه ، فإنه يتسبب في إيقاف الموظف مؤقتًا في جميع قوائم الانتظار التي ينتمي إليها",
-      "CONTEXT": "للسماح لأحد المتصلين بالخروج من قائمة الانتظار عن طريق الضغط على رقم DTMF واحد. إذا تم تحديد سياق وإدخال المتصل رقمًا ، سيحاول هذا الرقم مطابقته في السياق المحدد ، وسيستمر تنفيذ خطة الطلب هناك",
-      "ESTIMATEDHOLDTIMEANNOUNCE": " الوقت الحالي المقدر للانتظار ",
-      "HOLDTIMEANNOUNCE": "اعلان وقت التوقف",
       "JOINWHENEMPTY": "تستخدم للتحكم في ما إذا كان المتصل قد تم تمريره إلى قائمة انتظار عند عدم توفر الأعضاء",
       "LEAVEWHENEMPTY": "تستخدم للتحكم في ما إذا كان المتصلون يقومون بترك الطابور عندما لا يكون هناك أعضاء متاحين لاستقبال المكالمات",
       "MAXLENGTH": "الحد الأقصى لعدد المتصلين المسموح لهم بالانتظار في قائمة الانتظار: صفر يعني غير محدود",
-      "MEMBERDELAY": "إدراج تأخير قبل المتصل وممثل الخدمة في قائمة الانتظار الحصول على اتصال",
-      "MINANNOUNCEFREQUENCY": "أقل تردد للإعلان (مفيد عندما يتغير موضع المتصل باستمرار)",
-      "MINUTEANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = \"دقيقة\". غير محدد = لا يوجد اعلان",
-      "MINUTESANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = \"دقيقة\". غير محدد = لا يوجد اعلان",
-      "MONITORFORMAT": "يحدد تنسيق الملف المراد استخدامه عند التسجيل. إذا كان تنسيق الشاشة غير نشط ، فلن يتم تسجيل المكالمات",
-      "MUSICONHOLD": "لتعيين فئة الموسيقى المراد استخدامها لقائمة انتظار معينة",
-      "NAME": "يتم دعم الأرقام والحروف والأحرف المحددة (._) فقط",
-      "PERIODICANNOUNCE": "مجموعة من الإعلانات الدورية التي سيتم لعبها (بالترتيب)",
-      "PERIODICANNOUNCEFREQUENCY": "تردد الإعلانات الدورية للمتصل",
       "RANDOMPERIODICANNOUNCE": "إذا كانت الإجابة بنعم ، فسيتم تشغيل الإعلانات الدورية المحددة بشكل عشوائي",
-      "RECORDING": "تمكين تسجيل المكالمات",
-      "REPORTHOLDTIMEAGENT": "تُمكِّن من تحديد وقت انتظار المتصل إلى ممثل الخدمة في قائمة الانتظار قبل الاتصال",
       "RETRY": "الوقت بالثواني للانتظار قبل استدعاء المتصل التالي في قائمة الانتظار عند انتهاء المهلة",
-      "RINGINUSE": "لتجنب / السماح بإرسال المكالمات إلى الأعضاء الذين تكون حالتهم قيد الاستخدام",
-      "SECONDSANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = â € œsecondsâ €. غير محدد = لا يوجد اعلان",
       "SETINTERFACEVARIABLES": "إذا تم تعيينها على نعم ، فقط قبل أن يتصل المتصل بعامل انتظار ، سيتم تعيين بعض المتغيرات (لمزيد من المعلومات راجع مستندات wiki)",
       "SETQUEUEENTRYVARIABLES": "إذا تم تعيينها على نعم ، فقط قبل اتصال المتصل بعامل انتظار ، سيتم تعيين بعض المتغيرات (لمزيد من المعلومات ، راجع مستندات wiki)",
       "SETQUEUEVARIABLES": "إذا تم تعيينها على نعم ، فقط قبل اتصال المتصل بعامل انتظار وترك قائمة الانتظار ، سيتم تعيين بعض المتغيرات (لمزيد من المعلومات ، راجع مستندات wiki)",
-      "THANKYOUANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = â € œ شكرا لك لصبرك â €. غير محدد = لا يوجد اعلان",
-      "THEREAREANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = â € œ thereâ €. غير محدد = لا يوجد اعلان",
       "TIMEOUT": "كم عدد الثواني لرنين جهاز",
-      "TIMEOUTRESTART": "إذا كانت الإجابة بنعم ، فهذا يعيد تعيين المهلة لممثل الخدمة للإجابة عند تلقي حالة BUSY أو CONGESTION من القناة",
-      "VOICEMAIL_CONTEXT": "حالة البريد الصوتي",
-      "WAITINGCALLSANNOUNCE": "اشعار بالمكالمات في الانتظار",
       "WEIGHT": "وزن قائمة الانتظار لتحديد الأولوية إذا كان الأعضاء مرتبطين بقوائم انتظار متعددة",
       "WRAPUPTIME": "الوقت بالثواني للحفاظ على عدم توفر متصل في قائمة الانتظار بعد إكمال المكالمة",
-      "YOUARENEXTANNOUNCE": "انت الان التالي ",
       "CALLERIDALL": "التنسيق المدعوم: \"CallerId\" & lt؛ number & gt؛",
       "CALLER_ID": "التنسيق المدعوم: \"CallerId\" & lt؛ number & gt؛",
-      "MANDATORYDISPOSITIONPAUSEID": "وقفة الوضع لتعيين أثناء التصرف الإلزامي",
       "SERVICELEVEL": "الإعدادات الثانية لمستوى الخدمة (الافتراضي = 0 ، بدون ترخيص اشتراك). تُستخدم لإحصاءات مستوى الخدمة (يتم الرد على المكالمات خلال الإطار الزمني لمستوى الخدمة)"
     },
     "ABANDONEDCALLS": "مكالمات Queue مهجورة",
@@ -128,7 +72,6 @@
     "LOGOUT": "الخروج",
     "MAIL": "البريد الإلكتروني",
     "MOHSOUNDS": "موسيقى الانتظار",
-    "NAME": "اسم",
     "NOTE": "ملحوظة",
     "NO_AGENT_ONLINE": "لايوجد ممثل خدمة على الانترنت",
     "OF": "من",
@@ -157,18 +100,12 @@
     "ADD_OUTBOUNDROUTE": "أضف مصدر المكالمة الواردة",
     "ADD_VOICEMAIL": "أضف بريد صوتي",
     "ADVANCED": "المتقدمة",
-    "AFTERCALLWORK": "بعد مكالمةالعمل",
-    "AFTERCALLWORKDURATION": "مدة بعد مكالمة العمل",
-    "ANNOUNCECALLERPOSITION": "اشعار بحالة المتصل",
     "ANNOUNCEFREQUENCY": "تنبيه متكرر",
-    "ANNOUNCEHOLDTIME": "تنبيه وقت التوقف",
     "ANNOUNCEMENTS": "الإعلانات",
     "ANNOUNCEPOSITIONLIMIT": "تنبيه الحد الاقصى للموقع",
-    "ANNOUNCETOAGENT": "تنبيه ممثل الخدمة",
     "ATTACH": "يربط",
     "AUTOPAUSE": "توقف آلي",
     "CONFIRM_PASSWORD": "تأكيد كلمة المرور",
-    "CONTEXT": "سياق الكلام",
     "CONTEXTS": "السياقات",
     "CUTDIGITS": "قطع أرقام",
     "DELETE": "حذف",
@@ -185,50 +122,31 @@
     "EDIT_VOICEMAIL": "تحرير البريد الصوتي",
     "EMAIL": "البريد الإلكتروني",
     "ENVELOPE": "ظرف",
-    "ESTIMATEDHOLDTIMEANNOUNCE": " اشعار وقت التوقف المحتمل",
     "FULLNAME": "الاسم الكامل",
     "GENERAL": "عام",
-    "HOLDTIMEANNOUNCE": "اشعار وقت التوقف",
     "INBOUNDROUTES": "مصدر المكالمة الواردة",
     "INTERNALROUTES": "مصدر المكالمة الداخلية",
     "JOINWHENEMPTY": "انضم عندما تكون فارغ",
     "LEAVEWHENEMPTY": "مغادرة عندما تكون فارغ",
     "MAILBOX": "صندوق بريد",
     "MAXLENGTH": "الحد الأقصى لطول",
-    "MEMBERDELAY": "تأخير العضو",
-    "MINANNOUNCEFREQUENCY": "الحد الأدنى من تكرار الاشعارات",
-    "MINUTEANNOUNCE": "دقيقة اشعار",
-    "MINUTESANNOUNCE": "دقائق اشعار",
-    "MONITORFORMAT": "تنسيق الشكل",
-    "MUSICONHOLD": "موسيقى الانتظار",
     "OUTBOUNDROUTES": "مصادر المكالمات الصادرة",
     "PASSWORD": "كلمه السر",
-    "PERIODICANNOUNCE": "اعلان دوري",
-    "PERIODICANNOUNCEFREQUENCY": "تردد اعلان دوري",
     "PHONENUMBER": "رقم الهاتف",
     "RANDOMPERIODICANNOUNCE": "اعلان دوري عشوائي",
-    "RECORDING": "تسجيل",
     "RECORDINGFORMAT": "شكل التسجيل",
-    "REPORTHOLDTIMEAGENT": "تقرير وقت انتظار ممثل الخدمة",
     "RETRY": "إعادة المحاولة",
-    "RINGINUSE": "الرنين قيد الإستخدام",
     "SAVE": "حفظ",
-    "SECONDSANNOUNCE": "اعلان الثواني",
     "SETINTERFACEVARIABLES": "ضبط متغيرات الواجهة",
     "SETQUEUEENTRYVARIABLES": "ضبط متغيرات إدخال قائمة الانتظار",
     "SETQUEUEVARIABLES": "تعيين متغيرات قائمة الانتظار",
     "SETTINGS": "إعدادات",
-    "THANKYOUANNOUNCE": "\"شكرا\" الإعلان",
-    "THEREAREANNOUNCE": "\"هناك\" الإعلان",
     "TIMEOUT": "نفذ الوقت",
-    "TIMEOUTRESTART": "مهلة إعادة التشغيل",
     "TIMEZONE": "وحدة زمنية",
     "VARIABLE": "متغير",
     "VOICEMAILS": "البريد الصوتي",
-    "WAITINGCALLSANNOUNCE": " تنبيه انتظار المكالمات",
     "WEIGHT": "وزن",
     "WRAPUPTIME": "وقت الالتفاف",
-    "YOUARENEXTANNOUNCE": "انت التالي",
     "ADD_AGENT_TO_VOICEQUEUE": "إضافة ممثل خدمةإلى قائمة انتظار الصوت",
     "ADD_MOHSOUND": "إضافة الموسيقى في الانتظار",
     "ADD_TEAM_TO_VOICEQUEUE": "إضافة فريق إلى قائمة انتظار الصوت",
@@ -296,14 +214,12 @@
     "SET": "مجموعة",
     "TECHNOLOGY/RESOURCE": "تكنولوجيا / الموارد",
     "TRUNK": "قناة",
-    "TYPE": "اكتب",
     "UNIQUEID": "معرف مميز",
     "URL": "URL",
     "USER": "المستخدم",
     "VALUE": "القيمة",
     "VOICE": "صوت",
     "VOICEMAIL": "البريد الصوتي",
-    "VOICEMAIL_CONTEXT": "سياق البريد الصوتي",
     "VOICERECORDINGS": "التسجيلات الصوتية",
     "ABANDONED_CALLS": "المكالمات المهجورة",
     "ADD_CHANSPY": "اضف متجسس خفي",
@@ -441,8 +357,6 @@
     "DIALER": "طالب",
     "INBOUND": "بالوارد",
     "OUTBOUND": "الصادرة",
-    "MANDATORYDISPOSITION": "التصرف الإلزامي",
-    "MANDATORYDISPOSITIONPAUSEID": "حالة توقف التصرف الإلزامي",
     "TEAMS_ASSOCIATION": "رابطة الفرق",
     "CANT_DOWNLOAD_THIS_FILE": "لا يمكن تنزيل هذا الملف",
     "FILE_NOT_FOUND": "لم يتم العثور على الملف",
diff --git a/public/app/main/apps/voice/i18n/cs.json b/public/app/main/apps/voice/i18n/cs.json
index 7a205e2..93301bc 100644
--- a/public/app/main/apps/voice/i18n/cs.json
+++ b/public/app/main/apps/voice/i18n/cs.json
@@ -14,7 +14,6 @@
     "EDIT_TRUNK": "Edit Trunk",
     "GOTO_VOICEQUEUE": "Go To Realtime Voice Queues",
     "GOTOREALTIME_VOICEQUEUE": "Go To Realtime Voice Queues",
-    "NAME": "Name",
     "LOGOUT": "Logout",
     "VOICEQUEUES": "Voice Queues",
     "SEARCH_FOR_ANYONE": "Search",
@@ -37,36 +36,11 @@
       "CUSTOM_APPLICATION": "(*) - Custom application"
     },
     "ERRORS": {
-      "TRUNK_REQUIRED": "Mandatory field",
       "VARIABLE_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
       "APPLICATION_NAME_REQUIRED": "Mandatory field",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "PHONENUMBER_REQUIRED": "Mandatory field",
-      "CONTEXT_REQUIRED": "Mandatory field",
-      "DESTINATIONPATTERN_REQUIRED": "Mandatory field",
-      "FULLNAME_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
-      "EMAIL_MUST_VALID": "Wrong format",
-      "MAILBOX_REQUIRED": "Mandatory field",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "TIMEZONE_REQUIRED": "Mandatory field",
-      "PREFIX_REQUIRED": "Mandatory field",
-      "OPTIONS_REQUIRED": "Mandatory field",
-      "AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
-      "PHONE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "EXTENSION_REQUIRED": "Mandatory field",
-      "PRIORITY_REQUIRED": "Mandatory field",
       "APPLICATION_REQUIRED": "Mandatory field",
-      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
@@ -77,11 +51,8 @@
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
       "CALLERIDALL_MUST_VALID_PATTERN": "Wrong format",
-      "CALLER_ID_MUST_VALID_PATTERN": "Wrong format",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
-      "PROJECT_REQUIRED": "Povinné pole"
+      "CALLER_ID_MUST_VALID_PATTERN": "Wrong format"
     },
     "GENERAL": "General",
     "TIMEOUT": "Timeout",
@@ -100,78 +71,26 @@
       "JOINWHENEMPTY": "Used to control whether a caller is passed to a queue when no members are available",
       "LEAVEWHENEMPTY": "Used to control whether callers are made leave the queue when no members are available to take calls",
       "ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (zero to disable)",
-      "MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
-      "PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
       "ANNOUNCEPOSITIONLIMIT": "Used if announce-position is defined as either 'limit' or 'more'",
-      "AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
-      "MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
-      "MUSICONHOLD": "Sets the music class to use for a particular queue",
-      "ANNOUNCETOAGENT": "Play an announcement to the agent answering the call (typically to let him know what queue the caller is coming from)",
       "RANDOMPERIODICANNOUNCE": "If yes, the defined periodic announcements will be played random",
-      "ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
-      "ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
-      "REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
-      "PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
-      "HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
-      "YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
-      "THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
-      "WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
-      "MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
-      "MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
-      "SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
-      "THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
-      "AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
       "AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled it causes the agent to be paused in all queues he belongs to",
-      "RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
-      "TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
-      "MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
-      "CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
       "SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs)",
       "SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs)",
       "SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs)",
-      "RECORDING": "Enable call recording",
-      "VOICEMAIL_CONTEXT": "The context of the relative extension",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "CALLERIDALL": "Supported format: \"CallerId\" &lt;number&gt;",
       "CALLER_ID": "Supported format: \"CallerId\" &lt;number&gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pozastavte stav, který chcete nastavit během povinné dispozice",
       "SERVICELEVEL": "Druhé nastavení pro úroveň služeb (výchozí = 0, bez SL). Používá se pro statistiku úrovně služeb (volání přijatá v časovém rámci úrovně služby)"
     },
-    "MUSICONHOLD": "Music On Hold",
-    "ANNOUNCETOAGENT": "Announce To Agent",
     "ANNOUNCEMENTS": "Announcements",
     "ADVANCED": "Advanced",
     "ANNOUNCEFREQUENCY": "Announce Frequency",
-    "MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
-    "PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
     "RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
-    "ANNOUNCEHOLDTIME": "Announce Hold Time",
-    "ANNOUNCECALLERPOSITION": "Announce Caller Position",
     "ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
-    "REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
-    "PERIODICANNOUNCE": "Periodic Announce",
-    "HOLDTIMEANNOUNCE": "Hold Time Announce",
-    "YOUARENEXTANNOUNCE": "'You are next' Announce",
-    "THEREAREANNOUNCE": "'There are' Announce",
-    "WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
-    "MINUTESANNOUNCE": "Minutes Announce",
-    "MINUTEANNOUNCE": "Minute Announce",
-    "SECONDSANNOUNCE": "Seconds Announce",
-    "THANKYOUANNOUNCE": "'Thank You' Announce",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "After Call Work",
-    "AFTERCALLWORKDURATION": "After Call Work Duration",
-    "RINGINUSE": "Ring In Use",
-    "MEMBERDELAY": "Member Delay",
-    "TIMEOUTRESTART": "Timeout Restart",
-    "MONITORFORMAT": "Recording Format",
     "SETINTERFACEVARIABLES": "Set Interface Variables",
     "SETQUEUEVARIABLES": "Set Queue Variables",
     "SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
     "VARIABLE": "Variable",
-    "CONTEXT": "Context",
     "SAVE": "Save",
     "SETTINGS": "Settings",
     "INBOUNDROUTES": "Inbound Routes",
@@ -186,7 +105,6 @@
     "EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
     "DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
     "CUTDIGITS": "Cut Digits",
-    "RECORDING": "Recording",
     "RECORDINGFORMAT": "Recording format",
     "INTERNALROUTES": "Internal Routes",
     "ADD_INTERNALROUTE": "Add Internal Route",
@@ -280,7 +198,6 @@
     "VOICE": "Voice",
     "REALTIME": "Realtime",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Context",
     "NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
     "FILE": "File",
     "ADD_MOHSOUND": "Add Music On Hold sound",
@@ -288,7 +205,6 @@
     "DELETE_MOHSOUND": "Delete Music On Hold sound",
     "UNIQUEID": "Unique ID",
     "AGENT": "Agent",
-    "TYPE": "Type",
     "RATING": "Rating",
     "AUDIO": "Audio",
     "DATE": "Date",
@@ -444,8 +360,6 @@
     "FAILUREREASON": "Důvod selhání",
     "FILE_NOT_FOUND": "Soubor nenalezen",
     "INBOUND": "Příchozí",
-    "MANDATORYDISPOSITION": "Povinná dispozice",
-    "MANDATORYDISPOSITIONPAUSEID": "Povinný stav pozastavení stavu",
     "OUTBOUND": "Odchozí",
     "RUNSENTIMENT_VOICERECORDING": "Spusťte sentiment",
     "RUNTRANSCRIBESENTIMENT_VOICERECORDING": "Spusťte přepis a sentiment",
diff --git a/public/app/main/apps/voice/i18n/da.json b/public/app/main/apps/voice/i18n/da.json
index 175dbaa..f0cfb93 100644
--- a/public/app/main/apps/voice/i18n/da.json
+++ b/public/app/main/apps/voice/i18n/da.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Gå til Realtime Voice køer",
     "GOTOREALTIME_VOICEQUEUE": "Gå til Realtime Voice køer",
-    "NAME": "Navnet",
     "LOGOUT": "Log af",
     "VOICEQUEUES": "Voice køer",
     "SEARCH_FOR_ANYONE": "Søg efter alle",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - Custom application."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er påkrævet",
       "APPLICATION_NAME_REQUIRED": "Programnavnet er påkrævet",
-      "TIMEOUT_REQUIRED": "Timeout er påkrævet",
-      "PHONENUMBER_REQUIRED": "Telefonnummeret er påkrævet",
-      "CONTEXT_REQUIRED": "Konteksten er påkrævet",
-      "DESTINATIONPATTERN_REQUIRED": "Destinationen mønster er påkrævet",
-      "FULLNAME_REQUIRED": "Det fulde navn er påkrævet",
-      "EMAIL_REQUIRED": "E-mail er påkrævet",
-      "EMAIL_MUST_VALID": "E-mailen skal være skrevet i et gyldigt format",
-      "MAILBOX_REQUIRED": "Postkassen er påkrævet",
-      "PASSWORD_REQUIRED": "Adgangskoden kræves",
       "CONFIRM_NOT_MATCH": "Adgangskoderne stemmer ikke overens",
-      "TIMEZONE_REQUIRED": "Tidszonen er påkrævet",
-      "PREFIX_REQUIRED": "Præfikset er påkrævet",
-      "OPTIONS_REQUIRED": "Mulighederne er påkrævet",
-      "AFTERCALLWORKDURATION_REQUIRED": "Det Efterarbejde varighed er påkrævet",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Teknologien/ressource er påkrævet",
-      "PHONE_REQUIRED": "Telefonen er påkrævet",
-      "VALUE_REQUIRED": "Værdien er nødvendig",
-      "EXTENSION_REQUIRED": "Den udvidelse er nødvendig",
-      "PRIORITY_REQUIRED": "Indsatsen er påkrævet",
-      "NAME_MUST_VALID_PATTERN": "Navnet skal være skrevet i et gyldigt format",
       "APPLICATION_REQUIRED": "Ansøgningen skal udfyldes",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Time-out skal være større end eller lig med",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max-længden skal være større end eller lig med",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Dette forsøg skal være større end eller lig med",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Det Afslutningstiden skal være større end eller lig med",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vægten skal være større end eller lig med",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De Annoncere frekvens skal være større end eller lig med",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Min Annoncere frekvens skal være større end eller lig med",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den periodiske annoncere frekvens skal være større end eller lig med",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max meddelelser skal være større end eller lig med",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Max meddelelser skal være mindre end eller lig med",
       "CALLERIDALL_MUST_VALID_PATTERN": "Forkert format",
-      "OUTBOUNDROUTE_REQUIRED": "Obligatorisk felt",
       "VARIABLE_REQUIRED": "Obligatorisk felt",
-      "CALLER_ID_MUST_VALID_PATTERN": "Forkert format",
-      "TRUNK_REQUIRED": "Obligatorisk felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt",
-      "PROJECT_REQUIRED": "Obligatorisk felt"
+      "CALLER_ID_MUST_VALID_PATTERN": "Forkert format"
     },
     "GENERAL": "Generel",
     "TIMEOUT": "Timeout",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Bestemmer, om en person er føjet til køen, når medlemmerne ikke er tilgængelige.",
       "LEAVEWHENEMPTY": "Bruges til at kontrollere, om personer er sparket ud af køen, når medlemmer ikke længere er tilgængelig til at modtage opkald.",
       "ANNOUNCEFREQUENCY": "Angiver, hvor ofte vi skal annoncere opkaldets position og/eller anslået ventetid i køen. Sæt værdien til 0 for at deaktivere.",
-      "MINANNOUNCEFREQUENCY": "Angiver den minimale mængde tid, der skal gå, inden vi annoncerer kaldets placering i køen igen. Dette bruges når den opkaldendes position kan skifte hyppigere for at undgå personen høre flere opdateringer i en kort periode.",
-      "PERIODICANNOUNCEFREQUENCY": "Angiver, hvor ofte vi skal foretage regelmæssige beskeder til personen.",
       "ANNOUNCEPOSITIONLIMIT": "Hvis du har defineret announce-position som enten begrænser eller mere.",
-      "AFTERCALLWORKDURATION": "Varigheden af pausen startet af Efterarbejde indstilling",
-      "MEMBERDELAY": "Hvis du ønsker, at der skal være en forsinkelse før personen, og køen kan være forbundet med hinanden.",
-      "MUSICONHOLD": "Sæt musikken klasse, der skal bruges ved en bestemt kø.",
-      "ANNOUNCETOAGENT": "Bruges til at spille en bekendtgørelse til agenten, der besvarede opkaldet, typisk at lade ham vide, hvad køen personen kommer fra.",
       "RANDOMPERIODICANNOUNCE": "Hvis sat til ja, vil spille de definerede regelmæssige beskeder i en tilfældig rækkefølge.",
-      "ANNOUNCEHOLDTIME": "Definerer om den anslåede ventetid bør spilles sammen med regelmæssige beskeder.",
-      "ANNOUNCECALLERPOSITION": "Definerer om opkaldets position i køen, skal du oplyse til hende. Hvis der ingen holdning vil aldrig blive offentliggjort. Hvis sat til Ja, opkaldets position vil altid blive annonceret. Hvis værdien er indstillet til grænsen, der ringer, høre hendes position i køen, hvis det er inden for rammerne defineret ved at annoncere stillinger-grænsen. Hvis værdien er mere vedkommende, der ringer, høre hendes holdning, hvis det overstiger det antal, der er defineret ved at annoncere stillinger-grænsen.",
-      "REPORTHOLDTIMEAGENT": "Gør rapportering på kalderens holdetid til køen medlem forud for brobygning.",
-      "PERIODICANNOUNCE": "En række regelmæssige beskeder der skal spilles, spilles i den rækkefølge, som de er defineret.",
-      "HOLDTIMEANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"hold\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "YOUARENEXTANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"You are now first in line\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "THEREAREANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"Er\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "WAITINGCALLSANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"ventende opkald\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"Den anslåede aktuelle hold-tid\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "MINUTESANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"protokollen\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "MINUTEANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"minut\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "SECONDSANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"sekunder\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "THANKYOUANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"Tak for jeres tålmodighed\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
-      "AFTERCALLWORK": "Hvis aktiv, vil agenten blive sat på pause efter et afsluttet opkald i kø",
       "AUTOPAUSE": "Aktiverer/deaktiverer automatisk afbrydelse af medlemmer der undlader at besvare et opkald. Hvis aktiv, skyldes det, at der holdes pause i alle køer, han er medlem af.",
-      "RINGINUSE": "Bruges til at undgå at sende opkald til medlemmer, hvis status er i brug.",
-      "TIMEOUTRESTART": "Hvis sat til Ja, nulstiller timeout for en agent at besvare hvis enten optaget eller overbelastning status modtages fra kanalen.",
-      "MONITORFORMAT": "Angiver filformatet til brug ved optagelse. Hvis skærm-format er inaktiv, vil ikke blive registreret.",
-      "CONTEXT": "Gør det muligt for en person at forlade køen ved at trykke en enkelt DTMF ciffer. Hvis en sammenhæng er specificeret, og opkalderen indtaster en række tal, som vil prøve at blive matchet i forbindelse angivet, og opkaldsplanen udførelsen fortsætter der.",
       "SETINTERFACEVARIABLES": "Hvis sat til ja, lige inden de ringer, er forbundet med en kø-nogle variabler bliver sat(se wiki)",
       "SETQUEUEVARIABLES": "Hvis sat til ja, lige inden de ringer, er forbundet med en anden kø og lige inden personen forlader køen nogle variabler bliver sat(se wiki)",
       "SETQUEUEENTRYVARIABLES": "Hvis sat til ja, lige inden de ringer, er forbundet med en kø-nogle variabler bliver sat(se wiki)",
-      "RECORDING": "Aktivering af optagelse af opkald",
-      "VOICEMAIL_CONTEXT": "På baggrund af den relative forlængelse.",
-      "NAME": "Kun tal og bogstaver og specielle tegn (.________) understøttes",
       "CALLERIDALL": "Understøttet format: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Understøttet format: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausestatus, der skal indstilles under obligatorisk disposition",
       "SERVICELEVEL": "Anden indstilling for serviceniveau (standard = 0, ingen SL). Bruges til statistik på serviceniveau (opkald besvaret inden for serviceniveau tidsramme)"
     },
-    "MUSICONHOLD": "Musik ved parkeret opkald",
-    "ANNOUNCETOAGENT": "Annoncere til agent",
     "ANNOUNCEMENTS": "Spots",
     "ADVANCED": "Avanceret",
     "ANNOUNCEFREQUENCY": "Annoncere frekvens",
-    "MINANNOUNCEFREQUENCY": "Annoncere Frekvens min.",
-    "PERIODICANNOUNCEFREQUENCY": "Periodisk Annoncere frekvens",
     "RANDOMPERIODICANNOUNCE": "Tilfældige periodiske annoncere",
-    "ANNOUNCEHOLDTIME": "Annoncere parkeret tid",
-    "ANNOUNCECALLERPOSITION": "Annoncere Opkalds Position",
     "ANNOUNCEPOSITIONLIMIT": "Annoncere bordposition",
-    "REPORTHOLDTIMEAGENT": "Rapporten Agent parkeret tid",
-    "PERIODICANNOUNCE": "Periodisk annoncere",
-    "HOLDTIMEANNOUNCE": "Parkeret tid annoncere",
-    "YOUARENEXTANNOUNCE": "\"Du er næste\" annoncere",
-    "THEREAREANNOUNCE": "'Der er' annoncere",
-    "WAITINGCALLSANNOUNCE": "Ventende opkald annoncere",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimeret Parkeringstid annoncere",
-    "MINUTESANNOUNCE": "Minutter præsentere",
-    "MINUTEANNOUNCE": "Minut annoncere",
-    "SECONDSANNOUNCE": "Sekunder annoncere",
-    "THANKYOUANNOUNCE": "Tak annoncere",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "Efter Opkaldsarbejde",
-    "AFTERCALLWORKDURATION": "Efterarbejde varighed",
-    "RINGINUSE": "Ringen er i brug",
-    "MEMBERDELAY": "Medlem forsinkelse",
-    "TIMEOUTRESTART": "Timeout genstart",
-    "MONITORFORMAT": "Optagelsesformat",
     "SETINTERFACEVARIABLES": "Indstil brugerflade variabler",
     "SETQUEUEVARIABLES": "Sæt Kø variabler",
     "SETQUEUEENTRYVARIABLES": "Indstil Queue Entry variabler",
     "VARIABLE": "Variabel",
-    "CONTEXT": "Kontekst",
     "SAVE": "Gem",
     "SETTINGS": "Indstillinger",
     "INBOUNDROUTES": "Indkommende ruter",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Rediger udgående rute",
     "DELETE_OUTBOUNDROUTE": "Slette Udgående rute",
     "CUTDIGITS": "Skær cifre",
-    "RECORDING": "Optagelse",
     "RECORDINGFORMAT": "Optagelsesformat",
     "INTERNALROUTES": "Indenrigsruter",
     "ADD_INTERNALROUTE": "Tilføj intern rute",
@@ -268,7 +186,6 @@
     "VOICE": "Voice",
     "REALTIME": "Realtime",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Kontekst",
     "NO_MOHSOUND_AVAILABLE": "Ingen musik på Hold til rådighed",
     "FILE": "Fil",
     "ADD_MOHSOUND": "Tilføj musik på Hold lyd",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Slette musik på Hold lyd",
     "UNIQUEID": "Unikt ID",
     "AGENT": "Agent",
-    "TYPE": "Type",
     "RATING": "Rating",
     "AUDIO": "Audio",
     "DATE": "Dato",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "Indgående",
     "OUTBOUND": "Udgående",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Obligatorisk disposition pausestatus",
     "TEAMS_ASSOCIATION": "Holdforening",
     "CANT_DOWNLOAD_THIS_FILE": "Denne fil kan ikke downloades",
     "FILE_NOT_FOUND": "Fil ikke fundet",
diff --git a/public/app/main/apps/voice/i18n/de.json b/public/app/main/apps/voice/i18n/de.json
index 27d0805..fd678b1 100644
--- a/public/app/main/apps/voice/i18n/de.json
+++ b/public/app/main/apps/voice/i18n/de.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Zu Realtime Voice Warteschlangen gehen",
     "GOTOREALTIME_VOICEQUEUE": "Zu Realtime Voice Warteschlangen gehen",
-    "NAME": "Name",
     "LOGOUT": "An-/Abmelden",
     "VOICEQUEUES": "Voice Warteschlangen",
     "SEARCH_FOR_ANYONE": "Suche für Jedermann",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - Benutzerdefinierte Anwendung."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Der Name ist erforderlich",
       "APPLICATION_NAME_REQUIRED": "Der Name der Anwendung ist erforderlich",
-      "TIMEOUT_REQUIRED": "Der Timeout ist erforderlich",
-      "PHONENUMBER_REQUIRED": "Die Telefonnummer ist erforderlich",
-      "CONTEXT_REQUIRED": "Der Rahmen ist erforderlich",
-      "DESTINATIONPATTERN_REQUIRED": "Das Ziel-pattern ist erforderlich",
-      "FULLNAME_REQUIRED": "Der vollständige Name ist erforderlich",
-      "EMAIL_REQUIRED": "Die E-Mail ist erforderlich",
-      "EMAIL_MUST_VALID": "Die e-Mail muss in einem gültigen Format",
-      "MAILBOX_REQUIRED": "Die Mailbox ist erforderlich",
-      "PASSWORD_REQUIRED": "Das Kennwort ist erforderlich",
       "CONFIRM_NOT_MATCH": "Die Kennwörter stimmen nicht überein.",
-      "TIMEZONE_REQUIRED": "Die Zeitzone ist erforderlich",
-      "PREFIX_REQUIRED": "Das Präfix ist erforderlich",
-      "OPTIONS_REQUIRED": "Die Optionen sind Erforderlich",
-      "AFTERCALLWORKDURATION_REQUIRED": "Die Arbeit nach Anruf Dauer ist erforderlich",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Die Technologie/Ressource erforderlich ist",
-      "PHONE_REQUIRED": "Die Telefonnummer ist erforderlich",
-      "VALUE_REQUIRED": "Der Wert ist erforderlich",
-      "EXTENSION_REQUIRED": "Die Verlängerung ist erforderlich",
-      "PRIORITY_REQUIRED": "Die Priorität ist erforderlich",
-      "NAME_MUST_VALID_PATTERN": "Der Name muss in einem gültigen Format geschrieben werden",
       "APPLICATION_REQUIRED": "Die Anwendung ist erforderlich",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Timeout muss größer als oder gleich",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die max. Länge muss größer als oder gleich",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Wiederholung muss größer als oder gleich",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Nachlese Zeit muss größer als oder gleich",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Das Gewicht muss größer als oder gleich",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Häufigkeit verkünden muss größer als oder gleich",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Min Frequenz ankündigen muss größer als oder gleich",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die periodische Frequenz ankündigen muss größer als oder gleich",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Max Meldungen muss größer als oder gleich",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Die Max Meldungen muss kleiner als oder gleich",
       "CALLERIDALL_MUST_VALID_PATTERN": "Falsches Format",
-      "OUTBOUNDROUTE_REQUIRED": "Pflichtfeld",
       "VARIABLE_REQUIRED": "Pflichtfeld",
-      "CALLER_ID_MUST_VALID_PATTERN": "Falsches Format",
-      "TRUNK_REQUIRED": "Pflichtfeld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld",
-      "PROJECT_REQUIRED": "Pflichtfeld"
+      "CALLER_ID_MUST_VALID_PATTERN": "Falsches Format"
     },
     "GENERAL": "Allgemein",
     "TIMEOUT": "Timeout",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Steuert, ob ein Anrufer wird zur Warteschlange hinzugefügt werden, wenn keine Mitglieder verfügbar sind.",
       "LEAVEWHENEMPTY": "Zur Kontrolle, ob die Anrufer aus der Warteschlange, wenn die Mitglieder nicht mehr bereit sind, Anrufe zu beantworten.",
       "ANNOUNCEFREQUENCY": "Legt fest, wie oft sollten wir den Anrufer ankündigen und/oder geschätzte Wartezeit in der Warteschlange. Setzen Sie diesen Wert auf Null, um die Funktion zu deaktivieren.",
-      "MINANNOUNCEFREQUENCY": "Gibt die minimale Zeit, die verstreichen müssen, bevor wir Ihnen die Anrufer in der Warteschlange wieder. Dieser wird verwendet, wenn der Anrufer die Position kann sich häufig ändern, um zu verhindern, dass der Anrufer hören mehrere Updates in einem kurzen Zeitraum.",
-      "PERIODICANNOUNCEFREQUENCY": "Gibt an, wie oft wir sollten regelmäßige Ansagen, die dem Anrufer vorgespielt werden.",
       "ANNOUNCEPOSITIONLIMIT": "Sie kann verwendet werden, wenn Sie definiert haben, verkünden-Position entweder als Begrenzung oder mehr.",
-      "AFTERCALLWORKDURATION": "Die Dauer der Pause durch die Option \"Arbeit nach Anruf",
-      "MEMBERDELAY": "Sie kann verwendet werden, wenn Sie wollen, dass es eine Verzögerung, bevor der Anrufer und Mitglied der Warteschlange, die miteinander verbunden sind.",
-      "MUSICONHOLD": "Setzt die Musik klasse verwendet werden, die von einer bestimmten Warteschlange an.",
-      "ANNOUNCETOAGENT": "Für die Wiedergabe einer Ansage auf den Agenten, der den Anruf entgegengenommen hat, ihn wissen zu lassen, was der Anrufer die Warteschlange aus.",
       "RANDOMPERIODICANNOUNCE": "Falls auf Ja eingestellt, wird die festgelegte regelmäßige Mitteilungen in einer zufälligen Reihenfolge.",
-      "ANNOUNCEHOLDTIME": "Legt fest, ob die geschätzte Wartezeit gespielt werden sollte zusammen mit den regelmäßigen Ankündigungen.",
-      "ANNOUNCECALLERPOSITION": "Legt fest, ob es sich bei dem Anrufer seine Position in der Warteschlange mitgeteilt werden sollten. Wenn die Einstellung Nein lautet, die Position wird nicht bekannt gegeben. Falls auf Ja eingestellt, wird die Position des Anrufers wird immer bekannt gegeben. Wenn der Wert überschritten wird, wird der Anrufer hört ihre Position in der Warteschlange nur, wenn er sich innerhalb der Grenze von AK-Position. Wenn der Wert auf Mehr, hört der Anrufer ihre Position, wenn es über die Zahl von AK-Position.",
-      "REPORTHOLDTIMEAGENT": "Die Berichterstattung über die CLI des Anrufers mit der Zeit in der Warteschleife in der Warteschlange vor.",
-      "PERIODICANNOUNCE": "Eine Reihe von regelmäßigen Mitteilungen gespielt zu werden, in der Reihenfolge wiedergegeben, in der sie definiert sind.",
-      "HOLDTIMEANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Hold\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "YOUARENEXTANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Sie sind jetzt in erster Linie\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "THEREAREANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Es gibt\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "WAITINGCALLSANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Wartende Anrufe\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Die voraussichtliche Wartezeit ist\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "MINUTESANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"min\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "MINUTEANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"min\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "SECONDSANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Sekunden\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "THANKYOUANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Vielen Dank für Ihre Geduld.\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
-      "AFTERCALLWORK": "Wenn der Agent aktiv ist, wird auf eine Pause nach einer abgeschlossenen Anruf in der Warteschlange",
       "AUTOPAUSE": "Aktiviert/Deaktiviert die automatische Unterbrechung der Mitglieder, die es versäumen, um einen Anruf zu beantworten. Wenn aktiv, wird diese Mitgliedstaaten angehalten zu werden in allen Warteschlangen er Mitglied ist.",
-      "RINGINUSE": "Verwendet werden, um zu vermeiden, Senden von Anrufen an Mitglieder, deren Status im Einsatz ist.",
-      "TIMEOUTRESTART": "Falls auf Ja eingestellt, wird das Timeout für einen Agenten zu beantworten, wenn entweder ein Besetztzeichen oder wird mit dem Status \"Überlastung des Kanals.",
-      "MONITORFORMAT": "Gibt das Dateiformat zu verwenden, wenn die Aufnahme. Wenn der Monitor-Format deaktiviert ist, werden die Anrufe nicht aufgezeichnet werden.",
-      "CONTEXT": "Ermöglicht einem Anrufer zu beenden, die die Warteschlange durch Drücken einer einzigen Taste MFV-Ziffer. Wenn Sie einen Kontext angegeben ist und der Anrufer gibt eine Zahl, Ziffer wird versuchen, die angepasst werden können, im Rahmen festgelegt, und es wird auch weiterhin die Ausführung Nummernplan.",
       "SETINTERFACEVARIABLES": "Falls auf Ja eingestellt, kurz vor dem Anrufer, die mit einer Warteschlange, die einige Variablen werden(siehe wiki)",
       "SETQUEUEVARIABLES": "Falls auf Ja eingestellt, kurz vor dem Anrufer, die mit einer Warteschlange und kurz vor dem Anrufer die Warteschlange verlassen einige Variablen werden(siehe wiki)",
       "SETQUEUEENTRYVARIABLES": "Falls auf Ja eingestellt, kurz vor dem Anrufer, die mit einer Warteschlange, die einige Variablen werden(siehe wiki)",
-      "RECORDING": "Aktivieren der Aufzeichnung",
-      "VOICEMAIL_CONTEXT": "Im Rahmen der relativen Erweiterung.",
-      "NAME": "Nur Zahlen, Buchstaben und Sonderzeichen (._) werden unterstützt.",
       "CALLERIDALL": "Unterstützte Formate: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Unterstützte Formate: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausenstatus, der während der Zwangsdisposition festgelegt werden soll",
       "SERVICELEVEL": "Zweite Einstellungen für Service Level (Standard = 0, kein SL). Wird für Service Level-Statistiken verwendet (Anrufe werden innerhalb des Service Level-Zeitrahmens beantwortet)"
     },
-    "MUSICONHOLD": "Musik auf Halten",
-    "ANNOUNCETOAGENT": "Geben Sie Agent",
     "ANNOUNCEMENTS": "Ankündigungen",
     "ADVANCED": "Erweiterte",
     "ANNOUNCEFREQUENCY": "Frequenz ankündigen",
-    "MINANNOUNCEFREQUENCY": "Minimale Frequenz ankündigen",
-    "PERIODICANNOUNCEFREQUENCY": "Periodische Frequenz ankündigen",
     "RANDOMPERIODICANNOUNCE": "Random Periodische verkünden",
-    "ANNOUNCEHOLDTIME": "Geben Sie Zeit",
-    "ANNOUNCECALLERPOSITION": "Position des Anrufers bekannt",
     "ANNOUNCEPOSITIONLIMIT": "Geben Position Limit",
-    "REPORTHOLDTIMEAGENT": "Bericht Agenten",
-    "PERIODICANNOUNCE": "Periodische verkünden",
-    "HOLDTIMEANNOUNCE": "Zeit in der Warteschleife verkünden",
-    "YOUARENEXTANNOUNCE": "\"Sie sind weiter' verkünden",
-    "THEREAREANNOUNCE": "'Es gibt' verkünden",
-    "WAITINGCALLSANNOUNCE": "Wartende Anrufe,",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Geschätzte Zeit halten,",
-    "MINUTESANNOUNCE": "Minuten ankündigen",
-    "MINUTEANNOUNCE": "Minute verkünden",
-    "SECONDSANNOUNCE": "Sekunden,",
-    "THANKYOUANNOUNCE": "'Vielen Dank' verkünden",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "Arbeit nach Anruf",
-    "AFTERCALLWORKDURATION": "Arbeit nach Anruf Dauer",
-    "RINGINUSE": "Ring in Verwendung",
-    "MEMBERDELAY": "Die Verzögerung",
-    "TIMEOUTRESTART": "Timeout starten",
-    "MONITORFORMAT": "Aufzeichnungsformat",
     "SETINTERFACEVARIABLES": "Die Interface- Variablen",
     "SETQUEUEVARIABLES": "Die Warteschlange Variablen",
     "SETQUEUEENTRYVARIABLES": "Die Warteschlange ENTRY-Variablen",
     "VARIABLE": "Variable",
-    "CONTEXT": "Kontext",
     "SAVE": "Speichern",
     "SETTINGS": "Einstellungen",
     "INBOUNDROUTES": "Ankommende Routen",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Abgehende Route bearbeiten",
     "DELETE_OUTBOUNDROUTE": "Abgehende Route löschen",
     "CUTDIGITS": "Die Ziffern",
-    "RECORDING": "Aufnahme",
     "RECORDINGFORMAT": "Aufzeichnungsformat",
     "INTERNALROUTES": "Interne Routen",
     "ADD_INTERNALROUTE": "Fügen Sie interne Routen",
@@ -268,7 +186,6 @@
     "VOICE": "Voice",
     "REALTIME": "Echtzeit",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Kontext",
     "NO_MOHSOUND_AVAILABLE": "Keine Wartemusik verfügbar",
     "FILE": "Datei",
     "ADD_MOHSOUND": "Hinzufügen von Musik auf Halten sound",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Löschen Sie Music On Hold sound",
     "UNIQUEID": "Eindeutige ID",
     "AGENT": "Agent",
-    "TYPE": "Typ",
     "RATING": "Bewertung",
     "AUDIO": "Audio",
     "DATE": "Datum",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "Eingehende",
     "OUTBOUND": "Ausgehend",
-    "MANDATORYDISPOSITION": "Zwingende Disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Status der obligatorischen Dispositionspause",
     "TEAMS_ASSOCIATION": "Vereinigung der Mannschaften",
     "CANT_DOWNLOAD_THIS_FILE": "Diese Datei kann nicht heruntergeladen werden",
     "FILE_NOT_FOUND": "Datei nicht gefunden",
diff --git a/public/app/main/apps/voice/i18n/en.json b/public/app/main/apps/voice/i18n/en.json
index a433492..e6e9584 100644
--- a/public/app/main/apps/voice/i18n/en.json
+++ b/public/app/main/apps/voice/i18n/en.json
@@ -22,7 +22,6 @@
     "EDIT_TRUNK": "Edit Trunk",
     "GOTO_VOICEQUEUE": "Go To Realtime Voice Queues",
     "GOTOREALTIME_VOICEQUEUE": "Go To Realtime Voice Queues",
-    "NAME": "Name",
     "LOGOUT": "Logout",
     "VOICEQUEUES": "Voice Queues",
     "SEARCH_FOR_ANYONE": "Search",
@@ -49,40 +48,16 @@
     "WEIGHT": "Weight",
     "JOINWHENEMPTY": "Join when empty",
     "LEAVEWHENEMPTY": "Leave when empty",
-    "MUSICONHOLD": "Music On Hold",
-    "ANNOUNCETOAGENT": "Announce To Agent",
     "ANNOUNCEMENTS": "Announcements",
     "ADVANCED": "Advanced",
     "ANNOUNCEFREQUENCY": "Announce Frequency",
-    "MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
-    "PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
     "RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
-    "ANNOUNCEHOLDTIME": "Announce Hold Time",
-    "ANNOUNCECALLERPOSITION": "Announce Caller Position",
     "ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
-    "REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
-    "PERIODICANNOUNCE": "Periodic Announce",
-    "HOLDTIMEANNOUNCE": "Hold Time Announce",
-    "YOUARENEXTANNOUNCE": "'You are next' Announce",
-    "THEREAREANNOUNCE": "'There are' Announce",
-    "WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
-    "MINUTESANNOUNCE": "Minutes Announce",
-    "MINUTEANNOUNCE": "Minute Announce",
-    "SECONDSANNOUNCE": "Seconds Announce",
-    "THANKYOUANNOUNCE": "'Thank You' Announce",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "After Call Work",
-    "AFTERCALLWORKDURATION": "After Call Work Duration",
-    "RINGINUSE": "Ring In Use",
-    "MEMBERDELAY": "Member Delay",
-    "TIMEOUTRESTART": "Timeout Restart",
-    "MONITORFORMAT": "Recording Format",
     "SETINTERFACEVARIABLES": "Set Interface Variables",
     "SETQUEUEVARIABLES": "Set Queue Variables",
     "SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
     "VARIABLE": "Variable",
-    "CONTEXT": "Context",
     "SAVE": "Save",
     "SETTINGS": "Settings",
     "INBOUNDROUTES": "Inbound Routes",
@@ -97,7 +72,6 @@
     "EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
     "DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
     "CUTDIGITS": "Cut Digits",
-    "RECORDING": "Recording",
     "RECORDINGFORMAT": "Recording format",
     "INTERNALROUTES": "Internal Routes",
     "ADD_INTERNALROUTE": "Add Internal Route",
@@ -191,7 +165,6 @@
     "VOICE": "Voice",
     "REALTIME": "Realtime",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Context",
     "NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
     "FILE": "File",
     "ADD_MOHSOUND": "Add Music On Hold sound",
@@ -199,7 +172,6 @@
     "DELETE_MOHSOUND": "Delete Music On Hold sound",
     "UNIQUEID": "Unique ID",
     "AGENT": "Agent",
-    "TYPE": "Type",
     "RATING": "Rating",
     "AUDIO": "Audio",
     "DATE": "Date",
@@ -349,8 +321,6 @@
     "DELETE_VOICEPREFIX": "Delete Prefix",
     "OUTBOUNDROUTE": "Outbound Route",
     "CALLERIDALL": "Caller Id",
-    "MANDATORYDISPOSITION": "Mandatory disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Mandatory disposition pause status",
     "SCREENRECORDING": "Manage Screen Recording",
     "START_SCREENRECORDING": "Start Screen Recording",
     "STOP_SCREENRECORDING": "Stop Screen Recording",
@@ -381,37 +351,11 @@
       "CUSTOM_APPLICATION": "(*) - Custom application"
     },
     "ERRORS": {
-      "PROJECT_REQUIRED": "Mandatory field",
-      "TRUNK_REQUIRED": "Mandatory field",
       "VARIABLE_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
       "APPLICATION_NAME_REQUIRED": "Mandatory field",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "PHONENUMBER_REQUIRED": "Mandatory field",
-      "CONTEXT_REQUIRED": "Mandatory field",
-      "DESTINATIONPATTERN_REQUIRED": "Mandatory field",
-      "FULLNAME_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
-      "EMAIL_MUST_VALID": "Wrong format",
-      "MAILBOX_REQUIRED": "Mandatory field",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "TIMEZONE_REQUIRED": "Mandatory field",
-      "PREFIX_REQUIRED": "Mandatory field",
-      "OPTIONS_REQUIRED": "Mandatory field",
-      "AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
-      "PHONE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "EXTENSION_REQUIRED": "Mandatory field",
-      "PRIORITY_REQUIRED": "Mandatory field",
       "APPLICATION_REQUIRED": "Mandatory field",
-      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
@@ -422,9 +366,7 @@
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
       "CALLERIDALL_MUST_VALID_PATTERN": "Wrong format",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field",
       "CALLER_ID_MUST_VALID_PATTERN": "Wrong format"
     },
     "HELP": {
@@ -436,42 +378,14 @@
       "JOINWHENEMPTY": "Used to control whether a caller is passed to a queue when no members are available",
       "LEAVEWHENEMPTY": "Used to control whether callers are made leave the queue when no members are available to take calls",
       "ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (zero to disable)",
-      "MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
-      "PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
       "ANNOUNCEPOSITIONLIMIT": "Used if announce-position is defined as either 'limit' or 'more'",
-      "AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
-      "MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
-      "MUSICONHOLD": "Sets the music class to use for a particular queue",
-      "ANNOUNCETOAGENT": "Play an announcement to the agent answering the call (typically to let him know what queue the caller is coming from)",
       "RANDOMPERIODICANNOUNCE": "If yes, the defined periodic announcements will be played random",
-      "ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
-      "ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
-      "REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
-      "PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
-      "HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
-      "YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
-      "THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
-      "WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
-      "MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
-      "MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
-      "SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
-      "THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
-      "AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
       "AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled it causes the agent to be paused in all queues he belongs to",
-      "RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
-      "TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
-      "MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
-      "CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
       "SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs)",
       "SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs)",
       "SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs)",
-      "RECORDING": "Enable call recording",
-      "VOICEMAIL_CONTEXT": "The context of the relative extension",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "CALLERIDALL": "Supported format: \"CallerId\" &lt;number&gt;",
       "CALLER_ID": "Supported format: \"CallerId\" &lt;number&gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause status to set during mandatory disposition",
       "SERVICELEVEL": "Second settings for service level (default=0, no SL). Used for service level statistics (calls answered within service level time frame)"
     }
   }
diff --git a/public/app/main/apps/voice/i18n/es.json b/public/app/main/apps/voice/i18n/es.json
index 0f99582..95e6850 100644
--- a/public/app/main/apps/voice/i18n/es.json
+++ b/public/app/main/apps/voice/i18n/es.json
@@ -4,98 +4,42 @@
       "CUSTOM_APPLICATION": "(*) - Aplicación personalizada"
     },
     "HELP": {
-      "AFTERCALLWORK": "Si está habilitado, el agente se configurará en Pausa después de completar una llamada",
-      "AFTERCALLWORKDURATION": "Longitud de pausa activada por la opción de trabajo posterior a la llamada",
-      "ANNOUNCECALLERPOSITION": "Se usa para definir si se debe anunciar la posición de la persona que llama en la cola: No=nunca; Sí=siempre; Límite=solo si está dentro del límite definido por announce-position-limit; Más=solo si está más allá del valor definido por announce-position-limit",
       "ANNOUNCEFREQUENCY": "Con qué frecuencia se anuncia la posición de la persona que llama y/o el tiempo de espera estimado en la cola (cero para deshabilitar)",
-      "ANNOUNCEHOLDTIME": "Reproduce el tiempo de espera estimado junto con los anuncios periódicos (Sí/No/Una vez)",
       "ANNOUNCEPOSITIONLIMIT": "Se usa si la posición de anuncio se define como 'límite' o 'más'",
-      "ANNOUNCETOAGENT": "Reproduzca un anuncio para el agente que contesta la llamada (generalmente para informarle de qué cola proviene la persona que llama)",
       "AUTOPAUSE": "Habilita/Deshabilita la pausa automática de los agentes que no responden una llamada. Si está habilitado, hace que el agente se pause en todas las colas a las que pertenece",
-      "CONTEXT": "Permite que una persona que llama salga de la cola presionando un solo dígito DTMF. Si se especifica un contexto y la persona que llama ingresa un número, ese dígito intentará coincidir en el contexto especificado, y la ejecución del plan de marcado continuará allí.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"El tiempo de espera estimado actual es\". Indefinido = sin anuncio",
-      "HOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Tiempo de espera\". Indefinido = sin anuncio",
       "JOINWHENEMPTY": "Se usa para controlar si una persona que llama se pasa a una cola cuando no hay miembros disponibles",
       "LEAVEWHENEMPTY": "Se usa para controlar si las personas que llaman se retiran de la cola cuando no hay miembros disponibles para atender llamadas.",
       "MAXLENGTH": "Número máximo de llamadas permitidas para esperar en una cola: cero significa ilimitado",
-      "MEMBERDELAY": "Inserta un retraso antes de que la persona que llama y el agente en la cola se conecten",
-      "MINANNOUNCEFREQUENCY": "Frecuencia mínima de anuncio (útil cuando la posición de quien llama cambia con frecuencia)",
-      "MINUTEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minuto\". Indefinido = sin anuncio",
-      "MINUTESANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minutos\". Indefinido = sin anuncio",
-      "MONITORFORMAT": "Especifica el formato de archivo para usar al grabar. Si el formato de monitor está inactivo, las llamadas no se grabarán",
-      "MUSICONHOLD": "Establece la clase de música para usar en una cola particular",
-      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
-      "PERIODICANNOUNCE": "Conjunto de anuncios periódicos para ser reproducidos (en el orden)",
-      "PERIODICANNOUNCEFREQUENCY": "Frecuencia de anuncios periódicos a la persona que llama",
       "RANDOMPERIODICANNOUNCE": "En caso afirmativo, los anuncios periódicos definidos se reproducirán al azar",
-      "RECORDING": "Habilitar grabación de llamadas",
-      "REPORTHOLDTIMEAGENT": "Permite informar el tiempo de espera del llamante al agente en la cola antes de la conexión",
       "RETRY": "Tiempo en segundos de espera antes de llamar al siguiente agente en la cola cuando el tiempo de espera ha expirado",
-      "RINGINUSE": "Para evitar/permitir el envío de llamadas a miembros cuyo estado sea En uso",
-      "SECONDSANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"segundos\". Indefinido = sin anuncio",
       "SETINTERFACEVARIABLES": "Si se establece en sí, justo antes de que la persona que llama se conecte con un agente de cola, se establecerán algunas variables (para más información, consulte los documentos wiki)",
       "SETQUEUEENTRYVARIABLES": "Si se establece en sí, justo antes de que la persona que llama se conecte con un agente de cola se establecerán algunas variables (para más información, vea los documentos wiki)",
       "SETQUEUEVARIABLES": "Si se establece en sí, justo antes de que la persona que llama se conecte con un agente de cola y abandone la cola, se establecerán algunas variables (para obtener más información, consulte los documentos wiki)",
-      "THANKYOUANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Gracias por su paciencia\". Indefinido = sin anuncio",
-      "THEREAREANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Hay\". Indefinido = sin anuncio",
       "TIMEOUT": "Cuántos segundos para sonar en dispositivo",
-      "TIMEOUTRESTART": "En caso afirmativo, esto restablece el tiempo de espera para que un agente responda cuando se recibe un estado OCUPADO o CONGESTIÓN del canal",
-      "VOICEMAIL_CONTEXT": "El contexto de la extensión relativa",
-      "WAITINGCALLSANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"llamadas en espera\". Indefinido = sin anuncio",
       "WEIGHT": "Peso de una cola para definir la prioridad si los miembros están asociados con múltiples colas",
       "WRAPUPTIME": "Tiempo en segundos para mantener un miembro de la cola no disponible después de completar una llamada",
-      "YOUARENEXTANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Ahora eres el primero en la fila\". Indefinido = sin anuncio",
       "CALLERIDALL": "Formato admitido: \"CallerId\" & lt; número & gt;",
       "CALLER_ID": "Formato admitido: \"CallerId\" & lt; número & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Estado de pausa para establecer durante el cierre obligatorio",
       "SERVICELEVEL": "Segundos ajustes para el nivel de servicio (predeterminado = 0, sin SL). Se utiliza para estadísticas de nivel de servicio (llamadas respondidas dentro del marco de tiempo del nivel de servicio)"
     },
     "ERRORS": {
       "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "AFTERCALLWORKDURATION_REQUIRED": "Campo obligatorio",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "APPLICATION_NAME_REQUIRED": "Campo obligatorio",
       "APPLICATION_REQUIRED": "Campo obligatorio",
       "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden",
-      "CONTEXT_REQUIRED": "Campo obligatorio",
       "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "DESTINATIONPATTERN_REQUIRED": "Campo obligatorio",
-      "EMAIL_MUST_VALID": "Formato erróneo",
-      "EMAIL_REQUIRED": "Campo obligatorio",
-      "EXTENSION_REQUIRED": "Campo obligatorio",
-      "FULLNAME_REQUIRED": "Campo obligatorio",
-      "MAILBOX_REQUIRED": "Campo obligatorio",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "NAME_MUST_VALID_PATTERN": "Formato erróneo",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "OPTIONS_REQUIRED": "Campo obligatorio",
-      "PASSWORD_REQUIRED": "Campo obligatorio",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "PHONENUMBER_REQUIRED": "Campo obligatorio",
-      "PHONE_REQUIRED": "Campo obligatorio",
       "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "PREFIX_REQUIRED": "Campo obligatorio",
-      "PRIORITY_REQUIRED": "Campo obligatorio",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Campo obligatorio",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TIMEOUT_REQUIRED": "Campo obligatorio",
-      "TIMEZONE_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
       "CALLERIDALL_MUST_VALID_PATTERN": "Formato erróneo",
-      "OUTBOUNDROUTE_REQUIRED": "Campo obligatorio",
       "VARIABLE_REQUIRED": "Campo obligatorio",
-      "CALLER_ID_MUST_VALID_PATTERN": "Formato erróneo",
-      "TRUNK_REQUIRED": "Campo obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio",
-      "PROJECT_REQUIRED": "Campo obligatorio"
+      "CALLER_ID_MUST_VALID_PATTERN": "Formato erróneo"
     },
     "ABANDONED": "Abandonado",
     "ABANDONEDCALLS": "Llamadas de cola abandonadas",
@@ -116,8 +60,6 @@
     "ADD_VOICEMAIL": "Añadir correo de voz",
     "ADD_VOICEQUEUE": "Agregar cola de voz",
     "ADVANCED": "Avanzado",
-    "AFTERCALLWORK": "Trabajo Después de Llamada",
-    "AFTERCALLWORKDURATION": "Duración de Trabajo Después de Llamada",
     "AGENT": "Agente",
     "AGENTADD_QUEUE": "Agregar cola de agente a voz",
     "AGENTADD_VOICEQUEUE": "Agregar cola de agente a voz",
@@ -128,12 +70,9 @@
     "ALL_AGENTS": "Todos los agentes",
     "ALL_TEAMS": "Todos los equipos",
     "ALPHABETICAL": "Alfabético",
-    "ANNOUNCECALLERPOSITION": "Anunciar la posición de la persona que llama",
     "ANNOUNCEFREQUENCY": "Anunciar Frecuencia",
-    "ANNOUNCEHOLDTIME": "Anunciar tiempo de espera",
     "ANNOUNCEMENTS": "Anuncios",
     "ANNOUNCEPOSITIONLIMIT": "Anunciar el límite de posición",
-    "ANNOUNCETOAGENT": "Anunciar al agente",
     "ANNOUNCE_OVERRIDES": "Anunciar anulaciones",
     "ANSWER": "Responder",
     "ANSWERED": "Contestada",
@@ -168,7 +107,6 @@
     "CLOSING": "Cerrando",
     "CONFIRM_PASSWORD": "Confirmar contraseña",
     "CONNECTED": "Conectado",
-    "CONTEXT": "Contexto",
     "CONTEXTS": "Contextos",
     "CREATED_AT": "Creado en",
     "CUSTOM": "Personalizado",
@@ -231,7 +169,6 @@
     "EMAILSUBJECT": "Asunto del email",
     "ENDEDAT": "Terminado en",
     "ENVELOPE": "Sobre",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Anuncio estimado de tiempo de espera",
     "EXTENSION": "Extensión",
     "EXTERNALDIAL": "Discado Externo",
     "FAILED": "Ha fallado",
@@ -256,7 +193,6 @@
     "HANGUPCAUSE_38": "38 = Red fuera de servicio",
     "HANGUPCAUSE_41": "41 = falla temporal",
     "HANGUP_CAUSE": "Causa de Colgado",
-    "HOLDTIMEANNOUNCE": "Anunciar el tiempo de espera",
     "ID": "Id",
     "IDLE": "Idle",
     "INBOUNDROUTES": "Rutas de entrada",
@@ -279,17 +215,10 @@
     "MAXLENGTH": "Longitud máxima",
     "MAXMESSAGES": "Mensajes máximos",
     "MAXSECONDS": "Max segundos",
-    "MEMBERDELAY": "Demora de miembro",
     "MESSAGES": "Mensajes",
-    "MINANNOUNCEFREQUENCY": "Frecuencia de anuncio mínimo",
-    "MINUTEANNOUNCE": "Minuto anuncia",
-    "MINUTESANNOUNCE": "Minutos anuncian",
     "MODE": "Modo",
     "MOHSOUNDS": "Sonidos de Moh",
-    "MONITORFORMAT": "Formato de grabación",
-    "MUSICONHOLD": "Música en espera",
     "MUSICONHOLDS": "Música en espera",
-    "NAME": "Nombre",
     "NEW_CHANSPY": "Nueva ChanSpy",
     "NEW_CONTEXT": "Nuevo contexto",
     "NEW_INBOUNDROUTE": "Nueva ruta de entrada",
@@ -323,8 +252,6 @@
     "PAUSE": "Pausa",
     "PAUSED": "Pausado",
     "PENALTY": "Pena",
-    "PERIODICANNOUNCE": "Anuncio periódico",
-    "PERIODICANNOUNCEFREQUENCY": "Frecuencia de anuncio periódico",
     "PHONE": "Teléfono",
     "PHONENUMBER": "Número de teléfono",
     "PHONE_STATE": "Estado del teléfono",
@@ -347,7 +274,6 @@
     "REALTIME": "Tiempo real",
     "RECEIVED_AT": "Recibido en",
     "RECORD": "Grabar",
-    "RECORDING": "Grabación",
     "RECORDINGFORMAT": "Formato de grabación",
     "RECORDINGS": "Grabaciones",
     "REDIRECT_TO_AGENT": "Redireccionar al agente",
@@ -355,17 +281,14 @@
     "REGISTERED": "Registrado",
     "REGISTRY": "Registro",
     "REJECTED": "Rechazado",
-    "REPORTHOLDTIMEAGENT": "Reporte Tiempo de Espera Agente",
     "RETRY": "Retry",
     "RING": "Ring",
     "RINGGROUP": "Grupo de Ring",
     "RINGING": "Zumbido",
-    "RINGINUSE": "Ring en uso",
     "ROWSPERPAGE": "Filas por página",
     "RULE": "Regla",
     "SAVE": "Guardar",
     "SEARCH_FOR_ANYONE": "Buscar",
-    "SECONDSANNOUNCE": "Anuncio Segundos",
     "SELECTED": "Seleccionado",
     "SELECTED_AGENTS": "Agentes seleccionados",
     "SELECTED_TEAMS": "Equipos seleccionados",
@@ -390,10 +313,7 @@
     "TEAMADD_VOICEQUEUE": "Agregar cola de equipo a voz",
     "TECHNOLOGY/RESOURCE": "Tecnología/Recurso",
     "TELEPHONES": "Teléfonos",
-    "THANKYOUANNOUNCE": "'Gracias' Anuncio",
-    "THEREAREANNOUNCE": "'Hay' Anuncio",
     "TIMEOUT": "Timeout",
-    "TIMEOUTRESTART": "Tiempo de reinicio",
     "TIMER": "Temporizador",
     "TIMEZONE": "Zona horaria",
     "TOTAL": "Total",
@@ -401,7 +321,6 @@
     "TRUNK": "Troncal",
     "TRUNKS": "Troncal",
     "TRUNK_STATUS": "Estado del Troncal",
-    "TYPE": "Tipo",
     "UNAVAILABLE": "No Disponible",
     "UNIQUEID": "Identificación única",
     "UNKNOWN": "Desconocido",
@@ -417,17 +336,14 @@
     "VOICE": "Voz",
     "VOICEMAIL": "Mensaje de voz",
     "VOICEMAILS": "Mensajes de voz",
-    "VOICEMAIL_CONTEXT": "Contexto",
     "VOICEQUEUES": "Colas de voz",
     "VOICERECORDINGS": "Grabaciones de voz",
     "WAITING": "Esperando",
-    "WAITINGCALLSANNOUNCE": "Anuncio Llamadas en Espera",
     "WAITING_FOR_AGENT": "Agentes en espera",
     "WAITING_FOR_AGENTS": "Esperando agentes",
     "WEIGHT": "Peso",
     "WRAPUPTIME": "Tiempo de envolvimiento",
     "YES": "Sí",
-    "YOUARENEXTANNOUNCE": "'Eres el Próximo' Anuncio",
     "ADD_VOICEPREFIX": "Añadir Prefijo",
     "AGENTADD_VOICEPREFIX": "Agregar agente a prefijo",
     "DELETE_VOICEPREFIX": "Eliminar prefijo",
@@ -441,8 +357,6 @@
     "DIALER": "Marcador",
     "INBOUND": "Entrante",
     "OUTBOUND": "Saliente",
-    "MANDATORYDISPOSITION": "Cierre obligatorio",
-    "MANDATORYDISPOSITIONPAUSEID": "Estado de pausa de cierre obligatorio",
     "TEAMS_ASSOCIATION": "Asociación de equipos",
     "CANT_DOWNLOAD_THIS_FILE": "No puedo descargar este archivo",
     "FILE_NOT_FOUND": "Archivo no encontrado",
diff --git a/public/app/main/apps/voice/i18n/et.json b/public/app/main/apps/voice/i18n/et.json
index a45c519..a15efa5 100644
--- a/public/app/main/apps/voice/i18n/et.json
+++ b/public/app/main/apps/voice/i18n/et.json
@@ -14,7 +14,6 @@
     "EDIT_TRUNK": "Edit Trunk",
     "GOTO_VOICEQUEUE": "Go To Realtime Voice Queues",
     "GOTOREALTIME_VOICEQUEUE": "Go To Realtime Voice Queues",
-    "NAME": "Name",
     "LOGOUT": "Logout",
     "VOICEQUEUES": "Voice Queues",
     "SEARCH_FOR_ANYONE": "Search",
@@ -37,36 +36,11 @@
       "CUSTOM_APPLICATION": "(*) - Custom application"
     },
     "ERRORS": {
-      "TRUNK_REQUIRED": "Mandatory field",
       "VARIABLE_REQUIRED": "Mandatory field",
-      "NAME_REQUIRED": "Mandatory field",
       "APPLICATION_NAME_REQUIRED": "Mandatory field",
-      "TIMEOUT_REQUIRED": "Mandatory field",
-      "PHONENUMBER_REQUIRED": "Mandatory field",
-      "CONTEXT_REQUIRED": "Mandatory field",
-      "DESTINATIONPATTERN_REQUIRED": "Mandatory field",
-      "FULLNAME_REQUIRED": "Mandatory field",
-      "EMAIL_REQUIRED": "Mandatory field",
-      "EMAIL_MUST_VALID": "Wrong format",
-      "MAILBOX_REQUIRED": "Mandatory field",
-      "PASSWORD_REQUIRED": "Mandatory field",
       "CONFIRM_NOT_MATCH": "The passwords don't match",
-      "TIMEZONE_REQUIRED": "Mandatory field",
-      "PREFIX_REQUIRED": "Mandatory field",
-      "OPTIONS_REQUIRED": "Mandatory field",
-      "AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
-      "PHONE_REQUIRED": "Mandatory field",
-      "VALUE_REQUIRED": "Mandatory field",
-      "EXTENSION_REQUIRED": "Mandatory field",
-      "PRIORITY_REQUIRED": "Mandatory field",
       "APPLICATION_REQUIRED": "Mandatory field",
-      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
@@ -77,11 +51,8 @@
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
-      "NAME_MUST_VALID_PATTERN": "Wrong format",
       "CALLERIDALL_MUST_VALID_PATTERN": "Wrong format",
-      "CALLER_ID_MUST_VALID_PATTERN": "Wrong format",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
-      "PROJECT_REQUIRED": "Kohustuslik väli"
+      "CALLER_ID_MUST_VALID_PATTERN": "Wrong format"
     },
     "GENERAL": "General",
     "TIMEOUT": "Timeout",
@@ -100,78 +71,26 @@
       "JOINWHENEMPTY": "Used to control whether a caller is passed to a queue when no members are available",
       "LEAVEWHENEMPTY": "Used to control whether callers are made leave the queue when no members are available to take calls",
       "ANNOUNCEFREQUENCY": "How often to announce the caller’s position and/or estimated hold time in the queue (zero to disable)",
-      "MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
-      "PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
       "ANNOUNCEPOSITIONLIMIT": "Used if announce-position is defined as either 'limit' or 'more'",
-      "AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
-      "MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
-      "MUSICONHOLD": "Sets the music class to use for a particular queue",
-      "ANNOUNCETOAGENT": "Play an announcement to the agent answering the call (typically to let him know what queue the caller is coming from)",
       "RANDOMPERIODICANNOUNCE": "If yes, the defined periodic announcements will be played random",
-      "ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
-      "ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
-      "REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
-      "PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
-      "HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
-      "YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement",
-      "THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
-      "WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
-      "MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
-      "MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
-      "SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
-      "THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
-      "AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
       "AUTOPAUSE": "Enables/disables the automatic pause of agents who fail to answer a call. If enabled it causes the agent to be paused in all queues he belongs to",
-      "RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
-      "TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
-      "MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
-      "CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
       "SETINTERFACEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information see wiki docs)",
       "SETQUEUEVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent and leaving the queue, some variables will be set (for more information, see wiki docs)",
       "SETQUEUEENTRYVARIABLES": "If set to yes, just prior to the caller being connected with a queue agent some variables will be set (for more information, see wiki docs)",
-      "RECORDING": "Enable call recording",
-      "VOICEMAIL_CONTEXT": "The context of the relative extension",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
       "CALLERIDALL": "Supported format: \"CallerId\" &lt;number&gt;",
       "CALLER_ID": "Supported format: \"CallerId\" &lt;number&gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Peata olek, et seadistada kohustusliku dispositsiooni ajal",
       "SERVICELEVEL": "Teised teenustaseme seaded (vaikeväärtus = 0, SL puudub). Kasutatakse teenustaseme statistika jaoks (kõnedele vastatakse teenustaseme ajalises raamistikus)"
     },
-    "MUSICONHOLD": "Music On Hold",
-    "ANNOUNCETOAGENT": "Announce To Agent",
     "ANNOUNCEMENTS": "Announcements",
     "ADVANCED": "Advanced",
     "ANNOUNCEFREQUENCY": "Announce Frequency",
-    "MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
-    "PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
     "RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
-    "ANNOUNCEHOLDTIME": "Announce Hold Time",
-    "ANNOUNCECALLERPOSITION": "Announce Caller Position",
     "ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
-    "REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
-    "PERIODICANNOUNCE": "Periodic Announce",
-    "HOLDTIMEANNOUNCE": "Hold Time Announce",
-    "YOUARENEXTANNOUNCE": "'You are next' Announce",
-    "THEREAREANNOUNCE": "'There are' Announce",
-    "WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
-    "MINUTESANNOUNCE": "Minutes Announce",
-    "MINUTEANNOUNCE": "Minute Announce",
-    "SECONDSANNOUNCE": "Seconds Announce",
-    "THANKYOUANNOUNCE": "'Thank You' Announce",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "After Call Work",
-    "AFTERCALLWORKDURATION": "After Call Work Duration",
-    "RINGINUSE": "Ring In Use",
-    "MEMBERDELAY": "Member Delay",
-    "TIMEOUTRESTART": "Timeout Restart",
-    "MONITORFORMAT": "Recording Format",
     "SETINTERFACEVARIABLES": "Set Interface Variables",
     "SETQUEUEVARIABLES": "Set Queue Variables",
     "SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
     "VARIABLE": "Variable",
-    "CONTEXT": "Context",
     "SAVE": "Save",
     "SETTINGS": "Settings",
     "INBOUNDROUTES": "Inbound Routes",
@@ -186,7 +105,6 @@
     "EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
     "DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
     "CUTDIGITS": "Cut Digits",
-    "RECORDING": "Recording",
     "RECORDINGFORMAT": "Recording format",
     "INTERNALROUTES": "Internal Routes",
     "ADD_INTERNALROUTE": "Add Internal Route",
@@ -280,7 +198,6 @@
     "VOICE": "Voice",
     "REALTIME": "Realtime",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Context",
     "NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
     "FILE": "File",
     "ADD_MOHSOUND": "Add Music On Hold sound",
@@ -288,7 +205,6 @@
     "DELETE_MOHSOUND": "Delete Music On Hold sound",
     "UNIQUEID": "Unique ID",
     "AGENT": "Agent",
-    "TYPE": "Type",
     "RATING": "Rating",
     "AUDIO": "Audio",
     "DATE": "Date",
@@ -444,8 +360,6 @@
     "FAILUREREASON": "Rikke põhjus",
     "FILE_NOT_FOUND": "Faili ei leitud",
     "INBOUND": "Sissetulev",
-    "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-    "MANDATORYDISPOSITIONPAUSEID": "Kohustusliku dispositsiooni pausi olek",
     "OUTBOUND": "Väljaminev",
     "RUNSENTIMENT_VOICERECORDING": "Run Sentiment",
     "RUNTRANSCRIBESENTIMENT_VOICERECORDING": "Käivitage transkriptsioon ja meeleolu",
diff --git a/public/app/main/apps/voice/i18n/fa.json b/public/app/main/apps/voice/i18n/fa.json
index 2733eb9..45a145c 100644
--- a/public/app/main/apps/voice/i18n/fa.json
+++ b/public/app/main/apps/voice/i18n/fa.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "به صفهای طولانی Realtime صدا",
     "GOTOREALTIME_VOICEQUEUE": "به صفهای طولانی Realtime صدا",
-    "NAME": "نام",
     "LOGOUT": "LOGOUT",
     "VOICEQUEUES": "صفهای طولانی صدا",
     "SEARCH_FOR_ANYONE": "در جستجوی کسی",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - برنامه کاربردی سفارشی است."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "نام لازم است.",
       "APPLICATION_NAME_REQUIRED": "نام برنامه کاربردی مورد نیاز است.",
-      "TIMEOUT_REQUIRED": "در پایان زمان لازم است.",
-      "PHONENUMBER_REQUIRED": "شماره تلفن مورد نیاز است.",
-      "CONTEXT_REQUIRED": "به محتوای مورد نیاز است.",
-      "DESTINATIONPATTERN_REQUIRED": "مقصد الگو لازم است.",
-      "FULLNAME_REQUIRED": "نام کامل لازم است.",
-      "EMAIL_REQUIRED": "آدرس ایمیل لازم است.",
-      "EMAIL_MUST_VALID": "آدرس ایمیل باید با فرمت معتبر نوشته شده است",
-      "MAILBOX_REQUIRED": "به Mailbox لازم است.",
-      "PASSWORD_REQUIRED": "رمز عبور لازم است.",
       "CONFIRM_NOT_MATCH": "اسم رمزهای اين بازی نمیکنم",
-      "TIMEZONE_REQUIRED": "به Timezone لازم است.",
-      "PREFIX_REQUIRED": "اين پادتن لازم است.",
-      "OPTIONS_REQUIRED": "گزینه های مورد نیاز هستند.",
-      "AFTERCALLWORKDURATION_REQUIRED": "پس از تماس، مدت زمان کار لازم است.",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "فن آوری/منابع مورد نیاز است.",
-      "PHONE_REQUIRED": "تلفن لازم است.",
-      "VALUE_REQUIRED": "مقدار مورد نیاز است.",
-      "EXTENSION_REQUIRED": "توسعه لازم است.",
-      "PRIORITY_REQUIRED": "اولويت لازم است.",
-      "NAME_MUST_VALID_PATTERN": "نام باید با فرمت معتبر نوشته شده است",
       "APPLICATION_REQUIRED": "برنامه کاربردی مورد نیاز است.",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "در پایان زمان باید بیشتر یا مساوی با",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "حداکثر طول آن باید بیشتر یا مساوی با",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "دوباره سعی کنید، باید بیشتر یا مساوی با",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "در آن زمان Wrapup باید بیشتر یا مساوی با",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "وزن باید بیشتر یا مساوی با",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "از فرکانس اعلام باید بیشتر یا مساوی با",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "از حداقل فرکانس اعلام باید بیشتر یا مساوی با",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "از اعلام تعداد دفعات متناوب باید بیشتر یا مساوی با",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "به حداکثر پیام ها باید بیشتر یا مساوی با",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "به حداکثر پیام ها باید کمتر یا مساوی با",
       "CALLERIDALL_MUST_VALID_PATTERN": "فرمت اشتباه",
-      "OUTBOUNDROUTE_REQUIRED": "زمینه اجباری",
       "VARIABLE_REQUIRED": "زمینه اجباری",
-      "CALLER_ID_MUST_VALID_PATTERN": "فرمت اشتباه",
-      "TRUNK_REQUIRED": "زمینه اجباری",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری",
-      "PROJECT_REQUIRED": "زمینه اجباری"
+      "CALLER_ID_MUST_VALID_PATTERN": "فرمت اشتباه"
     },
     "GENERAL": "سردار",
     "TIMEOUT": "پایان زمان مجاز",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "کنترل ها اعم از تماس گیرنده را در صف افزوده است وقتي كه ديگر اعضا موجود است.",
       "LEAVEWHENEMPTY": "برای استفاده از تمام ميوه ها بخور کنترل اعم از آسیای شرقی هستند که وقتی توی صف که اعضای دیگر موجود نیست را می نامد.",
       "ANNOUNCEFREQUENCY": "ما بايد تعريف هر چند وقت یکبار اعلام موقعیت تماس گیرنده است و/یا برآورد زمان را نگه دارید، در صف است. این تنظیم مقدار صفر را غیرفعال کنید.",
-      "MINANNOUNCEFREQUENCY": "حداقل مقدار تعیین می کند که باید زمان بگذرد خبرهاى تماس گیرنده را در صف باز شد. این است که وقتی تماس گیرنده استفاده می شود، ممکن است تغییر موضع مکرر، برای جلوگیری از تماس گیرنده با شنيدن چند سئوال را در يك مدت زمان كوتاه است.",
-      "PERIODICANNOUNCEFREQUENCY": "نشان می دهد که هر چند وقت یکبار ما بايد اعلاميه متناوب به تماس گیرنده.",
       "ANNOUNCEPOSITIONLIMIT": "اگر شما استفاده از تعیین موقعیت را اعلام كنند يا از محدوده یا بیشتر است.",
-      "AFTERCALLWORKDURATION": "به مدت زمان مکث موزیک پس از تماس با این گزینه کار",
-      "MEMBERDELAY": "اگر می خواهید استفاده می شود که تاخير قبل از تماس گیرنده و صف عضو به يكديگر متصل شوند.",
-      "MUSICONHOLD": "آهنگ را تنظیم می کند تا به طبقه مورد استفاده خاص صف است.",
-      "ANNOUNCETOAGENT": "برای نواختن استفاده می شود اطلاعيه اى را به عنوان عامل اين است كه نوعا به دعوت ما پاسخ مثبت به او اجازه دهد که چه صف تماس گیرنده است.",
       "RANDOMPERIODICANNOUNCE": "اگر بله، تنظیم شده، در يك اطلاعيه هاى متناوب تعریف نظم تصادفی است.",
-      "ANNOUNCEHOLDTIME": "آيا اين تعريف بايد برآورد زمان بازي را نگه دارید همراه با اطلاعيه هاى متناوب است.",
-      "ANNOUNCECALLERPOSITION": "آيا اين تعريف را در موقعیت تماس گیرنده در صف، به او اعلام شود. اگر نه، تنظیم موقعیت را اعلام خواهد كرد. اگر بله، تنظیم موقعیت تماس گیرنده، اعلام خواهد شد. اگر از مقدار تنظیم شده است، محدود خواهد شد صدای تماس گیرنده را در صف موقعيت خود را تنها در چارچوب تعريف شده، محدود است و در حد اعلام موضع است. اگر از مقدار تنظیم شده است، تماس گیرنده موقعیت او را بشنوند اگر فراتر از تعداد تعیین موقعیت و محدوده اعلام كند.",
-      "REPORTHOLDTIMEAGENT": "امکان گزارش دهی از تماس گیرنده، زمان را نگه دارید تا در صف مقدم بر عضو بردارند.",
-      "PERIODICANNOUNCE": "مجموعه ای از اعلاميه متناوب بازي باشد، بازي مي كردند و نظم را در آنها تعیین می شود.",
-      "HOLDTIMEANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"زمان\") را نگه دارید. اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "YOUARENEXTANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"اکنون شما در خط اول\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "THEREAREANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (=))) وجود دارد. اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "WAITINGCALLSANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"انتظار\" می نامد). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"جاري زمان تخمين زده شده است.\") را نگه دارید. اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "MINUTESANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"دقیقه\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "MINUTEANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"لحظه\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "SECONDSANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"ثانیه\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "THANKYOUANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (= تشکر از شما به خاطر صبر و شكيبايي\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
-      "AFTERCALLWORK": "اگر فعال بود، عامل تنظیم می شود در مکث پس از تكميل در صف تلفن",
       "AUTOPAUSE": "زیرنویس ها را فعال یا غیرفعال می کند/امکان می دهد به طور خودکار از خراب شدن عيوب لزديكترلن كسانتار عضو كه از پاسخ دادن به تلفن است. اگر علل این عضو فعال را در صفهای طولانی مكث، عضو است.",
-      "RINGINUSE": "به منظور اجتناب از استفاده از ارسال فراخوان برای اعضای آن است که وضعیت مورد استفاده است.",
-      "TIMEOUTRESTART": "اگر بله، تنظیم زمان وقفه nبازنشانی نمایش را عاملي براي پاسخ گويي به هر کدام از شلوغی و تراکم است که وضعیت را از شبكه دريافت كرد.",
-      "MONITORFORMAT": "فرمت فایل را تعیین می کند، به هنگام ضبط استفاده می شود. اگر از مانیتور با فرمت غیرفعال است، خواهان ثبت نخواهد شد.",
-      "CONTEXT": "به تماس گیرنده امکان می دهد تا برای خروج از صف را با فشار دادن یك DTMF رقمی است. اگر یک متن تعیین می شود و به تماس گیرنده شماره وارد شود، اين رقم در تلاش است که ادغام در متن تعیین می شود، و اعدام در dialplan ادامه خواهد داشت.",
       "SETINTERFACEVARIABLES": "اگر روی بله، درست قبل از تماس گیرنده با بركت بودن صف عضو برخی از متغیرها تنظیم می شود(wiki)",
       "SETQUEUEVARIABLES": "اگر روی بله، درست قبل از تماس گیرنده در صف، با بركت بودن عضو و فقط قبل از تماس گیرنده را در صف خروج از برخی متغیرها تنظیم می شود(wiki)",
       "SETQUEUEENTRYVARIABLES": "اگر روی بله، درست قبل از تماس گیرنده با بركت بودن صف عضو برخی از متغیرها تنظیم می شود(wiki)",
-      "RECORDING": "قابلیت ضبط صدا",
-      "VOICEMAIL_CONTEXT": "متن گسترش نسبي است.",
-      "NAME": "فقط شماره ها و حروف و نویسه های ویژه (_) پشتیبانی می شود.",
       "CALLERIDALL": "فرمت پشتیبانی شده: \"CallerId\" & lt؛ number & gt؛",
       "CALLER_ID": "فرمت پشتیبانی شده: \"CallerId\" & lt؛ number & gt؛",
-      "MANDATORYDISPOSITIONPAUSEID": "وضعیت مکث را برای تنظیم در حین حالت اجباری تنظیم کنید",
       "SERVICELEVEL": "تنظیمات دوم برای سطح خدمات (پیش فرض = 0 ، بدون SL). مورد استفاده برای آمار سطح خدمات (پاسخگویی در چارچوب زمانی سطح سرویس)"
     },
-    "MUSICONHOLD": "موسيقي را نگه دارید",
-    "ANNOUNCETOAGENT": "عامل را اعلام می کند",
     "ANNOUNCEMENTS": "اعلامات",
     "ADVANCED": "پيش رفت.",
     "ANNOUNCEFREQUENCY": "فرکانس اعلام",
-    "MINANNOUNCEFREQUENCY": "حداقل فرکانس اعلام",
-    "PERIODICANNOUNCEFREQUENCY": "اعلام فرکانس متناوب",
     "RANDOMPERIODICANNOUNCE": "اعلام ادواري تصادفی",
-    "ANNOUNCEHOLDTIME": "اعلام زمان را نگه دارید",
-    "ANNOUNCECALLERPOSITION": "اعلام موقعیت تماس گیرنده",
     "ANNOUNCEPOSITIONLIMIT": "اعلام موضع محدود كردن",
-    "REPORTHOLDTIMEAGENT": "گزارش عامل زمان را نگه دارید",
-    "PERIODICANNOUNCE": "اعلام متناوب",
-    "HOLDTIMEANNOUNCE": "اعلام زمان را نگه دارید",
-    "YOUARENEXTANNOUNCE": "- شما بعد از اعلام شوند.",
-    "THEREAREANNOUNCE": "برای اطلاع از وجود دارد.",
-    "WAITINGCALLSANNOUNCE": "در انتظار اعلام مى نامد",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "برآورد زمان اعلام نگهدارید",
-    "MINUTESANNOUNCE": "دقیقه اعلام می کند",
-    "MINUTEANNOUNCE": "دقیقه اعلام می کند",
-    "SECONDSANNOUNCE": "ثانیه اعلام می کند",
-    "THANKYOUANNOUNCE": "'مرسی' اعلام می کند",
     "AUTOPAUSE": "مکث خودکار",
-    "AFTERCALLWORK": "پس از فراخوان به کار",
-    "AFTERCALLWORKDURATION": "پس از مدت زمان کار تلفن",
-    "RINGINUSE": "در استفاده از حلقه",
-    "MEMBERDELAY": "عضو تاخير",
-    "TIMEOUTRESTART": "پایان زمان راه اندازی",
-    "MONITORFORMAT": "فرمت ضبط",
     "SETINTERFACEVARIABLES": "رابط کاربری تنظیم متغیرها",
     "SETQUEUEVARIABLES": "توی صف متغیرها را تنظیم کنید",
     "SETQUEUEENTRYVARIABLES": "توی صف ورودی تنظیم متغیرها",
     "VARIABLE": "متغیر",
-    "CONTEXT": "متن",
     "SAVE": "ذخیره",
     "SETTINGS": "تنظیمات",
     "INBOUNDROUTES": "مسافرانی که مسیرها",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "برای ويرايش مسير",
     "DELETE_OUTBOUNDROUTE": "برای مسیر را حذف کنید",
     "CUTDIGITS": "عدد برش",
-    "RECORDING": "ضبط كننده",
     "RECORDINGFORMAT": "فرمت ضبط",
     "INTERNALROUTES": "راههاي داخلي",
     "ADD_INTERNALROUTE": "افزودن مسیر داخلی",
@@ -268,7 +186,6 @@
     "VOICE": "صدا",
     "REALTIME": "Realtime",
     "ID": "شناسه",
-    "VOICEMAIL_CONTEXT": "متن",
     "NO_MOHSOUND_AVAILABLE": "هيچ موسيقي را در دسترس نگه دارید",
     "FILE": "فایل",
     "ADD_MOHSOUND": "افزودن موسيقي در صدا را نگه دارید",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "حذف موسیقی روی صدا را نگه دارید",
     "UNIQUEID": "شناسه منحصر به فرد",
     "AGENT": "عامل",
-    "TYPE": "نوع دستگاه",
     "RATING": "درجه بندی",
     "AUDIO": "های صوتی",
     "DATE": "تاریخ",
@@ -441,8 +357,6 @@
     "DIALER": "شماره گیر",
     "INBOUND": "ورودی",
     "OUTBOUND": "خروجی",
-    "MANDATORYDISPOSITION": "وضع اجباری",
-    "MANDATORYDISPOSITIONPAUSEID": "وضعیت مکث وضع اجباری",
     "TEAMS_ASSOCIATION": "انجمن نوجوانان",
     "CANT_DOWNLOAD_THIS_FILE": "این پرونده قابل بارگیری نیست",
     "FILE_NOT_FOUND": "پرونده یافت نشد",
diff --git a/public/app/main/apps/voice/i18n/fi.json b/public/app/main/apps/voice/i18n/fi.json
index 897509f..b5817fd 100644
--- a/public/app/main/apps/voice/i18n/fi.json
+++ b/public/app/main/apps/voice/i18n/fi.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Siirry reaaliaikainen ääni jonot",
     "GOTOREALTIME_VOICEQUEUE": "Siirry reaaliaikainen ääni jonot",
-    "NAME": "Nimi",
     "LOGOUT": "Kirjaudu ulos",
     "VOICEQUEUES": "Voice jonot",
     "SEARCH_FOR_ANYONE": "Etsi joku",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - mukautettu sovellus."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Nimi on pakollinen",
       "APPLICATION_NAME_REQUIRED": "Sovelluksen nimi on pakollinen",
-      "TIMEOUT_REQUIRED": "Aikakatkaisujakso on pakollinen",
-      "PHONENUMBER_REQUIRED": "Puhelinnumero on pakollinen",
-      "CONTEXT_REQUIRED": "Asiayhteys on pakollinen",
-      "DESTINATIONPATTERN_REQUIRED": "Kohteen kuvio on pakollinen",
-      "FULLNAME_REQUIRED": "Koko nimi on annettava",
-      "EMAIL_REQUIRED": "Sähköpostiosoite on pakollinen",
-      "EMAIL_MUST_VALID": "Sähköposti on kirjoitettava kelvollisessa muodossa",
-      "MAILBOX_REQUIRED": "Postilaatikko on pakollinen",
-      "PASSWORD_REQUIRED": "Salasana on pakollinen",
       "CONFIRM_NOT_MATCH": "Jos salasana ei täsmää",
-      "TIMEZONE_REQUIRED": "Aikavyöhyke tarvitaan",
-      "PREFIX_REQUIRED": "Etuliite on pakollinen",
-      "OPTIONS_REQUIRED": "Vaihtoehdot ovat tarpeen mukaan",
-      "AFTERCALLWORKDURATION_REQUIRED": "Kun Jälkikäsittelyaika kesto ei tarvita",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Tekniikka/Resurssi ei tarvita",
-      "PHONE_REQUIRED": "Puhelin ei tarvita",
-      "VALUE_REQUIRED": "Arvo on pakollinen",
-      "EXTENSION_REQUIRED": "Laajennus on pakollinen",
-      "PRIORITY_REQUIRED": "Etusijalla on pakollinen",
-      "NAME_MUST_VALID_PATTERN": "Nimi on kirjoitettava kelvollisessa muodossa",
       "APPLICATION_REQUIRED": "Sovellus ei tarvita",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Timeout on oltava suurempi tai yhtä suuri kuin",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max pituuden on oltava suurempi tai yhtä suuri kuin",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Retry on oltava suurempi tai yhtä suuri kuin",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Lähettämistietojen noutaminen on aika on oltava suurempi tai yhtä suuri kuin",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Painon on oltava suurempi tai yhtä suuri kuin",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Announce taajuuden on oltava suurempi tai yhtä suuri kuin",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Min ilmoittaa taajuuden on oltava suurempi tai yhtä suuri kuin",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Säännöllisten ilmoittaa taajuuden on oltava suurempi tai yhtä suuri kuin",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max-viestien on oltava suurempi tai yhtä suuri kuin",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Max-viestien on oltava pienempi tai yhtä suuri kuin",
       "CALLERIDALL_MUST_VALID_PATTERN": "Väärä formaatti",
-      "OUTBOUNDROUTE_REQUIRED": "Pakollinen kenttä",
       "VARIABLE_REQUIRED": "Pakollinen kenttä",
-      "CALLER_ID_MUST_VALID_PATTERN": "Väärä formaatti",
-      "TRUNK_REQUIRED": "Pakollinen kenttä",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä",
-      "PROJECT_REQUIRED": "Pakollinen kenttä"
+      "CALLER_ID_MUST_VALID_PATTERN": "Väärä formaatti"
     },
     "GENERAL": "Yleistä",
     "TIMEOUT": "Aikakatkaisu",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Ohjaa avataanko soittajan lisätään jonoon, kun jäsenet ovat käytettävissä.",
       "LEAVEWHENEMPTY": "Tämän avulla, onko soittajat potkittiin ulos jonossa, kun parlamentin jäsenet eivät ole enää saatavilla ottaa puheluita.",
       "ANNOUNCEFREQUENCY": "Määrittää, kuinka usein meidän on tunnustettava soittajan ja/tai arvioitu jonotusaikaan. Arvo on nolla, joka poistetaan käytöstä.",
-      "MINANNOUNCEFREQUENCY": "Asetus määrittää ajan, jonka on läpäistävä ennen tiedotamme soittajan jonon uudelleen. Tätä toimintoa käytetään, kun soittajan asento saattaa muuttua usein, jotta soittaja kuulee useita päivityksiä lyhyessä ajassa.",
-      "PERIODICANNOUNCEFREQUENCY": "Osoittaa, kuinka usein meidän on tehtävä määräajoin nauhoitettuja kuulutuksia soittajalle.",
       "ANNOUNCEPOSITIONLIMIT": "Jos olet määrittänyt ilmoittaa-asemansa joko rajoittaa tai enemmän.",
-      "AFTERCALLWORKDURATION": "Kesto, kun tauko laukaissut Jälkikäsittelyaika vaihtoehto",
-      "MEMBERDELAY": "Jos haluamme, että on olemassa ennen soittajan jono parlamentin jäseneen toisiinsa.",
-      "MUSICONHOLD": "Asettaa musiikin luokka voidaan käyttää tiettyyn jonoon.",
-      "ANNOUNCETOAGENT": "Käyttää pelaamiseen ilmoittaa, että edustajan vastannut tyypillisesti hänelle mitä jono soittajan tulee.",
       "RANDOMPERIODICANNOUNCE": "Jos arvoksi määritetään Kyllä, määritelty säännöllinen kuulutukset satunnaisessa järjestyksessä.",
-      "ANNOUNCEHOLDTIME": "Määrittää, onko arvioitu pitoaika tulee pelata yhdessä määräajoin kuulutuksiin.",
-      "ANNOUNCECALLERPOSITION": "Määrittää, onko soittajan jonon täytyy ilmoittaa hänelle. Jos arvoksi määritetään Ei, ei koskaan julkistettu. Jos arvoksi määritetään Kyllä, soittajan sijainti on aina ilmoittanut. Jos arvoksi on määritetty raja, Soittaja kuulee hänen sijaintinsa jonossa vain, jos se on enintään määritetty ilmoittaa asentoa. Jos arvoksi annetaan enemmän, Soittaja kuulee hänen kantaansa, jos se ei ole numero määritetään ilmoittavan asentoa.",
-      "REPORTHOLDTIMEAGENT": "Mahdollistaa raportointi kutsujan pidätysajan jonoon jäsenvaltioiden ennen verkkosiltausta käyttämällä.",
-      "PERIODICANNOUNCE": "Joukko säännölliset ilmoitukset, oli siinä järjestyksessä kuin ne on määritetty.",
-      "HOLDTIMEANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Pitoaika\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "YOUARENEXTANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"nyt ensimmäisten joukossa\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "THEREAREANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"on\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "WAITINGCALLSANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Puhelut odottamassa). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Nykyinen arvioitu pidätysaika on\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "MINUTESANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"min\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "MINUTEANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"min\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "SECONDSANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"s\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "THANKYOUANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Kiitos kärsivällisyydestäsi\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
-      "AFTERCALLWORK": "Jos aktiivinen, edustaja vaikuttavat tauon jälkeen puhelu loppuun jono",
       "AUTOPAUSE": "Voit ottaa käyttöön tai poistaa käytöstä automaattisen keskeyttämällä sellaisia jäseniä, jotka eivät vastaa puheluun. Jos aktiivinen aiheuttaa kyseisen voi pysäyttää kaikki jonot hän kuuluu.",
-      "RINGINUSE": "Jotta lähettämässä puheluja jäsentä, joiden tila on käytössä.",
-      "TIMEOUTRESTART": "Jos arvoksi määritetään Kyllä, määrittää aikakatkaisun uudelleen, kun edustaja vastaa huomioidaanko on varattu tai ylikuormituksen tila on vastaanotettu kanavasta.",
-      "MONITORFORMAT": "Määrittää tiedoston muoto, jota käytetään tallennukseen. Jos monitorin näkymä on aktiivinen, vaatii ei tallenneta.",
-      "CONTEXT": "Mahdollistaa soittaja voi poistua jonon painamalla yhtä DTMF-numeroon. Jos yhteydessä on määritetty ja soittajan perussäädön, numero yrittää kohdistaa yhteydessä määritelty ja dialplan suorittaminen jatkuu.",
       "SETINTERFACEVARIABLES": "Jos arvoksi määritetään Kyllä, juuri ennen kuin soittaja ei yhdistetä jonoon asettaneen muuttujia tulee(katso wiki)",
       "SETQUEUEVARIABLES": "Jos arvoksi määritetään Kyllä, juuri ennen kuin soittaja ei yhdistetä jonoon ja juuri ennen poistumista soittajan jono joitakin tekijöitä tulee(katso wiki)",
       "SETQUEUEENTRYVARIABLES": "Jos arvoksi määritetään Kyllä, juuri ennen kuin soittaja ei yhdistetä jonoon asettaneen muuttujia tulee(katso wiki)",
-      "RECORDING": "Jotta puheluiden nauhoitus",
-      "VOICEMAIL_CONTEXT": "Osana suhteellinen jatke.",
-      "NAME": "Vain numeroita, kirjaimia ja erikoismerkkejä (._ tuetaan",
       "CALLERIDALL": "Tuettu muoto: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Tuettu muoto: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Keskeytä tila asettaaksesi pakollisen hävityksen aikana",
       "SERVICELEVEL": "Toiset palvelutason asetukset (oletus = 0, ei SL). Käytetään palvelutasotilastoihin (puheluihin vastataan palvelutason aikataulussa)"
     },
-    "MUSICONHOLD": "Musiikkia puhelun ollessa pidossa",
-    "ANNOUNCETOAGENT": "Ilmoittaa Agent",
     "ANNOUNCEMENTS": "Ilmoitukset",
     "ADVANCED": "Tarkennettu",
     "ANNOUNCEFREQUENCY": "Ilmoita taajuus",
-    "MINANNOUNCEFREQUENCY": "Pienin ilmoittaa taajuus",
-    "PERIODICANNOUNCEFREQUENCY": "Säännölliset ilmoittaa taajuus",
     "RANDOMPERIODICANNOUNCE": "Satunnainen säännölliset ilmoittaa",
-    "ANNOUNCEHOLDTIME": "Ilmoita pidätysajan",
-    "ANNOUNCECALLERPOSITION": "Ilmoita soittajalle asento",
     "ANNOUNCEPOSITIONLIMIT": "Ilmoita asennon",
-    "REPORTHOLDTIMEAGENT": "Mietintö Agent pidätysajan",
-    "PERIODICANNOUNCE": "Säännölliset ilmoittaa",
-    "HOLDTIMEANNOUNCE": "Käsittelyajan ilmoittaa",
-    "YOUARENEXTANNOUNCE": "\"Olet seuraava ilmoittaa",
-    "THEREAREANNOUNCE": "\"On\" ilmoittaa",
-    "WAITINGCALLSANNOUNCE": "Odottavien puheluiden ilmoittaa",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Arvioitu Pidätysajan ilmoittaa",
-    "MINUTESANNOUNCE": "Min ilmoittaa",
-    "MINUTEANNOUNCE": "Min ilmoittaa",
-    "SECONDSANNOUNCE": "S ilmoittaa",
-    "THANKYOUANNOUNCE": "Kiitos kaikille ilmoittaa",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "Jälkikäsittelyaika",
-    "AFTERCALLWORKDURATION": "Jälkikäsittelyaika kesto",
-    "RINGINUSE": "Rengas on käytössä",
-    "MEMBERDELAY": "Jäsenvaltioiden viive",
-    "TIMEOUTRESTART": "Aikaylitys uudelleenkäynnistys",
-    "MONITORFORMAT": "Tallennusmuoto",
     "SETINTERFACEVARIABLES": "Säädä käyttöliittymän muuttujat",
     "SETQUEUEVARIABLES": "Määrittää jonon muuttujat",
     "SETQUEUEENTRYVARIABLES": "Määrittää jonon muuttujien syöttö",
     "VARIABLE": "Muuttuja",
-    "CONTEXT": "Yhteydessä",
     "SAVE": "Tallenna",
     "SETTINGS": "Asetusten määrittäminen",
     "INBOUNDROUTES": "Lähtevät reitit",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Muokkaa lähtevä reitti",
     "DELETE_OUTBOUNDROUTE": "Poista lähtevä reitti",
     "CUTDIGITS": "Leikkaa numeroa",
-    "RECORDING": "Tallennus",
     "RECORDINGFORMAT": "Tallennusmuoto",
     "INTERNALROUTES": "Kotimaan reitit",
     "ADD_INTERNALROUTE": "Lisää sisäisiä reitti",
@@ -268,7 +186,6 @@
     "VOICE": "Ääni",
     "REALTIME": "Tosiaikainen",
     "ID": "Tunnus",
-    "VOICEMAIL_CONTEXT": "Yhteydessä",
     "NO_MOHSOUND_AVAILABLE": "Musiikkia ei pitoon käytettävissä",
     "FILE": "Tiedosto",
     "ADD_MOHSOUND": "Lisää musiikkia puhelun ollessa pidossa ääni",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Poista musiikkia puhelun ollessa pidossa ääni",
     "UNIQUEID": "Yksilöivä tunnus",
     "AGENT": "Agent",
-    "TYPE": "Tyyppi",
     "RATING": "Luokittelu",
     "AUDIO": "Äänen",
     "DATE": "Päivämäärä",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "Saapuva",
     "OUTBOUND": "Lähtevä",
-    "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-    "MANDATORYDISPOSITIONPAUSEID": "Pakollisen sijoitustaukotilan tila",
     "TEAMS_ASSOCIATION": "Joukkueyhdistys",
     "CANT_DOWNLOAD_THIS_FILE": "Tätä tiedostoa ei voi ladata",
     "FILE_NOT_FOUND": "Tiedostoa ei löytynyt",
diff --git a/public/app/main/apps/voice/i18n/fr.json b/public/app/main/apps/voice/i18n/fr.json
index e5b997c..be1346e 100644
--- a/public/app/main/apps/voice/i18n/fr.json
+++ b/public/app/main/apps/voice/i18n/fr.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Voir File d'attente",
     "GOTOREALTIME_VOICEQUEUE": "Voir File d'attente temps réel",
-    "NAME": "Nom",
     "LOGOUT": "Login/Logout",
     "VOICEQUEUES": "Files d'attente voix",
     "SEARCH_FOR_ANYONE": "Rechercher",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - application personnalisée."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Nom obligatoire",
       "APPLICATION_NAME_REQUIRED": "Nom de l'application requis",
-      "TIMEOUT_REQUIRED": "délai requis",
-      "PHONENUMBER_REQUIRED": "numéro de téléphone requis",
-      "CONTEXT_REQUIRED": "Contexte requis",
-      "DESTINATIONPATTERN_REQUIRED": "Destination requise",
-      "FULLNAME_REQUIRED": "Nom complet requis",
-      "EMAIL_REQUIRED": "Email requis",
-      "EMAIL_MUST_VALID": "Format e-mail doit être valide",
-      "MAILBOX_REQUIRED": "Boite vocale requise",
-      "PASSWORD_REQUIRED": "Mot de passe requis",
       "CONFIRM_NOT_MATCH": "Les mots de passe ne correspondent pas",
-      "TIMEZONE_REQUIRED": "Timezone requise",
-      "PREFIX_REQUIRED": "Préfixe requis",
-      "OPTIONS_REQUIRED": "Options requises",
-      "AFTERCALLWORKDURATION_REQUIRED": "La durée de pause après appel est requise",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "technologie/ressource requise",
-      "PHONE_REQUIRED": "Téléphone requis",
-      "VALUE_REQUIRED": "valeur requise",
-      "EXTENSION_REQUIRED": "Extension requise",
-      "PRIORITY_REQUIRED": "Priorité requise",
-      "NAME_MUST_VALID_PATTERN": "Le nom doit être écrit dans un format valide",
       "APPLICATION_REQUIRED": "Application requise",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Le délai doit être supérieure ou égale à",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La longueur max doit être supérieure ou égale à",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La retentative doit être supérieure ou égale à",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Le temps post-appel doit être supérieure ou égale à",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Le poids doit être supérieure ou égale à",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La fréquence d'annonce doit être supérieure ou égale à",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La fréquence d'annonce minimum doit être supérieure ou égale à",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La fréquence de l'annonce périodique doit être supérieure ou égale à",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nb messages max doit être supérieure ou égale à",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nb messages max doit être inférieure ou égale à",
       "CALLERIDALL_MUST_VALID_PATTERN": "Mauvais format",
-      "OUTBOUNDROUTE_REQUIRED": "Champ obligatoire",
       "VARIABLE_REQUIRED": "Champ obligatoire",
-      "CALLER_ID_MUST_VALID_PATTERN": "Mauvais format",
-      "TRUNK_REQUIRED": "Champ obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire",
-      "PROJECT_REQUIRED": "Champ obligatoire"
+      "CALLER_ID_MUST_VALID_PATTERN": "Mauvais format"
     },
     "GENERAL": "Général",
     "TIMEOUT": "Timeout",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Accepte un appelant dans la file d'attente quand il n'y a pas d'agent disponible.",
       "LEAVEWHENEMPTY": "Rejette ou refuse un appelant de la file d'attente quand il n'y a pas d'agent disponible.",
       "ANNOUNCEFREQUENCY": "La fréquence à laquelle vous annoncé la position de l'appelant et/ou l'estimation du temps d'attente dans la file d'attente. Définissez cette valeur à zéro pour la désactiver.",
-      "MINANNOUNCEFREQUENCY": "Indique le temps minimum qui doit s'écouler avant de re-annoncer la position de l'appelant dans la file d'attente. A utiliser lorsque la position de l'appelant peut changer fréquemment, pour empêcher que l'appelant entendent plusieurs fois l'annonce dans un délai très court.",
-      "PERIODICANNOUNCEFREQUENCY": "La fréquence à laquelle faire des annonces périodiques à l'appelant.",
       "ANNOUNCEPOSITIONLIMIT": "A utiliser si vous avez activer l'annonce de la position, pour limiter à une position minimum ou maximum les annonces. ",
-      "AFTERCALLWORKDURATION": "Défini la durée de la pause automatique pour le reporting après l'appel. ",
-      "MEMBERDELAY": "Délai avant qu'un agent soit de nouveau accessible dans la file d'attente après avoir raccroché un appel.",
-      "MUSICONHOLD": "Définit la musique d'attente utilisés par la file d'attente.",
-      "ANNOUNCETOAGENT": "Utilisé pour la lecture d'un message à l'agent qui a répondu à l'appel, généralement pour lui transmettre des informations sur  l'appelant. ",
       "RANDOMPERIODICANNOUNCE": "Si défini sur Oui, les annonces périodiques seront joué en aléatoire.",
-      "ANNOUNCEHOLDTIME": "Active l'annonce du temps d'attente restant en plus des annonces périodiques ",
-      "ANNOUNCECALLERPOSITION": "Définit si la position de l'appelant dans la file d'attente doit être joié. Si Non, la position ne sera jamais annoncé. Si Oui, la position de l'appelant sera toujours annoncée. Si limité, l'appelant entendra sa position dans la file d'attente que si elle est dans la limite définie le paramètre ci-dessus. Si Plus, l'appelant entendra sa position s'il est au-delà du nombre défini par le paramètre.",
-      "REPORTHOLDTIMEAGENT": "La déclaration permet de tenir le temps de la file d'états avant de combler.",
-      "PERIODICANNOUNCE": "Jouer des annonces périodiques à l'appelant, dans l'ordre où elles sont définies.",
-      "HOLDTIMEANNOUNCE": "Si non défini, jouera la valeur par défaut (\"temps d'attente\"). Si défini sur une valeur vide, le message ne sera pas joué.",
-      "YOUARENEXTANNOUNCE": "Si non défini, jouera la valeur par défaut (\"Vous êtes maintenant le prochain à être pris en charge\"). Si défini sur une valeur vide, le message ne sera pas joué.",
-      "THEREAREANNOUNCE": "Si non défini, jouera la valeur par défaut (\"Il y a\"). Si elle est définie sur une valeur vide, le message ne sera pas joué",
-      "WAITINGCALLSANNOUNCE": "Si non défini, jouera la valeur par défaut (\"appels en attente\"). Si défini sur une valeur vide, le message ne sera pas joué.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Si non défini, jouera la valeur par défaut (\"le temps d'attente est estimé actuellement\"). Si elle est définie sur une valeur vide, le message ne sera pas joué.",
-      "MINUTESANNOUNCE": "Si non défini, jouera la valeur par défaut (\"minutes\"). Si défini sur une valeur vide, le message ne sera pas joué.",
-      "MINUTEANNOUNCE": "Si non définie, jouera la valeur par défaut (\"minute\"). Si défini sur une valeur vide, le message ne sera pas joué.",
-      "SECONDSANNOUNCE": "Si non défini, jouera la valeur par défaut (\"secondes\"). Si défini sur une valeur vide, le message ne sera pas joué.",
-      "THANKYOUANNOUNCE": "Si non défini, jouera la valeur par défaut (\"Merci pour votre patience\"). Si défini sur une valeur vide, le message ne sera pas joué.",
-      "AFTERCALLWORK": "Si actif, l'agent sera mis en pause après un appel traité pour faire du reporting.",
       "AUTOPAUSE": "Active/désactive la mise en pause automatique d'un agent qui ne répond pas à un appel. Ce paramètre aura un impact sur toutes les files d'attente ou l'agent est présent.",
-      "RINGINUSE": "Utilisé pour éviter de déranger un agent dont le statut est En cours d'utilisation.",
-      "TIMEOUTRESTART": "Si défini à Oui, réinitialise Le délai pour réinitialiser le statut d'un agent qui à un statut occupé ou en congestion.",
-      "MONITORFORMAT": "Spécifie le format de fichier à utiliser  pourl'enregistrement. Si le paramètre est inactif, les appels ne sont pas enregistrées.",
-      "CONTEXT": "Permet à un appelant de quitter la file d'attente en appuyant sur une touche de son téléphone. Si un contexte est spécifié et que l'appelant entre un nombre, ce chiffre va tenter de s'executer dans le contexte spécifié, et il continuera d'exécuter le dialplan.",
       "SETINTERFACEVARIABLES": "Si défini à Oui, certaines variables de l'interface seront définies(voir image) lorsqu'un appelant rejoint la file d'attente.",
       "SETQUEUEVARIABLES": "Si défini à Oui, certaines variables de la file d'attente seront définies(voir image)lorsqu'un appelant rejoint la file d'attente.",
       "SETQUEUEENTRYVARIABLES": "Si défini à Oui, certaines variables seront définies(voir image)lorsqu'un appelant rejoint la file d'attente.",
-      "RECORDING": "Activer l'enregistrement d'appel",
-      "VOICEMAIL_CONTEXT": "Le contexte de l'extension de la boite vocale.",
-      "NAME": "Seulement les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
       "CALLERIDALL": "Format pris en charge: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Format pris en charge: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Statut de pause à définir lors de la disposition obligatoire",
       "SERVICELEVEL": "Second paramétrage du niveau de service (par défaut = 0, pas de SL). Utilisé pour les statistiques de niveau de service (appels traités dans le délai de niveau de service)"
     },
-    "MUSICONHOLD": "Musique d'attente",
-    "ANNOUNCETOAGENT": "Annoncer un message à l'agent",
     "ANNOUNCEMENTS": "Messages",
     "ADVANCED": "Recherche avancée",
     "ANNOUNCEFREQUENCY": "Fréquence des messages",
-    "MINANNOUNCEFREQUENCY": "La fréquence minimum des messages",
-    "PERIODICANNOUNCEFREQUENCY": "Fréquence des messages périodique",
     "RANDOMPERIODICANNOUNCE": "Messages périodiques aléatoire",
-    "ANNOUNCEHOLDTIME": "Annoncer le temps d'attente",
-    "ANNOUNCECALLERPOSITION": "Annoncer la position de l'appelant",
     "ANNOUNCEPOSITIONLIMIT": "Limite pour annoncer la position",
-    "REPORTHOLDTIMEAGENT": "Temps de maitien en pause reporting de l'agent",
-    "PERIODICANNOUNCE": "Message périodique",
-    "HOLDTIMEANNOUNCE": "Annoncer le Temps d'attente",
-    "YOUARENEXTANNOUNCE": "Message 'Vous êtes le suivant'",
-    "THEREAREANNOUNCE": "Message 'Il y a'",
-    "WAITINGCALLSANNOUNCE": "Annoncer la position de l'appelant dans la file d'attente",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Annoncer le temps d'attente estimé restant",
-    "MINUTESANNOUNCE": "Annoncer les Minutes",
-    "MINUTEANNOUNCE": "Annoncer la  Minute",
-    "SECONDSANNOUNCE": "annoncer la seconde ",
-    "THANKYOUANNOUNCE": "Message \"Merci\"",
     "AUTOPAUSE": "Gestion Pause Automatique",
-    "AFTERCALLWORK": "Pause Après appel",
-    "AFTERCALLWORKDURATION": "Durée de la pause après appel",
-    "RINGINUSE": "Faire sonner quand occupé",
-    "MEMBERDELAY": "Temporisation Agent",
-    "TIMEOUTRESTART": "Redémarré la temporisation",
-    "MONITORFORMAT": "Format d'enregistrement",
     "SETINTERFACEVARIABLES": "Définir les variables d'interface",
     "SETQUEUEVARIABLES": "Définir les variables de la file d'attente",
     "SETQUEUEENTRYVARIABLES": "Définir les variables en entrée",
     "VARIABLE": "Variable",
-    "CONTEXT": "Contexte",
     "SAVE": "Sauvegarder",
     "SETTINGS": "Paramètres",
     "INBOUNDROUTES": "Routes entrantes",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Modifier",
     "DELETE_OUTBOUNDROUTE": "Supprimer",
     "CUTDIGITS": "Supprimer des digits",
-    "RECORDING": "Enregistrement",
     "RECORDINGFORMAT": "Format d'enregistrement",
     "INTERNALROUTES": "Routes internes.",
     "ADD_INTERNALROUTE": "Ajouter",
@@ -268,7 +186,6 @@
     "VOICE": "Voix",
     "REALTIME": "Information temps réel",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Contexte",
     "NO_MOHSOUND_AVAILABLE": "Aucune musique d'attente disponible",
     "FILE": "Dossier",
     "ADD_MOHSOUND": "Ajouter une musique d'attente",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Supprimer le son de la musique d'attente",
     "UNIQUEID": "ID unique",
     "AGENT": "Agent",
-    "TYPE": "Type",
     "RATING": "0",
     "AUDIO": "L'audio",
     "DATE": "Date",
@@ -441,8 +357,6 @@
     "DIALER": "Numéroteur",
     "INBOUND": "Entrant",
     "OUTBOUND": "Sortant",
-    "MANDATORYDISPOSITION": "Disposition obligatoire",
-    "MANDATORYDISPOSITIONPAUSEID": "Statut de pause de disposition obligatoire",
     "TEAMS_ASSOCIATION": "Association des équipes",
     "CANT_DOWNLOAD_THIS_FILE": "Impossible de télécharger ce fichier",
     "FILE_NOT_FOUND": "Fichier non trouvé",
diff --git a/public/app/main/apps/voice/i18n/he.json b/public/app/main/apps/voice/i18n/he.json
index a3a18e1..63d33e4 100644
--- a/public/app/main/apps/voice/i18n/he.json
+++ b/public/app/main/apps/voice/i18n/he.json
@@ -14,7 +14,6 @@
     "EDIT_TRUNK": "ערוך קו ראשי",
     "GOTO_VOICEQUEUE": "עבור אל תצוגת מצב תורי שיחות",
     "GOTOREALTIME_VOICEQUEUE": "עבור אל תצוגת מצב תורי שיחות ",
-    "NAME": "שם",
     "LOGOUT": "יציאה",
     "VOICEQUEUES": "תורי שיחות",
     "SEARCH_FOR_ANYONE": "חיפוש",
@@ -37,36 +36,11 @@
       "CUSTOM_APPLICATION": "(*) – יישום מותאם אישית."
     },
     "ERRORS": {
-      "TRUNK_REQUIRED": "שדה חובה",
       "VARIABLE_REQUIRED": "שדה חובה",
-      "NAME_REQUIRED": "שדה חובה",
       "APPLICATION_NAME_REQUIRED": "שדה חובה",
-      "TIMEOUT_REQUIRED": "שדה חובה",
-      "PHONENUMBER_REQUIRED": "שדה חובה",
-      "CONTEXT_REQUIRED": "שדה חובה",
-      "DESTINATIONPATTERN_REQUIRED": "שדה חובה",
-      "FULLNAME_REQUIRED": "שדה חובה",
-      "EMAIL_REQUIRED": "שדה חובה",
-      "EMAIL_MUST_VALID": "תבנית שגויה",
-      "MAILBOX_REQUIRED": "שדה חובה",
-      "PASSWORD_REQUIRED": "שדה חובה",
       "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות",
-      "TIMEZONE_REQUIRED": "שדה חובה",
-      "PREFIX_REQUIRED": "שדה חובה",
-      "OPTIONS_REQUIRED": "שדה חובה",
-      "AFTERCALLWORKDURATION_REQUIRED": "שדה חובה",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "שדה חובה",
-      "PHONE_REQUIRED": "שדה חובה",
-      "VALUE_REQUIRED": "שדה חובה",
-      "EXTENSION_REQUIRED": "שדה חובה",
-      "PRIORITY_REQUIRED": "שדה חובה",
       "APPLICATION_REQUIRED": "שדה חובה",
-      "OUTBOUNDROUTE_REQUIRED": "שדה חובה",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
@@ -77,11 +51,8 @@
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
-      "NAME_MUST_VALID_PATTERN": "תבנית שגויה",
       "CALLERIDALL_MUST_VALID_PATTERN": "תבנית שגויה",
-      "CALLER_ID_MUST_VALID_PATTERN": "תבנית שגויה",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה",
-      "PROJECT_REQUIRED": "שדה חובה"
+      "CALLER_ID_MUST_VALID_PATTERN": "תבנית שגויה"
     },
     "GENERAL": "כללי",
     "TIMEOUT": "סוף זמן מוקצה",
@@ -100,78 +71,26 @@
       "JOINWHENEMPTY": "קובע אם המשתמש יועבר לתור כאשר אין אף נציג זמין",
       "LEAVEWHENEMPTY": "קובע אם מתקשרים יוסרו מהתור כאשר אין אף נציג זמין לקבלת שיחות",
       "ANNOUNCEFREQUENCY": "באיזו תדירות להכריז על מיקומו של המתקשר בתור ו/או את משך ההמתנה הצפוי (0=השבת)",
-      "MINANNOUNCEFREQUENCY": "תדירות הכרזה מינימלית (שימושי כאשר מיקומו של המתקשר בתור משתנה במהירות)",
-      "PERIODICANNOUNCEFREQUENCY": "תדירות ההכרזות המחזוריות שהמתקשר שומע",
       "ANNOUNCEPOSITIONLIMIT": "משמש אם הערך בהגדרת המיקום להכרזה הוא 'הגבל' או 'יותר'",
-      "AFTERCALLWORKDURATION": "אורך ההשהיה מופעל על ידי האפשרות 'עבודה לאחר שיחה'",
-      "MEMBERDELAY": "להוספת השהיה לפני חיבור בין המתקשר שבתור לבין הנציג",
-      "MUSICONHOLD": "קובע את סוג המוזיקה לתור מסוים",
-      "ANNOUNCETOAGENT": "להשמעת הודעה לנציג המקבל את השיחה (לדוגמה, לאיזה תור משויך המתקשר)",
       "RANDOMPERIODICANNOUNCE": "אם כן, ההודעות המחזוריות המוגדרות יושמעו באופן אקראי",
-      "ANNOUNCEHOLDTIME": "להכרזת משך זמן ההמתנה המשוער יחד עם ההודעות הקבועות (כן/לא/פעם אחת)",
-      "ANNOUNCECALLERPOSITION": "משמש כדי לקבוע אם מיקום המתקשר בתור יוכרז: לא=אף פעם; כן=תמיד; הגבל=רק אם במסגרת הגבול שהוגדר תחת 'הגבל-מיקום-הכרזה; עוד=רק אם יש חריגה מהערך שהוגדר תחת הגבל-מיום-הכרזה",
-      "REPORTHOLDTIMEAGENT": "מאפשר לדווח על משך ההמתנה של המתקשר לנציג בתור לפני חיבור ביניהם",
-      "PERIODICANNOUNCE": "סדרת ההודעות המחזוריות שיושמעו (לפי סדר)",
-      "HOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='משך המתנה'. לא מוגדר=ללא הכרזה",
-      "YOUARENEXTANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='מקומך הנוכחי בתור – מספר אחת'. לא מוגדר=ללא הכרזה",
-      "THEREAREANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='לפניך בתור'. לא מוגדר=ללא הכרזה",
-      "WAITINGCALLSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שיחות ממתינות'. לא מוגדר=ללא הכרזה",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='זמן ההמתנה המשוער כרגע הוא'. לא מוגדר=ללא הכרזה",
-      "MINUTESANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקות'. לא מוגדר=ללא הכרזה",
-      "MINUTEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקה'. לא מוגדר=ללא הכרזה",
-      "SECONDSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שניות'. לא מוגדר=ללא הכרזה",
-      "THANKYOUANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='תודה על הסבלנות'. לא מוגדר=ללא הכרזה",
-      "AFTERCALLWORK": "אם אפשרות זאת מופעלת הנציג יועבר למצב 'השהה' לאחר סיום של שיחה",
       "AUTOPAUSE": "מפעיל/משבית את ההשהיה האוטומטית של נציגים שלא השיבו על שיחה. במצב מופעל, הסוכן עובר למצב השהיה בכל התורים שהוא משויך אליהם",
-      "RINGINUSE": "כדי למנוע/לאפשר שליחת שיחות לנציגים עם סטטוס 'בשימוש'",
-      "TIMEOUTRESTART": "אם כן, הזמן הקצוב לסוכן לקבל שיחה כאשר מתקבל סטטוס 'תפוס' או 'עומס' מהערוץ יתאפס",
-      "MONITORFORMAT": "מציין את תבנית הקובץ להקלטה. כאשר תבנית 'ניטור' לא פעילה אין הקלטת שיחות.",
-      "CONTEXT": "מאפשר למתקשר לצאת מהתור בלחיצה על ספרת DTMF אחת. אם צוין הקשר והמתקשר מקיש את הספרה, המערכת תנסה להתאים את הספרה להקשר שצוין וביצוע תוכנית החיוג תימשך שם",
       "SETINTERFACEVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג (לפרטים נוספים, עיין ב-Wiki Docs)",
       "SETQUEUEVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג ויציאתו מהתור (לפרטים נוספים, עיין ב-Wiki Docs)",
       "SETQUEUEENTRYVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג (לפרטים נוספים, עיין ב-Wiki Docs)",
-      "RECORDING": "אפשר הקלטת שיחה",
-      "VOICEMAIL_CONTEXT": "ההקשר של השלוחה הרלוונטית",
-      "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)",
       "CALLERIDALL": "התבנית הנתמכת: \"CallerId\" &lt;number&gt;",
       "CALLER_ID": "התבנית הנתמכת: \"CallerId\" &lt;number&gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "השהה סטטוס להגדרה במהלך חובה",
       "SERVICELEVEL": "הגדרות שניות לרמת שירות (ברירת מחדל = 0, ללא SL). משמש לסטטיסטיקה של רמת השירות (שיחות נענות במסגרת הזמן של רמת השירות)"
     },
-    "MUSICONHOLD": "מוזיקה בהמתנה",
-    "ANNOUNCETOAGENT": "הודעה לנציג",
     "ANNOUNCEMENTS": "הודעות",
     "ADVANCED": "מתקדם",
     "ANNOUNCEFREQUENCY": "תדירות הודעה",
-    "MINANNOUNCEFREQUENCY": "תדירות הודעה מינימלית",
-    "PERIODICANNOUNCEFREQUENCY": "תדירות הודעה חוזרת",
     "RANDOMPERIODICANNOUNCE": "הודעה חוזרת בסדר אקראי",
-    "ANNOUNCEHOLDTIME": "זמן המתנה להודעה",
-    "ANNOUNCECALLERPOSITION": "הכרזת מיקום המתקשר בתור",
     "ANNOUNCEPOSITIONLIMIT": "הכרזת מגבלת מקומות בתור",
-    "REPORTHOLDTIMEAGENT": "דיווח לנציג על זמן ההמתנה",
-    "PERIODICANNOUNCE": "הודעה חוזרת",
-    "HOLDTIMEANNOUNCE": "הודעת זמן המתנה",
-    "YOUARENEXTANNOUNCE": "הודעת אתה הבא בתור",
-    "THEREAREANNOUNCE": "הודעת יש בתור",
-    "WAITINGCALLSANNOUNCE": "הודעת שיחות ממתינות",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "הודעת זמן המתנה משוער",
-    "MINUTESANNOUNCE": "הכרזת דקות",
-    "MINUTEANNOUNCE": "הכרזת דקה",
-    "SECONDSANNOUNCE": "הכרזת שניות",
-    "THANKYOUANNOUNCE": "הכרזת תודה רבה",
     "AUTOPAUSE": "הפסקה אוטומטית",
-    "AFTERCALLWORK": "עבודה לאחר שיחה",
-    "AFTERCALLWORKDURATION": "משך זמן עבודה לאחר שיחה",
-    "RINGINUSE": "הצלצול שבשימוש",
-    "MEMBERDELAY": "הפסקת הנציג",
-    "TIMEOUTRESTART": "זמן מוקצב להפעלה מחדש",
-    "MONITORFORMAT": "תבנית הקלטה",
     "SETINTERFACEVARIABLES": "קבע משתני ממשק",
     "SETQUEUEVARIABLES": "קבע משתני תור",
     "SETQUEUEENTRYVARIABLES": "קבע משתני כניסה לתור",
     "VARIABLE": "משתנה",
-    "CONTEXT": "הקשר",
     "SAVE": "שמור",
     "SETTINGS": "הגדרות",
     "INBOUNDROUTES": "נתיבים נכנסים",
@@ -186,7 +105,6 @@
     "EDIT_OUTBOUNDROUTE": "ערוך נתיב יוצא",
     "DELETE_OUTBOUNDROUTE": "מחק נתיב יוצא",
     "CUTDIGITS": "הורד ספרות",
-    "RECORDING": "הקלטה",
     "RECORDINGFORMAT": "תבנית הקלטה",
     "INTERNALROUTES": "נתיבים פנימיים",
     "ADD_INTERNALROUTE": "הוסף נתיב פנימי",
@@ -280,7 +198,6 @@
     "VOICE": "שיחה",
     "REALTIME": "זמן אמת",
     "ID": "מזהה",
-    "VOICEMAIL_CONTEXT": "הקשר",
     "NO_MOHSOUND_AVAILABLE": "אין מוסיקה זמינה להמתנה",
     "FILE": "קובץ",
     "ADD_MOHSOUND": "הוסף צליל מוזיקה בהמתנה",
@@ -288,7 +205,6 @@
     "DELETE_MOHSOUND": "מחק צליל מוזיקה בהמתנה",
     "UNIQUEID": "מזהה ייחודי",
     "AGENT": "נציג",
-    "TYPE": "סוג",
     "RATING": "דירוג",
     "AUDIO": "שמע",
     "DATE": "תאריך",
@@ -441,8 +357,6 @@
     "DIALER": "חייגן",
     "INBOUND": "נכנס",
     "OUTBOUND": "יוצא",
-    "MANDATORYDISPOSITION": "סיכום",
-    "MANDATORYDISPOSITIONPAUSEID": "מצב השהייה בסיכום",
     "TEAMS_ASSOCIATION": "איגוד הצוותים",
     "CANT_DOWNLOAD_THIS_FILE": "לא ניתן להוריד קובץ זה",
     "FILE_NOT_FOUND": "הקובץ לא נמצא",
diff --git a/public/app/main/apps/voice/i18n/hi.json b/public/app/main/apps/voice/i18n/hi.json
index dfcb164..81d4194 100644
--- a/public/app/main/apps/voice/i18n/hi.json
+++ b/public/app/main/apps/voice/i18n/hi.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "लिएभूकम्पनीय वैधशालाओं की आवाज को कतार",
     "GOTOREALTIME_VOICEQUEUE": "लिएभूकम्पनीय वैधशालाओं की आवाज को कतार",
-    "NAME": "नाम",
     "LOGOUT": "इसपर",
     "VOICEQUEUES": "वॉयस कतार",
     "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - कस्टम अनुप्रयोग।"
     },
     "ERRORS": {
-      "NAME_REQUIRED": "नाम की आवश्यकता है।",
       "APPLICATION_NAME_REQUIRED": "अनुप्रयोग नाम की आवश्यकता है।",
-      "TIMEOUT_REQUIRED": "इस समय की आवश्यकता है।",
-      "PHONENUMBER_REQUIRED": "फ़ोन नंबर की आवश्यकता है।",
-      "CONTEXT_REQUIRED": "इस संदर्भ में अपेक्षित है।",
-      "DESTINATIONPATTERN_REQUIRED": "गंतव् य पद्धति की आवश्यकता है।",
-      "FULLNAME_REQUIRED": "पूरा नाम की आवश्यकता है।",
-      "EMAIL_REQUIRED": "ईमेल की आवश्यकता है।",
-      "EMAIL_MUST_VALID": "एक मान्य स्वरूप में लिखा होना ईमेल का",
-      "MAILBOX_REQUIRED": "इस मेलबॉक्स अपेक्षित है।",
-      "PASSWORD_REQUIRED": "पासवर्ड की आवश्यकता है।",
       "CONFIRM_NOT_MATCH": "पासवर्ड मेल नहीं",
-      "TIMEZONE_REQUIRED": "इस समय क्षेत्र की आवश्यकता है।",
-      "PREFIX_REQUIRED": "नाम के साथ अपेक्षित है।",
-      "OPTIONS_REQUIRED": "विकल्प आवश्यक हैं.",
-      "AFTERCALLWORKDURATION_REQUIRED": "कॉल करने के बाद के कार्य की अवधि की आवश्यकता है।",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "प्रौद्योगिकी/संसाधन की आवश्यकता है।",
-      "PHONE_REQUIRED": "फ़ोन की आवश्यकता है।",
-      "VALUE_REQUIRED": "मूल्य की आवश्यकता है।",
-      "EXTENSION_REQUIRED": "के विस्तार की आवश्यकता है।",
-      "PRIORITY_REQUIRED": "प्राथमिकता की आवश्यकता है।",
-      "NAME_MUST_VALID_PATTERN": "एक मान्य स्वरूप का नाम लिखा होना",
       "APPLICATION_REQUIRED": "अनुप्रयोग की आवश्यकता है।",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "टाइमआउट के समान या से अधिक होनी चाहिए.",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "की अधिकतम लंबाई समान होनी चाहिए अथवा अधिक",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "का पुनः प्रयास करें या के बराबर से अधिक होनी चाहिए.",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "इस समय से अधिक होना चाहिए या के बराबर Wrapup",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "भार बराबर या अधिक होना चाहिए।",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "इस घोषणा से अधिक होनी चाहिए अथवा समान आवृति",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "इस घोषणा से अधिक होनी चाहिए अथवा समान आवृति मिन",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "आवधिक घोषणा की आवृत्ति से अधिक होना चाहिए या के बराबर",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "संदेश से अधिक होना चाहिए या के बराबर अधिकतम की",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "संदेशों को कम से कम किया जाना चाहिए या के बराबर अधिकतम",
       "CALLERIDALL_MUST_VALID_PATTERN": "गलत प्रारूप",
-      "OUTBOUNDROUTE_REQUIRED": "आवश्यक स्थान",
       "VARIABLE_REQUIRED": "आवश्यक स्थान",
-      "CALLER_ID_MUST_VALID_PATTERN": "गलत प्रारूप",
-      "TRUNK_REQUIRED": "आवश्यक स्थान",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान",
-      "PROJECT_REQUIRED": "आवश्यक स्थान"
+      "CALLER_ID_MUST_VALID_PATTERN": "गलत प्रारूप"
     },
     "GENERAL": "सामान्य",
     "TIMEOUT": "समयबाह्य",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "क्या कोई नियंत्रण नहीं है जब कोई सदस्य जोड़े कतार कॉलर उपलब्ध हैं।",
       "LEAVEWHENEMPTY": "कॉलर्स को नियंत्रित करने के लिए इस्तेमाल किया जाता है जब सदस्यों की कतार से नि ९ाला क्या अब उपलब्ध नहीं है. कॉल के लिए",
       "ANNOUNCEFREQUENCY": "हम कितनी परिभाषित की घोषणा करनी चाहिए और/अथवा अनुमानित कॉलर की स् थिति होल्ड समय कतार में है। इस मूल्य निर्धारित करने के लिए शून्य को अक्षम है.",
-      "MINANNOUNCEFREQUENCY": "निर्दिष्ट करता है कि उस समय की न्यूनतम मात्रा की घोषणा करने से पूर्व हम पास होना कॉलर की कतार में पुन: जब यह कॉलर की स्थिति को बदल सकते हैं, प्राय: एकाधिक अपडेट्स को रोकने के लिए कॉलर सुनवाई थोडे समय में है।",
-      "PERIODICANNOUNCEFREQUENCY": "पता चलता है कि किस प्रकार आवधिक घोषणाएं करने चाहिए कि हम अक्सर रखती हैं।",
       "ANNOUNCEPOSITIONLIMIT": "यदि आपने यहघोषणा की स्थिति के रूप में परिभाषित किया जाता है या सीमा से अधिक है.",
-      "AFTERCALLWORKDURATION": "विराम की अवधि के बाद कार्य कॉल विकल्प",
-      "MEMBERDELAY": "यदि आप चाहते हैं कि वहां का इस्तेमाल करने से पूर्व देरी का एक-दूसरे से जोडा जा रहा है और कॉलर कतार सदस्य",
-      "MUSICONHOLD": "सैट के प्रयोग को विशेष श्रेणी के संगीत की कतार है।",
-      "ANNOUNCETOAGENT": "खेल के लिए इस्तेमाल करने की घोषणा की है कि उनके लिए अपेक्षओं को कॉल का उत्तर एजेंट क्या कतार कॉलर से आ रहा है।",
       "RANDOMPERIODICANNOUNCE": "यदि हाँ, का मुकाबला करने के लिए आवधिक घोषणाएं की परिभाषा में अनियमित क्रम है।",
-      "ANNOUNCEHOLDTIME": "अनुमान है कि समय-समय पर आयोजित की परिभाषा के साथ आवधिक घोषणाएं बजाई जानी चाहिए।",
-      "ANNOUNCECALLERPOSITION": "परिभाषित किया जाना चाहिए कि क्या कॉलर की स्थिति में घोषणा की है। यदि सेटअप करने के लिए कोई स्थान नहीं होगा की घोषणा की जाए। यदि हाँ, कॉलर की स् थिति सेट करने के लिए सदैव की घोषणा की गई है। यदि मूल्य सेट करने के लिए, अपनी स्थिति को सुनेंगे कॉलर सीमा कतार में ही यह घोषणा कर के दायरे में परिभाषित की स्थिति-सीमा है। यदि मूल्य पर सेट है, तो उसके स्थान पर कॉलर सुनेंगे की संख्या से परे है, स्थिति-सीमा परिभाषित की घोषणा",
-      "REPORTHOLDTIMEAGENT": "समय-समय पर आयोजित की रिपोर्टिंग में समर्थ की कतार के पूर्व सदस्य अनिवार्यआधारभूत है।",
-      "PERIODICANNOUNCE": "खेल खेला जाने की आवधिक घोषणाओं के क्रम में वे को परिभाषित किया गया है।",
-      "HOLDTIMEANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान से खेलना है।'') समय (\"को रोका यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "YOUARENEXTANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"अब आप में प्रथम पंक्ति\"). यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "THEREAREANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"हैं.'' यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "WAITINGCALLSANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान से खेलना है।'') (\"कॉल प्रतीक्षारत यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"चालू होने का अनुमान है।\") को दबाकर रखें यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "MINUTESANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"मिनट)।\" यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "MINUTEANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"मिनट)।\" यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "SECONDSANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"सेकंड)।\" यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "THANKYOUANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"के लिए धन्यवाद\") धैर्य यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
-      "AFTERCALLWORK": "यदि सक्रिय एजेंट को पूरा करने के बाद विराम पर सेट किया जाएगा कतार पर कॉल करें",
       "AUTOPAUSE": "सदस्यों की स्वचालित किसी वाक्य को सक्षम/अक्षम असफल कॉल का उत्तर देने के लिए है। यदि इस कारण सक्रिय सदस्य को रोका गया है वह किसी सदस्य की कतार में सभी",
-      "RINGINUSE": "कॉल भेजने के लिए सदस्यों से बचने के लिए इस्तेमाल किया जाता है जिसकी स्थिति में प्रयोग में है.",
-      "TIMEOUTRESTART": "यदि हाँ, रीसेट करें पर सेट करने के लिए, यदि उत्तर देने के लिए, व्यस्त या टाइमआउट एजेंट या भीड़-भाड़ दर्जा प्राप्त चैनल है।",
-      "MONITORFORMAT": "निर्दिष्ट करने के लिए, फ़ाइल स्वरूप का प्रयोग करने के लिए रिकॉर्डिंग है। अगर निगरानी-स्वरूप निष्क्रिय कॉल्स नहीं किया जाएगा.",
-      "CONTEXT": "अनुमत कॉलर कतार से बाहर निकलने के लिए दबाकर एक अंकीय DTMF है। यदि कॉलर और विनिर्दिष्ट संख्या के संदर्भ में प्रवेश करने का प्रयास करेंगे कि अंकीय मेल के संदर्भ में विनिर्दिष्ट और वहां रहेंगे निष्पादन dialplan",
       "SETINTERFACEVARIABLES": "यदि हां, तो पूर्व निर्धारित की जा रही एक कतार में कुछ सदस्य कॉलर खाई फेर किया जाएगा।(देखिए) wiki",
       "SETQUEUEVARIABLES": "यदि हां, तो पहले से सेट करने के लिए किया जा रहा है और सदस्य एक कतार कॉलर खाई को छोडने की कतार में कुछ फेर से पूर्व कॉलर स्थापित किए जाएंगे।(देखिए) wiki",
       "SETQUEUEENTRYVARIABLES": "यदि हां, तो पूर्व निर्धारित की जा रही एक कतार में कुछ सदस्य कॉलर खाई फेर किया जाएगा।(देखिए) wiki",
-      "RECORDING": "रिकॉर्डिंग रोकने के लिए कॉल कर सके।",
-      "VOICEMAIL_CONTEXT": "के संदर्भ संबंधी विस्तार है।",
-      "NAME": "केवल विशिष्ट वर्ण (।_) और नंबर्स, समर्थित",
       "CALLERIDALL": "समर्थित प्रारूप: \"कॉलर आईडी\" & lt; संख्या & gt;",
       "CALLER_ID": "समर्थित प्रारूप: \"कॉलर आईडी\" & lt; संख्या & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्थिति के दौरान निर्धारित करने के लिए स्थिति को रोकें",
       "SERVICELEVEL": "सेवा स्तर के लिए दूसरी सेटिंग्स (डिफ़ॉल्ट = 0, कोई SL)। सेवा स्तर के आँकड़ों के लिए उपयोग किया जाता है (सेवा स्तर समय सीमा के भीतर उत्तर दिए गए कॉल)"
     },
-    "MUSICONHOLD": "संगीत पर रखें.",
-    "ANNOUNCETOAGENT": "घोषणा के एजेंट",
     "ANNOUNCEMENTS": "घोषणाओं",
     "ADVANCED": "उन्नत",
     "ANNOUNCEFREQUENCY": "आवृत्ति की घोषणा",
-    "MINANNOUNCEFREQUENCY": "आवृत्ति घोषित न्यूनतम",
-    "PERIODICANNOUNCEFREQUENCY": "आवधिक घोषणा की आवृत्ति",
     "RANDOMPERIODICANNOUNCE": "रैंडम आवधिक की घोषणा की.",
-    "ANNOUNCEHOLDTIME": "समय-समय पर आयोजित की घोषणा",
-    "ANNOUNCECALLERPOSITION": "कॉलर स्थिति की घोषणा",
     "ANNOUNCEPOSITIONLIMIT": "सीमा की बस्थति की घोषणा",
-    "REPORTHOLDTIMEAGENT": "एजेंट ने समय-समय पर रिपोर्ट",
-    "PERIODICANNOUNCE": "आवधिक की घोषणा की.",
-    "HOLDTIMEANNOUNCE": "उस समय की घोषणा को रोका",
-    "YOUARENEXTANNOUNCE": "आप \"अगला\" की घोषणा की.",
-    "THEREAREANNOUNCE": "'' की घोषणा कर रहे हैं।",
-    "WAITINGCALLSANNOUNCE": "कॉल प्रतीक्षारत की घोषणा की.",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "समय-समय पर आयोजित की घोषणा का अनुमान",
-    "MINUTESANNOUNCE": "मिनट की घोषणा की.",
-    "MINUTEANNOUNCE": "मिनट की घोषणा की.",
-    "SECONDSANNOUNCE": "सेकंड्स की घोषणा की.",
-    "THANKYOUANNOUNCE": "'' की घोषणा आपको धन्यवाद देता हूं।",
     "AUTOPAUSE": "ऑटो रोकें",
-    "AFTERCALLWORK": "इसके बाद कार्य पर कॉल करें",
-    "AFTERCALLWORKDURATION": "कॉल करने के बाद कार्य अवधि",
-    "RINGINUSE": "रिंग प्रयोग में है",
-    "MEMBERDELAY": "सदस्य विलंब",
-    "TIMEOUTRESTART": "समयबाह्य को पुन: प्रारंभ करें.",
-    "MONITORFORMAT": "रिकॉर्डिंग स्वरूप",
     "SETINTERFACEVARIABLES": "परिवतीऩ अन्तरापृष्ठ सेट करें",
     "SETQUEUEVARIABLES": "परिवतीऩ कतार सेट करें",
     "SETQUEUEENTRYVARIABLES": "परिवतीऩ प्रवेश कतार सेट करें",
     "VARIABLE": "परिवर्तनीय",
-    "CONTEXT": "संदर्भ",
     "SAVE": "सहेजें",
     "SETTINGS": "सेटिंग्स",
     "INBOUNDROUTES": "इनबाउंड मार्ग",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "रूट बाह्यवर्ती संपादित करें",
     "DELETE_OUTBOUNDROUTE": "रूट बाह्यवर्ती हटाएं",
     "CUTDIGITS": "काटें अंगुलि",
-    "RECORDING": "रिकॉर्डिंग",
     "RECORDINGFORMAT": "रिकॉर्डिंग स्वरूप",
     "INTERNALROUTES": "भीतरी मार्गों",
     "ADD_INTERNALROUTE": "आंतरिक मार्ग पर जोड़ें",
@@ -268,7 +186,6 @@
     "VOICE": "आवाज",
     "REALTIME": "लिएभूकम्पनीय वैधशालाओं",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "संदर्भ",
     "NO_MOHSOUND_AVAILABLE": "कोई संगीत पर उपलब्ध",
     "FILE": "फाइल",
     "ADD_MOHSOUND": "संगीत जोड़ होल्ड पर ध्वनि",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "संगीत हटाएं पर ध्वनि",
     "UNIQUEID": "अद्वितीय ID",
     "AGENT": "कर्ता",
-    "TYPE": "प्रकार",
     "RATING": "रेटिंग",
     "AUDIO": "ऑडियो",
     "DATE": "की तारीख",
@@ -441,8 +357,6 @@
     "DIALER": "डायलर",
     "INBOUND": "भीतर का",
     "OUTBOUND": "आउटबाउंड",
-    "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-    "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य विवाद स्थिति",
     "TEAMS_ASSOCIATION": "टीमों एसोसिएशन",
     "CANT_DOWNLOAD_THIS_FILE": "इस फ़ाइल को डाउनलोड नहीं किया जा सकता",
     "FILE_NOT_FOUND": "फाइल नहीं मिली",
diff --git a/public/app/main/apps/voice/i18n/id.json b/public/app/main/apps/voice/i18n/id.json
index a1e1476..4260d19 100644
--- a/public/app/main/apps/voice/i18n/id.json
+++ b/public/app/main/apps/voice/i18n/id.json
@@ -5,96 +5,40 @@
     },
     "ERRORS": {
       "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "AFTERCALLWORKDURATION_REQUIRED": "Bidang wajib",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "APPLICATION_NAME_REQUIRED": "Bidang wajib",
       "APPLICATION_REQUIRED": "Bidang wajib",
       "CONFIRM_NOT_MATCH": "Kata sandi tidak cocok",
-      "CONTEXT_REQUIRED": "Bidang wajib",
       "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "DESTINATIONPATTERN_REQUIRED": "Bidang wajib",
-      "EMAIL_MUST_VALID": "Format yang salah",
-      "EMAIL_REQUIRED": "Bidang wajib",
-      "EXTENSION_REQUIRED": "Bidang wajib",
-      "FULLNAME_REQUIRED": "Bidang wajib",
-      "MAILBOX_REQUIRED": "Bidang wajib",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "NAME_MUST_VALID_PATTERN": "Format yang salah",
-      "NAME_REQUIRED": "Bidang wajib",
-      "OPTIONS_REQUIRED": "Bidang wajib",
-      "PASSWORD_REQUIRED": "Bidang wajib",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "PHONENUMBER_REQUIRED": "Bidang wajib",
-      "PHONE_REQUIRED": "Bidang wajib",
       "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "PREFIX_REQUIRED": "Bidang wajib",
-      "PRIORITY_REQUIRED": "Bidang wajib",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Bidang wajib",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "TIMEOUT_REQUIRED": "Bidang wajib",
-      "TIMEZONE_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
       "CALLERIDALL_MUST_VALID_PATTERN": "Format yang salah",
-      "OUTBOUNDROUTE_REQUIRED": "Bidang wajib",
       "VARIABLE_REQUIRED": "Bidang wajib",
-      "CALLER_ID_MUST_VALID_PATTERN": "Format yang salah",
-      "TRUNK_REQUIRED": "Bidang wajib",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib",
-      "PROJECT_REQUIRED": "Bidang wajib"
+      "CALLER_ID_MUST_VALID_PATTERN": "Format yang salah"
     },
     "HELP": {
-      "AFTERCALLWORK": "Jika diaktifkan, agen akan diatur Jeda setelah menyelesaikan panggilan",
-      "AFTERCALLWORKDURATION": "Jeda panjang dipicu oleh opsi After Call Work",
-      "ANNOUNCECALLERPOSITION": "Digunakan untuk menentukan apakah posisi pemanggil di antrean harus diumumkan: Tidak = tidak pernah; Ya = selalu; Batasi = hanya jika itu dalam batas yang ditentukan oleh announce-position-limit; Lainnya = hanya jika itu di luar nilai yang ditentukan oleh announce-position-limit",
       "ANNOUNCEFREQUENCY": "Seberapa sering mengumumkan posisi pemanggil dan / atau perkiraan waktu penahanan dalam antrian (nol untuk menonaktifkan)",
-      "ANNOUNCEHOLDTIME": "Memainkan perkiraan waktu penahanan bersama dengan pengumuman berkala (Ya / Tidak / Sekali)",
       "ANNOUNCEPOSITIONLIMIT": "Digunakan jika announce-position didefinisikan sebagai 'limit' atau 'more'",
-      "ANNOUNCETOAGENT": "Mainkan pengumuman kepada agen yang menjawab panggilan (biasanya untuk memberi tahu dia apa antrian penelepon itu berasal)",
       "AUTOPAUSE": "Mengaktifkan / menonaktifkan jeda otomatis agen yang gagal menjawab panggilan. Jika diaktifkan, agen akan berhenti di semua antrian tempat dia berada",
-      "CONTEXT": "Memungkinkan pemanggil keluar dari antrean dengan menekan satu digit DTMF. Jika konteks ditentukan dan pemanggil memasukkan nomor, digit itu akan dicoba untuk dicocokkan dalam konteks yang ditentukan, dan eksekusi dialplan akan berlanjut di sana.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = “Waktu tahan perkiraan saat ini adalah”. Tidak ditentukan = tidak ada pengumuman",
-      "HOLDTIMEANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"Hold time\". Tidak ditentukan = tidak ada pengumuman",
       "JOINWHENEMPTY": "Digunakan untuk mengontrol apakah pemanggil diteruskan ke antrian ketika tidak ada anggota yang tersedia",
       "LEAVEWHENEMPTY": "Digunakan untuk mengontrol apakah penelepon dibuat meninggalkan antrian ketika tidak ada anggota yang tersedia untuk menerima panggilan",
       "MAXLENGTH": "Jumlah maksimum penelepon diizinkan menunggu dalam antrean: nol berarti tidak terbatas",
-      "MEMBERDELAY": "Menyisipkan penundaan sebelum pemanggil dan agen dalam antrian terhubung",
-      "MINANNOUNCEFREQUENCY": "Frekuensi pengumuman minimum (berguna ketika posisi pemanggil sering berubah)",
-      "MINUTEANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"menit\". Tidak ditentukan = tidak ada pengumuman",
-      "MINUTESANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = “menit”. Tidak ditentukan = tidak ada pengumuman",
-      "MONITORFORMAT": "Menentukan format file yang akan digunakan saat merekam. Jika format monitor tidak aktif, panggilan tidak akan direkam",
-      "MUSICONHOLD": "Setel kelas musik yang akan digunakan untuk antrean tertentu",
-      "NAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
-      "PERIODICANNOUNCE": "Kumpulan pengumuman berkala untuk dimainkan (dalam urutan)",
-      "PERIODICANNOUNCEFREQUENCY": "Frekuensi pengumuman berkala kepada pemanggil",
       "RANDOMPERIODICANNOUNCE": "Jika ya, pengumuman berkala yang ditentukan akan dimainkan secara acak",
-      "RECORDING": "Aktifkan perekaman panggilan",
-      "REPORTHOLDTIMEAGENT": "Memungkinkan pelaporan waktu tunggu kepada agen dalam antrean sebelum koneksi",
       "RETRY": "Waktu dalam detik untuk menunggu sebelum memanggil agen berikutnya dalam antrian ketika batas waktunya habis",
-      "RINGINUSE": "Untuk menghindari / memungkinkan mengirim panggilan ke anggota yang statusnya Sedang Digunakan",
-      "SECONDSANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"seconds\". Tidak ditentukan = tidak ada pengumuman",
       "SETINTERFACEVARIABLES": "Jika diatur ke ya, tepat sebelum penelepon dihubungkan dengan agen antrian, beberapa variabel akan ditetapkan (untuk informasi lebih lanjut, lihat wiki docs)",
       "SETQUEUEENTRYVARIABLES": "Jika diatur ke ya, tepat sebelum pemanggil dihubungkan dengan agen antrian beberapa variabel akan ditetapkan (untuk informasi lebih lanjut, lihat dokumen wiki)",
       "SETQUEUEVARIABLES": "Jika diatur ke ya, sesaat sebelum pemanggil dihubungkan dengan agen antrian dan meninggalkan antrean, beberapa variabel akan ditetapkan (untuk informasi lebih lanjut, lihat dokumen wiki)",
-      "THANKYOUANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"Terima kasih atas kesabaran Anda\". Tidak ditentukan = tidak ada pengumuman",
-      "THEREAREANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"There are\". Tidak ditentukan = tidak ada pengumuman",
       "TIMEOUT": "Berapa detik untuk membunyikan perangkat",
-      "TIMEOUTRESTART": "Jika ya, ini akan mengatur ulang batas waktu bagi agen untuk menjawab saat status BUSY atau CONGESTION diterima dari saluran",
-      "VOICEMAIL_CONTEXT": "Konteks ekstensi relatif",
-      "WAITINGCALLSANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"panggilan tunggu\". Tidak ditentukan = tidak ada pengumuman",
       "WEIGHT": "Berat antrean untuk menentukan prioritas jika anggota dikaitkan dengan beberapa antrian",
       "WRAPUPTIME": "Waktu dalam detik untuk menjaga anggota antrian tidak tersedia setelah menyelesaikan panggilan",
-      "YOUARENEXTANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"Anda sekarang berada di baris pertama\". Tidak ditentukan = tidak ada pengumuman",
       "CALLERIDALL": "Format yang didukung: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Format yang didukung: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Jeda status untuk ditetapkan selama disposisi wajib",
       "SERVICELEVEL": "Pengaturan kedua untuk tingkat layanan (default = 0, tanpa SL). Digunakan untuk statistik tingkat layanan (panggilan dijawab dalam jangka waktu tingkat layanan)"
     },
     "ABANDONED": "Ditinggalkan",
@@ -116,8 +60,6 @@
     "ADD_VOICEMAIL": "Tambahkan Voicemail",
     "ADD_VOICEQUEUE": "Tambahkan Antrean Suara",
     "ADVANCED": "Maju",
-    "AFTERCALLWORK": "Setelah Panggilan Kerja",
-    "AFTERCALLWORKDURATION": "Setelah Durasi Panggilan Kerja",
     "AGENT": "Agen",
     "AGENTADD_QUEUE": "Tambahkan Agen Ke Antrian Suara",
     "AGENTADD_VOICEQUEUE": "Tambahkan Agen Ke Antrian Suara",
@@ -128,12 +70,9 @@
     "ALL_AGENTS": "Semua Agen",
     "ALL_TEAMS": "Semua Tim",
     "ALPHABETICAL": "Alfabetis",
-    "ANNOUNCECALLERPOSITION": "Mengumumkan Posisi Pemanggil",
     "ANNOUNCEFREQUENCY": "Umumkan Frekuensi",
-    "ANNOUNCEHOLDTIME": "Umumkan Hold Time",
     "ANNOUNCEMENTS": "Pengumuman",
     "ANNOUNCEPOSITIONLIMIT": "Umumkan Batas Posisi",
-    "ANNOUNCETOAGENT": "Umumkan Menjadi Agen",
     "ANNOUNCE_OVERRIDES": "Umumkan Pengabaian",
     "ANSWER": "Menjawab",
     "ANSWERED": "Dijawab",
@@ -168,7 +107,6 @@
     "CLOSING": "Penutupan",
     "CONFIRM_PASSWORD": "konfirmasi sandi",
     "CONNECTED": "Terhubung",
-    "CONTEXT": "Konteks",
     "CONTEXTS": "Konteks",
     "CREATED_AT": "Dibuat di",
     "CUSTOM": "Adat",
@@ -231,7 +169,6 @@
     "EMAILSUBJECT": "Subjek Email",
     "ENDEDAT": "Berakhir pada",
     "ENVELOPE": "Amplop",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Perkiraan Hold Time Umumkan",
     "EXTENSION": "Perpanjangan",
     "EXTERNALDIAL": "Panggilan Eksternal",
     "FAILED": "Gagal",
@@ -256,7 +193,6 @@
     "HANGUPCAUSE_38": "38 = Jaringan rusak",
     "HANGUPCAUSE_41": "41 = Kegagalan sementara",
     "HANGUP_CAUSE": "Hangup Cause",
-    "HOLDTIMEANNOUNCE": "Hold Time Announce",
     "ID": "ID",
     "IDLE": "Diam",
     "INBOUNDROUTES": "Rute Masuk",
@@ -279,17 +215,10 @@
     "MAXLENGTH": "Panjang maksimum",
     "MAXMESSAGES": "Max Messages",
     "MAXSECONDS": "Max Detik",
-    "MEMBERDELAY": "Penundaan Anggota",
     "MESSAGES": "Pesan",
-    "MINANNOUNCEFREQUENCY": "Frekuensi Pengumuman Minimum",
-    "MINUTEANNOUNCE": "Menit Pengumuman",
-    "MINUTESANNOUNCE": "Menit-menit Mengumumkan",
     "MODE": "Mode",
     "MOHSOUNDS": "Moh Sounds",
-    "MONITORFORMAT": "Format Perekaman",
-    "MUSICONHOLD": "Musik Ditahan",
     "MUSICONHOLDS": "Musik Ditahan",
-    "NAME": "Nama",
     "NEW_CHANSPY": "ChanSpy baru",
     "NEW_CONTEXT": "Konteks Baru",
     "NEW_INBOUNDROUTE": "Rute Inbound Baru",
@@ -323,8 +252,6 @@
     "PAUSE": "Berhenti sebentar",
     "PAUSED": "Dijeda",
     "PENALTY": "Penalti",
-    "PERIODICANNOUNCE": "Berkala Berkala",
-    "PERIODICANNOUNCEFREQUENCY": "Berkala Mengumumkan Frekuensi",
     "PHONE": "Telepon",
     "PHONENUMBER": "Nomor telepon",
     "PHONE_STATE": "Negara Telepon",
@@ -347,7 +274,6 @@
     "REALTIME": "Waktu sebenarnya",
     "RECEIVED_AT": "Diterima pada",
     "RECORD": "Merekam",
-    "RECORDING": "Rekaman",
     "RECORDINGFORMAT": "Format rekaman",
     "RECORDINGS": "Rekaman",
     "REDIRECT_TO_AGENT": "Redirect To Agent",
@@ -355,17 +281,14 @@
     "REGISTERED": "Terdaftar",
     "REGISTRY": "Registry",
     "REJECTED": "Ditolak",
-    "REPORTHOLDTIMEAGENT": "Waktu tunggu Agen Agen",
     "RETRY": "Mencoba kembali",
     "RING": "Cincin",
     "RINGGROUP": "Grup Cincin",
     "RINGING": "Dering",
-    "RINGINUSE": "Ring In Use",
     "ROWSPERPAGE": "Baris per halaman",
     "RULE": "Aturan",
     "SAVE": "Menyimpan",
     "SEARCH_FOR_ANYONE": "Pencarian",
-    "SECONDSANNOUNCE": "Detik mengumumkan",
     "SELECTED": "Terpilih",
     "SELECTED_AGENTS": "Agen yang Dipilih",
     "SELECTED_TEAMS": "Tim yang Dipilih",
@@ -390,10 +313,7 @@
     "TEAMADD_VOICEQUEUE": "Tambahkan Tim ke Antrian Suara",
     "TECHNOLOGY/RESOURCE": "Teknologi / Sumber Daya",
     "TELEPHONES": "Telepon",
-    "THANKYOUANNOUNCE": "'Terima Kasih' Umumkan",
-    "THEREAREANNOUNCE": "'Ada' Umumkan",
     "TIMEOUT": "Waktu habis",
-    "TIMEOUTRESTART": "Timeout Restart",
     "TIMER": "Timer",
     "TIMEZONE": "Zona waktu",
     "TOTAL": "Total",
@@ -401,7 +321,6 @@
     "TRUNK": "Bagasi",
     "TRUNKS": "Trunks",
     "TRUNK_STATUS": "Status Batang",
-    "TYPE": "Mengetik",
     "UNAVAILABLE": "Tidak tersedia",
     "UNIQUEID": "Identitas unik",
     "UNKNOWN": "Tidak dikenal",
@@ -417,17 +336,14 @@
     "VOICE": "Suara",
     "VOICEMAIL": "Voicemail",
     "VOICEMAILS": "Voicemails",
-    "VOICEMAIL_CONTEXT": "Konteks",
     "VOICEQUEUES": "Antrean Suara",
     "VOICERECORDINGS": "Rekaman Suara",
     "WAITING": "Menunggu",
-    "WAITINGCALLSANNOUNCE": "Menunggu Panggilan Mengumumkan",
     "WAITING_FOR_AGENT": "Menunggu Agen",
     "WAITING_FOR_AGENTS": "Menunggu agen",
     "WEIGHT": "Berat",
     "WRAPUPTIME": "Waktu Pembungkus",
     "YES": "iya nih",
-    "YOUARENEXTANNOUNCE": "'Kamu berikutnya' Umumkan",
     "ADD_VOICEPREFIX": "Tambahkan Awalan",
     "AGENTADD_VOICEPREFIX": "Tambahkan Agen ke Awalan",
     "DELETE_VOICEPREFIX": "Hapus Awalan",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "Masuk",
     "OUTBOUND": "Keluar",
-    "MANDATORYDISPOSITION": "Disposisi wajib",
-    "MANDATORYDISPOSITIONPAUSEID": "Status jeda disposisi wajib",
     "TEAMS_ASSOCIATION": "Asosiasi Tim",
     "CANT_DOWNLOAD_THIS_FILE": "Tidak dapat mengunduh file ini",
     "FILE_NOT_FOUND": "Berkas tidak ditemukan",
diff --git a/public/app/main/apps/voice/i18n/it.json b/public/app/main/apps/voice/i18n/it.json
index 43cbb05..84f1f92 100644
--- a/public/app/main/apps/voice/i18n/it.json
+++ b/public/app/main/apps/voice/i18n/it.json
@@ -14,7 +14,6 @@
     "ALL": "Tutti",
     "IDLE": "Inattivo",
     "EDIT_TRUNK": "Modifica Trunk",
-    "NAME": "Nome",
     "VOICEQUEUES": "Code Voce",
     "SEARCH_FOR_ANYONE": "Cerca",
     "BACK": "Indietro",
@@ -38,39 +37,15 @@
     "WEIGHT": "Peso",
     "JOINWHENEMPTY": "Entra quando vuota",
     "LEAVEWHENEMPTY": "Lascia quando vuota",
-    "MUSICONHOLD": "Musica di attesa",
-    "ANNOUNCETOAGENT": "Annuncio all'Agente",
     "ANNOUNCEMENTS": "Annunci",
     "ADVANCED": "Avanzate",
     "ANNOUNCEFREQUENCY": "Frequenza Annunci",
-    "MINANNOUNCEFREQUENCY": "Frequenza Minima Annunci",
-    "PERIODICANNOUNCEFREQUENCY": "Frequenza Annuncio Periodico",
     "RANDOMPERIODICANNOUNCE": "Annuncio Periodico Random",
-    "ANNOUNCEHOLDTIME": "Annuncia tempo di attesa",
-    "ANNOUNCECALLERPOSITION": "Annuncia posizione del chiamante",
     "ANNOUNCEPOSITIONLIMIT": "Limite Annuncio Posizione",
-    "REPORTHOLDTIMEAGENT": "Riferisci tempo di attesa agente",
-    "PERIODICANNOUNCE": "Annuncio Periodico",
-    "HOLDTIMEANNOUNCE": "Annuncio Tempo di Attesa",
-    "YOUARENEXTANNOUNCE": "Annuncio 'Sei il prossimo'",
-    "THEREAREANNOUNCE": "Annuncio 'Ci sono'",
-    "WAITINGCALLSANNOUNCE": "Annuncio Chiamate in Attesa",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Annuncio Tempo di Attesa stimato",
-    "MINUTESANNOUNCE": "Annuncio 'minuti'",
-    "MINUTEANNOUNCE": "Annuncio 'minuto'",
-    "SECONDSANNOUNCE": "Annuncio 'secondi'",
-    "THANKYOUANNOUNCE": "Annuncio 'Grazie'",
     "AUTOPAUSE": "Pausa Automatica",
-    "AFTERCALLWORK": "After Call Work",
-    "AFTERCALLWORKDURATION": "Durata After Call Work",
-    "RINGINUSE": "Squilla se in uso",
-    "MEMBERDELAY": "Ritardo Agente",
-    "TIMEOUTRESTART": "Riavvia Timeout",
-    "MONITORFORMAT": "Formato Registrazione",
     "SETINTERFACEVARIABLES": "Imposta Variabili d'interfaccia",
     "SETQUEUEVARIABLES": "Imposta Variabili di Coda",
     "SETQUEUEENTRYVARIABLES": "Imposta Variabili di entrata in Coda",
-    "CONTEXT": "Contesto",
     "SAVE": "Salva",
     "SETTINGS": "Impostazioni",
     "INBOUNDROUTES": "Rotte Inbound",
@@ -85,7 +60,6 @@
     "EDIT_OUTBOUNDROUTE": "Modifica Rotta Outbound",
     "DELETE_OUTBOUNDROUTE": "Elimina Rotta Outbound",
     "CUTDIGITS": "Cut Digits",
-    "RECORDING": "Registrazione",
     "RECORDINGFORMAT": "Formato Registrazione",
     "INTERNALROUTES": "Rotte Interne",
     "ADD_INTERNALROUTE": "Aggiungi Rotta Interna",
@@ -178,7 +152,6 @@
     "VOICE": "Voce",
     "REALTIME": "Realtime",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Contesto",
     "NO_MOHSOUND_AVAILABLE": "Nessuna Musica di Attesa disponibile",
     "FILE": "File",
     "ADD_MOHSOUND": "Aggiungi audio Musica di Attesa",
@@ -186,7 +159,6 @@
     "DELETE_MOHSOUND": "Elimina audio Musica di Attesa",
     "UNIQUEID": "Unique ID",
     "AGENT": "Agente",
-    "TYPE": "Tipo",
     "RATING": "Valutazione",
     "AUDIO": "Audio",
     "DATE": "Data",
@@ -344,8 +316,6 @@
     "DELETE_VOICEPREFIX": "Elimina Prefisso",
     "OUTBOUNDROUTE": "Rotta Outbound",
     "CALLERIDALL": "Numero Chiamante",
-    "MANDATORYDISPOSITION": "Disposition obbligatoria",
-    "MANDATORYDISPOSITIONPAUSEID": "Stato di pausa disposizione obbligatoria",
     "SCREENRECORDING": "Registrazione Schermo",
     "START_SCREENRECORDING": "Avvia Registrazione Schermo",
     "STOP_SCREENRECORDING": "Ferma Registrazione Schermo",
@@ -375,37 +345,11 @@
       "CUSTOM_APPLICATION": "(*) - Applicatione Custom"
     },
     "ERRORS": {
-      "PROJECT_REQUIRED": "Campo Obbligatorio",
-      "TRUNK_REQUIRED": "Campo Obbligatorio",
       "VARIABLE_REQUIRED": "Campo Obbligatorio",
-      "NAME_REQUIRED": "Campo Obbligatorio",
-      "TIMEOUT_REQUIRED": "Campo Obbligatorio",
-      "PHONENUMBER_REQUIRED": "Campo Obbligatorio",
-      "CONTEXT_REQUIRED": "Campo Obbligatorio",
-      "DESTINATIONPATTERN_REQUIRED": "Campo Obbligatorio",
-      "FULLNAME_REQUIRED": "Campo Obbligatorio",
-      "EMAIL_REQUIRED": "Campo Obbligatorio",
-      "EMAIL_MUST_VALID": "Campo Obbligatorio",
-      "MAILBOX_REQUIRED": "Campo Obbligatorio",
-      "PASSWORD_REQUIRED": "Campo Obbligatorio",
       "CONFIRM_NOT_MATCH": "Le password inserite non coincidono",
-      "TIMEZONE_REQUIRED": "Campo Obbligatorio",
-      "PREFIX_REQUIRED": "Campo Obbligatorio",
-      "OPTIONS_REQUIRED": "Campo Obbligatorio",
-      "AFTERCALLWORKDURATION_REQUIRED": "Campo Obbligatorio",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Campo Obbligatorio",
-      "PHONE_REQUIRED": "Campo Obbligatorio",
-      "VALUE_REQUIRED": "Campo Obbligatorio",
-      "EXTENSION_REQUIRED": "Campo Obbligatorio",
-      "PRIORITY_REQUIRED": "Campo Obbligatorio",
       "APPLICATION_REQUIRED": "Campo Obbligatorio",
       "APPLICATION_NAME_REQUIRED": "Campo Obbligatorio",
-      "OUTBOUNDROUTE_REQUIRED": "Campo Obbligatorio",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
@@ -416,10 +360,8 @@
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere inferiore o uguale a",
-      "NAME_MUST_VALID_PATTERN": "Formato errato",
       "CALLERIDALL_MUST_VALID_PATTERN": "Formato errato",
-      "CALLER_ID_MUST_VALID_PATTERN": "Formato errato",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio"
+      "CALLER_ID_MUST_VALID_PATTERN": "Formato errato"
     },
     "HELP": {
       "TIMEOUT": "Tempo (in secondi) in cui va fatto squillare il dispositivo dell'agente in coda",
@@ -430,43 +372,14 @@
       "JOINWHENEMPTY": "Indica se un chiamante può essere aggiunto ad una coda anche se questa non ha alcun agente",
       "LEAVEWHENEMPTY": "Definisce se i chiamanti devono essere espulsi da una coda quando non ci sono più agenti disponibili a rispondere",
       "ANNOUNCEFREQUENCY": "Definisce quanto spesso annunciare la posizione del chiamante e/o il tempo stimato di attesa nella coda (se zero viene disabilitato)",
-      "MINANNOUNCEFREQUENCY": "Specifica il tempo minimo tra gli annunci della posizione del chiamante (usato quando la posizione del chiamante può cambiare frequentemente)",
-      "PERIODICANNOUNCEFREQUENCY": "Indica quanto spesso riprodurre gli annunci periodici per il chiamante.",
       "ANNOUNCEPOSITIONLIMIT": "Usato se l'annuncio della posizione del chiamante è stato definito come 'limit' o 'more'",
-      "AFTERCALLWORKDURATION": "La durata della pausa scatenata dall'evento 'After Call Work'",
-      "MEMBERDELAY": "Usato se si vuole che ci sia un ritardo prima che il chiamante e l'agente in coda vengano connessi",
-      "MUSICONHOLD": "Imposta musica di attesa da usare per una particolare coda",
-      "ANNOUNCETOAGENT": "Usato per riprodurre un annuncio all'agente che ha risposto alla chiamata, di solito per informarlo da quale coda arriva il chiamante",
       "RANDOMPERIODICANNOUNCE": "Se impostato, gli annunci periodici verranno riprodotti in ordine casuale",
-      "ANNOUNCEHOLDTIME": "Definisce se annunciare il tempo di attesa stimato insieme agli annunci periodici",
-      "ANNOUNCECALLERPOSITION": "Definisce se annunciare la posizione del chiamante. Se impostato su no la posizione non verrà amai annunciata. Se impostata la posizione verrà sempre annunciata. Se impostato su limit il chiamante ascolterà la sua posizione solo se entro il limite dell' announce position limit. Se è impostato su more il chiamante ascolterà la sua posizione se si trova oltre il limite in announce position limit.",
-      "REPORTHOLDTIMEAGENT": "Abilita l'annuncio del tempo di attesa del chiamante all'agente in coda, prima della connessione al canale",
-      "PERIODICANNOUNCE": "Serie di annunci periodici da riprodurre, nell'ordine in cui sono definiti",
-      "HOLDTIMEANNOUNCE": "Se non definito, riproduce il valore di default (“Hold time..”). Se impostato su un valore vuoto non verrà riprodotto",
-      "YOUARENEXTANNOUNCE": "Se non definito, riproduce il valore di default (“You are now first in line”). Se impostato su un valore vuoto non verrà riprodotto",
-      "THEREAREANNOUNCE": "Se non definito, riproduce il valore di default (“There are..”). Se impostato su un valore vuoto non verrà riprodotto",
-      "WAITINGCALLSANNOUNCE": "Se non definito, riproduce il valore di default (“..calls waiting”). Se impostato su un valore vuoto non verrà riprodotto",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Se non definito, riproduce il valore di default (“The current estimated hold time is..”). Se impostato su un valore vuoto non verrà riprodotto",
-      "MINUTESANNOUNCE": "Se non definito, riproduce il valore di default (“..minutes”). Se impostato su un valore vuoto non verrà riprodotto",
-      "MINUTEANNOUNCE": "Se non definito, riproduce il valore di default (“..minute”). Se impostato su un valore vuoto non verrà riprodotto",
-      "SECONDSANNOUNCE": "Se non definito, riproduce il valore di default (“..seconds”). Se impostato su un valore vuoto non verrà riprodotto",
-      "THANKYOUANNOUNCE": "Se non definito, riproduce il valore di default (“Thank you for your patience”). Se impostato su un valore vuoto non verrà riprodotto",
-      "AFTERCALLWORK": "Se attivo, l'agente verrà messo in Pausa al completamento di una chiamata risposta sulla coda",
       "AUTOPAUSE": "Abilita/Disabilita la pausa automatica dei membri che non effettuano risposta ad una chiamata. Se attivo mette l'agente in pausa su tutte le sue code.",
-      "RINGINUSE": "Usato per evitare di inviare chiamate ai membri il cui stato è 'In Use' (in conversazione)",
-      "TIMEOUTRESTART": "Se impostato a yes, resetta il timeout di un agente per rispondere ad una chiamata, se il canale è in stato BUSY o CONGESTION",
-      "MONITORFORMAT": "Specifica il formato del file di registrazione. Se impostato su 'inactive' le chiamate non verranno registrate",
-      "CONTEXT": "Abilita il chiamante ad uscire dalla coda premendo un tasto: se è stato specificato un contesto e il numero inserito corrisponde, viene attivato il dialplan corrispondente",
       "SETINTERFACEVARIABLES": "Se impostato su si, prima che il chiamante sia collegato all'agente in coda, vengono settate alcune variabili (vedi documentazione specifica su Motion wiki)",
       "SETQUEUEVARIABLES": "Se impostato su si, prima che il chiamante sia collegato all'agente in coda e prima che il chiamante esca dalla coda, vengono settate alcune variabili (vedi documentazione specifica su Motion wiki)",
       "SETQUEUEENTRYVARIABLES": "Se impostato su si, prima che il chiamante sia collegato all'agente in coda vengono settate alcune variabili (vedi documentazione specifica su Motion wiki)",
-      "RECORDING": "Abilita la registrazione della chiamata",
-      "VOICEMAIL_CONTEXT": "Il contesto dell'extension relativa",
-      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
       "CALLERIDALL": "Formato supportato: \"CallerId\" &lt;number&gt;",
       "CALLER_ID": "Formato supportato: \"CallerId\" &lt;number&gt;",
-      "MANDATORYDISPOSITION": "",
-      "MANDATORYDISPOSITIONPAUSEID": "Metti in pausa lo stato da impostare durante la disposizione obbligatoria",
       "SERVICELEVEL": "Seconda impostazione per il livello di servizio (default = 0, no SL). Utilizzato per le statistiche sul livello di servizio (chiamate risposte entro il periodo di tempo del livello di servizio)"
     },
     "DOWNLOADTRANSCRIBE_VOICERECORDING": "Scarica la trascrizione",
diff --git a/public/app/main/apps/voice/i18n/ja.json b/public/app/main/apps/voice/i18n/ja.json
index 1989516..f1ddadb 100644
--- a/public/app/main/apps/voice/i18n/ja.json
+++ b/public/app/main/apps/voice/i18n/ja.json
@@ -5,96 +5,40 @@
     },
     "ERRORS": {
       "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "AFTERCALLWORKDURATION_REQUIRED": "必須フィールド",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "APPLICATION_NAME_REQUIRED": "必須フィールド",
       "APPLICATION_REQUIRED": "必須フィールド",
       "CONFIRM_NOT_MATCH": "パスワードが一致しません",
-      "CONTEXT_REQUIRED": "必須フィールド",
       "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "DESTINATIONPATTERN_REQUIRED": "必須フィールド",
-      "EMAIL_MUST_VALID": "間違ったフォーマット",
-      "EMAIL_REQUIRED": "必須フィールド",
-      "EXTENSION_REQUIRED": "必須フィールド",
-      "FULLNAME_REQUIRED": "必須フィールド",
-      "MAILBOX_REQUIRED": "必須フィールド",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "NAME_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "NAME_REQUIRED": "必須フィールド",
-      "OPTIONS_REQUIRED": "必須フィールド",
-      "PASSWORD_REQUIRED": "必須フィールド",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "PHONENUMBER_REQUIRED": "必須フィールド",
-      "PHONE_REQUIRED": "必須フィールド",
       "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "PREFIX_REQUIRED": "必須フィールド",
-      "PRIORITY_REQUIRED": "必須フィールド",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "必須フィールド",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "TIMEOUT_REQUIRED": "必須フィールド",
-      "TIMEZONE_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
       "CALLERIDALL_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "OUTBOUNDROUTE_REQUIRED": "必須フィールド",
       "VARIABLE_REQUIRED": "必須フィールド",
-      "CALLER_ID_MUST_VALID_PATTERN": "間違ったフォーマット",
-      "TRUNK_REQUIRED": "必須フィールド",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド",
-      "PROJECT_REQUIRED": "必須フィールド"
+      "CALLER_ID_MUST_VALID_PATTERN": "間違ったフォーマット"
     },
     "HELP": {
-      "AFTERCALLWORK": "有効にすると、エージェントは通話終了後に一時停止に設定されます",
-      "AFTERCALLWORKDURATION": "一時停止の長さはアフターコールワークオプションに引き起こされます",
-      "ANNOUNCECALLERPOSITION": "キューで発信者の位置をアナウンスする必要があるかどうかを定義するために使用されます。 No=never; Yes=always; Limit=announce-position-limitで定義された限度内にある場合のみ; More=announce-position-limitによって定義された値を超えている場合のみ",
       "ANNOUNCEFREQUENCY": "キューで発信者の位置および/または推定保留時間を通知する頻度（0 =無効）",
-      "ANNOUNCEHOLDTIME": "定期的なアナウンス（Yes / No / Once）と共に推測の保留時間を再生します",
       "ANNOUNCEPOSITIONLIMIT": "announce-positionを 'limit'または 'more'のいずれかと定義した場合に使用されます。",
-      "ANNOUNCETOAGENT": "コールに応答するアナウンスをエージェントに再生する（例えば、発信者がどのキューから来ているかを知らせる）",
       "AUTOPAUSE": "通話に応答しないエージェントの自動ポーズを有効/無効にします。有効にすると、エージェントは自分が所属するすべてのキューで一時停止されます",
-      "CONTEXT": "単一のDTMF数字を押して発信者がキューを終了できるようにします。コンテキストが指定され、発信者が番号を入力した場合、その数字は指定されたコンテキストで一致するように試みられ、ダイヤルプランの実行はそこで継続されます",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"現在の推定保留時間は\"です。未定義=アナウンスなし",
-      "HOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"ホールド時間\"。未定義=アナウンスなし",
       "JOINWHENEMPTY": "対応可能なメンバーがいない場合に発信者をキューに渡すかどうかを制御するために使用されます",
       "LEAVEWHENEMPTY": "コールを対応可能なメンバーがいないときに発信者をキューから抜き出すかどうかを制御するために使用されます",
       "MAXLENGTH": "キュー内で待機できる発信者の最大数（0 =無制限）",
-      "MEMBERDELAY": "キューで発信者とエージェントを接続される前に遅延を挿入します",
-      "MINANNOUNCEFREQUENCY": "最小アナウンス頻度（発信者のポジションが頻繁に変化する場合に便利）",
-      "MINUTEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"分\"。未定義=アナウンスなし",
-      "MINUTESANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"分\"。未定義=アナウンスなし",
-      "MONITORFORMAT": "録音時に使用するファイル形式を指定します。 monitor-formatが非アクティブの場合、コールは録音されません",
-      "MUSICONHOLD": "特定のキューに使用する音楽クラスを設定します",
-      "NAME": "数字、文字、および特定の文字（._）のみがサポートされています",
-      "PERIODICANNOUNCE": "再生する定期アナウンスのセット（順番に）",
-      "PERIODICANNOUNCEFREQUENCY": "発信者への定期的なアナウンスの頻度",
       "RANDOMPERIODICANNOUNCE": "Yesの場合、定期的なアナウンスをランダムな順序で再生します",
-      "RECORDING": "通話録音を有効にします",
-      "REPORTHOLDTIMEAGENT": "接続前にキューでエージェントに発信者の保留時間を報告できるようにします",
       "RETRY": "タイムアウトが期限切れになるときにキューで次のエージェントを呼び出す前に待機する秒数",
-      "RINGINUSE": "ステータスが「使用中」のメンバーへの通話を避ける/許可します",
-      "SECONDSANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"秒\"。未定義=アナウンスなし",
       "SETINTERFACEVARIABLES": "「はい」に設定されている場合、発信者がキューエージェントに接続される直前に、いくつかの変数が設定されます（詳細はwiki docsを参照してください）",
       "SETQUEUEENTRYVARIABLES": "「はい」に設定されている場合、発信者がキューエージェントに接続される直前に、いくつかの変数が設定されます（詳細はwiki docsを参照してください）",
       "SETQUEUEVARIABLES": "「はい」に設定されている場合、発信者がキューエージェントに接続される直前に、いくつかの変数が設定されます（詳細はwiki docsを参照してください）",
-      "THANKYOUANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"Thank you for your patience\"。未定義=アナウンスなし",
-      "THEREAREANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"There are\"です。未定義=アナウンスなし",
       "TIMEOUT": "デバイスを呼び出すまでの時間（秒）",
-      "TIMEOUTRESTART": "「はい」の場合、これは、BUSYまたはCONGESTIONステータスがチャネルから受信されたときにエージェントが応答するタイムアウトをリセットします",
-      "VOICEMAIL_CONTEXT": "相対的なエクステンションのコンテクスト",
-      "WAITINGCALLSANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"calls waiting\"。未定義=アナウンスなし",
       "WEIGHT": "メンバーが複数のキューに関連付けられている場合の優先度を定義するためのキューの重み",
       "WRAPUPTIME": "エージェントがコールを完了した後にキュー内で対応できないようにする時間（秒）",
-      "YOUARENEXTANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"You are now first in line\"。未定義=アナウンスなし",
       "CALLERIDALL": "サポートされているフォーマット： \"CallerId\"＆lt; number＆gt;",
       "CALLER_ID": "サポートされているフォーマット： \"CallerId\"＆lt; number＆gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "強制処分中に設定する一時停止ステータス",
       "SERVICELEVEL": "サービスレベルの2番目の設定（デフォルト= 0、SLなし）。サービスレベルの統計情報に使用されます（サービスレベルの時間枠内に応答された通話）"
     },
     "ABANDONED": "放棄",
@@ -116,8 +60,6 @@
     "ADD_VOICEMAIL": "ボイスメールを追加",
     "ADD_VOICEQUEUE": "音声キューを追加",
     "ADVANCED": "詳細設定",
-    "AFTERCALLWORK": "後処理",
-    "AFTERCALLWORKDURATION": "後処理持続時間",
     "AGENT": "エージェント",
     "AGENTADD_QUEUE": "音声キューにエージェントを追加",
     "AGENTADD_VOICEQUEUE": "音声キューにエージェントを追加",
@@ -128,12 +70,9 @@
     "ALL_AGENTS": "すべてのエージェント",
     "ALL_TEAMS": "すべてのチーム",
     "ALPHABETICAL": "アルファベット順",
-    "ANNOUNCECALLERPOSITION": "発信者の位置をアナウンス",
     "ANNOUNCEFREQUENCY": "アナウンス頻度",
-    "ANNOUNCEHOLDTIME": "保留時間をアナウンス",
     "ANNOUNCEMENTS": "アナウンス",
     "ANNOUNCEPOSITIONLIMIT": "ポジション制限をアナウンス",
-    "ANNOUNCETOAGENT": "エージェントにアナウンス",
     "ANNOUNCE_OVERRIDES": "アナウンスを変更する",
     "ANSWER": "応答",
     "ANSWERED": "応答",
@@ -168,7 +107,6 @@
     "CLOSING": "完了",
     "CONFIRM_PASSWORD": "パスワードの確認",
     "CONNECTED": "接続済み",
-    "CONTEXT": "コンテキスト",
     "CONTEXTS": "コンテキスト",
     "CREATED_AT": "作成日時",
     "CUSTOM": "カスタム",
@@ -231,7 +169,6 @@
     "EMAILSUBJECT": "メールの件名",
     "ENDEDAT": "終了時間",
     "ENVELOPE": "エンベロープ",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "推定保留時間のアナウス",
     "EXTENSION": "内線番号",
     "EXTERNALDIAL": "外部ダイヤル",
     "FAILED": "失敗",
@@ -256,7 +193,6 @@
     "HANGUPCAUSE_38": "38 = 網故障",
     "HANGUPCAUSE_41": "41 = 一時的失敗",
     "HANGUP_CAUSE": "ハングアップ原因",
-    "HOLDTIMEANNOUNCE": "保留時間アナウンス",
     "ID": "ID",
     "IDLE": "待機",
     "INBOUNDROUTES": "インバウンドルート",
@@ -279,17 +215,10 @@
     "MAXLENGTH": "最大長",
     "MAXMESSAGES": "最大メッセージ数",
     "MAXSECONDS": "最大秒数",
-    "MEMBERDELAY": "メンバー遅延",
     "MESSAGES": "メッセージ",
-    "MINANNOUNCEFREQUENCY": "最小のアナウンス頻度",
-    "MINUTEANNOUNCE": "分のアナウンス",
-    "MINUTESANNOUNCE": "分のアナウンス",
     "MODE": "モード",
     "MOHSOUNDS": "保留音楽",
-    "MONITORFORMAT": "録音フォーマット",
-    "MUSICONHOLD": "保留音",
     "MUSICONHOLDS": "保留音",
-    "NAME": "名前",
     "NEW_CHANSPY": "新規ChanSpy",
     "NEW_CONTEXT": "新規コンテキスト",
     "NEW_INBOUNDROUTE": "新規インバウンドルート",
@@ -323,8 +252,6 @@
     "PAUSE": "一時停止",
     "PAUSED": "一時停止中",
     "PENALTY": "ペナルティー",
-    "PERIODICANNOUNCE": "定期アナウンス",
-    "PERIODICANNOUNCEFREQUENCY": "定期アナウンスの頻度",
     "PHONE": "電話番号",
     "PHONENUMBER": "電話番号",
     "PHONE_STATE": "電話の状態",
@@ -347,7 +274,6 @@
     "REALTIME": "リアルタイム",
     "RECEIVED_AT": "受信日時",
     "RECORD": "記録",
-    "RECORDING": "録音",
     "RECORDINGFORMAT": "録音フォーマット",
     "RECORDINGS": "録音",
     "REDIRECT_TO_AGENT": "エージェントにリダイレクト",
@@ -355,17 +281,14 @@
     "REGISTERED": "登録済み",
     "REGISTRY": "レジストリ",
     "REJECTED": "拒否された",
-    "REPORTHOLDTIMEAGENT": "エージェント保留時間をレポート",
     "RETRY": "リトライ",
     "RING": "リング",
     "RINGGROUP": "リンググループ",
     "RINGING": "リンギング",
-    "RINGINUSE": "使用中をリング",
     "ROWSPERPAGE": "ページあたりの行数",
     "RULE": "ルール",
     "SAVE": "保存",
     "SEARCH_FOR_ANYONE": "検索",
-    "SECONDSANNOUNCE": "秒のアナウンス",
     "SELECTED": "選択された",
     "SELECTED_AGENTS": "選択されたエージェント",
     "SELECTED_TEAMS": "選ばれたチーム",
@@ -390,10 +313,7 @@
     "TEAMADD_VOICEQUEUE": "ボイスキューにチームを追加",
     "TECHNOLOGY/RESOURCE": "技術/リソース",
     "TELEPHONES": "電話番号",
-    "THANKYOUANNOUNCE": "'Thank You'アナウンス",
-    "THEREAREANNOUNCE": "'There are'アナウンス",
     "TIMEOUT": "タイムアウト",
-    "TIMEOUTRESTART": "タイムアウト再開始",
     "TIMER": "タイマー",
     "TIMEZONE": "タイムゾーン",
     "TOTAL": "合計",
@@ -401,7 +321,6 @@
     "TRUNK": "トランク",
     "TRUNKS": "トランク",
     "TRUNK_STATUS": "トランク状態",
-    "TYPE": "タイプ",
     "UNAVAILABLE": "不在",
     "UNIQUEID": "ユニークID",
     "UNKNOWN": "未知",
@@ -417,17 +336,14 @@
     "VOICE": "音声",
     "VOICEMAIL": "留守番電話",
     "VOICEMAILS": "留守番電話",
-    "VOICEMAIL_CONTEXT": "コンテキスト",
     "VOICEQUEUES": "音声キュー",
     "VOICERECORDINGS": "音声録音",
     "WAITING": "ウェイティング",
-    "WAITINGCALLSANNOUNCE": "ウェイティングコールアナウンス",
     "WAITING_FOR_AGENT": "エージェントをウェイティング",
     "WAITING_FOR_AGENTS": "エージェントをウェイティング",
     "WEIGHT": "重要性",
     "WRAPUPTIME": "ラップアップ時間",
     "YES": "はい",
-    "YOUARENEXTANNOUNCE": "'You are next'アナウンス",
     "ADD_VOICEPREFIX": "プレフィックスを追加",
     "AGENTADD_VOICEPREFIX": "プレフィックスにエージェントを追加する",
     "DELETE_VOICEPREFIX": "プレフィックスの削除",
@@ -441,8 +357,6 @@
     "DIALER": "ダイヤラ",
     "INBOUND": "インバウンド",
     "OUTBOUND": "アウトバウンド",
-    "MANDATORYDISPOSITION": "強制処分",
-    "MANDATORYDISPOSITIONPAUSEID": "強制処分の一時停止ステータス",
     "TEAMS_ASSOCIATION": "チーム協会",
     "CANT_DOWNLOAD_THIS_FILE": "このファイルをダウンロードできません",
     "FILE_NOT_FOUND": "ファイルが見つかりません",
diff --git a/public/app/main/apps/voice/i18n/ko.json b/public/app/main/apps/voice/i18n/ko.json
index 3943551..e14a581 100644
--- a/public/app/main/apps/voice/i18n/ko.json
+++ b/public/app/main/apps/voice/i18n/ko.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "음성 상담그룹으로 이동",
     "GOTOREALTIME_VOICEQUEUE": "실시간 음성 상담그룹으로 이동",
-    "NAME": "이름",
     "LOGOUT": "로그아웃",
     "VOICEQUEUES": "음성 상담그룹",
     "SEARCH_FOR_ANYONE": "모두 검색",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "사용자 정의 앱"
     },
     "ERRORS": {
-      "NAME_REQUIRED": "이름은 필수입니다.",
       "APPLICATION_NAME_REQUIRED": "앱 이름은 필수입니다.",
-      "TIMEOUT_REQUIRED": "시간초과는 필수입니다.",
-      "PHONENUMBER_REQUIRED": "전화번호는 필수입니다.",
-      "CONTEXT_REQUIRED": "연락처는 필수입니다.",
-      "DESTINATIONPATTERN_REQUIRED": "수신자 패턴은 필수입니다.",
-      "FULLNAME_REQUIRED": "성명은 필수입니다.",
-      "EMAIL_REQUIRED": "이메일은 필수입니다.",
-      "EMAIL_MUST_VALID": "이메일은 유효해야 합니다.",
-      "MAILBOX_REQUIRED": "메일박스는 필수입니다.",
-      "PASSWORD_REQUIRED": "비밀번호는 필수입니다.",
       "CONFIRM_NOT_MATCH": "일치하지 않습니다.",
-      "TIMEZONE_REQUIRED": "시간대는 필수입니다.",
-      "PREFIX_REQUIRED": "국가번호는 필수입니다.",
-      "OPTIONS_REQUIRED": "옵션은 필수입니다.",
-      "AFTERCALLWORKDURATION_REQUIRED": "통화 후 작업기간은 필수입니다.",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "기술/공급원이 필수입니다.",
-      "PHONE_REQUIRED": "전화는 필수입니다.",
-      "VALUE_REQUIRED": "값은 필수입니다.",
-      "EXTENSION_REQUIRED": "내선전화는 필수입니다.",
-      "PRIORITY_REQUIRED": "우선순위는 필수입니다.",
-      "NAME_MUST_VALID_PATTERN": "이름은 유효한 패턴이어야 합니다.",
       "APPLICATION_REQUIRED": "앱은 필수입니다.",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 커야합니다.",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "최대 길이가 다음과 같거나 커야합니다.",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "재시도 수는 다음과 같거나 커야합니다.",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "마무리 시간은 다음과 같거나 커야합니다.",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "무게는 다음과 같거나 커야합니다.",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "공지 빈도수는 다음과 같거나 커야합니다.",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "최소 공지 빈도수는 다음과 같거나 커야합니다.",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "주기적 공지 빈도수는 다음과 같거나 커야합니다.",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "최대 메시지가 다음과 같거나 커야합니다.",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "최대 메시지가 다음과 같거나 작아야합니다.",
       "CALLERIDALL_MUST_VALID_PATTERN": "잘못된 형식",
-      "OUTBOUNDROUTE_REQUIRED": "필수 필드",
       "VARIABLE_REQUIRED": "필수 필드",
-      "CALLER_ID_MUST_VALID_PATTERN": "잘못된 형식",
-      "TRUNK_REQUIRED": "필수 필드",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드",
-      "PROJECT_REQUIRED": "필수 필드"
+      "CALLER_ID_MUST_VALID_PATTERN": "잘못된 형식"
     },
     "GENERAL": "일반",
     "TIMEOUT": "시간 초과",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "비어있는 경우 참가",
       "LEAVEWHENEMPTY": "비어있는 경우 나가기",
       "ANNOUNCEFREQUENCY": "공지 빈도수",
-      "MINANNOUNCEFREQUENCY": "최소 공지 빈도수",
-      "PERIODICANNOUNCEFREQUENCY": "주기적 공지 빈도수",
       "ANNOUNCEPOSITIONLIMIT": "직위 제한 공지",
-      "AFTERCALLWORKDURATION": "통화 후 작업기간",
-      "MEMBERDELAY": "멤버 지연",
-      "MUSICONHOLD": "대기 중 음악",
-      "ANNOUNCETOAGENT": "상담원에게 공지",
       "RANDOMPERIODICANNOUNCE": "랜덤 주기적 공지",
-      "ANNOUNCEHOLDTIME": "공지 대기시간",
-      "ANNOUNCECALLERPOSITION": "발신자 직위 공지",
-      "REPORTHOLDTIMEAGENT": "대기시간 상담원 레포트",
-      "PERIODICANNOUNCE": "주기적 공지",
-      "HOLDTIMEANNOUNCE": "대기시간 공지",
-      "YOUARENEXTANNOUNCE": "다음차례 공지",
-      "THEREAREANNOUNCE": "공지",
-      "WAITINGCALLSANNOUNCE": "대기중 전화 공지",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "예상 대기시간 공지",
-      "MINUTESANNOUNCE": "분 공지",
-      "MINUTEANNOUNCE": "분 공지",
-      "SECONDSANNOUNCE": "초 공지",
-      "THANKYOUANNOUNCE": "감사 공지",
-      "AFTERCALLWORK": "통화 후 작업",
       "AUTOPAUSE": "자동 일시정지",
-      "RINGINUSE": "사용중 전화",
-      "TIMEOUTRESTART": "시간초과 재시작",
-      "MONITORFORMAT": "모니터 형식",
-      "CONTEXT": "내용",
       "SETINTERFACEVARIABLES": "대화 변수 설정",
       "SETQUEUEVARIABLES": "상담그룹 변수 설정",
       "SETQUEUEENTRYVARIABLES": "상담그룹 시도 변수 설정",
-      "RECORDING": "녹취",
-      "VOICEMAIL_CONTEXT": "보이스메일 내용",
-      "NAME": "이름",
       "CALLERIDALL": "지원되는 형식 : \"CallerId\"& lt; number & gt;",
       "CALLER_ID": "지원되는 형식 : \"CallerId\"& lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "강제 처분 중에 설정할 일시 중지 상태",
       "SERVICELEVEL": "서비스 수준에 대한 두 번째 설정 (기본값 = 0, SL 없음). 서비스 수준 통계에 사용 (서비스 수준 시간 범위 내에 응답 된 통화)"
     },
-    "MUSICONHOLD": "대기 중 음악",
-    "ANNOUNCETOAGENT": "상담원 공지",
     "ANNOUNCEMENTS": "공지",
     "ADVANCED": "고급",
     "ANNOUNCEFREQUENCY": "공지 빈도수",
-    "MINANNOUNCEFREQUENCY": "최소 공지 빈도수",
-    "PERIODICANNOUNCEFREQUENCY": "주기적 공지 빈도수",
     "RANDOMPERIODICANNOUNCE": "랜덤 주기적 공지",
-    "ANNOUNCEHOLDTIME": "대시시간 공지",
-    "ANNOUNCECALLERPOSITION": "발신자 직위 공지",
     "ANNOUNCEPOSITIONLIMIT": "직위 제한 공지",
-    "REPORTHOLDTIMEAGENT": "대기시간 상담원 레포트",
-    "PERIODICANNOUNCE": "주기적 공지",
-    "HOLDTIMEANNOUNCE": "대기시간 공지",
-    "YOUARENEXTANNOUNCE": "다음 차례 공지",
-    "THEREAREANNOUNCE": "공지",
-    "WAITINGCALLSANNOUNCE": "대기중 전화 공지",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "예상 대기시간 공지",
-    "MINUTESANNOUNCE": "분 공지",
-    "MINUTEANNOUNCE": "분 공지",
-    "SECONDSANNOUNCE": "초 공지",
-    "THANKYOUANNOUNCE": "감사 공지",
     "AUTOPAUSE": "자동 일시중지",
-    "AFTERCALLWORK": "통화 후 작업",
-    "AFTERCALLWORKDURATION": "통화 후 작업기간",
-    "RINGINUSE": "자용중 전화",
-    "MEMBERDELAY": "멤버 지연",
-    "TIMEOUTRESTART": "시간 초과 재시작",
-    "MONITORFORMAT": "모니터 형식",
     "SETINTERFACEVARIABLES": "대화 변수 설정",
     "SETQUEUEVARIABLES": "상담그룹 변수 설정",
     "SETQUEUEENTRYVARIABLES": "상담그룹 시도 변수 설정",
     "VARIABLE": "변수",
-    "CONTEXT": "내용",
     "SAVE": "저장",
     "SETTINGS": "설정",
     "INBOUNDROUTES": "수신 경로",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "발신 경로 수정",
     "DELETE_OUTBOUNDROUTE": "발신 경로 삭제",
     "CUTDIGITS": "번호 자르기",
-    "RECORDING": "녹취",
     "RECORDINGFORMAT": "녹취 포맷",
     "INTERNALROUTES": "내부 경로",
     "ADD_INTERNALROUTE": "내부 경로 추가",
@@ -268,7 +186,6 @@
     "VOICE": "음성",
     "REALTIME": "실시간",
     "ID": "ID",
-    "VOICEMAIL_CONTEXT": "보이스메일 내용",
     "NO_MOHSOUND_AVAILABLE": "사용가능한 moh소리 없음",
     "FILE": "파일",
     "ADD_MOHSOUND": "moh소리 추가",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "moh소리 삭제",
     "UNIQUEID": "고유 ID",
     "AGENT": "상담원",
-    "TYPE": "타입",
     "RATING": "평가",
     "AUDIO": "오디오",
     "DATE": "날짜",
@@ -441,8 +357,6 @@
     "DIALER": "다이얼러",
     "INBOUND": "인바운드",
     "OUTBOUND": "배 밖으로",
-    "MANDATORYDISPOSITION": "의무 처분",
-    "MANDATORYDISPOSITIONPAUSEID": "필수 처분 일시 정지 상태",
     "TEAMS_ASSOCIATION": "팀 협회",
     "CANT_DOWNLOAD_THIS_FILE": "이 파일을 다운로드 할 수 없습니다",
     "FILE_NOT_FOUND": "파일을 찾을 수 없습니다",
diff --git a/public/app/main/apps/voice/i18n/lt.json b/public/app/main/apps/voice/i18n/lt.json
index 3b7b70b..10b46b2 100644
--- a/public/app/main/apps/voice/i18n/lt.json
+++ b/public/app/main/apps/voice/i18n/lt.json
@@ -17,7 +17,6 @@
     "EDIT_TRUNK": "Redaguoti ryšio kanalą",
     "GOTO_VOICEQUEUE": "Eiti į balso eiles realiu laiku",
     "GOTOREALTIME_VOICEQUEUE": "Eiti į balso eiles realiu laiku",
-    "NAME": "Vardas",
     "LOGOUT": "Atsijungti",
     "VOICEQUEUES": "Balso eilė",
     "SEARCH_FOR_ANYONE": "Paieška",
@@ -40,37 +39,11 @@
       "CUSTOM_APPLICATION": "(*) - Pritaikyta programa"
     },
     "ERRORS": {
-      "PROJECT_REQUIRED": "Privalomas laukas",
-      "TRUNK_REQUIRED": "Privalomas laukas",
       "VARIABLE_REQUIRED": "Privalomas laukas",
-      "NAME_REQUIRED": "Privalomas laukas",
       "APPLICATION_NAME_REQUIRED": "Privalomas laukas",
-      "TIMEOUT_REQUIRED": "Privalomas laukas",
-      "PHONENUMBER_REQUIRED": "Privalomas laukas",
-      "CONTEXT_REQUIRED": "Privalomas laukas",
-      "DESTINATIONPATTERN_REQUIRED": "Privalomas laukas",
-      "FULLNAME_REQUIRED": "Privalomas laukas",
-      "EMAIL_REQUIRED": "Privalomas laukas",
-      "EMAIL_MUST_VALID": "Blogas formatas",
-      "MAILBOX_REQUIRED": "Privalomas laukas",
-      "PASSWORD_REQUIRED": "Privalomas laukas",
       "CONFIRM_NOT_MATCH": "Slaptažodžiai nesutampa",
-      "TIMEZONE_REQUIRED": "Privalomas laukas",
-      "PREFIX_REQUIRED": "Privalomas laukas",
-      "OPTIONS_REQUIRED": "Privalomas laukas",
-      "AFTERCALLWORKDURATION_REQUIRED": "Privalomas laukas",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Privalomas laukas",
-      "PHONE_REQUIRED": "Privalomas laukas",
-      "VALUE_REQUIRED": "Privalomas laukas",
-      "EXTENSION_REQUIRED": "Privalomas laukas",
-      "PRIORITY_REQUIRED": "Privalomas laukas",
       "APPLICATION_REQUIRED": "Privalomas laukas",
-      "OUTBOUNDROUTE_REQUIRED": "Privalomas laukas",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
@@ -81,9 +54,7 @@
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
-      "NAME_MUST_VALID_PATTERN": "Blogas formatas",
       "CALLERIDALL_MUST_VALID_PATTERN": "Blogas formatas",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas",
       "CALLER_ID_MUST_VALID_PATTERN": "Blogas formatas"
     },
     "GENERAL": "Bendras",
@@ -103,78 +74,26 @@
       "JOINWHENEMPTY": "Naudojamas norint valdyti, ar skambinantysis yra perkeliamas į eilę, kai nėra pasiekiamų narių",
       "LEAVEWHENEMPTY": "Naudojamas norint valdyti, ar skambinantiesiems leidžiama išeiti iš eilės, kai nėra pasiekiamų narių, galinčių priimti skambučius",
       "ANNOUNCEFREQUENCY": "Kaip dažnai pranešti skambinančiojo poziciją ir/arba numatomą laukimo eilėje laiką (nulis - išjungti)",
-      "MINANNOUNCEFREQUENCY": "Minimalus pranešimo pasikartojimas (naudingas, kai skambinančiojo padėtis dažnai keičiasi)",
-      "PERIODICANNOUNCEFREQUENCY": "Periodinių pranešimų pasikartojimas skambinančiajam",
       "ANNOUNCEPOSITIONLIMIT": "Naudojama, jei pranešama pozicija yra apibrėžta kaip 'limitas' arba 'daugiau'",
-      "AFTERCALLWORKDURATION": "Pauzės ilgis, kuris suveikia Darbas po skambučio parinktyje",
-      "MEMBERDELAY": "Įterpia atidėjimą, kol skambinantysis ir agentas, esantis eilėje, bus sujungti",
-      "MUSICONHOLD": "Nustato muzikos rūšį, naudojamą tam tikrai eilei",
-      "ANNOUNCETOAGENT": "Paleisti pranešimą agentui, kuris atsiliepia į skambutį (paprastai tam, kad praneštų, iš kokios eilės skambinantysis yra)",
       "RANDOMPERIODICANNOUNCE": "Jei taip, nustatyti periodiniai pranešimai bus paleidžiami atsitiktine tvarka",
-      "ANNOUNCEHOLDTIME": "Groja apskaičiuotą užlaikymo laiką kartu su periodiniais pranešimais (Taip/Ne/Kartą)",
-      "ANNOUNCECALLERPOSITION": "Naudojamas apibrėžti, ar reikia pranešti apie skambinančiojo vietą eilėje: Ne = niekada; Taip = visada; Limitas = tik tuo atveju, jei jis neviršija limito, apibrėžto pagal pranešimų-pozicijos-limitą; Daugiau = tik tuo atveju, jei viršijama reikšmė, apibrėžta pagal pranešimų-pozicijos-limitą",
-      "REPORTHOLDTIMEAGENT": "Leidžia pranešti agentui apie skambinančiojo sulaikymo laiką eilėje prieš sujungimą",
-      "PERIODICANNOUNCE": "Rinkinys periodinių pranešimų, kurie bus paleidžiami (eilės tvarka)",
-      "HOLDTIMEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Sulaikymo laikas'. Neapibrėžtas = jokio pranešimo",
-      "YOUARENEXTANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Dabar esate pirmas eilėje'. Neapibrėžtas = jokio pranešimo",
-      "THEREAREANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Yra'. Neapibrėžtas = jokio pranešimo",
-      "WAITINGCALLSANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Laukiantys skambučiai'. Neapibrėžtas = jokio pranešimo",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Dabartinis numatomas sulaikymo laikas yra'. Neapibrėžtas = jokio pranešimo",
-      "MINUTESANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Minutės'. Neapibrėžtas = jokio pranešimo",
-      "MINUTEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Minutė'. Neapibrėžtas = jokio pranešimo",
-      "SECONDSANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Sekundės'. Neapibrėžtas = jokio pranešimo",
-      "THANKYOUANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Ačiū už kantrybę'. Neapibrėžtas = jokio pranešimo",
-      "AFTERCALLWORK": "Jei įjungta, užbaigus skambutį agentui bus nustatyta Pauzė",
       "AUTOPAUSE": "Įjungia/išjungia automatinę pauzę agentams, kurie neatsako į skambutį. Jei įjungta, agentas pristabdomas visose eilėse, kurioms jis priklauso.",
-      "RINGINUSE": "Neleisti/leisti siųsti skambučius nariams, kurių būsena yra Naudojamas",
-      "TIMEOUTRESTART": "Jei taip, tai iš naujo nustato agento atsakymo laiką, kai iš kanalo gaunama būsena UŽIMTAS arba PERKROVA",
-      "MONITORFORMAT": "Nurodo failo formatą, kurį reikia naudoti įrašant. Jei monitoriaus formatas neaktyvus, skambučiai nebus įrašomi",
-      "CONTEXT": "Leidžia skambinančiajam išeiti iš eilės paspaudus vieną DTMF skaitmenį. Jei nurodomas kontekstas ir skambintojas įveda numerį, tą skaičių bus bandoma suderinti su nurodytu kontekste, ir ten bus tęsiamas telefono numerio rinkimo atlikimas",
       "SETINTERFACEVARIABLES": "Jei nustatyta taip, prieš pat skambinančiojo prijungimą prie eilės agento bus nustatyti kai kurie kintamieji (daugiau informacijos žr. wiki dokumentuose)",
       "SETQUEUEVARIABLES": "Jei nustatyta taip, prieš pat skambinančiojo prijungimą prie eilės agento ir paliekant eilę, bus nustatyti kai kurie kintamieji (daugiau informacijos žr.  wiki dokumentuose)",
       "SETQUEUEENTRYVARIABLES": "Jei nustatyta taip, prieš pat skambinančiojo prisijungimą prie eilės agento bus nustatyti kai kurie kintamieji (daugiau informacijos žr. wiki dokumentuose)",
-      "RECORDING": "Įjungti skambučių įrašymą",
-      "VOICEMAIL_CONTEXT": "Atitinkamo konteksto suteikimas",
-      "NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
       "CALLERIDALL": "Palaikomas formatas: \"Skambintojo ID\" <numeris>",
       "CALLER_ID": "Palaikomas formatas: \"Skambintojo ID\" <numeris>",
-      "MANDATORYDISPOSITIONPAUSEID": "Nustatyti pauzės būseną privalomo išdėstymo metu",
       "SERVICELEVEL": "Antrieji paslaugos lygio nustatymai (numatytasis = 0, be SL). Naudojamas paslaugų lygio statistikai (į skambučius atsakoma per paslaugų lygio laikotarpį)"
     },
-    "MUSICONHOLD": "Muzika sulaikyta",
-    "ANNOUNCETOAGENT": "Pranešti agentui",
     "ANNOUNCEMENTS": "Pranešimai",
     "ADVANCED": "Pažengęs",
     "ANNOUNCEFREQUENCY": "Pranešimo pasikartojimas",
-    "MINANNOUNCEFREQUENCY": "Minimalus pranešimo pasikartojimas",
-    "PERIODICANNOUNCEFREQUENCY": "Periodinis pranešimo pasikartojimas",
     "RANDOMPERIODICANNOUNCE": "Atsitiktinis periodinis pranešimas",
-    "ANNOUNCEHOLDTIME": "Pranešimo sulaikymo laikas",
-    "ANNOUNCECALLERPOSITION": "Skambinančiojo pozicijos pranešimas",
     "ANNOUNCEPOSITIONLIMIT": "Pozicijos limito pranešimas",
-    "REPORTHOLDTIMEAGENT": "Agento sulaikymo laiko ataskaita",
-    "PERIODICANNOUNCE": "Periodiškas pranešimas",
-    "HOLDTIMEANNOUNCE": "Sulaikymo laiko pranešimas",
-    "YOUARENEXTANNOUNCE": "'Jūs esate sekantis' pranešimas",
-    "THEREAREANNOUNCE": "'Yra' pranešimas",
-    "WAITINGCALLSANNOUNCE": "Laukiantys skambučiai pranešimas",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Numatomo sulaikymo laiko pranešimas",
-    "MINUTESANNOUNCE": "Minučių pranešimas",
-    "MINUTEANNOUNCE": "Minutės pranešimas",
-    "SECONDSANNOUNCE": "Sekundžių pranešimas",
-    "THANKYOUANNOUNCE": "'Ačiū' pranešimas",
     "AUTOPAUSE": "Automatinė pauzė",
-    "AFTERCALLWORK": "Darbas užbaigus skambutį",
-    "AFTERCALLWORKDURATION": "Darbo trukmė užbaigus skambutį",
-    "RINGINUSE": "Skambutis būsenai Naudojamas",
-    "MEMBERDELAY": "Nario sulaikymas",
-    "TIMEOUTRESTART": "Pasibaigusio laiko perkrovimas",
-    "MONITORFORMAT": "Įrašymo formatas",
     "SETINTERFACEVARIABLES": "Nustatyti sąsajos kintamuosius",
     "SETQUEUEVARIABLES": "Nustatyti eilės kintamuosius",
     "SETQUEUEENTRYVARIABLES": "Nustatyti eilės įvedimo kintamuosius",
     "VARIABLE": "Kintamasis",
-    "CONTEXT": "Kontekstas",
     "SAVE": "Išsaugoti",
     "SETTINGS": "Nustatymai",
     "INBOUNDROUTES": "Įeinantys maršrutai",
@@ -189,7 +108,6 @@
     "EDIT_OUTBOUNDROUTE": "Redaguoti išeinantį maršrutą",
     "DELETE_OUTBOUNDROUTE": "Ištrinti išeinantį maršrutą",
     "CUTDIGITS": "Iškirpti skaitmenis",
-    "RECORDING": "Įrašymas",
     "RECORDINGFORMAT": "Įrašymo formatas",
     "INTERNALROUTES": "Vidiniai maršrutai",
     "ADD_INTERNALROUTE": "Pridėti vidinį maršrutą",
@@ -283,7 +201,6 @@
     "VOICE": "Balsas",
     "REALTIME": "Realus laikas",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Kontekstas",
     "NO_MOHSOUND_AVAILABLE": "Nėra sulaikymo muzikos",
     "FILE": "Failas",
     "ADD_MOHSOUND": "Pridėti sulaikymo muzikos garsą",
@@ -291,7 +208,6 @@
     "DELETE_MOHSOUND": "Ištrinti sulaikymo muzikos garsą",
     "UNIQUEID": "Unikalus ID",
     "AGENT": "Agentas",
-    "TYPE": "Tipas",
     "RATING": "Įvertinimas",
     "AUDIO": "Garsas",
     "DATE": "Data",
@@ -441,8 +357,6 @@
     "DELETE_VOICEPREFIX": "Ištrinti prefiksą",
     "OUTBOUNDROUTE": "Išeinantis maršrutas",
     "CALLERIDALL": "Skambintojo ID",
-    "MANDATORYDISPOSITION": "Privalomas išdėstymas",
-    "MANDATORYDISPOSITIONPAUSEID": "Privalomas pauzės būsenos išdėstymas",
     "SCREENRECORDING": "Tvarkyti ekrano įrašymą",
     "START_SCREENRECORDING": "Pradėti ekrano įrašymą",
     "STOP_SCREENRECORDING": "Sustabdyti ekrano įrašymą",
diff --git a/public/app/main/apps/voice/i18n/lv.json b/public/app/main/apps/voice/i18n/lv.json
index 5a86ae8..3e29979 100644
--- a/public/app/main/apps/voice/i18n/lv.json
+++ b/public/app/main/apps/voice/i18n/lv.json
@@ -4,34 +4,10 @@
       "CUSTOM_APPLICATION": "(*) – Pielāgota aplikācija"
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Obligāts lauks",
       "APPLICATION_NAME_REQUIRED": "Obligāts lauks",
-      "TIMEOUT_REQUIRED": "Obligāts lauks",
-      "PHONENUMBER_REQUIRED": "Obligāts lauks",
-      "CONTEXT_REQUIRED": "Obligāts lauks",
-      "DESTINATIONPATTERN_REQUIRED": "Obligāts lauks",
-      "FULLNAME_REQUIRED": "Obligāts lauks",
-      "EMAIL_REQUIRED": "Obligāts lauks",
-      "EMAIL_MUST_VALID": "Nepareizs formāts",
-      "MAILBOX_REQUIRED": "Obligāts lauks",
-      "PASSWORD_REQUIRED": "Obligāts lauks",
       "CONFIRM_NOT_MATCH": "Paroles nesakrīt",
-      "TIMEZONE_REQUIRED": "Obligāts lauks",
-      "PREFIX_REQUIRED": "Obligāts lauks",
-      "OPTIONS_REQUIRED": "Obligāts lauks",
-      "AFTERCALLWORKDURATION_REQUIRED": "Obligāts lauks",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Obligāts lauks",
-      "PHONE_REQUIRED": "Obligāts lauks",
-      "VALUE_REQUIRED": "Obligāts lauks",
-      "EXTENSION_REQUIRED": "Obligāts lauks",
-      "PRIORITY_REQUIRED": "Obligāts lauks",
-      "NAME_MUST_VALID_PATTERN": "Nepareizs formāts",
       "APPLICATION_REQUIRED": "Obligāts lauks",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
@@ -43,12 +19,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
       "CALLERIDALL_MUST_VALID_PATTERN": "Nepareizs formāts",
-      "OUTBOUNDROUTE_REQUIRED": "Obligāts lauks",
       "VARIABLE_REQUIRED": "Obligāts lauks",
-      "CALLER_ID_MUST_VALID_PATTERN": "Nepareizs formāts",
-      "TRUNK_REQUIRED": "Obligāts lauks",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks",
-      "PROJECT_REQUIRED": "Obligāts lauks"
+      "CALLER_ID_MUST_VALID_PATTERN": "Nepareizs formāts"
     },
     "HELP": {
       "TIMEOUT": "Cik sekunžu paiet, zvanot ierīcei",
@@ -59,42 +31,14 @@
       "JOINWHENEMPTY": "Tiek izmantots, lai kontrolētu, vai zvanītājs tiek pārsūtīts uz rindu, kad nav pieejams neviens dalībnieks",
       "LEAVEWHENEMPTY": "Izmanto, lai kontrolētu, vai zvanītājiem liek atstāt rindu, kad neviens no dalībniekiem nav pieejams zvaniem",
       "ANNOUNCEFREQUENCY": "Cik bieži paziņot zvanītāja pozīciju un/vai paredzamo gaidīšanas laiku rindā (nulle, lai atspējotu)",
-      "MINANNOUNCEFREQUENCY": "Minimālais paziņošanas biežums (noder, ja zvanītāja atrašanās vieta bieži mainās)",
-      "PERIODICANNOUNCEFREQUENCY": "Periodisku paziņojumu biežums zvanītājam",
       "ANNOUNCEPOSITIONLIMIT": "Izmantot, ja paziņojums par atrašanās vietu ir definēts kā \"Ierobežojums\" vai \"Vairāk\"",
-      "AFTERCALLWORKDURATION": "Pauzes ilgumu aktivizē pēc zvanu veikšanas opcijas",
-      "MEMBERDELAY": "Ievieto aizkavi pirms zvanītāja un rindā esošā aģenta pievienošanas",
-      "MUSICONHOLD": "Iestata mūzikas klasi, kas ir jāizmanto noteiktai rindai",
-      "ANNOUNCETOAGENT": "Atskaņot paziņojumu aģentam, kas atbild uz zvanu (parasti, lai ļautu viņam uzzināt, no kuras rindas ir zvanītājs)",
       "RANDOMPERIODICANNOUNCE": "Ja jā, noteiktos periodiskos paziņojumus atskaņos izlases veidā",
-      "ANNOUNCEHOLDTIME": "Atskaņo aplēsto gaidīšanas laiku kopā ar periodiskiem paziņojumiem (Jā/Nē/Vienreiz)",
-      "ANNOUNCECALLERPOSITION": "Izmanto, lai noteiktu, vai zvanītāja pozīcija rindā ir jāpaziņo: Nē = nekad; Jā = vienmēr; Ierobežots = tikai tad, ja tas ir robežvērtībā, kas ir noteikta paziņojuma pozīcijas ierobežojumā; Vairāk = tikai tad, ja tas pārsniedz vērtību, ko nosaka paziņojuma pozīcijas ierobežojums",
-      "REPORTHOLDTIMEAGENT": "Ļauj paziņot zvanītāja gaidīšanas laiku aģentam rindā pirms savienojuma",
-      "PERIODICANNOUNCE": "Periodisku paziņojumu kopums, kas tiks atskaņots (pasūtījumā)",
-      "HOLDTIMEANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"gaidīšanas laiks\". Nav definēts = nav paziņojuma",
-      "YOUARENEXTANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Jūs esat pirmais rindā\". Nav definēts = nav paziņojuma",
-      "THEREAREANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Ir\". Nav definēts = nav paziņojuma",
-      "WAITINGCALLSANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Zvanu gaidīšana\". Nav definēts = nav paziņojuma",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Pašreizējais aprēķinātais aizturēšanas laiks\". Nav definēts = nav paziņojuma",
-      "MINUTESANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Minūtes\". Nav definēts = nav paziņojuma",
-      "MINUTEANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Minūte\". Nav definēts = nav paziņojuma",
-      "SECONDSANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Sekundes\". Nav definēts = nav paziņojuma",
-      "THANKYOUANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Paldies par pacietību\". Nav definēts = nav paziņojuma",
-      "AFTERCALLWORK": "Ja tas ir iespējots, aģents tiks pārtraukts pēc zvana pabeigšanas",
       "AUTOPAUSE": "Iespējo/atspējo pārtraukumu automātiskajiem aģentiem, kas nespēj atbildēt uz zvanu. Ja tas ir iespējots, aģents tiek apturēts visās rindās, kurām viņš pieder",
-      "RINGINUSE": "Lai nepieļautu/atļautu zvanus tiem dalībniekiem, kuru statuss ir \"Lietošanā\"",
-      "TIMEOUTRESTART": "Ja \"Jā\", tas atiestata laika ierobežojumu, lai aģents atbildētu, ja no kanāla tiek saņemts statuss \"AIZŅEMTS\" vai \"PĀRSLODZE\"",
-      "MONITORFORMAT": "Norāda datnes formātu, kas ir jāizmanto ierakstīšanas laikā. Ja monitora formāts ir neaktīvs, zvani netiks ierakstīti",
-      "CONTEXT": "Ļauj zvanītājam iziet no rindas, nospiežot vienu divtoņu daudzfrekvenču signalizācijas ciparu. Ja konteksts ir norādīts un zvanītājs ievada numuru, šis cipars mēģinās tikt saskaņots norādītajā kontekstā un zvana izpilde turpināsies tur",
       "SETINTERFACEVARIABLES": "Ja ir iestatīts uz \"Jā\", tieši pirms zvanītāja savienošanas ar rindas aģentu tiks iestatīti daži mainīgie (plašāku informāciju skatiet \"Vikipēdijas\" dokumentos)",
       "SETQUEUEVARIABLES": "Ja ir iestatīts uz \"Jā\", tieši pirms zvanītāja pieslēgšanas rindas aģentam un rindas atstāšanas tiks iestatīti daži mainīgie (lai iegūtu plašāku informāciju, skatiet \"Vikipēdijas\" dokumentus)",
       "SETQUEUEENTRYVARIABLES": "Ja ir iestatīts uz \"Jā\", tieši pirms zvanītāja savienošanas ar rindas aģentu tiks iestatīti daži mainīgie (plašāku informāciju skatiet \"Vikipēdijas\" dokumentos)",
-      "RECORDING": "Iespējot zvanu ierakstīšanu",
-      "VOICEMAIL_CONTEXT": "Relatīvā paplašinājuma konteksts",
-      "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)",
       "CALLERIDALL": "Atbalstītais formāts: \"CallerId\" &lt;numurs>",
       "CALLER_ID": "Atbalstītais formāts: \"CallerId\" &lt;numurs>",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauzēt statusu, lai iestatītu obligātās izvietošanas laikā",
       "SERVICELEVEL": "Pakalpojuma līmeņa otrie iestatījumi (noklusējums = 0, bez SL). Izmanto pakalpojuma līmeņa statistikai (zvani tiek atbildēti pakalpojuma līmeņa laika posmā)"
     },
     "WAITING_FOR_AGENTS": "Gaida aģentus",
@@ -108,7 +52,6 @@
     "EDIT_TRUNK": "Rediģēt maģistrāli",
     "GOTO_VOICEQUEUE": "Doties uz balss rindu monitoringu",
     "GOTOREALTIME_VOICEQUEUE": "Doties uz balss rindu monitoringu",
-    "NAME": "Nosaukums",
     "LOGOUT": "Atteikšanās",
     "VOICEQUEUES": "Balss rindas",
     "SEARCH_FOR_ANYONE": "Meklēt",
@@ -135,40 +78,16 @@
     "WEIGHT": "Svars",
     "JOINWHENEMPTY": "Pievienoties, kad tukšs",
     "LEAVEWHENEMPTY": "Atstāt, kad tukšs",
-    "MUSICONHOLD": "Gaidīšanas mūzika",
-    "ANNOUNCETOAGENT": "Paziņot aģentam",
     "ANNOUNCEMENTS": "Paziņojumi",
     "ADVANCED": "Paplašināts",
     "ANNOUNCEFREQUENCY": "Paziņot biežumu",
-    "MINANNOUNCEFREQUENCY": "Minimālais paziņošanas biežums",
-    "PERIODICANNOUNCEFREQUENCY": "Periodiska paziņojuma biežums",
     "RANDOMPERIODICANNOUNCE": "Nejaušs periodisks paziņojums",
-    "ANNOUNCEHOLDTIME": "Paziņot gaidīšanas ilgumu",
-    "ANNOUNCECALLERPOSITION": "Paziņot zvanītāja atrašanās vietu",
     "ANNOUNCEPOSITIONLIMIT": "Paziņot par pozīcijas ierobežojumu",
-    "REPORTHOLDTIMEAGENT": "Ziņojuma aģenta gaidīšanas laiks",
-    "PERIODICANNOUNCE": "Periodiska paziņošana",
-    "HOLDTIMEANNOUNCE": "Gaidīšanas paziņojums",
-    "YOUARENEXTANNOUNCE": "Paziņojums \"Jūs esat nākamais\"",
-    "THEREAREANNOUNCE": "\"Ir\" paziņojums",
-    "WAITINGCALLSANNOUNCE": "Tiek gaidīti zvani",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Paziņot paredzamo gaidīšanas laiku",
-    "MINUTESANNOUNCE": "Minūšu paziņošana",
-    "MINUTEANNOUNCE": "Minūtes paziņošana",
-    "SECONDSANNOUNCE": "Sekunžu paziņošana",
-    "THANKYOUANNOUNCE": "\"Paldies\" paziņojums",
     "AUTOPAUSE": "Automātiskā pauze",
-    "AFTERCALLWORK": "Pēc zvana veikšanas",
-    "AFTERCALLWORKDURATION": "Pēc zvana veikšanas ilguma",
-    "RINGINUSE": "Izmantotais zvans",
-    "MEMBERDELAY": "Dalībnieku kavēšanās",
-    "TIMEOUTRESTART": "Atsākt noildzi",
-    "MONITORFORMAT": "Ieraksta formāts",
     "SETINTERFACEVARIABLES": "Iestatīt saskarnes mainīgos",
     "SETQUEUEVARIABLES": "Iestatīt rindas mainīgos",
     "SETQUEUEENTRYVARIABLES": "Iestatīt rindas ievades mainīgos",
     "VARIABLE": "Mainīgais",
-    "CONTEXT": "Konteksts",
     "SAVE": "Saglabāt",
     "SETTINGS": "Iestatījumi",
     "INBOUNDROUTES": "Ienākošie maršruti",
@@ -183,7 +102,6 @@
     "EDIT_OUTBOUNDROUTE": "Rediģēt izejošo maršrutu",
     "DELETE_OUTBOUNDROUTE": "Dzēst izejošo maršrutu",
     "CUTDIGITS": "Izgrieztie cipari",
-    "RECORDING": "Ieraksts",
     "RECORDINGFORMAT": "Ieraksta formāts",
     "INTERNALROUTES": "Iekšējie maršruti",
     "ADD_INTERNALROUTE": "Pievienot iekšējo maršrutu",
@@ -277,7 +195,6 @@
     "VOICE": "Balss",
     "REALTIME": "Monitorings",
     "ID": "ID",
-    "VOICEMAIL_CONTEXT": "Konteksts",
     "NO_MOHSOUND_AVAILABLE": "Nav pieejama gaidīšanas mūzika",
     "FILE": "Datne",
     "ADD_MOHSOUND": "Pievienot gaidīšanas mūziku",
@@ -285,7 +202,6 @@
     "DELETE_MOHSOUND": "Dzēst gaidīšanas mūziku",
     "UNIQUEID": "Unikāls ID",
     "AGENT": "Aģents",
-    "TYPE": "Tips",
     "RATING": "Novērtējums",
     "AUDIO": "Audio",
     "DATE": "Datums",
@@ -441,8 +357,6 @@
     "DIALER": "Zvanītājs",
     "INBOUND": "Ienākošais",
     "OUTBOUND": "Izejošais",
-    "MANDATORYDISPOSITION": "Obligāta rīcība",
-    "MANDATORYDISPOSITIONPAUSEID": "Obligāts izvietošanas pauzes statuss",
     "TEAMS_ASSOCIATION": "Komandu asociācija",
     "CANT_DOWNLOAD_THIS_FILE": "Nevar lejupielādēt šo failu",
     "FILE_NOT_FOUND": "Fails nav atrasts",
diff --git a/public/app/main/apps/voice/i18n/nl.json b/public/app/main/apps/voice/i18n/nl.json
index fc8d95d..fb4a804 100644
--- a/public/app/main/apps/voice/i18n/nl.json
+++ b/public/app/main/apps/voice/i18n/nl.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Ga naar Realtime spraak wachtrijen",
     "GOTOREALTIME_VOICEQUEUE": "Ga naar Realtime spraak wachtrijen",
-    "NAME": "Naam",
     "LOGOUT": "Afmelden",
     "VOICEQUEUES": "Voice wachtrijen",
     "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - Aangepaste toepassing."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "De naam is verplicht",
       "APPLICATION_NAME_REQUIRED": "De toepassingsnaam is vereist",
-      "TIMEOUT_REQUIRED": "De timeout is vereist",
-      "PHONENUMBER_REQUIRED": "Het telefoonnummer is vereist",
-      "CONTEXT_REQUIRED": "De Context is vereist",
-      "DESTINATIONPATTERN_REQUIRED": "De bestemming patroon is vereist",
-      "FULLNAME_REQUIRED": "De volledige naam is vereist",
-      "EMAIL_REQUIRED": "Het e-mailadres is vereist",
-      "EMAIL_MUST_VALID": "De e-mail moet worden geschreven in een geldige indeling",
-      "MAILBOX_REQUIRED": "De postbus is vereist",
-      "PASSWORD_REQUIRED": "Het wachtwoord is vereist",
       "CONFIRM_NOT_MATCH": "De wachtwoorden komen niet overeen",
-      "TIMEZONE_REQUIRED": "De tijdzone is vereist",
-      "PREFIX_REQUIRED": "Het voorvoegsel is vereist",
-      "OPTIONS_REQUIRED": "De opties zijn vereist",
-      "AFTERCALLWORKDURATION_REQUIRED": "De modus Nawerk duur is vereist",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "De technologie/resource is vereist",
-      "PHONE_REQUIRED": "Het telefoonnummer is verplicht",
-      "VALUE_REQUIRED": "De waarde is vereist",
-      "EXTENSION_REQUIRED": "De uitbreiding vereist",
-      "PRIORITY_REQUIRED": "De prioriteit is vereist.",
-      "NAME_MUST_VALID_PATTERN": "De naam moet worden geschreven in een geldige indeling",
       "APPLICATION_REQUIRED": "De toepassing vereist",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De time-out moet groter zijn dan of gelijk aan",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De Max lengte moet groter zijn dan of gelijk aan",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De strategie \"retry\" moet groter zijn dan of gelijk aan",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De afrondingstijd moet groter zijn dan of gelijk aan",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Het gewicht moet groter zijn dan of gelijk aan",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De Announce frequentie moet groter zijn dan of gelijk aan",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De Min kondigen frequentie moet groter zijn dan of gelijk aan",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De periodieke aankondiging frequentie moet groter zijn dan of gelijk aan",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De Max berichten moet groter zijn dan of gelijk aan",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De Max berichten moet kleiner dan of gelijk aan",
       "CALLERIDALL_MUST_VALID_PATTERN": "Verkeerd formaat",
-      "OUTBOUNDROUTE_REQUIRED": "Verplicht veld",
       "VARIABLE_REQUIRED": "Verplicht veld",
-      "CALLER_ID_MUST_VALID_PATTERN": "Verkeerd formaat",
-      "TRUNK_REQUIRED": "Verplicht veld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld",
-      "PROJECT_REQUIRED": "Verplicht veld"
+      "CALLER_ID_MUST_VALID_PATTERN": "Verkeerd formaat"
     },
     "GENERAL": "Algemeen",
     "TIMEOUT": "Timeout",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Bepaalt of een beller wordt toegevoegd aan de wachtrij wanneer geen leden beschikbaar zijn.",
       "LEAVEWHENEMPTY": "Gebruikt om te bepalen of de bellers te schoppen uit de wachtrij wanneer leden zijn niet langer beschikbaar bent om gesprekken aan te nemen.",
       "ANNOUNCEFREQUENCY": "Bepaalt hoe vaak moeten wij de oproeper aankondigen en/of geschatte wachttijd in de wachtrij. Stel deze waarde in op nul wilt uitschakelen.",
-      "MINANNOUNCEFREQUENCY": "Specificeert de minimale hoeveelheid tijd die moet verstrijken voordat we kondigen de beller in de wachtrij weer. Dit wordt gebruikt als de beller positie kunnen regelmatig veranderen, om te voorkomen dat de beller horen meerdere updates in een korte periode van tijd.",
-      "PERIODICANNOUNCEFREQUENCY": "Geeft aan hoe vaak er regelmatig aankondigingen voor de beller.",
       "ANNOUNCEPOSITIONLIMIT": "Als u hebt opgegeven kondigen-positie als een grenswaarde of meer.",
-      "AFTERCALLWORKDURATION": "De duur van de pauze getriggerd door de modus Nawerk optie",
-      "MEMBERDELAY": "Als u wilt dat er een vertraging voordat de beller en wachtrij lid worden met elkaar verbonden.",
-      "MUSICONHOLD": "Stelt de muziekles te gebruiken door een bepaalde wachtrij.",
-      "ANNOUNCETOAGENT": "Voor een aankondiging speelt naar de agent die het gesprek heeft beantwoord, meestal aan hem laten weten wat wachtrij wordt de beller uit.",
       "RANDOMPERIODICANNOUNCE": "Als deze optie is ingesteld op ja, speelt de gedefinieerde regelmatig aankondigingen in een willekeurige volgorde afspelen.",
-      "ANNOUNCEHOLDTIME": "Definieert of de geschatte wachttijd moet worden gespeeld, samen met de periodieke aankondigingen.",
-      "ANNOUNCECALLERPOSITION": "Definieert of de beller in de wachtrij moeten worden aangekondigd. Als dit op Nee is ingesteld, zal de situatie nooit worden aangekondigd. Als deze optie is ingesteld op ja, wordt de beller is altijd aangekondigd. Als de waarde wordt ingesteld op maximum, dan hoort de beller haar positie in de wachtrij alleen als deze zich binnen de limiet die is bepaald door kondigen-positie-limiet. Als de waarde wordt ingesteld op meer, dan hoort de beller haar positie als deze hoger is dan het aantal opgegeven door kondigen-positie-limiet.",
-      "REPORTHOLDTIMEAGENT": "Maakt melding van de beller in de wacht tijd in de wachtrij de vóór te overbruggen.",
-      "PERIODICANNOUNCE": "Een set van periodieke aankondigingen kan worden gespeeld, speelde in de volgorde waarin ze zijn opgegeven.",
-      "HOLDTIMEANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"Hold time\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "YOUARENEXTANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"U bent nu eerste in lijn\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "THEREAREANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"Er zijn\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "WAITINGCALLSANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"gesprekken in wachtstand\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"De huidige geschatte wachttijd is\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "MINUTESANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"min\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "MINUTEANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"min\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "SECONDSANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"S\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "THANKYOUANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"bedankt voor je geduld\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
-      "AFTERCALLWORK": "Indien actief, de agent moet worden ingesteld op pauze na een voltooide oproepen in wachtrij",
       "AUTOPAUSE": "Hiermee schakelt u de automatische onderbreken van leden die verzuimen om een oproep te beantwoorden. Indien actief, veroorzaakt dit lid te worden onderbroken in alle wachtrijen hij lid is.",
-      "RINGINUSE": "Gebruikt om te voorkomen dat gesprekken doorsturen naar leden wier status in gebruik is.",
-      "TIMEOUTRESTART": "Als deze optie is ingesteld op ja, wordt de time-out voor een agent om antwoord als een drukke of overbezetting van het kanaal.",
-      "MONITORFORMAT": "Specificeert het bestandsformaat te gebruiken tijdens de opname. Als monitor-formaat is inactief, gesprekken worden niet geregistreerd.",
-      "CONTEXT": "Kan een beller naar de wachtrij met een enkele druk op DTMF-cijfer. Als een context wordt opgegeven en de beller een aantal, dat cijfer zal proberen aan te passen in het kader van de vastgestelde dialplan uitvoering zal doorgaan.",
       "SETINTERFACEVARIABLES": "Als deze optie is ingesteld op ja, net voordat de beller worden overbrugd met een wachtrij lid sommige variabelen worden ingesteld (zie wiki)",
       "SETQUEUEVARIABLES": "Als deze optie is ingesteld op ja, net voordat de beller worden overbrugd met een wachtrij lid en net voordat de beller uit de wachtrij sommige variabelen worden ingesteld (zie wiki)",
       "SETQUEUEENTRYVARIABLES": "Als deze optie is ingesteld op ja, net voordat de beller worden overbrugd met een wachtrij lid sommige variabelen worden ingesteld (zie wiki)",
-      "RECORDING": "Om de call recording",
-      "VOICEMAIL_CONTEXT": "Het licht van de relatieve verlenging.",
-      "NAME": "Alleen cijfers, letters en speciale tekens (_) worden ondersteund",
       "CALLERIDALL": "Ondersteunde indeling: 'CallerId' & lt; number & gt;",
       "CALLER_ID": "Ondersteunde indeling: 'CallerId' & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauzestatus in te stellen tijdens verplichte dispositie",
       "SERVICELEVEL": "Tweede instellingen voor serviceniveau (standaard = 0, geen SL). Gebruikt voor serviceniveaustatistieken (oproepen beantwoord binnen het serviceniveau)"
     },
-    "MUSICONHOLD": "Wachtmuziek",
-    "ANNOUNCETOAGENT": "Kondig Agent",
     "ANNOUNCEMENTS": "Aankondigingen",
     "ADVANCED": "Geavanceerd",
     "ANNOUNCEFREQUENCY": "Frequentie aankondigen",
-    "MINANNOUNCEFREQUENCY": "Minimale frequentie aankondigen",
-    "PERIODICANNOUNCEFREQUENCY": "Periodieke aankondiging frequentie",
     "RANDOMPERIODICANNOUNCE": "Random periodieke aankondiging",
-    "ANNOUNCEHOLDTIME": "Kondig Nadruktijd",
-    "ANNOUNCECALLERPOSITION": "Beller aankondigen positie",
     "ANNOUNCEPOSITIONLIMIT": "Kondig ondergrenswaarde",
-    "REPORTHOLDTIMEAGENT": "Rapport Agent Nadruktijd",
-    "PERIODICANNOUNCE": "Periodieke aankondiging",
-    "HOLDTIMEANNOUNCE": "Nadruktijd aankondigen",
-    "YOUARENEXTANNOUNCE": "\"U bent volgende' aankondigen",
-    "THEREAREANNOUNCE": "'Er zijn' aankondigen",
-    "WAITINGCALLSANNOUNCE": "Wachtende oproepen aankondigen",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Geschatte wachttijd aankondigen",
-    "MINUTESANNOUNCE": "Notulen aankondigen",
-    "MINUTEANNOUNCE": "Verbaal aankondigen",
-    "SECONDSANNOUNCE": "Seconden aankondigen",
-    "THANKYOUANNOUNCE": "\"Dank u\" aankondigen",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "Werk na gesprek",
-    "AFTERCALLWORKDURATION": "Nawerk duur",
-    "RINGINUSE": "Ring in gebruik",
-    "MEMBERDELAY": "De vertraging",
-    "TIMEOUTRESTART": "Timeout herstart",
-    "MONITORFORMAT": "Opnameformaat",
     "SETINTERFACEVARIABLES": "Stel Interface variabelen",
     "SETQUEUEVARIABLES": "Setwachtrij variabelen",
     "SETQUEUEENTRYVARIABLES": "Setwachtrij Entry variabelen",
     "VARIABLE": "Variabele",
-    "CONTEXT": "Kader",
     "SAVE": "Opslaan",
     "SETTINGS": "Instellingen",
     "INBOUNDROUTES": "Binnenkomende routes",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Edit uitgaande route",
     "DELETE_OUTBOUNDROUTE": "Verwijder uitgaande route",
     "CUTDIGITS": "Snijd cijfers",
-    "RECORDING": "Opname",
     "RECORDINGFORMAT": "Opnameformaat",
     "INTERNALROUTES": "Interne verbindingen",
     "ADD_INTERNALROUTE": "Voeg interne Route",
@@ -268,7 +186,6 @@
     "VOICE": "Spraak",
     "REALTIME": "Realtime",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Kader",
     "NO_MOHSOUND_AVAILABLE": "Geen Wachtmuziek beschikbaar",
     "FILE": "Bestand",
     "ADD_MOHSOUND": "Voeg Wachtmuziek geluid",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Verwijderen Wachtmuziek geluid",
     "UNIQUEID": "Unieke ID",
     "AGENT": "Agent",
-    "TYPE": "Type",
     "RATING": "Waardering",
     "AUDIO": "Audio",
     "DATE": "Datum",
@@ -441,8 +357,6 @@
     "DIALER": "dialer",
     "INBOUND": "inbound",
     "OUTBOUND": "Uitgaande",
-    "MANDATORYDISPOSITION": "Verplichte regeling",
-    "MANDATORYDISPOSITIONPAUSEID": "Verplichte status pauzestatus",
     "TEAMS_ASSOCIATION": "Teams Association",
     "CANT_DOWNLOAD_THIS_FILE": "Kan dit bestand niet downloaden",
     "FILE_NOT_FOUND": "Bestand niet gevonden",
diff --git a/public/app/main/apps/voice/i18n/no.json b/public/app/main/apps/voice/i18n/no.json
index cecc5ab..b3ef76c 100644
--- a/public/app/main/apps/voice/i18n/no.json
+++ b/public/app/main/apps/voice/i18n/no.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Gå til Realtime Voice køer",
     "GOTOREALTIME_VOICEQUEUE": "Gå til Realtime Voice køer",
-    "NAME": "Navn",
     "LOGOUT": "Logg av",
     "VOICEQUEUES": "Voice køer",
     "SEARCH_FOR_ANYONE": "Søk etter alle",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - tilpasset program."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Navnet er nødvendig",
       "APPLICATION_NAME_REQUIRED": "Navnet på programmet er nødvendig",
-      "TIMEOUT_REQUIRED": "Tidsavbruddet er nødvendig",
-      "PHONENUMBER_REQUIRED": "Telefonnummer er obligatorisk",
-      "CONTEXT_REQUIRED": "Konteksten er nødvendig",
-      "DESTINATIONPATTERN_REQUIRED": "Målet mønster er nødvendig",
-      "FULLNAME_REQUIRED": "Det fulle navnet er nødvendig",
-      "EMAIL_REQUIRED": "Det er nødvendig med e-post",
-      "EMAIL_MUST_VALID": "E må være skrevet i et gyldig format",
-      "MAILBOX_REQUIRED": "Postboksen er nødvendig",
-      "PASSWORD_REQUIRED": "Passordet er nødvendig",
       "CONFIRM_NOT_MATCH": "Passordene samsvarer ikke",
-      "TIMEZONE_REQUIRED": "Tidssonen er nødvendig",
-      "PREFIX_REQUIRED": "Prefikset er nødvendig",
-      "OPTIONS_REQUIRED": "Alternativene er nødvendig",
-      "AFTERCALLWORKDURATION_REQUIRED": "Det Etterarbeid varighet er nødvendig",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Teknologien/Ressurs er nødvendig",
-      "PHONE_REQUIRED": "Telefonen er nødvendig",
-      "VALUE_REQUIRED": "Verdien er obligatorisk",
-      "EXTENSION_REQUIRED": "Utvidelsen er nødvendig",
-      "PRIORITY_REQUIRED": "Prioriteten er nødvendig",
-      "NAME_MUST_VALID_PATTERN": "Navnet må være skrevet i et gyldig format",
       "APPLICATION_REQUIRED": "Programmet er nødvendig",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den stille må være større enn eller lik",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max lengde må være større enn eller lik",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prøv på må være større enn eller lik",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Det Wrapup tid må være større enn eller lik",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vekten må være større enn eller lik",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De annonserer frekvens må være større enn eller lik",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Min annonsere frekvens må være større enn eller lik",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den periodiske annonsere frekvens må være større enn eller lik",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max meldinger må være større enn eller lik",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Max meldinger må være mindre enn eller lik",
       "CALLERIDALL_MUST_VALID_PATTERN": "Feil format",
-      "OUTBOUNDROUTE_REQUIRED": "Obligatoriske felt",
       "VARIABLE_REQUIRED": "Obligatoriske felt",
-      "CALLER_ID_MUST_VALID_PATTERN": "Feil format",
-      "TRUNK_REQUIRED": "Obligatoriske felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt",
-      "PROJECT_REQUIRED": "Obligatoriske felt"
+      "CALLER_ID_MUST_VALID_PATTERN": "Feil format"
     },
     "GENERAL": "Generelt",
     "TIMEOUT": "Tidsavbrudd",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Styrer om en innringer er lagt til i køen når ingen medlemmer er tilgjengelig.",
       "LEAVEWHENEMPTY": "Brukes til å kontrollere om innringerne er sparket ut av køen når medlemmer er ikke lenger tilgjengelig for å ta samtaler.",
       "ANNOUNCEFREQUENCY": "Definerer hvor ofte vi skal annonsere på innringeren stilling og/eller beregnet ventetid i kø. Denne verdien settes til null for å deaktivere.",
-      "MINANNOUNCEFREQUENCY": "Angir den minste mengden tid som må gå før vi annonserer på innringeren posisjon i køen igjen. Dette brukes når innringeren stilling kan endres ofte, for å hindre at innringeren hører flere oppdateringer i en kort periode.",
-      "PERIODICANNOUNCEFREQUENCY": "Angir hvor ofte vi skal lage periodiske kunngjøringer til innringeren.",
       "ANNOUNCEPOSITIONLIMIT": "Brukes hvis du har definert annonsere-posisjon som enten begrense eller mer.",
-      "AFTERCALLWORKDURATION": "Varigheten av Pause utløses av Etterarbeid alternativ",
-      "MEMBERDELAY": "Brukes hvis du ønsker det skal være en forsinkelse før til innringer og kø-medlem som er knyttet til hverandre.",
-      "MUSICONHOLD": "Setter musikk klassen som skal brukes av en bestemt kø.",
-      "ANNOUNCETOAGENT": "Brukes til å spille av en meddelelse til agent som besvarte anropet, vanligvis for å la ham vite hva køen innringer kommer fra.",
       "RANDOMPERIODICANNOUNCE": "Hvis satt til ja, vil spille den definert periodisk kunngjøringer i tilfeldig rekkefølge.",
-      "ANNOUNCEHOLDTIME": "Definerer om den beregnede tiden skal spilles sammen med jevne mellomrom annonseringer.",
-      "ANNOUNCECALLERPOSITION": "Definerer om innringeren posisjon i køen skal være annonsert til henne. Hvis satt til Ingen, stillingen vil aldri bli kunngjort. Hvis satt til ja, for innringeren stilling vil alltid bli kunngjort. Hvis verdien er satt til grense, innringer vil høre hennes posisjon i køen bare hvis det er innenfor grensen som er definert av annonsere-stilling-grense. Hvis verdien er satt til mer, innringer vil høre hennes stilling hvis det utover det som er definert av annonsere-stilling-grense.",
-      "REPORTHOLDTIMEAGENT": "Muliggjør rapportering av innringeren hold tid til køen medlem før bridging.",
-      "PERIODICANNOUNCE": "Et sett med jevne mellomrom annonseringer skal spilles, spilte i den rekkefølgen de er definert.",
-      "HOLDTIMEANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Hold tid\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "YOUARENEXTANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Du er nå først i linje\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "THEREAREANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"det er\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "WAITINGCALLSANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"anrop venter\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Den gjeldende beregnet hold tid er\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "MINUTESANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"minutter\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "MINUTEANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"minutt\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "SECONDSANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"sekunder\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "THANKYOUANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Takk for tålmodigheten\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
-      "AFTERCALLWORK": "Hvis aktiv, agenten vil bli satt på pause etter en avsluttet samtalen på køen",
       "AUTOPAUSE": "Aktiverer/deaktiverer automatisk pause av medlemmer som unnlater å svare på et anrop. Hvis aktiv fører dette medlem til å være avslått i alle køer han er medlem av.",
-      "RINGINUSE": "Brukes for å unngå å sende samtaler til medlemmer som er i bruk.",
-      "TIMEOUTRESTART": "Hvis satt til ja, tilbakestiller stille for en agent til å svare hvis enten en opptatt eller flaskehalser status er mottatt fra kanalen.",
-      "MONITORFORMAT": "Angir filformatet til bruk når opptaket. Hvis monitoren-format er inaktiv, samtaler vil ikke bli registrert.",
-      "CONTEXT": "Gjør en innringer til å gå ut av køen ved å trykke en enkelt DTMF siffer. Hvis en kontekst er spesifisert og anroper legger inn et nummer, at tallet vil forsøke å være avkrysset i kontekst angitt, og dialplan utførelsen vil fortsette der.",
       "SETINTERFACEVARIABLES": "Hvis satt til ja, like før til innringeren blir forbundet med en kø medlem noen variabler blir satt(se wiki)",
       "SETQUEUEVARIABLES": "Hvis satt til ja, like før til innringeren blir forbundet med en kø-medlem og like før til innringeren forlate køen noen variabler blir satt(se wiki)",
       "SETQUEUEENTRYVARIABLES": "Hvis satt til ja, like før til innringeren blir forbundet med en kø medlem noen variabler blir satt(se wiki)",
-      "RECORDING": "Aktiverer anropet opptak",
-      "VOICEMAIL_CONTEXT": "Sammenhengen i relativ forlengelse.",
-      "NAME": "Bare tall, bokstaver og bestemte tegn (._) støttes",
       "CALLERIDALL": "Støttet format: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Støttet format: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausestatus som skal angis under obligatorisk disposisjon",
       "SERVICELEVEL": "Andre innstillinger for servicenivå (standard = 0, ingen SL). Brukes for statistikk på servicenivå (samtaler besvart innen tidsramme for servicenivå)"
     },
-    "MUSICONHOLD": "Musikk på vent",
-    "ANNOUNCETOAGENT": "Annonsere til agent",
     "ANNOUNCEMENTS": "Kunngjøringer",
     "ADVANCED": "Avansert",
     "ANNOUNCEFREQUENCY": "Annonsere frekvens",
-    "MINANNOUNCEFREQUENCY": "Minste annonsere frekvens",
-    "PERIODICANNOUNCEFREQUENCY": "Periodisk annonsere frekvens",
     "RANDOMPERIODICANNOUNCE": "Tilfeldig periodisk annonsere",
-    "ANNOUNCEHOLDTIME": "Annonsere Hold tid",
-    "ANNOUNCECALLERPOSITION": "Annonsere innringer stilling",
     "ANNOUNCEPOSITIONLIMIT": "Annonsere stilling grense",
-    "REPORTHOLDTIMEAGENT": "Rapporten Agent Hold tid",
-    "PERIODICANNOUNCE": "Periodisk annonsere",
-    "HOLDTIMEANNOUNCE": "Hold tid annonsere",
-    "YOUARENEXTANNOUNCE": "\"Du er neste' annonsere",
-    "THEREAREANNOUNCE": "\"Det er' annonsere",
-    "WAITINGCALLSANNOUNCE": "Ventende anrop annonsere",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimert Hold tid annonsere",
-    "MINUTESANNOUNCE": "Minutter annonsere",
-    "MINUTEANNOUNCE": "Minutt annonsere",
-    "SECONDSANNOUNCE": "Sekunder annonsere",
-    "THANKYOUANNOUNCE": "'Takk' annonsere",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "Etterarbeid",
-    "AFTERCALLWORKDURATION": "Etterarbeid varighet",
-    "RINGINUSE": "Ring i bruk",
-    "MEMBERDELAY": "Medlem forsinkelse",
-    "TIMEOUTRESTART": "Tidsavbrudd på nytt",
-    "MONITORFORMAT": "Opptaksformat",
     "SETINTERFACEVARIABLES": "Sett grensesnitt variabler",
     "SETQUEUEVARIABLES": "Sett kø variabler",
     "SETQUEUEENTRYVARIABLES": "Sett kø oppføring variabler",
     "VARIABLE": "Variabel",
-    "CONTEXT": "Kontekst",
     "SAVE": "Lagre",
     "SETTINGS": "Innstillinger",
     "INBOUNDROUTES": "Inngående ruter",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Rediger utgående rute",
     "DELETE_OUTBOUNDROUTE": "Slette utgående rute",
     "CUTDIGITS": "Kutt sifre",
-    "RECORDING": "Opptak",
     "RECORDINGFORMAT": "Opptaksformat",
     "INTERNALROUTES": "Interne ruter",
     "ADD_INTERNALROUTE": "Legg til interne rute",
@@ -268,7 +186,6 @@
     "VOICE": "Stemme",
     "REALTIME": "Sanntid",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Kontekst",
     "NO_MOHSOUND_AVAILABLE": "Ingen musikk på vent tilgjengelig",
     "FILE": "Fil",
     "ADD_MOHSOUND": "Legg til musikk på vent lyd",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Slett musikk på vent lyd",
     "UNIQUEID": "Unik ID",
     "AGENT": "Agent",
-    "TYPE": "Type",
     "RATING": "Klassifisering",
     "AUDIO": "Lyd",
     "DATE": "Dato",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "innkommende",
     "OUTBOUND": "utgå~~POS=TRUNC",
-    "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-    "MANDATORYDISPOSITIONPAUSEID": "Obligatorisk disposisjon pausestatus",
     "TEAMS_ASSOCIATION": "Lagforening",
     "CANT_DOWNLOAD_THIS_FILE": "Kan ikke laste ned denne filen",
     "FILE_NOT_FOUND": "Fil ikke funnet",
diff --git a/public/app/main/apps/voice/i18n/pl.json b/public/app/main/apps/voice/i18n/pl.json
index e399ff4..3115b47 100644
--- a/public/app/main/apps/voice/i18n/pl.json
+++ b/public/app/main/apps/voice/i18n/pl.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Przejdź do trybu Realtime Voice kolejek",
     "GOTOREALTIME_VOICEQUEUE": "Przejdź do trybu Realtime Voice kolejek",
-    "NAME": "Nazwa",
     "LOGOUT": "Wyloguj",
     "VOICEQUEUES": "Głos kolejek",
     "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - Aplikacja niestandardowa"
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Pole obowiązkowe",
       "APPLICATION_NAME_REQUIRED": "Pole obowiązkowe",
-      "TIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "PHONENUMBER_REQUIRED": "Pole obowiązkowe",
-      "CONTEXT_REQUIRED": "Pole obowiązkowe",
-      "DESTINATIONPATTERN_REQUIRED": "Pole obowiązkowe",
-      "FULLNAME_REQUIRED": "Pole obowiązkowe",
-      "EMAIL_REQUIRED": "Pole obowiązkowe",
-      "EMAIL_MUST_VALID": "Zły format",
-      "MAILBOX_REQUIRED": "Pole obowiązkowe",
-      "PASSWORD_REQUIRED": "Pole obowiązkowe",
       "CONFIRM_NOT_MATCH": "Hasła nie zgadzają się",
-      "TIMEZONE_REQUIRED": "Pole obowiązkowe",
-      "PREFIX_REQUIRED": "Pole obowiązkowe",
-      "OPTIONS_REQUIRED": "Pole obowiązkowe",
-      "AFTERCALLWORKDURATION_REQUIRED": "Pole obowiązkowe",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Pole obowiązkowe",
-      "PHONE_REQUIRED": "Pole obowiązkowe",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
-      "EXTENSION_REQUIRED": "Pole obowiązkowe",
-      "PRIORITY_REQUIRED": "Pole obowiązkowe",
-      "NAME_MUST_VALID_PATTERN": "Zły format",
       "APPLICATION_REQUIRED": "Pole obowiązkowe",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
       "CALLERIDALL_MUST_VALID_PATTERN": "Zły format",
-      "OUTBOUNDROUTE_REQUIRED": "Pole obowiązkowe",
       "VARIABLE_REQUIRED": "Pole obowiązkowe",
-      "CALLER_ID_MUST_VALID_PATTERN": "Zły format",
-      "TRUNK_REQUIRED": "Pole obowiązkowe",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe",
-      "PROJECT_REQUIRED": "Pole obowiązkowe"
+      "CALLER_ID_MUST_VALID_PATTERN": "Zły format"
     },
     "GENERAL": "Ogólne",
     "TIMEOUT": "Limit czasu",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Służy do sterowania, czy rozmówca jest przesyłane do kolejki, gdy nie są dostępne",
       "LEAVEWHENEMPTY": "Służy do sterowania czy osoby dzwoniące są wykonane opuszczać kolejkę, gdy nie są dostępne do połączeń",
       "ANNOUNCEFREQUENCY": "Jak często w celu poinformowania rozmówcy pozycji i/lub przybliżony czas oczekiwania w kolejce (zero do wyłączania)",
-      "MINANNOUNCEFREQUENCY": "Minimalna częstotliwość ogłoszenie (przydatne, gdy rozmówcy pozycja zmienia się często)",
-      "PERIODICANNOUNCEFREQUENCY": "Częstotliwość okresowych komunikaty rozmówcy",
       "ANNOUNCEPOSITIONLIMIT": "Jeśli ogłoszenie jest definiowane jako \"granica\" lub \"rudy\".",
-      "AFTERCALLWORKDURATION": "Długość pauzy wyzwalany po wywołaniu opcji pracy",
-      "MEMBERDELAY": "Wstawia zwłoki przed rozmówcy i agent w kolejce get connected",
-      "MUSICONHOLD": "Dobiera muzykę do klasy dla danej kolejki",
-      "ANNOUNCETOAGENT": "Play to zapowiedź do agenta, odpowiadając na wezwanie (zazwyczaj do niech wiedzą co kolejka rozmówców pochodzi z)",
       "RANDOMPERIODICANNOUNCE": "Jeżeli tak, to określić okresowe komunikaty będą odtwarzane losowo",
-      "ANNOUNCEHOLDTIME": "Ateistyczną szacowany czas podtrzymania wraz z okresowym zapowiedzi (Tak/Nie/Po)",
-      "ANNOUNCECALLERPOSITION": "Służy do określenia, czy rozmówcy pozycję w kolejce powinno być ogłoszone: Nr=Nie; tak=zawsze; limit=tylko wtedy, gdy konieczne jest w ramach limitu określonego przez ogłosić-stanowisko-limit; więcej= tylko wtedy, gdy jest powyżej wartości określonej przez ogłosić-stanowisko-limit",
-      "REPORTHOLDTIMEAGENT": "Umożliwia zgłoszenie rozmówcy hold time agent w kolejce przed nawiązaniem połączenia",
-      "PERIODICANNOUNCE": "Zestaw okresowe komunikaty odtwarzane są (w kolejności)",
-      "HOLDTIMEANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"hold time\". Niedookreślona=brak zapowiedzi",
-      "YOUARENEXTANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"jestes pierwszy w kolejce\". Niedookreślona=brak zapowiedzi",
-      "THEREAREANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"istnieją\". Niedookreślona=brak zapowiedzi",
-      "WAITINGCALLSANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"połączenia oczekującego\". Niedookreślona=brak zapowiedzi",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"aktualny szacowany czas podtrzymania\". Niedookreślona=brak zapowiedzi",
-      "MINUTESANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"min\". Niedookreślona=brak zapowiedzi",
-      "MINUTEANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"min\". Niedookreślona=brak zapowiedzi",
-      "SECONDSANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"s\". Niedookreślona=brak zapowiedzi",
-      "THANKYOUANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"Dziękujemy za cierpliwość\". Niedookreślona=brak zapowiedzi",
-      "AFTERCALLWORK": "Jeśli opcja jest włączona, agent będzie ustawiony na pauzy po zakończeniu połączenia",
       "AUTOPAUSE": "Włącza/wyłącza automatyczne wstrzymywanie agentów, którzy nie dotrzymali, aby odebrać połączenie. Jeśli opcja ta jest włączona, powoduje, że do agenta wstrzymany we wszystkich kolejkach przynależy do",
-      "RINGINUSE": "Aby uniknąć/zezwalaj na wysyłanie zaproszeń do członków, których stan jest w użyciu.",
-      "TIMEOUTRESTART": "Jeśli tak, to wyzerowanie timeout dla agenta do odpowiedzi kiedy albo zajęty lub przeciążenia stan jest odbierany z kanału",
-      "MONITORFORMAT": "Określa format pliku do wykorzystania podczas nagrywania. Jeśli monitor belinea jest aktywna, połączenia przychodzące nie będą rejestrowane",
-      "CONTEXT": "Pozwala rozmówcy, aby wyjść z kolejki przez naciśnięcie pojedynczego DTMF cyfra. Jeśli kontekst jest określona i dzwoniący dostaje numer, że cyfra będzie próbować być dopasowywana w kontekście określonego i dialplan wykonanie będzie nadal dostępna",
       "SETINTERFACEVARIABLES": "Jeśli ustawione na tak, tuż przed dzwoniący jest połączona z kolejki agenta niektórych zmiennych zostaną ustawione (więcej informacji patrz wiki docs).",
       "SETQUEUEVARIABLES": "Jeśli ustawione na tak, tuż przed dzwoniący jest połączona z kolejki agenta i opuszczeniem kolejki, niektóre zmienne zostaną ustawione (aby uzyskać więcej informacji, patrz dokumentacja wiki)",
       "SETQUEUEENTRYVARIABLES": "Jeśli ustawione na tak, tuż przed dzwoniący jest połączona z kolejki agenta niektórych zmiennych zostaną ustawione (aby uzyskać więcej informacji, patrz dokumentacja wiki)",
-      "RECORDING": "Włącz nagrywanie rozmów",
-      "VOICEMAIL_CONTEXT": "Kontekście względne wydłużenie",
-      "NAME": "Tylko cyfry, litery i znaki specjalne (._) są obsługiwane",
       "CALLERIDALL": "Obsługiwany format: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Obsługiwany format: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj status, aby ustawić podczas obowiązkowej dyspozycji",
       "SERVICELEVEL": "Drugie ustawienia poziomu serwisowego (domyślnie = 0, brak SL). Używane do statystyk poziomu usług (połączenia odebrane w ramach czasowych poziomu usług)"
     },
-    "MUSICONHOLD": "Music on Hold",
-    "ANNOUNCETOAGENT": "Poinformowania agenta",
     "ANNOUNCEMENTS": "Komunikaty",
     "ADVANCED": "Zaawansowane",
     "ANNOUNCEFREQUENCY": "Częstotliwość ogłaszania",
-    "MINANNOUNCEFREQUENCY": "Minimalna częstotliwość ogłaszania",
-    "PERIODICANNOUNCEFREQUENCY": "Okresowe informowanie o częstotliwości",
     "RANDOMPERIODICANNOUNCE": "Losowe ogłoszenie okresowe",
-    "ANNOUNCEHOLDTIME": "Ogłosić czas fazy docisku",
-    "ANNOUNCECALLERPOSITION": "Informujemy rozmówcę stanowiska",
     "ANNOUNCEPOSITIONLIMIT": "Ogłosić granica położenia",
-    "REPORTHOLDTIMEAGENT": "Raport Agenci - czas podtrzymania",
-    "PERIODICANNOUNCE": "Okresowe ogłoszenia",
-    "HOLDTIMEANNOUNCE": "Czas podtrzymania zapowiadają",
-    "YOUARENEXTANNOUNCE": "\"Next\" zapowiadają",
-    "THEREAREANNOUNCE": "\"Istnieją\" zapowiadają",
-    "WAITINGCALLSANNOUNCE": "Czekanie wymaga poinformowania",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Szacowany czas ogłosić",
-    "MINUTESANNOUNCE": "Minut ogłosić",
-    "MINUTEANNOUNCE": "Minutę zapowiadają",
-    "SECONDSANNOUNCE": "Sekundy zapowiadają",
-    "THANKYOUANNOUNCE": "\"Dziękujemy\" zapowiadają",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "Po ukończeniu czynności",
-    "AFTERCALLWORKDURATION": "Po ukończeniu czynności czas trwania",
-    "RINGINUSE": "Pierścień w za",
-    "MEMBERDELAY": "Państwa opóźnienia",
-    "TIMEOUTRESTART": "Czas startu",
-    "MONITORFORMAT": "Format nagrywania",
     "SETINTERFACEVARIABLES": "Ustaw zmienne interfejsu",
     "SETQUEUEVARIABLES": "Ustawianie kolejki zmiennych",
     "SETQUEUEENTRYVARIABLES": "Ustawianie kolejki wpis zmiennych",
     "VARIABLE": "Zmienna",
-    "CONTEXT": "Kontekst",
     "SAVE": "Zapisz",
     "SETTINGS": "Ustawienia",
     "INBOUNDROUTES": "Inbound tras",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Edycja trasy wychodzące",
     "DELETE_OUTBOUNDROUTE": "Usunąć wychodzący trasy",
     "CUTDIGITS": "Wytnij cyfry",
-    "RECORDING": "Nagrywanie",
     "RECORDINGFORMAT": "Format nagrywania",
     "INTERNALROUTES": "Trasy wewnętrzne",
     "ADD_INTERNALROUTE": "Dodaj trasy wewnętrzne",
@@ -268,7 +186,6 @@
     "VOICE": "Głos",
     "REALTIME": "Realtime",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Kontekst",
     "NO_MOHSOUND_AVAILABLE": "No Music on Hold dostępne",
     "FILE": "Plik",
     "ADD_MOHSOUND": "Dodaj Music on Hold sound",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Usuń Music on Hold sound",
     "UNIQUEID": "Unikatowy identyfikator",
     "AGENT": "Agent",
-    "TYPE": "Typ",
     "RATING": "Znamionowa",
     "AUDIO": "Audio",
     "DATE": "Data",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "Przychodzące",
     "OUTBOUND": "Wychodzący",
-    "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
-    "MANDATORYDISPOSITIONPAUSEID": "Status wstrzymania obowiązkowego rozporządzania",
     "TEAMS_ASSOCIATION": "Stowarzyszenie zespołów",
     "CANT_DOWNLOAD_THIS_FILE": "Nie można pobrać tego pliku",
     "FILE_NOT_FOUND": "Nie znaleziono pliku",
diff --git a/public/app/main/apps/voice/i18n/pt-BR.json b/public/app/main/apps/voice/i18n/pt-BR.json
index 0e2b4ae..23cab08 100644
--- a/public/app/main/apps/voice/i18n/pt-BR.json
+++ b/public/app/main/apps/voice/i18n/pt-BR.json
@@ -14,7 +14,6 @@
     "EDIT_TRUNK": "Editar Tronco",
     "GOTO_VOICEQUEUE": "Ir para filas de voz em tempo real",
     "GOTOREALTIME_VOICEQUEUE": "Ir para filas de voz em tempo real",
-    "NAME": "Nome",
     "LOGOUT": "Logout",
     "VOICEQUEUES": "Filas de voz",
     "SEARCH_FOR_ANYONE": "Procurar",
@@ -37,36 +36,11 @@
       "CUSTOM_APPLICATION": "(*) - Aplicativo personalizado"
     },
     "ERRORS": {
-      "TRUNK_REQUIRED": "Campo obrigatório",
       "VARIABLE_REQUIRED": "Campo obrigatório",
-      "NAME_REQUIRED": "Campo obrigatório",
       "APPLICATION_NAME_REQUIRED": "Campo obrigatório",
-      "TIMEOUT_REQUIRED": "Campo obrigatório",
-      "PHONENUMBER_REQUIRED": "Campo obrigatório",
-      "CONTEXT_REQUIRED": "Campo obrigatório",
-      "DESTINATIONPATTERN_REQUIRED": "Campo obrigatório",
-      "FULLNAME_REQUIRED": "Campo obrigatório",
-      "EMAIL_REQUIRED": "Campo obrigatório",
-      "EMAIL_MUST_VALID": "Formato incorreto",
-      "MAILBOX_REQUIRED": "Campo obrigatório",
-      "PASSWORD_REQUIRED": "Campo obrigatório",
       "CONFIRM_NOT_MATCH": "As senhas não combinam",
-      "TIMEZONE_REQUIRED": "Campo obrigatório",
-      "PREFIX_REQUIRED": "Campo obrigatório",
-      "OPTIONS_REQUIRED": "Campo obrigatório",
-      "AFTERCALLWORKDURATION_REQUIRED": "Campo obrigatório",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Campo obrigatório",
-      "PHONE_REQUIRED": "Campo obrigatório",
-      "VALUE_REQUIRED": "Campo obrigatório",
-      "EXTENSION_REQUIRED": "Campo obrigatório",
-      "PRIORITY_REQUIRED": "Campo obrigatório",
       "APPLICATION_REQUIRED": "Campo obrigatório",
-      "OUTBOUNDROUTE_REQUIRED": "Campo obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
@@ -77,11 +51,8 @@
       "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
       "CALLERIDALL_MUST_VALID_PATTERN": "Formato incorreto",
-      "CALLER_ID_MUST_VALID_PATTERN": "Formato incorreto",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
-      "PROJECT_REQUIRED": "Campo obrigatório"
+      "CALLER_ID_MUST_VALID_PATTERN": "Formato incorreto"
     },
     "GENERAL": "Geral",
     "TIMEOUT": "Tempo esgotado",
@@ -100,78 +71,26 @@
       "JOINWHENEMPTY": "Usado para controlar se um chamador é passado para uma fila quando nenhum membro está disponível",
       "LEAVEWHENEMPTY": "Usado para controlar se os chamadores são deixados na fila quando nenhum membro está disponível para receber chamadas",
       "ANNOUNCEFREQUENCY": "Com que frequência anunciar a posição do chamador e / ou o tempo estimado de espera na fila (zero para desativar)",
-      "MINANNOUNCEFREQUENCY": "Frequência mínima de anúncio (útil quando a posição do chamador muda com frequência)",
-      "PERIODICANNOUNCEFREQUENCY": "Freqüência de anúncios periódicos para o chamador",
       "ANNOUNCEPOSITIONLIMIT": "Usado se a posição de anúncio for definida como \"limite\" ou \"mais\"",
-      "AFTERCALLWORKDURATION": "Comprimento de pausa acionado pela opção After Call Work",
-      "MEMBERDELAY": "Insere um atraso antes de o chamador e o agente na fila se conectarem",
-      "MUSICONHOLD": "Define a música a ser usada para uma fila específica",
-      "ANNOUNCETOAGENT": "Reproduzir um anúncio para o agente que atende a chamada (geralmente para que ele saiba de qual fila o chamador está vindo)",
       "RANDOMPERIODICANNOUNCE": "Se sim, os anúncios periódicos definidos serão reproduzidos aleatoriamente",
-      "ANNOUNCEHOLDTIME": "Reproduz o tempo de espera estimado junto com os anúncios periódicos (Sim / Não / Uma vez)",
-      "ANNOUNCECALLERPOSITION": "Usado para definir se a posição do chamador na fila deve ser anunciada: No = never; Sim = sempre; Limite = somente se estiver dentro do limite definido pelo limite de posição de anúncio; Mais = apenas se estiver além do valor definido pelo limite de posição de anúncio",
-      "REPORTHOLDTIMEAGENT": "Permite que o tempo de espera do chamador seja informado ao agente na fila antes da conexão",
-      "PERIODICANNOUNCE": "Conjunto de anúncios periódicos a serem reproduzidos (na ordem)",
-      "HOLDTIMEANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Tempo de Espera”. Indefinido = sem anúncio",
-      "YOUARENEXTANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Você agora é o primeiro da fila”. Indefinido = sem anúncio",
-      "THEREAREANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Existem”. Indefinido = sem anúncio",
-      "WAITINGCALLSANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “chamadas em espera”. Indefinido = sem anúncio",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “O tempo de espera estimado atual é“. Indefinido = sem anúncio",
-      "MINUTESANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “minutos”. Indefinido = sem anúncio",
-      "MINUTEANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “minuto”. Indefinido = sem anúncio",
-      "SECONDSANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “segundos”. Indefinido = sem anúncio",
-      "THANKYOUANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Obrigado pela sua paciência”. Indefinido = sem anúncio",
-      "AFTERCALLWORK": "Se ativado, o agente será definido em Pausar após concluir uma chamada",
       "AUTOPAUSE": "Ativa / desativa a pausa automática de agentes que não atendem uma chamada. Se ativado, faz com que o agente seja pausado em todas as filas às quais ele pertence",
-      "RINGINUSE": "Para evitar / permitir o envio de chamadas para membros cujo status é Em uso",
-      "TIMEOUTRESTART": "Se sim, isso redefine o tempo limite para um agente responder quando um status OCUPADO ou CONGESTIONADO é recebido do canal",
-      "MONITORFORMAT": "Especifica o formato de arquivo a ser usado durante a gravação. Se o formato do monitor estiver inativo, as chamadas não serão gravadas",
-      "CONTEXT": "Permite que um chamador saia da fila pressionando um único dígito DTMF. Se um contexto for especificado e o chamador inserir um número, esse dígito tentará ser correspondido no contexto especificado e a execução da planta de discagem continuará lá.",
       "SETINTERFACEVARIABLES": "Se configurado como yes, antes de o chamador ser conectado a um agente de fila, algumas variáveis ​​serão configuradas (para obter mais informações, consulte os documentos do wiki)",
       "SETQUEUEVARIABLES": "Se definido como yes, logo antes de o chamador se conectar com um agente de fila e sair da fila, algumas variáveis ​​serão configuradas (para obter mais informações, consulte docs do wiki)",
       "SETQUEUEENTRYVARIABLES": "Se definido como sim, pouco antes de o chamador ser conectado a um agente de fila, algumas variáveis ​​serão definidas (para obter mais informações, consulte docs do wiki)",
-      "RECORDING": "Ativar gravação de chamadas",
-      "VOICEMAIL_CONTEXT": "O contexto da extensão relativa",
-      "NAME": "Somente números, letras e caracteres específicos (._) são suportados",
       "CALLERIDALL": "Formato suportado: \"CallerId \" <number>",
       "CALLER_ID": "Formato suportado: \\ \"CallerId \" <number>",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar status para definir durante a disposição obrigatória",
       "SERVICELEVEL": "Segundos ajustes para o nível de serviço (padrão = 0, sem SL). Usado para estatísticas de nível de serviço (chamadas atendidas dentro do período de tempo de nível de serviço)"
     },
-    "MUSICONHOLD": "Música em espera",
-    "ANNOUNCETOAGENT": "Anunciar ao agente",
     "ANNOUNCEMENTS": "Anúncios",
     "ADVANCED": "Avançado",
     "ANNOUNCEFREQUENCY": "Anunciar Frequência",
-    "MINANNOUNCEFREQUENCY": "Frequência mínima de anúncio",
-    "PERIODICANNOUNCEFREQUENCY": "Periodicidade periódica de anúncio",
     "RANDOMPERIODICANNOUNCE": "Anúncio periódico aleatório",
-    "ANNOUNCEHOLDTIME": "Anunciar tempo de espera",
-    "ANNOUNCECALLERPOSITION": "Anunciar a posição do chamador",
     "ANNOUNCEPOSITIONLIMIT": "Anunciar limite de posição",
-    "REPORTHOLDTIMEAGENT": "Tempo de espera do agente de relatório",
-    "PERIODICANNOUNCE": "Anúncio periódico",
-    "HOLDTIMEANNOUNCE": "Anuncio em Tempo de Espera",
-    "YOUARENEXTANNOUNCE": "'Você é o próximo' Anunciar",
-    "THEREAREANNOUNCE": "'Existem' Anuncie",
-    "WAITINGCALLSANNOUNCE": "Chamadas em Espera Anunciam",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Anuncio estimado em tempo de espera",
-    "MINUTESANNOUNCE": "Anuncio de minutos",
-    "MINUTEANNOUNCE": "Anuncio de minuto",
-    "SECONDSANNOUNCE": "Anuncio de Segundos",
-    "THANKYOUANNOUNCE": "'Obrigado' Anuncie",
     "AUTOPAUSE": "Pausa Automática",
-    "AFTERCALLWORK": "Pausa após ligação",
-    "AFTERCALLWORKDURATION": "Duração de pausa após ligação",
-    "RINGINUSE": "Toque em uso",
-    "MEMBERDELAY": "Member Delay",
-    "TIMEOUTRESTART": "Timeout Restart",
-    "MONITORFORMAT": "Formato de gravação",
     "SETINTERFACEVARIABLES": "Definir variáveis ​​de interface",
     "SETQUEUEVARIABLES": "Definir as variáveis ​​da fila",
     "SETQUEUEENTRYVARIABLES": "Definir as Variáveis ​​de Entrada da Fila",
     "VARIABLE": "Variável",
-    "CONTEXT": "Contexto",
     "SAVE": "Salvar",
     "SETTINGS": "Configurações",
     "INBOUNDROUTES": "Rotas de entrada",
@@ -186,7 +105,6 @@
     "EDIT_OUTBOUNDROUTE": "Editar rota de saída",
     "DELETE_OUTBOUNDROUTE": "Excluir rota de saída",
     "CUTDIGITS": "Cut Digits",
-    "RECORDING": "Gravação",
     "RECORDINGFORMAT": "Formato de gravação",
     "INTERNALROUTES": "Rotas Internas",
     "ADD_INTERNALROUTE": "Adicionar rota interna",
@@ -280,7 +198,6 @@
     "VOICE": "Voz",
     "REALTIME": "Tempo Real",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Contexto",
     "NO_MOHSOUND_AVAILABLE": "Não há música na espera disponível",
     "FILE": "Arquivo",
     "ADD_MOHSOUND": "Adicionar som de música em espera",
@@ -288,7 +205,6 @@
     "DELETE_MOHSOUND": "Excluir som de música em espera",
     "UNIQUEID": "ID único",
     "AGENT": "Agente",
-    "TYPE": "Tipo",
     "RATING": "Avaliação",
     "AUDIO": "Audio",
     "DATE": "Data",
@@ -441,8 +357,6 @@
     "DIALER": "Discador",
     "INBOUND": "Entrada",
     "OUTBOUND": "Saída",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Status de pausa de disposição obrigatória",
     "TEAMS_ASSOCIATION": "Associação de Equipas",
     "CANT_DOWNLOAD_THIS_FILE": "Não é possível baixar este arquivo",
     "FILE_NOT_FOUND": "Arquivo não encontrado",
diff --git a/public/app/main/apps/voice/i18n/pt-PT.json b/public/app/main/apps/voice/i18n/pt-PT.json
index 93b538f..4dd1760 100644
--- a/public/app/main/apps/voice/i18n/pt-PT.json
+++ b/public/app/main/apps/voice/i18n/pt-PT.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Vá para filas de voz em tempo real",
     "GOTOREALTIME_VOICEQUEUE": "Vá para filas de voz em tempo real",
-    "NAME": "Nome",
     "LOGOUT": "LOGOUT",
     "VOICEQUEUES": "Filas de voz",
     "SEARCH_FOR_ANYONE": "Pesquisar todos",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - aplicativo personalizado."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "O Nome é obrigatório",
       "APPLICATION_NAME_REQUIRED": "O nome do aplicativo é obrigatório",
-      "TIMEOUT_REQUIRED": "O tempo limite é necessária",
-      "PHONENUMBER_REQUIRED": "O número de telefone é necessário",
-      "CONTEXT_REQUIRED": "O contexto é necessário",
-      "DESTINATIONPATTERN_REQUIRED": "O destino padrão é necessária",
-      "FULLNAME_REQUIRED": "O campo Nome completo é obrigatório",
-      "EMAIL_REQUIRED": "O Correio Electrónico é obrigatório",
-      "EMAIL_MUST_VALID": "O email deve ser escrito em um formato válido",
-      "MAILBOX_REQUIRED": "A caixa de correio é necessário",
-      "PASSWORD_REQUIRED": "A senha é obrigatória",
       "CONFIRM_NOT_MATCH": "As senhas não coincidem",
-      "TIMEZONE_REQUIRED": "O fuso horário é obrigatório",
-      "PREFIX_REQUIRED": "O prefixo é requerido",
-      "OPTIONS_REQUIRED": "As opções são necessários",
-      "AFTERCALLWORKDURATION_REQUIRED": "A duração de trabalho após chamada é necessária",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "A tecnologia é necessária/Recursos",
-      "PHONE_REQUIRED": "O telefone é obrigatório",
-      "VALUE_REQUIRED": "O valor é obrigatório",
-      "EXTENSION_REQUIRED": "A extensão é necessária",
-      "PRIORITY_REQUIRED": "A prioridade é necessária",
-      "NAME_MUST_VALID_PATTERN": "O nome deve ser escrito em um formato válido",
       "APPLICATION_REQUIRED": "O aplicativo é obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O tempo limite deve ser maior do que ou igual a",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O comprimento máximo deve ser maior do que ou igual a",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A repetição deve ser maior do que ou igual a",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O tempo de finalização deve ser maior do que ou igual a",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O peso deve ser maior do que ou igual a",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A anunciar a freqüência deve ser maior do que ou igual a",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A Min anunciar frequência deve ser maior do que ou igual a",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A freqüência de anunciar periódica deve ser maior do que ou igual a",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O número máximo de mensagens deve ser maior do que ou igual a",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O número máximo de mensagens deve ser menor que ou igual a",
       "CALLERIDALL_MUST_VALID_PATTERN": "Formato incorreto",
-      "OUTBOUNDROUTE_REQUIRED": "Campo obrigatório",
       "VARIABLE_REQUIRED": "Campo obrigatório",
-      "CALLER_ID_MUST_VALID_PATTERN": "Formato incorreto",
-      "TRUNK_REQUIRED": "Campo obrigatório",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
-      "PROJECT_REQUIRED": "Campo obrigatório"
+      "CALLER_ID_MUST_VALID_PATTERN": "Formato incorreto"
     },
     "GENERAL": "Geral",
     "TIMEOUT": "Timeout",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Controla se um chamador é adicionado à fila quando não os seus membros estiverem disponíveis.",
       "LEAVEWHENEMPTY": "Usado para controlar se os chamadores são expulsos da fila quando os membros não estão mais disponíveis para atender a chamadas.",
       "ANNOUNCEFREQUENCY": "Define quantas vezes devemos anunciar a posição do chamador e/ou estimado o tempo de espera na fila. Defina este valor para zero para desativar.",
-      "MINANNOUNCEFREQUENCY": "Especifica a quantidade mínima de tempo que deve decorrer antes de anunciar a posição da chamada na fila novamente. Isso é usado quando a posição do chamador pode alterar frequentemente, para impedir que o chamador ouvir várias atualizações em um curto período de tempo.",
-      "PERIODICANNOUNCEFREQUENCY": "Indica quantas vezes devemos fazer anúncios periódicos para o chamador.",
       "ANNOUNCEPOSITIONLIMIT": "Usado se você tiver definido anunciar-posição como limite ou mais.",
-      "AFTERCALLWORKDURATION": "A duração da pausa desencadeada pela opção de trabalho após chamada",
-      "MEMBERDELAY": "Usado se você desejar que haja um atraso antes de o chamador e fila membro sendo conectados uns aos outros.",
-      "MUSICONHOLD": "Define a classe de música para ser usado por uma fila em particular.",
-      "ANNOUNCETOAGENT": "Utilizado para reproduzir um anúncio para o agente que atendeu a chamada, normalmente para que ele saiba que fila o chamador é proveniente.",
       "RANDOMPERIODICANNOUNCE": "Se for definido como sim, vai jogar a anúncios periódicos definidos em ordem aleatória.",
-      "ANNOUNCEHOLDTIME": "Define se o tempo de espera estimado deve ser jogado junto com o anúncios periódicos.",
-      "ANNOUNCECALLERPOSITION": "Define se a posição da chamada na fila deve ser anunciado para ela. Se for definido como Não, a posição nunca será anunciado. Se for definido como sim, a posição do chamador será sempre anunciado. Se o valor for definido para limitar, o chamador ouvirá a sua posição na fila somente se estiver dentro do limite definido pela posição de anunciar-limite. Se o valor for definido para mais, o chamador ouvirá a sua posição se está além do número definido pela posição de anunciar-limite.",
-      "REPORTHOLDTIMEAGENT": "Permite a geração de relatórios de tempo de espera do chamador para a fila de membro antes de bridging.",
-      "PERIODICANNOUNCE": "Um conjunto de anúncios periódicos para ser reproduzido, reproduzidas na ordem em que são definidos.",
-      "HOLDTIMEANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"Hold time\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "YOUARENEXTANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"agora você está na primeira linha\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "THEREAREANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"Existem\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "WAITINGCALLSANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"Chamadas Aguardando\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"o tempo de espera estimado atual é\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "MINUTESANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"minutos\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "MINUTEANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"minuto\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "SECONDSANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"s\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "THANKYOUANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"agradecemos sua paciência\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
-      "AFTERCALLWORK": "Se estiver activo, o agente será definido em pausa depois de concluída uma chamada em fila",
       "AUTOPAUSE": "Habilita/desabilita a pausa automática dos membros que não atender uma chamada. Se indicar ACTIVO causas este membro para ser pausado em todas as filas que ele é um membro.",
-      "RINGINUSE": "Usado para evitar o envio de chamadas para os membros cujo estatuto está em uso.",
-      "TIMEOUTRESTART": "Se for definido como sim, redefine o tempo limite para um agente atender se quer um sinal de ocupado ou de estado de congestão é recebida do canal.",
-      "MONITORFORMAT": "Especifica o formato do arquivo para usar quando a gravação. Se o monitor de formato é inactivo, as chamadas não serão gravadas.",
-      "CONTEXT": "Permite que um chamador para sair da fila de espera pressionando um único dígito DTMF. Se um contexto é especificado e o chamador insere um número de dígitos, que tentará ser igualada no contexto especificado e execução dialplan continuará lá.",
       "SETINTERFACEVARIABLES": "Se for definido como Sim, apenas antes de o chamador a ser uma ponte com uma fila membro algumas variáveis será definido(ver wiki)",
       "SETQUEUEVARIABLES": "Se for definido como Sim, apenas antes de o chamador a ser uma ponte com uma fila de membro e apenas antes de o chamador deixar a fila de algumas variáveis será definido(ver wiki)",
       "SETQUEUEENTRYVARIABLES": "Se for definido como Sim, apenas antes de o chamador a ser uma ponte com uma fila membro algumas variáveis será definido(ver wiki)",
-      "RECORDING": "Ativar a gravação de chamadas",
-      "VOICEMAIL_CONTEXT": "O contexto da extensão relativa.",
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
       "CALLERIDALL": "Formato suportado: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Formato suportado: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar status para definir durante a disposição obrigatória",
       "SERVICELEVEL": "Segundos ajustes para o nível de serviço (padrão = 0, sem SL). Usado para estatísticas de nível de serviço (chamadas atendidas dentro do período de tempo de nível de serviço)"
     },
-    "MUSICONHOLD": "Música em espera",
-    "ANNOUNCETOAGENT": "Anunciar para agente",
     "ANNOUNCEMENTS": "Anúncios",
     "ADVANCED": "Avançado",
     "ANNOUNCEFREQUENCY": "Frequência de anunciar",
-    "MINANNOUNCEFREQUENCY": "Frequência mínima de anunciar",
-    "PERIODICANNOUNCEFREQUENCY": "Frequência periódica de anunciar",
     "RANDOMPERIODICANNOUNCE": "Anunciar periódicas aleatórias",
-    "ANNOUNCEHOLDTIME": "Anunciar o tempo de espera",
-    "ANNOUNCECALLERPOSITION": "Anunciar a posição do chamador",
     "ANNOUNCEPOSITIONLIMIT": "Limite da posição de anunciar",
-    "REPORTHOLDTIMEAGENT": "Tempo de Espera de relatório de Agente",
-    "PERIODICANNOUNCE": "Anunciar periódica",
-    "HOLDTIMEANNOUNCE": "O tempo de espera anunciar",
-    "YOUARENEXTANNOUNCE": "\"Você está próximo\" anunciar",
-    "THEREAREANNOUNCE": "\"Existem\" anunciar",
-    "WAITINGCALLSANNOUNCE": "Chamadas em espera anunciar",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Tempo de Espera Estimado anunciar",
-    "MINUTESANNOUNCE": "Minutos anunciar",
-    "MINUTEANNOUNCE": "Minutos de anunciar",
-    "SECONDSANNOUNCE": "Segundos anunciar",
-    "THANKYOUANNOUNCE": "\"Obrigado\" anunciar",
     "AUTOPAUSE": "Auto Pause",
-    "AFTERCALLWORK": "Após o trabalho de chamada",
-    "AFTERCALLWORKDURATION": "Duração de Trabalho após chamada",
-    "RINGINUSE": "Anel em uso",
-    "MEMBERDELAY": "Os Atraso",
-    "TIMEOUTRESTART": "Timeout Reiniciar",
-    "MONITORFORMAT": "Formato de gravação",
     "SETINTERFACEVARIABLES": "Defina as variáveis de Interface",
     "SETQUEUEVARIABLES": "Defina as variáveis de fila",
     "SETQUEUEENTRYVARIABLES": "Defina as variáveis de entrada da fila",
     "VARIABLE": "Variável",
-    "CONTEXT": "Contexto",
     "SAVE": "Salvar",
     "SETTINGS": "Definições",
     "INBOUNDROUTES": "Rotas de entrada",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Editar Rota de Saída",
     "DELETE_OUTBOUNDROUTE": "Eliminar rota de saída",
     "CUTDIGITS": "Os dígitos de corte",
-    "RECORDING": "A gravação",
     "RECORDINGFORMAT": "Formato de gravação",
     "INTERNALROUTES": "Rotas internas",
     "ADD_INTERNALROUTE": "Adicionar Rota Interna",
@@ -268,7 +186,6 @@
     "VOICE": "Voz",
     "REALTIME": "Em tempo real",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Contexto",
     "NO_MOHSOUND_AVAILABLE": "Nenhuma música em espera disponível",
     "FILE": "Arquivo",
     "ADD_MOHSOUND": "Adicionar som de música em espera",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Excluir um som de música em espera",
     "UNIQUEID": "ID exclusivo",
     "AGENT": "Agente",
-    "TYPE": "Tipo",
     "RATING": "Classificação",
     "AUDIO": "Áudio",
     "DATE": "Data",
@@ -441,8 +357,6 @@
     "DIALER": "Discador",
     "INBOUND": "Entrada",
     "OUTBOUND": "Saída",
-    "MANDATORYDISPOSITION": "Disposição obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Status de pausa de disposição obrigatória",
     "TEAMS_ASSOCIATION": "Associação de Equipas",
     "CANT_DOWNLOAD_THIS_FILE": "Não é possível baixar este arquivo",
     "FILE_NOT_FOUND": "Arquivo não encontrado",
diff --git a/public/app/main/apps/voice/i18n/ru.json b/public/app/main/apps/voice/i18n/ru.json
index 8328467..6918db2 100644
--- a/public/app/main/apps/voice/i18n/ru.json
+++ b/public/app/main/apps/voice/i18n/ru.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Перейдите к в режиме реального времени голосовой очередей",
     "GOTOREALTIME_VOICEQUEUE": "Перейдите к в режиме реального времени голосовой очередей",
-    "NAME": "Имя",
     "LOGOUT": "Выход из системы",
     "VOICEQUEUES": "Голос очередей",
     "SEARCH_FOR_ANYONE": "Для поиска любого",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - пользовательские приложения."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Это имя требуется",
       "APPLICATION_NAME_REQUIRED": "Имя приложения не требуется",
-      "TIMEOUT_REQUIRED": "Тайм-аут не требуется",
-      "PHONENUMBER_REQUIRED": "Номер телефона не требуется",
-      "CONTEXT_REQUIRED": "В этом контексте необходимо",
-      "DESTINATIONPATTERN_REQUIRED": "Назначение шаблона не требуется",
-      "FULLNAME_REQUIRED": "В требуется указать полное имя",
-      "EMAIL_REQUIRED": "Адреса электронной почты не требуется",
-      "EMAIL_MUST_VALID": "Адреса электронной почты должны быть записаны в действительный формат",
-      "MAILBOX_REQUIRED": "Почтовый ящик не требуется",
-      "PASSWORD_REQUIRED": "Пароль не требуется",
       "CONFIRM_NOT_MATCH": "Пароли не совпадают",
-      "TIMEZONE_REQUIRED": "Часовой пояс не требуется",
-      "PREFIX_REQUIRED": "Префикс не требуется",
-      "OPTIONS_REQUIRED": "Параметры не требуется",
-      "AFTERCALLWORKDURATION_REQUIRED": "После вызова, продолжительность работы не требуется",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Технология/ресурсов не требуется",
-      "PHONE_REQUIRED": "Номер телефона не требуется",
-      "VALUE_REQUIRED": "Это значение требуется",
-      "EXTENSION_REQUIRED": "Такое продление срока действия необходимо",
-      "PRIORITY_REQUIRED": "Приоритет не требуется",
-      "NAME_MUST_VALID_PATTERN": "Имя должно быть записано в действительный формат",
       "APPLICATION_REQUIRED": "Приложения не требуется",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Тайм-аута должно быть больше или равно",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Максимальная длина должна быть больше или равно",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Повтор должно быть больше или равно",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "На время завершения должно быть больше или равно",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Вес должен быть больше или равно",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Объявить об периодичности должно быть больше или равно",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Мин объявить о периодичности должно быть больше или равно",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Периодические объявить о периодичности должно быть больше или равно",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max сообщений должно быть больше или равно",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Max сообщений должно быть меньше или равно",
       "CALLERIDALL_MUST_VALID_PATTERN": "Неправильный формат",
-      "OUTBOUNDROUTE_REQUIRED": "Обязательное поле",
       "VARIABLE_REQUIRED": "Обязательное поле",
-      "CALLER_ID_MUST_VALID_PATTERN": "Неправильный формат",
-      "TRUNK_REQUIRED": "Обязательное поле",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле",
-      "PROJECT_REQUIRED": "Обязательное поле"
+      "CALLER_ID_MUST_VALID_PATTERN": "Неправильный формат"
     },
     "GENERAL": "Генеральной",
     "TIMEOUT": "Превышение лимита времени",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Управляет ли вызывающий абонент будет добавлен в очередь при отсутствии членов доступны.",
       "LEAVEWHENEMPTY": "Используется для управления ли абоненты ногами из очереди когда члены больше не доступен для вызовов.",
       "ANNOUNCEFREQUENCY": "Определяет, как часто мы должны объявить о вызывающем абоненте, положение и/или время удержания в очереди. Задать это значение на ноль, чтобы отключить.",
-      "MINANNOUNCEFREQUENCY": "Указывает минимальное количество времени, которое должно пройти перед тем мы объявляем о абонента в позицию в очереди еще раз. Это значение используется при абонента в положение может меняться очень часто, чтобы предотвратить слушания вызывающего абонента несколько обновлений в короткий период времени.",
-      "PERIODICANNOUNCEFREQUENCY": "Показывает, как часто мы должны сделать периодические объявления для абонента.",
       "ANNOUNCEPOSITIONLIMIT": "Если вы определены объявить положение либо как ограничение или более.",
-      "AFTERCALLWORKDURATION": "Длительность паузы включается работа после вызова параметр",
-      "MEMBERDELAY": "Если вы хотите быть задержка до вызывающего абонента и очереди членом соединены друг с другом.",
-      "MUSICONHOLD": "Устанавливает музыки класса для использования в конкретной очереди.",
-      "ANNOUNCETOAGENT": "Используется для воспроизведения объявление на оператора, ответил на вызов, обычно ему знать, какие очереди вызывающего абонента.",
       "RANDOMPERIODICANNOUNCE": "Если установлено значение Да, будет играть определенных периодических объявлений о вакансиях в произвольном порядке.",
-      "ANNOUNCEHOLDTIME": "Определяет по оценкам времени удержания должен воспроизводиться вместе с периодических объявлений.",
-      "ANNOUNCECALLERPOSITION": "Определяет номер вызывающего абонента в очереди должно быть объявлено на нее. Если установлено значение Нет, положение никогда не будет объявлено дополнительно. Если установлено значение Да, абонента в положении всегда будет объявлено дополнительно. Если для этого параметра установлено значение предела, абонент услышит ее положение в очереди только если он находится в пределах заданного предела, объявить-position-предел. Если значение установлено на более абонент услышит ее положение, если она выходит за рамки номер определяется объявить-position-предел.",
-      "REPORTHOLDTIMEAGENT": "Позволяет создавать отчеты о абонента в время удержания в очередь член до моста.",
-      "PERIODICANNOUNCE": "Набор периодических объявлений, воспроизводятся в том порядке они определены.",
-      "HOLDTIMEANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Время удержания\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "YOUARENEXTANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Теперь Вы сначала в линии\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "THEREAREANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Есть\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "WAITINGCALLSANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Вызовов ожидающих\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Оценка текущего времени удержания\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "MINUTESANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Минуты\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "MINUTEANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Минуты\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "SECONDSANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"секунд\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "THANKYOUANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Благодарим вас за ваше терпение\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
-      "AFTERCALLWORK": "Если активно, оператор будет установлен на паузу после полного завершения вызова в очередь",
       "AUTOPAUSE": "Включение/отключение автоматического приостановки члены Совета, которые не ответить на вызов. Если активно причины этого члена на паузу во всех очередях он является членом.",
-      "RINGINUSE": "Используется для предотвращения отправки вызовов для членов, состояние которого находится в использовании.",
-      "TIMEOUTRESTART": "Если установлено значение Да, Сброс тайм-аут для ответа оператора либо занят или состояние перегрузки будет получено от канала.",
-      "MONITORFORMAT": "Указывает формат файла для использования при записи. Если монитор формата неактивно, вызовы не будут записаны.",
-      "CONTEXT": "Позволяет вызывающему абоненту для выхода из очереди нажатием одной цифры DTMF. Если контекст не указан и абонент вводит номер, цифра будет пытаться быть подобраны в контексте указанного и команду display dialplan analysis исполнения будет и впредь.",
       "SETINTERFACEVARIABLES": "Если установлено значение Да, просто до абонента, параллельной линии с очередью членов некоторых переменных будет set(см. wiki)",
       "SETQUEUEVARIABLES": "Если установлено значение Да, просто до абонента, параллельной линии с очередью член и непосредственно до абонента оставив очереди некоторых переменных будет set(см. wiki)",
       "SETQUEUEENTRYVARIABLES": "Если установлено значение Да, просто до абонента, параллельной линии с очередью членов некоторых переменных будет set(см. wiki)",
-      "RECORDING": "Включение записи вызова",
-      "VOICEMAIL_CONTEXT": "В контексте относительного добавочный номер.",
-      "NAME": "Только цифры, буквы и специальные символы (_) поддерживаются",
       "CALLERIDALL": "Поддерживаемый формат: «CallerId» & lt; number & gt;",
       "CALLER_ID": "Поддерживаемый формат: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Статус паузы, чтобы установить во время обязательного распоряжения",
       "SERVICELEVEL": "Вторые настройки уровня обслуживания (по умолчанию = 0, без SL). Используется для статистики уровня обслуживания (вызовы, отвеченные в течение периода времени уровня обслуживания)"
     },
-    "MUSICONHOLD": "Музыка на удержании",
-    "ANNOUNCETOAGENT": "Сообщить оператору",
     "ANNOUNCEMENTS": "Объявления",
     "ADVANCED": "Расширенные возможности",
     "ANNOUNCEFREQUENCY": "Объявить о частоте",
-    "MINANNOUNCEFREQUENCY": "Объявить о минимальной частоты",
-    "PERIODICANNOUNCEFREQUENCY": "Периодические объявить о частоте",
     "RANDOMPERIODICANNOUNCE": "Случайные периодические объявить о",
-    "ANNOUNCEHOLDTIME": "Объявить о времени удержания",
-    "ANNOUNCECALLERPOSITION": "Объявить о положении вызывающего абонента",
     "ANNOUNCEPOSITIONLIMIT": "Объявить предельное положение",
-    "REPORTHOLDTIMEAGENT": "Доклад оператор время удержания",
-    "PERIODICANNOUNCE": "Периодические объявить о",
-    "HOLDTIMEANNOUNCE": "Время удержания объявить о",
-    "YOUARENEXTANNOUNCE": "\"Вы далее' объявить о",
-    "THEREAREANNOUNCE": "'Есть' объявить о",
-    "WAITINGCALLSANNOUNCE": "Ожидающих вызовов объявить о",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "По оценкам времени удержания объявить о",
-    "MINUTESANNOUNCE": "Минут объявить о",
-    "MINUTEANNOUNCE": "Минуту объявить о",
-    "SECONDSANNOUNCE": "Секунд объявить о",
-    "THANKYOUANNOUNCE": "\"Спасибо\" объявить о",
     "AUTOPAUSE": "Автоматическая пауза",
-    "AFTERCALLWORK": "Работа после вызова",
-    "AFTERCALLWORKDURATION": "Работа после вызова продолжительность",
-    "RINGINUSE": "Кольцо в использовании",
-    "MEMBERDELAY": "Член временной задержки",
-    "TIMEOUTRESTART": "Тайм-аут перезапуска",
-    "MONITORFORMAT": "Формат записи",
     "SETINTERFACEVARIABLES": "Установите интерфейс переменных",
     "SETQUEUEVARIABLES": "Задать очередь переменных",
     "SETQUEUEENTRYVARIABLES": "Задать очередь запись переменных",
     "VARIABLE": "Переменная",
-    "CONTEXT": "Контексте",
     "SAVE": "Сохранить",
     "SETTINGS": "Настройки",
     "INBOUNDROUTES": "Входящие маршруты",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Редактировать маршрут исходящих вызовов",
     "DELETE_OUTBOUNDROUTE": "Удалить маршрут исходящих вызовов",
     "CUTDIGITS": "Разрежьте цифр",
-    "RECORDING": "Запись",
     "RECORDINGFORMAT": "Формат записи",
     "INTERNALROUTES": "Внутренние маршруты",
     "ADD_INTERNALROUTE": "Добавить внутренний маршрут",
@@ -268,7 +186,6 @@
     "VOICE": "Голосовой связи",
     "REALTIME": "В режиме реального времени",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Контексте",
     "NO_MOHSOUND_AVAILABLE": "Нет музыки на удержании имеющихся",
     "FILE": "Файл",
     "ADD_MOHSOUND": "Добавление музыки в режиме удержания звука",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Удалить музыка в режиме удержания звука",
     "UNIQUEID": "Уникальный идентификатор",
     "AGENT": "Оператор",
-    "TYPE": "Тип",
     "RATING": "Рейтинг",
     "AUDIO": "Аудио",
     "DATE": "Дата",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "прибывающий",
     "OUTBOUND": "Исходящий",
-    "MANDATORYDISPOSITION": "Обязательное распоряжение",
-    "MANDATORYDISPOSITIONPAUSEID": "Обязательный статус паузы",
     "TEAMS_ASSOCIATION": "Ассоциация команд",
     "CANT_DOWNLOAD_THIS_FILE": "Не могу скачать этот файл",
     "FILE_NOT_FOUND": "Файл не найден",
diff --git a/public/app/main/apps/voice/i18n/sv.json b/public/app/main/apps/voice/i18n/sv.json
index a0b4dd3..8d72208 100644
--- a/public/app/main/apps/voice/i18n/sv.json
+++ b/public/app/main/apps/voice/i18n/sv.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Gå till Realtime röstköer",
     "GOTOREALTIME_VOICEQUEUE": "Gå till Realtime röstköer",
-    "NAME": "Namn",
     "LOGOUT": "Utloggning",
     "VOICEQUEUES": "Röstköer",
     "SEARCH_FOR_ANYONE": "Sök",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - Anpassad applikation"
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Obligatorisk fält",
       "APPLICATION_NAME_REQUIRED": "Obligatorisk fält",
-      "TIMEOUT_REQUIRED": "Obligatorisk fält",
-      "PHONENUMBER_REQUIRED": "Obligatorisk fält",
-      "CONTEXT_REQUIRED": "Obligatorisk fält",
-      "DESTINATIONPATTERN_REQUIRED": "Obligatorisk fält",
-      "FULLNAME_REQUIRED": "Obligatorisk fält",
-      "EMAIL_REQUIRED": "Obligatorisk fält",
-      "EMAIL_MUST_VALID": "Obligatorisk fält",
-      "MAILBOX_REQUIRED": "Obligatorisk fält",
-      "PASSWORD_REQUIRED": "Obligatorisk fält",
       "CONFIRM_NOT_MATCH": "Lösenorden stämmer inte överens",
-      "TIMEZONE_REQUIRED": "Obligatorisk fält",
-      "PREFIX_REQUIRED": "Obligatorisk fält",
-      "OPTIONS_REQUIRED": "Obligatorisk fält",
-      "AFTERCALLWORKDURATION_REQUIRED": "Obligatorisk fält",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Obligatorisk fält",
-      "PHONE_REQUIRED": "Obligatorisk fält",
-      "VALUE_REQUIRED": "Obligatorisk fält",
-      "EXTENSION_REQUIRED": "Obligatorisk fält",
-      "PRIORITY_REQUIRED": "Obligatorisk fält",
-      "NAME_MUST_VALID_PATTERN": "Ogiltigt format",
       "APPLICATION_REQUIRED": "Obligatorisk fält",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
       "CALLERIDALL_MUST_VALID_PATTERN": "Fel format",
-      "OUTBOUNDROUTE_REQUIRED": "Obligatoriskt fält",
       "VARIABLE_REQUIRED": "Obligatoriskt fält",
-      "CALLER_ID_MUST_VALID_PATTERN": "Fel format",
-      "TRUNK_REQUIRED": "Obligatoriskt fält",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält",
-      "PROJECT_REQUIRED": "Obligatoriskt fält"
+      "CALLER_ID_MUST_VALID_PATTERN": "Fel format"
     },
     "GENERAL": "Allmänt",
     "TIMEOUT": "Timeout",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Ange om en kund ska ansluta till en kö när inga agenter finns tillgängliga",
       "LEAVEWHENEMPTY": "Ange om en kund ska lämna en kö när inga agenter finns tillgängliga",
       "ANNOUNCEFREQUENCY": "Definierar hur ofta vi skall informera om inringandes position och/eller beräknad väntetid i kön. Sätt detta värdet till noll för att inaktivera.",
-      "MINANNOUNCEFREQUENCY": "Anger den minsta tid som måste gå innan vi informerar om inringandes placering i kön igen. Detta kan används när inringandes köposition ändras ofta, för förhindra att inringande hör flera uppdateringar inom en kort tidsperiod.",
-      "PERIODICANNOUNCEFREQUENCY": "Anger hur ofta vi spelar upp regelbundna meddelanden till den som ringer.",
       "ANNOUNCEPOSITIONLIMIT": "Används för att begränsa vid vilka värden som köplats kan anges som meddelande",
-      "AFTERCALLWORKDURATION": "Längden på After Call Work-pausen",
-      "MEMBERDELAY": "Ange en fördröjning innan den inringande och agenten blir sammankopplade",
-      "MUSICONHOLD": "Ställer in musikklass som ska användas av en viss kö.",
-      "ANNOUNCETOAGENT": "Används för att spela upp ett meddelande för agenten som besvarar samtalet, t.ex. för att berätta vilken kö samtalet kommer ifrån.",
       "RANDOMPERIODICANNOUNCE": "Om ja, så kommer de definierade periodiska meddelandena att spelas i slumpmässig ordning",
-      "ANNOUNCEHOLDTIME": "Anger om den beräknade väntetiden ska spelas upp tillsammans med periodiska meddelanden. (Ja/Nej/En gång)",
-      "ANNOUNCECALLERPOSITION": "Anger om den inringandes köposition ska tillkännages. Nej=aldrig, Ja=alltid, Limit=Enbart om hens köposition är inom gränsen inställd nedan, More=Enbart om hens köposition är över gränsen inställd nedan.",
-      "REPORTHOLDTIMEAGENT": "Anger om agent som besvarar samtalet ska informeras om den inringandes kötid.",
-      "PERIODICANNOUNCE": "Ange de periodiska meddelandena som ska spelas upp (i ordning)",
-      "HOLDTIMEANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Beräknad kötid\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "YOUARENEXTANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Du är först i kön\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "THEREAREANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Det är\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "WAITINGCALLSANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Samtal i kö\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Den nuvarande förväntade kötiden är\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "MINUTESANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"minuter\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "MINUTEANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"minut\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "SECONDSANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"sekunder\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "THANKYOUANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Tack för att du väntar\". Om ej definierat kommer inget meddelande att spelas upp alls.",
-      "AFTERCALLWORK": "Om aktiverad sätts agenten i paus efter ett avslutat samtal",
       "AUTOPAUSE": "Om aktiverad pausas agenten automatiskt i samtliga köer den är med i vid ett missat samtal",
-      "RINGINUSE": "Om aktiverad går det att ringa till agenter som är i aktiva samtal",
-      "TIMEOUTRESTART": "Om aktiverad så nollställs köns timeouträkning när det börjar ringa på en ny agent",
-      "MONITORFORMAT": "Anger filformet som inspelningar ska sparas i. Om inaktiverad spelas samtal ej in",
-      "CONTEXT": "Ger en inringande möjlighet att lämna kön genom ett knappval. Om en kontext är specificerad kommer detta knappval att försöka matchas med en samtalsplan.",
       "SETINTERFACEVARIABLES": "Om aktiverad kommer vissa variabler att sättas innan inringande och agent blir ihopkopplade (se wiki för ytterligare dokumentation)",
       "SETQUEUEVARIABLES": "Om aktiverad kommer vissa variabler att sättas innan inringande och agent blir ihopkopplade (se wiki för ytterligare dokumentation)",
       "SETQUEUEENTRYVARIABLES": "Om aktiverad kommer vissa variabler att sättas innan inringande och agent blir ihopkopplade (se wiki för ytterligare dokumentation)",
-      "RECORDING": "Aktivera samtalsinspelning",
-      "VOICEMAIL_CONTEXT": "Den relativa förlängning",
-      "NAME": "Endast siffror, bokstäver och särskilda tecken (._) stöds",
       "CALLERIDALL": "Stödformat: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Stödformat: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausstatus som ska vara aktiv under obligatorisk kategorisering",
       "SERVICELEVEL": "Andra inställningar för servicenivå (standard = 0, ingen SL). Används för statistik på servicenivå (samtal besvaras inom tidsramen för servicenivå)"
     },
-    "MUSICONHOLD": "Musik i vänteläge",
-    "ANNOUNCETOAGENT": "Meddela till agent",
     "ANNOUNCEMENTS": "Meddelanden",
     "ADVANCED": "Avancerat",
     "ANNOUNCEFREQUENCY": "Meddelandefrekvens",
-    "MINANNOUNCEFREQUENCY": "Minsta meddelandefrekvens",
-    "PERIODICANNOUNCEFREQUENCY": "Frekvens för periodiska meddelanden",
     "RANDOMPERIODICANNOUNCE": "Slumpmässig tid för periodiska meddelanden",
-    "ANNOUNCEHOLDTIME": "Meddela kötid",
-    "ANNOUNCECALLERPOSITION": "Meddela köposition",
     "ANNOUNCEPOSITIONLIMIT": "Begränsning för meddelande av köposition",
-    "REPORTHOLDTIMEAGENT": "Berätta för agenten hur länge kunden har varit i kö",
-    "PERIODICANNOUNCE": "Periodiska meddelanden",
-    "HOLDTIMEANNOUNCE": "Kötidsmeddelande",
-    "YOUARENEXTANNOUNCE": "\"Du är näst på tur\"-meddelande",
-    "THEREAREANNOUNCE": "\"Det finns\"-meddelande",
-    "WAITINGCALLSANNOUNCE": "Kölängdsmeddelande",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Beräknad kötidsmeddelande",
-    "MINUTESANNOUNCE": "Minutermeddelande",
-    "MINUTEANNOUNCE": "Minutmeddelande",
-    "SECONDSANNOUNCE": "Sekundmeddelande",
-    "THANKYOUANNOUNCE": "\"Tack\"-meddelande",
     "AUTOPAUSE": "Autopaus",
-    "AFTERCALLWORK": "After Call Work",
-    "AFTERCALLWORKDURATION": "After Call Work-tid",
-    "RINGINUSE": "Ring vid upptaget",
-    "MEMBERDELAY": "Agentfördröjning",
-    "TIMEOUTRESTART": "Omstart av timeout",
-    "MONITORFORMAT": "Inspelningsformat",
     "SETINTERFACEVARIABLES": "Aktivera interfacevariabler",
     "SETQUEUEVARIABLES": "Aktivera kövariabler",
     "SETQUEUEENTRYVARIABLES": "Aktivera köingångsvariabler",
     "VARIABLE": "Variabel",
-    "CONTEXT": "Context",
     "SAVE": "Spara",
     "SETTINGS": "Inställningar",
     "INBOUNDROUTES": "Inkommande linjer",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Redigera utgående linje",
     "DELETE_OUTBOUNDROUTE": "Radera utgående linje",
     "CUTDIGITS": "Skär siffror",
-    "RECORDING": "Inspelning",
     "RECORDINGFORMAT": "Inspelningsformat",
     "INTERNALROUTES": "Interna linjer",
     "ADD_INTERNALROUTE": "Lägg till intern linje",
@@ -268,7 +186,6 @@
     "VOICE": "Röst",
     "REALTIME": "Realtid",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Bakgrund",
     "NO_MOHSOUND_AVAILABLE": "Ingen musik i vänteläge tillgängliga",
     "FILE": "Fil",
     "ADD_MOHSOUND": "Lägga till musik i vänteläge",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Ta bort musik i vänteläge",
     "UNIQUEID": "Unikt ID",
     "AGENT": "Agent",
-    "TYPE": "Typ",
     "RATING": "Betyg",
     "AUDIO": "Ljud",
     "DATE": "Datum",
@@ -441,8 +357,6 @@
     "DIALER": "Dialer",
     "INBOUND": "Inkommande",
     "OUTBOUND": "Utgående",
-    "MANDATORYDISPOSITION": "Obligatorisk kategorisering",
-    "MANDATORYDISPOSITIONPAUSEID": "Obligatorisk pausstatus vid kategorisering",
     "TEAMS_ASSOCIATION": "Team Association",
     "CANT_DOWNLOAD_THIS_FILE": "Kan inte ladda ner den här filen",
     "FILE_NOT_FOUND": "Filen hittades inte",
diff --git a/public/app/main/apps/voice/i18n/tr.json b/public/app/main/apps/voice/i18n/tr.json
index 3b30ee6..0819253 100644
--- a/public/app/main/apps/voice/i18n/tr.json
+++ b/public/app/main/apps/voice/i18n/tr.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "Gi̇t Gerçek Zamanlı Ses Kuyrukları",
     "GOTOREALTIME_VOICEQUEUE": "Gi̇t Gerçek Zamanlı Ses Kuyrukları",
-    "NAME": "Adı",
     "LOGOUT": "Oturum kapatma",
     "VOICEQUEUES": "Ses Kuyrukları",
     "SEARCH_FOR_ANYONE": "Arama herkesin",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*) - Özel uygulama."
     },
     "ERRORS": {
-      "NAME_REQUIRED": "Adı gerekiyor",
       "APPLICATION_NAME_REQUIRED": "Uygulama Adı gerekiyor.",
-      "TIMEOUT_REQUIRED": "Zaman Aşımı gerekiyor.",
-      "PHONENUMBER_REQUIRED": "Telefon Numarası gerekli",
-      "CONTEXT_REQUIRED": "Bu bağlamda gerekli",
-      "DESTINATIONPATTERN_REQUIRED": "Hedef Modeli gerekiyor.",
-      "FULLNAME_REQUIRED": "Tam Adı gerekiyor.",
-      "EMAIL_REQUIRED": "E-posta gerekli",
-      "EMAIL_MUST_VALID": "E-posta mutlaka yazılı geçerli bir format",
-      "MAILBOX_REQUIRED": "Posta gerekli",
-      "PASSWORD_REQUIRED": "Parola gerekli",
       "CONFIRM_NOT_MATCH": "Parolalar aynı değil",
-      "TIMEZONE_REQUIRED": "Bu Saat Dilimi gerekiyor.",
-      "PREFIX_REQUIRED": "Ön Ek gerekiyor.",
-      "OPTIONS_REQUIRED": "Seçenekler gerekli",
-      "AFTERCALLWORKDURATION_REQUIRED": "Sonra iş arama süresi gereklidir.",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "Teknoloji/Kaynak gerekiyor.",
-      "PHONE_REQUIRED": "Telefon gerekiyor.",
-      "VALUE_REQUIRED": "Bu Değer gereklidir",
-      "EXTENSION_REQUIRED": "Uzatma gerekli",
-      "PRIORITY_REQUIRED": "Öncelikli olarak gerekli",
-      "NAME_MUST_VALID_PATTERN": "Ad yazılmış olması gerekir. geçerli bir format",
       "APPLICATION_REQUIRED": "Uygulama gerekiyor.",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Zaman Aşımı eşit veya daha büyük olmalıdır.",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Maksimum Uzunluğu eşit veya daha büyük olmalıdır.",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Retry eşit veya daha büyük olmalıdır.",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Bu Toparlama Süresi eşit veya daha büyük olmalıdır.",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Ağırlık eşit veya daha büyük olmalıdır.",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Haber, Frekans eşit veya daha büyük olmalıdır.",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Min Duyurmak Frekansı eşit veya daha büyük olmalıdır.",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Periyodik Duyurmak Frekansı eşit veya daha büyük olmalıdır.",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Max Mesajlar eşit veya daha büyük olmalıdır.",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Max Mesajlar'ye eşit veya daha düşük olmalıdır.",
       "CALLERIDALL_MUST_VALID_PATTERN": "Yanlış format",
-      "OUTBOUNDROUTE_REQUIRED": "Zorunlu alan",
       "VARIABLE_REQUIRED": "Zorunlu alan",
-      "CALLER_ID_MUST_VALID_PATTERN": "Yanlış format",
-      "TRUNK_REQUIRED": "Zorunlu alan",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan",
-      "PROJECT_REQUIRED": "Zorunlu alan"
+      "CALLER_ID_MUST_VALID_PATTERN": "Yanlış format"
     },
     "GENERAL": "Genel",
     "TIMEOUT": "Zaman Aşımı",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "Kontroller bir arayan eklendi. kuyruk hiç üyeleri bulunmaktadır.",
       "LEAVEWHENEMPTY": "Kumanda etmek için kullanılan arayanların, uçurdu, kuyruk, üyeleri artık göz arama.",
       "ANNOUNCEFREQUENCY": "Tanımlar ne sıklıkta olmalı, ilan arayan ve/veya tahmini bekleme süresi. Bu değeri sıfır olarak devre dışı.",
-      "MINANNOUNCEFREQUENCY": "Belirten minimum süre geçmelidir, arayan'ın kuyruğu deneyin. Bu, arayan'ın sık sık değişebilir, arayan işitme birden fazla güncellemeler kısa bir süre.",
-      "PERIODICANNOUNCEFREQUENCY": "Ne sıklıkta biz, periyodik duyurular arayan.",
       "ANNOUNCEPOSITIONLIMIT": "Eğer daha önce tanımlanmış duyurmak-konum olarak da sınırı veya daha fazla.",
-      "AFTERCALLWORKDURATION": "Duraklatma devrede tarafından Çağrı Çalışma seçeneği",
-      "MEMBERDELAY": "Eğer isterseniz orada bir gecikme önceden arayan ve kuyruk üye bağlı.",
-      "MUSICONHOLD": "Setleri, müzik sınıfı tarafından belirli bir kuyruk.",
-      "ANNOUNCETOAGENT": "Oynatmak için kullanılan bir duyuru, temsilciye yanıtlanan çağrı, genellikle kendisini ne kuyruk arayan geliyor.",
       "RANDOMPERIODICANNOUNCE": "Eğer evet, play, tanımlanan periyodik duyurular rastgele.",
-      "ANNOUNCEHOLDTIME": "Belirler tahmini süresi çalınır ve periyodik duyurular.",
-      "ANNOUNCECALLERPOSITION": "Belirler arayan'ın kuyruğu olmalıdır için duyurdu. Eğer hayır, asla. Eğer evet, arayan'ın konumu her zaman. Eğer değer sınırı, arayan kişinin sesini, kuyruk sadece içinde tanımlanır ve ilan konum. Eğer değeri daha fazla, arayan kişinin sesini konumu. numarası tanımlanan duyurmak-konum-limit.",
-      "REPORTHOLDTIMEAGENT": "Raporlama, arayanın bekletme süresi için kuyruk üye önce köprü.",
-      "PERIODICANNOUNCE": "Bir periyodik duyurular, oynadığı sırada tanımlanmıştır.",
-      "HOLDTIMEANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"Tutma süresi\"). Eğer bir boş değer, sor, çalınan.",
-      "YOUARENEXTANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"şimdi ilk satır\"). Eğer bir boş değer, sor, çalınan.",
-      "THEREAREANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"Var\"). Eğer bir boş değer, sor, çalınan.",
-      "WAITINGCALLSANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"aramalar bekleme\"). Eğer bir boş değer, sor, çalınan.",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"geçerli tahmini süresi\"). Eğer bir boş değer, sor, çalınan.",
-      "MINUTESANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"dakika\"). Eğer bir boş değer, sor, çalınan.",
-      "MINUTEANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"dakika\"). Eğer bir boş değer, sor, çalınan.",
-      "SECONDSANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"sn\"). Eğer bir boş değer, sor, çalınan.",
-      "THANKYOUANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"sabrınız için teşekkür ederiz.\"). Eğer bir boş değer, sor, çalınan.",
-      "AFTERCALLWORK": "Eğer aktif, ajan olarak ayarlayın sonra Pause tamamlanmış bir arama sırası",
       "AUTOPAUSE": "Etkinleştirir/devre dışı bırakır. otomatik çekimde üyeleri başarısız, bir aramayı yanıtlamak için. Aktif ise bu üye olarak duraklatıldı tüm kuyrukları üyesi.",
-      "RINGINUSE": "Engellemek için gönderme çağrıları üyelerin durumu.",
-      "TIMEOUTRESTART": "Eğer yes, sıfırlar ve zaman aşımı bir temsilcinin, cevap ya da meşgul veya tıkanıklık durumu alınan, kanal.",
-      "MONITORFORMAT": "Belirler, dosya formatı kullanmak için kayıt. Eğer monitör-format, akti̇f deği̇l, aramalar kaydedilmez.",
-      "CONTEXT": "Bir arayan çıkmak için kuyruk tek bir DTMF rakam. Eğer bir içerik olarak belirtilen ve arayan bir numarası, basamak girişimi olarak uygun içerik ve dialplan yürütme devam.",
       "SETINTERFACEVARIABLES": "Eğer evet, hemen öncesinde arayan, köprülenmiş bir kuyruk üye bazı değişkenler,(bakınız wiki).",
       "SETQUEUEVARIABLES": "Eğer evet, hemen öncesinde arayan, köprülenmiş bir kuyruk üye ve hemen öncesinde arayan ayrılırken kuyruk bazı değişkenler,(bakınız wiki).",
       "SETQUEUEENTRYVARIABLES": "Eğer evet, hemen öncesinde arayan, köprülenmiş bir kuyruk üye bazı değişkenler,(bakınız wiki).",
-      "RECORDING": "Etkin çağrı kaydı",
-      "VOICEMAIL_CONTEXT": "Bu bağlamda, bağıl uzantısı.",
-      "NAME": "Sadece sayılar, harfler ve özel karakterler (._) desteklenir.",
       "CALLERIDALL": "Desteklenen biçim: \"CallerId\" & lt; number & gt;",
       "CALLER_ID": "Desteklenen biçim: \"CallerId\" & lt; number & gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "Zorunlu kullanım sırasında ayarlamak için durumu duraklat",
       "SERVICELEVEL": "Servis seviyesi için ikinci ayarlar (varsayılan = 0, SL yok). Servis seviyesi istatistikleri için kullanılır (servis seviyesi zaman çerçevesi içinde cevaplanan aramalar)"
     },
-    "MUSICONHOLD": "Bekletme Müziği",
-    "ANNOUNCETOAGENT": "Duyurmak Agent",
     "ANNOUNCEMENTS": "Duyurular",
     "ADVANCED": "Gelişmiş",
     "ANNOUNCEFREQUENCY": "Frekans ilan",
-    "MINANNOUNCEFREQUENCY": "Ilan Minimum Frekans",
-    "PERIODICANNOUNCEFREQUENCY": "Periyodik Haber Frekans",
     "RANDOMPERIODICANNOUNCE": "Rastgele Periyodik Açıklayacak",
-    "ANNOUNCEHOLDTIME": "Ilan Süresi",
-    "ANNOUNCECALLERPOSITION": "Arayan ilan Konumu",
     "ANNOUNCEPOSITIONLIMIT": "Haber Sınır Konumu",
-    "REPORTHOLDTIMEAGENT": "Rapor Temsilci Bekletme Süresi",
-    "PERIODICANNOUNCE": "Periyodik Açıklayacak",
-    "HOLDTIMEANNOUNCE": "Bekletme Süresi Açıklayacak",
-    "YOUARENEXTANNOUNCE": "'Bir sonraki' Açıklayacak",
-    "THEREAREANNOUNCE": "'Vardır ilan' ile",
-    "WAITINGCALLSANNOUNCE": "Arama Bekliyor Haber",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "Tahmini Süresi Açıklayacak",
-    "MINUTESANNOUNCE": "Dakika Haber",
-    "MINUTEANNOUNCE": "Dakika Haber",
-    "SECONDSANNOUNCE": "Saniye Açıklayacak",
-    "THANKYOUANNOUNCE": "'Teşekkür' Açıklayacak",
     "AUTOPAUSE": "Otomatik Duraklatma",
-    "AFTERCALLWORK": "Arama yaptıktan sonra Çalışma",
-    "AFTERCALLWORKDURATION": "Sonra iş Arama Süresi",
-    "RINGINUSE": "Halka.",
-    "MEMBERDELAY": "Üye Gecikmesi",
-    "TIMEOUTRESTART": "Zaman Aşımı Yeniden Başlatın",
-    "MONITORFORMAT": "Kayıt Formatı",
     "SETINTERFACEVARIABLES": "Set Ara Değişkenler",
     "SETQUEUEVARIABLES": "Set Kuyruk Değişkenler",
     "SETQUEUEENTRYVARIABLES": "Set Kuyruğu Giriş Değişkenler",
     "VARIABLE": "Değişken",
-    "CONTEXT": "Içerik",
     "SAVE": "Kaydet",
     "SETTINGS": "Ayarlar",
     "INBOUNDROUTES": "Gelen Rotalar",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "Edit Giden Yol",
     "DELETE_OUTBOUNDROUTE": "Delete Giden Yol",
     "CUTDIGITS": "Kesin rakam",
-    "RECORDING": "Kayıt",
     "RECORDINGFORMAT": "Kayıt formatı",
     "INTERNALROUTES": "Dahili Rotalar",
     "ADD_INTERNALROUTE": "Add Iç Rota",
@@ -268,7 +186,6 @@
     "VOICE": "Ses",
     "REALTIME": "Gerçek Zamanlı",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "Içerik",
     "NO_MOHSOUND_AVAILABLE": "Hayır, Bekletme Müziği mevcuttur",
     "FILE": "Dosya",
     "ADD_MOHSOUND": "Add müziği ses",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "Delete müziği ses",
     "UNIQUEID": "Benzersiz Kimliği",
     "AGENT": "Ajan",
-    "TYPE": "Tipi",
     "RATING": "Derecelendirme",
     "AUDIO": "Ses",
     "DATE": "Tarih",
@@ -441,8 +357,6 @@
     "DIALER": "Çevirici",
     "INBOUND": "Gelen",
     "OUTBOUND": "Giden",
-    "MANDATORYDISPOSITION": "Zorunlu düzenleme",
-    "MANDATORYDISPOSITIONPAUSEID": "Zorunlu tasarruf durumu duraklatma durumu",
     "TEAMS_ASSOCIATION": "Takımlar Birliği",
     "CANT_DOWNLOAD_THIS_FILE": "Bu dosya indirilemiyor",
     "FILE_NOT_FOUND": "Dosya bulunamadı",
diff --git a/public/app/main/apps/voice/i18n/zh-CN.json b/public/app/main/apps/voice/i18n/zh-CN.json
index d97a123..675f6b0 100644
--- a/public/app/main/apps/voice/i18n/zh-CN.json
+++ b/public/app/main/apps/voice/i18n/zh-CN.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "转至实时语音队列",
     "GOTOREALTIME_VOICEQUEUE": "转至实时语音队列",
-    "NAME": "名称",
     "LOGOUT": "注销",
     "VOICEQUEUES": "语音队列",
     "SEARCH_FOR_ANYONE": "搜索任何人",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "(*)-自定义应用程序。"
     },
     "ERRORS": {
-      "NAME_REQUIRED": "该名称是必需的",
       "APPLICATION_NAME_REQUIRED": "应用程序名称是必需的",
-      "TIMEOUT_REQUIRED": "超时是必需的",
-      "PHONENUMBER_REQUIRED": "手机号码为必填项",
-      "CONTEXT_REQUIRED": "当前的情况是必需的",
-      "DESTINATIONPATTERN_REQUIRED": "目标模式是必需的",
-      "FULLNAME_REQUIRED": "完整的名称是必需的",
-      "EMAIL_REQUIRED": "“电子邮件是必填的",
-      "EMAIL_MUST_VALID": "电子邮件必须有书面的格式无效",
-      "MAILBOX_REQUIRED": "邮箱是必需的",
-      "PASSWORD_REQUIRED": "密码是必需的",
       "CONFIRM_NOT_MATCH": "密码不匹配",
-      "TIMEZONE_REQUIRED": "时区是必需的",
-      "PREFIX_REQUIRED": "前缀是必需的",
-      "OPTIONS_REQUIRED": "该选项是必需的",
-      "AFTERCALLWORKDURATION_REQUIRED": "呼叫后工作的持续时间是必需的",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "技术/资源是必需的",
-      "PHONE_REQUIRED": "手机是必需的",
-      "VALUE_REQUIRED": "该值是必需的",
-      "EXTENSION_REQUIRED": "扩展名是必需的",
-      "PRIORITY_REQUIRED": "优先级是必需的",
-      "NAME_MUST_VALID_PATTERN": "该名称必须是书面的格式无效",
       "APPLICATION_REQUIRED": "应用程序是必需的",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "超时值必须大于或等于",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "最大的长度必须大于或等于",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "“重试” 必须大于或等于",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "后续处理时间必须大于或等于",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "重量必须大于或等于",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "在公布的频率必须大于或等于",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Min 发表频率必须大于或等于",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "定期公布频率必须大于或等于",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "最大消息的大小必须大于或等于",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "最大的消息必须小于或等于",
       "CALLERIDALL_MUST_VALID_PATTERN": "格式错误",
-      "OUTBOUNDROUTE_REQUIRED": "必填项",
       "VARIABLE_REQUIRED": "必填项",
-      "CALLER_ID_MUST_VALID_PATTERN": "格式错误",
-      "TRUNK_REQUIRED": "必填项",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项",
-      "PROJECT_REQUIRED": "必填项"
+      "CALLER_ID_MUST_VALID_PATTERN": "格式错误"
     },
     "GENERAL": "总的",
     "TIMEOUT": "超时",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "控制是否在主叫方被添加到队列中的任何成员都是可用的。",
       "LEAVEWHENEMPTY": "用于控制是否呼叫方发起的呼叫均被踢出队列中的成员不再是可用的呼叫。",
       "ANNOUNCEFREQUENCY": "定义了我们应该通知主叫方所持的立场和/或预计的保持时间在队列中。 将此值设置为零以禁用。",
-      "MINANNOUNCEFREQUENCY": "指定的最小时间量必须在通过我们公布的来电者的队列中第一的位置。 这时使用的呼叫者的位置可能会经常更改, 以防止主叫方听到多个更新会在很短的时间。",
-      "PERIODICANNOUNCEFREQUENCY": "表明多久我们应该定期宣布与主叫方通话。",
       "ANNOUNCEPOSITIONLIMIT": "如果您已经定义的宣布-位置为限制或更多。",
-      "AFTERCALLWORKDURATION": "的的暂停持续时间触发的 “呼叫后工作” 选项。",
-      "MEMBERDELAY": "如果您想要有一定的延迟之前的主叫方和队列成员正在连接到每个其他。",
-      "MUSICONHOLD": "将音乐课所使用的特定队列。",
-      "ANNOUNCETOAGENT": "用于播放语音通知的业务代表应答的呼叫, 通常要让他知道什么是队列中的呼叫方。",
       "RANDOMPERIODICANNOUNCE": "如果设置为 “是”, 将定义的定期公告, 以随机顺序。",
-      "ANNOUNCEHOLDTIME": "定义是否将估计的保持时间, 应发挥的定期通知。",
-      "ANNOUNCECALLERPOSITION": "定义是否将主叫方的队列中第一的位置应宣布她的。 如果设置为 “否”, 该位置将永远不会被公布。 如果设置为 “是”、“主叫方的立场始终会宣布。 如果将该值设置为限制, 主叫方将听到她的队列中第一的位置只有在所定义的限制宣布--位置的限制。 如果将该值设置为更多的来电者将会听到她的位置如果是超出定义的号码, 宣布--位置的限制。",
-      "REPORTHOLDTIMEAGENT": "使报告的主叫方的保持时间的队列前桥接。",
-      "PERIODICANNOUNCE": "一组定期公布以发挥发挥的顺序定义的。",
-      "HOLDTIMEANNOUNCE": "如果未定义, 将播放默认值(“保持时间”)。 如果设置为空值, 提示无法播放。",
-      "YOUARENEXTANNOUNCE": "如果未定义, 将播放默认值(“您目前在线上是第一位”)。 如果设置为空值, 提示无法播放。",
-      "THEREAREANNOUNCE": "如果未定义, 将播放默认值(“有”)。 如果设置为空值, 提示无法播放。",
-      "WAITINGCALLSANNOUNCE": "如果未定义, 将播放默认值(“呼叫等待”。 如果设置为空值, 提示无法播放。",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "如果未定义, 将播放默认值(“当前估计的保持时间”)。 如果设置为空值, 提示无法播放。",
-      "MINUTESANNOUNCE": "如果未定义, 将播放默认值(“分钟”)。 如果设置为空值, 提示无法播放。",
-      "MINUTEANNOUNCE": "如果未定义, 将播放默认值(“一分钟”)。 如果设置为空值, 提示无法播放。",
-      "SECONDSANNOUNCE": "如果未定义, 将播放默认值(“秒”)。 如果设置为空值, 提示无法播放。",
-      "THANKYOUANNOUNCE": "如果未定义, 将播放默认值(“感谢您的耐心等待”。 如果设置为空值, 提示无法播放。",
-      "AFTERCALLWORK": "如果已激活, 该座席将被设置为 “暂停后完成的呼叫在队列中",
       "AUTOPAUSE": "使/禁用自动暂停的成员无法应答呼叫。 如果活动的原因该成员将暂停所有队列的他是其中的成员。",
-      "RINGINUSE": "用于避免呼叫发送到成员的地位是在使用中。",
-      "TIMEOUTRESTART": "如果设置为 “是”, 重置超时业务代表应答如果占线或拥塞状态为 “已接收” 的通道。",
-      "MONITORFORMAT": "指定的文件格式时要使用的录制。 如果监护仪-格式是处于非活动状态, 呼叫将不被记录。",
-      "CONTEXT": "允许主叫方退出队列的按单一的 DTMF 数字。 如果指定了环境和主叫方输入的数字, 该数字将尝试匹配指定的环境下, 执行 dialplan 将会继续存在。",
       "SETINTERFACEVARIABLES": "如果设置为 “是”, 只在主叫方被桥接的队列成员的某些变量将被设置(参见维基百科)",
       "SETQUEUEVARIABLES": "如果设置为 “是”, 只在主叫方被桥接的队列成员之前, 主叫方离开队列中的某些变量将被设置(参见维基百科)",
       "SETQUEUEENTRYVARIABLES": "如果设置为 “是”, 只在主叫方被桥接的队列成员的某些变量将被设置(参见维基百科)",
-      "RECORDING": "启用 “呼叫记录",
-      "VOICEMAIL_CONTEXT": "这方面的相关的扩展名。",
-      "NAME": "只有数字、字母和特殊字符(_)的支持",
       "CALLERIDALL": "支持的格式：“CallerId”＆lt; number＆gt;",
       "CALLER_ID": "支持的格式：“CallerId”＆lt; number＆gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "暂停在强制处置期间设置的状态",
       "SERVICELEVEL": "服务级别的第二个设置（默认= 0，无SL）。用于服务水平统计（在服务水平时间范围内应答的呼叫）"
     },
-    "MUSICONHOLD": "音乐保留",
-    "ANNOUNCETOAGENT": "宣布到座席",
     "ANNOUNCEMENTS": "公告",
     "ADVANCED": "高级",
     "ANNOUNCEFREQUENCY": "公布频率",
-    "MINANNOUNCEFREQUENCY": "最小频率的宣布",
-    "PERIODICANNOUNCEFREQUENCY": "定期公布频率",
     "RANDOMPERIODICANNOUNCE": "随机定期公布",
-    "ANNOUNCEHOLDTIME": "宣布搁置时间",
-    "ANNOUNCECALLERPOSITION": "主叫方宣布立场。",
     "ANNOUNCEPOSITIONLIMIT": "发表位置限制",
-    "REPORTHOLDTIMEAGENT": "报告座席保持时间",
-    "PERIODICANNOUNCE": "定期公布",
-    "HOLDTIMEANNOUNCE": "保持时间公布",
-    "YOUARENEXTANNOUNCE": "“你是下的宣布",
-    "THEREAREANNOUNCE": "“有的宣布",
-    "WAITINGCALLSANNOUNCE": "呼叫等待通知",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "估计的保持时间公布",
-    "MINUTESANNOUNCE": "分钟的宣布",
-    "MINUTEANNOUNCE": "分钟的宣布",
-    "SECONDSANNOUNCE": "秒宣布",
-    "THANKYOUANNOUNCE": "“感谢您” 的宣布",
     "AUTOPAUSE": "自动暂停",
-    "AFTERCALLWORK": "呼叫后工作",
-    "AFTERCALLWORKDURATION": "呼叫后工作的持续时间",
-    "RINGINUSE": "环在使用中",
-    "MEMBERDELAY": "会员延迟",
-    "TIMEOUTRESTART": "超时重新启动",
-    "MONITORFORMAT": "录制格式",
     "SETINTERFACEVARIABLES": "设置接口变量。",
     "SETQUEUEVARIABLES": "设置队列中的变量。",
     "SETQUEUEENTRYVARIABLES": "设置队列项变量。",
     "VARIABLE": "变量",
-    "CONTEXT": "上下文",
     "SAVE": "保存",
     "SETTINGS": "设置",
     "INBOUNDROUTES": "呼入路由",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "编辑出站的路由",
     "DELETE_OUTBOUNDROUTE": "删除出站的路由",
     "CUTDIGITS": "切数字",
-    "RECORDING": "录制",
     "RECORDINGFORMAT": "录制格式",
     "INTERNALROUTES": "内部路由",
     "ADD_INTERNALROUTE": "添加内部路由",
@@ -268,7 +186,6 @@
     "VOICE": "语音",
     "REALTIME": "实时",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "上下文",
     "NO_MOHSOUND_AVAILABLE": "没有音乐保留可用的",
     "FILE": "文件",
     "ADD_MOHSOUND": "添加音乐的声音",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "删除音乐声音",
     "UNIQUEID": "独特的 ID",
     "AGENT": "座席",
-    "TYPE": "类型",
     "RATING": "评级",
     "AUDIO": "音频",
     "DATE": "日期",
@@ -441,8 +357,6 @@
     "DIALER": "拨号器",
     "INBOUND": "入站",
     "OUTBOUND": "出站",
-    "MANDATORYDISPOSITION": "强制性处分",
-    "MANDATORYDISPOSITIONPAUSEID": "强制处置暂停状态",
     "TEAMS_ASSOCIATION": "车队协会",
     "CANT_DOWNLOAD_THIS_FILE": "无法下载此文件",
     "FILE_NOT_FOUND": "文件未找到",
diff --git a/public/app/main/apps/voice/i18n/zh-TW.json b/public/app/main/apps/voice/i18n/zh-TW.json
index 457cf8e..b27f332 100644
--- a/public/app/main/apps/voice/i18n/zh-TW.json
+++ b/public/app/main/apps/voice/i18n/zh-TW.json
@@ -2,7 +2,6 @@
   "VOICE": {
     "GOTO_VOICEQUEUE": "轉到實時語音的佇列",
     "GOTOREALTIME_VOICEQUEUE": "轉到實時語音的佇列",
-    "NAME": "名稱",
     "LOGOUT": "登出",
     "VOICEQUEUES": "語音通話佇列",
     "SEARCH_FOR_ANYONE": "搜尋使用者",
@@ -25,34 +24,10 @@
       "CUSTOM_APPLICATION": "( * ) - 自訂應用程式。"
     },
     "ERRORS": {
-      "NAME_REQUIRED": "「名稱」為必填欄位",
       "APPLICATION_NAME_REQUIRED": "應用程式名稱」為必填欄位",
-      "TIMEOUT_REQUIRED": "逾時時間為必要資訊",
-      "PHONENUMBER_REQUIRED": "「電話號碼」為必填欄位",
-      "CONTEXT_REQUIRED": "內容為必填欄位",
-      "DESTINATIONPATTERN_REQUIRED": "目的地型式為必填欄位",
-      "FULLNAME_REQUIRED": "完整名稱」為必填欄位",
-      "EMAIL_REQUIRED": "電子郵件為必填欄位",
-      "EMAIL_MUST_VALID": "電子郵件必須是書面的格式無效",
-      "MAILBOX_REQUIRED": "信箱為必填欄位",
-      "PASSWORD_REQUIRED": "密碼為必填欄位",
       "CONFIRM_NOT_MATCH": "密碼不相符",
-      "TIMEZONE_REQUIRED": "Timezone 是必填欄位",
-      "PREFIX_REQUIRED": "前置碼為必填欄位",
-      "OPTIONS_REQUIRED": "選項為必填欄位",
-      "AFTERCALLWORKDURATION_REQUIRED": "「通話後工作時間為必要資訊",
-      "TECHNOLOGY/RESOURCE_REQUIRED": "技術 / 資源為必填欄位",
-      "PHONE_REQUIRED": "「電話」為必填欄位",
-      "VALUE_REQUIRED": "此值為必填欄位",
-      "EXTENSION_REQUIRED": "副檔名是必填欄位",
-      "PRIORITY_REQUIRED": "「優先順序為必填欄位",
-      "NAME_MUST_VALID_PATTERN": "名稱必須以有效的格式",
       "APPLICATION_REQUIRED": "應用程式是必填欄位",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "超時必須大於或等於",
       "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "最大長度必須大於或等於",
-      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Retry 必須大於或等於",
-      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "後續處理時間必須大於或等於",
-      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "重量必須大於或等於",
       "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "《宣佈頻率必須是大於或等於",
       "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Min 發佈頻率必須是大於或等於",
       "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "定期公佈頻率必須是大於或等於",
@@ -64,12 +39,8 @@
       "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "最大訊息必須大於或等於",
       "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "最大訊息長度必須小於或等於",
       "CALLERIDALL_MUST_VALID_PATTERN": "格式錯誤",
-      "OUTBOUNDROUTE_REQUIRED": "必填項",
       "VARIABLE_REQUIRED": "必填項",
-      "CALLER_ID_MUST_VALID_PATTERN": "格式錯誤",
-      "TRUNK_REQUIRED": "必填項",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項",
-      "PROJECT_REQUIRED": "必填項"
+      "CALLER_ID_MUST_VALID_PATTERN": "格式錯誤"
     },
     "GENERAL": "通用",
     "TIMEOUT": "逾時",
@@ -88,78 +59,26 @@
       "JOINWHENEMPTY": "控制是否在來電者被新增到佇列中沒有任何會員均可使用。",
       "LEAVEWHENEMPTY": "用來控制來電者是否會踢掉出佇列當會員將不再提供可接聽來電。",
       "ANNOUNCEFREQUENCY": "定義通常是我們應在此宣佈推出「來電者的位置和 / 或預估保留時間在佇列中。 將這個值設定為 0 可停用。",
-      "MINANNOUNCEFREQUENCY": "指定的最低金額應經過多久的時間才能我們在此宣佈推出「來電者的位置在「佇列一次。 這是用來當來電者的位置可能會經常變更 , 以避免來電者聽到多個更新在很短的時間內。",
-      "PERIODICANNOUNCEFREQUENCY": "表示有多久我們應定期公告至來電者。",
       "ANNOUNCEPOSITIONLIMIT": "如果您已定義發佈位置為限價或更多。",
-      "AFTERCALLWORKDURATION": "時間暫停觸發的通話後工作選項",
-      "MEMBERDELAY": "如果您想要有一種延遲事先來電與佇列成員正在連線到另一台主機。",
-      "MUSICONHOLD": "集音樂類別是由特定的佇列中。",
-      "ANNOUNCETOAGENT": "用於播放公告至值機員接聽來電 , 通常會讓他知道佇列中的來電者是來自。",
       "RANDOMPERIODICANNOUNCE": "如果設定為「是」 , 將播放定義的定期公告以隨機順序。",
-      "ANNOUNCEHOLDTIME": "定義是否要預估保留時間應在播放時連同定期公告。",
-      "ANNOUNCECALLERPOSITION": "定義是否要來電者的位置在佇列中等候應公佈給她。 如果設定為否 , 位置不會被發佈。 如果設定為「是」、「來電者的位置將會公佈。 如果這個值設定為下限 , 來電者將會聽到她的職位在佇列中只有在所定義的限制發佈位置的限制。 如果這個值設定為較多 , 來電者將會聽到她的職位如果它是超越的號碼來定義發佈位置的限制。",
-      "REPORTHOLDTIMEAGENT": "讓報告的來電者的保留時間至佇列會員之前的橋接。",
-      "PERIODICANNOUNCE": "這是一種週期性宣告才能播放 , 播放留言順序定義。",
-      "HOLDTIMEANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「保留時間」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "YOUARENEXTANNOUNCE": "若未定義 , 將播放的預設值 ( 以下稱「您現在可以先在線」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "THEREAREANNOUNCE": "若未定義 , 將播放的預設值 ( 「有」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "WAITINGCALLSANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「來電待接數量」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "ESTIMATEDHOLDTIMEANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「目前的預估等候時間」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "MINUTESANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「分」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "MINUTEANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「分」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "SECONDSANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「秒」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "THANKYOUANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「感謝您的耐心等候」 ) 。 如果設為空值 , 提示字元將無法播放。",
-      "AFTERCALLWORK": "如果作用中」、「值機員將會設在暫停在完成通話在佇列",
       "AUTOPAUSE": "啟用 / 停用「自動暫停的成員無法接聽來電。 如果作用會導致此會員為暫停所有佇列他的成員之一。",
-      "RINGINUSE": "用來避免傳送來電至成員的狀態是在使用中。",
-      "TIMEOUTRESTART": "如果設定為「是」 , 將會重設逾時的值機員可接聽如果是忙線或網路壅塞狀態會收到的通道。",
-      "MONITORFORMAT": "指定的檔案格式時要用錄影。 如果監視器的格式為非作用中通話將不會被記錄下來。",
-      "CONTEXT": "允許來電者離開佇列按一 DTMF 數字。 如果內容是特定的來電者輸入的數字 , 該數字便會嘗試進行匹配的內容中指定之 , 並撥號計畫執行程式將會繼續存在。",
       "SETINTERFACEVARIABLES": "如果設定為「是」 , 只要事先來電者被以橋接模式的佇列會員部分變數將會設定 ( 請參閱 wiki )",
       "SETQUEUEVARIABLES": "如果設定為「是」 , 只要事先來電者被以橋接模式的佇列成員和前呼叫者離開佇列部分變數將會設定 ( 請參閱 wiki )",
       "SETQUEUEENTRYVARIABLES": "如果設定為「是」 , 只要事先來電者被以橋接模式的佇列會員部分變數將會設定 ( 請參閱 wiki )",
-      "RECORDING": "啟用通話記錄",
-      "VOICEMAIL_CONTEXT": "上下文相關的相對的副檔名。",
-      "NAME": "只有數字、字母和特殊字元 ( _ ) 都受到支援",
       "CALLERIDALL": "支持的格式：“CallerId”＆lt; number＆gt;",
       "CALLER_ID": "支持的格式：“CallerId”＆lt; number＆gt;",
-      "MANDATORYDISPOSITIONPAUSEID": "暫停在強制處置期間設置的狀態",
       "SERVICELEVEL": "服務級別的第二設置（默認= 0，無SL）。用於服務水平統計（在服務水平時間範圍內應答的呼叫）"
     },
-    "MUSICONHOLD": "音樂保留通話",
-    "ANNOUNCETOAGENT": "發佈至值機員",
     "ANNOUNCEMENTS": "公告",
     "ADVANCED": "進階",
     "ANNOUNCEFREQUENCY": "發佈頻率",
-    "MINANNOUNCEFREQUENCY": "最小宣佈頻率",
-    "PERIODICANNOUNCEFREQUENCY": "定期公佈頻率",
     "RANDOMPERIODICANNOUNCE": "隨機定期公佈",
-    "ANNOUNCEHOLDTIME": "宣佈保留時間",
-    "ANNOUNCECALLERPOSITION": "發佈者位置",
     "ANNOUNCEPOSITIONLIMIT": "宣佈位置限制",
-    "REPORTHOLDTIMEAGENT": "報告值機員保留時間",
-    "PERIODICANNOUNCE": "定期公佈",
-    "HOLDTIMEANNOUNCE": "保留時間公佈",
-    "YOUARENEXTANNOUNCE": "「您是下一次的通告",
-    "THEREAREANNOUNCE": "「有」宣佈",
-    "WAITINGCALLSANNOUNCE": "等候通話發佈",
-    "ESTIMATEDHOLDTIMEANNOUNCE": "預計等候時間公佈",
-    "MINUTESANNOUNCE": "分宣佈",
-    "MINUTEANNOUNCE": "分鐘發佈",
-    "SECONDSANNOUNCE": "秒宣佈",
-    "THANKYOUANNOUNCE": "「謝謝您」宣佈",
     "AUTOPAUSE": "自動暫停",
-    "AFTERCALLWORK": "通話結束後的後續工作",
-    "AFTERCALLWORKDURATION": "呼叫後工作時間",
-    "RINGINUSE": "環使用中",
-    "MEMBERDELAY": "會員延遲時間",
-    "TIMEOUTRESTART": "逾時重新啟動",
-    "MONITORFORMAT": "錄製格式",
     "SETINTERFACEVARIABLES": "設定介面變數",
     "SETQUEUEVARIABLES": "設定佇列變數",
     "SETQUEUEENTRYVARIABLES": "設定佇列中輸入變數",
     "VARIABLE": "變數",
-    "CONTEXT": "內容",
     "SAVE": "儲存",
     "SETTINGS": "設定",
     "INBOUNDROUTES": "輸入路由",
@@ -174,7 +93,6 @@
     "EDIT_OUTBOUNDROUTE": "編輯外路由",
     "DELETE_OUTBOUNDROUTE": "刪除外路由",
     "CUTDIGITS": "裁切數字",
-    "RECORDING": "錄影",
     "RECORDINGFORMAT": "錄製格式",
     "INTERNALROUTES": "內部路由器",
     "ADD_INTERNALROUTE": "新增內部路由",
@@ -268,7 +186,6 @@
     "VOICE": "語音通話",
     "REALTIME": "即時",
     "ID": "Id",
-    "VOICEMAIL_CONTEXT": "內容",
     "NO_MOHSOUND_AVAILABLE": "無音樂保留可用性",
     "FILE": "檔案",
     "ADD_MOHSOUND": "新增音樂音效",
@@ -276,7 +193,6 @@
     "DELETE_MOHSOUND": "刪除音樂保留音效",
     "UNIQUEID": "獨特的識別碼",
     "AGENT": "值機員",
-    "TYPE": "類型",
     "RATING": "評等",
     "AUDIO": "音效",
     "DATE": "日期",
@@ -441,8 +357,6 @@
     "DIALER": "撥號器",
     "INBOUND": "入站",
     "OUTBOUND": "出站",
-    "MANDATORYDISPOSITION": "強制性處分",
-    "MANDATORYDISPOSITIONPAUSEID": "強制處置暫停狀態",
     "TEAMS_ASSOCIATION": "車隊協會",
     "CANT_DOWNLOAD_THIS_FILE": "無法下載此文件",
     "FILE_NOT_FOUND": "文件未找到",
diff --git a/public/app/main/apps/whatsapp/i18n/ar.json b/public/app/main/apps/whatsapp/i18n/ar.json
index 7e974c1..06caa5d 100644
--- a/public/app/main/apps/whatsapp/i18n/ar.json
+++ b/public/app/main/apps/whatsapp/i18n/ar.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "حقل الزامي",
-      "ACCOUNTSID_REQUIRED": "حقل الزامي",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "AGENT_REQUIRED": "حقل الزامي",
-      "AGENT_TIMEOUT_REQUIRED": "حقل الزامي",
-      "AUTHTOKEN_REQUIRED": "حقل الزامي",
-      "BOTNAME_REQUIRED": "حقل الزامي",
-      "COMMAND_REQUIRED": "حقل الزامي",
-      "CONDITION_REQUIRED": "حقل الزامي",
       "DESCRIPTION_REQUIRED": "حقل الزامي",
-      "DISPOSITION_REQUIRED": "حقل الزامي",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "FALSEPRIORITY_REQUIRED": "حقل الزامي",
-      "KEY_MAX_LENGTH": "يجب أن يكون أقصى طول للقيمة يساوي {{max}}",
-      "KEY_REQUIRED": "حقل الزامي",
       "LANGUAGE_REQUIRED": "Mandtory فيلد",
       "LEXREGION_REQUIRED": "حقل الزامي",
-      "LIST_REQUIRED": "حقل الزامي",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي",
-      "NAME_REQUIRED": "حقل الزامي",
-      "PHONE_REQUIRED": "حقل الزامي",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "PRIORITY_REQUIRED": "حقل الزامي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
-      "QUEUE_REQUIRED": "حقل الزامي",
-      "SECRETACCESSKEY_REQUIRED": "حقل الزامي",
-      "TAG_REQUIRED": "حقل الزامي",
-      "TEXT_REQUIRED": "حقل الزامي",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "TIMEOUT_REQUIRED": "حقل الزامي",
       "TIMES_REQUIRED": "حقل الزامي",
-      "TOKEN_REQUIRED": "حقل الزامي",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "TRUEPRIORITY_REQUIRED": "حقل الزامي",
-      "TYPE_REQUIRED": "حقل الزامي",
-      "VALUE_REQUIRED": "حقل الزامي",
       "VARIABLE_REQUIRED": "حقل الزامي",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "حقل الزامي",
       "WELCOMEMESSAGE_MAX_LENGTH": "يجب أن يكون أقصى طول للقيمة يساوي {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "حقل الزامي"
     },
-    "HELP": {
-      "LIST": "تستخدم قائمة مدير جهات الاتصال لربط جهات الاتصال",
-      "MANDATORYDISPOSITION": "التصرف الإلزامي",
-      "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام عند تمكين التخلص الإلزامي",
-      "MOTIONPROXY": "يجب أن يكون للحقل التنسيق التالي: <بروتوكول>: // <ipaddress> [: <port>]. مثال: https: //X.Y.Z.W",
-      "NAME": "يتم دعم الأرقام والأحرف والأحرف المحددة (._) فقط",
-      "RECEIVEURL": "هذه هي سلسلة واجهة برمجة التطبيقات التي يتم إنشاؤها تلقائيًا والتي تحتاج إلى استخدامها لتلقي الرسائل داخل حسابك من موفر WhatsApp Connector الخاص بك (يجب استخدام طريقة POST): انقر فوق زر الحافظة لنسخها",
-      "WELCOMEMESSAGE": "هذه هي أول رسالة رد تُرسل إلى التفاعلات الجديدة"
-    },
-    "ACCESSKEYID": "معرف مفتاح الوصول",
-    "ACCOUNTSID": "SID الحساب",
-    "ACTIONS": "أجراءات",
-    "ADD_NOTE": "اضف ملاحظة",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "أضف",
     "ADD_WHATSAPPCANNEDANSWER": "أضف إجابة جاهزة",
     "ADD_WHATSAPPDISPOSITION": "أضف ترتيب WhatsApp",
     "ADD_WHATSAPPQUEUE": "أضف قائمة انتظار WhatsApp",
-    "ADVANCED": "المتقدمة",
-    "AGENT": "وكيل",
     "AGENTADD_QUEUE": "إضافة عامل إلى قائمة انتظار WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "إضافة وكيل لحساب WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "إضافة عامل إلى قائمة انتظار WhatsApp",
-    "AGENTS": "عملاء",
-    "AGENTSADD_QUEUE": "أضف وكلاء إلى قائمة انتظار WhatsApp",
-    "AGENTTRANSFER": "نقل الوكيل",
-    "AGENTTRANSFERTIMEOUT": "مهلة نقل الوكيل",
-    "AGENT_TIMEOUT": "مهلة الوكيل",
-    "ALL": "الكل",
-    "ALL_AGENTS": "كل الوكلاء",
-    "ALL_TEAMS": "كل الفرق",
-    "AMAZONLEX": "أمازون ليكس",
     "AUTHTOKEN": "رمز المصادقة",
-    "AUTOREPLY": "رد آلي",
-    "BACK": "عودة",
-    "BOTNAME": "اسم البوت",
-    "BUSY": "مشغول",
-    "CANNEDANSWERS": "الإجابات المعلبة",
-    "CANNED_ANSWER_NOT_FOUND": "لم يتم العثور على إجابات جاهزة",
-    "CANNED_ANSWER_SEARCH": "أدخل نصًا للبحث في إجابة جاهزة",
-    "CAPACITY": "سعة",
-    "CLOSE": "قريب",
-    "CLOSED": "مغلق",
-    "CLOSEMETHOD": "طريقة الإغلاق",
-    "CLOSEURL": "إغلاق URL",
-    "COMMAND": "أمر",
-    "CONDITION": "شرط",
-    "CONTACT": "اتصل",
-    "CREATED_AT": "أنشئت في",
-    "DEFAULT_PAUSE": "وقفة افتراضية",
-    "DELETE": "حذف",
-    "DELETE_INTERACTION": "حذف التفاعل",
-    "DELETE_SELECTED": "احذف المختار",
     "DELETE_WHATSAPPACCOUNT": "احذف حساب WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "تم الحذف",
     "DELETE_WHATSAPPDISPOSITION": "احذف ترتيب WhatsApp",
     "DELETE_WHATSAPPQUEUE": "حذف قائمة الانتظار WhatsApp",
-    "DESCRIPTION": "وصف",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "تغير",
-    "DISPOSITIONS": "التصرفات",
-    "DOWNLOAD_INTERACTION": "تحميل",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "تحميل بدون مرفقات",
-    "DOWNLOAD_WITH_ATTACHMENTS": "تحميل مع المرفقات",
-    "EDIT_AGENT": "تحرير الوكيل",
-    "EDIT_AMAZONLEX": "تحرير تكوين Lex",
-    "EDIT_AUTOREPLY": "تحرير الرد التلقائي",
-    "EDIT_CLOSE": "تحرير إغلاق",
-    "EDIT_DIALOGFLOW": "تحرير تكوين DialogFlow",
-    "EDIT_GOTOIF": "تحرير Gotoif",
-    "EDIT_GOTOP": "تحرير Gotop",
-    "EDIT_NOOP": "تحرير Noop",
-    "EDIT_QUEUE": "تحرير قائمة الانتظار",
-    "EDIT_SYSTEM": "تحرير النظام",
-    "EDIT_TAG": "تحرير العلامة",
     "EDIT_WHATSAPPACCOUNT": "تحرير حساب WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "تعديل",
     "EDIT_WHATSAPPDISPOSITION": "تحرير ترتيب WhatsApp",
     "EDIT_WHATSAPPQUEUE": "تحرير WhatsApp Queue",
-    "FALSEPRIORITY": "أولوية خاطئة",
-    "GENERAL": "جنرال لواء",
-    "GOTOIF": "قطوف",
-    "GOTOP": "جوتوب",
     "GOTOREALTIME_WHATSAPPQUEUE": "انتقل إلى Realtime WhatsApp Queue",
     "GO_TO_WHATSAPPACCOUNTS": "اذهب إلى الحساب",
-    "ID": "هوية شخصية",
-    "IDLE": "الخمول",
-    "INSERT_MESSAGE_HERE": "أدخل الرسالة هنا",
-    "INTERACTIONS": "التفاعلات",
     "INTERACTIONS_WHATSAPPACCOUNT": "انتقل إلى التفاعلات",
-    "KEY": "مفتاح",
-    "LANGUAGE": "لغة",
-    "LASTMESSAGE": "اخر رسالة",
-    "LEXREGION": "منطقة",
-    "LIST": "قائمة",
-    "LOGGED_IN": "تم تسجيل الدخول (SIP متصل)",
-    "LOGIN_TIME": "وقت تسجيل الدخول",
-    "LOGOUT": "تسجيل خروج",
-    "MANDATORYDISPOSITION": "الترتيب الإلزامي",
-    "MANDATORYDISPOSITIONPAUSEID": "توقف مؤقتًا للاستخدام عند تمكين التخلص الإلزامي",
-    "MORE": "أكثر",
-    "MOTIONPROXY": "الوكيل أو مجال الحركة",
     "MULTI_SELECT_TOGGLE": "متعدد تحديد تبديل",
-    "NAME": "اسم",
     "NEW_WHATSAPPACCOUNT": "حساب WhatsApp جديد",
     "NEW_WHATSAPPCANNEDANSWER": "إجابة WhatsApp جديدة معلبة",
     "NEW_WHATSAPPDISPOSITION": "ترتيب WhatsApp الجديد",
     "NEW_WHATSAPPQUEUE": "قائمة انتظار WhatsApp الجديدة",
-    "NOOP": "نوب",
-    "NOTE": "ملحوظة",
-    "NOTIFICATION": "تنبيه",
-    "NOTIFICATIONSHAKE": "هزة",
-    "NOTIFICATIONSOUND": "صوت",
-    "NOTIFICATIONTEMPLATE": "قالب",
-    "NO_AGENT_ONLINE": "لا يوجد وكيل على الإنترنت",
-    "NO_AVAILABLE_INFO": "لا توجد معلومات متاحة",
-    "NO_INTERACTION_AVAILABLE": "لا توجد تفاعلات متاحة",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "لا توجد إجابات جاهزة لتطبيق WhatsApp",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "لا تتوفر ترتيبات WhatsApp",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "لا توجد حسابات WhatsApp متاحة",
-    "OF": "من",
-    "OPENED": "افتتح",
-    "PAGE": "الصفحة",
-    "PARTIALPAUSE": "وقفة جزئية",
-    "PAUSE": "وقفة",
-    "PAUSED": "متوقف مؤقتًا",
-    "PAUSE_TIME": "وقفة الوقت",
-    "PHONE": "هاتف",
-    "PRIORITY": "أفضلية",
-    "PROXY": "الوكيل",
-    "QUEUE": "طابور",
-    "QUEUES": "قوائم الانتظار",
-    "QUEUETRANSFER": "تحويل قائمة الانتظار",
-    "QUEUETRANSFERTIMEOUT": "مهلة نقل قائمة الانتظار",
-    "READY": "جاهز",
-    "REALTIME": "في الوقت الحالى",
-    "RECEIVEURL": "تلقي URL",
-    "REFRESH_INTERACTIONS": "تحديث التفاعلات",
     "REMOTE": "التحكم عن بعد",
-    "ROWSPERPAGE": "عدد الصفوف في الصفحة",
-    "SAVE": "حفظ",
-    "SCREENRECORDING": "إدارة تسجيل الشاشة",
-    "SEARCH_FOR_ANYONE": "بحث",
-    "SECRETACCESSKEY": "سر مفتاح الوصول",
-    "SELECTED": "المحدد",
-    "SELECTED_AGENTS": "الوكلاء المختارون",
-    "SELECTED_TEAMS": "فرق مختارة",
-    "SELECT_ALL": "اختر الكل",
-    "SELECT_NONE": "لا تختر شيء",
-    "SEND": "إرسال",
-    "SETTINGS": "الإعدادات",
-    "SPYINTERACTION": "تفاعل التجسس",
-    "STARTEDAT": "بدأت في",
-    "START_SCREENRECORDING": "بدء تسجيل الشاشة",
-    "STATUS": "الحالة",
-    "STOP_SCREENRECORDING": "وقف تسجيل الشاشة",
-    "STRATEGY": "إستراتيجية",
-    "SYSTEM": "النظام",
-    "TAG": "بطاقة شعار",
-    "TAGS": "العلامات",
     "TEAMADD_WHATSAPPQUEUE": "أضف فريقًا إلى قائمة انتظار WhatsApp",
-    "TEAMS_ASSOCIATION": "جمعية الفرق",
-    "TEXT": "نص",
-    "TIMEOUT": "نفذ الوقت",
-    "TIMER": "الموقت",
-    "TIMES": "مرات",
-    "TO": "إلى",
-    "TOKEN": "رمز",
-    "TOOLTIP_SCREENRECORDING_OFF": "تسجيل الشاشة متاح",
-    "TOOLTIP_SCREENRECORDING_ON": "تسجيل الشاشة قيد التقدم",
-    "TRANSFER": "نقل",
-    "TRUEPRIORITY": "أولوية حقيقية",
-    "TYPE": "نوع",
-    "UNPAUSE": "إنهاء وقفة",
-    "VALUE": "القيمة",
-    "VARIABLE": "متغير",
-    "WAITFORTHEASSIGNEDAGENT": "انتظر الوكيل المعين",
-    "WAITING": "انتظار",
-    "WELCOMEMESSAGE": "رسالة ترحيب",
-    "WHATSAPP": "رابط WhatsApp",
     "WHATSAPPACCOUNTS": "حسابات WhatsApp",
     "WHATSAPPCANNEDANSWERS": "إجابات WhatsApp المعلبة",
     "WHATSAPPDISPOSITIONS": "تصرفات WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/cs.json b/public/app/main/apps/whatsapp/i18n/cs.json
index 78e72fe..0cd1dbf 100644
--- a/public/app/main/apps/whatsapp/i18n/cs.json
+++ b/public/app/main/apps/whatsapp/i18n/cs.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Povinné pole",
-      "ACCOUNTSID_REQUIRED": "Povinné pole",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Povinné pole",
-      "AGENT_REQUIRED": "Povinné pole",
-      "AGENT_TIMEOUT_REQUIRED": "Povinné pole",
-      "AUTHTOKEN_REQUIRED": "Povinné pole",
-      "BOTNAME_REQUIRED": "Povinné pole",
-      "COMMAND_REQUIRED": "Povinné pole",
-      "CONDITION_REQUIRED": "Povinné pole",
       "DESCRIPTION_REQUIRED": "Povinné pole",
-      "DISPOSITION_REQUIRED": "Povinné pole",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "FALSEPRIORITY_REQUIRED": "Povinné pole",
-      "KEY_MAX_LENGTH": "Hodnota musí mít maximální délku rovnou {{max}}",
-      "KEY_REQUIRED": "Povinné pole",
       "LANGUAGE_REQUIRED": "Povinné pole",
       "LEXREGION_REQUIRED": "Povinné pole",
-      "LIST_REQUIRED": "Povinné pole",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
-      "NAME_REQUIRED": "Povinné pole",
-      "PHONE_REQUIRED": "Povinné pole",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "PRIORITY_REQUIRED": "Povinné pole",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Povinné pole",
-      "QUEUE_REQUIRED": "Povinné pole",
-      "SECRETACCESSKEY_REQUIRED": "Povinné pole",
-      "TAG_REQUIRED": "Povinné pole",
-      "TEXT_REQUIRED": "Povinné pole",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
-      "TIMEOUT_REQUIRED": "Povinné pole",
       "TIMES_REQUIRED": "Povinné pole",
-      "TOKEN_REQUIRED": "Povinné pole",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "TRUEPRIORITY_REQUIRED": "Povinné pole",
-      "TYPE_REQUIRED": "Povinné pole",
-      "VALUE_REQUIRED": "Povinné pole",
       "VARIABLE_REQUIRED": "Povinné pole",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Hodnota musí být větší nebo rovna",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Hodnota musí být menší nebo rovna",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Povinné pole",
       "WELCOMEMESSAGE_MAX_LENGTH": "Hodnota musí mít maximální délku rovnou {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Povinné pole"
     },
-    "HELP": {
-      "LIST": "Seznam Správce kontaktů používaný k přiřazení kontaktů",
-      "MANDATORYDISPOSITION": "Povinná dispozice",
-      "MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
-      "MOTIONPROXY": "Pole musí mít následující formát: <protocol>: // <ipaddress> [: <port>]. Příklad: https: //X.Y.Z.W",
-      "NAME": "Podporovány jsou pouze čísla, písmena a specifické znaky (._)",
-      "RECEIVEURL": "Toto je automaticky generovaný řetězec API, který musíte použít k přijímání zpráv v účtu od poskytovatele WhatsApp Connector (musí být použita metoda POST): zkopírujte jej kliknutím na tlačítko schránky",
-      "WELCOMEMESSAGE": "Toto je první odezva na nové interakce"
-    },
-    "ACCESSKEYID": "ID přístupového klíče",
-    "ACCOUNTSID": "SID účtu",
-    "ACTIONS": "Akce",
-    "ADD_NOTE": "Přidat poznámku",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Přidat",
     "ADD_WHATSAPPCANNEDANSWER": "Přidat předpřipravenou odpověď",
     "ADD_WHATSAPPDISPOSITION": "Přidat Dispozici WhatsApp",
     "ADD_WHATSAPPQUEUE": "Přidejte frontu WhatsApp",
-    "ADVANCED": "Pokročilý",
-    "AGENT": "Činidlo",
     "AGENTADD_QUEUE": "Přidejte agenta do fronty WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Přidejte agenta do účtu WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Přidejte agenta do fronty WhatsApp",
-    "AGENTS": "Agenti",
-    "AGENTSADD_QUEUE": "Přidejte agenty do fronty WhatsApp",
-    "AGENTTRANSFER": "Převod agentů",
-    "AGENTTRANSFERTIMEOUT": "Časový limit přenosu agenta",
-    "AGENT_TIMEOUT": "Časový limit agenta",
-    "ALL": "Všechno",
-    "ALL_AGENTS": "Všichni agenti",
-    "ALL_TEAMS": "Všechny týmy",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Auth Token",
-    "AUTOREPLY": "Automatická odpověď",
-    "BACK": "Zadní",
-    "BOTNAME": "Název bota",
-    "BUSY": "Zaneprázdněný",
-    "CANNEDANSWERS": "Konzervované odpovědi",
-    "CANNED_ANSWER_NOT_FOUND": "Nebyly nalezeny žádné předpřipravené odpovědi",
-    "CANNED_ANSWER_SEARCH": "Zadejte text pro vyhledání odpovědi v konzervě",
-    "CAPACITY": "Kapacita",
-    "CLOSE": "Zavřít",
-    "CLOSED": "Zavřeno",
-    "CLOSEMETHOD": "Zavřít metodu",
-    "CLOSEURL": "Zavřít URL",
-    "COMMAND": "Příkaz",
-    "CONDITION": "Stav",
-    "CONTACT": "Kontakt",
-    "CREATED_AT": "Vytvořeno v",
-    "DEFAULT_PAUSE": "VÝCHOZÍ PAUSE",
-    "DELETE": "Vymazat",
-    "DELETE_INTERACTION": "Smazat interakci",
-    "DELETE_SELECTED": "Smazat vybrané",
     "DELETE_WHATSAPPACCOUNT": "Odstraňte účet WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Vymazáno",
     "DELETE_WHATSAPPDISPOSITION": "Odstranit Dispozici WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Odstranit frontu WhatsApp",
-    "DESCRIPTION": "Popis",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Dispozice",
-    "DISPOSITIONS": "Dispozice",
-    "DOWNLOAD_INTERACTION": "Stažení",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Stáhnout bez příloh",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Stáhnout s přílohami",
-    "EDIT_AGENT": "Upravit agenta",
-    "EDIT_AMAZONLEX": "Upravit konfiguraci Lex",
-    "EDIT_AUTOREPLY": "Upravit automatickou odpověď",
-    "EDIT_CLOSE": "Upravit Zavřít",
-    "EDIT_DIALOGFLOW": "Upravit konfiguraci DialogFlow",
-    "EDIT_GOTOIF": "Upravit Gotoif",
-    "EDIT_GOTOP": "Upravit Gotop",
-    "EDIT_NOOP": "Upravit Noop",
-    "EDIT_QUEUE": "Upravit frontu",
-    "EDIT_SYSTEM": "Upravit systém",
-    "EDIT_TAG": "Upravit značku",
     "EDIT_WHATSAPPACCOUNT": "Upravit účet WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "Upravit",
     "EDIT_WHATSAPPDISPOSITION": "Upravit WhatsApp Disposition",
     "EDIT_WHATSAPPQUEUE": "Upravit frontu WhatsApp",
-    "FALSEPRIORITY": "Falešná priorita",
-    "GENERAL": "Všeobecné",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Jít nahoru",
     "GOTOREALTIME_WHATSAPPQUEUE": "Přejít do fronty WhatsApp v reálném čase",
     "GO_TO_WHATSAPPACCOUNTS": "Přejít na účet",
-    "ID": "Id",
-    "IDLE": "Líný",
-    "INSERT_MESSAGE_HERE": "Sem vložte zprávu",
-    "INTERACTIONS": "Interakce",
     "INTERACTIONS_WHATSAPPACCOUNT": "Přejít na Interakce",
-    "KEY": "Klíč",
-    "LANGUAGE": "Jazyk",
-    "LASTMESSAGE": "Poslední zpráva",
-    "LEXREGION": "Kraj",
-    "LIST": "Seznam",
-    "LOGGED_IN": "Přihlášen (připojeno SIP)",
-    "LOGIN_TIME": "Čas přihlášení",
-    "LOGOUT": "Odhlásit se",
-    "MANDATORYDISPOSITION": "Povinná dispozice",
-    "MANDATORYDISPOSITIONPAUSEID": "Pozastavit, pokud je povolena povinná dispozice",
-    "MORE": "Více",
-    "MOTIONPROXY": "Proxy nebo pohybová doména",
     "MULTI_SELECT_TOGGLE": "Přepnout na více výběrů",
-    "NAME": "název",
     "NEW_WHATSAPPACCOUNT": "Nový účet WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Nová odpověď na otázku WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Nové dispozice WhatsApp",
     "NEW_WHATSAPPQUEUE": "Nová fronta WhatsApp",
-    "NOOP": "Noop",
-    "NOTE": "Poznámka",
-    "NOTIFICATION": "Oznámení",
-    "NOTIFICATIONSHAKE": "Otřást",
-    "NOTIFICATIONSOUND": "Zvuk",
-    "NOTIFICATIONTEMPLATE": "Šablona",
-    "NO_AGENT_ONLINE": "Žádný agent online",
-    "NO_AVAILABLE_INFO": "Nejsou k dispozici žádné informace",
-    "NO_INTERACTION_AVAILABLE": "K dispozici nejsou žádné interakce",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "K dispozici nejsou žádné odpovědi v WhatsApp",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "K dispozici nejsou žádné dispozice WhatsApp",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nejsou k dispozici žádné účty WhatsApp",
-    "OF": "z",
-    "OPENED": "Otevřeno",
-    "PAGE": "Strana",
-    "PARTIALPAUSE": "Částečná pauza",
-    "PAUSE": "Pauza",
-    "PAUSED": "Pozastaveno",
-    "PAUSE_TIME": "Pauza čas",
-    "PHONE": "Telefon",
-    "PRIORITY": "Přednost",
-    "PROXY": "Proxy",
-    "QUEUE": "Fronta",
-    "QUEUES": "Fronty",
-    "QUEUETRANSFER": "Převod fronty",
-    "QUEUETRANSFERTIMEOUT": "Časový limit přenosu fronty",
-    "READY": "Připraveno",
-    "REALTIME": "Reálný čas",
-    "RECEIVEURL": "Přijmout adresu URL",
-    "REFRESH_INTERACTIONS": "Aktualizujte interakce",
     "REMOTE": "Dálkový",
-    "ROWSPERPAGE": "Řádky na stránku",
-    "SAVE": "Uložit",
-    "SCREENRECORDING": "Spravovat nahrávání obrazovky",
-    "SEARCH_FOR_ANYONE": "Vyhledávání",
-    "SECRETACCESSKEY": "Přístup k tajným klíčům",
-    "SELECTED": "Vybraný",
-    "SELECTED_AGENTS": "Vybraní agenti",
-    "SELECTED_TEAMS": "Vybrané týmy",
-    "SELECT_ALL": "Vybrat vše",
-    "SELECT_NONE": "Vyberte žádný",
-    "SEND": "Poslat",
-    "SETTINGS": "Nastavení",
-    "SPYINTERACTION": "Špionážní interakce",
-    "STARTEDAT": "Začal v",
-    "START_SCREENRECORDING": "Spusťte nahrávání obrazovky",
-    "STATUS": "Postavení",
-    "STOP_SCREENRECORDING": "Zastavte nahrávání obrazovky",
-    "STRATEGY": "Strategie",
-    "SYSTEM": "Systém",
-    "TAG": "Štítek",
-    "TAGS": "Značky",
     "TEAMADD_WHATSAPPQUEUE": "Přidat tým do fronty WhatsApp",
-    "TEAMS_ASSOCIATION": "Asociace týmů",
-    "TEXT": "Text",
-    "TIMEOUT": "Časový limit",
-    "TIMER": "Časovač",
-    "TIMES": "Krát",
-    "TO": "Na",
-    "TOKEN": "Žeton",
-    "TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
-    "TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
-    "TRANSFER": "Převod",
-    "TRUEPRIORITY": "Skutečná priorita",
-    "TYPE": "Typ",
-    "UNPAUSE": "Ukončit pauzu",
-    "VALUE": "Hodnota",
-    "VARIABLE": "Proměnná",
-    "WAITFORTHEASSIGNEDAGENT": "Počkejte na přiřazeného agenta",
-    "WAITING": "Čekání",
-    "WELCOMEMESSAGE": "Uvítací zpráva",
-    "WHATSAPP": "WhatsApp Connector",
     "WHATSAPPACCOUNTS": "WhatsApp účty",
     "WHATSAPPCANNEDANSWERS": "WhatsApp Konzervované odpovědi",
     "WHATSAPPDISPOSITIONS": "Dispozice WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/da.json b/public/app/main/apps/whatsapp/i18n/da.json
index 349e55e..33bed6e 100644
--- a/public/app/main/apps/whatsapp/i18n/da.json
+++ b/public/app/main/apps/whatsapp/i18n/da.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Obligatorisk felt",
-      "ACCOUNTSID_REQUIRED": "Obligatorisk felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "AGENT_REQUIRED": "Obligatorisk felt",
-      "AGENT_TIMEOUT_REQUIRED": "Obligatorisk felt",
-      "AUTHTOKEN_REQUIRED": "Obligatorisk felt",
-      "BOTNAME_REQUIRED": "Obligatorisk felt",
-      "COMMAND_REQUIRED": "Obligatorisk felt",
-      "CONDITION_REQUIRED": "Obligatorisk felt",
       "DESCRIPTION_REQUIRED": "Obligatorisk felt",
-      "DISPOSITION_REQUIRED": "Obligatorisk felt",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
-      "FALSEPRIORITY_REQUIRED": "Obligatorisk felt",
-      "KEY_MAX_LENGTH": "Værdien skal have en maksimal længde lig med {{max}}",
-      "KEY_REQUIRED": "Obligatorisk felt",
       "LANGUAGE_REQUIRED": "Mandtory Field",
       "LEXREGION_REQUIRED": "Obligatorisk felt",
-      "LIST_REQUIRED": "Obligatorisk felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt",
-      "NAME_REQUIRED": "Obligatorisk felt",
-      "PHONE_REQUIRED": "Obligatorisk felt",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
-      "PRIORITY_REQUIRED": "Obligatorisk felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
-      "QUEUE_REQUIRED": "Obligatorisk felt",
-      "SECRETACCESSKEY_REQUIRED": "Obligatorisk felt",
-      "TAG_REQUIRED": "Obligatorisk felt",
-      "TEXT_REQUIRED": "Obligatorisk felt",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
-      "TIMEOUT_REQUIRED": "Obligatorisk felt",
       "TIMES_REQUIRED": "Obligatorisk felt",
-      "TOKEN_REQUIRED": "Obligatorisk felt",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
-      "TRUEPRIORITY_REQUIRED": "Obligatorisk felt",
-      "TYPE_REQUIRED": "Obligatorisk felt",
-      "VALUE_REQUIRED": "Obligatorisk felt",
       "VARIABLE_REQUIRED": "Obligatorisk felt",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre eller lig med",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatorisk felt",
       "WELCOMEMESSAGE_MAX_LENGTH": "Værdien skal have en maksimal længde lig med {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Obligatorisk felt"
     },
-    "HELP": {
-      "LIST": "Kontakt Manager-liste, der bruges til at knytte kontakter",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Brug pause, når obligatorisk disposition er aktiveret",
-      "MOTIONPROXY": "Feltet skal have følgende format: <protokol>: // <adresseadresse> [: <port>]. Eksempel: https: //X.Y.Z.W",
-      "NAME": "Kun tal, bogstaver og specifikke tegn (._) understøttes",
-      "RECEIVEURL": "Dette er den auto-genererede API-streng, du skal bruge til at modtage meddelelserne på din konto fra din WhatsApp Connector-udbyder (der skal bruges POST-metode): Klik på udklipsholder-knappen for at kopiere den",
-      "WELCOMEMESSAGE": "Dette er den første svarmeddelelse sendt til nye interaktioner"
-    },
-    "ACCESSKEYID": "Adgangskode-ID",
-    "ACCOUNTSID": "Konto SID",
-    "ACTIONS": "Handlinger",
-    "ADD_NOTE": "Tilføj note",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Tilføje",
     "ADD_WHATSAPPCANNEDANSWER": "Tilføj konserveret svar",
     "ADD_WHATSAPPDISPOSITION": "Tilføj WhatsApp-disposition",
     "ADD_WHATSAPPQUEUE": "Tilføj WhatsApp-kø",
-    "ADVANCED": "Fremskreden",
-    "AGENT": "Agent",
     "AGENTADD_QUEUE": "Føj agent til WhatsApp-køen",
     "AGENTADD_WHATSAPPACCOUNT": "Føj agent til WhatsApp-konto",
     "AGENTADD_WHATSAPPQUEUE": "Føj agent til WhatsApp-køen",
-    "AGENTS": "Agenter",
-    "AGENTSADD_QUEUE": "Føj agenter til WhatsApp-køen",
-    "AGENTTRANSFER": "Agentoverførsel",
-    "AGENTTRANSFERTIMEOUT": "Agentoverførsels-timeout",
-    "AGENT_TIMEOUT": "Agent timeout",
-    "ALL": "Alle",
-    "ALL_AGENTS": "Alle agenter",
-    "ALL_TEAMS": "Alle hold",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Autentisk token",
-    "AUTOREPLY": "Auto svar",
-    "BACK": "Tilbage",
-    "BOTNAME": "Bot navn",
-    "BUSY": "Travl",
-    "CANNEDANSWERS": "Hermetiske svar",
-    "CANNED_ANSWER_NOT_FOUND": "Ingen konserverede svar blev fundet",
-    "CANNED_ANSWER_SEARCH": "Indtast en tekst for at søge i et hermetisk svar",
-    "CAPACITY": "Kapacitet",
-    "CLOSE": "Tæt",
-    "CLOSED": "Lukket",
-    "CLOSEMETHOD": "Luk metode",
-    "CLOSEURL": "Luk URL",
-    "COMMAND": "Kommando",
-    "CONDITION": "Tilstand",
-    "CONTACT": "Kontakt",
-    "CREATED_AT": "Oprettet kl",
-    "DEFAULT_PAUSE": "DEFAULT PAUSE",
-    "DELETE": "Slet",
-    "DELETE_INTERACTION": "Slet interaktion",
-    "DELETE_SELECTED": "Slet valgt",
     "DELETE_WHATSAPPACCOUNT": "Slet WhatsApp-konto",
     "DELETE_WHATSAPPCANNEDANSWER": "Slettet",
     "DELETE_WHATSAPPDISPOSITION": "Slet WhatsApp-disposition",
     "DELETE_WHATSAPPQUEUE": "Slet WhatsApp-kø",
-    "DESCRIPTION": "Beskrivelse",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "disposition",
-    "DISPOSITIONS": "dispositioner",
-    "DOWNLOAD_INTERACTION": "Hent",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download uden vedhæftede filer",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Download med vedhæftede filer",
-    "EDIT_AGENT": "Rediger agent",
-    "EDIT_AMAZONLEX": "Rediger Lex-konfiguration",
-    "EDIT_AUTOREPLY": "Rediger autosvar",
-    "EDIT_CLOSE": "Rediger Luk",
-    "EDIT_DIALOGFLOW": "Rediger DialogFlow-konfiguration",
-    "EDIT_GOTOIF": "Rediger Gotoif",
-    "EDIT_GOTOP": "Rediger Gotop",
-    "EDIT_NOOP": "Rediger Noop",
-    "EDIT_QUEUE": "Rediger kø",
-    "EDIT_SYSTEM": "Rediger system",
-    "EDIT_TAG": "Rediger tag",
     "EDIT_WHATSAPPACCOUNT": "Rediger WhatsApp-konto",
     "EDIT_WHATSAPPCANNEDANSWER": "Redigere",
     "EDIT_WHATSAPPDISPOSITION": "Rediger WhatsApp-disposition",
     "EDIT_WHATSAPPQUEUE": "Rediger WhatsApp-kø",
-    "FALSEPRIORITY": "Falsk prioritet",
-    "GENERAL": "Generel",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Gå til WhatsApp-kø i realtid",
     "GO_TO_WHATSAPPACCOUNTS": "Gå til konto",
-    "ID": "Id",
-    "IDLE": "Ledig",
-    "INSERT_MESSAGE_HERE": "Indsæt meddelelse her",
-    "INTERACTIONS": "Interaktioner",
     "INTERACTIONS_WHATSAPPACCOUNT": "Gå til interaktioner",
-    "KEY": "Nøgle",
-    "LANGUAGE": "Sprog",
-    "LASTMESSAGE": "Sidste meddelelse",
-    "LEXREGION": "Område",
-    "LIST": "Liste",
-    "LOGGED_IN": "Logget ind (SIP tilsluttet)",
-    "LOGIN_TIME": "Login tid",
-    "LOGOUT": "Log ud",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Brug pause, når obligatorisk disposition er aktiveret",
-    "MORE": "Mere",
-    "MOTIONPROXY": "Proxy- eller bevægelsesdomæne",
     "MULTI_SELECT_TOGGLE": "Multivælge skifte",
-    "NAME": "Navn",
     "NEW_WHATSAPPACCOUNT": "Ny WhatsApp-konto",
     "NEW_WHATSAPPCANNEDANSWER": "Nyt WhatsApp-konserveret svar",
     "NEW_WHATSAPPDISPOSITION": "Ny WhatsApp-disposition",
     "NEW_WHATSAPPQUEUE": "Ny WhatsApp-kø",
-    "NOOP": "Noop",
-    "NOTE": "Bemærk",
-    "NOTIFICATION": "Notifikation",
-    "NOTIFICATIONSHAKE": "Ryste",
-    "NOTIFICATIONSOUND": "Lyd",
-    "NOTIFICATIONTEMPLATE": "Skabelon",
-    "NO_AGENT_ONLINE": "Ingen agent online",
-    "NO_AVAILABLE_INFO": "Ingen tilgængelige oplysninger",
-    "NO_INTERACTION_AVAILABLE": "Ingen interaktioner tilgængelige",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Ingen WhatsApp-konserverede svar tilgængelige",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Der er ingen tilgængelige WhatsApp-dispositioner",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Ingen WhatsApp-konti til rådighed",
-    "OF": "af",
-    "OPENED": "åbnede",
-    "PAGE": "Side",
-    "PARTIALPAUSE": "Delvis pause",
-    "PAUSE": "Pause",
-    "PAUSED": "Pause",
-    "PAUSE_TIME": "Pausetid",
-    "PHONE": "telefon",
-    "PRIORITY": "Prioritet",
-    "PROXY": "Proxy",
-    "QUEUE": "Kø",
-    "QUEUES": "Køer",
-    "QUEUETRANSFER": "Køoverførsel",
-    "QUEUETRANSFERTIMEOUT": "Timeover for køoverførsel",
-    "READY": "Parat",
-    "REALTIME": "Realtid",
-    "RECEIVEURL": "Modtag URL",
-    "REFRESH_INTERACTIONS": "Opdater interaktioner",
     "REMOTE": "Fjern",
-    "ROWSPERPAGE": "Rækker pr. Side",
-    "SAVE": "Gemme",
-    "SCREENRECORDING": "Administrer skærmoptagelse",
-    "SEARCH_FOR_ANYONE": "Søg",
-    "SECRETACCESSKEY": "Adgangsnøglehemmelighed",
-    "SELECTED": "Valgte",
-    "SELECTED_AGENTS": "Udvalgte agenter",
-    "SELECTED_TEAMS": "Udvalgte hold",
-    "SELECT_ALL": "Vælg alle",
-    "SELECT_NONE": "Vælg ingen",
-    "SEND": "Sende",
-    "SETTINGS": "Indstillinger",
-    "SPYINTERACTION": "Spy-interaktion",
-    "STARTEDAT": "Begyndte kl",
-    "START_SCREENRECORDING": "Start skærmoptagelse",
-    "STATUS": "status",
-    "STOP_SCREENRECORDING": "Optagelse af stopskærm",
-    "STRATEGY": "Strategi",
-    "SYSTEM": "System",
-    "TAG": "tag",
-    "TAGS": "Tags",
     "TEAMADD_WHATSAPPQUEUE": "Føj team til WhatsApp-køen",
-    "TEAMS_ASSOCIATION": "Holdforening",
-    "TEXT": "Tekst",
-    "TIMEOUT": "Tiden er gået",
-    "TIMER": "Timer",
-    "TIMES": "Times",
-    "TO": "Til",
-    "TOKEN": "Polet",
-    "TOOLTIP_SCREENRECORDING_OFF": "Screen optagelse tilgængelig",
-    "TOOLTIP_SCREENRECORDING_ON": "Skærmoptagelse pågår",
-    "TRANSFER": "Overførsel",
-    "TRUEPRIORITY": "Ægte prioritet",
-    "TYPE": "Type",
-    "UNPAUSE": "Slutpause",
-    "VALUE": "Værdi",
-    "VARIABLE": "Variabel",
-    "WAITFORTHEASSIGNEDAGENT": "Vent på den tildelte agent",
-    "WAITING": "Venter",
-    "WELCOMEMESSAGE": "Velkomstbesked",
-    "WHATSAPP": "WhatsApp-stik",
     "WHATSAPPACCOUNTS": "WhatsApp-konti",
     "WHATSAPPCANNEDANSWERS": "WhatsApp-konserverede svar",
     "WHATSAPPDISPOSITIONS": "WhatsApp-dispositioner",
diff --git a/public/app/main/apps/whatsapp/i18n/de.json b/public/app/main/apps/whatsapp/i18n/de.json
index bf0668f..b16b468 100644
--- a/public/app/main/apps/whatsapp/i18n/de.json
+++ b/public/app/main/apps/whatsapp/i18n/de.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Pflichtfeld",
-      "ACCOUNTSID_REQUIRED": "Pflichtfeld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "AGENT_REQUIRED": "Pflichtfeld",
-      "AGENT_TIMEOUT_REQUIRED": "Pflichtfeld",
-      "AUTHTOKEN_REQUIRED": "Pflichtfeld",
-      "BOTNAME_REQUIRED": "Pflichtfeld",
-      "COMMAND_REQUIRED": "Pflichtfeld",
-      "CONDITION_REQUIRED": "Pflichtfeld",
       "DESCRIPTION_REQUIRED": "Pflichtfeld",
-      "DISPOSITION_REQUIRED": "Pflichtfeld",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
-      "FALSEPRIORITY_REQUIRED": "Pflichtfeld",
-      "KEY_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
-      "KEY_REQUIRED": "Pflichtfeld",
       "LANGUAGE_REQUIRED": "Pflichtfeld",
       "LEXREGION_REQUIRED": "Pflichtfeld",
-      "LIST_REQUIRED": "Pflichtfeld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld",
-      "NAME_REQUIRED": "Pflichtfeld",
-      "PHONE_REQUIRED": "Pflichtfeld",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
-      "PRIORITY_REQUIRED": "Pflichtfeld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
-      "QUEUE_REQUIRED": "Pflichtfeld",
-      "SECRETACCESSKEY_REQUIRED": "Pflichtfeld",
-      "TAG_REQUIRED": "Pflichtfeld",
-      "TEXT_REQUIRED": "Pflichtfeld",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "TIMEOUT_REQUIRED": "Pflichtfeld",
       "TIMES_REQUIRED": "Pflichtfeld",
-      "TOKEN_REQUIRED": "Pflichtfeld",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
-      "TRUEPRIORITY_REQUIRED": "Pflichtfeld",
-      "TYPE_REQUIRED": "Pflichtfeld",
-      "VALUE_REQUIRED": "Pflichtfeld",
       "VARIABLE_REQUIRED": "Pflichtfeld",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein als",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pflichtfeld",
       "WELCOMEMESSAGE_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
       "WELCOMEMESSAGE_REQUIRED": "Pflichtfeld"
     },
-    "HELP": {
-      "LIST": "Kontaktmanagerliste zum Zuordnen von Kontakten",
-      "MANDATORYDISPOSITION": "Obligatorische Disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause, um zu verwenden, wenn die obligatorische Disposition aktiviert ist",
-      "MOTIONPROXY": "Das Feld muss das folgende Format haben: <Protokoll>: // <IP-Adresse> [: <Port>]. Beispiel: https: //X.Y.Z.W",
-      "NAME": "Es werden nur Zahlen, Buchstaben und bestimmte Zeichen (._) unterstützt",
-      "RECEIVEURL": "Dies ist die automatisch generierte API-Zeichenfolge, die Sie zum Empfangen der Nachrichten in Ihrem Konto von Ihrem WhatsApp Connector-Anbieter verwenden müssen (POST-Methode muss verwendet werden): Klicken Sie auf die Schaltfläche in der Zwischenablage, um sie zu kopieren",
-      "WELCOMEMESSAGE": "Dies ist die erste Antwortnachricht, die an neue Interaktionen gesendet wird"
-    },
-    "ACCESSKEYID": "Zugriffsschlüssel-ID",
-    "ACCOUNTSID": "Konto-SID",
-    "ACTIONS": "Aktionen",
-    "ADD_NOTE": "Notiz hinzufügen",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Hinzufügen",
     "ADD_WHATSAPPCANNEDANSWER": "Eingemachte Antwort hinzufügen",
     "ADD_WHATSAPPDISPOSITION": "WhatsApp Disposition hinzufügen",
     "ADD_WHATSAPPQUEUE": "WhatsApp-Warteschlange hinzufügen",
-    "ADVANCED": "Fortgeschrittene",
-    "AGENT": "Agent",
     "AGENTADD_QUEUE": "Agent zur WhatsApp-Warteschlange hinzufügen",
     "AGENTADD_WHATSAPPACCOUNT": "Agent zum WhatsApp-Konto hinzufügen",
     "AGENTADD_WHATSAPPQUEUE": "Agent zur WhatsApp-Warteschlange hinzufügen",
-    "AGENTS": "Agenten",
-    "AGENTSADD_QUEUE": "Hinzufügen von Agenten zur WhatsApp-Warteschlange",
-    "AGENTTRANSFER": "Agententransfer",
-    "AGENTTRANSFERTIMEOUT": "Zeitüberschreitung bei der Agentenübertragung",
-    "AGENT_TIMEOUT": "Agent Timeout",
-    "ALL": "Alles",
-    "ALL_AGENTS": "Alle Agenten",
-    "ALL_TEAMS": "Alle Teams",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Auth Token",
-    "AUTOREPLY": "Automatische Antwort",
-    "BACK": "Zurück",
-    "BOTNAME": "Bot Name",
-    "BUSY": "Beschäftigt",
-    "CANNEDANSWERS": "Eingemachte Antworten",
-    "CANNED_ANSWER_NOT_FOUND": "Es wurden keine Antworten in Dosen gefunden",
-    "CANNED_ANSWER_SEARCH": "Geben Sie einen Text ein, um eine vordefinierte Antwort zu suchen",
-    "CAPACITY": "Kapazität",
-    "CLOSE": "Schließen",
-    "CLOSED": "Geschlossen",
-    "CLOSEMETHOD": "Methode schließen",
-    "CLOSEURL": "URL schließen",
-    "COMMAND": "Befehl",
-    "CONDITION": "Bedingung",
-    "CONTACT": "Kontakt",
-    "CREATED_AT": "Hergestellt in",
-    "DEFAULT_PAUSE": "STANDARD PAUSE",
-    "DELETE": "Löschen",
-    "DELETE_INTERACTION": "Interaktion löschen",
-    "DELETE_SELECTED": "Ausgewählte löschen",
     "DELETE_WHATSAPPACCOUNT": "WhatsApp-Konto löschen",
     "DELETE_WHATSAPPCANNEDANSWER": "Gelöscht",
     "DELETE_WHATSAPPDISPOSITION": "WhatsApp-Disposition löschen",
     "DELETE_WHATSAPPQUEUE": "WhatsApp-Warteschlange löschen",
-    "DESCRIPTION": "Beschreibung",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Anordnung",
-    "DISPOSITIONS": "Dispositionen",
-    "DOWNLOAD_INTERACTION": "Herunterladen",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Ohne Anhänge herunterladen",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Mit Anhängen herunterladen",
-    "EDIT_AGENT": "Agent bearbeiten",
-    "EDIT_AMAZONLEX": "Bearbeiten Sie die Lex-Konfiguration",
-    "EDIT_AUTOREPLY": "Automatische Antwort bearbeiten",
-    "EDIT_CLOSE": "Bearbeiten Schließen",
-    "EDIT_DIALOGFLOW": "Bearbeiten Sie die DialogFlow-Konfiguration",
-    "EDIT_GOTOIF": "Bearbeiten Sie Gotoif",
-    "EDIT_GOTOP": "Gotop bearbeiten",
-    "EDIT_NOOP": "Noop bearbeiten",
-    "EDIT_QUEUE": "Warteschlange bearbeiten",
-    "EDIT_SYSTEM": "System bearbeiten",
-    "EDIT_TAG": "Tag bearbeiten",
     "EDIT_WHATSAPPACCOUNT": "WhatsApp-Konto bearbeiten",
     "EDIT_WHATSAPPCANNEDANSWER": "Bearbeiten",
     "EDIT_WHATSAPPDISPOSITION": "WhatsApp-Disposition bearbeiten",
     "EDIT_WHATSAPPQUEUE": "Bearbeiten Sie die WhatsApp-Warteschlange",
-    "FALSEPRIORITY": "Falsche Priorität",
-    "GENERAL": "Allgemeines",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Zum Seitenanfang",
     "GOTOREALTIME_WHATSAPPQUEUE": "Wechseln Sie zur WhatsApp-Warteschlange in Echtzeit",
     "GO_TO_WHATSAPPACCOUNTS": "Gehe zu Konto",
-    "ID": "Ich würde",
-    "IDLE": "Leerlauf",
-    "INSERT_MESSAGE_HERE": "Nachricht hier einfügen",
-    "INTERACTIONS": "Interaktionen",
     "INTERACTIONS_WHATSAPPACCOUNT": "Gehen Sie zu Interaktionen",
-    "KEY": "Schlüssel",
-    "LANGUAGE": "Sprache",
-    "LASTMESSAGE": "Letzte Nachricht",
-    "LEXREGION": "Region",
-    "LIST": "Aufführen",
-    "LOGGED_IN": "Eingeloggt (SIP verbunden)",
-    "LOGIN_TIME": "Anmeldezeit",
-    "LOGOUT": "Ausloggen",
-    "MANDATORYDISPOSITION": "Obligatorische Disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause, um zu verwenden, wenn die obligatorische Disposition aktiviert ist",
-    "MORE": "Mehr",
-    "MOTIONPROXY": "Proxy- oder Bewegungsdomäne",
     "MULTI_SELECT_TOGGLE": "Mehrfachauswahl umschalten",
-    "NAME": "Name",
     "NEW_WHATSAPPACCOUNT": "Neues WhatsApp-Konto",
     "NEW_WHATSAPPCANNEDANSWER": "Neue WhatsApp-Antwort in Dosen",
     "NEW_WHATSAPPDISPOSITION": "Neue WhatsApp-Disposition",
     "NEW_WHATSAPPQUEUE": "Neue WhatsApp-Warteschlange",
-    "NOOP": "Noop",
-    "NOTE": "Hinweis",
-    "NOTIFICATION": "Benachrichtigung",
-    "NOTIFICATIONSHAKE": "Shake",
-    "NOTIFICATIONSOUND": "Klang",
-    "NOTIFICATIONTEMPLATE": "Vorlage",
-    "NO_AGENT_ONLINE": "Kein Agent online",
-    "NO_AVAILABLE_INFO": "Keine verfügbaren Informationen",
-    "NO_INTERACTION_AVAILABLE": "Keine Interaktionen verfügbar",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Keine WhatsApp-Antworten verfügbar",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Keine WhatsApp-Dispositionen verfügbar",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Keine WhatsApp-Konten verfügbar",
-    "OF": "von",
-    "OPENED": "Geöffnet",
-    "PAGE": "Seite",
-    "PARTIALPAUSE": "Teilpause",
-    "PAUSE": "Pause",
-    "PAUSED": "Pause",
-    "PAUSE_TIME": "Pausenzeit",
-    "PHONE": "Telefon",
-    "PRIORITY": "Priorität",
-    "PROXY": "Proxy",
-    "QUEUE": "Warteschlange",
-    "QUEUES": "Warteschlangen",
-    "QUEUETRANSFER": "Warteschlangenübertragung",
-    "QUEUETRANSFERTIMEOUT": "Zeitüberschreitung bei der Warteschlangenübertragung",
-    "READY": "Bereit",
-    "REALTIME": "Echtzeit",
-    "RECEIVEURL": "URL erhalten",
-    "REFRESH_INTERACTIONS": "Interaktionen aktualisieren",
     "REMOTE": "Fernbedienung",
-    "ROWSPERPAGE": "Zeilen pro Seite",
-    "SAVE": "sparen",
-    "SCREENRECORDING": "Bildschirmaufzeichnung verwalten",
-    "SEARCH_FOR_ANYONE": "Suche",
-    "SECRETACCESSKEY": "Zugriffsschlüsselgeheimnis",
-    "SELECTED": "Ausgewählt",
-    "SELECTED_AGENTS": "Ausgewählte Agenten",
-    "SELECTED_TEAMS": "Ausgewählte Teams",
-    "SELECT_ALL": "Wählen Sie Alle",
-    "SELECT_NONE": "Nichts ausgewählt",
-    "SEND": "Senden",
-    "SETTINGS": "die Einstellungen",
-    "SPYINTERACTION": "Spionage-Interaktion",
-    "STARTEDAT": "Fing an bei",
-    "START_SCREENRECORDING": "Bildschirmaufnahme starten",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Bildschirmaufzeichnung stoppen",
-    "STRATEGY": "Strategie",
-    "SYSTEM": "System",
-    "TAG": "Etikett",
-    "TAGS": "Stichworte",
     "TEAMADD_WHATSAPPQUEUE": "Team zur WhatsApp-Warteschlange hinzufügen",
-    "TEAMS_ASSOCIATION": "Mannschaftsverband",
-    "TEXT": "Text",
-    "TIMEOUT": "Auszeit",
-    "TIMER": "Timer",
-    "TIMES": "Mal",
-    "TO": "Zu",
-    "TOKEN": "Zeichen",
-    "TOOLTIP_SCREENRECORDING_OFF": "Bildschirmaufnahme verfügbar",
-    "TOOLTIP_SCREENRECORDING_ON": "Bildschirmaufnahme läuft",
-    "TRANSFER": "Transfer",
-    "TRUEPRIORITY": "Wahre Priorität",
-    "TYPE": "Art",
-    "UNPAUSE": "Pause beenden",
-    "VALUE": "Wert",
-    "VARIABLE": "Variable",
-    "WAITFORTHEASSIGNEDAGENT": "Warten Sie auf den zugewiesenen Agenten",
-    "WAITING": "Warten",
-    "WELCOMEMESSAGE": "Willkommensnachricht",
-    "WHATSAPP": "WhatsApp Connector",
     "WHATSAPPACCOUNTS": "WhatsApp-Konten",
     "WHATSAPPCANNEDANSWERS": "WhatsApp Canned Answers",
     "WHATSAPPDISPOSITIONS": "WhatsApp Dispositionen",
diff --git a/public/app/main/apps/whatsapp/i18n/en.json b/public/app/main/apps/whatsapp/i18n/en.json
index 0920067..7793c6d 100644
--- a/public/app/main/apps/whatsapp/i18n/en.json
+++ b/public/app/main/apps/whatsapp/i18n/en.json
@@ -1,241 +1,44 @@
 {
   "WHATSAPP": {
-    "EDIT_DIALOGFLOWV2": "Edit Dialogflow V2",
-    "DIALOGFLOWV2": "Dialogflow V2",
-    "PRIVATEKEY": "Private Key",
-    "CLIENTEMAIL": "Client Email",
-    "PROJECTID": "Project ID",
-    "ACCESSKEYID": "Access Key ID",
-    "ACCOUNTSID": "Account SID",
-    "ACTIONS": "Actions",
-    "ADD_NOTE": "Add note",
     "ADD_WHATSAPPACCOUNT": "Add",
     "ADD_WHATSAPPCANNEDANSWER": "Add Canned Answer",
     "ADD_WHATSAPPDISPOSITION": "Add WhatsApp Disposition",
     "ADD_WHATSAPPQUEUE": "Add WhatsApp queue",
-    "ADVANCED": "Advanced",
-    "AGENT": "Agent",
-    "AGENT_TIMEOUT": "Agent Timeout",
     "AGENTADD_QUEUE": "Add Agent To WhatsApp Queue",
     "AGENTADD_WHATSAPPACCOUNT": "Add Agent To WhatsApp Account",
     "AGENTADD_WHATSAPPQUEUE": "Add Agent To WhatsApp Queue",
-    "AGENTS": "Agents",
-    "AGENTSADD_QUEUE": "Add agents to WhatsApp queue",
-    "AGENTTRANSFER": "Agent Transfer",
-    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
-    "ALL": "All",
-    "ALL_AGENTS": "All Agents",
-    "ALL_TEAMS": "All Teams",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Auth Token",
-    "AUTOREPLY": "Auto Reply",
-    "BACK": "Back",
-    "BOTNAME": "Bot Name",
-    "BUSY": "Busy",
-    "CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
-    "CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
-    "CANNEDANSWERS": "Canned Answers",
-    "CAPACITY": "Capacity",
-    "CLOSE": "Close",
-    "CLOSED": "Closed",
-    "CLOSEMETHOD": "Close Method",
-    "CLOSEURL": "Close URL",
-    "COMMAND": "Command",
-    "CONDITION": "Condition",
-    "CONTACT": "Contact",
-    "CREATED_AT": "Created at",
-    "DEFAULT_PAUSE": "DEFAULT PAUSE",
-    "DELETE": "Delete",
-    "DELETE_INTERACTION": "Delete Interaction",
-    "DELETE_SELECTED": "Delete selected",
     "DELETE_WHATSAPPACCOUNT": "Delete WhatsApp Account",
     "DELETE_WHATSAPPCANNEDANSWER": "Deleted",
     "DELETE_WHATSAPPDISPOSITION": "Delete WhatsApp Disposition",
     "DELETE_WHATSAPPQUEUE": "Delete WhatsApp Queue",
-    "DESCRIPTION": "Description",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposition",
-    "DISPOSITIONS": "Dispositions",
-    "DOWNLOAD_INTERACTION": "Download",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Download With Attachments",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download Without Attachments",
-    "EDIT_AGENT": "Edit Agent",
-    "EDIT_AMAZONLEX": "Edit Lex configuration",
-    "EDIT_AUTOREPLY": "Edit Auto Reply",
-    "EDIT_CLOSE": "Edit Close",
-    "EDIT_DIALOGFLOW": "Edit DialogFlow configuration",
-    "EDIT_GOTOIF": "Edit Gotoif",
-    "EDIT_GOTOP": "Edit Gotop",
-    "EDIT_NOOP": "Edit Noop",
-    "EDIT_QUEUE": "Edit Queue",
-    "EDIT_SYSTEM": "Edit System",
-    "EDIT_TAG": "Edit Tag",
     "EDIT_WHATSAPPACCOUNT": "Edit WhatsApp Account",
     "EDIT_WHATSAPPCANNEDANSWER": "Edit",
     "EDIT_WHATSAPPDISPOSITION": "Edit WhatsApp Disposition",
     "EDIT_WHATSAPPQUEUE": "Edit WhatsApp Queue",
     "ERRORS": {
-      "PROJECTID_REQUIRED": "Mandatory Field",
-      "CLIENTEMAIL_REQUIRED": "Mandatory Field",
-      "PRIVATEKEY_REQUIRED": "Mandatory Field",
-      "ACCESSKEYID_REQUIRED": "Mandatory Field",
-      "ACCOUNTSID_REQUIRED": "Mandatory Field",
-      "AGENT_REQUIRED": "Mandatory Field",
-      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "AUTHTOKEN_REQUIRED": "Mandatory Field",
-      "BOTNAME_REQUIRED": "Mandatory Field",
-      "COMMAND_REQUIRED": "Mandatory Field",
-      "CONDITION_REQUIRED": "Mandatory Field",
       "DESCRIPTION_REQUIRED": "Mandatory Field",
-      "DISPOSITION_REQUIRED": "Mandatory Field",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
-      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
-      "KEY_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
-      "KEY_REQUIRED": "Mandatory Field",
       "LANGUAGE_REQUIRED": "Mandtory Field",
       "LEXREGION_REQUIRED": "Mandatory Field",
-      "LIST_REQUIRED": "Mandatory Field",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory Field",
-      "NAME_REQUIRED": "Mandatory Field",
-      "PHONE_REQUIRED": "Mandatory Field",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
-      "PRIORITY_REQUIRED": "Mandatory Field",
-      "QUEUE_REQUIRED": "Mandatory Field",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
-      "SECRETACCESSKEY_REQUIRED": "Mandatory Field",
-      "TAG_REQUIRED": "Mandatory Field",
-      "TEXT_REQUIRED": "Mandatory Field",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
-      "TIMEOUT_REQUIRED": "Mandatory Field",
       "TIMES_REQUIRED": "Mandatory Field",
-      "TOKEN_REQUIRED": "Mandatory Field",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
-      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
-      "TYPE_REQUIRED": "Mandatory Field",
-      "VALUE_REQUIRED": "Mandatory Field",
       "VARIABLE_REQUIRED": "Mandatory Field",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater or equal than",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less or equal than",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
       "WELCOMEMESSAGE_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Mandatory Field"
     },
-    "FALSEPRIORITY": "False Priority",
-    "GENERAL": "General",
     "GO_TO_WHATSAPPACCOUNTS": "Go To Account",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Go To Realtime WhatsApp Queue",
-    "HELP": {
-      "LIST": "Contact Manager list used to associate contacts",
-      "MANDATORYDISPOSITION": "Mandatory disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
-      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
-      "NAME": "Only numbers, letters and specific characters (._) are supported",
-      "RECEIVEURL": "This is the auto-generated API string you need to use to receive the messages inside your account from your WhatsApp Connector provider (POST method must be used): click the clipboard button to copy it",
-      "WELCOMEMESSAGE": "This is the first response message sent to new interactions"
-    },
-    "ID": "Id",
-    "IDLE": "Idle",
-    "INSERT_MESSAGE_HERE": "Insert message here",
-    "INTERACTIONS": "Interactions",
+    "HELP": {},
     "INTERACTIONS_WHATSAPPACCOUNT": "Go to Interactions",
-    "KEY": "Key",
-    "LANGUAGE": "Language",
-    "LASTMESSAGE": "Last Message",
-    "LEXREGION": "Region",
-    "LIST": "List",
-    "LOGGED_IN": "Logged In (SIP Connected)",
-    "LOGIN_TIME": "Login Time",
-    "LOGOUT": "Logout",
-    "MANDATORYDISPOSITION": "Mandatory Disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause to use when mandatory disposition is enabled",
-    "MORE": "More",
-    "MOTIONPROXY": "Proxy Or Motion Domain",
     "MULTI_SELECT_TOGGLE": "Multi select toggle",
-    "NAME": "Name",
     "NEW_WHATSAPPACCOUNT": "New WhatsApp Account",
     "NEW_WHATSAPPCANNEDANSWER": "New WhatsApp Canned Answer",
     "NEW_WHATSAPPDISPOSITION": "New WhatsApp Disposition",
     "NEW_WHATSAPPQUEUE": "New WhatsApp Queue",
-    "NO_AGENT_ONLINE": "No Agent Online",
-    "NO_AVAILABLE_INFO": "No Available Info",
-    "NO_INTERACTION_AVAILABLE": "No Interactions Available",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "No WhatsApp Accounts available",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "No WhatsApp Canned Answers Available",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "No WhatsApp Dispositions Available",
-    "NOOP": "Noop",
-    "NOTE": "Note",
-    "NOTIFICATION": "Notification",
-    "NOTIFICATIONSHAKE": "Shake",
-    "NOTIFICATIONSOUND": "Sound",
-    "NOTIFICATIONTEMPLATE": "Template",
-    "OF": "of",
-    "OPENED": "Opened",
-    "PAGE": "Page",
-    "PARTIALPAUSE": "Partial Pause",
-    "PAUSE": "Pause",
-    "PAUSE_TIME": "Pause Time",
-    "PAUSED": "Paused",
-    "PHONE": "Phone",
-    "PRIORITY": "Priority",
-    "PROXY": "Proxy",
-    "QUEUE": "Queue",
-    "QUEUES": "Queues",
-    "QUEUETRANSFER": "Queue Transfer",
-    "QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
-    "READY": "Ready",
-    "REALTIME": "Realtime",
-    "RECEIVEURL": "Receive URL",
-    "REFRESH_INTERACTIONS": "Refresh Interactions",
     "REMOTE": "Remote",
-    "ROWSPERPAGE": "Rows per page",
-    "SAVE": "Save",
-    "SCREENRECORDING": "Manage Screen Recording",
-    "SEARCH_FOR_ANYONE": "Search",
-    "SECRETACCESSKEY": "Access key secret",
-    "SELECT_ALL": "Select all",
-    "SELECT_NONE": "Select none",
-    "SELECTED": "Selected",
-    "SELECTED_AGENTS": "Selected Agents",
-    "SELECTED_TEAMS": "Selected Teams",
-    "SEND": "Send",
-    "SETTINGS": "Settings",
-    "SPYINTERACTION": "Spy Interaction",
-    "START_SCREENRECORDING": "Start Screen Recording",
-    "STARTEDAT": "Started at",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Stop Screen Recording",
-    "STRATEGY": "Strategy",
-    "SYSTEM": "System",
-    "TAG": "Tag",
-    "TAGS": "Tags",
     "TEAMADD_WHATSAPPQUEUE": "Add Team To WhatsApp Queue",
-    "TEAMS_ASSOCIATION": "Teams Association",
-    "TEXT": "Text",
-    "TIMEOUT": "Timeout",
-    "TIMER": "Timer",
-    "TIMES": "Times",
-    "TO": "To",
-    "TOKEN": "Token",
-    "TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available",
-    "TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
-    "TRANSFER": "Transfer",
-    "TRUEPRIORITY": "True Priority",
-    "TYPE": "Type",
-    "UNPAUSE": "End Pause",
-    "VALUE": "Value",
-    "VARIABLE": "Variable",
-    "WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
-    "WAITING": "Waiting",
-    "WELCOMEMESSAGE": "Welcome Message",
-    "WHATSAPP": "WhatsApp Connector",
     "WHATSAPPACCOUNTS": "WhatsApp Accounts",
     "WHATSAPPCANNEDANSWERS": "WhatsApp Canned Answers",
     "WHATSAPPDISPOSITIONS": "WhatsApp Dispositions",
diff --git a/public/app/main/apps/whatsapp/i18n/es.json b/public/app/main/apps/whatsapp/i18n/es.json
index 0349257..fcd6077 100644
--- a/public/app/main/apps/whatsapp/i18n/es.json
+++ b/public/app/main/apps/whatsapp/i18n/es.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Campo obligatorio",
-      "ACCOUNTSID_REQUIRED": "Campo obligatorio",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "AGENT_REQUIRED": "Campo obligatorio",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio",
-      "AUTHTOKEN_REQUIRED": "Campo obligatorio",
-      "BOTNAME_REQUIRED": "Campo obligatorio",
-      "COMMAND_REQUIRED": "Campo obligatorio",
-      "CONDITION_REQUIRED": "Campo obligatorio",
       "DESCRIPTION_REQUIRED": "Campo obligatorio",
-      "DISPOSITION_REQUIRED": "Campo obligatorio",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "FALSEPRIORITY_REQUIRED": "Campo obligatorio",
-      "KEY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
-      "KEY_REQUIRED": "Campo obligatorio",
       "LANGUAGE_REQUIRED": "Campo mandtory",
       "LEXREGION_REQUIRED": "Campo obligatorio",
-      "LIST_REQUIRED": "Campo obligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio",
-      "NAME_REQUIRED": "Campo obligatorio",
-      "PHONE_REQUIRED": "Campo obligatorio",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "PRIORITY_REQUIRED": "Campo obligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
-      "QUEUE_REQUIRED": "Campo obligatorio",
-      "SECRETACCESSKEY_REQUIRED": "Campo obligatorio",
-      "TAG_REQUIRED": "Campo obligatorio",
-      "TEXT_REQUIRED": "Campo obligatorio",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "TIMEOUT_REQUIRED": "Campo obligatorio",
       "TIMES_REQUIRED": "Campo obligatorio",
-      "TOKEN_REQUIRED": "Campo obligatorio",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "TRUEPRIORITY_REQUIRED": "Campo obligatorio",
-      "TYPE_REQUIRED": "Campo obligatorio",
-      "VALUE_REQUIRED": "Campo obligatorio",
       "VARIABLE_REQUIRED": "Campo obligatorio",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obligatorio",
       "WELCOMEMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Campo obligatorio"
     },
-    "HELP": {
-      "LIST": "Lista de administrador de contactos utilizada para asociar contactos",
-      "MANDATORYDISPOSITION": "Disposición obligatoria",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar cuando la disposición obligatoria está habilitada",
-      "MOTIONPROXY": "El campo debe tener el siguiente formato: <protocolo>: // <direccionip> [: <puerto>]. Ejemplo: https: //X.Y.Z.W",
-      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
-      "RECEIVEURL": "Esta es la cadena de API generada automáticamente que debe usar para recibir los mensajes dentro de su cuenta de su proveedor de conector de WhatsApp (se debe usar el método POST): haga clic en el botón del portapapeles para copiarlo",
-      "WELCOMEMESSAGE": "Este es el primer mensaje de respuesta enviado a nuevas interacciones."
-    },
-    "ACCESSKEYID": "ID de clave de acceso",
-    "ACCOUNTSID": "SID de cuenta",
-    "ACTIONS": "Comportamiento",
-    "ADD_NOTE": "Añadir la nota",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Añadir",
     "ADD_WHATSAPPCANNEDANSWER": "Agregar respuesta predefinida",
     "ADD_WHATSAPPDISPOSITION": "Agregar disposición de WhatsApp",
     "ADD_WHATSAPPQUEUE": "Agregar cola de WhatsApp",
-    "ADVANCED": "Avanzado",
-    "AGENT": "Agente",
     "AGENTADD_QUEUE": "Agregar agente a la cola de WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Agregar agente a la cuenta de WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Agregar agente a la cola de WhatsApp",
-    "AGENTS": "Agentes",
-    "AGENTSADD_QUEUE": "Agregar agentes a la cola de WhatsApp",
-    "AGENTTRANSFER": "Transferencia de agente",
-    "AGENTTRANSFERTIMEOUT": "Tiempo de espera de transferencia del agente",
-    "AGENT_TIMEOUT": "Tiempo de espera del agente",
-    "ALL": "Todas",
-    "ALL_AGENTS": "Todos los agentes",
-    "ALL_TEAMS": "Todos los equipos",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Token de autenticación",
-    "AUTOREPLY": "Respuesta automática",
-    "BACK": "Espalda",
-    "BOTNAME": "Nombre del bot",
-    "BUSY": "Ocupado",
-    "CANNEDANSWERS": "Respuestas enlatadas",
-    "CANNED_ANSWER_NOT_FOUND": "No se encontraron respuestas enlatadas",
-    "CANNED_ANSWER_SEARCH": "Ingrese un texto para buscar una respuesta predefinida",
-    "CAPACITY": "Capacidad",
-    "CLOSE": "Cerca",
-    "CLOSED": "Cerrado",
-    "CLOSEMETHOD": "Método de cierre",
-    "CLOSEURL": "Cerrar URL",
-    "COMMAND": "Mando",
-    "CONDITION": "Condición",
-    "CONTACT": "Contacto",
-    "CREATED_AT": "Creado en",
-    "DEFAULT_PAUSE": "PAUSA POR DEFECTO",
-    "DELETE": "Eliminar",
-    "DELETE_INTERACTION": "Eliminar interacción",
-    "DELETE_SELECTED": "Eliminar seleccionado",
     "DELETE_WHATSAPPACCOUNT": "Eliminar cuenta de WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Eliminado",
     "DELETE_WHATSAPPDISPOSITION": "Eliminar la disposición de WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Eliminar la cola de WhatsApp",
-    "DESCRIPTION": "Descripción",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposición",
-    "DISPOSITIONS": "Plan",
-    "DOWNLOAD_INTERACTION": "Descargar",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Descargar sin archivos adjuntos",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Descargar con archivos adjuntos",
-    "EDIT_AGENT": "Editar agente",
-    "EDIT_AMAZONLEX": "Editar la configuración de Lex",
-    "EDIT_AUTOREPLY": "Editar respuesta automática",
-    "EDIT_CLOSE": "Editar Cerrar",
-    "EDIT_DIALOGFLOW": "Editar la configuración de DialogFlow",
-    "EDIT_GOTOIF": "Editar Gotoif",
-    "EDIT_GOTOP": "Editar Gotop",
-    "EDIT_NOOP": "Editar Noop",
-    "EDIT_QUEUE": "Editar cola",
-    "EDIT_SYSTEM": "Editar sistema",
-    "EDIT_TAG": "Editar etiqueta",
     "EDIT_WHATSAPPACCOUNT": "Editar cuenta de WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "Editar",
     "EDIT_WHATSAPPDISPOSITION": "Editar la disposición de WhatsApp",
     "EDIT_WHATSAPPQUEUE": "Editar la cola de WhatsApp",
-    "FALSEPRIORITY": "Prioridad falsa",
-    "GENERAL": "General",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Ve arriba",
     "GOTOREALTIME_WHATSAPPQUEUE": "Ir a la cola de WhatsApp en tiempo real",
     "GO_TO_WHATSAPPACCOUNTS": "Ir a cuenta",
-    "ID": "Carné de identidad",
-    "IDLE": "Ocioso",
-    "INSERT_MESSAGE_HERE": "Insertar mensaje aquí",
-    "INTERACTIONS": "Interacciones",
     "INTERACTIONS_WHATSAPPACCOUNT": "Ir a Interacciones",
-    "KEY": "Llave",
-    "LANGUAGE": "Idioma",
-    "LASTMESSAGE": "Ultimo mensaje",
-    "LEXREGION": "Región",
-    "LIST": "Lista",
-    "LOGGED_IN": "Conectado (SIP conectado)",
-    "LOGIN_TIME": "Hora de inicio de sesión",
-    "LOGOUT": "Cerrar sesión",
-    "MANDATORYDISPOSITION": "Disposición obligatoria",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausar para usar cuando la disposición obligatoria está habilitada",
-    "MORE": "Más",
-    "MOTIONPROXY": "Proxy o dominio de movimiento",
     "MULTI_SELECT_TOGGLE": "Alternar selección múltiple",
-    "NAME": "Nombre",
     "NEW_WHATSAPPACCOUNT": "Nueva cuenta de WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Nueva respuesta enlatada de WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Nueva disposición de WhatsApp",
     "NEW_WHATSAPPQUEUE": "Nueva cola de WhatsApp",
-    "NOOP": "Noop",
-    "NOTE": "Nota",
-    "NOTIFICATION": "Notificación",
-    "NOTIFICATIONSHAKE": "Sacudir",
-    "NOTIFICATIONSOUND": "Sonido",
-    "NOTIFICATIONTEMPLATE": "Modelo",
-    "NO_AGENT_ONLINE": "Ningún agente en línea",
-    "NO_AVAILABLE_INFO": "No hay información disponible",
-    "NO_INTERACTION_AVAILABLE": "No hay interacciones disponibles",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas de WhatsApp disponibles",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "No hay disposiciones de WhatsApp disponibles",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "No hay cuentas de WhatsApp disponibles",
-    "OF": "de",
-    "OPENED": "Abrió",
-    "PAGE": "Página",
-    "PARTIALPAUSE": "Pausa parcial",
-    "PAUSE": "Pausa",
-    "PAUSED": "Pausado",
-    "PAUSE_TIME": "Tiempo de pausa",
-    "PHONE": "Teléfono",
-    "PRIORITY": "Prioridad",
-    "PROXY": "Apoderado",
-    "QUEUE": "Cola",
-    "QUEUES": "Colas",
-    "QUEUETRANSFER": "Transferencia de cola",
-    "QUEUETRANSFERTIMEOUT": "Tiempo de espera de transferencia de cola",
-    "READY": "Listo",
-    "REALTIME": "Tiempo real",
-    "RECEIVEURL": "Recibir URL",
-    "REFRESH_INTERACTIONS": "Actualizar interacciones",
     "REMOTE": "Remoto",
-    "ROWSPERPAGE": "Filas por página",
-    "SAVE": "Salvar",
-    "SCREENRECORDING": "Administrar grabación de pantalla",
-    "SEARCH_FOR_ANYONE": "Buscar",
-    "SECRETACCESSKEY": "Secreto de clave de acceso",
-    "SELECTED": "Seleccionado",
-    "SELECTED_AGENTS": "Agentes seleccionados",
-    "SELECTED_TEAMS": "Equipos seleccionados",
-    "SELECT_ALL": "Seleccionar todo",
-    "SELECT_NONE": "No seleccionar ninguno",
-    "SEND": "Enviar",
-    "SETTINGS": "Configuraciones",
-    "SPYINTERACTION": "Interacción con el espía",
-    "STARTEDAT": "Empezó a las",
-    "START_SCREENRECORDING": "Iniciar grabación de pantalla",
-    "STATUS": "Estado",
-    "STOP_SCREENRECORDING": "Detener grabación de pantalla",
-    "STRATEGY": "Estrategia",
-    "SYSTEM": "Sistema",
-    "TAG": "Etiqueta",
-    "TAGS": "Etiquetas",
     "TEAMADD_WHATSAPPQUEUE": "Agregar equipo a la cola de WhatsApp",
-    "TEAMS_ASSOCIATION": "Asociación de equipos",
-    "TEXT": "Texto",
-    "TIMEOUT": "Se acabó el tiempo",
-    "TIMER": "Temporizador",
-    "TIMES": "Veces",
-    "TO": "A",
-    "TOKEN": "Simbólico",
-    "TOOLTIP_SCREENRECORDING_OFF": "Grabación de pantalla disponible",
-    "TOOLTIP_SCREENRECORDING_ON": "Grabación de pantalla en curso",
-    "TRANSFER": "Transferir",
-    "TRUEPRIORITY": "Verdadera prioridad",
-    "TYPE": "Tipo",
-    "UNPAUSE": "Fin de pausa",
-    "VALUE": "Valor",
-    "VARIABLE": "Variable",
-    "WAITFORTHEASSIGNEDAGENT": "Espere al agente asignado",
-    "WAITING": "Esperando",
-    "WELCOMEMESSAGE": "Mensaje de bienvenida",
-    "WHATSAPP": "Conector de WhatsApp",
     "WHATSAPPACCOUNTS": "Cuentas de WhatsApp",
     "WHATSAPPCANNEDANSWERS": "Respuestas enlatadas de WhatsApp",
     "WHATSAPPDISPOSITIONS": "Disposiciones de WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/et.json b/public/app/main/apps/whatsapp/i18n/et.json
index e228960..48373a7 100644
--- a/public/app/main/apps/whatsapp/i18n/et.json
+++ b/public/app/main/apps/whatsapp/i18n/et.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Kohustuslik väli",
-      "ACCOUNTSID_REQUIRED": "Kohustuslik väli",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Kohustuslik väli",
-      "AGENT_REQUIRED": "Kohustuslik väli",
-      "AGENT_TIMEOUT_REQUIRED": "Kohustuslik väli",
-      "AUTHTOKEN_REQUIRED": "Kohustuslik väli",
-      "BOTNAME_REQUIRED": "Kohustuslik väli",
-      "COMMAND_REQUIRED": "Kohustuslik väli",
-      "CONDITION_REQUIRED": "Kohustuslik väli",
       "DESCRIPTION_REQUIRED": "Kohustuslik väli",
-      "DISPOSITION_REQUIRED": "Kohustuslik väli",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
-      "FALSEPRIORITY_REQUIRED": "Kohustuslik väli",
-      "KEY_MAX_LENGTH": "Väärtuse maksimaalne pikkus peab olema võrdne {{max}}",
-      "KEY_REQUIRED": "Kohustuslik väli",
       "LANGUAGE_REQUIRED": "Kohustuslik väli",
       "LEXREGION_REQUIRED": "Kohustuslik väli",
-      "LIST_REQUIRED": "Kohustuslik väli",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
-      "NAME_REQUIRED": "Kohustuslik väli",
-      "PHONE_REQUIRED": "Kohustuslik väli",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
-      "PRIORITY_REQUIRED": "Kohustuslik väli",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Kohustuslik väli",
-      "QUEUE_REQUIRED": "Kohustuslik väli",
-      "SECRETACCESSKEY_REQUIRED": "Kohustuslik väli",
-      "TAG_REQUIRED": "Kohustuslik väli",
-      "TEXT_REQUIRED": "Kohustuslik väli",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
-      "TIMEOUT_REQUIRED": "Kohustuslik väli",
       "TIMES_REQUIRED": "Kohustuslik väli",
-      "TOKEN_REQUIRED": "Kohustuslik väli",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
-      "TRUEPRIORITY_REQUIRED": "Kohustuslik väli",
-      "TYPE_REQUIRED": "Kohustuslik väli",
-      "VALUE_REQUIRED": "Kohustuslik väli",
       "VARIABLE_REQUIRED": "Kohustuslik väli",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärtus peab olema suurem või võrdne kui",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Väärtus peab olema väiksem või võrdne kui",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Kohustuslik väli",
       "WELCOMEMESSAGE_MAX_LENGTH": "Väärtuse maksimaalne pikkus peab olema võrdne {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Kohustuslik väli"
     },
-    "HELP": {
-      "LIST": "Kontaktide halduri loend, mida kasutatakse kontaktide seostamiseks",
-      "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-      "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
-      "MOTIONPROXY": "Välja peab olema järgmine vorming: <protokoll>: // <aadressiaadress> [: <port>]. Näide: https: //X.Y.Z.W",
-      "NAME": "Toetatud on ainult numbrid, tähed ja kindlad märgid (._)",
-      "RECEIVEURL": "See on automaatselt loodud API string, mida peate kasutama oma kontol olevate sõnumite vastuvõtmiseks oma WhatsApp Connectori pakkujalt (tuleb kasutada POST-meetodit): selle kopeerimiseks klõpsake lõikelaua nuppu",
-      "WELCOMEMESSAGE": "See on esimene vastussõnum, mis saadetakse uutele interaktsioonidele"
-    },
-    "ACCESSKEYID": "Juurdepääsukoodi ID",
-    "ACCOUNTSID": "Konto SID",
-    "ACTIONS": "Tegevused",
-    "ADD_NOTE": "Lisada märkus",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Lisama",
     "ADD_WHATSAPPCANNEDANSWER": "Lisage konserveeritud vastus",
     "ADD_WHATSAPPDISPOSITION": "Lisage WhatsApp Disposition",
     "ADD_WHATSAPPQUEUE": "Lisage järjekord WhatsApp",
-    "ADVANCED": "Täpsemad",
-    "AGENT": "Agent",
     "AGENTADD_QUEUE": "Lisage agent WhatsApp'i järjekorda",
     "AGENTADD_WHATSAPPACCOUNT": "Lisage agent WhatsApi kontole",
     "AGENTADD_WHATSAPPQUEUE": "Lisage agent WhatsApp'i järjekorda",
-    "AGENTS": "Agentid",
-    "AGENTSADD_QUEUE": "Lisage esindajad WhatsApi järjekorda",
-    "AGENTTRANSFER": "Agent Transfer",
-    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
-    "AGENT_TIMEOUT": "Agent aegumine",
-    "ALL": "Kõik",
-    "ALL_AGENTS": "Kõik esindajad",
-    "ALL_TEAMS": "Kõik võistkonnad",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Autentimismärk",
-    "AUTOREPLY": "Automaatne vastus",
-    "BACK": "tagasi",
-    "BOTNAME": "Boti nimi",
-    "BUSY": "Hõivatud",
-    "CANNEDANSWERS": "Konserveeritud vastused",
-    "CANNED_ANSWER_NOT_FOUND": "Konserveeritud vastuseid ei leitud",
-    "CANNED_ANSWER_SEARCH": "Sisestage tekst konserveeritud vastusest otsimiseks",
-    "CAPACITY": "Maht",
-    "CLOSE": "Sulge",
-    "CLOSED": "Suletud",
-    "CLOSEMETHOD": "Sule meetod",
-    "CLOSEURL": "Sulge URL",
-    "COMMAND": "Käsk",
-    "CONDITION": "Seisund",
-    "CONTACT": "Võtke ühendust",
-    "CREATED_AT": "Loodud kell",
-    "DEFAULT_PAUSE": "Vaikimisi paus",
-    "DELETE": "Kustuta",
-    "DELETE_INTERACTION": "Kustuta interaktsioon",
-    "DELETE_SELECTED": "Kustuta valitud",
     "DELETE_WHATSAPPACCOUNT": "Kustutage WhatsApi konto",
     "DELETE_WHATSAPPCANNEDANSWER": "Kustutatud",
     "DELETE_WHATSAPPDISPOSITION": "Kustutage WhatsApp Disposition",
     "DELETE_WHATSAPPQUEUE": "Kustutage WhatsApp Queue",
-    "DESCRIPTION": "Kirjeldus",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Dispositsioon",
-    "DISPOSITIONS": "Dispositsioonid",
-    "DOWNLOAD_INTERACTION": "Lae alla",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Laadige alla ilma manusteta",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Laadige alla koos manustega",
-    "EDIT_AGENT": "Redigeeri esindajat",
-    "EDIT_AMAZONLEX": "Redigeeri Lexi konfiguratsiooni",
-    "EDIT_AUTOREPLY": "Redigeeri automaatvastust",
-    "EDIT_CLOSE": "Redigeerimine Sulge",
-    "EDIT_DIALOGFLOW": "Redigeeri DialogFlow konfiguratsiooni",
-    "EDIT_GOTOIF": "Redigeeri Gotoifi",
-    "EDIT_GOTOP": "Redigeeri Gotopit",
-    "EDIT_NOOP": "Redigeeri Noopi",
-    "EDIT_QUEUE": "Redigeeri järjekorda",
-    "EDIT_SYSTEM": "Redigeeri süsteemi",
-    "EDIT_TAG": "Redigeeri silti",
     "EDIT_WHATSAPPACCOUNT": "Muutke WhatsApi kontot",
     "EDIT_WHATSAPPCANNEDANSWER": "Redigeeri",
     "EDIT_WHATSAPPDISPOSITION": "Muutke WhatsApi dispositsiooni",
     "EDIT_WHATSAPPQUEUE": "Redigeeri WhatsApi järjekorda",
-    "FALSEPRIORITY": "Vale prioriteet",
-    "GENERAL": "Kindral",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Minge reaalajas WhatsApi järjekorda",
     "GO_TO_WHATSAPPACCOUNTS": "Minge kontole",
-    "ID": "Id",
-    "IDLE": "Tühikäik",
-    "INSERT_MESSAGE_HERE": "Sisestage sõnum siia",
-    "INTERACTIONS": "Koostoimed",
     "INTERACTIONS_WHATSAPPACCOUNT": "Minge jaotisse Interaktsioonid",
-    "KEY": "Võti",
-    "LANGUAGE": "Keel",
-    "LASTMESSAGE": "Viimane sõnum",
-    "LEXREGION": "Piirkond",
-    "LIST": "Loend",
-    "LOGGED_IN": "Sisse logitud (SIP ühendatud)",
-    "LOGIN_TIME": "Sisselogimise aeg",
-    "LOGOUT": "Logi välja",
-    "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
-    "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud",
-    "MORE": "Veel",
-    "MOTIONPROXY": "Puhverserver või liikumisdomeen",
     "MULTI_SELECT_TOGGLE": "Mitme valiku lülitamine",
-    "NAME": "Nimi",
     "NEW_WHATSAPPACCOUNT": "Uus WhatsApi konto",
     "NEW_WHATSAPPCANNEDANSWER": "Uus vastus WhatsAppile",
     "NEW_WHATSAPPDISPOSITION": "Uus seade WhatsApp",
     "NEW_WHATSAPPQUEUE": "Uus WhatsApi järjekord",
-    "NOOP": "Noop",
-    "NOTE": "Märge",
-    "NOTIFICATION": "Teatamine",
-    "NOTIFICATIONSHAKE": "Raputama",
-    "NOTIFICATIONSOUND": "Heli",
-    "NOTIFICATIONTEMPLATE": "Mall",
-    "NO_AGENT_ONLINE": "Pole esindajat võrgus",
-    "NO_AVAILABLE_INFO": "Pole saadaval teavet",
-    "NO_INTERACTION_AVAILABLE": "Ühtegi interaktsiooni pole saadaval",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsApi konserveeritud vastuseid pole saadaval",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "WhatsApi dispositsioonid pole saadaval",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "WhatsApi kontosid pole saadaval",
-    "OF": "kohta",
-    "OPENED": "Avatud",
-    "PAGE": "Leht",
-    "PARTIALPAUSE": "Osaline paus",
-    "PAUSE": "Paus",
-    "PAUSED": "Peatatud",
-    "PAUSE_TIME": "Pausi aeg",
-    "PHONE": "Telefon",
-    "PRIORITY": "Prioriteet",
-    "PROXY": "Puhverserver",
-    "QUEUE": "Järjekord",
-    "QUEUES": "Järjekorrad",
-    "QUEUETRANSFER": "Järjekorra ülekandmine",
-    "QUEUETRANSFERTIMEOUT": "Järjekorra ülekandmise ajalõpp",
-    "READY": "Valmis",
-    "REALTIME": "Reaalajas",
-    "RECEIVEURL": "Saate URL-i",
-    "REFRESH_INTERACTIONS": "Värskenda interaktsioone",
     "REMOTE": "Kaugjuhtimispult",
-    "ROWSPERPAGE": "Ridasid lehel",
-    "SAVE": "Salvesta",
-    "SCREENRECORDING": "Halda ekraanisalvestust",
-    "SEARCH_FOR_ANYONE": "Otsing",
-    "SECRETACCESSKEY": "Juurdepääsu võtme saladus",
-    "SELECTED": "Valitud",
-    "SELECTED_AGENTS": "Valitud esindajad",
-    "SELECTED_TEAMS": "Valitud meeskonnad",
-    "SELECT_ALL": "Vali kõik",
-    "SELECT_NONE": "Valige ükski",
-    "SEND": "Saada",
-    "SETTINGS": "Seadistused",
-    "SPYINTERACTION": "Spioonide interaktsioon",
-    "STARTEDAT": "Alustati kell",
-    "START_SCREENRECORDING": "Alusta ekraani salvestamist",
-    "STATUS": "Olek",
-    "STOP_SCREENRECORDING": "Peata ekraanil salvestamine",
-    "STRATEGY": "Strateegia",
-    "SYSTEM": "Süsteem",
-    "TAG": "Silt",
-    "TAGS": "Sildid",
     "TEAMADD_WHATSAPPQUEUE": "Lisage meeskond WhatsApp'i järjekorda",
-    "TEAMS_ASSOCIATION": "Võistkondade liit",
-    "TEXT": "Tekst",
-    "TIMEOUT": "Aeg maha",
-    "TIMER": "Taimer",
-    "TIMES": "Ajad",
-    "TO": "Et",
-    "TOKEN": "Märk",
-    "TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
-    "TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
-    "TRANSFER": "Ülekanne",
-    "TRUEPRIORITY": "Tõeline prioriteet",
-    "TYPE": "Tüüp",
-    "UNPAUSE": "Lõpeta paus",
-    "VALUE": "Väärtus",
-    "VARIABLE": "Muutuv",
-    "WAITFORTHEASSIGNEDAGENT": "Oodake määratud esindajat",
-    "WAITING": "Ootan",
-    "WELCOMEMESSAGE": "Tervitussõnum",
-    "WHATSAPP": "WhatsApp-pistik",
     "WHATSAPPACCOUNTS": "WhatsApi kontod",
     "WHATSAPPCANNEDANSWERS": "WhatsApi konserveeritud vastused",
     "WHATSAPPDISPOSITIONS": "WhatsApi dispositsioonid",
diff --git a/public/app/main/apps/whatsapp/i18n/fa.json b/public/app/main/apps/whatsapp/i18n/fa.json
index 01f52b2..0805f98 100644
--- a/public/app/main/apps/whatsapp/i18n/fa.json
+++ b/public/app/main/apps/whatsapp/i18n/fa.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "زمینه اجباری",
-      "ACCOUNTSID_REQUIRED": "زمینه اجباری",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "AGENT_REQUIRED": "زمینه اجباری",
-      "AGENT_TIMEOUT_REQUIRED": "زمینه اجباری",
-      "AUTHTOKEN_REQUIRED": "زمینه اجباری",
-      "BOTNAME_REQUIRED": "زمینه اجباری",
-      "COMMAND_REQUIRED": "زمینه اجباری",
-      "CONDITION_REQUIRED": "زمینه اجباری",
       "DESCRIPTION_REQUIRED": "زمینه اجباری",
-      "DISPOSITION_REQUIRED": "زمینه اجباری",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
-      "FALSEPRIORITY_REQUIRED": "زمینه اجباری",
-      "KEY_MAX_LENGTH": "مقدار باید حداکثر طول مساوی با {{حداکثر} داشته باشد",
-      "KEY_REQUIRED": "زمینه اجباری",
       "LANGUAGE_REQUIRED": "زمینه اجباری",
       "LEXREGION_REQUIRED": "زمینه اجباری",
-      "LIST_REQUIRED": "زمینه اجباری",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری",
-      "NAME_REQUIRED": "زمینه اجباری",
-      "PHONE_REQUIRED": "زمینه اجباری",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
-      "PRIORITY_REQUIRED": "زمینه اجباری",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
-      "QUEUE_REQUIRED": "زمینه اجباری",
-      "SECRETACCESSKEY_REQUIRED": "زمینه اجباری",
-      "TAG_REQUIRED": "زمینه اجباری",
-      "TEXT_REQUIRED": "زمینه اجباری",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
-      "TIMEOUT_REQUIRED": "زمینه اجباری",
       "TIMES_REQUIRED": "زمینه اجباری",
-      "TOKEN_REQUIRED": "زمینه اجباری",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
-      "TRUEPRIORITY_REQUIRED": "زمینه اجباری",
-      "TYPE_REQUIRED": "زمینه اجباری",
-      "VALUE_REQUIRED": "زمینه اجباری",
       "VARIABLE_REQUIRED": "زمینه اجباری",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا مساوی از باشد",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "مقدار باید کمتر یا مساوی از باشد",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "زمینه اجباری",
       "WELCOMEMESSAGE_MAX_LENGTH": "مقدار باید حداکثر طول مساوی با {{حداکثر} داشته باشد",
       "WELCOMEMESSAGE_REQUIRED": "زمینه اجباری"
     },
-    "HELP": {
-      "LIST": "لیست مدیر تماس با ما برای ارتباط مخاطبین استفاده می شود",
-      "MANDATORYDISPOSITION": "وضع اجباری",
-      "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن وضع اجباری ، مکث کنید",
-      "MOTIONPROXY": "این فیلد باید دارای فرم زیر باشد: <protocol>: // <ipaddress> [: <port>]. مثال: https: //X.Y.Z.W",
-      "NAME": "فقط اعداد ، حروف و کاراکترهای خاص (._) پشتیبانی می شوند",
-      "RECEIVEURL": "این رشته API خودکار تولید شده است که برای دریافت پیام های داخل حساب خود از ارائه دهنده اتصال WhatsApp خود استفاده می کنید (باید روش POST استفاده شود): روی دکمه کلیپ بورد کلیک کنید تا آن را کپی کنید.",
-      "WELCOMEMESSAGE": "این اولین پیام پاسخی است که به تعاملات جدید ارسال می شود"
-    },
-    "ACCESSKEYID": "شناسه کلید دسترسی",
-    "ACCOUNTSID": "حساب SID",
-    "ACTIONS": "اقدامات",
-    "ADD_NOTE": "یادداشت اضافه کنید",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "اضافه کردن",
     "ADD_WHATSAPPCANNEDANSWER": "پاسخ کنسرو شده را اضافه کنید",
     "ADD_WHATSAPPDISPOSITION": "Disposition واتساپ اضافه کنید",
     "ADD_WHATSAPPQUEUE": "صف WhatsApp را اضافه کنید",
-    "ADVANCED": "پیشرفته",
-    "AGENT": "عامل",
     "AGENTADD_QUEUE": "عامل را به صف WhatsApp اضافه کنید",
     "AGENTADD_WHATSAPPACCOUNT": "نماینده را به حساب WhatsApp اضافه کنید",
     "AGENTADD_WHATSAPPQUEUE": "عامل را به صف WhatsApp اضافه کنید",
-    "AGENTS": "نمایندگان",
-    "AGENTSADD_QUEUE": "عوامل را به صف WhatsApp اضافه کنید",
-    "AGENTTRANSFER": "انتقال عامل",
-    "AGENTTRANSFERTIMEOUT": "زمان انتقال آژانس",
-    "AGENT_TIMEOUT": "زمان تحویل عامل",
-    "ALL": "همه",
-    "ALL_AGENTS": "همه نمایندگان",
-    "ALL_TEAMS": "همه تیم ها",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "نویسنده توکن",
-    "AUTOREPLY": "پاسخ خودکار",
-    "BACK": "بازگشت",
-    "BOTNAME": "نام ربات",
-    "BUSY": "مشغول",
-    "CANNEDANSWERS": "پاسخهای کنسرو شده",
-    "CANNED_ANSWER_NOT_FOUND": "هیچ پاسخی برای کنسرو یافت نشد",
-    "CANNED_ANSWER_SEARCH": "برای جستجوی یک پاسخ کنسرو شده ، متنی را وارد کنید",
-    "CAPACITY": "ظرفیت",
-    "CLOSE": "نزدیک",
-    "CLOSED": "بسته شد",
-    "CLOSEMETHOD": "روش بستن",
-    "CLOSEURL": "بستن آدرس اینترنتی",
-    "COMMAND": "فرمان",
-    "CONDITION": "وضعیت",
-    "CONTACT": "مخاطب",
-    "CREATED_AT": "ایجاد شده در",
-    "DEFAULT_PAUSE": "نمایندگی PAUSE",
-    "DELETE": "حذف",
-    "DELETE_INTERACTION": "تعامل را حذف کنید",
-    "DELETE_SELECTED": "انتخاب شده را پاک کن",
     "DELETE_WHATSAPPACCOUNT": "حساب WhatsApp را حذف کنید",
     "DELETE_WHATSAPPCANNEDANSWER": "حذف شده",
     "DELETE_WHATSAPPDISPOSITION": "حذف WhatsApp Disposition",
     "DELETE_WHATSAPPQUEUE": "صف WhatsApp را حذف کنید",
-    "DESCRIPTION": "شرح",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "وضع",
-    "DISPOSITIONS": "دفع ها",
-    "DOWNLOAD_INTERACTION": "دانلود",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "بارگیری بدون پیوست",
-    "DOWNLOAD_WITH_ATTACHMENTS": "بارگیری با پیوست ها",
-    "EDIT_AGENT": "ویرایش عامل",
-    "EDIT_AMAZONLEX": "پیکربندی Lex را ویرایش کنید",
-    "EDIT_AUTOREPLY": "پاسخ خودکار را ویرایش کنید",
-    "EDIT_CLOSE": "ویرایش بستن",
-    "EDIT_DIALOGFLOW": "پیکربندی DialogFlow را ویرایش کنید",
-    "EDIT_GOTOIF": "ویرایش Gotoif",
-    "EDIT_GOTOP": "Gotop را ویرایش کنید",
-    "EDIT_NOOP": "ویرایش Noop",
-    "EDIT_QUEUE": "ویرایش صف",
-    "EDIT_SYSTEM": "ویرایش سیستم",
-    "EDIT_TAG": "برچسب را ویرایش کنید",
     "EDIT_WHATSAPPACCOUNT": "حساب WhatsApp را ویرایش کنید",
     "EDIT_WHATSAPPCANNEDANSWER": "ویرایش کنید",
     "EDIT_WHATSAPPDISPOSITION": "قرار دادن واتس اپ",
     "EDIT_WHATSAPPQUEUE": "صف WhatsApp را ویرایش کنید",
-    "FALSEPRIORITY": "اولویت کاذب",
-    "GENERAL": "عمومی",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "برو بالا",
     "GOTOREALTIME_WHATSAPPQUEUE": "برو به Realtime Que WhatsApp",
     "GO_TO_WHATSAPPACCOUNTS": "به حساب کاربری بروید",
-    "ID": "شناسه",
-    "IDLE": "بیکار",
-    "INSERT_MESSAGE_HERE": "درج پیام در اینجا",
-    "INTERACTIONS": "فعل و انفعالات",
     "INTERACTIONS_WHATSAPPACCOUNT": "برو به تعامل",
-    "KEY": "کلید",
-    "LANGUAGE": "زبان",
-    "LASTMESSAGE": "آخرین پیام",
-    "LEXREGION": "منطقه",
-    "LIST": "لیست",
-    "LOGGED_IN": "ورود به سیستم (SIP متصل)",
-    "LOGIN_TIME": "زمان ورود",
-    "LOGOUT": "خروج",
-    "MANDATORYDISPOSITION": "اختیار اجباری",
-    "MANDATORYDISPOSITIONPAUSEID": "در صورت فعال بودن وضع اجباری ، مکث کنید",
-    "MORE": "بیشتر",
-    "MOTIONPROXY": "دامنه پروکسی یا حرکت",
     "MULTI_SELECT_TOGGLE": "چند گزینه را انتخاب کنید",
-    "NAME": "نام",
     "NEW_WHATSAPPACCOUNT": "حساب واتس اپ جدید",
     "NEW_WHATSAPPCANNEDANSWER": "پاسخ کنسرو شده جدید WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Disposition جدید WhatsApp",
     "NEW_WHATSAPPQUEUE": "صف جدید WhatsApp",
-    "NOOP": "ظهر",
-    "NOTE": "توجه داشته باشید",
-    "NOTIFICATION": "اطلاع",
-    "NOTIFICATIONSHAKE": "تکان دادن",
-    "NOTIFICATIONSOUND": "صدا",
-    "NOTIFICATIONTEMPLATE": "قالب",
-    "NO_AGENT_ONLINE": "بدون نماینده آنلاین",
-    "NO_AVAILABLE_INFO": "اطلاعات در دسترس نیست",
-    "NO_INTERACTION_AVAILABLE": "هیچ تعامل در دسترس نیست",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "هیچ پاسخی برای واتساپ وجود ندارد",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "هیچ Dispositions واتس اپ در دسترس نیست",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "هیچ حساب واتس اپ موجود نیست",
-    "OF": "از",
-    "OPENED": "افتتاح شد",
-    "PAGE": "صفحه",
-    "PARTIALPAUSE": "مکث جزئی",
-    "PAUSE": "مکث کنید",
-    "PAUSED": "مکث کرد",
-    "PAUSE_TIME": "زمان مکث",
-    "PHONE": "تلفن",
-    "PRIORITY": "اولویت",
-    "PROXY": "پروکسی",
-    "QUEUE": "صف",
-    "QUEUES": "صف",
-    "QUEUETRANSFER": "انتقال صف",
-    "QUEUETRANSFERTIMEOUT": "پایان زمان انتقال صف",
-    "READY": "آماده",
-    "REALTIME": "به موقع",
-    "RECEIVEURL": "URL را دریافت کنید",
-    "REFRESH_INTERACTIONS": "تعامل را تازه کنید",
     "REMOTE": "از راه دور",
-    "ROWSPERPAGE": "ردیف در هر صفحه",
-    "SAVE": "صرفه جویی",
-    "SCREENRECORDING": "ضبط صفحه را مدیریت کنید",
-    "SEARCH_FOR_ANYONE": "جستجو کردن",
-    "SECRETACCESSKEY": "راز دسترسی به کلید",
-    "SELECTED": "انتخاب شد",
-    "SELECTED_AGENTS": "نمایندگان منتخب",
-    "SELECTED_TEAMS": "تیم های منتخب",
-    "SELECT_ALL": "انتخاب همه",
-    "SELECT_NONE": "هیچ کدام را انتخاب نکنید",
-    "SEND": "ارسال",
-    "SETTINGS": "تنظیمات",
-    "SPYINTERACTION": "تعامل جاسوسی",
-    "STARTEDAT": "در آغاز شد",
-    "START_SCREENRECORDING": "ضبط صفحه را شروع کنید",
-    "STATUS": "وضعیت",
-    "STOP_SCREENRECORDING": "ضبط صفحه را متوقف کنید",
-    "STRATEGY": "استراتژی",
-    "SYSTEM": "سیستم",
-    "TAG": "برچسب زدن",
-    "TAGS": "برچسب ها",
     "TEAMADD_WHATSAPPQUEUE": "تیم را به صف WhatsApp اضافه کنید",
-    "TEAMS_ASSOCIATION": "انجمن نوجوانان",
-    "TEXT": "متن",
-    "TIMEOUT": "زمان پایان",
-    "TIMER": "تایمر",
-    "TIMES": "بار",
-    "TO": "به",
-    "TOKEN": "گفتن",
-    "TOOLTIP_SCREENRECORDING_OFF": "ضبط صفحه در دسترس است",
-    "TOOLTIP_SCREENRECORDING_ON": "ضبط صفحه در حال انجام است",
-    "TRANSFER": "منتقل کردن",
-    "TRUEPRIORITY": "اولویت واقعی",
-    "TYPE": "تایپ کنید",
-    "UNPAUSE": "پایان مکث",
-    "VALUE": "مقدار",
-    "VARIABLE": "متغیر",
-    "WAITFORTHEASSIGNEDAGENT": "منتظر عامل تعیین شده باشید",
-    "WAITING": "در انتظار",
-    "WELCOMEMESSAGE": "پیام خوش امد گویی",
-    "WHATSAPP": "اتصال واتساپ",
     "WHATSAPPACCOUNTS": "حساب های WhatsApp",
     "WHATSAPPCANNEDANSWERS": "پاسخهای کنسرو واتس اپ",
     "WHATSAPPDISPOSITIONS": "Dispositions WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/fi.json b/public/app/main/apps/whatsapp/i18n/fi.json
index 4b69406..a6a93f8 100644
--- a/public/app/main/apps/whatsapp/i18n/fi.json
+++ b/public/app/main/apps/whatsapp/i18n/fi.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Pakollinen kenttä",
-      "ACCOUNTSID_REQUIRED": "Pakollinen kenttä",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "AGENT_REQUIRED": "Pakollinen kenttä",
-      "AGENT_TIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "AUTHTOKEN_REQUIRED": "Pakollinen kenttä",
-      "BOTNAME_REQUIRED": "Pakollinen kenttä",
-      "COMMAND_REQUIRED": "Pakollinen kenttä",
-      "CONDITION_REQUIRED": "Pakollinen kenttä",
       "DESCRIPTION_REQUIRED": "Pakollinen kenttä",
-      "DISPOSITION_REQUIRED": "Pakollinen kenttä",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "FALSEPRIORITY_REQUIRED": "Pakollinen kenttä",
-      "KEY_MAX_LENGTH": "Arvon maksimipituuden on oltava {{max}}",
-      "KEY_REQUIRED": "Pakollinen kenttä",
       "LANGUAGE_REQUIRED": "Pakollinen kenttä",
       "LEXREGION_REQUIRED": "Pakollinen kenttä",
-      "LIST_REQUIRED": "Pakollinen kenttä",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä",
-      "NAME_REQUIRED": "Pakollinen kenttä",
-      "PHONE_REQUIRED": "Pakollinen kenttä",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "PRIORITY_REQUIRED": "Pakollinen kenttä",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
-      "QUEUE_REQUIRED": "Pakollinen kenttä",
-      "SECRETACCESSKEY_REQUIRED": "Pakollinen kenttä",
-      "TAG_REQUIRED": "Pakollinen kenttä",
-      "TEXT_REQUIRED": "Pakollinen kenttä",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "TIMEOUT_REQUIRED": "Pakollinen kenttä",
       "TIMES_REQUIRED": "Pakollinen kenttä",
-      "TOKEN_REQUIRED": "Pakollinen kenttä",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "TRUEPRIORITY_REQUIRED": "Pakollinen kenttä",
-      "TYPE_REQUIRED": "Pakollinen kenttä",
-      "VALUE_REQUIRED": "Pakollinen kenttä",
       "VARIABLE_REQUIRED": "Pakollinen kenttä",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pakollinen kenttä",
       "WELCOMEMESSAGE_MAX_LENGTH": "Arvon maksimipituuden on oltava {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Pakollinen kenttä"
     },
-    "HELP": {
-      "LIST": "Yhteystietojen yhdistämiseen käytetty yhteyshenkilöluettelo",
-      "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-      "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, kun pakollinen sijoittaminen on käytössä",
-      "MOTIONPROXY": "Kentän on oltava seuraavan muodossa: <protokolla>: // <osoiteosoite> [: <port>]. Esimerkki: https: //X.Y.Z.W",
-      "NAME": "Vain numeroita, kirjaimia ja tiettyjä merkkejä (._) tuetaan",
-      "RECEIVEURL": "Tämä on automaattisesti luotu API-merkkijono, jota sinun on käytettävä tilisi sisäisten viestien vastaanottamiseen WhatsApp-liitäntätoimittajalta (POST-menetelmää on käytettävä): kopioi napsauttamalla leikepöytäpainiketta",
-      "WELCOMEMESSAGE": "Tämä on ensimmäinen vastausviesti, joka lähetetään uusiin vuorovaikutuksiin"
-    },
-    "ACCESSKEYID": "Käyttöavaintunnus",
-    "ACCOUNTSID": "Tilin SID",
-    "ACTIONS": "Toiminnot",
-    "ADD_NOTE": "Lisätä huomautus",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Lisätä",
     "ADD_WHATSAPPCANNEDANSWER": "Lisää säilytetty vastaus",
     "ADD_WHATSAPPDISPOSITION": "Lisää WhatsApp Disposition",
     "ADD_WHATSAPPQUEUE": "Lisää WhatsApp-jono",
-    "ADVANCED": "Pitkälle kehittynyt",
-    "AGENT": "agentti",
     "AGENTADD_QUEUE": "Lisää agentti WhatsApp-jonoon",
     "AGENTADD_WHATSAPPACCOUNT": "Lisää agentti WhatsApp-tilille",
     "AGENTADD_WHATSAPPQUEUE": "Lisää agentti WhatsApp-jonoon",
-    "AGENTS": "agents",
-    "AGENTSADD_QUEUE": "Lisää edustajia WhatsApp-jonoon",
-    "AGENTTRANSFER": "Agentin siirto",
-    "AGENTTRANSFERTIMEOUT": "Agentin siirron aikakatkaisu",
-    "AGENT_TIMEOUT": "Agentin aikakatkaisu",
-    "ALL": "Kaikki",
-    "ALL_AGENTS": "Kaikki agentit",
-    "ALL_TEAMS": "Kaikki joukkueet",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Auth-tunnus",
-    "AUTOREPLY": "Automaattinen vastaus",
-    "BACK": "Takaisin",
-    "BOTNAME": "Botin nimi",
-    "BUSY": "Kiireinen",
-    "CANNEDANSWERS": "Säilytetyt vastaukset",
-    "CANNED_ANSWER_NOT_FOUND": "Säilytettyjä vastauksia ei löytynyt",
-    "CANNED_ANSWER_SEARCH": "Kirjoita teksti hakemaan säilötystä vastauksesta",
-    "CAPACITY": "kapasiteetti",
-    "CLOSE": "kiinni",
-    "CLOSED": "Suljettu",
-    "CLOSEMETHOD": "Sulje menetelmä",
-    "CLOSEURL": "Sulje URL",
-    "COMMAND": "Komento",
-    "CONDITION": "Kunto",
-    "CONTACT": "Ottaa yhteyttä",
-    "CREATED_AT": "Luotu",
-    "DEFAULT_PAUSE": "Oletustauko",
-    "DELETE": "Poistaa",
-    "DELETE_INTERACTION": "Poista vuorovaikutus",
-    "DELETE_SELECTED": "Poista valitut",
     "DELETE_WHATSAPPACCOUNT": "Poista WhatsApp-tili",
     "DELETE_WHATSAPPCANNEDANSWER": "Poistettu",
     "DELETE_WHATSAPPDISPOSITION": "Poista WhatsApp Disposition",
     "DELETE_WHATSAPPQUEUE": "Poista WhatsApp Queue",
-    "DESCRIPTION": "Kuvaus",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "luonteenlaatu",
-    "DISPOSITIONS": "Mielenlaatuja",
-    "DOWNLOAD_INTERACTION": "ladata",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Lataa ilman liitteitä",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Lataa liitteineen",
-    "EDIT_AGENT": "Muokkaa agenttia",
-    "EDIT_AMAZONLEX": "Muokkaa Lex-kokoonpanoa",
-    "EDIT_AUTOREPLY": "Muokkaa automaattista vastausta",
-    "EDIT_CLOSE": "Muokkaa Sulje",
-    "EDIT_DIALOGFLOW": "Muokkaa DialogFlow-määrityksiä",
-    "EDIT_GOTOIF": "Muokkaa Gotoifia",
-    "EDIT_GOTOP": "Muokkaa Gotopia",
-    "EDIT_NOOP": "Muokkaa Noop",
-    "EDIT_QUEUE": "Muokkaa jonoa",
-    "EDIT_SYSTEM": "Muokkaa järjestelmää",
-    "EDIT_TAG": "Muokkaa tunnistetta",
     "EDIT_WHATSAPPACCOUNT": "Muokkaa WhatsApp-tiliä",
     "EDIT_WHATSAPPCANNEDANSWER": "Muokata",
     "EDIT_WHATSAPPDISPOSITION": "Muokkaa WhatsApp-sijoitusta",
     "EDIT_WHATSAPPQUEUE": "Muokkaa WhatsApp-jonoa",
-    "FALSEPRIORITY": "Väärä prioriteetti",
-    "GENERAL": "yleinen",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Siirry reaaliaikaiseen WhatsApp-jonoon",
     "GO_TO_WHATSAPPACCOUNTS": "Siirry tilille",
-    "ID": "Id",
-    "IDLE": "tyhjäkäynti",
-    "INSERT_MESSAGE_HERE": "Lisää viesti tähän",
-    "INTERACTIONS": "vuorovaikutukset",
     "INTERACTIONS_WHATSAPPACCOUNT": "Siirry kohtaan Vuorovaikutukset",
-    "KEY": "avain",
-    "LANGUAGE": "Kieli",
-    "LASTMESSAGE": "Viimeinen viesti",
-    "LEXREGION": "alue",
-    "LIST": "Lista",
-    "LOGGED_IN": "Sisäänkirjautunut (SIP kytketty)",
-    "LOGIN_TIME": "Sisäänkirjautumisaika",
-    "LOGOUT": "Kirjautua ulos",
-    "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
-    "MANDATORYDISPOSITIONPAUSEID": "Tauko käyttöön, kun pakollinen sijoittaminen on käytössä",
-    "MORE": "Lisää",
-    "MOTIONPROXY": "Välityspalvelin tai liikealue",
     "MULTI_SELECT_TOGGLE": "Monivalintavaihto",
-    "NAME": "Nimi",
     "NEW_WHATSAPPACCOUNT": "Uusi WhatsApp-tili",
     "NEW_WHATSAPPCANNEDANSWER": "Uusi WhatsApp -vastaava vastaus",
     "NEW_WHATSAPPDISPOSITION": "Uusi WhatsApp-asema",
     "NEW_WHATSAPPQUEUE": "Uusi WhatsApp -jono",
-    "NOOP": "noop",
-    "NOTE": "Merkintä",
-    "NOTIFICATION": "ilmoitus",
-    "NOTIFICATIONSHAKE": "Shake",
-    "NOTIFICATIONSOUND": "Ääni",
-    "NOTIFICATIONTEMPLATE": "Sapluuna",
-    "NO_AGENT_ONLINE": "Ei edustajaa verkossa",
-    "NO_AVAILABLE_INFO": "Ei saatavissa olevaa tietoa",
-    "NO_INTERACTION_AVAILABLE": "Ei vuorovaikutusta",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Ei WhatsApp-säilöttyjä vastauksia",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "WhatsApp-määrityksiä ei ole käytettävissä",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "WhatsApp-tilejä ei ole saatavana",
-    "OF": "of",
-    "OPENED": "avattu",
-    "PAGE": "Sivu",
-    "PARTIALPAUSE": "Osittainen tauko",
-    "PAUSE": "Tauko",
-    "PAUSED": "Keskeytetty",
-    "PAUSE_TIME": "Taukoaika",
-    "PHONE": "Puhelin",
-    "PRIORITY": "prioriteetti",
-    "PROXY": "valtakirja",
-    "QUEUE": "Jonottaa",
-    "QUEUES": "jonot",
-    "QUEUETRANSFER": "Jononsiirto",
-    "QUEUETRANSFERTIMEOUT": "Jononsiirron aikakatkaisu",
-    "READY": "Valmis",
-    "REALTIME": "Reaaliaika",
-    "RECEIVEURL": "Vastaanota URL",
-    "REFRESH_INTERACTIONS": "Päivitä vuorovaikutukset",
     "REMOTE": "Etä",
-    "ROWSPERPAGE": "Rivit / sivu",
-    "SAVE": "Tallentaa",
-    "SCREENRECORDING": "Hallitse näytön tallennusta",
-    "SEARCH_FOR_ANYONE": "Hae",
-    "SECRETACCESSKEY": "Pääsysalaisuus",
-    "SELECTED": "valittu",
-    "SELECTED_AGENTS": "Valitut edustajat",
-    "SELECTED_TEAMS": "Valitut joukkueet",
-    "SELECT_ALL": "Valitse kaikki",
-    "SELECT_NONE": "Älä valitse mitään",
-    "SEND": "Lähettää",
-    "SETTINGS": "asetukset",
-    "SPYINTERACTION": "Vakoilijoiden vuorovaikutus",
-    "STARTEDAT": "Alkaen klo",
-    "START_SCREENRECORDING": "Aloitusnäytön nauhoitus",
-    "STATUS": "Tila",
-    "STOP_SCREENRECORDING": "Lopeta näytön tallennus",
-    "STRATEGY": "strategia",
-    "SYSTEM": "järjestelmä",
-    "TAG": "Tag",
-    "TAGS": "Tunnisteet",
     "TEAMADD_WHATSAPPQUEUE": "Lisää joukkue WhatsApp-jonoon",
-    "TEAMS_ASSOCIATION": "Joukkueyhdistys",
-    "TEXT": "Teksti",
-    "TIMEOUT": "Aikalisä",
-    "TIMER": "Ajastin",
-    "TIMES": "Ajat",
-    "TO": "jotta",
-    "TOKEN": "symbolinen",
-    "TOOLTIP_SCREENRECORDING_OFF": "Näytön tallennus saatavilla",
-    "TOOLTIP_SCREENRECORDING_ON": "Näytön nauhoitus käynnissä",
-    "TRANSFER": "Siirtää",
-    "TRUEPRIORITY": "Todellinen prioriteetti",
-    "TYPE": "Tyyppi",
-    "UNPAUSE": "Lopeta tauko",
-    "VALUE": "Arvo",
-    "VARIABLE": "muuttuja",
-    "WAITFORTHEASSIGNEDAGENT": "Odota nimettyä agenttia",
-    "WAITING": "Waiting",
-    "WELCOMEMESSAGE": "Tervetuloviesti",
-    "WHATSAPP": "WhatsApp-liitin",
     "WHATSAPPACCOUNTS": "WhatsApp-tilit",
     "WHATSAPPCANNEDANSWERS": "WhatsApp-säilötyt vastaukset",
     "WHATSAPPDISPOSITIONS": "WhatsApp-asetukset",
diff --git a/public/app/main/apps/whatsapp/i18n/fr.json b/public/app/main/apps/whatsapp/i18n/fr.json
index 579892b..673a830 100644
--- a/public/app/main/apps/whatsapp/i18n/fr.json
+++ b/public/app/main/apps/whatsapp/i18n/fr.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Champ obligatoire",
-      "ACCOUNTSID_REQUIRED": "Champ obligatoire",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "AGENT_REQUIRED": "Champ obligatoire",
-      "AGENT_TIMEOUT_REQUIRED": "Champ obligatoire",
-      "AUTHTOKEN_REQUIRED": "Champ obligatoire",
-      "BOTNAME_REQUIRED": "Champ obligatoire",
-      "COMMAND_REQUIRED": "Champ obligatoire",
-      "CONDITION_REQUIRED": "Champ obligatoire",
       "DESCRIPTION_REQUIRED": "Champ obligatoire",
-      "DISPOSITION_REQUIRED": "Champ obligatoire",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "FALSEPRIORITY_REQUIRED": "Champ obligatoire",
-      "KEY_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
-      "KEY_REQUIRED": "Champ obligatoire",
       "LANGUAGE_REQUIRED": "Champ obligatoire",
       "LEXREGION_REQUIRED": "Champ obligatoire",
-      "LIST_REQUIRED": "Champ obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire",
-      "NAME_REQUIRED": "Champ obligatoire",
-      "PHONE_REQUIRED": "Champ obligatoire",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "PRIORITY_REQUIRED": "Champ obligatoire",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
-      "QUEUE_REQUIRED": "Champ obligatoire",
-      "SECRETACCESSKEY_REQUIRED": "Champ obligatoire",
-      "TAG_REQUIRED": "Champ obligatoire",
-      "TEXT_REQUIRED": "Champ obligatoire",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "TIMEOUT_REQUIRED": "Champ obligatoire",
       "TIMES_REQUIRED": "Champ obligatoire",
-      "TOKEN_REQUIRED": "Champ obligatoire",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "TRUEPRIORITY_REQUIRED": "Champ obligatoire",
-      "TYPE_REQUIRED": "Champ obligatoire",
-      "VALUE_REQUIRED": "Champ obligatoire",
       "VARIABLE_REQUIRED": "Champ obligatoire",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Champ obligatoire",
       "WELCOMEMESSAGE_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Champ obligatoire"
     },
-    "HELP": {
-      "LIST": "Liste du gestionnaire de contacts utilisée pour associer des contacts",
-      "MANDATORYDISPOSITION": "Disposition obligatoire",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause pour utiliser lorsque la disposition obligatoire est activée",
-      "MOTIONPROXY": "Le champ doit avoir le format suivant: <protocole>: // <adresseip> [: <port>]. Exemple: https: //X.Y.Z.W",
-      "NAME": "Seuls les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
-      "RECEIVEURL": "Il s'agit de la chaîne API générée automatiquement que vous devez utiliser pour recevoir les messages de votre compte de votre fournisseur de connecteur WhatsApp (la méthode POST doit être utilisée): cliquez sur le bouton du presse-papiers pour le copier",
-      "WELCOMEMESSAGE": "Ceci est le premier message de réponse envoyé aux nouvelles interactions"
-    },
-    "ACCESSKEYID": "ID de la clé d'accès",
-    "ACCOUNTSID": "Compte SID",
-    "ACTIONS": "Actions",
-    "ADD_NOTE": "Ajouter une note",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Ajouter",
     "ADD_WHATSAPPCANNEDANSWER": "Ajouter une réponse standardisée",
     "ADD_WHATSAPPDISPOSITION": "Ajouter une disposition WhatsApp",
     "ADD_WHATSAPPQUEUE": "Ajouter la file d'attente WhatsApp",
-    "ADVANCED": "Avancée",
-    "AGENT": "Agent",
     "AGENTADD_QUEUE": "Ajouter un agent à la file d'attente WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Ajouter un agent au compte WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Ajouter un agent à la file d'attente WhatsApp",
-    "AGENTS": "Agents",
-    "AGENTSADD_QUEUE": "Ajouter des agents à la file d'attente WhatsApp",
-    "AGENTTRANSFER": "Transfert d'agent",
-    "AGENTTRANSFERTIMEOUT": "Délai de transfert de l'agent",
-    "AGENT_TIMEOUT": "Délai d'attente de l'agent",
-    "ALL": "Tout",
-    "ALL_AGENTS": "Tous les agents",
-    "ALL_TEAMS": "Toutes les équipes",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Jeton d'authentification",
-    "AUTOREPLY": "Réponse automatique",
-    "BACK": "Arrière",
-    "BOTNAME": "Nom du robot",
-    "BUSY": "Occupé",
-    "CANNEDANSWERS": "Réponses en conserve",
-    "CANNED_ANSWER_NOT_FOUND": "Aucune réponse standardisée n'a été trouvée",
-    "CANNED_ANSWER_SEARCH": "Saisissez un texte pour rechercher une réponse standardisée",
-    "CAPACITY": "Capacité",
-    "CLOSE": "Fermer",
-    "CLOSED": "Fermé",
-    "CLOSEMETHOD": "Close, méthode",
-    "CLOSEURL": "Fermer l'URL",
-    "COMMAND": "Commander",
-    "CONDITION": "État",
-    "CONTACT": "Contact",
-    "CREATED_AT": "Créé à",
-    "DEFAULT_PAUSE": "PAUSE PAR DÉFAUT",
-    "DELETE": "Supprimer",
-    "DELETE_INTERACTION": "Supprimer l'interaction",
-    "DELETE_SELECTED": "Supprimer sélectionnée",
     "DELETE_WHATSAPPACCOUNT": "Supprimer le compte WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Supprimé",
     "DELETE_WHATSAPPDISPOSITION": "Supprimer la disposition WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Supprimer la file d'attente WhatsApp",
-    "DESCRIPTION": "La description",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposition",
-    "DISPOSITIONS": "Dispositions",
-    "DOWNLOAD_INTERACTION": "Télécharger",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Télécharger sans pièces jointes",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Télécharger avec pièces jointes",
-    "EDIT_AGENT": "Modifier l'agent",
-    "EDIT_AMAZONLEX": "Modifier la configuration Lex",
-    "EDIT_AUTOREPLY": "Modifier la réponse automatique",
-    "EDIT_CLOSE": "Modifier Fermer",
-    "EDIT_DIALOGFLOW": "Modifier la configuration de DialogFlow",
-    "EDIT_GOTOIF": "Modifier Gotoif",
-    "EDIT_GOTOP": "Modifier Gotop",
-    "EDIT_NOOP": "Modifier Noop",
-    "EDIT_QUEUE": "Modifier la file d'attente",
-    "EDIT_SYSTEM": "Modifier le système",
-    "EDIT_TAG": "Modifier la balise",
     "EDIT_WHATSAPPACCOUNT": "Modifier le compte WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "Éditer",
     "EDIT_WHATSAPPDISPOSITION": "Modifier la disposition WhatsApp",
     "EDIT_WHATSAPPQUEUE": "Modifier la file d'attente WhatsApp",
-    "FALSEPRIORITY": "Fausse priorité",
-    "GENERAL": "Général",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Aller en haut",
     "GOTOREALTIME_WHATSAPPQUEUE": "Aller à la file d'attente WhatsApp en temps réel",
     "GO_TO_WHATSAPPACCOUNTS": "Aller au compte",
-    "ID": "Id",
-    "IDLE": "Tourner au ralenti",
-    "INSERT_MESSAGE_HERE": "Insérez le message ici",
-    "INTERACTIONS": "Les interactions",
     "INTERACTIONS_WHATSAPPACCOUNT": "Aller aux interactions",
-    "KEY": "Clé",
-    "LANGUAGE": "Langue",
-    "LASTMESSAGE": "Dernier message",
-    "LEXREGION": "Région",
-    "LIST": "liste",
-    "LOGGED_IN": "Connecté (SIP connecté)",
-    "LOGIN_TIME": "Heure de connexion",
-    "LOGOUT": "Se déconnecter",
-    "MANDATORYDISPOSITION": "Disposition obligatoire",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause pour utiliser lorsque la disposition obligatoire est activée",
-    "MORE": "Plus",
-    "MOTIONPROXY": "Proxy ou domaine de mouvement",
     "MULTI_SELECT_TOGGLE": "Bascule de sélection multiple",
-    "NAME": "Nom",
     "NEW_WHATSAPPACCOUNT": "Nouveau compte WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Nouvelle réponse standardisée WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Nouvelle disposition WhatsApp",
     "NEW_WHATSAPPQUEUE": "Nouvelle file d'attente WhatsApp",
-    "NOOP": "Noop",
-    "NOTE": "Remarque",
-    "NOTIFICATION": "Notification",
-    "NOTIFICATIONSHAKE": "Secouer",
-    "NOTIFICATIONSOUND": "Du son",
-    "NOTIFICATIONTEMPLATE": "Modèle",
-    "NO_AGENT_ONLINE": "Aucun agent en ligne",
-    "NO_AVAILABLE_INFO": "Aucune information disponible",
-    "NO_INTERACTION_AVAILABLE": "Aucune interaction disponible",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Aucune réponse standardisée WhatsApp disponible",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Aucune disposition WhatsApp disponible",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Aucun compte WhatsApp disponible",
-    "OF": "de",
-    "OPENED": "Ouvert",
-    "PAGE": "Page",
-    "PARTIALPAUSE": "Pause partielle",
-    "PAUSE": "Pause",
-    "PAUSED": "En pause",
-    "PAUSE_TIME": "Le temps de pause",
-    "PHONE": "Téléphone",
-    "PRIORITY": "Priorité",
-    "PROXY": "Procuration",
-    "QUEUE": "Queue",
-    "QUEUES": "Files d'attente",
-    "QUEUETRANSFER": "Transfert de file d'attente",
-    "QUEUETRANSFERTIMEOUT": "Délai de transfert de la file d'attente",
-    "READY": "Prêt",
-    "REALTIME": "Temps réel",
-    "RECEIVEURL": "Recevoir l'URL",
-    "REFRESH_INTERACTIONS": "Actualiser les interactions",
     "REMOTE": "Éloigné",
-    "ROWSPERPAGE": "Lignes par page",
-    "SAVE": "sauver",
-    "SCREENRECORDING": "Gérer l'enregistrement d'écran",
-    "SEARCH_FOR_ANYONE": "Chercher",
-    "SECRETACCESSKEY": "Clé d'accès secrète",
-    "SELECTED": "Choisi",
-    "SELECTED_AGENTS": "Agents sélectionnés",
-    "SELECTED_TEAMS": "Équipes sélectionnées",
-    "SELECT_ALL": "Tout sélectionner",
-    "SELECT_NONE": "Ne rien sélectionner",
-    "SEND": "Envoyer",
-    "SETTINGS": "Paramètres",
-    "SPYINTERACTION": "Interaction d'espion",
-    "STARTEDAT": "Commencé à",
-    "START_SCREENRECORDING": "Démarrer l'enregistrement d'écran",
-    "STATUS": "Statut",
-    "STOP_SCREENRECORDING": "Arrêter l'enregistrement d'écran",
-    "STRATEGY": "Stratégie",
-    "SYSTEM": "Système",
-    "TAG": "Marque",
-    "TAGS": "Mots clés",
     "TEAMADD_WHATSAPPQUEUE": "Ajouter une équipe à la file d'attente WhatsApp",
-    "TEAMS_ASSOCIATION": "Association des équipes",
-    "TEXT": "Texte",
-    "TIMEOUT": "Temps libre",
-    "TIMER": "Minuteur",
-    "TIMES": "Fois",
-    "TO": "À",
-    "TOKEN": "Jeton",
-    "TOOLTIP_SCREENRECORDING_OFF": "Enregistrement d'écran disponible",
-    "TOOLTIP_SCREENRECORDING_ON": "Enregistrement d'écran en cours",
-    "TRANSFER": "Transfert",
-    "TRUEPRIORITY": "Vraie priorité",
-    "TYPE": "Type",
-    "UNPAUSE": "Mettre fin à la pause",
-    "VALUE": "Valeur",
-    "VARIABLE": "Variable",
-    "WAITFORTHEASSIGNEDAGENT": "Attendez l'agent assigné",
-    "WAITING": "Attendre",
-    "WELCOMEMESSAGE": "Message de bienvenue",
-    "WHATSAPP": "Connecteur WhatsApp",
     "WHATSAPPACCOUNTS": "Comptes WhatsApp",
     "WHATSAPPCANNEDANSWERS": "Réponses en conserve WhatsApp",
     "WHATSAPPDISPOSITIONS": "Dispositions WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/he.json b/public/app/main/apps/whatsapp/i18n/he.json
index 45526fd..88b626e 100644
--- a/public/app/main/apps/whatsapp/i18n/he.json
+++ b/public/app/main/apps/whatsapp/i18n/he.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "שדה חובה",
-      "ACCOUNTSID_REQUIRED": "שדה חובה",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "AGENT_REQUIRED": "שדה חובה",
-      "AGENT_TIMEOUT_REQUIRED": "שדה חובה",
-      "AUTHTOKEN_REQUIRED": "שדה חובה",
-      "BOTNAME_REQUIRED": "שדה חובה",
-      "COMMAND_REQUIRED": "שדה חובה",
-      "CONDITION_REQUIRED": "שדה חובה",
       "DESCRIPTION_REQUIRED": "שדה חובה",
-      "DISPOSITION_REQUIRED": "שדה חובה",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
-      "FALSEPRIORITY_REQUIRED": "שדה חובה",
-      "KEY_MAX_LENGTH": "הערך חייב להיות באורך מקסימאלי שווה ל {{max}}",
-      "KEY_REQUIRED": "שדה חובה",
       "LANGUAGE_REQUIRED": "שדה מנדטורי",
       "LEXREGION_REQUIRED": "שדה חובה",
-      "LIST_REQUIRED": "שדה חובה",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה",
-      "NAME_REQUIRED": "שדה חובה",
-      "PHONE_REQUIRED": "שדה חובה",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
-      "PRIORITY_REQUIRED": "שדה חובה",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה",
-      "QUEUE_REQUIRED": "שדה חובה",
-      "SECRETACCESSKEY_REQUIRED": "שדה חובה",
-      "TAG_REQUIRED": "שדה חובה",
-      "TEXT_REQUIRED": "שדה חובה",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
-      "TIMEOUT_REQUIRED": "שדה חובה",
       "TIMES_REQUIRED": "שדה חובה",
-      "TOKEN_REQUIRED": "שדה חובה",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
-      "TRUEPRIORITY_REQUIRED": "שדה חובה",
-      "TYPE_REQUIRED": "שדה חובה",
-      "VALUE_REQUIRED": "שדה חובה",
       "VARIABLE_REQUIRED": "שדה חובה",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה מ",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות פחות או שווה מ",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה",
       "WELCOMEMESSAGE_MAX_LENGTH": "הערך חייב להיות באורך מקסימאלי שווה ל {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "שדה חובה"
     },
-    "HELP": {
-      "LIST": "רשימת אנשי קשר המשמשת לשייך קשרים",
-      "MANDATORYDISPOSITION": "נטייה חובה",
-      "MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש כאשר פעולת התייחסות חובה מופעלת",
-      "MOTIONPROXY": "השדה צריך להיות בעל הפורמט הבא: <פרוטוקול>: // <כתובת> [: <פורט>]. דוגמה: https: //X.Y.Z.W",
-      "NAME": "נתמכים רק מספרים, אותיות ותווים ספציפיים (._)",
-      "RECEIVEURL": "זהו מחרוזת ה- API המיוצר אוטומטית בה אתה צריך להשתמש בכדי לקבל את ההודעות בחשבונך מספק ה- WhatsApp Connector שלך (יש להשתמש בשיטת POST): לחץ על כפתור הלוח כדי להעתיק אותו",
-      "WELCOMEMESSAGE": "זוהי הודעת התגובה הראשונה שנשלחה לאינטראקציות חדשות"
-    },
-    "ACCESSKEYID": "גישה למזהה מפתח",
-    "ACCOUNTSID": "חשבון SID",
-    "ACTIONS": "פעולות",
-    "ADD_NOTE": "להוסיף הערה",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "לְהוֹסִיף",
     "ADD_WHATSAPPCANNEDANSWER": "הוסף תשובה משומרת",
     "ADD_WHATSAPPDISPOSITION": "הוסף WhatsApp Disposition",
     "ADD_WHATSAPPQUEUE": "הוסף תור WhatsApp",
-    "ADVANCED": "מִתקַדֵם",
-    "AGENT": "סוֹכֵן",
     "AGENTADD_QUEUE": "הוסף סוכן לתור WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "הוסף סוכן לחשבון WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "הוסף סוכן לתור WhatsApp",
-    "AGENTS": "סוכנים",
-    "AGENTSADD_QUEUE": "הוסף סוכנים לתור WhatsApp",
-    "AGENTTRANSFER": "העברת סוכן",
-    "AGENTTRANSFERTIMEOUT": "פסק זמן להעברת סוכן",
-    "AGENT_TIMEOUT": "פסק זמן לסוכן",
-    "ALL": "את כל",
-    "ALL_AGENTS": "כל הסוכנים",
-    "ALL_TEAMS": "כל הקבוצות",
-    "AMAZONLEX": "אמזון-לקס",
     "AUTHTOKEN": "אסימון אותנטי",
-    "AUTOREPLY": "תגובה אוטומטית",
-    "BACK": "חזור",
-    "BOTNAME": "שם בוט",
-    "BUSY": "עסוק",
-    "CANNEDANSWERS": "תשובות משומרות",
-    "CANNED_ANSWER_NOT_FOUND": "לא נמצאו תשובות משומר",
-    "CANNED_ANSWER_SEARCH": "הזן טקסט לחיפוש בתשובה משומרת",
-    "CAPACITY": "קיבולת",
-    "CLOSE": "סגור",
-    "CLOSED": "סָגוּר",
-    "CLOSEMETHOD": "שיטה סגורה",
-    "CLOSEURL": "סגור את כתובת האתר",
-    "COMMAND": "פקודה",
-    "CONDITION": "מַצָב",
-    "CONTACT": "איש קשר",
-    "CREATED_AT": "נוצר ב",
-    "DEFAULT_PAUSE": "PAUSE PAUSE",
-    "DELETE": "לִמְחוֹק",
-    "DELETE_INTERACTION": "מחק אינטראקציה",
-    "DELETE_SELECTED": "מחק את הנבחר",
     "DELETE_WHATSAPPACCOUNT": "מחק את חשבון WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "נמחק",
     "DELETE_WHATSAPPDISPOSITION": "מחק את התוכן של WhatsApp",
     "DELETE_WHATSAPPQUEUE": "מחק תור WhatsApp",
-    "DESCRIPTION": "תיאור",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "מֶזֶג",
-    "DISPOSITIONS": "נטיות",
-    "DOWNLOAD_INTERACTION": "הורד",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "הורד ללא קבצים מצורפים",
-    "DOWNLOAD_WITH_ATTACHMENTS": "הורד עם קבצים מצורפים",
-    "EDIT_AGENT": "ערוך סוכן",
-    "EDIT_AMAZONLEX": "ערוך את תצורת Lex",
-    "EDIT_AUTOREPLY": "ערוך תגובה אוטומטית",
-    "EDIT_CLOSE": "ערוך סגור",
-    "EDIT_DIALOGFLOW": "ערוך את תצורת DialogFlow",
-    "EDIT_GOTOIF": "ערוך את גוטוטיף",
-    "EDIT_GOTOP": "ערוך את Gotop",
-    "EDIT_NOOP": "ערוך Noop",
-    "EDIT_QUEUE": "ערוך תור",
-    "EDIT_SYSTEM": "ערוך מערכת",
-    "EDIT_TAG": "ערוך תג",
     "EDIT_WHATSAPPACCOUNT": "ערוך את חשבון WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "לַעֲרוֹך",
     "EDIT_WHATSAPPDISPOSITION": "ערוך את WhatsApp Disposition",
     "EDIT_WHATSAPPQUEUE": "ערוך תור WhatsApp",
-    "FALSEPRIORITY": "עדיפות שקרית",
-    "GENERAL": "כללי",
-    "GOTOIF": "גוטוטיף",
-    "GOTOP": "לך למעלה",
     "GOTOREALTIME_WHATSAPPQUEUE": "עבור לתור WhatsApp בזמן אמת",
     "GO_TO_WHATSAPPACCOUNTS": "עבור לחשבון",
-    "ID": "תְעוּדַת זֶהוּת",
-    "IDLE": "לְהִתְבַּטֵל",
-    "INSERT_MESSAGE_HERE": "הכנס הודעה כאן",
-    "INTERACTIONS": "אינטראקציות",
     "INTERACTIONS_WHATSAPPACCOUNT": "עבור אל אינטראקציות",
-    "KEY": "מַפְתֵחַ",
-    "LANGUAGE": "שפה",
-    "LASTMESSAGE": "הודעה אחרונה",
-    "LEXREGION": "אזור",
-    "LIST": "רשימה",
-    "LOGGED_IN": "מחובר (SIP מחובר)",
-    "LOGIN_TIME": "זמן כניסה",
-    "LOGOUT": "להתנתק",
-    "MANDATORYDISPOSITION": "התנהגות חובה",
-    "MANDATORYDISPOSITIONPAUSEID": "השהה לשימוש כאשר פעולת התייחסות חובה מופעלת",
-    "MORE": "יותר",
-    "MOTIONPROXY": "פרוקסי או תחום תנועה",
     "MULTI_SELECT_TOGGLE": "החלפת ריבוי בחירה",
-    "NAME": "שֵׁם",
     "NEW_WHATSAPPACCOUNT": "חשבון WhatsApp חדש",
     "NEW_WHATSAPPCANNEDANSWER": "תשובה חדשה של WhatsApp שימורים",
     "NEW_WHATSAPPDISPOSITION": "ניו WhatsApp Disposition",
     "NEW_WHATSAPPQUEUE": "תור WhatsApp חדש",
-    "NOOP": "בצהריים",
-    "NOTE": "הערה",
-    "NOTIFICATION": "הוֹדָעָה",
-    "NOTIFICATIONSHAKE": "לְנַעֵר",
-    "NOTIFICATIONSOUND": "נשמע",
-    "NOTIFICATIONTEMPLATE": "תבנית",
-    "NO_AGENT_ONLINE": "אין סוכן מקוון",
-    "NO_AVAILABLE_INFO": "אין מידע זמין",
-    "NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "אין תשובות משומרות WhatsApp זמינות",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "אין זמינות ל- WhatsApp",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "אין חשבונות WhatsApp זמינים",
-    "OF": "שֶׁל",
-    "OPENED": "נפתח",
-    "PAGE": "עמוד",
-    "PARTIALPAUSE": "הפסקה חלקית",
-    "PAUSE": "הַפסָקָה",
-    "PAUSED": "מושהה",
-    "PAUSE_TIME": "זמן הפסקה",
-    "PHONE": "טלפון",
-    "PRIORITY": "עדיפות",
-    "PROXY": "פרוקסי",
-    "QUEUE": "תוֹר",
-    "QUEUES": "תורים",
-    "QUEUETRANSFER": "העברת תור",
-    "QUEUETRANSFERTIMEOUT": "פסק זמן להעברת תורים",
-    "READY": "מוּכָן",
-    "REALTIME": "זמן אמת",
-    "RECEIVEURL": "קבל כתובת אתר",
-    "REFRESH_INTERACTIONS": "רענן אינטראקציות",
     "REMOTE": "מְרוּחָק",
-    "ROWSPERPAGE": "שורות לעמוד",
-    "SAVE": "לשמור",
-    "SCREENRECORDING": "נהל הקלטת מסך",
-    "SEARCH_FOR_ANYONE": "לחפש",
-    "SECRETACCESSKEY": "גישה לסוד מפתח",
-    "SELECTED": "נבחר",
-    "SELECTED_AGENTS": "סוכנים נבחרים",
-    "SELECTED_TEAMS": "צוותים נבחרים",
-    "SELECT_ALL": "בחר הכל",
-    "SELECT_NONE": "אל תבחר באף אחת מהאפשרויות",
-    "SEND": "לִשְׁלוֹחַ",
-    "SETTINGS": "הגדרות",
-    "SPYINTERACTION": "אינטראקציה מרגלת",
-    "STARTEDAT": "התחיל ב",
-    "START_SCREENRECORDING": "הקלטת מסך התחלה",
-    "STATUS": "סטָטוּס",
-    "STOP_SCREENRECORDING": "עצירת הקלטת מסך",
-    "STRATEGY": "אִסטרָטֶגִיָה",
-    "SYSTEM": "מערכת",
-    "TAG": "תָג",
-    "TAGS": "תגיות",
     "TEAMADD_WHATSAPPQUEUE": "הוסף צוות לתור WhatsApp",
-    "TEAMS_ASSOCIATION": "איגוד הצוותים",
-    "TEXT": "טֶקסט",
-    "TIMEOUT": "פסק זמן",
-    "TIMER": "שָׁעוֹן עֶצֶר",
-    "TIMES": "פִּי",
-    "TO": "ל",
-    "TOKEN": "אֲסִימוֹן",
-    "TOOLTIP_SCREENRECORDING_OFF": "הקלטת מסך זמינה",
-    "TOOLTIP_SCREENRECORDING_ON": "הקלטת מסך מתבצעת",
-    "TRANSFER": "לְהַעֲבִיר",
-    "TRUEPRIORITY": "עדיפות אמיתית",
-    "TYPE": "סוּג",
-    "UNPAUSE": "סוף הפסקה",
-    "VALUE": "ערך",
-    "VARIABLE": "מִשְׁתַנֶה",
-    "WAITFORTHEASSIGNEDAGENT": "המתן לסוכן שהוקצה",
-    "WAITING": "הַמתָנָה",
-    "WELCOMEMESSAGE": "הודעת ברוך הבא",
-    "WHATSAPP": "מחבר WhatsApp",
     "WHATSAPPACCOUNTS": "חשבונות WhatsApp",
     "WHATSAPPCANNEDANSWERS": "תשובות משומרות על WhatsApp",
     "WHATSAPPDISPOSITIONS": "אפשרויות WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/hi.json b/public/app/main/apps/whatsapp/i18n/hi.json
index 76f7d76..e572aa8 100644
--- a/public/app/main/apps/whatsapp/i18n/hi.json
+++ b/public/app/main/apps/whatsapp/i18n/hi.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "आवश्यक स्थान",
-      "ACCOUNTSID_REQUIRED": "आवश्यक स्थान",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "AGENT_REQUIRED": "आवश्यक स्थान",
-      "AGENT_TIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "AUTHTOKEN_REQUIRED": "आवश्यक स्थान",
-      "BOTNAME_REQUIRED": "आवश्यक स्थान",
-      "COMMAND_REQUIRED": "आवश्यक स्थान",
-      "CONDITION_REQUIRED": "आवश्यक स्थान",
       "DESCRIPTION_REQUIRED": "आवश्यक स्थान",
-      "DISPOSITION_REQUIRED": "आवश्यक स्थान",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
-      "FALSEPRIORITY_REQUIRED": "आवश्यक स्थान",
-      "KEY_MAX_LENGTH": "मान की अधिकतम लंबाई {{अधिकतम}} के बराबर होनी चाहिए",
-      "KEY_REQUIRED": "आवश्यक स्थान",
       "LANGUAGE_REQUIRED": "मैंडेटरी फील्ड",
       "LEXREGION_REQUIRED": "आवश्यक स्थान",
-      "LIST_REQUIRED": "आवश्यक स्थान",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान",
-      "NAME_REQUIRED": "आवश्यक स्थान",
-      "PHONE_REQUIRED": "आवश्यक स्थान",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
-      "PRIORITY_REQUIRED": "आवश्यक स्थान",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
-      "QUEUE_REQUIRED": "आवश्यक स्थान",
-      "SECRETACCESSKEY_REQUIRED": "आवश्यक स्थान",
-      "TAG_REQUIRED": "आवश्यक स्थान",
-      "TEXT_REQUIRED": "आवश्यक स्थान",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
-      "TIMEOUT_REQUIRED": "आवश्यक स्थान",
       "TIMES_REQUIRED": "आवश्यक स्थान",
-      "TOKEN_REQUIRED": "आवश्यक स्थान",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
-      "TRUEPRIORITY_REQUIRED": "आवश्यक स्थान",
-      "TYPE_REQUIRED": "आवश्यक स्थान",
-      "VALUE_REQUIRED": "आवश्यक स्थान",
       "VARIABLE_REQUIRED": "आवश्यक स्थान",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान इससे अधिक या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान इससे कम या बराबर होना चाहिए",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "आवश्यक स्थान",
       "WELCOMEMESSAGE_MAX_LENGTH": "मान की अधिकतम लंबाई {{अधिकतम}} के बराबर होनी चाहिए",
       "WELCOMEMESSAGE_REQUIRED": "आवश्यक स्थान"
     },
-    "HELP": {
-      "LIST": "कॉन्टैक्ट मैनेजर लिस्ट का इस्तेमाल कॉन्टैक्ट्स को जोड़ने में किया जाता है",
-      "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
-      "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्वभाव सक्षम होने पर उपयोग करने के लिए रुकें",
-      "MOTIONPROXY": "फ़ील्ड में निम्न प्रारूप होना चाहिए: <प्रोटोकॉल>: // <ipaddress> [: <port>]। उदाहरण: https: //X.Y.Z.W",
-      "NAME": "केवल संख्याएँ, अक्षर और विशिष्ट वर्ण (._) समर्थित हैं",
-      "RECEIVEURL": "यह स्वतः जनरेट किया गया एपीआई स्ट्रिंग है जिसे आपको अपने व्हाट्सएप कनेक्टर प्रदाता (POST विधि का उपयोग करना होगा) से अपने खाते के अंदर संदेशों को प्राप्त करने के लिए उपयोग करना होगा: इसे कॉपी करने के लिए क्लिपबोर्ड बटन पर क्लिक करें",
-      "WELCOMEMESSAGE": "यह नई प्रतिक्रियाओं के लिए भेजा गया पहला प्रतिक्रिया संदेश है"
-    },
-    "ACCESSKEYID": "एक्सेस की आईडी",
-    "ACCOUNTSID": "खाता एसआईडी",
-    "ACTIONS": "क्रिया",
-    "ADD_NOTE": "नोट जोड़े",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "जोड़ना",
     "ADD_WHATSAPPCANNEDANSWER": "डिब्बाबंद उत्तर जोड़ें",
     "ADD_WHATSAPPDISPOSITION": "WhatsApp Disposition जोड़ें",
     "ADD_WHATSAPPQUEUE": "WhatsApp कतार में जोड़ें",
-    "ADVANCED": "उन्नत",
-    "AGENT": "एजेंट",
     "AGENTADD_QUEUE": "व्हाट्सएप कतार में एजेंट जोड़ें",
     "AGENTADD_WHATSAPPACCOUNT": "एजेंट को व्हाट्सएप अकाउंट में जोड़ें",
     "AGENTADD_WHATSAPPQUEUE": "व्हाट्सएप कतार में एजेंट जोड़ें",
-    "AGENTS": "एजेंटों",
-    "AGENTSADD_QUEUE": "व्हाट्सएप कतार में एजेंटों को जोड़ें",
-    "AGENTTRANSFER": "एजेंट स्थानांतरण",
-    "AGENTTRANSFERTIMEOUT": "एजेंट स्थानांतरण टाइमआउट",
-    "AGENT_TIMEOUT": "एजेंट टाइमआउट",
-    "ALL": "सब",
-    "ALL_AGENTS": "सभी एजेंट",
-    "ALL_TEAMS": "सभी टीमें",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "प्रामाणिक टोकन",
-    "AUTOREPLY": "स्व उत्तर",
-    "BACK": "वापस",
-    "BOTNAME": "बॉट नाम",
-    "BUSY": "व्यस्त",
-    "CANNEDANSWERS": "डिब्बाबंद जवाब",
-    "CANNED_ANSWER_NOT_FOUND": "कोई डिब्बाबंद जवाब नहीं मिला",
-    "CANNED_ANSWER_SEARCH": "डिब्बाबंद उत्तर खोजने के लिए एक पाठ दर्ज करें",
-    "CAPACITY": "क्षमता",
-    "CLOSE": "बंद करे",
-    "CLOSED": "बन्द है",
-    "CLOSEMETHOD": "बंद करने की विधि",
-    "CLOSEURL": "URL बंद करें",
-    "COMMAND": "आदेश",
-    "CONDITION": "स्थिति",
-    "CONTACT": "संपर्क करें",
-    "CREATED_AT": "पर बनाया गया",
-    "DEFAULT_PAUSE": "DEFAULT PAUSE",
-    "DELETE": "हटाएं",
-    "DELETE_INTERACTION": "सहभागिता हटाएं",
-    "DELETE_SELECTED": "चयनित मिटाएं",
     "DELETE_WHATSAPPACCOUNT": "व्हाट्सएप अकाउंट को डिलीट करें",
     "DELETE_WHATSAPPCANNEDANSWER": "हटाए गए",
     "DELETE_WHATSAPPDISPOSITION": "व्हाट्सएप डिस्पोजल को डिलीट करें",
     "DELETE_WHATSAPPQUEUE": "WhatsApp कतार हटाएं",
-    "DESCRIPTION": "विवरण",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "स्वभाव",
-    "DISPOSITIONS": "फ़ौजी तरतीब",
-    "DOWNLOAD_INTERACTION": "डाउनलोड",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "संलग्नक के बिना डाउनलोड करें",
-    "DOWNLOAD_WITH_ATTACHMENTS": "अनुलग्नकों के साथ डाउनलोड करें",
-    "EDIT_AGENT": "एजेंट को संपादित करें",
-    "EDIT_AMAZONLEX": "लेक्स कॉन्फ़िगरेशन संपादित करें",
-    "EDIT_AUTOREPLY": "ऑटो उत्तर संपादित करें",
-    "EDIT_CLOSE": "बंद करें संपादित करें",
-    "EDIT_DIALOGFLOW": "DialogFlow कॉन्फ़िगरेशन संपादित करें",
-    "EDIT_GOTOIF": "गोटिफ को संपादित करें",
-    "EDIT_GOTOP": "गोटो को संपादित करें",
-    "EDIT_NOOP": "नूप को संपादित करें",
-    "EDIT_QUEUE": "कतार संपादित करें",
-    "EDIT_SYSTEM": "सिस्टम संपादित करें",
-    "EDIT_TAG": "टैग संपादित करें",
     "EDIT_WHATSAPPACCOUNT": "WhatsApp खाता संपादित करें",
     "EDIT_WHATSAPPCANNEDANSWER": "संपादित करें",
     "EDIT_WHATSAPPDISPOSITION": "WhatsApp विवाद को संपादित करें",
     "EDIT_WHATSAPPQUEUE": "WhatsApp कतार संपादित करें",
-    "FALSEPRIORITY": "झूठी प्राथमिकता",
-    "GENERAL": "सामान्य",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "शीर्ष पर जाना",
     "GOTOREALTIME_WHATSAPPQUEUE": "रियल टाइम व्हाट्सएप पर जाएं",
     "GO_TO_WHATSAPPACCOUNTS": "खाते जाओ",
-    "ID": "ईद",
-    "IDLE": "बेकार",
-    "INSERT_MESSAGE_HERE": "यहां मैसेज डालें",
-    "INTERACTIONS": "सहभागिता",
     "INTERACTIONS_WHATSAPPACCOUNT": "सहभागिता पर जाएं",
-    "KEY": "चाभी",
-    "LANGUAGE": "भाषा: हिन्दी",
-    "LASTMESSAGE": "आखिरी सन्देश",
-    "LEXREGION": "क्षेत्र",
-    "LIST": "सूची",
-    "LOGGED_IN": "लॉग इन (SIP कनेक्टेड)",
-    "LOGIN_TIME": "लॉग इन टाइम",
-    "LOGOUT": "लॉग आउट",
-    "MANDATORYDISPOSITION": "अनिवार्य विवाद",
-    "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्वभाव सक्षम होने पर उपयोग करने के लिए रुकें",
-    "MORE": "अधिक",
-    "MOTIONPROXY": "प्रॉक्सी या मोशन डोमेन",
     "MULTI_SELECT_TOGGLE": "मल्टी सिलेक्ट टॉगल",
-    "NAME": "नाम",
     "NEW_WHATSAPPACCOUNT": "नया व्हाट्सएप अकाउंट",
     "NEW_WHATSAPPCANNEDANSWER": "नया व्हाट्सएप डिब्बाबंद जवाब",
     "NEW_WHATSAPPDISPOSITION": "नया व्हाट्सएप डिस्पोजल",
     "NEW_WHATSAPPQUEUE": "नई WhatsApp कतार",
-    "NOOP": "NOOP",
-    "NOTE": "ध्यान दें",
-    "NOTIFICATION": "अधिसूचना",
-    "NOTIFICATIONSHAKE": "शेक",
-    "NOTIFICATIONSOUND": "ध्वनि",
-    "NOTIFICATIONTEMPLATE": "खाका",
-    "NO_AGENT_ONLINE": "कोई एजेंट ऑनलाइन नहीं",
-    "NO_AVAILABLE_INFO": "कोई उपलब्ध जानकारी नहीं",
-    "NO_INTERACTION_AVAILABLE": "कोई बातचीत उपलब्ध नहीं है",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "कोई व्हाट्सएप डिब्बाबंद जवाब उपलब्ध नहीं",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "कोई व्हाट्सएप डिस्पोजल उपलब्ध नहीं है",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "कोई व्हाट्सएप अकाउंट उपलब्ध नहीं है",
-    "OF": "का",
-    "OPENED": "खुल गया",
-    "PAGE": "पृष्ठ",
-    "PARTIALPAUSE": "आंशिक विराम",
-    "PAUSE": "ठहराव",
-    "PAUSED": "रोके गए",
-    "PAUSE_TIME": "विराम का वक्त",
-    "PHONE": "फ़ोन",
-    "PRIORITY": "प्राथमिकता",
-    "PROXY": "प्रतिनिधि",
-    "QUEUE": "कतार",
-    "QUEUES": "कतार",
-    "QUEUETRANSFER": "कतार स्थानांतरण",
-    "QUEUETRANSFERTIMEOUT": "कतार स्थानांतरण टाइमआउट",
-    "READY": "तैयार",
-    "REALTIME": "रियल टाइम",
-    "RECEIVEURL": "URL प्राप्त करें",
-    "REFRESH_INTERACTIONS": "बातचीत को ताज़ा करें",
     "REMOTE": "रिमोट",
-    "ROWSPERPAGE": "प्रति पृष्ठ पंक्तियाँ",
-    "SAVE": "सहेजें",
-    "SCREENRECORDING": "स्क्रीन रिकॉर्डिंग की व्यवस्था करें",
-    "SEARCH_FOR_ANYONE": "खोज",
-    "SECRETACCESSKEY": "पहुंच कुंजी रहस्य",
-    "SELECTED": "चुन लिया",
-    "SELECTED_AGENTS": "चयनित एजेंट",
-    "SELECTED_TEAMS": "चयनित टीमें",
-    "SELECT_ALL": "सभी का चयन करे",
-    "SELECT_NONE": "किसी का चयन न करें",
-    "SEND": "संदेश",
-    "SETTINGS": "समायोजन",
-    "SPYINTERACTION": "जासूस बातचीत",
-    "STARTEDAT": "इस समय पर शुरू किया",
-    "START_SCREENRECORDING": "स्क्रीन रिकॉर्डिंग शुरू करें",
-    "STATUS": "स्थिति",
-    "STOP_SCREENRECORDING": "स्क्रीन रिकॉर्डिंग बंद करो",
-    "STRATEGY": "रणनीति",
-    "SYSTEM": "प्रणाली",
-    "TAG": "टैग",
-    "TAGS": "टैग",
     "TEAMADD_WHATSAPPQUEUE": "व्हाट्सएप कतार में टीम को जोड़ें",
-    "TEAMS_ASSOCIATION": "टीमों एसोसिएशन",
-    "TEXT": "टेक्स्ट",
-    "TIMEOUT": "समय समाप्त",
-    "TIMER": "घड़ी",
-    "TIMES": "टाइम्स",
-    "TO": "सेवा",
-    "TOKEN": "टोकन",
-    "TOOLTIP_SCREENRECORDING_OFF": "स्क्रीन रिकॉर्डिंग उपलब्ध है",
-    "TOOLTIP_SCREENRECORDING_ON": "स्क्रीन रिकॉर्डिंग प्रगति पर है",
-    "TRANSFER": "स्थानांतरण",
-    "TRUEPRIORITY": "सच्ची प्राथमिकता",
-    "TYPE": "प्रकार",
-    "UNPAUSE": "अंतिम विराम",
-    "VALUE": "मूल्य",
-    "VARIABLE": "परिवर्तनशील",
-    "WAITFORTHEASSIGNEDAGENT": "असाइन किए गए एजेंट की प्रतीक्षा करें",
-    "WAITING": "इंतज़ार कर रही",
-    "WELCOMEMESSAGE": "स्वागत संदेश",
-    "WHATSAPP": "WhatsApp कनेक्टर",
     "WHATSAPPACCOUNTS": "WhatsApp खाते",
     "WHATSAPPCANNEDANSWERS": "WhatsApp डिब्बाबंद जवाब",
     "WHATSAPPDISPOSITIONS": "व्हाट्सएप के डिस्पोजल",
diff --git a/public/app/main/apps/whatsapp/i18n/id.json b/public/app/main/apps/whatsapp/i18n/id.json
index 976932f..4df28ec 100644
--- a/public/app/main/apps/whatsapp/i18n/id.json
+++ b/public/app/main/apps/whatsapp/i18n/id.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Bidang wajib",
-      "ACCOUNTSID_REQUIRED": "Bidang wajib",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "AGENT_REQUIRED": "Bidang wajib",
-      "AGENT_TIMEOUT_REQUIRED": "Bidang wajib",
-      "AUTHTOKEN_REQUIRED": "Bidang wajib",
-      "BOTNAME_REQUIRED": "Bidang wajib",
-      "COMMAND_REQUIRED": "Bidang wajib",
-      "CONDITION_REQUIRED": "Bidang wajib",
       "DESCRIPTION_REQUIRED": "Bidang wajib",
-      "DISPOSITION_REQUIRED": "Bidang wajib",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
-      "FALSEPRIORITY_REQUIRED": "Bidang wajib",
-      "KEY_MAX_LENGTH": "Nilai harus memiliki panjang maksimum yang sama dengan {{max}}",
-      "KEY_REQUIRED": "Bidang wajib",
       "LANGUAGE_REQUIRED": "Bidang Mandtory",
       "LEXREGION_REQUIRED": "Bidang wajib",
-      "LIST_REQUIRED": "Bidang wajib",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib",
-      "NAME_REQUIRED": "Bidang wajib",
-      "PHONE_REQUIRED": "Bidang wajib",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
-      "PRIORITY_REQUIRED": "Bidang wajib",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
-      "QUEUE_REQUIRED": "Bidang wajib",
-      "SECRETACCESSKEY_REQUIRED": "Bidang wajib",
-      "TAG_REQUIRED": "Bidang wajib",
-      "TEXT_REQUIRED": "Bidang wajib",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
-      "TIMEOUT_REQUIRED": "Bidang wajib",
       "TIMES_REQUIRED": "Bidang wajib",
-      "TOKEN_REQUIRED": "Bidang wajib",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
-      "TRUEPRIORITY_REQUIRED": "Bidang wajib",
-      "TYPE_REQUIRED": "Bidang wajib",
-      "VALUE_REQUIRED": "Bidang wajib",
       "VARIABLE_REQUIRED": "Bidang wajib",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilainya harus lebih besar atau sama dari",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilainya harus kurang atau sama dari",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Bidang wajib",
       "WELCOMEMESSAGE_MAX_LENGTH": "Nilai harus memiliki panjang maksimum yang sama dengan {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Bidang wajib"
     },
-    "HELP": {
-      "LIST": "Daftar Manajer Kontak digunakan untuk mengasosiasikan kontak",
-      "MANDATORYDISPOSITION": "Disposisi wajib",
-      "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan saat disposisi wajib diaktifkan",
-      "MOTIONPROXY": "Bidang harus memiliki format berikut: <protocol>: // <ipaddress> [: <port>]. Contoh: https: //X.Y.Z.W",
-      "NAME": "Hanya angka, huruf dan karakter tertentu (._) yang didukung",
-      "RECEIVEURL": "Ini adalah string API yang dibuat secara otomatis yang perlu Anda gunakan untuk menerima pesan di dalam akun Anda dari penyedia WhatsApp Connector Anda (metode POST harus digunakan): klik tombol clipboard untuk menyalinnya",
-      "WELCOMEMESSAGE": "Ini adalah pesan tanggapan pertama yang dikirim ke interaksi baru"
-    },
-    "ACCESSKEYID": "Access Key ID",
-    "ACCOUNTSID": "Akun SID",
-    "ACTIONS": "Tindakan",
-    "ADD_NOTE": "Menambahkan catatan",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Menambahkan",
     "ADD_WHATSAPPCANNEDANSWER": "Tambahkan Jawaban Kalengan",
     "ADD_WHATSAPPDISPOSITION": "Tambahkan WhatsApp Disposition",
     "ADD_WHATSAPPQUEUE": "Tambahkan antrean WhatsApp",
-    "ADVANCED": "Maju",
-    "AGENT": "Agen",
     "AGENTADD_QUEUE": "Tambahkan Agen Ke Antrean WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Tambahkan Agen Ke Akun WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Tambahkan Agen Ke Antrean WhatsApp",
-    "AGENTS": "Agen",
-    "AGENTSADD_QUEUE": "Tambahkan agen ke antrean WhatsApp",
-    "AGENTTRANSFER": "Transfer Agen",
-    "AGENTTRANSFERTIMEOUT": "Batas Waktu Transfer Agen",
-    "AGENT_TIMEOUT": "Agent Timeout",
-    "ALL": "Semua",
-    "ALL_AGENTS": "Semua Agen",
-    "ALL_TEAMS": "Semua Tim",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Token Auth",
-    "AUTOREPLY": "Balas Otomatis",
-    "BACK": "Kembali",
-    "BOTNAME": "Nama Bot",
-    "BUSY": "Sibuk",
-    "CANNEDANSWERS": "Jawaban Kalengan",
-    "CANNED_ANSWER_NOT_FOUND": "Tidak ada Jawaban Kalengan ditemukan",
-    "CANNED_ANSWER_SEARCH": "Masukkan teks untuk mencari Jawaban Kalengan",
-    "CAPACITY": "Kapasitas",
-    "CLOSE": "Menutup",
-    "CLOSED": "Tutup",
-    "CLOSEMETHOD": "Metode Tutup",
-    "CLOSEURL": "Tutup URL",
-    "COMMAND": "Perintah",
-    "CONDITION": "Kondisi",
-    "CONTACT": "Kontak",
-    "CREATED_AT": "Dibuat di",
-    "DEFAULT_PAUSE": "JEDA DEFAULT",
-    "DELETE": "Menghapus",
-    "DELETE_INTERACTION": "Hapus Interaksi",
-    "DELETE_SELECTED": "Hapus yang dipilih",
     "DELETE_WHATSAPPACCOUNT": "Hapus Akun WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Dihapus",
     "DELETE_WHATSAPPDISPOSITION": "Hapus Disposisi WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Hapus Antrean WhatsApp",
-    "DESCRIPTION": "Deskripsi",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Watak",
-    "DISPOSITIONS": "Disposisi",
-    "DOWNLOAD_INTERACTION": "Unduh",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Unduh Tanpa Lampiran",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Unduh Dengan Lampiran",
-    "EDIT_AGENT": "Edit Agen",
-    "EDIT_AMAZONLEX": "Edit konfigurasi Lex",
-    "EDIT_AUTOREPLY": "Edit Balasan Otomatis",
-    "EDIT_CLOSE": "Edit Tutup",
-    "EDIT_DIALOGFLOW": "Edit konfigurasi DialogFlow",
-    "EDIT_GOTOIF": "Edit Gotoif",
-    "EDIT_GOTOP": "Edit Gotop",
-    "EDIT_NOOP": "Edit Noop",
-    "EDIT_QUEUE": "Edit Antrian",
-    "EDIT_SYSTEM": "Edit Sistem",
-    "EDIT_TAG": "Edit Tag",
     "EDIT_WHATSAPPACCOUNT": "Edit Akun WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "Edit",
     "EDIT_WHATSAPPDISPOSITION": "Edit Disposisi WhatsApp",
     "EDIT_WHATSAPPQUEUE": "Edit Antrian WhatsApp",
-    "FALSEPRIORITY": "Prioritas Salah",
-    "GENERAL": "Umum",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Buka Antrean WhatsApp Waktu Nyata",
     "GO_TO_WHATSAPPACCOUNTS": "Buka Akun",
-    "ID": "Indo",
-    "IDLE": "Diam",
-    "INSERT_MESSAGE_HERE": "Sisipkan pesan di sini",
-    "INTERACTIONS": "Interaksi",
     "INTERACTIONS_WHATSAPPACCOUNT": "Buka Interaksi",
-    "KEY": "Kunci",
-    "LANGUAGE": "Bahasa",
-    "LASTMESSAGE": "Pesan Terakhir",
-    "LEXREGION": "Wilayah",
-    "LIST": "Daftar",
-    "LOGGED_IN": "Masuk (SIP Terhubung)",
-    "LOGIN_TIME": "Waktu Login",
-    "LOGOUT": "Keluar",
-    "MANDATORYDISPOSITION": "Disposisi Wajib",
-    "MANDATORYDISPOSITIONPAUSEID": "Jeda untuk digunakan saat disposisi wajib diaktifkan",
-    "MORE": "Lebih",
-    "MOTIONPROXY": "Domain Proksi atau Gerakan",
     "MULTI_SELECT_TOGGLE": "Multi pilih beralih",
-    "NAME": "Nama",
     "NEW_WHATSAPPACCOUNT": "Akun WhatsApp Baru",
     "NEW_WHATSAPPCANNEDANSWER": "Jawaban Kalengan WhatsApp Baru",
     "NEW_WHATSAPPDISPOSITION": "Disposisi WhatsApp Baru",
     "NEW_WHATSAPPQUEUE": "Antrean WhatsApp Baru",
-    "NOOP": "Noop",
-    "NOTE": "Catatan",
-    "NOTIFICATION": "Pemberitahuan",
-    "NOTIFICATIONSHAKE": "Menggoyang",
-    "NOTIFICATIONSOUND": "Suara",
-    "NOTIFICATIONTEMPLATE": "Template",
-    "NO_AGENT_ONLINE": "Tidak Ada Agen yang Online",
-    "NO_AVAILABLE_INFO": "Tidak Ada Info Tersedia",
-    "NO_INTERACTION_AVAILABLE": "Tidak Ada Interaksi yang Tersedia",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Tidak Ada Jawaban WhatsApp yang Disiapkan",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Tidak Ada Disposisi WhatsApp yang Tersedia",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Tidak ada Akun WhatsApp yang tersedia",
-    "OF": "dari",
-    "OPENED": "Terbuka",
-    "PAGE": "Halaman",
-    "PARTIALPAUSE": "Jeda Parsial",
-    "PAUSE": "Berhenti sebentar",
-    "PAUSED": "Dijeda",
-    "PAUSE_TIME": "Jeda Waktu",
-    "PHONE": "Telepon",
-    "PRIORITY": "Prioritas",
-    "PROXY": "Proksi",
-    "QUEUE": "Antre",
-    "QUEUES": "Antrian",
-    "QUEUETRANSFER": "Transfer Antrian",
-    "QUEUETRANSFERTIMEOUT": "Batas Waktu Transfer Antrian",
-    "READY": "Siap",
-    "REALTIME": "Waktu sebenarnya",
-    "RECEIVEURL": "Terima URL",
-    "REFRESH_INTERACTIONS": "Segarkan Interaksi",
     "REMOTE": "Terpencil",
-    "ROWSPERPAGE": "Baris per halaman",
-    "SAVE": "Menyimpan",
-    "SCREENRECORDING": "Kelola Perekaman Layar",
-    "SEARCH_FOR_ANYONE": "Cari",
-    "SECRETACCESSKEY": "Akses kunci rahasia",
-    "SELECTED": "Terpilih",
-    "SELECTED_AGENTS": "Agen Pilihan",
-    "SELECTED_TEAMS": "Tim Terpilih",
-    "SELECT_ALL": "Pilih Semua",
-    "SELECT_NONE": "Pilih tidak ada",
-    "SEND": "Kirim",
-    "SETTINGS": "Pengaturan",
-    "SPYINTERACTION": "Interaksi Mata-mata",
-    "STARTEDAT": "Dimulai pada",
-    "START_SCREENRECORDING": "Mulai Perekaman Layar",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Hentikan Perekaman Layar",
-    "STRATEGY": "Strategi",
-    "SYSTEM": "Sistem",
-    "TAG": "Menandai",
-    "TAGS": "Tag",
     "TEAMADD_WHATSAPPQUEUE": "Tambahkan Tim Ke Antrean WhatsApp",
-    "TEAMS_ASSOCIATION": "Asosiasi Tim",
-    "TEXT": "Teks",
-    "TIMEOUT": "Waktu habis",
-    "TIMER": "Timer",
-    "TIMES": "Waktu",
-    "TO": "Untuk",
-    "TOKEN": "Token",
-    "TOOLTIP_SCREENRECORDING_OFF": "Perekaman Layar tersedia",
-    "TOOLTIP_SCREENRECORDING_ON": "Perekaman Layar sedang berlangsung",
-    "TRANSFER": "Transfer",
-    "TRUEPRIORITY": "Prioritas Sejati",
-    "TYPE": "Tipe",
-    "UNPAUSE": "Akhiri Jeda",
-    "VALUE": "Nilai",
-    "VARIABLE": "Variabel",
-    "WAITFORTHEASSIGNEDAGENT": "Tunggu agen yang ditunjuk",
-    "WAITING": "Menunggu",
-    "WELCOMEMESSAGE": "Pesan Selamat Datang",
-    "WHATSAPP": "Konektor WhatsApp",
     "WHATSAPPACCOUNTS": "Akun WhatsApp",
     "WHATSAPPCANNEDANSWERS": "Jawaban WhatsApp Canned",
     "WHATSAPPDISPOSITIONS": "Disposisi WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/it.json b/public/app/main/apps/whatsapp/i18n/it.json
index 6971c93..71bce9c 100644
--- a/public/app/main/apps/whatsapp/i18n/it.json
+++ b/public/app/main/apps/whatsapp/i18n/it.json
@@ -1,264 +1,47 @@
 {
   "WHATSAPP": {
-    "ACCOUNT": "Account",
-    "ACCOUNTSID": "Account SID",
-    "ADD_NOTE": "Add note",
     "ADD_WHATSAPPQUEUE": "Aggiungi Coda WhatsApp",
-    "AGENT": "Agente",
-    "AGENT_TIMEOUT": "Timeout Agente",
     "AGENTADD_QUEUE": "Aggiungi agenti alla coda WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Aggiungi Agente alla coda WhatsApp",
-    "AGENTS": "Agenti",
-    "AGENTSADD_QUEUE": "Aggiungi agenti alla coda",
-    "ALL": "Tutte",
-    "ALL_AGENTS": "Tutti gli Agenti",
-    "ALL_TEAMS": "Tutti i Team",
-    "API": "API",
     "AUTHTOKEN": "Authtoken",
-    "BACK": "Indietro",
-    "BASEURL": "Base URL",
-    "BUSY": "Occupato",
-    "CANNED_ANSWER_NOT_FOUND": "Nessuna risposta precompilata trovata",
-    "CANNED_ANSWER_SEARCH": "Inserire un valore da cercare nelle risposte compilate",
-    "CLOSED": "Chiusa",
-    "CLOSEDAT": "Chiusa il",
-    "CONTACT": "Contatto",
-    "CREATED_AT": "Creato il",
-    "DEFAULT_PAUSE": "Pausa di default",
-    "DELETE": "Elimina",
-    "DELETE_SELECTED": "Calcella selezionati",
     "DELETE_WHATSAPPQUEUE": "Elimina Coda WhatsApp",
-    "DESCRIPTION": "Descrizione",
-    "EDIT_AGENT": "Modifica Agente",
-    "EDIT_QUEUE": "Modifica coda",
     "EDIT_WHATSAPPQUEUE": "Modifica Coda WhatsApp",
     "ERRORS": {
-      "ACCEPTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "ACCESSKEYID_REQUIRED": "È richiesto l'ID chiave di accesso",
-      "ACCOUNTSID_REQUIRED": "Campo obbligatorio",
-      "AGENT_REQUIRED": "Campo obbligatorio",
-      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENT_TIMEOUT_REQUIRED": "Campo obbligatorio",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "APIKEY_REQUIRED": "Campo obbligatorio",
       "AUTHID_REQUIRED": "Campo Obbligatorio",
-      "AUTHTOKEN_REQUIRED": "Campo obbligatorio",
-      "BASEURL_REQUIRED": "Campo obbligatorio",
-      "BOTNAME_REQUIRED": "È richiesto il nome del bot",
-      "CLOSEURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "COMMAND_REQUIRED": "Campo obbligatorio",
-      "CONDITION_REQUIRED": "Campo obbligatorio",
-      "DISPOSITION_REQUIRED": "Campo obbligatorio",
-      "FALSEPRIORITY_REQUIRED": "Campo obbligatorio",
-      "KEY_MAX_LENGTH": "Il valore introdotto non deve essere più lungo di {{max}} caratteri",
-      "KEY_REQUIRED": "Campo obbligatorio",
-      "LIST_REQUIRED": "Campo obbligatorio",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio",
-      "METHOD_REQUIRED": "Campo obbligatorio",
-      "MOTIONADDRESS_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "MOTIONADDRESS_REQUIRED": "Campo obbligatorio",
-      "MOTIONPROXY_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "MOTIONPROXY_REQUIRED": "Campo obbligatorio",
-      "NAME_MUST_VALID_PATTERN": "Formato errato",
-      "NAME_REQUIRED": "Campo obbligatorio",
-      "PASSWORD_REQUIRED": "Campo obbligatorio",
-      "PHONE_REQUIRED": "Campo obbligatorio",
-      "PRIORITY_REQUIRED": "Campo obbligatorio",
-      "QUEUE_REQUIRED": "Campo obbligatorio",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
-      "REJECTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
-      "SECRETACCESSKEY_REQUIRED": "È richiesto il segreto della chiave di accesso",
-      "SENDERSTRING_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
-      "SENDERSTRING_MUST_VALID_PATTERN": "Il campo deve avere un formato valido",
-      "SID_REQUIRED": "Campo obbligatorio",
-      "TAG_REQUIRED": "Campo obbligatorio",
-      "TEXT_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
-      "TEXT_REQUIRED": "Campo obbligatorio",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "TIMEOUT_REQUIRED": "Campo obbligatorio",
-      "TOKEN_REQUIRED": "Campo obbligatorio",
-      "TRUEPRIORITY_REQUIRED": "Campo obbligatorio",
-      "TYPE_REQUIRED": "Campo obbligatorio",
-      "USERNAME_REQUIRED": "Campo obbligatorio",
-      "VALUE_REQUIRED": "Campo Obbligatorio",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obbligatorio",
       "DESCRIPTION_REQUIRED": "Campo obbligatorio",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
       "LANGUAGE_REQUIRED": "Mandtory Field",
       "LEXREGION_REQUIRED": "Campo obbligatorio",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
       "TIMES_REQUIRED": "Campo obbligatorio",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
       "VARIABLE_REQUIRED": "Campo obbligatorio",
       "WELCOMEMESSAGE_MAX_LENGTH": "Il valore deve avere una lunghezza massima uguale a {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Campo obbligatorio"
     },
-    "GENERAL": "Generale",
-    "GOTO": "Goto",
-    "GOTOIF": "Gotoif",
     "GOTOREALTIME_WHATSAPPQUEUE": "Visualizza la coda in Realtime",
-    "HELP": {
-      "DELIVERYREPORTURL": "Questa è la stringa API generata automaticamente che devi usare per ricevere il rapporto di consegna dei messaggi inviati dal tuo provider WhatsApp (deve essere usato il metodo POST). Clicca sull'icona del blocco note per copiare negli appunti",
-      "LIST": "Lista del Contact Manager usata per associare i contatti",
-      "MANDATORYDISPOSITION": "Disposizione obbligatoria",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare quando è abilitata la disposizione obbligatoria",
-      "MOTIONPROXY": "Inserire nel seguente formato: &lt;protocollo&gt;://&lt;indirizzoIP&gt;[:&lt;porta&gt;]. Es: https://X.Y.Z.W",
-      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
-      "RECEIVEURL": "Questa è la stringa API generata automaticamente che devi usare per ricevere i messaggi provenienti dal tuo provider WHATSAPP (deve essere usato il metodo POST). Clicca sull'icona del blocco note per copiare negli appunti",
-      "WELCOMEMESSAGE": "Messaggio di benvenuto"
-    },
-    "ID": "Id",
-    "IDLE": "Inattivo",
-    "INFO": "Info",
-    "INSERT_MESSAGE_HERE": "Insert message here",
-    "LANGUAGE": "Lingua",
-    "LASTMESSAGE": "Ultimo messaggio",
-    "LIST": "Lista",
-    "LOGGED_IN": "Connesso",
-    "LOGIN_TIME": "Orario Login",
-    "LOGOUT": "Logout",
-    "MORE": "Ancora",
-    "MOTIONPROXY": "Proxy O Dominio Motion",
+    "HELP": {},
     "MULTI_SELECT_TOGGLE": "Multi select toggle",
-    "NAME": "Nome",
     "NEW_WHATSAPPQUEUE": "Nuova coda WhatsApp",
-    "NO_AGENT_ONLINE": "Nessun Agente Online",
-    "NO_AVAILABLE_INFO": "Nessuna informazione disponibile",
-    "NO_INTERACTION_AVAILABLE": "Nessuna interazione disponibile",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nessun account WhatsApp disponibile",
-    "OF": "di",
-    "OPEN": "Apri",
-    "OPENED": "Aperto",
-    "PAGE": "Pagina",
-    "PARTIALPAUSE": "Pausa Parziale",
-    "PAUSE": "Pausa",
-    "PAUSE_TIME": "Orario Pausa",
-    "PAUSED": "In pausa",
-    "QUEUE": "Coda",
-    "QUEUES": "Code",
-    "READY": "Pronto",
-    "REALTIME": "Realtime",
-    "ROWSPERPAGE": "Righe per pagina",
-    "SAVE": "Salva",
-    "SCREENRECORDING": "Registrazione dello schermo",
-    "SEARCH_FOR_ANYONE": "Cerca",
-    "SELECT_ALL": "Seleziona tutti",
-    "SELECT_NONE": "Deseleziona tutti",
-    "SELECTED": "Selezionati",
-    "SELECTED_AGENTS": "Gli Agenti selezionati",
-    "SELECTED_TEAMS": "Team selezionati",
-    "SEND": "Invia",
-    "SETTINGS": "Impostazioni",
-    "START_SCREENRECORDING": "Inizia Registrazione dello schermo",
-    "STARTEDAT": "Iniziata il",
-    "STATUS": "Stato",
-    "STOP_SCREENRECORDING": "Ferma Registrazione dello schermo",
-    "STRATEGY": "Strategia",
     "TEAMADD_WHATSAPPQUEUE": "Aggiungi Team alla coda WhatsApp",
-    "TEAMS_ASSOCIATION": "Associazione Teams",
-    "TIMEOUT": "Timeout",
-    "TO": "A",
-    "TOOLTIP_SCREENRECORDING_OFF": "Tooltip Screenrecording Off",
-    "TOOLTIP_SCREENRECORDING_ON": "Tooltip Screenrecording On",
-    "UNAVAILABLE": "Non disponibile",
-    "UNPAUSE": "Riprendi",
-    "WAITING": "In attesa",
-    "WHATSAPP": "WhatsApp Connector",
     "WHATSAPPACCOUNTS": "WhatsApp Accounts",
     "WHATSAPPQUEUES": "Code WhatsApp",
-    "ACCESSKEYID": "ID chiave di accesso",
-    "ACTIONS": "Azioni",
     "ADD_WHATSAPPACCOUNT": "Inserisci",
     "ADD_WHATSAPPCANNEDANSWER": "Aggiungi risposta predefinita",
     "ADD_WHATSAPPDISPOSITION": "Aggiungi la disposizione di WhatsApp",
-    "ADVANCED": "Avanzate",
     "AGENTADD_WHATSAPPACCOUNT": "Aggiungi agente all'account WhatsApp",
-    "AGENTTRANSFER": "Trasferimento agente",
-    "AGENTTRANSFERTIMEOUT": "Timeout trasferimento agente",
-    "AMAZONLEX": "AmazonLex",
-    "AUTOREPLY": "Risposta automatica",
-    "BOTNAME": "Nome del bot",
-    "CANNEDANSWERS": "Risposte in scatola",
-    "CAPACITY": "Capacità",
-    "CLOSE": "Vicino",
-    "CLOSEMETHOD": "Metodo di chiusura",
-    "CLOSEURL": "Chiudi URL",
-    "COMMAND": "Comando",
-    "CONDITION": "Condizione",
-    "DELETE_INTERACTION": "Elimina interazione",
     "DELETE_WHATSAPPACCOUNT": "Elimina l'account WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Deleted",
     "DELETE_WHATSAPPDISPOSITION": "Elimina la disposizione di WhatsApp",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposizione",
-    "DISPOSITIONS": "disposizioni",
-    "DOWNLOAD_INTERACTION": "Scarica",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Scarica senza allegati",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Scarica con allegati",
-    "EDIT_AMAZONLEX": "Modifica la configurazione Lex",
-    "EDIT_AUTOREPLY": "Modifica risposta automatica",
-    "EDIT_CLOSE": "Modifica Chiudi",
-    "EDIT_DIALOGFLOW": "Modifica la configurazione di DialogFlow",
-    "EDIT_GOTOIF": "Modifica Gotoif",
-    "EDIT_GOTOP": "Modifica Gotop",
-    "EDIT_NOOP": "Modifica Noop",
-    "EDIT_SYSTEM": "Modifica sistema",
-    "EDIT_TAG": "Modifica tag",
     "EDIT_WHATSAPPACCOUNT": "Modifica account WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "modificare",
     "EDIT_WHATSAPPDISPOSITION": "Modifica la disposizione di WhatsApp",
-    "FALSEPRIORITY": "Priorità falsa",
-    "GOTOP": "Andare in cima",
     "GO_TO_WHATSAPPACCOUNTS": "Vai all'account",
-    "INTERACTIONS": "interazioni",
     "INTERACTIONS_WHATSAPPACCOUNT": "Vai a Interazioni",
-    "KEY": "Chiave",
-    "LEXREGION": "Regione",
-    "MANDATORYDISPOSITION": "Disposizione obbligatoria",
-    "MANDATORYDISPOSITIONPAUSEID": "Metti in pausa per utilizzare quando la disposizione obbligatoria è abilitata",
     "NEW_WHATSAPPACCOUNT": "Nuovo account WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Nuova risposta predefinita di WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Nuova disposizione WhatsApp",
-    "NOOP": "noop",
-    "NOTE": "Nota",
-    "NOTIFICATION": "Notifica",
-    "NOTIFICATIONSHAKE": "Agitare",
-    "NOTIFICATIONSOUND": "Suono",
-    "NOTIFICATIONTEMPLATE": "Modello",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nessuna risposta predefinita di WhatsApp disponibile",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Nessuna disposizione WhatsApp disponibile",
-    "PHONE": "Telefono",
-    "PRIORITY": "Priorità",
-    "PROXY": "delega",
-    "QUEUETRANSFER": "Trasferimento in coda",
-    "QUEUETRANSFERTIMEOUT": "Timeout trasferimento coda",
-    "RECEIVEURL": "Ricevi URL",
-    "REFRESH_INTERACTIONS": "Aggiorna interazioni",
     "REMOTE": "A distanza",
-    "SECRETACCESSKEY": "Chiave di accesso segreta",
-    "SPYINTERACTION": "Interazione spia",
-    "SYSTEM": "Sistema",
-    "TAG": "Etichetta",
-    "TAGS": "tag",
-    "TEXT": "Testo",
-    "TIMER": "Timer",
-    "TIMES": "Volte",
-    "TOKEN": "Gettone",
-    "TRANSFER": "Trasferimento",
-    "TRUEPRIORITY": "Vera priorità",
-    "TYPE": "genere",
-    "VALUE": "Valore",
-    "VARIABLE": "Variabile",
-    "WAITFORTHEASSIGNEDAGENT": "Attendi l'agente assegnato",
-    "WELCOMEMESSAGE": "Messaggio di benvenuto",
     "WHATSAPPCANNEDANSWERS": "Risposte predefinite di WhatsApp",
     "WHATSAPPDISPOSITIONS": "Disposizioni WhatsApp"
   }
diff --git a/public/app/main/apps/whatsapp/i18n/ja.json b/public/app/main/apps/whatsapp/i18n/ja.json
index 41f1357..d903a27 100644
--- a/public/app/main/apps/whatsapp/i18n/ja.json
+++ b/public/app/main/apps/whatsapp/i18n/ja.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "必須フィールド",
-      "ACCOUNTSID_REQUIRED": "必須フィールド",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "AGENT_REQUIRED": "必須フィールド",
-      "AGENT_TIMEOUT_REQUIRED": "必須フィールド",
-      "AUTHTOKEN_REQUIRED": "必須フィールド",
-      "BOTNAME_REQUIRED": "必須フィールド",
-      "COMMAND_REQUIRED": "必須フィールド",
-      "CONDITION_REQUIRED": "必須フィールド",
       "DESCRIPTION_REQUIRED": "必須フィールド",
-      "DISPOSITION_REQUIRED": "必須フィールド",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
-      "FALSEPRIORITY_REQUIRED": "必須フィールド",
-      "KEY_MAX_LENGTH": "値の最大長は{{max}}でなければなりません",
-      "KEY_REQUIRED": "必須フィールド",
       "LANGUAGE_REQUIRED": "必須フィールド",
       "LEXREGION_REQUIRED": "必須フィールド",
-      "LIST_REQUIRED": "必須フィールド",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド",
-      "NAME_REQUIRED": "必須フィールド",
-      "PHONE_REQUIRED": "必須フィールド",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
-      "PRIORITY_REQUIRED": "必須フィールド",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必須フィールド",
-      "QUEUE_REQUIRED": "必須フィールド",
-      "SECRETACCESSKEY_REQUIRED": "必須フィールド",
-      "TAG_REQUIRED": "必須フィールド",
-      "TEXT_REQUIRED": "必須フィールド",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
-      "TIMEOUT_REQUIRED": "必須フィールド",
       "TIMES_REQUIRED": "必須フィールド",
-      "TOKEN_REQUIRED": "必須フィールド",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
-      "TRUEPRIORITY_REQUIRED": "必須フィールド",
-      "TYPE_REQUIRED": "必須フィールド",
-      "VALUE_REQUIRED": "必須フィールド",
       "VARIABLE_REQUIRED": "必須フィールド",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は以上である必要があります",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下である必要があります",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必須フィールド",
       "WELCOMEMESSAGE_MAX_LENGTH": "値の最大長は{{max}}でなければなりません",
       "WELCOMEMESSAGE_REQUIRED": "必須フィールド"
     },
-    "HELP": {
-      "LIST": "連絡先を関連付けるために使用される連絡先管理者リスト",
-      "MANDATORYDISPOSITION": "強制処分",
-      "MANDATORYDISPOSITIONPAUSEID": "必須の後処理が有効な場合に使用を一時停止します",
-      "MOTIONPROXY": "フィールドの形式は、<プロトコル>：// <IPアドレス> [：<ポート>]である必要があります。例：https：//X.Y.Z.W",
-      "NAME": "数字、文字、特定の文字（._）のみがサポートされています",
-      "RECEIVEURL": "これは、WhatsAppコネクタプロバイダーからアカウント内のメッセージを受信するために使用する必要がある自動生成されたAPI文字列です（POSTメソッドを使用する必要があります）：クリップボードボタンをクリックしてコピーします",
-      "WELCOMEMESSAGE": "これは、新しいインタラクションに送信される最初の応答メッセージです"
-    },
-    "ACCESSKEYID": "アクセスキーID",
-    "ACCOUNTSID": "アカウントSID",
-    "ACTIONS": "行動",
-    "ADD_NOTE": "メモを追加",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "追加",
     "ADD_WHATSAPPCANNEDANSWER": "返信定型文を追加",
     "ADD_WHATSAPPDISPOSITION": "WhatsAppディスポジションの追加",
     "ADD_WHATSAPPQUEUE": "WhatsAppキューを追加",
-    "ADVANCED": "高度な",
-    "AGENT": "エージェント",
     "AGENTADD_QUEUE": "WhatsAppキューへのエージェントの追加",
     "AGENTADD_WHATSAPPACCOUNT": "WhatsAppアカウントにエージェントを追加",
     "AGENTADD_WHATSAPPQUEUE": "WhatsAppキューへのエージェントの追加",
-    "AGENTS": "エージェント",
-    "AGENTSADD_QUEUE": "WhatsAppキューへのエージェントの追加",
-    "AGENTTRANSFER": "エージェントの転送",
-    "AGENTTRANSFERTIMEOUT": "エージェント転送タイムアウト",
-    "AGENT_TIMEOUT": "エージェントのタイムアウト",
-    "ALL": "すべて",
-    "ALL_AGENTS": "すべてのエージェント",
-    "ALL_TEAMS": "全チーム",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "認証トークン",
-    "AUTOREPLY": "自動返信",
-    "BACK": "バック",
-    "BOTNAME": "ボット名",
-    "BUSY": "忙しい",
-    "CANNEDANSWERS": "缶詰の答え",
-    "CANNED_ANSWER_NOT_FOUND": "缶詰の答えは見つかりませんでした",
-    "CANNED_ANSWER_SEARCH": "返信定型文を検索するにはテキストを入力してください",
-    "CAPACITY": "容量",
-    "CLOSE": "閉じる",
-    "CLOSED": "閉まっている",
-    "CLOSEMETHOD": "Closeメソッド",
-    "CLOSEURL": "URLを閉じる",
-    "COMMAND": "コマンド",
-    "CONDITION": "状態",
-    "CONTACT": "連絡先",
-    "CREATED_AT": "で作成",
-    "DEFAULT_PAUSE": "デフォルトの一時停止",
-    "DELETE": "削除する",
-    "DELETE_INTERACTION": "インタラクションを削除",
-    "DELETE_SELECTED": "選択を削除します",
     "DELETE_WHATSAPPACCOUNT": "WhatsAppアカウントを削除",
     "DELETE_WHATSAPPCANNEDANSWER": "削除しました",
     "DELETE_WHATSAPPDISPOSITION": "WhatsAppディスポジションの削除",
     "DELETE_WHATSAPPQUEUE": "WhatsAppキューの削除",
-    "DESCRIPTION": "説明",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "配置",
-    "DISPOSITIONS": "処分",
-    "DOWNLOAD_INTERACTION": "ダウンロード",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "添付ファイルなしでダウンロード",
-    "DOWNLOAD_WITH_ATTACHMENTS": "添付ファイル付きでダウンロード",
-    "EDIT_AGENT": "エージェントを編集",
-    "EDIT_AMAZONLEX": "Lex構成を編集する",
-    "EDIT_AUTOREPLY": "自動返信を編集",
-    "EDIT_CLOSE": "閉じるを編集",
-    "EDIT_DIALOGFLOW": "DialogFlow構成の編集",
-    "EDIT_GOTOIF": "Gotoifを編集",
-    "EDIT_GOTOP": "Gotopを編集",
-    "EDIT_NOOP": "Noopを編集",
-    "EDIT_QUEUE": "キューを編集",
-    "EDIT_SYSTEM": "システムを編集",
-    "EDIT_TAG": "タグを編集",
     "EDIT_WHATSAPPACCOUNT": "WhatsAppアカウントの編集",
     "EDIT_WHATSAPPCANNEDANSWER": "編集する",
     "EDIT_WHATSAPPDISPOSITION": "WhatsAppディスポジションの編集",
     "EDIT_WHATSAPPQUEUE": "WhatsAppキューの編集",
-    "FALSEPRIORITY": "偽の優先順位",
-    "GENERAL": "一般的な",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "上に行きます",
     "GOTOREALTIME_WHATSAPPQUEUE": "リアルタイムWhatsAppキューに移動",
     "GO_TO_WHATSAPPACCOUNTS": "アカウントに移動",
-    "ID": "Id",
-    "IDLE": "アイドル",
-    "INSERT_MESSAGE_HERE": "ここにメッセージを挿入",
-    "INTERACTIONS": "相互作用",
     "INTERACTIONS_WHATSAPPACCOUNT": "インタラクションに移動",
-    "KEY": "キー",
-    "LANGUAGE": "言語",
-    "LASTMESSAGE": "最後のメッセージ",
-    "LEXREGION": "領域",
-    "LIST": "リスト",
-    "LOGGED_IN": "ログイン済み（SIP接続済み）",
-    "LOGIN_TIME": "ログイン時間",
-    "LOGOUT": "ログアウト",
-    "MANDATORYDISPOSITION": "強制処分",
-    "MANDATORYDISPOSITIONPAUSEID": "必須の後処理が有効な場合に使用を一時停止します",
-    "MORE": "もっと",
-    "MOTIONPROXY": "プロキシまたはモーションドメイン",
     "MULTI_SELECT_TOGGLE": "複数選択トグル",
-    "NAME": "名前",
     "NEW_WHATSAPPACCOUNT": "新しいWhatsAppアカウント",
     "NEW_WHATSAPPCANNEDANSWER": "新しいWhatsAppの返信定型文",
     "NEW_WHATSAPPDISPOSITION": "新しいWhatsAppの処理",
     "NEW_WHATSAPPQUEUE": "新しいWhatsAppキュー",
-    "NOOP": "いいえ",
-    "NOTE": "注意",
-    "NOTIFICATION": "通知",
-    "NOTIFICATIONSHAKE": "シェイク",
-    "NOTIFICATIONSOUND": "音",
-    "NOTIFICATIONTEMPLATE": "テンプレート",
-    "NO_AGENT_ONLINE": "オンラインのエージェントなし",
-    "NO_AVAILABLE_INFO": "利用可能な情報がありません",
-    "NO_INTERACTION_AVAILABLE": "相互作用はありません",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsAppの定型回答はありません",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "WhatsAppの処理は利用できません",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "利用可能なWhatsAppアカウントはありません",
-    "OF": "の",
-    "OPENED": "開いた",
-    "PAGE": "ページ",
-    "PARTIALPAUSE": "部分的に一時停止",
-    "PAUSE": "一時停止",
-    "PAUSED": "一時停止",
-    "PAUSE_TIME": "一時停止時間",
-    "PHONE": "電話",
-    "PRIORITY": "優先",
-    "PROXY": "代理",
-    "QUEUE": "キュー",
-    "QUEUES": "キュー",
-    "QUEUETRANSFER": "キュー転送",
-    "QUEUETRANSFERTIMEOUT": "キュー転送タイムアウト",
-    "READY": "準備ができて",
-    "REALTIME": "リアルタイム",
-    "RECEIVEURL": "受信URL",
-    "REFRESH_INTERACTIONS": "インタラクションの更新",
     "REMOTE": "リモート",
-    "ROWSPERPAGE": "ページあたりの行数",
-    "SAVE": "保存する",
-    "SCREENRECORDING": "画面記録を管理する",
-    "SEARCH_FOR_ANYONE": "探す",
-    "SECRETACCESSKEY": "アクセスキーシークレット",
-    "SELECTED": "選択済み",
-    "SELECTED_AGENTS": "選択されたエージェント",
-    "SELECTED_TEAMS": "選択されたチーム",
-    "SELECT_ALL": "すべて選択",
-    "SELECT_NONE": "何も選択しない",
-    "SEND": "送る",
-    "SETTINGS": "設定",
-    "SPYINTERACTION": "スパイの相互作用",
-    "STARTEDAT": "開始",
-    "START_SCREENRECORDING": "画面記録を開始",
-    "STATUS": "状態",
-    "STOP_SCREENRECORDING": "画面記録を停止",
-    "STRATEGY": "戦略",
-    "SYSTEM": "システム",
-    "TAG": "鬼ごっこ",
-    "TAGS": "タグ",
     "TEAMADD_WHATSAPPQUEUE": "WhatsAppキューにチームを追加",
-    "TEAMS_ASSOCIATION": "チーム協会",
-    "TEXT": "テキスト",
-    "TIMEOUT": "タイムアウト",
-    "TIMER": "タイマー",
-    "TIMES": "タイムズ",
-    "TO": "に",
-    "TOKEN": "トークン",
-    "TOOLTIP_SCREENRECORDING_OFF": "利用可能な画面記録",
-    "TOOLTIP_SCREENRECORDING_ON": "画面記録中",
-    "TRANSFER": "転送",
-    "TRUEPRIORITY": "真の優先順位",
-    "TYPE": "タイプ",
-    "UNPAUSE": "一時停止を終了",
-    "VALUE": "値",
-    "VARIABLE": "変数",
-    "WAITFORTHEASSIGNEDAGENT": "割り当てられたエージェントを待つ",
-    "WAITING": "待っています",
-    "WELCOMEMESSAGE": "ウェルカムメッセージ",
-    "WHATSAPP": "WhatsAppコネクタ",
     "WHATSAPPACCOUNTS": "WhatsAppアカウント",
     "WHATSAPPCANNEDANSWERS": "WhatsApp缶詰の答え",
     "WHATSAPPDISPOSITIONS": "WhatsAppの処理",
diff --git a/public/app/main/apps/whatsapp/i18n/ko.json b/public/app/main/apps/whatsapp/i18n/ko.json
index fed8579..232b5f3 100644
--- a/public/app/main/apps/whatsapp/i18n/ko.json
+++ b/public/app/main/apps/whatsapp/i18n/ko.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "필수 필드",
-      "ACCOUNTSID_REQUIRED": "필수 필드",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "AGENT_REQUIRED": "필수 필드",
-      "AGENT_TIMEOUT_REQUIRED": "필수 필드",
-      "AUTHTOKEN_REQUIRED": "필수 필드",
-      "BOTNAME_REQUIRED": "필수 필드",
-      "COMMAND_REQUIRED": "필수 필드",
-      "CONDITION_REQUIRED": "필수 필드",
       "DESCRIPTION_REQUIRED": "필수 필드",
-      "DISPOSITION_REQUIRED": "필수 필드",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "FALSEPRIORITY_REQUIRED": "필수 필드",
-      "KEY_MAX_LENGTH": "값의 최대 길이는 {{max}}와 같아야합니다.",
-      "KEY_REQUIRED": "필수 필드",
       "LANGUAGE_REQUIRED": "맨 토리 필드",
       "LEXREGION_REQUIRED": "필수 필드",
-      "LIST_REQUIRED": "필수 필드",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드",
-      "NAME_REQUIRED": "필수 필드",
-      "PHONE_REQUIRED": "필수 필드",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "PRIORITY_REQUIRED": "필수 필드",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "필수 필드",
-      "QUEUE_REQUIRED": "필수 필드",
-      "SECRETACCESSKEY_REQUIRED": "필수 필드",
-      "TAG_REQUIRED": "필수 필드",
-      "TEXT_REQUIRED": "필수 필드",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "TIMEOUT_REQUIRED": "필수 필드",
       "TIMES_REQUIRED": "필수 필드",
-      "TOKEN_REQUIRED": "필수 필드",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "TRUEPRIORITY_REQUIRED": "필수 필드",
-      "TYPE_REQUIRED": "필수 필드",
-      "VALUE_REQUIRED": "필수 필드",
       "VARIABLE_REQUIRED": "필수 필드",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "필수 필드",
       "WELCOMEMESSAGE_MAX_LENGTH": "값의 최대 길이는 {{max}}와 같아야합니다.",
       "WELCOMEMESSAGE_REQUIRED": "필수 필드"
     },
-    "HELP": {
-      "LIST": "연락처를 연결하는 데 사용되는 연락처 관리자 목록",
-      "MANDATORYDISPOSITION": "필수 처분",
-      "MANDATORYDISPOSITIONPAUSEID": "필수 처리가 활성화 된 경우 사용을 일시 중지합니다.",
-      "MOTIONPROXY": "필드 형식은 <protocol> : // <ipaddress> [: <port>] 여야합니다. 예 : https : //X.Y.Z.W",
-      "NAME": "숫자, 문자 및 특정 문자 (._) 만 지원됩니다.",
-      "RECEIVEURL": "WhatsApp Connector 공급자로부터 계정 내 메시지를 수신하는 데 사용해야하는 자동 생성 API 문자열입니다 (POST 방법을 사용해야 함) : 클립 보드 버튼을 클릭하여 복사합니다.",
-      "WELCOMEMESSAGE": "새 상호 작용에 전송 된 첫 번째 응답 메시지입니다."
-    },
-    "ACCESSKEYID": "액세스 키 ID",
-    "ACCOUNTSID": "계정 SID",
-    "ACTIONS": "행위",
-    "ADD_NOTE": "메모를 추가",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "더하다",
     "ADD_WHATSAPPCANNEDANSWER": "미리 준비된 답변 추가",
     "ADD_WHATSAPPDISPOSITION": "WhatsApp 처리 추가",
     "ADD_WHATSAPPQUEUE": "WhatsApp 대기열 추가",
-    "ADVANCED": "많은",
-    "AGENT": "에이전트",
     "AGENTADD_QUEUE": "WhatsApp 대기열에 에이전트 추가",
     "AGENTADD_WHATSAPPACCOUNT": "WhatsApp 계정에 에이전트 추가",
     "AGENTADD_WHATSAPPQUEUE": "WhatsApp 대기열에 에이전트 추가",
-    "AGENTS": "자치령 대표",
-    "AGENTSADD_QUEUE": "WhatsApp 대기열에 상담원 추가",
-    "AGENTTRANSFER": "에이전트 전달",
-    "AGENTTRANSFERTIMEOUT": "상담원 전달 시간 초과",
-    "AGENT_TIMEOUT": "에이전트 시간 초과",
-    "ALL": "모두",
-    "ALL_AGENTS": "모든 에이전트",
-    "ALL_TEAMS": "모든 팀",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "인증 토큰",
-    "AUTOREPLY": "자동 회신",
-    "BACK": "뒤",
-    "BOTNAME": "봇 이름",
-    "BUSY": "바쁜",
-    "CANNEDANSWERS": "미리 준비된 답변",
-    "CANNED_ANSWER_NOT_FOUND": "미리 준비된 답변이 없습니다.",
-    "CANNED_ANSWER_SEARCH": "미리 준비된 답변을 검색하려면 텍스트를 입력하세요.",
-    "CAPACITY": "생산 능력",
-    "CLOSE": "닫기",
-    "CLOSED": "닫은",
-    "CLOSEMETHOD": "닫기 방법",
-    "CLOSEURL": "닫기 URL",
-    "COMMAND": "명령",
-    "CONDITION": "질환",
-    "CONTACT": "접촉",
-    "CREATED_AT": "만든 날짜",
-    "DEFAULT_PAUSE": "기본 일시 중지",
-    "DELETE": "지우다",
-    "DELETE_INTERACTION": "상호 작용 삭제",
-    "DELETE_SELECTED": "선택된 것을 지워 라",
     "DELETE_WHATSAPPACCOUNT": "WhatsApp 계정 삭제",
     "DELETE_WHATSAPPCANNEDANSWER": "삭제",
     "DELETE_WHATSAPPDISPOSITION": "WhatsApp 처리 삭제",
     "DELETE_WHATSAPPQUEUE": "WhatsApp 대기열 삭제",
-    "DESCRIPTION": "기술",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "처분",
-    "DISPOSITIONS": "처분",
-    "DOWNLOAD_INTERACTION": "다운로드",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "첨부 파일없이 다운로드",
-    "DOWNLOAD_WITH_ATTACHMENTS": "첨부 파일과 함께 다운로드",
-    "EDIT_AGENT": "에이전트 편집",
-    "EDIT_AMAZONLEX": "Lex 구성 편집",
-    "EDIT_AUTOREPLY": "자동 회신 편집",
-    "EDIT_CLOSE": "편집 닫기",
-    "EDIT_DIALOGFLOW": "DialogFlow 구성 수정",
-    "EDIT_GOTOIF": "Gotoif 편집",
-    "EDIT_GOTOP": "Gotop 편집",
-    "EDIT_NOOP": "Noop 수정",
-    "EDIT_QUEUE": "대기열 편집",
-    "EDIT_SYSTEM": "시스템 편집",
-    "EDIT_TAG": "태그 편집",
     "EDIT_WHATSAPPACCOUNT": "WhatsApp 계정 편집",
     "EDIT_WHATSAPPCANNEDANSWER": "편집하다",
     "EDIT_WHATSAPPDISPOSITION": "WhatsApp 처리 편집",
     "EDIT_WHATSAPPQUEUE": "WhatsApp 대기열 편집",
-    "FALSEPRIORITY": "잘못된 우선 순위",
-    "GENERAL": "일반",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "정상으로 가다",
     "GOTOREALTIME_WHATSAPPQUEUE": "실시간 WhatsApp 대기열로 이동",
     "GO_TO_WHATSAPPACCOUNTS": "계정으로 이동",
-    "ID": "신분증",
-    "IDLE": "게으른",
-    "INSERT_MESSAGE_HERE": "여기에 메시지 삽입",
-    "INTERACTIONS": "상호 작용",
     "INTERACTIONS_WHATSAPPACCOUNT": "상호 작용으로 이동",
-    "KEY": "키",
-    "LANGUAGE": "언어",
-    "LASTMESSAGE": "마지막 메시지",
-    "LEXREGION": "부위",
-    "LIST": "명부",
-    "LOGGED_IN": "로그인 됨 (SIP 연결됨)",
-    "LOGIN_TIME": "로그인 시간",
-    "LOGOUT": "로그 아웃",
-    "MANDATORYDISPOSITION": "필수 처분",
-    "MANDATORYDISPOSITIONPAUSEID": "필수 처리가 활성화 된 경우 사용을 일시 중지합니다.",
-    "MORE": "더",
-    "MOTIONPROXY": "프록시 또는 모션 도메인",
     "MULTI_SELECT_TOGGLE": "다중 선택 토글",
-    "NAME": "이름",
     "NEW_WHATSAPPACCOUNT": "새 WhatsApp 계정",
     "NEW_WHATSAPPCANNEDANSWER": "새로운 WhatsApp 미리 준비된 답변",
     "NEW_WHATSAPPDISPOSITION": "새로운 WhatsApp 처리",
     "NEW_WHATSAPPQUEUE": "새로운 WhatsApp 대기열",
-    "NOOP": "안돼",
-    "NOTE": "노트",
-    "NOTIFICATION": "공고",
-    "NOTIFICATIONSHAKE": "떨림",
-    "NOTIFICATIONSOUND": "소리",
-    "NOTIFICATIONTEMPLATE": "주형",
-    "NO_AGENT_ONLINE": "온라인 상담원 없음",
-    "NO_AVAILABLE_INFO": "사용 가능한 정보 없음",
-    "NO_INTERACTION_AVAILABLE": "사용 가능한 상호 작용 없음",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsApp 미리 준비된 답변 없음",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "사용 가능한 WhatsApp 처리 없음",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "사용 가능한 WhatsApp 계정이 없습니다.",
-    "OF": "의",
-    "OPENED": "개장",
-    "PAGE": "페이지",
-    "PARTIALPAUSE": "부분 일시 중지",
-    "PAUSE": "중지",
-    "PAUSED": "일시 중지됨",
-    "PAUSE_TIME": "일시 중지 시간",
-    "PHONE": "전화",
-    "PRIORITY": "우선 순위",
-    "PROXY": "대리",
-    "QUEUE": "열",
-    "QUEUES": "대기열",
-    "QUEUETRANSFER": "대기열 전송",
-    "QUEUETRANSFERTIMEOUT": "대기열 전송 시간 초과",
-    "READY": "준비된",
-    "REALTIME": "실시간",
-    "RECEIVEURL": "수신 URL",
-    "REFRESH_INTERACTIONS": "상호 작용 새로 고침",
     "REMOTE": "먼",
-    "ROWSPERPAGE": "페이지 당 행",
-    "SAVE": "저장",
-    "SCREENRECORDING": "화면 녹화 관리",
-    "SEARCH_FOR_ANYONE": "검색",
-    "SECRETACCESSKEY": "액세스 키 비밀",
-    "SELECTED": "선택된",
-    "SELECTED_AGENTS": "선택된 에이전트",
-    "SELECTED_TEAMS": "선택된 팀",
-    "SELECT_ALL": "모두 선택",
-    "SELECT_NONE": "선택 안함",
-    "SEND": "보내다",
-    "SETTINGS": "설정",
-    "SPYINTERACTION": "스파이 상호 작용",
-    "STARTEDAT": "시작일",
-    "START_SCREENRECORDING": "화면 녹화 시작",
-    "STATUS": "상태",
-    "STOP_SCREENRECORDING": "화면 녹화 중지",
-    "STRATEGY": "전략",
-    "SYSTEM": "체계",
-    "TAG": "꼬리표",
-    "TAGS": "태그",
     "TEAMADD_WHATSAPPQUEUE": "WhatsApp 대기열에 팀 추가",
-    "TEAMS_ASSOCIATION": "팀 협회",
-    "TEXT": "본문",
-    "TIMEOUT": "타임 아웃",
-    "TIMER": "시간제 노동자",
-    "TIMES": "타임스",
-    "TO": "에",
-    "TOKEN": "토큰",
-    "TOOLTIP_SCREENRECORDING_OFF": "화면 녹화 가능",
-    "TOOLTIP_SCREENRECORDING_ON": "화면 녹화 중",
-    "TRANSFER": "이전",
-    "TRUEPRIORITY": "진정한 우선 순위",
-    "TYPE": "유형",
-    "UNPAUSE": "일시 중지 종료",
-    "VALUE": "값",
-    "VARIABLE": "변하기 쉬운",
-    "WAITFORTHEASSIGNEDAGENT": "할당 된 에이전트를 기다립니다.",
-    "WAITING": "기다리는",
-    "WELCOMEMESSAGE": "환영 메시지",
-    "WHATSAPP": "WhatsApp 커넥터",
     "WHATSAPPACCOUNTS": "WhatsApp 계정",
     "WHATSAPPCANNEDANSWERS": "WhatsApp 미리 준비된 답변",
     "WHATSAPPDISPOSITIONS": "WhatsApp 처리",
diff --git a/public/app/main/apps/whatsapp/i18n/lt.json b/public/app/main/apps/whatsapp/i18n/lt.json
index bde1414..ff4e474 100644
--- a/public/app/main/apps/whatsapp/i18n/lt.json
+++ b/public/app/main/apps/whatsapp/i18n/lt.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Privalomas laukas",
-      "ACCOUNTSID_REQUIRED": "Privalomas laukas",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
-      "AGENT_REQUIRED": "Privalomas laukas",
-      "AGENT_TIMEOUT_REQUIRED": "Privalomas laukas",
-      "AUTHTOKEN_REQUIRED": "Privalomas laukas",
-      "BOTNAME_REQUIRED": "Privalomas laukas",
-      "COMMAND_REQUIRED": "Privalomas laukas",
-      "CONDITION_REQUIRED": "Privalomas laukas",
       "DESCRIPTION_REQUIRED": "Privalomas laukas",
-      "DISPOSITION_REQUIRED": "Privalomas laukas",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
-      "FALSEPRIORITY_REQUIRED": "Privalomas laukas",
-      "KEY_MAX_LENGTH": "Vertės maksimalus ilgis turi būti lygus {{max}}",
-      "KEY_REQUIRED": "Privalomas laukas",
       "LANGUAGE_REQUIRED": "Privalomas laukas",
       "LEXREGION_REQUIRED": "Privalomas laukas",
-      "LIST_REQUIRED": "Privalomas laukas",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas",
-      "NAME_REQUIRED": "Privalomas laukas",
-      "PHONE_REQUIRED": "Privalomas laukas",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
-      "PRIORITY_REQUIRED": "Privalomas laukas",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
-      "QUEUE_REQUIRED": "Privalomas laukas",
-      "SECRETACCESSKEY_REQUIRED": "Privalomas laukas",
-      "TAG_REQUIRED": "Privalomas laukas",
-      "TEXT_REQUIRED": "Privalomas laukas",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
-      "TIMEOUT_REQUIRED": "Privalomas laukas",
       "TIMES_REQUIRED": "Privalomas laukas",
-      "TOKEN_REQUIRED": "Privalomas laukas",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
-      "TRUEPRIORITY_REQUIRED": "Privalomas laukas",
-      "TYPE_REQUIRED": "Privalomas laukas",
-      "VALUE_REQUIRED": "Privalomas laukas",
       "VARIABLE_REQUIRED": "Privalomas laukas",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vertė turi būti didesnė arba lygi",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vertė turi būti mažesnė arba lygi",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Privalomas laukas",
       "WELCOMEMESSAGE_MAX_LENGTH": "Vertės maksimalus ilgis turi būti lygus {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Privalomas laukas"
     },
-    "HELP": {
-      "LIST": "Kontaktų tvarkyklės sąrašas, naudojamas kontaktams susieti",
-      "MANDATORYDISPOSITION": "Privalomas nusistatymas",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauzė naudoti, kai įjungtas privalomas disponavimas",
-      "MOTIONPROXY": "Laukas turi būti tokio formato: <protokolas>: // <adresų adresas> [: <portas]. Pavyzdys: https: //X.Y.Z.W",
-      "NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
-      "RECEIVEURL": "Tai yra automatiškai sugeneruota API eilutė, kurią turite naudoti, norėdami gauti pranešimus savo sąskaitoje iš „WhatsApp Connector“ teikėjo (reikia naudoti POST metodą): spustelėkite nukopijuokite mygtuką, kad nukopijuotumėte",
-      "WELCOMEMESSAGE": "Tai yra pirmasis atsakymo pranešimas, išsiųstas į naujas sąveikas"
-    },
-    "ACCESSKEYID": "Prieigos rakto ID",
-    "ACCOUNTSID": "Sąskaitos SID",
-    "ACTIONS": "Veiksmai",
-    "ADD_NOTE": "Pridėti pastabą",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Papildyti",
     "ADD_WHATSAPPCANNEDANSWER": "Pridėti konservuotą atsakymą",
     "ADD_WHATSAPPDISPOSITION": "Pridėti „WhatsApp“ dispoziciją",
     "ADD_WHATSAPPQUEUE": "Pridėkite „WhatsApp“ eilę",
-    "ADVANCED": "Pažengęs",
-    "AGENT": "Agentas",
     "AGENTADD_QUEUE": "Pridėti agentą prie „WhatsApp“ eilės",
     "AGENTADD_WHATSAPPACCOUNT": "Pridėti agentą prie „WhatsApp“ paskyros",
     "AGENTADD_WHATSAPPQUEUE": "Pridėti agentą prie „WhatsApp“ eilės",
-    "AGENTS": "Agentai",
-    "AGENTSADD_QUEUE": "Pridėkite agentų prie „WhatsApp“ eilės",
-    "AGENTTRANSFER": "Agentų perdavimas",
-    "AGENTTRANSFERTIMEOUT": "Agentų perdavimo laikas",
-    "AGENT_TIMEOUT": "Agento laikas",
-    "ALL": "Visi",
-    "ALL_AGENTS": "Visi agentai",
-    "ALL_TEAMS": "Visos komandos",
-    "AMAZONLEX": "„AmazonLex“",
     "AUTHTOKEN": "Auth ženklas",
-    "AUTOREPLY": "Automatinis atsakymas",
-    "BACK": "Atgal",
-    "BOTNAME": "Boto vardas",
-    "BUSY": "Užsiėmes",
-    "CANNEDANSWERS": "Konservuoti atsakymai",
-    "CANNED_ANSWER_NOT_FOUND": "Nerasta jokių konservuotų atsakymų",
-    "CANNED_ANSWER_SEARCH": "Įveskite tekstą, norėdami ieškoti konservuoto atsakymo",
-    "CAPACITY": "Talpa",
-    "CLOSE": "Uždaryti",
-    "CLOSED": "Uždaryta",
-    "CLOSEMETHOD": "Uždarymo metodas",
-    "CLOSEURL": "Uždaryti URL",
-    "COMMAND": "Komanda",
-    "CONDITION": "Būklė",
-    "CONTACT": "kontaktas",
-    "CREATED_AT": "Sukurta",
-    "DEFAULT_PAUSE": "Numatytoji pauzė",
-    "DELETE": "Ištrinti",
-    "DELETE_INTERACTION": "Ištrinti sąveiką",
-    "DELETE_SELECTED": "Išštrinti pasirinktus",
     "DELETE_WHATSAPPACCOUNT": "Ištrinkite „WhatsApp“ paskyrą",
     "DELETE_WHATSAPPCANNEDANSWER": "Ištrinta",
     "DELETE_WHATSAPPDISPOSITION": "Ištrinkite „WhatsApp“ dispoziciją",
     "DELETE_WHATSAPPQUEUE": "Ištrinkite „WhatsApp“ eilę",
-    "DESCRIPTION": "apibūdinimas",
-    "DIALOGFLOW": "„DialogFlow“",
-    "DISPOSITION": "Dispozicija",
-    "DISPOSITIONS": "Dispozicijos",
-    "DOWNLOAD_INTERACTION": "parsisiųsti",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Atsisiųsti be priedų",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Atsisiųsti su priedais",
-    "EDIT_AGENT": "Redaguoti agentą",
-    "EDIT_AMAZONLEX": "Redaguoti „Lex“ konfigūraciją",
-    "EDIT_AUTOREPLY": "Redaguoti automatinį atsakymą",
-    "EDIT_CLOSE": "Redaguoti Uždaryti",
-    "EDIT_DIALOGFLOW": "Redaguoti „DialogFlow“ konfigūraciją",
-    "EDIT_GOTOIF": "Redaguoti Gotoifą",
-    "EDIT_GOTOP": "Redaguoti Gotopą",
-    "EDIT_NOOP": "Redaguoti „Noop“",
-    "EDIT_QUEUE": "Redaguoti eilę",
-    "EDIT_SYSTEM": "Redaguoti sistemą",
-    "EDIT_TAG": "Redaguoti žymą",
     "EDIT_WHATSAPPACCOUNT": "Redaguoti „WhatsApp“ paskyrą",
     "EDIT_WHATSAPPCANNEDANSWER": "Redaguoti",
     "EDIT_WHATSAPPDISPOSITION": "Redaguoti „WhatsApp“ dispoziciją",
     "EDIT_WHATSAPPQUEUE": "Redaguoti „WhatsApp“ eilę",
-    "FALSEPRIORITY": "Klaidingas prioritetas",
-    "GENERAL": "Generolas",
-    "GOTOIF": "Gotoifas",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Eikite į „WhatsApp“ eilutę realiuoju laiku",
     "GO_TO_WHATSAPPACCOUNTS": "Eiti į sąskaitą",
-    "ID": "Id",
-    "IDLE": "Tuščiosios eigos",
-    "INSERT_MESSAGE_HERE": "Įdėkite pranešimą čia",
-    "INTERACTIONS": "Sąveika",
     "INTERACTIONS_WHATSAPPACCOUNT": "Eikite į Sąveiką",
-    "KEY": "Raktas",
-    "LANGUAGE": "Kalba",
-    "LASTMESSAGE": "Paskutinė žinutė",
-    "LEXREGION": "Regionas",
-    "LIST": "Sąrašas",
-    "LOGGED_IN": "Prisijungęs (prijungtas prie SIP)",
-    "LOGIN_TIME": "Prisijungimo laikas",
-    "LOGOUT": "Atsijungti",
-    "MANDATORYDISPOSITION": "Privalomas nusistatymas",
-    "MANDATORYDISPOSITIONPAUSEID": "Pauzė naudoti, kai įjungtas privalomas disponavimas",
-    "MORE": "Daugiau",
-    "MOTIONPROXY": "Tarpinis serveris arba judesio sritis",
     "MULTI_SELECT_TOGGLE": "Kelių funkcijų perjungimas",
-    "NAME": "vardas",
     "NEW_WHATSAPPACCOUNT": "Nauja „WhatsApp“ paskyra",
     "NEW_WHATSAPPCANNEDANSWER": "Naujas „WhatsApp“ konservuotas atsakymas",
     "NEW_WHATSAPPDISPOSITION": "Nauja „WhatsApp“ dispozicija",
     "NEW_WHATSAPPQUEUE": "Nauja „WhatsApp“ eilė",
-    "NOOP": "Noop",
-    "NOTE": "Pastaba",
-    "NOTIFICATION": "Pranešimas",
-    "NOTIFICATIONSHAKE": "Sukratykite",
-    "NOTIFICATIONSOUND": "Garsas",
-    "NOTIFICATIONTEMPLATE": "Šablonas",
-    "NO_AGENT_ONLINE": "Nėra agento internete",
-    "NO_AVAILABLE_INFO": "Nėra galimos informacijos",
-    "NO_INTERACTION_AVAILABLE": "Nėra jokių sąveikų",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nėra „WhatsApp“ konservuotų atsakymų",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "„WhatsApp“ dispozicijų nėra",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "„WhatsApp“ paskyrų nėra",
-    "OF": "apie",
-    "OPENED": "Atidaryta",
-    "PAGE": "Puslapis",
-    "PARTIALPAUSE": "Dalinė pauzė",
-    "PAUSE": "Pauzė",
-    "PAUSED": "Pristabdyta",
-    "PAUSE_TIME": "Pauzės laikas",
-    "PHONE": "Telefonas",
-    "PRIORITY": "Prioritetas",
-    "PROXY": "Įgaliotinis",
-    "QUEUE": "Eilė",
-    "QUEUES": "Eilės",
-    "QUEUETRANSFER": "Eilės perkėlimas",
-    "QUEUETRANSFERTIMEOUT": "Eilės perdavimo laikas",
-    "READY": "Parengta",
-    "REALTIME": "Realaus laiko",
-    "RECEIVEURL": "Gauti URL",
-    "REFRESH_INTERACTIONS": "Atnaujinkite sąveiką",
     "REMOTE": "Nuotolinis",
-    "ROWSPERPAGE": "Eilučių puslapyje",
-    "SAVE": "Sutaupyti",
-    "SCREENRECORDING": "Tvarkykite ekrano įrašymą",
-    "SEARCH_FOR_ANYONE": "Paieška",
-    "SECRETACCESSKEY": "Prieigos rakto paslaptis",
-    "SELECTED": "Pasirinkta",
-    "SELECTED_AGENTS": "Pasirinkti agentai",
-    "SELECTED_TEAMS": "Pasirinktos komandos",
-    "SELECT_ALL": "Pasirinkti viską",
-    "SELECT_NONE": "Nesirinkite nė vieno",
-    "SEND": "Siųsti",
-    "SETTINGS": "Nustatymai",
-    "SPYINTERACTION": "Šnipų sąveika",
-    "STARTEDAT": "Pradėjo nuo",
-    "START_SCREENRECORDING": "Pradėti ekrano įrašymą",
-    "STATUS": "Statusas",
-    "STOP_SCREENRECORDING": "Sustabdyti ekrano įrašymą",
-    "STRATEGY": "Strategija",
-    "SYSTEM": "Sistema",
-    "TAG": "Žyma",
-    "TAGS": "Žymos",
     "TEAMADD_WHATSAPPQUEUE": "Pridėti komandą prie „WhatsApp“ eilės",
-    "TEAMS_ASSOCIATION": "Komandų asociacija",
-    "TEXT": "Tekstas",
-    "TIMEOUT": "Laikas baigėsi",
-    "TIMER": "Laikmatis",
-    "TIMES": "Laikai",
-    "TO": "Kam",
-    "TOKEN": "Ženklas",
-    "TOOLTIP_SCREENRECORDING_OFF": "Ekrano įrašas galimas",
-    "TOOLTIP_SCREENRECORDING_ON": "Vyksta ekrano įrašymas",
-    "TRANSFER": "Perkėlimas",
-    "TRUEPRIORITY": "Tikrasis prioritetas",
-    "TYPE": "Tipas",
-    "UNPAUSE": "Pabaigos pauzė",
-    "VALUE": "Vertė",
-    "VARIABLE": "Kintamas",
-    "WAITFORTHEASSIGNEDAGENT": "Palaukite paskirto agento",
-    "WAITING": "Laukia",
-    "WELCOMEMESSAGE": "Sveikinimo pranešimas",
-    "WHATSAPP": "„WhatsApp“ jungtis",
     "WHATSAPPACCOUNTS": "„WhatsApp“ paskyros",
     "WHATSAPPCANNEDANSWERS": "„WhatsApp“ konservuoti atsakymai",
     "WHATSAPPDISPOSITIONS": "„WhatsApp“ nuostatos",
diff --git a/public/app/main/apps/whatsapp/i18n/lv.json b/public/app/main/apps/whatsapp/i18n/lv.json
index dbd5c73..e96fc8e 100644
--- a/public/app/main/apps/whatsapp/i18n/lv.json
+++ b/public/app/main/apps/whatsapp/i18n/lv.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Obligāts lauks",
-      "ACCOUNTSID_REQUIRED": "Obligāts lauks",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "AGENT_REQUIRED": "Obligāts lauks",
-      "AGENT_TIMEOUT_REQUIRED": "Obligāts lauks",
-      "AUTHTOKEN_REQUIRED": "Obligāts lauks",
-      "BOTNAME_REQUIRED": "Obligāts lauks",
-      "COMMAND_REQUIRED": "Obligāts lauks",
-      "CONDITION_REQUIRED": "Obligāts lauks",
       "DESCRIPTION_REQUIRED": "Obligāts lauks",
-      "DISPOSITION_REQUIRED": "Obligāts lauks",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "FALSEPRIORITY_REQUIRED": "Obligāts lauks",
-      "KEY_MAX_LENGTH": "Vērtības maksimālajam garumam jābūt vienādam ar {{max}}",
-      "KEY_REQUIRED": "Obligāts lauks",
       "LANGUAGE_REQUIRED": "Obligāts lauks",
       "LEXREGION_REQUIRED": "Obligāts lauks",
-      "LIST_REQUIRED": "Obligāts lauks",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks",
-      "NAME_REQUIRED": "Obligāts lauks",
-      "PHONE_REQUIRED": "Obligāts lauks",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "PRIORITY_REQUIRED": "Obligāts lauks",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
-      "QUEUE_REQUIRED": "Obligāts lauks",
-      "SECRETACCESSKEY_REQUIRED": "Obligāts lauks",
-      "TAG_REQUIRED": "Obligāts lauks",
-      "TEXT_REQUIRED": "Obligāts lauks",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "TIMEOUT_REQUIRED": "Obligāts lauks",
       "TIMES_REQUIRED": "Obligāts lauks",
-      "TOKEN_REQUIRED": "Obligāts lauks",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "TRUEPRIORITY_REQUIRED": "Obligāts lauks",
-      "TYPE_REQUIRED": "Obligāts lauks",
-      "VALUE_REQUIRED": "Obligāts lauks",
       "VARIABLE_REQUIRED": "Obligāts lauks",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligāts lauks",
       "WELCOMEMESSAGE_MAX_LENGTH": "Vērtības maksimālajam garumam jābūt vienādam ar {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Obligāts lauks"
     },
-    "HELP": {
-      "LIST": "Kontaktu pārvaldnieka saraksts, ko izmanto kontaktu saistīšanai",
-      "MANDATORYDISPOSITION": "Obligāta rīcība",
-      "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, kad ir iespējota obligātā izvietošana",
-      "MOTIONPROXY": "Laukā jābūt šādam formātam: <protokols>: // <adreses adrese> [: <port>]. Piemērs: https: //X.Y.Z.W",
-      "NAME": "Tiek atbalstīti tikai cipari, burti un noteiktas rakstzīmes (._)",
-      "RECEIVEURL": "Šī ir automātiski ģenerēta API virkne, kas jāizmanto, lai no WhatsApp savienotāja nodrošinātāja saņemtu ziņojumus kontā (ir jāizmanto POST metode): noklikšķiniet uz starpliktuves pogas, lai to kopētu.",
-      "WELCOMEMESSAGE": "Šis ir pirmais atbildes ziņojums, kas nosūtīts jaunām mijiedarbībām"
-    },
-    "ACCESSKEYID": "Piekļuves atslēgas ID",
-    "ACCOUNTSID": "Konta SID",
-    "ACTIONS": "Darbības",
-    "ADD_NOTE": "Pievienot piezīmi",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Pievienot",
     "ADD_WHATSAPPCANNEDANSWER": "Pievienojiet atbildi",
     "ADD_WHATSAPPDISPOSITION": "Pievienojiet WhatsApp izvietojumu",
     "ADD_WHATSAPPQUEUE": "Pievienojiet WhatsApp rindu",
-    "ADVANCED": "Advanced",
-    "AGENT": "Aģents",
     "AGENTADD_QUEUE": "Pievienot aģentu WhatsApp rindā",
     "AGENTADD_WHATSAPPACCOUNT": "Pievienot aģentu WhatsApp kontam",
     "AGENTADD_WHATSAPPQUEUE": "Pievienot aģentu WhatsApp rindā",
-    "AGENTS": "Aģenti",
-    "AGENTSADD_QUEUE": "Pievienojiet aģentus WhatsApp rindā",
-    "AGENTTRANSFER": "Aģenta pārsūtīšana",
-    "AGENTTRANSFERTIMEOUT": "Aģenta pārsūtīšanas noildze",
-    "AGENT_TIMEOUT": "Aģenta noildze",
-    "ALL": "Visi",
-    "ALL_AGENTS": "Visi aģenti",
-    "ALL_TEAMS": "Visas komandas",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Auth marķieris",
-    "AUTOREPLY": "Automātiska atbilde",
-    "BACK": "Atpakaļ",
-    "BOTNAME": "Bot vārds",
-    "BUSY": "Aizņemts",
-    "CANNEDANSWERS": "Konservētas atbildes",
-    "CANNED_ANSWER_NOT_FOUND": "Neviena konservēta atbilde netika atrasta",
-    "CANNED_ANSWER_SEARCH": "Ievadiet tekstu, lai meklētu konservētu atbildi",
-    "CAPACITY": "Jauda",
-    "CLOSE": "Aizveriet",
-    "CLOSED": "Slēgts",
-    "CLOSEMETHOD": "Aizvērt metodi",
-    "CLOSEURL": "Aizvērt URL",
-    "COMMAND": "Pavēle",
-    "CONDITION": "Stāvoklis",
-    "CONTACT": "Sazinieties",
-    "CREATED_AT": "Izveidots plkst",
-    "DEFAULT_PAUSE": "NEPIECIEŠAMĀ PAUZE",
-    "DELETE": "Dzēst",
-    "DELETE_INTERACTION": "Dzēst mijiedarbību",
-    "DELETE_SELECTED": "Dzēst atlasīto",
     "DELETE_WHATSAPPACCOUNT": "Dzēst WhatsApp kontu",
     "DELETE_WHATSAPPCANNEDANSWER": "Dzēsts",
     "DELETE_WHATSAPPDISPOSITION": "Dzēst WhatsApp Disposition",
     "DELETE_WHATSAPPQUEUE": "Izdzēsiet WhatsApp rindu",
-    "DESCRIPTION": "Apraksts",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Dispozīcija",
-    "DISPOSITIONS": "Dispozīcijas",
-    "DOWNLOAD_INTERACTION": "Lejupielādēt",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Lejupielādējiet bez pielikumiem",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Lejupielādēt ar pielikumiem",
-    "EDIT_AGENT": "Rediģēt aģentu",
-    "EDIT_AMAZONLEX": "Rediģēt Lex konfigurāciju",
-    "EDIT_AUTOREPLY": "Rediģēt automātisko atbildi",
-    "EDIT_CLOSE": "Rediģēt Aizvērt",
-    "EDIT_DIALOGFLOW": "Rediģēt DialogFlow konfigurāciju",
-    "EDIT_GOTOIF": "Rediģēt Gotoifu",
-    "EDIT_GOTOP": "Rediģēt Gotopu",
-    "EDIT_NOOP": "Rediģēt Noopu",
-    "EDIT_QUEUE": "Rediģēt rindu",
-    "EDIT_SYSTEM": "Rediģēt sistēmu",
-    "EDIT_TAG": "Rediģēt tagu",
     "EDIT_WHATSAPPACCOUNT": "Rediģēt WhatsApp kontu",
     "EDIT_WHATSAPPCANNEDANSWER": "Rediģēt",
     "EDIT_WHATSAPPDISPOSITION": "Rediģēt WhatsApp izvietojumu",
     "EDIT_WHATSAPPQUEUE": "Rediģēt WhatsApp rindu",
-    "FALSEPRIORITY": "Viltus prioritāte",
-    "GENERAL": "Vispārīgi",
-    "GOTOIF": "Gotoifs",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Pārejiet uz WhatsApp rindu reāllaikā",
     "GO_TO_WHATSAPPACCOUNTS": "Iet uz kontu",
-    "ID": "Id",
-    "IDLE": "Dīkstāvē",
-    "INSERT_MESSAGE_HERE": "Ievietojiet ziņojumu šeit",
-    "INTERACTIONS": "Mijiedarbība",
     "INTERACTIONS_WHATSAPPACCOUNT": "Atveriet sadaļu Mijiedarbība",
-    "KEY": "Atslēga",
-    "LANGUAGE": "Valoda",
-    "LASTMESSAGE": "Pēdējā ziņa",
-    "LEXREGION": "Novads",
-    "LIST": "Saraksts",
-    "LOGGED_IN": "Pieteicies (savienots ar SIP)",
-    "LOGIN_TIME": "Pieteikšanās laiks",
-    "LOGOUT": "Izlogoties",
-    "MANDATORYDISPOSITION": "Obligāta rīcība",
-    "MANDATORYDISPOSITIONPAUSEID": "Lietošanas pārtraukšana, kad ir iespējota obligātā izvietošana",
-    "MORE": "Vairāk",
-    "MOTIONPROXY": "Starpniekserveris vai kustības domēns",
     "MULTI_SELECT_TOGGLE": "Vairāki atlasiet pārslēgšanu",
-    "NAME": "Vārds",
     "NEW_WHATSAPPACCOUNT": "Jauns WhatsApp konts",
     "NEW_WHATSAPPCANNEDANSWER": "Jauna WhatsApp konservēta atbilde",
     "NEW_WHATSAPPDISPOSITION": "Jauns WhatsApp izvietojums",
     "NEW_WHATSAPPQUEUE": "Jauna WhatsApp rinda",
-    "NOOP": "Noop",
-    "NOTE": "Piezīme",
-    "NOTIFICATION": "Paziņojums",
-    "NOTIFICATIONSHAKE": "Krata",
-    "NOTIFICATIONSOUND": "Skaņa",
-    "NOTIFICATIONTEMPLATE": "Veidne",
-    "NO_AGENT_ONLINE": "Nav aģenta tiešsaistē",
-    "NO_AVAILABLE_INFO": "Nav pieejama informācija",
-    "NO_INTERACTION_AVAILABLE": "Nav pieejama mijiedarbība",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nav pieejamas WhatsApp konservētās atbildes",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Nav pieejama neviena WhatsApp pieeja",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nav pieejams neviens WhatsApp konts",
-    "OF": "no",
-    "OPENED": "Atvērta",
-    "PAGE": "Lappuse",
-    "PARTIALPAUSE": "Daļēja pauze",
-    "PAUSE": "Pauze",
-    "PAUSED": "Pauzēts",
-    "PAUSE_TIME": "Pauzes laiks",
-    "PHONE": "Tālr",
-    "PRIORITY": "Prioritāte",
-    "PROXY": "Starpniekserveris",
-    "QUEUE": "Rinda",
-    "QUEUES": "Rindas",
-    "QUEUETRANSFER": "Rindas pārsūtīšana",
-    "QUEUETRANSFERTIMEOUT": "Rindas pārsūtīšanas noildze",
-    "READY": "Gatavs",
-    "REALTIME": "Īsts laiks",
-    "RECEIVEURL": "Saņemt URL",
-    "REFRESH_INTERACTIONS": "Atsvaidziniet mijiedarbību",
     "REMOTE": "Tālvadība",
-    "ROWSPERPAGE": "Rindas vienā lappusē",
-    "SAVE": "Saglabāt",
-    "SCREENRECORDING": "Pārvaldīt ekrāna ierakstīšanu",
-    "SEARCH_FOR_ANYONE": "Meklēt",
-    "SECRETACCESSKEY": "Piekļuves atslēgas noslēpums",
-    "SELECTED": "Atlasīts",
-    "SELECTED_AGENTS": "Atlasītie pārstāvji",
-    "SELECTED_TEAMS": "Atlasītās komandas",
-    "SELECT_ALL": "Izvēlēties visus",
-    "SELECT_NONE": "Neizvēlēties nevienu",
-    "SEND": "Sūtīt",
-    "SETTINGS": "Iestatījumi",
-    "SPYINTERACTION": "Spiegu mijiedarbība",
-    "STARTEDAT": "Sākās plkst",
-    "START_SCREENRECORDING": "Sākuma ekrāna ierakstīšana",
-    "STATUS": "Statuss",
-    "STOP_SCREENRECORDING": "Beigt ekrāna ierakstīšanu",
-    "STRATEGY": "Stratēģija",
-    "SYSTEM": "Sistēma",
-    "TAG": "Tag",
-    "TAGS": "Tagi",
     "TEAMADD_WHATSAPPQUEUE": "Pievienojiet komandu WhatsApp rindai",
-    "TEAMS_ASSOCIATION": "Komandu asociācija",
-    "TEXT": "Teksts",
-    "TIMEOUT": "Pārtraukums",
-    "TIMER": "Taimeris",
-    "TIMES": "Laiki",
-    "TO": "Uz",
-    "TOKEN": "Žetons",
-    "TOOLTIP_SCREENRECORDING_OFF": "Ekrāna ieraksts ir pieejams",
-    "TOOLTIP_SCREENRECORDING_ON": "Notiek ekrāna ierakstīšana",
-    "TRANSFER": "Pārskaitījums",
-    "TRUEPRIORITY": "Patiesa prioritāte",
-    "TYPE": "Veids",
-    "UNPAUSE": "Beigu pauze",
-    "VALUE": "Vērtība",
-    "VARIABLE": "Mainīgs",
-    "WAITFORTHEASSIGNEDAGENT": "Gaidiet iecelto aģentu",
-    "WAITING": "Gaida",
-    "WELCOMEMESSAGE": "Sveiciena ziņa",
-    "WHATSAPP": "WhatsApp savienotājs",
     "WHATSAPPACCOUNTS": "WhatsApp konti",
     "WHATSAPPCANNEDANSWERS": "WhatsApp konservētās atbildes",
     "WHATSAPPDISPOSITIONS": "WhatsApp dispozīcijas",
diff --git a/public/app/main/apps/whatsapp/i18n/nl.json b/public/app/main/apps/whatsapp/i18n/nl.json
index f0ca9cf..b791d45 100644
--- a/public/app/main/apps/whatsapp/i18n/nl.json
+++ b/public/app/main/apps/whatsapp/i18n/nl.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Verplicht veld",
-      "ACCOUNTSID_REQUIRED": "Verplicht veld",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "AGENT_REQUIRED": "Verplicht veld",
-      "AGENT_TIMEOUT_REQUIRED": "Verplicht veld",
-      "AUTHTOKEN_REQUIRED": "Verplicht veld",
-      "BOTNAME_REQUIRED": "Verplicht veld",
-      "COMMAND_REQUIRED": "Verplicht veld",
-      "CONDITION_REQUIRED": "Verplicht veld",
       "DESCRIPTION_REQUIRED": "Verplicht veld",
-      "DISPOSITION_REQUIRED": "Verplicht veld",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
-      "FALSEPRIORITY_REQUIRED": "Verplicht veld",
-      "KEY_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
-      "KEY_REQUIRED": "Verplicht veld",
       "LANGUAGE_REQUIRED": "Verplicht veld",
       "LEXREGION_REQUIRED": "Verplicht veld",
-      "LIST_REQUIRED": "Verplicht veld",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld",
-      "NAME_REQUIRED": "Verplicht veld",
-      "PHONE_REQUIRED": "Verplicht veld",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
-      "PRIORITY_REQUIRED": "Verplicht veld",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
-      "QUEUE_REQUIRED": "Verplicht veld",
-      "SECRETACCESSKEY_REQUIRED": "Verplicht veld",
-      "TAG_REQUIRED": "Verplicht veld",
-      "TEXT_REQUIRED": "Verplicht veld",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
-      "TIMEOUT_REQUIRED": "Verplicht veld",
       "TIMES_REQUIRED": "Verplicht veld",
-      "TOKEN_REQUIRED": "Verplicht veld",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
-      "TRUEPRIORITY_REQUIRED": "Verplicht veld",
-      "TYPE_REQUIRED": "Verplicht veld",
-      "VALUE_REQUIRED": "Verplicht veld",
       "VARIABLE_REQUIRED": "Verplicht veld",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter of gelijk zijn aan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner of gelijk zijn aan",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Verplicht veld",
       "WELCOMEMESSAGE_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Verplicht veld"
     },
-    "HELP": {
-      "LIST": "Contact Manager-lijst gebruikt om contacten te koppelen",
-      "MANDATORYDISPOSITION": "Verplichte dispositie",
-      "MANDATORYDISPOSITIONPAUSEID": "Pauzeer om te gebruiken wanneer verplichte dispositie is ingeschakeld",
-      "MOTIONPROXY": "Het veld moet de volgende indeling hebben: <protocol>: // <ipadres> [: <poort>]. Voorbeeld: https: //X.Y.Z.W",
-      "NAME": "Alleen cijfers, letters en specifieke tekens (._) worden ondersteund",
-      "RECEIVEURL": "Dit is de automatisch gegenereerde API-string die je nodig hebt om de berichten in je account van je WhatsApp Connector-provider te ontvangen (POST-methode moet worden gebruikt): klik op de klembordknop om deze te kopiëren",
-      "WELCOMEMESSAGE": "Dit is het eerste antwoordbericht dat naar nieuwe interacties wordt gestuurd"
-    },
-    "ACCESSKEYID": "Toegangssleutel-ID",
-    "ACCOUNTSID": "Account-SID",
-    "ACTIONS": "Acties",
-    "ADD_NOTE": "Notitie toevoegen",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Toevoegen",
     "ADD_WHATSAPPCANNEDANSWER": "Voeg standaard antwoord toe",
     "ADD_WHATSAPPDISPOSITION": "Voeg WhatsApp Disposition toe",
     "ADD_WHATSAPPQUEUE": "Voeg WhatsApp-wachtrij toe",
-    "ADVANCED": "Geavanceerd",
-    "AGENT": "Agent",
     "AGENTADD_QUEUE": "Agent toevoegen aan WhatsApp-wachtrij",
     "AGENTADD_WHATSAPPACCOUNT": "Voeg agent toe aan WhatsApp-account",
     "AGENTADD_WHATSAPPQUEUE": "Agent toevoegen aan WhatsApp-wachtrij",
-    "AGENTS": "Agenten",
-    "AGENTSADD_QUEUE": "Voeg agenten toe aan de WhatsApp-wachtrij",
-    "AGENTTRANSFER": "Overdracht van agent",
-    "AGENTTRANSFERTIMEOUT": "Time-out voor overdracht van agent",
-    "AGENT_TIMEOUT": "Time-out van agent",
-    "ALL": "Allemaal",
-    "ALL_AGENTS": "Alle agenten",
-    "ALL_TEAMS": "Alle teams",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Verificatie-token",
-    "AUTOREPLY": "Automatisch antwoord",
-    "BACK": "Terug",
-    "BOTNAME": "Botnaam",
-    "BUSY": "Druk",
-    "CANNEDANSWERS": "Ingeblikte antwoorden",
-    "CANNED_ANSWER_NOT_FOUND": "Er zijn geen standaardantwoorden gevonden",
-    "CANNED_ANSWER_SEARCH": "Voer een tekst in om een standaardantwoord te zoeken",
-    "CAPACITY": "Capaciteit",
-    "CLOSE": "Dichtbij",
-    "CLOSED": "Gesloten",
-    "CLOSEMETHOD": "Sluit methode",
-    "CLOSEURL": "Sluit URL",
-    "COMMAND": "Opdracht",
-    "CONDITION": "Staat",
-    "CONTACT": "Contact",
-    "CREATED_AT": "Gemaakt bij",
-    "DEFAULT_PAUSE": "STANDAARD PAUZE",
-    "DELETE": "Verwijderen",
-    "DELETE_INTERACTION": "Interactie verwijderen",
-    "DELETE_SELECTED": "Verwijder geselecteerde",
     "DELETE_WHATSAPPACCOUNT": "Verwijder WhatsApp-account",
     "DELETE_WHATSAPPCANNEDANSWER": "Verwijderd",
     "DELETE_WHATSAPPDISPOSITION": "Verwijder WhatsApp Disposition",
     "DELETE_WHATSAPPQUEUE": "Verwijder WhatsApp-wachtrij",
-    "DESCRIPTION": "Omschrijving",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Dispositie",
-    "DISPOSITIONS": "Beschikkingen",
-    "DOWNLOAD_INTERACTION": "Downloaden",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Downloaden zonder bijlagen",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Downloaden met bijlagen",
-    "EDIT_AGENT": "Bewerk Agent",
-    "EDIT_AMAZONLEX": "Bewerk de Lex-configuratie",
-    "EDIT_AUTOREPLY": "Bewerk automatisch antwoord",
-    "EDIT_CLOSE": "Bewerken Sluiten",
-    "EDIT_DIALOGFLOW": "Bewerk de DialogFlow-configuratie",
-    "EDIT_GOTOIF": "Bewerk Gotoif",
-    "EDIT_GOTOP": "Bewerken Gotop",
-    "EDIT_NOOP": "Bewerken Noop",
-    "EDIT_QUEUE": "Wachtrij bewerken",
-    "EDIT_SYSTEM": "Bewerk System",
-    "EDIT_TAG": "Bewerk label",
     "EDIT_WHATSAPPACCOUNT": "Bewerk WhatsApp-account",
     "EDIT_WHATSAPPCANNEDANSWER": "Bewerk",
     "EDIT_WHATSAPPDISPOSITION": "Bewerk WhatsApp-indeling",
     "EDIT_WHATSAPPQUEUE": "Bewerk WhatsApp-wachtrij",
-    "FALSEPRIORITY": "Valse prioriteit",
-    "GENERAL": "Algemeen",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Ga naar de realtime WhatsApp-wachtrij",
     "GO_TO_WHATSAPPACCOUNTS": "Ga naar account",
-    "ID": "ID kaart",
-    "IDLE": "Inactief",
-    "INSERT_MESSAGE_HERE": "Voeg hier een bericht in",
-    "INTERACTIONS": "Interacties",
     "INTERACTIONS_WHATSAPPACCOUNT": "Ga naar Interacties",
-    "KEY": "Sleutel",
-    "LANGUAGE": "Taal",
-    "LASTMESSAGE": "Laatste bericht",
-    "LEXREGION": "Regio",
-    "LIST": "Lijst",
-    "LOGGED_IN": "Ingelogd (SIP verbonden)",
-    "LOGIN_TIME": "Login Tijd",
-    "LOGOUT": "Uitloggen",
-    "MANDATORYDISPOSITION": "Verplichte dispositie",
-    "MANDATORYDISPOSITIONPAUSEID": "Pauzeer om te gebruiken wanneer verplichte dispositie is ingeschakeld",
-    "MORE": "Meer",
-    "MOTIONPROXY": "Proxy of bewegingsdomein",
     "MULTI_SELECT_TOGGLE": "Multi select-schakelaar",
-    "NAME": "Naam",
     "NEW_WHATSAPPACCOUNT": "Nieuw WhatsApp-account",
     "NEW_WHATSAPPCANNEDANSWER": "Nieuw WhatsApp-standaardantwoord",
     "NEW_WHATSAPPDISPOSITION": "Nieuwe WhatsApp-indeling",
     "NEW_WHATSAPPQUEUE": "Nieuwe WhatsApp-wachtrij",
-    "NOOP": "Noop",
-    "NOTE": "Notitie",
-    "NOTIFICATION": "Kennisgeving",
-    "NOTIFICATIONSHAKE": "Schudden",
-    "NOTIFICATIONSOUND": "Geluid",
-    "NOTIFICATIONTEMPLATE": "Sjabloon",
-    "NO_AGENT_ONLINE": "Geen agent online",
-    "NO_AVAILABLE_INFO": "Geen beschikbare info",
-    "NO_INTERACTION_AVAILABLE": "Geen interacties beschikbaar",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Geen WhatsApp-standaardantwoorden beschikbaar",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Geen WhatsApp-beschikkingen beschikbaar",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Geen WhatsApp-accounts beschikbaar",
-    "OF": "van",
-    "OPENED": "Geopend",
-    "PAGE": "Bladzijde",
-    "PARTIALPAUSE": "Gedeeltelijke pauze",
-    "PAUSE": "Pauze",
-    "PAUSED": "Onderbroken",
-    "PAUSE_TIME": "Pauzetijd",
-    "PHONE": "Telefoon",
-    "PRIORITY": "Prioriteit",
-    "PROXY": "Proxy",
-    "QUEUE": "Wachtrij",
-    "QUEUES": "Wachtrijen",
-    "QUEUETRANSFER": "Wachtrijoverdracht",
-    "QUEUETRANSFERTIMEOUT": "Time-out wachtrijoverdracht",
-    "READY": "Klaar",
-    "REALTIME": "Echte tijd",
-    "RECEIVEURL": "Ontvang URL",
-    "REFRESH_INTERACTIONS": "Vernieuw interacties",
     "REMOTE": "Afgelegen",
-    "ROWSPERPAGE": "Rijen per pagina",
-    "SAVE": "Sparen",
-    "SCREENRECORDING": "Beheer schermopname",
-    "SEARCH_FOR_ANYONE": "Zoeken",
-    "SECRETACCESSKEY": "Toegang tot sleutelgeheim",
-    "SELECTED": "Geselecteerd",
-    "SELECTED_AGENTS": "Geselecteerde agenten",
-    "SELECTED_TEAMS": "Geselecteerde teams",
-    "SELECT_ALL": "Selecteer alles",
-    "SELECT_NONE": "Selecteer niets",
-    "SEND": "Sturen",
-    "SETTINGS": "Instellingen",
-    "SPYINTERACTION": "Spionage-interactie",
-    "STARTEDAT": "Begon bij",
-    "START_SCREENRECORDING": "Start de schermopname",
-    "STATUS": "Toestand",
-    "STOP_SCREENRECORDING": "Stop de schermopname",
-    "STRATEGY": "Strategie",
-    "SYSTEM": "Systeem",
-    "TAG": "Label",
-    "TAGS": "Tags",
     "TEAMADD_WHATSAPPQUEUE": "Team toevoegen aan WhatsApp-wachtrij",
-    "TEAMS_ASSOCIATION": "Teams Association",
-    "TEXT": "Tekst",
-    "TIMEOUT": "Time-out",
-    "TIMER": "Timer",
-    "TIMES": "Keer",
-    "TO": "Naar",
-    "TOKEN": "Teken",
-    "TOOLTIP_SCREENRECORDING_OFF": "Schermopname beschikbaar",
-    "TOOLTIP_SCREENRECORDING_ON": "Schermopname bezig",
-    "TRANSFER": "Overdracht",
-    "TRUEPRIORITY": "Ware prioriteit",
-    "TYPE": "Type",
-    "UNPAUSE": "Einde pauze",
-    "VALUE": "Waarde",
-    "VARIABLE": "Variabel",
-    "WAITFORTHEASSIGNEDAGENT": "Wacht op de toegewezen agent",
-    "WAITING": "Aan het wachten",
-    "WELCOMEMESSAGE": "Welkoms bericht",
-    "WHATSAPP": "WhatsApp-aansluiting",
     "WHATSAPPACCOUNTS": "WhatsApp-accounts",
     "WHATSAPPCANNEDANSWERS": "WhatsApp standaardantwoorden",
     "WHATSAPPDISPOSITIONS": "WhatsApp-beschikkingen",
diff --git a/public/app/main/apps/whatsapp/i18n/no.json b/public/app/main/apps/whatsapp/i18n/no.json
index 2e54120..4ddd9cb 100644
--- a/public/app/main/apps/whatsapp/i18n/no.json
+++ b/public/app/main/apps/whatsapp/i18n/no.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Obligatoriske felt",
-      "ACCOUNTSID_REQUIRED": "Obligatoriske felt",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "AGENT_REQUIRED": "Obligatoriske felt",
-      "AGENT_TIMEOUT_REQUIRED": "Obligatoriske felt",
-      "AUTHTOKEN_REQUIRED": "Obligatoriske felt",
-      "BOTNAME_REQUIRED": "Obligatoriske felt",
-      "COMMAND_REQUIRED": "Obligatoriske felt",
-      "CONDITION_REQUIRED": "Obligatoriske felt",
       "DESCRIPTION_REQUIRED": "Obligatoriske felt",
-      "DISPOSITION_REQUIRED": "Obligatoriske felt",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
-      "FALSEPRIORITY_REQUIRED": "Obligatoriske felt",
-      "KEY_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
-      "KEY_REQUIRED": "Obligatoriske felt",
       "LANGUAGE_REQUIRED": "Mandtory Field",
       "LEXREGION_REQUIRED": "Obligatoriske felt",
-      "LIST_REQUIRED": "Obligatoriske felt",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt",
-      "NAME_REQUIRED": "Obligatoriske felt",
-      "PHONE_REQUIRED": "Obligatoriske felt",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
-      "PRIORITY_REQUIRED": "Obligatoriske felt",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
-      "QUEUE_REQUIRED": "Obligatoriske felt",
-      "SECRETACCESSKEY_REQUIRED": "Obligatoriske felt",
-      "TAG_REQUIRED": "Obligatoriske felt",
-      "TEXT_REQUIRED": "Obligatoriske felt",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
-      "TIMEOUT_REQUIRED": "Obligatoriske felt",
       "TIMES_REQUIRED": "Obligatoriske felt",
-      "TOKEN_REQUIRED": "Obligatoriske felt",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
-      "TRUEPRIORITY_REQUIRED": "Obligatoriske felt",
-      "TYPE_REQUIRED": "Obligatoriske felt",
-      "VALUE_REQUIRED": "Obligatoriske felt",
       "VARIABLE_REQUIRED": "Obligatoriske felt",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større eller lik enn",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre eller lik enn",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriske felt",
       "WELCOMEMESSAGE_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Obligatoriske felt"
     },
-    "HELP": {
-      "LIST": "Kontakt managerliste som ble brukt til å knytte kontakter",
-      "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-      "MANDATORYDISPOSITIONPAUSEID": "Pause for bruk når obligatorisk disposisjon er aktivert",
-      "MOTIONPROXY": "Feltet må ha følgende format: <protokoll>: // <adresse> [: <port>]. Eksempel: https: //X.Y.Z.W",
-      "NAME": "Bare tall, bokstaver og spesifikke tegn (._) støttes",
-      "RECEIVEURL": "Dette er den auto-genererte API-strengen du trenger å bruke for å motta meldingene i kontoen din fra leverandøren av WhatsApp Connector (POST-metoden må brukes): klikk på utklippstavleknappen for å kopiere den",
-      "WELCOMEMESSAGE": "Dette er den første svarmeldingen som er sendt til nye interaksjoner"
-    },
-    "ACCESSKEYID": "Tilgangsnøkkel-ID",
-    "ACCOUNTSID": "Konto SID",
-    "ACTIONS": "handlinger",
-    "ADD_NOTE": "Legge til notat",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Legg til",
     "ADD_WHATSAPPCANNEDANSWER": "Legg til hermetisert svar",
     "ADD_WHATSAPPDISPOSITION": "Legg til WhatsApp Disposition",
     "ADD_WHATSAPPQUEUE": "Legg til WhatsApp-kø",
-    "ADVANCED": "Avansert",
-    "AGENT": "Middel",
     "AGENTADD_QUEUE": "Legg agent til WhatsApp-køen",
     "AGENTADD_WHATSAPPACCOUNT": "Legg agent til WhatsApp-konto",
     "AGENTADD_WHATSAPPQUEUE": "Legg agent til WhatsApp-køen",
-    "AGENTS": "agenter",
-    "AGENTSADD_QUEUE": "Legg til agenter i WhatsApp-køen",
-    "AGENTTRANSFER": "Agentoverføring",
-    "AGENTTRANSFERTIMEOUT": "Agentoverføringstid",
-    "AGENT_TIMEOUT": "Agent Timeout",
-    "ALL": "Alle",
-    "ALL_AGENTS": "Alle agenter",
-    "ALL_TEAMS": "Alle lag",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Autentisk token",
-    "AUTOREPLY": "Automatisk svar",
-    "BACK": "Tilbake",
-    "BOTNAME": "Bot Navn",
-    "BUSY": "Travelt",
-    "CANNEDANSWERS": "Hermetiske svar",
-    "CANNED_ANSWER_NOT_FOUND": "Ingen hermetiske svar ble funnet",
-    "CANNED_ANSWER_SEARCH": "Skriv inn en tekst for å søke i et hermetisert svar",
-    "CAPACITY": "Kapasitet",
-    "CLOSE": "Lukk",
-    "CLOSED": "Lukket",
-    "CLOSEMETHOD": "Lukk metoden",
-    "CLOSEURL": "Lukk URL",
-    "COMMAND": "Kommando",
-    "CONDITION": "Tilstand",
-    "CONTACT": "Kontakt",
-    "CREATED_AT": "Opprettet kl",
-    "DEFAULT_PAUSE": "DEFAULT PAUSE",
-    "DELETE": "Slett",
-    "DELETE_INTERACTION": "Slett samhandling",
-    "DELETE_SELECTED": "Slett valgte",
     "DELETE_WHATSAPPACCOUNT": "Slett WhatsApp-konto",
     "DELETE_WHATSAPPCANNEDANSWER": "Slettet",
     "DELETE_WHATSAPPDISPOSITION": "Slett WhatsApp-disposisjon",
     "DELETE_WHATSAPPQUEUE": "Slett WhatsApp-kø",
-    "DESCRIPTION": "Beskrivelse",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposisjon",
-    "DISPOSITIONS": "disposisjoner",
-    "DOWNLOAD_INTERACTION": "nedlasting",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Last ned uten vedlegg",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Last ned med vedlegg",
-    "EDIT_AGENT": "Rediger agent",
-    "EDIT_AMAZONLEX": "Rediger Lex-konfigurasjonen",
-    "EDIT_AUTOREPLY": "Rediger autosvar",
-    "EDIT_CLOSE": "Rediger Lukk",
-    "EDIT_DIALOGFLOW": "Rediger DialogFlow-konfigurasjon",
-    "EDIT_GOTOIF": "Rediger Gotoif",
-    "EDIT_GOTOP": "Rediger Gotop",
-    "EDIT_NOOP": "Rediger Noop",
-    "EDIT_QUEUE": "Rediger kø",
-    "EDIT_SYSTEM": "Rediger system",
-    "EDIT_TAG": "Rediger tag",
     "EDIT_WHATSAPPACCOUNT": "Rediger WhatsApp-konto",
     "EDIT_WHATSAPPCANNEDANSWER": "Redigere",
     "EDIT_WHATSAPPDISPOSITION": "Rediger WhatsApp Disposition",
     "EDIT_WHATSAPPQUEUE": "Rediger WhatsApp-kø",
-    "FALSEPRIORITY": "Falsk prioritet",
-    "GENERAL": "Generell",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Gå til WhatsApp-kø i sanntid",
     "GO_TO_WHATSAPPACCOUNTS": "Gå til konto",
-    "ID": "id",
-    "IDLE": "Tomgang",
-    "INSERT_MESSAGE_HERE": "Sett inn melding her",
-    "INTERACTIONS": "interaksjoner",
     "INTERACTIONS_WHATSAPPACCOUNT": "Gå til interaksjoner",
-    "KEY": "Nøkkel",
-    "LANGUAGE": "Språk",
-    "LASTMESSAGE": "Siste melding",
-    "LEXREGION": "Region",
-    "LIST": "Liste",
-    "LOGGED_IN": "Logget inn (SIP-tilkoblet)",
-    "LOGIN_TIME": "Innloggingstid",
-    "LOGOUT": "Logg ut",
-    "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
-    "MANDATORYDISPOSITIONPAUSEID": "Pause for bruk når obligatorisk disposisjon er aktivert",
-    "MORE": "Mer",
-    "MOTIONPROXY": "Proxy- eller bevegelsesdomener",
     "MULTI_SELECT_TOGGLE": "Multivalg veksle",
-    "NAME": "Navn",
     "NEW_WHATSAPPACCOUNT": "Ny WhatsApp-konto",
     "NEW_WHATSAPPCANNEDANSWER": "Nytt WhatsApp hermetisert svar",
     "NEW_WHATSAPPDISPOSITION": "Ny WhatsApp disposisjon",
     "NEW_WHATSAPPQUEUE": "Ny WhatsApp-kø",
-    "NOOP": "Noop",
-    "NOTE": "Merk",
-    "NOTIFICATION": "Melding",
-    "NOTIFICATIONSHAKE": "Riste",
-    "NOTIFICATIONSOUND": "Lyd",
-    "NOTIFICATIONTEMPLATE": "Mal",
-    "NO_AGENT_ONLINE": "Ingen agent på nettet",
-    "NO_AVAILABLE_INFO": "Ingen tilgjengelig informasjon",
-    "NO_INTERACTION_AVAILABLE": "Ingen interaksjoner tilgjengelig",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Ingen WhatsApp hermetiserte svar tilgjengelig",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Ingen WhatsApp-disposisjoner tilgjengelig",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Ingen WhatsApp-kontoer tilgjengelig",
-    "OF": "av",
-    "OPENED": "åpnet",
-    "PAGE": "Side",
-    "PARTIALPAUSE": "Delvis pause",
-    "PAUSE": "Pause",
-    "PAUSED": "pauset",
-    "PAUSE_TIME": "Pause tid",
-    "PHONE": "telefon",
-    "PRIORITY": "Prioritet",
-    "PROXY": "proxy",
-    "QUEUE": "Kø",
-    "QUEUES": "køer",
-    "QUEUETRANSFER": "Køoverføring",
-    "QUEUETRANSFERTIMEOUT": "Timeout for overføring av kø",
-    "READY": "Klar",
-    "REALTIME": "Realtime",
-    "RECEIVEURL": "Motta URL",
-    "REFRESH_INTERACTIONS": "Oppdater interaksjoner",
     "REMOTE": "Remote",
-    "ROWSPERPAGE": "Rader per side",
-    "SAVE": "Lagre",
-    "SCREENRECORDING": "Administrer skjermopptak",
-    "SEARCH_FOR_ANYONE": "Søk",
-    "SECRETACCESSKEY": "Tilgang nøkkelhemmelighet",
-    "SELECTED": "valgt",
-    "SELECTED_AGENTS": "Utvalgte agenter",
-    "SELECTED_TEAMS": "Utvalgte lag",
-    "SELECT_ALL": "Velg alle",
-    "SELECT_NONE": "Velg ingen",
-    "SEND": "Sende",
-    "SETTINGS": "innstillinger",
-    "SPYINTERACTION": "Spioninteraksjon",
-    "STARTEDAT": "Startet kl",
-    "START_SCREENRECORDING": "Start skjermopptak",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Stopp skjermopptak",
-    "STRATEGY": "Strategi",
-    "SYSTEM": "System",
-    "TAG": "stikkord",
-    "TAGS": "Tags",
     "TEAMADD_WHATSAPPQUEUE": "Legg team til WhatsApp-køen",
-    "TEAMS_ASSOCIATION": "Lagforening",
-    "TEXT": "Tekst",
-    "TIMEOUT": "Pause",
-    "TIMER": "Timer",
-    "TIMES": "ganger",
-    "TO": "Til",
-    "TOKEN": "pollett",
-    "TOOLTIP_SCREENRECORDING_OFF": "Skjermopptak tilgjengelig",
-    "TOOLTIP_SCREENRECORDING_ON": "Skjermopptak pågår",
-    "TRANSFER": "Overføre",
-    "TRUEPRIORITY": "Ekte prioritet",
-    "TYPE": "Type",
-    "UNPAUSE": "Sluttpause",
-    "VALUE": "Verdi",
-    "VARIABLE": "variabel",
-    "WAITFORTHEASSIGNEDAGENT": "Vent til den tildelte agenten",
-    "WAITING": "Venter",
-    "WELCOMEMESSAGE": "Velkomstmelding",
-    "WHATSAPP": "WhatsApp-kontakt",
     "WHATSAPPACCOUNTS": "WhatsApp-kontoer",
     "WHATSAPPCANNEDANSWERS": "WhatsApp hermetiserte svar",
     "WHATSAPPDISPOSITIONS": "WhatsApp-disposisjoner",
diff --git a/public/app/main/apps/whatsapp/i18n/pl.json b/public/app/main/apps/whatsapp/i18n/pl.json
index b77ce9a..00cfb4f 100644
--- a/public/app/main/apps/whatsapp/i18n/pl.json
+++ b/public/app/main/apps/whatsapp/i18n/pl.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Pole obowiązkowe",
-      "ACCOUNTSID_REQUIRED": "Pole obowiązkowe",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "AGENT_REQUIRED": "Pole obowiązkowe",
-      "AGENT_TIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "AUTHTOKEN_REQUIRED": "Pole obowiązkowe",
-      "BOTNAME_REQUIRED": "Pole obowiązkowe",
-      "COMMAND_REQUIRED": "Pole obowiązkowe",
-      "CONDITION_REQUIRED": "Pole obowiązkowe",
       "DESCRIPTION_REQUIRED": "Pole obowiązkowe",
-      "DISPOSITION_REQUIRED": "Pole obowiązkowe",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "FALSEPRIORITY_REQUIRED": "Pole obowiązkowe",
-      "KEY_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
-      "KEY_REQUIRED": "Pole obowiązkowe",
       "LANGUAGE_REQUIRED": "Pole Mandtory",
       "LEXREGION_REQUIRED": "Pole obowiązkowe",
-      "LIST_REQUIRED": "Pole obowiązkowe",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe",
-      "NAME_REQUIRED": "Pole obowiązkowe",
-      "PHONE_REQUIRED": "Pole obowiązkowe",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "PRIORITY_REQUIRED": "Pole obowiązkowe",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
-      "QUEUE_REQUIRED": "Pole obowiązkowe",
-      "SECRETACCESSKEY_REQUIRED": "Pole obowiązkowe",
-      "TAG_REQUIRED": "Pole obowiązkowe",
-      "TEXT_REQUIRED": "Pole obowiązkowe",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "TIMEOUT_REQUIRED": "Pole obowiązkowe",
       "TIMES_REQUIRED": "Pole obowiązkowe",
-      "TOKEN_REQUIRED": "Pole obowiązkowe",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "TRUEPRIORITY_REQUIRED": "Pole obowiązkowe",
-      "TYPE_REQUIRED": "Pole obowiązkowe",
-      "VALUE_REQUIRED": "Pole obowiązkowe",
       "VARIABLE_REQUIRED": "Pole obowiązkowe",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pole obowiązkowe",
       "WELCOMEMESSAGE_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Pole obowiązkowe"
     },
-    "HELP": {
-      "LIST": "Lista menedżera kontaktów używana do kojarzenia kontaktów",
-      "MANDATORYDISPOSITION": "Obowiązkowa dyspozycja",
-      "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj, aby użyć, gdy włączona jest dyspozycja obowiązkowa",
-      "MOTIONPROXY": "Pole musi mieć następujący format: <protocol>: // <ipaddress> [: <port>]. Przykład: https: //X.Y.Z.W",
-      "NAME": "Obsługiwane są tylko cyfry, litery i określone znaki (._)",
-      "RECEIVEURL": "To jest automatycznie generowany ciąg API, którego potrzebujesz, aby otrzymywać wiadomości wewnątrz swojego konta od dostawcy WhatsApp Connector (należy użyć metody POST): kliknij przycisk schowka, aby go skopiować",
-      "WELCOMEMESSAGE": "To jest pierwsza wiadomość z odpowiedzią wysłana do nowych interakcji"
-    },
-    "ACCESSKEYID": "Identyfikator klucza dostępu",
-    "ACCOUNTSID": "Identyfikator SID konta",
-    "ACTIONS": "działania",
-    "ADD_NOTE": "Dodaj notatkę",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Dodaj",
     "ADD_WHATSAPPCANNEDANSWER": "Dodaj gotową odpowiedź",
     "ADD_WHATSAPPDISPOSITION": "Dodaj dyspozycję WhatsApp",
     "ADD_WHATSAPPQUEUE": "Dodaj kolejkę WhatsApp",
-    "ADVANCED": "zaawansowane",
-    "AGENT": "Agent",
     "AGENTADD_QUEUE": "Dodaj agenta do kolejki WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Dodaj agenta do konta WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Dodaj agenta do kolejki WhatsApp",
-    "AGENTS": "Agenci",
-    "AGENTSADD_QUEUE": "Dodaj agentów do kolejki WhatsApp",
-    "AGENTTRANSFER": "Transfer agenta",
-    "AGENTTRANSFERTIMEOUT": "Limit czasu transferu agenta",
-    "AGENT_TIMEOUT": "Limit czasu agenta",
-    "ALL": "Wszystko",
-    "ALL_AGENTS": "Wszyscy agenci",
-    "ALL_TEAMS": "Wszystkie zespoły",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Auth Token",
-    "AUTOREPLY": "Automatyczna odpowiedź",
-    "BACK": "Plecy",
-    "BOTNAME": "Nazwa bota",
-    "BUSY": "Zajęty",
-    "CANNEDANSWERS": "Gotowe odpowiedzi",
-    "CANNED_ANSWER_NOT_FOUND": "Nie znaleziono gotowych odpowiedzi",
-    "CANNED_ANSWER_SEARCH": "Wprowadź tekst, aby wyszukać gotową odpowiedź",
-    "CAPACITY": "Pojemność",
-    "CLOSE": "Blisko",
-    "CLOSED": "Zamknięte",
-    "CLOSEMETHOD": "Zamknij metodę",
-    "CLOSEURL": "Zamknij adres URL",
-    "COMMAND": "Komenda",
-    "CONDITION": "Stan: schorzenie",
-    "CONTACT": "Kontakt",
-    "CREATED_AT": "Utworzono w",
-    "DEFAULT_PAUSE": "DOMYŚLNA PAUZA",
-    "DELETE": "Usunąć",
-    "DELETE_INTERACTION": "Usuń interakcję",
-    "DELETE_SELECTED": "Usuń zaznaczone",
     "DELETE_WHATSAPPACCOUNT": "Usuń konto WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Usunięto",
     "DELETE_WHATSAPPDISPOSITION": "Usuń dyspozycję WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Usuń kolejkę WhatsApp",
-    "DESCRIPTION": "Opis",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Usposobienie",
-    "DISPOSITIONS": "Dyspozycje",
-    "DOWNLOAD_INTERACTION": "Pobieranie",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Pobierz bez załączników",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Pobierz z załącznikami",
-    "EDIT_AGENT": "Edytuj agenta",
-    "EDIT_AMAZONLEX": "Edytuj konfigurację Lex",
-    "EDIT_AUTOREPLY": "Edytuj automatyczną odpowiedź",
-    "EDIT_CLOSE": "Edytuj Zamknij",
-    "EDIT_DIALOGFLOW": "Edytuj konfigurację DialogFlow",
-    "EDIT_GOTOIF": "Edytuj Gotoif",
-    "EDIT_GOTOP": "Edytuj Gotop",
-    "EDIT_NOOP": "Edytuj Noop",
-    "EDIT_QUEUE": "Edytuj kolejkę",
-    "EDIT_SYSTEM": "Edytuj system",
-    "EDIT_TAG": "Edytuj tag",
     "EDIT_WHATSAPPACCOUNT": "Edytuj konto WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "Edytować",
     "EDIT_WHATSAPPDISPOSITION": "Edytuj dyspozycję WhatsApp",
     "EDIT_WHATSAPPQUEUE": "Edytuj kolejkę WhatsApp",
-    "FALSEPRIORITY": "Fałszywy priorytet",
-    "GENERAL": "Generał",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Przejdź do kolejki WhatsApp w czasie rzeczywistym",
     "GO_TO_WHATSAPPACCOUNTS": "Przejdź do konta",
-    "ID": "ID",
-    "IDLE": "Bezczynny",
-    "INSERT_MESSAGE_HERE": "Tutaj wstaw wiadomość",
-    "INTERACTIONS": "Interakcje",
     "INTERACTIONS_WHATSAPPACCOUNT": "Przejdź do interakcji",
-    "KEY": "Klucz",
-    "LANGUAGE": "Język",
-    "LASTMESSAGE": "Ostatnia wiadomość",
-    "LEXREGION": "Region",
-    "LIST": "Lista",
-    "LOGGED_IN": "Zalogowano (połączenie SIP)",
-    "LOGIN_TIME": "Czas logowania",
-    "LOGOUT": "Wyloguj",
-    "MANDATORYDISPOSITION": "Obowiązkowa dyspozycja",
-    "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj, aby użyć, gdy włączona jest dyspozycja obowiązkowa",
-    "MORE": "Więcej",
-    "MOTIONPROXY": "Proxy lub domena ruchu",
     "MULTI_SELECT_TOGGLE": "Przełącznik wyboru wielokrotnego",
-    "NAME": "Imię",
     "NEW_WHATSAPPACCOUNT": "Nowe konto WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Nowa odpowiedź w puszkach WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Nowa dyspozycja WhatsApp",
     "NEW_WHATSAPPQUEUE": "Nowa kolejka WhatsApp",
-    "NOOP": "Noop",
-    "NOTE": "Uwaga",
-    "NOTIFICATION": "Powiadomienie",
-    "NOTIFICATIONSHAKE": "Potrząsnąć",
-    "NOTIFICATIONSOUND": "Dźwięk",
-    "NOTIFICATIONTEMPLATE": "Szablon",
-    "NO_AGENT_ONLINE": "Brak agenta online",
-    "NO_AVAILABLE_INFO": "Brak dostępnych informacji",
-    "NO_INTERACTION_AVAILABLE": "Brak dostępnych interakcji",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Brak dostępnych gotowych odpowiedzi WhatsApp",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Brak dostępnych dyspozycji WhatsApp",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Brak dostępnych kont WhatsApp",
-    "OF": "z",
-    "OPENED": "Otwierany",
-    "PAGE": "Strona",
-    "PARTIALPAUSE": "Częściowa pauza",
-    "PAUSE": "Pauza",
-    "PAUSED": "Wstrzymano",
-    "PAUSE_TIME": "Czas przerwy",
-    "PHONE": "Telefon",
-    "PRIORITY": "Priorytet",
-    "PROXY": "Pełnomocnik",
-    "QUEUE": "Kolejka",
-    "QUEUES": "Kolejki",
-    "QUEUETRANSFER": "Transfer kolejki",
-    "QUEUETRANSFERTIMEOUT": "Limit czasu transferu kolejki",
-    "READY": "Gotowy",
-    "REALTIME": "Czas rzeczywisty",
-    "RECEIVEURL": "Odbierz URL",
-    "REFRESH_INTERACTIONS": "Odśwież interakcje",
     "REMOTE": "Zdalny",
-    "ROWSPERPAGE": "Wiersze na stronę",
-    "SAVE": "Zapisać",
-    "SCREENRECORDING": "Zarządzaj nagrywaniem ekranu",
-    "SEARCH_FOR_ANYONE": "Szukaj",
-    "SECRETACCESSKEY": "Klucz dostępu do klucza tajnego",
-    "SELECTED": "Wybrany",
-    "SELECTED_AGENTS": "Wybrani agenci",
-    "SELECTED_TEAMS": "Wybrane zespoły",
-    "SELECT_ALL": "Zaznacz wszystko",
-    "SELECT_NONE": "Nie wybieraj żadnego",
-    "SEND": "Wysłać",
-    "SETTINGS": "Ustawienia",
-    "SPYINTERACTION": "Szpieg Interakcja",
-    "STARTEDAT": "Zaczęło się o",
-    "START_SCREENRECORDING": "Rozpocznij nagrywanie ekranu",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Zatrzymaj nagrywanie ekranu",
-    "STRATEGY": "Strategia",
-    "SYSTEM": "System",
-    "TAG": "Etykietka",
-    "TAGS": "Tagi",
     "TEAMADD_WHATSAPPQUEUE": "Dodaj zespół do kolejki WhatsApp",
-    "TEAMS_ASSOCIATION": "Stowarzyszenie Drużyn",
-    "TEXT": "Tekst",
-    "TIMEOUT": "Koniec czasu",
-    "TIMER": "Regulator czasowy",
-    "TIMES": "Czasy",
-    "TO": "Do",
-    "TOKEN": "Znak",
-    "TOOLTIP_SCREENRECORDING_OFF": "Dostępne nagrywanie ekranu",
-    "TOOLTIP_SCREENRECORDING_ON": "Trwa nagrywanie ekranu",
-    "TRANSFER": "Transfer",
-    "TRUEPRIORITY": "Prawdziwy priorytet",
-    "TYPE": "Rodzaj",
-    "UNPAUSE": "Koniec Pauza",
-    "VALUE": "Wartość",
-    "VARIABLE": "Zmienna",
-    "WAITFORTHEASSIGNEDAGENT": "Poczekaj na przypisanego agenta",
-    "WAITING": "Czekanie",
-    "WELCOMEMESSAGE": "Wiadomość powitalna",
-    "WHATSAPP": "Złącze WhatsApp",
     "WHATSAPPACCOUNTS": "Konta WhatsApp",
     "WHATSAPPCANNEDANSWERS": "Odpowiedzi w puszkach WhatsApp",
     "WHATSAPPDISPOSITIONS": "Dyspozycje WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/pt-BR.json b/public/app/main/apps/whatsapp/i18n/pt-BR.json
index e74072f..65aa09c 100644
--- a/public/app/main/apps/whatsapp/i18n/pt-BR.json
+++ b/public/app/main/apps/whatsapp/i18n/pt-BR.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Campo Obrigatório",
-      "ACCOUNTSID_REQUIRED": "Campo Obrigatório",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "AGENT_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_REQUIRED": "Campo Obrigatório",
-      "AUTHTOKEN_REQUIRED": "Campo Obrigatório",
-      "BOTNAME_REQUIRED": "Campo Obrigatório",
-      "COMMAND_REQUIRED": "Campo Obrigatório",
-      "CONDITION_REQUIRED": "Campo Obrigatório",
       "DESCRIPTION_REQUIRED": "Campo Obrigatório",
-      "DISPOSITION_REQUIRED": "Campo Obrigatório",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "FALSEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "KEY_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
-      "KEY_REQUIRED": "Campo Obrigatório",
       "LANGUAGE_REQUIRED": "Campo Mandtório",
       "LEXREGION_REQUIRED": "Campo Obrigatório",
-      "LIST_REQUIRED": "Campo Obrigatório",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo Obrigatório",
-      "NAME_REQUIRED": "Campo Obrigatório",
-      "PHONE_REQUIRED": "Campo Obrigatório",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "PRIORITY_REQUIRED": "Campo Obrigatório",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "QUEUE_REQUIRED": "Campo Obrigatório",
-      "SECRETACCESSKEY_REQUIRED": "Campo Obrigatório",
-      "TAG_REQUIRED": "Campo Obrigatório",
-      "TEXT_REQUIRED": "Campo Obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "TIMEOUT_REQUIRED": "Campo Obrigatório",
       "TIMES_REQUIRED": "Campo Obrigatório",
-      "TOKEN_REQUIRED": "Campo Obrigatório",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "TRUEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "TYPE_REQUIRED": "Campo Obrigatório",
-      "VALUE_REQUIRED": "Campo Obrigatório",
       "VARIABLE_REQUIRED": "Campo Obrigatório",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
       "WELCOMEMESSAGE_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Campo Obrigatório"
     },
-    "HELP": {
-      "LIST": "Lista do gerenciador de contatos usada para associar contatos",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
-      "MOTIONPROXY": "O campo deve ter o seguinte formato: <protocol>: // <ipaddress> [: <port>]. Exemplo: https: //X.Y.Z.W",
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
-      "RECEIVEURL": "Esta é a string de API gerada automaticamente que você precisa usar para receber as mensagens dentro de sua conta do provedor WhatsApp Connector (o método POST deve ser usado): clique no botão da área de transferência para copiá-la",
-      "WELCOMEMESSAGE": "Esta é a primeira mensagem de resposta enviada para novas interações"
-    },
-    "ACCESSKEYID": "ID da chave de acesso",
-    "ACCOUNTSID": "SID da conta",
-    "ACTIONS": "Ações",
-    "ADD_NOTE": "Adicionar nota",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Adicionar",
     "ADD_WHATSAPPCANNEDANSWER": "Adicionar resposta automática",
     "ADD_WHATSAPPDISPOSITION": "Adicionar disposição do WhatsApp",
     "ADD_WHATSAPPQUEUE": "Adicionar fila WhatsApp",
-    "ADVANCED": "Avançado",
-    "AGENT": "Agente",
     "AGENTADD_QUEUE": "Adicionar agente à fila de WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Adicionar agente à conta do WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Adicionar agente à fila de WhatsApp",
-    "AGENTS": "Agentes",
-    "AGENTSADD_QUEUE": "Adicionar agentes à fila do WhatsApp",
-    "AGENTTRANSFER": "Transferência de Agente",
-    "AGENTTRANSFERTIMEOUT": "Tempo limite de transferência do agente",
-    "AGENT_TIMEOUT": "Tempo Limite do Agente",
-    "ALL": "Tudo",
-    "ALL_AGENTS": "Todos os Agentes",
-    "ALL_TEAMS": "Todas as equipes",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Token de autenticação",
-    "AUTOREPLY": "Resposta automatica",
-    "BACK": "Costas",
-    "BOTNAME": "Nome do bot",
-    "BUSY": "Ocupado",
-    "CANNEDANSWERS": "Respostas enlatadas",
-    "CANNED_ANSWER_NOT_FOUND": "Nenhuma resposta automática foi encontrada",
-    "CANNED_ANSWER_SEARCH": "Insira um texto para pesquisar uma resposta automática",
-    "CAPACITY": "Capacidade",
-    "CLOSE": "Perto",
-    "CLOSED": "Fechadas",
-    "CLOSEMETHOD": "Método Fechar",
-    "CLOSEURL": "Fechar URL",
-    "COMMAND": "Comando",
-    "CONDITION": "Doença",
-    "CONTACT": "Contato",
-    "CREATED_AT": "Criado em",
-    "DEFAULT_PAUSE": "PAUSA PADRÃO",
-    "DELETE": "Excluir",
-    "DELETE_INTERACTION": "Excluir interação",
-    "DELETE_SELECTED": "Excluir selecionado",
     "DELETE_WHATSAPPACCOUNT": "Excluir conta WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Excluído",
     "DELETE_WHATSAPPDISPOSITION": "Excluir disposição do WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Excluir fila do WhatsApp",
-    "DESCRIPTION": "Descrição",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposição",
-    "DISPOSITIONS": "Disposições",
-    "DOWNLOAD_INTERACTION": "Baixar",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Baixar sem anexos",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Baixar com anexos",
-    "EDIT_AGENT": "Editar Agente",
-    "EDIT_AMAZONLEX": "Editar configuração Lex",
-    "EDIT_AUTOREPLY": "Editar resposta automática",
-    "EDIT_CLOSE": "Editar Fechar",
-    "EDIT_DIALOGFLOW": "Editar configuração do DialogFlow",
-    "EDIT_GOTOIF": "Editar Gotoif",
-    "EDIT_GOTOP": "Editar Gotop",
-    "EDIT_NOOP": "Editar Noop",
-    "EDIT_QUEUE": "Editar fila",
-    "EDIT_SYSTEM": "Editar Sistema",
-    "EDIT_TAG": "Editar etiqueta",
     "EDIT_WHATSAPPACCOUNT": "Editar conta WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "Editar",
     "EDIT_WHATSAPPDISPOSITION": "Editar disposição do WhatsApp",
     "EDIT_WHATSAPPQUEUE": "Editar fila de WhatsApp",
-    "FALSEPRIORITY": "Falsa Prioridade",
-    "GENERAL": "Geral",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Seja o melhor",
     "GOTOREALTIME_WHATSAPPQUEUE": "Vá para a fila de WhatsApp em tempo real",
     "GO_TO_WHATSAPPACCOUNTS": "Ir para a conta",
-    "ID": "Eu iria",
-    "IDLE": "Ocioso",
-    "INSERT_MESSAGE_HERE": "Insira a mensagem aqui",
-    "INTERACTIONS": "Interações",
     "INTERACTIONS_WHATSAPPACCOUNT": "Vá para Interações",
-    "KEY": "Chave",
-    "LANGUAGE": "Língua",
-    "LASTMESSAGE": "Última mensagem",
-    "LEXREGION": "Região",
-    "LIST": "Lista",
-    "LOGGED_IN": "Conectado (SIP conectado)",
-    "LOGIN_TIME": "Hora de Login",
-    "LOGOUT": "Sair",
-    "MANDATORYDISPOSITION": "Disposição Obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
-    "MORE": "Mais",
-    "MOTIONPROXY": "Domínio de proxy ou movimento",
     "MULTI_SELECT_TOGGLE": "Alternância de seleção múltipla",
-    "NAME": "Nome",
     "NEW_WHATSAPPACCOUNT": "Nova conta WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Nova resposta predeterminada do WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Nova disposição do WhatsApp",
     "NEW_WHATSAPPQUEUE": "Nova fila de WhatsApp",
-    "NOOP": "Noop",
-    "NOTE": "Nota",
-    "NOTIFICATION": "Notificação",
-    "NOTIFICATIONSHAKE": "Mexe",
-    "NOTIFICATIONSOUND": "Som",
-    "NOTIFICATIONTEMPLATE": "Modelo",
-    "NO_AGENT_ONLINE": "Nenhum agente online",
-    "NO_AVAILABLE_INFO": "Sem informações disponíveis",
-    "NO_INTERACTION_AVAILABLE": "Nenhuma interação disponível",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nenhuma resposta automática do WhatsApp disponível",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Nenhum dispositivo WhatsApp disponível",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nenhuma conta WhatsApp disponível",
-    "OF": "do",
-    "OPENED": "Aberto",
-    "PAGE": "Página",
-    "PARTIALPAUSE": "Pausa Parcial",
-    "PAUSE": "Pausa",
-    "PAUSED": "Em pausa",
-    "PAUSE_TIME": "Tempo de pausa",
-    "PHONE": "telefone",
-    "PRIORITY": "Prioridade",
-    "PROXY": "Proxy",
-    "QUEUE": "Fila",
-    "QUEUES": "Filas",
-    "QUEUETRANSFER": "Transferência de fila",
-    "QUEUETRANSFERTIMEOUT": "Tempo limite de transferência da fila",
-    "READY": "pronto",
-    "REALTIME": "Tempo real",
-    "RECEIVEURL": "Receber URL",
-    "REFRESH_INTERACTIONS": "Atualizar interações",
     "REMOTE": "Controlo remoto",
-    "ROWSPERPAGE": "Linhas por página",
-    "SAVE": "Salve ",
-    "SCREENRECORDING": "Gerenciar gravação de tela",
-    "SEARCH_FOR_ANYONE": "Procurar",
-    "SECRETACCESSKEY": "Chave secreta de acesso",
-    "SELECTED": "Selecionado",
-    "SELECTED_AGENTS": "Agentes Selecionados",
-    "SELECTED_TEAMS": "Times Selecionados",
-    "SELECT_ALL": "Selecionar tudo",
-    "SELECT_NONE": "Selecione nenhum",
-    "SEND": "Enviar",
-    "SETTINGS": "Configurações",
-    "SPYINTERACTION": "Interação de espião",
-    "STARTEDAT": "Começou às",
-    "START_SCREENRECORDING": "Iniciar gravação de tela",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Parar a gravação da tela",
-    "STRATEGY": "Estratégia",
-    "SYSTEM": "Sistema",
-    "TAG": "Tag",
-    "TAGS": "Tag",
     "TEAMADD_WHATSAPPQUEUE": "Adicionar equipe à fila do WhatsApp",
-    "TEAMS_ASSOCIATION": "Associação de equipes",
-    "TEXT": "Texto",
-    "TIMEOUT": "Tempo esgotado",
-    "TIMER": "Cronômetro",
-    "TIMES": "Vezes",
-    "TO": "Para",
-    "TOKEN": "Símbolo",
-    "TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
-    "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
-    "TRANSFER": "Transferir",
-    "TRUEPRIORITY": "Verdadeira prioridade",
-    "TYPE": "Tipo",
-    "UNPAUSE": "Fim da pausa",
-    "VALUE": "Valor",
-    "VARIABLE": "Variável",
-    "WAITFORTHEASSIGNEDAGENT": "Espere pelo agente atribuído",
-    "WAITING": "Esperando",
-    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
-    "WHATSAPP": "Conector WhatsApp",
     "WHATSAPPACCOUNTS": "Contas WhatsApp",
     "WHATSAPPCANNEDANSWERS": "Respostas predeterminadas do WhatsApp",
     "WHATSAPPDISPOSITIONS": "Dispositivos do WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/pt-PT.json b/public/app/main/apps/whatsapp/i18n/pt-PT.json
index e74072f..65aa09c 100644
--- a/public/app/main/apps/whatsapp/i18n/pt-PT.json
+++ b/public/app/main/apps/whatsapp/i18n/pt-PT.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Campo Obrigatório",
-      "ACCOUNTSID_REQUIRED": "Campo Obrigatório",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "AGENT_REQUIRED": "Campo Obrigatório",
-      "AGENT_TIMEOUT_REQUIRED": "Campo Obrigatório",
-      "AUTHTOKEN_REQUIRED": "Campo Obrigatório",
-      "BOTNAME_REQUIRED": "Campo Obrigatório",
-      "COMMAND_REQUIRED": "Campo Obrigatório",
-      "CONDITION_REQUIRED": "Campo Obrigatório",
       "DESCRIPTION_REQUIRED": "Campo Obrigatório",
-      "DISPOSITION_REQUIRED": "Campo Obrigatório",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "FALSEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "KEY_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
-      "KEY_REQUIRED": "Campo Obrigatório",
       "LANGUAGE_REQUIRED": "Campo Mandtório",
       "LEXREGION_REQUIRED": "Campo Obrigatório",
-      "LIST_REQUIRED": "Campo Obrigatório",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo Obrigatório",
-      "NAME_REQUIRED": "Campo Obrigatório",
-      "PHONE_REQUIRED": "Campo Obrigatório",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "PRIORITY_REQUIRED": "Campo Obrigatório",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
-      "QUEUE_REQUIRED": "Campo Obrigatório",
-      "SECRETACCESSKEY_REQUIRED": "Campo Obrigatório",
-      "TAG_REQUIRED": "Campo Obrigatório",
-      "TEXT_REQUIRED": "Campo Obrigatório",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "TIMEOUT_REQUIRED": "Campo Obrigatório",
       "TIMES_REQUIRED": "Campo Obrigatório",
-      "TOKEN_REQUIRED": "Campo Obrigatório",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "TRUEPRIORITY_REQUIRED": "Campo Obrigatório",
-      "TYPE_REQUIRED": "Campo Obrigatório",
-      "VALUE_REQUIRED": "Campo Obrigatório",
       "VARIABLE_REQUIRED": "Campo Obrigatório",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
       "WELCOMEMESSAGE_MAX_LENGTH": "O valor deve ter um comprimento máximo igual a {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Campo Obrigatório"
     },
-    "HELP": {
-      "LIST": "Lista do gerenciador de contatos usada para associar contatos",
-      "MANDATORYDISPOSITION": "Disposição obrigatória",
-      "MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
-      "MOTIONPROXY": "O campo deve ter o seguinte formato: <protocol>: // <ipaddress> [: <port>]. Exemplo: https: //X.Y.Z.W",
-      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
-      "RECEIVEURL": "Esta é a string de API gerada automaticamente que você precisa usar para receber as mensagens dentro de sua conta do provedor WhatsApp Connector (o método POST deve ser usado): clique no botão da área de transferência para copiá-la",
-      "WELCOMEMESSAGE": "Esta é a primeira mensagem de resposta enviada para novas interações"
-    },
-    "ACCESSKEYID": "ID da chave de acesso",
-    "ACCOUNTSID": "SID da conta",
-    "ACTIONS": "Ações",
-    "ADD_NOTE": "Adicionar nota",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Adicionar",
     "ADD_WHATSAPPCANNEDANSWER": "Adicionar resposta automática",
     "ADD_WHATSAPPDISPOSITION": "Adicionar disposição do WhatsApp",
     "ADD_WHATSAPPQUEUE": "Adicionar fila WhatsApp",
-    "ADVANCED": "Avançado",
-    "AGENT": "Agente",
     "AGENTADD_QUEUE": "Adicionar agente à fila de WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Adicionar agente à conta do WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Adicionar agente à fila de WhatsApp",
-    "AGENTS": "Agentes",
-    "AGENTSADD_QUEUE": "Adicionar agentes à fila do WhatsApp",
-    "AGENTTRANSFER": "Transferência de Agente",
-    "AGENTTRANSFERTIMEOUT": "Tempo limite de transferência do agente",
-    "AGENT_TIMEOUT": "Tempo Limite do Agente",
-    "ALL": "Tudo",
-    "ALL_AGENTS": "Todos os Agentes",
-    "ALL_TEAMS": "Todas as equipes",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Token de autenticação",
-    "AUTOREPLY": "Resposta automatica",
-    "BACK": "Costas",
-    "BOTNAME": "Nome do bot",
-    "BUSY": "Ocupado",
-    "CANNEDANSWERS": "Respostas enlatadas",
-    "CANNED_ANSWER_NOT_FOUND": "Nenhuma resposta automática foi encontrada",
-    "CANNED_ANSWER_SEARCH": "Insira um texto para pesquisar uma resposta automática",
-    "CAPACITY": "Capacidade",
-    "CLOSE": "Perto",
-    "CLOSED": "Fechadas",
-    "CLOSEMETHOD": "Método Fechar",
-    "CLOSEURL": "Fechar URL",
-    "COMMAND": "Comando",
-    "CONDITION": "Doença",
-    "CONTACT": "Contato",
-    "CREATED_AT": "Criado em",
-    "DEFAULT_PAUSE": "PAUSA PADRÃO",
-    "DELETE": "Excluir",
-    "DELETE_INTERACTION": "Excluir interação",
-    "DELETE_SELECTED": "Excluir selecionado",
     "DELETE_WHATSAPPACCOUNT": "Excluir conta WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Excluído",
     "DELETE_WHATSAPPDISPOSITION": "Excluir disposição do WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Excluir fila do WhatsApp",
-    "DESCRIPTION": "Descrição",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposição",
-    "DISPOSITIONS": "Disposições",
-    "DOWNLOAD_INTERACTION": "Baixar",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Baixar sem anexos",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Baixar com anexos",
-    "EDIT_AGENT": "Editar Agente",
-    "EDIT_AMAZONLEX": "Editar configuração Lex",
-    "EDIT_AUTOREPLY": "Editar resposta automática",
-    "EDIT_CLOSE": "Editar Fechar",
-    "EDIT_DIALOGFLOW": "Editar configuração do DialogFlow",
-    "EDIT_GOTOIF": "Editar Gotoif",
-    "EDIT_GOTOP": "Editar Gotop",
-    "EDIT_NOOP": "Editar Noop",
-    "EDIT_QUEUE": "Editar fila",
-    "EDIT_SYSTEM": "Editar Sistema",
-    "EDIT_TAG": "Editar etiqueta",
     "EDIT_WHATSAPPACCOUNT": "Editar conta WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "Editar",
     "EDIT_WHATSAPPDISPOSITION": "Editar disposição do WhatsApp",
     "EDIT_WHATSAPPQUEUE": "Editar fila de WhatsApp",
-    "FALSEPRIORITY": "Falsa Prioridade",
-    "GENERAL": "Geral",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Seja o melhor",
     "GOTOREALTIME_WHATSAPPQUEUE": "Vá para a fila de WhatsApp em tempo real",
     "GO_TO_WHATSAPPACCOUNTS": "Ir para a conta",
-    "ID": "Eu iria",
-    "IDLE": "Ocioso",
-    "INSERT_MESSAGE_HERE": "Insira a mensagem aqui",
-    "INTERACTIONS": "Interações",
     "INTERACTIONS_WHATSAPPACCOUNT": "Vá para Interações",
-    "KEY": "Chave",
-    "LANGUAGE": "Língua",
-    "LASTMESSAGE": "Última mensagem",
-    "LEXREGION": "Região",
-    "LIST": "Lista",
-    "LOGGED_IN": "Conectado (SIP conectado)",
-    "LOGIN_TIME": "Hora de Login",
-    "LOGOUT": "Sair",
-    "MANDATORYDISPOSITION": "Disposição Obrigatória",
-    "MANDATORYDISPOSITIONPAUSEID": "Faça uma pausa para usar quando a disposição obrigatória estiver habilitada",
-    "MORE": "Mais",
-    "MOTIONPROXY": "Domínio de proxy ou movimento",
     "MULTI_SELECT_TOGGLE": "Alternância de seleção múltipla",
-    "NAME": "Nome",
     "NEW_WHATSAPPACCOUNT": "Nova conta WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Nova resposta predeterminada do WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Nova disposição do WhatsApp",
     "NEW_WHATSAPPQUEUE": "Nova fila de WhatsApp",
-    "NOOP": "Noop",
-    "NOTE": "Nota",
-    "NOTIFICATION": "Notificação",
-    "NOTIFICATIONSHAKE": "Mexe",
-    "NOTIFICATIONSOUND": "Som",
-    "NOTIFICATIONTEMPLATE": "Modelo",
-    "NO_AGENT_ONLINE": "Nenhum agente online",
-    "NO_AVAILABLE_INFO": "Sem informações disponíveis",
-    "NO_INTERACTION_AVAILABLE": "Nenhuma interação disponível",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Nenhuma resposta automática do WhatsApp disponível",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Nenhum dispositivo WhatsApp disponível",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Nenhuma conta WhatsApp disponível",
-    "OF": "do",
-    "OPENED": "Aberto",
-    "PAGE": "Página",
-    "PARTIALPAUSE": "Pausa Parcial",
-    "PAUSE": "Pausa",
-    "PAUSED": "Em pausa",
-    "PAUSE_TIME": "Tempo de pausa",
-    "PHONE": "telefone",
-    "PRIORITY": "Prioridade",
-    "PROXY": "Proxy",
-    "QUEUE": "Fila",
-    "QUEUES": "Filas",
-    "QUEUETRANSFER": "Transferência de fila",
-    "QUEUETRANSFERTIMEOUT": "Tempo limite de transferência da fila",
-    "READY": "pronto",
-    "REALTIME": "Tempo real",
-    "RECEIVEURL": "Receber URL",
-    "REFRESH_INTERACTIONS": "Atualizar interações",
     "REMOTE": "Controlo remoto",
-    "ROWSPERPAGE": "Linhas por página",
-    "SAVE": "Salve ",
-    "SCREENRECORDING": "Gerenciar gravação de tela",
-    "SEARCH_FOR_ANYONE": "Procurar",
-    "SECRETACCESSKEY": "Chave secreta de acesso",
-    "SELECTED": "Selecionado",
-    "SELECTED_AGENTS": "Agentes Selecionados",
-    "SELECTED_TEAMS": "Times Selecionados",
-    "SELECT_ALL": "Selecionar tudo",
-    "SELECT_NONE": "Selecione nenhum",
-    "SEND": "Enviar",
-    "SETTINGS": "Configurações",
-    "SPYINTERACTION": "Interação de espião",
-    "STARTEDAT": "Começou às",
-    "START_SCREENRECORDING": "Iniciar gravação de tela",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Parar a gravação da tela",
-    "STRATEGY": "Estratégia",
-    "SYSTEM": "Sistema",
-    "TAG": "Tag",
-    "TAGS": "Tag",
     "TEAMADD_WHATSAPPQUEUE": "Adicionar equipe à fila do WhatsApp",
-    "TEAMS_ASSOCIATION": "Associação de equipes",
-    "TEXT": "Texto",
-    "TIMEOUT": "Tempo esgotado",
-    "TIMER": "Cronômetro",
-    "TIMES": "Vezes",
-    "TO": "Para",
-    "TOKEN": "Símbolo",
-    "TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
-    "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
-    "TRANSFER": "Transferir",
-    "TRUEPRIORITY": "Verdadeira prioridade",
-    "TYPE": "Tipo",
-    "UNPAUSE": "Fim da pausa",
-    "VALUE": "Valor",
-    "VARIABLE": "Variável",
-    "WAITFORTHEASSIGNEDAGENT": "Espere pelo agente atribuído",
-    "WAITING": "Esperando",
-    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
-    "WHATSAPP": "Conector WhatsApp",
     "WHATSAPPACCOUNTS": "Contas WhatsApp",
     "WHATSAPPCANNEDANSWERS": "Respostas predeterminadas do WhatsApp",
     "WHATSAPPDISPOSITIONS": "Dispositivos do WhatsApp",
diff --git a/public/app/main/apps/whatsapp/i18n/ru.json b/public/app/main/apps/whatsapp/i18n/ru.json
index 42e7b61..ada34d3 100644
--- a/public/app/main/apps/whatsapp/i18n/ru.json
+++ b/public/app/main/apps/whatsapp/i18n/ru.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Обязательное поле",
-      "ACCOUNTSID_REQUIRED": "Обязательное поле",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "AGENT_REQUIRED": "Обязательное поле",
-      "AGENT_TIMEOUT_REQUIRED": "Обязательное поле",
-      "AUTHTOKEN_REQUIRED": "Обязательное поле",
-      "BOTNAME_REQUIRED": "Обязательное поле",
-      "COMMAND_REQUIRED": "Обязательное поле",
-      "CONDITION_REQUIRED": "Обязательное поле",
       "DESCRIPTION_REQUIRED": "Обязательное поле",
-      "DISPOSITION_REQUIRED": "Обязательное поле",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "FALSEPRIORITY_REQUIRED": "Обязательное поле",
-      "KEY_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}.",
-      "KEY_REQUIRED": "Обязательное поле",
       "LANGUAGE_REQUIRED": "Обязательное поле",
       "LEXREGION_REQUIRED": "Обязательное поле",
-      "LIST_REQUIRED": "Обязательное поле",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле",
-      "NAME_REQUIRED": "Обязательное поле",
-      "PHONE_REQUIRED": "Обязательное поле",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "PRIORITY_REQUIRED": "Обязательное поле",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
-      "QUEUE_REQUIRED": "Обязательное поле",
-      "SECRETACCESSKEY_REQUIRED": "Обязательное поле",
-      "TAG_REQUIRED": "Обязательное поле",
-      "TEXT_REQUIRED": "Обязательное поле",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "TIMEOUT_REQUIRED": "Обязательное поле",
       "TIMES_REQUIRED": "Обязательное поле",
-      "TOKEN_REQUIRED": "Обязательное поле",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "TRUEPRIORITY_REQUIRED": "Обязательное поле",
-      "TYPE_REQUIRED": "Обязательное поле",
-      "VALUE_REQUIRED": "Обязательное поле",
       "VARIABLE_REQUIRED": "Обязательное поле",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Обязательное поле",
       "WELCOMEMESSAGE_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}.",
       "WELCOMEMESSAGE_REQUIRED": "Обязательное поле"
     },
-    "HELP": {
-      "LIST": "Список диспетчера контактов, используемый для связывания контактов",
-      "MANDATORYDISPOSITION": "Обязательное распоряжение",
-      "MANDATORYDISPOSITIONPAUSEID": "Приостановить использование, когда включено обязательное удаление",
-      "MOTIONPROXY": "Поле должно иметь следующий формат: <протокол>: // <IP-адрес> [: <порт>]. Пример: https: //X.Y.Z.W",
-      "NAME": "Поддерживаются только цифры, буквы и определенные символы (._).",
-      "RECEIVEURL": "Это автоматически сгенерированная строка API, которую необходимо использовать для получения сообщений внутри вашей учетной записи от поставщика коннектора WhatsApp (необходимо использовать метод POST): нажмите кнопку буфера обмена, чтобы скопировать ее",
-      "WELCOMEMESSAGE": "Это первое ответное сообщение, отправленное на новые взаимодействия"
-    },
-    "ACCESSKEYID": "Идентификатор ключа доступа",
-    "ACCOUNTSID": "SID аккаунта",
-    "ACTIONS": "действия",
-    "ADD_NOTE": "Добавить заметку",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Добавить",
     "ADD_WHATSAPPCANNEDANSWER": "Добавить шаблон ответа",
     "ADD_WHATSAPPDISPOSITION": "Добавить расположение WhatsApp",
     "ADD_WHATSAPPQUEUE": "Добавить очередь WhatsApp",
-    "ADVANCED": "продвинутый",
-    "AGENT": "агент",
     "AGENTADD_QUEUE": "Добавить агента в очередь WhatsApp",
     "AGENTADD_WHATSAPPACCOUNT": "Добавить агента в учетную запись WhatsApp",
     "AGENTADD_WHATSAPPQUEUE": "Добавить агента в очередь WhatsApp",
-    "AGENTS": "Агенты",
-    "AGENTSADD_QUEUE": "Добавить агентов в очередь WhatsApp",
-    "AGENTTRANSFER": "Перенос агента",
-    "AGENTTRANSFERTIMEOUT": "Тайм-аут передачи агента",
-    "AGENT_TIMEOUT": "Тайм-аут агента",
-    "ALL": "Все",
-    "ALL_AGENTS": "Все агенты",
-    "ALL_TEAMS": "Все команды",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Токен аутентификации",
-    "AUTOREPLY": "Автоответчик",
-    "BACK": "назад",
-    "BOTNAME": "Имя бота",
-    "BUSY": "Занятый",
-    "CANNEDANSWERS": "Готовые ответы",
-    "CANNED_ANSWER_NOT_FOUND": "Шаблонных ответов не найдено",
-    "CANNED_ANSWER_SEARCH": "Введите текст для поиска в шаблонном ответе",
-    "CAPACITY": "Вместимость",
-    "CLOSE": "близко",
-    "CLOSED": "Закрыто",
-    "CLOSEMETHOD": "Метод закрытия",
-    "CLOSEURL": "Закрыть URL",
-    "COMMAND": "команда",
-    "CONDITION": "Состояние",
-    "CONTACT": "контакт",
-    "CREATED_AT": "Создано на",
-    "DEFAULT_PAUSE": "ПАУЗА ПО УМОЛЧАНИЮ",
-    "DELETE": "Удалить",
-    "DELETE_INTERACTION": "Удалить взаимодействие",
-    "DELETE_SELECTED": "Удалить выбранное",
     "DELETE_WHATSAPPACCOUNT": "Удалить учетную запись WhatsApp",
     "DELETE_WHATSAPPCANNEDANSWER": "Исключен",
     "DELETE_WHATSAPPDISPOSITION": "Удалить расположение WhatsApp",
     "DELETE_WHATSAPPQUEUE": "Удалить очередь WhatsApp",
-    "DESCRIPTION": "Описание",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "диспозиция",
-    "DISPOSITIONS": "Распоряжения",
-    "DOWNLOAD_INTERACTION": "Скачать",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Скачать без вложений",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Скачать с вложениями",
-    "EDIT_AGENT": "Редактировать агент",
-    "EDIT_AMAZONLEX": "Изменить конфигурацию Lex",
-    "EDIT_AUTOREPLY": "Редактировать автоматический ответ",
-    "EDIT_CLOSE": "Редактировать Закрыть",
-    "EDIT_DIALOGFLOW": "Изменить конфигурацию DialogFlow",
-    "EDIT_GOTOIF": "Изменить Gotoif",
-    "EDIT_GOTOP": "Изменить Gotop",
-    "EDIT_NOOP": "Редактировать Noop",
-    "EDIT_QUEUE": "Изменить очередь",
-    "EDIT_SYSTEM": "Изменить систему",
-    "EDIT_TAG": "Изменить тег",
     "EDIT_WHATSAPPACCOUNT": "Редактировать учетную запись WhatsApp",
     "EDIT_WHATSAPPCANNEDANSWER": "редактировать",
     "EDIT_WHATSAPPDISPOSITION": "Изменить расположение WhatsApp",
     "EDIT_WHATSAPPQUEUE": "Изменить очередь WhatsApp",
-    "FALSEPRIORITY": "Ложный приоритет",
-    "GENERAL": "Общее",
-    "GOTOIF": "GotoIf",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Перейти в очередь WhatsApp в реальном времени",
     "GO_TO_WHATSAPPACCOUNTS": "Перейти к учетной записи",
-    "ID": "Мне бы",
-    "IDLE": "вхолостую",
-    "INSERT_MESSAGE_HERE": "Вставьте сообщение сюда",
-    "INTERACTIONS": "взаимодействия",
     "INTERACTIONS_WHATSAPPACCOUNT": "Перейти к взаимодействиям",
-    "KEY": "ключ",
-    "LANGUAGE": "язык",
-    "LASTMESSAGE": "Последнее сообщение",
-    "LEXREGION": "Область",
-    "LIST": "Список",
-    "LOGGED_IN": "Авторизован (SIP подключен)",
-    "LOGIN_TIME": "Время входа",
-    "LOGOUT": "Выйти",
-    "MANDATORYDISPOSITION": "Обязательное распоряжение",
-    "MANDATORYDISPOSITIONPAUSEID": "Приостановить использование, когда включено обязательное удаление",
-    "MORE": "Больше",
-    "MOTIONPROXY": "Прокси или домен движения",
     "MULTI_SELECT_TOGGLE": "Переключатель множественного выбора",
-    "NAME": "название",
     "NEW_WHATSAPPACCOUNT": "Новая учетная запись WhatsApp",
     "NEW_WHATSAPPCANNEDANSWER": "Новый готовый ответ WhatsApp",
     "NEW_WHATSAPPDISPOSITION": "Новое расположение WhatsApp",
     "NEW_WHATSAPPQUEUE": "Новая очередь WhatsApp",
-    "NOOP": "Noop",
-    "NOTE": "Заметка",
-    "NOTIFICATION": "уведомление",
-    "NOTIFICATIONSHAKE": "Встряска",
-    "NOTIFICATIONSOUND": "Звук",
-    "NOTIFICATIONTEMPLATE": "шаблон",
-    "NO_AGENT_ONLINE": "Нет агента онлайн",
-    "NO_AVAILABLE_INFO": "Нет доступной информации",
-    "NO_INTERACTION_AVAILABLE": "Нет доступных взаимодействий",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Нет готовых ответов WhatsApp",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Нет доступных диспозиций WhatsApp",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Нет доступных учетных записей WhatsApp",
-    "OF": "из",
-    "OPENED": "открытый",
-    "PAGE": "страница",
-    "PARTIALPAUSE": "Частичная пауза",
-    "PAUSE": "Пауза",
-    "PAUSED": "Приостановлено",
-    "PAUSE_TIME": "Время паузы",
-    "PHONE": "Телефон",
-    "PRIORITY": "приоритет",
-    "PROXY": "полномочие",
-    "QUEUE": "Очередь",
-    "QUEUES": "Очереди",
-    "QUEUETRANSFER": "Передача очереди",
-    "QUEUETRANSFERTIMEOUT": "Тайм-аут передачи очереди",
-    "READY": "готов",
-    "REALTIME": "в режиме реального времени",
-    "RECEIVEURL": "Получить URL",
-    "REFRESH_INTERACTIONS": "Обновить взаимодействия",
     "REMOTE": "Удаленный",
-    "ROWSPERPAGE": "Строк на странице",
-    "SAVE": "Сохранить",
-    "SCREENRECORDING": "Управление записью экрана",
-    "SEARCH_FOR_ANYONE": "Поиск",
-    "SECRETACCESSKEY": "Секрет ключа доступа",
-    "SELECTED": "выбранный",
-    "SELECTED_AGENTS": "Избранные агенты",
-    "SELECTED_TEAMS": "Избранные команды",
-    "SELECT_ALL": "Выбрать все",
-    "SELECT_NONE": "Ничего не выберите",
-    "SEND": "послать",
-    "SETTINGS": "настройки",
-    "SPYINTERACTION": "Шпионское взаимодействие",
-    "STARTEDAT": "Начато в",
-    "START_SCREENRECORDING": "Начать запись экрана",
-    "STATUS": "Положение дел",
-    "STOP_SCREENRECORDING": "Остановить запись экрана",
-    "STRATEGY": "стратегия",
-    "SYSTEM": "система",
-    "TAG": "Тег",
-    "TAGS": "Теги",
     "TEAMADD_WHATSAPPQUEUE": "Добавить команду в очередь WhatsApp",
-    "TEAMS_ASSOCIATION": "Ассоциация команд",
-    "TEXT": "Текст",
-    "TIMEOUT": "Тайм-аут",
-    "TIMER": "таймер",
-    "TIMES": "раз",
-    "TO": "к",
-    "TOKEN": "знак",
-    "TOOLTIP_SCREENRECORDING_OFF": "Доступна запись экрана",
-    "TOOLTIP_SCREENRECORDING_ON": "Выполняется запись экрана",
-    "TRANSFER": "Перевод",
-    "TRUEPRIORITY": "Истинный приоритет",
-    "TYPE": "Тип",
-    "UNPAUSE": "Конец паузы",
-    "VALUE": "Стоимость",
-    "VARIABLE": "переменная",
-    "WAITFORTHEASSIGNEDAGENT": "Подождите, пока назначенный агент",
-    "WAITING": "Ожидание",
-    "WELCOMEMESSAGE": "Приветствие",
-    "WHATSAPP": "Коннектор WhatsApp",
     "WHATSAPPACCOUNTS": "Аккаунты WhatsApp",
     "WHATSAPPCANNEDANSWERS": "Готовые ответы WhatsApp",
     "WHATSAPPDISPOSITIONS": "WhatsApp Диспозиции",
diff --git a/public/app/main/apps/whatsapp/i18n/sv.json b/public/app/main/apps/whatsapp/i18n/sv.json
index 8324e4f..e27a5c3 100644
--- a/public/app/main/apps/whatsapp/i18n/sv.json
+++ b/public/app/main/apps/whatsapp/i18n/sv.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Obligatoriskt fält",
-      "ACCOUNTSID_REQUIRED": "Obligatoriskt fält",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "AGENT_REQUIRED": "Obligatoriskt fält",
-      "AGENT_TIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "AUTHTOKEN_REQUIRED": "Obligatoriskt fält",
-      "BOTNAME_REQUIRED": "Obligatoriskt fält",
-      "COMMAND_REQUIRED": "Obligatoriskt fält",
-      "CONDITION_REQUIRED": "Obligatoriskt fält",
       "DESCRIPTION_REQUIRED": "Obligatoriskt fält",
-      "DISPOSITION_REQUIRED": "Obligatoriskt fält",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
-      "FALSEPRIORITY_REQUIRED": "Obligatoriskt fält",
-      "KEY_MAX_LENGTH": "Värdet måste ha en maximal längd lika med {{max}}",
-      "KEY_REQUIRED": "Obligatoriskt fält",
       "LANGUAGE_REQUIRED": "Mandtory Field",
       "LEXREGION_REQUIRED": "Obligatoriskt fält",
-      "LIST_REQUIRED": "Obligatoriskt fält",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält",
-      "NAME_REQUIRED": "Obligatoriskt fält",
-      "PHONE_REQUIRED": "Obligatoriskt fält",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
-      "PRIORITY_REQUIRED": "Obligatoriskt fält",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
-      "QUEUE_REQUIRED": "Obligatoriskt fält",
-      "SECRETACCESSKEY_REQUIRED": "Obligatoriskt fält",
-      "TAG_REQUIRED": "Obligatoriskt fält",
-      "TEXT_REQUIRED": "Obligatoriskt fält",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
-      "TIMEOUT_REQUIRED": "Obligatoriskt fält",
       "TIMES_REQUIRED": "Obligatoriskt fält",
-      "TOKEN_REQUIRED": "Obligatoriskt fält",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
-      "TRUEPRIORITY_REQUIRED": "Obligatoriskt fält",
-      "TYPE_REQUIRED": "Obligatoriskt fält",
-      "VALUE_REQUIRED": "Obligatoriskt fält",
       "VARIABLE_REQUIRED": "Obligatoriskt fält",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större eller lika än",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre eller lika mycket än",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriskt fält",
       "WELCOMEMESSAGE_MAX_LENGTH": "Värdet måste ha en maximal längd lika med {{max}}",
       "WELCOMEMESSAGE_REQUIRED": "Obligatoriskt fält"
     },
-    "HELP": {
-      "LIST": "Lista över kontakthanterare som används för att koppla kontakter",
-      "MANDATORYDISPOSITION": "Obligatorisk disposition",
-      "MANDATORYDISPOSITIONPAUSEID": "Pausa för användning när obligatorisk disposition är aktiverad",
-      "MOTIONPROXY": "Fältet måste ha följande format: <protokoll>: // <adressadress> [: <port>]. Exempel: https: //X.Y.Z.W",
-      "NAME": "Endast siffror, bokstäver och specifika tecken (._) stöds",
-      "RECEIVEURL": "Det här är den auto-genererade API-strängen du behöver använda för att ta emot meddelandena i ditt konto från din WhatsApp Connector-leverantör (POST-metoden måste användas): klicka på urklippsknappen för att kopiera den",
-      "WELCOMEMESSAGE": "Detta är det första svarmeddelandet som skickas till nya interaktioner"
-    },
-    "ACCESSKEYID": "Åtkomstnyckel-ID",
-    "ACCOUNTSID": "Konto SID",
-    "ACTIONS": "Handlingar",
-    "ADD_NOTE": "Lägg till anteckning",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Lägg till",
     "ADD_WHATSAPPCANNEDANSWER": "Lägg till konserverat svar",
     "ADD_WHATSAPPDISPOSITION": "Lägg till WhatsApp Disposition",
     "ADD_WHATSAPPQUEUE": "Lägg till WhatsApp-kön",
-    "ADVANCED": "Avancerad",
-    "AGENT": "Ombud",
     "AGENTADD_QUEUE": "Lägg till agent i WhatsApp-kö",
     "AGENTADD_WHATSAPPACCOUNT": "Lägg till agent till WhatsApp-konto",
     "AGENTADD_WHATSAPPQUEUE": "Lägg till agent i WhatsApp-kö",
-    "AGENTS": "agenter",
-    "AGENTSADD_QUEUE": "Lägg till agenter i WhatsApp-kön",
-    "AGENTTRANSFER": "Agentöverföring",
-    "AGENTTRANSFERTIMEOUT": "Agentöverföring Timeout",
-    "AGENT_TIMEOUT": "Agent Timeout",
-    "ALL": "Allt",
-    "ALL_AGENTS": "Alla ombud",
-    "ALL_TEAMS": "Alla lag",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Autentisk symbol",
-    "AUTOREPLY": "Auto-svar",
-    "BACK": "Tillbaka",
-    "BOTNAME": "Bot Namn",
-    "BUSY": "Upptagen",
-    "CANNEDANSWERS": "Konserverade svar",
-    "CANNED_ANSWER_NOT_FOUND": "Inga konserverade svar hittades",
-    "CANNED_ANSWER_SEARCH": "Ange en text för att söka i ett konserverat svar",
-    "CAPACITY": "Kapacitet",
-    "CLOSE": "Stänga",
-    "CLOSED": "Stängd",
-    "CLOSEMETHOD": "Stäng metod",
-    "CLOSEURL": "Stäng URL",
-    "COMMAND": "Kommando",
-    "CONDITION": "Tillstånd",
-    "CONTACT": "Kontakt",
-    "CREATED_AT": "Skapad vid",
-    "DEFAULT_PAUSE": "DEFAULT PAUSE",
-    "DELETE": "Radera",
-    "DELETE_INTERACTION": "Radera interaktion",
-    "DELETE_SELECTED": "Radera valda",
     "DELETE_WHATSAPPACCOUNT": "Radera WhatsApp-konto",
     "DELETE_WHATSAPPCANNEDANSWER": "raderade",
     "DELETE_WHATSAPPDISPOSITION": "Radera WhatsApp-disposition",
     "DELETE_WHATSAPPQUEUE": "Radera WhatsApp-kö",
-    "DESCRIPTION": "Beskrivning",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "Disposition",
-    "DISPOSITIONS": "dispositioner",
-    "DOWNLOAD_INTERACTION": "Ladda ner",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Ladda ner utan bilagor",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Ladda ner med bilagor",
-    "EDIT_AGENT": "Redigera agent",
-    "EDIT_AMAZONLEX": "Redigera Lex-konfiguration",
-    "EDIT_AUTOREPLY": "Redigera autosvar",
-    "EDIT_CLOSE": "Redigera stäng",
-    "EDIT_DIALOGFLOW": "Redigera DialogFlow-konfiguration",
-    "EDIT_GOTOIF": "Redigera Gotoif",
-    "EDIT_GOTOP": "Redigera Gotop",
-    "EDIT_NOOP": "Redigera Noop",
-    "EDIT_QUEUE": "Redigera kö",
-    "EDIT_SYSTEM": "Redigera system",
-    "EDIT_TAG": "Redigera tagg",
     "EDIT_WHATSAPPACCOUNT": "Redigera WhatsApp-konto",
     "EDIT_WHATSAPPCANNEDANSWER": "Redigera",
     "EDIT_WHATSAPPDISPOSITION": "Redigera WhatsApp Disposition",
     "EDIT_WHATSAPPQUEUE": "Redigera WhatsApp-kö",
-    "FALSEPRIORITY": "Falsk prioritet",
-    "GENERAL": "Allmän",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Gå till realtid WhatsApp-kö",
     "GO_TO_WHATSAPPACCOUNTS": "Gå till konto",
-    "ID": "Id",
-    "IDLE": "På tomgång",
-    "INSERT_MESSAGE_HERE": "Sätt in meddelandet här",
-    "INTERACTIONS": "interaktioner",
     "INTERACTIONS_WHATSAPPACCOUNT": "Gå till interaktioner",
-    "KEY": "Nyckel",
-    "LANGUAGE": "Språk",
-    "LASTMESSAGE": "Senaste meddelandet",
-    "LEXREGION": "Område",
-    "LIST": "Lista",
-    "LOGGED_IN": "Inloggad (SIP ansluten)",
-    "LOGIN_TIME": "Inloggningstid",
-    "LOGOUT": "Logga ut",
-    "MANDATORYDISPOSITION": "Obligatorisk disposition",
-    "MANDATORYDISPOSITIONPAUSEID": "Pausa för användning när obligatorisk disposition är aktiverad",
-    "MORE": "Mer",
-    "MOTIONPROXY": "Proxy- eller rörelsedomän",
     "MULTI_SELECT_TOGGLE": "Multivalsväxel",
-    "NAME": "namn",
     "NEW_WHATSAPPACCOUNT": "Nytt WhatsApp-konto",
     "NEW_WHATSAPPCANNEDANSWER": "Nytt WhatsApp konserverat svar",
     "NEW_WHATSAPPDISPOSITION": "Ny WhatsApp-disposition",
     "NEW_WHATSAPPQUEUE": "Ny WhatsApp-kö",
-    "NOOP": "Noop",
-    "NOTE": "Notera",
-    "NOTIFICATION": "Underrättelse",
-    "NOTIFICATIONSHAKE": "Skaka",
-    "NOTIFICATIONSOUND": "Ljud",
-    "NOTIFICATIONTEMPLATE": "Mall",
-    "NO_AGENT_ONLINE": "Ingen agent online",
-    "NO_AVAILABLE_INFO": "Ingen tillgänglig information",
-    "NO_INTERACTION_AVAILABLE": "Inga interaktioner tillgängliga",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "Inga WhatsApp-konserverade svar tillgängliga",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Inga WhatsApp-dispositioner tillgängliga",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "Inga WhatsApp-konton tillgängliga",
-    "OF": "av",
-    "OPENED": "Öppnad",
-    "PAGE": "Sida",
-    "PARTIALPAUSE": "Partiell paus",
-    "PAUSE": "Paus",
-    "PAUSED": "Pausad",
-    "PAUSE_TIME": "Pausa tid",
-    "PHONE": "Telefon",
-    "PRIORITY": "Prioritet",
-    "PROXY": "Ombud",
-    "QUEUE": "Kö",
-    "QUEUES": "köer",
-    "QUEUETRANSFER": "Kööverföring",
-    "QUEUETRANSFERTIMEOUT": "Timeout för kööverföring",
-    "READY": "Redo",
-    "REALTIME": "Realtid",
-    "RECEIVEURL": "Få URL",
-    "REFRESH_INTERACTIONS": "Uppdatera interaktioner",
     "REMOTE": "Avlägsen",
-    "ROWSPERPAGE": "Rader per sida",
-    "SAVE": "Spara",
-    "SCREENRECORDING": "Hantera skärminspelning",
-    "SEARCH_FOR_ANYONE": "Sök",
-    "SECRETACCESSKEY": "Åtkomstnyckelhemlighet",
-    "SELECTED": "Vald",
-    "SELECTED_AGENTS": "Valda medel",
-    "SELECTED_TEAMS": "Valda lag",
-    "SELECT_ALL": "Välj alla",
-    "SELECT_NONE": "Välj ingen",
-    "SEND": "Skicka",
-    "SETTINGS": "inställningar",
-    "SPYINTERACTION": "Spioninteraktion",
-    "STARTEDAT": "Började kl",
-    "START_SCREENRECORDING": "Starta skärminspelning",
-    "STATUS": "Status",
-    "STOP_SCREENRECORDING": "Stop Screen Inspelning",
-    "STRATEGY": "Strategi",
-    "SYSTEM": "Systemet",
-    "TAG": "Märka",
-    "TAGS": "Tags",
     "TEAMADD_WHATSAPPQUEUE": "Lägg till team i WhatsApp-kö",
-    "TEAMS_ASSOCIATION": "Team Association",
-    "TEXT": "Text",
-    "TIMEOUT": "Paus",
-    "TIMER": "Timer",
-    "TIMES": "Times",
-    "TO": "Till",
-    "TOKEN": "Tecken",
-    "TOOLTIP_SCREENRECORDING_OFF": "Skärminspelning tillgänglig",
-    "TOOLTIP_SCREENRECORDING_ON": "Skärminspelning pågår",
-    "TRANSFER": "Överföra",
-    "TRUEPRIORITY": "Sann prioritet",
-    "TYPE": "Typ",
-    "UNPAUSE": "Slutpaus",
-    "VALUE": "Värde",
-    "VARIABLE": "Variabel",
-    "WAITFORTHEASSIGNEDAGENT": "Vänta på den tilldelade agenten",
-    "WAITING": "Väntar",
-    "WELCOMEMESSAGE": "Välkomstmeddelande",
-    "WHATSAPP": "WhatsApp-anslutning",
     "WHATSAPPACCOUNTS": "WhatsApp-konton",
     "WHATSAPPCANNEDANSWERS": "WhatsApp konserverade svar",
     "WHATSAPPDISPOSITIONS": "WhatsApp-dispositioner",
diff --git a/public/app/main/apps/whatsapp/i18n/tr.json b/public/app/main/apps/whatsapp/i18n/tr.json
index 59a7cb8..aba2a45 100644
--- a/public/app/main/apps/whatsapp/i18n/tr.json
+++ b/public/app/main/apps/whatsapp/i18n/tr.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "Zorunlu alan",
-      "ACCOUNTSID_REQUIRED": "Zorunlu alan",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "AGENT_REQUIRED": "Zorunlu alan",
-      "AGENT_TIMEOUT_REQUIRED": "Zorunlu alan",
-      "AUTHTOKEN_REQUIRED": "Zorunlu alan",
-      "BOTNAME_REQUIRED": "Zorunlu alan",
-      "COMMAND_REQUIRED": "Zorunlu alan",
-      "CONDITION_REQUIRED": "Zorunlu alan",
       "DESCRIPTION_REQUIRED": "Zorunlu alan",
-      "DISPOSITION_REQUIRED": "Zorunlu alan",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
-      "FALSEPRIORITY_REQUIRED": "Zorunlu alan",
-      "KEY_MAX_LENGTH": "Değerin maksimum uzunluğu {{max}} olmalıdır",
-      "KEY_REQUIRED": "Zorunlu alan",
       "LANGUAGE_REQUIRED": "Zorunlu Alan",
       "LEXREGION_REQUIRED": "Zorunlu alan",
-      "LIST_REQUIRED": "Zorunlu alan",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan",
-      "NAME_REQUIRED": "Zorunlu alan",
-      "PHONE_REQUIRED": "Zorunlu alan",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
-      "PRIORITY_REQUIRED": "Zorunlu alan",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
-      "QUEUE_REQUIRED": "Zorunlu alan",
-      "SECRETACCESSKEY_REQUIRED": "Zorunlu alan",
-      "TAG_REQUIRED": "Zorunlu alan",
-      "TEXT_REQUIRED": "Zorunlu alan",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
-      "TIMEOUT_REQUIRED": "Zorunlu alan",
       "TIMES_REQUIRED": "Zorunlu alan",
-      "TOKEN_REQUIRED": "Zorunlu alan",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
-      "TRUEPRIORITY_REQUIRED": "Zorunlu alan",
-      "TYPE_REQUIRED": "Zorunlu alan",
-      "VALUE_REQUIRED": "Zorunlu alan",
       "VARIABLE_REQUIRED": "Zorunlu alan",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer daha büyük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer şundan küçük veya eşit olmalıdır",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Zorunlu alan",
       "WELCOMEMESSAGE_MAX_LENGTH": "Değerin maksimum uzunluğu {{max}} olmalıdır",
       "WELCOMEMESSAGE_REQUIRED": "Zorunlu alan"
     },
-    "HELP": {
-      "LIST": "Kişileri ilişkilendirmek için kullanılan Kişi Yöneticisi listesi",
-      "MANDATORYDISPOSITION": "Zorunlu tasarruf",
-      "MANDATORYDISPOSITIONPAUSEID": "Zorunlu elden çıkarma etkinleştirildiğinde kullanmak için duraklatın",
-      "MOTIONPROXY": "Alan şu biçime sahip olmalıdır: <protokol>: // <ipaddress> [: <port>]. Örnek: https: //X.Y.Z.W",
-      "NAME": "Yalnızca sayılar, harfler ve belirli karakterler (._) desteklenir",
-      "RECEIVEURL": "Bu, hesabınızın içindeki mesajları WhatsApp Bağlayıcı sağlayıcınızdan almak için kullanmanız gereken otomatik oluşturulan API dizesidir (POST yöntemi kullanılmalıdır): kopyalamak için pano düğmesine tıklayın",
-      "WELCOMEMESSAGE": "Bu, yeni etkileşimlere gönderilen ilk yanıt mesajıdır"
-    },
-    "ACCESSKEYID": "Erişim Anahtarı Kimliği",
-    "ACCOUNTSID": "Hesap SID'si",
-    "ACTIONS": "Hareketler",
-    "ADD_NOTE": "Not ekle",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "Ekle",
     "ADD_WHATSAPPCANNEDANSWER": "Hazır Cevap Ekle",
     "ADD_WHATSAPPDISPOSITION": "WhatsApp Disposition Ekle",
     "ADD_WHATSAPPQUEUE": "WhatsApp kuyruğu ekle",
-    "ADVANCED": "ileri",
-    "AGENT": "ajan",
     "AGENTADD_QUEUE": "WhatsApp Sırasına Ajan Ekle",
     "AGENTADD_WHATSAPPACCOUNT": "WhatsApp Hesabına Temsilci Ekle",
     "AGENTADD_WHATSAPPQUEUE": "WhatsApp Sırasına Ajan Ekle",
-    "AGENTS": "Ajanlar",
-    "AGENTSADD_QUEUE": "Temsilcileri WhatsApp kuyruğuna ekleyin",
-    "AGENTTRANSFER": "Acente Transferi",
-    "AGENTTRANSFERTIMEOUT": "Temsilci Aktarım Zaman Aşımı",
-    "AGENT_TIMEOUT": "Aracı Zaman Aşımı",
-    "ALL": "Herşey",
-    "ALL_AGENTS": "Tüm Temsilciler",
-    "ALL_TEAMS": "Tüm Takımlar",
-    "AMAZONLEX": "AmazonLex",
     "AUTHTOKEN": "Yetkilendirme Jetonu",
-    "AUTOREPLY": "Otomatik cevap",
-    "BACK": "Geri",
-    "BOTNAME": "Bot Adı",
-    "BUSY": "Meşgul",
-    "CANNEDANSWERS": "Hazır Cevaplar",
-    "CANNED_ANSWER_NOT_FOUND": "Hazır Cevap bulunamadı",
-    "CANNED_ANSWER_SEARCH": "Hazır Yanıtı aramak için bir metin girin",
-    "CAPACITY": "Kapasite",
-    "CLOSE": "Kapat",
-    "CLOSED": "Kapalı",
-    "CLOSEMETHOD": "Kapatma Yöntemi",
-    "CLOSEURL": "URL'yi kapat",
-    "COMMAND": "komuta",
-    "CONDITION": "Durum",
-    "CONTACT": "İletişim",
-    "CREATED_AT": "Tarihinde oluşturuldu",
-    "DEFAULT_PAUSE": "VARSAYILAN DURAKLAT",
-    "DELETE": "Sil",
-    "DELETE_INTERACTION": "Etkileşimi Sil",
-    "DELETE_SELECTED": "Silme seçildi",
     "DELETE_WHATSAPPACCOUNT": "WhatsApp Hesabını Sil",
     "DELETE_WHATSAPPCANNEDANSWER": "silindi",
     "DELETE_WHATSAPPDISPOSITION": "WhatsApp Disposition'ı Sil",
     "DELETE_WHATSAPPQUEUE": "WhatsApp Sırasını Sil",
-    "DESCRIPTION": "Açıklama",
-    "DIALOGFLOW": "DialogFlow",
-    "DISPOSITION": "eğilim",
-    "DISPOSITIONS": "plânlar",
-    "DOWNLOAD_INTERACTION": "İndir",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Ekler Olmadan İndir",
-    "DOWNLOAD_WITH_ATTACHMENTS": "Eklerle İndir",
-    "EDIT_AGENT": "Aracıyı Düzenle",
-    "EDIT_AMAZONLEX": "Lex yapılandırmasını düzenleyin",
-    "EDIT_AUTOREPLY": "Otomatik Yanıtı Düzenle",
-    "EDIT_CLOSE": "Düzenle Kapat",
-    "EDIT_DIALOGFLOW": "DialogFlow yapılandırmasını düzenle",
-    "EDIT_GOTOIF": "Gotoif'i Düzenle",
-    "EDIT_GOTOP": "Gotop'u Düzenle",
-    "EDIT_NOOP": "Noop'u Düzenle",
-    "EDIT_QUEUE": "Kuyruğu Düzenle",
-    "EDIT_SYSTEM": "Sistemi Düzenle",
-    "EDIT_TAG": "Etiketi düzenle",
     "EDIT_WHATSAPPACCOUNT": "WhatsApp Hesabını Düzenle",
     "EDIT_WHATSAPPCANNEDANSWER": "Düzenle",
     "EDIT_WHATSAPPDISPOSITION": "WhatsApp Disposition'ı Düzenle",
     "EDIT_WHATSAPPQUEUE": "WhatsApp Sırasını Düzenle",
-    "FALSEPRIORITY": "Yanlış Öncelik",
-    "GENERAL": "Genel",
-    "GOTOIF": "Gotoif",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "Gerçek Zamanlı WhatsApp Sırasına Git",
     "GO_TO_WHATSAPPACCOUNTS": "Hesaba Git",
-    "ID": "İD",
-    "IDLE": "Boşta",
-    "INSERT_MESSAGE_HERE": "Buraya mesaj ekleyin",
-    "INTERACTIONS": "Etkileşimler",
     "INTERACTIONS_WHATSAPPACCOUNT": "Etkileşimler'e git",
-    "KEY": "anahtar",
-    "LANGUAGE": "Dil",
-    "LASTMESSAGE": "Son Mesaj",
-    "LEXREGION": "bölge",
-    "LIST": "Liste",
-    "LOGGED_IN": "Oturum Açıldı (SIP Bağlı)",
-    "LOGIN_TIME": "Giriş Zamanı",
-    "LOGOUT": "Çıkış Yap",
-    "MANDATORYDISPOSITION": "Zorunlu Elden Çıkarma",
-    "MANDATORYDISPOSITIONPAUSEID": "Zorunlu elden çıkarma etkinleştirildiğinde kullanmak için duraklatın",
-    "MORE": "Daha",
-    "MOTIONPROXY": "Proxy veya Hareket Etki Alanı",
     "MULTI_SELECT_TOGGLE": "Çoklu seçim geçişi",
-    "NAME": "ad",
     "NEW_WHATSAPPACCOUNT": "Yeni WhatsApp Hesabı",
     "NEW_WHATSAPPCANNEDANSWER": "Yeni WhatsApp Hazır Yanıtı",
     "NEW_WHATSAPPDISPOSITION": "Yeni WhatsApp Düzenleme",
     "NEW_WHATSAPPQUEUE": "Yeni WhatsApp Sırası",
-    "NOOP": "Noop",
-    "NOTE": "Not",
-    "NOTIFICATION": "Bildirim",
-    "NOTIFICATIONSHAKE": "Sallamak",
-    "NOTIFICATIONSOUND": "Ses",
-    "NOTIFICATIONTEMPLATE": "şablon",
-    "NO_AGENT_ONLINE": "Çevrimiçi Temsilci Yok",
-    "NO_AVAILABLE_INFO": "Mevcut Bilgi Yok",
-    "NO_INTERACTION_AVAILABLE": "Kullanılabilir Etkileşim Yok",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "WhatsApp Hazır Cevap Yok",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "Kullanılabilir WhatsApp İmkanı Yok",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "WhatsApp Hesabı yok",
-    "OF": "nın-nin",
-    "OPENED": "Açıldı",
-    "PAGE": "Sayfa",
-    "PARTIALPAUSE": "Kısmi Duraklatma",
-    "PAUSE": "Duraklat",
-    "PAUSED": "Durduruldu",
-    "PAUSE_TIME": "Durma zamanı",
-    "PHONE": "Telefon",
-    "PRIORITY": "öncelik",
-    "PROXY": "vekil",
-    "QUEUE": "kuyruk",
-    "QUEUES": "Kuyruklar",
-    "QUEUETRANSFER": "Kuyruk Transferi",
-    "QUEUETRANSFERTIMEOUT": "Kuyruk Aktarımı Zaman Aşımı",
-    "READY": "hazır",
-    "REALTIME": "Gerçek zaman",
-    "RECEIVEURL": "URL al",
-    "REFRESH_INTERACTIONS": "Etkileşimleri Yenile",
     "REMOTE": "uzak",
-    "ROWSPERPAGE": "Sayfa başına satır",
-    "SAVE": "Kayıt etmek",
-    "SCREENRECORDING": "Ekran Kaydını Yönetin",
-    "SEARCH_FOR_ANYONE": "Arama",
-    "SECRETACCESSKEY": "Erişim anahtarı sırrı",
-    "SELECTED": "seçilmiş",
-    "SELECTED_AGENTS": "Seçilmiş Temsilciler",
-    "SELECTED_TEAMS": "Seçilmiş Takımlar",
-    "SELECT_ALL": "Hepsini seç",
-    "SELECT_NONE": "Hiçbirini Seçme",
-    "SEND": "Gönder",
-    "SETTINGS": "Ayarlar",
-    "SPYINTERACTION": "Casus Etkileşimi",
-    "STARTEDAT": "Başlangıç",
-    "START_SCREENRECORDING": "Ekran Kaydını Başlat",
-    "STATUS": "durum",
-    "STOP_SCREENRECORDING": "Ekran Kaydını Durdur",
-    "STRATEGY": "strateji",
-    "SYSTEM": "sistem",
-    "TAG": "Etiket",
-    "TAGS": "Etiketler",
     "TEAMADD_WHATSAPPQUEUE": "WhatsApp Sırasına Takım Ekle",
-    "TEAMS_ASSOCIATION": "Takımlar Derneği",
-    "TEXT": "Metin",
-    "TIMEOUT": "Zaman aşımı",
-    "TIMER": "kronometre",
-    "TIMES": "Zamanlar",
-    "TO": "için",
-    "TOKEN": "Jeton",
-    "TOOLTIP_SCREENRECORDING_OFF": "Ekran Kaydı mevcut",
-    "TOOLTIP_SCREENRECORDING_ON": "Ekran Kaydı devam ediyor",
-    "TRANSFER": "Aktar",
-    "TRUEPRIORITY": "Gerçek Öncelik",
-    "TYPE": "tip",
-    "UNPAUSE": "Duraklatmayı Bitir",
-    "VALUE": "değer",
-    "VARIABLE": "Değişken",
-    "WAITFORTHEASSIGNEDAGENT": "Atanan temsilciyi bekleyin",
-    "WAITING": "Bekleme",
-    "WELCOMEMESSAGE": "Karşılama mesajı",
-    "WHATSAPP": "WhatsApp Bağlayıcısı",
     "WHATSAPPACCOUNTS": "WhatsApp Hesapları",
     "WHATSAPPCANNEDANSWERS": "WhatsApp Hazır Cevapları",
     "WHATSAPPDISPOSITIONS": "WhatsApp Eğilimleri",
diff --git a/public/app/main/apps/whatsapp/i18n/zh-CN.json b/public/app/main/apps/whatsapp/i18n/zh-CN.json
index 0326698..0fa6194 100644
--- a/public/app/main/apps/whatsapp/i18n/zh-CN.json
+++ b/public/app/main/apps/whatsapp/i18n/zh-CN.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "必填项",
-      "ACCOUNTSID_REQUIRED": "必填项",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填项",
-      "AGENT_REQUIRED": "必填项",
-      "AGENT_TIMEOUT_REQUIRED": "必填项",
-      "AUTHTOKEN_REQUIRED": "必填项",
-      "BOTNAME_REQUIRED": "必填项",
-      "COMMAND_REQUIRED": "必填项",
-      "CONDITION_REQUIRED": "必填项",
       "DESCRIPTION_REQUIRED": "必填项",
-      "DISPOSITION_REQUIRED": "必填项",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "FALSEPRIORITY_REQUIRED": "必填项",
-      "KEY_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
-      "KEY_REQUIRED": "必填项",
       "LANGUAGE_REQUIRED": "强制场",
       "LEXREGION_REQUIRED": "必填项",
-      "LIST_REQUIRED": "必填项",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项",
-      "NAME_REQUIRED": "必填项",
-      "PHONE_REQUIRED": "必填项",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "PRIORITY_REQUIRED": "必填项",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填项",
-      "QUEUE_REQUIRED": "必填项",
-      "SECRETACCESSKEY_REQUIRED": "必填项",
-      "TAG_REQUIRED": "必填项",
-      "TEXT_REQUIRED": "必填项",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "TIMEOUT_REQUIRED": "必填项",
       "TIMES_REQUIRED": "必填项",
-      "TOKEN_REQUIRED": "必填项",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "TRUEPRIORITY_REQUIRED": "必填项",
-      "TYPE_REQUIRED": "必填项",
-      "VALUE_REQUIRED": "必填项",
       "VARIABLE_REQUIRED": "必填项",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填项",
       "WELCOMEMESSAGE_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
       "WELCOMEMESSAGE_REQUIRED": "必填项"
     },
-    "HELP": {
-      "LIST": "用于关联联系人的联系人管理器列表",
-      "MANDATORYDISPOSITION": "强制性",
-      "MANDATORYDISPOSITIONPAUSEID": "启用强制处置后暂停使用",
-      "MOTIONPROXY": "该字段必须具有以下格式：<协议>：// <ipaddress> [：<端口>]。范例：https：//X.Y.Z.W",
-      "NAME": "仅支持数字，字母和特定字符（._）",
-      "RECEIVEURL": "这是自动生成的API字符串，您需要使用它来从WhatsApp Connector提供程序接收帐户内的消息（必须使用POST方法）：单击剪贴板按钮将其复制",
-      "WELCOMEMESSAGE": "这是发送给新交互的第一个响应消息"
-    },
-    "ACCESSKEYID": "访问密钥ID",
-    "ACCOUNTSID": "帐户SID",
-    "ACTIONS": "动作",
-    "ADD_NOTE": "加注",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "加",
     "ADD_WHATSAPPCANNEDANSWER": "添加罐头答案",
     "ADD_WHATSAPPDISPOSITION": "添加WhatsApp配置",
     "ADD_WHATSAPPQUEUE": "添加WhatsApp队列",
-    "ADVANCED": "高级",
-    "AGENT": "代理商",
     "AGENTADD_QUEUE": "将代理添加到WhatsApp队列",
     "AGENTADD_WHATSAPPACCOUNT": "将代理添加到WhatsApp帐户",
     "AGENTADD_WHATSAPPQUEUE": "将代理添加到WhatsApp队列",
-    "AGENTS": "代理商",
-    "AGENTSADD_QUEUE": "将代理添加到WhatsApp队列",
-    "AGENTTRANSFER": "代理转移",
-    "AGENTTRANSFERTIMEOUT": "代理转移超时",
-    "AGENT_TIMEOUT": "代理超时",
-    "ALL": "所有",
-    "ALL_AGENTS": "所有代理商",
-    "ALL_TEAMS": "所有团队",
-    "AMAZONLEX": "亚马逊Lex",
     "AUTHTOKEN": "验证令牌",
-    "AUTOREPLY": "自动回复",
-    "BACK": "背部",
-    "BOTNAME": "机器人名称",
-    "BUSY": "忙",
-    "CANNEDANSWERS": "罐装答案",
-    "CANNED_ANSWER_NOT_FOUND": "找不到罐头答案",
-    "CANNED_ANSWER_SEARCH": "输入文本以搜索罐装答案",
-    "CAPACITY": "容量",
-    "CLOSE": "关",
-    "CLOSED": "关闭",
-    "CLOSEMETHOD": "关闭方法",
-    "CLOSEURL": "关闭网址",
-    "COMMAND": "命令",
-    "CONDITION": "健康）状况",
-    "CONTACT": "联系",
-    "CREATED_AT": "创建于",
-    "DEFAULT_PAUSE": "默认暂停",
-    "DELETE": "删除",
-    "DELETE_INTERACTION": "删除互动",
-    "DELETE_SELECTED": "删除所选",
     "DELETE_WHATSAPPACCOUNT": "删除WhatsApp帐户",
     "DELETE_WHATSAPPCANNEDANSWER": "已删除",
     "DELETE_WHATSAPPDISPOSITION": "删除WhatsApp配置",
     "DELETE_WHATSAPPQUEUE": "删除WhatsApp队列",
-    "DESCRIPTION": "描述",
-    "DIALOGFLOW": "对话流",
-    "DISPOSITION": "性格",
-    "DISPOSITIONS": "性格",
-    "DOWNLOAD_INTERACTION": "下载",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "不带附件下载",
-    "DOWNLOAD_WITH_ATTACHMENTS": "带附件下载",
-    "EDIT_AGENT": "编辑代理",
-    "EDIT_AMAZONLEX": "编辑Lex配置",
-    "EDIT_AUTOREPLY": "编辑自动回复",
-    "EDIT_CLOSE": "编辑关闭",
-    "EDIT_DIALOGFLOW": "编辑DialogFlow配置",
-    "EDIT_GOTOIF": "编辑Gotoif",
-    "EDIT_GOTOP": "编辑Gotop",
-    "EDIT_NOOP": "编辑Noop",
-    "EDIT_QUEUE": "编辑队列",
-    "EDIT_SYSTEM": "编辑系统",
-    "EDIT_TAG": "编辑标签",
     "EDIT_WHATSAPPACCOUNT": "编辑WhatsApp帐户",
     "EDIT_WHATSAPPCANNEDANSWER": "编辑",
     "EDIT_WHATSAPPDISPOSITION": "编辑WhatsApp的处置",
     "EDIT_WHATSAPPQUEUE": "编辑WhatsApp队列",
-    "FALSEPRIORITY": "错误的优先权",
-    "GENERAL": "一般",
-    "GOTOIF": "后藤",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "转到实时WhatsApp队列",
     "GO_TO_WHATSAPPACCOUNTS": "转到帐户",
-    "ID": "ID",
-    "IDLE": "闲",
-    "INSERT_MESSAGE_HERE": "在此处插入消息",
-    "INTERACTIONS": "互动互动",
     "INTERACTIONS_WHATSAPPACCOUNT": "前往互动",
-    "KEY": "键",
-    "LANGUAGE": "语言",
-    "LASTMESSAGE": "最后留言",
-    "LEXREGION": "地区",
-    "LIST": "清单",
-    "LOGGED_IN": "已登录（已连接SIP）",
-    "LOGIN_TIME": "登录时间",
-    "LOGOUT": "登出",
-    "MANDATORYDISPOSITION": "强制性",
-    "MANDATORYDISPOSITIONPAUSEID": "启用强制处置后暂停使用",
-    "MORE": "更多",
-    "MOTIONPROXY": "代理或运动域",
     "MULTI_SELECT_TOGGLE": "多选切换",
-    "NAME": "名称",
     "NEW_WHATSAPPACCOUNT": "新的WhatsApp帐户",
     "NEW_WHATSAPPCANNEDANSWER": "新的WhatsApp罐头答案",
     "NEW_WHATSAPPDISPOSITION": "新的WhatsApp配置",
     "NEW_WHATSAPPQUEUE": "新的WhatsApp队列",
-    "NOOP": "op",
-    "NOTE": "注意",
-    "NOTIFICATION": "通知",
-    "NOTIFICATIONSHAKE": "摇",
-    "NOTIFICATIONSOUND": "声音",
-    "NOTIFICATIONTEMPLATE": "模板",
-    "NO_AGENT_ONLINE": "没有在线代理",
-    "NO_AVAILABLE_INFO": "无可用信息",
-    "NO_INTERACTION_AVAILABLE": "没有互动",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "没有可用的WhatsApp罐装答案",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "没有可用的WhatsApp配置",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "没有可用的WhatsApp帐户",
-    "OF": "的",
-    "OPENED": "开了",
-    "PAGE": "页",
-    "PARTIALPAUSE": "部分暂停",
-    "PAUSE": "暂停",
-    "PAUSED": "已暂停",
-    "PAUSE_TIME": "暂停时间",
-    "PHONE": "电话",
-    "PRIORITY": "优先",
-    "PROXY": "代理",
-    "QUEUE": "队列",
-    "QUEUES": "s列",
-    "QUEUETRANSFER": "队列传输",
-    "QUEUETRANSFERTIMEOUT": "队列传输超时",
-    "READY": "准备",
-    "REALTIME": "即时的",
-    "RECEIVEURL": "接收网址",
-    "REFRESH_INTERACTIONS": "刷新互动",
     "REMOTE": "远程",
-    "ROWSPERPAGE": "每页行数",
-    "SAVE": "保存",
-    "SCREENRECORDING": "管理屏幕录像",
-    "SEARCH_FOR_ANYONE": "搜索",
-    "SECRETACCESSKEY": "访问密钥机密",
-    "SELECTED": "已选",
-    "SELECTED_AGENTS": "选定代理商",
-    "SELECTED_TEAMS": "入选团队",
-    "SELECT_ALL": "全选",
-    "SELECT_NONE": "选择无",
-    "SEND": "发送",
-    "SETTINGS": "设定值",
-    "SPYINTERACTION": "间谍互动",
-    "STARTEDAT": "开始于",
-    "START_SCREENRECORDING": "开始屏幕录制",
-    "STATUS": "状态",
-    "STOP_SCREENRECORDING": "停止画面录制",
-    "STRATEGY": "战略",
-    "SYSTEM": "系统",
-    "TAG": "标签",
-    "TAGS": "标签",
     "TEAMADD_WHATSAPPQUEUE": "将团队添加到WhatsApp队列",
-    "TEAMS_ASSOCIATION": "车队协会",
-    "TEXT": "文本",
-    "TIMEOUT": "超时",
-    "TIMER": "计时器",
-    "TIMES": "时报",
-    "TO": "至",
-    "TOKEN": "代币",
-    "TOOLTIP_SCREENRECORDING_OFF": "屏幕录像可用",
-    "TOOLTIP_SCREENRECORDING_ON": "屏幕录像正在进行中",
-    "TRANSFER": "转让",
-    "TRUEPRIORITY": "真正的优先",
-    "TYPE": "类型",
-    "UNPAUSE": "结束暂停",
-    "VALUE": "值",
-    "VARIABLE": "变量",
-    "WAITFORTHEASSIGNEDAGENT": "等待分配的代理",
-    "WAITING": "等候",
-    "WELCOMEMESSAGE": "欢迎留言",
-    "WHATSAPP": "WhatsApp连接器",
     "WHATSAPPACCOUNTS": "WhatsApp帐户",
     "WHATSAPPCANNEDANSWERS": "WhatsApp罐装答案",
     "WHATSAPPDISPOSITIONS": "WhatsApp的处置",
diff --git a/public/app/main/apps/whatsapp/i18n/zh-TW.json b/public/app/main/apps/whatsapp/i18n/zh-TW.json
index 397f115..75d3f47 100644
--- a/public/app/main/apps/whatsapp/i18n/zh-TW.json
+++ b/public/app/main/apps/whatsapp/i18n/zh-TW.json
@@ -1,233 +1,44 @@
 {
   "WHATSAPP": {
     "ERRORS": {
-      "ACCESSKEYID_REQUIRED": "必填項",
-      "ACCOUNTSID_REQUIRED": "必填項",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填項",
-      "AGENT_REQUIRED": "必填項",
-      "AGENT_TIMEOUT_REQUIRED": "必填項",
-      "AUTHTOKEN_REQUIRED": "必填項",
-      "BOTNAME_REQUIRED": "必填項",
-      "COMMAND_REQUIRED": "必填項",
-      "CONDITION_REQUIRED": "必填項",
       "DESCRIPTION_REQUIRED": "必填項",
-      "DISPOSITION_REQUIRED": "必填項",
-      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "FALSEPRIORITY_REQUIRED": "必填項",
-      "KEY_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
-      "KEY_REQUIRED": "必填項",
       "LANGUAGE_REQUIRED": "強制場",
       "LEXREGION_REQUIRED": "必填項",
-      "LIST_REQUIRED": "必填項",
-      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項",
-      "NAME_REQUIRED": "必填項",
-      "PHONE_REQUIRED": "必填項",
-      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "PRIORITY_REQUIRED": "必填項",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填項",
-      "QUEUE_REQUIRED": "必填項",
-      "SECRETACCESSKEY_REQUIRED": "必填項",
-      "TAG_REQUIRED": "必填項",
-      "TEXT_REQUIRED": "必填項",
-      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "TIMEOUT_REQUIRED": "必填項",
       "TIMES_REQUIRED": "必填項",
-      "TOKEN_REQUIRED": "必填項",
-      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "TRUEPRIORITY_REQUIRED": "必填項",
-      "TYPE_REQUIRED": "必填項",
-      "VALUE_REQUIRED": "必填項",
       "VARIABLE_REQUIRED": "必填項",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
-      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
-      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填項",
       "WELCOMEMESSAGE_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
       "WELCOMEMESSAGE_REQUIRED": "必填項"
     },
-    "HELP": {
-      "LIST": "用於關聯聯繫人的聯繫人管理器列表",
-      "MANDATORYDISPOSITION": "強制性",
-      "MANDATORYDISPOSITIONPAUSEID": "啟用強制處置後暫停使用",
-      "MOTIONPROXY": "該字段必須具有以下格式：<協議>：// <ipaddress> [：<端口>]。範例：https：//X.Y.Z.W",
-      "NAME": "僅支持數字，字母和特定字符（._）",
-      "RECEIVEURL": "這是自動生成的API字符串，您需要使用它來從WhatsApp Connector提供程序接收帳戶內的消息（必須使用POST方法）：單擊剪貼板按鈕將其複制",
-      "WELCOMEMESSAGE": "這是發送給新交互的第一個響應消息"
-    },
-    "ACCESSKEYID": "訪問密鑰ID",
-    "ACCOUNTSID": "帳戶SID",
-    "ACTIONS": "動作",
-    "ADD_NOTE": "加註",
+    "HELP": {},
     "ADD_WHATSAPPACCOUNT": "加",
     "ADD_WHATSAPPCANNEDANSWER": "添加罐頭答案",
     "ADD_WHATSAPPDISPOSITION": "添加WhatsApp配置",
     "ADD_WHATSAPPQUEUE": "添加WhatsApp隊列",
-    "ADVANCED": "高級",
-    "AGENT": "代理商",
     "AGENTADD_QUEUE": "將代理添加到WhatsApp隊列",
     "AGENTADD_WHATSAPPACCOUNT": "將代理添加到WhatsApp帳戶",
     "AGENTADD_WHATSAPPQUEUE": "將代理添加到WhatsApp隊列",
-    "AGENTS": "代理商",
-    "AGENTSADD_QUEUE": "將代理添加到WhatsApp隊列",
-    "AGENTTRANSFER": "代理轉移",
-    "AGENTTRANSFERTIMEOUT": "代理轉移超時",
-    "AGENT_TIMEOUT": "代理超時",
-    "ALL": "所有",
-    "ALL_AGENTS": "所有代理商",
-    "ALL_TEAMS": "所有隊伍",
-    "AMAZONLEX": "亞馬遜Lex",
     "AUTHTOKEN": "驗證令牌",
-    "AUTOREPLY": "自動回复",
-    "BACK": "背部",
-    "BOTNAME": "機器人名稱",
-    "BUSY": "忙",
-    "CANNEDANSWERS": "罐裝答案",
-    "CANNED_ANSWER_NOT_FOUND": "找不到罐頭答案",
-    "CANNED_ANSWER_SEARCH": "輸入文本以搜索罐裝答案",
-    "CAPACITY": "容量",
-    "CLOSE": "關",
-    "CLOSED": "關閉",
-    "CLOSEMETHOD": "關閉方法",
-    "CLOSEURL": "關閉網址",
-    "COMMAND": "命令",
-    "CONDITION": "健康）狀況",
-    "CONTACT": "聯繫",
-    "CREATED_AT": "創建於",
-    "DEFAULT_PAUSE": "默認暫停",
-    "DELETE": "刪除",
-    "DELETE_INTERACTION": "刪除互動",
-    "DELETE_SELECTED": "刪除所選",
     "DELETE_WHATSAPPACCOUNT": "刪除WhatsApp帳戶",
     "DELETE_WHATSAPPCANNEDANSWER": "已刪除",
     "DELETE_WHATSAPPDISPOSITION": "刪除WhatsApp配置",
     "DELETE_WHATSAPPQUEUE": "刪除WhatsApp隊列",
-    "DESCRIPTION": "描述",
-    "DIALOGFLOW": "對話流",
-    "DISPOSITION": "性格",
-    "DISPOSITIONS": "性格",
-    "DOWNLOAD_INTERACTION": "下載",
-    "DOWNLOAD_WITHOUT_ATTACHMENTS": "不帶附件下載",
-    "DOWNLOAD_WITH_ATTACHMENTS": "帶附件下載",
-    "EDIT_AGENT": "編輯代理",
-    "EDIT_AMAZONLEX": "編輯Lex配置",
-    "EDIT_AUTOREPLY": "編輯自動回复",
-    "EDIT_CLOSE": "編輯關閉",
-    "EDIT_DIALOGFLOW": "編輯DialogFlow配置",
-    "EDIT_GOTOIF": "編輯Gotoif",
-    "EDIT_GOTOP": "編輯Gotop",
-    "EDIT_NOOP": "編輯Noop",
-    "EDIT_QUEUE": "編輯隊列",
-    "EDIT_SYSTEM": "編輯系統",
-    "EDIT_TAG": "編輯標籤",
     "EDIT_WHATSAPPACCOUNT": "編輯WhatsApp帳戶",
     "EDIT_WHATSAPPCANNEDANSWER": "編輯",
     "EDIT_WHATSAPPDISPOSITION": "編輯WhatsApp的處置",
     "EDIT_WHATSAPPQUEUE": "編輯WhatsApp隊列",
-    "FALSEPRIORITY": "錯誤的優先權",
-    "GENERAL": "一般",
-    "GOTOIF": "後藤",
-    "GOTOP": "Gotop",
     "GOTOREALTIME_WHATSAPPQUEUE": "轉到實時WhatsApp隊列",
     "GO_TO_WHATSAPPACCOUNTS": "轉到帳戶",
-    "ID": "ID",
-    "IDLE": "閒",
-    "INSERT_MESSAGE_HERE": "在此處插入消息",
-    "INTERACTIONS": "互動互動",
     "INTERACTIONS_WHATSAPPACCOUNT": "前往互動",
-    "KEY": "鍵",
-    "LANGUAGE": "語言",
-    "LASTMESSAGE": "最後留言",
-    "LEXREGION": "地區",
-    "LIST": "清單",
-    "LOGGED_IN": "已登錄（已連接SIP）",
-    "LOGIN_TIME": "登錄時間",
-    "LOGOUT": "登出",
-    "MANDATORYDISPOSITION": "強制性",
-    "MANDATORYDISPOSITIONPAUSEID": "啟用強制處置後暫停使用",
-    "MORE": "更多",
-    "MOTIONPROXY": "代理或運動域",
     "MULTI_SELECT_TOGGLE": "多選切換",
-    "NAME": "名稱",
     "NEW_WHATSAPPACCOUNT": "新的WhatsApp帳戶",
     "NEW_WHATSAPPCANNEDANSWER": "新的WhatsApp罐頭答案",
     "NEW_WHATSAPPDISPOSITION": "新的WhatsApp配置",
     "NEW_WHATSAPPQUEUE": "新的WhatsApp隊列",
-    "NOOP": "op",
-    "NOTE": "注意",
-    "NOTIFICATION": "通知",
-    "NOTIFICATIONSHAKE": "搖",
-    "NOTIFICATIONSOUND": "聲音",
-    "NOTIFICATIONTEMPLATE": "模板",
-    "NO_AGENT_ONLINE": "沒有在線代理",
-    "NO_AVAILABLE_INFO": "無可用信息",
-    "NO_INTERACTION_AVAILABLE": "沒有互動",
     "NO_WHATSAPPCANNEDANSWER_AVAILABLE": "沒有可用的WhatsApp罐裝答案",
     "NO_WHATSAPPDISPOSITION_AVAILABLE": "沒有可用的WhatsApp配置",
     "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "沒有可用的WhatsApp帳戶",
-    "OF": "的",
-    "OPENED": "開了",
-    "PAGE": "頁",
-    "PARTIALPAUSE": "部分暫停",
-    "PAUSE": "暫停",
-    "PAUSED": "已暫停",
-    "PAUSE_TIME": "暫停時間",
-    "PHONE": "電話",
-    "PRIORITY": "優先",
-    "PROXY": "代理",
-    "QUEUE": "隊列",
-    "QUEUES": "s列",
-    "QUEUETRANSFER": "隊列傳輸",
-    "QUEUETRANSFERTIMEOUT": "隊列傳輸超時",
-    "READY": "準備",
-    "REALTIME": "即時的",
-    "RECEIVEURL": "接收網址",
-    "REFRESH_INTERACTIONS": "刷新互動",
     "REMOTE": "遠程",
-    "ROWSPERPAGE": "每頁行數",
-    "SAVE": "保存",
-    "SCREENRECORDING": "管理屏幕錄像",
-    "SEARCH_FOR_ANYONE": "搜索",
-    "SECRETACCESSKEY": "訪問密鑰機密",
-    "SELECTED": "已選",
-    "SELECTED_AGENTS": "選定代理商",
-    "SELECTED_TEAMS": "入選隊伍",
-    "SELECT_ALL": "全選",
-    "SELECT_NONE": "選擇無",
-    "SEND": "發送",
-    "SETTINGS": "設定值",
-    "SPYINTERACTION": "間諜互動",
-    "STARTEDAT": "開始於",
-    "START_SCREENRECORDING": "開始屏幕錄製",
-    "STATUS": "狀態",
-    "STOP_SCREENRECORDING": "停止畫面錄製",
-    "STRATEGY": "戰略",
-    "SYSTEM": "系統",
-    "TAG": "標籤",
-    "TAGS": "標籤",
     "TEAMADD_WHATSAPPQUEUE": "將團隊添加到WhatsApp隊列",
-    "TEAMS_ASSOCIATION": "車隊協會",
-    "TEXT": "文本",
-    "TIMEOUT": "超時",
-    "TIMER": "計時器",
-    "TIMES": "時報",
-    "TO": "至",
-    "TOKEN": "代幣",
-    "TOOLTIP_SCREENRECORDING_OFF": "屏幕錄像可用",
-    "TOOLTIP_SCREENRECORDING_ON": "屏幕記錄正在進行中",
-    "TRANSFER": "轉讓",
-    "TRUEPRIORITY": "真正的優先",
-    "TYPE": "類型",
-    "UNPAUSE": "結束暫停",
-    "VALUE": "值",
-    "VARIABLE": "變量",
-    "WAITFORTHEASSIGNEDAGENT": "等待分配的代理",
-    "WAITING": "等候",
-    "WELCOMEMESSAGE": "歡迎留言",
-    "WHATSAPP": "WhatsApp連接器",
     "WHATSAPPACCOUNTS": "WhatsApp帳戶",
     "WHATSAPPCANNEDANSWERS": "WhatsApp罐裝答案",
     "WHATSAPPDISPOSITIONS": "WhatsApp的處置",
diff --git a/public/app/main/i18n/ar.json b/public/app/main/i18n/ar.json
new file mode 100644
index 0000000..cea75e7
--- /dev/null
+++ b/public/app/main/i18n/ar.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "مهجور",
+    "ABANDONEDCALLS": "مكالمات Queue مهجورة",
+    "ABANDONED_CALLS": "المكالمات المهجورة",
+    "ACCEPT": "قبول",
+    "ACCEPTMETHOD": "قبول الطريقة",
+    "ACCEPTURL": "عنوان رابط الكترونى مقبول",
+    "ACCESSKEYID": "معرف مفتاح الوصول",
+    "ACCOUNT": "الحساب",
+    "ACCOUNTNAME": "أسم الحساب",
+    "ACCOUNTS": "حسابات",
+    "ACCOUNTSID": "SID الحساب",
+    "ACTIONS": "أفعال",
+    "ACTIVE": "نشيط",
+    "ADD": "إضافة",
+    "ADDRESS": "عنوان",
+    "ADD_AGENT_TO_VOICEQUEUE": "إضافة ممثل خدمةإلى قائمة انتظار الصوت",
+    "ADD_CHANSPY": "اضف متجسس خفي",
+    "ADD_CONTACT": "إضافة جهة اتصال",
+    "ADD_CONTEXT": "أضف السياق",
+    "ADD_INBOUNDROUTE": "أضف مصدر المكالمة الواردة",
+    "ADD_INTERNALROUTE": "أضف مصدر المكالمة الداخلية",
+    "ADD_MOHSOUND": "إضافة الموسيقى في الانتظار",
+    "ADD_MUSICONHOLD": "اضف موسيقى الانتظار",
+    "ADD_NOTE": "اضافه ملاحظة",
+    "ADD_OUTBOUNDROUTE": "أضف مصدر المكالمة الواردة",
+    "ADD_PROJECT": "أضف مشروع",
+    "ADD_TAG": "إضافة رمز",
+    "ADD_TEAM_TO_VOICEQUEUE": "إضافة فريق إلى قائمة انتظار الصوت",
+    "ADD_VARIABLE": "إضافة متغير",
+    "ADD_VOICEMAIL": "أضف بريد صوتي",
+    "ADD_VOICEQUEUE": "إضافة قائمة انتظار الصوت",
+    "ADVANCED": "المتقدمة",
+    "AFTERCALLWORK": "بعد مكالمةالعمل",
+    "AFTERCALLWORKDURATION": "مدة بعد مكالمة العمل",
+    "AGENT": "ممثل خدمة",
+    "AGENTS": "ممثلي خدمة",
+    "AGENTSADD_QUEUE": "أضف ممثل خدمة إلى قائمة انتظار ",
+    "AGENTTRANSFER": "نقل عامل",
+    "AGENTTRANSFERTIMEOUT": "عامل نقل مهلة",
+    "AGENT_TIMEOUT": "ممثل خدمه أنهاء الوقت",
+    "AGI": "كونا*",
+    "ALIAS": "الاسم المستعار للنطاق",
+    "ALL": "الكل",
+    "ALLOWCODECS": "السماح بالكود",
+    "ALL_AGENTS": "جميع ممثلين الخدمة",
+    "ALL_TEAMS": "جميع المجموعات",
+    "ALL_USERS": "جميع المستخدمين",
+    "ALPHABETICAL": "مرتب حسب الحروف الأبجدية",
+    "ALWAYS": "دائما",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "اشعار بحالة المتصل",
+    "ANNOUNCEFREQUENCY": "تنبيه متكرر",
+    "ANNOUNCEHOLDTIME": "تنبيه وقت التوقف",
+    "ANNOUNCEMENTS": "الإعلانات",
+    "ANNOUNCEPOSITIONLIMIT": "تنبيه الحد الاقصى للموقع",
+    "ANNOUNCETOAGENT": "تنبيه ممثل الخدمة",
+    "ANNOUNCE_OVERRIDES": "تنبيه تجاوزات",
+    "ANSWER": "إجابة",
+    "ANSWERED": "أجاب",
+    "API": "واجهه برمجه التطبيقات",
+    "APIKEY": "مفتاح واجهة برمجة التطبيقات",
+    "APPLICATION": "تطبيق",
+    "APPLICATION_NAME": "اسم التطبيق",
+    "ARGUMENTS": "الحجج",
+    "ATTACH": "يربط",
+    "AUDIO": "سمعي",
+    "AUDIOFILES": "ملفات صوتية",
+    "AUDIO_FILES": "ملفات صوتية",
+    "AUTH": "المصادقة",
+    "AUTHTOKEN": "رمز المصادقة المميز",
+    "AUTOPAUSE": "توقف آلي",
+    "AUTOREPLY": "رد آلي",
+    "AVG_BILLABLE": "متوسط الفاتورة",
+    "AVG_HOLD_TIME": "متوسط ​​وقت الانتظار",
+    "BACK": "الى الخلف",
+    "BLACKLIST": "القائمة السوداء",
+    "BODY": "الجسم",
+    "BOTNAME": "اسم بوت",
+    "BUILDER": "منشئ",
+    "BUSY": "مشغول",
+    "CALLED": "مسمي",
+    "CALLER": "المتصل",
+    "CALLERID": "هوية المتصل",
+    "CALLER_ID": "هوية المتصل",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "حملة",
+    "CANCEL": "إلغاء",
+    "CANNEDANSWERS": "الإجابات المعلبة",
+    "CANNED_ANSWER_NOT_FOUND": "لم يتم العثور على إجابات محفوظة",
+    "CANNED_ANSWER_SEARCH": "البحث عن إجابات محفوظة",
+    "CANT_DOWNLOAD_THIS_FILE": "لا يمكن تنزيل هذا الملف",
+    "CAPACITY": "سعة",
+    "CHANNEL": "قناة",
+    "CHANNELS": "قنوات",
+    "CHANSPIES": "المتجسس الخفي",
+    "CHANSPY": "متجسس خفي",
+    "CHAT": "دردشة",
+    "CITY": "مدينة",
+    "CLEAR": "واضح",
+    "CLOSE": "قريب",
+    "CLOSED": "مغلق",
+    "CLOSEDAT": "أغلق في",
+    "CLOSEMETHOD": "إغلاق الطريقة",
+    "CLOSEURL": "إغلاق عنوان رابط الكترونى",
+    "CLOSING": "إغلاق",
+    "COMMAND": "أمر",
+    "COMPANIES": "الشركات",
+    "COMPANY": "شركة",
+    "CONDITION": "شرط",
+    "CONFIRM_PASSWORD": "تأكيد كلمة المرور",
+    "CONNECTED": "متصل",
+    "CONTACT": "جهه إتصال",
+    "CONTACTMANAGER": "مدير الاتصال",
+    "CONTACTS": "جهات الاتصال",
+    "CONTENT": "يحتوى",
+    "CONTEXT": "سياق الكلام",
+    "CONTEXTS": "السياقات",
+    "COUNTRY": "بلد",
+    "CREATED_AT": "أنشئت في",
+    "CUSTOM": "العادة",
+    "CUSTOMER_JOURNEY": "جوله العميل",
+    "CUSTOM_FIELDS": "الحقول المخصصة",
+    "CUTDIGITS": "قطع أرقام",
+    "DASHBOARD": "لوحة البيانات",
+    "DATE": "تاريخ",
+    "DATE_OF_BIRTH": "تاريخ الميلاد",
+    "DEFAULT": "افتراضي",
+    "DEFAULT_PAUSE": "توقف افتراضي",
+    "DELETE": "حذف",
+    "DELETE_APP": "حذف التطبيق",
+    "DELETE_CHANSPY": "حذف متجسس خفي",
+    "DELETE_CONTEXT": "حذف السياق",
+    "DELETE_HOPPER": "حذف المقسم",
+    "DELETE_INBOUNDROUTE": "حذف مصدر المكالمة الواردة",
+    "DELETE_INTERACTION": "حذف التفاعل",
+    "DELETE_INTERNALROUTE": "حذف مصدر المكالمة الداخلية",
+    "DELETE_MOHSOUND": "احذف صوت موسيقى الانتظار",
+    "DELETE_MUSICONHOLD": "حذف الموسيقى في الانتظار",
+    "DELETE_OUTBOUNDROUTE": "حذف مصدر المكالمة الخارجية",
+    "DELETE_PROJECT": "حذف المشروع",
+    "DELETE_SELECTED": "احذف المختار",
+    "DELETE_VOICEDISPOSITION": "حذف التخلص الصوتي",
+    "DELETE_VOICEMAIL": "حذف البريد الصوتي",
+    "DELETE_VOICEQUEUE": "حذف قائمة انتظار الصوت",
+    "DELETE_VOICERECORDING": "حذف التسجيل الصوتي",
+    "DELIVERYREPORTURL": "عنوان الرابط الالكترونى لتسليم التقرير",
+    "DESCRIPTION": "وصف",
+    "DESTINATION": "المكان المقصود",
+    "DESTINATIONPATTERN": "نمط الوجهة",
+    "DETAIL": "التفاصيل",
+    "DETAILS": "تفاصيل",
+    "DIAL": "يتصل",
+    "DIALER": "طالب",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "انتهى العمل منه",
+    "DIRECTORY": "دليل",
+    "DISABLED": "تعطيل",
+    "DISPOSITION": "تغير",
+    "DISPOSITIONS": "اعادة ترتيب",
+    "DOWNLOAD": "تحميل",
+    "DOWNLOAD_INTERACTION": "تحميل",
+    "DOWNLOAD_MOHSOUND": "قم بتنزيل صوت موسيقى الانتظار",
+    "DOWNLOAD_VOICERECORDING": "تنزيل التسجيل الصوتي",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "تحميل بدون مرفق",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "تحميل بدون مرفقات",
+    "DOWNLOAD_WITH_ATTACHMENT": "تنزيل بالمرفق",
+    "DOWNLOAD_WITH_ATTACHMENTS": "تحميل مع المرفقات",
+    "DROPPED": "إدراج",
+    "DROP_TO_UPLOAD": "إسقاط للتحميل",
+    "DURATION": "المدة الزمنية",
+    "EDIT": "تصحيح",
+    "EDIT_AGENT": "تحرير ممثل الخدمه",
+    "EDIT_AGI": "تعديل واجهة asterisk",
+    "EDIT_AMAZONLEX": "تحرير التكوين ليكس",
+    "EDIT_APP": "تحرير التطبيق",
+    "EDIT_AUTOREPLY": "تحرير الرد التلقائي",
+    "EDIT_CHANSPY": "تعديل المتجسس الخفي",
+    "EDIT_CLOSE": "تحرير الإغلاق",
+    "EDIT_CONTEXT": "تحرير السياق",
+    "EDIT_CUSTOM": "تحرير مخصص",
+    "EDIT_DIAL": "تحرير الاتصال",
+    "EDIT_DIALOGFLOW": "تحرير التكوين Dialogflow",
+    "EDIT_EXTERNALDIAL": "تحرير الاتصال الخارجي",
+    "EDIT_GOTO": "تحرير غوتو*",
+    "EDIT_GOTOIF": "تحريرقاعدة إذهب إلى لو",
+    "EDIT_GOTOP": "تحرير قاعدةإذهب إلى أعلى",
+    "EDIT_HANGUP": " تحرير المحادثة الهاتفية",
+    "EDIT_HOPPER": "تحرير المقسم",
+    "EDIT_INBOUNDROUTE": "تحرير مصدر المكالمة الواردة",
+    "EDIT_INTERNALDIAL": "تحرير الاتصال الداخلي",
+    "EDIT_INTERNALROUTE": "تحرير مصدر المكالمة الداخلية ",
+    "EDIT_INTERVAL": "تحرير الفاصل الزمني",
+    "EDIT_MUSICONHOLD": "تحرير الموسيقى في الانتظار",
+    "EDIT_NOOP": "تحرير حاله لا يوجد عمليات",
+    "EDIT_OUTBOUNDROUTE": "تحرير مصدر المكالمة الصادرة",
+    "EDIT_PLAYBACK": "تحرير التشغيل",
+    "EDIT_PROJECT": "تحرير برنامج",
+    "EDIT_QUEUE": "تحرير قائمة الانتظار",
+    "EDIT_RINGGROUP": "تحرير مجموعة الاتصال",
+    "EDIT_SET": "تحرير مجموعة",
+    "EDIT_SYSTEM": "تحرير النظام",
+    "EDIT_TAG": "تحرير العلامة",
+    "EDIT_TRUNK": "تحرير القناة ",
+    "EDIT_VOICEDISPOSITION": "تحرير التخلص الصوتي",
+    "EDIT_VOICEMAIL": "تحرير البريد الصوتي",
+    "EDIT_VOICEQUEUE": "تحرير قائمة انتظار الصوت",
+    "EDIT_VOICERECORDING": "تحرير التسجيل الصوتي",
+    "EMAIL": "البريد الإلكتروني",
+    "EMAILADDRESS": "عنوان البريد الإلكتروني",
+    "EMAILBODY": "هيئة البريد الإلكتروني",
+    "EMAILSUBJECT": "موضوع البريد الإلكتروني*",
+    "ENABLED": "تمكين",
+    "ENCRYPTION": "التشفير",
+    "ENDTIME": "وقت الإنتهاء",
+    "ENVELOPE": "ظرف",
+    "EQUALS": "يساوي",
+    "ERROR": "خطأ",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "يجب أن يكون عنوان الرابط الالكترونى الخاص بالقبول صالحا",
+      "ACCESSKEYID_REQUIRED": "معرف مفتاح الوصول مطلوب",
+      "ACCOUNTNAME_REQUIRED": "اسم الحساب مطلوب",
+      "ACCOUNTSID_REQUIRED": "حقل الزامي",
+      "AFTERCALLWORKDURATION_REQUIRED": "بعد فترة المكالمات المطلوبة",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
+      "AGENT_REQUIRED": "ممثل الخدمة المطلوب",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمة خلال مدة أكبر من أو تساوي",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت من قبل ممثل الخدمة خلال مدة أقل من أو تساوي",
+      "AGENT_TIMEOUT_REQUIRED": " فترةإنهاء الوقت من قبل ممثل الخدمة المطلوبة",
+      "ALIAS_REQUIRED": "   حقل (الاسم المستعار للنطاق) المطلوب ",
+      "APIKEY_REQUIRED": "  مفتاح واجهة برمجة التطبيقات المطلوب",
+      "APPLICATION_REQUIRED": "التطبيق مطلوب",
+      "AUTHTOKEN_REQUIRED": "رمز المصادقه المميز المطلوب",
+      "BOTNAME_REQUIRED": "اسم بوت مطلوب",
+      "CLOSEURL_MUST_VALID_URL": "يجب أن عنوان الرابط الالكترونى للإغلاق صالحا",
+      "COMMAND_REQUIRED": "الأمر المطلوب",
+      "CONDITION_REQUIRED": "الشرط المطلوب",
+      "CONFIRM_NOT_MATCH": "كلمات المرور غير متطابقة",
+      "CONTENT_REQUIRED": "المحتوى مطلوب",
+      "CONTEXT_REQUIRED": "سياق الكلام مطلوب",
+      "DESTINATIONPATTERN_REQUIRED": "نمط الوجهة مطلوب",
+      "DISPOSITION_REQUIRED": "الإستعداد المطلوب",
+      "EMAIL_MUST_VALID": "يجب ان يكون البريد الالكتروني صالحا ",
+      "EMAIL_REQUIRED": "البريد الالكتروني مطلوب",
+      "EXTENSION_REQUIRED": "التحويلة مطلوبة ",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون نسبه الأولوية الخاطئه بقيمه اكبر من أو تساوي",
+      "FALSEPRIORITY_REQUIRED": "الأولوية الخاطئة المطلوبه",
+      "FIELD_REQUIRED": "الحقل المطلوب",
+      "FIRSTNAME_REQUIRED": "الاسم الاول المطلوب",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة حجم الخط أكبر من أو تساوي",
+      "FONTSIZE_REQUIRED": "حجم الخط مطلوب",
+      "FULLNAME_REQUIRED": "الاسم كاملا مطلوب",
+      "HOST_REQUIRED": "المستضيف المطلوب",
+      "KEY_MAX_LENGTH": "الحد الأقصى لطول المفتاح",
+      "KEY_REQUIRED": "المفتاح المطلوب",
+      "LIST_REQUIRED": "القائمه المطلوبة",
+      "MAILBOX_REQUIRED": "صندوق البريد مطلوب",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي",
+      "METHOD_REQUIRED": "الطريقه مطلوبة",
+      "MOTIONADDRESS_MUST_VALID_URL": "صيغة خاطئة",
+      "MOTIONADDRESS_REQUIRED": "حقل الزامي",
+      "MOTIONPROXY_MUST_VALID_URL": "يجب أن يكون خادم الاتصال رابط الكترونى صالح",
+      "MOTIONPROXY_REQUIRED": "خادم الاتصال مطلوب",
+      "NAME_MUST_VALID_PATTERN": "يجب ان يكون نمط الاسم صالحا",
+      "NAME_REQUIRED": "الاسم مطلوب",
+      "OPTIONS_REQUIRED": "خيارات مطلوبة",
+      "OUTBOUNDROUTE_REQUIRED": "حقل الزامي",
+      "PASSWORD_REQUIRED": "كلمة المرور مطلوبة",
+      "PHONENUMBER_REQUIRED": "رقم الهاتف مطلوب",
+      "PHONE_REQUIRED": "الهاتف مطلوب",
+      "PREFIX_REQUIRED": "الاختصار مطلوب",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون نسبه الأولوية بقيمه اكبر من أو تساوي",
+      "PRIORITY_REQUIRED": "الاولوية مطلوبة ",
+      "PROJECT_REQUIRED": "حقل الزامي",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "حقل الزامي",
+      "QUEUE_REQUIRED": "قائمه الترتيب المطلوبة",
+      "REJECTURL_MUST_VALID_URL": "يجب أن يكون عنوان الرابط الالكترونى الخاص بالقبول صالحا",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون اعادة المحاولة أكبر من أو تساوي",
+      "SECRETACCESSKEY_REQUIRED": "حقل الزامي",
+      "SENDERSTRING_MAX_LENGTH": "الحد الأقصى لطول حقل المرسِل",
+      "SENDERSTRING_MUST_VALID_PATTERN": "يجب أن يكون إدخال حقل المرسل بالشكل الصحيح",
+      "SID_REQUIRED": "معرف الأمان مطلوب",
+      "TAG_REQUIRED": "العلامه المطلوبة",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "التقنية و المصادر مطلوبة ",
+      "TEXT_MAX_LENGTH": "الحد الأقصى لطول النص",
+      "TEXT_REQUIRED": "النص المطلوب",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة انتهاء الوقت أكبر من أو تساوي",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون إنهاء الوقت  خلال مدة أقل من أو تساوي",
+      "TIMEOUT_REQUIRED": "انتهاء الوقت مطلوب",
+      "TIMEZONE_REQUIRED": "الوحدة الزمنية مطلوبة",
+      "TOKEN_REQUIRED": "الرمز المطلوب",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي",
+      "TRUEPRIORITY_REQUIRED": "الأولويه الصحيحه المطلوبة",
+      "TRUNK_REQUIRED": "حقل الزامي",
+      "TYPE_REQUIRED": "الكتابة مطلوبة",
+      "URL_REQUIRED": "رابط الموقع مطلوب",
+      "USERNAME_REQUIRED": "حقل الزامي",
+      "VALUE_REQUIRED": "القيمة مطلوبة ",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار الوكيل المعين  خلال مدة أكبر من أو تساوي",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن يكون فترة إنتظار الوكيل المعين  خلال مدة أقل من أو تساوي",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": " فترة إنتظار الوكيل المعين المطلوبة",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمةالوزن او الحمولة أكبر من أو تساوي",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون قيمة نهاية الوقت أكبر من أو تساوي"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": " اشعار وقت التوقف المحتمل",
+    "EXTENSION": "تحويل",
+    "EXTERNALDIAL": "الاتصال الخارجي",
+    "FAILED": "فشل",
+    "FALSEPRIORITY": "أولوية الخاطئة",
+    "FAX": "فاكس",
+    "FIDELITY": "الدقه",
+    "FIELD": "حقل",
+    "FIELDS": "مجالات",
+    "FILE": "ملف",
+    "FILE_NOT_FOUND": "لم يتم العثور على الملف",
+    "FILTER": "تصفيه",
+    "FILTERS": "تصفيات",
+    "FINISH": "إنهاء",
+    "FONTSIZE": "حجم الخط",
+    "FORMAT": "شكل",
+    "FREE": "حر",
+    "FROM": "من ",
+    "FULLNAME": "الاسم الكامل",
+    "GENERAL": "عام",
+    "GLOBAL": "شامل",
+    "GOSUB": "GOSUB*",
+    "GOTO": "اذهب إلى",
+    "GOTOIF": "قاعدة إذهب إلى لو",
+    "GOTOP": "إذهب إلى أعلى",
+    "HANGUP": "انهاء المحادثة",
+    "HANGUPCAUSE_1": "1 = رقم غير مخصص*",
+    "HANGUPCAUSE_16": "16 = تطهير عادي للمكالمات*",
+    "HANGUPCAUSE_17": "17 = العضو مشغول*",
+    "HANGUPCAUSE_18": "18 = لا يوجد مستخدم مستجيب (لم يتم توصيل جهاز telehone)",
+    "HANGUPCAUSE_21": "21 = رفض المكالمة",
+    "HANGUPCAUSE_22": "22 = تغير الرقم",
+    "HANGUPCAUSE_27": "27 = الوجهة خارج الترتيب",
+    "HANGUPCAUSE_38": "38 = الشبكة خارج الترتيب",
+    "HANGUPCAUSE_41": "41 = فشل مؤقت",
+    "HANGUP_CAUSE": "سبب انهاء المحادثة",
+    "HEADERS": "رؤوس",
+    "HELP": {
+      "AFTERCALLWORK": "في حالة التمكين ، سيتم تعيين ممثل الخدمة على إيقاف مؤقت بعد إكمال المكالمة",
+      "AFTERCALLWORKDURATION": "طول التوقف المؤقت الذي يتم تشغيله بواسطة خيار \"ما بعد مكالمة العمل\"",
+      "ANNOUNCECALLERPOSITION": "يتم استخدامه لتحديد ما إذا كان سيتم الإعلان عن موضع المتصل في قائمة الانتظار: لا = أبدًا ؛ نعم = دائما. Limit = only if is within the limit limit by announce-position-limit؛ أكثر = فقط إذا تجاوزت القيمة المحددة بواسطة حد الإعلان",
+      "ANNOUNCEHOLDTIME": "تشغيل وقت الانتظار المقدر مع الإعلانات الدورية (نعم / لا / مرة واحدة)",
+      "ANNOUNCETOAGENT": "تشغيل إعلان للعامل الذي يرد على المكالمة (عادةً لإخباره عن قائمة الانتظار التي يأتي منها المتصل)",
+      "CONTEXT": "للسماح لأحد المتصلين بالخروج من قائمة الانتظار عن طريق الضغط على رقم DTMF واحد. إذا تم تحديد سياق وإدخال المتصل رقمًا ، سيحاول هذا الرقم مطابقته في السياق المحدد ، وسيستمر تنفيذ خطة الطلب هناك",
+      "ESTIMATEDHOLDTIMEANNOUNCE": " الوقت الحالي المقدر للانتظار ",
+      "HOLDTIMEANNOUNCE": "اعلان وقت التوقف",
+      "LIST": "قائمة مدير الاتصال المستخدمة لربط جهات الاتصال",
+      "MANDATORYDISPOSITION": "التصرف الإلزامي",
+      "MANDATORYDISPOSITIONPAUSEID": "وقفة الوضع لتعيين أثناء التصرف الإلزامي",
+      "MEMBERDELAY": "إدراج تأخير قبل المتصل وممثل الخدمة في قائمة الانتظار الحصول على اتصال",
+      "MINANNOUNCEFREQUENCY": "أقل تردد للإعلان (مفيد عندما يتغير موضع المتصل باستمرار)",
+      "MINUTEANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = \"دقيقة\". غير محدد = لا يوجد اعلان",
+      "MINUTESANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = \"دقيقة\". غير محدد = لا يوجد اعلان",
+      "MONITORFORMAT": "يحدد تنسيق الملف المراد استخدامه عند التسجيل. إذا كان تنسيق الشاشة غير نشط ، فلن يتم تسجيل المكالمات",
+      "MOTIONPROXY": "خادم الاتصال",
+      "MUSICONHOLD": "لتعيين فئة الموسيقى المراد استخدامها لقائمة انتظار معينة",
+      "NAME": "يتم دعم الأرقام والحروف والأحرف المحددة (._) فقط",
+      "PERIODICANNOUNCE": "مجموعة من الإعلانات الدورية التي سيتم لعبها (بالترتيب)",
+      "PERIODICANNOUNCEFREQUENCY": "تردد الإعلانات الدورية للمتصل",
+      "RECORDING": "تمكين تسجيل المكالمات",
+      "REPORTHOLDTIMEAGENT": "تُمكِّن من تحديد وقت انتظار المتصل إلى ممثل الخدمة في قائمة الانتظار قبل الاتصال",
+      "RINGINUSE": "لتجنب / السماح بإرسال المكالمات إلى الأعضاء الذين تكون حالتهم قيد الاستخدام",
+      "SECONDSANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = â € œsecondsâ €. غير محدد = لا يوجد اعلان",
+      "THANKYOUANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = â € œ شكرا لك لصبرك â €. غير محدد = لا يوجد اعلان",
+      "THEREAREANNOUNCE": "اختر صوتًا محددًا في الأدوات. الافتراضي = â € œ thereâ €. غير محدد = لا يوجد اعلان",
+      "TIMEOUTRESTART": "إذا كانت الإجابة بنعم ، فهذا يعيد تعيين المهلة لممثل الخدمة للإجابة عند تلقي حالة BUSY أو CONGESTION من القناة",
+      "TYPE": "تحديد دور SIP داخل العلامة النجمية. المستخدم: يستخدم لمصادقة الواردة - الند: للمكالمات الصادرة - صديق: يغطي كلا من خصائص ما سبق.",
+      "VOICEMAIL_CONTEXT": "حالة البريد الصوتي",
+      "WAITINGCALLSANNOUNCE": "اشعار بالمكالمات في الانتظار",
+      "WELCOMEMESSAGE": "هذه هي الرسالة الأولى المرسلة إلى المقاول",
+      "YOUARENEXTANNOUNCE": "انت الان التالي "
+    },
+    "HIDE_DETAILS": "إخفاء التفاصيل",
+    "HOLDTIMEANNOUNCE": "اشعار وقت التوقف",
+    "HOST": "مستضيف",
+    "ID": "هوية شخصية",
+    "IDLE": "خامل",
+    "IN": "في",
+    "INBOUNDROUTES": "مصدر المكالمة الواردة",
+    "INFO": "معلومات",
+    "INSERT_MESSAGE_HERE": "أدخل الرساله النصيه هنا",
+    "INTEGRATIONS": "التكامل",
+    "INTERACTION": "التفاعل",
+    "INTERACTIONS": "التفاعلات",
+    "INTERNAL": "داخلي",
+    "INTERNALDIAL": "الاتصال الداخلي",
+    "INTERNALROUTES": "مصدر المكالمة الداخلية",
+    "INTERVAL": "فترة",
+    "INTERVALS": "فترات",
+    "INUSE": "في الاستخدام",
+    "INVALID": "غير صالحة",
+    "IN_USE": "في الاستخدام",
+    "JOINWHENEMPTY": "انضم عندما تكون فارغ",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "مفتاح",
+    "LAGGED": "تأخير",
+    "LANGUAGE": "لغة",
+    "LASTMESSAGE": "اخر رسالة",
+    "LASTNAME": "الإسم الأخير",
+    "LAST_MONTH": "الشهر الماضي",
+    "LEAVEWHENEMPTY": "مغادرة عندما تكون فارغ",
+    "LEXREGION": "منطقة",
+    "LIMITED": "محدود",
+    "LIST": "قائمة",
+    "LOGGED_IN": "تسجيل الدخول (SIP متصل)",
+    "LOGIN_TIME": "وقت تسجيل الدخول",
+    "LOGO": "شعار",
+    "LOGOUT": "الخروج",
+    "MACRO": "دقيق",
+    "MAIL": "البريد الإلكتروني",
+    "MAILBOX": "صندوق بريد",
+    "MAILBOX@CONTEXT": "صندوق البريد @ السياق",
+    "MANAGED": "تمكن",
+    "MANDATORYDISPOSITION": "التصرف الإلزامي",
+    "MANDATORYDISPOSITIONPAUSEID": "حالة توقف التصرف الإلزامي",
+    "MARK_AS_UNREAD": "وضع علامة كغير مقروءة",
+    "MAXLENGTH": "الحد الأقصى لطول",
+    "MAXMESSAGES": "الحد الاقصى من الرسائل",
+    "MAXSECONDS": "ماكس ثانية*",
+    "MAY": "ممكن",
+    "MEMBERDELAY": "تأخير العضو",
+    "MESSAGE": "رسالة",
+    "MESSAGES": "رسائل",
+    "MESSAGESALIGNMENT": "محاذاة الرسائل",
+    "METHOD": "طريقة",
+    "METRIC": "قياس",
+    "MINANNOUNCEFREQUENCY": "الحد الأدنى من تكرار الاشعارات",
+    "MINUTEANNOUNCE": "دقيقة اشعار",
+    "MINUTESANNOUNCE": "دقائق اشعار",
+    "MOBILE": "الهاتف المحمول",
+    "MODULES": "وحدات",
+    "MOHSOUNDS": "موسيقى الانتظار",
+    "MONITORFORMAT": "تنسيق الشكل",
+    "MORE": "أكثر من",
+    "MOTIONADDRESS": "عنوان الطلب",
+    "MOTIONBAR": "شريط الاتصال",
+    "MOTIONDIALER": "طلب الإتصال التلقائى",
+    "MOTIONPROXY": "وكيل الطلب",
+    "MOTION_BULL": "حملات الإتصال الصادرة",
+    "MUSICONHOLD": "موسيقى الانتظار",
+    "MUSICONHOLDS": "الموسيقى في الانتظار",
+    "NAME": "اسم",
+    "NAT": "ترجمة عنوان الشبكة",
+    "NEW_CHANSPY": "جاسوس متخفي جديد",
+    "NEW_CONTACT": "جهة اتصال جديدة",
+    "NEW_CONTEXT": "سياق جديد",
+    "NEW_INBOUNDROUTE": "مصدر اتصال وارد جديد",
+    "NEW_INTERNALROUTE": "مصدر اتصال داخلي جديد",
+    "NEW_MUSICONHOLD": "موسيقى انتظار جديدة",
+    "NEW_OUTBOUNDROUTE": "مصدر مكالمة صادرة جديد",
+    "NEW_PROJECT": "مشروع جديد",
+    "NEW_TAB": "علامة تبويب جديدة",
+    "NEW_TAG": "علامة جديدة",
+    "NEW_VARIABLE": "متغير جديد",
+    "NEW_VOICEMAIL": "بريد صوتي جديد",
+    "NEW_VOICEQUEUE": "قائمة انتظار صوتية جديدة",
+    "NO": "لا",
+    "NONE": "لا شيء",
+    "NOOP": "لا يوجد عمليات",
+    "NOTE": "ملحوظة",
+    "NOTES": "ملاحظات",
+    "NOTIFICATION": "إشعار",
+    "NOTIFICATIONSHAKE": "رنه الاشعار",
+    "NOTIFICATIONSOUND": "صوت الاشعار",
+    "NOTIFICATIONTEMPLATE": "نموذج الاشعار",
+    "NOT_INUSE": "غير مستخدم",
+    "NO_AGENT_ONLINE": "لايوجد ممثل خدمة على الانترنت",
+    "NO_APPS_AVAILABLE": "لا توجد تطبيقات متاحة",
+    "NO_AVAILABLE_INFO": "لا توجد معلومات متاحة",
+    "NO_INTERACTION_AVAILABLE": "لا توجد تفاعلات متاحة",
+    "NO_MESSAGE_AVAILABLE": "لا توجد رسائل متاحة",
+    "NO_MOHSOUND_AVAILABLE": "لايوجد موسيقى انتظار متاحة",
+    "NO_RATING": "لا يوجد تقييم",
+    "NO_REGISTRY": "لا يوجد سجل",
+    "NO_SOUND_AVAILABLE": "لا أصوات متاحة",
+    "NUMBER": "رقم",
+    "OF": "من",
+    "ONHOLD": "في الانتظار",
+    "OPEN": "افتح",
+    "OPENCHANNEL": "قناة مفتوحة ",
+    "OPENED": "مفتوح",
+    "OPERATOR": "المشغل أو العامل",
+    "OPTIONS": "خيارات",
+    "ORIGINATED": "صادر",
+    "OTHERS": "الآخرين",
+    "OUT": "خارج",
+    "OUTBOUNDDIAL": "اتصال هاتفي صادر",
+    "OUTBOUNDROUTE": "الطريق الصادر",
+    "OUTBOUNDROUTES": "مصادر المكالمات الصادرة",
+    "OUTBOUND_CALLS": "المكالمات الصادرة",
+    "OUTPUT": "انتاج",
+    "PAGE": "صفحة",
+    "PARTIALPAUSE": "وقف جزئي",
+    "PASSWORD": "كلمه السر",
+    "PAUSE": "توقف مؤقت",
+    "PAUSED": "توقف",
+    "PAUSE_TIME": "وقفة الوقت",
+    "PAYMENTMETHOD": "طرق الدفع",
+    "PENALTY": "غرامة",
+    "PENDING": "قيد الانتظار",
+    "PERIODICANNOUNCE": "اعلان دوري",
+    "PERIODICANNOUNCEFREQUENCY": "تردد اعلان دوري",
+    "PERSONAL_INFO": "معلومات شخصية",
+    "PHONE": "هاتف",
+    "PHONENUMBER": "رقم الهاتف",
+    "PHONE_STATE": "حالة الهاتف",
+    "PHONE_STATUS": "حالة الهاتف",
+    "PLAYBACK": "تشغيل",
+    "PLUGINS": "الإضافات",
+    "PORT": "منفذ",
+    "POSITION": "موضع",
+    "POSTALCODE": "الرمز البريدي",
+    "PREFIX": "اختصار",
+    "PREVIEW": "معاينة",
+    "PRIORITY": "أفضلية",
+    "PROJECT": "مشروع",
+    "PROJECTS": "مشاريع",
+    "PROXY": "خادم",
+    "QUEUE": "طابور",
+    "QUEUES": "طوابير",
+    "QUEUETRANSFER": "نقل قائمة الانتظار",
+    "QUEUETRANSFERTIMEOUT": "مهلة نقل قائمة الانتظار",
+    "QUEUE_CALLS": "المكالمات في قائمة الانتظار",
+    "QUEUE_PARAMETERS": "معلمات قائمة الانتظار*",
+    "QUEUE_PARAMS": "معلمات قائمة الانتظار*",
+    "RANDOM": "عشوائي",
+    "RANDOMPERIODICANNOUNCE": "اعلان دوري عشوائي",
+    "RATING": "تقييم",
+    "REACHABLE": "في متناول اليد",
+    "READY": "جاهز",
+    "REALTIME": "في الوقت الحالى",
+    "RECALLME": "عاود الاتصال بي",
+    "RECEIVED_AT": "تلقى في",
+    "RECEIVEURL": "تلقي URL",
+    "RECORD": "سجل",
+    "RECORDING": "تسجيل",
+    "RECORDINGFORMAT": "شكل التسجيل",
+    "RECORDINGS": "التسجيلات",
+    "REFRESH_INTERACTIONS": "تحديث التفاعلات",
+    "REGISTERED": "مسجل",
+    "REGISTRY": "سجل",
+    "REJECT": "رفض",
+    "REJECTED": "مرفوض",
+    "REJECTMETHOD": "رفض الطريقة",
+    "REJECTURL": "عنوان رابط الكترونى مرفوض",
+    "RELOAD": "إعادة تحميل",
+    "REPLY": "الرد",
+    "REPORT": "أبلغ عن",
+    "REPORTHOLDTIMEAGENT": "تقرير وقت انتظار ممثل الخدمة",
+    "RETRY": "إعادة المحاولة",
+    "RING": "رنين",
+    "RINGGROUP": "مجموعة الطوق*",
+    "RINGING": "رنين",
+    "RINGINUSE": "الرنين قيد الإستخدام",
+    "ROWSPERPAGE": "صفوف لكل صفحة",
+    "RULE": "قاعدة",
+    "SAVE": "حفظ",
+    "SCHEDULEDAT": "المقرر فى",
+    "SCHEDULED_CALLS": "المكالمات المجدولة",
+    "SCREENRECORDING": "إدارة تسجيل الشاشة",
+    "SCRIPT": "النصي",
+    "SEARCH_FOR_ANYONE": "بحث",
+    "SECONDSANNOUNCE": "اعلان الثواني",
+    "SECRETACCESSKEY": "مفتاح الوصول السري",
+    "SECURITY_SUITE": "مجموعة الأمان:  مجموعة من أدوات مساعدة البرامج التي تحمي كمبيوتر المستخدم من الفيروسات والبرامج الضارة الأخرى",
+    "SELECT": "تحديد",
+    "SELECTED": "المحدد",
+    "SELECTED_AGENTS": "اختيار ممثلين الخدمة",
+    "SELECTED_TEAMS": "اختيار الفريق",
+    "SELECTED_USERS": "المستخدمين المختارين",
+    "SELECT_ACCOUNT": "حدد حساب",
+    "SELECT_ALL": "اختر الكل",
+    "SELECT_DATE": "حدد تاريخ البدء",
+    "SELECT_NONE": "لا تختر شيء",
+    "SELECT_STATUS": "اختر الحالة",
+    "SELECT_TYPE": "اختر صنف",
+    "SEND": "إرسال",
+    "SENDMAIL": "ارسل بريد الكتروني",
+    "SENTIMENTANALYSIS": "تحليل المشاعر",
+    "SERVICE": "الخدمات",
+    "SESSIONS": "جلسات",
+    "SET": "مجموعة",
+    "SETINTERFACEVARIABLES": "ضبط متغيرات الواجهة",
+    "SETQUEUEENTRYVARIABLES": "ضبط متغيرات إدخال قائمة الانتظار",
+    "SETQUEUEVARIABLES": "تعيين متغيرات قائمة الانتظار",
+    "SETTINGS": "إعدادات",
+    "SHOW_ALL_FIELDS": "عرض جميع الحقول",
+    "SHOW_DETAILS": "اظهر التفاصيل",
+    "SMS": "رسالة قصيرة",
+    "SMTP": "البروتوكول المستخدم في إرسال البريد الإلكتروني وتلقيه",
+    "SMTP_HOST": "مستضيف البروتوكول المستخدم في إرسال البريد الإلكتروني وتلقيه",
+    "SMTP_PORT": "منفذالبروتوكول المستخدم في إرسال البريد الإلكتروني وتلقيه",
+    "SOCIAL": "اجتماعي",
+    "SORT": "فرز",
+    "SOURCE": "مصدر",
+    "SPYINTERACTION": "الرقابة التفاعلية",
+    "STAFF": "العاملين",
+    "STARTEDAT": "بدأت في",
+    "STARTTIME": "وقت البدء",
+    "START_SCREENRECORDING": "بدء تسجيل الشاشة",
+    "STATE": "حالة",
+    "STATUS": "الحالة",
+    "STOP_SCREENRECORDING": "وقف تسجيل الشاشة",
+    "STRATEGY": "إستراتيجية",
+    "SUBJECT": "موضوع",
+    "SYSTEM": "النظام",
+    "TAG": "بطاقة",
+    "TAGS": "الكلمات",
+    "TALKING": "تتحدث",
+    "TEAMS_ASSOCIATION": "رابطة الفرق",
+    "TECHNOLOGY/RESOURCE": "تكنولوجيا / الموارد",
+    "TELEPHONES": "الهواتف",
+    "TEMPLATE": "قالب",
+    "TEXT": "نص",
+    "THANKYOUANNOUNCE": "\"شكرا\" الإعلان",
+    "THEREAREANNOUNCE": "\"هناك\" الإعلان",
+    "TIMEOUT": "نفذ الوقت",
+    "TIMEOUTRESTART": "مهلة إعادة التشغيل",
+    "TIMER": "مؤقت",
+    "TIMES": "عدد المرات لكل تفاعل***",
+    "TIMEZONE": "وحدة زمنية",
+    "TO": "إلى",
+    "TOKEN": "رمز",
+    "TOOLTIP_SCREENRECORDING_OFF": "تسجيل الشاشة المتاحة",
+    "TOOLTIP_SCREENRECORDING_ON": "تسجيل الشاشة في التقدم",
+    "TOTAL": "مجموع",
+    "TOTAL_OFFERED": "مجموع العروض المقدمة",
+    "TRANSCRIBE": "نسخ",
+    "TRANSFER": "نقل",
+    "TRANSPORT": "نقل",
+    "TRUEPRIORITY": "الأولوية الصحيحه",
+    "TRUNK": "قناة",
+    "TRUNKS": "قنوات",
+    "TRUNK_STATUS": "حالة القناة*",
+    "TYPE": "اكتب",
+    "UNAVAILABLE": "غير متوفره",
+    "UNIQUEID": "معرف مميز",
+    "UNKNOWN": "غير معروف",
+    "UNMANAGED": "غير المدارة",
+    "UNPAUSE": "ازالة التوقف المؤقت",
+    "UNREACHABLE": "لا يمكن الوصول",
+    "UNREGISTERED": "غير مسجل",
+    "UP": "فوق",
+    "UPDATE": "تحديث",
+    "UPLOADING": "تحميل",
+    "URL": "URL",
+    "USER": "المستخدم",
+    "USERNAME": "اسم المستخدم",
+    "USERS": "المستخدمين",
+    "VALUE": "القيمة",
+    "VARIABLE": "متغير",
+    "VIDAOOSESSION": "ابدأ مكالمة فيديو",
+    "VIDEO": "فيديو",
+    "VIDEOSUPPORT": "دعم الفيديو",
+    "VOICE": "صوت",
+    "VOICEMAIL": "البريد الصوتي",
+    "VOICEMAILS": "البريد الصوتي",
+    "VOICEMAIL_CONTEXT": "سياق البريد الصوتي",
+    "VOICEQUEUES": "طوابير صوت",
+    "VOICERECORDINGS": "التسجيلات الصوتية",
+    "WAITFORTHEASSIGNEDAGENT": "انتظر الوكيل المعين",
+    "WAITING": "انتظار",
+    "WAITINGCALLSANNOUNCE": " تنبيه انتظار المكالمات",
+    "WEBHOOKS": "طريقة لتلقي المعلومات المهمه عند حدوثها الى رابط الموقع الالكترونى ",
+    "WEBRTC": "بروتوكول الاتصالات فى الوقت الحقيقى",
+    "WEBSITE": "موقع الكتروني",
+    "WEIGHT": "وزن",
+    "WELCOMEMESSAGE": "أهلا وسهلا",
+    "WHATSAPP": "رابط WhatsApp",
+    "WHITELABEL": "البطاقة البيضاء",
+    "WRAPUPTIME": "وقت الالتفاف",
+    "WRONG_EXTENSION": "يعرض الملف الامتداد الخاطئ",
+    "YES": "نعم ",
+    "YOUARENEXTANNOUNCE": "انت التالي"
+  }
+}
diff --git a/public/app/main/i18n/cs.json b/public/app/main/i18n/cs.json
new file mode 100644
index 0000000..c23f5f3
--- /dev/null
+++ b/public/app/main/i18n/cs.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Abandoned",
+    "ABANDONEDCALLS": "Abandoned Queue Calls",
+    "ABANDONED_CALLS": "Abandoned Calls",
+    "ACCEPT": "Accept",
+    "ACCEPTMETHOD": "Accept Method",
+    "ACCEPTURL": "Accept URL",
+    "ACCESSKEYID": "ID přístupového klíče",
+    "ACCOUNT": "Account",
+    "ACCOUNTNAME": "Account Name",
+    "ACCOUNTS": "Accounts",
+    "ACCOUNTSID": "SID účtu",
+    "ACTIONS": "Actions",
+    "ACTIVE": "Active",
+    "ADD": "Add",
+    "ADDRESS": "Address",
+    "ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+    "ADD_CHANSPY": "Add ChanSpy",
+    "ADD_CONTACT": "Add Contact",
+    "ADD_CONTEXT": "Add Context",
+    "ADD_INBOUNDROUTE": "Add Inbound Route",
+    "ADD_INTERNALROUTE": "Add Internal Route",
+    "ADD_MOHSOUND": "Add Music On Hold sound",
+    "ADD_MUSICONHOLD": "Add Music On Hold",
+    "ADD_NOTE": "Add note",
+    "ADD_OUTBOUNDROUTE": "Add Outbound Route",
+    "ADD_PROJECT": "Add Project",
+    "ADD_TAG": "Add Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+    "ADD_VARIABLE": "Add Variable",
+    "ADD_VOICEMAIL": "Add Voicemail",
+    "ADD_VOICEQUEUE": "Add Voice Queue",
+    "ADVANCED": "Advanced",
+    "AFTERCALLWORK": "After Call Work",
+    "AFTERCALLWORKDURATION": "After Call Work Duration",
+    "AGENT": "Agent",
+    "AGENTS": "Agents",
+    "AGENTSADD_QUEUE": "Add Agents To Voice Queue",
+    "AGENTTRANSFER": "Agent Transfer",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Agent Timeout",
+    "AGI": "Agi",
+    "ALIAS": "Alias",
+    "ALL": "All",
+    "ALLOWCODECS": "Allowed Codecs",
+    "ALL_AGENTS": "All Agents",
+    "ALL_TEAMS": "All Teams",
+    "ALL_USERS": "All Users",
+    "ALPHABETICAL": "Alphabetical",
+    "ALWAYS": "Always",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Announce Caller Position",
+    "ANNOUNCEFREQUENCY": "Announce Frequency",
+    "ANNOUNCEHOLDTIME": "Announce Hold Time",
+    "ANNOUNCEMENTS": "Announcements",
+    "ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+    "ANNOUNCETOAGENT": "Announce To Agent",
+    "ANNOUNCE_OVERRIDES": "Announce Overrides",
+    "ANSWER": "Answer",
+    "ANSWERED": "Answered",
+    "API": "API",
+    "APIKEY": "Api Key",
+    "APPLICATION": "Application",
+    "APPLICATION_NAME": "Application Name",
+    "ARGUMENTS": "Arguments",
+    "ATTACH": "Attach",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Audio Files",
+    "AUDIO_FILES": "Audio Files",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Authorization Token",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Auto Reply",
+    "AVG_BILLABLE": "Avg Billable",
+    "AVG_HOLD_TIME": "Avg Hold Time",
+    "BACK": "Back",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Body",
+    "BOTNAME": "Název bota",
+    "BUILDER": "Builder",
+    "BUSY": "Busy",
+    "CALLED": "Called",
+    "CALLER": "Caller",
+    "CALLERID": "Caller ID",
+    "CALLER_ID": "Caller ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Campaign",
+    "CANCEL": "zrušení",
+    "CANNEDANSWERS": "Canned Answers",
+    "CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+    "CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+    "CANT_DOWNLOAD_THIS_FILE": "Tento soubor nelze stáhnout",
+    "CAPACITY": "Capacity",
+    "CHANNEL": "Kanál",
+    "CHANNELS": "Channels",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "City",
+    "CLEAR": "Clear",
+    "CLOSE": "Close",
+    "CLOSED": "Closed",
+    "CLOSEDAT": "Closed At",
+    "CLOSEMETHOD": "Close Method",
+    "CLOSEURL": "Close URL",
+    "CLOSING": "Closing",
+    "COMMAND": "Command",
+    "COMPANIES": "Společnosti",
+    "COMPANY": "Company",
+    "CONDITION": "Condition",
+    "CONFIRM_PASSWORD": "Confirm Password",
+    "CONNECTED": "Connected",
+    "CONTACT": "Contact",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Contacts",
+    "CONTENT": "Content",
+    "CONTEXT": "Context",
+    "CONTEXTS": "Contexts",
+    "COUNTRY": "Country",
+    "CREATED_AT": "Created At",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Customer Journey",
+    "CUSTOM_FIELDS": "Custom Fields",
+    "CUTDIGITS": "Cut Digits",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Date",
+    "DATE_OF_BIRTH": "Birthdate",
+    "DEFAULT": "Default",
+    "DEFAULT_PAUSE": "DEFAULT PAUSE",
+    "DELETE": "Delete",
+    "DELETE_APP": "Delete Application",
+    "DELETE_CHANSPY": "Delete ChanSpy",
+    "DELETE_CONTEXT": "Delete Context",
+    "DELETE_HOPPER": "Delete Hopper",
+    "DELETE_INBOUNDROUTE": "Delete Inbound Route",
+    "DELETE_INTERACTION": "Delete Interaction",
+    "DELETE_INTERNALROUTE": "Delete Internal Route",
+    "DELETE_MOHSOUND": "Delete Music On Hold sound",
+    "DELETE_MUSICONHOLD": "Delete Music On Hold",
+    "DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+    "DELETE_PROJECT": "Delete Project",
+    "DELETE_SELECTED": "Delete selected",
+    "DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+    "DELETE_VOICEMAIL": "Delete Voicemail",
+    "DELETE_VOICEQUEUE": "Delete Voice Queue",
+    "DELETE_VOICERECORDING": "Delete Voice Recording",
+    "DELIVERYREPORTURL": "Delivery Report URL",
+    "DESCRIPTION": "Description",
+    "DESTINATION": "Destination",
+    "DESTINATIONPATTERN": "Destination Pattern",
+    "DETAIL": "Detail",
+    "DETAILS": "Details",
+    "DIAL": "Dial",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "Directory",
+    "DISABLED": "Disabled",
+    "DISPOSITION": "Disposition",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+    "DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Stahujte bez přílohy",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments",
+    "DOWNLOAD_WITH_ATTACHMENT": "Stáhnout s přílohou",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+    "DROPPED": "Dropped",
+    "DROP_TO_UPLOAD": "Drop To Upload",
+    "DURATION": "Duration",
+    "EDIT": "Edit",
+    "EDIT_AGENT": "Edit Agent",
+    "EDIT_AGI": "Edit AGI",
+    "EDIT_AMAZONLEX": "Upravit konfiguraci Lex",
+    "EDIT_APP": "Edit Application",
+    "EDIT_AUTOREPLY": "Edit Auto Reply",
+    "EDIT_CHANSPY": "Edit ChanSpy",
+    "EDIT_CLOSE": "Edit Close",
+    "EDIT_CONTEXT": "Edit Context",
+    "EDIT_CUSTOM": "Edit Custom",
+    "EDIT_DIAL": "Edit Dial",
+    "EDIT_DIALOGFLOW": "Upravit konfiguraci dialogového toku",
+    "EDIT_EXTERNALDIAL": "Edit External Dial",
+    "EDIT_GOTO": "Edit GoTo",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit GotoP",
+    "EDIT_HANGUP": "Edit Hangup",
+    "EDIT_HOPPER": "Edit Hopper",
+    "EDIT_INBOUNDROUTE": "Edit Inbound Route",
+    "EDIT_INTERNALDIAL": "Edit Internal Dial",
+    "EDIT_INTERNALROUTE": "Edit Internal Route",
+    "EDIT_INTERVAL": "Edit Interval",
+    "EDIT_MUSICONHOLD": "Edit Music On Hold",
+    "EDIT_NOOP": "Edit Noop",
+    "EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+    "EDIT_PLAYBACK": "Edit Playback",
+    "EDIT_PROJECT": "Edit Project",
+    "EDIT_QUEUE": "Edit Queue",
+    "EDIT_RINGGROUP": "Edit Ring Group",
+    "EDIT_SET": "Edit Set",
+    "EDIT_SYSTEM": "Edit System",
+    "EDIT_TAG": "Edit Tag",
+    "EDIT_TRUNK": "Edit Trunk",
+    "EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+    "EDIT_VOICEMAIL": "Edit Voicemail",
+    "EDIT_VOICEQUEUE": "Edit Voice Queue",
+    "EDIT_VOICERECORDING": "Edit Voice Recording",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Email Address",
+    "EMAILBODY": "Email Body",
+    "EMAILSUBJECT": "Email Subject",
+    "ENABLED": "Enabled",
+    "ENCRYPTION": "Encryption",
+    "ENDTIME": "End Time",
+    "ENVELOPE": "Envelope",
+    "EQUALS": "Se rovná",
+    "ERROR": "Error",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
+      "ACCESSKEYID_REQUIRED": "Je vyžadováno ID přístupového klíče",
+      "ACCOUNTNAME_REQUIRED": "Mandatory field",
+      "ACCOUNTSID_REQUIRED": "Povinné pole",
+      "AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "AGENT_REQUIRED": "Mandatory Field",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+      "ALIAS_REQUIRED": "Mandatory field",
+      "APIKEY_REQUIRED": "Mandatory field",
+      "APPLICATION_REQUIRED": "Mandatory field",
+      "AUTHTOKEN_REQUIRED": "Mandatory field",
+      "BOTNAME_REQUIRED": "Název bota je povinný",
+      "CLOSEURL_MUST_VALID_URL": "Wrong format",
+      "COMMAND_REQUIRED": "Mandatory Field",
+      "CONDITION_REQUIRED": "Mandatory Field",
+      "CONFIRM_NOT_MATCH": "The passwords don't match",
+      "CONTENT_REQUIRED": "Mandatory field",
+      "CONTEXT_REQUIRED": "Mandatory field",
+      "DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+      "DISPOSITION_REQUIRED": "Mandatory Field",
+      "EMAIL_MUST_VALID": "Wrong format",
+      "EMAIL_REQUIRED": "Mandatory field",
+      "EXTENSION_REQUIRED": "Mandatory field",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
+      "FIELD_REQUIRED": "Mandatory field",
+      "FIRSTNAME_REQUIRED": "Mandatory field",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FONTSIZE_REQUIRED": "Mandatory field",
+      "FULLNAME_REQUIRED": "Mandatory field",
+      "HOST_REQUIRED": "Mandatory Field",
+      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+      "KEY_REQUIRED": "Mandatory Field",
+      "LIST_REQUIRED": "Mandatory Field",
+      "MAILBOX_REQUIRED": "Mandatory field",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole",
+      "METHOD_REQUIRED": "Mandatory Field",
+      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+      "MOTIONADDRESS_REQUIRED": "Mandatory field",
+      "MOTIONPROXY_MUST_VALID_URL": "Wrong format",
+      "MOTIONPROXY_REQUIRED": "Mandatory Field",
+      "NAME_MUST_VALID_PATTERN": "Wrong format",
+      "NAME_REQUIRED": "Mandatory field",
+      "OPTIONS_REQUIRED": "Mandatory field",
+      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+      "PASSWORD_REQUIRED": "Mandatory field",
+      "PHONENUMBER_REQUIRED": "Mandatory field",
+      "PHONE_REQUIRED": "Mandatory field",
+      "PREFIX_REQUIRED": "Mandatory field",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "PRIORITY_REQUIRED": "Mandatory field",
+      "PROJECT_REQUIRED": "Povinné pole",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "QUEUE_REQUIRED": "Mandatory Field",
+      "REJECTURL_MUST_VALID_URL": "Wrong format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "SECRETACCESSKEY_REQUIRED": "Povinné pole",
+      "SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
+      "SID_REQUIRED": "Mandatory Field",
+      "TAG_REQUIRED": "Mandatory Field",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "TEXT_REQUIRED": "Mandatory Field",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "TIMEOUT_REQUIRED": "Mandatory field",
+      "TIMEZONE_REQUIRED": "Mandatory field",
+      "TOKEN_REQUIRED": "Mandatory field",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
+      "TRUNK_REQUIRED": "Mandatory field",
+      "TYPE_REQUIRED": "Mandatory field",
+      "URL_REQUIRED": "Mandatory field",
+      "USERNAME_REQUIRED": "Povinné pole",
+      "VALUE_REQUIRED": "Mandatory field",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+    "EXTENSION": "Extension",
+    "EXTERNALDIAL": "External Dial",
+    "FAILED": "Failed",
+    "FALSEPRIORITY": "False Priority",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Field",
+    "FIELDS": "Fields",
+    "FILE": "File",
+    "FILE_NOT_FOUND": "Soubor nenalezen",
+    "FILTER": "Filter",
+    "FILTERS": "Filters",
+    "FINISH": "Finish",
+    "FONTSIZE": "Font Size",
+    "FORMAT": "Format",
+    "FREE": "Free",
+    "FROM": "From",
+    "FULLNAME": "Full Name",
+    "GENERAL": "General",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = Unallocated number",
+    "HANGUPCAUSE_16": "16 = Normal call clearing",
+    "HANGUPCAUSE_17": "17 = User busy",
+    "HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+    "HANGUPCAUSE_21": "21 = Call rejected",
+    "HANGUPCAUSE_22": "22 = Number changed",
+    "HANGUPCAUSE_27": "27 = Destination out of order",
+    "HANGUPCAUSE_38": "38 = Network out of order",
+    "HANGUPCAUSE_41": "41 = Temporary failure",
+    "HANGUP_CAUSE": "Hangup Cause",
+    "HEADERS": "Záhlaví",
+    "HELP": {
+      "AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+      "AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+      "ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+      "ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+      "ANNOUNCETOAGENT": "Play an announcement to the agent answering the call (typically to let him know what queue the caller is coming from)",
+      "CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+      "HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+      "LIST": "Contact Manager List used to associate contacts",
+      "MANDATORYDISPOSITION": "Povinná dispozice",
+      "MANDATORYDISPOSITIONPAUSEID": "Pozastavte stav, který chcete nastavit během povinné dispozice",
+      "MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+      "MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+      "MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+      "MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+      "MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+      "MUSICONHOLD": "Sets the music class to use for a particular queue",
+      "NAME": "Only numbers, letters and specific characters (._) are supported",
+      "PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+      "PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+      "RECORDING": "Enable call recording",
+      "REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+      "RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+      "SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+      "THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+      "THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+      "TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+      "TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
+      "VOICEMAIL_CONTEXT": "The context of the relative extension",
+      "WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+      "WELCOMEMESSAGE": "Toto je první odezva na nové interakce.",
+      "YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement"
+    },
+    "HIDE_DETAILS": "Hide details",
+    "HOLDTIMEANNOUNCE": "Hold Time Announce",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "In",
+    "INBOUNDROUTES": "Inbound Routes",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Insert your text message here",
+    "INTEGRATIONS": "Integrations",
+    "INTERACTION": "Interaction",
+    "INTERACTIONS": "Interactions",
+    "INTERNAL": "Internal",
+    "INTERNALDIAL": "Internal Dial",
+    "INTERNALROUTES": "Internal Routes",
+    "INTERVAL": "Interval",
+    "INTERVALS": "Intervals",
+    "INUSE": "In Use",
+    "INVALID": "Invalid",
+    "IN_USE": "In use",
+    "JOINWHENEMPTY": "Join when empty",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Key",
+    "LAGGED": "Lagged",
+    "LANGUAGE": "Jazyk",
+    "LASTMESSAGE": "Poslední zpráva",
+    "LASTNAME": "Lastname",
+    "LAST_MONTH": "Last Month",
+    "LEAVEWHENEMPTY": "Leave when empty",
+    "LEXREGION": "Kraj",
+    "LIMITED": "Limited",
+    "LIST": "List",
+    "LOGGED_IN": "Logged In (SIP Connected)",
+    "LOGIN_TIME": "Login time",
+    "LOGO": "Logo",
+    "LOGOUT": "Logout",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@Context",
+    "MANAGED": "Managed",
+    "MANDATORYDISPOSITION": "Povinná dispozice",
+    "MANDATORYDISPOSITIONPAUSEID": "Povinný stav pozastavení stavu",
+    "MARK_AS_UNREAD": "Mark as unread",
+    "MAXLENGTH": "Maximum Length",
+    "MAXMESSAGES": "Max Messages",
+    "MAXSECONDS": "Max Seconds",
+    "MAY": "May",
+    "MEMBERDELAY": "Member Delay",
+    "MESSAGE": "Message",
+    "MESSAGES": "Messages",
+    "MESSAGESALIGNMENT": "Messages Alignment",
+    "METHOD": "Method",
+    "METRIC": "Metric",
+    "MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+    "MINUTEANNOUNCE": "Minute Announce",
+    "MINUTESANNOUNCE": "Minutes Announce",
+    "MOBILE": "Mobile",
+    "MODULES": "Modules",
+    "MOHSOUNDS": "Moh Sounds",
+    "MONITORFORMAT": "Recording Format",
+    "MORE": "More",
+    "MOTIONADDRESS": "Motion Address",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy Or Motion Domain",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Music On Hold",
+    "MUSICONHOLDS": "Music On Hold",
+    "NAME": "Name",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "New ChanSpy",
+    "NEW_CONTACT": "New Contact",
+    "NEW_CONTEXT": "New Context",
+    "NEW_INBOUNDROUTE": "New Inbound Route",
+    "NEW_INTERNALROUTE": "New Internal Route",
+    "NEW_MUSICONHOLD": "New Music On Hold",
+    "NEW_OUTBOUNDROUTE": "New Outbound Route",
+    "NEW_PROJECT": "New Project",
+    "NEW_TAB": "New Tab",
+    "NEW_TAG": "New Tag",
+    "NEW_VARIABLE": "New Variable",
+    "NEW_VOICEMAIL": "New Voicemail",
+    "NEW_VOICEQUEUE": "New Voice Queue",
+    "NO": "No",
+    "NONE": "None",
+    "NOOP": "Noop",
+    "NOTE": "Note",
+    "NOTES": "Notes",
+    "NOTIFICATION": "Notification",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Sound",
+    "NOTIFICATIONTEMPLATE": "Template",
+    "NOT_INUSE": "Not In Use",
+    "NO_AGENT_ONLINE": "No Agent Online",
+    "NO_APPS_AVAILABLE": "No applications available",
+    "NO_AVAILABLE_INFO": "No Available Info",
+    "NO_INTERACTION_AVAILABLE": "No interactions available",
+    "NO_MESSAGE_AVAILABLE": "No messages available",
+    "NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+    "NO_RATING": "No rating",
+    "NO_REGISTRY": "No Registry",
+    "NO_SOUND_AVAILABLE": "No sounds available",
+    "NUMBER": "Číslo",
+    "OF": "of",
+    "ONHOLD": "On Hold",
+    "OPEN": "Open",
+    "OPENCHANNEL": "Open Channel",
+    "OPENED": "Open",
+    "OPERATOR": "Operator",
+    "OPTIONS": "Options",
+    "ORIGINATED": "Originated",
+    "OTHERS": "Others",
+    "OUT": "Out",
+    "OUTBOUNDDIAL": "Outbound Dial",
+    "OUTBOUNDROUTE": "Outbound Route",
+    "OUTBOUNDROUTES": "Outbound Routes",
+    "OUTBOUND_CALLS": "Outbound Calls",
+    "OUTPUT": "Output",
+    "PAGE": "Page",
+    "PARTIALPAUSE": "Partial Pause",
+    "PASSWORD": "Password",
+    "PAUSE": "Pause",
+    "PAUSED": "Paused",
+    "PAUSE_TIME": "Pause time",
+    "PAYMENTMETHOD": "Platební metody",
+    "PENALTY": "Penalty",
+    "PENDING": "Pending",
+    "PERIODICANNOUNCE": "Periodic Announce",
+    "PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+    "PERSONAL_INFO": "Personal Info",
+    "PHONE": "Phone",
+    "PHONENUMBER": "Phone Number",
+    "PHONE_STATE": "Phone State",
+    "PHONE_STATUS": "Phone Status",
+    "PLAYBACK": "Playback",
+    "PLUGINS": "Plugins",
+    "PORT": "Port",
+    "POSITION": "Position",
+    "POSTALCODE": "Postal Code",
+    "PREFIX": "Prefix",
+    "PREVIEW": "Preview",
+    "PRIORITY": "Priority",
+    "PROJECT": "Cally-Square Project",
+    "PROJECTS": "Projects",
+    "PROXY": "Proxy",
+    "QUEUE": "Queue",
+    "QUEUES": "Queues",
+    "QUEUETRANSFER": "Queue Transfer",
+    "QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+    "QUEUE_CALLS": "Queue Calls",
+    "QUEUE_PARAMETERS": "Queue Parameters",
+    "QUEUE_PARAMS": "Queue Parameters",
+    "RANDOM": "Random",
+    "RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+    "RATING": "Rating",
+    "REACHABLE": "Reachable",
+    "READY": "Ready",
+    "REALTIME": "Realtime",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "Received At",
+    "RECEIVEURL": "Přijmout adresu URL",
+    "RECORD": "Record",
+    "RECORDING": "Recording",
+    "RECORDINGFORMAT": "Recording format",
+    "RECORDINGS": "Recordings",
+    "REFRESH_INTERACTIONS": "Refresh Interactions",
+    "REGISTERED": "Registered",
+    "REGISTRY": "Registry",
+    "REJECT": "Reject",
+    "REJECTED": "Rejected",
+    "REJECTMETHOD": "Reject Method",
+    "REJECTURL": "Reject URL",
+    "RELOAD": "Reload",
+    "REPLY": "Reply",
+    "REPORT": "Report",
+    "REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+    "RETRY": "Retry",
+    "RING": "Ring",
+    "RINGGROUP": "Ring Group",
+    "RINGING": "Ringing",
+    "RINGINUSE": "Ring In Use",
+    "ROWSPERPAGE": "Rows per page",
+    "RULE": "Rule",
+    "SAVE": "Save",
+    "SCHEDULEDAT": "Scheduled At",
+    "SCHEDULED_CALLS": "Naplánovaná volání",
+    "SCREENRECORDING": "Spravovat nahrávání obrazovky",
+    "SCRIPT": "Skript",
+    "SEARCH_FOR_ANYONE": "Search",
+    "SECONDSANNOUNCE": "Seconds Announce",
+    "SECRETACCESSKEY": "Tajný přístupový klíč",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Vybrat",
+    "SELECTED": "Selected",
+    "SELECTED_AGENTS": "Selected Agents",
+    "SELECTED_TEAMS": "Selected Teams",
+    "SELECTED_USERS": "Selected Users",
+    "SELECT_ACCOUNT": "Select Account",
+    "SELECT_ALL": "Select All",
+    "SELECT_DATE": "Select Start Date",
+    "SELECT_NONE": "Select None",
+    "SELECT_STATUS": "Select Status",
+    "SELECT_TYPE": "Select Type",
+    "SEND": "Send",
+    "SENDMAIL": "Send Email",
+    "SENTIMENTANALYSIS": "Analýza sentimentu",
+    "SERVICE": "Servis",
+    "SESSIONS": "Sessions",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Set Interface Variables",
+    "SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+    "SETQUEUEVARIABLES": "Set Queue Variables",
+    "SETTINGS": "Settings",
+    "SHOW_ALL_FIELDS": "Show all fields",
+    "SHOW_DETAILS": "Show details",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Host",
+    "SMTP_PORT": "Port",
+    "SOCIAL": "Social",
+    "SORT": "Sort",
+    "SOURCE": "Source",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Staff",
+    "STARTEDAT": "Started At",
+    "STARTTIME": "Start Time",
+    "START_SCREENRECORDING": "Spusťte nahrávání obrazovky",
+    "STATE": "State",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Zastavte nahrávání obrazovky",
+    "STRATEGY": "Strategy",
+    "SUBJECT": "Subject",
+    "SYSTEM": "System",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Talking",
+    "TEAMS_ASSOCIATION": "Asociace týmů",
+    "TECHNOLOGY/RESOURCE": "Technology/Resource",
+    "TELEPHONES": "Telephones",
+    "TEMPLATE": "Template",
+    "TEXT": "Text",
+    "THANKYOUANNOUNCE": "'Thank You' Announce",
+    "THEREAREANNOUNCE": "'There are' Announce",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout Restart",
+    "TIMER": "Timer",
+    "TIMES": "Number of times per interaction",
+    "TIMEZONE": "Timezone",
+    "TO": "To",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky",
+    "TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total Offered",
+    "TRANSCRIBE": "Přepsat",
+    "TRANSFER": "Transfer",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "True Priority",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Trunk Status",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Unavailable",
+    "UNIQUEID": "Unique ID",
+    "UNKNOWN": "Unknown",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "End Pause",
+    "UNREACHABLE": "Unreachable",
+    "UNREGISTERED": "Unregistered",
+    "UP": "Up",
+    "UPDATE": "Update",
+    "UPLOADING": "Uploading",
+    "URL": "URL",
+    "USER": "User",
+    "USERNAME": "Uživatelské jméno",
+    "USERS": "Users",
+    "VALUE": "Value",
+    "VARIABLE": "Variable",
+    "VIDAOOSESSION": "Zahajte videohovor",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video podpora",
+    "VOICE": "Voice",
+    "VOICEMAIL": "Voicemail",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "Context",
+    "VOICEQUEUES": "Voice Queues",
+    "VOICERECORDINGS": "Voice Recordings",
+    "WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+    "WAITING": "Waiting",
+    "WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Weight",
+    "WELCOMEMESSAGE": "Uvítací zpráva",
+    "WHATSAPP": "WhatsApp Connector",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Wrapup Time",
+    "WRONG_EXTENSION": "Soubor představuje nesprávnou příponu",
+    "YES": "Yes",
+    "YOUARENEXTANNOUNCE": "'You are next' Announce"
+  }
+}
diff --git a/public/app/main/i18n/da.json b/public/app/main/i18n/da.json
new file mode 100644
index 0000000..98ad431
--- /dev/null
+++ b/public/app/main/i18n/da.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Afbrudt",
+    "ABANDONEDCALLS": "Forladte køopkald",
+    "ABANDONED_CALLS": "Afbrudte opkald",
+    "ACCEPT": "Accepter",
+    "ACCEPTMETHOD": "Acceptere metode",
+    "ACCEPTURL": "Acceptere URL",
+    "ACCESSKEYID": "Adgangsnøgle-ID",
+    "ACCOUNT": "Konto",
+    "ACCOUNTNAME": "Kontonavn",
+    "ACCOUNTS": "Konti",
+    "ACCOUNTSID": "Konto SID",
+    "ACTIONS": "Handlinger",
+    "ACTIVE": "Aktiv",
+    "ADD": "Tilføj",
+    "ADDRESS": "Adresse",
+    "ADD_AGENT_TO_VOICEQUEUE": "Tilføj til kø Agent Voice",
+    "ADD_CHANSPY": "Tilføj ChanSpy",
+    "ADD_CONTACT": "Tilføj kontakt",
+    "ADD_CONTEXT": "Føjer kontekst",
+    "ADD_INBOUNDROUTE": "Tilføj Inbound Route",
+    "ADD_INTERNALROUTE": "Tilføj intern rute",
+    "ADD_MOHSOUND": "Tilføj musik på Hold lyd",
+    "ADD_MUSICONHOLD": "Tilføj musik på hold",
+    "ADD_NOTE": "Tilføj note",
+    "ADD_OUTBOUNDROUTE": "Tilføj Udgående rute",
+    "ADD_PROJECT": "Tilføj projekt",
+    "ADD_TAG": "Læg mærke",
+    "ADD_TEAM_TO_VOICEQUEUE": "Føj holdet til Voice kø",
+    "ADD_VARIABLE": "Tilføj variabel",
+    "ADD_VOICEMAIL": "Tilføj Voicemail",
+    "ADD_VOICEQUEUE": "Læg stemme kø",
+    "ADVANCED": "Avanceret",
+    "AFTERCALLWORK": "Efter Opkaldsarbejde",
+    "AFTERCALLWORKDURATION": "Efterarbejde varighed",
+    "AGENT": "Agent",
+    "AGENTS": "Agenter",
+    "AGENTSADD_QUEUE": "Tilføj til kø stemme",
+    "AGENTTRANSFER": "Agent Overførsel",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Agent Timeout",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Alle",
+    "ALLOWCODECS": "Medbringes Codecs",
+    "ALL_AGENTS": "Alle agenter",
+    "ALL_TEAMS": "Alle hold",
+    "ALL_USERS": "Alle brugere",
+    "ALPHABETICAL": "Alfabetisk",
+    "ALWAYS": "Altid",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Annoncere Opkalds Position",
+    "ANNOUNCEFREQUENCY": "Annoncere frekvens",
+    "ANNOUNCEHOLDTIME": "Annoncere parkeret tid",
+    "ANNOUNCEMENTS": "Spots",
+    "ANNOUNCEPOSITIONLIMIT": "Annoncere bordposition",
+    "ANNOUNCETOAGENT": "Annoncere til agent",
+    "ANNOUNCE_OVERRIDES": "Annoncere tilsidesætter",
+    "ANSWER": "Svar",
+    "ANSWERED": "Besvaret",
+    "API": "API",
+    "APIKEY": "Api Key",
+    "APPLICATION": "Anvendelse",
+    "APPLICATION_NAME": "Programnavn",
+    "ARGUMENTS": "Argumenter",
+    "ATTACH": "Fastgør",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Lydfiler",
+    "AUDIO_FILES": "Lydfiler",
+    "AUTH": "Godk.",
+    "AUTHTOKEN": "Tilladelsen Token",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Automatisk svar",
+    "AVG_BILLABLE": "Avg fakturerbare",
+    "AVG_HOLD_TIME": "Gennemsnitlig parkeringstid",
+    "BACK": "Tilbage",
+    "BLACKLIST": "Sortliste",
+    "BODY": "Legeme",
+    "BOTNAME": "Bot navn",
+    "BUILDER": "Builder",
+    "BUSY": "Optaget",
+    "CALLED": "Kaldet",
+    "CALLER": "Opkalder",
+    "CALLERID": "Nummervisning",
+    "CALLER_ID": "Nummervisning",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampagne",
+    "CANCEL": "Afbestille",
+    "CANNEDANSWERS": "Konserves svar",
+    "CANNED_ANSWER_NOT_FOUND": "Ingen svar blev fundet på dåse",
+    "CANNED_ANSWER_SEARCH": "Indtast en søgetekst et pakket svar",
+    "CANT_DOWNLOAD_THIS_FILE": "Denne fil kan ikke downloades",
+    "CAPACITY": "Kapacitet",
+    "CHANNEL": "Kanal",
+    "CHANNELS": "Kanaler",
+    "CHANSPIES": "Chan Spies",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "City",
+    "CLEAR": "Klar",
+    "CLOSE": "Tæt",
+    "CLOSED": "Lukket",
+    "CLOSEDAT": "Lukket på",
+    "CLOSEMETHOD": "Luk metode",
+    "CLOSEURL": "Luk URL",
+    "CLOSING": "Lukning",
+    "COMMAND": "Kommando",
+    "COMPANIES": "Virksomheder",
+    "COMPANY": "Selskab",
+    "CONDITION": "Betingelse",
+    "CONFIRM_PASSWORD": "Bekræft adgangskode",
+    "CONNECTED": "Tilsluttet",
+    "CONTACT": "Kontakt",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Kontakter",
+    "CONTENT": "Indhold",
+    "CONTEXT": "Kontekst",
+    "CONTEXTS": "Sammenhænge",
+    "COUNTRY": "Land",
+    "CREATED_AT": "Oprettet på",
+    "CUSTOM": "Brugerdefineret",
+    "CUSTOMER_JOURNEY": "Kunderejse",
+    "CUSTOM_FIELDS": "Brugerdefinerede felter",
+    "CUTDIGITS": "Skær cifre",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Dato",
+    "DATE_OF_BIRTH": "Fødselsdato",
+    "DEFAULT": "Standard",
+    "DEFAULT_PAUSE": "Standard PAUSE",
+    "DELETE": "Slet",
+    "DELETE_APP": "Sletteprogrammer",
+    "DELETE_CHANSPY": "Slet ChanSpy",
+    "DELETE_CONTEXT": "Slette rammer",
+    "DELETE_HOPPER": "Sletning af tragt",
+    "DELETE_INBOUNDROUTE": "Slet indgående rute",
+    "DELETE_INTERACTION": "Slet interaktion",
+    "DELETE_INTERNALROUTE": "Slette Intern rute",
+    "DELETE_MOHSOUND": "Slette musik på Hold lyd",
+    "DELETE_MUSICONHOLD": "Slette musik på hold",
+    "DELETE_OUTBOUNDROUTE": "Slette Udgående rute",
+    "DELETE_PROJECT": "Slet projekt",
+    "DELETE_SELECTED": "Slet valgte",
+    "DELETE_VOICEDISPOSITION": "Slet Disp.",
+    "DELETE_VOICEMAIL": "Slette Voicemail",
+    "DELETE_VOICEQUEUE": "Slet kø",
+    "DELETE_VOICERECORDING": "Slette Taleoptagelser",
+    "DELIVERYREPORTURL": "Leveringsrapport-URL",
+    "DESCRIPTION": "Beskrivelse",
+    "DESTINATION": "Destination",
+    "DESTINATIONPATTERN": "Destination mønster",
+    "DETAIL": "Detaljer",
+    "DETAILS": "detaljer",
+    "DIAL": "Dial",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "Vidste",
+    "DIRECTORY": "Kategorier",
+    "DISABLED": "Deaktiveret",
+    "DISPOSITION": "Disp.",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "Hent",
+    "DOWNLOAD_INTERACTION": "Hent",
+    "DOWNLOAD_MOHSOUND": "Download musik på Hold lyd",
+    "DOWNLOAD_VOICERECORDING": "Download stemmeoptagelse",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Download uden vedhæftet fil",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download uden vedhæftede filer",
+    "DOWNLOAD_WITH_ATTACHMENT": "Download med vedhæftet fil",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download med vedhæftede filer",
+    "DROPPED": "Faldet",
+    "DROP_TO_UPLOAD": "Slip for upload",
+    "DURATION": "Varighed",
+    "EDIT": "Rediger",
+    "EDIT_AGENT": "Rediger Agent",
+    "EDIT_AGI": "Rediger AGI",
+    "EDIT_AMAZONLEX": "Rediger Lex-konfiguration",
+    "EDIT_APP": "Redigeringsprogram",
+    "EDIT_AUTOREPLY": "Edit Auto svar",
+    "EDIT_CHANSPY": "Rediger ChanSpy",
+    "EDIT_CLOSE": "Rediger tæt",
+    "EDIT_CONTEXT": "Rediger forbindelse",
+    "EDIT_CUSTOM": "Rediger brugerdefineret",
+    "EDIT_DIAL": "Rediger Dial",
+    "EDIT_DIALOGFLOW": "Rediger Dialogflow-konfiguration",
+    "EDIT_EXTERNALDIAL": "Rediger eksternt opkald",
+    "EDIT_GOTO": "Rediger GoTo",
+    "EDIT_GOTOIF": "Rediger GotoIf",
+    "EDIT_GOTOP": "Rediger GotoP",
+    "EDIT_HANGUP": "Rediger Hangup",
+    "EDIT_HOPPER": "Rediger Hopper",
+    "EDIT_INBOUNDROUTE": "Rediger indgående rute",
+    "EDIT_INTERNALDIAL": "Rediger Intern Dial",
+    "EDIT_INTERNALROUTE": "Rediger Intern rute",
+    "EDIT_INTERVAL": "Rediger interval",
+    "EDIT_MUSICONHOLD": "Rediger musik på hold",
+    "EDIT_NOOP": "Rediger Noop",
+    "EDIT_OUTBOUNDROUTE": "Rediger udgående rute",
+    "EDIT_PLAYBACK": "Videoredigering",
+    "EDIT_PROJECT": "Rediger projekt",
+    "EDIT_QUEUE": "Rediger kø",
+    "EDIT_RINGGROUP": "Rediger Ring gruppe",
+    "EDIT_SET": "Rediger Indstil",
+    "EDIT_SYSTEM": "Rediger system",
+    "EDIT_TAG": "Rediger tag",
+    "EDIT_TRUNK": "Rediger Trunk",
+    "EDIT_VOICEDISPOSITION": "Redigere en indstilling",
+    "EDIT_VOICEMAIL": "Rediger Voicemail",
+    "EDIT_VOICEQUEUE": "Redigere en kø",
+    "EDIT_VOICERECORDING": "Rediger stemmeoptagelse",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "E-mail adresse",
+    "EMAILBODY": "Email Body",
+    "EMAILSUBJECT": "E-mail emne",
+    "ENABLED": "Aktiveret",
+    "ENCRYPTION": "Kryptering",
+    "ENDTIME": "Sluttidspunkt",
+    "ENVELOPE": "Kuvert",
+    "EQUALS": "Lige med",
+    "ERROR": "Fejl",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Det acceptere URL skal være skrevet i et gyldigt format",
+      "ACCESSKEYID_REQUIRED": "Adgangsnøgle-ID er påkrævet",
+      "ACCOUNTNAME_REQUIRED": "Kontonavnet er påkrævet",
+      "ACCOUNTSID_REQUIRED": "Obligatorisk felt",
+      "AFTERCALLWORKDURATION_REQUIRED": "Det Efterarbejde varighed er påkrævet",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
+      "AGENT_REQUIRED": "Agenten er påkrævet",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
+      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout er påkrævet",
+      "ALIAS_REQUIRED": "Aliaset er påkrævet",
+      "APIKEY_REQUIRED": "API-nøgle kræves",
+      "APPLICATION_REQUIRED": "Ansøgningen skal udfyldes",
+      "AUTHTOKEN_REQUIRED": "Bevillingsformaliteter token er påkrævet",
+      "BOTNAME_REQUIRED": "Bot navn kræves",
+      "CLOSEURL_MUST_VALID_URL": "Den tætte URL skal være skrevet i et gyldigt format",
+      "COMMAND_REQUIRED": "Obligatorisk felt",
+      "CONDITION_REQUIRED": "Betingelsen er påkrævet",
+      "CONFIRM_NOT_MATCH": "Adgangskoderne stemmer ikke overens",
+      "CONTENT_REQUIRED": "Indholdet kræves",
+      "CONTEXT_REQUIRED": "Konteksten er påkrævet",
+      "DESTINATIONPATTERN_REQUIRED": "Destinationen mønster er påkrævet",
+      "DISPOSITION_REQUIRED": "Dispositionen er nødvendig",
+      "EMAIL_MUST_VALID": "E-mailen skal være skrevet i et gyldigt format",
+      "EMAIL_REQUIRED": "E-mail er påkrævet",
+      "EXTENSION_REQUIRED": "Den udvidelse er nødvendig",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den Falske prioritet skal være større end eller lig med",
+      "FALSEPRIORITY_REQUIRED": "Den Falske prioritet er påkrævet",
+      "FIELD_REQUIRED": "Feltet er påkrævet",
+      "FIRSTNAME_REQUIRED": "Det første navn er påkrævet",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
+      "FONTSIZE_REQUIRED": "Obligatorisk felt",
+      "FULLNAME_REQUIRED": "Det fulde navn er påkrævet",
+      "HOST_REQUIRED": "Værten er påkrævet",
+      "KEY_MAX_LENGTH": "Nøgle skal have en maksimal længde på {{max}}",
+      "KEY_REQUIRED": "Den nøgle er påkrævet",
+      "LIST_REQUIRED": "Listen er påkrævet",
+      "MAILBOX_REQUIRED": "Postkassen er påkrævet",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt",
+      "METHOD_REQUIRED": "Obligatorisk felt",
+      "MOTIONADDRESS_MUST_VALID_URL": "Motion adresse skal være skrevet i et gyldigt format",
+      "MOTIONADDRESS_REQUIRED": "Motion Adresse skal angives.",
+      "MOTIONPROXY_MUST_VALID_URL": "Forkert format",
+      "MOTIONPROXY_REQUIRED": "Obligatorisk felt",
+      "NAME_MUST_VALID_PATTERN": "Navnet skal være skrevet i et gyldigt format",
+      "NAME_REQUIRED": "Navnet er påkrævet",
+      "OPTIONS_REQUIRED": "Mulighederne er påkrævet",
+      "OUTBOUNDROUTE_REQUIRED": "Obligatorisk felt",
+      "PASSWORD_REQUIRED": "Adgangskoden kræves",
+      "PHONENUMBER_REQUIRED": "Telefonnummeret er påkrævet",
+      "PHONE_REQUIRED": "Telefonen er påkrævet",
+      "PREFIX_REQUIRED": "Præfikset er påkrævet",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioriteringen skal være større end eller lig med",
+      "PRIORITY_REQUIRED": "Indsatsen er påkrævet",
+      "PROJECT_REQUIRED": "Obligatorisk felt",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt",
+      "QUEUE_REQUIRED": "Køen er påkrævet",
+      "REJECTURL_MUST_VALID_URL": "Reject-URL skal være skrevet i et gyldigt format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Dette forsøg skal være større end eller lig med",
+      "SECRETACCESSKEY_REQUIRED": "Obligatorisk felt",
+      "SENDERSTRING_MAX_LENGTH": "Værdien skal have en maksimal længde svarende til {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Forkert format",
+      "SID_REQUIRED": "SID er påkrævet",
+      "TAG_REQUIRED": "Obligatorisk felt",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Teknologien/ressource er påkrævet",
+      "TEXT_MAX_LENGTH": "Værdien skal have en maksimal længde svarende til {{max}}",
+      "TEXT_REQUIRED": "Feltet tekst er påkrævet",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Time-out skal være større end eller lig med",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
+      "TIMEOUT_REQUIRED": "Timeout er påkrævet",
+      "TIMEZONE_REQUIRED": "Tidszonen er påkrævet",
+      "TOKEN_REQUIRED": "Dette token er påkrævet",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den sande prioritering skal være større end eller lig med",
+      "TRUEPRIORITY_REQUIRED": "Den sande prioritering er nødvendig",
+      "TRUNK_REQUIRED": "Obligatorisk felt",
+      "TYPE_REQUIRED": "Obligatorisk felt",
+      "URL_REQUIRED": "URL'en er påkrævet",
+      "USERNAME_REQUIRED": "Obligatorisk felt",
+      "VALUE_REQUIRED": "Værdien er nødvendig",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatorisk felt",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vægten skal være større end eller lig med",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Det Afslutningstiden skal være større end eller lig med"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimeret Parkeringstid annoncere",
+    "EXTENSION": "Udvidelse",
+    "EXTERNALDIAL": "Eksterne opkald",
+    "FAILED": "Mislykkedes",
+    "FALSEPRIORITY": "Falske prioritet",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Felt",
+    "FIELDS": "Felter",
+    "FILE": "Fil",
+    "FILE_NOT_FOUND": "Fil ikke fundet",
+    "FILTER": "Filter",
+    "FILTERS": "Filtre",
+    "FINISH": "Finish",
+    "FONTSIZE": "Skriftstørrelse",
+    "FORMAT": "Format",
+    "FREE": "Gratis",
+    "FROM": "Fra",
+    "FULLNAME": "Fulde navn",
+    "GENERAL": "Generel",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = Ikke tildelte nummer",
+    "HANGUPCAUSE_16": "16 = Normail opkaldsfrigivelse",
+    "HANGUPCAUSE_17": "17 = Bruger optaget",
+    "HANGUPCAUSE_18": "18 = Ingen brugersvar (telehone enhed ikke tilsluttet).",
+    "HANGUPCAUSE_21": "21 = afvist opkald",
+    "HANGUPCAUSE_22": "22 = Antal ændret",
+    "HANGUPCAUSE_27": "27 = Destination ikke i drift",
+    "HANGUPCAUSE_38": "38 = Netværk ude af drift",
+    "HANGUPCAUSE_41": "41 = midlertidig fejl",
+    "HANGUP_CAUSE": "Hangup årsag",
+    "HEADERS": "headers",
+    "HELP": {
+      "AFTERCALLWORK": "Hvis aktiv, vil agenten blive sat på pause efter et afsluttet opkald i kø",
+      "AFTERCALLWORKDURATION": "Varigheden af pausen startet af Efterarbejde indstilling",
+      "ANNOUNCECALLERPOSITION": "Definerer om opkaldets position i køen, skal du oplyse til hende. Hvis der ingen holdning vil aldrig blive offentliggjort. Hvis sat til Ja, opkaldets position vil altid blive annonceret. Hvis værdien er indstillet til grænsen, der ringer, høre hendes position i køen, hvis det er inden for rammerne defineret ved at annoncere stillinger-grænsen. Hvis værdien er mere vedkommende, der ringer, høre hendes holdning, hvis det overstiger det antal, der er defineret ved at annoncere stillinger-grænsen.",
+      "ANNOUNCEHOLDTIME": "Definerer om den anslåede ventetid bør spilles sammen med regelmæssige beskeder.",
+      "ANNOUNCETOAGENT": "Bruges til at spille en bekendtgørelse til agenten, der besvarede opkaldet, typisk at lade ham vide, hvad køen personen kommer fra.",
+      "CONTEXT": "Gør det muligt for en person at forlade køen ved at trykke en enkelt DTMF ciffer. Hvis en sammenhæng er specificeret, og opkalderen indtaster en række tal, som vil prøve at blive matchet i forbindelse angivet, og opkaldsplanen udførelsen fortsætter der.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"Den anslåede aktuelle hold-tid\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "HOLDTIMEANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"hold\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "LIST": "Kontakt Manager listen bruges til at knytte kontakter",
+      "MANDATORYDISPOSITION": "Obligatorisk disposition",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausestatus, der skal indstilles under obligatorisk disposition",
+      "MEMBERDELAY": "Hvis du ønsker, at der skal være en forsinkelse før personen, og køen kan være forbundet med hinanden.",
+      "MINANNOUNCEFREQUENCY": "Angiver den minimale mængde tid, der skal gå, inden vi annoncerer kaldets placering i køen igen. Dette bruges når den opkaldendes position kan skifte hyppigere for at undgå personen høre flere opdateringer i en kort periode.",
+      "MINUTEANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"minut\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "MINUTESANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"protokollen\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "MONITORFORMAT": "Angiver filformatet til brug ved optagelse. Hvis skærm-format er inaktiv, vil ikke blive registreret.",
+      "MOTIONPROXY": "Indtast i følgende format: <protokol>://<ipaddress>[:<port>]. Eksempel: https://X.Y.Z.W",
+      "MUSICONHOLD": "Sæt musikken klasse, der skal bruges ved en bestemt kø.",
+      "NAME": "Kun tal og bogstaver og specielle tegn (.________) understøttes",
+      "PERIODICANNOUNCE": "En række regelmæssige beskeder der skal spilles, spilles i den rækkefølge, som de er defineret.",
+      "PERIODICANNOUNCEFREQUENCY": "Angiver, hvor ofte vi skal foretage regelmæssige beskeder til personen.",
+      "RECORDING": "Aktivering af optagelse af opkald",
+      "REPORTHOLDTIMEAGENT": "Gør rapportering på kalderens holdetid til køen medlem forud for brobygning.",
+      "RINGINUSE": "Bruges til at undgå at sende opkald til medlemmer, hvis status er i brug.",
+      "SECONDSANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"sekunder\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "THANKYOUANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"Tak for jeres tålmodighed\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "THEREAREANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"Er\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "TIMEOUTRESTART": "Hvis sat til Ja, nulstiller timeout for en agent at besvare hvis enten optaget eller overbelastning status modtages fra kanalen.",
+      "TYPE": "Bestemmer SIP rolle i stjerne. Bruger: bruges til at autentificere indgående - Peer: til udgående opkald - Ven: dækker både beskrivelse af ovenstående.",
+      "VOICEMAIL_CONTEXT": "På baggrund af den relative forlængelse.",
+      "WAITINGCALLSANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"ventende opkald\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet.",
+      "WELCOMEMESSAGE": "Dette er den første meddelelse, der sendes til kontaktpersonen",
+      "YOUARENEXTANNOUNCE": "Hvis der ikke er defineret, vil spille standardværdien (\"You are now first in line\"). Hvis indstillet til en tom værdi, spørg ikke afspilles overhovedet."
+    },
+    "HIDE_DETAILS": "Skjul oplysninger",
+    "HOLDTIMEANNOUNCE": "Parkeret tid annoncere",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Tomgang",
+    "IN": "I",
+    "INBOUNDROUTES": "Indkommende ruter",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Indsæt din tekstbesked her",
+    "INTEGRATIONS": "Integrationer",
+    "INTERACTION": "Interaktion",
+    "INTERACTIONS": "Interaktioner",
+    "INTERNAL": "Intern",
+    "INTERNALDIAL": "Interne opkald",
+    "INTERNALROUTES": "Indenrigsruter",
+    "INTERVAL": "Interval",
+    "INTERVALS": "Mellemrum",
+    "INUSE": "I BRUG",
+    "INVALID": "Ugyldig",
+    "IN_USE": "I BRUG",
+    "JOINWHENEMPTY": "Deltag når tom",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Nøgle",
+    "LAGGED": "Laggede",
+    "LANGUAGE": "Sprog",
+    "LASTMESSAGE": "Sidste besked",
+    "LASTNAME": "Efternavn",
+    "LAST_MONTH": "Sidste måned",
+    "LEAVEWHENEMPTY": "Lad når tom",
+    "LEXREGION": "Område",
+    "LIMITED": "Begrænset",
+    "LIST": "Listen",
+    "LOGGED_IN": "Logget ind",
+    "LOGIN_TIME": "Login tid",
+    "LOGO": "Logo",
+    "LOGOUT": "Log af",
+    "MACRO": "Makro",
+    "MAIL": "Mail",
+    "MAILBOX": "Postkasse",
+    "MAILBOX@CONTEXT": "Postkasse@sammenhæng",
+    "MANAGED": "Lykkedes",
+    "MANDATORYDISPOSITION": "Obligatorisk disposition",
+    "MANDATORYDISPOSITIONPAUSEID": "Obligatorisk disposition pausestatus",
+    "MARK_AS_UNREAD": "Marker som ulæst",
+    "MAXLENGTH": "Maksimal længde",
+    "MAXMESSAGES": "Max meddelelser",
+    "MAXSECONDS": "Max sekunder",
+    "MAY": "Kan",
+    "MEMBERDELAY": "Medlem forsinkelse",
+    "MESSAGE": "Besked",
+    "MESSAGES": "Meddelelser",
+    "MESSAGESALIGNMENT": "Meddelelser Justering",
+    "METHOD": "Metode",
+    "METRIC": "metric",
+    "MINANNOUNCEFREQUENCY": "Annoncere Frekvens min.",
+    "MINUTEANNOUNCE": "Minut annoncere",
+    "MINUTESANNOUNCE": "Minutter præsentere",
+    "MOBILE": "Mobil",
+    "MODULES": "Moduler",
+    "MOHSOUNDS": "Moh lyde",
+    "MONITORFORMAT": "Optagelsesformat",
+    "MORE": "Mere",
+    "MOTIONADDRESS": "Motion adresse",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy eller Motion domæne",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musik ved parkeret opkald",
+    "MUSICONHOLDS": "Bifag i venteposition",
+    "NAME": "Navnet",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Nye ChanSpy",
+    "NEW_CONTACT": "Ny kontakt",
+    "NEW_CONTEXT": "Ny forbindelse",
+    "NEW_INBOUNDROUTE": "Nye indkommende rute",
+    "NEW_INTERNALROUTE": "Nye interne rute",
+    "NEW_MUSICONHOLD": "Ny musik på hold",
+    "NEW_OUTBOUNDROUTE": "Nye Udgående rute",
+    "NEW_PROJECT": "Nyt projekt",
+    "NEW_TAB": "Ny fane",
+    "NEW_TAG": "Nyt tag",
+    "NEW_VARIABLE": "Ny variabel",
+    "NEW_VOICEMAIL": "Nye voicemail",
+    "NEW_VOICEQUEUE": "Nye voicemail kø",
+    "NO": "Ingen",
+    "NONE": "Ingen",
+    "NOOP": "Noop",
+    "NOTE": "Bemærk",
+    "NOTES": "Noter",
+    "NOTIFICATION": "Notifikation",
+    "NOTIFICATIONSHAKE": "Ryste",
+    "NOTIFICATIONSOUND": "Lyd",
+    "NOTIFICATIONTEMPLATE": "Skabelon",
+    "NOT_INUSE": "Ikke i brug",
+    "NO_AGENT_ONLINE": "Ingen Agent Online",
+    "NO_APPS_AVAILABLE": "Ingen mulige applikationer",
+    "NO_AVAILABLE_INFO": "Der er ingen tilgængelig info",
+    "NO_INTERACTION_AVAILABLE": "Ingen interaktioner tilgængelig",
+    "NO_MESSAGE_AVAILABLE": "Der findes ingen meddelelser",
+    "NO_MOHSOUND_AVAILABLE": "Ingen musik på Hold til rådighed",
+    "NO_RATING": "Ingen bedømmelse",
+    "NO_REGISTRY": "Ingen registreringsdatabase",
+    "NO_SOUND_AVAILABLE": "Ingen lyde tilgængelige",
+    "NUMBER": "Nummer",
+    "OF": "Af",
+    "ONHOLD": "Parkeret",
+    "OPEN": "Åbn",
+    "OPENCHANNEL": "Åben kanal",
+    "OPENED": "Åbn",
+    "OPERATOR": "Operatøren",
+    "OPTIONS": "Valgmuligheder",
+    "ORIGINATED": "Oprindelse",
+    "OTHERS": "Andre",
+    "OUT": "Ud",
+    "OUTBOUNDDIAL": "Udgående opkald",
+    "OUTBOUNDROUTE": "Udgående rute",
+    "OUTBOUNDROUTES": "Udgående ruter",
+    "OUTBOUND_CALLS": "Udgående opkald",
+    "OUTPUT": "Udgang",
+    "PAGE": "Page",
+    "PARTIALPAUSE": "Delvis Pause",
+    "PASSWORD": "Password",
+    "PAUSE": "Pause",
+    "PAUSED": "Pause",
+    "PAUSE_TIME": "Pause tid",
+    "PAYMENTMETHOD": "Betalingsmetoder",
+    "PENALTY": "Straf",
+    "PENDING": "Indtil",
+    "PERIODICANNOUNCE": "Periodisk annoncere",
+    "PERIODICANNOUNCEFREQUENCY": "Periodisk Annoncere frekvens",
+    "PERSONAL_INFO": "Personal Info",
+    "PHONE": "Telefonen",
+    "PHONENUMBER": "Telefonnummer",
+    "PHONE_STATE": "Telefonens tilstand",
+    "PHONE_STATUS": "Telefonstatus",
+    "PLAYBACK": "Afspilning",
+    "PLUGINS": "plugins",
+    "PORT": "Port",
+    "POSITION": "Position",
+    "POSTALCODE": "Postnummer",
+    "PREFIX": "Præfiks",
+    "PREVIEW": "Preview",
+    "PRIORITY": "Prioritet",
+    "PROJECT": "Cally-Square projekt",
+    "PROJECTS": "Projekter",
+    "PROXY": "Proxy",
+    "QUEUE": "Kø",
+    "QUEUES": "Køer",
+    "QUEUETRANSFER": "Køoverførsel",
+    "QUEUETRANSFERTIMEOUT": "Kø overførsel timeout",
+    "QUEUE_CALLS": "Opkald i kø",
+    "QUEUE_PARAMETERS": "Køen parametre",
+    "QUEUE_PARAMS": "Køen parametre",
+    "RANDOM": "Tilfældig",
+    "RANDOMPERIODICANNOUNCE": "Tilfældige periodiske annoncere",
+    "RATING": "Rating",
+    "REACHABLE": "Nås",
+    "READY": "Klar",
+    "REALTIME": "Realtime",
+    "RECALLME": "Hent mig",
+    "RECEIVED_AT": "Modtaget på",
+    "RECEIVEURL": "Modtag URL",
+    "RECORD": "Registrer",
+    "RECORDING": "Optagelse",
+    "RECORDINGFORMAT": "Optagelsesformat",
+    "RECORDINGS": "Optagelser",
+    "REFRESH_INTERACTIONS": "Opdater interaktioner",
+    "REGISTERED": "Registreret",
+    "REGISTRY": "Registry",
+    "REJECT": "Afvis",
+    "REJECTED": "Afvist",
+    "REJECTMETHOD": "Afvis metode",
+    "REJECTURL": "Afvis URL",
+    "RELOAD": "Reload",
+    "REPLY": "Svar",
+    "REPORT": "Rapport",
+    "REPORTHOLDTIMEAGENT": "Rapporten Agent parkeret tid",
+    "RETRY": "Prøv igen",
+    "RING": "Ring",
+    "RINGGROUP": "Ring gruppe",
+    "RINGING": "Ringer",
+    "RINGINUSE": "Ringen er i brug",
+    "ROWSPERPAGE": "Rækker pr. side",
+    "RULE": "Regel",
+    "SAVE": "Gem",
+    "SCHEDULEDAT": "Planlagt til",
+    "SCHEDULED_CALLS": "Planlagte opkald",
+    "SCREENRECORDING": "Administrer skærmoptagelse",
+    "SCRIPT": "Manuskript",
+    "SEARCH_FOR_ANYONE": "Søg efter alle",
+    "SECONDSANNOUNCE": "Sekunder annoncere",
+    "SECRETACCESSKEY": "Hemmelig adgangsnøgle",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Vælg",
+    "SELECTED": "Valgt",
+    "SELECTED_AGENTS": "Udvalgte agenter",
+    "SELECTED_TEAMS": "Udvalgte Teams",
+    "SELECTED_USERS": "Udvalgte brugere",
+    "SELECT_ACCOUNT": "Vælg konto",
+    "SELECT_ALL": "Vælg Alle",
+    "SELECT_DATE": "Vælg Startdato",
+    "SELECT_NONE": "Vælg Ingen",
+    "SELECT_STATUS": "Vælg Status",
+    "SELECT_TYPE": "Vælg Type",
+    "SEND": "Send",
+    "SENDMAIL": "Send en e-mail",
+    "SENTIMENTANALYSIS": "Følelsesanalyse",
+    "SERVICE": "Service",
+    "SESSIONS": "Sessions",
+    "SET": "Indstil",
+    "SETINTERFACEVARIABLES": "Indstil brugerflade variabler",
+    "SETQUEUEENTRYVARIABLES": "Indstil Queue Entry variabler",
+    "SETQUEUEVARIABLES": "Sæt Kø variabler",
+    "SETTINGS": "Indstillinger",
+    "SHOW_ALL_FIELDS": "Vis alle felter",
+    "SHOW_DETAILS": "Vis detaljer",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP Host",
+    "SMTP_PORT": "SMTP-port",
+    "SOCIAL": "Social",
+    "SORT": "Sorter",
+    "SOURCE": "Kilde",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Personalet",
+    "STARTEDAT": "Startet på",
+    "STARTTIME": "Starttidspunkt",
+    "START_SCREENRECORDING": "Start skærmoptagelse",
+    "STATE": "Medlemsstat",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Optagelse af stopskærm",
+    "STRATEGY": "Strategi",
+    "SUBJECT": "Genstand",
+    "SYSTEM": "System",
+    "TAG": "tag",
+    "TAGS": "Tags",
+    "TALKING": "Samtale",
+    "TEAMS_ASSOCIATION": "Holdforening",
+    "TECHNOLOGY/RESOURCE": "Teknologi/Ressource",
+    "TELEPHONES": "Telefoner",
+    "TEMPLATE": "Skabelon",
+    "TEXT": "Tekst",
+    "THANKYOUANNOUNCE": "Tak annoncere",
+    "THEREAREANNOUNCE": "'Der er' annoncere",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout genstart",
+    "TIMER": "Timer",
+    "TIMES": "Antal gange pr. interaktion",
+    "TIMEZONE": "Tidszone",
+    "TO": "Til",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Screen optagelse tilgængelig",
+    "TOOLTIP_SCREENRECORDING_ON": "Skærmoptagelse pågår",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Samlet udbydes",
+    "TRANSCRIBE": "Transcribe",
+    "TRANSFER": "Overførsel",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "Sande prioritering",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Trunk Status",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Ikke tilgængelig",
+    "UNIQUEID": "Unikt ID",
+    "UNKNOWN": "Ukendt",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "Unpause",
+    "UNREACHABLE": "Ikke tilgængelig",
+    "UNREGISTERED": "Uregistreret",
+    "UP": "Op",
+    "UPDATE": "Opdater",
+    "UPLOADING": "Upload",
+    "URL": "URL",
+    "USER": "Bruger",
+    "USERNAME": "Brugernavn",
+    "USERS": "Brugere",
+    "VALUE": "Værdi",
+    "VARIABLE": "Variabel",
+    "VIDAOOSESSION": "Start videoopkald",
+    "VIDEO": "video",
+    "VIDEOSUPPORT": "Video support",
+    "VOICE": "Voice",
+    "VOICEMAIL": "Telefonsvarer",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "Kontekst",
+    "VOICEQUEUES": "Voice køer",
+    "VOICERECORDINGS": "Stemmeoptagelser",
+    "WAITFORTHEASSIGNEDAGENT": "Vent til den tildelte agent",
+    "WAITING": "Ventende",
+    "WAITINGCALLSANNOUNCE": "Ventende opkald annoncere",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Hjemmeside",
+    "WEIGHT": "Vægt",
+    "WELCOMEMESSAGE": "Velkomstbesked",
+    "WHATSAPP": "WhatsApp-stik",
+    "WHITELABEL": "Hvidmærke",
+    "WRAPUPTIME": "Afslutningstiden",
+    "WRONG_EXTENSION": "Filen viser den forkerte udvidelse",
+    "YES": "Ja",
+    "YOUARENEXTANNOUNCE": "\"Du er næste\" annoncere"
+  }
+}
diff --git a/public/app/main/i18n/de.json b/public/app/main/i18n/de.json
new file mode 100644
index 0000000..0c1a05b
--- /dev/null
+++ b/public/app/main/i18n/de.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Abgebrochen",
+    "ABANDONEDCALLS": "Verlassene Warteschlangenanrufe",
+    "ABANDONED_CALLS": "Abgebrochene Anrufe",
+    "ACCEPT": "Akzeptieren",
+    "ACCEPTMETHOD": "Die Methode",
+    "ACCEPTURL": "URL akzeptieren",
+    "ACCESSKEYID": "Zugangsschlüssel-ID",
+    "ACCOUNT": "Konto",
+    "ACCOUNTNAME": "Konto Name",
+    "ACCOUNTS": "Konten",
+    "ACCOUNTSID": "Konto-SID",
+    "ACTIONS": "Aktionen",
+    "ACTIVE": "Aktiv",
+    "ADD": "Hinzufügen",
+    "ADDRESS": "Adresse",
+    "ADD_AGENT_TO_VOICEQUEUE": "Hinzufügen von Agenten der Warteschlange an die Mailbox",
+    "ADD_CHANSPY": "Fügen Sie ChanSpy",
+    "ADD_CONTACT": "Kontakt hinzufügen",
+    "ADD_CONTEXT": "Rahmen hinzufügen",
+    "ADD_INBOUNDROUTE": "Eingehende Route hinzufügen",
+    "ADD_INTERNALROUTE": "Fügen Sie interne Routen",
+    "ADD_MOHSOUND": "Hinzufügen von Musik auf Halten sound",
+    "ADD_MUSICONHOLD": "Hinzufügen von Musik auf Halten",
+    "ADD_NOTE": "Notiz hinzufügen",
+    "ADD_OUTBOUNDROUTE": "Ausgehende Route hinzufügen",
+    "ADD_PROJECT": "Projekt hinzufügen",
+    "ADD_TAG": "Tag hinzufügen",
+    "ADD_TEAM_TO_VOICEQUEUE": "Team hinzufügen, Warteschlange",
+    "ADD_VARIABLE": "Variable hinzufügen",
+    "ADD_VOICEMAIL": "Fügen Sie Voicemail",
+    "ADD_VOICEQUEUE": "Hinzufügen von Warteschlangen",
+    "ADVANCED": "Erweiterte",
+    "AFTERCALLWORK": "Arbeit nach Anruf",
+    "AFTERCALLWORKDURATION": "Arbeit nach Anruf Dauer",
+    "AGENT": "Agent",
+    "AGENTS": "Agenten",
+    "AGENTSADD_QUEUE": "Hinzufügen von Agenten der Warteschlange an die Mailbox",
+    "AGENTTRANSFER": "Agentenübertragung",
+    "AGENTTRANSFERTIMEOUT": "Zeitlimit für Agentenübertragungen",
+    "AGENT_TIMEOUT": "Agent Timeout",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Alle",
+    "ALLOWCODECS": "Codecs erlaubt",
+    "ALL_AGENTS": "Alle Agenten",
+    "ALL_TEAMS": "Alle Mannschaften",
+    "ALL_USERS": "Alle Nutzer",
+    "ALPHABETICAL": "Alphabetisch",
+    "ALWAYS": "Immer",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Position des Anrufers bekannt",
+    "ANNOUNCEFREQUENCY": "Frequenz ankündigen",
+    "ANNOUNCEHOLDTIME": "Geben Sie Zeit",
+    "ANNOUNCEMENTS": "Ankündigungen",
+    "ANNOUNCEPOSITIONLIMIT": "Geben Position Limit",
+    "ANNOUNCETOAGENT": "Geben Sie Agent",
+    "ANNOUNCE_OVERRIDES": "Überschreibt ankündigen",
+    "ANSWER": "Antwort",
+    "ANSWERED": "Beantwortet",
+    "API": "API",
+    "APIKEY": "Api-Schlüssel",
+    "APPLICATION": "Anwendung",
+    "APPLICATION_NAME": "Name der Anwendung",
+    "ARGUMENTS": "Argumente",
+    "ATTACH": "Befestigen Sie",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Audiodateien",
+    "AUDIO_FILES": "Audiodateien",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Genehmigung Token",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Automatische Antwort",
+    "AVG_BILLABLE": "Avg Fakturierbaren",
+    "AVG_HOLD_TIME": "Durchschnittl. Warteschleifenzeit",
+    "BACK": "Zurück",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Karosserie",
+    "BOTNAME": "Bot-Name",
+    "BUILDER": "Builder",
+    "BUSY": "Besetzt",
+    "CALLED": "Aufgerufen",
+    "CALLER": "Anrufer",
+    "CALLERID": "Anrufer-ID",
+    "CALLER_ID": "Die Anrufer-ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampagne",
+    "CANCEL": "Stornieren",
+    "CANNEDANSWERS": "Antworten in Dosen",
+    "CANNED_ANSWER_NOT_FOUND": "Es wurden keine fertige Antworten gefunden",
+    "CANNED_ANSWER_SEARCH": "Ein text eine vorgefertigte Antwort auf Suche Geben Sie",
+    "CANT_DOWNLOAD_THIS_FILE": "Diese Datei kann nicht heruntergeladen werden",
+    "CAPACITY": "Kapazität",
+    "CHANNEL": "Kanal",
+    "CHANNELS": "Tv",
+    "CHANSPIES": "Chan Spies",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "Stadt",
+    "CLEAR": "klar",
+    "CLOSE": "Schließen",
+    "CLOSED": "Geschlossen",
+    "CLOSEDAT": "Geschlossen",
+    "CLOSEMETHOD": "In der Nähe Methode",
+    "CLOSEURL": "Der URL",
+    "CLOSING": "Schließen",
+    "COMMAND": "Befehl",
+    "COMPANIES": "Unternehmen",
+    "COMPANY": "Unternehmen",
+    "CONDITION": "Zustand",
+    "CONFIRM_PASSWORD": "Passwort bestätigen",
+    "CONNECTED": "Verbunden",
+    "CONTACT": "Kontakt",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Kontakte",
+    "CONTENT": "Inhalt",
+    "CONTEXT": "Kontext",
+    "CONTEXTS": "Kontexte",
+    "COUNTRY": "Land",
+    "CREATED_AT": "Erstellt am",
+    "CUSTOM": "Benutzerdefinierte",
+    "CUSTOMER_JOURNEY": "Kundenreise",
+    "CUSTOM_FIELDS": "Benutzerdefinierte Felder",
+    "CUTDIGITS": "Die Ziffern",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Datum",
+    "DATE_OF_BIRTH": "Geburtsdatum",
+    "DEFAULT": "Standard",
+    "DEFAULT_PAUSE": "Standard PAUSE",
+    "DELETE": "Löschen",
+    "DELETE_APP": "Anwendung löschen",
+    "DELETE_CHANSPY": "Löschen Sie ChanSpy",
+    "DELETE_CONTEXT": "Löschen von Rahmen",
+    "DELETE_HOPPER": "Löschen Hopper",
+    "DELETE_INBOUNDROUTE": "Löschen der Route für eingehende Anrufe",
+    "DELETE_INTERACTION": "Interaktion löschen",
+    "DELETE_INTERNALROUTE": "Interne Routen löschen",
+    "DELETE_MOHSOUND": "Löschen Sie Music On Hold sound",
+    "DELETE_MUSICONHOLD": "Löschen Sie Musik auf Halten",
+    "DELETE_OUTBOUNDROUTE": "Abgehende Route löschen",
+    "DELETE_PROJECT": "Projekt löschen",
+    "DELETE_SELECTED": "Auswahl löschen",
+    "DELETE_VOICEDISPOSITION": "Disposition löschen",
+    "DELETE_VOICEMAIL": "Voicemail löschen",
+    "DELETE_VOICEQUEUE": "Warteschlange löschen",
+    "DELETE_VOICERECORDING": "Löschen von Voice Recording",
+    "DELIVERYREPORTURL": "Zustellungsbericht-URL",
+    "DESCRIPTION": "Beschreibung",
+    "DESTINATION": "Ziel",
+    "DESTINATIONPATTERN": "Ziel Muster",
+    "DETAIL": "Detail",
+    "DETAILS": "Einzelheiten",
+    "DIAL": "Kurzwahl",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogablauf",
+    "DID": "Haben",
+    "DIRECTORY": "Verzeichnis",
+    "DISABLED": "Deaktiviert",
+    "DISPOSITION": "Disposition",
+    "DISPOSITIONS": "Bestimmungen",
+    "DOWNLOAD": "Herunterladen",
+    "DOWNLOAD_INTERACTION": "Herunterladen",
+    "DOWNLOAD_MOHSOUND": "Download Music-on-Hold sound",
+    "DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Ohne Anhang herunterladen",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download ohne Anhänge",
+    "DOWNLOAD_WITH_ATTACHMENT": "Download mit Anhang",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Mit Anhängen herunterladen",
+    "DROPPED": "Abgebrochen",
+    "DROP_TO_UPLOAD": "Drop hochladen",
+    "DURATION": "Dauer",
+    "EDIT": "Bearbeiten",
+    "EDIT_AGENT": "Agent bearbeiten",
+    "EDIT_AGI": "AGI bearbeiten",
+    "EDIT_AMAZONLEX": "Bearbeiten Sie die Lex-Konfiguration",
+    "EDIT_APP": "Anwendung bearbeiten.",
+    "EDIT_AUTOREPLY": "Bearbeiten Sie automatische Antwort",
+    "EDIT_CHANSPY": "Bearbeiten Sie ChanSpy",
+    "EDIT_CLOSE": "Bearbeiten Schließen",
+    "EDIT_CONTEXT": "Kontext bearbeiten",
+    "EDIT_CUSTOM": "Bearbeiten von benutzerdefinierten",
+    "EDIT_DIAL": "Wählen Sie Bearbeiten.",
+    "EDIT_DIALOGFLOW": "Bearbeiten Sie die Dialogflow-Konfiguration",
+    "EDIT_EXTERNALDIAL": "Wählen Sie Externen bearbeiten",
+    "EDIT_GOTO": "Gehe zu bearbeiten.",
+    "EDIT_GOTOIF": "Bearbeiten GotoIf",
+    "EDIT_GOTOP": "GotoP bearbeiten",
+    "EDIT_HANGUP": "Bearbeiten Sie Auflegen",
+    "EDIT_HOPPER": "Bearbeiten Hopper",
+    "EDIT_INBOUNDROUTE": "Route für eingehende Anrufe bearbeiten.",
+    "EDIT_INTERNALDIAL": "Interne Wahl bearbeiten.",
+    "EDIT_INTERNALROUTE": "Interne Route bearbeiten",
+    "EDIT_INTERVAL": "Intervall bearbeiten",
+    "EDIT_MUSICONHOLD": "Bearbeiten Musik auf Halten",
+    "EDIT_NOOP": "Bearbeiten Noop",
+    "EDIT_OUTBOUNDROUTE": "Abgehende Route bearbeiten",
+    "EDIT_PLAYBACK": "Bearbeiten Sie die Wiedergabe",
+    "EDIT_PROJECT": "Projekt bearbeiten",
+    "EDIT_QUEUE": "Bearbeiten von Warteschlangen",
+    "EDIT_RINGGROUP": "Gruppe bearbeiten",
+    "EDIT_SET": "Bearbeiten",
+    "EDIT_SYSTEM": "System bearbeiten",
+    "EDIT_TAG": "Tag bearbeiten",
+    "EDIT_TRUNK": "Bearbeiten Trunk",
+    "EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+    "EDIT_VOICEMAIL": "Bearbeiten von Voicemail",
+    "EDIT_VOICEQUEUE": "Edit Voice Warteschlange",
+    "EDIT_VOICERECORDING": "Edit Voice Recording",
+    "EMAIL": "E-Mail",
+    "EMAILADDRESS": "E-mail Adresse",
+    "EMAILBODY": "E-Mail-Text",
+    "EMAILSUBJECT": "Betreff der E-Mail",
+    "ENABLED": "Aktiviert",
+    "ENCRYPTION": "Verschlüsselung",
+    "ENDTIME": "Endzeit",
+    "ENVELOPE": "Umschlag",
+    "EQUALS": "Gleich",
+    "ERROR": "Fehler",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
+      "ACCESSKEYID_REQUIRED": "Zugangsschlüssel-ID ist erforderlich",
+      "ACCOUNTNAME_REQUIRED": "Das Konto Name ist erforderlich",
+      "ACCOUNTSID_REQUIRED": "Pflichtfeld",
+      "AFTERCALLWORKDURATION_REQUIRED": "Die Arbeit nach Anruf Dauer ist erforderlich",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
+      "AGENT_REQUIRED": "Der Agent ist erforderlich",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+      "AGENT_TIMEOUT_REQUIRED": "Der Agent Timeout ist erforderlich",
+      "ALIAS_REQUIRED": "Der Alias wird benötigt",
+      "APIKEY_REQUIRED": "Die API-Schlüssel erforderlich ist",
+      "APPLICATION_REQUIRED": "Die Anwendung ist erforderlich",
+      "AUTHTOKEN_REQUIRED": "Die autorization Token ist erforderlich",
+      "BOTNAME_REQUIRED": "Der Bot-Name ist erforderlich",
+      "CLOSEURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
+      "COMMAND_REQUIRED": "Pflichtfeld",
+      "CONDITION_REQUIRED": "Der Zustand ist erforderlich",
+      "CONFIRM_NOT_MATCH": "Die Kennwörter stimmen nicht überein.",
+      "CONTENT_REQUIRED": "Der Inhalt ist erforderlich",
+      "CONTEXT_REQUIRED": "Der Rahmen ist erforderlich",
+      "DESTINATIONPATTERN_REQUIRED": "Das Ziel-pattern ist erforderlich",
+      "DISPOSITION_REQUIRED": "Die Disposition ist erforderlich",
+      "EMAIL_MUST_VALID": "Die e-Mail muss in einem gültigen Format",
+      "EMAIL_REQUIRED": "Die E-Mail ist erforderlich",
+      "EXTENSION_REQUIRED": "Die Verlängerung ist erforderlich",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die falsche Priorität muss größer als oder gleich",
+      "FALSEPRIORITY_REQUIRED": "Die falsche Priorität ist erforderlich",
+      "FIELD_REQUIRED": "Das Feld ist erforderlich.",
+      "FIRSTNAME_REQUIRED": "Der erste Name ist erforderlich",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
+      "FONTSIZE_REQUIRED": "Pflichtfeld",
+      "FULLNAME_REQUIRED": "Der vollständige Name ist erforderlich",
+      "HOST_REQUIRED": "Der Host wird benötigt",
+      "KEY_MAX_LENGTH": "Schlüssel muss eine maximale Länge von {{max}}",
+      "KEY_REQUIRED": "Der Schlüssel ist erforderlich",
+      "LIST_REQUIRED": "Die Liste ist erforderlich",
+      "MAILBOX_REQUIRED": "Die Mailbox ist erforderlich",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld",
+      "METHOD_REQUIRED": "Pflichtfeld",
+      "MOTIONADDRESS_MUST_VALID_URL": "Die Adresse muss in einem gültigen Format",
+      "MOTIONADDRESS_REQUIRED": "Die Adresse ist erforderlich",
+      "MOTIONPROXY_MUST_VALID_URL": "Falsches Format",
+      "MOTIONPROXY_REQUIRED": "Pflichtfeld",
+      "NAME_MUST_VALID_PATTERN": "Der Name muss in einem gültigen Format geschrieben werden",
+      "NAME_REQUIRED": "Der Name ist erforderlich",
+      "OPTIONS_REQUIRED": "Die Optionen sind Erforderlich",
+      "OUTBOUNDROUTE_REQUIRED": "Pflichtfeld",
+      "PASSWORD_REQUIRED": "Das Kennwort ist erforderlich",
+      "PHONENUMBER_REQUIRED": "Die Telefonnummer ist erforderlich",
+      "PHONE_REQUIRED": "Die Telefonnummer ist erforderlich",
+      "PREFIX_REQUIRED": "Das Präfix ist erforderlich",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Priorität muss größer als oder gleich",
+      "PRIORITY_REQUIRED": "Die Priorität ist erforderlich",
+      "PROJECT_REQUIRED": "Pflichtfeld",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pflichtfeld",
+      "QUEUE_REQUIRED": "Die Warteschlange ist erforderlich",
+      "REJECTURL_MUST_VALID_URL": "Die URL muss in einem gültigen Format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Wiederholung muss größer als oder gleich",
+      "SECRETACCESSKEY_REQUIRED": "Pflichtfeld",
+      "SENDERSTRING_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Falsches Format",
+      "SID_REQUIRED": "Die SID ist erforderlich",
+      "TAG_REQUIRED": "Pflichtfeld",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Die Technologie/Ressource erforderlich ist",
+      "TEXT_MAX_LENGTH": "Der Wert muss eine maximale Länge von {{max}} haben",
+      "TEXT_REQUIRED": "Das Feld \"Text\" ist erforderlich",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Timeout muss größer als oder gleich",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+      "TIMEOUT_REQUIRED": "Der Timeout ist erforderlich",
+      "TIMEZONE_REQUIRED": "Die Zeitzone ist erforderlich",
+      "TOKEN_REQUIRED": "Das Token ist erforderlich",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die wahre Priorität muss größer als oder gleich",
+      "TRUEPRIORITY_REQUIRED": "Die wahre Priorität ist erforderlich",
+      "TRUNK_REQUIRED": "Pflichtfeld",
+      "TYPE_REQUIRED": "Pflichtfeld",
+      "URL_REQUIRED": "Die URL ist erforderlich",
+      "USERNAME_REQUIRED": "Pflichtfeld",
+      "VALUE_REQUIRED": "Der Wert ist erforderlich",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pflichtfeld",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Das Gewicht muss größer als oder gleich",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Die Nachlese Zeit muss größer als oder gleich"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Geschätzte Zeit halten,",
+    "EXTENSION": "Erweiterung",
+    "EXTERNALDIAL": "Externes Wählen",
+    "FAILED": "Fehlgeschlagen",
+    "FALSEPRIORITY": "Falsche Priorität",
+    "FAX": "Fax",
+    "FIDELITY": "Treue",
+    "FIELD": "Feld",
+    "FIELDS": "Felder",
+    "FILE": "Datei",
+    "FILE_NOT_FOUND": "Datei nicht gefunden",
+    "FILTER": "Filter",
+    "FILTERS": "Filter",
+    "FINISH": "Fertig stellen",
+    "FONTSIZE": "Schriftgröße",
+    "FORMAT": "Format",
+    "FREE": "Kostenlos",
+    "FROM": "Von",
+    "FULLNAME": "Voller Name",
+    "GENERAL": "Allgemein",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Gehe zu",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Auflegen",
+    "HANGUPCAUSE_1": "1 = Nicht zugewiesene Nummer",
+    "HANGUPCAUSE_16": "16 = Normail Anruf löschen",
+    "HANGUPCAUSE_17": "17 = Benutzer besetzt",
+    "HANGUPCAUSE_18": "18 = Keine Reaktion (Telefon Gerät nicht verbunden)",
+    "HANGUPCAUSE_21": "21 = Anruf abgelehnt",
+    "HANGUPCAUSE_22": "22 = Anzahl geändert",
+    "HANGUPCAUSE_27": "27 = Ziel nicht in Ordnung",
+    "HANGUPCAUSE_38": "38 = Netzwerk aus, um",
+    "HANGUPCAUSE_41": "41 = vorübergehende Störung",
+    "HANGUP_CAUSE": "Ursache auflegen",
+    "HEADERS": "Überschriften",
+    "HELP": {
+      "AFTERCALLWORK": "Wenn der Agent aktiv ist, wird auf eine Pause nach einer abgeschlossenen Anruf in der Warteschlange",
+      "AFTERCALLWORKDURATION": "Die Dauer der Pause durch die Option \"Arbeit nach Anruf",
+      "ANNOUNCECALLERPOSITION": "Legt fest, ob es sich bei dem Anrufer seine Position in der Warteschlange mitgeteilt werden sollten. Wenn die Einstellung Nein lautet, die Position wird nicht bekannt gegeben. Falls auf Ja eingestellt, wird die Position des Anrufers wird immer bekannt gegeben. Wenn der Wert überschritten wird, wird der Anrufer hört ihre Position in der Warteschlange nur, wenn er sich innerhalb der Grenze von AK-Position. Wenn der Wert auf Mehr, hört der Anrufer ihre Position, wenn es über die Zahl von AK-Position.",
+      "ANNOUNCEHOLDTIME": "Legt fest, ob die geschätzte Wartezeit gespielt werden sollte zusammen mit den regelmäßigen Ankündigungen.",
+      "ANNOUNCETOAGENT": "Für die Wiedergabe einer Ansage auf den Agenten, der den Anruf entgegengenommen hat, ihn wissen zu lassen, was der Anrufer die Warteschlange aus.",
+      "CONTEXT": "Ermöglicht einem Anrufer zu beenden, die die Warteschlange durch Drücken einer einzigen Taste MFV-Ziffer. Wenn Sie einen Kontext angegeben ist und der Anrufer gibt eine Zahl, Ziffer wird versuchen, die angepasst werden können, im Rahmen festgelegt, und es wird auch weiterhin die Ausführung Nummernplan.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Die voraussichtliche Wartezeit ist\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "HOLDTIMEANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Hold\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "LIST": "Contact Manager Liste zu verknüpfen von Kontakten",
+      "MANDATORYDISPOSITION": "Zwingende Disposition",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausenstatus, der während der Zwangsdisposition festgelegt werden soll",
+      "MEMBERDELAY": "Sie kann verwendet werden, wenn Sie wollen, dass es eine Verzögerung, bevor der Anrufer und Mitglied der Warteschlange, die miteinander verbunden sind.",
+      "MINANNOUNCEFREQUENCY": "Gibt die minimale Zeit, die verstreichen müssen, bevor wir Ihnen die Anrufer in der Warteschlange wieder. Dieser wird verwendet, wenn der Anrufer die Position kann sich häufig ändern, um zu verhindern, dass der Anrufer hören mehrere Updates in einem kurzen Zeitraum.",
+      "MINUTEANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"min\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "MINUTESANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"min\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "MONITORFORMAT": "Gibt das Dateiformat zu verwenden, wenn die Aufnahme. Wenn der Monitor-Format deaktiviert ist, werden die Anrufe nicht aufgezeichnet werden.",
+      "MOTIONPROXY": "Bitte geben Sie im folgenden Format ein: &Lt;Protocol>:// &Lt;IP-Adresse>: &Lt;port>]. Beispiel: https://X.Y.Z.W",
+      "MUSICONHOLD": "Setzt die Musik klasse verwendet werden, die von einer bestimmten Warteschlange an.",
+      "NAME": "Nur Zahlen, Buchstaben und Sonderzeichen (._) werden unterstützt.",
+      "PERIODICANNOUNCE": "Eine Reihe von regelmäßigen Mitteilungen gespielt zu werden, in der Reihenfolge wiedergegeben, in der sie definiert sind.",
+      "PERIODICANNOUNCEFREQUENCY": "Gibt an, wie oft wir sollten regelmäßige Ansagen, die dem Anrufer vorgespielt werden.",
+      "RECORDING": "Aktivieren der Aufzeichnung",
+      "REPORTHOLDTIMEAGENT": "Die Berichterstattung über die CLI des Anrufers mit der Zeit in der Warteschleife in der Warteschlange vor.",
+      "RINGINUSE": "Verwendet werden, um zu vermeiden, Senden von Anrufen an Mitglieder, deren Status im Einsatz ist.",
+      "SECONDSANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Sekunden\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "THANKYOUANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Vielen Dank für Ihre Geduld.\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "THEREAREANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Es gibt\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "TIMEOUTRESTART": "Falls auf Ja eingestellt, wird das Timeout für einen Agenten zu beantworten, wenn entweder ein Besetztzeichen oder wird mit dem Status \"Überlastung des Kanals.",
+      "TYPE": "Legt das SIP-Rolle innerhalb der Sternchen. User: Wird verwendet, um die Authentifizierung für eingehende - Peer: für ausgehende Anrufe - Freund: Deckt sowohl die Eigenschaften der oben genannten.",
+      "VOICEMAIL_CONTEXT": "Im Rahmen der relativen Erweiterung.",
+      "WAITINGCALLSANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Wartende Anrufe\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt.",
+      "WELCOMEMESSAGE": "Dies ist die erste Nachricht, die an das Schütz gesendet wird",
+      "YOUARENEXTANNOUNCE": "Wenn nicht definiert, wird die Standardeinstellung (\"Sie sind jetzt in erster Linie\"). Wenn Sie auf einen leeren Wert, wird die Aufforderung werden nicht gespielt."
+    },
+    "HIDE_DETAILS": "Details ausblenden",
+    "HOLDTIMEANNOUNCE": "Zeit in der Warteschleife verkünden",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Leerlauf",
+    "IN": "In",
+    "INBOUNDROUTES": "Ankommende Routen",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Fügen Sie hier Ihre Textnachricht ein",
+    "INTEGRATIONS": "Integrationen",
+    "INTERACTION": "Interaktion",
+    "INTERACTIONS": "Wechselwirkungen",
+    "INTERNAL": "Interne",
+    "INTERNALDIAL": "Interne Wahl",
+    "INTERNALROUTES": "Interne Routen",
+    "INTERVAL": "Intervall",
+    "INTERVALS": "Intervalle",
+    "INUSE": "Im Einsatz",
+    "INVALID": "Ungültig",
+    "IN_USE": "Im Einsatz",
+    "JOINWHENEMPTY": "Melden Sie wenn sie leer sind",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Schlüssel",
+    "LAGGED": "Zurück",
+    "LANGUAGE": "Sprache",
+    "LASTMESSAGE": "Letzte Nachricht",
+    "LASTNAME": "Nachname",
+    "LAST_MONTH": "Im vergangenen Monat",
+    "LEAVEWHENEMPTY": "Wenn sie leer lassen",
+    "LEXREGION": "Region",
+    "LIMITED": "Begrenzt",
+    "LIST": "Liste",
+    "LOGGED_IN": "Angemeldet",
+    "LOGIN_TIME": "Login-Zeit",
+    "LOGO": "Logo",
+    "LOGOUT": "An-/Abmelden",
+    "MACRO": "Makro",
+    "MAIL": "E-Mail",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@Kontext",
+    "MANAGED": "Gelang es",
+    "MANDATORYDISPOSITION": "Zwingende Disposition",
+    "MANDATORYDISPOSITIONPAUSEID": "Status der obligatorischen Dispositionspause",
+    "MARK_AS_UNREAD": "als ungelesen markieren",
+    "MAXLENGTH": "Maximale Länge",
+    "MAXMESSAGES": "Max. Nachrichten",
+    "MAXSECONDS": "In Sekunden",
+    "MAY": "Kann",
+    "MEMBERDELAY": "Die Verzögerung",
+    "MESSAGE": "Nachricht",
+    "MESSAGES": "Nachrichten",
+    "MESSAGESALIGNMENT": "Nachrichtenausrichtung",
+    "METHOD": "Methode",
+    "METRIC": "Metrisch",
+    "MINANNOUNCEFREQUENCY": "Minimale Frequenz ankündigen",
+    "MINUTEANNOUNCE": "Minute verkünden",
+    "MINUTESANNOUNCE": "Minuten ankündigen",
+    "MOBILE": "Mobile",
+    "MODULES": "Module",
+    "MOHSOUNDS": "Die MOH-Sounds",
+    "MONITORFORMAT": "Aufzeichnungsformat",
+    "MORE": "Mehr",
+    "MOTIONADDRESS": "Motion Adresse",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Dialer",
+    "MOTIONPROXY": "Proxy oder Motion Domain",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musik auf Halten",
+    "MUSICONHOLDS": "Musik auf Halten",
+    "NAME": "Name",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Neue ChanSpy",
+    "NEW_CONTACT": "Neuer Kontakt",
+    "NEW_CONTEXT": "Neue Kontext",
+    "NEW_INBOUNDROUTE": "Neue Route für eingehende Anrufe",
+    "NEW_INTERNALROUTE": "Neue interne Routen",
+    "NEW_MUSICONHOLD": "Neue Musik auf Halten",
+    "NEW_OUTBOUNDROUTE": "Neue abgehende Route",
+    "NEW_PROJECT": "Neues Projekt",
+    "NEW_TAB": "Neue Registerkarte",
+    "NEW_TAG": "Neuer Tag",
+    "NEW_VARIABLE": "Neue Variable",
+    "NEW_VOICEMAIL": "Neue Voicemail",
+    "NEW_VOICEQUEUE": "Neue Stimme der Warteschlange",
+    "NO": "Keine",
+    "NONE": "Keine",
+    "NOOP": "Noop",
+    "NOTE": "Hinweis",
+    "NOTES": "Hinweise",
+    "NOTIFICATION": "Benachrichtigung",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Klingen",
+    "NOTIFICATIONTEMPLATE": "Vorlage",
+    "NOT_INUSE": "Nicht in Gebrauch",
+    "NO_AGENT_ONLINE": "Kein Agent Online",
+    "NO_APPS_AVAILABLE": "Keine Anwendungen verfügbar",
+    "NO_AVAILABLE_INFO": "Keine verfügbaren Info",
+    "NO_INTERACTION_AVAILABLE": "Es sind keine Wechselwirkungen zur Verfügung",
+    "NO_MESSAGE_AVAILABLE": "Keine Meldungen vorhanden",
+    "NO_MOHSOUND_AVAILABLE": "Keine Wartemusik verfügbar",
+    "NO_RATING": "Keine Bewertung",
+    "NO_REGISTRY": "Keine registry",
+    "NO_SOUND_AVAILABLE": "Kein Ton verfügbar",
+    "NUMBER": "Nummer",
+    "OF": "Von",
+    "ONHOLD": "Auf Halten",
+    "OPEN": "Öffnen",
+    "OPENCHANNEL": "Offener Kanal",
+    "OPENED": "Öffnen",
+    "OPERATOR": "Betreiber",
+    "OPTIONS": "Optionen",
+    "ORIGINATED": "Entstanden",
+    "OTHERS": "Andere",
+    "OUT": "Aus",
+    "OUTBOUNDDIAL": "Wählen Sie für abgehende Anrufe",
+    "OUTBOUNDROUTE": "Ausgehende Route",
+    "OUTBOUNDROUTES": "Abgehende Routen",
+    "OUTBOUND_CALLS": "Ausgehende Anrufe",
+    "OUTPUT": "Ausgang",
+    "PAGE": "Seite",
+    "PARTIALPAUSE": "Teilweise Pause",
+    "PASSWORD": "Passwort",
+    "PAUSE": "Pause",
+    "PAUSED": "Angehalten",
+    "PAUSE_TIME": "Pausenzeit",
+    "PAYMENTMETHOD": "Zahlungsmethoden",
+    "PENALTY": "Strafe",
+    "PENDING": "Ausstehend",
+    "PERIODICANNOUNCE": "Periodische verkünden",
+    "PERIODICANNOUNCEFREQUENCY": "Periodische Frequenz ankündigen",
+    "PERSONAL_INFO": "Persönliche Infos",
+    "PHONE": "Telefon",
+    "PHONENUMBER": "Telefonnummer",
+    "PHONE_STATE": "Telefonstatus",
+    "PHONE_STATUS": "Telefonstatus",
+    "PLAYBACK": "Wiedergabe",
+    "PLUGINS": "Plugins",
+    "PORT": "Hafen",
+    "POSITION": "Position",
+    "POSTALCODE": "Postleitzahl",
+    "PREFIX": "Präfix",
+    "PREVIEW": "Vorschau",
+    "PRIORITY": "Priorität",
+    "PROJECT": "Cally-Square Projekt",
+    "PROJECTS": "Projekte",
+    "PROXY": "Proxy",
+    "QUEUE": "Warteschlange",
+    "QUEUES": "Warteschlangen",
+    "QUEUETRANSFER": "Warteschlangenübertragung",
+    "QUEUETRANSFERTIMEOUT": "Zeitüberschreitung bei der Warteschlangenübertragung",
+    "QUEUE_CALLS": "Anrufe aus einer Warteschlange",
+    "QUEUE_PARAMETERS": "Queue Parameter",
+    "QUEUE_PARAMS": "Queue Parameter",
+    "RANDOM": "Random",
+    "RANDOMPERIODICANNOUNCE": "Random Periodische verkünden",
+    "RATING": "Bewertung",
+    "REACHABLE": "Erreichbar",
+    "READY": "Bereit",
+    "REALTIME": "Echtzeit",
+    "RECALLME": "Ruf mich zurück",
+    "RECEIVED_AT": "Empfangen am",
+    "RECEIVEURL": "URL erhalten",
+    "RECORD": "Datensatz",
+    "RECORDING": "Aufnahme",
+    "RECORDINGFORMAT": "Aufzeichnungsformat",
+    "RECORDINGS": "Aufnahmen",
+    "REFRESH_INTERACTIONS": "Aktualisieren Interaktionen",
+    "REGISTERED": "Registriert",
+    "REGISTRY": "Registrierung",
+    "REJECT": "Ablehnen",
+    "REJECTED": "Abgelehnt",
+    "REJECTMETHOD": "Methode ablehnen",
+    "REJECTURL": "URL ablehnen",
+    "RELOAD": "Neu laden",
+    "REPLY": "Antwort",
+    "REPORT": "Bericht",
+    "REPORTHOLDTIMEAGENT": "Bericht Agenten",
+    "RETRY": "Versuchen Sie es erneut",
+    "RING": "Ring",
+    "RINGGROUP": "Ring-Gruppe",
+    "RINGING": "Klingeln",
+    "RINGINUSE": "Ring in Verwendung",
+    "ROWSPERPAGE": "Zeilen pro Seite",
+    "RULE": "Regel",
+    "SAVE": "Speichern",
+    "SCHEDULEDAT": "Geplant für",
+    "SCHEDULED_CALLS": "Geplante Anrufe",
+    "SCREENRECORDING": "Bildschirmaufzeichnung verwalten",
+    "SCRIPT": "Skript",
+    "SEARCH_FOR_ANYONE": "Suche für Jedermann",
+    "SECONDSANNOUNCE": "Sekunden,",
+    "SECRETACCESSKEY": "Geheimer Zugangsschlüssel",
+    "SECURITY_SUITE": "Sicherheitssuite",
+    "SELECT": "Wählen",
+    "SELECTED": "Ausgewählte",
+    "SELECTED_AGENTS": "Ausgewählte Agenten",
+    "SELECTED_TEAMS": "Ausgewählte Teams",
+    "SELECTED_USERS": "Ausgewählte Benutzer",
+    "SELECT_ACCOUNT": "Konto auswählen",
+    "SELECT_ALL": "Alle auswählen",
+    "SELECT_DATE": "Wählen Sie Startdatum",
+    "SELECT_NONE": "Wählen Sie \"Keine\"",
+    "SELECT_STATUS": "Status auswählen",
+    "SELECT_TYPE": "Art auswählen",
+    "SEND": "Senden",
+    "SENDMAIL": "E-Mail senden",
+    "SENTIMENTANALYSIS": "Stimmungsanalyse",
+    "SERVICE": "Bedienung",
+    "SESSIONS": "Sitzungen",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Die Interface- Variablen",
+    "SETQUEUEENTRYVARIABLES": "Die Warteschlange ENTRY-Variablen",
+    "SETQUEUEVARIABLES": "Die Warteschlange Variablen",
+    "SETTINGS": "Einstellungen",
+    "SHOW_ALL_FIELDS": "Alle Felder anzeigen",
+    "SHOW_DETAILS": "Details anzeigen",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP-Host",
+    "SMTP_PORT": "SMTP-Port",
+    "SOCIAL": "Soziale",
+    "SORT": "Sortieren",
+    "SOURCE": "Quelle",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Personal",
+    "STARTEDAT": "Fing an bei",
+    "STARTTIME": "Startzeit",
+    "START_SCREENRECORDING": "Starten Sie die Bildschirmaufnahme",
+    "STATE": "Zustand",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Beenden Sie die Bildschirmaufnahme",
+    "STRATEGY": "Strategie",
+    "SUBJECT": "Betreff",
+    "SYSTEM": "System",
+    "TAG": "Etikett",
+    "TAGS": "Tags",
+    "TALKING": "Sprechen",
+    "TEAMS_ASSOCIATION": "Vereinigung der Mannschaften",
+    "TECHNOLOGY/RESOURCE": "Technologie-/Ressourcen",
+    "TELEPHONES": "Telefone",
+    "TEMPLATE": "Vorlage",
+    "TEXT": "Text",
+    "THANKYOUANNOUNCE": "'Vielen Dank' verkünden",
+    "THEREAREANNOUNCE": "'Es gibt' verkünden",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout starten",
+    "TIMER": "Timer",
+    "TIMES": "Die Anzahl der Zeiten pro Interaktion",
+    "TIMEZONE": "Zeitzone",
+    "TO": "Zu",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Bildschirmaufnahme verfügbar",
+    "TOOLTIP_SCREENRECORDING_ON": "Bildschirmaufnahme läuft",
+    "TOTAL": "Insgesamt",
+    "TOTAL_OFFERED": "Insgesamt",
+    "TRANSCRIBE": "Transkribieren",
+    "TRANSFER": "Transfer",
+    "TRANSPORT": "Verkehr",
+    "TRUEPRIORITY": "Wahre Priorität",
+    "TRUNK": "Amtsleitung",
+    "TRUNKS": "Amtsleitungen",
+    "TRUNK_STATUS": "Trunk Status",
+    "TYPE": "Typ",
+    "UNAVAILABLE": "Nicht verfügbar",
+    "UNIQUEID": "Eindeutige ID",
+    "UNKNOWN": "Unbekannt",
+    "UNMANAGED": "Nicht verwaltete",
+    "UNPAUSE": "Pause",
+    "UNREACHABLE": "Nicht erreichbar",
+    "UNREGISTERED": "Unregistrierte",
+    "UP": "Bis",
+    "UPDATE": "Update",
+    "UPLOADING": "Hochladen",
+    "URL": "URL",
+    "USER": "Benutzer",
+    "USERNAME": "Nutzername",
+    "USERS": "Benutzer",
+    "VALUE": "Wert",
+    "VARIABLE": "Variable",
+    "VIDAOOSESSION": "Videoanruf starten",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video-Unterstützung",
+    "VOICE": "Voice",
+    "VOICEMAIL": "Voicemail",
+    "VOICEMAILS": "Von Voicemails",
+    "VOICEMAIL_CONTEXT": "Kontext",
+    "VOICEQUEUES": "Voice Warteschlangen",
+    "VOICERECORDINGS": "Sprachaufnahmen",
+    "WAITFORTHEASSIGNEDAGENT": "Warte auf den zugewiesenen Agenten",
+    "WAITING": "Warten",
+    "WAITINGCALLSANNOUNCE": "Wartende Anrufe,",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Gewicht",
+    "WELCOMEMESSAGE": "Willkommen Messsage",
+    "WHATSAPP": "WhatsApp Connector",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "-Zeit",
+    "WRONG_EXTENSION": "Die Datei weist die falsche Erweiterung auf",
+    "YES": "Ja",
+    "YOUARENEXTANNOUNCE": "\"Sie sind weiter' verkünden"
+  }
+}
diff --git a/public/app/main/i18n/en.json b/public/app/main/i18n/en.json
new file mode 100644
index 0000000..13505d5
--- /dev/null
+++ b/public/app/main/i18n/en.json
@@ -0,0 +1,689 @@
+{
+  "APP": {
+    "ABANDONED": "Abandoned",
+    "ABANDONEDCALLS": "Abandoned Queue Calls",
+    "ABANDONED_CALLS": "Abandoned Calls",
+    "ACCEPT": "Accept",
+    "ACCEPTMETHOD": "Accept Method",
+    "ACCEPTURL": "Accept URL",
+    "ACCESSKEYID": "Access Key ID",
+    "ACCOUNT": "Account",
+    "ACCOUNTNAME": "Account Name",
+    "ACCOUNTS": "Accounts",
+    "ACCOUNTSID": "Account SID",
+    "ACTIONS": "Actions",
+    "ACTIVE": "Active",
+    "ADD": "Add",
+    "ADDRESS": "Address",
+    "ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+    "ADD_CHANSPY": "Add ChanSpy",
+    "ADD_CONTACT": "Add Contact",
+    "ADD_CONTEXT": "Add Context",
+    "ADD_INBOUNDROUTE": "Add Inbound Route",
+    "ADD_INTERNALROUTE": "Add Internal Route",
+    "ADD_MOHSOUND": "Add Music On Hold sound",
+    "ADD_MUSICONHOLD": "Add Music On Hold",
+    "ADD_NOTE": "Add note",
+    "ADD_OUTBOUNDROUTE": "Add Outbound Route",
+    "ADD_PROJECT": "Add Project",
+    "ADD_TAG": "Add Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+    "ADD_VARIABLE": "Add Variable",
+    "ADD_VOICEMAIL": "Add Voicemail",
+    "ADD_VOICEQUEUE": "Add Voice Queue",
+    "ADVANCED": "Advanced",
+    "AFTERCALLWORK": "After Call Work",
+    "AFTERCALLWORKDURATION": "After Call Work Duration",
+    "AGENT": "Agent",
+    "AGENTS": "Agents",
+    "AGENTSADD_QUEUE": "Add Agent to Queue",
+    "AGENTTRANSFER": "Agent Transfer",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Agent Timeout",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "All",
+    "ALLOWCODECS": "Allowed Codecs",
+    "ALL_AGENTS": "All Agents",
+    "ALL_TEAMS": "All Teams",
+    "ALL_USERS": "All Users",
+    "ALPHABETICAL": "Alphabetical",
+    "ALWAYS": "Always",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Announce Caller Position",
+    "ANNOUNCEFREQUENCY": "Announce Frequency",
+    "ANNOUNCEHOLDTIME": "Announce Hold Time",
+    "ANNOUNCEMENTS": "Announcements",
+    "ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+    "ANNOUNCETOAGENT": "Announce To Agent",
+    "ANNOUNCE_OVERRIDES": "Announce Overrides",
+    "ANSWER": "Answer",
+    "ANSWERED": "Answered",
+    "API": "API",
+    "APIKEY": "ApiKey",
+    "APPLICATION": "Application",
+    "APPLICATION_NAME": "Application Name",
+    "ARGUMENTS": "Arguments",
+    "ATTACH": "Attach",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Audio Files",
+    "AUDIO_FILES": "Audio Files",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Auth Token",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Auto Reply",
+    "AVG_BILLABLE": "Avg Billable",
+    "AVG_HOLD_TIME": "Avg Hold Time",
+    "BACK": "Back",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Body",
+    "BOTNAME": "Bot Name",
+    "BUILDER": "Builder",
+    "BUSY": "Busy",
+    "CALLED": "Called",
+    "CALLER": "Caller",
+    "CALLERID": "Caller ID",
+    "CALLER_ID": "Caller ID",
+    "CALLYSQUARE": "Cally Square",
+    "CAMPAIGN": "Campaign",
+    "CANCEL": "Cancel",
+    "CANNEDANSWERS": "Canned Answers",
+    "CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+    "CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+    "CANT_DOWNLOAD_THIS_FILE": "Can't download this file",
+    "CAPACITY": "Capacity",
+    "CHANNEL": "Channel",
+    "CHANNELS": "Channels",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "City",
+    "CLEAR": "Clear",
+    "CLOSE": "Close",
+    "CLOSED": "Closed",
+    "CLOSEDAT": "Closed At",
+    "CLOSEMETHOD": "Close Method",
+    "CLOSEURL": "Close URL",
+    "CLOSING": "Closing",
+    "COMMAND": "Command",
+    "COMPANIES": "Companies",
+    "COMPANY": "Company",
+    "CONDITION": "Condition",
+    "CONFIRM_PASSWORD": "Confirm Password",
+    "CONNECTED": "Connected",
+    "CONTACT": "Contact",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Contacts",
+    "CONTENT": "Content",
+    "CONTEXT": "Context",
+    "CONTEXTS": "Contexts",
+    "COUNTRY": "Country",
+    "CREATED_AT": "Created At",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Customer Journey",
+    "CUSTOM_FIELDS": "Custom Fields",
+    "CUTDIGITS": "Cut Digits",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Date",
+    "DATE_OF_BIRTH": "Birthdate",
+    "DEFAULT": "Default",
+    "DEFAULT_PAUSE": "Default pause",
+    "DELETE": "Delete",
+    "DELETE_APP": "Delete Application",
+    "DELETE_CHANSPY": "Delete ChanSpy",
+    "DELETE_CONTEXT": "Delete Context",
+    "DELETE_HOPPER": "Delete Hopper",
+    "DELETE_INBOUNDROUTE": "Delete Inbound Route",
+    "DELETE_INTERACTION": "Delete Interaction",
+    "DELETE_INTERNALROUTE": "Delete Internal Route",
+    "DELETE_MOHSOUND": "Delete Music On Hold sound",
+    "DELETE_MUSICONHOLD": "Delete Music On Hold",
+    "DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+    "DELETE_PROJECT": "Delete Project",
+    "DELETE_SELECTED": "Delete selected",
+    "DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+    "DELETE_VOICEMAIL": "Delete Voicemail",
+    "DELETE_VOICEQUEUE": "Delete Voice Queue",
+    "DELETE_VOICERECORDING": "Delete Voice Recording",
+    "DELIVERYREPORTURL": "Delivery Report URL",
+    "DESCRIPTION": "Description",
+    "DESTINATION": "Destination",
+    "DESTINATIONPATTERN": "Destination Pattern",
+    "DETAIL": "Detail",
+    "DETAILS": "Details",
+    "DIAL": "Dial",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "Directory",
+    "DISABLED": "Disabled",
+    "DISPOSITION": "Disposition",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+    "DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Download without attachment",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments",
+    "DOWNLOAD_WITH_ATTACHMENT": "Download with attachment",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+    "DROPPED": "Dropped",
+    "DROP_TO_UPLOAD": "Drop To Upload",
+    "DURATION": "Duration",
+    "EDIT": "Edit",
+    "EDIT_AGENT": "Edit Agent",
+    "EDIT_AGI": "Edit AGI",
+    "EDIT_AMAZONLEX": "Edit Lex configuration",
+    "EDIT_APP": "Edit Application",
+    "EDIT_AUTOREPLY": "Edit Auto Reply",
+    "EDIT_CHANSPY": "Edit ChanSpy",
+    "EDIT_CLOSE": "Edit Close",
+    "EDIT_CONTEXT": "Edit Context",
+    "EDIT_CUSTOM": "Edit Custom",
+    "EDIT_DIAL": "Edit Dial",
+    "EDIT_DIALOGFLOW": "Edit DialogFlow configuration",
+    "EDIT_EXTERNALDIAL": "Edit External Dial",
+    "EDIT_GOTO": "Edit Goto",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit Gotop",
+    "EDIT_HANGUP": "Edit Hangup",
+    "EDIT_HOPPER": "Edit Hopper",
+    "EDIT_INBOUNDROUTE": "Edit Inbound Route",
+    "EDIT_INTERNALDIAL": "Edit Internal Dial",
+    "EDIT_INTERNALROUTE": "Edit Internal Route",
+    "EDIT_INTERVAL": "Edit Interval",
+    "EDIT_MUSICONHOLD": "Edit Music On Hold",
+    "EDIT_NOOP": "Edit Noop",
+    "EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+    "EDIT_PLAYBACK": "Edit Playback",
+    "EDIT_PROJECT": "Edit Project",
+    "EDIT_QUEUE": "Edit Queue",
+    "EDIT_RINGGROUP": "Edit Ring Group",
+    "EDIT_SET": "Edit Set",
+    "EDIT_SYSTEM": "Edit System",
+    "EDIT_TAG": "Edit Tag",
+    "EDIT_TRUNK": "Edit Trunk",
+    "EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+    "EDIT_VOICEMAIL": "Edit Voicemail",
+    "EDIT_VOICEQUEUE": "Edit Voice Queue",
+    "EDIT_VOICERECORDING": "Edit Voice Recording",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Email Address",
+    "EMAILBODY": "Email Body",
+    "EMAILSUBJECT": "Email Subject",
+    "ENABLED": "Enabled",
+    "ENCRYPTION": "Encryption",
+    "ENDTIME": "End Time",
+    "ENVELOPE": "Envelope",
+    "EQUALS": "Equals",
+    "ERROR": "Error",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
+      "ACCESSKEYID_REQUIRED": "Mandatory Field",
+      "ACCOUNTNAME_REQUIRED": "Mandatory field",
+      "ACCOUNTSID_REQUIRED": "Mandatory Field",
+      "APIKEY": "Please use 'API key manager' button on toolbar to manage this key",
+      "AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "AGENT_REQUIRED": "Mandatory field",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+      "APIKEY_REQUIRED": "API Key ",
+      "ALIAS_REQUIRED": "Mandatory field",
+      "APPLICATION_REQUIRED": "Mandatory field",
+      "AUTHTOKEN_REQUIRED": "Mandatory Field",
+      "BOTNAME_REQUIRED": "Mandatory Field",
+      "CLOSEURL_MUST_VALID_URL": "Wrong format",
+      "COMMAND_REQUIRED": "Mandatory Field",
+      "CONDITION_REQUIRED": "Mandatory Field",
+      "CONFIRM_NOT_MATCH": "The passwords don't match",
+      "CONTENT_REQUIRED": "Mandatory field",
+      "CONTEXT_REQUIRED": "Mandatory field",
+      "DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+      "DISPOSITION_REQUIRED": "Mandatory field",
+      "EMAIL_MUST_VALID": "Wrong format",
+      "EMAIL_REQUIRED": "Mandatory field",
+      "EXTENSION_REQUIRED": "Mandatory field",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
+      "FIELD_REQUIRED": "Mandatory field",
+      "FIRSTNAME_REQUIRED": "Mandatory field",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FONTSIZE_REQUIRED": "Mandatory Field",
+      "FULLNAME_REQUIRED": "Mandatory field",
+      "HOST_REQUIRED": "Mandatory field",
+      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+      "KEY_REQUIRED": "Mandatory Field",
+      "LIST_REQUIRED": "Mandatory Field",
+      "MAILBOX_REQUIRED": "Mandatory Field",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field",
+      "METHOD_REQUIRED": "Mandatory Field",
+      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+      "MOTIONADDRESS_REQUIRED": "Mandatory Field",
+      "MOTIONPROXY_MUST_VALID_URL": "Wrong URL",
+      "MOTIONPROXY_REQUIRED": "Mandatory field",
+      "NAME_MUST_VALID_PATTERN": "Wrong format",
+      "NAME_REQUIRED": "Mandatory field",
+      "OPTIONS_REQUIRED": "Mandatory field",
+      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+      "PASSWORD_REQUIRED": "Mandatory field",
+      "PHONENUMBER_REQUIRED": "Mandatory field",
+      "PHONE_REQUIRED": "Mandatory field",
+      "PREFIX_REQUIRED": "Mandatory field",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "PRIORITY_REQUIRED": "Mandatory field",
+      "PROJECT_REQUIRED": "Mandatory field",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "QUEUE_REQUIRED": "Mandatory field",
+      "REJECTURL_MUST_VALID_URL": "Wrong format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "SECRETACCESSKEY_REQUIRED": "Mandatory Field",
+      "SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
+      "SID_REQUIRED": "Mandatory Field",
+      "TAG_REQUIRED": "Mandatory Field",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "TEXT_REQUIRED": "Mandatory Field",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "TIMEOUT_REQUIRED": "Mandatory field",
+      "TIMEZONE_REQUIRED": "Mandatory field",
+      "TOKEN_REQUIRED": "Mandatory Field",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
+      "TRUNK_REQUIRED": "Mandatory field",
+      "TYPE_REQUIRED": "Mandatory field",
+      "URL_REQUIRED": "Mandatory field",
+      "USERNAME_REQUIRED": "Mandatory field",
+      "VALUE_REQUIRED": "Mandatory field",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+    "EXTENSION": "Extension",
+    "EXTERNALDIAL": "External Dial",
+    "FAILED": "Failed",
+    "FALSEPRIORITY": "False Priority",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Field",
+    "FIELDS": "Fields",
+    "FILE": "File",
+    "FILE_NOT_FOUND": "File not found",
+    "FILTER": "Filter",
+    "FILTERS": "Filters",
+    "FINISH": "Finish",
+    "FIRSTNAME": "First Name",
+    "FONTSIZE": "Font Size",
+    "FORMAT": "Format",
+    "FREE": "Free",
+    "FROM": "From",
+    "FULLNAME": "Full Name",
+    "GENERAL": "General",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Goto",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "Gotop",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = Unallocated number",
+    "HANGUPCAUSE_16": "16 = Normal call clearing",
+    "HANGUPCAUSE_17": "17 = User busy",
+    "HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+    "HANGUPCAUSE_21": "21 = Call rejected",
+    "HANGUPCAUSE_22": "22 = Number changed",
+    "HANGUPCAUSE_27": "27 = Destination out of order",
+    "HANGUPCAUSE_38": "38 = Network out of order",
+    "HANGUPCAUSE_41": "41 = Temporary failure",
+    "HANGUP_CAUSE": "Hangup Cause",
+    "HEADERS": "Headers",
+    "HELP": {
+      "AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+      "AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+      "ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+      "ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+      "ANNOUNCETOAGENT": "Announce To Agent",
+      "CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+      "DISABLED": "select to deactivate / unselect to reactivate",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+      "HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+      "LIST": "Contact Manager list used to associate contacts",
+      "MANDATORYDISPOSITION": "Mandatory disposition",
+      "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
+      "MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+      "MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+      "MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+      "MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+      "MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+      "MUSICONHOLD": "Sets the music class to use for a particular queue",
+      "NAME": "Only numbers, letters and specific characters (._) are supported",
+      "PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+      "PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+      "RECORDING": "Enable call recording",
+      "TYPE": "Type",
+      "USERNAME": "Only numbers, letters and specific characters (._) are supported",
+      "REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+      "RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+      "SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+      "THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+      "THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+      "TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+      "VOICEMAIL_CONTEXT": "The context of the relative extension",
+      "WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+      "WELCOMEMESSAGE": "This is the first response message sent to new interactions",
+      "YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement"
+    },
+    "HIDE_DETAILS": "Hide Details",
+    "HOLDTIMEANNOUNCE": "Hold Time Announce",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "In",
+    "INBOUNDROUTES": "Inbound Routes",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Insert your text message here",
+    "INTEGRATIONS": "Integrations",
+    "INTERACTION": "Interaction",
+    "INTERACTIONS": "Interactions",
+    "INTERNAL": "Internal",
+    "INTERNALDIAL": "Internal Dial",
+    "INTERNALROUTES": "Internal Routes",
+    "INTERVAL": "Interval",
+    "INTERVALS": "Intervals",
+    "INUSE": "In Use",
+    "INVALID": "Invalid",
+    "IN_USE": "In use",
+    "JOINWHENEMPTY": "Join when empty",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Key",
+    "LAGGED": "Lagged",
+    "LANGUAGE": "Language",
+    "LASTMESSAGE": "Last message",
+    "LASTNAME": "Last Name",
+    "LAST_MONTH": "Last Month",
+    "LEAVEWHENEMPTY": "Leave when empty",
+    "LEXREGION": "Region",
+    "LIMITED": "Limited",
+    "LIST": "List",
+    "LOGGED_IN": "Logged in",
+    "LOGIN_TIME": "Login time",
+    "LOGO": "Logo",
+    "LOGOUT": "Logout",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@Context",
+    "MANAGED": "Managed",
+    "MANDATORYDISPOSITION": "Mandatory disposition",
+    "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
+    "MARK_AS_UNREAD": "Mark as unread",
+    "MAXLENGTH": "Maximum Length",
+    "MAXMESSAGES": "Max Messages",
+    "MAXSECONDS": "Max Seconds",
+    "MAY": "May",
+    "MEMBERDELAY": "Member Delay",
+    "MESSAGE": "Message",
+    "MESSAGES": "Messages",
+    "MESSAGESALIGNMENT": "Messages Alignment",
+    "METHOD": "Method",
+    "METRIC": "Metric",
+    "MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+    "MINUTEANNOUNCE": "Minute Announce",
+    "MINUTESANNOUNCE": "Minutes Announce",
+    "MOBILE": "Mobile",
+    "MODULES": "Modules",
+    "MOHSOUNDS": "Moh Sounds",
+    "MONITORFORMAT": "Recording Format",
+    "MORE": "More",
+    "MOTIONADDRESS": "Motion Address",
+    "MOTIONBAR": "Motion Bar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy Or Motion Domain",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Music On Hold",
+    "MUSICONHOLDS": "Music On Hold",
+    "NAME": "Name",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "New ChanSpy",
+    "NEW_CONTACT": "New Contact",
+    "NEW_CONTEXT": "New Context",
+    "NEW_INBOUNDROUTE": "New Inbound Route",
+    "NEW_INTERNALROUTE": "New Internal Route",
+    "NEW_MUSICONHOLD": "New Music On Hold",
+    "NEW_OUTBOUNDROUTE": "New Outbound Route",
+    "NEW_PROJECT": "New Project",
+    "NEW_TAB": "New Tab",
+    "NEW_TAG": "New Tag",
+    "NEW_VARIABLE": "New Variable",
+    "NEW_VOICEMAIL": "New Voicemail",
+    "NEW_VOICEQUEUE": "New Voice Queue",
+    "NO": "No",
+    "NONE": "None",
+    "NOOP": "Noop",
+    "NOTE": "Note",
+    "NOTES": "Notes",
+    "NOTIFICATION": "Notification",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Sound",
+    "NOTIFICATIONTEMPLATE": "Template",
+    "NOT_INUSE": "Not in use",
+    "NO_AGENT_ONLINE": "No Agent Online",
+    "NO_APPS_AVAILABLE": "No applications available",
+    "NO_AVAILABLE_INFO": "No available info",
+    "NO_INTERACTION_AVAILABLE": "No interactions available",
+    "NO_MESSAGE_AVAILABLE": "No messages available",
+    "NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+    "NO_RATING": "No rating",
+    "NO_REGISTRY": "No Registry",
+    "NO_SOUND_AVAILABLE": "No sounds available",
+    "NUMBER": "Number",
+    "OF": "of",
+    "ONHOLD": "On Hold",
+    "OPEN": "Open",
+    "OPENCHANNEL": "Open Channel",
+    "OPENED": "Open",
+    "OPERATOR": "Operator",
+    "OPTIONS": "Options",
+    "ORIGINATED": "Originated",
+    "OTHERS": "Others",
+    "OUT": "Out",
+    "OUTBOUNDDIAL": "Outbound Dial",
+    "OUTBOUNDROUTE": "Outbound Route",
+    "OUTBOUNDROUTES": "Outbound Routes",
+    "OUTBOUND_CALLS": "Outbound Calls",
+    "OUTPUT": "Output",
+    "PAGE": "Page",
+    "PARTIALPAUSE": "Parital Pause",
+    "PASSWORD": "Password",
+    "PAUSE": "Pause",
+    "PAUSED": "Paused",
+    "PAUSE_TIME": "Pause time",
+    "PAYMENTMETHOD": "Payment Method",
+    "PENALTY": "Penalty",
+    "PENDING": "Pending",
+    "PERIODICANNOUNCE": "Periodic Announce",
+    "PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+    "PERSONAL_INFO": "Personal Info",
+    "PHONE": "Phone",
+    "PHONENUMBER": "Phone Number",
+    "PHONE_STATE": "Phone State",
+    "PHONE_STATUS": "Phone Status",
+    "PLAYBACK": "Playback",
+    "PLUGINS": "Plugins",
+    "PORT": "Port",
+    "POSITION": "Position",
+    "POSTALCODE": "Postal Code",
+    "PREFIX": "Prefix",
+    "PREVIEW": "Preview",
+    "PRIORITY": "Priority",
+    "PROJECT": "Project",
+    "PROJECTS": "Projects",
+    "PROXY": "Proxy",
+    "QUEUE": "Queue",
+    "QUEUES": "Queues",
+    "QUEUETRANSFER": "Queue Transfer",
+    "QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+    "QUEUE_CALLS": "Queue Calls",
+    "QUEUE_PARAMETERS": "Queue Parameters",
+    "QUEUE_PARAMS": "Queue Parameters",
+    "RANDOM": "Random",
+    "RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+    "RATING": "Rating",
+    "REACHABLE": "Reachable",
+    "READY": "Ready",
+    "REALTIME": "Realtime",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "Received At",
+    "RECEIVEURL": "Receive URL",
+    "RECORD": "Record",
+    "RECORDING": "Recording",
+    "RECORDINGFORMAT": "Recording format",
+    "RECORDINGS": "Recordings",
+    "REFRESH_INTERACTIONS": "Refresh Interactions",
+    "REGISTERED": "Registered",
+    "REGISTRY": "Registry",
+    "REJECT": "Reject",
+    "REJECTED": "Rejected",
+    "REJECTMETHOD": "Reject Method",
+    "REJECTURL": "Reject URL",
+    "RELOAD": "Reload",
+    "REPLY": "Reply",
+    "REPORT": "Report",
+    "REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+    "RETRY": "Retry",
+    "RING": "Ring",
+    "RINGGROUP": "Ring Group",
+    "RINGING": "Ringing",
+    "RINGINUSE": "Ring In Use",
+    "ROWSPERPAGE": "Rows per page",
+    "RULE": "Rule",
+    "SAVE": "Save",
+    "SCHEDULEDAT": "Scheduled At",
+    "SCHEDULED_CALLS": "Scheduled Calls",
+    "SCREENRECORDING": "Manage Screen Recording",
+    "SCRIPT": "Script",
+    "SEARCH_FOR_ANYONE": "Search",
+    "SECONDSANNOUNCE": "Seconds Announce",
+    "SECRETACCESSKEY": "Secret Access Key",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Select",
+    "SELECTED": "Selected",
+    "SELECTED_AGENTS": "Selected Agents",
+    "SELECTED_TEAMS": "Selected Teams",
+    "SELECTED_USERS": "Selected Users",
+    "SELECT_ACCOUNT": "Select Account",
+    "SELECT_ALL": "Select All",
+    "SELECT_DATE": "Select Start Date",
+    "SELECT_NONE": "Select None",
+    "SELECT_STATUS": "Select Status",
+    "SELECT_TYPE": "Select Type",
+    "SEND": "Send",
+    "SENDMAIL": "Send Email",
+    "SENTIMENTANALYSIS": "Sentiment Analysis",
+    "SERVICE": "Service",
+    "SESSIONS": "Sessions",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Set Interface Variables",
+    "SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+    "SETQUEUEVARIABLES": "Set Queue Variables",
+    "SETTINGS": "Settings",
+    "SHOW_ALL_FIELDS": "Show all fields",
+    "SHOW_DETAILS": "Show Details",
+    "SMS": "Sms",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP Host",
+    "SMTP_PORT": "SMTP Port",
+    "SOCIAL": "Social",
+    "SORT": "Sort",
+    "SOURCE": "Source",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Staff",
+    "STARTEDAT": "Started At",
+    "STARTTIME": "Start Time",
+    "START_SCREENRECORDING": "Start Screen Recording",
+    "STATE": "State",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Stop Screen Recording",
+    "STRATEGY": "Strategy",
+    "SUBJECT": "Subject",
+    "SYSTEM": "System",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Talking",
+    "TEAMS_ASSOCIATION": "Teams Association",
+    "TECHNOLOGY/RESOURCE": "Technology/Resource",
+    "TELEPHONES": "Telephones",
+    "TEMPLATE": "Template",
+    "TEXT": "Text",
+    "THANKYOUANNOUNCE": "'Thank You' Announce",
+    "THEREAREANNOUNCE": "'There are' Announce",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout Restart",
+    "TIMER": "Timer",
+    "TIMES": "Number of times per interaction",
+    "TIMEZONE": "Timezone",
+    "TO": "To",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available",
+    "TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total Offered",
+    "TRANSCRIBE": "Transcribe",
+    "TRANSFER": "Transfer",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "True Priority",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Trunk Status",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Unavailable",
+    "UNIQUEID": "Unique ID",
+    "UNKNOWN": "Unknown",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "End Pause",
+    "UNREACHABLE": "Unreachable",
+    "UNREGISTERED": "Unregistered",
+    "UP": "Up",
+    "UPDATE": "Update",
+    "UPLOADING": "Uploading",
+    "URL": "URL",
+    "USER": "User",
+    "USERNAME": "Username",
+    "USERS": "Users",
+    "VALUE": "Value",
+    "VARIABLE": "Variable",
+    "VIDAOOSESSION": "Start Video Call",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video support",
+    "VOICE": "Voice",
+    "VOICEMAIL": "Voicemail",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "Context",
+    "VOICEQUEUES": "Voice Queues",
+    "VOICERECORDINGS": "Voice Recordings",
+    "WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+    "WAITING": "Waiting",
+    "WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Weight",
+    "WELCOMEMESSAGE": "Welcome Message",
+    "WHATSAPP": "WhatsApp Connector",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Wrapup Time",
+    "WRONG_EXTENSION": "The file presents the wrong extension",
+    "YES": "Yes",
+    "YOUARENEXTANNOUNCE": "'You are next' Announce"
+  }
+}
diff --git a/public/app/main/i18n/es.json b/public/app/main/i18n/es.json
new file mode 100644
index 0000000..1b22575
--- /dev/null
+++ b/public/app/main/i18n/es.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Abandonado",
+    "ABANDONEDCALLS": "Llamadas de cola abandonadas",
+    "ABANDONED_CALLS": "Llamadas abandonadas",
+    "ACCEPT": "Aceptar",
+    "ACCEPTMETHOD": "Aceptar el método",
+    "ACCEPTURL": "Aceptar URL",
+    "ACCESSKEYID": "ID de clave de acceso",
+    "ACCOUNT": "Cuenta",
+    "ACCOUNTNAME": "Nombre de Cuenta",
+    "ACCOUNTS": "Cuentas",
+    "ACCOUNTSID": "SID de cuenta",
+    "ACTIONS": "Comportamiento",
+    "ACTIVE": "Activo",
+    "ADD": "Agregar",
+    "ADDRESS": "Dirección",
+    "ADD_AGENT_TO_VOICEQUEUE": "Agregar agente a cola de voz",
+    "ADD_CHANSPY": "Añadir ChanSpy",
+    "ADD_CONTACT": "Agregar contacto",
+    "ADD_CONTEXT": "Agregar contexto",
+    "ADD_INBOUNDROUTE": "Añadir ruta de entrada",
+    "ADD_INTERNALROUTE": "Agregar ruta interna",
+    "ADD_MOHSOUND": "Añadir música en espera",
+    "ADD_MUSICONHOLD": "Agregar música en espera",
+    "ADD_NOTE": "Añadir Nota",
+    "ADD_OUTBOUNDROUTE": "Agregar ruta de salida",
+    "ADD_PROJECT": "Agregar proyecto",
+    "ADD_TAG": "Añadir etiqueta",
+    "ADD_TEAM_TO_VOICEQUEUE": "Agregar equipo a cola de voz",
+    "ADD_VARIABLE": "Agregar variable",
+    "ADD_VOICEMAIL": "Añadir correo de voz",
+    "ADD_VOICEQUEUE": "Agregar cola de voz",
+    "ADVANCED": "Avanzado",
+    "AFTERCALLWORK": "Trabajo Después de Llamada",
+    "AFTERCALLWORKDURATION": "Duración de Trabajo Después de Llamada",
+    "AGENT": "Agente",
+    "AGENTS": "Agentes",
+    "AGENTSADD_QUEUE": "Agregar agentes a la cola de voz",
+    "AGENTTRANSFER": "Transferencia de agente",
+    "AGENTTRANSFERTIMEOUT": "Tiempo de espera de transferencia del agente",
+    "AGENT_TIMEOUT": "Tiempo de espera del agente",
+    "AGI": "Agi",
+    "ALIAS": "Alias",
+    "ALL": "Todas",
+    "ALLOWCODECS": "Códecs permitidos",
+    "ALL_AGENTS": "Todos los agentes",
+    "ALL_TEAMS": "Todos los equipos",
+    "ALL_USERS": "Todos los usuarios",
+    "ALPHABETICAL": "Alfabético",
+    "ALWAYS": "Siempre",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Anunciar la posición de la persona que llama",
+    "ANNOUNCEFREQUENCY": "Anunciar Frecuencia",
+    "ANNOUNCEHOLDTIME": "Anunciar tiempo de espera",
+    "ANNOUNCEMENTS": "Anuncios",
+    "ANNOUNCEPOSITIONLIMIT": "Anunciar el límite de posición",
+    "ANNOUNCETOAGENT": "Anunciar al agente",
+    "ANNOUNCE_OVERRIDES": "Anunciar anulaciones",
+    "ANSWER": "Responder",
+    "ANSWERED": "Contestada",
+    "API": "API",
+    "APIKEY": "Clave API",
+    "APPLICATION": "Solicitud",
+    "APPLICATION_NAME": "Nombre de la aplicación",
+    "ARGUMENTS": "Argumentos",
+    "ATTACH": "Adjuntar",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Archivos de sonido",
+    "AUDIO_FILES": "Archivos de sonido",
+    "AUTH": "Autenticación",
+    "AUTHTOKEN": "Token de autorización",
+    "AUTOPAUSE": "Pausa Automática",
+    "AUTOREPLY": "Respuesta automática",
+    "AVG_BILLABLE": "AVG Facturable",
+    "AVG_HOLD_TIME": "Tiempo promedio de espera",
+    "BACK": "Atrás",
+    "BLACKLIST": "Lista negra",
+    "BODY": "Cuerpo",
+    "BOTNAME": "Nombre del bot",
+    "BUILDER": "Constructor",
+    "BUSY": "Ocupado",
+    "CALLED": "Llamado",
+    "CALLER": "Llamador",
+    "CALLERID": "Caller ID (identificador de llamadas)",
+    "CALLER_ID": "Identificador de llamadas",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Campaña",
+    "CANCEL": "Cancelar",
+    "CANNEDANSWERS": "Respuestas enlatadas",
+    "CANNED_ANSWER_NOT_FOUND": "No se encontraron respuestas enlatadas",
+    "CANNED_ANSWER_SEARCH": "Ingrese un texto para buscar una respuesta enlatada",
+    "CANT_DOWNLOAD_THIS_FILE": "No puedo descargar este archivo",
+    "CAPACITY": "Capacidad",
+    "CHANNEL": "Canal",
+    "CHANNELS": "Canales",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "Ciudad",
+    "CLEAR": "Limpiar",
+    "CLOSE": "Cerrar",
+    "CLOSED": "Cerrado",
+    "CLOSEDAT": "Cerrado en",
+    "CLOSEMETHOD": "Método Cerrado",
+    "CLOSEURL": "Cerrar URL",
+    "CLOSING": "Cerrando",
+    "COMMAND": "Comando",
+    "COMPANIES": "Empresas",
+    "COMPANY": "Compañía",
+    "CONDITION": "Condición",
+    "CONFIRM_PASSWORD": "Confirmar contraseña",
+    "CONNECTED": "Conectado",
+    "CONTACT": "Contacto",
+    "CONTACTMANAGER": "Contacto Encargado",
+    "CONTACTS": "Contactos",
+    "CONTENT": "Contenido",
+    "CONTEXT": "Contexto",
+    "CONTEXTS": "Contextos",
+    "COUNTRY": "País",
+    "CREATED_AT": "Creado en",
+    "CUSTOM": "Personalizado",
+    "CUSTOMER_JOURNEY": "Seguimiento Cliente",
+    "CUSTOM_FIELDS": "Campos personalizados",
+    "CUTDIGITS": "Cortar dígitos",
+    "DASHBOARD": "Cuadro de Mando",
+    "DATE": "Fecha",
+    "DATE_OF_BIRTH": "Fecha de nacimiento",
+    "DEFAULT": "Defecto",
+    "DEFAULT_PAUSE": "PAUSA PREDETERMINADA",
+    "DELETE": "Borrar",
+    "DELETE_APP": "Eliminar aplicación",
+    "DELETE_CHANSPY": "Eliminar ChanSpy",
+    "DELETE_CONTEXT": "Eliminar contexto",
+    "DELETE_HOPPER": "Eliminar Contenedor",
+    "DELETE_INBOUNDROUTE": "Eliminar la ruta de entrada",
+    "DELETE_INTERACTION": "Eliminar interacción",
+    "DELETE_INTERNALROUTE": "Eliminar ruta interna",
+    "DELETE_MOHSOUND": "Eliminar Sonido de Música en Espera",
+    "DELETE_MUSICONHOLD": "Eliminar música en espera",
+    "DELETE_OUTBOUNDROUTE": "Eliminar ruta de salida",
+    "DELETE_PROJECT": "Eliminar proyecto",
+    "DELETE_SELECTED": "Eliminar seleccionado",
+    "DELETE_VOICEDISPOSITION": "Eliminar Cierre de Voz",
+    "DELETE_VOICEMAIL": "Eliminar correo de voz",
+    "DELETE_VOICEQUEUE": "Eliminar cola de voz",
+    "DELETE_VOICERECORDING": "Eliminar grabación de voz",
+    "DELIVERYREPORTURL": "URL del informe de entrega",
+    "DESCRIPTION": "Descripción",
+    "DESTINATION": "Destino",
+    "DESTINATIONPATTERN": "Patrón de destino",
+    "DETAIL": "Detalle",
+    "DETAILS": "Detalles",
+    "DIAL": "Marcar",
+    "DIALER": "Marcador",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "Directorio",
+    "DISABLED": "Deshabilitado",
+    "DISPOSITION": "Cierre",
+    "DISPOSITIONS": "Cierres",
+    "DOWNLOAD": "Descargar",
+    "DOWNLOAD_INTERACTION": "Descargar",
+    "DOWNLOAD_MOHSOUND": "Descargar Sonido de Música en Espera",
+    "DOWNLOAD_VOICERECORDING": "Descargar grabación de voz",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Descargar sin adjuntar",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Descargar sin archivos adjuntos",
+    "DOWNLOAD_WITH_ATTACHMENT": "Descargar con archivo adjunto",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Descargar con archivos adjuntos",
+    "DROPPED": "Asignado",
+    "DROP_TO_UPLOAD": "Suelta Para Subir",
+    "DURATION": "Duración",
+    "EDIT": "Editar",
+    "EDIT_AGENT": "Editar agente",
+    "EDIT_AGI": "Editar AGI",
+    "EDIT_AMAZONLEX": "Editar configuración de Lex",
+    "EDIT_APP": "Editar aplicación",
+    "EDIT_AUTOREPLY": "Editar respuesta automática",
+    "EDIT_CHANSPY": "Editar ChanSpy",
+    "EDIT_CLOSE": "Editar Cerrar",
+    "EDIT_CONTEXT": "Editar contexto",
+    "EDIT_CUSTOM": "Editar personalizado",
+    "EDIT_DIAL": "Editar marcación",
+    "EDIT_DIALOGFLOW": "Editar configuración de Dialogflow",
+    "EDIT_EXTERNALDIAL": "Editar marcación externa",
+    "EDIT_GOTO": "Edit GoTo",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit GotoP",
+    "EDIT_HANGUP": "Editar Colgar",
+    "EDIT_HOPPER": "Editar Contenador",
+    "EDIT_INBOUNDROUTE": "Editar ruta de entrada",
+    "EDIT_INTERNALDIAL": "Editar Discado Interno",
+    "EDIT_INTERNALROUTE": "Editar ruta interna",
+    "EDIT_INTERVAL": "Intervalo de edición",
+    "EDIT_MUSICONHOLD": "Editar música en espera",
+    "EDIT_NOOP": "Editar Noop",
+    "EDIT_OUTBOUNDROUTE": "Editar ruta de salida",
+    "EDIT_PLAYBACK": "Editar reproducción",
+    "EDIT_PROJECT": "Editar proyecto",
+    "EDIT_QUEUE": "Editar cola",
+    "EDIT_RINGGROUP": "Editar grupo de timbre",
+    "EDIT_SET": "Editar conjunto",
+    "EDIT_SYSTEM": "Editar sistema",
+    "EDIT_TAG": "Editar etiqueta",
+    "EDIT_TRUNK": "Editar troncal",
+    "EDIT_VOICEDISPOSITION": "Editar Cierre de Voz",
+    "EDIT_VOICEMAIL": "Editar correo de voz",
+    "EDIT_VOICEQUEUE": "Editar cola de voz",
+    "EDIT_VOICERECORDING": "Editar grabación de voz",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Dirección de correo electrónico",
+    "EMAILBODY": "Cuerpo del Correo Electrónico",
+    "EMAILSUBJECT": "Asunto del email",
+    "ENABLED": "Habilitado",
+    "ENCRYPTION": "Cifrado",
+    "ENDTIME": "Hora de finalización",
+    "ENVELOPE": "Sobre",
+    "EQUALS": "Igual a",
+    "ERROR": "Error",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Formato erróneo",
+      "ACCESSKEYID_REQUIRED": "Se requiere ID de clave de acceso",
+      "ACCOUNTNAME_REQUIRED": "Campo obligatorio",
+      "ACCOUNTSID_REQUIRED": "Campo obligatorio",
+      "AFTERCALLWORKDURATION_REQUIRED": "Campo obligatorio",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
+      "AGENT_REQUIRED": "Campo obligatorio",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+      "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio",
+      "ALIAS_REQUIRED": "Campo obligatorio",
+      "APIKEY_REQUIRED": "Campo obligatorio",
+      "APPLICATION_REQUIRED": "Campo obligatorio",
+      "AUTHTOKEN_REQUIRED": "Campo obligatorio",
+      "BOTNAME_REQUIRED": "Se requiere el nombre del bot",
+      "CLOSEURL_MUST_VALID_URL": "Formato erróneo",
+      "COMMAND_REQUIRED": "Campo obligatorio",
+      "CONDITION_REQUIRED": "Campo obligatorio",
+      "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden",
+      "CONTENT_REQUIRED": "Campo obligatorio",
+      "CONTEXT_REQUIRED": "Campo obligatorio",
+      "DESTINATIONPATTERN_REQUIRED": "Campo obligatorio",
+      "DISPOSITION_REQUIRED": "Campo obligatorio",
+      "EMAIL_MUST_VALID": "Formato erróneo",
+      "EMAIL_REQUIRED": "Campo obligatorio",
+      "EXTENSION_REQUIRED": "Campo obligatorio",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "FALSEPRIORITY_REQUIRED": "Campo obligatorio",
+      "FIELD_REQUIRED": "Campo obligatorio",
+      "FIRSTNAME_REQUIRED": "El Nombre es obligatorio",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "FONTSIZE_REQUIRED": "Campo obligatorio",
+      "FULLNAME_REQUIRED": "Campo obligatorio",
+      "HOST_REQUIRED": "Campo obligatorio",
+      "KEY_MAX_LENGTH": "La clave debe tener una longitud máxima igual a {{max}}",
+      "KEY_REQUIRED": "Campo obligatorio",
+      "LIST_REQUIRED": "Campo obligatorio",
+      "MAILBOX_REQUIRED": "Campo obligatorio",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio",
+      "METHOD_REQUIRED": "Campo obligatorio",
+      "MOTIONADDRESS_MUST_VALID_URL": "Formato erróneo",
+      "MOTIONADDRESS_REQUIRED": "Campo obligatorio",
+      "MOTIONPROXY_MUST_VALID_URL": "Formato erróneo",
+      "MOTIONPROXY_REQUIRED": "Campo obligatorio",
+      "NAME_MUST_VALID_PATTERN": "Formato erróneo",
+      "NAME_REQUIRED": "Campo obligatorio",
+      "OPTIONS_REQUIRED": "Campo obligatorio",
+      "OUTBOUNDROUTE_REQUIRED": "Campo obligatorio",
+      "PASSWORD_REQUIRED": "Campo obligatorio",
+      "PHONENUMBER_REQUIRED": "Campo obligatorio",
+      "PHONE_REQUIRED": "Campo obligatorio",
+      "PREFIX_REQUIRED": "Campo obligatorio",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "PRIORITY_REQUIRED": "Campo obligatorio",
+      "PROJECT_REQUIRED": "Campo obligatorio",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obligatorio",
+      "QUEUE_REQUIRED": "Campo obligatorio",
+      "REJECTURL_MUST_VALID_URL": "Formato erróneo",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "SECRETACCESSKEY_REQUIRED": "Campo obligatorio",
+      "SENDERSTRING_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Formato erróneo",
+      "SID_REQUIRED": "Campo obligatorio",
+      "TAG_REQUIRED": "Campo obligatorio",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Campo obligatorio",
+      "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}",
+      "TEXT_REQUIRED": "Campo obligatorio",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+      "TIMEOUT_REQUIRED": "Campo obligatorio",
+      "TIMEZONE_REQUIRED": "Campo obligatorio",
+      "TOKEN_REQUIRED": "Campo obligatorio",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "TRUEPRIORITY_REQUIRED": "Campo obligatorio",
+      "TRUNK_REQUIRED": "Campo obligatorio",
+      "TYPE_REQUIRED": "Campo obligatorio",
+      "URL_REQUIRED": "Campo obligatorio",
+      "USERNAME_REQUIRED": "Campo obligatorio",
+      "VALUE_REQUIRED": "Campo obligatorio",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obligatorio",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Anuncio estimado de tiempo de espera",
+    "EXTENSION": "Extensión",
+    "EXTERNALDIAL": "Discado Externo",
+    "FAILED": "Ha fallado",
+    "FALSEPRIORITY": "Falsa prioridad",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelidad",
+    "FIELD": "Campo",
+    "FIELDS": "Campos",
+    "FILE": "Archivo",
+    "FILE_NOT_FOUND": "Archivo no encontrado",
+    "FILTER": "Filtrar",
+    "FILTERS": "Filtros",
+    "FINISH": "Terminar",
+    "FONTSIZE": "Tamaño de fuente",
+    "FORMAT": "Formato",
+    "FREE": "Libre",
+    "FROM": "De",
+    "FULLNAME": "Nombre completo",
+    "GENERAL": "General",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Goto",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Colgar",
+    "HANGUPCAUSE_1": "1 = número sin asignar",
+    "HANGUPCAUSE_16": "16 = Limpieza de llamada normal",
+    "HANGUPCAUSE_17": "17 = Usuario ocupado",
+    "HANGUPCAUSE_18": "18 = Sin respuesta del usuario (dispositivo de teléfono no conectado)",
+    "HANGUPCAUSE_21": "21 = Llamada rechazada",
+    "HANGUPCAUSE_22": "22 = Número cambiado",
+    "HANGUPCAUSE_27": "27 = Destino fuera de servicio",
+    "HANGUPCAUSE_38": "38 = Red fuera de servicio",
+    "HANGUPCAUSE_41": "41 = falla temporal",
+    "HANGUP_CAUSE": "Causa de Colgado",
+    "HEADERS": "Encabezados",
+    "HELP": {
+      "AFTERCALLWORK": "Si está habilitado, el agente se configurará en Pausa después de completar una llamada",
+      "AFTERCALLWORKDURATION": "Longitud de pausa activada por la opción de trabajo posterior a la llamada",
+      "ANNOUNCECALLERPOSITION": "Se usa para definir si se debe anunciar la posición de la persona que llama en la cola: No=nunca; Sí=siempre; Límite=solo si está dentro del límite definido por announce-position-limit; Más=solo si está más allá del valor definido por announce-position-limit",
+      "ANNOUNCEHOLDTIME": "Reproduce el tiempo de espera estimado junto con los anuncios periódicos (Sí/No/Una vez)",
+      "ANNOUNCETOAGENT": "Reproduzca un anuncio para el agente que contesta la llamada (generalmente para informarle de qué cola proviene la persona que llama)",
+      "CONTEXT": "Permite que una persona que llama salga de la cola presionando un solo dígito DTMF. Si se especifica un contexto y la persona que llama ingresa un número, ese dígito intentará coincidir en el contexto especificado, y la ejecución del plan de marcado continuará allí.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"El tiempo de espera estimado actual es\". Indefinido = sin anuncio",
+      "HOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Tiempo de espera\". Indefinido = sin anuncio",
+      "LIST": "Lista de contactos de contacto utilizada para asociar contactos",
+      "MANDATORYDISPOSITION": "Cierre obligatorio",
+      "MANDATORYDISPOSITIONPAUSEID": "Estado de pausa para establecer durante el cierre obligatorio",
+      "MEMBERDELAY": "Inserta un retraso antes de que la persona que llama y el agente en la cola se conecten",
+      "MINANNOUNCEFREQUENCY": "Frecuencia mínima de anuncio (útil cuando la posición de quien llama cambia con frecuencia)",
+      "MINUTEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minuto\". Indefinido = sin anuncio",
+      "MINUTESANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minutos\". Indefinido = sin anuncio",
+      "MONITORFORMAT": "Especifica el formato de archivo para usar al grabar. Si el formato de monitor está inactivo, las llamadas no se grabarán",
+      "MOTIONPROXY": "El campo debe tener el siguiente formato: <protocolo>: // <direccionip> [: <puerto>]. Ejemplo: https: //X.Y.Z.W",
+      "MUSICONHOLD": "Establece la clase de música para usar en una cola particular",
+      "NAME": "Solo se admiten números, letras y caracteres específicos (._)",
+      "PERIODICANNOUNCE": "Conjunto de anuncios periódicos para ser reproducidos (en el orden)",
+      "PERIODICANNOUNCEFREQUENCY": "Frecuencia de anuncios periódicos a la persona que llama",
+      "RECORDING": "Habilitar grabación de llamadas",
+      "REPORTHOLDTIMEAGENT": "Permite informar el tiempo de espera del llamante al agente en la cola antes de la conexión",
+      "RINGINUSE": "Para evitar/permitir el envío de llamadas a miembros cuyo estado sea En uso",
+      "SECONDSANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"segundos\". Indefinido = sin anuncio",
+      "THANKYOUANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Gracias por su paciencia\". Indefinido = sin anuncio",
+      "THEREAREANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Hay\". Indefinido = sin anuncio",
+      "TIMEOUTRESTART": "En caso afirmativo, esto restablece el tiempo de espera para que un agente responda cuando se recibe un estado OCUPADO o CONGESTIÓN del canal",
+      "TYPE": "Determine el rol de SIP dentro de un asterisco. Usuario: usado para autenticar entrantes - Peer: para llamadas salientes - Amigo: cubre ambas características de las anteriores.",
+      "VOICEMAIL_CONTEXT": "El contexto de la extensión relativa",
+      "WAITINGCALLSANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"llamadas en espera\". Indefinido = sin anuncio",
+      "WELCOMEMESSAGE": "Este es el primer mensaje enviado al contactor.",
+      "YOUARENEXTANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Ahora eres el primero en la fila\". Indefinido = sin anuncio"
+    },
+    "HIDE_DETAILS": "Ocultar detalles",
+    "HOLDTIMEANNOUNCE": "Anunciar el tiempo de espera",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "En",
+    "INBOUNDROUTES": "Rutas de entrada",
+    "INFO": "Información",
+    "INSERT_MESSAGE_HERE": "Insertar su mensaje de texto aquí",
+    "INTEGRATIONS": "Integraciones",
+    "INTERACTION": "Interacción",
+    "INTERACTIONS": "Interacciones",
+    "INTERNAL": "Interno",
+    "INTERNALDIAL": "Discado Interno",
+    "INTERNALROUTES": "Rutas internas",
+    "INTERVAL": "Intervalo",
+    "INTERVALS": "Intervalos",
+    "INUSE": "En uso",
+    "INVALID": "Inválido",
+    "IN_USE": "En uso",
+    "JOINWHENEMPTY": "Únete cuando estés vacío",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Llave",
+    "LAGGED": "Lagged",
+    "LANGUAGE": "Idioma",
+    "LASTMESSAGE": "Ultimo mensaje",
+    "LASTNAME": "Apellido",
+    "LAST_MONTH": "El Mes Masado",
+    "LEAVEWHENEMPTY": "Deje cuando esté vacío",
+    "LEXREGION": "Región",
+    "LIMITED": "Limite",
+    "LIST": "Lista",
+    "LOGGED_IN": "Conectado (SIP conectado)",
+    "LOGIN_TIME": "Hora de inicio de sesión",
+    "LOGO": "Logo",
+    "LOGOUT": "Cerrar sesión",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Buzón",
+    "MAILBOX@CONTEXT": "Buzón@Contexto",
+    "MANAGED": "Administrado",
+    "MANDATORYDISPOSITION": "Cierre obligatorio",
+    "MANDATORYDISPOSITIONPAUSEID": "Estado de pausa de cierre obligatorio",
+    "MARK_AS_UNREAD": "marcar como no leído",
+    "MAXLENGTH": "Longitud máxima",
+    "MAXMESSAGES": "Mensajes máximos",
+    "MAXSECONDS": "Max segundos",
+    "MAY": "Mayo",
+    "MEMBERDELAY": "Demora de miembro",
+    "MESSAGE": "Mensaje",
+    "MESSAGES": "Mensajes",
+    "MESSAGESALIGNMENT": "Mensaje de Alineación",
+    "METHOD": "Método",
+    "METRIC": "Métrico",
+    "MINANNOUNCEFREQUENCY": "Frecuencia de anuncio mínimo",
+    "MINUTEANNOUNCE": "Minuto anuncia",
+    "MINUTESANNOUNCE": "Minutos anuncian",
+    "MOBILE": "Celular",
+    "MODULES": "Módulos",
+    "MOHSOUNDS": "Sonidos de Moh",
+    "MONITORFORMAT": "Formato de grabación",
+    "MORE": "Más",
+    "MOTIONADDRESS": "Motion Address",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Dominio proxy o Motion",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Música en espera",
+    "MUSICONHOLDS": "Música en espera",
+    "NAME": "Nombre",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Nueva ChanSpy",
+    "NEW_CONTACT": "Nuevo contacto",
+    "NEW_CONTEXT": "Nuevo contexto",
+    "NEW_INBOUNDROUTE": "Nueva ruta de entrada",
+    "NEW_INTERNALROUTE": "Nueva ruta interna",
+    "NEW_MUSICONHOLD": "Nueva música en espera",
+    "NEW_OUTBOUNDROUTE": "Nueva ruta de salida",
+    "NEW_PROJECT": "Nuevo proyecto",
+    "NEW_TAB": "Nueva pestaña",
+    "NEW_TAG": "Nueva etiqueta",
+    "NEW_VARIABLE": "Nueva variable",
+    "NEW_VOICEMAIL": "Nuevo mensaje de voz",
+    "NEW_VOICEQUEUE": "Nueva cola de voz",
+    "NO": "No",
+    "NONE": "Ninguno",
+    "NOOP": "Noop",
+    "NOTE": "Nota",
+    "NOTES": "Notas",
+    "NOTIFICATION": "Notificación",
+    "NOTIFICATIONSHAKE": "Vibrar",
+    "NOTIFICATIONSOUND": "Sonar",
+    "NOTIFICATIONTEMPLATE": "Modelo",
+    "NOT_INUSE": "No esta en uso",
+    "NO_AGENT_ONLINE": "Sin agente en línea",
+    "NO_APPS_AVAILABLE": "No hay aplicaciones disponibles",
+    "NO_AVAILABLE_INFO": "No hay información disponible",
+    "NO_INTERACTION_AVAILABLE": "No hay interacciones disponibles",
+    "NO_MESSAGE_AVAILABLE": "No hay mensajes disponibles",
+    "NO_MOHSOUND_AVAILABLE": "No hay música en espera disponible",
+    "NO_RATING": "Sin evaluar",
+    "NO_REGISTRY": "Sin registro",
+    "NO_SOUND_AVAILABLE": "No hay sonidos disponibles",
+    "NUMBER": "Número",
+    "OF": "de",
+    "ONHOLD": "En espera",
+    "OPEN": "Abierto",
+    "OPENCHANNEL": "Canal abierto",
+    "OPENED": "Abierto",
+    "OPERATOR": "Operador",
+    "OPTIONS": "Opciones",
+    "ORIGINATED": "Originado",
+    "OTHERS": "Otros",
+    "OUT": "Fuera",
+    "OUTBOUNDDIAL": "Discado Saliente",
+    "OUTBOUNDROUTE": "Ruta de salida",
+    "OUTBOUNDROUTES": "Rutas de salida",
+    "OUTBOUND_CALLS": "Llamadas salientes",
+    "OUTPUT": "Salida",
+    "PAGE": "Página",
+    "PARTIALPAUSE": "Pausa parcial",
+    "PASSWORD": "Contraseña",
+    "PAUSE": "Pausa",
+    "PAUSED": "Pausado",
+    "PAUSE_TIME": "Tiempo de pausa",
+    "PAYMENTMETHOD": "Métodos de pago",
+    "PENALTY": "Pena",
+    "PENDING": "Pendiente",
+    "PERIODICANNOUNCE": "Anuncio periódico",
+    "PERIODICANNOUNCEFREQUENCY": "Frecuencia de anuncio periódico",
+    "PERSONAL_INFO": "Información personal",
+    "PHONE": "Teléfono",
+    "PHONENUMBER": "Número de teléfono",
+    "PHONE_STATE": "Estado del teléfono",
+    "PHONE_STATUS": "Estado del teléfono",
+    "PLAYBACK": "Reproducción",
+    "PLUGINS": "Complementos",
+    "PORT": "Puerto",
+    "POSITION": "Posición",
+    "POSTALCODE": "Código postal",
+    "PREFIX": "Prefijo",
+    "PREVIEW": "Vista Previa",
+    "PRIORITY": "Prioridad",
+    "PROJECT": "Proyecto Cally-Square",
+    "PROJECTS": "Proyectos",
+    "PROXY": "Proxy",
+    "QUEUE": "Cola",
+    "QUEUES": "Colas",
+    "QUEUETRANSFER": "Transferencia de cola",
+    "QUEUETRANSFERTIMEOUT": "Tiempo de espera de transferencia de cola",
+    "QUEUE_CALLS": "Llamadas en cola",
+    "QUEUE_PARAMETERS": "Parámetros de cola",
+    "QUEUE_PARAMS": "Parámetros de cola",
+    "RANDOM": "Aleatorio",
+    "RANDOMPERIODICANNOUNCE": "Anuncio periódico aleatorio",
+    "RATING": "Clasificación",
+    "REACHABLE": "Accesible",
+    "READY": "Listo",
+    "REALTIME": "Tiempo real",
+    "RECALLME": "Recordar",
+    "RECEIVED_AT": "Recibido en",
+    "RECEIVEURL": "Recibir URL",
+    "RECORD": "Grabar",
+    "RECORDING": "Grabación",
+    "RECORDINGFORMAT": "Formato de grabación",
+    "RECORDINGS": "Grabaciones",
+    "REFRESH_INTERACTIONS": "Actualizar interacciones",
+    "REGISTERED": "Registrado",
+    "REGISTRY": "Registro",
+    "REJECT": "Rechazar",
+    "REJECTED": "Rechazado",
+    "REJECTMETHOD": "Método de rechazo",
+    "REJECTURL": "Rechazar URL",
+    "RELOAD": "Recargar",
+    "REPLY": "Respuesta",
+    "REPORT": "Informe",
+    "REPORTHOLDTIMEAGENT": "Reporte Tiempo de Espera Agente",
+    "RETRY": "Retry",
+    "RING": "Ring",
+    "RINGGROUP": "Grupo de Ring",
+    "RINGING": "Zumbido",
+    "RINGINUSE": "Ring en uso",
+    "ROWSPERPAGE": "Filas por página",
+    "RULE": "Regla",
+    "SAVE": "Guardar",
+    "SCHEDULEDAT": "Programado en",
+    "SCHEDULED_CALLS": "Llamadas programadas",
+    "SCREENRECORDING": "Administrar grabación de pantalla",
+    "SCRIPT": "Guión",
+    "SEARCH_FOR_ANYONE": "Buscar",
+    "SECONDSANNOUNCE": "Anuncio Segundos",
+    "SECRETACCESSKEY": "Clave de acceso secreta",
+    "SECURITY_SUITE": "Suite de seguridad",
+    "SELECT": "Seleccione",
+    "SELECTED": "Seleccionado",
+    "SELECTED_AGENTS": "Agentes seleccionados",
+    "SELECTED_TEAMS": "Equipos seleccionados",
+    "SELECTED_USERS": "Usuarios seleccionados",
+    "SELECT_ACCOUNT": "Seleccionar cuenta",
+    "SELECT_ALL": "Seleccionar todo",
+    "SELECT_DATE": "Seleccione la fecha de inicio",
+    "SELECT_NONE": "Seleccione Ninguno",
+    "SELECT_STATUS": "Seleccionar estado",
+    "SELECT_TYPE": "Seleccione tipo",
+    "SEND": "Enviar",
+    "SENDMAIL": "Enviar correo electrónico",
+    "SENTIMENTANALYSIS": "Análisis de los sentimientos",
+    "SERVICE": "Servicio",
+    "SESSIONS": "Sesiones",
+    "SET": "Conjunto",
+    "SETINTERFACEVARIABLES": "Establecer variables de interfaz",
+    "SETQUEUEENTRYVARIABLES": "Establecer variables de entrada de cola",
+    "SETQUEUEVARIABLES": "Establecer variables de cola",
+    "SETTINGS": "Configuraciones",
+    "SHOW_ALL_FIELDS": "Mostrar todos los campos",
+    "SHOW_DETAILS": "Mostrar detalles",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Host",
+    "SMTP_PORT": "Puerto",
+    "SOCIAL": "Sociales",
+    "SORT": "Ordenar",
+    "SOURCE": "Fuente",
+    "SPYINTERACTION": "Espiar",
+    "STAFF": "Grupo de Trabajo",
+    "STARTEDAT": "Empezó a las",
+    "STARTTIME": "Hora de inicio",
+    "START_SCREENRECORDING": "Iniciar grabación de pantalla",
+    "STATE": "Estado",
+    "STATUS": "Estado",
+    "STOP_SCREENRECORDING": "Detener grabación de pantalla",
+    "STRATEGY": "Estrategia",
+    "SUBJECT": "Sujeto",
+    "SYSTEM": "Sistema",
+    "TAG": "Etiqueta",
+    "TAGS": "Etiquetas",
+    "TALKING": "Hablando",
+    "TEAMS_ASSOCIATION": "Asociación de equipos",
+    "TECHNOLOGY/RESOURCE": "Tecnología/Recurso",
+    "TELEPHONES": "Teléfonos",
+    "TEMPLATE": "Modelo",
+    "TEXT": "Texto",
+    "THANKYOUANNOUNCE": "'Gracias' Anuncio",
+    "THEREAREANNOUNCE": "'Hay' Anuncio",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Tiempo de reinicio",
+    "TIMER": "Temporizador",
+    "TIMES": "Cantidad de veces por interacción",
+    "TIMEZONE": "Zona horaria",
+    "TO": "A",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Grabación de pantalla disponible",
+    "TOOLTIP_SCREENRECORDING_ON": "Grabación de pantalla en progreso",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total ofrecido",
+    "TRANSCRIBE": "Transcribir",
+    "TRANSFER": "Transferir",
+    "TRANSPORT": "Transporte",
+    "TRUEPRIORITY": "Verdadera prioridad",
+    "TRUNK": "Troncal",
+    "TRUNKS": "Troncal",
+    "TRUNK_STATUS": "Estado del Troncal",
+    "TYPE": "Tipo",
+    "UNAVAILABLE": "No Disponible",
+    "UNIQUEID": "Identificación única",
+    "UNKNOWN": "Desconocido",
+    "UNMANAGED": "No administrado",
+    "UNPAUSE": "Fin de pausa",
+    "UNREACHABLE": "Inalcanzable",
+    "UNREGISTERED": "No registrado",
+    "UP": "Arriba",
+    "UPDATE": "Actualizar",
+    "UPLOADING": "Cargando",
+    "URL": "URL",
+    "USER": "Usuario",
+    "USERNAME": "Nombre de usuario",
+    "USERS": "Usuarios",
+    "VALUE": "Valor",
+    "VARIABLE": "Variable",
+    "VIDAOOSESSION": "Iniciar videollamada",
+    "VIDEO": "Vídeo",
+    "VIDEOSUPPORT": "Soporte de video",
+    "VOICE": "Voz",
+    "VOICEMAIL": "Mensaje de voz",
+    "VOICEMAILS": "Mensajes de voz",
+    "VOICEMAIL_CONTEXT": "Contexto",
+    "VOICEQUEUES": "Colas de voz",
+    "VOICERECORDINGS": "Grabaciones de voz",
+    "WAITFORTHEASSIGNEDAGENT": "Esperar al Agente Asignado",
+    "WAITING": "Esperando",
+    "WAITINGCALLSANNOUNCE": "Anuncio Llamadas en Espera",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Sitio web",
+    "WEIGHT": "Peso",
+    "WELCOMEMESSAGE": "Mensaje de bienvenida",
+    "WHATSAPP": "Conector de WhatsApp",
+    "WHITELABEL": "Etiqueta blanca",
+    "WRAPUPTIME": "Tiempo de envolvimiento",
+    "WRONG_EXTENSION": "El archivo presenta la extensión incorrecta",
+    "YES": "Sí",
+    "YOUARENEXTANNOUNCE": "'Eres el Próximo' Anuncio"
+  }
+}
diff --git a/public/app/main/i18n/et.json b/public/app/main/i18n/et.json
new file mode 100644
index 0000000..c84def4
--- /dev/null
+++ b/public/app/main/i18n/et.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Abandoned",
+    "ABANDONEDCALLS": "Abandoned Queue Calls",
+    "ABANDONED_CALLS": "Abandoned Calls",
+    "ACCEPT": "Accept",
+    "ACCEPTMETHOD": "Accept Method",
+    "ACCEPTURL": "Accept URL",
+    "ACCESSKEYID": "Juurdepääsukoodi ID",
+    "ACCOUNT": "Account",
+    "ACCOUNTNAME": "Account Name",
+    "ACCOUNTS": "Accounts",
+    "ACCOUNTSID": "Konto SID",
+    "ACTIONS": "Actions",
+    "ACTIVE": "Active",
+    "ADD": "Add",
+    "ADDRESS": "Address",
+    "ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+    "ADD_CHANSPY": "Add ChanSpy",
+    "ADD_CONTACT": "Add Contact",
+    "ADD_CONTEXT": "Add Context",
+    "ADD_INBOUNDROUTE": "Add Inbound Route",
+    "ADD_INTERNALROUTE": "Add Internal Route",
+    "ADD_MOHSOUND": "Add Music On Hold sound",
+    "ADD_MUSICONHOLD": "Add Music On Hold",
+    "ADD_NOTE": "Add note",
+    "ADD_OUTBOUNDROUTE": "Add Outbound Route",
+    "ADD_PROJECT": "Add Project",
+    "ADD_TAG": "Add Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+    "ADD_VARIABLE": "Add Variable",
+    "ADD_VOICEMAIL": "Add Voicemail",
+    "ADD_VOICEQUEUE": "Add Voice Queue",
+    "ADVANCED": "Advanced",
+    "AFTERCALLWORK": "After Call Work",
+    "AFTERCALLWORKDURATION": "After Call Work Duration",
+    "AGENT": "Agent",
+    "AGENTS": "Agents",
+    "AGENTSADD_QUEUE": "Add Agents To Voice Queue",
+    "AGENTTRANSFER": "Agent Transfer",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Agent Timeout",
+    "AGI": "Agi",
+    "ALIAS": "Alias",
+    "ALL": "All",
+    "ALLOWCODECS": "Allowed Codecs",
+    "ALL_AGENTS": "All Agents",
+    "ALL_TEAMS": "All Teams",
+    "ALL_USERS": "All Users",
+    "ALPHABETICAL": "Alphabetical",
+    "ALWAYS": "Always",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Announce Caller Position",
+    "ANNOUNCEFREQUENCY": "Announce Frequency",
+    "ANNOUNCEHOLDTIME": "Announce Hold Time",
+    "ANNOUNCEMENTS": "Announcements",
+    "ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+    "ANNOUNCETOAGENT": "Announce To Agent",
+    "ANNOUNCE_OVERRIDES": "Announce Overrides",
+    "ANSWER": "Answer",
+    "ANSWERED": "Answered",
+    "API": "API",
+    "APIKEY": "Api Key",
+    "APPLICATION": "Application",
+    "APPLICATION_NAME": "Application Name",
+    "ARGUMENTS": "Arguments",
+    "ATTACH": "Attach",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Audio Files",
+    "AUDIO_FILES": "Audio Files",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Authorization Token",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Auto Reply",
+    "AVG_BILLABLE": "Avg Billable",
+    "AVG_HOLD_TIME": "Avg Hold Time",
+    "BACK": "Back",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Body",
+    "BOTNAME": "Boti nimi",
+    "BUILDER": "Builder",
+    "BUSY": "Busy",
+    "CALLED": "Called",
+    "CALLER": "Caller",
+    "CALLERID": "Caller ID",
+    "CALLER_ID": "Caller ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Campaign",
+    "CANCEL": "Tühista",
+    "CANNEDANSWERS": "Canned Answers",
+    "CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+    "CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+    "CANT_DOWNLOAD_THIS_FILE": "Seda faili ei saa alla laadida",
+    "CAPACITY": "Capacity",
+    "CHANNEL": "Kanal",
+    "CHANNELS": "Channels",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "City",
+    "CLEAR": "Clear",
+    "CLOSE": "Close",
+    "CLOSED": "Closed",
+    "CLOSEDAT": "Closed At",
+    "CLOSEMETHOD": "Close Method",
+    "CLOSEURL": "Close URL",
+    "CLOSING": "Closing",
+    "COMMAND": "Command",
+    "COMPANIES": "Ettevõtted",
+    "COMPANY": "Company",
+    "CONDITION": "Condition",
+    "CONFIRM_PASSWORD": "Confirm Password",
+    "CONNECTED": "Connected",
+    "CONTACT": "Contact",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Contacts",
+    "CONTENT": "Content",
+    "CONTEXT": "Context",
+    "CONTEXTS": "Contexts",
+    "COUNTRY": "Country",
+    "CREATED_AT": "Created At",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Customer Journey",
+    "CUSTOM_FIELDS": "Custom Fields",
+    "CUTDIGITS": "Cut Digits",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Date",
+    "DATE_OF_BIRTH": "Birthdate",
+    "DEFAULT": "Default",
+    "DEFAULT_PAUSE": "DEFAULT PAUSE",
+    "DELETE": "Delete",
+    "DELETE_APP": "Delete Application",
+    "DELETE_CHANSPY": "Delete ChanSpy",
+    "DELETE_CONTEXT": "Delete Context",
+    "DELETE_HOPPER": "Delete Hopper",
+    "DELETE_INBOUNDROUTE": "Delete Inbound Route",
+    "DELETE_INTERACTION": "Delete Interaction",
+    "DELETE_INTERNALROUTE": "Delete Internal Route",
+    "DELETE_MOHSOUND": "Delete Music On Hold sound",
+    "DELETE_MUSICONHOLD": "Delete Music On Hold",
+    "DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+    "DELETE_PROJECT": "Delete Project",
+    "DELETE_SELECTED": "Delete selected",
+    "DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+    "DELETE_VOICEMAIL": "Delete Voicemail",
+    "DELETE_VOICEQUEUE": "Delete Voice Queue",
+    "DELETE_VOICERECORDING": "Delete Voice Recording",
+    "DELIVERYREPORTURL": "Delivery Report URL",
+    "DESCRIPTION": "Description",
+    "DESTINATION": "Destination",
+    "DESTINATIONPATTERN": "Destination Pattern",
+    "DETAIL": "Detail",
+    "DETAILS": "Details",
+    "DIAL": "Dial",
+    "DIALER": "Helistaja",
+    "DIALOGFLOW": "Dialoogivoog",
+    "DID": "DID",
+    "DIRECTORY": "Directory",
+    "DISABLED": "Disabled",
+    "DISPOSITION": "Disposition",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+    "DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Laadige alla ilma manuseta",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments",
+    "DOWNLOAD_WITH_ATTACHMENT": "Laadige alla koos manusega",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+    "DROPPED": "Dropped",
+    "DROP_TO_UPLOAD": "Drop To Upload",
+    "DURATION": "Duration",
+    "EDIT": "Edit",
+    "EDIT_AGENT": "Edit Agent",
+    "EDIT_AGI": "Edit AGI",
+    "EDIT_AMAZONLEX": "Redigeeri Lexi konfiguratsiooni",
+    "EDIT_APP": "Edit Application",
+    "EDIT_AUTOREPLY": "Edit Auto Reply",
+    "EDIT_CHANSPY": "Edit ChanSpy",
+    "EDIT_CLOSE": "Edit Close",
+    "EDIT_CONTEXT": "Edit Context",
+    "EDIT_CUSTOM": "Edit Custom",
+    "EDIT_DIAL": "Edit Dial",
+    "EDIT_DIALOGFLOW": "Redigeeri Dialogflow konfiguratsiooni",
+    "EDIT_EXTERNALDIAL": "Edit External Dial",
+    "EDIT_GOTO": "Edit GoTo",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit GotoP",
+    "EDIT_HANGUP": "Edit Hangup",
+    "EDIT_HOPPER": "Edit Hopper",
+    "EDIT_INBOUNDROUTE": "Edit Inbound Route",
+    "EDIT_INTERNALDIAL": "Edit Internal Dial",
+    "EDIT_INTERNALROUTE": "Edit Internal Route",
+    "EDIT_INTERVAL": "Edit Interval",
+    "EDIT_MUSICONHOLD": "Edit Music On Hold",
+    "EDIT_NOOP": "Edit Noop",
+    "EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+    "EDIT_PLAYBACK": "Edit Playback",
+    "EDIT_PROJECT": "Edit Project",
+    "EDIT_QUEUE": "Edit Queue",
+    "EDIT_RINGGROUP": "Edit Ring Group",
+    "EDIT_SET": "Edit Set",
+    "EDIT_SYSTEM": "Edit System",
+    "EDIT_TAG": "Edit Tag",
+    "EDIT_TRUNK": "Edit Trunk",
+    "EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+    "EDIT_VOICEMAIL": "Edit Voicemail",
+    "EDIT_VOICEQUEUE": "Edit Voice Queue",
+    "EDIT_VOICERECORDING": "Edit Voice Recording",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Email Address",
+    "EMAILBODY": "Email Body",
+    "EMAILSUBJECT": "Email Subject",
+    "ENABLED": "Enabled",
+    "ENCRYPTION": "Encryption",
+    "ENDTIME": "End Time",
+    "ENVELOPE": "Envelope",
+    "EQUALS": "Võrdub",
+    "ERROR": "Error",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
+      "ACCESSKEYID_REQUIRED": "Juurdepääsukoodi ID on vajalik",
+      "ACCOUNTNAME_REQUIRED": "Mandatory field",
+      "ACCOUNTSID_REQUIRED": "Kohustuslik väli",
+      "AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "AGENT_REQUIRED": "Mandatory Field",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+      "ALIAS_REQUIRED": "Mandatory field",
+      "APIKEY_REQUIRED": "Mandatory field",
+      "APPLICATION_REQUIRED": "Mandatory field",
+      "AUTHTOKEN_REQUIRED": "Mandatory field",
+      "BOTNAME_REQUIRED": "Boti nimi on kohustuslik",
+      "CLOSEURL_MUST_VALID_URL": "Wrong format",
+      "COMMAND_REQUIRED": "Mandatory Field",
+      "CONDITION_REQUIRED": "Mandatory Field",
+      "CONFIRM_NOT_MATCH": "The passwords don't match",
+      "CONTENT_REQUIRED": "Mandatory field",
+      "CONTEXT_REQUIRED": "Mandatory field",
+      "DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+      "DISPOSITION_REQUIRED": "Mandatory Field",
+      "EMAIL_MUST_VALID": "Wrong format",
+      "EMAIL_REQUIRED": "Mandatory field",
+      "EXTENSION_REQUIRED": "Mandatory field",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
+      "FIELD_REQUIRED": "Mandatory field",
+      "FIRSTNAME_REQUIRED": "Mandatory field",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FONTSIZE_REQUIRED": "Mandatory field",
+      "FULLNAME_REQUIRED": "Mandatory field",
+      "HOST_REQUIRED": "Mandatory Field",
+      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+      "KEY_REQUIRED": "Mandatory Field",
+      "LIST_REQUIRED": "Mandatory Field",
+      "MAILBOX_REQUIRED": "Mandatory field",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli",
+      "METHOD_REQUIRED": "Mandatory Field",
+      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+      "MOTIONADDRESS_REQUIRED": "Mandatory field",
+      "MOTIONPROXY_MUST_VALID_URL": "Wrong format",
+      "MOTIONPROXY_REQUIRED": "Mandatory Field",
+      "NAME_MUST_VALID_PATTERN": "Wrong format",
+      "NAME_REQUIRED": "Mandatory field",
+      "OPTIONS_REQUIRED": "Mandatory field",
+      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+      "PASSWORD_REQUIRED": "Mandatory field",
+      "PHONENUMBER_REQUIRED": "Mandatory field",
+      "PHONE_REQUIRED": "Mandatory field",
+      "PREFIX_REQUIRED": "Mandatory field",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "PRIORITY_REQUIRED": "Mandatory field",
+      "PROJECT_REQUIRED": "Kohustuslik väli",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "QUEUE_REQUIRED": "Mandatory Field",
+      "REJECTURL_MUST_VALID_URL": "Wrong format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "SECRETACCESSKEY_REQUIRED": "Kohustuslik väli",
+      "SENDERSTRING_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Wrong format",
+      "SID_REQUIRED": "Mandatory Field",
+      "TAG_REQUIRED": "Mandatory Field",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "TEXT_REQUIRED": "Mandatory Field",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "TIMEOUT_REQUIRED": "Mandatory field",
+      "TIMEZONE_REQUIRED": "Mandatory field",
+      "TOKEN_REQUIRED": "Mandatory field",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
+      "TRUNK_REQUIRED": "Mandatory field",
+      "TYPE_REQUIRED": "Mandatory field",
+      "URL_REQUIRED": "Mandatory field",
+      "USERNAME_REQUIRED": "Kohustuslik väli",
+      "VALUE_REQUIRED": "Mandatory field",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+    "EXTENSION": "Extension",
+    "EXTERNALDIAL": "External Dial",
+    "FAILED": "Failed",
+    "FALSEPRIORITY": "False Priority",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Field",
+    "FIELDS": "Fields",
+    "FILE": "File",
+    "FILE_NOT_FOUND": "Faili ei leitud",
+    "FILTER": "Filter",
+    "FILTERS": "Filters",
+    "FINISH": "Finish",
+    "FONTSIZE": "Font Size",
+    "FORMAT": "Format",
+    "FREE": "Free",
+    "FROM": "From",
+    "FULLNAME": "Full Name",
+    "GENERAL": "General",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = Unallocated number",
+    "HANGUPCAUSE_16": "16 = Normal call clearing",
+    "HANGUPCAUSE_17": "17 = User busy",
+    "HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+    "HANGUPCAUSE_21": "21 = Call rejected",
+    "HANGUPCAUSE_22": "22 = Number changed",
+    "HANGUPCAUSE_27": "27 = Destination out of order",
+    "HANGUPCAUSE_38": "38 = Network out of order",
+    "HANGUPCAUSE_41": "41 = Temporary failure",
+    "HANGUP_CAUSE": "Hangup Cause",
+    "HEADERS": "Päised",
+    "HELP": {
+      "AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+      "AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+      "ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+      "ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+      "ANNOUNCETOAGENT": "Play an announcement to the agent answering the call (typically to let him know what queue the caller is coming from)",
+      "CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+      "HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+      "LIST": "Contact Manager List used to associate contacts",
+      "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+      "MANDATORYDISPOSITIONPAUSEID": "Peata olek, et seadistada kohustusliku dispositsiooni ajal",
+      "MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+      "MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+      "MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+      "MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+      "MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+      "MUSICONHOLD": "Sets the music class to use for a particular queue",
+      "NAME": "Only numbers, letters and specific characters (._) are supported",
+      "PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+      "PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+      "RECORDING": "Enable call recording",
+      "REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+      "RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+      "SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+      "THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+      "THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+      "TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+      "TYPE": "Determine the SIP role within asterisk. User: used to authenticate incoming - Peer: for outgoing calls - Friend: covers both characteristics of the above.",
+      "VOICEMAIL_CONTEXT": "The context of the relative extension",
+      "WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+      "WELCOMEMESSAGE": "See on esimene vastussõnum, mis saadetakse uutele interaktsioonidele.",
+      "YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement"
+    },
+    "HIDE_DETAILS": "Hide details",
+    "HOLDTIMEANNOUNCE": "Hold Time Announce",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "In",
+    "INBOUNDROUTES": "Inbound Routes",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Insert your text message here",
+    "INTEGRATIONS": "Integrations",
+    "INTERACTION": "Interaction",
+    "INTERACTIONS": "Interactions",
+    "INTERNAL": "Internal",
+    "INTERNALDIAL": "Internal Dial",
+    "INTERNALROUTES": "Internal Routes",
+    "INTERVAL": "Interval",
+    "INTERVALS": "Intervals",
+    "INUSE": "In Use",
+    "INVALID": "Invalid",
+    "IN_USE": "In use",
+    "JOINWHENEMPTY": "Join when empty",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Key",
+    "LAGGED": "Lagged",
+    "LANGUAGE": "Keel",
+    "LASTMESSAGE": "Viimane teade",
+    "LASTNAME": "Lastname",
+    "LAST_MONTH": "Last Month",
+    "LEAVEWHENEMPTY": "Leave when empty",
+    "LEXREGION": "Piirkond",
+    "LIMITED": "Limited",
+    "LIST": "List",
+    "LOGGED_IN": "Logged In (SIP Connected)",
+    "LOGIN_TIME": "Login time",
+    "LOGO": "Logo",
+    "LOGOUT": "Logout",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@Context",
+    "MANAGED": "Managed",
+    "MANDATORYDISPOSITION": "Kohustuslik käsutamine",
+    "MANDATORYDISPOSITIONPAUSEID": "Kohustusliku dispositsiooni pausi olek",
+    "MARK_AS_UNREAD": "Mark as unread",
+    "MAXLENGTH": "Maximum Length",
+    "MAXMESSAGES": "Max Messages",
+    "MAXSECONDS": "Max Seconds",
+    "MAY": "May",
+    "MEMBERDELAY": "Member Delay",
+    "MESSAGE": "Message",
+    "MESSAGES": "Messages",
+    "MESSAGESALIGNMENT": "Messages Alignment",
+    "METHOD": "Method",
+    "METRIC": "Metric",
+    "MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+    "MINUTEANNOUNCE": "Minute Announce",
+    "MINUTESANNOUNCE": "Minutes Announce",
+    "MOBILE": "Mobile",
+    "MODULES": "Modules",
+    "MOHSOUNDS": "Moh Sounds",
+    "MONITORFORMAT": "Recording Format",
+    "MORE": "More",
+    "MOTIONADDRESS": "Motion Address",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy Or Motion Domain",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Music On Hold",
+    "MUSICONHOLDS": "Music On Hold",
+    "NAME": "Name",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "New ChanSpy",
+    "NEW_CONTACT": "New Contact",
+    "NEW_CONTEXT": "New Context",
+    "NEW_INBOUNDROUTE": "New Inbound Route",
+    "NEW_INTERNALROUTE": "New Internal Route",
+    "NEW_MUSICONHOLD": "New Music On Hold",
+    "NEW_OUTBOUNDROUTE": "New Outbound Route",
+    "NEW_PROJECT": "New Project",
+    "NEW_TAB": "New Tab",
+    "NEW_TAG": "New Tag",
+    "NEW_VARIABLE": "New Variable",
+    "NEW_VOICEMAIL": "New Voicemail",
+    "NEW_VOICEQUEUE": "New Voice Queue",
+    "NO": "No",
+    "NONE": "None",
+    "NOOP": "Noop",
+    "NOTE": "Note",
+    "NOTES": "Notes",
+    "NOTIFICATION": "Notification",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Sound",
+    "NOTIFICATIONTEMPLATE": "Template",
+    "NOT_INUSE": "Not In Use",
+    "NO_AGENT_ONLINE": "No Agent Online",
+    "NO_APPS_AVAILABLE": "No applications available",
+    "NO_AVAILABLE_INFO": "No Available Info",
+    "NO_INTERACTION_AVAILABLE": "No interactions available",
+    "NO_MESSAGE_AVAILABLE": "No messages available",
+    "NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+    "NO_RATING": "No rating",
+    "NO_REGISTRY": "No Registry",
+    "NO_SOUND_AVAILABLE": "No sounds available",
+    "NUMBER": "Arv",
+    "OF": "of",
+    "ONHOLD": "On Hold",
+    "OPEN": "Open",
+    "OPENCHANNEL": "Open Channel",
+    "OPENED": "Open",
+    "OPERATOR": "Operator",
+    "OPTIONS": "Options",
+    "ORIGINATED": "Originated",
+    "OTHERS": "Others",
+    "OUT": "Out",
+    "OUTBOUNDDIAL": "Outbound Dial",
+    "OUTBOUNDROUTE": "Outbound Route",
+    "OUTBOUNDROUTES": "Outbound Routes",
+    "OUTBOUND_CALLS": "Outbound Calls",
+    "OUTPUT": "Output",
+    "PAGE": "Page",
+    "PARTIALPAUSE": "Partial Pause",
+    "PASSWORD": "Password",
+    "PAUSE": "Pause",
+    "PAUSED": "Paused",
+    "PAUSE_TIME": "Pause time",
+    "PAYMENTMETHOD": "Makseviisid",
+    "PENALTY": "Penalty",
+    "PENDING": "Pending",
+    "PERIODICANNOUNCE": "Periodic Announce",
+    "PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+    "PERSONAL_INFO": "Personal Info",
+    "PHONE": "Phone",
+    "PHONENUMBER": "Phone Number",
+    "PHONE_STATE": "Phone State",
+    "PHONE_STATUS": "Phone Status",
+    "PLAYBACK": "Playback",
+    "PLUGINS": "Plugins",
+    "PORT": "Port",
+    "POSITION": "Position",
+    "POSTALCODE": "Postal Code",
+    "PREFIX": "Prefix",
+    "PREVIEW": "Preview",
+    "PRIORITY": "Priority",
+    "PROJECT": "Cally-Square Project",
+    "PROJECTS": "Projects",
+    "PROXY": "Proxy",
+    "QUEUE": "Queue",
+    "QUEUES": "Queues",
+    "QUEUETRANSFER": "Queue Transfer",
+    "QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+    "QUEUE_CALLS": "Queue Calls",
+    "QUEUE_PARAMETERS": "Queue Parameters",
+    "QUEUE_PARAMS": "Queue Parameters",
+    "RANDOM": "Random",
+    "RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+    "RATING": "Rating",
+    "REACHABLE": "Reachable",
+    "READY": "Ready",
+    "REALTIME": "Realtime",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "Received At",
+    "RECEIVEURL": "Saate URL-i",
+    "RECORD": "Record",
+    "RECORDING": "Recording",
+    "RECORDINGFORMAT": "Recording format",
+    "RECORDINGS": "Recordings",
+    "REFRESH_INTERACTIONS": "Refresh Interactions",
+    "REGISTERED": "Registered",
+    "REGISTRY": "Registry",
+    "REJECT": "Reject",
+    "REJECTED": "Rejected",
+    "REJECTMETHOD": "Reject Method",
+    "REJECTURL": "Reject URL",
+    "RELOAD": "Reload",
+    "REPLY": "Reply",
+    "REPORT": "Report",
+    "REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+    "RETRY": "Retry",
+    "RING": "Ring",
+    "RINGGROUP": "Ring Group",
+    "RINGING": "Ringing",
+    "RINGINUSE": "Ring In Use",
+    "ROWSPERPAGE": "Rows per page",
+    "RULE": "Rule",
+    "SAVE": "Save",
+    "SCHEDULEDAT": "Scheduled At",
+    "SCHEDULED_CALLS": "Ajastatud kõned",
+    "SCREENRECORDING": "Halda ekraanisalvestust",
+    "SCRIPT": "Skript",
+    "SEARCH_FOR_ANYONE": "Search",
+    "SECONDSANNOUNCE": "Seconds Announce",
+    "SECRETACCESSKEY": "Salajane juurdepääsuvõti",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Valige",
+    "SELECTED": "Selected",
+    "SELECTED_AGENTS": "Selected Agents",
+    "SELECTED_TEAMS": "Selected Teams",
+    "SELECTED_USERS": "Selected Users",
+    "SELECT_ACCOUNT": "Select Account",
+    "SELECT_ALL": "Select All",
+    "SELECT_DATE": "Select Start Date",
+    "SELECT_NONE": "Select None",
+    "SELECT_STATUS": "Select Status",
+    "SELECT_TYPE": "Select Type",
+    "SEND": "Send",
+    "SENDMAIL": "Send Email",
+    "SENTIMENTANALYSIS": "Sentimentide analüüs",
+    "SERVICE": "Teenindus",
+    "SESSIONS": "Sessions",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Set Interface Variables",
+    "SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+    "SETQUEUEVARIABLES": "Set Queue Variables",
+    "SETTINGS": "Settings",
+    "SHOW_ALL_FIELDS": "Show all fields",
+    "SHOW_DETAILS": "Show details",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Host",
+    "SMTP_PORT": "Port",
+    "SOCIAL": "Social",
+    "SORT": "Sort",
+    "SOURCE": "Source",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Staff",
+    "STARTEDAT": "Started At",
+    "STARTTIME": "Start Time",
+    "START_SCREENRECORDING": "Alusta ekraani salvestamist",
+    "STATE": "State",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Peata ekraanil salvestamine",
+    "STRATEGY": "Strategy",
+    "SUBJECT": "Subject",
+    "SYSTEM": "System",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Talking",
+    "TEAMS_ASSOCIATION": "Võistkondade liit",
+    "TECHNOLOGY/RESOURCE": "Technology/Resource",
+    "TELEPHONES": "Telephones",
+    "TEMPLATE": "Template",
+    "TEXT": "Tekst",
+    "THANKYOUANNOUNCE": "'Thank You' Announce",
+    "THEREAREANNOUNCE": "'There are' Announce",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout Restart",
+    "TIMER": "Timer",
+    "TIMES": "Number of times per interaction",
+    "TIMEZONE": "Timezone",
+    "TO": "To",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval",
+    "TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total Offered",
+    "TRANSCRIBE": "Transkribeerida",
+    "TRANSFER": "Transfer",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "True Priority",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Trunk Status",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Unavailable",
+    "UNIQUEID": "Unique ID",
+    "UNKNOWN": "Unknown",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "End Pause",
+    "UNREACHABLE": "Unreachable",
+    "UNREGISTERED": "Unregistered",
+    "UP": "Up",
+    "UPDATE": "Update",
+    "UPLOADING": "Uploading",
+    "URL": "URL",
+    "USER": "User",
+    "USERNAME": "Kasutajanimi",
+    "USERS": "Users",
+    "VALUE": "Value",
+    "VARIABLE": "Variable",
+    "VIDAOOSESSION": "Alusta videokõnet",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video tugi",
+    "VOICE": "Voice",
+    "VOICEMAIL": "Voicemail",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "Context",
+    "VOICEQUEUES": "Voice Queues",
+    "VOICERECORDINGS": "Voice Recordings",
+    "WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+    "WAITING": "Waiting",
+    "WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Weight",
+    "WELCOMEMESSAGE": "Tervitussõnum",
+    "WHATSAPP": "WhatsApp-pistik",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Wrapup Time",
+    "WRONG_EXTENSION": "Failis on vale laiend",
+    "YES": "Yes",
+    "YOUARENEXTANNOUNCE": "'You are next' Announce"
+  }
+}
diff --git a/public/app/main/i18n/fa.json b/public/app/main/i18n/fa.json
new file mode 100644
index 0000000..b892091
--- /dev/null
+++ b/public/app/main/i18n/fa.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "رها",
+    "ABANDONEDCALLS": "تماس های رها شده",
+    "ABANDONED_CALLS": "تماس های رها",
+    "ACCEPT": "پذیرفتن",
+    "ACCEPTMETHOD": "اين روش را قبول",
+    "ACCEPTURL": "آدرس کامل قبول",
+    "ACCESSKEYID": "دسترسی به شناسه کلید",
+    "ACCOUNT": "اشتراک",
+    "ACCOUNTNAME": "نام اشتراک",
+    "ACCOUNTS": "حسابداري",
+    "ACCOUNTSID": "حساب SID",
+    "ACTIONS": "اقدامات",
+    "ACTIVE": "فعال",
+    "ADD": "افزودن",
+    "ADDRESS": "آدرس",
+    "ADD_AGENT_TO_VOICEQUEUE": "افزودن صدا به صف عامل",
+    "ADD_CHANSPY": "افزودن ChanSpy",
+    "ADD_CONTACT": "افزودن تماس",
+    "ADD_CONTEXT": "بافت اضافه کنید",
+    "ADD_INBOUNDROUTE": "مسافرانی که مسیر اضافه کنید",
+    "ADD_INTERNALROUTE": "افزودن مسیر داخلی",
+    "ADD_MOHSOUND": "افزودن موسيقي در صدا را نگه دارید",
+    "ADD_MUSICONHOLD": "افزودن موسيقي را نگه دارید",
+    "ADD_NOTE": "افزودن یادداشت",
+    "ADD_OUTBOUNDROUTE": "برای مسیر اضافه کنید",
+    "ADD_PROJECT": "پروژه اضافه کنید",
+    "ADD_TAG": "برچسب اضافه کنید",
+    "ADD_TEAM_TO_VOICEQUEUE": "افزودن صدا به صف تيم",
+    "ADD_VARIABLE": "افزودن متغیر",
+    "ADD_VOICEMAIL": "افزودن پست صوتی",
+    "ADD_VOICEQUEUE": "افزودن صدا صف",
+    "ADVANCED": "پيش رفت.",
+    "AFTERCALLWORK": "پس از فراخوان به کار",
+    "AFTERCALLWORKDURATION": "پس از مدت زمان کار تلفن",
+    "AGENT": "عامل",
+    "AGENTS": "عوامل",
+    "AGENTSADD_QUEUE": "ماموران به صف صدا اضافه کنید",
+    "AGENTTRANSFER": "انتقال عامل",
+    "AGENTTRANSFERTIMEOUT": "زمان انتقال عامل",
+    "AGENT_TIMEOUT": "عامل زمان مجاز",
+    "AGI": "AGI",
+    "ALIAS": "عبدالرزاق",
+    "ALL": "همه",
+    "ALLOWCODECS": "Codecs مجاز",
+    "ALL_AGENTS": "همه عوامل",
+    "ALL_TEAMS": "همه تیم ها",
+    "ALL_USERS": "تمام کاربران",
+    "ALPHABETICAL": "ترتيب حروف الفبا",
+    "ALWAYS": "همیشه",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "اعلام موقعیت تماس گیرنده",
+    "ANNOUNCEFREQUENCY": "فرکانس اعلام",
+    "ANNOUNCEHOLDTIME": "اعلام زمان را نگه دارید",
+    "ANNOUNCEMENTS": "اعلامات",
+    "ANNOUNCEPOSITIONLIMIT": "اعلام موضع محدود كردن",
+    "ANNOUNCETOAGENT": "عامل را اعلام می کند",
+    "ANNOUNCE_OVERRIDES": "تنداب اعلام",
+    "ANSWER": "پاسخ",
+    "ANSWERED": "پاسخ داد",
+    "API": "API",
+    "APIKEY": "کلید Api",
+    "APPLICATION": "برنامه کاربردی",
+    "APPLICATION_NAME": "نام برنامه کاربردی",
+    "ARGUMENTS": "دلايل",
+    "ATTACH": "را وصل کنید",
+    "AUDIO": "های صوتی",
+    "AUDIOFILES": "فایل های صوتی",
+    "AUDIO_FILES": "فایل های صوتی",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "نشانه پیروی",
+    "AUTOPAUSE": "مکث خودکار",
+    "AUTOREPLY": "پاسخ خودکار",
+    "AVG_BILLABLE": "میانگین Billable",
+    "AVG_HOLD_TIME": "میانگین زمان را نگه دارید",
+    "BACK": "پشت",
+    "BLACKLIST": "Blacklist",
+    "BODY": "بدن",
+    "BOTNAME": "نام بوت",
+    "BUILDER": "معمار",
+    "BUSY": "سرگرم",
+    "CALLED": "به نام",
+    "CALLER": "تماس گیرنده",
+    "CALLERID": "شناسه تماس گیرنده",
+    "CALLER_ID": "شناسه تماس گیرنده",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "مبارزه",
+    "CANCEL": "لغو",
+    "CANNEDANSWERS": "پاسخهای تهیه شده",
+    "CANNED_ANSWER_NOT_FOUND": "نه جواب پيدا كردن غذاى كنسرو شده بودند.",
+    "CANNED_ANSWER_SEARCH": "متن جستجو را وارد کنید تا به جواب كردن غذاى كنسرو شده",
+    "CANT_DOWNLOAD_THIS_FILE": "این پرونده قابل بارگیری نیست",
+    "CAPACITY": "ظرفیت",
+    "CHANNEL": "کانال",
+    "CHANNELS": "کانال ها",
+    "CHANSPIES": "جاسوسان Chan",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "چت روم",
+    "CITY": "شهر",
+    "CLEAR": "پاک کردن",
+    "CLOSE": "نزدیک",
+    "CLOSED": "بسته",
+    "CLOSEDAT": "در را بست",
+    "CLOSEMETHOD": "روش بستن",
+    "CLOSEURL": "آدرس کامل ببندید",
+    "CLOSING": "بستن",
+    "COMMAND": "فرمان",
+    "COMPANIES": "شرکتها",
+    "COMPANY": "شرکت",
+    "CONDITION": "شرط",
+    "CONFIRM_PASSWORD": "تأیید رمز ورود",
+    "CONNECTED": "متصل شد",
+    "CONTACT": "تماس",
+    "CONTACTMANAGER": "تماس با مدیر",
+    "CONTACTS": "لنز",
+    "CONTENT": "محتوا",
+    "CONTEXT": "متن",
+    "CONTEXTS": "درباری",
+    "COUNTRY": "كشور",
+    "CREATED_AT": "ایجاد شده در",
+    "CUSTOM": "عرف",
+    "CUSTOMER_JOURNEY": "سفر مشتری",
+    "CUSTOM_FIELDS": "رشته های سفارشی",
+    "CUTDIGITS": "عدد برش",
+    "DASHBOARD": "/ داشبورد",
+    "DATE": "تاریخ",
+    "DATE_OF_BIRTH": "تاریخ تولد",
+    "DEFAULT": "پیش فرض",
+    "DEFAULT_PAUSE": "مکثی پیش فرض",
+    "DELETE": "حذف",
+    "DELETE_APP": "حذف برنامه کاربردی",
+    "DELETE_CHANSPY": "حذف ChanSpy",
+    "DELETE_CONTEXT": "متن را حذف کنید",
+    "DELETE_HOPPER": "هوپر را حذف کنید",
+    "DELETE_INBOUNDROUTE": "مسافرانی که مسیر را حذف کنید",
+    "DELETE_INTERACTION": "حذف تعامل",
+    "DELETE_INTERNALROUTE": "مسیر داخلی را حذف کنید",
+    "DELETE_MOHSOUND": "حذف موسیقی روی صدا را نگه دارید",
+    "DELETE_MUSICONHOLD": "حذف موسيقي را نگه دارید",
+    "DELETE_OUTBOUNDROUTE": "برای مسیر را حذف کنید",
+    "DELETE_PROJECT": "پروژه حذف می شود",
+    "DELETE_SELECTED": "انتخاب شده را حذف می کند",
+    "DELETE_VOICEDISPOSITION": "1626 صدا را حذف کنید",
+    "DELETE_VOICEMAIL": "حذف پست صوتی",
+    "DELETE_VOICEQUEUE": "صدای صف حذف می شود",
+    "DELETE_VOICERECORDING": "صداي ضبط را حذف کنید",
+    "DELIVERYREPORTURL": "گزارش تحویل URL",
+    "DESCRIPTION": "شرح",
+    "DESTINATION": "تا مقصد",
+    "DESTINATIONPATTERN": "مقصد الگو",
+    "DETAIL": "جزئیات",
+    "DETAILS": "جزئیات",
+    "DIAL": "عناوين | پل ارتباطی | پيوندها | محصولات",
+    "DIALER": "شماره گیر",
+    "DIALOGFLOW": "دیالوگ جریان",
+    "DID": "آیا",
+    "DIRECTORY": "فهرست راهنما",
+    "DISABLED": "غیرفعال شد",
+    "DISPOSITION": "1626",
+    "DISPOSITIONS": "مكتبى",
+    "DOWNLOAD": "دانلود",
+    "DOWNLOAD_INTERACTION": "دانلود",
+    "DOWNLOAD_MOHSOUND": "برای دانلود بر روی آهنگ صدا را نگه دارید",
+    "DOWNLOAD_VOICERECORDING": "صداي ضبط را بارگیری کنید",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "بارگیری بدون پیوست",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "دانلود بدون فایل پیوست",
+    "DOWNLOAD_WITH_ATTACHMENT": "با پیوست بارگیری کنید",
+    "DOWNLOAD_WITH_ATTACHMENTS": "با ضمیمه دانلود کنید",
+    "DROPPED": "پائين",
+    "DROP_TO_UPLOAD": "قطره را بارگذاری",
+    "DURATION": "دوام",
+    "EDIT": "ویرایش",
+    "EDIT_AGENT": "عامل ویرایش",
+    "EDIT_AGI": "ویرایش AGI",
+    "EDIT_AMAZONLEX": "پیکربندی Lex را ویرایش کنید",
+    "EDIT_APP": "ویرایش برنامه کاربردی",
+    "EDIT_AUTOREPLY": "ویرایش پاسخ خودکار",
+    "EDIT_CHANSPY": "ویرایش ChanSpy",
+    "EDIT_CLOSE": "ویرایش نزدیک است",
+    "EDIT_CONTEXT": "ویرایش متن",
+    "EDIT_CUSTOM": "ویرایش اختصاصی",
+    "EDIT_DIAL": "ویرایش عناوين | پل ارتباطی | پيوندها | محصولات",
+    "EDIT_DIALOGFLOW": "پیکربندی Dialogflow را ویرایش کنید",
+    "EDIT_EXTERNALDIAL": "ویرایش دگمه خارجی",
+    "EDIT_GOTO": "ویرایش هيزن",
+    "EDIT_GOTOIF": "ویرایش GotoIf",
+    "EDIT_GOTOP": "ویرایش GotoP",
+    "EDIT_HANGUP": "ویرایش Hangup",
+    "EDIT_HOPPER": "ویرایش هوپر",
+    "EDIT_INBOUNDROUTE": "ویرایش مسافرانی که مسیر",
+    "EDIT_INTERNALDIAL": "عناوين | پل ارتباطی | پيوندها | محصولات داخلی ویرایش",
+    "EDIT_INTERNALROUTE": "ویرایش مسیر داخلی",
+    "EDIT_INTERVAL": "ویرایش فاصله",
+    "EDIT_MUSICONHOLD": "ویرایش موسیقی را نگه دارید",
+    "EDIT_NOOP": "ویرایش Noop",
+    "EDIT_OUTBOUNDROUTE": "برای ويرايش مسير",
+    "EDIT_PLAYBACK": "ویرایش یک مدیاپلیر",
+    "EDIT_PROJECT": "ویرایش پروژه",
+    "EDIT_QUEUE": "ویرایش صف",
+    "EDIT_RINGGROUP": "ویرایش گروه حلقه",
+    "EDIT_SET": "ویرایش تنظیم",
+    "EDIT_SYSTEM": "ویرایش سیستم",
+    "EDIT_TAG": "ویرایش برچسب",
+    "EDIT_TRUNK": "ویرایش تنه",
+    "EDIT_VOICEDISPOSITION": "ویرایش صدا 1626",
+    "EDIT_VOICEMAIL": "ویرایش پست صوتی",
+    "EDIT_VOICEQUEUE": "ویرایش صدا صف",
+    "EDIT_VOICERECORDING": "ویرایش صدا ضبط",
+    "EMAIL": "آدرس ایمیل",
+    "EMAILADDRESS": "آدرس ایمیل",
+    "EMAILBODY": "ایمیل بدن",
+    "EMAILSUBJECT": "موضوع ایمیل",
+    "ENABLED": "فعال است",
+    "ENCRYPTION": "رمزگذاری",
+    "ENDTIME": "زمان پایان",
+    "ENVELOPE": "پاكت",
+    "EQUALS": "برابر است",
+    "ERROR": "خطا",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "از پذیرفتن باید آدرس کامل را در یک فرمت معتبر نوشته شده است",
+      "ACCESSKEYID_REQUIRED": "شناسه کلید دسترسی لازم است",
+      "ACCOUNTNAME_REQUIRED": "نام اشتراک مورد نیاز است.",
+      "ACCOUNTSID_REQUIRED": "زمینه اجباری",
+      "AFTERCALLWORKDURATION_REQUIRED": "پس از تماس، مدت زمان کار لازم است.",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
+      "AGENT_REQUIRED": "عامل لازم است.",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
+      "AGENT_TIMEOUT_REQUIRED": "عامل پایان زمان لازم است.",
+      "ALIAS_REQUIRED": "عبدالرزاق، لازم است.",
+      "APIKEY_REQUIRED": "کلید API را لازم است.",
+      "APPLICATION_REQUIRED": "برنامه کاربردی مورد نیاز است.",
+      "AUTHTOKEN_REQUIRED": "اين نشانه Autorization لازم است.",
+      "BOTNAME_REQUIRED": "نام ربات لازم است",
+      "CLOSEURL_MUST_VALID_URL": "آدرس کامل باید بسته به فرمت معتبر نوشته شده است",
+      "COMMAND_REQUIRED": "زمینه اجباری",
+      "CONDITION_REQUIRED": "شرط لازم است.",
+      "CONFIRM_NOT_MATCH": "اسم رمزهای اين بازی نمیکنم",
+      "CONTENT_REQUIRED": "محتوای مورد نیاز است.",
+      "CONTEXT_REQUIRED": "به محتوای مورد نیاز است.",
+      "DESTINATIONPATTERN_REQUIRED": "مقصد الگو لازم است.",
+      "DISPOSITION_REQUIRED": "از 1626 مورد نیاز است.",
+      "EMAIL_MUST_VALID": "آدرس ایمیل باید با فرمت معتبر نوشته شده است",
+      "EMAIL_REQUIRED": "آدرس ایمیل لازم است.",
+      "EXTENSION_REQUIRED": "توسعه لازم است.",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "به غلط اولویت باید بیشتر یا مساوی با",
+      "FALSEPRIORITY_REQUIRED": "به غلط اولویت لازم است.",
+      "FIELD_REQUIRED": "میدان لازم است.",
+      "FIRSTNAME_REQUIRED": "اسم اول لازم است.",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
+      "FONTSIZE_REQUIRED": "زمینه اجباری",
+      "FULLNAME_REQUIRED": "نام کامل لازم است.",
+      "HOST_REQUIRED": "ميزبان لازم است.",
+      "KEY_MAX_LENGTH": "کلید باید حداکثر برابر با طول حداکثر}} {{",
+      "KEY_REQUIRED": "کلید مورد نیاز است.",
+      "LIST_REQUIRED": "لیست مورد نیاز است.",
+      "MAILBOX_REQUIRED": "به Mailbox لازم است.",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری",
+      "METHOD_REQUIRED": "زمینه اجباری",
+      "MOTIONADDRESS_MUST_VALID_URL": "حركت باید آدرس را در یک فرمت معتبر نوشته شده است",
+      "MOTIONADDRESS_REQUIRED": "آدرس حركت لازم است.",
+      "MOTIONPROXY_MUST_VALID_URL": "فرمت نادرست",
+      "MOTIONPROXY_REQUIRED": "رشته الزامی",
+      "NAME_MUST_VALID_PATTERN": "نام باید با فرمت معتبر نوشته شده است",
+      "NAME_REQUIRED": "نام لازم است.",
+      "OPTIONS_REQUIRED": "گزینه های مورد نیاز هستند.",
+      "OUTBOUNDROUTE_REQUIRED": "زمینه اجباری",
+      "PASSWORD_REQUIRED": "رمز عبور لازم است.",
+      "PHONENUMBER_REQUIRED": "شماره تلفن مورد نیاز است.",
+      "PHONE_REQUIRED": "تلفن لازم است.",
+      "PREFIX_REQUIRED": "اين پادتن لازم است.",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "اولویت باید بیشتر یا مساوی با",
+      "PRIORITY_REQUIRED": "اولويت لازم است.",
+      "PROJECT_REQUIRED": "زمینه اجباری",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "زمینه اجباری",
+      "QUEUE_REQUIRED": "توی صف لازم است.",
+      "REJECTURL_MUST_VALID_URL": "آدرس کامل را رد كند بايد در فرمت معتبر نوشته شده است",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "دوباره سعی کنید، باید بیشتر یا مساوی با",
+      "SECRETACCESSKEY_REQUIRED": "زمینه اجباری",
+      "SENDERSTRING_MAX_LENGTH": "مقدار باید طول حداکثر {{حداکثر}} باشد",
+      "SENDERSTRING_MUST_VALID_PATTERN": "فرمت اشتباه",
+      "SID_REQUIRED": "گرفتن SID، لازم است.",
+      "TAG_REQUIRED": "زمینه اجباری",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "فن آوری/منابع مورد نیاز است.",
+      "TEXT_MAX_LENGTH": "مقدار باید طول حداکثر {{حداکثر}} باشد",
+      "TEXT_REQUIRED": "در حوزه متن لازم است.",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "در پایان زمان باید بیشتر یا مساوی با",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
+      "TIMEOUT_REQUIRED": "در پایان زمان لازم است.",
+      "TIMEZONE_REQUIRED": "به Timezone لازم است.",
+      "TOKEN_REQUIRED": "اين نشانه لازم است.",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "اولويت واقعي را باید بیشتر یا مساوی با",
+      "TRUEPRIORITY_REQUIRED": "تقدم حقيقي لازم است.",
+      "TRUNK_REQUIRED": "زمینه اجباری",
+      "TYPE_REQUIRED": "رشته الزامی",
+      "URL_REQUIRED": "URL مورد نیاز است.",
+      "USERNAME_REQUIRED": "زمینه اجباری",
+      "VALUE_REQUIRED": "مقدار مورد نیاز است.",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "زمینه اجباری",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "وزن باید بیشتر یا مساوی با",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "در آن زمان Wrapup باید بیشتر یا مساوی با"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "برآورد زمان اعلام نگهدارید",
+    "EXTENSION": "پسوند",
+    "EXTERNALDIAL": "عناوين | پل ارتباطی | پيوندها | محصولات خارجی",
+    "FAILED": "انجام نشد.",
+    "FALSEPRIORITY": "اولويت نادرست",
+    "FAX": "فاكس",
+    "FIDELITY": "وفاداري",
+    "FIELD": "رشته",
+    "FIELDS": "رشته",
+    "FILE": "فایل",
+    "FILE_NOT_FOUND": "پرونده یافت نشد",
+    "FILTER": "فیلتر کردن",
+    "FILTERS": "فیلترها",
+    "FINISH": "پایان",
+    "FONTSIZE": "اندازه فونت",
+    "FORMAT": "قالب بندی",
+    "FREE": "آزاد",
+    "FROM": "از",
+    "FULLNAME": "نام کامل",
+    "GENERAL": "سردار",
+    "GLOBAL": "جهانی",
+    "GOSUB": "GoSub",
+    "GOTO": "هيزن",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = تعداد اعانه تخصيص داده نشده",
+    "HANGUPCAUSE_16": "16 = Normail فراخوان به پاك كردن",
+    "HANGUPCAUSE_17": "17 = مشغول کاربر",
+    "HANGUPCAUSE_18": "18 = بدون پاسخ نمی دهد (telehone کاربر دستگاه متصل نشده)",
+    "HANGUPCAUSE_21": "21 = رد تماس",
+    "HANGUPCAUSE_22": "22 = تعداد تغییر کرد",
+    "HANGUPCAUSE_27": "27 = از مقصد",
+    "HANGUPCAUSE_38": "38 = از نظم شبکه",
+    "HANGUPCAUSE_41": "41 = شكست موقت",
+    "HANGUP_CAUSE": "علت Hangup",
+    "HEADERS": "هدرها",
+    "HELP": {
+      "AFTERCALLWORK": "اگر فعال بود، عامل تنظیم می شود در مکث پس از تكميل در صف تلفن",
+      "AFTERCALLWORKDURATION": "به مدت زمان مکث موزیک پس از تماس با این گزینه کار",
+      "ANNOUNCECALLERPOSITION": "آيا اين تعريف را در موقعیت تماس گیرنده در صف، به او اعلام شود. اگر نه، تنظیم موقعیت را اعلام خواهد كرد. اگر بله، تنظیم موقعیت تماس گیرنده، اعلام خواهد شد. اگر از مقدار تنظیم شده است، محدود خواهد شد صدای تماس گیرنده را در صف موقعيت خود را تنها در چارچوب تعريف شده، محدود است و در حد اعلام موضع است. اگر از مقدار تنظیم شده است، تماس گیرنده موقعیت او را بشنوند اگر فراتر از تعداد تعیین موقعیت و محدوده اعلام كند.",
+      "ANNOUNCEHOLDTIME": "آيا اين تعريف بايد برآورد زمان بازي را نگه دارید همراه با اطلاعيه هاى متناوب است.",
+      "ANNOUNCETOAGENT": "برای نواختن استفاده می شود اطلاعيه اى را به عنوان عامل اين است كه نوعا به دعوت ما پاسخ مثبت به او اجازه دهد که چه صف تماس گیرنده است.",
+      "CONTEXT": "به تماس گیرنده امکان می دهد تا برای خروج از صف را با فشار دادن یك DTMF رقمی است. اگر یک متن تعیین می شود و به تماس گیرنده شماره وارد شود، اين رقم در تلاش است که ادغام در متن تعیین می شود، و اعدام در dialplan ادامه خواهد داشت.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"جاري زمان تخمين زده شده است.\") را نگه دارید. اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "HOLDTIMEANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"زمان\") را نگه دارید. اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "LIST": "مدیر تماس بگیرید لیست تماس ها استفاده می شود تا ٥",
+      "MANDATORYDISPOSITION": "وضع اجباری",
+      "MANDATORYDISPOSITIONPAUSEID": "وضعیت مکث را برای تنظیم در حین حالت اجباری تنظیم کنید",
+      "MEMBERDELAY": "اگر می خواهید استفاده می شود که تاخير قبل از تماس گیرنده و صف عضو به يكديگر متصل شوند.",
+      "MINANNOUNCEFREQUENCY": "حداقل مقدار تعیین می کند که باید زمان بگذرد خبرهاى تماس گیرنده را در صف باز شد. این است که وقتی تماس گیرنده استفاده می شود، ممکن است تغییر موضع مکرر، برای جلوگیری از تماس گیرنده با شنيدن چند سئوال را در يك مدت زمان كوتاه است.",
+      "MINUTEANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"لحظه\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "MINUTESANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"دقیقه\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "MONITORFORMAT": "فرمت فایل را تعیین می کند، به هنگام ضبط استفاده می شود. اگر از مانیتور با فرمت غیرفعال است، خواهان ثبت نخواهد شد.",
+      "MOTIONPROXY": "لطفاً موارد زیر را در آن وارد کنید: &القا فرمت پروتكل&31 دسامبر 2012 جی تی;://&القا ipaddress&31 دسامبر 2012 جی تی;[:&القا درگاه&31 دسامبر 2012 جی تی;] است. مثال: https://X.Y.Z.W",
+      "MUSICONHOLD": "آهنگ را تنظیم می کند تا به طبقه مورد استفاده خاص صف است.",
+      "NAME": "فقط شماره ها و حروف و نویسه های ویژه (_) پشتیبانی می شود.",
+      "PERIODICANNOUNCE": "مجموعه ای از اعلاميه متناوب بازي باشد، بازي مي كردند و نظم را در آنها تعیین می شود.",
+      "PERIODICANNOUNCEFREQUENCY": "نشان می دهد که هر چند وقت یکبار ما بايد اعلاميه متناوب به تماس گیرنده.",
+      "RECORDING": "قابلیت ضبط صدا",
+      "REPORTHOLDTIMEAGENT": "امکان گزارش دهی از تماس گیرنده، زمان را نگه دارید تا در صف مقدم بر عضو بردارند.",
+      "RINGINUSE": "به منظور اجتناب از استفاده از ارسال فراخوان برای اعضای آن است که وضعیت مورد استفاده است.",
+      "SECONDSANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"ثانیه\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "THANKYOUANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (= تشکر از شما به خاطر صبر و شكيبايي\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "THEREAREANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (=))) وجود دارد. اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "TIMEOUTRESTART": "اگر بله، تنظیم زمان وقفه nبازنشانی نمایش را عاملي براي پاسخ گويي به هر کدام از شلوغی و تراکم است که وضعیت را از شبكه دريافت كرد.",
+      "TYPE": "نقش تعيين كننده در داخل نوشيدني asterisk است. کاربر تایید اعتبار ورودی استفاده می شود: - برای تماس های خروجی کمبودى: دوست: - هر دو خصوصیات پوشش بالاتر است.",
+      "VOICEMAIL_CONTEXT": "متن گسترش نسبي است.",
+      "WAITINGCALLSANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"انتظار\" می نامد). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود.",
+      "WELCOMEMESSAGE": "این اولین پیام است که به مخاطب ارسال می شود",
+      "YOUARENEXTANNOUNCE": "اگر نه، برای تعیین مقدار پیش فرض (\"اکنون شما در خط اول\"). اگر به تنظیم مقدار خالی بوجود بياوريم، بازي نخواهد بود."
+    },
+    "HIDE_DETAILS": "مخفی کردن جزئیات",
+    "HOLDTIMEANNOUNCE": "اعلام زمان را نگه دارید",
+    "HOST": "کشور میزبان",
+    "ID": "شناسه",
+    "IDLE": "دور آرام",
+    "IN": "در",
+    "INBOUNDROUTES": "مسافرانی که مسیرها",
+    "INFO": "اطلاعات توریستی",
+    "INSERT_MESSAGE_HERE": "پیام متن خود را در اینجا قرار دهید",
+    "INTEGRATIONS": "Integrations",
+    "INTERACTION": "تعامل",
+    "INTERACTIONS": "تایی اطاعی",
+    "INTERNAL": "داخلی",
+    "INTERNALDIAL": "عناوين | پل ارتباطی | پيوندها | محصولات داخلی",
+    "INTERNALROUTES": "راههاي داخلي",
+    "INTERVAL": "فاصله",
+    "INTERVALS": "فواصل",
+    "INUSE": "مورد استفاده است",
+    "INVALID": "نامعتبر است",
+    "IN_USE": "مورد استفاده است",
+    "JOINWHENEMPTY": "پيوستن به وقتی خالی است",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "استاديار دانشگاه علوم پزشكي گرگان",
+    "LAGGED": "لنگان لنگان",
+    "LANGUAGE": "زبان",
+    "LASTMESSAGE": "آخرین پیام",
+    "LASTNAME": "Lastname",
+    "LAST_MONTH": "ماه گذشته",
+    "LEAVEWHENEMPTY": "وقتی ترک خالی است",
+    "LEXREGION": "منطقه",
+    "LIMITED": "محدود",
+    "LIST": "فهرست",
+    "LOGGED_IN": "وارد سیستم شوید",
+    "LOGIN_TIME": "زمان ورود",
+    "LOGO": "آرم",
+    "LOGOUT": "LOGOUT",
+    "MACRO": "ماکرو",
+    "MAIL": "پست",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@متن",
+    "MANAGED": "اداره می شود",
+    "MANDATORYDISPOSITION": "وضع اجباری",
+    "MANDATORYDISPOSITIONPAUSEID": "وضعیت مکث وضع اجباری",
+    "MARK_AS_UNREAD": "به عنوان \"خوانده نشده\" علامت گذاری کن",
+    "MAXLENGTH": "حداکثر طول",
+    "MAXMESSAGES": "حداکثر پیام ها",
+    "MAXSECONDS": "حداکثر چند ثانیه",
+    "MAY": "ممکن است",
+    "MEMBERDELAY": "عضو تاخير",
+    "MESSAGE": "ارسال پیام",
+    "MESSAGES": "پیام",
+    "MESSAGESALIGNMENT": "تنظیمات پیام",
+    "METHOD": "روش",
+    "METRIC": "متریک",
+    "MINANNOUNCEFREQUENCY": "حداقل فرکانس اعلام",
+    "MINUTEANNOUNCE": "دقیقه اعلام می کند",
+    "MINUTESANNOUNCE": "دقیقه اعلام می کند",
+    "MOBILE": "تلفن همراه",
+    "MODULES": "ماژول ها",
+    "MOHSOUNDS": "صدای درمانگاه بهداشتي",
+    "MONITORFORMAT": "فرمت ضبط",
+    "MORE": "بیشتر",
+    "MOTIONADDRESS": "حركت آدرس",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "حركت گاو",
+    "MOTIONPROXY": "بجنگند يا حركت حوزه",
+    "MOTION_BULL": "حركت گاو",
+    "MUSICONHOLD": "موسيقي را نگه دارید",
+    "MUSICONHOLDS": "۹ آهنگ دسته بندی کرده ايم را نگه دارید",
+    "NAME": "نام",
+    "NAT": "ویتنام میزبان",
+    "NEW_CHANSPY": "ChanSpy جدید",
+    "NEW_CONTACT": "تماس جدید",
+    "NEW_CONTEXT": "بافت جديد",
+    "NEW_INBOUNDROUTE": "مسافرانی که مسیر جدید",
+    "NEW_INTERNALROUTE": "مسیر داخلی جدید",
+    "NEW_MUSICONHOLD": "موسیقی جدید را نگه دارید",
+    "NEW_OUTBOUNDROUTE": "برای مسیر جدید",
+    "NEW_PROJECT": "پروژه جدید",
+    "NEW_TAB": "زبانه جدید",
+    "NEW_TAG": "برچسب جدید",
+    "NEW_VARIABLE": "متغیر جدید",
+    "NEW_VOICEMAIL": "پست صوتی جدید",
+    "NEW_VOICEQUEUE": "صدای صف جدید",
+    "NO": "نه",
+    "NONE": "هیچ",
+    "NOOP": "Noop",
+    "NOTE": "توجه داشته باشید",
+    "NOTES": "يادداشت ها",
+    "NOTIFICATION": "اطلاع",
+    "NOTIFICATIONSHAKE": "لرزش",
+    "NOTIFICATIONSOUND": "صدا",
+    "NOTIFICATIONTEMPLATE": "قالب",
+    "NOT_INUSE": "در حال استفاده نيست.",
+    "NO_AGENT_ONLINE": "نه عامل آنلاین",
+    "NO_APPS_AVAILABLE": "برنامه های کاربردی موجود نيست",
+    "NO_AVAILABLE_INFO": "اطلاعات در دسترس نیست",
+    "NO_INTERACTION_AVAILABLE": "نه تایی اطاعی در دسترس نیست",
+    "NO_MESSAGE_AVAILABLE": "نه پیام موجود است",
+    "NO_MOHSOUND_AVAILABLE": "هيچ موسيقي را در دسترس نگه دارید",
+    "NO_RATING": "نه درجه بندی",
+    "NO_REGISTRY": "نه فهرست",
+    "NO_SOUND_AVAILABLE": "نه در دسترس بنظر میرسد",
+    "NUMBER": "عدد",
+    "OF": "از",
+    "ONHOLD": "را نگه دارید",
+    "OPEN": "باز",
+    "OPENCHANNEL": "کانال را باز کنید",
+    "OPENED": "باز",
+    "OPERATOR": "اپراتور",
+    "OPTIONS": "گزینه ها",
+    "ORIGINATED": "1840",
+    "OTHERS": "ديگران",
+    "OUT": "بیرون",
+    "OUTBOUNDDIAL": "کارکنان ديگر عناوين | پل ارتباطی | پيوندها | محصولات",
+    "OUTBOUNDROUTE": "مسیر خروجی",
+    "OUTBOUNDROUTES": "کارکنان ديگر مسيرها",
+    "OUTBOUND_CALLS": "تماس های کارکنان ديگر",
+    "OUTPUT": "خروجی",
+    "PAGE": "صفحه",
+    "PARTIALPAUSE": "بخشی مکث",
+    "PASSWORD": "اسم رمز",
+    "PAUSE": "مکث",
+    "PAUSED": "يك لحظه مكث كرد",
+    "PAUSE_TIME": "مکث زمان",
+    "PAYMENTMETHOD": "روش های پرداخت",
+    "PENALTY": "مجازات اعدام",
+    "PENDING": "معوق",
+    "PERIODICANNOUNCE": "اعلام متناوب",
+    "PERIODICANNOUNCEFREQUENCY": "اعلام فرکانس متناوب",
+    "PERSONAL_INFO": "اطلاعات شخصی",
+    "PHONE": "تلفن همراه",
+    "PHONENUMBER": "شماره تلفن همراه",
+    "PHONE_STATE": "دولت تلفن همراه",
+    "PHONE_STATUS": "وضعیت تلفن همراه",
+    "PLAYBACK": "کیفیت پخش",
+    "PLUGINS": "پلاگین ها",
+    "PORT": "بندر",
+    "POSITION": "موقعیت",
+    "POSTALCODE": "کد پستی",
+    "PREFIX": "وراث",
+    "PREVIEW": "پیش نمایش",
+    "PRIORITY": "اولويت",
+    "PROJECT": "پروژه Cally-Square",
+    "PROJECTS": "پروژه ها",
+    "PROXY": "پروکسی",
+    "QUEUE": "صف",
+    "QUEUES": "صفهای طولانی",
+    "QUEUETRANSFER": "صف انتقال",
+    "QUEUETRANSFERTIMEOUT": "وقفه انتقال صف",
+    "QUEUE_CALLS": "صف تلفن",
+    "QUEUE_PARAMETERS": "پارامترهای صف",
+    "QUEUE_PARAMS": "پارامترهای صف",
+    "RANDOM": "تصادفی",
+    "RANDOMPERIODICANNOUNCE": "اعلام ادواري تصادفی",
+    "RATING": "درجه بندی",
+    "REACHABLE": "ای قابل دسترسی نیست",
+    "READY": "آماده شد",
+    "REALTIME": "Realtime",
+    "RECALLME": "من یادم نمیاید",
+    "RECEIVED_AT": "را دريافت كرد.",
+    "RECEIVEURL": "URL را دریافت کنید",
+    "RECORD": "ثبت",
+    "RECORDING": "ضبط كننده",
+    "RECORDINGFORMAT": "فرمت ضبط",
+    "RECORDINGS": "عنوانی",
+    "REFRESH_INTERACTIONS": "تایی اطاعی نوسازی",
+    "REGISTERED": "ثبت نام",
+    "REGISTRY": "فهرست",
+    "REJECT": "رد كردن",
+    "REJECTED": "رد",
+    "REJECTMETHOD": "روش رد",
+    "REJECTURL": "آدرس کامل رد",
+    "RELOAD": "امارات - آث میلان",
+    "REPLY": "پاسخ",
+    "REPORT": "گزارش",
+    "REPORTHOLDTIMEAGENT": "گزارش عامل زمان را نگه دارید",
+    "RETRY": "دوباره سعی کنید",
+    "RING": "حلقه",
+    "RINGGROUP": "گروه حلقه",
+    "RINGING": "زنگ میزند",
+    "RINGINUSE": "در استفاده از حلقه",
+    "ROWSPERPAGE": "رديف در صفحه",
+    "RULE": "قانون",
+    "SAVE": "ذخیره",
+    "SCHEDULEDAT": "طبق برنامه در",
+    "SCHEDULED_CALLS": "تماس های برنامه ریزی شده",
+    "SCREENRECORDING": "ضبط صفحه را مدیریت کنید",
+    "SCRIPT": "فیلمنامه",
+    "SEARCH_FOR_ANYONE": "در جستجوی کسی",
+    "SECONDSANNOUNCE": "ثانیه اعلام می کند",
+    "SECRETACCESSKEY": "کلید دسترسی مخفی",
+    "SECURITY_SUITE": "سوئیت امنیتی",
+    "SELECT": "انتخاب کنید",
+    "SELECTED": "انتخاب می شود",
+    "SELECTED_AGENTS": "عوامل انتخاب شده",
+    "SELECTED_TEAMS": "تيم هاي برگزيده",
+    "SELECTED_USERS": "کاربران انتخاب شده",
+    "SELECT_ACCOUNT": "اشتراک را انتخاب کنید",
+    "SELECT_ALL": "همه را انتخاب کنید",
+    "SELECT_DATE": "شروع تاریخ را انتخاب کنید",
+    "SELECT_NONE": "هيچ كدام را انتخاب کنید",
+    "SELECT_STATUS": "وضعیت را انتخاب کنید",
+    "SELECT_TYPE": "نوع را انتخاب کنید",
+    "SEND": "فرستادن",
+    "SENDMAIL": "پستی",
+    "SENTIMENTANALYSIS": "تجزیه و تحلیل احساسات",
+    "SERVICE": "سرویس",
+    "SESSIONS": "جلسات",
+    "SET": "تنظیم",
+    "SETINTERFACEVARIABLES": "رابط کاربری تنظیم متغیرها",
+    "SETQUEUEENTRYVARIABLES": "توی صف ورودی تنظیم متغیرها",
+    "SETQUEUEVARIABLES": "توی صف متغیرها را تنظیم کنید",
+    "SETTINGS": "تنظیمات",
+    "SHOW_ALL_FIELDS": "نمایش همه زمينه ها",
+    "SHOW_DETAILS": "نمایش جزئیات",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "ميزبان SMTP",
+    "SMTP_PORT": "پورت SMTP",
+    "SOCIAL": "اجتماعی",
+    "SORT": "این نوع",
+    "SOURCE": "منبع",
+    "SPYINTERACTION": "جاسوس",
+    "STAFF": "كاركنان",
+    "STARTEDAT": "آغاز شده در",
+    "STARTTIME": "زمان شروع",
+    "START_SCREENRECORDING": "ضبط صفحه را شروع کنید",
+    "STATE": "دولت",
+    "STATUS": "وضعیت",
+    "STOP_SCREENRECORDING": "ضبط صفحه را متوقف کنید",
+    "STRATEGY": "استراتژي",
+    "SUBJECT": "موضوع",
+    "SYSTEM": "سیستم",
+    "TAG": "برچسب",
+    "TAGS": "برچسب",
+    "TALKING": "حرف زدن",
+    "TEAMS_ASSOCIATION": "انجمن نوجوانان",
+    "TECHNOLOGY/RESOURCE": "فن آوری/منابع",
+    "TELEPHONES": "تلفن ها",
+    "TEMPLATE": "الگوی",
+    "TEXT": "متن",
+    "THANKYOUANNOUNCE": "'مرسی' اعلام می کند",
+    "THEREAREANNOUNCE": "برای اطلاع از وجود دارد.",
+    "TIMEOUT": "پایان زمان مجاز",
+    "TIMEOUTRESTART": "پایان زمان راه اندازی",
+    "TIMER": "تايمر",
+    "TIMES": "تعداد بار در تعامل",
+    "TIMEZONE": "Timezone",
+    "TO": "به",
+    "TOKEN": "نشانه",
+    "TOOLTIP_SCREENRECORDING_OFF": "ضبط صفحه در دسترس است",
+    "TOOLTIP_SCREENRECORDING_ON": "ضبط صفحه در حال انجام است",
+    "TOTAL": "کل",
+    "TOTAL_OFFERED": "عرضه کل",
+    "TRANSCRIBE": "رونویسی",
+    "TRANSFER": "انتقال",
+    "TRANSPORT": "حمل و نقل",
+    "TRUEPRIORITY": "اولويت واقعي",
+    "TRUNK": "تنه",
+    "TRUNKS": "صندوقها",
+    "TRUNK_STATUS": "وضعیت تنه",
+    "TYPE": "نوع دستگاه",
+    "UNAVAILABLE": "English عناوين فونت فارسی - مسير فعلی",
+    "UNIQUEID": "شناسه منحصر به فرد",
+    "UNKNOWN": "ناشناخته",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "Unpause",
+    "UNREACHABLE": "سرگذشتهاي شگفتانگيزي درباره او شايع",
+    "UNREGISTERED": "ثبت",
+    "UP": "به بالا",
+    "UPDATE": "به روزآوری",
+    "UPLOADING": "آپلود",
+    "URL": "آدرس کامل",
+    "USER": "این کاربر",
+    "USERNAME": "نام کاربری",
+    "USERS": "کاربران",
+    "VALUE": "مقدار",
+    "VARIABLE": "متغیر",
+    "VIDAOOSESSION": "تماس ویدیویی را شروع کنید",
+    "VIDEO": "فیلم",
+    "VIDEOSUPPORT": "پشتیبانی از ویدئو",
+    "VOICE": "صدا",
+    "VOICEMAIL": "پست صوتی",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "متن",
+    "VOICEQUEUES": "صفهای طولانی صدا",
+    "VOICERECORDINGS": "عنوانی صدا",
+    "WAITFORTHEASSIGNEDAGENT": "صبر کنید برای عامل اختصاص داده شده",
+    "WAITING": "در انتظار",
+    "WAITINGCALLSANNOUNCE": "در انتظار اعلام مى نامد",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "وب سايت",
+    "WEIGHT": "وزن",
+    "WELCOMEMESSAGE": "پیام پیام خوش آمدید",
+    "WHATSAPP": "اتصال واتساپ",
+    "WHITELABEL": "برچسب سفید",
+    "WRAPUPTIME": "زمان Wrapup",
+    "WRONG_EXTENSION": "پرونده فرمت اشتباه را نشان می دهد",
+    "YES": "بله",
+    "YOUARENEXTANNOUNCE": "- شما بعد از اعلام شوند."
+  }
+}
diff --git a/public/app/main/i18n/fi.json b/public/app/main/i18n/fi.json
new file mode 100644
index 0000000..ba367b5
--- /dev/null
+++ b/public/app/main/i18n/fi.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Hylätty",
+    "ABANDONEDCALLS": "Hylätyt jonoesittelyt",
+    "ABANDONED_CALLS": "Hylätyt puhelut",
+    "ACCEPT": "Hyväksy",
+    "ACCEPTMETHOD": "Hyväksy menetelmä",
+    "ACCEPTURL": "Hyväksy URL",
+    "ACCESSKEYID": "Käyttöavaintunnus",
+    "ACCOUNT": "Tili",
+    "ACCOUNTNAME": "Tilin nimi",
+    "ACCOUNTS": "Tilit",
+    "ACCOUNTSID": "Tilin SID",
+    "ACTIONS": "Toimet",
+    "ACTIVE": "aktiivinen",
+    "ADD": "Lisää",
+    "ADDRESS": "Osoite",
+    "ADD_AGENT_TO_VOICEQUEUE": "Lisää agentin Voice jono",
+    "ADD_CHANSPY": "Lisää ChanSpy",
+    "ADD_CONTACT": "Kontaktin lisääminen",
+    "ADD_CONTEXT": "Lisää yhteydessä",
+    "ADD_INBOUNDROUTE": "Lisää lähtevät reitti",
+    "ADD_INTERNALROUTE": "Lisää sisäisiä reitti",
+    "ADD_MOHSOUND": "Lisää musiikkia puhelun ollessa pidossa ääni",
+    "ADD_MUSICONHOLD": "Lisää musiikkia puhelun ollessa pidossa",
+    "ADD_NOTE": "Lisää huomautus",
+    "ADD_OUTBOUNDROUTE": "Lisää lähtevä reitti",
+    "ADD_PROJECT": "Lisää projektin",
+    "ADD_TAG": "Lisää tunniste",
+    "ADD_TEAM_TO_VOICEQUEUE": "Lisää tallisi jonon ääni",
+    "ADD_VARIABLE": "Lisää muuttuja",
+    "ADD_VOICEMAIL": "Lisää vastaajaan",
+    "ADD_VOICEQUEUE": "Lisää ääni jono",
+    "ADVANCED": "Tarkennettu",
+    "AFTERCALLWORK": "Jälkikäsittelyaika",
+    "AFTERCALLWORKDURATION": "Jälkikäsittelyaika kesto",
+    "AGENT": "Agent",
+    "AGENTS": "Aineet",
+    "AGENTSADD_QUEUE": "Lisää agentteja voice jono",
+    "AGENTTRANSFER": "Agent Transfer",
+    "AGENTTRANSFERTIMEOUT": "Agentin siirron aikakatkaisu",
+    "AGENT_TIMEOUT": "Agentti aikakatkaisu",
+    "AGI": "Yhteyttä opastuksen AGI",
+    "ALIAS": "Alias",
+    "ALL": "Kaikki",
+    "ALLOWCODECS": "Sallittu koodekit",
+    "ALL_AGENTS": "Kaikki toimijat",
+    "ALL_TEAMS": "Kaikki joukkueet",
+    "ALL_USERS": "Kaikki käyttäjät",
+    "ALPHABETICAL": "Aakkosellinen",
+    "ALWAYS": "Aina",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Ilmoita soittajalle asento",
+    "ANNOUNCEFREQUENCY": "Ilmoita taajuus",
+    "ANNOUNCEHOLDTIME": "Ilmoita pidätysajan",
+    "ANNOUNCEMENTS": "Ilmoitukset",
+    "ANNOUNCEPOSITIONLIMIT": "Ilmoita asennon",
+    "ANNOUNCETOAGENT": "Ilmoittaa Agent",
+    "ANNOUNCE_OVERRIDES": "Ilmoita ohittaa",
+    "ANSWER": "Vastaus",
+    "ANSWERED": "Vastattu",
+    "API": "API",
+    "APIKEY": "Api-avain",
+    "APPLICATION": "Sovellus",
+    "APPLICATION_NAME": "Sovelluksen nimi",
+    "ARGUMENTS": "Perustelut",
+    "ATTACH": "Kiinnitä",
+    "AUDIO": "Äänen",
+    "AUDIOFILES": "Äänitiedostot",
+    "AUDIO_FILES": "Äänitiedostot",
+    "AUTH": "Valt.",
+    "AUTHTOKEN": "Valtuutus etätunnistin",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Automaattinen vastaus",
+    "AVG_BILLABLE": "Välitysyritys avg",
+    "AVG_HOLD_TIME": "Keskim. pidätysajan",
+    "BACK": "Takaisin",
+    "BLACKLIST": "Musta lista",
+    "BODY": "ruumis",
+    "BOTNAME": "Botin nimi",
+    "BUILDER": "Rakennusjätteet",
+    "BUSY": "Varattu",
+    "CALLED": "Nimeltään",
+    "CALLER": "Soittaja",
+    "CALLERID": "Soittajan tunnus",
+    "CALLER_ID": "Soittajan tunnus",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampanja",
+    "CANCEL": "Peruuttaa",
+    "CANNEDANSWERS": "Säilytetyt vastaukset",
+    "CANNED_ANSWER_NOT_FOUND": "Mitään purkitettu vastauksia ei löytynyt",
+    "CANNED_ANSWER_SEARCH": "Kirjoita Etsi purkitettu vastaus",
+    "CANT_DOWNLOAD_THIS_FILE": "Tätä tiedostoa ei voi ladata",
+    "CAPACITY": "Kapasiteetti",
+    "CHANNEL": "kanava",
+    "CHANNELS": "Kanavat",
+    "CHANSPIES": "Chan vakoojat",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "Kaupunki",
+    "CLEAR": "Asia selvä",
+    "CLOSE": "kiinni",
+    "CLOSED": "Suljettu",
+    "CLOSEDAT": "28.6.2002",
+    "CLOSEMETHOD": "Sulje menetelmä",
+    "CLOSEURL": "Sulje URL",
+    "CLOSING": "Sulkeminen",
+    "COMMAND": "Ohjaus",
+    "COMPANIES": "yritykset",
+    "COMPANY": "Yritys",
+    "CONDITION": "Kunto",
+    "CONFIRM_PASSWORD": "Vahvista salasana",
+    "CONNECTED": "Kytketty",
+    "CONTACT": "Ota",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Yhteystiedot",
+    "CONTENT": "Sisältö",
+    "CONTEXT": "Yhteydessä",
+    "CONTEXTS": "Potilaslinkin vaihtaminen",
+    "COUNTRY": "Maa",
+    "CREATED_AT": "Luodaan",
+    "CUSTOM": "Mukautettu",
+    "CUSTOMER_JOURNEY": "Asiakasreitti",
+    "CUSTOM_FIELDS": "Mukautetut kentät",
+    "CUTDIGITS": "Leikkaa numeroa",
+    "DASHBOARD": "Kojelauta",
+    "DATE": "Päivämäärä",
+    "DATE_OF_BIRTH": "Syntymäaika",
+    "DEFAULT": "Oletus",
+    "DEFAULT_PAUSE": "Oletusarvoisen tauon",
+    "DELETE": "Poista",
+    "DELETE_APP": "Poista sovellus",
+    "DELETE_CHANSPY": "Poista ChanSpy",
+    "DELETE_CONTEXT": "Poista yhteydessä",
+    "DELETE_HOPPER": "Poista Hopper",
+    "DELETE_INBOUNDROUTE": "Poista lähtevät reitti",
+    "DELETE_INTERACTION": "Poista vuorovaikutus",
+    "DELETE_INTERNALROUTE": "Poista sisäinen reitti",
+    "DELETE_MOHSOUND": "Poista musiikkia puhelun ollessa pidossa ääni",
+    "DELETE_MUSICONHOLD": "Poista musiikkia puhelun ollessa pidossa",
+    "DELETE_OUTBOUNDROUTE": "Poista lähtevä reitti",
+    "DELETE_PROJECT": "Poista projektin",
+    "DELETE_SELECTED": "Poista valitut",
+    "DELETE_VOICEDISPOSITION": "Poistaa jatkokäsittely",
+    "DELETE_VOICEMAIL": "Poista vastaajaviesti",
+    "DELETE_VOICEQUEUE": "Poistaa jonosta",
+    "DELETE_VOICERECORDING": "Poista äänitallennus",
+    "DELIVERYREPORTURL": "Toimitusraportin URL-osoite",
+    "DESCRIPTION": "Kuvaus",
+    "DESTINATION": "Kohde",
+    "DESTINATIONPATTERN": "Kohteen kuvio",
+    "DETAIL": "Yksityiskohta",
+    "DETAILS": "Yksityiskohdat",
+    "DIAL": "Valitsin",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "Ei",
+    "DIRECTORY": "Hakemisto",
+    "DISABLED": "Ei käytössä",
+    "DISPOSITION": "Jatkokäsittely",
+    "DISPOSITIONS": "Yhteisyys",
+    "DOWNLOAD": "ladata",
+    "DOWNLOAD_INTERACTION": "ladata",
+    "DOWNLOAD_MOHSOUND": "Lataa musiikkia pitoon ääni",
+    "DOWNLOAD_VOICERECORDING": "Lataa äänitallennus",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Lataa ilman liitetiedostoja",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Lataa ilman liitteitä",
+    "DOWNLOAD_WITH_ATTACHMENT": "Lataa liitteenä",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Lataa liitteillä",
+    "DROPPED": "Pudonnut",
+    "DROP_TO_UPLOAD": "Pudota lataa",
+    "DURATION": "Kesto",
+    "EDIT": "Muokkaa",
+    "EDIT_AGENT": "Muokkaa Agent",
+    "EDIT_AGI": "Muokkaa yhteyttä opastuksen AGI",
+    "EDIT_AMAZONLEX": "Muokkaa Lex-kokoonpanoa",
+    "EDIT_APP": "Sovellus",
+    "EDIT_AUTOREPLY": "Muokkaa automaattista vastausta",
+    "EDIT_CHANSPY": "Muokkaa ChanSpy",
+    "EDIT_CLOSE": "Sulje muokkaaminen",
+    "EDIT_CONTEXT": "Muokkaa yhteydessä",
+    "EDIT_CUSTOM": "Muokkaa mukautettua",
+    "EDIT_DIAL": "Muokkaa valitsin",
+    "EDIT_DIALOGFLOW": "Muokkaa Dialogflow-määrityksiä",
+    "EDIT_EXTERNALDIAL": "Muokata ulkoisten valitsin",
+    "EDIT_GOTO": "Muokkaa GoTo",
+    "EDIT_GOTOIF": "Muokkaa GotoIf",
+    "EDIT_GOTOP": "Muokkaa GotoP",
+    "EDIT_HANGUP": "Muokkaa kirjautumispyynnön",
+    "EDIT_HOPPER": "Muokkaa Hopper",
+    "EDIT_INBOUNDROUTE": "Muokkaa reitin saapuva",
+    "EDIT_INTERNALDIAL": "Muokkaa sisäisen puhelinnumeron",
+    "EDIT_INTERNALROUTE": "Muokkaa reitin sisäisen",
+    "EDIT_INTERVAL": "Muokkaa aikaväli",
+    "EDIT_MUSICONHOLD": "Muokkaa musiikkia puhelun ollessa pidossa",
+    "EDIT_NOOP": "Muokkaa Noop",
+    "EDIT_OUTBOUNDROUTE": "Muokkaa lähtevä reitti",
+    "EDIT_PLAYBACK": "Toisto",
+    "EDIT_PROJECT": "Muokkaa projektin",
+    "EDIT_QUEUE": "Muokkaa jonoa",
+    "EDIT_RINGGROUP": "Muokkaa rengas ryhmä",
+    "EDIT_SET": "Aseta muokkaaminen",
+    "EDIT_SYSTEM": "Muokkaa järjestelmää",
+    "EDIT_TAG": "Muokkaa tunnistetta",
+    "EDIT_TRUNK": "Muokkaa tavaratilaan",
+    "EDIT_VOICEDISPOSITION": "Muokkaa Voice jatkokäsittely",
+    "EDIT_VOICEMAIL": "Muokkaa vastaajaan",
+    "EDIT_VOICEQUEUE": "Muokkaa jonoa ääni",
+    "EDIT_VOICERECORDING": "Muokkaa äänitallennus",
+    "EMAIL": "Sähköposti",
+    "EMAILADDRESS": "Sähköpostiosoite",
+    "EMAILBODY": "Sähköposti korissa",
+    "EMAILSUBJECT": "Email Subject",
+    "ENABLED": "Käytössä",
+    "ENCRYPTION": "Salaus",
+    "ENDTIME": "Kerran kuukaudessa Kaksi kertaa kuukaudessa Kolme kertaa kuukaudessa",
+    "ENVELOPE": "Kirjekuori",
+    "EQUALS": "equals",
+    "ERROR": "Virhe",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Hyväksy URL on kirjoitettava kelvollisessa muodossa",
+      "ACCESSKEYID_REQUIRED": "Käyttöavaintunnus vaaditaan",
+      "ACCOUNTNAME_REQUIRED": "Tilin nimi on annettava",
+      "ACCOUNTSID_REQUIRED": "Pakollinen kenttä",
+      "AFTERCALLWORKDURATION_REQUIRED": "Kun Jälkikäsittelyaika kesto ei tarvita",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
+      "AGENT_REQUIRED": "Agentti on pakollinen",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+      "AGENT_TIMEOUT_REQUIRED": "Asiakaspalvelijan aikakatkaisu on pakollinen",
+      "ALIAS_REQUIRED": "Alias on pakollinen",
+      "APIKEY_REQUIRED": "API-avain.",
+      "APPLICATION_REQUIRED": "Sovellus ei tarvita",
+      "AUTHTOKEN_REQUIRED": "Kun voimassaoloajasta, Token tarvitaan",
+      "BOTNAME_REQUIRED": "Botin nimi vaaditaan",
+      "CLOSEURL_MUST_VALID_URL": "Sulje URL on kirjoitettava kelvollisessa muodossa",
+      "COMMAND_REQUIRED": "Pakollinen kenttä",
+      "CONDITION_REQUIRED": "Kunto on pakollinen",
+      "CONFIRM_NOT_MATCH": "Jos salasana ei täsmää",
+      "CONTENT_REQUIRED": "Sisältö on pakollinen",
+      "CONTEXT_REQUIRED": "Asiayhteys on pakollinen",
+      "DESTINATIONPATTERN_REQUIRED": "Kohteen kuvio on pakollinen",
+      "DISPOSITION_REQUIRED": "Jatkokäsittely on pakollinen",
+      "EMAIL_MUST_VALID": "Sähköposti on kirjoitettava kelvollisessa muodossa",
+      "EMAIL_REQUIRED": "Sähköpostiosoite on pakollinen",
+      "EXTENSION_REQUIRED": "Laajennus on pakollinen",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Väärät ensisijaisena tavoitteena on oltava suurempi tai yhtä suuri kuin",
+      "FALSEPRIORITY_REQUIRED": "Väärät prioriteetti on pakollinen",
+      "FIELD_REQUIRED": "Tämä kenttä on pakollinen",
+      "FIRSTNAME_REQUIRED": "Etunimi on pakollinen",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+      "FONTSIZE_REQUIRED": "Pakollinen kenttä",
+      "FULLNAME_REQUIRED": "Koko nimi on annettava",
+      "HOST_REQUIRED": "Isäntä ei tarvita",
+      "KEY_MAX_LENGTH": "Avain on enintään yhtä suuri kuin {{max}}",
+      "KEY_REQUIRED": "Avainta ei tarvita",
+      "LIST_REQUIRED": "Lista on pakollinen",
+      "MAILBOX_REQUIRED": "Postilaatikko on pakollinen",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä",
+      "METHOD_REQUIRED": "Pakollinen kenttä",
+      "MOTIONADDRESS_MUST_VALID_URL": "Liikkeen osoite on kirjoitettava kelvollisessa muodossa",
+      "MOTIONADDRESS_REQUIRED": "Liikkeen osoite on pakollinen tieto",
+      "MOTIONPROXY_MUST_VALID_URL": "Väärä sovellusmuoto",
+      "MOTIONPROXY_REQUIRED": "Pakollinen kenttä.",
+      "NAME_MUST_VALID_PATTERN": "Nimi on kirjoitettava kelvollisessa muodossa",
+      "NAME_REQUIRED": "Nimi on pakollinen",
+      "OPTIONS_REQUIRED": "Vaihtoehdot ovat tarpeen mukaan",
+      "OUTBOUNDROUTE_REQUIRED": "Pakollinen kenttä",
+      "PASSWORD_REQUIRED": "Salasana on pakollinen",
+      "PHONENUMBER_REQUIRED": "Puhelinnumero on pakollinen",
+      "PHONE_REQUIRED": "Puhelin ei tarvita",
+      "PREFIX_REQUIRED": "Etuliite on pakollinen",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioriteetti on oltava suurempi tai yhtä suuri kuin",
+      "PRIORITY_REQUIRED": "Etusijalla on pakollinen",
+      "PROJECT_REQUIRED": "Pakollinen kenttä",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä",
+      "QUEUE_REQUIRED": "Jono on pakollinen",
+      "REJECTURL_MUST_VALID_URL": "Hylätyt URL on kirjoitettava kelvollisessa muodossa",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Retry on oltava suurempi tai yhtä suuri kuin",
+      "SECRETACCESSKEY_REQUIRED": "Pakollinen kenttä",
+      "SENDERSTRING_MAX_LENGTH": "Arvon enimmäispituus on {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Väärä formaatti",
+      "SID_REQUIRED": "SID ei tarvita",
+      "TAG_REQUIRED": "Pakollinen kenttä",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Tekniikka/Resurssi ei tarvita",
+      "TEXT_MAX_LENGTH": "Arvon enimmäispituus on {{max}}",
+      "TEXT_REQUIRED": "Kenttä on pakollinen",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Timeout on oltava suurempi tai yhtä suuri kuin",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+      "TIMEOUT_REQUIRED": "Aikakatkaisujakso on pakollinen",
+      "TIMEZONE_REQUIRED": "Aikavyöhyke tarvitaan",
+      "TOKEN_REQUIRED": "Etätunnistinta ei tarvita",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Todellinen prioriteetti on suurempi tai yhtä suuri kuin",
+      "TRUEPRIORITY_REQUIRED": "Todellinen prioriteetti on pakollinen",
+      "TRUNK_REQUIRED": "Pakollinen kenttä",
+      "TYPE_REQUIRED": "Pakollinen kenttä.",
+      "URL_REQUIRED": "URL-osoite on pakollinen",
+      "USERNAME_REQUIRED": "Pakollinen kenttä",
+      "VALUE_REQUIRED": "Arvo on pakollinen",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pakollinen kenttä",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Painon on oltava suurempi tai yhtä suuri kuin",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Lähettämistietojen noutaminen on aika on oltava suurempi tai yhtä suuri kuin"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Arvioitu Pidätysajan ilmoittaa",
+    "EXTENSION": "Laajennus",
+    "EXTERNALDIAL": "Ulkoinen valitsin",
+    "FAILED": "Epäonnistui",
+    "FALSEPRIORITY": "Väärät prioriteetti",
+    "FAX": "Faksi",
+    "FIDELITY": "Epätarkkaan äänentoistoon",
+    "FIELD": "Kenttä",
+    "FIELDS": "Kentät",
+    "FILE": "Tiedosto",
+    "FILE_NOT_FOUND": "Tiedostoa ei löytynyt",
+    "FILTER": "Suodatin",
+    "FILTERS": "Suodattimet",
+    "FINISH": "Viimeistely",
+    "FONTSIZE": "Fonttikoko",
+    "FORMAT": "Muoto",
+    "FREE": "Vapaa",
+    "FROM": "Mistä",
+    "FULLNAME": "Täydellinen nimi",
+    "GENERAL": "Yleistä",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Siirry tietoturvakeskukseen",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Kirjautumispyynnön",
+    "HANGUPCAUSE_1": "1 = Jakamattomien numero",
+    "HANGUPCAUSE_16": "16 = Normail puhelun poisto",
+    "HANGUPCAUSE_17": "17 = Käyttäjän varattu",
+    "HANGUPCAUSE_18": "18 = ei vastaa (telehone laitetta ei ole liitetty)",
+    "HANGUPCAUSE_21": "21 = puhelun hylkääminen",
+    "HANGUPCAUSE_22": "22 = numero muuttunut",
+    "HANGUPCAUSE_27": "27 = kohde on epäkunnossa.",
+    "HANGUPCAUSE_38": "38 = verkosto ei käytössä",
+    "HANGUPCAUSE_41": "41 = tilapäinen vika",
+    "HANGUP_CAUSE": "Kirjautumispyynnön syy",
+    "HEADERS": "otsikot",
+    "HELP": {
+      "AFTERCALLWORK": "Jos aktiivinen, edustaja vaikuttavat tauon jälkeen puhelu loppuun jono",
+      "AFTERCALLWORKDURATION": "Kesto, kun tauko laukaissut Jälkikäsittelyaika vaihtoehto",
+      "ANNOUNCECALLERPOSITION": "Määrittää, onko soittajan jonon täytyy ilmoittaa hänelle. Jos arvoksi määritetään Ei, ei koskaan julkistettu. Jos arvoksi määritetään Kyllä, soittajan sijainti on aina ilmoittanut. Jos arvoksi on määritetty raja, Soittaja kuulee hänen sijaintinsa jonossa vain, jos se on enintään määritetty ilmoittaa asentoa. Jos arvoksi annetaan enemmän, Soittaja kuulee hänen kantaansa, jos se ei ole numero määritetään ilmoittavan asentoa.",
+      "ANNOUNCEHOLDTIME": "Määrittää, onko arvioitu pitoaika tulee pelata yhdessä määräajoin kuulutuksiin.",
+      "ANNOUNCETOAGENT": "Käyttää pelaamiseen ilmoittaa, että edustajan vastannut tyypillisesti hänelle mitä jono soittajan tulee.",
+      "CONTEXT": "Mahdollistaa soittaja voi poistua jonon painamalla yhtä DTMF-numeroon. Jos yhteydessä on määritetty ja soittajan perussäädön, numero yrittää kohdistaa yhteydessä määritelty ja dialplan suorittaminen jatkuu.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Nykyinen arvioitu pidätysaika on\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "HOLDTIMEANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Pitoaika\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "LIST": "Contact Manager -moottorityyppiin yhteystiedot",
+      "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
+      "MANDATORYDISPOSITIONPAUSEID": "Keskeytä tila asettaaksesi pakollisen hävityksen aikana",
+      "MEMBERDELAY": "Jos haluamme, että on olemassa ennen soittajan jono parlamentin jäseneen toisiinsa.",
+      "MINANNOUNCEFREQUENCY": "Asetus määrittää ajan, jonka on läpäistävä ennen tiedotamme soittajan jonon uudelleen. Tätä toimintoa käytetään, kun soittajan asento saattaa muuttua usein, jotta soittaja kuulee useita päivityksiä lyhyessä ajassa.",
+      "MINUTEANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"min\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "MINUTESANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"min\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "MONITORFORMAT": "Määrittää tiedoston muoto, jota käytetään tallennukseen. Jos monitorin näkymä on aktiivinen, vaatii ei tallenneta.",
+      "MOTIONPROXY": "Anna seuraavassa muodossa: <protokolla>://<ipaddress>[:<port>]. Esimerkki: https://X.Y.Z.W",
+      "MUSICONHOLD": "Asettaa musiikin luokka voidaan käyttää tiettyyn jonoon.",
+      "NAME": "Vain numeroita, kirjaimia ja erikoismerkkejä (._ tuetaan",
+      "PERIODICANNOUNCE": "Joukko säännölliset ilmoitukset, oli siinä järjestyksessä kuin ne on määritetty.",
+      "PERIODICANNOUNCEFREQUENCY": "Osoittaa, kuinka usein meidän on tehtävä määräajoin nauhoitettuja kuulutuksia soittajalle.",
+      "RECORDING": "Jotta puheluiden nauhoitus",
+      "REPORTHOLDTIMEAGENT": "Mahdollistaa raportointi kutsujan pidätysajan jonoon jäsenvaltioiden ennen verkkosiltausta käyttämällä.",
+      "RINGINUSE": "Jotta lähettämässä puheluja jäsentä, joiden tila on käytössä.",
+      "SECONDSANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"s\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "THANKYOUANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Kiitos kärsivällisyydestäsi\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "THEREAREANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"on\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "TIMEOUTRESTART": "Jos arvoksi määritetään Kyllä, määrittää aikakatkaisun uudelleen, kun edustaja vastaa huomioidaanko on varattu tai ylikuormituksen tila on vastaanotettu kanavasta.",
+      "TYPE": "Määrittää SIP-asema tähdellä. Käyttäjä: varmentamisessa käytettävät saapuneet - Peer: lähtevät puhelut - ystävä: kattaa molemmat ominaisuudet.",
+      "VOICEMAIL_CONTEXT": "Osana suhteellinen jatke.",
+      "WAITINGCALLSANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"Puhelut odottamassa). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan.",
+      "WELCOMEMESSAGE": "Tämä on ensimmäinen kontaktorille lähetetty viesti",
+      "YOUARENEXTANNOUNCE": "Jos ei ole määritelty, oletusarvoa (\"nyt ensimmäisten joukossa\"). Jos tämä on tyhjä arvo, kysy ei ollut lainkaan."
+    },
+    "HIDE_DETAILS": "Piilota lisätiedot",
+    "HOLDTIMEANNOUNCE": "Käsittelyajan ilmoittaa",
+    "HOST": "Host",
+    "ID": "Tunnus",
+    "IDLE": "Joutokäynti",
+    "IN": ",",
+    "INBOUNDROUTES": "Lähtevät reitit",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Lisää tekstiviesti tänne",
+    "INTEGRATIONS": "Integrointeja",
+    "INTERACTION": "Vuorovaikutus",
+    "INTERACTIONS": "Vuorovaikutus",
+    "INTERNAL": "Sisäinen",
+    "INTERNALDIAL": "Sisäinen valitsin",
+    "INTERNALROUTES": "Kotimaan reitit",
+    "INTERVAL": "Aikaväli",
+    "INTERVALS": "Huoltovälit",
+    "INUSE": "Käytössä",
+    "INVALID": "Virheellinen",
+    "IN_USE": "Käytössä",
+    "JOINWHENEMPTY": "Liity tyhjänä",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Avain",
+    "LAGGED": "Jäänyt",
+    "LANGUAGE": "Kieli",
+    "LASTMESSAGE": "Viimeinen viesti",
+    "LASTNAME": "Sukunimi",
+    "LAST_MONTH": "Viime kuukausi",
+    "LEAVEWHENEMPTY": "Jätä tyhjänä",
+    "LEXREGION": "alue",
+    "LIMITED": "Rajoitettu",
+    "LIST": "Luettelo",
+    "LOGGED_IN": "Kirjautuneena",
+    "LOGIN_TIME": "Kirjautumisaika",
+    "LOGO": "Logo",
+    "LOGOUT": "Kirjaudu ulos",
+    "MACRO": "Makro",
+    "MAIL": "Sähköposti",
+    "MAILBOX": "Postilaatikkoon",
+    "MAILBOX@CONTEXT": "Postilaatikko@yhteydessä",
+    "MANAGED": "Ylläpito",
+    "MANDATORYDISPOSITION": "Pakollinen sijoittaminen",
+    "MANDATORYDISPOSITIONPAUSEID": "Pakollisen sijoitustaukotilan tila",
+    "MARK_AS_UNREAD": "Merkitse lukemattomaksi",
+    "MAXLENGTH": "Nostovarren enimmäispituus",
+    "MAXMESSAGES": "Max viestit",
+    "MAXSECONDS": "Enimmäisarvon sekunteina",
+    "MAY": "saattaa",
+    "MEMBERDELAY": "Jäsenvaltioiden viive",
+    "MESSAGE": "Viesti",
+    "MESSAGES": "Viestit",
+    "MESSAGESALIGNMENT": "Viestit kohdistaminen",
+    "METHOD": "Menetelmä",
+    "METRIC": "Metrinen",
+    "MINANNOUNCEFREQUENCY": "Pienin ilmoittaa taajuus",
+    "MINUTEANNOUNCE": "Min ilmoittaa",
+    "MINUTESANNOUNCE": "Min ilmoittaa",
+    "MOBILE": "Mobile",
+    "MODULES": "Moduulit",
+    "MOHSOUNDS": "Moh äänet",
+    "MONITORFORMAT": "Tallennusmuoto",
+    "MORE": "Lisää",
+    "MOTIONADDRESS": "Liikkeen osoite",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Välityspalvelimen tai Liikkeentunnistus Domain",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musiikkia puhelun ollessa pidossa",
+    "MUSICONHOLDS": "Novellin tekstikatkelmia pitoon",
+    "NAME": "Nimi",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Uusi ChanSpy",
+    "NEW_CONTACT": "Purista johtoon uusi kosketin",
+    "NEW_CONTEXT": "Uudessa tilanteessa",
+    "NEW_INBOUNDROUTE": "Uusi saapuva reitti",
+    "NEW_INTERNALROUTE": "Uusi sisäinen reitti",
+    "NEW_MUSICONHOLD": "Uutta musiikkia pitoon",
+    "NEW_OUTBOUNDROUTE": "Uusi lähtevä reitti",
+    "NEW_PROJECT": "Uusi projekti.",
+    "NEW_TAB": "Uusi välilehti",
+    "NEW_TAG": "Uutta Tag",
+    "NEW_VARIABLE": "Uuden muuttujan",
+    "NEW_VOICEMAIL": "Uudet vastaajaviestit",
+    "NEW_VOICEQUEUE": "Uudet vastaajaviestit jono",
+    "NO": "N:o",
+    "NONE": "Mikään",
+    "NOOP": "Noop",
+    "NOTE": "Huomautus",
+    "NOTES": "Huomautukset",
+    "NOTIFICATION": "ilmoitus",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Ääni",
+    "NOTIFICATIONTEMPLATE": "Sapluuna",
+    "NOT_INUSE": "Ne eivät ole käytössä",
+    "NO_AGENT_ONLINE": "Ei agentti verkossa",
+    "NO_APPS_AVAILABLE": "Ei käytettävissä olevat sovellukset",
+    "NO_AVAILABLE_INFO": "Ei saatavana olevasta lataustehosta",
+    "NO_INTERACTION_AVAILABLE": "Ei käytettävissä vuorovaikutus",
+    "NO_MESSAGE_AVAILABLE": "Ei ilmoituksia",
+    "NO_MOHSOUND_AVAILABLE": "Musiikkia ei pitoon käytettävissä",
+    "NO_RATING": "Mitään luokitus",
+    "NO_REGISTRY": "Rekisteri ei ole",
+    "NO_SOUND_AVAILABLE": "Ei käytettävissä",
+    "NUMBER": "Määrä",
+    "OF": ",",
+    "ONHOLD": "Pitoon",
+    "OPEN": "Avaa",
+    "OPENCHANNEL": "Avointa kanavaa",
+    "OPENED": "Avaa",
+    "OPERATOR": "Käyttäjä",
+    "OPTIONS": "Vaihtoehdot",
+    "ORIGINATED": "Alkuperä",
+    "OTHERS": "Muut",
+    "OUT": "Ulos",
+    "OUTBOUNDDIAL": "Lähtevä valitsin",
+    "OUTBOUNDROUTE": "Lähtevä reitti",
+    "OUTBOUNDROUTES": "Lähtevä reitit",
+    "OUTBOUND_CALLS": "Lähtevien puheluiden",
+    "OUTPUT": "Lähtö",
+    "PAGE": "Sivu",
+    "PARTIALPAUSE": "Osittainen keskeyttäminen",
+    "PASSWORD": "Salasana",
+    "PAUSE": "Tauko",
+    "PAUSED": "Keskeytetty",
+    "PAUSE_TIME": "Keskeytä aika",
+    "PAYMENTMETHOD": "Maksutavat",
+    "PENALTY": "Kuolemanrangaistuksen poistaminen",
+    "PENDING": "Odottaa.",
+    "PERIODICANNOUNCE": "Säännölliset ilmoittaa",
+    "PERIODICANNOUNCEFREQUENCY": "Säännölliset ilmoittaa taajuus",
+    "PERSONAL_INFO": "Henkilökohtaiset tiedot",
+    "PHONE": "Puhelin",
+    "PHONENUMBER": "Puhelinnumero",
+    "PHONE_STATE": "Puhelimen tila",
+    "PHONE_STATUS": "Puhelimen tila",
+    "PLAYBACK": "Toisto",
+    "PLUGINS": "liitännäiset",
+    "PORT": "Portti",
+    "POSITION": "Asento",
+    "POSTALCODE": "Postinumero",
+    "PREFIX": "Etuliite",
+    "PREVIEW": "Esikatselu",
+    "PRIORITY": "Prioriteetti",
+    "PROJECT": "Projektin cally-square",
+    "PROJECTS": "Projektit",
+    "PROXY": "valtakirja",
+    "QUEUE": "Jono",
+    "QUEUES": "Jonot",
+    "QUEUETRANSFER": "Jono siirto",
+    "QUEUETRANSFERTIMEOUT": "Jakson siirron aikakatkaisu",
+    "QUEUE_CALLS": "Puhelut jonossa",
+    "QUEUE_PARAMETERS": "Jono parametrit",
+    "QUEUE_PARAMS": "Jono parametrit",
+    "RANDOM": "Satunnainen",
+    "RANDOMPERIODICANNOUNCE": "Satunnainen säännölliset ilmoittaa",
+    "RATING": "Luokittelu",
+    "REACHABLE": "Tavoitettavissa",
+    "READY": "Valmis",
+    "REALTIME": "Tosiaikainen",
+    "RECALLME": "Muistatte minua",
+    "RECEIVED_AT": "Vastaanotettu",
+    "RECEIVEURL": "Vastaanota URL",
+    "RECORD": "Tallennus",
+    "RECORDING": "Tallennus",
+    "RECORDINGFORMAT": "Tallennusmuoto",
+    "RECORDINGS": "Tallenteet",
+    "REFRESH_INTERACTIONS": "Päivitä vuorovaikutus",
+    "REGISTERED": "Rekisteröity",
+    "REGISTRY": "Rekisteri",
+    "REJECT": "Hylkää",
+    "REJECTED": "Hylätty",
+    "REJECTMETHOD": "Hylkää menetelmä",
+    "REJECTURL": "Hylkää URL",
+    "RELOAD": "Lataa",
+    "REPLY": "Vastaus",
+    "REPORT": "raportti",
+    "REPORTHOLDTIMEAGENT": "Mietintö Agent pidätysajan",
+    "RETRY": "Yritä uudelleen",
+    "RING": "Rengas",
+    "RINGGROUP": "Rengas ryhmä",
+    "RINGING": "Soiva",
+    "RINGINUSE": "Rengas on käytössä",
+    "ROWSPERPAGE": "Riviä sivulle",
+    "RULE": "Sääntö",
+    "SAVE": "Tallenna",
+    "SCHEDULEDAT": "Ajoitusajankohta",
+    "SCHEDULED_CALLS": "Ajoitetut puhelut",
+    "SCREENRECORDING": "Hallitse näytön tallennusta",
+    "SCRIPT": "käsikirjoitus",
+    "SEARCH_FOR_ANYONE": "Etsi joku",
+    "SECONDSANNOUNCE": "S ilmoittaa",
+    "SECRETACCESSKEY": "Salainen käyttöavain",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Valitse",
+    "SELECTED": "Valittu",
+    "SELECTED_AGENTS": "Valitut edustajat",
+    "SELECTED_TEAMS": "Valittu työryhmille",
+    "SELECTED_USERS": "Valitut käyttäjät",
+    "SELECT_ACCOUNT": "Valitse tili",
+    "SELECT_ALL": "Valitse kaikki",
+    "SELECT_DATE": "Valitse Aloituspäivä",
+    "SELECT_NONE": "Valitse None (Ei mitään)",
+    "SELECT_STATUS": "Valitse tila",
+    "SELECT_TYPE": "Valitse Tyyppi",
+    "SEND": "Lähetä",
+    "SENDMAIL": "Lähetä sähköposti",
+    "SENTIMENTANALYSIS": "Aistien analyysi",
+    "SERVICE": "palvelu",
+    "SESSIONS": "istunnot",
+    "SET": "Aseta",
+    "SETINTERFACEVARIABLES": "Säädä käyttöliittymän muuttujat",
+    "SETQUEUEENTRYVARIABLES": "Määrittää jonon muuttujien syöttö",
+    "SETQUEUEVARIABLES": "Määrittää jonon muuttujat",
+    "SETTINGS": "Asetusten määrittäminen",
+    "SHOW_ALL_FIELDS": "Näytä kaikki kentät",
+    "SHOW_DETAILS": "Näytä tiedot",
+    "SMS": "SMS",
+    "SMTP": "SMTP-",
+    "SMTP_HOST": "SMTP-palvelin",
+    "SMTP_PORT": "SMTP-porttiin",
+    "SOCIAL": "Sosiaalinen",
+    "SORT": "Lajittelujärjestys",
+    "SOURCE": "Lähde",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Henkilökunta",
+    "STARTEDAT": "Aloitettu osoitteessa",
+    "STARTTIME": "Aloitusaika",
+    "START_SCREENRECORDING": "Aloitusnäytön nauhoitus",
+    "STATE": "Tila",
+    "STATUS": "Tila",
+    "STOP_SCREENRECORDING": "Lopeta näytön tallennus",
+    "STRATEGY": "Strategia",
+    "SUBJECT": "Aihe",
+    "SYSTEM": "Järjestelmä",
+    "TAG": "Tag",
+    "TAGS": "Tunnisteet",
+    "TALKING": "Puhumme",
+    "TEAMS_ASSOCIATION": "Joukkueyhdistys",
+    "TECHNOLOGY/RESOURCE": "Tekniikka/Resurssi",
+    "TELEPHONES": "Puhelimet",
+    "TEMPLATE": "Malli",
+    "TEXT": "Teksti",
+    "THANKYOUANNOUNCE": "Kiitos kaikille ilmoittaa",
+    "THEREAREANNOUNCE": "\"On\" ilmoittaa",
+    "TIMEOUT": "Aikakatkaisu",
+    "TIMEOUTRESTART": "Aikaylitys uudelleenkäynnistys",
+    "TIMER": "Ajastin",
+    "TIMES": "Määrä vuorovaikutus",
+    "TIMEZONE": "Aikavyöhyke",
+    "TO": "Voit",
+    "TOKEN": "Etätunnistin",
+    "TOOLTIP_SCREENRECORDING_OFF": "Näytön tallennus saatavilla",
+    "TOOLTIP_SCREENRECORDING_ON": "Näytön nauhoitus käynnissä",
+    "TOTAL": "Yhteensä",
+    "TOTAL_OFFERED": "Tarjotaan yhteensä",
+    "TRANSCRIBE": "Kirjoittaa puhtaaksi",
+    "TRANSFER": "Siirtää",
+    "TRANSPORT": "Liikenne",
+    "TRUEPRIORITY": "Todellinen prioriteetti",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Arkut",
+    "TRUNK_STATUS": "Takaluukun tila",
+    "TYPE": "Tyyppi",
+    "UNAVAILABLE": "Ei saatavissa",
+    "UNIQUEID": "Yksilöivä tunnus",
+    "UNKNOWN": "Tuntematon",
+    "UNMANAGED": "Hallittu",
+    "UNPAUSE": "Unpause",
+    "UNREACHABLE": "Ei saada yhteyttä",
+    "UNREGISTERED": "Rekisteröimätön",
+    "UP": "Ylös",
+    "UPDATE": "Päivitys",
+    "UPLOADING": "lataaminen",
+    "URL": "URL",
+    "USER": "Käyttäjä",
+    "USERNAME": "Käyttäjätunnus",
+    "USERS": "Käyttäjät",
+    "VALUE": "Arvo",
+    "VARIABLE": "Muuttuja",
+    "VIDAOOSESSION": "Aloita videopuhelu",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Videotuki",
+    "VOICE": "Ääni",
+    "VOICEMAIL": "Vastaaja",
+    "VOICEMAILS": "Vastaajaviestit",
+    "VOICEMAIL_CONTEXT": "Yhteydessä",
+    "VOICEQUEUES": "Voice jonot",
+    "VOICERECORDINGS": "Äänitallennus",
+    "WAITFORTHEASSIGNEDAGENT": "Odota määritettyä edustajaa",
+    "WAITING": "Odottelua",
+    "WAITINGCALLSANNOUNCE": "Odottavien puheluiden ilmoittaa",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Sivusto",
+    "WEIGHT": "Paino",
+    "WELCOMEMESSAGE": "Tervetuloa Messsage",
+    "WHATSAPP": "WhatsApp-liitin",
+    "WHITELABEL": "Valkoinen tarra",
+    "WRAPUPTIME": "Lähettämistietojen noutaminen aika",
+    "WRONG_EXTENSION": "Tiedostossa on väärä tiedostopääte",
+    "YES": "Kyllä",
+    "YOUARENEXTANNOUNCE": "\"Olet seuraava ilmoittaa"
+  }
+}
diff --git a/public/app/main/i18n/fr.json b/public/app/main/i18n/fr.json
new file mode 100644
index 0000000..d741e51
--- /dev/null
+++ b/public/app/main/i18n/fr.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Abandonné",
+    "ABANDONEDCALLS": "Appels de file d'attente abandonnés",
+    "ABANDONED_CALLS": "Appels abandonnés",
+    "ACCEPT": "Accepter",
+    "ACCEPTMETHOD": "Méthode d'accepter",
+    "ACCEPTURL": "Accepter URL",
+    "ACCESSKEYID": "Clé d'accès ID",
+    "ACCOUNT": "Compte",
+    "ACCOUNTNAME": "Nom de compte",
+    "ACCOUNTS": "Comptes mails",
+    "ACCOUNTSID": "Compte SID",
+    "ACTIONS": "Actions",
+    "ACTIVE": "actif",
+    "ADD": "Ajouter",
+    "ADDRESS": "IP / Adresse",
+    "ADD_AGENT_TO_VOICEQUEUE": "Ajouter à la file d'attente de la voix de l'Agent",
+    "ADD_CHANSPY": "Ajouter",
+    "ADD_CONTACT": "Ajouter un contact",
+    "ADD_CONTEXT": "Ajouter un contexte",
+    "ADD_INBOUNDROUTE": "Ajouter",
+    "ADD_INTERNALROUTE": "Ajouter",
+    "ADD_MOHSOUND": "Ajouter une musique d'attente",
+    "ADD_MUSICONHOLD": "Ajouter musique en attente",
+    "ADD_NOTE": "Ajouter un commentaire",
+    "ADD_OUTBOUNDROUTE": "Ajouter",
+    "ADD_PROJECT": "Ajouter un projet",
+    "ADD_TAG": "Ajouter un tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Ajouter à l'équipe d'attente de voix",
+    "ADD_VARIABLE": "Add Variable",
+    "ADD_VOICEMAIL": "Ajouter",
+    "ADD_VOICEQUEUE": "Ajouter",
+    "ADVANCED": "Recherche avancée",
+    "AFTERCALLWORK": "Pause Après appel",
+    "AFTERCALLWORKDURATION": "Durée de la pause après appel",
+    "AGENT": "Agent",
+    "AGENTS": "Agents",
+    "AGENTSADD_QUEUE": "Ajouter des Agents d'attente de la voix",
+    "AGENTTRANSFER": "Transfert d'agent",
+    "AGENTTRANSFERTIMEOUT": "Délai de transfert de l'agent",
+    "AGENT_TIMEOUT": "Temps dépassé",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Tous les",
+    "ALLOWCODECS": "Codecs permis",
+    "ALL_AGENTS": "Tous les Agents",
+    "ALL_TEAMS": "Toutes les équipes",
+    "ALL_USERS": "Tous les utilisateurs",
+    "ALPHABETICAL": "L'ordre alphabétique",
+    "ALWAYS": "Toujours",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Annoncer la position de l'appelant",
+    "ANNOUNCEFREQUENCY": "Fréquence des messages",
+    "ANNOUNCEHOLDTIME": "Annoncer le temps d'attente",
+    "ANNOUNCEMENTS": "Messages",
+    "ANNOUNCEPOSITIONLIMIT": "Limite pour annoncer la position",
+    "ANNOUNCETOAGENT": "Annoncer un message à l'agent",
+    "ANNOUNCE_OVERRIDES": "Annoncer remplace",
+    "ANSWER": "Répondre à",
+    "ANSWERED": "Répondre",
+    "API": "API",
+    "APIKEY": "Clé Api",
+    "APPLICATION": "Application",
+    "APPLICATION_NAME": "Nom de l'application",
+    "ARGUMENTS": "Arguments",
+    "ATTACH": "Joindre",
+    "AUDIO": "L'audio",
+    "AUDIOFILES": "Fichiers audio",
+    "AUDIO_FILES": "Les fichiers audio",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Jeton d'autorisation",
+    "AUTOPAUSE": "Gestion Pause Automatique",
+    "AUTOREPLY": "Réponse automatique",
+    "AVG_BILLABLE": "Facturable Avg",
+    "AVG_HOLD_TIME": "Temps de mise en attente",
+    "BACK": "Retour",
+    "BLACKLIST": "Liste noire",
+    "BODY": "Corps",
+    "BOTNAME": "Nom de bot",
+    "BUILDER": "Builder",
+    "BUSY": "Occupé",
+    "CALLED": "Appelé",
+    "CALLER": "Appelant",
+    "CALLERID": "L'identification de l'appelant",
+    "CALLER_ID": "L'identification de l'appelant",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Campagne",
+    "CANCEL": "Annuler",
+    "CANNEDANSWERS": "Réponses en conserve",
+    "CANNED_ANSWER_NOT_FOUND": "Aucune réponse prédéfinie",
+    "CANNED_ANSWER_SEARCH": "Entrez du texte pour rechercher une réponse prédéfinie",
+    "CANT_DOWNLOAD_THIS_FILE": "Impossible de télécharger ce fichier",
+    "CAPACITY": "Capacité",
+    "CHANNEL": "Canal",
+    "CHANNELS": "canaux",
+    "CHANSPIES": "Chan Spies",
+    "CHANSPY": "profil d'écoute ",
+    "CHAT": "Chat",
+    "CITY": "Ville",
+    "CLEAR": "Clair",
+    "CLOSE": "Fermer",
+    "CLOSED": "Fermé",
+    "CLOSEDAT": "Fermé le :",
+    "CLOSEMETHOD": "Méthode Close",
+    "CLOSEURL": "URL Fermer",
+    "CLOSING": "Fermer",
+    "COMMAND": "Commande",
+    "COMPANIES": "Entreprises",
+    "COMPANY": "Société",
+    "CONDITION": "Condition",
+    "CONFIRM_PASSWORD": "Confirmer le mot de passe",
+    "CONNECTED": "Connecté",
+    "CONTACT": "Contact",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Contacts",
+    "CONTENT": "Content",
+    "CONTEXT": "Contexte",
+    "CONTEXTS": "Contextes",
+    "COUNTRY": "Pays",
+    "CREATED_AT": "Créé le",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Voyage du client",
+    "CUSTOM_FIELDS": "Champs personnalisés",
+    "CUTDIGITS": "Supprimer des digits",
+    "DASHBOARD": "Planche de bord",
+    "DATE": "Date",
+    "DATE_OF_BIRTH": "Date de naissance",
+    "DEFAULT": "Valeur par défaut",
+    "DEFAULT_PAUSE": "PAUSE PAR DÉFAUT",
+    "DELETE": "Supprimer",
+    "DELETE_APP": "Supprimer l'application",
+    "DELETE_CHANSPY": "Supprimer",
+    "DELETE_CONTEXT": "Supprimer",
+    "DELETE_HOPPER": "Supprimer Hopper",
+    "DELETE_INBOUNDROUTE": "Supprimer",
+    "DELETE_INTERACTION": "Supprimer l'interaction",
+    "DELETE_INTERNALROUTE": "Supprimer",
+    "DELETE_MOHSOUND": "Supprimer le son de la musique d'attente",
+    "DELETE_MUSICONHOLD": "Supprimer",
+    "DELETE_OUTBOUNDROUTE": "Supprimer",
+    "DELETE_PROJECT": "Supprimer le projet",
+    "DELETE_SELECTED": "Supprimer la sélection",
+    "DELETE_VOICEDISPOSITION": "Supprimer la disposition",
+    "DELETE_VOICEMAIL": "Supprimer",
+    "DELETE_VOICEQUEUE": "Supprimer",
+    "DELETE_VOICERECORDING": "Supprimer l'enregistrement vocal",
+    "DELIVERYREPORTURL": "URL du rapport de livraison",
+    "DESCRIPTION": "Description",
+    "DESTINATION": "Destination",
+    "DESTINATIONPATTERN": "Type de destination",
+    "DETAIL": "Détail",
+    "DETAILS": "Détails",
+    "DIAL": "Composer",
+    "DIALER": "Numéroteur",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "N",
+    "DIRECTORY": "Dossier",
+    "DISABLED": "Désactivé",
+    "DISPOSITION": "Disposition",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "Télécharger",
+    "DOWNLOAD_INTERACTION": "Télécharger",
+    "DOWNLOAD_MOHSOUND": "Télécharger de la musique en attente sound",
+    "DOWNLOAD_VOICERECORDING": "Télécharger l'enregistrement vocal",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Télécharger sans pièce jointe",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Télécharger sans pièces jointes",
+    "DOWNLOAD_WITH_ATTACHMENT": "Télécharger avec pièce jointe",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Télécharger avec les pièces jointes",
+    "DROPPED": "Abandonné",
+    "DROP_TO_UPLOAD": "Drop à télécharger",
+    "DURATION": "Durée",
+    "EDIT": "Modifier",
+    "EDIT_AGENT": "Modifier",
+    "EDIT_AGI": "Éditer les MGA",
+    "EDIT_AMAZONLEX": "Modifier la configuration Lex",
+    "EDIT_APP": "Modification d'une demande",
+    "EDIT_AUTOREPLY": "Modifier la réponse automatique",
+    "EDIT_CHANSPY": "Éditer",
+    "EDIT_CLOSE": "Fermer",
+    "EDIT_CONTEXT": "Modifier",
+    "EDIT_CUSTOM": "Personnaliser",
+    "EDIT_DIAL": "Composition modifiée",
+    "EDIT_DIALOGFLOW": "Modifier la configuration du dialogue",
+    "EDIT_EXTERNALDIAL": "Modifier le cadran externe",
+    "EDIT_GOTO": "Edit GoTo",
+    "EDIT_GOTOIF": "Éditer GotoIf",
+    "EDIT_GOTOP": "Éditer GotoP",
+    "EDIT_HANGUP": "Raccrochage Modifier",
+    "EDIT_HOPPER": "Éditer Hopper",
+    "EDIT_INBOUNDROUTE": "Modifier",
+    "EDIT_INTERNALDIAL": "Numérotation interne modifier",
+    "EDIT_INTERNALROUTE": "Modifier",
+    "EDIT_INTERVAL": "Intervalle d'édition",
+    "EDIT_MUSICONHOLD": "Modifier",
+    "EDIT_NOOP": "Éditer Noop",
+    "EDIT_OUTBOUNDROUTE": "Modifier",
+    "EDIT_PLAYBACK": "Modifier la lecture",
+    "EDIT_PROJECT": "Projet d'édition",
+    "EDIT_QUEUE": "Modifier la file d'attente",
+    "EDIT_RINGGROUP": "Modifier groupe anneau",
+    "EDIT_SET": "Ensemble Modifier",
+    "EDIT_SYSTEM": "Modifier",
+    "EDIT_TAG": "Modifier la balise",
+    "EDIT_TRUNK": "Trunk Modifier",
+    "EDIT_VOICEDISPOSITION": "Modifier la disposition",
+    "EDIT_VOICEMAIL": "Modifier",
+    "EDIT_VOICEQUEUE": "modifier",
+    "EDIT_VOICERECORDING": "Éditer l'enregistrement vocal",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Adresse e-mail",
+    "EMAILBODY": "Corps de l'e-mail",
+    "EMAILSUBJECT": "Objet",
+    "ENABLED": "Activé",
+    "ENCRYPTION": "Encryption",
+    "ENDTIME": "L'Heure de fin",
+    "ENVELOPE": "Enveloppe",
+    "EQUALS": "Équivaut à",
+    "ERROR": "Erreur",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Le format de l'URL est invalide",
+      "ACCESSKEYID_REQUIRED": "La clé d'accès est requise",
+      "ACCOUNTNAME_REQUIRED": "Nom du compte est requis",
+      "ACCOUNTSID_REQUIRED": "Champ obligatoire",
+      "AFTERCALLWORKDURATION_REQUIRED": "La durée de pause après appel est requise",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
+      "AGENT_REQUIRED": "Agent requis",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+      "AGENT_TIMEOUT_REQUIRED": "Valeur requise",
+      "ALIAS_REQUIRED": "Alias requis",
+      "APIKEY_REQUIRED": "La clé API est requis",
+      "APPLICATION_REQUIRED": "Application requise",
+      "AUTHTOKEN_REQUIRED": "Le jeton d'autorisation est requis",
+      "BOTNAME_REQUIRED": "Le nom du bot est obligatoire",
+      "CLOSEURL_MUST_VALID_URL": "Le format de l'URL est invalide",
+      "COMMAND_REQUIRED": "Champ obligatoire",
+      "CONDITION_REQUIRED": "Etat requis",
+      "CONFIRM_NOT_MATCH": "Les mots de passe ne correspondent pas",
+      "CONTENT_REQUIRED": "Le contenu est nécessaire",
+      "CONTEXT_REQUIRED": "Contexte requis",
+      "DESTINATIONPATTERN_REQUIRED": "Destination requise",
+      "DISPOSITION_REQUIRED": "Disposition requise",
+      "EMAIL_MUST_VALID": "Format e-mail doit être valide",
+      "EMAIL_REQUIRED": "Email requis",
+      "EXTENSION_REQUIRED": "Extension requise",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La priorité doit être supérieure ou égale à",
+      "FALSEPRIORITY_REQUIRED": "Valeur requise",
+      "FIELD_REQUIRED": "Le champ est obligatoire",
+      "FIRSTNAME_REQUIRED": "Le premier nom est obligatoire",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+      "FONTSIZE_REQUIRED": "Champ obligatoire",
+      "FULLNAME_REQUIRED": "Nom complet requis",
+      "HOST_REQUIRED": "Host obligatoire",
+      "KEY_MAX_LENGTH": "La Clé doit avoir une longueur maximale égale à {{max}}",
+      "KEY_REQUIRED": "Clé requise",
+      "LIST_REQUIRED": "Liste requis",
+      "MAILBOX_REQUIRED": "Boite vocale requise",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire",
+      "METHOD_REQUIRED": "Champ obligatoire",
+      "MOTIONADDRESS_MUST_VALID_URL": "La motion doit être écrit dans un format valide",
+      "MOTIONADDRESS_REQUIRED": "La motion est nécessaire",
+      "MOTIONPROXY_MUST_VALID_URL": "Format incorrect",
+      "MOTIONPROXY_REQUIRED": "Champ obligatoire",
+      "NAME_MUST_VALID_PATTERN": "Le nom doit être écrit dans un format valide",
+      "NAME_REQUIRED": "Nom obligatoire",
+      "OPTIONS_REQUIRED": "Options requises",
+      "OUTBOUNDROUTE_REQUIRED": "Champ obligatoire",
+      "PASSWORD_REQUIRED": "Mot de passe requis",
+      "PHONENUMBER_REQUIRED": "numéro de téléphone requis",
+      "PHONE_REQUIRED": "Téléphone requis",
+      "PREFIX_REQUIRED": "Préfixe requis",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La priorité doit être supérieure ou égale à",
+      "PRIORITY_REQUIRED": "Priorité requise",
+      "PROJECT_REQUIRED": "Champ obligatoire",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Champ obligatoire",
+      "QUEUE_REQUIRED": "File d'attente requis",
+      "REJECTURL_MUST_VALID_URL": "Le format de l'URL est invalide",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La retentative doit être supérieure ou égale à",
+      "SECRETACCESSKEY_REQUIRED": "Champ obligatoire",
+      "SENDERSTRING_MAX_LENGTH": "La valeur doit avoir une longueur maximale égale à {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Mauvais format",
+      "SID_REQUIRED": "Le SID est requis",
+      "TAG_REQUIRED": "Champ obligatoire",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "technologie/ressource requise",
+      "TEXT_MAX_LENGTH": "Text trop long. Longueur maximale : {{max}}",
+      "TEXT_REQUIRED": "Vous devez saisir du texte",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Le délai doit être supérieure ou égale à",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+      "TIMEOUT_REQUIRED": "délai requis",
+      "TIMEZONE_REQUIRED": "Timezone requise",
+      "TOKEN_REQUIRED": "Le jeton est requis",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La priorité doit être supérieure ou égale à",
+      "TRUEPRIORITY_REQUIRED": "Valeur requise",
+      "TRUNK_REQUIRED": "Champ obligatoire",
+      "TYPE_REQUIRED": "Champ obligatoire",
+      "URL_REQUIRED": "L'URL est nécessaire",
+      "USERNAME_REQUIRED": "Champ obligatoire",
+      "VALUE_REQUIRED": "valeur requise",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Champ obligatoire",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Le poids doit être supérieure ou égale à",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Le temps post-appel doit être supérieure ou égale à"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Annoncer le temps d'attente estimé restant",
+    "EXTENSION": "Extension",
+    "EXTERNALDIAL": "Numérotation externe",
+    "FAILED": "N",
+    "FALSEPRIORITY": "Fausse Priorité",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Domaine",
+    "FIELDS": "Domaines",
+    "FILE": "Dossier",
+    "FILE_NOT_FOUND": "Fichier non trouvé",
+    "FILTER": "Filtre",
+    "FILTERS": "Filters",
+    "FINISH": "Terminer",
+    "FONTSIZE": "Taille de police",
+    "FORMAT": "Présentation",
+    "FREE": "Disponible",
+    "FROM": "De",
+    "FULLNAME": "Nom complet",
+    "GENERAL": "Général",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Raccroché.",
+    "HANGUPCAUSE_1": "1  = numéro non attribué",
+    "HANGUPCAUSE_16": "16 Centre d'appel  = Normail",
+    "HANGUPCAUSE_17": "17  = Utilisateur occupé",
+    "HANGUPCAUSE_18": "18  = Pas de réponse de l'utilisateur (téléphone non connecté)",
+    "HANGUPCAUSE_21": "21  = Appel rejeté",
+    "HANGUPCAUSE_22": "22  = numéro modifié",
+    "HANGUPCAUSE_27": "27  = Destination dans le désordre",
+    "HANGUPCAUSE_38": "38  = réseau hors service",
+    "HANGUPCAUSE_41": "41  = défaillance temporaire",
+    "HANGUP_CAUSE": "Cause de raccrochage",
+    "HEADERS": "En-têtes",
+    "HELP": {
+      "AFTERCALLWORK": "Si actif, l'agent sera mis en pause après un appel traité pour faire du reporting.",
+      "AFTERCALLWORKDURATION": "Défini la durée de la pause automatique pour le reporting après l'appel. ",
+      "ANNOUNCECALLERPOSITION": "Définit si la position de l'appelant dans la file d'attente doit être joié. Si Non, la position ne sera jamais annoncé. Si Oui, la position de l'appelant sera toujours annoncée. Si limité, l'appelant entendra sa position dans la file d'attente que si elle est dans la limite définie le paramètre ci-dessus. Si Plus, l'appelant entendra sa position s'il est au-delà du nombre défini par le paramètre.",
+      "ANNOUNCEHOLDTIME": "Active l'annonce du temps d'attente restant en plus des annonces périodiques ",
+      "ANNOUNCETOAGENT": "Utilisé pour la lecture d'un message à l'agent qui a répondu à l'appel, généralement pour lui transmettre des informations sur  l'appelant. ",
+      "CONTEXT": "Permet à un appelant de quitter la file d'attente en appuyant sur une touche de son téléphone. Si un contexte est spécifié et que l'appelant entre un nombre, ce chiffre va tenter de s'executer dans le contexte spécifié, et il continuera d'exécuter le dialplan.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Si non défini, jouera la valeur par défaut (\"le temps d'attente est estimé actuellement\"). Si elle est définie sur une valeur vide, le message ne sera pas joué.",
+      "HOLDTIMEANNOUNCE": "Si non défini, jouera la valeur par défaut (\"temps d'attente\"). Si défini sur une valeur vide, le message ne sera pas joué.",
+      "LIST": "Contact Manager liste utilisée pour associer des contacts",
+      "MANDATORYDISPOSITION": "Disposition obligatoire",
+      "MANDATORYDISPOSITIONPAUSEID": "Statut de pause à définir lors de la disposition obligatoire",
+      "MEMBERDELAY": "Délai avant qu'un agent soit de nouveau accessible dans la file d'attente après avoir raccroché un appel.",
+      "MINANNOUNCEFREQUENCY": "Indique le temps minimum qui doit s'écouler avant de re-annoncer la position de l'appelant dans la file d'attente. A utiliser lorsque la position de l'appelant peut changer fréquemment, pour empêcher que l'appelant entendent plusieurs fois l'annonce dans un délai très court.",
+      "MINUTEANNOUNCE": "Si non définie, jouera la valeur par défaut (\"minute\"). Si défini sur une valeur vide, le message ne sera pas joué.",
+      "MINUTESANNOUNCE": "Si non défini, jouera la valeur par défaut (\"minutes\"). Si défini sur une valeur vide, le message ne sera pas joué.",
+      "MONITORFORMAT": "Spécifie le format de fichier à utiliser  pourl'enregistrement. Si le paramètre est inactif, les appels ne sont pas enregistrées.",
+      "MOTIONPROXY": "S'il vous plaît, entrez dans le format suivant : <protocol&gt ; ://<ipaddress&gt ;[ :<port&gt ;]. Exemple : https://X.Y.Z.W",
+      "MUSICONHOLD": "Définit la musique d'attente utilisés par la file d'attente.",
+      "NAME": "Seulement les chiffres, lettres et caractères spécifiques (._) sont pris en charge",
+      "PERIODICANNOUNCE": "Jouer des annonces périodiques à l'appelant, dans l'ordre où elles sont définies.",
+      "PERIODICANNOUNCEFREQUENCY": "La fréquence à laquelle faire des annonces périodiques à l'appelant.",
+      "RECORDING": "Activer l'enregistrement d'appel",
+      "REPORTHOLDTIMEAGENT": "La déclaration permet de tenir le temps de la file d'états avant de combler.",
+      "RINGINUSE": "Utilisé pour éviter de déranger un agent dont le statut est En cours d'utilisation.",
+      "SECONDSANNOUNCE": "Si non défini, jouera la valeur par défaut (\"secondes\"). Si défini sur une valeur vide, le message ne sera pas joué.",
+      "THANKYOUANNOUNCE": "Si non défini, jouera la valeur par défaut (\"Merci pour votre patience\"). Si défini sur une valeur vide, le message ne sera pas joué.",
+      "THEREAREANNOUNCE": "Si non défini, jouera la valeur par défaut (\"Il y a\"). Si elle est définie sur une valeur vide, le message ne sera pas joué",
+      "TIMEOUTRESTART": "Si défini à Oui, réinitialise Le délai pour réinitialiser le statut d'un agent qui à un statut occupé ou en congestion.",
+      "TYPE": "Détermine le rôle au sein de SIP Asterisk. Utilisateur : utilisé pour authentifier les - : par les pairs pour les appels sortants - AMI : couvre à la fois les caractéristiques de la ci-dessus.",
+      "VOICEMAIL_CONTEXT": "Le contexte de l'extension de la boite vocale.",
+      "WAITINGCALLSANNOUNCE": "Si non défini, jouera la valeur par défaut (\"appels en attente\"). Si défini sur une valeur vide, le message ne sera pas joué.",
+      "WELCOMEMESSAGE": "Ceci est le premier message envoyé au contacteur",
+      "YOUARENEXTANNOUNCE": "Si non défini, jouera la valeur par défaut (\"Vous êtes maintenant le prochain à être pris en charge\"). Si défini sur une valeur vide, le message ne sera pas joué."
+    },
+    "HIDE_DETAILS": "Cacher les détails",
+    "HOLDTIMEANNOUNCE": "Annoncer le Temps d'attente",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "Dans",
+    "INBOUNDROUTES": "Routes entrantes",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Insérez votre message texte ici",
+    "INTEGRATIONS": "Integrations",
+    "INTERACTION": "Interaction",
+    "INTERACTIONS": "Interactions",
+    "INTERNAL": "Régie interne",
+    "INTERNALDIAL": "Numérotation interne",
+    "INTERNALROUTES": "Routes internes.",
+    "INTERVAL": "Interval",
+    "INTERVALS": "Intervalles réguliers",
+    "INUSE": "En cours d'utilisation",
+    "INVALID": "Invalid",
+    "IN_USE": "En cours d'utilisation",
+    "JOINWHENEMPTY": "Rejoindre si aucun agent connecté",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Clé",
+    "LAGGED": "À la traîne",
+    "LANGUAGE": "Langue",
+    "LASTMESSAGE": "Dernier message",
+    "LASTNAME": "Nom",
+    "LAST_MONTH": "Le mois dernier",
+    "LEAVEWHENEMPTY": "Quitter si aucun agent connecté",
+    "LEXREGION": "Région",
+    "LIMITED": "Limité",
+    "LIST": "Liste",
+    "LOGGED_IN": "Connecté",
+    "LOGIN_TIME": "Temps de connexion",
+    "LOGO": "Logo",
+    "LOGOUT": "Login/Logout",
+    "MACRO": "Macro",
+    "MAIL": "Mail",
+    "MAILBOX": "Boîte mail",
+    "MAILBOX@CONTEXT": "Contexte@Boîte aux lettres",
+    "MANAGED": "Géré",
+    "MANDATORYDISPOSITION": "Disposition obligatoire",
+    "MANDATORYDISPOSITIONPAUSEID": "Statut de pause de disposition obligatoire",
+    "MARK_AS_UNREAD": "marquer comme non lu",
+    "MAXLENGTH": "Taille de la file d'attente",
+    "MAXMESSAGES": "Nb messages Max",
+    "MAXSECONDS": "Nb secondes Max",
+    "MAY": "Mai",
+    "MEMBERDELAY": "Temporisation Agent",
+    "MESSAGE": "Message",
+    "MESSAGES": "Messages",
+    "MESSAGESALIGNMENT": "Alignement des messages",
+    "METHOD": "Méthode",
+    "METRIC": "Métrique",
+    "MINANNOUNCEFREQUENCY": "La fréquence minimum des messages",
+    "MINUTEANNOUNCE": "Annoncer la  Minute",
+    "MINUTESANNOUNCE": "Annoncer les Minutes",
+    "MOBILE": "Mobile",
+    "MODULES": "Modules",
+    "MOHSOUNDS": "Sons Moh",
+    "MONITORFORMAT": "Format d'enregistrement",
+    "MORE": "Plus",
+    "MOTIONADDRESS": "Adresse Motion",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy ou domaine Motion",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musique d'attente",
+    "MUSICONHOLDS": "Musiques d'attente",
+    "NAME": "Nom",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Nouveau ChanSpy",
+    "NEW_CONTACT": "Nouveau contact",
+    "NEW_CONTEXT": "Nouveau contexte",
+    "NEW_INBOUNDROUTE": "Nouvelle route entrante",
+    "NEW_INTERNALROUTE": "Nouvelle route interne",
+    "NEW_MUSICONHOLD": "La Nouvelle musique d'attente",
+    "NEW_OUTBOUNDROUTE": "Nouvelle route sortante",
+    "NEW_PROJECT": "Nouveau projet",
+    "NEW_TAB": "Nouvel onglet",
+    "NEW_TAG": "Nouveau Tag",
+    "NEW_VARIABLE": "Nouvelle variable",
+    "NEW_VOICEMAIL": "Nouvelle messagerie vocale",
+    "NEW_VOICEQUEUE": "File d'attente voix nouvelles",
+    "NO": "Pas de",
+    "NONE": "Aucun",
+    "NOOP": "Noop",
+    "NOTE": "Remarque",
+    "NOTES": "Note",
+    "NOTIFICATION": "Notification",
+    "NOTIFICATIONSHAKE": "Faire vibrer la fenêtre",
+    "NOTIFICATIONSOUND": "Notification sonore",
+    "NOTIFICATIONTEMPLATE": "Modèle",
+    "NOT_INUSE": "Il n'est pas utilisé",
+    "NO_AGENT_ONLINE": "Pas de représentant en ligne",
+    "NO_APPS_AVAILABLE": "Pas d'applications disponibles",
+    "NO_AVAILABLE_INFO": "Aucune information disponible",
+    "NO_INTERACTION_AVAILABLE": "Aucun email disponible",
+    "NO_MESSAGE_AVAILABLE": "Aucun message disponible",
+    "NO_MOHSOUND_AVAILABLE": "Aucune musique d'attente disponible",
+    "NO_RATING": "Pas de cote",
+    "NO_REGISTRY": "Pas de registre",
+    "NO_SOUND_AVAILABLE": "Pas de sons disponibles",
+    "NUMBER": "Nombre",
+    "OF": "De",
+    "ONHOLD": "En attente",
+    "OPEN": "Ouvrir",
+    "OPENCHANNEL": "Canal ouvert",
+    "OPENED": "Ouvrir",
+    "OPERATOR": "Opérateur",
+    "OPTIONS": "Options",
+    "ORIGINATED": "Origine",
+    "OTHERS": "Autres",
+    "OUT": "Out",
+    "OUTBOUNDDIAL": "Numérotation sortante",
+    "OUTBOUNDROUTE": "Itinéraire sortant",
+    "OUTBOUNDROUTES": "Routes sortantes",
+    "OUTBOUND_CALLS": "Appels sortants",
+    "OUTPUT": "Output",
+    "PAGE": "La page",
+    "PARTIALPAUSE": "Pause partielle",
+    "PASSWORD": "Mot de passe oublié",
+    "PAUSE": "Mettre en pause",
+    "PAUSED": "En pause",
+    "PAUSE_TIME": "Temps de pause",
+    "PAYMENTMETHOD": "Méthodes de payement",
+    "PENALTY": "De mort",
+    "PENDING": "En attente",
+    "PERIODICANNOUNCE": "Message périodique",
+    "PERIODICANNOUNCEFREQUENCY": "Fréquence des messages périodique",
+    "PERSONAL_INFO": "Infos personnelles",
+    "PHONE": "Téléphone",
+    "PHONENUMBER": "Numéro de téléphone",
+    "PHONE_STATE": "État du téléphone",
+    "PHONE_STATUS": "Etat du téléphone",
+    "PLAYBACK": "La lecture",
+    "PLUGINS": "Plugins",
+    "PORT": "Port",
+    "POSITION": "Poste",
+    "POSTALCODE": "Code postal",
+    "PREFIX": "Préfixe",
+    "PREVIEW": "Aperçu",
+    "PRIORITY": "La priorité",
+    "PROJECT": "Projet d'Cally-Square",
+    "PROJECTS": "Projets",
+    "PROXY": "Procuration",
+    "QUEUE": "Queue",
+    "QUEUES": "Files d'attente",
+    "QUEUETRANSFER": "Transfert de file d'attente",
+    "QUEUETRANSFERTIMEOUT": "Délai de transfert de la file d'attente",
+    "QUEUE_CALLS": "Appels en file d'attente",
+    "QUEUE_PARAMETERS": "paramètres",
+    "QUEUE_PARAMS": "Les paramètres de file d'attente",
+    "RANDOM": "Random",
+    "RANDOMPERIODICANNOUNCE": "Messages périodiques aléatoire",
+    "RATING": "0",
+    "REACHABLE": "Accessible",
+    "READY": "Prêt",
+    "REALTIME": "Information temps réel",
+    "RECALLME": "Rappeler moi",
+    "RECEIVED_AT": "Reçu au",
+    "RECEIVEURL": "Recevoir l'URL",
+    "RECORD": "Notice",
+    "RECORDING": "Enregistrement",
+    "RECORDINGFORMAT": "Format d'enregistrement",
+    "RECORDINGS": "Enregistrements",
+    "REFRESH_INTERACTIONS": "Rafraichir",
+    "REGISTERED": "Date d'inscription",
+    "REGISTRY": "Greffe",
+    "REJECT": "Rejeter",
+    "REJECTED": "Rejeté",
+    "REJECTMETHOD": "Méthode de rejet",
+    "REJECTURL": "Rejeter les URL",
+    "RELOAD": "Recharger",
+    "REPLY": "Répondre",
+    "REPORT": "rapport",
+    "REPORTHOLDTIMEAGENT": "Temps de maitien en pause reporting de l'agent",
+    "RETRY": "Réessayer",
+    "RING": "Ring",
+    "RINGGROUP": "Groupe anneau",
+    "RINGING": "En sonnerie",
+    "RINGINUSE": "Faire sonner quand occupé",
+    "ROWSPERPAGE": "Les lignes par page",
+    "RULE": "La règle",
+    "SAVE": "Sauvegarder",
+    "SCHEDULEDAT": "Date prévu : ",
+    "SCHEDULED_CALLS": "Appels programmés",
+    "SCREENRECORDING": "Gérer l'enregistrement d'écran",
+    "SCRIPT": "Scénario",
+    "SEARCH_FOR_ANYONE": "Rechercher",
+    "SECONDSANNOUNCE": "annoncer la seconde ",
+    "SECRETACCESSKEY": "Clé d'accès secrète",
+    "SECURITY_SUITE": "Gestion mot de passe sécurité",
+    "SELECT": "Sélectionner",
+    "SELECTED": "Sélectionné",
+    "SELECTED_AGENTS": "Agents sélectionnés",
+    "SELECTED_TEAMS": "Les équipes sélectionnées",
+    "SELECTED_USERS": "Utilisateurs sélectionnés",
+    "SELECT_ACCOUNT": "Compte",
+    "SELECT_ALL": "Sélectionnez tout",
+    "SELECT_DATE": "Sélectionnez la date de début",
+    "SELECT_NONE": "Desélectionnez tout",
+    "SELECT_STATUS": "Etat",
+    "SELECT_TYPE": "Sélectionner le genre",
+    "SEND": "Envoyer",
+    "SENDMAIL": "Envoyer un Mail",
+    "SENTIMENTANALYSIS": "Analyse des sentiments",
+    "SERVICE": "Un service",
+    "SESSIONS": "Sessions",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Définir les variables d'interface",
+    "SETQUEUEENTRYVARIABLES": "Définir les variables en entrée",
+    "SETQUEUEVARIABLES": "Définir les variables de la file d'attente",
+    "SETTINGS": "Paramètres",
+    "SHOW_ALL_FIELDS": "Afficher tous les champs",
+    "SHOW_DETAILS": "Afficher les détails",
+    "SMS": "SMS",
+    "SMTP": "Protocole SMTP",
+    "SMTP_HOST": "Host SMTP",
+    "SMTP_PORT": "Port SMTP",
+    "SOCIAL": "Social",
+    "SORT": "Trier",
+    "SOURCE": "Source",
+    "SPYINTERACTION": "Espionner",
+    "STAFF": "Personnel",
+    "STARTEDAT": "Commencé à",
+    "STARTTIME": "Temps de démarrage",
+    "START_SCREENRECORDING": "Démarrer l'enregistrement d'écran",
+    "STATE": "Etat",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Arrêter l'enregistrement d'écran",
+    "STRATEGY": "Stratégie",
+    "SUBJECT": "Objet",
+    "SYSTEM": "Système",
+    "TAG": "Marque",
+    "TAGS": "Tags",
+    "TALKING": "Parler",
+    "TEAMS_ASSOCIATION": "Association des équipes",
+    "TECHNOLOGY/RESOURCE": "Ressources/technologie",
+    "TELEPHONES": "Téléphones",
+    "TEMPLATE": "Modèle",
+    "TEXT": "Texte",
+    "THANKYOUANNOUNCE": "Message \"Merci\"",
+    "THEREAREANNOUNCE": "Message 'Il y a'",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Redémarré la temporisation",
+    "TIMER": "Timer",
+    "TIMES": "Nombre de fois par interaction",
+    "TIMEZONE": "Timezone",
+    "TO": "À",
+    "TOKEN": "Token :",
+    "TOOLTIP_SCREENRECORDING_OFF": "Enregistrement d'écran disponible",
+    "TOOLTIP_SCREENRECORDING_ON": "Enregistrement d'écran en cours",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Offert Total",
+    "TRANSCRIBE": "Transcrire",
+    "TRANSFER": "Transfert",
+    "TRANSPORT": "Transports",
+    "TRUEPRIORITY": "Vrai Priorité",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "L'état de trunk",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Indisponible",
+    "UNIQUEID": "ID unique",
+    "UNKNOWN": "Inconnu",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "Reprendre",
+    "UNREACHABLE": "Inaccessible",
+    "UNREGISTERED": "Non",
+    "UP": "Jusqu'",
+    "UPDATE": "Mise à jour",
+    "UPLOADING": "Téléchargement",
+    "URL": "URL",
+    "USER": "User",
+    "USERNAME": "Nom d'utilisateur",
+    "USERS": "Utilisateurs",
+    "VALUE": "Valeur",
+    "VARIABLE": "Variable",
+    "VIDAOOSESSION": "Lancer un appel vidéo",
+    "VIDEO": "Vidéo",
+    "VIDEOSUPPORT": "Support vidéo",
+    "VOICE": "Voix",
+    "VOICEMAIL": "La messagerie vocale",
+    "VOICEMAILS": "Messagerie vocale",
+    "VOICEMAIL_CONTEXT": "Contexte",
+    "VOICEQUEUES": "Files d'attente voix",
+    "VOICERECORDINGS": "Les enregistrements vocaux",
+    "WAITFORTHEASSIGNEDAGENT": "attente max prise en charge de l'email par agent : ",
+    "WAITING": "L'attente",
+    "WAITINGCALLSANNOUNCE": "Annoncer la position de l'appelant dans la file d'attente",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Site web",
+    "WEIGHT": "Poids",
+    "WELCOMEMESSAGE": "Message de bienvenue",
+    "WHATSAPP": "Connecteur WhatsApp",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Temps d'indisponibilité post-appel",
+    "WRONG_EXTENSION": "Le fichier présente la mauvaise extension",
+    "YES": "Oui",
+    "YOUARENEXTANNOUNCE": "Message 'Vous êtes le suivant'"
+  }
+}
diff --git a/public/app/main/i18n/he.json b/public/app/main/i18n/he.json
new file mode 100644
index 0000000..7239454
--- /dev/null
+++ b/public/app/main/i18n/he.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "ננטשו",
+    "ABANDONEDCALLS": "תור שיחות שננטשו",
+    "ABANDONED_CALLS": "שיחות שננטשו",
+    "ACCEPT": "קבל",
+    "ACCEPTMETHOD": "קבל שיטה",
+    "ACCEPTURL": "קבל כתובת URL",
+    "ACCESSKEYID": "גישה למזהה מפתח",
+    "ACCOUNT": "חשבון",
+    "ACCOUNTNAME": "שם החשבון",
+    "ACCOUNTS": "חשבונות",
+    "ACCOUNTSID": "חשבון SID",
+    "ACTIONS": "פעולות",
+    "ACTIVE": "פעיל",
+    "ADD": "הוסף",
+    "ADDRESS": "כתובת",
+    "ADD_AGENT_TO_VOICEQUEUE": "הוסף נציג לתור קול",
+    "ADD_CHANSPY": "הוסף ChanSpy",
+    "ADD_CONTACT": "הוסף איש קשר",
+    "ADD_CONTEXT": "הוסף הקשר",
+    "ADD_INBOUNDROUTE": "הוסף נתיב נכנס",
+    "ADD_INTERNALROUTE": "הוסף נתיב פנימי",
+    "ADD_MOHSOUND": "הוסף צליל מוזיקה בהמתנה",
+    "ADD_MUSICONHOLD": "הוסף מוזיקה בהמתנה",
+    "ADD_NOTE": "הוסף פתק/הערה",
+    "ADD_OUTBOUNDROUTE": "הוסף נתיב יוצא",
+    "ADD_PROJECT": "הוסף פרויקט",
+    "ADD_TAG": "הוסף תג",
+    "ADD_TEAM_TO_VOICEQUEUE": "הוסף צוות לתור קול",
+    "ADD_VARIABLE": "הוסף משתנה",
+    "ADD_VOICEMAIL": "הוסף הודעה קולית",
+    "ADD_VOICEQUEUE": "הוסף תור קול",
+    "ADVANCED": "מתקדם",
+    "AFTERCALLWORK": "עבודה לאחר שיחה",
+    "AFTERCALLWORKDURATION": "משך זמן עבודה לאחר שיחה",
+    "AGENT": "נציג",
+    "AGENTS": "נציגים",
+    "AGENTSADD_QUEUE": "הוסף נציגים לתור קול",
+    "AGENTTRANSFER": "העברת נציג",
+    "AGENTTRANSFERTIMEOUT": "סוף זמן קצוב להעברת נציג",
+    "AGENT_TIMEOUT": "סוף זמן קצוב לנציג",
+    "AGI": "AGI",
+    "ALIAS": "כינוי",
+    "ALL": "הכול",
+    "ALLOWCODECS": "רכיבי codec מותרים",
+    "ALL_AGENTS": "כל הנציגים",
+    "ALL_TEAMS": "כל הצוותים",
+    "ALL_USERS": "כל המשתמשים",
+    "ALPHABETICAL": "אלף-בית",
+    "ALWAYS": "תמיד",
+    "AMAZONLEX": "אמזון-לקס",
+    "ANNOUNCECALLERPOSITION": "הכרזת מיקום המתקשר בתור",
+    "ANNOUNCEFREQUENCY": "תדירות הודעה",
+    "ANNOUNCEHOLDTIME": "זמן המתנה להודעה",
+    "ANNOUNCEMENTS": "הודעות",
+    "ANNOUNCEPOSITIONLIMIT": "הכרזת מגבלת מקומות בתור",
+    "ANNOUNCETOAGENT": "הודעה לנציג",
+    "ANNOUNCE_OVERRIDES": "עקיפת הודעות",
+    "ANSWER": "תשובה",
+    "ANSWERED": "נענה",
+    "API": "ממשק API",
+    "APIKEY": "מפתח API",
+    "APPLICATION": "יישום",
+    "APPLICATION_NAME": "שם היישום",
+    "ARGUMENTS": "ארגומנטים",
+    "ATTACH": "צרף",
+    "AUDIO": "שמע",
+    "AUDIOFILES": "קובצי שמע",
+    "AUDIO_FILES": "קובצי שמע",
+    "AUTH": "הרשאה",
+    "AUTHTOKEN": "אסימון הרשאה",
+    "AUTOPAUSE": "השהיה אוטומטית",
+    "AUTOREPLY": "תשובה אוטומטית",
+    "AVG_BILLABLE": "ממוצע חיוב",
+    "AVG_HOLD_TIME": "ממוצע זמן המתנה",
+    "BACK": "חזרה",
+    "BLACKLIST": "רשימה שחורה",
+    "BODY": "גוף",
+    "BOTNAME": "שם בוט",
+    "BUILDER": "בונה",
+    "BUSY": "תפוס",
+    "CALLED": "בוצעה שיחה",
+    "CALLER": "מתקשר",
+    "CALLERID": "מזהה מתקשר",
+    "CALLER_ID": "מזהה מתקשר",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "מבצע",
+    "CANCEL": "בטל",
+    "CANNEDANSWERS": "תשובות מוכנות",
+    "CANNED_ANSWER_NOT_FOUND": "לא נמצאו תשובות מוכנות",
+    "CANNED_ANSWER_SEARCH": "הזן טקסט כדי לחפש תשובה מוכנה",
+    "CANT_DOWNLOAD_THIS_FILE": "לא ניתן להוריד קובץ זה",
+    "CAPACITY": "קיבולת",
+    "CHANNEL": "ערוץ",
+    "CHANNELS": "ערוצים",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "צ'אט",
+    "CITY": "עיר",
+    "CLEAR": "נקה",
+    "CLOSE": "סגור",
+    "CLOSED": "סגור",
+    "CLOSEDAT": "נסגר ב-",
+    "CLOSEMETHOD": "שיטת סגירה",
+    "CLOSEURL": "סגור כתובת URL",
+    "CLOSING": "סגירה",
+    "COMMAND": "פקודה",
+    "COMPANIES": "חברות",
+    "COMPANY": "חברה",
+    "CONDITION": "תנאי",
+    "CONFIRM_PASSWORD": "אשר סיסמה",
+    "CONNECTED": "מחובר",
+    "CONTACT": "איש קשר",
+    "CONTACTMANAGER": "מנהל אנשי הקשר",
+    "CONTACTS": "אנשי קשר",
+    "CONTENT": "תוכן",
+    "CONTEXT": "הקשר",
+    "CONTEXTS": "הקשרים",
+    "COUNTRY": "מדינה",
+    "CREATED_AT": "נוצר ב-",
+    "CUSTOM": "מותאם אישית",
+    "CUSTOMER_JOURNEY": "מסע הלקוח",
+    "CUSTOM_FIELDS": "שדות מותאמים אישית",
+    "CUTDIGITS": "קצץ ספרות",
+    "DASHBOARD": "לוח מחוונים",
+    "DATE": "תאריך",
+    "DATE_OF_BIRTH": "תאריך לידה",
+    "DEFAULT": "ברירת מחדל",
+    "DEFAULT_PAUSE": "השהיית ברירת המחדל",
+    "DELETE": "מחק",
+    "DELETE_APP": "מחק יישום",
+    "DELETE_CHANSPY": "מחק ChanSpy",
+    "DELETE_CONTEXT": "מחק הקשר",
+    "DELETE_HOPPER": "מחק משפך שיחות",
+    "DELETE_INBOUNDROUTE": "מחק נתיב נכנס",
+    "DELETE_INTERACTION": "מחק אינטראקציה",
+    "DELETE_INTERNALROUTE": "מחק נתיב פנימי",
+    "DELETE_MOHSOUND": "מחק צליל מוזיקה בהמתנה",
+    "DELETE_MUSICONHOLD": "מחק מוזיקה להמתנה",
+    "DELETE_OUTBOUNDROUTE": "מחק נתיב יוצא",
+    "DELETE_PROJECT": "מחק פרויקט",
+    "DELETE_SELECTED": "מחק פריטים שנבחרו",
+    "DELETE_VOICEDISPOSITION": "מחק סיכום שיחה",
+    "DELETE_VOICEMAIL": "מחק הודעה קולית",
+    "DELETE_VOICEQUEUE": "מחק תור קול",
+    "DELETE_VOICERECORDING": "מחק הקלטת קול",
+    "DELIVERYREPORTURL": "כתובת URL לדוח מסירה",
+    "DESCRIPTION": "תיאור",
+    "DESTINATION": "יעד",
+    "DESTINATIONPATTERN": "דפוס יעד",
+    "DETAIL": "פרטים",
+    "DETAILS": "פרטים",
+    "DIAL": "חייג",
+    "DIALER": "חייגן",
+    "DIALOGFLOW": "זרימת דיאלוג",
+    "DID": "DID",
+    "DIRECTORY": "ספרייה",
+    "DISABLED": "מושבת",
+    "DISPOSITION": "סיכום",
+    "DISPOSITIONS": "סיכומים",
+    "DOWNLOAD": "הורד",
+    "DOWNLOAD_INTERACTION": "הורד",
+    "DOWNLOAD_MOHSOUND": "הורד צליל מוזיקה בהמתנה",
+    "DOWNLOAD_VOICERECORDING": "הורד הקלטת קול",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "הורד ללא קובץ מצורף",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "הורד ללא פריטים מצורפים",
+    "DOWNLOAD_WITH_ATTACHMENT": "הורד עם קובץ מצורף",
+    "DOWNLOAD_WITH_ATTACHMENTS": "הורד עם פריטים מצורפים",
+    "DROPPED": "נותק",
+    "DROP_TO_UPLOAD": "שחרר כדי להעלות",
+    "DURATION": "משך",
+    "EDIT": "ערוך",
+    "EDIT_AGENT": "ערוך נציג",
+    "EDIT_AGI": "ערוך AGI",
+    "EDIT_AMAZONLEX": "ערוך את תצורת Lex",
+    "EDIT_APP": "ערוך יישום",
+    "EDIT_AUTOREPLY": "ערוך תשובה אוטומטית",
+    "EDIT_CHANSPY": "ערוך ChanSpy",
+    "EDIT_CLOSE": "ערוך סגירה",
+    "EDIT_CONTEXT": "ערוך הקשר",
+    "EDIT_CUSTOM": "ערוך 'מותאם אישית'",
+    "EDIT_DIAL": "ערוך חיוג",
+    "EDIT_DIALOGFLOW": "ערוך את תצורת זרימת הדיאלוג",
+    "EDIT_EXTERNALDIAL": "ערוך חיוג חיצוני",
+    "EDIT_GOTO": "ערוך פריט Goto",
+    "EDIT_GOTOIF": "ערוך פריט GotoIf",
+    "EDIT_GOTOP": "ערוך פריט GotoP",
+    "EDIT_HANGUP": "ערוך ניתוק",
+    "EDIT_HOPPER": "ערוך משפך שיחות",
+    "EDIT_INBOUNDROUTE": "ערוך נתיב נכנס",
+    "EDIT_INTERNALDIAL": "ערוך חיוג פנימי",
+    "EDIT_INTERNALROUTE": "ערוך נתיב פנימי",
+    "EDIT_INTERVAL": "ערוך מרווח זמן",
+    "EDIT_MUSICONHOLD": "ערוך מוזיקה להמתנה",
+    "EDIT_NOOP": "ערוך פריט Noop",
+    "EDIT_OUTBOUNDROUTE": "ערוך נתיב יוצא",
+    "EDIT_PLAYBACK": "ערוך השמעה",
+    "EDIT_PROJECT": "ערוך פרויקט",
+    "EDIT_QUEUE": "ערוך תור",
+    "EDIT_RINGGROUP": "ערוך קבוצת צלצול",
+    "EDIT_SET": "ערוך סדרה",
+    "EDIT_SYSTEM": "ערוך מערכת",
+    "EDIT_TAG": "ערוך תג",
+    "EDIT_TRUNK": "ערוך קו ראשי",
+    "EDIT_VOICEDISPOSITION": "ערוך סיכום שיחה",
+    "EDIT_VOICEMAIL": "ערוך הודעה קולית",
+    "EDIT_VOICEQUEUE": "ערוך תור קול",
+    "EDIT_VOICERECORDING": "ערוך הקלטת קול",
+    "EMAIL": "דוא\"ל",
+    "EMAILADDRESS": "כתובת דוא\"ל",
+    "EMAILBODY": "גוף הודעת הדוא\"ל",
+    "EMAILSUBJECT": "נושא הודעת הדוא\"ל",
+    "ENABLED": "מופעל",
+    "ENCRYPTION": "הצפנה",
+    "ENDTIME": "שעת סיום",
+    "ENVELOPE": "מעטפה",
+    "EQUALS": "שווים",
+    "ERROR": "שגיאה",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה",
+      "ACCESSKEYID_REQUIRED": "דרוש מזהה מפתח גישה",
+      "ACCOUNTNAME_REQUIRED": "שדה חובה",
+      "ACCOUNTSID_REQUIRED": "שדה חובה",
+      "AFTERCALLWORKDURATION_REQUIRED": "שדה חובה",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה",
+      "AGENT_REQUIRED": "שדה חובה",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
+      "AGENT_TIMEOUT_REQUIRED": "שדה חובה",
+      "ALIAS_REQUIRED": "שדה חובה",
+      "APIKEY_REQUIRED": "שדה חובה",
+      "APPLICATION_REQUIRED": "שדה חובה",
+      "AUTHTOKEN_REQUIRED": "שדה חובה",
+      "BOTNAME_REQUIRED": "שם בוט נדרש",
+      "CLOSEURL_MUST_VALID_URL": "תבנית שגויה",
+      "COMMAND_REQUIRED": "שדה חובה",
+      "CONDITION_REQUIRED": "שדה חובה",
+      "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות",
+      "CONTENT_REQUIRED": "שדה חובה",
+      "CONTEXT_REQUIRED": "שדה חובה",
+      "DESTINATIONPATTERN_REQUIRED": "שדה חובה",
+      "DISPOSITION_REQUIRED": "שדה חובה",
+      "EMAIL_MUST_VALID": "תבנית שגויה",
+      "EMAIL_REQUIRED": "שדה חובה",
+      "EXTENSION_REQUIRED": "שדה חובה",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "FALSEPRIORITY_REQUIRED": "שדה חובה",
+      "FIELD_REQUIRED": "שדה חובה",
+      "FIRSTNAME_REQUIRED": "שדה חובה",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "FONTSIZE_REQUIRED": "שדה חובה",
+      "FULLNAME_REQUIRED": "שדה חובה",
+      "HOST_REQUIRED": "שדה חובה",
+      "KEY_MAX_LENGTH": "האורך המרבי המותר של מפתח הוא {{max}}",
+      "KEY_REQUIRED": "שדה חובה",
+      "LIST_REQUIRED": "שדה חובה",
+      "MAILBOX_REQUIRED": "שדה חובה",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה",
+      "METHOD_REQUIRED": "שדה חובה",
+      "MOTIONADDRESS_MUST_VALID_URL": "תבנית שגויה",
+      "MOTIONADDRESS_REQUIRED": "שדה חובה",
+      "MOTIONPROXY_MUST_VALID_URL": "תבנית שגויה",
+      "MOTIONPROXY_REQUIRED": "שדה חובה",
+      "NAME_MUST_VALID_PATTERN": "תבנית שגויה",
+      "NAME_REQUIRED": "שדה חובה",
+      "OPTIONS_REQUIRED": "שדה חובה",
+      "OUTBOUNDROUTE_REQUIRED": "שדה חובה",
+      "PASSWORD_REQUIRED": "שדה חובה",
+      "PHONENUMBER_REQUIRED": "שדה חובה",
+      "PHONE_REQUIRED": "שדה חובה",
+      "PREFIX_REQUIRED": "שדה חובה",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "PRIORITY_REQUIRED": "שדה חובה",
+      "PROJECT_REQUIRED": "שדה חובה",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה",
+      "QUEUE_REQUIRED": "שדה חובה",
+      "REJECTURL_MUST_VALID_URL": "תבנית שגויה",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "SECRETACCESSKEY_REQUIRED": "שדה חובה",
+      "SENDERSTRING_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "תבנית שגויה",
+      "SID_REQUIRED": "שדה חובה",
+      "TAG_REQUIRED": "שדה חובה",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "שדה חובה",
+      "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}",
+      "TEXT_REQUIRED": "שדה חובה",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
+      "TIMEOUT_REQUIRED": "שדה חובה",
+      "TIMEZONE_REQUIRED": "שדה חובה",
+      "TOKEN_REQUIRED": "שדה חובה",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "TRUEPRIORITY_REQUIRED": "שדה חובה",
+      "TRUNK_REQUIRED": "שדה חובה",
+      "TYPE_REQUIRED": "שדה חובה",
+      "URL_REQUIRED": "שדה חובה",
+      "USERNAME_REQUIRED": "שדה חובה",
+      "VALUE_REQUIRED": "שדה חובה",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "הודעת 'זמן המתנה משוער'",
+    "EXTENSION": "שלוחה",
+    "EXTERNALDIAL": "חיוג חיצוני",
+    "FAILED": "נכשל",
+    "FALSEPRIORITY": "עדיפות שלילי",
+    "FAX": "פקס",
+    "FIDELITY": "מהימנות",
+    "FIELD": "שדה",
+    "FIELDS": "שדות",
+    "FILE": "קובץ",
+    "FILE_NOT_FOUND": "הקובץ לא נמצא",
+    "FILTER": "מסנן",
+    "FILTERS": "מסננים",
+    "FINISH": "סיום",
+    "FONTSIZE": "גודל גופן",
+    "FORMAT": "תבנית",
+    "FREE": "פנוי",
+    "FROM": "מאת",
+    "FULLNAME": "שם מלא",
+    "GENERAL": "כללי",
+    "GLOBAL": "גלובלי",
+    "GOSUB": "GoSub",
+    "GOTO": "Goto",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "נתק",
+    "HANGUPCAUSE_1": "1 = מספר שלא הוקצה",
+    "HANGUPCAUSE_16": "16 = ניקוי שיחה רגילה",
+    "HANGUPCAUSE_17": "17 = המשתמש תפוס",
+    "HANGUPCAUSE_18": "18 = אין תשובה מהמשתמש (טלפון לא מחובר)",
+    "HANGUPCAUSE_21": "21 = שיחה נדחתה",
+    "HANGUPCAUSE_22": "22 = המספר השתנה",
+    "HANGUPCAUSE_27": "27 = יעד לא תקין",
+    "HANGUPCAUSE_38": "38 = בעיה ברשת",
+    "HANGUPCAUSE_41": "41 = תקלה זמנית",
+    "HANGUP_CAUSE": "סיבת הניתוק",
+    "HEADERS": "כותרות",
+    "HELP": {
+      "AFTERCALLWORK": "אם אפשרות זאת מופעלת הנציג יועבר למצב 'השהה' לאחר סיום של שיחה",
+      "AFTERCALLWORKDURATION": "אורך ההשהיה מופעל על ידי האפשרות 'עבודה לאחר שיחה'",
+      "ANNOUNCECALLERPOSITION": "משמש כדי לקבוע אם מיקום המתקשר בתור יוכרז: לא=אף פעם; כן=תמיד; הגבל=רק אם במסגרת הגבול שהוגדר תחת 'הגבל-מיקום-הכרזה; עוד=רק אם יש חריגה מהערך שהוגדר תחת הגבל-מיום-הכרזה",
+      "ANNOUNCEHOLDTIME": "להכרזת משך זמן ההמתנה המשוער יחד עם ההודעות הקבועות (כן/לא/פעם אחת)",
+      "ANNOUNCETOAGENT": "להשמעת הודעה לנציג המקבל את השיחה (לדוגמה, לאיזה תור משויך המתקשר)",
+      "CONTEXT": "מאפשר למתקשר לצאת מהתור בלחיצה על ספרת DTMF אחת. אם צוין הקשר והמתקשר מקיש את הספרה, המערכת תנסה להתאים את הספרה להקשר שצוין וביצוע תוכנית החיוג תימשך שם",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='זמן ההמתנה המשוער כרגע הוא'. לא מוגדר=ללא הכרזה",
+      "HOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='משך המתנה'. לא מוגדר=ללא הכרזה",
+      "LIST": "רשימת 'מנהל אנשי הקשר' המשמשת לשיוך אנשי קשר",
+      "MANDATORYDISPOSITION": "סיכום",
+      "MANDATORYDISPOSITIONPAUSEID": "השהה סטטוס להגדרה במהלך חובה",
+      "MEMBERDELAY": "להוספת השהיה לפני חיבור בין המתקשר שבתור לבין הנציג",
+      "MINANNOUNCEFREQUENCY": "תדירות הכרזה מינימלית (שימושי כאשר מיקומו של המתקשר בתור משתנה במהירות)",
+      "MINUTEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקה'. לא מוגדר=ללא הכרזה",
+      "MINUTESANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקות'. לא מוגדר=ללא הכרזה",
+      "MONITORFORMAT": "מציין את תבנית הקובץ להקלטה. כאשר תבנית 'ניטור' לא פעילה אין הקלטת שיחות.",
+      "MOTIONPROXY": "התבנית הבאה היא חובה בשדה זה: <protocol>://<ipaddress>[:<port>]. לדוגמה: https://X.Y.Z.W",
+      "MUSICONHOLD": "קובע את סוג המוזיקה לתור מסוים",
+      "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)",
+      "PERIODICANNOUNCE": "סדרת ההודעות המחזוריות שיושמעו (לפי סדר)",
+      "PERIODICANNOUNCEFREQUENCY": "תדירות ההכרזות המחזוריות שהמתקשר שומע",
+      "RECORDING": "אפשר הקלטת שיחה",
+      "REPORTHOLDTIMEAGENT": "מאפשר לדווח על משך ההמתנה של המתקשר לנציג בתור לפני חיבור ביניהם",
+      "RINGINUSE": "כדי למנוע/לאפשר שליחת שיחות לנציגים עם סטטוס 'בשימוש'",
+      "SECONDSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שניות'. לא מוגדר=ללא הכרזה",
+      "THANKYOUANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='תודה על הסבלנות'. לא מוגדר=ללא הכרזה",
+      "THEREAREANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='לפניך בתור'. לא מוגדר=ללא הכרזה",
+      "TIMEOUTRESTART": "אם כן, הזמן הקצוב לסוכן לקבל שיחה כאשר מתקבל סטטוס 'תפוס' או 'עומס' מהערוץ יתאפס",
+      "TYPE": "קבע את תפקיד ה-SIP בעזרת Asterisk. משתמש: לאישור שיחות נכנסות – עמית: לשיחות יוצאות – חבר: כולל מאפיינים של שיחות נכנסות וגם יוצאות.",
+      "VOICEMAIL_CONTEXT": "ההקשר של השלוחה הרלוונטית",
+      "WAITINGCALLSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שיחות ממתינות'. לא מוגדר=ללא הכרזה",
+      "WELCOMEMESSAGE": "זוהי ההודעה הראשונה שנשלחה לאיש הקשר",
+      "YOUARENEXTANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='מקומך הנוכחי בתור – מספר אחת'. לא מוגדר=ללא הכרזה"
+    },
+    "HIDE_DETAILS": "הסתר פרטים",
+    "HOLDTIMEANNOUNCE": "הודעת זמן המתנה",
+    "HOST": "מארח",
+    "ID": "מזהה",
+    "IDLE": "במצב סרק",
+    "IN": "נכנס",
+    "INBOUNDROUTES": "נתיבים נכנסים",
+    "INFO": "מידע",
+    "INSERT_MESSAGE_HERE": "הוסף כאן את הודעת הטקסט",
+    "INTEGRATIONS": "אינטגרציות",
+    "INTERACTION": "אינטראקציה",
+    "INTERACTIONS": "אינטראקציות",
+    "INTERNAL": "פנימי",
+    "INTERNALDIAL": "חיוג פנימי",
+    "INTERNALROUTES": "נתיבים פנימיים",
+    "INTERVAL": "מרווח זמן",
+    "INTERVALS": "מרווחי זמן",
+    "INUSE": "בשימוש",
+    "INVALID": "לא תקף",
+    "IN_USE": "בשימוש",
+    "JOINWHENEMPTY": "הצטרף כאשר ריק",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "מפתח",
+    "LAGGED": "בפיגור",
+    "LANGUAGE": "שפה",
+    "LASTMESSAGE": "הודעה אחרונה",
+    "LASTNAME": "שם משפחה",
+    "LAST_MONTH": "החודש שעבר",
+    "LEAVEWHENEMPTY": "צא כאשר ריק",
+    "LEXREGION": "אזור",
+    "LIMITED": "מוגבל",
+    "LIST": "רשימה",
+    "LOGGED_IN": "מחובר (יש חיבור SIP)",
+    "LOGIN_TIME": "שעת כניסה",
+    "LOGO": "לוגו",
+    "LOGOUT": "יציאה",
+    "MACRO": "מאקרו",
+    "MAIL": "דוא\"ל",
+    "MAILBOX": "תיבת דואר",
+    "MAILBOX@CONTEXT": "Mailbox@Context",
+    "MANAGED": "מנוהל",
+    "MANDATORYDISPOSITION": "סיכום",
+    "MANDATORYDISPOSITIONPAUSEID": "מצב השהייה בסיכום",
+    "MARK_AS_UNREAD": "סמן כ'לא נקרא'",
+    "MAXLENGTH": "אורך מרבי",
+    "MAXMESSAGES": "מקס' הודעות",
+    "MAXSECONDS": "מקס' שניות",
+    "MAY": "מאי",
+    "MEMBERDELAY": "השהיית הנציג",
+    "MESSAGE": "הודעה",
+    "MESSAGES": "הודעות",
+    "MESSAGESALIGNMENT": "יישור הודעות",
+    "METHOD": "שיטה",
+    "METRIC": "מדד",
+    "MINANNOUNCEFREQUENCY": "תדירות הודעה מינימלית",
+    "MINUTEANNOUNCE": "הכרזת דקה",
+    "MINUTESANNOUNCE": "הכרזת דקות",
+    "MOBILE": "נייד",
+    "MODULES": "מודולים",
+    "MOHSOUNDS": "צלילי MOH",
+    "MONITORFORMAT": "תבנית הקלטה",
+    "MORE": "עוד",
+    "MOTIONADDRESS": "כתובת Motion",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "חייגן אוטומטי",
+    "MOTIONPROXY": "פרוקסי או דומיין Motion",
+    "MOTION_BULL": "חייגן אוטומטי",
+    "MUSICONHOLD": "מוזיקה בהמתנה",
+    "MUSICONHOLDS": "מוזיקה בהמתנה",
+    "NAME": "שם",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "ChanSpy חדש",
+    "NEW_CONTACT": "איש קשר חדש",
+    "NEW_CONTEXT": "הקשר חדש",
+    "NEW_INBOUNDROUTE": "נתיב נכנס חדש",
+    "NEW_INTERNALROUTE": "נתיב פנימי חדש",
+    "NEW_MUSICONHOLD": "מוזיקה בהמתנה חדשה",
+    "NEW_OUTBOUNDROUTE": "נתיב יוצא חדש",
+    "NEW_PROJECT": "פרויקט חדש",
+    "NEW_TAB": "כרטיסייה חדשה",
+    "NEW_TAG": "תג חדש",
+    "NEW_VARIABLE": "משתנה חדש",
+    "NEW_VOICEMAIL": "הודעה קולית חדשה",
+    "NEW_VOICEQUEUE": "תור קול חדש",
+    "NO": "לא",
+    "NONE": "ללא",
+    "NOOP": "Noop",
+    "NOTE": "פתק/הערה",
+    "NOTES": "פתקים ורשימות",
+    "NOTIFICATION": "הודעה",
+    "NOTIFICATIONSHAKE": "לחיצה",
+    "NOTIFICATIONSOUND": "צליל",
+    "NOTIFICATIONTEMPLATE": "תבנית",
+    "NOT_INUSE": "לא בשימוש",
+    "NO_AGENT_ONLINE": "אין נציג מקוון",
+    "NO_APPS_AVAILABLE": "אין יישומים זמינים",
+    "NO_AVAILABLE_INFO": "אין פרטים זמינים",
+    "NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות",
+    "NO_MESSAGE_AVAILABLE": "אין הודעות זמינות",
+    "NO_MOHSOUND_AVAILABLE": "אין מוסיקה זמינה להמתנה",
+    "NO_RATING": "אין דירוג",
+    "NO_REGISTRY": "אין רישום",
+    "NO_SOUND_AVAILABLE": "אין צלילים זמינים",
+    "NUMBER": "מספר",
+    "OF": "מתוך",
+    "ONHOLD": "בהמתנה",
+    "OPEN": "פתח",
+    "OPENCHANNEL": "פתח ערוץ",
+    "OPENED": "פתוח",
+    "OPERATOR": "אופרטור",
+    "OPTIONS": "אפשרויות",
+    "ORIGINATED": "מקור",
+    "OTHERS": "אחרים",
+    "OUT": "יוצא",
+    "OUTBOUNDDIAL": "חיוג יוצא",
+    "OUTBOUNDROUTE": "נתיב יוצא",
+    "OUTBOUNDROUTES": "נתיבים יוצאים",
+    "OUTBOUND_CALLS": "שיחות יוצאות",
+    "OUTPUT": "פלט",
+    "PAGE": "דף",
+    "PARTIALPAUSE": "השהיה חלקית",
+    "PASSWORD": "סיסמה",
+    "PAUSE": "השהה",
+    "PAUSED": "מושהה",
+    "PAUSE_TIME": "שעת השהיה",
+    "PAYMENTMETHOD": "שיטות תשלום",
+    "PENALTY": "חסימה",
+    "PENDING": "בהמתנה",
+    "PERIODICANNOUNCE": "הודעה מחזורית",
+    "PERIODICANNOUNCEFREQUENCY": "תדירות הודעה מחזורית",
+    "PERSONAL_INFO": "פרטים אישיים",
+    "PHONE": "טלפון",
+    "PHONENUMBER": "מספר טלפון",
+    "PHONE_STATE": "מצב הטלפון",
+    "PHONE_STATUS": "מצב הטלפון",
+    "PLAYBACK": "השמעה",
+    "PLUGINS": "יישומי Plug-in",
+    "PORT": "יציאה",
+    "POSITION": "מיקום",
+    "POSTALCODE": "מיקוד",
+    "PREFIX": "קידומת",
+    "PREVIEW": "תצוגה מקדימה",
+    "PRIORITY": "עדיפות",
+    "PROJECT": "פרויקט Cally Square",
+    "PROJECTS": "פרויקטים",
+    "PROXY": "פרוקסי",
+    "QUEUE": "תור",
+    "QUEUES": "תורים",
+    "QUEUETRANSFER": "העברת תור",
+    "QUEUETRANSFERTIMEOUT": "סוף זמן קצוב להעברת תור",
+    "QUEUE_CALLS": "שיחות בתור",
+    "QUEUE_PARAMETERS": "פרמטרי תור",
+    "QUEUE_PARAMS": "פרמטרי תור",
+    "RANDOM": "אקראי",
+    "RANDOMPERIODICANNOUNCE": "הודעה מחזורית בסדר אקראי",
+    "RATING": "דירוג",
+    "REACHABLE": "נגיש",
+    "READY": "מוכן",
+    "REALTIME": "זמן אמת",
+    "RECALLME": "בצע חיוג חוזר אליי",
+    "RECEIVED_AT": "התקבל ב-",
+    "RECEIVEURL": "קבל כתובת אתר",
+    "RECORD": "הקלט",
+    "RECORDING": "הקלטה",
+    "RECORDINGFORMAT": "תבנית הקלטה",
+    "RECORDINGS": "הקלטות",
+    "REFRESH_INTERACTIONS": "רענן אינטראקציות",
+    "REGISTERED": "רשום",
+    "REGISTRY": "רישום",
+    "REJECT": "דחה",
+    "REJECTED": "נדחה",
+    "REJECTMETHOD": "שיטת דחייה",
+    "REJECTURL": "דחה כתובת URL",
+    "RELOAD": "טען מחדש",
+    "REPLY": "השב",
+    "REPORT": "דוח",
+    "REPORTHOLDTIMEAGENT": "דיווח לנציג על זמן ההמתנה",
+    "RETRY": "נסה שוב",
+    "RING": "צלצול",
+    "RINGGROUP": "קבוצת צלצול",
+    "RINGING": "מצלצל",
+    "RINGINUSE": "הצלצול שבשימוש",
+    "ROWSPERPAGE": "שורות בדף",
+    "RULE": "כלל",
+    "SAVE": "שמור",
+    "SCHEDULEDAT": "מתוזמן ל-",
+    "SCHEDULED_CALLS": "שיחות מתוזמנות",
+    "SCREENRECORDING": "נהל הקלטת מסך",
+    "SCRIPT": "תסריט",
+    "SEARCH_FOR_ANYONE": "חיפוש",
+    "SECONDSANNOUNCE": "הכרזת שניות",
+    "SECRETACCESSKEY": "מפתח גישה סודית",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "בחר",
+    "SELECTED": "נבחר/ו",
+    "SELECTED_AGENTS": "נציגים נבחרים",
+    "SELECTED_TEAMS": "צוותים נבחרים",
+    "SELECTED_USERS": "משתמשים נבחרים",
+    "SELECT_ACCOUNT": "בחר חשבון",
+    "SELECT_ALL": "בחר הכול",
+    "SELECT_DATE": "בחר תאריך התחלה",
+    "SELECT_NONE": "אל תבחר אף פריט",
+    "SELECT_STATUS": "בחר סטטוס",
+    "SELECT_TYPE": "בחר סוג",
+    "SEND": "שלח",
+    "SENDMAIL": "שלח הודעת דוא\"ל",
+    "SENTIMENTANALYSIS": "ניתוח הסנטימנט",
+    "SERVICE": "שֵׁרוּת",
+    "SESSIONS": "הפעלות",
+    "SET": "סדרה",
+    "SETINTERFACEVARIABLES": "קבע משתני ממשק",
+    "SETQUEUEENTRYVARIABLES": "קבע משתני כניסה לתור",
+    "SETQUEUEVARIABLES": "קבע משתני תור",
+    "SETTINGS": "הגדרות",
+    "SHOW_ALL_FIELDS": "הצג את כל השדות",
+    "SHOW_DETAILS": "הצג פרטים",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "מארח",
+    "SMTP_PORT": "יציאה",
+    "SOCIAL": "חברתי",
+    "SORT": "מיון",
+    "SOURCE": "מקור",
+    "SPYINTERACTION": "רגל",
+    "STAFF": "צוות",
+    "STARTEDAT": "החל ב-",
+    "STARTTIME": "שעת התחלה",
+    "START_SCREENRECORDING": "הקלטת מסך התחלה",
+    "STATE": "מדינה",
+    "STATUS": "מצב",
+    "STOP_SCREENRECORDING": "עצירת הקלטת מסך",
+    "STRATEGY": "אסטרטגיה",
+    "SUBJECT": "נושא",
+    "SYSTEM": "מערכת",
+    "TAG": "תג",
+    "TAGS": "תגים",
+    "TALKING": "משוחח",
+    "TEAMS_ASSOCIATION": "איגוד הצוותים",
+    "TECHNOLOGY/RESOURCE": "טכנולוגיה/משאב",
+    "TELEPHONES": "טלפונים",
+    "TEMPLATE": "תבנית",
+    "TEXT": "טֶקסט",
+    "THANKYOUANNOUNCE": "הכרזת 'תודה רבה'",
+    "THEREAREANNOUNCE": "הודעת 'יש בתור'",
+    "TIMEOUT": "סוף זמן קצוב",
+    "TIMEOUTRESTART": "זמן קצוב להפעלה מחדש",
+    "TIMER": "טיימר",
+    "TIMES": "מספר הפעמים לכל אינטראקצייה",
+    "TIMEZONE": "אזור זמן",
+    "TO": "אל",
+    "TOKEN": "אסימון",
+    "TOOLTIP_SCREENRECORDING_OFF": "הקלטת מסך זמינה",
+    "TOOLTIP_SCREENRECORDING_ON": "הקלטת מסך מתבצעת",
+    "TOTAL": "סה\"כ",
+    "TOTAL_OFFERED": "סה\"כ הוצעו",
+    "TRANSCRIBE": "לְתַעֲתֵק",
+    "TRANSFER": "העבר",
+    "TRANSPORT": "העברה",
+    "TRUEPRIORITY": "עדיפות חיובי",
+    "TRUNK": "קו ראשי",
+    "TRUNKS": "קווים ראשיים",
+    "TRUNK_STATUS": "מצב קו ראשי",
+    "TYPE": "סוג",
+    "UNAVAILABLE": "לא זמין",
+    "UNIQUEID": "מזהה ייחודי",
+    "UNKNOWN": "לא מזוהה",
+    "UNMANAGED": "לא מנוהלות",
+    "UNPAUSE": "סיים השהיה",
+    "UNREACHABLE": "לא נגיש",
+    "UNREGISTERED": "לא רשום",
+    "UP": "מעלה",
+    "UPDATE": "עדכן",
+    "UPLOADING": "העלאה",
+    "URL": "כתובת URL",
+    "USER": "משתמש",
+    "USERNAME": "שם משתמש",
+    "USERS": "משתמשים",
+    "VALUE": "ערך",
+    "VARIABLE": "משתנה",
+    "VIDAOOSESSION": "התחל שיחת וידאו",
+    "VIDEO": "וידאו",
+    "VIDEOSUPPORT": "תמיכה בווידיאו",
+    "VOICE": "קול",
+    "VOICEMAIL": "הודעה קולית",
+    "VOICEMAILS": "הודעות קוליות",
+    "VOICEMAIL_CONTEXT": "הקשר",
+    "VOICEQUEUES": "תורי קול",
+    "VOICERECORDINGS": "הקלטות קול",
+    "WAITFORTHEASSIGNEDAGENT": "המתן לנציג שהוקצה",
+    "WAITING": "בהמתנה",
+    "WAITINGCALLSANNOUNCE": "הודעת 'שיחות ממתינות'",
+    "WEBHOOKS": "רכיבי WebHook",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "אתר אינטרנט",
+    "WEIGHT": "משקל",
+    "WELCOMEMESSAGE": "מסר ברוך הבא",
+    "WHATSAPP": "מחבר WhatsApp",
+    "WHITELABEL": "תווית לבנה",
+    "WRAPUPTIME": "משך סיכום",
+    "WRONG_EXTENSION": "הקובץ מציג את הסיומת השגויה",
+    "YES": "כן",
+    "YOUARENEXTANNOUNCE": "הודעת 'אתה הבא בתור'"
+  }
+}
diff --git a/public/app/main/i18n/hi.json b/public/app/main/i18n/hi.json
new file mode 100644
index 0000000..0cf1775
--- /dev/null
+++ b/public/app/main/i18n/hi.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "बिगडा हुआ",
+    "ABANDONEDCALLS": "छोड़ दिया कतार कॉल",
+    "ABANDONED_CALLS": "परित्याग कॉल्स",
+    "ACCEPT": "स्वीकार करना",
+    "ACCEPTMETHOD": "तरीका स्वीकार करें",
+    "ACCEPTURL": "स्वीकार किए गए URL",
+    "ACCESSKEYID": "एक्सेस कुंजी आईडी",
+    "ACCOUNT": "खाते",
+    "ACCOUNTNAME": "खाता नाम",
+    "ACCOUNTS": "खाते",
+    "ACCOUNTSID": "खाता एसआईडी",
+    "ACTIONS": "क्रियाएं",
+    "ACTIVE": "सक्रिय",
+    "ADD": "जोड़ें",
+    "ADDRESS": "पता",
+    "ADD_AGENT_TO_VOICEQUEUE": "ध्वनि स्वर जोड़ने के एजेंट को कतार",
+    "ADD_CHANSPY": "ChanSpy जोड़ें",
+    "ADD_CONTACT": "संपर्क जोड़ें",
+    "ADD_CONTEXT": "इस संदर्भ में जोड़ें",
+    "ADD_INBOUNDROUTE": "रूट इनबाउंड जोड़ें",
+    "ADD_INTERNALROUTE": "आंतरिक मार्ग पर जोड़ें",
+    "ADD_MOHSOUND": "संगीत जोड़ होल्ड पर ध्वनि",
+    "ADD_MUSICONHOLD": "संगीत पर जोड़ें",
+    "ADD_NOTE": "नोट जोड़ें",
+    "ADD_OUTBOUNDROUTE": "रूट बाह्यवर्ती जोड़ें",
+    "ADD_PROJECT": "परियोजना में जोड़ें",
+    "ADD_TAG": "मौजूदासंदर्भ में जोड़ें",
+    "ADD_TEAM_TO_VOICEQUEUE": "ध्वनि स्वर जोड़ने के लिए दल कतार",
+    "ADD_VARIABLE": "परिवर्तनीय जोड़ें",
+    "ADD_VOICEMAIL": "वॉयसमेल जोड़ें",
+    "ADD_VOICEQUEUE": "ध्वनि स्वर जोड़ें कतार",
+    "ADVANCED": "उन्नत",
+    "AFTERCALLWORK": "इसके बाद कार्य पर कॉल करें",
+    "AFTERCALLWORKDURATION": "कॉल करने के बाद कार्य अवधि",
+    "AGENT": "कर्ता",
+    "AGENTS": "एजेंटों",
+    "AGENTSADD_QUEUE": "ध्वनि स्वर जोड़ने के एजेंटों को कतार",
+    "AGENTTRANSFER": "एजेंट स्थानांतरण",
+    "AGENTTRANSFERTIMEOUT": "एजेंट स्थानांतरण टाइमआउट",
+    "AGENT_TIMEOUT": "एजेंट समयबाह्य",
+    "AGI": "AGI",
+    "ALIAS": "उर्फ",
+    "ALL": "सभी",
+    "ALLOWCODECS": "अनुमत Codecs",
+    "ALL_AGENTS": "सभी एजेंटों",
+    "ALL_TEAMS": "सभी टीमें भाग लेंगी।",
+    "ALL_USERS": "सभी उपयोगकर्ताओं",
+    "ALPHABETICAL": "वर्णक्रमानुसारी",
+    "ALWAYS": "हमेशा",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "कॉलर स्थिति की घोषणा",
+    "ANNOUNCEFREQUENCY": "आवृत्ति की घोषणा",
+    "ANNOUNCEHOLDTIME": "समय-समय पर आयोजित की घोषणा",
+    "ANNOUNCEMENTS": "घोषणाओं",
+    "ANNOUNCEPOSITIONLIMIT": "सीमा की बस्थति की घोषणा",
+    "ANNOUNCETOAGENT": "घोषणा के एजेंट",
+    "ANNOUNCE_OVERRIDES": "जताना Overrides",
+    "ANSWER": "उत्तर",
+    "ANSWERED": "उत्तर",
+    "API": "नोट्स API",
+    "APIKEY": "नोट्स API कुंजी दबाएं.",
+    "APPLICATION": "अनुप्रयोग",
+    "APPLICATION_NAME": "अनुप्रयोग नाम",
+    "ARGUMENTS": "तर्क",
+    "ATTACH": "नत्थी करना",
+    "AUDIO": "ऑडियो",
+    "AUDIOFILES": "ऑडियो फ़ाइलें",
+    "AUDIO_FILES": "ऑडियो फ़ाइलें",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "टोकन प्राधिकरण",
+    "AUTOPAUSE": "ऑटो रोकें",
+    "AUTOREPLY": "स्वत: उत्तर",
+    "AVG_BILLABLE": "वाले सकते",
+    "AVG_HOLD_TIME": "होल्ड वाले समय",
+    "BACK": "वापिस",
+    "BLACKLIST": "Blacklist",
+    "BODY": "तन",
+    "BOTNAME": "बॉट नाम",
+    "BUILDER": "निर्माता",
+    "BUSY": "व्यस्त",
+    "CALLED": "कहा जाता",
+    "CALLER": "कॉलर",
+    "CALLERID": "कॉलर ID",
+    "CALLER_ID": "कॉलर ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "अभियान",
+    "CANCEL": "रद्द करना",
+    "CANNEDANSWERS": "डिब्बाबंद जवाब",
+    "CANNED_ANSWER_NOT_FOUND": "डिब्बाबंद जवाब नहीं पाए गए।",
+    "CANNED_ANSWER_SEARCH": "किसी पाठ खोजने के लिए, डिब्बाबंद उत्तर में दर्ज करें",
+    "CANT_DOWNLOAD_THIS_FILE": "इस फ़ाइल को डाउनलोड नहीं किया जा सकता",
+    "CAPACITY": "क्षमता",
+    "CHANNEL": "चैनल",
+    "CHANNELS": "माध्यमों",
+    "CHANSPIES": "चान नीचा",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "चैट",
+    "CITY": "शहर",
+    "CLEAR": "स्पष्ट",
+    "CLOSE": "बंद करे",
+    "CLOSED": "बंद",
+    "CLOSEDAT": "बंद",
+    "CLOSEMETHOD": "निकट पद्धति",
+    "CLOSEURL": "बंद किए गए URL",
+    "CLOSING": "बंद",
+    "COMMAND": "कमांड",
+    "COMPANIES": "कंपनियों",
+    "COMPANY": "कंपनी",
+    "CONDITION": "दशा",
+    "CONFIRM_PASSWORD": "पासवर्ड की पुष्टि करें:",
+    "CONNECTED": "कनेक्ट किया गया",
+    "CONTACT": "संपर्क",
+    "CONTACTMANAGER": "संपर्क प्रबंधक",
+    "CONTACTS": "संपर्क",
+    "CONTENT": "सामग्री",
+    "CONTEXT": "संदर्भ",
+    "CONTEXTS": "प्रसंग",
+    "COUNTRY": "देश",
+    "CREATED_AT": "सृजित",
+    "CUSTOM": "कस्टम",
+    "CUSTOMER_JOURNEY": "ग्राहक का यात्रा",
+    "CUSTOM_FIELDS": "कस्टम फ़ील्ड्स",
+    "CUTDIGITS": "काटें अंगुलि",
+    "DASHBOARD": "डैशबोर्ड छिपाएं",
+    "DATE": "की तारीख",
+    "DATE_OF_BIRTH": "जन्म दिनांक",
+    "DEFAULT": "डिफ़ॉल्ट",
+    "DEFAULT_PAUSE": "डिफ़ॉल्ट रूप से रोकें",
+    "DELETE": "हटाना",
+    "DELETE_APP": "अनुप्रयोग हटाएं",
+    "DELETE_CHANSPY": "ChanSpy हटाएं",
+    "DELETE_CONTEXT": "इस संदर्भ हटाएं",
+    "DELETE_HOPPER": "हॉपर को हटाएं",
+    "DELETE_INBOUNDROUTE": "हटाने के लिए इनबाउंड मार्ग",
+    "DELETE_INTERACTION": "इंटरैक्शन हटाएं",
+    "DELETE_INTERNALROUTE": "आंतरिक मार्ग हटाएं",
+    "DELETE_MOHSOUND": "संगीत हटाएं पर ध्वनि",
+    "DELETE_MUSICONHOLD": "होल्ड पर संगीत हटाएं",
+    "DELETE_OUTBOUNDROUTE": "रूट बाह्यवर्ती हटाएं",
+    "DELETE_PROJECT": "परियोजना को हटाएं",
+    "DELETE_SELECTED": "चयनित हटाएं",
+    "DELETE_VOICEDISPOSITION": "सरकारीतंत्र आवाज को हटाएं",
+    "DELETE_VOICEMAIL": "वॉयसमेल हटाएं",
+    "DELETE_VOICEQUEUE": "वॉयस कतार हटाएं",
+    "DELETE_VOICERECORDING": "ध्वनि स्वर रिकॉर्ड हटाना",
+    "DELIVERYREPORTURL": "डिलिवरी रिपोर्ट यूआरएल",
+    "DESCRIPTION": "वर्णन",
+    "DESTINATION": "गंतव् य",
+    "DESTINATIONPATTERN": "गंतव् य पद्धति",
+    "DETAIL": "विस्तार",
+    "DETAILS": "विवरण",
+    "DIAL": "स् पीड डायल",
+    "DIALER": "डायलर",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "हुआ",
+    "DIRECTORY": "निर्देशिका",
+    "DISABLED": "अक्षम किया गया",
+    "DISPOSITION": "सरकारीतंत्र",
+    "DISPOSITIONS": "प्रवृतियों",
+    "DOWNLOAD": "डाउनलोड",
+    "DOWNLOAD_INTERACTION": "डाउनलोड",
+    "DOWNLOAD_MOHSOUND": "संगीत डाउनलोड करने पर ध्वनि",
+    "DOWNLOAD_VOICERECORDING": "रिकॉर्डिंग आवाज डाउनलोड करें",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "अनुलग्नक के बिना डाउनलोड करें",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "अनुलग्नकों के बिना डाउनलोड करें",
+    "DOWNLOAD_WITH_ATTACHMENT": "अनुलग्नक के साथ डाउनलोड करें",
+    "DOWNLOAD_WITH_ATTACHMENTS": "अनुलग्नकों के साथ डाउनलोड करें",
+    "DROPPED": "गिरकर",
+    "DROP_TO_UPLOAD": "अपलोड छोड़ें",
+    "DURATION": "अवधि के",
+    "EDIT": "संपादित करें",
+    "EDIT_AGENT": "एजेंट संपादित करें",
+    "EDIT_AGI": "AGI संपादित करें",
+    "EDIT_AMAZONLEX": "लेक्स कॉन्फ़िगरेशन संपादित करें",
+    "EDIT_APP": "अनुप्रयोग को संपादित करें",
+    "EDIT_AUTOREPLY": "स् वत: उत्तर संपादित करें",
+    "EDIT_CHANSPY": "ChanSpy संपादित करें",
+    "EDIT_CLOSE": "निकट संपादित करें",
+    "EDIT_CONTEXT": "इस संदर्भ संपादित करें",
+    "EDIT_CUSTOM": "कस्टम संपादित करें",
+    "EDIT_DIAL": "स् पीड डायल संपादित करें",
+    "EDIT_DIALOGFLOW": "डायलॉगफ़्लो कॉन्फ़िगरेशन संपादित करें",
+    "EDIT_EXTERNALDIAL": "स् पीड डायल बाह्य संपादित करें",
+    "EDIT_GOTO": "संपादित करने के लिए जाएँगे|",
+    "EDIT_GOTOIF": "GotoIf संपादित करें",
+    "EDIT_GOTOP": "GotoP संपादित करें",
+    "EDIT_HANGUP": "Hangup संपादित करें",
+    "EDIT_HOPPER": "हॉपर संपादित करें",
+    "EDIT_INBOUNDROUTE": "संपादित करने के लिए इनबाउंड मार्ग",
+    "EDIT_INTERNALDIAL": "स् पीड डायल आंतरिक संपादित करें",
+    "EDIT_INTERNALROUTE": "संपादित करने के लिए आंतरिक मार्ग",
+    "EDIT_INTERVAL": "अंतराल संपादित करें",
+    "EDIT_MUSICONHOLD": "होल्ड पर संगीत संपादित करें",
+    "EDIT_NOOP": "Noop संपादित करें",
+    "EDIT_OUTBOUNDROUTE": "रूट बाह्यवर्ती संपादित करें",
+    "EDIT_PLAYBACK": "प्लेबैक संपादित करें",
+    "EDIT_PROJECT": "परियोजना को संपादित करें",
+    "EDIT_QUEUE": "लोकतंत्रमें संपादित करें",
+    "EDIT_RINGGROUP": "रिंग समूह संपादित करें",
+    "EDIT_SET": "संपादित करने के लिए सेट करें",
+    "EDIT_SYSTEM": "सिस्टम संपादित करें",
+    "EDIT_TAG": "टैग संपादित करें",
+    "EDIT_TRUNK": "सूंड संपादित करें",
+    "EDIT_VOICEDISPOSITION": "सरकारीतंत्र आवाज संपादित करें",
+    "EDIT_VOICEMAIL": "वॉयसमेल संपादित करें",
+    "EDIT_VOICEQUEUE": "ध्वनि संपादन कतार",
+    "EDIT_VOICERECORDING": "ध्वनि स्वर रिकॉर्ड संपादित करें",
+    "EMAIL": "ई-मेल",
+    "EMAILADDRESS": "ईमेल पता",
+    "EMAILBODY": "ईमेल शरीर",
+    "EMAILSUBJECT": "ईमेल विषय",
+    "ENABLED": "सक्षम",
+    "ENCRYPTION": "एन्क्रिप्शन",
+    "ENDTIME": "समाप्ति समय",
+    "ENVELOPE": "लिफाफा",
+    "EQUALS": "बराबर",
+    "ERROR": "त्रुटि",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को स्वीकार करें",
+      "ACCESSKEYID_REQUIRED": "प्रवेश कुंजी आईडी की आवश्यकता है",
+      "ACCOUNTNAME_REQUIRED": "खाता नाम की आवश्यकता है।",
+      "ACCOUNTSID_REQUIRED": "आवश्यक स्थान",
+      "AFTERCALLWORKDURATION_REQUIRED": "कॉल करने के बाद के कार्य की अवधि की आवश्यकता है।",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
+      "AGENT_REQUIRED": "एजेंट अपेक्षित है।",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
+      "AGENT_TIMEOUT_REQUIRED": "एजेंट समयबाह्य अपेक्षित है।",
+      "ALIAS_REQUIRED": "इस उर्फ अपेक्षित है।",
+      "APIKEY_REQUIRED": "कुंजी का वैक्टर अपेक्षित है।",
+      "APPLICATION_REQUIRED": "अनुप्रयोग की आवश्यकता है।",
+      "AUTHTOKEN_REQUIRED": "Autorization टोकन की आवश्यकता है।",
+      "BOTNAME_REQUIRED": "बॉट नाम आवश्यक है",
+      "CLOSEURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL के निकट",
+      "COMMAND_REQUIRED": "आवश्यक स्थान",
+      "CONDITION_REQUIRED": "की स्थिति की आवश्यकता है।",
+      "CONFIRM_NOT_MATCH": "पासवर्ड मेल नहीं",
+      "CONTENT_REQUIRED": "सामग्री की आवश्यकता है।",
+      "CONTEXT_REQUIRED": "इस संदर्भ में अपेक्षित है।",
+      "DESTINATIONPATTERN_REQUIRED": "गंतव् य पद्धति की आवश्यकता है।",
+      "DISPOSITION_REQUIRED": "शेयरोंका अन्तरण की आवश्यकता है।",
+      "EMAIL_MUST_VALID": "एक मान्य स्वरूप में लिखा होना ईमेल का",
+      "EMAIL_REQUIRED": "ईमेल की आवश्यकता है।",
+      "EXTENSION_REQUIRED": "के विस्तार की आवश्यकता है।",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "झूठे प्राथमिकता से अधिक होना चाहिए या के बराबर",
+      "FALSEPRIORITY_REQUIRED": "झूठे प्राथमिकता की आवश्यकता है।",
+      "FIELD_REQUIRED": "इस क्षेत्र की आवश्यकता है।",
+      "FIRSTNAME_REQUIRED": "पहला नाम की आवश्यकता है।",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान को या उसके बराबर होना चाहिए",
+      "FONTSIZE_REQUIRED": "आवश्यक स्थान",
+      "FULLNAME_REQUIRED": "पूरा नाम की आवश्यकता है।",
+      "HOST_REQUIRED": "मेजबान की आवश्यकता है।",
+      "KEY_MAX_LENGTH": "कुंजी को एक समान सूबेदार सुरिन९दर सिनह को अधिकतम}{} अधिकतम लंबाई",
+      "KEY_REQUIRED": "कुंजी की आवश्यकता है।",
+      "LIST_REQUIRED": "इस सूची में अपेक्षित है।",
+      "MAILBOX_REQUIRED": "इस मेलबॉक्स अपेक्षित है।",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान",
+      "METHOD_REQUIRED": "आवश्यक स्थान",
+      "MOTIONADDRESS_MUST_VALID_URL": "यह प्रस्ताव एक मान्य स्वरूप में लिखा होना पता",
+      "MOTIONADDRESS_REQUIRED": "अभिभाषण के प्रस्ताव की आवश्यकता है।",
+      "MOTIONPROXY_MUST_VALID_URL": "गलत स्वरूप",
+      "MOTIONPROXY_REQUIRED": "अनिवार्य क्षेत्र",
+      "NAME_MUST_VALID_PATTERN": "एक मान्य स्वरूप का नाम लिखा होना",
+      "NAME_REQUIRED": "नाम की आवश्यकता है।",
+      "OPTIONS_REQUIRED": "विकल्प आवश्यक हैं.",
+      "OUTBOUNDROUTE_REQUIRED": "आवश्यक स्थान",
+      "PASSWORD_REQUIRED": "पासवर्ड की आवश्यकता है।",
+      "PHONENUMBER_REQUIRED": "फ़ोन नंबर की आवश्यकता है।",
+      "PHONE_REQUIRED": "फ़ोन की आवश्यकता है।",
+      "PREFIX_REQUIRED": "नाम के साथ अपेक्षित है।",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "प्राथमिकता से अधिक होना चाहिए या के बराबर",
+      "PRIORITY_REQUIRED": "प्राथमिकता की आवश्यकता है।",
+      "PROJECT_REQUIRED": "आवश्यक स्थान",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान",
+      "QUEUE_REQUIRED": "लोकतंत्रमें अपेक्षित है।",
+      "REJECTURL_MUST_VALID_URL": "एक मान्य स्वरूप में लिखा होना URL को अस्वीकार करें",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "का पुनः प्रयास करें या के बराबर से अधिक होनी चाहिए.",
+      "SECRETACCESSKEY_REQUIRED": "आवश्यक स्थान",
+      "SENDERSTRING_MAX_LENGTH": "मान {{अधिकतम}} के बराबर अधिकतम लंबाई होना चाहिए",
+      "SENDERSTRING_MUST_VALID_PATTERN": "गलत प्रारूप",
+      "SID_REQUIRED": "हुए हमलोो की आवश्यकता है।",
+      "TAG_REQUIRED": "आवश्यक स्थान",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "प्रौद्योगिकी/संसाधन की आवश्यकता है।",
+      "TEXT_MAX_LENGTH": "मान {{अधिकतम}} के बराबर अधिकतम लंबाई होना चाहिए",
+      "TEXT_REQUIRED": "पाठ फ़ील्ड को अपेक्षित है।",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "टाइमआउट के समान या से अधिक होनी चाहिए.",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
+      "TIMEOUT_REQUIRED": "इस समय की आवश्यकता है।",
+      "TIMEZONE_REQUIRED": "इस समय क्षेत्र की आवश्यकता है।",
+      "TOKEN_REQUIRED": "टोकन की आवश्यकता है।",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "यह सच प्राथमिकता से अधिक होना चाहिए या के बराबर",
+      "TRUEPRIORITY_REQUIRED": "यह सच प्राथमिकता की आवश्यकता है।",
+      "TRUNK_REQUIRED": "आवश्यक स्थान",
+      "TYPE_REQUIRED": "अनिवार्य क्षेत्र",
+      "URL_REQUIRED": "URL की आवश्यकता है।",
+      "USERNAME_REQUIRED": "आवश्यक स्थान",
+      "VALUE_REQUIRED": "मूल्य की आवश्यकता है।",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "आवश्यक स्थान",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "भार बराबर या अधिक होना चाहिए।",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "इस समय से अधिक होना चाहिए या के बराबर Wrapup"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "समय-समय पर आयोजित की घोषणा का अनुमान",
+    "EXTENSION": "विस्तार",
+    "EXTERNALDIAL": "बाह्य डायल करें",
+    "FAILED": "विफल",
+    "FALSEPRIORITY": "झूठा प्राथमिकता",
+    "FAX": "फ़ैक्स",
+    "FIDELITY": "वास्तविक",
+    "FIELD": "क्षेत्र में",
+    "FIELDS": "खेतों",
+    "FILE": "फाइल",
+    "FILE_NOT_FOUND": "फाइल नहीं मिली",
+    "FILTER": "फ़िल्टर",
+    "FILTERS": "फ़िल्टर",
+    "FINISH": "समाप्त करना",
+    "FONTSIZE": "फ़ॉन्ट आकार",
+    "FORMAT": "स्वरूप",
+    "FREE": "मुक्त",
+    "FROM": "से",
+    "FULLNAME": "पूरा नाम",
+    "GENERAL": "सामान्य",
+    "GLOBAL": "विश्वव्यापी",
+    "GOSUB": "GoSub",
+    "GOTO": "जाएँगे|",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = अनाबंटित संख्या",
+    "HANGUPCAUSE_16": "16 = Normail कॉल उम्मायदों",
+    "HANGUPCAUSE_17": "17 = उपयोगकर्ता व्यस्त",
+    "HANGUPCAUSE_18": "(18) = उपयोगकर्ता प्रत्युत्तर नहीं telehone डिवाइस से कनेक्ट नहीं",
+    "HANGUPCAUSE_21": "21 = कॉल खारिज",
+    "HANGUPCAUSE_22": "22. @नंबर बदल दिया।",
+    "HANGUPCAUSE_27": "27. @गंतव्य के आदेश",
+    "HANGUPCAUSE_38": "38. @नेटवर्क से",
+    "HANGUPCAUSE_41": "41. @अस्थायी असफलता",
+    "HANGUP_CAUSE": "इससे Hangup",
+    "HEADERS": "हेडर",
+    "HELP": {
+      "AFTERCALLWORK": "यदि सक्रिय एजेंट को पूरा करने के बाद विराम पर सेट किया जाएगा कतार पर कॉल करें",
+      "AFTERCALLWORKDURATION": "विराम की अवधि के बाद कार्य कॉल विकल्प",
+      "ANNOUNCECALLERPOSITION": "परिभाषित किया जाना चाहिए कि क्या कॉलर की स्थिति में घोषणा की है। यदि सेटअप करने के लिए कोई स्थान नहीं होगा की घोषणा की जाए। यदि हाँ, कॉलर की स् थिति सेट करने के लिए सदैव की घोषणा की गई है। यदि मूल्य सेट करने के लिए, अपनी स्थिति को सुनेंगे कॉलर सीमा कतार में ही यह घोषणा कर के दायरे में परिभाषित की स्थिति-सीमा है। यदि मूल्य पर सेट है, तो उसके स्थान पर कॉलर सुनेंगे की संख्या से परे है, स्थिति-सीमा परिभाषित की घोषणा",
+      "ANNOUNCEHOLDTIME": "अनुमान है कि समय-समय पर आयोजित की परिभाषा के साथ आवधिक घोषणाएं बजाई जानी चाहिए।",
+      "ANNOUNCETOAGENT": "खेल के लिए इस्तेमाल करने की घोषणा की है कि उनके लिए अपेक्षओं को कॉल का उत्तर एजेंट क्या कतार कॉलर से आ रहा है।",
+      "CONTEXT": "अनुमत कॉलर कतार से बाहर निकलने के लिए दबाकर एक अंकीय DTMF है। यदि कॉलर और विनिर्दिष्ट संख्या के संदर्भ में प्रवेश करने का प्रयास करेंगे कि अंकीय मेल के संदर्भ में विनिर्दिष्ट और वहां रहेंगे निष्पादन dialplan",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"चालू होने का अनुमान है।\") को दबाकर रखें यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "HOLDTIMEANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान से खेलना है।'') समय (\"को रोका यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "LIST": "संपर्क सूची में संपर्कों को संबद्ध करने के लिए प्रयुक्त प्रबंधक",
+      "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
+      "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य स्थिति के दौरान निर्धारित करने के लिए स्थिति को रोकें",
+      "MEMBERDELAY": "यदि आप चाहते हैं कि वहां का इस्तेमाल करने से पूर्व देरी का एक-दूसरे से जोडा जा रहा है और कॉलर कतार सदस्य",
+      "MINANNOUNCEFREQUENCY": "निर्दिष्ट करता है कि उस समय की न्यूनतम मात्रा की घोषणा करने से पूर्व हम पास होना कॉलर की कतार में पुन: जब यह कॉलर की स्थिति को बदल सकते हैं, प्राय: एकाधिक अपडेट्स को रोकने के लिए कॉलर सुनवाई थोडे समय में है।",
+      "MINUTEANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"मिनट)।\" यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "MINUTESANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"मिनट)।\" यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "MONITORFORMAT": "निर्दिष्ट करने के लिए, फ़ाइल स्वरूप का प्रयोग करने के लिए रिकॉर्डिंग है। अगर निगरानी-स्वरूप निष्क्रिय कॉल्स नहीं किया जाएगा.",
+      "MOTIONPROXY": "कृपया, निम्नलिखित आरूप में दर्ज करें: < ://. एण्ड lt वंशवृक्ष प्रोटोकॉल एंड अधम सिखाता है; अधम एवं ipaddress[: एंड lt वंशवृक्ष पत्तन एवं अधम;]। उदाहरण के लिए: https://X.Y.Z.W",
+      "MUSICONHOLD": "सैट के प्रयोग को विशेष श्रेणी के संगीत की कतार है।",
+      "NAME": "केवल विशिष्ट वर्ण (।_) और नंबर्स, समर्थित",
+      "PERIODICANNOUNCE": "खेल खेला जाने की आवधिक घोषणाओं के क्रम में वे को परिभाषित किया गया है।",
+      "PERIODICANNOUNCEFREQUENCY": "पता चलता है कि किस प्रकार आवधिक घोषणाएं करने चाहिए कि हम अक्सर रखती हैं।",
+      "RECORDING": "रिकॉर्डिंग रोकने के लिए कॉल कर सके।",
+      "REPORTHOLDTIMEAGENT": "समय-समय पर आयोजित की रिपोर्टिंग में समर्थ की कतार के पूर्व सदस्य अनिवार्यआधारभूत है।",
+      "RINGINUSE": "कॉल भेजने के लिए सदस्यों से बचने के लिए इस्तेमाल किया जाता है जिसकी स्थिति में प्रयोग में है.",
+      "SECONDSANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"सेकंड)।\" यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "THANKYOUANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"के लिए धन्यवाद\") धैर्य यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "THEREAREANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"हैं.'' यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "TIMEOUTRESTART": "यदि हाँ, रीसेट करें पर सेट करने के लिए, यदि उत्तर देने के लिए, व्यस्त या टाइमआउट एजेंट या भीड़-भाड़ दर्जा प्राप्त चैनल है।",
+      "TYPE": "रखावके कमरंद की भूमिका के तारांक लगा। उपयोगकर्ता को प्रमाणित करने के लिए प्रयोग किया :------- मित्र आउटगोइंग कॉल के लिए पीयर इनकमिंग कार्यनिष्पादनके विशेषताओं के ऊपर है।",
+      "VOICEMAIL_CONTEXT": "के संदर्भ संबंधी विस्तार है।",
+      "WAITINGCALLSANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान से खेलना है।'') (\"कॉल प्रतीक्षारत यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।",
+      "WELCOMEMESSAGE": "यह संपर्ककर्ता को भेजा गया पहला संदेश है",
+      "YOUARENEXTANNOUNCE": "परिभाषित नहीं किया गया, तो डिफ़ॉल्ट मान पर खेलना (\"अब आप में प्रथम पंक्ति\"). यदि सेट करने के लिए, संकेत मान रिक्त नहीं खेले।"
+    },
+    "HIDE_DETAILS": "विवरण छुपाने",
+    "HOLDTIMEANNOUNCE": "उस समय की घोषणा को रोका",
+    "HOST": "होस्ट",
+    "ID": "Id",
+    "IDLE": "बेकार",
+    "IN": "में",
+    "INBOUNDROUTES": "इनबाउंड मार्ग",
+    "INFO": "जानकारी",
+    "INSERT_MESSAGE_HERE": "यहां अपना टेक्स्ट संदेश डालें",
+    "INTEGRATIONS": "एकीकरण",
+    "INTERACTION": "क्रिया",
+    "INTERACTIONS": "बातचीत",
+    "INTERNAL": "आंतरिक",
+    "INTERNALDIAL": "आंतरिक डायल करें",
+    "INTERNALROUTES": "भीतरी मार्गों",
+    "INTERVAL": "अन्तराल",
+    "INTERVALS": "अन्तराल",
+    "INUSE": "में उपयोग",
+    "INVALID": "अमान्य",
+    "IN_USE": "में उपयोग",
+    "JOINWHENEMPTY": "खाली समय में शामिल होंगे।",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "कुंजी दबाएं",
+    "LAGGED": "ज्यों",
+    "LANGUAGE": "भाषा: हिन्दी",
+    "LASTMESSAGE": "अंतिम संदेश",
+    "LASTNAME": "Lastname",
+    "LAST_MONTH": "पिछले महीने",
+    "LEAVEWHENEMPTY": "खाली छोड़ जब",
+    "LEXREGION": "क्षेत्र",
+    "LIMITED": "सीमित",
+    "LIST": "की सूची",
+    "LOGGED_IN": "लॉग इन नहीं",
+    "LOGIN_TIME": "लॉगिन समय",
+    "LOGO": "लोगो",
+    "LOGOUT": "इसपर",
+    "MACRO": "स्थूल",
+    "MAIL": "मेल",
+    "MAILBOX": "मेलबॉक्स",
+    "MAILBOX@CONTEXT": "मेलबॉक्स@वर्ल्ड कप के संदर्भ",
+    "MANAGED": "प्रबंधित",
+    "MANDATORYDISPOSITION": "अनिवार्य स्वभाव",
+    "MANDATORYDISPOSITIONPAUSEID": "अनिवार्य विवाद स्थिति",
+    "MARK_AS_UNREAD": "अपठित के रूप में चिह्नित करें",
+    "MAXLENGTH": "अधिकतम लंबाई",
+    "MAXMESSAGES": "अधिकतम संदेश",
+    "MAXSECONDS": "अधिकतम सेकंड",
+    "MAY": "मई",
+    "MEMBERDELAY": "सदस्य विलंब",
+    "MESSAGE": "संदेश",
+    "MESSAGES": "संदेश",
+    "MESSAGESALIGNMENT": "संदेश संरेखण",
+    "METHOD": "तरीका",
+    "METRIC": "मीट्रिक",
+    "MINANNOUNCEFREQUENCY": "आवृत्ति घोषित न्यूनतम",
+    "MINUTEANNOUNCE": "मिनट की घोषणा की.",
+    "MINUTESANNOUNCE": "मिनट की घोषणा की.",
+    "MOBILE": "मोबाइल",
+    "MODULES": "मॉड्यूल",
+    "MOHSOUNDS": "ध्वनियां Moh",
+    "MONITORFORMAT": "रिकॉर्डिंग स्वरूप",
+    "MORE": "अधिक",
+    "MOTIONADDRESS": "प्रस्ताव के पते",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "प्रस्ताव सांड",
+    "MOTIONPROXY": "प्रॉक्सी या प्रस्ताव डोमेन",
+    "MOTION_BULL": "प्रस्ताव सांड",
+    "MUSICONHOLD": "संगीत पर रखें.",
+    "MUSICONHOLDS": "होल्ड पर Musics",
+    "NAME": "नाम",
+    "NAT": "आइप गीतांजलिश्री का तिरोहित",
+    "NEW_CHANSPY": "नई ChanSpy",
+    "NEW_CONTACT": "नया संपर्क",
+    "NEW_CONTEXT": "नई संदर्भ",
+    "NEW_INBOUNDROUTE": "नई इनबाउंड मार्ग",
+    "NEW_INTERNALROUTE": "नई आंतरिक मार्ग",
+    "NEW_MUSICONHOLD": "नयी संगीत पर रखें.",
+    "NEW_OUTBOUNDROUTE": "नई छुट्टिंयां मनाने का मार्ग",
+    "NEW_PROJECT": "नई परियोजना",
+    "NEW_TAB": "नया टैब",
+    "NEW_TAG": "नया टैग",
+    "NEW_VARIABLE": "नई परिवर्तनीय",
+    "NEW_VOICEMAIL": "नई वॉयसमेल",
+    "NEW_VOICEQUEUE": "नए वॉयस कतार",
+    "NO": "कोई",
+    "NONE": "कोई नहीं",
+    "NOOP": "Noop",
+    "NOTE": "ध्यान दें",
+    "NOTES": "करती",
+    "NOTIFICATION": "अधिसूचना",
+    "NOTIFICATIONSHAKE": "शेक",
+    "NOTIFICATIONSOUND": "ध्वनि",
+    "NOTIFICATIONTEMPLATE": "खाका",
+    "NOT_INUSE": "उपयोग में नहीं",
+    "NO_AGENT_ONLINE": "ऑनलाइन कोई एजेंट",
+    "NO_APPS_AVAILABLE": "कोई अनुप्रयोग उपलब्ध",
+    "NO_AVAILABLE_INFO": "जानकारी उपलब्ध नहीं",
+    "NO_INTERACTION_AVAILABLE": "कोई संपर्क उपलब्ध नहीं",
+    "NO_MESSAGE_AVAILABLE": "कोई संदेश उपलब्ध",
+    "NO_MOHSOUND_AVAILABLE": "कोई संगीत पर उपलब्ध",
+    "NO_RATING": "कोई रेटिंग",
+    "NO_REGISTRY": "कोई रजिस्टधळ",
+    "NO_SOUND_AVAILABLE": "उपलब्ध ध्वनि नहीं",
+    "NUMBER": "संख्या",
+    "OF": "की",
+    "ONHOLD": "होल्ड पर",
+    "OPEN": "खुला",
+    "OPENCHANNEL": "चैनल खोलें",
+    "OPENED": "खुला",
+    "OPERATOR": "आॅपरेटर",
+    "OPTIONS": "विकल्प",
+    "ORIGINATED": "उपजीं",
+    "OTHERS": "अन्य",
+    "OUT": "बाहर",
+    "OUTBOUNDDIAL": "बाह्यवर्ती डायल करें",
+    "OUTBOUNDROUTE": "आउटबाउंड रूट",
+    "OUTBOUNDROUTES": "छुट्टिंयां मनाने का मार्ग",
+    "OUTBOUND_CALLS": "बाह्यवर्ती कॉल्स",
+    "OUTPUT": "उत् पादन में",
+    "PAGE": "पृष्ठ",
+    "PARTIALPAUSE": "आंशिक रूप से रोकें",
+    "PASSWORD": "पासवर्ड",
+    "PAUSE": "विराम",
+    "PAUSED": "अनुक्रमणिका रोकी गई",
+    "PAUSE_TIME": "विराम का वक्त",
+    "PAYMENTMETHOD": "भुगतान की विधि",
+    "PENALTY": "दण्ड",
+    "PENDING": "लंबित",
+    "PERIODICANNOUNCE": "आवधिक की घोषणा की.",
+    "PERIODICANNOUNCEFREQUENCY": "आवधिक घोषणा की आवृत्ति",
+    "PERSONAL_INFO": "व्यक्तिगत जानकारी",
+    "PHONE": "फ़ोन",
+    "PHONENUMBER": "फ़ोन नंबर",
+    "PHONE_STATE": "फ़ोन राज्य",
+    "PHONE_STATUS": "फोन स्थिति",
+    "PLAYBACK": "प्लेबैक",
+    "PLUGINS": "प्लगइन्स",
+    "PORT": "पोर्ट",
+    "POSITION": "की स्थिति",
+    "POSTALCODE": "पोस्टल कोड",
+    "PREFIX": "प्रिफिक्स",
+    "PREVIEW": "पूर्वावलोकन",
+    "PRIORITY": "प्राथमिकता",
+    "PROJECT": "Cally-Square परियोजना",
+    "PROJECTS": "परियोजनाएं",
+    "PROXY": "प्रतिनिधि",
+    "QUEUE": "कतार",
+    "QUEUES": "कतार",
+    "QUEUETRANSFER": "कतार स्थानांतरण",
+    "QUEUETRANSFERTIMEOUT": "कतार स्थानांतरण टाइमआउट",
+    "QUEUE_CALLS": "कॉल्स कतार",
+    "QUEUE_PARAMETERS": "लोकतंत्रमें मानदंडों",
+    "QUEUE_PARAMS": "लोकतंत्रमें मानदंडों",
+    "RANDOM": "रैंडम",
+    "RANDOMPERIODICANNOUNCE": "रैंडम आवधिक की घोषणा की.",
+    "RATING": "रेटिंग",
+    "REACHABLE": "प्राप्य",
+    "READY": "तैयार",
+    "REALTIME": "लिएभूकम्पनीय वैधशालाओं",
+    "RECALLME": "मुझे याद",
+    "RECEIVED_AT": "प्राप्त",
+    "RECEIVEURL": "URL प्राप्त करें",
+    "RECORD": "रिकार्ड",
+    "RECORDING": "रिकॉर्डिंग",
+    "RECORDINGFORMAT": "रिकॉर्डिंग स्वरूप",
+    "RECORDINGS": "रेकाॅर्डिंग",
+    "REFRESH_INTERACTIONS": "ताज़ा करें औरलघु",
+    "REGISTERED": "पंजीकृत",
+    "REGISTRY": "रजिस्ट्री",
+    "REJECT": "अस्वीकार करना",
+    "REJECTED": "अस्वीकार",
+    "REJECTMETHOD": "अस्वीकार पद्धति",
+    "REJECTURL": "URL अस्वीकार करें",
+    "RELOAD": "पुन: लोड करें",
+    "REPLY": "उत्तर",
+    "REPORT": "रिपोर्ट",
+    "REPORTHOLDTIMEAGENT": "एजेंट ने समय-समय पर रिपोर्ट",
+    "RETRY": "पुन: प्रयास करें.",
+    "RING": "रिंग",
+    "RINGGROUP": "रिंग समूह",
+    "RINGING": "घंटियां बजने लगी।",
+    "RINGINUSE": "रिंग प्रयोग में है",
+    "ROWSPERPAGE": "पंक्तियां प्रति पृष्ठ",
+    "RULE": "नियम",
+    "SAVE": "सहेजें",
+    "SCHEDULEDAT": "अनुसूचित पर",
+    "SCHEDULED_CALLS": "अनुसूचित कॉल",
+    "SCREENRECORDING": "स्क्रीन रिकॉर्डिंग को प्रबंधित करें",
+    "SCRIPT": "लिपि",
+    "SEARCH_FOR_ANYONE": "किसी भी व्यक्ति की तलाश",
+    "SECONDSANNOUNCE": "सेकंड्स की घोषणा की.",
+    "SECRETACCESSKEY": "गुप्त पहुँच कुंजी",
+    "SECURITY_SUITE": "सुरक्षा सूट",
+    "SELECT": "चुनते हैं",
+    "SELECTED": "चयनित",
+    "SELECTED_AGENTS": "चयनित एजेंटों",
+    "SELECTED_TEAMS": "चयनित टीम",
+    "SELECTED_USERS": "चयनित उपयोगकर्ता",
+    "SELECT_ACCOUNT": "खाता चुनें",
+    "SELECT_ALL": "सभी का चयन करें",
+    "SELECT_DATE": "प्रारंभ दिनांक चुनें",
+    "SELECT_NONE": "किसी का भी चयन",
+    "SELECT_STATUS": "स्थिति का चयन करें",
+    "SELECT_TYPE": "प्रकार चुनें",
+    "SEND": "भेजें",
+    "SENDMAIL": "मेल भेजें",
+    "SENTIMENTANALYSIS": "भावनाओं का विश्लेषण",
+    "SERVICE": "सर्विस",
+    "SESSIONS": "सत्र",
+    "SET": "सेट करें",
+    "SETINTERFACEVARIABLES": "परिवतीऩ अन्तरापृष्ठ सेट करें",
+    "SETQUEUEENTRYVARIABLES": "परिवतीऩ प्रवेश कतार सेट करें",
+    "SETQUEUEVARIABLES": "परिवतीऩ कतार सेट करें",
+    "SETTINGS": "सेटिंग्स",
+    "SHOW_ALL_FIELDS": "सभी क्षेत्रों में दिखाएं",
+    "SHOW_DETAILS": "विवरण दिखाएं",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "होस्ट SMTP",
+    "SMTP_PORT": "SMTP पत्तन",
+    "SOCIAL": "सामाजिक",
+    "SORT": "सॉर्ट करें",
+    "SOURCE": "के स्रोत",
+    "SPYINTERACTION": "ताकना",
+    "STAFF": "कर्मचारी",
+    "STARTEDAT": "इस समय पर शुरू किया",
+    "STARTTIME": "समय प्रारंभ करें",
+    "START_SCREENRECORDING": "स्क्रीन रिकॉर्डिंग शुरू करें",
+    "STATE": "राज्य",
+    "STATUS": "की स्थिति",
+    "STOP_SCREENRECORDING": "स्क्रीन रिकॉर्डिंग बंद करो",
+    "STRATEGY": "रणनीति",
+    "SUBJECT": "विषय",
+    "SYSTEM": "प्रणाली",
+    "TAG": "टैग",
+    "TAGS": "टैग्स",
+    "TALKING": "की बात",
+    "TEAMS_ASSOCIATION": "टीमों एसोसिएशन",
+    "TECHNOLOGY/RESOURCE": "प्रौद्योगिकी/संसाधन",
+    "TELEPHONES": "टेलीफोन",
+    "TEMPLATE": "टेम्पलेट",
+    "TEXT": "टेक्स्ट",
+    "THANKYOUANNOUNCE": "'' की घोषणा आपको धन्यवाद देता हूं।",
+    "THEREAREANNOUNCE": "'' की घोषणा कर रहे हैं।",
+    "TIMEOUT": "समयबाह्य",
+    "TIMEOUTRESTART": "समयबाह्य को पुन: प्रारंभ करें.",
+    "TIMER": "टाइमर",
+    "TIMES": "कई बार प्रति विचार-विमर्श",
+    "TIMEZONE": "समय क्षेत्र",
+    "TO": "करना",
+    "TOKEN": "टोकन",
+    "TOOLTIP_SCREENRECORDING_OFF": "स्क्रीन रिकॉर्डिंग उपलब्ध है",
+    "TOOLTIP_SCREENRECORDING_ON": "स्क्रीन रिकॉर्डिंग प्रगति पर है",
+    "TOTAL": "कुल",
+    "TOTAL_OFFERED": "कुल की पेशकश",
+    "TRANSCRIBE": "लिप्यंतरित",
+    "TRANSFER": "स्थानांतरण",
+    "TRANSPORT": "परिवहन",
+    "TRUEPRIORITY": "सच प्राथमिकता",
+    "TRUNK": "सूंड",
+    "TRUNKS": "तनों",
+    "TRUNK_STATUS": "सूंड का दर्जा",
+    "TYPE": "प्रकार",
+    "UNAVAILABLE": "अनुपलब्ध",
+    "UNIQUEID": "अद्वितीय ID",
+    "UNKNOWN": "अज्ञात",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "Unpause",
+    "UNREACHABLE": "द्वाराजाना दुर्गम",
+    "UNREGISTERED": "अपंजीकृत",
+    "UP": "ऊपर",
+    "UPDATE": "अद्यतन",
+    "UPLOADING": "अपलोड हो रहा है",
+    "URL": "URL",
+    "USER": "उपयोगकर्ता",
+    "USERNAME": "उपयोगकर्ता नाम",
+    "USERS": "प्रयोक्ता",
+    "VALUE": "मूल्य",
+    "VARIABLE": "परिवर्तनीय",
+    "VIDAOOSESSION": "वीडियो कॉल प्रारंभ करें",
+    "VIDEO": "वीडियो",
+    "VIDEOSUPPORT": "वीडियो का समर्थन",
+    "VOICE": "आवाज",
+    "VOICEMAIL": "वॉयसमेल",
+    "VOICEMAILS": "मोबिलबॉक् स प्रो अभी भरा हुआ",
+    "VOICEMAIL_CONTEXT": "संदर्भ",
+    "VOICEQUEUES": "वॉयस कतार",
+    "VOICERECORDINGS": "वॉयस जनाक्रोश",
+    "WAITFORTHEASSIGNEDAGENT": "असाइन एजेंट के लिए प्रतीक्षा करें",
+    "WAITING": "प्रतीक्षा",
+    "WAITINGCALLSANNOUNCE": "कॉल प्रतीक्षारत की घोषणा की.",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "वेबसाइट",
+    "WEIGHT": "भार",
+    "WELCOMEMESSAGE": "स्वागत संदेश",
+    "WHATSAPP": "WhatsApp कनेक्टर",
+    "WHITELABEL": "सफेद लेबल",
+    "WRAPUPTIME": "उस समय Wrapup",
+    "WRONG_EXTENSION": "फ़ाइल गलत एक्सटेंशन प्रस्तुत करती है",
+    "YES": "हां",
+    "YOUARENEXTANNOUNCE": "आप \"अगला\" की घोषणा की."
+  }
+}
diff --git a/public/app/main/i18n/id.json b/public/app/main/i18n/id.json
new file mode 100644
index 0000000..166d2fe
--- /dev/null
+++ b/public/app/main/i18n/id.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Ditinggalkan",
+    "ABANDONEDCALLS": "Panggilan Antrian yang Ditinggalkan",
+    "ABANDONED_CALLS": "Panggilan yang Ditinggalkan",
+    "ACCEPT": "Menerima",
+    "ACCEPTMETHOD": "Terima Metode",
+    "ACCEPTURL": "Terima URL",
+    "ACCESSKEYID": "ID kunci akses",
+    "ACCOUNT": "Rekening",
+    "ACCOUNTNAME": "Nama akun",
+    "ACCOUNTS": "Akun",
+    "ACCOUNTSID": "Akun SID",
+    "ACTIONS": "Tindakan",
+    "ACTIVE": "Aktif",
+    "ADD": "Menambahkan",
+    "ADDRESS": "Alamat",
+    "ADD_AGENT_TO_VOICEQUEUE": "Tambahkan Agen ke Antrian Suara",
+    "ADD_CHANSPY": "Tambahkan ChanSpy",
+    "ADD_CONTACT": "Tambah kontak",
+    "ADD_CONTEXT": "Tambahkan Konteks",
+    "ADD_INBOUNDROUTE": "Tambahkan Rute Masuk",
+    "ADD_INTERNALROUTE": "Tambahkan Rute Internal",
+    "ADD_MOHSOUND": "Tambahkan suara Music On Hold",
+    "ADD_MUSICONHOLD": "Tambahkan Musik Ditahan",
+    "ADD_NOTE": "Menambahkan catatan",
+    "ADD_OUTBOUNDROUTE": "Tambahkan Rute Keluar",
+    "ADD_PROJECT": "Tambahkan Proyek",
+    "ADD_TAG": "Tambahkan Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Tambahkan Tim ke Antrian Suara",
+    "ADD_VARIABLE": "Tambahkan Variabel",
+    "ADD_VOICEMAIL": "Tambahkan Voicemail",
+    "ADD_VOICEQUEUE": "Tambahkan Antrean Suara",
+    "ADVANCED": "Maju",
+    "AFTERCALLWORK": "Setelah Panggilan Kerja",
+    "AFTERCALLWORKDURATION": "Setelah Durasi Panggilan Kerja",
+    "AGENT": "Agen",
+    "AGENTS": "Agen",
+    "AGENTSADD_QUEUE": "Tambahkan Agen Ke Antrian Suara",
+    "AGENTTRANSFER": "Transfer Agen",
+    "AGENTTRANSFERTIMEOUT": "Agen Transfer Timeout",
+    "AGENT_TIMEOUT": "Agen Timeout",
+    "AGI": "Agi",
+    "ALIAS": "Alias",
+    "ALL": "Semua",
+    "ALLOWCODECS": "Codec yang Diizinkan",
+    "ALL_AGENTS": "Semua Agen",
+    "ALL_TEAMS": "Semua Tim",
+    "ALL_USERS": "Semua pengguna",
+    "ALPHABETICAL": "Alfabetis",
+    "ALWAYS": "Selalu",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Mengumumkan Posisi Pemanggil",
+    "ANNOUNCEFREQUENCY": "Umumkan Frekuensi",
+    "ANNOUNCEHOLDTIME": "Umumkan Hold Time",
+    "ANNOUNCEMENTS": "Pengumuman",
+    "ANNOUNCEPOSITIONLIMIT": "Umumkan Batas Posisi",
+    "ANNOUNCETOAGENT": "Umumkan Menjadi Agen",
+    "ANNOUNCE_OVERRIDES": "Umumkan Pengabaian",
+    "ANSWER": "Menjawab",
+    "ANSWERED": "Dijawab",
+    "API": "API",
+    "APIKEY": "Kunci API",
+    "APPLICATION": "Aplikasi",
+    "APPLICATION_NAME": "nama aplikasi",
+    "ARGUMENTS": "Argumen",
+    "ATTACH": "Melampirkan",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "File audio",
+    "AUDIO_FILES": "File audio",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Token Otorisasi",
+    "AUTOPAUSE": "Jeda Otomatis",
+    "AUTOREPLY": "Balasan Otomatis",
+    "AVG_BILLABLE": "Rata-Rata Dapat Ditagih",
+    "AVG_HOLD_TIME": "Waktu Penangguhan Rta",
+    "BACK": "Kembali",
+    "BLACKLIST": "Daftar hitam",
+    "BODY": "Tubuh",
+    "BOTNAME": "Nama bot",
+    "BUILDER": "Pembangun",
+    "BUSY": "Sibuk",
+    "CALLED": "Bernama",
+    "CALLER": "Penelepon",
+    "CALLERID": "ID Penelepon",
+    "CALLER_ID": "ID Penelepon",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampanye",
+    "CANCEL": "Membatalkan",
+    "CANNEDANSWERS": "Jawaban Kalengan",
+    "CANNED_ANSWER_NOT_FOUND": "Tidak ada Jawaban Tercatat yang ditemukan",
+    "CANNED_ANSWER_SEARCH": "Masukkan teks untuk mencari Jawaban Terekam",
+    "CANT_DOWNLOAD_THIS_FILE": "Tidak dapat mengunduh file ini",
+    "CAPACITY": "Kapasitas",
+    "CHANNEL": "Saluran",
+    "CHANNELS": "Channels",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Obrolan",
+    "CITY": "Kota",
+    "CLEAR": "Bersih",
+    "CLOSE": "Dekat",
+    "CLOSED": "Tutup",
+    "CLOSEDAT": "Ditutup At",
+    "CLOSEMETHOD": "Tutup Metode",
+    "CLOSEURL": "Tutup URL",
+    "CLOSING": "Penutupan",
+    "COMMAND": "Perintah",
+    "COMPANIES": "Perusahaan",
+    "COMPANY": "Perusahaan",
+    "CONDITION": "Kondisi",
+    "CONFIRM_PASSWORD": "konfirmasi sandi",
+    "CONNECTED": "Terhubung",
+    "CONTACT": "Kontak",
+    "CONTACTMANAGER": "Pengelola Kontak",
+    "CONTACTS": "Kontak",
+    "CONTENT": "Konten",
+    "CONTEXT": "Konteks",
+    "CONTEXTS": "Konteks",
+    "COUNTRY": "Negara",
+    "CREATED_AT": "Dibuat di",
+    "CUSTOM": "Adat",
+    "CUSTOMER_JOURNEY": "Perjalanan pelanggan",
+    "CUSTOM_FIELDS": "Bidang Khusus",
+    "CUTDIGITS": "Potong Digit",
+    "DASHBOARD": "Dasbor",
+    "DATE": "Tanggal",
+    "DATE_OF_BIRTH": "Tanggal lahir",
+    "DEFAULT": "Default",
+    "DEFAULT_PAUSE": "DEFAULT PAUSE",
+    "DELETE": "Menghapus",
+    "DELETE_APP": "Hapus Aplikasi",
+    "DELETE_CHANSPY": "Hapus ChanSpy",
+    "DELETE_CONTEXT": "Hapus Konteks",
+    "DELETE_HOPPER": "Hapus Hopper",
+    "DELETE_INBOUNDROUTE": "Hapus Inbound Route",
+    "DELETE_INTERACTION": "Hapus Interaksi",
+    "DELETE_INTERNALROUTE": "Hapus Rute Internal",
+    "DELETE_MOHSOUND": "Hapus suara Music On Hold",
+    "DELETE_MUSICONHOLD": "Hapus Musik Ditahan",
+    "DELETE_OUTBOUNDROUTE": "Hapus Rute Keluar",
+    "DELETE_PROJECT": "Hapus Proyek",
+    "DELETE_SELECTED": "Hapus yang dipilih",
+    "DELETE_VOICEDISPOSITION": "Hapus Disposisi Suara",
+    "DELETE_VOICEMAIL": "Hapus Pesan Suara",
+    "DELETE_VOICEQUEUE": "Hapus Antrean Suara",
+    "DELETE_VOICERECORDING": "Hapus Rekaman Suara",
+    "DELIVERYREPORTURL": "URL Laporan Pengiriman",
+    "DESCRIPTION": "Deskripsi",
+    "DESTINATION": "Tujuan",
+    "DESTINATIONPATTERN": "Pola Tujuan",
+    "DETAIL": "Detail",
+    "DETAILS": "Detail",
+    "DIAL": "Hubungi",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "MELAKUKAN",
+    "DIRECTORY": "Direktori",
+    "DISABLED": "Cacat",
+    "DISPOSITION": "Watak",
+    "DISPOSITIONS": "Disposisi",
+    "DOWNLOAD": "Unduh",
+    "DOWNLOAD_INTERACTION": "Unduh",
+    "DOWNLOAD_MOHSOUND": "Unduh Music On Hold sound",
+    "DOWNLOAD_VOICERECORDING": "Unduh Rekaman Suara",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Unduh tanpa lampiran",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Unduh tanpa lampiran",
+    "DOWNLOAD_WITH_ATTACHMENT": "Unduh dengan lampiran",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Unduh dengan lampiran",
+    "DROPPED": "Menjatuhkan",
+    "DROP_TO_UPLOAD": "Jatuhkan Untuk Mengunggah",
+    "DURATION": "Lamanya",
+    "EDIT": "Edit",
+    "EDIT_AGENT": "Edit Agen",
+    "EDIT_AGI": "Edit AGI",
+    "EDIT_AMAZONLEX": "Edit konfigurasi Lex",
+    "EDIT_APP": "Edit Aplikasi",
+    "EDIT_AUTOREPLY": "Edit Balasan Otomatis",
+    "EDIT_CHANSPY": "Edit ChanSpy",
+    "EDIT_CLOSE": "Edit Tutup",
+    "EDIT_CONTEXT": "Edit Konteks",
+    "EDIT_CUSTOM": "Edit Kustom",
+    "EDIT_DIAL": "Edit Panggil",
+    "EDIT_DIALOGFLOW": "Edit konfigurasi Dialogflow",
+    "EDIT_EXTERNALDIAL": "Edit Panggilan Eksternal",
+    "EDIT_GOTO": "Edit GoTo",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit GotoP",
+    "EDIT_HANGUP": "Edit Hangup",
+    "EDIT_HOPPER": "Edit Hopper",
+    "EDIT_INBOUNDROUTE": "Edit Inbound Route",
+    "EDIT_INTERNALDIAL": "Edit Panggilan Internal",
+    "EDIT_INTERNALROUTE": "Edit Rute Internal",
+    "EDIT_INTERVAL": "Edit Interval",
+    "EDIT_MUSICONHOLD": "Edit Music On Hold",
+    "EDIT_NOOP": "Edit Noop",
+    "EDIT_OUTBOUNDROUTE": "Edit Rute Keluar",
+    "EDIT_PLAYBACK": "Edit Playback",
+    "EDIT_PROJECT": "Edit Proyek",
+    "EDIT_QUEUE": "Edit Antrian",
+    "EDIT_RINGGROUP": "Edit Grup Cincin",
+    "EDIT_SET": "Edit Set",
+    "EDIT_SYSTEM": "Edit Sistem",
+    "EDIT_TAG": "Edit Tag",
+    "EDIT_TRUNK": "Edit Trunk",
+    "EDIT_VOICEDISPOSITION": "Edit Disposisi Suara",
+    "EDIT_VOICEMAIL": "Edit Voicemail",
+    "EDIT_VOICEQUEUE": "Edit Antrean Suara",
+    "EDIT_VOICERECORDING": "Edit Rekaman Suara",
+    "EMAIL": "E-mail",
+    "EMAILADDRESS": "Alamat email",
+    "EMAILBODY": "Isi Email",
+    "EMAILSUBJECT": "Subjek Email",
+    "ENABLED": "Diaktifkan",
+    "ENCRYPTION": "Enkripsi",
+    "ENDTIME": "Akhir waktu",
+    "ENVELOPE": "Amplop",
+    "EQUALS": "Sama dengan",
+    "ERROR": "Kesalahan",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Format yang salah",
+      "ACCESSKEYID_REQUIRED": "Diperlukan ID kunci akses",
+      "ACCOUNTNAME_REQUIRED": "Bidang wajib",
+      "ACCOUNTSID_REQUIRED": "Bidang wajib",
+      "AFTERCALLWORKDURATION_REQUIRED": "Bidang wajib",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
+      "AGENT_REQUIRED": "Bidang wajib",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
+      "AGENT_TIMEOUT_REQUIRED": "Bidang wajib",
+      "ALIAS_REQUIRED": "Bidang wajib",
+      "APIKEY_REQUIRED": "Bidang wajib",
+      "APPLICATION_REQUIRED": "Bidang wajib",
+      "AUTHTOKEN_REQUIRED": "Bidang wajib",
+      "BOTNAME_REQUIRED": "Nama bot diperlukan",
+      "CLOSEURL_MUST_VALID_URL": "Format yang salah",
+      "COMMAND_REQUIRED": "Bidang wajib",
+      "CONDITION_REQUIRED": "Bidang wajib",
+      "CONFIRM_NOT_MATCH": "Kata sandi tidak cocok",
+      "CONTENT_REQUIRED": "Bidang wajib",
+      "CONTEXT_REQUIRED": "Bidang wajib",
+      "DESTINATIONPATTERN_REQUIRED": "Bidang wajib",
+      "DISPOSITION_REQUIRED": "Bidang wajib",
+      "EMAIL_MUST_VALID": "Format yang salah",
+      "EMAIL_REQUIRED": "Bidang wajib",
+      "EXTENSION_REQUIRED": "Bidang wajib",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "FALSEPRIORITY_REQUIRED": "Bidang wajib",
+      "FIELD_REQUIRED": "Bidang wajib",
+      "FIRSTNAME_REQUIRED": "Bidang wajib",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "FONTSIZE_REQUIRED": "Bidang wajib",
+      "FULLNAME_REQUIRED": "Bidang wajib",
+      "HOST_REQUIRED": "Bidang wajib",
+      "KEY_MAX_LENGTH": "Kunci harus memiliki panjang maksimum sama dengan {{max}}",
+      "KEY_REQUIRED": "Bidang wajib",
+      "LIST_REQUIRED": "Bidang wajib",
+      "MAILBOX_REQUIRED": "Bidang wajib",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib",
+      "METHOD_REQUIRED": "Bidang wajib",
+      "MOTIONADDRESS_MUST_VALID_URL": "Format yang salah",
+      "MOTIONADDRESS_REQUIRED": "Bidang wajib",
+      "MOTIONPROXY_MUST_VALID_URL": "Format yang salah",
+      "MOTIONPROXY_REQUIRED": "Bidang wajib",
+      "NAME_MUST_VALID_PATTERN": "Format yang salah",
+      "NAME_REQUIRED": "Bidang wajib",
+      "OPTIONS_REQUIRED": "Bidang wajib",
+      "OUTBOUNDROUTE_REQUIRED": "Bidang wajib",
+      "PASSWORD_REQUIRED": "Bidang wajib",
+      "PHONENUMBER_REQUIRED": "Bidang wajib",
+      "PHONE_REQUIRED": "Bidang wajib",
+      "PREFIX_REQUIRED": "Bidang wajib",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "PRIORITY_REQUIRED": "Bidang wajib",
+      "PROJECT_REQUIRED": "Bidang wajib",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Bidang wajib",
+      "QUEUE_REQUIRED": "Bidang wajib",
+      "REJECTURL_MUST_VALID_URL": "Format yang salah",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "SECRETACCESSKEY_REQUIRED": "Bidang wajib",
+      "SENDERSTRING_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Format yang salah",
+      "SID_REQUIRED": "Bidang wajib",
+      "TAG_REQUIRED": "Bidang wajib",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Bidang wajib",
+      "TEXT_MAX_LENGTH": "Nilai harus memiliki panjang maksimum sama dengan {{max}}",
+      "TEXT_REQUIRED": "Bidang wajib",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
+      "TIMEOUT_REQUIRED": "Bidang wajib",
+      "TIMEZONE_REQUIRED": "Bidang wajib",
+      "TOKEN_REQUIRED": "Bidang wajib",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "TRUEPRIORITY_REQUIRED": "Bidang wajib",
+      "TRUNK_REQUIRED": "Bidang wajib",
+      "TYPE_REQUIRED": "Bidang wajib",
+      "URL_REQUIRED": "Bidang wajib",
+      "USERNAME_REQUIRED": "Bidang wajib",
+      "VALUE_REQUIRED": "Bidang wajib",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Bidang wajib",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Perkiraan Hold Time Umumkan",
+    "EXTENSION": "Perpanjangan",
+    "EXTERNALDIAL": "Panggilan Eksternal",
+    "FAILED": "Gagal",
+    "FALSEPRIORITY": "Prioritas Palsu",
+    "FAX": "Fax",
+    "FIDELITY": "Kesetiaan",
+    "FIELD": "Bidang",
+    "FIELDS": "Fields",
+    "FILE": "Mengajukan",
+    "FILE_NOT_FOUND": "Berkas tidak ditemukan",
+    "FILTER": "Menyaring",
+    "FILTERS": "Filter",
+    "FINISH": "Selesai",
+    "FONTSIZE": "Ukuran huruf",
+    "FORMAT": "Format",
+    "FREE": "Bebas",
+    "FROM": "Dari",
+    "FULLNAME": "Nama lengkap",
+    "GENERAL": "Umum",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Pergi ke",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Tutup Telepon",
+    "HANGUPCAUSE_1": "1 = Nomor yang tidak teralokasikan",
+    "HANGUPCAUSE_16": "16 = Pembersihan panggilan normal",
+    "HANGUPCAUSE_17": "17 = Pengguna sibuk",
+    "HANGUPCAUSE_18": "18 = Tidak ada pengguna yang merespon (perangkat telepon tidak terhubung)",
+    "HANGUPCAUSE_21": "21 = Panggilan ditolak",
+    "HANGUPCAUSE_22": "22 = Jumlah berubah",
+    "HANGUPCAUSE_27": "27 = Tujuan rusak",
+    "HANGUPCAUSE_38": "38 = Jaringan rusak",
+    "HANGUPCAUSE_41": "41 = Kegagalan sementara",
+    "HANGUP_CAUSE": "Hangup Cause",
+    "HEADERS": "Tajuk",
+    "HELP": {
+      "AFTERCALLWORK": "Jika diaktifkan, agen akan diatur Jeda setelah menyelesaikan panggilan",
+      "AFTERCALLWORKDURATION": "Jeda panjang dipicu oleh opsi After Call Work",
+      "ANNOUNCECALLERPOSITION": "Digunakan untuk menentukan apakah posisi pemanggil di antrean harus diumumkan: Tidak = tidak pernah; Ya = selalu; Batasi = hanya jika itu dalam batas yang ditentukan oleh announce-position-limit; Lainnya = hanya jika itu di luar nilai yang ditentukan oleh announce-position-limit",
+      "ANNOUNCEHOLDTIME": "Memainkan perkiraan waktu penahanan bersama dengan pengumuman berkala (Ya / Tidak / Sekali)",
+      "ANNOUNCETOAGENT": "Mainkan pengumuman kepada agen yang menjawab panggilan (biasanya untuk memberi tahu dia apa antrian penelepon itu berasal)",
+      "CONTEXT": "Memungkinkan pemanggil keluar dari antrean dengan menekan satu digit DTMF. Jika konteks ditentukan dan pemanggil memasukkan nomor, digit itu akan dicoba untuk dicocokkan dalam konteks yang ditentukan, dan eksekusi dialplan akan berlanjut di sana.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = “Waktu tahan perkiraan saat ini adalah”. Tidak ditentukan = tidak ada pengumuman",
+      "HOLDTIMEANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"Hold time\". Tidak ditentukan = tidak ada pengumuman",
+      "LIST": "Daftar Contact Manager yang digunakan untuk menghubungkan kontak",
+      "MANDATORYDISPOSITION": "Disposisi wajib",
+      "MANDATORYDISPOSITIONPAUSEID": "Jeda status untuk ditetapkan selama disposisi wajib",
+      "MEMBERDELAY": "Menyisipkan penundaan sebelum pemanggil dan agen dalam antrian terhubung",
+      "MINANNOUNCEFREQUENCY": "Frekuensi pengumuman minimum (berguna ketika posisi pemanggil sering berubah)",
+      "MINUTEANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"menit\". Tidak ditentukan = tidak ada pengumuman",
+      "MINUTESANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = “menit”. Tidak ditentukan = tidak ada pengumuman",
+      "MONITORFORMAT": "Menentukan format file yang akan digunakan saat merekam. Jika format monitor tidak aktif, panggilan tidak akan direkam",
+      "MOTIONPROXY": "Field harus memiliki format berikut: <protocol>: // <ipaddress> [: <port>]. Contoh: https: //X.Y.Z.W",
+      "MUSICONHOLD": "Setel kelas musik yang akan digunakan untuk antrean tertentu",
+      "NAME": "Hanya angka, huruf, dan karakter tertentu (._) yang didukung",
+      "PERIODICANNOUNCE": "Kumpulan pengumuman berkala untuk dimainkan (dalam urutan)",
+      "PERIODICANNOUNCEFREQUENCY": "Frekuensi pengumuman berkala kepada pemanggil",
+      "RECORDING": "Aktifkan perekaman panggilan",
+      "REPORTHOLDTIMEAGENT": "Memungkinkan pelaporan waktu tunggu kepada agen dalam antrean sebelum koneksi",
+      "RINGINUSE": "Untuk menghindari / memungkinkan mengirim panggilan ke anggota yang statusnya Sedang Digunakan",
+      "SECONDSANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"seconds\". Tidak ditentukan = tidak ada pengumuman",
+      "THANKYOUANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"Terima kasih atas kesabaran Anda\". Tidak ditentukan = tidak ada pengumuman",
+      "THEREAREANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"There are\". Tidak ditentukan = tidak ada pengumuman",
+      "TIMEOUTRESTART": "Jika ya, ini akan mengatur ulang batas waktu bagi agen untuk menjawab saat status BUSY atau CONGESTION diterima dari saluran",
+      "TYPE": "Tentukan peran SIP dalam tanda bintang. Pengguna: digunakan untuk mengotentikasi yang masuk - Peer: untuk panggilan keluar - Teman: mencakup kedua karakteristik di atas.",
+      "VOICEMAIL_CONTEXT": "Konteks ekstensi relatif",
+      "WAITINGCALLSANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"panggilan tunggu\". Tidak ditentukan = tidak ada pengumuman",
+      "WELCOMEMESSAGE": "Ini adalah pesan pertama yang dikirim ke kontaktor",
+      "YOUARENEXTANNOUNCE": "Pilih Suara yang didefinisikan dalam Alat. Default = \"Anda sekarang berada di baris pertama\". Tidak ditentukan = tidak ada pengumuman"
+    },
+    "HIDE_DETAILS": "Sembunyikan detail",
+    "HOLDTIMEANNOUNCE": "Hold Time Announce",
+    "HOST": "Tuan rumah",
+    "ID": "ID",
+    "IDLE": "Diam",
+    "IN": "Di",
+    "INBOUNDROUTES": "Rute Masuk",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Masukkan pesan teks Anda di sini",
+    "INTEGRATIONS": "Integrasi",
+    "INTERACTION": "Interaksi",
+    "INTERACTIONS": "Interaksi",
+    "INTERNAL": "Intern",
+    "INTERNALDIAL": "Panggilan Internal",
+    "INTERNALROUTES": "Rute Internal",
+    "INTERVAL": "Selang",
+    "INTERVALS": "Interval",
+    "INUSE": "Digunakan",
+    "INVALID": "Tidak valid",
+    "IN_USE": "Digunakan",
+    "JOINWHENEMPTY": "Bergabunglah saat kosong",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Kunci",
+    "LAGGED": "Tertinggal",
+    "LANGUAGE": "Bahasa",
+    "LASTMESSAGE": "Pesan Terakhir",
+    "LASTNAME": "Nama keluarga",
+    "LAST_MONTH": "Bulan lalu",
+    "LEAVEWHENEMPTY": "Biarkan saat kosong",
+    "LEXREGION": "Wilayah",
+    "LIMITED": "Terbatas",
+    "LIST": "Daftar",
+    "LOGGED_IN": "Log In (SIP Connected)",
+    "LOGIN_TIME": "Waktu masuk",
+    "LOGO": "Logo",
+    "LOGOUT": "Keluar",
+    "MACRO": "Makro",
+    "MAIL": "E-mail",
+    "MAILBOX": "Kotak surat",
+    "MAILBOX@CONTEXT": "Kotak surat @ Konteks",
+    "MANAGED": "Dikelola",
+    "MANDATORYDISPOSITION": "Disposisi wajib",
+    "MANDATORYDISPOSITIONPAUSEID": "Status jeda disposisi wajib",
+    "MARK_AS_UNREAD": "tandai sebagai Belum dibaca",
+    "MAXLENGTH": "Panjang maksimum",
+    "MAXMESSAGES": "Max Messages",
+    "MAXSECONDS": "Max Detik",
+    "MAY": "Mungkin",
+    "MEMBERDELAY": "Penundaan Anggota",
+    "MESSAGE": "Pesan",
+    "MESSAGES": "Pesan",
+    "MESSAGESALIGNMENT": "Messages Alignment",
+    "METHOD": "metode",
+    "METRIC": "Metrik",
+    "MINANNOUNCEFREQUENCY": "Frekuensi Pengumuman Minimum",
+    "MINUTEANNOUNCE": "Menit Pengumuman",
+    "MINUTESANNOUNCE": "Menit-menit Mengumumkan",
+    "MOBILE": "Seluler",
+    "MODULES": "Modul",
+    "MOHSOUNDS": "Moh Sounds",
+    "MONITORFORMAT": "Format Perekaman",
+    "MORE": "Lebih",
+    "MOTIONADDRESS": "Alamat Gerak",
+    "MOTIONBAR": "Gerak Gerak",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Domain Proxy Atau Gerak",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musik Ditahan",
+    "MUSICONHOLDS": "Musik Ditahan",
+    "NAME": "Nama",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "ChanSpy baru",
+    "NEW_CONTACT": "Kontak baru",
+    "NEW_CONTEXT": "Konteks Baru",
+    "NEW_INBOUNDROUTE": "Rute Inbound Baru",
+    "NEW_INTERNALROUTE": "Rute Internal Baru",
+    "NEW_MUSICONHOLD": "Musik Baru Ditahan",
+    "NEW_OUTBOUNDROUTE": "Rute Keluar Baru",
+    "NEW_PROJECT": "Proyek baru",
+    "NEW_TAB": "Tab baru",
+    "NEW_TAG": "Tag Baru",
+    "NEW_VARIABLE": "Variabel Baru",
+    "NEW_VOICEMAIL": "Voicemail Baru",
+    "NEW_VOICEQUEUE": "Antrean Suara Baru",
+    "NO": "Tidak",
+    "NONE": "Tidak ada",
+    "NOOP": "Noop",
+    "NOTE": "Catatan",
+    "NOTES": "Catatan",
+    "NOTIFICATION": "Pemberitahuan",
+    "NOTIFICATIONSHAKE": "Menggoyang",
+    "NOTIFICATIONSOUND": "Suara",
+    "NOTIFICATIONTEMPLATE": "Template",
+    "NOT_INUSE": "Tidak digunakan",
+    "NO_AGENT_ONLINE": "Tanpa Agen Online",
+    "NO_APPS_AVAILABLE": "Tidak ada aplikasi yang tersedia",
+    "NO_AVAILABLE_INFO": "Tidak Ada Info Tersedia",
+    "NO_INTERACTION_AVAILABLE": "Tidak ada interaksi yang tersedia",
+    "NO_MESSAGE_AVAILABLE": "Tidak ada pesan tersedia",
+    "NO_MOHSOUND_AVAILABLE": "Tidak ada Music On Hold yang tersedia",
+    "NO_RATING": "Tidak ada peringkat",
+    "NO_REGISTRY": "Tanpa registrasi",
+    "NO_SOUND_AVAILABLE": "Tidak ada suara yang tersedia",
+    "NUMBER": "Jumlah",
+    "OF": "dari",
+    "ONHOLD": "Tertahan",
+    "OPEN": "Buka",
+    "OPENCHANNEL": "Buka Saluran",
+    "OPENED": "Buka",
+    "OPERATOR": "Operator",
+    "OPTIONS": "Pilihan",
+    "ORIGINATED": "Berasal",
+    "OTHERS": "Lainnya",
+    "OUT": "Di luar",
+    "OUTBOUNDDIAL": "Panggilan Keluar",
+    "OUTBOUNDROUTE": "Rute Keluar",
+    "OUTBOUNDROUTES": "Rute Keluar",
+    "OUTBOUND_CALLS": "Panggilan Keluar",
+    "OUTPUT": "Keluaran",
+    "PAGE": "Halaman",
+    "PARTIALPAUSE": "Jeda Parsial",
+    "PASSWORD": "Kata sandi",
+    "PAUSE": "Berhenti sebentar",
+    "PAUSED": "Dijeda",
+    "PAUSE_TIME": "Jeda waktu",
+    "PAYMENTMETHOD": "Cara Pembayaran",
+    "PENALTY": "Penalti",
+    "PENDING": "Menunggu keputusan",
+    "PERIODICANNOUNCE": "Berkala Berkala",
+    "PERIODICANNOUNCEFREQUENCY": "Berkala Mengumumkan Frekuensi",
+    "PERSONAL_INFO": "Informasi pribadi",
+    "PHONE": "Telepon",
+    "PHONENUMBER": "Nomor telepon",
+    "PHONE_STATE": "Negara Telepon",
+    "PHONE_STATUS": "Status Telepon",
+    "PLAYBACK": "Putar kembali",
+    "PLUGINS": "Plugin",
+    "PORT": "Pelabuhan",
+    "POSITION": "Posisi",
+    "POSTALCODE": "Kode Pos",
+    "PREFIX": "Awalan",
+    "PREVIEW": "Preview",
+    "PRIORITY": "Prioritas",
+    "PROJECT": "Proyek Cally-Square",
+    "PROJECTS": "Proyek",
+    "PROXY": "Proksi",
+    "QUEUE": "Antre",
+    "QUEUES": "Antrian",
+    "QUEUETRANSFER": "Transfer Antrean",
+    "QUEUETRANSFERTIMEOUT": "Waktu Tunggu Transfer Antrean",
+    "QUEUE_CALLS": "Panggilan Antrean",
+    "QUEUE_PARAMETERS": "Parameter Antrean",
+    "QUEUE_PARAMS": "Parameter Antrean",
+    "RANDOM": "Acak",
+    "RANDOMPERIODICANNOUNCE": "Pengumuman Berkala Acak",
+    "RATING": "Rating",
+    "REACHABLE": "Dapat dijangkau",
+    "READY": "Siap",
+    "REALTIME": "Waktu sebenarnya",
+    "RECALLME": "Ingat saya",
+    "RECEIVED_AT": "Diterima pada",
+    "RECEIVEURL": "Terima URL",
+    "RECORD": "Merekam",
+    "RECORDING": "Rekaman",
+    "RECORDINGFORMAT": "Format rekaman",
+    "RECORDINGS": "Rekaman",
+    "REFRESH_INTERACTIONS": "Segarkan Interaksi",
+    "REGISTERED": "Terdaftar",
+    "REGISTRY": "Registry",
+    "REJECT": "Menolak",
+    "REJECTED": "Ditolak",
+    "REJECTMETHOD": "Tolak Metode",
+    "REJECTURL": "Tolak URL",
+    "RELOAD": "Muat ulang",
+    "REPLY": "Balasan",
+    "REPORT": "Melaporkan",
+    "REPORTHOLDTIMEAGENT": "Waktu tunggu Agen Agen",
+    "RETRY": "Mencoba kembali",
+    "RING": "Cincin",
+    "RINGGROUP": "Grup Cincin",
+    "RINGING": "Dering",
+    "RINGINUSE": "Ring In Use",
+    "ROWSPERPAGE": "Baris per halaman",
+    "RULE": "Aturan",
+    "SAVE": "Menyimpan",
+    "SCHEDULEDAT": "Dijadwalkan di",
+    "SCHEDULED_CALLS": "Panggilan Terjadwal",
+    "SCREENRECORDING": "Kelola Perekaman Layar",
+    "SCRIPT": "Naskah",
+    "SEARCH_FOR_ANYONE": "Pencarian",
+    "SECONDSANNOUNCE": "Detik mengumumkan",
+    "SECRETACCESSKEY": "Kunci Akses Rahasia",
+    "SECURITY_SUITE": "Suite Keamanan",
+    "SELECT": "Pilih",
+    "SELECTED": "Terpilih",
+    "SELECTED_AGENTS": "Agen yang Dipilih",
+    "SELECTED_TEAMS": "Tim yang Dipilih",
+    "SELECTED_USERS": "Pengguna yang Dipilih",
+    "SELECT_ACCOUNT": "Pilih Akun",
+    "SELECT_ALL": "Pilih Semua",
+    "SELECT_DATE": "Pilih Tanggal Mulai",
+    "SELECT_NONE": "Pilih Tidak Ada",
+    "SELECT_STATUS": "Pilih Status",
+    "SELECT_TYPE": "Pilih tipe",
+    "SEND": "Kirim",
+    "SENDMAIL": "Mengirim email",
+    "SENTIMENTANALYSIS": "Analisis Sentimen",
+    "SERVICE": "Layanan",
+    "SESSIONS": "Sesi",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Setel Antarmuka Variabel",
+    "SETQUEUEENTRYVARIABLES": "Setel Masukan Antrean",
+    "SETQUEUEVARIABLES": "Setel Variabel Antrian",
+    "SETTINGS": "Pengaturan",
+    "SHOW_ALL_FIELDS": "Tampilkan semua bidang",
+    "SHOW_DETAILS": "Tampilkan detail",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Tuan rumah",
+    "SMTP_PORT": "Pelabuhan",
+    "SOCIAL": "Sosial",
+    "SORT": "Menyortir",
+    "SOURCE": "Sumber",
+    "SPYINTERACTION": "Mengintai",
+    "STAFF": "Staf",
+    "STARTEDAT": "Dimulai pada",
+    "STARTTIME": "Waktu mulai",
+    "START_SCREENRECORDING": "Mulai Perekaman Layar",
+    "STATE": "Negara",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Hentikan Perekaman Layar",
+    "STRATEGY": "Strategi",
+    "SUBJECT": "Subyek",
+    "SYSTEM": "Sistem",
+    "TAG": "Menandai",
+    "TAGS": "Tag",
+    "TALKING": "Pembicaraan",
+    "TEAMS_ASSOCIATION": "Asosiasi Tim",
+    "TECHNOLOGY/RESOURCE": "Teknologi / Sumber Daya",
+    "TELEPHONES": "Telepon",
+    "TEMPLATE": "Template",
+    "TEXT": "Teks",
+    "THANKYOUANNOUNCE": "'Terima Kasih' Umumkan",
+    "THEREAREANNOUNCE": "'Ada' Umumkan",
+    "TIMEOUT": "Waktu habis",
+    "TIMEOUTRESTART": "Timeout Restart",
+    "TIMER": "Timer",
+    "TIMES": "Jumlah kali per interaksi",
+    "TIMEZONE": "Zona waktu",
+    "TO": "Untuk",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Rekaman Layar tersedia",
+    "TOOLTIP_SCREENRECORDING_ON": "Perekaman Layar sedang berlangsung",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total yang Ditawarkan",
+    "TRANSCRIBE": "Menuliskan",
+    "TRANSFER": "Transfer",
+    "TRANSPORT": "Mengangkut",
+    "TRUEPRIORITY": "Prioritas Benar",
+    "TRUNK": "Bagasi",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Status Batang",
+    "TYPE": "Mengetik",
+    "UNAVAILABLE": "Tidak tersedia",
+    "UNIQUEID": "Identitas unik",
+    "UNKNOWN": "Tidak dikenal",
+    "UNMANAGED": "Tidak dikelola",
+    "UNPAUSE": "Akhiri Jeda",
+    "UNREACHABLE": "Tidak dapat dijangkau",
+    "UNREGISTERED": "Tidak terdaftar",
+    "UP": "Naik",
+    "UPDATE": "Memperbarui",
+    "UPLOADING": "Mengunggah",
+    "URL": "URL",
+    "USER": "Pengguna",
+    "USERNAME": "Nama pengguna",
+    "USERS": "Pengguna",
+    "VALUE": "Nilai",
+    "VARIABLE": "Variabel",
+    "VIDAOOSESSION": "Mulai Panggilan Video",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Dukungan video",
+    "VOICE": "Suara",
+    "VOICEMAIL": "Voicemail",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "Konteks",
+    "VOICEQUEUES": "Antrean Suara",
+    "VOICERECORDINGS": "Rekaman Suara",
+    "WAITFORTHEASSIGNEDAGENT": "Tunggu agen yang ditugaskan",
+    "WAITING": "Menunggu",
+    "WAITINGCALLSANNOUNCE": "Menunggu Panggilan Mengumumkan",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Situs web",
+    "WEIGHT": "Berat",
+    "WELCOMEMESSAGE": "Pesan Selamat Datang",
+    "WHATSAPP": "Konektor WhatsApp",
+    "WHITELABEL": "Label putih",
+    "WRAPUPTIME": "Waktu Pembungkus",
+    "WRONG_EXTENSION": "File menyajikan ekstensi yang salah",
+    "YES": "iya nih",
+    "YOUARENEXTANNOUNCE": "'Kamu berikutnya' Umumkan"
+  }
+}
diff --git a/public/app/main/i18n/it.json b/public/app/main/i18n/it.json
new file mode 100644
index 0000000..31e2f5d
--- /dev/null
+++ b/public/app/main/i18n/it.json
@@ -0,0 +1,689 @@
+{
+  "APP": {
+    "ABANDONED": "Abbandonate",
+    "ABANDONEDCALLS": "Chiamate in coda abbandonate",
+    "ABANDONED_CALLS": "Chiamate Abbandonate",
+    "ACCEPT": "Accetta",
+    "ACCEPTMETHOD": "Metodo Accetta",
+    "ACCEPTURL": "URL Accetta",
+    "ACCESSKEYID": "ID chiave di accesso",
+    "ACCOUNT": "Account",
+    "ACCOUNTNAME": "Nome Account",
+    "ACCOUNTS": "Accounts",
+    "ACCOUNTSID": "Account SID",
+    "ACTIONS": "Azioni",
+    "ACTIVE": "Attivo",
+    "ADD": "Aggiungi",
+    "ADDRESS": "Indirizzo",
+    "ADD_AGENT_TO_QUEUE": "Aggiungi Agente alla Coda",
+    "ADD_AGENT_TO_VOICEQUEUE": "Aggiungi Agente alla coda",
+    "ADD_CHANSPY": "Aggiungi ChanSpy",
+    "ADD_CONTACT": "Aggiungi Contatto",
+    "ADD_CONTEXT": "Aggiungi Contesto",
+    "ADD_INBOUNDROUTE": "Aggiungi Rotta Inbound",
+    "ADD_INTERNALROUTE": "Aggiungi Rotta Interna",
+    "ADD_MOHSOUND": "Aggiungi audio Musica di Attesa",
+    "ADD_MUSICONHOLD": "Aggiungi Musica di Attesa",
+    "ADD_NOTE": "Aggiungi nota",
+    "ADD_OUTBOUNDROUTE": "Aggiungi Rotta Outbound",
+    "ADD_PROJECT": "Aggiungi Progetto",
+    "ADD_TEAM_TO_VOICEQUEUE": "Aggiungi Team alla coda",
+    "ADD_VARIABLE": "Aggiungi Variabile",
+    "ADD_VOICEMAIL": "Aggiungi Casella Vocale",
+    "ADD_VOICEQUEUE": "Aggiungi Coda Voce",
+    "ADVANCED": "Avanzate",
+    "AFTERCALLWORK": "After Call Work",
+    "AFTERCALLWORKDURATION": "Durata After Call Work",
+    "AGENT": "Agente",
+    "AGENTS": "Agenti",
+    "AGENTSADD_QUEUE": "Aggiungi agenti alla coda",
+    "AGENTTRANSFER": "Trasferimento dell'agente",
+    "AGENTTRANSFERTIMEOUT": "Timeout trasferimento agente",
+    "AGENT_TIMEOUT": "Timeout Agente",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Tutti",
+    "ALLOWCODECS": "ENFN",
+    "ALL_AGENTS": "Tutti gli Agenti",
+    "ALL_TEAMS": "Tutti i Team",
+    "ALL_USERS": "Tutti gli Utenti",
+    "ALPHABETICAL": "Alfabetico",
+    "ALWAYS": "Sempre",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Annuncia posizione del chiamante",
+    "ANNOUNCEFREQUENCY": "Frequenza Annunci",
+    "ANNOUNCEHOLDTIME": "Annuncia tempo di attesa",
+    "ANNOUNCEMENTS": "Annunci",
+    "ANNOUNCEPOSITIONLIMIT": "Limite Annuncio Posizione",
+    "ANNOUNCETOAGENT": "Annuncio all'Agente",
+    "ANNOUNCE_OVERRIDES": "Escludi Annuncio",
+    "ANSWER": "Rispondi",
+    "ANSWERED": "Risposte",
+    "API": "API",
+    "APIKEY": "ApiKey",
+    "APPLICATION": "Applicazione",
+    "APPLICATION_NAME": "Nome Applicazione",
+    "ARGUMENTS": "Argomenti",
+    "ATTACH": "Allega",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "File Audio",
+    "AUDIO_FILES": "File audio",
+    "AUTH": "Auth",
+    "AUTOREPLY": "Risposta Automatica",
+    "AVG_BILLABLE": "Fatturabile medio",
+    "AVG_DURATION": "Durata media",
+    "AVG_HOLD_TIME": "Tempo medio di attesa",
+    "BACK": "Indietro",
+    "BASEURL": "Base URL",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Body",
+    "BOTNAME": "Nome del bot",
+    "BUILDER": "Builder",
+    "BUSY": "Occupato",
+    "CALLED": "Chiamato",
+    "CALLER": "Chiamante",
+    "CALLERID": "Caller ID",
+    "CALLER_ID": "ID Chiamante",
+    "CALLYSQUARE": "Cally Square",
+    "CAMPAIGN": "Campagna",
+    "CANCEL": "Annulla",
+    "CANNEDANSWERS": "Canned Answers",
+    "CANNED_ANSWER_NOT_FOUND": "Nessuna risposta precompilata trovata",
+    "CANNED_ANSWER_SEARCH": "Inserire un valore da cercare nelle risposte compilate",
+    "CANT_DOWNLOAD_THIS_FILE": "Impossibile scaricare il file",
+    "CAPACITY": "Capacità",
+    "CHANNEL": "Canale",
+    "CHANNELS": "Canali",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "Città",
+    "CLEAR": "Svuota",
+    "CLOSE": "Chiudi",
+    "CLOSED": "Chiusa",
+    "CLOSEDAT": "Chiusa il",
+    "CLOSEMETHOD": "Metodo Chiudi",
+    "CLOSEURL": "URL Chiudi",
+    "CLOSING": "Chiusura",
+    "COMMAND": "Comando",
+    "COMPANIES": "Compagnie",
+    "COMPANY": "Azienda",
+    "CONDITION": "Condizione",
+    "CONFIRM_PASSWORD": "Conferma Password",
+    "CONNECTED": "Connesso",
+    "CONTACT": "Contatto",
+    "CONTACTMANAGER": "Manager Contatti",
+    "CONTACTS": "Contatti",
+    "CONTENT": "Contenuto",
+    "CONTEXT": "Contesto",
+    "CONTEXTS": "Contesti",
+    "COUNTRY": "Paese",
+    "CREATED_AT": "Creato il",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Customer Journey",
+    "CUSTOM_FIELDS": "Campi Custom",
+    "CUTDIGITS": "Cut Digits",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Data",
+    "DATE_OF_BIRTH": "Data di nascita",
+    "DEFAULT": "Default",
+    "DEFAULT_PAUSE": "Pausa di default",
+    "DELETE": "Elimina",
+    "DELETE_APP": "Elimina Applicazione",
+    "DELETE_CHANSPY": "Elimina ChanSpy",
+    "DELETE_CONTEXT": "Elimina Contesto",
+    "DELETE_HOPPER": "Elimina Hopper",
+    "DELETE_INBOUNDROUTE": "Elimina Rotta Inbound",
+    "DELETE_INTERACTION": "Elimina Interazione",
+    "DELETE_INTERNALROUTE": "Elimina Rotta Interna",
+    "DELETE_MOHSOUND": "Elimina audio Musica di Attesa",
+    "DELETE_MUSICONHOLD": "Elimina Musiche di Attesa",
+    "DELETE_OUTBOUNDROUTE": "Elimina Rotta Outbound",
+    "DELETE_PROJECT": "Cancella Progetto",
+    "DELETE_SELECTED": "Elimina selezionati",
+    "DELETE_VOICEDISPOSITION": "Elimina Esito Voce",
+    "DELETE_VOICEMAIL": "Elimina Casella Vocale",
+    "DELETE_VOICEQUEUE": "Elimina Coda Voce",
+    "DELETE_VOICERECORDING": "Elimina Registrazione Voce",
+    "DELIVERYREPORTURL": "URL del rapporto di consegna",
+    "DESCRIPTION": "Descrizione",
+    "DESTINATION": "Destinazione",
+    "DESTINATIONPATTERN": "Pattern di Destinazione",
+    "DETAIL": "Dettaglio",
+    "DETAILS": "Dettagli",
+    "DIAL": "Dial",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "Cartella",
+    "DISABLED": "Disabilitato",
+    "DISPOSITION": "Esito",
+    "DISPOSITIONS": "Esiti",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Scarica audio Musica di Attesa",
+    "DOWNLOAD_VOICERECORDING": "Download Registrazione Voce",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Scarica senza allegato",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download senza allegati",
+    "DOWNLOAD_WITH_ATTACHMENT": "Scarica con allegato",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download con allegati",
+    "DROPPED": "Perse",
+    "DROP_TO_UPLOAD": "Trascina il file da caricare",
+    "DURATION": "Durata",
+    "EDIT": "Modifica",
+    "EDIT_AGENT": "Modifica Agente",
+    "EDIT_AGI": "Modifica AGI",
+    "EDIT_AMAZONLEX": "Modifica la configurazione Lex",
+    "EDIT_APP": "Modifica Applicazione",
+    "EDIT_AUTOREPLY": "Modifica Risposta Automatica",
+    "EDIT_CHANSPY": "Modifica ChanSpy",
+    "EDIT_CLOSE": "Modifica Chiudi",
+    "EDIT_CONTEXT": "Modifica Contesto",
+    "EDIT_CUSTOM": "Modifica Custom",
+    "EDIT_DIAL": "Modifica Dial",
+    "EDIT_DIALOGFLOW": "Modifica la configurazione di Dialogflow",
+    "EDIT_EXTERNALDIAL": "Modifica dial esterna",
+    "EDIT_GOTO": "Modifica Goto",
+    "EDIT_GOTOIF": "Modifica GotoIf",
+    "EDIT_GOTOP": "Modifica Gotop",
+    "EDIT_HANGUP": "Modifica Hangup",
+    "EDIT_HOPPER": "Modifica Hopper",
+    "EDIT_INBOUNDROUTE": "Modifica Rotta Inbound",
+    "EDIT_INTERNALDIAL": "Modifica Dial interna",
+    "EDIT_INTERNALROUTE": "Modifica Rotta Interna",
+    "EDIT_INTERVAL": "Modifica Intervallo",
+    "EDIT_MUSICONHOLD": "Modifica Musiche di Attesa",
+    "EDIT_NOOP": "Modifica Noop",
+    "EDIT_OUTBOUNDROUTE": "Modifica Rotta Outbound",
+    "EDIT_PLAYBACK": "Modifica Playback",
+    "EDIT_PROJECT": "Modifica Progetto",
+    "EDIT_QUEUE": "Modifica Coda",
+    "EDIT_RINGGROUP": "Modifica Ring Group",
+    "EDIT_SET": "Modifica Set",
+    "EDIT_SYSTEM": "Modifica System",
+    "EDIT_TAG": "Modifica Tag",
+    "EDIT_TRUNK": "Modifica Trunk",
+    "EDIT_VOICEDISPOSITION": "Modifica Esito Voce",
+    "EDIT_VOICEMAIL": "Modifica Casella Vocale",
+    "EDIT_VOICEQUEUE": "Modifica Coda Voce",
+    "EDIT_VOICERECORDING": "Edita Registrazione Audio",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Indirizzo Email",
+    "EMAILBODY": "Corpo Email",
+    "EMAILSUBJECT": "Soggetto Email",
+    "ENABLED": "Abilitato",
+    "ENCRYPTION": "Encryption",
+    "ENDTIME": "Ora di fine",
+    "ENVELOPE": "Imbusta",
+    "EQUALS": "È uguale a",
+    "ERROR": "Errore",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "ACCESSKEYID_REQUIRED": "È richiesto l'ID chiave di accesso",
+      "ACCOUNTNAME_REQUIRED": "Campo obbligatorio",
+      "ACCOUNTSID_REQUIRED": "Campo obbligatorio",
+      "APIKEY": "Utilizzare il pulsante \"Gestione API Key\" sulla barra degli strumenti per gestire questa chiave",
+      "AFTERCALLWORKDURATION_REQUIRED": "Campo Obbligatorio",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
+      "AGENT_REQUIRED": "Campo obbligatorio",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "AGENT_TIMEOUT_REQUIRED": "Campo obbligatorio",
+      "APIKEY_REQUIRED": "Campo obbligatorio",
+      "ALIAS_REQUIRED": "Campo obbligatorio",
+      "APPLICATION_REQUIRED": "Campo obbligatorio",
+      "AUTHID_REQUIRED": "Campo Obbligatorio",
+      "AUTHTOKEN_REQUIRED": "Campo obbligatorio",
+      "BASEURL_REQUIRED": "Campo obbligatorio",
+      "BOTNAME_REQUIRED": "È richiesto il nome del bot",
+      "CLOSEURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "COMMAND_REQUIRED": "Campo obbligatorio",
+      "CONDITION_REQUIRED": "Campo obbligatorio",
+      "CONTEXT_REQUIRED": "Campo Obbligatorio",
+      "DESTINATIONPATTERN_REQUIRED": "Campo Obbligatorio",
+      "DISPOSITION_REQUIRED": "Campo obbligatorio",
+      "EMAIL_MUST_VALID": "Il campo deve avere un formato valido",
+      "EMAIL_REQUIRED": "Campo Obbligatorio",
+      "EXTENSION_REQUIRED": "Campo Obbligatorio",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità per condizione falsa deve essere maggiore o uguale a",
+      "FALSEPRIORITY_REQUIRED": "Campo obbligatorio",
+      "FIELD_REQUIRED": "Campo Obbligatorio",
+      "FIRSTNAME_REQUIRED": "Campo Obbligatorio",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "FONTSIZE_REQUIRED": "Campo obbligatorio",
+      "FULLNAME_REQUIRED": "Campo Obbligatorio",
+      "HOST_REQUIRED": "Campo obbligatorio",
+      "KEY_MAX_LENGTH": "Il valore introdotto non deve essere più lungo di {{max}} caratteri",
+      "KEY_REQUIRED": "Campo obbligatorio",
+      "LIST_REQUIRED": "Campo obbligatorio",
+      "MAILBOX_REQUIRED": "Campo Obbligatorio",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio",
+      "METHOD_REQUIRED": "Campo obbligatorio",
+      "MOTIONADDRESS_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "MOTIONADDRESS_REQUIRED": "Campo obbligatorio",
+      "MOTIONPROXY_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "MOTIONPROXY_REQUIRED": "Campo obbligatorio",
+      "NAME_MUST_VALID_PATTERN": "Formato errato",
+      "NAME_REQUIRED": "Campo obbligatorio",
+      "OPTIONS_REQUIRED": "Campo Obbligatorio",
+      "OUTBOUNDROUTE_REQUIRED": "Campo Obbligatorio",
+      "PASSWORD_REQUIRED": "Campo Obbligatorio",
+      "PHONENUMBER_REQUIRED": "Campo Obbligatorio",
+      "PHONE_REQUIRED": "Campo Obbligatorio",
+      "PREFIX_REQUIRED": "Campo Obbligatorio",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità deve essere maggiore o uguale a",
+      "PRIORITY_REQUIRED": "Campo Obbligatorio",
+      "PROJECT_REQUIRED": "Campo Obbligatorio",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
+      "QUEUE_REQUIRED": "Campo obbligatorio",
+      "REJECTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "SECRETACCESSKEY_REQUIRED": "Campo obbligatorio",
+      "SENDERSTRING_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Il campo deve avere un formato valido",
+      "SID_REQUIRED": "Campo obbligatorio",
+      "TAG_REQUIRED": "Campo obbligatorio",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Campo Obbligatorio",
+      "TEXT_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
+      "TEXT_REQUIRED": "Campo obbligatorio",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "TIMEOUT_REQUIRED": "Campo obbligatorio",
+      "TIMEZONE_REQUIRED": "Campo Obbligatorio",
+      "TOKEN_REQUIRED": "Campo obbligatorio",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità per condizione vera deve essere maggiore o uguale a",
+      "TRUEPRIORITY_REQUIRED": "Campo obbligatorio",
+      "TRUNK_REQUIRED": "Campo obbligatorio",
+      "TYPE_REQUIRED": "Campo obbligatorio",
+      "URL_REQUIRED": "Campo obbligatorio",
+      "USERNAME_REQUIRED": "Campo obbligatorio",
+      "VALUE_REQUIRED": "Campo Obbligatorio",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obbligatorio",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Annuncio Tempo di Attesa stimato",
+    "EXTENSION": "Extension",
+    "EXTERNALDIAL": "Dial Esterna",
+    "FAILED": "Fallita",
+    "FALSEPRIORITY": "Priorità per condizione falsa",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Campo",
+    "FIELDS": "Campi",
+    "FILE": "File",
+    "FILE_NOT_FOUND": "File non presente sul server",
+    "FILTER": "Filtro",
+    "FILTERS": "Filtri",
+    "FINISH": "Fine",
+    "FIRSTNAME": "Nome",
+    "FONTSIZE": "Dimensione carattere",
+    "FORMAT": "Formato",
+    "FREE": "Libera",
+    "FROM": "Da",
+    "FULLNAME": "Nome Completo",
+    "GENERAL": "Generale",
+    "GLOBAL": "Globale",
+    "GOSUB": "GoSub",
+    "GOTO": "Goto",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "Gotop",
+    "HANGUP": "Riaggancia",
+    "HANGUPCAUSE_1": "1 = Numero non allocato",
+    "HANGUPCAUSE_16": "16 = Chiamata completata",
+    "HANGUPCAUSE_17": "17 = Utente occupato",
+    "HANGUPCAUSE_18": "18 = Nessuna risposta da utente (telefono non connesso)",
+    "HANGUPCAUSE_21": "21 = Chiamata rifiutata",
+    "HANGUPCAUSE_22": "22 = Numero cambiato",
+    "HANGUPCAUSE_27": "27 = Destinazione fuori servizio",
+    "HANGUPCAUSE_38": "38 = Rete fuori servizio",
+    "HANGUPCAUSE_41": "41 = Fallimento temporaneo",
+    "HANGUP_CAUSE": "Causa Hangup",
+    "HEADERS": "Headers",
+    "HELP": {
+      "AFTERCALLWORK": "After Call Work",
+      "AFTERCALLWORKDURATION": "Durata After Call Work",
+      "ANNOUNCECALLERPOSITION": "Definisce se annunciare la posizione del chiamante. Se impostato su no la posizione non verrà amai annunciata. Se impostata la posizione verrà sempre annunciata. Se impostato su limit il chiamante ascolterà la sua posizione solo se entro il limite dell' announce position limit. Se è impostato su more il chiamante ascolterà la sua posizione se si trova oltre il limite in announce position limit.",
+      "ANNOUNCEHOLDTIME": "Definisce se annunciare il tempo di attesa stimato insieme agli annunci periodici",
+      "ANNOUNCETOAGENT": "Usato per riprodurre un annuncio all'agente che ha risposto alla chiamata, di solito per informarlo da quale coda arriva il chiamante",
+      "CONTEXT": "Abilita il chiamante ad uscire dalla coda premendo un tasto numerico. Se è stato specificato un contesto per quel numero verrà attivato il dialplan relativo",
+      "DISABLED": "selezionare per disattivare / deselezionare per riattivare",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Se non definito, riproduce il valore di default (“The current estimated hold time is..”). Se impostato su un valore vuoto non verrà riprodotto",
+      "HOLDTIMEANNOUNCE": "Se non definito, riproduce il valore di default (“Hold time..”). Se impostato su un valore vuoto non verrà riprodotto",
+      "LIST": "Lista del Contact Manager usata per associare i contatti",
+      "MANDATORYDISPOSITION": "Disposizione obbligatoria",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare se è abilitata la disposizione obbligatoria",
+      "MEMBERDELAY": "Usato se si vuole che ci sia un ritardo prima che il chiamante e l'agente in coda vengano connessi",
+      "MINANNOUNCEFREQUENCY": "Specifica la minima quantità di tempo tra gli annunci della posizione del chiamante. E' usato quando la posizione del chiamante può cambiare frequentemente, per prevenire che il chiamante ascolti troppi aggiornamenti",
+      "MINUTEANNOUNCE": "Se non definito, riproduce il valore di default (“minute”). Se impostato su un valore vuoto non verrà riprodotto",
+      "MINUTESANNOUNCE": "Se non definito, riproduce il valore di default (“minutes”). Se impostato su un valore vuoto non verrà riprodotto",
+      "MONITORFORMAT": "Specifica il formato del file di registrazione. Se impostato su inactive le chiamate non verranno registrate",
+      "MOTIONPROXY": "Inserire nel seguente formato: &lt;protocollo&gt;://&lt;indirizzoIP&gt;[:&lt;porta&gt;]. Es: https://X.Y.Z.W",
+      "MUSICONHOLD": "Imposta la musica d'attesa da usare per una particolare coda",
+      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
+      "PERIODICANNOUNCE": "Serie di annunci periodici da riprodurre, nell' ordine in cui sono definiti",
+      "PERIODICANNOUNCEFREQUENCY": "Indica quanto spesso riprodurre gli annunci periodici per il chiamante",
+      "RECORDING": "Abilita la registrazione della chiamata",
+      "TYPE": "Determina il ruolo del SIP all'interno di asterisk. User: usato per identificare le chiamate in arrivo - Peer: per le chiamate in uscita - Friend: copre entrambe le caratteristiche di User e Peer",
+      "USERNAME": "Sono accettati solo numeri, lettere e caratteri specifici (._)",
+      "REPORTHOLDTIMEAGENT": "Abilita l'annuncio del tempo di attesa del chiamante all'agente della coda, prima della connessione al canale",
+      "RINGINUSE": "Usato per evitare di inviare chiamate agli agenti il cui stato è In Use",
+      "SECONDSANNOUNCE": "Se non definito, riproduce il valore di default (“seconds”). Se impostato su un valore vuoto non verrà riprodotto",
+      "THANKYOUANNOUNCE": "Se non definito, riproduce il valore di default (“Thank you for your patience”). Se impostato su un valore vuoto non verrà riprodotto.",
+      "THEREAREANNOUNCE": "Se non definito, riproduce il valore di default (“There are”). Se impostato su un valore vuoto non verrà riprodotto",
+      "TIMEOUTRESTART": "Se impostato a yes, resetta il timeout di un agente per rispondere ad una chiamata se il canale è in stato BUSY o CONGESTION",
+      "VOICEMAIL_CONTEXT": "Il contesto dell'extension relativa.",
+      "WAITINGCALLSANNOUNCE": "Se non definito, riproduce il valore di default (“calls waiting”). Se impostato su un valore vuoto non verrà riprodotto",
+      "WELCOMEMESSAGE": "Messaggio di benvenuto",
+      "YOUARENEXTANNOUNCE": "Se non definito, riproduce il valore di default (“You are now first in line”). Se impostato su un valore vuoto non verrà riprodotto"
+    },
+    "HIDE_DETAILS": "Nascondi dettagli",
+    "HOLDTIMEANNOUNCE": "Annuncio Tempo di Attesa",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Inattivo",
+    "IN": "Ingresso",
+    "INBOUNDROUTES": "Rotte Inbound",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Inserisci qui il messaggio",
+    "INTEGRATIONS": "Integrazioni",
+    "INTERACTION": "Interazione",
+    "INTERACTIONS": "Interazioni",
+    "INTERNAL": "Interno",
+    "INTERNALDIAL": "Dial Interna",
+    "INTERNALROUTES": "Rotte Interne",
+    "INTERVAL": "Intervallo",
+    "INTERVALS": "Intervalli",
+    "INUSE": "In uso",
+    "INVALID": "Invalido",
+    "IN_USE": "In uso",
+    "JOINWHENEMPTY": "fare riferimento a asterisk joinwhenempty",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Chiave",
+    "LAGGED": "Ritardato",
+    "LANGUAGE": "Lingua",
+    "LASTMESSAGE": "Ultimo messaggio",
+    "LASTNAME": "Cognome",
+    "LAST_MONTH": "Il Mese Scorso",
+    "LEAVEWHENEMPTY": "fare riferimento a astersik leavewhenempty",
+    "LEXREGION": "Regione",
+    "LIMITED": "Limite",
+    "LIST": "Lista",
+    "LOGGED_IN": "Connesso",
+    "LOGIN_TIME": "Tempo di login",
+    "LOGO": "Logo",
+    "LOGOUT": "Logout",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@Contesto",
+    "MANAGED": "Gestite",
+    "MANDATORYDISPOSITION": "Disposizione obbligatoria",
+    "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare se è abilitata la disposizione obbligatoria",
+    "MARK_AS_UNREAD": "Segna come non letto",
+    "MAXLENGTH": "Lunghezza Massima",
+    "MAXMESSAGES": "Max Messaggi",
+    "MAXSECONDS": "Max Secondi",
+    "MAY": "Maggio",
+    "MEMBERDELAY": "Ritardo Agente",
+    "MESSAGE": "Messaggio",
+    "MESSAGES": "Messaggi",
+    "MESSAGESALIGNMENT": "Allineamento Messaggi",
+    "METHOD": "Metodo",
+    "METRIC": "Metrica",
+    "MINANNOUNCEFREQUENCY": "Frequenza Minima Annunci",
+    "MINUTEANNOUNCE": "Annuncio 'minuto'",
+    "MINUTESANNOUNCE": "Annuncio 'minuti'",
+    "MOBILE": "Cellulare",
+    "MODULES": "Moduli",
+    "MOHSOUNDS": "Suoni Musiche Attesa",
+    "MONITORFORMAT": "Formato Registrazione",
+    "MORE": "Mostra Altro",
+    "MOTIONADDRESS": "Indirizzo Motion",
+    "MOTIONBAR": "Motion Bar",
+    "MOTIONDIALER": "Motion Bull Dialer",
+    "MOTIONPROXY": "Proxy O Dominio Motion",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musica di attesa",
+    "MUSICONHOLDS": "Musiche di Attesa",
+    "NAME": "Nome",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Nuovo ChanSpy",
+    "NEW_CONTACT": "Nuovo contatto",
+    "NEW_CONTEXT": "Nuovo Contesto",
+    "NEW_INBOUNDROUTE": "Nuova Rotta Inbound",
+    "NEW_INTERNALROUTE": "Nuova Rotta Interna",
+    "NEW_MUSICONHOLD": "Nuova Musica di attesa",
+    "NEW_OUTBOUNDROUTE": "Nuova Rotta Outbound",
+    "NEW_PROJECT": "Nuovo Progetto",
+    "NEW_TAB": "Nuovo Tab",
+    "NEW_TAG": "Nuovo Tag",
+    "NEW_VARIABLE": "Nuova Variabile",
+    "NEW_VOICEMAIL": "Nuova Casella Vocale",
+    "NEW_VOICEQUEUE": "Nuova Coda Voce",
+    "NO": "No",
+    "NONE": "Nessuno",
+    "NOOP": "Noop",
+    "NOTE": "Nota",
+    "NOTES": "Note",
+    "NOTIFICATION": "Notifica",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Suono",
+    "NOTIFICATIONTEMPLATE": "Template",
+    "NOT_INUSE": "Non in uso",
+    "NO_AGENT_ONLINE": "Nessun Agente Online",
+    "NO_APPS_AVAILABLE": "Nessuna applicazione disponibile",
+    "NO_AVAILABLE_INFO": "Nessuna informazione disponibile",
+    "NO_INTERACTION_AVAILABLE": "Nessuna interazione disponibile",
+    "NO_MESSAGE_AVAILABLE": "Nessun messaggio disponibile",
+    "NO_MOHSOUND_AVAILABLE": "Nessuna Musica di Attesa disponibile",
+    "NO_RATING": "Nessuna",
+    "NO_REGISTRY": "Nessuna registrazione",
+    "NO_SOUND_AVAILABLE": "Nessun suono disponibile",
+    "NUMBER": "Numero",
+    "OF": "di",
+    "ONHOLD": "In attesa",
+    "OPEN": "Apri",
+    "OPENCHANNEL": "Open Channel",
+    "OPENED": "Aperta",
+    "OPERATOR": "Operatore",
+    "OPTIONS": "Opzioni",
+    "ORIGINATED": "Generate",
+    "OTHERS": "Altro",
+    "OUT": "Uscita",
+    "OUTBOUNDDIAL": "Dial Outbound",
+    "OUTBOUNDROUTE": "Rotta Outbound",
+    "OUTBOUNDROUTES": "Rotte Outbound",
+    "OUTBOUND_CALLS": "Chiamate Outbound",
+    "OUTPUT": "Output",
+    "PAGE": "Pagina",
+    "PARTIALPAUSE": "Pausa Parziale",
+    "PASSWORD": "Password",
+    "PAUSE": "Pausa",
+    "PAUSED": "In pausa",
+    "PAUSE_TIME": "Tempo di pausa",
+    "PAYMENTMETHOD": "Metodo di pagamento",
+    "PENALTY": "Penalità",
+    "PENDING": "In Attesa",
+    "PERIODICANNOUNCE": "Annuncio Periodico",
+    "PERIODICANNOUNCEFREQUENCY": "Frequenza Annuncio Periodico",
+    "PERSONAL_INFO": "Info Personali",
+    "PHONE": "Telefono",
+    "PHONENUMBER": "Numero di Telefono",
+    "PHONE_STATE": "Stato Telefono",
+    "PHONE_STATUS": "Uso Telefono",
+    "PLAYBACK": "Playback",
+    "PLUGINS": "Plugins",
+    "PORT": "Porta",
+    "POSITION": "Posizione",
+    "POSTALCODE": "CAP",
+    "PREFIX": "Prefisso",
+    "PREVIEW": "Visualizza anteprima",
+    "PRIORITY": "Priorità",
+    "PROJECT": "Progetto",
+    "PROJECTS": "Progetti",
+    "PROXY": "Proxy",
+    "QUEUE": "Coda",
+    "QUEUES": "Code",
+    "QUEUETRANSFER": "Trasferimento in coda",
+    "QUEUETRANSFERTIMEOUT": "Timeout del trasferimento della coda",
+    "QUEUE_CALLS": "Chiamate delle Code",
+    "QUEUE_PARAMETERS": "Parametri Code",
+    "QUEUE_PARAMS": "Parametri Code",
+    "RANDOM": "Casuale",
+    "RANDOMPERIODICANNOUNCE": "Annuncio Periodico in Ordine Casuale",
+    "RATING": "Valutazione",
+    "REACHABLE": "Raggiungibile",
+    "READY": "Ready",
+    "REALTIME": "Realtime",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "Ricevuto il",
+    "RECEIVEURL": "URL di ricezione",
+    "RECORD": "Registra",
+    "RECORDING": "Registrazione",
+    "RECORDINGFORMAT": "Formato Registrazione",
+    "RECORDINGS": "Registrazioni",
+    "REFRESH_INTERACTIONS": "Ricarica Interazioni",
+    "REGISTERED": "Registrato",
+    "REGISTRY": "Registrazione",
+    "REJECT": "Rifiuta",
+    "REJECTED": "Rifiutata",
+    "REJECTMETHOD": "Metodo Rifiuta",
+    "REJECTURL": "URL Rifiuta",
+    "RELOAD": "Ricaricare",
+    "REPLY": "Rispondi",
+    "REPORT": "Report",
+    "REPORTHOLDTIMEAGENT": "Riferisci tempo di attesa agente",
+    "RETRY": "Riprova",
+    "RING": "Squilla",
+    "RINGGROUP": "Ring Group",
+    "RINGING": "Squilla",
+    "RINGINUSE": "Squilla mentre in uso",
+    "ROWSPERPAGE": "Righe per pagina",
+    "RULE": "Regola",
+    "SAVE": "Salva",
+    "SCHEDULEDAT": "Pianificato il",
+    "SCHEDULED_CALLS": "Chiamate Schedulate",
+    "SCREENRECORDING": "Screen Recording",
+    "SCRIPT": "Script",
+    "SEARCH_FOR_ANYONE": "Cerca",
+    "SECONDSANNOUNCE": "Annuncio 'secondi'",
+    "SECRETACCESSKEY": "Secret Access Key",
+    "SECURITY_SUITE": "Suite Sicurezza",
+    "SELECT": "Seleziona",
+    "SELECTED": "Selezionati",
+    "SELECTED_AGENTS": "Agenti selezionati",
+    "SELECTED_TEAMS": "Team selezionati",
+    "SELECTED_USERS": "Utenti selezionati",
+    "SELECT_ACCOUNT": "Seleziona Account",
+    "SELECT_ALL": "Seleziona tutti",
+    "SELECT_DATE": "Seleziona la data",
+    "SELECT_NONE": "Deseleziona tutti",
+    "SELECT_STATUS": "Seleziona Stato",
+    "SELECT_TYPE": "Seleziona un tipo",
+    "SEND": "Invia",
+    "SENDMAIL": "Invia Email",
+    "SENTIMENTANALYSIS": "Sentiment Analysis",
+    "SERVICE": "Servizio",
+    "SESSIONS": "Sessioni",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Imposta Variabili d'interfaccia",
+    "SETQUEUEENTRYVARIABLES": "Imposta Variabili di entrata in Coda",
+    "SETQUEUEVARIABLES": "Imposta Variabili di Coda",
+    "SETTINGS": "Impostazioni",
+    "SHOW_ALL_FIELDS": "Mostra tutti i campi",
+    "SHOW_DETAILS": "Mostra dettagli",
+    "SMS": "Sms",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Host SMTP",
+    "SMTP_PORT": "Porta SMTP",
+    "SOCIAL": "Social",
+    "SORT": "Ordine",
+    "SOURCE": "Sorgente",
+    "SPYINTERACTION": "Spia",
+    "STAFF": "Staff",
+    "STARTEDAT": "Iniziata il",
+    "STARTTIME": "Ora di avvio",
+    "START_SCREENRECORDING": "Avvia Registrazione Schermo",
+    "STATE": "Stato",
+    "STATUS": "Stato",
+    "STOP_SCREENRECORDING": "Ferma Registrazione Schermo",
+    "STRATEGY": "Strategia",
+    "SUBJECT": "Oggetto",
+    "SYSTEM": "System",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Attive",
+    "TEAMS_ASSOCIATION": "Associazione Teams",
+    "TECHNOLOGY/RESOURCE": "Tecnologia/Risorsa",
+    "TELEPHONES": "Telefoni",
+    "TEMPLATE": "Template",
+    "TEXT": "Testo",
+    "THANKYOUANNOUNCE": "Annuncio 'Grazie'",
+    "THEREAREANNOUNCE": "Annuncio 'Ci sono'",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Riavvia Timeout",
+    "TIMER": "Tempo",
+    "TIMES": "Numero di volte per interazione",
+    "TIMEZONE": "Fuso Orario",
+    "TO": "A",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Registrazione dello schermo disponibile",
+    "TOOLTIP_SCREENRECORDING_ON": "Registrazione dello schermo in corso",
+    "TOTAL": "Totale",
+    "TOTAL_OFFERED": "Totali",
+    "TRANSCRIBE": "Transcribe",
+    "TRANSFER": "Trasferimento",
+    "TRANSPORT": "Protocollo",
+    "TRUEPRIORITY": "Priorità per condizione vera",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunk",
+    "TRUNK_STATUS": "Lo stato della linea",
+    "TYPE": "Tipo",
+    "UNAVAILABLE": "Non disponibile",
+    "UNIQUEID": "Unique ID",
+    "UNKNOWN": "Sconosciuto",
+    "UNMANAGED": "Non gestite",
+    "UNPAUSE": "Riprendi",
+    "UNREACHABLE": "Irraggiungibile",
+    "UNREGISTERED": "Non registrato",
+    "UP": "Risposto",
+    "UPDATE": "Aggiorna",
+    "UPLOADING": "Upload in corso",
+    "URL": "URL",
+    "USER": "Utente",
+    "USERNAME": "Username",
+    "USERS": "Utenti",
+    "VALUE": "Valore",
+    "VARIABLE": "Variabile",
+    "VIDAOOSESSION": "Avvia videochiamata",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video support",
+    "VOICE": "Voce",
+    "VOICEMAIL": "Casella Vocale",
+    "VOICEMAILS": "Caselle Vocali",
+    "VOICEMAIL_CONTEXT": "Contesto",
+    "VOICEQUEUES": "Code Voce",
+    "VOICERECORDINGS": "Registrazioni Voce",
+    "WAITFORTHEASSIGNEDAGENT": "Attendi l'agente assegnato",
+    "WAITING": "In attesa",
+    "WAITINGCALLSANNOUNCE": "Annuncio Chiamate in Attesa",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Sito Web",
+    "WEIGHT": "Peso",
+    "WELCOMEMESSAGE": "Messaggio di benvenuto",
+    "WHATSAPP": "WhatsApp Connector",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Wrapup Time",
+    "WRONG_EXTENSION": "Il file presenta un'estensione errata",
+    "YES": "Si",
+    "YOUARENEXTANNOUNCE": "Annuncio 'Sei il prossimo'"
+  }
+}
diff --git a/public/app/main/i18n/ja.json b/public/app/main/i18n/ja.json
new file mode 100644
index 0000000..87cc46e
--- /dev/null
+++ b/public/app/main/i18n/ja.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "放棄",
+    "ABANDONEDCALLS": "放棄されたキューコール",
+    "ABANDONED_CALLS": "放棄呼",
+    "ACCEPT": "同意する",
+    "ACCEPTMETHOD": "Acceptメソッド",
+    "ACCEPTURL": "Accept URL",
+    "ACCESSKEYID": "アクセスキーID",
+    "ACCOUNT": "アカウント",
+    "ACCOUNTNAME": "アカウント名",
+    "ACCOUNTS": "アカウント",
+    "ACCOUNTSID": "アカウントSID",
+    "ACTIONS": "アクション",
+    "ACTIVE": "アクティブ",
+    "ADD": "追加",
+    "ADDRESS": "アドレス",
+    "ADD_AGENT_TO_VOICEQUEUE": "音声キューにエージェントを追加",
+    "ADD_CHANSPY": "ChanSpyを追加",
+    "ADD_CONTACT": "連絡先の追加",
+    "ADD_CONTEXT": "コンテキストを追加",
+    "ADD_INBOUNDROUTE": "インバウンドルートを追加",
+    "ADD_INTERNALROUTE": "内部ルートを追加",
+    "ADD_MOHSOUND": "MoHサウンドを追加",
+    "ADD_MUSICONHOLD": "保留音を追加",
+    "ADD_NOTE": "ノートを追加",
+    "ADD_OUTBOUNDROUTE": "アウトバウンドルートを追加",
+    "ADD_PROJECT": "プロジェクトを追加",
+    "ADD_TAG": "タグを追加",
+    "ADD_TEAM_TO_VOICEQUEUE": "ボイスキューにチームを追加",
+    "ADD_VARIABLE": "変数を追加",
+    "ADD_VOICEMAIL": "ボイスメールを追加",
+    "ADD_VOICEQUEUE": "音声キューを追加",
+    "ADVANCED": "詳細設定",
+    "AFTERCALLWORK": "後処理",
+    "AFTERCALLWORKDURATION": "後処理持続時間",
+    "AGENT": "エージェント",
+    "AGENTS": "エージェント",
+    "AGENTSADD_QUEUE": "音声キューにエージェントを追加",
+    "AGENTTRANSFER": "エージェント転送",
+    "AGENTTRANSFERTIMEOUT": "エージェント転送タイムアウト",
+    "AGENT_TIMEOUT": "エージェントタイムアウト",
+    "AGI": "AGI",
+    "ALIAS": "エイリアス",
+    "ALL": "すべて",
+    "ALLOWCODECS": "許可されたコーデック",
+    "ALL_AGENTS": "すべてのエージェント",
+    "ALL_TEAMS": "すべてのチーム",
+    "ALL_USERS": "すべてのユーザー",
+    "ALPHABETICAL": "アルファベット順",
+    "ALWAYS": "常に",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "発信者の位置をアナウンス",
+    "ANNOUNCEFREQUENCY": "アナウンス頻度",
+    "ANNOUNCEHOLDTIME": "保留時間をアナウンス",
+    "ANNOUNCEMENTS": "アナウンス",
+    "ANNOUNCEPOSITIONLIMIT": "ポジション制限をアナウンス",
+    "ANNOUNCETOAGENT": "エージェントにアナウンス",
+    "ANNOUNCE_OVERRIDES": "アナウンスを変更する",
+    "ANSWER": "応答",
+    "ANSWERED": "応答",
+    "API": "API",
+    "APIKEY": "Apiキー",
+    "APPLICATION": "アプリケーション",
+    "APPLICATION_NAME": "アプリケーション名",
+    "ARGUMENTS": "引数",
+    "ATTACH": "添付",
+    "AUDIO": "オーディオ",
+    "AUDIOFILES": "オーディオファイル",
+    "AUDIO_FILES": "オーディオファイル",
+    "AUTH": "認証",
+    "AUTHTOKEN": "認証トークン",
+    "AUTOPAUSE": "自動一時停止",
+    "AUTOREPLY": "自動返信",
+    "AVG_BILLABLE": "請求可能な平均",
+    "AVG_HOLD_TIME": "平均保留時間",
+    "BACK": "戻る",
+    "BLACKLIST": "ブラックリスト",
+    "BODY": "体",
+    "BOTNAME": "ボット名",
+    "BUILDER": "ビルダー",
+    "BUSY": "通話中",
+    "CALLED": "着信者",
+    "CALLER": "発信者",
+    "CALLERID": "発信者ID",
+    "CALLER_ID": "発信者ID",
+    "CALLYSQUARE": "Cally Square",
+    "CAMPAIGN": "キャンペーン",
+    "CANCEL": "キャンセル",
+    "CANNEDANSWERS": "回答の缶詰",
+    "CANNED_ANSWER_NOT_FOUND": "定型文は見つかりません",
+    "CANNED_ANSWER_SEARCH": "テキストを入力して定型文を検索します",
+    "CANT_DOWNLOAD_THIS_FILE": "このファイルをダウンロードできません",
+    "CAPACITY": "容量",
+    "CHANNEL": "チャネル",
+    "CHANNELS": "チャンネル",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "チャット",
+    "CITY": "都道府県",
+    "CLEAR": "消去",
+    "CLOSE": "閉じる",
+    "CLOSED": "完了",
+    "CLOSEDAT": "完了日時",
+    "CLOSEMETHOD": "Closeメソッド",
+    "CLOSEURL": "Close URL",
+    "CLOSING": "完了",
+    "COMMAND": "コマンド",
+    "COMPANIES": "企業",
+    "COMPANY": "会社",
+    "CONDITION": "条件",
+    "CONFIRM_PASSWORD": "パスワードの確認",
+    "CONNECTED": "接続済み",
+    "CONTACT": "コンタクト",
+    "CONTACTMANAGER": "連絡先マネージャー",
+    "CONTACTS": "連絡先",
+    "CONTENT": "コンテンツ",
+    "CONTEXT": "コンテキスト",
+    "CONTEXTS": "コンテキスト",
+    "COUNTRY": "国",
+    "CREATED_AT": "作成日時",
+    "CUSTOM": "カスタム",
+    "CUSTOMER_JOURNEY": "顧客の旅",
+    "CUSTOM_FIELDS": "カスタムフィールド",
+    "CUTDIGITS": "桁を切る",
+    "DASHBOARD": "ダッシュボード",
+    "DATE": "日付",
+    "DATE_OF_BIRTH": "生年月日",
+    "DEFAULT": "デフォルト",
+    "DEFAULT_PAUSE": "デフォルト一時停止",
+    "DELETE": "削除",
+    "DELETE_APP": "アプリケーションの削除",
+    "DELETE_CHANSPY": "ChanSpyの削除",
+    "DELETE_CONTEXT": "コンテキストの削除",
+    "DELETE_HOPPER": "ホッパーを削除",
+    "DELETE_INBOUNDROUTE": "インバウンドルートの削除",
+    "DELETE_INTERACTION": "インタラクションを削除",
+    "DELETE_INTERNALROUTE": "内部ルートの削除",
+    "DELETE_MOHSOUND": "保留中の音楽を削除",
+    "DELETE_MUSICONHOLD": "保留中の音楽を削除",
+    "DELETE_OUTBOUNDROUTE": "アウトバウンドルートを削除",
+    "DELETE_PROJECT": "プロジェクトを削除",
+    "DELETE_SELECTED": "選択した項目を削除",
+    "DELETE_VOICEDISPOSITION": "音声ディスポジションを削除",
+    "DELETE_VOICEMAIL": "留守番電話の削除",
+    "DELETE_VOICEQUEUE": "ボイスキューの削除",
+    "DELETE_VOICERECORDING": "音声録音を削除",
+    "DELIVERYREPORTURL": "配信レポートのURL",
+    "DESCRIPTION": "説明",
+    "DESTINATION": "宛先",
+    "DESTINATIONPATTERN": "宛先パターン",
+    "DETAIL": "詳細",
+    "DETAILS": "詳細",
+    "DIAL": "ダイヤル",
+    "DIALER": "ダイヤラ",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "ディレクトリ",
+    "DISABLED": "無効",
+    "DISPOSITION": "通話処理",
+    "DISPOSITIONS": "メール処理",
+    "DOWNLOAD": "ダウンロード",
+    "DOWNLOAD_INTERACTION": "ダウンロード",
+    "DOWNLOAD_MOHSOUND": "保留音をダウンロードする",
+    "DOWNLOAD_VOICERECORDING": "音声録音をダウンロード",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "添付せずにダウンロード",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "添付ファイルなしでダウンロードする",
+    "DOWNLOAD_WITH_ATTACHMENT": "添付してダウンロード",
+    "DOWNLOAD_WITH_ATTACHMENTS": "添付ファイル付きでダウンロード",
+    "DROPPED": "ドロップ",
+    "DROP_TO_UPLOAD": "ドロップしてアップロード",
+    "DURATION": "期間",
+    "EDIT": "編集",
+    "EDIT_AGENT": "エージェントの編集",
+    "EDIT_AGI": "AGIを編集する",
+    "EDIT_AMAZONLEX": "Lex構成の編集",
+    "EDIT_APP": "アプリケーションの編集",
+    "EDIT_AUTOREPLY": "自動返信を編集",
+    "EDIT_CHANSPY": "ChanSpyを編集する",
+    "EDIT_CLOSE": "Closeを編集",
+    "EDIT_CONTEXT": "コンテキストの編集",
+    "EDIT_CUSTOM": "カスタムを編集する",
+    "EDIT_DIAL": "ダイヤルの編集",
+    "EDIT_DIALOGFLOW": "Dialogflow構成の編集",
+    "EDIT_EXTERNALDIAL": "外部ダイヤルの編集",
+    "EDIT_GOTO": "GoToを編集",
+    "EDIT_GOTOIF": "GotoIfを編集",
+    "EDIT_GOTOP": "GotoPを編集",
+    "EDIT_HANGUP": "ハングアップを編集",
+    "EDIT_HOPPER": "ホッパーの編集",
+    "EDIT_INBOUNDROUTE": "インバウンドルートの編集",
+    "EDIT_INTERNALDIAL": "内部ダイヤルの編集",
+    "EDIT_INTERNALROUTE": "内部ルートの編集",
+    "EDIT_INTERVAL": "営業時間を編集",
+    "EDIT_MUSICONHOLD": "保留音の編集",
+    "EDIT_NOOP": "Noopを編集",
+    "EDIT_OUTBOUNDROUTE": "アウトバウンドルートを編集する",
+    "EDIT_PLAYBACK": "再生の編集",
+    "EDIT_PROJECT": "プロジェクトを編集",
+    "EDIT_QUEUE": "キューを編集",
+    "EDIT_RINGGROUP": "リンググループの編集",
+    "EDIT_SET": "セットを編集",
+    "EDIT_SYSTEM": "システムの編集",
+    "EDIT_TAG": "タグの編集",
+    "EDIT_TRUNK": "トランクを編集",
+    "EDIT_VOICEDISPOSITION": "音声処理の編集",
+    "EDIT_VOICEMAIL": "ボイスメールの編集",
+    "EDIT_VOICEQUEUE": "ボイスキューの編集",
+    "EDIT_VOICERECORDING": "音声録音の編集",
+    "EMAIL": "Eメール",
+    "EMAILADDRESS": "メールアドレス",
+    "EMAILBODY": "メール本文",
+    "EMAILSUBJECT": "メールの件名",
+    "ENABLED": "有効",
+    "ENCRYPTION": "暗号化",
+    "ENDTIME": "終了時間",
+    "ENVELOPE": "エンベロープ",
+    "EQUALS": "等しい",
+    "ERROR": "エラー",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "間違ったフォーマット",
+      "ACCESSKEYID_REQUIRED": "アクセスキーIDが必要です",
+      "ACCOUNTNAME_REQUIRED": "必須フィールド",
+      "ACCOUNTSID_REQUIRED": "必須フィールド",
+      "AFTERCALLWORKDURATION_REQUIRED": "必須フィールド",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "必須フィールド",
+      "AGENT_REQUIRED": "必須フィールド",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
+      "AGENT_TIMEOUT_REQUIRED": "必須フィールド",
+      "ALIAS_REQUIRED": "必須フィールド",
+      "APIKEY_REQUIRED": "必須フィールド",
+      "APPLICATION_REQUIRED": "必須フィールド",
+      "AUTHTOKEN_REQUIRED": "必須フィールド",
+      "BOTNAME_REQUIRED": "ボット名が必要です",
+      "CLOSEURL_MUST_VALID_URL": "間違ったフォーマット",
+      "COMMAND_REQUIRED": "必須フィールド",
+      "CONDITION_REQUIRED": "必須フィールド",
+      "CONFIRM_NOT_MATCH": "パスワードが一致しません",
+      "CONTENT_REQUIRED": "必須フィールド",
+      "CONTEXT_REQUIRED": "必須フィールド",
+      "DESTINATIONPATTERN_REQUIRED": "必須フィールド",
+      "DISPOSITION_REQUIRED": "必須フィールド",
+      "EMAIL_MUST_VALID": "間違ったフォーマット",
+      "EMAIL_REQUIRED": "必須フィールド",
+      "EXTENSION_REQUIRED": "必須フィールド",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "FALSEPRIORITY_REQUIRED": "必須フィールド",
+      "FIELD_REQUIRED": "必須フィールド",
+      "FIRSTNAME_REQUIRED": "必須フィールド",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "FONTSIZE_REQUIRED": "必須フィールド",
+      "FULLNAME_REQUIRED": "必須フィールド",
+      "HOST_REQUIRED": "必須フィールド",
+      "KEY_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
+      "KEY_REQUIRED": "必須フィールド",
+      "LIST_REQUIRED": "必須フィールド",
+      "MAILBOX_REQUIRED": "必須フィールド",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド",
+      "METHOD_REQUIRED": "必須フィールド",
+      "MOTIONADDRESS_MUST_VALID_URL": "間違ったフォーマット",
+      "MOTIONADDRESS_REQUIRED": "必須フィールド",
+      "MOTIONPROXY_MUST_VALID_URL": "間違ったフォーマット",
+      "MOTIONPROXY_REQUIRED": "必須フィールド",
+      "NAME_MUST_VALID_PATTERN": "間違ったフォーマット",
+      "NAME_REQUIRED": "必須フィールド",
+      "OPTIONS_REQUIRED": "必須フィールド",
+      "OUTBOUNDROUTE_REQUIRED": "必須フィールド",
+      "PASSWORD_REQUIRED": "必須フィールド",
+      "PHONENUMBER_REQUIRED": "必須フィールド",
+      "PHONE_REQUIRED": "必須フィールド",
+      "PREFIX_REQUIRED": "必須フィールド",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "PRIORITY_REQUIRED": "必須フィールド",
+      "PROJECT_REQUIRED": "必須フィールド",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "必須フィールド",
+      "QUEUE_REQUIRED": "必須フィールド",
+      "REJECTURL_MUST_VALID_URL": "間違ったフォーマット",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "SECRETACCESSKEY_REQUIRED": "必須フィールド",
+      "SENDERSTRING_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
+      "SENDERSTRING_MUST_VALID_PATTERN": "間違ったフォーマット",
+      "SID_REQUIRED": "必須フィールド",
+      "TAG_REQUIRED": "必須フィールド",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "必須フィールド",
+      "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません",
+      "TEXT_REQUIRED": "必須フィールド",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
+      "TIMEOUT_REQUIRED": "必須フィールド",
+      "TIMEZONE_REQUIRED": "必須フィールド",
+      "TOKEN_REQUIRED": "必須フィールド",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "TRUEPRIORITY_REQUIRED": "必須フィールド",
+      "TRUNK_REQUIRED": "必須フィールド",
+      "TYPE_REQUIRED": "必須フィールド",
+      "URL_REQUIRED": "必須フィールド",
+      "USERNAME_REQUIRED": "必須フィールド",
+      "VALUE_REQUIRED": "必須フィールド",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値はこの数値よりも小さいか等しい必要があります：",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必須フィールド",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります：",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値はこの数値よりも大きいか等しい必要があります："
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "推定保留時間のアナウス",
+    "EXTENSION": "内線番号",
+    "EXTERNALDIAL": "外部ダイヤル",
+    "FAILED": "失敗",
+    "FALSEPRIORITY": "false優先度",
+    "FAX": "Fax",
+    "FIDELITY": "フィデリティ",
+    "FIELD": "フィールド",
+    "FIELDS": "フィールド",
+    "FILE": "ファイル",
+    "FILE_NOT_FOUND": "ファイルが見つかりません",
+    "FILTER": "フィルター",
+    "FILTERS": "フィルター",
+    "FINISH": "終了",
+    "FONTSIZE": "フォントサイズ",
+    "FORMAT": "フォーマット",
+    "FREE": "フリー",
+    "FROM": "From",
+    "FULLNAME": "フルネーム",
+    "GENERAL": "一般",
+    "GLOBAL": "グローバル",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "電話を切る",
+    "HANGUPCAUSE_1": "1 = 欠番",
+    "HANGUPCAUSE_16": "16 = 正常切断",
+    "HANGUPCAUSE_17": "17 = 着ユーザビジー",
+    "HANGUPCAUSE_18": "18 = 着ユーザレスポンスなし(電話機が接続されていません)",
+    "HANGUPCAUSE_21": "21 = 通信拒否",
+    "HANGUPCAUSE_22": "22 = 相手加入者番号変更",
+    "HANGUPCAUSE_27": "27 = 相手端末故障中",
+    "HANGUPCAUSE_38": "38 = 網故障",
+    "HANGUPCAUSE_41": "41 = 一時的失敗",
+    "HANGUP_CAUSE": "ハングアップ原因",
+    "HEADERS": "ヘッダー",
+    "HELP": {
+      "AFTERCALLWORK": "有効にすると、エージェントは通話終了後に一時停止に設定されます",
+      "AFTERCALLWORKDURATION": "一時停止の長さはアフターコールワークオプションに引き起こされます",
+      "ANNOUNCECALLERPOSITION": "キューで発信者の位置をアナウンスする必要があるかどうかを定義するために使用されます。 No=never; Yes=always; Limit=announce-position-limitで定義された限度内にある場合のみ; More=announce-position-limitによって定義された値を超えている場合のみ",
+      "ANNOUNCEHOLDTIME": "定期的なアナウンス（Yes / No / Once）と共に推測の保留時間を再生します",
+      "ANNOUNCETOAGENT": "コールに応答するアナウンスをエージェントに再生する（例えば、発信者がどのキューから来ているかを知らせる）",
+      "CONTEXT": "単一のDTMF数字を押して発信者がキューを終了できるようにします。コンテキストが指定され、発信者が番号を入力した場合、その数字は指定されたコンテキストで一致するように試みられ、ダイヤルプランの実行はそこで継続されます",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"現在の推定保留時間は\"です。未定義=アナウンスなし",
+      "HOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"ホールド時間\"。未定義=アナウンスなし",
+      "LIST": "コンタクトを関連付けるために使用されるコンタクトマネージャーリスト",
+      "MANDATORYDISPOSITION": "強制処分",
+      "MANDATORYDISPOSITIONPAUSEID": "強制処分中に設定する一時停止ステータス",
+      "MEMBERDELAY": "キューで発信者とエージェントを接続される前に遅延を挿入します",
+      "MINANNOUNCEFREQUENCY": "最小アナウンス頻度（発信者のポジションが頻繁に変化する場合に便利）",
+      "MINUTEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"分\"。未定義=アナウンスなし",
+      "MINUTESANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"分\"。未定義=アナウンスなし",
+      "MONITORFORMAT": "録音時に使用するファイル形式を指定します。 monitor-formatが非アクティブの場合、コールは録音されません",
+      "MOTIONPROXY": "フィールドは、<protocol>：// <ipaddress> [：<port>]の形式でなければなりません。例：https：//X.Y.Z.W",
+      "MUSICONHOLD": "特定のキューに使用する音楽クラスを設定します",
+      "NAME": "数字、文字、および特定の文字（._）のみがサポートされています",
+      "PERIODICANNOUNCE": "再生する定期アナウンスのセット（順番に）",
+      "PERIODICANNOUNCEFREQUENCY": "発信者への定期的なアナウンスの頻度",
+      "RECORDING": "通話録音を有効にします",
+      "REPORTHOLDTIMEAGENT": "接続前にキューでエージェントに発信者の保留時間を報告できるようにします",
+      "RINGINUSE": "ステータスが「使用中」のメンバーへの通話を避ける/許可します",
+      "SECONDSANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"秒\"。未定義=アナウンスなし",
+      "THANKYOUANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"Thank you for your patience\"。未定義=アナウンスなし",
+      "THEREAREANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"There are\"です。未定義=アナウンスなし",
+      "TIMEOUTRESTART": "「はい」の場合、これは、BUSYまたはCONGESTIONステータスがチャネルから受信されたときにエージェントが応答するタイムアウトをリセットします",
+      "TYPE": "アスタリスク内のSIPロールを決定します。User：着信を認証するために使用 - Peer：発信コール用 - Friend：上記の両方の特性を含みます",
+      "VOICEMAIL_CONTEXT": "相対的なエクステンションのコンテクスト",
+      "WAITINGCALLSANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"calls waiting\"。未定義=アナウンスなし",
+      "WELCOMEMESSAGE": "これは、コンタクタに送信される最初のメッセージです",
+      "YOUARENEXTANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"You are now first in line\"。未定義=アナウンスなし"
+    },
+    "HIDE_DETAILS": "詳細非表示",
+    "HOLDTIMEANNOUNCE": "保留時間アナウンス",
+    "HOST": "ホスト",
+    "ID": "ID",
+    "IDLE": "待機",
+    "IN": "In",
+    "INBOUNDROUTES": "インバウンドルート",
+    "INFO": "情報",
+    "INSERT_MESSAGE_HERE": "ここにメッセージ内容を入力",
+    "INTEGRATIONS": "インテグレーション",
+    "INTERACTION": "インタラクション",
+    "INTERACTIONS": "インタラクション",
+    "INTERNAL": "内部",
+    "INTERNALDIAL": "内部ダイヤル",
+    "INTERNALROUTES": "内部ルート",
+    "INTERVAL": "営業時間",
+    "INTERVALS": "営業時間",
+    "INUSE": "使用中",
+    "INVALID": "無効",
+    "IN_USE": "使用中",
+    "JOINWHENEMPTY": "Join when Empty",
+    "JSCRIPTY": "モニタリング",
+    "KEY": "キー",
+    "LAGGED": "遅延",
+    "LANGUAGE": "言語",
+    "LASTMESSAGE": "最後のメッセージ",
+    "LASTNAME": "姓",
+    "LAST_MONTH": "先月",
+    "LEAVEWHENEMPTY": "Leave when Empty",
+    "LEXREGION": "領域",
+    "LIMITED": "限定",
+    "LIST": "リスト",
+    "LOGGED_IN": "ログイン中(SIP接続)",
+    "LOGIN_TIME": "ログイン時間",
+    "LOGO": "ロゴ",
+    "LOGOUT": "ログアウト",
+    "MACRO": "マクロ",
+    "MAIL": "Eメール",
+    "MAILBOX": "メールボックス",
+    "MAILBOX@CONTEXT": "メールボックス@コンテキスト",
+    "MANAGED": "完了",
+    "MANDATORYDISPOSITION": "強制処分",
+    "MANDATORYDISPOSITIONPAUSEID": "強制処分の一時停止ステータス",
+    "MARK_AS_UNREAD": "未読にマークする",
+    "MAXLENGTH": "最大長",
+    "MAXMESSAGES": "最大メッセージ数",
+    "MAXSECONDS": "最大秒数",
+    "MAY": "5月",
+    "MEMBERDELAY": "メンバー遅延",
+    "MESSAGE": "メッセージ",
+    "MESSAGES": "メッセージ",
+    "MESSAGESALIGNMENT": "メッセージの整列",
+    "METHOD": "方式",
+    "METRIC": "メトリック",
+    "MINANNOUNCEFREQUENCY": "最小のアナウンス頻度",
+    "MINUTEANNOUNCE": "分のアナウンス",
+    "MINUTESANNOUNCE": "分のアナウンス",
+    "MOBILE": "モバイル",
+    "MODULES": "モジュール",
+    "MOHSOUNDS": "保留音楽",
+    "MONITORFORMAT": "録音フォーマット",
+    "MORE": "もっと",
+    "MOTIONADDRESS": "Motionアドレス",
+    "MOTIONBAR": "Motion Bar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "プロキシまたはモーションドメイン",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "保留音",
+    "MUSICONHOLDS": "保留音",
+    "NAME": "名前",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "新規ChanSpy",
+    "NEW_CONTACT": "新規連絡先",
+    "NEW_CONTEXT": "新規コンテキスト",
+    "NEW_INBOUNDROUTE": "新規インバウンドルート",
+    "NEW_INTERNALROUTE": "新規内部ルート",
+    "NEW_MUSICONHOLD": "新規保留音楽",
+    "NEW_OUTBOUNDROUTE": "新規アウトバウンドルート",
+    "NEW_PROJECT": "新規プロジェクト",
+    "NEW_TAB": "新しいタブ",
+    "NEW_TAG": "新規タグ",
+    "NEW_VARIABLE": "新しい変数",
+    "NEW_VOICEMAIL": "新しいボイスメール",
+    "NEW_VOICEQUEUE": "新規ボイスキュー",
+    "NO": "いいえ",
+    "NONE": "なし",
+    "NOOP": "Noop",
+    "NOTE": "ノート",
+    "NOTES": "ノート",
+    "NOTIFICATION": "通知",
+    "NOTIFICATIONSHAKE": "振動",
+    "NOTIFICATIONSOUND": "音",
+    "NOTIFICATIONTEMPLATE": "テンプレート",
+    "NOT_INUSE": "使用されていません",
+    "NO_AGENT_ONLINE": "オンラインのエージェントはいません",
+    "NO_APPS_AVAILABLE": "利用可能なアプリケーションがありません",
+    "NO_AVAILABLE_INFO": "利用可能な情報はありません",
+    "NO_INTERACTION_AVAILABLE": "インタラクションは利用できません",
+    "NO_MESSAGE_AVAILABLE": "メッセージがありません",
+    "NO_MOHSOUND_AVAILABLE": "保留音がありません",
+    "NO_RATING": "評価ありません",
+    "NO_REGISTRY": "レジストリなし",
+    "NO_SOUND_AVAILABLE": "利用可能な音がありません",
+    "NUMBER": "数",
+    "OF": "の",
+    "ONHOLD": "保留",
+    "OPEN": "オープン",
+    "OPENCHANNEL": "オープンチャンネル",
+    "OPENED": "オープン",
+    "OPERATOR": "オペレーター",
+    "OPTIONS": "オプション",
+    "ORIGINATED": "発信呼",
+    "OTHERS": "その他",
+    "OUT": "Out",
+    "OUTBOUNDDIAL": "アウトバウンドダイヤル",
+    "OUTBOUNDROUTE": "アウトバウンドルート",
+    "OUTBOUNDROUTES": "アウトバウンドルート",
+    "OUTBOUND_CALLS": "アウトバウンドコール",
+    "OUTPUT": "出力",
+    "PAGE": "ページ",
+    "PARTIALPAUSE": "一部一時停止",
+    "PASSWORD": "パスワード",
+    "PAUSE": "一時停止",
+    "PAUSED": "一時停止中",
+    "PAUSE_TIME": "一時停止時間",
+    "PAYMENTMETHOD": "お支払い方法",
+    "PENALTY": "ペナルティー",
+    "PENDING": "保留中",
+    "PERIODICANNOUNCE": "定期アナウンス",
+    "PERIODICANNOUNCEFREQUENCY": "定期アナウンスの頻度",
+    "PERSONAL_INFO": "個人情報",
+    "PHONE": "電話番号",
+    "PHONENUMBER": "電話番号",
+    "PHONE_STATE": "電話の状態",
+    "PHONE_STATUS": "電話ステータス",
+    "PLAYBACK": "再生",
+    "PLUGINS": "プラグイン",
+    "PORT": "ポート",
+    "POSITION": "ポジション",
+    "POSTALCODE": "郵便番号",
+    "PREFIX": "プレフィックス",
+    "PREVIEW": "プレビュー",
+    "PRIORITY": "優先度",
+    "PROJECT": "Cally Squareプロジェクト",
+    "PROJECTS": "プロジェクト",
+    "PROXY": "プロキシ",
+    "QUEUE": "キュー",
+    "QUEUES": "キュー",
+    "QUEUETRANSFER": "キュー転送",
+    "QUEUETRANSFERTIMEOUT": "キュー転送タイムアウト",
+    "QUEUE_CALLS": "キューコール",
+    "QUEUE_PARAMETERS": "キューパラメーター",
+    "QUEUE_PARAMS": "キューパラメーター",
+    "RANDOM": "任意の",
+    "RANDOMPERIODICANNOUNCE": "任意の定期アナウンス",
+    "RATING": "評価",
+    "REACHABLE": "リーチャブル",
+    "READY": "準備完了",
+    "REALTIME": "リアルタイム",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "受信日時",
+    "RECEIVEURL": "受信URL",
+    "RECORD": "記録",
+    "RECORDING": "録音",
+    "RECORDINGFORMAT": "録音フォーマット",
+    "RECORDINGS": "録音",
+    "REFRESH_INTERACTIONS": "インタラクションのリフレッシュ",
+    "REGISTERED": "登録済み",
+    "REGISTRY": "レジストリ",
+    "REJECT": "拒否",
+    "REJECTED": "拒否された",
+    "REJECTMETHOD": "拒否メソッド",
+    "REJECTURL": "拒否URL",
+    "RELOAD": "リロード",
+    "REPLY": "返信",
+    "REPORT": "報告する",
+    "REPORTHOLDTIMEAGENT": "エージェント保留時間をレポート",
+    "RETRY": "リトライ",
+    "RING": "リング",
+    "RINGGROUP": "リンググループ",
+    "RINGING": "リンギング",
+    "RINGINUSE": "使用中をリング",
+    "ROWSPERPAGE": "ページあたりの行数",
+    "RULE": "ルール",
+    "SAVE": "保存",
+    "SCHEDULEDAT": "予定時刻",
+    "SCHEDULED_CALLS": "スケジュールされた通話",
+    "SCREENRECORDING": "画面記録の管理",
+    "SCRIPT": "スクリプト",
+    "SEARCH_FOR_ANYONE": "検索",
+    "SECONDSANNOUNCE": "秒のアナウンス",
+    "SECRETACCESSKEY": "シークレットアクセスキー",
+    "SECURITY_SUITE": "セキュリティスイート",
+    "SELECT": "選択する",
+    "SELECTED": "選択された",
+    "SELECTED_AGENTS": "選択されたエージェント",
+    "SELECTED_TEAMS": "選ばれたチーム",
+    "SELECTED_USERS": "選択されたユーザー",
+    "SELECT_ACCOUNT": "アカウントを選択",
+    "SELECT_ALL": "すべて選択",
+    "SELECT_DATE": "開始日を選択",
+    "SELECT_NONE": "選択なし",
+    "SELECT_STATUS": "ステータスを選択",
+    "SELECT_TYPE": "タイプの選択",
+    "SEND": "送信",
+    "SENDMAIL": "メールを送信",
+    "SENTIMENTANALYSIS": "感情分析",
+    "SERVICE": "サービス",
+    "SESSIONS": "セッション",
+    "SET": "セット",
+    "SETINTERFACEVARIABLES": "インタフェース変数を設定",
+    "SETQUEUEENTRYVARIABLES": "キューエントリ変数を設定",
+    "SETQUEUEVARIABLES": "キュー変数の設定",
+    "SETTINGS": "設定",
+    "SHOW_ALL_FIELDS": "すべてのフィールドを表示します",
+    "SHOW_DETAILS": "詳細を表示",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "ホスト",
+    "SMTP_PORT": "ポート",
+    "SOCIAL": "ソーシャル",
+    "SORT": "並べ替え",
+    "SOURCE": "ソース",
+    "SPYINTERACTION": "スパイ",
+    "STAFF": "スタッフ",
+    "STARTEDAT": "開始日時",
+    "STARTTIME": "開始時間",
+    "START_SCREENRECORDING": "画面記録を開始",
+    "STATE": "状態",
+    "STATUS": "状態",
+    "STOP_SCREENRECORDING": "画面記録を停止する",
+    "STRATEGY": "ストラテジ",
+    "SUBJECT": "件名",
+    "SYSTEM": "システム",
+    "TAG": "タグ",
+    "TAGS": "タグ",
+    "TALKING": "通話中",
+    "TEAMS_ASSOCIATION": "チーム協会",
+    "TECHNOLOGY/RESOURCE": "技術/リソース",
+    "TELEPHONES": "電話番号",
+    "TEMPLATE": "テンプレート",
+    "TEXT": "テキスト",
+    "THANKYOUANNOUNCE": "'Thank You'アナウンス",
+    "THEREAREANNOUNCE": "'There are'アナウンス",
+    "TIMEOUT": "タイムアウト",
+    "TIMEOUTRESTART": "タイムアウト再開始",
+    "TIMER": "タイマー",
+    "TIMES": "インタラクションあたりの回数",
+    "TIMEZONE": "タイムゾーン",
+    "TO": "To",
+    "TOKEN": "トークン",
+    "TOOLTIP_SCREENRECORDING_OFF": "利用可能なスクリーン録画",
+    "TOOLTIP_SCREENRECORDING_ON": "スクリーン録画中",
+    "TOTAL": "合計",
+    "TOTAL_OFFERED": "合計オファー",
+    "TRANSCRIBE": "文字起こし",
+    "TRANSFER": "転送",
+    "TRANSPORT": "転送",
+    "TRUEPRIORITY": "True優先度",
+    "TRUNK": "トランク",
+    "TRUNKS": "トランク",
+    "TRUNK_STATUS": "トランク状態",
+    "TYPE": "タイプ",
+    "UNAVAILABLE": "不在",
+    "UNIQUEID": "ユニークID",
+    "UNKNOWN": "未知",
+    "UNMANAGED": "非管理",
+    "UNPAUSE": "再生",
+    "UNREACHABLE": "到達不能",
+    "UNREGISTERED": "未登録",
+    "UP": "アップ",
+    "UPDATE": "更新",
+    "UPLOADING": "アップロード中",
+    "URL": "URL",
+    "USER": "ユーザー",
+    "USERNAME": "ユーザー名",
+    "USERS": "ユーザー",
+    "VALUE": "値",
+    "VARIABLE": "変数",
+    "VIDAOOSESSION": "ビデオ通話を開始",
+    "VIDEO": "ビデオ",
+    "VIDEOSUPPORT": "ビデオサポート",
+    "VOICE": "音声",
+    "VOICEMAIL": "留守番電話",
+    "VOICEMAILS": "留守番電話",
+    "VOICEMAIL_CONTEXT": "コンテキスト",
+    "VOICEQUEUES": "音声キュー",
+    "VOICERECORDINGS": "音声録音",
+    "WAITFORTHEASSIGNEDAGENT": "割り当てられたエージェントを待ちます",
+    "WAITING": "ウェイティング",
+    "WAITINGCALLSANNOUNCE": "ウェイティングコールアナウンス",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "ウェブサイト",
+    "WEIGHT": "重要性",
+    "WELCOMEMESSAGE": "ようこそメッセージ",
+    "WHATSAPP": "WhatsAppコネクタ",
+    "WHITELABEL": "ホワイトレベル",
+    "WRAPUPTIME": "ラップアップ時間",
+    "WRONG_EXTENSION": "ファイルの拡張子が間違っています",
+    "YES": "はい",
+    "YOUARENEXTANNOUNCE": "'You are next'アナウンス"
+  }
+}
diff --git a/public/app/main/i18n/ko.json b/public/app/main/i18n/ko.json
new file mode 100644
index 0000000..c2c4c45
--- /dev/null
+++ b/public/app/main/i18n/ko.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "거절 완료",
+    "ABANDONEDCALLS": "거절된 전화",
+    "ABANDONED_CALLS": "거절된 통화",
+    "ACCEPT": "수락",
+    "ACCEPTMETHOD": "수락 방법",
+    "ACCEPTURL": "URL 수락",
+    "ACCESSKEYID": "액세스 키 ID",
+    "ACCOUNT": "계정",
+    "ACCOUNTNAME": "계정 이름",
+    "ACCOUNTS": "계정",
+    "ACCOUNTSID": "계정 SID",
+    "ACTIONS": "활동",
+    "ACTIVE": "활성화",
+    "ADD": "추가",
+    "ADDRESS": "주소",
+    "ADD_AGENT_TO_VOICEQUEUE": "음성 상담그룹에 상담원 추가",
+    "ADD_CHANSPY": "Chanspy 추가",
+    "ADD_CONTACT": "연락처 추가",
+    "ADD_CONTEXT": "내용 추가",
+    "ADD_INBOUNDROUTE": "수신 경로 추가",
+    "ADD_INTERNALROUTE": "내부 경로 추가",
+    "ADD_MOHSOUND": "moh소리 추가",
+    "ADD_MUSICONHOLD": "대기 중 음악 추가",
+    "ADD_NOTE": "노트 추가",
+    "ADD_OUTBOUNDROUTE": "발신 경로 추가",
+    "ADD_PROJECT": "프로젝트 추가",
+    "ADD_TAG": "태그 추가",
+    "ADD_TEAM_TO_VOICEQUEUE": "음성 상담그룹에 팀 추가",
+    "ADD_VARIABLE": "변수 추가",
+    "ADD_VOICEMAIL": "보이스메일 추가",
+    "ADD_VOICEQUEUE": "음성 상담그룹 추가",
+    "ADVANCED": "고급",
+    "AFTERCALLWORK": "통화 후 작업",
+    "AFTERCALLWORKDURATION": "통화 후 작업기간",
+    "AGENT": "상담원",
+    "AGENTS": "상담원",
+    "AGENTSADD_QUEUE": "상담그룹에 상담원 추가",
+    "AGENTTRANSFER": "대리인 이전",
+    "AGENTTRANSFERTIMEOUT": "에이전트 전송 시간 초과",
+    "AGENT_TIMEOUT": "상담원 시간초과",
+    "AGI": "AGI",
+    "ALIAS": "별명",
+    "ALL": "전체",
+    "ALLOWCODECS": "허용된 코덱",
+    "ALL_AGENTS": "전체 상담원",
+    "ALL_TEAMS": "전체 팀",
+    "ALL_USERS": "전체 팀",
+    "ALPHABETICAL": "알파벳",
+    "ALWAYS": "항상",
+    "AMAZONLEX": "아마존 렉스",
+    "ANNOUNCECALLERPOSITION": "발신자 직위 공지",
+    "ANNOUNCEFREQUENCY": "공지 빈도수",
+    "ANNOUNCEHOLDTIME": "대시시간 공지",
+    "ANNOUNCEMENTS": "공지",
+    "ANNOUNCEPOSITIONLIMIT": "직위 제한 공지",
+    "ANNOUNCETOAGENT": "상담원 공지",
+    "ANNOUNCE_OVERRIDES": "오버라이드 공지",
+    "ANSWER": "응답",
+    "ANSWERED": "응답 완료",
+    "API": "API",
+    "APIKEY": "API 키",
+    "APPLICATION": "앱",
+    "APPLICATION_NAME": "앱 이름",
+    "ARGUMENTS": "논의",
+    "ATTACH": "첨부",
+    "AUDIO": "오디오",
+    "AUDIOFILES": "오디오 파일",
+    "AUDIO_FILES": "오디오 파일",
+    "AUTH": "인증",
+    "AUTHTOKEN": "인증 토큰",
+    "AUTOPAUSE": "자동 일시중지",
+    "AUTOREPLY": "자동 답장",
+    "AVG_BILLABLE": "평균 청구가능",
+    "AVG_HOLD_TIME": "평균 보류 시간",
+    "BACK": "뒤로",
+    "BLACKLIST": "차단 목록",
+    "BODY": "신체",
+    "BOTNAME": "봇 이름",
+    "BUILDER": "개발자",
+    "BUSY": "통화중",
+    "CALLED": "전화 완료",
+    "CALLER": "발신자",
+    "CALLERID": "발신자 ID",
+    "CALLER_ID": "발신자 ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "캠페인",
+    "CANCEL": "취소",
+    "CANNEDANSWERS": "통역 응답",
+    "CANNED_ANSWER_NOT_FOUND": "녹음된 응답 찾을 수 없음",
+    "CANNED_ANSWER_SEARCH": "녹음된 응답 찾기",
+    "CANT_DOWNLOAD_THIS_FILE": "이 파일을 다운로드 할 수 없습니다",
+    "CAPACITY": "용량",
+    "CHANNEL": "채널",
+    "CHANNELS": "채널",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "채팅",
+    "CITY": "도시",
+    "CLEAR": "초기화",
+    "CLOSE": "닫기",
+    "CLOSED": "닫기 완료",
+    "CLOSEDAT": "종료 시기",
+    "CLOSEMETHOD": "닫기 방법",
+    "CLOSEURL": "URL 닫기",
+    "CLOSING": "닫기",
+    "COMMAND": "명령",
+    "COMPANIES": "회사",
+    "COMPANY": "회사",
+    "CONDITION": "조건",
+    "CONFIRM_PASSWORD": "비밀번호 확인",
+    "CONNECTED": "연결 완료",
+    "CONTACT": "연락처",
+    "CONTACTMANAGER": "연락처 관리자",
+    "CONTACTS": "연락처",
+    "CONTENT": "내용",
+    "CONTEXT": "내용",
+    "CONTEXTS": "내용",
+    "COUNTRY": "국가",
+    "CREATED_AT": "생싱 일시",
+    "CUSTOM": "사용자 정의",
+    "CUSTOMER_JOURNEY": "고객 여정",
+    "CUSTOM_FIELDS": "사용자정의 필드",
+    "CUTDIGITS": "번호 자르기",
+    "DASHBOARD": "대시보드",
+    "DATE": "날짜",
+    "DATE_OF_BIRTH": "생년월일",
+    "DEFAULT": "기본값",
+    "DEFAULT_PAUSE": "기본 일시중지",
+    "DELETE": "삭제",
+    "DELETE_APP": "앱 삭제",
+    "DELETE_CHANSPY": "Chanspy 삭제",
+    "DELETE_CONTEXT": "내용 삭제",
+    "DELETE_HOPPER": "Hopper 삭제",
+    "DELETE_INBOUNDROUTE": "수신 경로 삭제",
+    "DELETE_INTERACTION": "대화 삭제",
+    "DELETE_INTERNALROUTE": "내부 경로 삭제",
+    "DELETE_MOHSOUND": "moh소리 삭제",
+    "DELETE_MUSICONHOLD": "대기 중 음악 삭제",
+    "DELETE_OUTBOUNDROUTE": "발신 경로 삭제",
+    "DELETE_PROJECT": "프로젝트 삭제",
+    "DELETE_SELECTED": "선택 항목 삭제",
+    "DELETE_VOICEDISPOSITION": "음성 배치 삭제",
+    "DELETE_VOICEMAIL": "보이스메일 삭제",
+    "DELETE_VOICEQUEUE": "음성 상담그룹 삭제",
+    "DELETE_VOICERECORDING": "음성 녹취 삭제",
+    "DELIVERYREPORTURL": "레포트 URL 제출",
+    "DESCRIPTION": "설명",
+    "DESTINATION": "수신자",
+    "DESTINATIONPATTERN": "수신자 패턴",
+    "DETAIL": "세부사항",
+    "DETAILS": "세부사항",
+    "DIAL": "다이얼",
+    "DIALER": "다이얼러",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "디렉토리",
+    "DISABLED": "비활성화 완료",
+    "DISPOSITION": "배치",
+    "DISPOSITIONS": "배치",
+    "DOWNLOAD": "다운로드",
+    "DOWNLOAD_INTERACTION": "다운로드",
+    "DOWNLOAD_MOHSOUND": "moh소리 다운로드",
+    "DOWNLOAD_VOICERECORDING": "음성 녹취 다운로드",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "첨부 파일없이 다운로드",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "첨부 파일없이 다운로드",
+    "DOWNLOAD_WITH_ATTACHMENT": "첨부 파일로 다운로드",
+    "DOWNLOAD_WITH_ATTACHMENTS": "첨부 파일 다운로드",
+    "DROPPED": "통화 끊김",
+    "DROP_TO_UPLOAD": "업로드로 끌어다 놓기",
+    "DURATION": "통화 시간",
+    "EDIT": "수정",
+    "EDIT_AGENT": "상담원 수정",
+    "EDIT_AGI": "AGI 수정",
+    "EDIT_AMAZONLEX": "Lex 구성 편집",
+    "EDIT_APP": "앱 수정",
+    "EDIT_AUTOREPLY": "자동 답장 편집",
+    "EDIT_CHANSPY": "Chanspy 수정",
+    "EDIT_CLOSE": "닫기 수정",
+    "EDIT_CONTEXT": "내용 수정",
+    "EDIT_CUSTOM": "사용자 정의 수정",
+    "EDIT_DIAL": "번호 수정",
+    "EDIT_DIALOGFLOW": "Dialogflow 구성 편집",
+    "EDIT_EXTERNALDIAL": "외부전화 수정",
+    "EDIT_GOTO": "Goto 수정",
+    "EDIT_GOTOIF": "GotoIf 수정",
+    "EDIT_GOTOP": "GoTop 수정",
+    "EDIT_HANGUP": "끊음 수정",
+    "EDIT_HOPPER": "Hopper 수정",
+    "EDIT_INBOUNDROUTE": "수신 경로 수정",
+    "EDIT_INTERNALDIAL": "내부전화 수정",
+    "EDIT_INTERNALROUTE": "내부 경로 수정",
+    "EDIT_INTERVAL": "인터벌 수정",
+    "EDIT_MUSICONHOLD": "대기 중 음악 수정",
+    "EDIT_NOOP": "Noop 수정",
+    "EDIT_OUTBOUNDROUTE": "발신 경로 수정",
+    "EDIT_PLAYBACK": "재생 수정",
+    "EDIT_PROJECT": "프로젝트 수정",
+    "EDIT_QUEUE": "상담그룹 수정",
+    "EDIT_RINGGROUP": "전화그룹 수정",
+    "EDIT_SET": "설정 수정",
+    "EDIT_SYSTEM": "시스템 편집",
+    "EDIT_TAG": "태그 수정",
+    "EDIT_TRUNK": "시외전화 수정",
+    "EDIT_VOICEDISPOSITION": "음성 배치 수정",
+    "EDIT_VOICEMAIL": "보이스메일 수정",
+    "EDIT_VOICEQUEUE": "음성 상담그룹 수정",
+    "EDIT_VOICERECORDING": "음성 녹취 수정",
+    "EMAIL": "이메일",
+    "EMAILADDRESS": "이메일 주소",
+    "EMAILBODY": "이메일 본문",
+    "EMAILSUBJECT": "이메일 제목",
+    "ENABLED": "활성화 완료",
+    "ENCRYPTION": "암호화",
+    "ENDTIME": "종료 시간",
+    "ENVELOPE": "봉투",
+    "EQUALS": "같음",
+    "ERROR": "오류",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "수락 URL은 유효해야 합니다.",
+      "ACCESSKEYID_REQUIRED": "액세스 키 ID가 필요합니다",
+      "ACCOUNTNAME_REQUIRED": "계정 이름은 필수입니다.",
+      "ACCOUNTSID_REQUIRED": "필수 필드",
+      "AFTERCALLWORKDURATION_REQUIRED": "통화 후 작업기간은 필수입니다.",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "필수 필드",
+      "AGENT_REQUIRED": "상담원은 필수입니다.",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "상담원 시간초과는 다음과 같거나 커야 합니다.",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "상담원 시간초과는 다음과 같거나 작아야합니다.",
+      "AGENT_TIMEOUT_REQUIRED": "상담원 시간초과는 필수입니다.",
+      "ALIAS_REQUIRED": "별명은 필수입니다.",
+      "APIKEY_REQUIRED": "API 키는 필수입니다.",
+      "APPLICATION_REQUIRED": "앱은 필수입니다.",
+      "AUTHTOKEN_REQUIRED": "인증토큰은 필수입니다.",
+      "BOTNAME_REQUIRED": "봇 이름이 필요합니다",
+      "CLOSEURL_MUST_VALID_URL": "닫기 URL은 유효해야 합니다.",
+      "COMMAND_REQUIRED": "명령은 필수입니다.",
+      "CONDITION_REQUIRED": "조건은 필수입니다.",
+      "CONFIRM_NOT_MATCH": "일치하지 않습니다.",
+      "CONTENT_REQUIRED": "내용은 필수입니다.",
+      "CONTEXT_REQUIRED": "연락처는 필수입니다.",
+      "DESTINATIONPATTERN_REQUIRED": "수신자 패턴은 필수입니다.",
+      "DISPOSITION_REQUIRED": "배치는 필수입니다.",
+      "EMAIL_MUST_VALID": "이메일은 유효해야 합니다.",
+      "EMAIL_REQUIRED": "이메일은 필수입니다.",
+      "EXTENSION_REQUIRED": "내선전화는 필수입니다.",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "거짓 우선순위는 다음과 같거나 커야 합니다.",
+      "FALSEPRIORITY_REQUIRED": "거짓 우선순위는 필수입니다.",
+      "FIELD_REQUIRED": "필드는 필수입니다.",
+      "FIRSTNAME_REQUIRED": "이름은 필수입니다.",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "글자사이즈가 다음과 같거나 커야합니다.",
+      "FONTSIZE_REQUIRED": "글자사이즈는 필수입니다.",
+      "FULLNAME_REQUIRED": "성명은 필수입니다.",
+      "HOST_REQUIRED": "호스트는 필수입니다.",
+      "KEY_MAX_LENGTH": "키 최대 길이",
+      "KEY_REQUIRED": "키는 필수입니다.",
+      "LIST_REQUIRED": "목록은 필수입니다.",
+      "MAILBOX_REQUIRED": "메일박스는 필수입니다.",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드",
+      "METHOD_REQUIRED": "방법은 필수입니다.",
+      "MOTIONADDRESS_MUST_VALID_URL": "모션주소는 유효한 URL이어야 합니다.",
+      "MOTIONADDRESS_REQUIRED": "모션 주소는",
+      "MOTIONPROXY_MUST_VALID_URL": "모션 프록시는 유효한 URL이어야 합니다.",
+      "MOTIONPROXY_REQUIRED": "모션 프록시는 필수입니다.",
+      "NAME_MUST_VALID_PATTERN": "이름은 유효한 패턴이어야 합니다.",
+      "NAME_REQUIRED": "이름은 필수입니다.",
+      "OPTIONS_REQUIRED": "옵션은 필수입니다.",
+      "OUTBOUNDROUTE_REQUIRED": "필수 필드",
+      "PASSWORD_REQUIRED": "비밀번호는 필수입니다.",
+      "PHONENUMBER_REQUIRED": "전화번호는 필수입니다.",
+      "PHONE_REQUIRED": "전화는 필수입니다.",
+      "PREFIX_REQUIRED": "국가번호는 필수입니다.",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "우선순위는 다음과 같거나 커야 합니다.",
+      "PRIORITY_REQUIRED": "우선순위는 필수입니다.",
+      "PROJECT_REQUIRED": "필수 필드",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "필수 필드",
+      "QUEUE_REQUIRED": "상담그룹은 필수입니다.",
+      "REJECTURL_MUST_VALID_URL": "거절 URL은 유효해야 합니다.",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "재시도 수는 다음과 같거나 커야합니다.",
+      "SECRETACCESSKEY_REQUIRED": "필수 필드",
+      "SENDERSTRING_MAX_LENGTH": "발신자 문자열 최대 길이",
+      "SENDERSTRING_MUST_VALID_PATTERN": "발신자 문자열을 유효한 패턴이어야 합니다.",
+      "SID_REQUIRED": "SID는 필수입니다.",
+      "TAG_REQUIRED": "필수 필드",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "기술/공급원이 필수입니다.",
+      "TEXT_MAX_LENGTH": "텍스트 최대 길이",
+      "TEXT_REQUIRED": "텍스트는 필수입니다.",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 커야합니다.",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "시간초과는 다음과 같거나 작아야합니다.",
+      "TIMEOUT_REQUIRED": "시간초과는 필수입니다.",
+      "TIMEZONE_REQUIRED": "시간대는 필수입니다.",
+      "TOKEN_REQUIRED": "토큰은 필수입니다.",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "참 우선순위는 다음과 같거나 커야 합니다.",
+      "TRUEPRIORITY_REQUIRED": "참 우선순위는 필수입니다.",
+      "TRUNK_REQUIRED": "필수 필드",
+      "TYPE_REQUIRED": "타입은 필수입니다.",
+      "URL_REQUIRED": "URL은 필수입니다.",
+      "USERNAME_REQUIRED": "필수 필드",
+      "VALUE_REQUIRED": "값은 필수입니다.",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 커야합니다.",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "할당된 상담원에 대한 대기는 다음과 같거나 작아야합니다.",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "할당된 상담원에 대한 대기는 필수입니다.",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "무게는 다음과 같거나 커야합니다.",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "마무리 시간은 다음과 같거나 커야합니다."
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "예상 대기시간 공지",
+    "EXTENSION": "내선 전화",
+    "EXTERNALDIAL": "외부 전화",
+    "FAILED": "실패",
+    "FALSEPRIORITY": "거짓 우선순위",
+    "FAX": "팩스",
+    "FIDELITY": "정확도",
+    "FIELD": "필드",
+    "FIELDS": "필드",
+    "FILE": "파일",
+    "FILE_NOT_FOUND": "파일을 찾을 수 없습니다",
+    "FILTER": "필터",
+    "FILTERS": "필터",
+    "FINISH": "종료",
+    "FONTSIZE": "글자 크기",
+    "FORMAT": "형식",
+    "FREE": "무료",
+    "FROM": "발신자",
+    "FULLNAME": "성명",
+    "GENERAL": "일반",
+    "GLOBAL": "글로벌",
+    "GOSUB": "GoSub",
+    "GOTO": "GOTO",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GoTop",
+    "HANGUP": "끊기",
+    "HANGUPCAUSE_1": "끊음 원인1",
+    "HANGUPCAUSE_16": "끊음 원인16",
+    "HANGUPCAUSE_17": "끊음 원인17",
+    "HANGUPCAUSE_18": "끊음 원인18",
+    "HANGUPCAUSE_21": "끊음 원인21",
+    "HANGUPCAUSE_22": "끊음 원인22",
+    "HANGUPCAUSE_27": "끊음 원인27",
+    "HANGUPCAUSE_38": "끊음 원인38",
+    "HANGUPCAUSE_41": "끊음 원인41",
+    "HANGUP_CAUSE": "끊음 원인",
+    "HEADERS": "헤더",
+    "HELP": {
+      "AFTERCALLWORK": "통화 후 작업",
+      "AFTERCALLWORKDURATION": "통화 후 작업기간",
+      "ANNOUNCECALLERPOSITION": "발신자 직위 공지",
+      "ANNOUNCEHOLDTIME": "공지 대기시간",
+      "ANNOUNCETOAGENT": "상담원에게 공지",
+      "CONTEXT": "내용",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "예상 대기시간 공지",
+      "HOLDTIMEANNOUNCE": "대기시간 공지",
+      "LIST": "목록",
+      "MANDATORYDISPOSITION": "의무 처분",
+      "MANDATORYDISPOSITIONPAUSEID": "강제 처분 중에 설정할 일시 중지 상태",
+      "MEMBERDELAY": "멤버 지연",
+      "MINANNOUNCEFREQUENCY": "최소 공지 빈도수",
+      "MINUTEANNOUNCE": "분 공지",
+      "MINUTESANNOUNCE": "분 공지",
+      "MONITORFORMAT": "모니터 형식",
+      "MOTIONPROXY": "모션프록시",
+      "MUSICONHOLD": "대기 중 음악",
+      "NAME": "이름",
+      "PERIODICANNOUNCE": "주기적 공지",
+      "PERIODICANNOUNCEFREQUENCY": "주기적 공지 빈도수",
+      "RECORDING": "녹취",
+      "REPORTHOLDTIMEAGENT": "대기시간 상담원 레포트",
+      "RINGINUSE": "사용중 전화",
+      "SECONDSANNOUNCE": "초 공지",
+      "THANKYOUANNOUNCE": "감사 공지",
+      "THEREAREANNOUNCE": "공지",
+      "TIMEOUTRESTART": "시간초과 재시작",
+      "TYPE": "타입",
+      "VOICEMAIL_CONTEXT": "보이스메일 내용",
+      "WAITINGCALLSANNOUNCE": "대기중 전화 공지",
+      "WELCOMEMESSAGE": "이것은 컨택 터에게 전송 된 첫 번째 메시지입니다",
+      "YOUARENEXTANNOUNCE": "다음차례 공지"
+    },
+    "HIDE_DETAILS": "세부사항 숨기기",
+    "HOLDTIMEANNOUNCE": "대기시간 공지",
+    "HOST": "호스트",
+    "ID": "ID",
+    "IDLE": "자리비움",
+    "IN": "입력",
+    "INBOUNDROUTES": "수신 경로",
+    "INFO": "정보",
+    "INSERT_MESSAGE_HERE": "여기에 문자 메시지를 삽입하십시오.",
+    "INTEGRATIONS": "통합",
+    "INTERACTION": "대화",
+    "INTERACTIONS": "대화",
+    "INTERNAL": "내부",
+    "INTERNALDIAL": "내부 전화",
+    "INTERNALROUTES": "내부 경로",
+    "INTERVAL": "인터벌",
+    "INTERVALS": "인터벌",
+    "INUSE": "사용중",
+    "INVALID": "유효하지 않음",
+    "IN_USE": "사용중",
+    "JOINWHENEMPTY": "비어있는 경우 참가",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "키",
+    "LAGGED": "지연",
+    "LANGUAGE": "언어",
+    "LASTMESSAGE": "마지막 메시지",
+    "LASTNAME": "성",
+    "LAST_MONTH": "지난 달",
+    "LEAVEWHENEMPTY": "비어있는 경우 나가기",
+    "LEXREGION": "부위",
+    "LIMITED": "제한",
+    "LIST": "목록",
+    "LOGGED_IN": "로그인 완료",
+    "LOGIN_TIME": "로그인 시간",
+    "LOGO": "로고",
+    "LOGOUT": "로그아웃",
+    "MACRO": "매크로",
+    "MAIL": "이메일",
+    "MAILBOX": "메일박스",
+    "MAILBOX@CONTEXT": "사서함 @ 내용",
+    "MANAGED": "관리",
+    "MANDATORYDISPOSITION": "의무 처분",
+    "MANDATORYDISPOSITIONPAUSEID": "필수 처분 일시 정지 상태",
+    "MARK_AS_UNREAD": "읽지않음으로 표시",
+    "MAXLENGTH": "최대 길이",
+    "MAXMESSAGES": "최대 메시지",
+    "MAXSECONDS": "최대 초",
+    "MAY": "5월",
+    "MEMBERDELAY": "멤버 지연",
+    "MESSAGE": "메시지",
+    "MESSAGES": "메시지",
+    "MESSAGESALIGNMENT": "메시지 정렬",
+    "METHOD": "방법",
+    "METRIC": "Metric",
+    "MINANNOUNCEFREQUENCY": "최소 공지 빈도수",
+    "MINUTEANNOUNCE": "분 공지",
+    "MINUTESANNOUNCE": "분 공지",
+    "MOBILE": "핸드폰",
+    "MODULES": "모듈",
+    "MOHSOUNDS": "Moh 소리",
+    "MONITORFORMAT": "모니터 형식",
+    "MORE": "더보기",
+    "MOTIONADDRESS": "모션 주소",
+    "MOTIONBAR": "모션 바",
+    "MOTIONDIALER": "Motion dialer",
+    "MOTIONPROXY": "모션 프록시",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "대기 중 음악",
+    "MUSICONHOLDS": "대기 중 음악",
+    "NAME": "이름",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "신규 ChanSpy",
+    "NEW_CONTACT": "신규 연락처",
+    "NEW_CONTEXT": "신규 문맥",
+    "NEW_INBOUNDROUTE": "신규 수신 경로",
+    "NEW_INTERNALROUTE": "신규 내부 경로",
+    "NEW_MUSICONHOLD": "신규 대기 중 음악",
+    "NEW_OUTBOUNDROUTE": "신규 발신 경로",
+    "NEW_PROJECT": "신규 프로젝트",
+    "NEW_TAB": "신규 탭",
+    "NEW_TAG": "신규 태그",
+    "NEW_VARIABLE": "신규 변수",
+    "NEW_VOICEMAIL": "신규 보이스메일",
+    "NEW_VOICEQUEUE": "신규 음성 상담그룹",
+    "NO": "아니오",
+    "NONE": "없음",
+    "NOOP": "Noop",
+    "NOTE": "노트",
+    "NOTES": "노트",
+    "NOTIFICATION": "알림",
+    "NOTIFICATIONSHAKE": "알림 진동",
+    "NOTIFICATIONSOUND": "알림 소리",
+    "NOTIFICATIONTEMPLATE": "알림 템플릿",
+    "NOT_INUSE": "미사용",
+    "NO_AGENT_ONLINE": "온라인 상담원 없음",
+    "NO_APPS_AVAILABLE": "사용가능한 앱 없음",
+    "NO_AVAILABLE_INFO": "사용가능한 정보 없음",
+    "NO_INTERACTION_AVAILABLE": "사용가능한 대화 없음",
+    "NO_MESSAGE_AVAILABLE": "사용가능한 메시지 없음",
+    "NO_MOHSOUND_AVAILABLE": "사용가능한 moh소리 없음",
+    "NO_RATING": "평가 없음",
+    "NO_REGISTRY": "등록소 없음",
+    "NO_SOUND_AVAILABLE": "사용가능한 소리 없음",
+    "NUMBER": "번호",
+    "OF": "중",
+    "ONHOLD": "보류",
+    "OPEN": "열기",
+    "OPENCHANNEL": "오픈 채널",
+    "OPENED": "열기 완료",
+    "OPERATOR": "교환원",
+    "OPTIONS": "옵션",
+    "ORIGINATED": "발생 시기",
+    "OTHERS": "기타",
+    "OUT": "출력",
+    "OUTBOUNDDIAL": "발신 번호",
+    "OUTBOUNDROUTE": "외향 경로",
+    "OUTBOUNDROUTES": "발신 경로",
+    "OUTBOUND_CALLS": "발신 전화",
+    "OUTPUT": "출력",
+    "PAGE": "페이지",
+    "PARTIALPAUSE": "부분 일시중지",
+    "PASSWORD": "비밀번호",
+    "PAUSE": "일시중지",
+    "PAUSED": "일시중지 완료",
+    "PAUSE_TIME": "일시 중지 시간",
+    "PAYMENTMETHOD": "지불 방법",
+    "PENALTY": "벌점",
+    "PENDING": "보류",
+    "PERIODICANNOUNCE": "주기적 공지",
+    "PERIODICANNOUNCEFREQUENCY": "주기적 공지 빈도수",
+    "PERSONAL_INFO": "개인 정보",
+    "PHONE": "전화",
+    "PHONENUMBER": "전화 번호",
+    "PHONE_STATE": "전화 상태",
+    "PHONE_STATUS": "전화 상태",
+    "PLAYBACK": "재생",
+    "PLUGINS": "플러그인",
+    "PORT": "포트",
+    "POSITION": "위치",
+    "POSTALCODE": "우편 번호",
+    "PREFIX": "국가번호",
+    "PREVIEW": "미리보기",
+    "PRIORITY": "우선 순위",
+    "PROJECT": "프로젝트",
+    "PROJECTS": "프로젝트",
+    "PROXY": "대리",
+    "QUEUE": "상담그룹",
+    "QUEUES": "상담그룹 시간초과",
+    "QUEUETRANSFER": "대기열 전송",
+    "QUEUETRANSFERTIMEOUT": "대기열 전송 시간 초과",
+    "QUEUE_CALLS": "상담그룹 전화",
+    "QUEUE_PARAMETERS": "상담그룹 파라미터",
+    "QUEUE_PARAMS": "상담그룹 파라미터",
+    "RANDOM": "랜덤",
+    "RANDOMPERIODICANNOUNCE": "랜덤 주기적 공지",
+    "RATING": "평가",
+    "REACHABLE": "도달 가능",
+    "READY": "준비",
+    "REALTIME": "실시간",
+    "RECALLME": "리콜",
+    "RECEIVED_AT": "수신 일시",
+    "RECEIVEURL": "수신 URL",
+    "RECORD": "녹취",
+    "RECORDING": "녹취",
+    "RECORDINGFORMAT": "녹취 포맷",
+    "RECORDINGS": "녹음",
+    "REFRESH_INTERACTIONS": "대화 새로고침",
+    "REGISTERED": "등록 완료 ",
+    "REGISTRY": "등록소",
+    "REJECT": "거절",
+    "REJECTED": "거절 완료",
+    "REJECTMETHOD": "거절 방법",
+    "REJECTURL": "URL 거절",
+    "RELOAD": "재로딩",
+    "REPLY": "답장",
+    "REPORT": "보고서",
+    "REPORTHOLDTIMEAGENT": "대기시간 상담원 레포트",
+    "RETRY": "재시도",
+    "RING": "전화",
+    "RINGGROUP": "전화 그룹",
+    "RINGING": "벨 울림",
+    "RINGINUSE": "자용중 전화",
+    "ROWSPERPAGE": "페이지별 행 수",
+    "RULE": "규칙",
+    "SAVE": "저장",
+    "SCHEDULEDAT": "예약 일시",
+    "SCHEDULED_CALLS": "예정된 통화",
+    "SCREENRECORDING": "화면 녹화 관리",
+    "SCRIPT": "스크립트",
+    "SEARCH_FOR_ANYONE": "모두 검색",
+    "SECONDSANNOUNCE": "초 공지",
+    "SECRETACCESSKEY": "비밀 액세스 키",
+    "SECURITY_SUITE": "적절한 보안",
+    "SELECT": "고르다",
+    "SELECTED": "선택 완료",
+    "SELECTED_AGENTS": "선택된 상담원",
+    "SELECTED_TEAMS": "선택된 팀",
+    "SELECTED_USERS": "선택된 사용자",
+    "SELECT_ACCOUNT": "계정 선택",
+    "SELECT_ALL": "전체 산택",
+    "SELECT_DATE": "날짜 선택",
+    "SELECT_NONE": "선택 안함",
+    "SELECT_STATUS": "상태 선택",
+    "SELECT_TYPE": "타입 선택",
+    "SEND": "전송",
+    "SENDMAIL": "이메일 발송",
+    "SENTIMENTANALYSIS": "감정 분석",
+    "SERVICE": "서비스",
+    "SESSIONS": "세션 수",
+    "SET": "설정",
+    "SETINTERFACEVARIABLES": "대화 변수 설정",
+    "SETQUEUEENTRYVARIABLES": "상담그룹 시도 변수 설정",
+    "SETQUEUEVARIABLES": "상담그룹 변수 설정",
+    "SETTINGS": "설정",
+    "SHOW_ALL_FIELDS": "모든 필드 보기",
+    "SHOW_DETAILS": "세부사항 보기",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP 호스트",
+    "SMTP_PORT": "SMTP 포트",
+    "SOCIAL": "소셜",
+    "SORT": "정렬",
+    "SOURCE": "소스",
+    "SPYINTERACTION": "대화 염탐",
+    "STAFF": "직원",
+    "STARTEDAT": "시작 일시",
+    "STARTTIME": "시작 시간",
+    "START_SCREENRECORDING": "화면 녹화 시작",
+    "STATE": "상태",
+    "STATUS": "상태",
+    "STOP_SCREENRECORDING": "화면 녹화 중지",
+    "STRATEGY": "전략",
+    "SUBJECT": "제목",
+    "SYSTEM": "시스템",
+    "TAG": "태그",
+    "TAGS": "태그",
+    "TALKING": "통화중",
+    "TEAMS_ASSOCIATION": "팀 협회",
+    "TECHNOLOGY/RESOURCE": "기술 / 공급원",
+    "TELEPHONES": "전화기",
+    "TEMPLATE": "템플릿",
+    "TEXT": "본문",
+    "THANKYOUANNOUNCE": "감사 공지",
+    "THEREAREANNOUNCE": "공지",
+    "TIMEOUT": "시간 초과",
+    "TIMEOUTRESTART": "시간 초과 재시작",
+    "TIMER": "타이머",
+    "TIMES": "횟수",
+    "TIMEZONE": "시간대",
+    "TO": "수신자",
+    "TOKEN": "토큰",
+    "TOOLTIP_SCREENRECORDING_OFF": "스크린 녹화 가능",
+    "TOOLTIP_SCREENRECORDING_ON": "화면 녹화 중",
+    "TOTAL": "총",
+    "TOTAL_OFFERED": "총 제공",
+    "TRANSCRIBE": "고쳐 쓰다",
+    "TRANSFER": "이전",
+    "TRANSPORT": "전환",
+    "TRUEPRIORITY": "참 우선순위",
+    "TRUNK": "시외전화",
+    "TRUNKS": "시외전화",
+    "TRUNK_STATUS": "시외전화 상태",
+    "TYPE": "타입",
+    "UNAVAILABLE": "사용 불가",
+    "UNIQUEID": "고유 ID",
+    "UNKNOWN": "알 수 없음",
+    "UNMANAGED": "관리되지 않음",
+    "UNPAUSE": "일시중지 해제",
+    "UNREACHABLE": "도달 불가",
+    "UNREGISTERED": "미등록",
+    "UP": "위로",
+    "UPDATE": "업데이트",
+    "UPLOADING": "업로드 중",
+    "URL": "URL",
+    "USER": "사용자",
+    "USERNAME": "사용자 이름",
+    "USERS": "사용자",
+    "VALUE": "값",
+    "VARIABLE": "변수",
+    "VIDAOOSESSION": "영상 통화 시작",
+    "VIDEO": "비디오",
+    "VIDEOSUPPORT": "비디오 지원",
+    "VOICE": "음성",
+    "VOICEMAIL": "보이스메일",
+    "VOICEMAILS": "보이스메일",
+    "VOICEMAIL_CONTEXT": "보이스메일 내용",
+    "VOICEQUEUES": "음성 상담그룹",
+    "VOICERECORDINGS": "음성 녹취",
+    "WAITFORTHEASSIGNEDAGENT": "할당된 상담원 대기",
+    "WAITING": "대기중",
+    "WAITINGCALLSANNOUNCE": "대기중 전화 공지",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "웹사이트",
+    "WEIGHT": "무게",
+    "WELCOMEMESSAGE": "환영 메세지",
+    "WHATSAPP": "WhatsApp 커넥터",
+    "WHITELABEL": "픤 라벨",
+    "WRAPUPTIME": "마무리 시간",
+    "WRONG_EXTENSION": "파일의 확장자가 잘못되었습니다",
+    "YES": "예",
+    "YOUARENEXTANNOUNCE": "다음 차례 공지"
+  }
+}
diff --git a/public/app/main/i18n/lt.json b/public/app/main/i18n/lt.json
new file mode 100644
index 0000000..749076e
--- /dev/null
+++ b/public/app/main/i18n/lt.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Pamestas",
+    "ABANDONEDCALLS": "Pamesti eilės skambučiai",
+    "ABANDONED_CALLS": "Pamesti skambučiai",
+    "ACCEPT": "Priimti",
+    "ACCEPTMETHOD": "Priimti metodą",
+    "ACCEPTURL": "Priimti URL",
+    "ACCESSKEYID": "Prieigos rakto ID",
+    "ACCOUNT": "Paskyra",
+    "ACCOUNTNAME": "Paskyros vardas",
+    "ACCOUNTS": "Paskyros",
+    "ACCOUNTSID": "Sąskaitos SID",
+    "ACTIONS": "Veiksmai",
+    "ACTIVE": "Aktyvus",
+    "ADD": "Pridėti",
+    "ADDRESS": "Adresas",
+    "ADD_AGENT_TO_VOICEQUEUE": "Pridėti agentą prie balso eilės",
+    "ADD_CHANSPY": "Pridėti skambučių stebėjimą",
+    "ADD_CONTACT": "Pridėti kontakta",
+    "ADD_CONTEXT": "Pridėti kontekstą",
+    "ADD_INBOUNDROUTE": "Pridėti įeinantį maršrutą",
+    "ADD_INTERNALROUTE": "Pridėti vidinį maršrutą",
+    "ADD_MOHSOUND": "Pridėti sulaikymo muzikos garsą",
+    "ADD_MUSICONHOLD": "Pridėti muzikos sulaikymą",
+    "ADD_NOTE": "Pridėti pastabą",
+    "ADD_OUTBOUNDROUTE": "Pridėti išeinantį maršrutą",
+    "ADD_PROJECT": "Pridėti projektą",
+    "ADD_TAG": "Pridėti žymę",
+    "ADD_TEAM_TO_VOICEQUEUE": "Pridėti komandą prie balso eilės",
+    "ADD_VARIABLE": "Pridėti kintamąjį",
+    "ADD_VOICEMAIL": "Pridėti balso pašto adresą",
+    "ADD_VOICEQUEUE": "Pridėti balso eilę",
+    "ADVANCED": "Pažengęs",
+    "AFTERCALLWORK": "Darbas užbaigus skambutį",
+    "AFTERCALLWORKDURATION": "Darbo trukmė užbaigus skambutį",
+    "AGENT": "Agentas",
+    "AGENTS": "Agentai",
+    "AGENTSADD_QUEUE": "Pridėti agentus prie balso eilės",
+    "AGENTTRANSFER": "Agento perkėlimas",
+    "AGENTTRANSFERTIMEOUT": "Agento perkėlimo laikas",
+    "AGENT_TIMEOUT": "Agento laikas",
+    "AGI": "AGI",
+    "ALIAS": "Slapyvardis",
+    "ALL": "Visi",
+    "ALLOWCODECS": "Leidžiami kodekai",
+    "ALL_AGENTS": "Visi agentai",
+    "ALL_TEAMS": "Visos komandos",
+    "ALL_USERS": "Visi vartotojai",
+    "ALPHABETICAL": "Abėcėlės tvarka",
+    "ALWAYS": "Visada",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Skambinančiojo pozicijos pranešimas",
+    "ANNOUNCEFREQUENCY": "Pranešimo pasikartojimas",
+    "ANNOUNCEHOLDTIME": "Pranešimo sulaikymo laikas",
+    "ANNOUNCEMENTS": "Pranešimai",
+    "ANNOUNCEPOSITIONLIMIT": "Pozicijos limito pranešimas",
+    "ANNOUNCETOAGENT": "Pranešti agentui",
+    "ANNOUNCE_OVERRIDES": "Pranešimo perrašymas",
+    "ANSWER": "Atsiliepti",
+    "ANSWERED": "Atsiliepta",
+    "API": "API",
+    "APIKEY": "Api raktas",
+    "APPLICATION": "Programa",
+    "APPLICATION_NAME": "Programos pavadinimas",
+    "ARGUMENTS": "Argumentai",
+    "ATTACH": "Pridėti",
+    "AUDIO": "Garsas",
+    "AUDIOFILES": "Garso failai",
+    "AUDIO_FILES": "Garso failai",
+    "AUTH": "Aut",
+    "AUTHTOKEN": "Įgaliojimo atpažinimo ženklas",
+    "AUTOPAUSE": "Automatinė pauzė",
+    "AUTOREPLY": "Automatinis atsakymas",
+    "AVG_BILLABLE": "Vidutinis apmokestinimas",
+    "AVG_HOLD_TIME": "Vidutinis sulaikymo laikas",
+    "BACK": "Atgal",
+    "BLACKLIST": "Juodasis sąrašas",
+    "BODY": "Turinys",
+    "BOTNAME": "Roboto pavadinimas",
+    "BUILDER": "Statytojas",
+    "BUSY": "Užimtas",
+    "CALLED": "Paskambinta",
+    "CALLER": "Skambinantysis",
+    "CALLERID": "Skambintojo ID",
+    "CALLER_ID": "Skambintojo ID",
+    "CALLYSQUARE": "IVR programų valgymo įrankis",
+    "CAMPAIGN": "Kampanija",
+    "CANCEL": "Atšaukti",
+    "CANNEDANSWERS": "Įrašyti atsakymai",
+    "CANNED_ANSWER_NOT_FOUND": "Įrašytų atsakymų nerasta",
+    "CANNED_ANSWER_SEARCH": "Įveskite tekstą, norėdami ieškoti įrašyto atsakymo",
+    "CANT_DOWNLOAD_THIS_FILE": "Neįmanoma atsisiųsti šio failo",
+    "CAPACITY": "Talpa",
+    "CHANNEL": "Channel",
+    "CHANNELS": "Kanalai",
+    "CHANSPIES": "Skambučių stebėjimas",
+    "CHANSPY": "Skambučių stebėjimas",
+    "CHAT": "Pokalbis",
+    "CITY": "Miestas",
+    "CLEAR": "Valyti",
+    "CLOSE": "Uždaryti",
+    "CLOSED": "Uždaryta",
+    "CLOSEDAT": "Uždaryta",
+    "CLOSEMETHOD": "Uždaryti metodą",
+    "CLOSEURL": "Uždaryti URL",
+    "CLOSING": "Uždarymas",
+    "COMMAND": "Komanda",
+    "COMPANIES": "Įmonės",
+    "COMPANY": "Įmonė",
+    "CONDITION": "Padėtis",
+    "CONFIRM_PASSWORD": "Patvirtinti slaptažodį",
+    "CONNECTED": "Sujungtas",
+    "CONTACT": "Kontaktas",
+    "CONTACTMANAGER": "Kontaktų tvarkytojas",
+    "CONTACTS": "Kontaktai",
+    "CONTENT": "Turinys",
+    "CONTEXT": "Kontekstas",
+    "CONTEXTS": "Kontekstas",
+    "COUNTRY": "Šalis",
+    "CREATED_AT": "Sukurtas",
+    "CUSTOM": "Įprastas",
+    "CUSTOMER_JOURNEY": "Kliento kelias",
+    "CUSTOM_FIELDS": "Pasirinktiniai laukai",
+    "CUTDIGITS": "Iškirpti skaitmenis",
+    "DASHBOARD": "Prietaisų skydelis",
+    "DATE": "Data",
+    "DATE_OF_BIRTH": "Gimimo data",
+    "DEFAULT": "Numatytas",
+    "DEFAULT_PAUSE": "Numatytoji pauzė",
+    "DELETE": "Ištrinti",
+    "DELETE_APP": "Ištrinti programą",
+    "DELETE_CHANSPY": "Ištrinti skambučių stebėjimą",
+    "DELETE_CONTEXT": "Ištrinti kontekstą",
+    "DELETE_HOPPER": "Ištrinti talpyklą",
+    "DELETE_INBOUNDROUTE": "Ištrinti įeinantį maršrutą",
+    "DELETE_INTERACTION": "Ištrinti sąveiką",
+    "DELETE_INTERNALROUTE": "Ištrinti vidinį maršrutą",
+    "DELETE_MOHSOUND": "Ištrinti sulaikymo muzikos garsą",
+    "DELETE_MUSICONHOLD": "Ištrinti muzikos sulaikymą",
+    "DELETE_OUTBOUNDROUTE": "Ištrinti išeinantį maršrutą",
+    "DELETE_PROJECT": "Ištrinti projektą",
+    "DELETE_SELECTED": "Ištrinti pasirinktus",
+    "DELETE_VOICEDISPOSITION": "Ištrinti balso išdėstymą",
+    "DELETE_VOICEMAIL": "Ištrinti balso pašto adresą",
+    "DELETE_VOICEQUEUE": "Ištrinti balso eilę",
+    "DELETE_VOICERECORDING": "Ištrinti balso įrašą",
+    "DELIVERYREPORTURL": "Pristatymo ataskaita URL",
+    "DESCRIPTION": "Aprašymas",
+    "DESTINATION": "Paskirties vieta",
+    "DESTINATIONPATTERN": "Paskirties modelis",
+    "DETAIL": "Išsamiau",
+    "DETAILS": "Detalės",
+    "DIAL": "Rinkimas",
+    "DIALER": "Rinkiklis",
+    "DIALOGFLOW": "Dialogo srautas",
+    "DID": "Padaryta",
+    "DIRECTORY": "Katalogas",
+    "DISABLED": "Išjungtas",
+    "DISPOSITION": "Išdėstymas",
+    "DISPOSITIONS": "Išdėstymai",
+    "DOWNLOAD": "Atsisiųsti ",
+    "DOWNLOAD_INTERACTION": "Atsisiųsti ",
+    "DOWNLOAD_MOHSOUND": "Parsisiųsti sulaikymo muzikos garsą",
+    "DOWNLOAD_VOICERECORDING": "Parsisiųsti balso įrašą",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Atsisiųsti be priedo",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Atsisiųsti be priedų",
+    "DOWNLOAD_WITH_ATTACHMENT": "Atsisiųsti su priedu",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Atsisiųsti su priedais",
+    "DROPPED": "Atmesta",
+    "DROP_TO_UPLOAD": "Nuvilkite įkelti",
+    "DURATION": "Trukmė",
+    "EDIT": "Redaguoti",
+    "EDIT_AGENT": "Redaguoti agentą",
+    "EDIT_AGI": "Redaguoti AGI",
+    "EDIT_AMAZONLEX": "Redaguoti „Lex“ konfigūraciją",
+    "EDIT_APP": "Redaguoti programą",
+    "EDIT_AUTOREPLY": "Redaguoti automatinį atsakymą",
+    "EDIT_CHANSPY": "Redaguoti skambučių stebėjimą",
+    "EDIT_CLOSE": "Redaguoti uždaryti",
+    "EDIT_CONTEXT": "Redaguoti kontekstą",
+    "EDIT_CUSTOM": "Redaguoti įprastą",
+    "EDIT_DIAL": "Redaguoti rinkiklį",
+    "EDIT_DIALOGFLOW": "Redaguoti dialogo srauto konfigūraciją",
+    "EDIT_EXTERNALDIAL": "Redaguoti išorinį rinkiklį",
+    "EDIT_GOTO": "Redaguoti Eiti į",
+    "EDIT_GOTOIF": "Redaguoti eiti į jei",
+    "EDIT_GOTOP": "Redaguoti eiti į P",
+    "EDIT_HANGUP": "Redaguoti atidėjimą",
+    "EDIT_HOPPER": "Redaguoti talpyklą",
+    "EDIT_INBOUNDROUTE": "Redaguoti įeinantį maršrutą",
+    "EDIT_INTERNALDIAL": "Redaguoti vidinį rinkiklį",
+    "EDIT_INTERNALROUTE": "Redaguoti vidinį maršrutą",
+    "EDIT_INTERVAL": "Redaguoti intervalą",
+    "EDIT_MUSICONHOLD": "Redaguoti muzikos sulaikymą",
+    "EDIT_NOOP": "Redaguoti Noop",
+    "EDIT_OUTBOUNDROUTE": "Redaguoti išeinantį maršrutą",
+    "EDIT_PLAYBACK": "Redaguoti atkūrimą",
+    "EDIT_PROJECT": "Redaguoti projektą",
+    "EDIT_QUEUE": "Redaguoti eilę",
+    "EDIT_RINGGROUP": "Redaguoti skambučio grupę",
+    "EDIT_SET": "Redaguoti nustatytuosius",
+    "EDIT_SYSTEM": "Redaguoti sistemą",
+    "EDIT_TAG": "Redaguoti žymą",
+    "EDIT_TRUNK": "Redaguoti ryšio kanalą",
+    "EDIT_VOICEDISPOSITION": "Redaguoti balso išdėstymą",
+    "EDIT_VOICEMAIL": "Redaguoti balso pašto adresą",
+    "EDIT_VOICEQUEUE": "Redaguoti balso eilę",
+    "EDIT_VOICERECORDING": "Redaguoti balso įrašymą",
+    "EMAIL": "El. paštas",
+    "EMAILADDRESS": "El. pašto adresas",
+    "EMAILBODY": "El. pašto adresas",
+    "EMAILSUBJECT": "El. laiško tema",
+    "ENABLED": "Įjungtas",
+    "ENCRYPTION": "Šifravimas",
+    "ENDTIME": "Pabaigos laikas",
+    "ENVELOPE": "Vokas",
+    "EQUALS": "Lygu",
+    "ERROR": "Klaida",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Blogas formatas",
+      "ACCESSKEYID_REQUIRED": "Būtinas prieigos rakto ID",
+      "ACCOUNTNAME_REQUIRED": "Privalomas laukas",
+      "ACCOUNTSID_REQUIRED": "Privalomas laukas",
+      "AFTERCALLWORKDURATION_REQUIRED": "Privalomas laukas",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
+      "AGENT_REQUIRED": "Privalomas laukas",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+      "AGENT_TIMEOUT_REQUIRED": "Privalomas laukas",
+      "ALIAS_REQUIRED": "Privalomas laukas",
+      "APIKEY_REQUIRED": "Privalomas laukas",
+      "APPLICATION_REQUIRED": "Privalomas laukas",
+      "AUTHTOKEN_REQUIRED": "Privalomas laukas",
+      "BOTNAME_REQUIRED": "Būtinas roboto pavadinimas",
+      "CLOSEURL_MUST_VALID_URL": "Blogas formatas",
+      "COMMAND_REQUIRED": "Privalomas laukas",
+      "CONDITION_REQUIRED": "Privalomas laukas",
+      "CONFIRM_NOT_MATCH": "Slaptažodžiai nesutampa",
+      "CONTENT_REQUIRED": "Privalomas laukas",
+      "CONTEXT_REQUIRED": "Privalomas laukas",
+      "DESTINATIONPATTERN_REQUIRED": "Privalomas laukas",
+      "DISPOSITION_REQUIRED": "Privalomas laukas",
+      "EMAIL_MUST_VALID": "Blogas formatas",
+      "EMAIL_REQUIRED": "Privalomas laukas",
+      "EXTENSION_REQUIRED": "Privalomas laukas",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "FALSEPRIORITY_REQUIRED": "Privalomas laukas",
+      "FIELD_REQUIRED": "Privalomas laukas",
+      "FIRSTNAME_REQUIRED": "Privalomas laukas",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "FONTSIZE_REQUIRED": "Privalomas laukas",
+      "FULLNAME_REQUIRED": "Privalomas laukas",
+      "HOST_REQUIRED": "Privalomas laukas",
+      "KEY_MAX_LENGTH": "Raktas turi būti ne ilgesnė kaip {{maks}}",
+      "KEY_REQUIRED": "Privalomas laukas",
+      "LIST_REQUIRED": "Privalomas laukas",
+      "MAILBOX_REQUIRED": "Privalomas laukas",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas",
+      "METHOD_REQUIRED": "Privalomas laukas",
+      "MOTIONADDRESS_MUST_VALID_URL": "Blogas formatas",
+      "MOTIONADDRESS_REQUIRED": "Privalomas laukas",
+      "MOTIONPROXY_MUST_VALID_URL": "Blogas formatas",
+      "MOTIONPROXY_REQUIRED": "Privalomas laukas",
+      "NAME_MUST_VALID_PATTERN": "Blogas formatas",
+      "NAME_REQUIRED": "Privalomas laukas",
+      "OPTIONS_REQUIRED": "Privalomas laukas",
+      "OUTBOUNDROUTE_REQUIRED": "Privalomas laukas",
+      "PASSWORD_REQUIRED": "Privalomas laukas",
+      "PHONENUMBER_REQUIRED": "Privalomas laukas",
+      "PHONE_REQUIRED": "Privalomas laukas",
+      "PREFIX_REQUIRED": "Privalomas laukas",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "PRIORITY_REQUIRED": "Privalomas laukas",
+      "PROJECT_REQUIRED": "Privalomas laukas",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Privalomas laukas",
+      "QUEUE_REQUIRED": "Privalomas laukas",
+      "REJECTURL_MUST_VALID_URL": "Blogas formatas",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "SECRETACCESSKEY_REQUIRED": "Privalomas laukas",
+      "SENDERSTRING_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{maks}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Blogas formatas",
+      "SID_REQUIRED": "Privalomas laukas",
+      "TAG_REQUIRED": "Privalomas laukas",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Privalomas laukas",
+      "TEXT_MAX_LENGTH": "Reikšmė turi būti ne ilgesnė kaip {{maks}}",
+      "TEXT_REQUIRED": "Privalomas laukas",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+      "TIMEOUT_REQUIRED": "Privalomas laukas",
+      "TIMEZONE_REQUIRED": "Privalomas laukas",
+      "TOKEN_REQUIRED": "Privalomas laukas",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "TRUEPRIORITY_REQUIRED": "Privalomas laukas",
+      "TRUNK_REQUIRED": "Privalomas laukas",
+      "TYPE_REQUIRED": "Privalomas laukas",
+      "URL_REQUIRED": "Privalomas laukas",
+      "USERNAME_REQUIRED": "Privalomas laukas",
+      "VALUE_REQUIRED": "Privalomas laukas",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Reikšmė turi būti mažesnė arba lygi",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Privalomas laukas",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Reikšmė turi būti didesnė arba lygi"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Numatomo sulaikymo laiko pranešimas",
+    "EXTENSION": "Pratęsimas",
+    "EXTERNALDIAL": "Išorinis rinkiklis",
+    "FAILED": "Nepavykęs",
+    "FALSEPRIORITY": "Neteisingas prioritetas",
+    "FAX": "Faksas",
+    "FIDELITY": "Tikslumas",
+    "FIELD": "Laukas",
+    "FIELDS": "Laukai",
+    "FILE": "Failas",
+    "FILE_NOT_FOUND": "Failas nerastas",
+    "FILTER": "Filtras",
+    "FILTERS": "Filtrai",
+    "FINISH": "Pabaiga",
+    "FONTSIZE": "Šrifto dydis",
+    "FORMAT": "Formatas",
+    "FREE": "Laisvas",
+    "FROM": "Nuo",
+    "FULLNAME": "Vardas ir pavardė",
+    "GENERAL": "Bendras",
+    "GLOBAL": "Visuotinis",
+    "GOSUB": "GoSub",
+    "GOTO": "Eiti į",
+    "GOTOIF": "Eiti į jei",
+    "GOTOP": "Eiti į P",
+    "HANGUP": "Atidėti",
+    "HANGUPCAUSE_1": "1 = Nepaskirstytas numeris",
+    "HANGUPCAUSE_16": "16 = Įprastas skambučių tvarkymas",
+    "HANGUPCAUSE_17": "17 = Vartotojas užimtas",
+    "HANGUPCAUSE_18": "18 = Vartotojas neatsako (telefono įrenginys neprijungtas)",
+    "HANGUPCAUSE_21": "21 = Skambutis atmestas",
+    "HANGUPCAUSE_22": "22 = Numeris pasikeitė",
+    "HANGUPCAUSE_27": "27 = Paskirties vieta netinkama",
+    "HANGUPCAUSE_38": "38 = Tinklas netinkamas",
+    "HANGUPCAUSE_41": "41 = Laikinas gedimas",
+    "HANGUP_CAUSE": "Atidėjimo priežastis",
+    "HEADERS": "Antraštės",
+    "HELP": {
+      "AFTERCALLWORK": "Jei įjungta, užbaigus skambutį agentui bus nustatyta Pauzė",
+      "AFTERCALLWORKDURATION": "Pauzės ilgis, kuris suveikia Darbas po skambučio parinktyje",
+      "ANNOUNCECALLERPOSITION": "Naudojamas apibrėžti, ar reikia pranešti apie skambinančiojo vietą eilėje: Ne = niekada; Taip = visada; Limitas = tik tuo atveju, jei jis neviršija limito, apibrėžto pagal pranešimų-pozicijos-limitą; Daugiau = tik tuo atveju, jei viršijama reikšmė, apibrėžta pagal pranešimų-pozicijos-limitą",
+      "ANNOUNCEHOLDTIME": "Groja apskaičiuotą užlaikymo laiką kartu su periodiniais pranešimais (Taip/Ne/Kartą)",
+      "ANNOUNCETOAGENT": "Paleisti pranešimą agentui, kuris atsiliepia į skambutį (paprastai tam, kad praneštų, iš kokios eilės skambinantysis yra)",
+      "CONTEXT": "Leidžia skambinančiajam išeiti iš eilės paspaudus vieną DTMF skaitmenį. Jei nurodomas kontekstas ir skambintojas įveda numerį, tą skaičių bus bandoma suderinti su nurodytu kontekste, ir ten bus tęsiamas telefono numerio rinkimo atlikimas",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Dabartinis numatomas sulaikymo laikas yra'. Neapibrėžtas = jokio pranešimo",
+      "HOLDTIMEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Sulaikymo laikas'. Neapibrėžtas = jokio pranešimo",
+      "LIST": "Kontaktų tvarkytuvo sąrašas, naudojamas kontaktams susieti",
+      "MANDATORYDISPOSITION": "Privalomas išdėstymas",
+      "MANDATORYDISPOSITIONPAUSEID": "Nustatyti pauzės būseną privalomo išdėstymo metu",
+      "MEMBERDELAY": "Įterpia atidėjimą, kol skambinantysis ir agentas, esantis eilėje, bus sujungti",
+      "MINANNOUNCEFREQUENCY": "Minimalus pranešimo pasikartojimas (naudingas, kai skambinančiojo padėtis dažnai keičiasi)",
+      "MINUTEANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Minutė'. Neapibrėžtas = jokio pranešimo",
+      "MINUTESANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Minutės'. Neapibrėžtas = jokio pranešimo",
+      "MONITORFORMAT": "Nurodo failo formatą, kurį reikia naudoti įrašant. Jei monitoriaus formatas neaktyvus, skambučiai nebus įrašomi",
+      "MOTIONPROXY": "Laukas turi būti tokio formato: <protocol>://<ipaddress>[:<port>]. Pavyzdys: https://X.Y.Z.W",
+      "MUSICONHOLD": "Nustato muzikos rūšį, naudojamą tam tikrai eilei",
+      "NAME": "Palaikomi tik skaičiai, raidės ir konkretūs simboliai (._)",
+      "PERIODICANNOUNCE": "Rinkinys periodinių pranešimų, kurie bus paleidžiami (eilės tvarka)",
+      "PERIODICANNOUNCEFREQUENCY": "Periodinių pranešimų pasikartojimas skambinančiajam",
+      "RECORDING": "Įjungti skambučių įrašymą",
+      "REPORTHOLDTIMEAGENT": "Leidžia pranešti agentui apie skambinančiojo sulaikymo laiką eilėje prieš sujungimą",
+      "RINGINUSE": "Neleisti/leisti siųsti skambučius nariams, kurių būsena yra Naudojamas",
+      "SECONDSANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Sekundės'. Neapibrėžtas = jokio pranešimo",
+      "THANKYOUANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Ačiū už kantrybę'. Neapibrėžtas = jokio pranešimo",
+      "THEREAREANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Yra'. Neapibrėžtas = jokio pranešimo",
+      "TIMEOUTRESTART": "Jei taip, tai iš naujo nustato agento atsakymo laiką, kai iš kanalo gaunama būsena UŽIMTAS arba PERKROVA",
+      "TYPE": "Nustatykite SIP vaidmenį Asterisk'e. Vartotojas: naudojamas atpažinti įeinantiems - bendraamžis: išeinantiems skambučiams - draugas: apima abi pirmiau nurodytas charakteristikas.",
+      "VOICEMAIL_CONTEXT": "Atitinkamo konteksto suteikimas",
+      "WAITINGCALLSANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Laukiantys skambučiai'. Neapibrėžtas = jokio pranešimo",
+      "WELCOMEMESSAGE": "Tai yra pirmoji atsakymo žinutė, išsiųsta naujoms sąveikoms.",
+      "YOUARENEXTANNOUNCE": "Pasirinkite garsą, apibrėžtą įrankiuose. Numatytasis = 'Dabar esate pirmas eilėje'. Neapibrėžtas = jokio pranešimo"
+    },
+    "HIDE_DETAILS": "Slėpti išsamią informaciją",
+    "HOLDTIMEANNOUNCE": "Sulaikymo laiko pranešimas",
+    "HOST": "Savininkas",
+    "ID": "Id",
+    "IDLE": "Laisvas",
+    "IN": "Į",
+    "INBOUNDROUTES": "Įeinantys maršrutai",
+    "INFO": "Informacija",
+    "INSERT_MESSAGE_HERE": "Teksto pranešimą įterpkite čia",
+    "INTEGRATIONS": "Integracijos",
+    "INTERACTION": "Sąveika",
+    "INTERACTIONS": "Sąveikos",
+    "INTERNAL": "Vidinis",
+    "INTERNALDIAL": "Vidinis rinkiklis",
+    "INTERNALROUTES": "Vidiniai maršrutai",
+    "INTERVAL": "Intervalas",
+    "INTERVALS": "Intervalai",
+    "INUSE": "Naudojamas",
+    "INVALID": "Neteisingas",
+    "IN_USE": "Naudojamas",
+    "JOINWHENEMPTY": "Prisijungti kai tuščia",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Raktas",
+    "LAGGED": "Vėlavimas",
+    "LANGUAGE": "Kalba",
+    "LASTMESSAGE": "Paskutinė žinutė",
+    "LASTNAME": "Pavardė",
+    "LAST_MONTH": "Praeitas mėnuo",
+    "LEAVEWHENEMPTY": "Palikti kai tuščia",
+    "LEXREGION": "Regionas",
+    "LIMITED": "Ribotas",
+    "LIST": "Sąrašas",
+    "LOGGED_IN": "Prisijungęs (prijungtas prie SIP)",
+    "LOGIN_TIME": "Prisijungimo laikas",
+    "LOGO": "Logotipas",
+    "LOGOUT": "Atsijungti",
+    "MACRO": "Makro",
+    "MAIL": "El. paštas",
+    "MAILBOX": "Pašto dėžutė",
+    "MAILBOX@CONTEXT": "Pašto dėžutė@Kontekstas",
+    "MANAGED": "Valdomas",
+    "MANDATORYDISPOSITION": "Privalomas išdėstymas",
+    "MANDATORYDISPOSITIONPAUSEID": "Privalomas pauzės būsenos išdėstymas",
+    "MARK_AS_UNREAD": "Žymėti kaip neskaitytą",
+    "MAXLENGTH": "Maksimalus ilgis",
+    "MAXMESSAGES": "Maksimalios žinutės",
+    "MAXSECONDS": "Maksimalios sekundės",
+    "MAY": "Gegužė",
+    "MEMBERDELAY": "Nario sulaikymas",
+    "MESSAGE": "Žinutė",
+    "MESSAGES": "Žinutės",
+    "MESSAGESALIGNMENT": "Pranešimų derinimas",
+    "METHOD": "Metodas",
+    "METRIC": "Metrika",
+    "MINANNOUNCEFREQUENCY": "Minimalus pranešimo pasikartojimas",
+    "MINUTEANNOUNCE": "Minutės pranešimas",
+    "MINUTESANNOUNCE": "Minučių pranešimas",
+    "MOBILE": "Mobilus",
+    "MODULES": "Moduliai",
+    "MOHSOUNDS": "Moh garsai",
+    "MONITORFORMAT": "Įrašymo formatas",
+    "MORE": "Daugiau",
+    "MOTIONADDRESS": "Motion adresas",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy arba Motion domenas",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Muzika sulaikyta",
+    "MUSICONHOLDS": "Muzikos sulaikymas",
+    "NAME": "Vardas",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Naujas skambučių stebėjimas",
+    "NEW_CONTACT": "Naujas kontaktas",
+    "NEW_CONTEXT": "Naujas kontekstas",
+    "NEW_INBOUNDROUTE": "Naujas įeinančių maršrutas",
+    "NEW_INTERNALROUTE": "Naujas vidinis maršrutas",
+    "NEW_MUSICONHOLD": "Nauja sulaikymo muzika",
+    "NEW_OUTBOUNDROUTE": "Naujas išeinančių maršrutas",
+    "NEW_PROJECT": "Naujas projektas",
+    "NEW_TAB": "Naujas skirtukas",
+    "NEW_TAG": "Nauja žymė",
+    "NEW_VARIABLE": "Naujas kintamasis",
+    "NEW_VOICEMAIL": "Naujas balso paštas",
+    "NEW_VOICEQUEUE": "Nauja balso eilė",
+    "NO": "Ne",
+    "NONE": "Niekas",
+    "NOOP": "Noop",
+    "NOTE": "Pastaba",
+    "NOTES": "Pastabos",
+    "NOTIFICATION": "Pranešimas",
+    "NOTIFICATIONSHAKE": "Vibravimas",
+    "NOTIFICATIONSOUND": "Garsas",
+    "NOTIFICATIONTEMPLATE": "Šablonas",
+    "NOT_INUSE": "Nenaudojamas",
+    "NO_AGENT_ONLINE": "Nėra prisijungusio agento",
+    "NO_APPS_AVAILABLE": "Nėra programų",
+    "NO_AVAILABLE_INFO": "Nėra prieinamos informacijos",
+    "NO_INTERACTION_AVAILABLE": "Sąveikų nėra",
+    "NO_MESSAGE_AVAILABLE": "Nėra žinučių",
+    "NO_MOHSOUND_AVAILABLE": "Nėra sulaikymo muzikos",
+    "NO_RATING": "Nėra įvertinimo",
+    "NO_REGISTRY": "Nėra registro",
+    "NO_SOUND_AVAILABLE": "Nėra garsų",
+    "NUMBER": "Skaičius",
+    "OF": "Apie",
+    "ONHOLD": "Sulaikytas",
+    "OPEN": "Atidaryti",
+    "OPENCHANNEL": "Atidaryti kanalą",
+    "OPENED": "Atidaryta",
+    "OPERATOR": "Operatorius",
+    "OPTIONS": "Parinktys",
+    "ORIGINATED": "Inicijuotas",
+    "OTHERS": "Kiti",
+    "OUT": "Iš",
+    "OUTBOUNDDIAL": "Išeinantis rinkimas",
+    "OUTBOUNDROUTE": "Išeinantis maršrutas",
+    "OUTBOUNDROUTES": "Išeinantys maršrutai",
+    "OUTBOUND_CALLS": "Išeinantys skambučiai",
+    "OUTPUT": "Produkcija",
+    "PAGE": "Puslapis",
+    "PARTIALPAUSE": "Dalinė pauzė",
+    "PASSWORD": "Slaptažodis",
+    "PAUSE": "Pauzė",
+    "PAUSED": "Pristabdyta",
+    "PAUSE_TIME": "Pauzės laikas",
+    "PAYMENTMETHOD": "Mokėjimo metodai",
+    "PENALTY": "Nuobauda",
+    "PENDING": "Laukiama",
+    "PERIODICANNOUNCE": "Periodiškas pranešimas",
+    "PERIODICANNOUNCEFREQUENCY": "Periodinis pranešimo pasikartojimas",
+    "PERSONAL_INFO": "Asmeninė informacija",
+    "PHONE": "Telefonas",
+    "PHONENUMBER": "Telefono numeris",
+    "PHONE_STATE": "Telefono padėtis",
+    "PHONE_STATUS": "Telefono būsena",
+    "PLAYBACK": "Atkūrimas",
+    "PLUGINS": "Plugins",
+    "PORT": "Portas",
+    "POSITION": "Pozicija",
+    "POSTALCODE": "Pašto kodas",
+    "PREFIX": "Prefiksas",
+    "PREVIEW": "Peržiūra",
+    "PRIORITY": "Prioritetas",
+    "PROJECT": "IVR programų valdymo įrankio projektas",
+    "PROJECTS": "Projektai",
+    "PROXY": "Įgaliojimas",
+    "QUEUE": "Eilė",
+    "QUEUES": "Eilės",
+    "QUEUETRANSFER": "Eilės perkėlimas",
+    "QUEUETRANSFERTIMEOUT": "Eilės perdavimo laikas",
+    "QUEUE_CALLS": "Eilės skambučiai",
+    "QUEUE_PARAMETERS": "Eilės parametrai",
+    "QUEUE_PARAMS": "Eilės parametrai",
+    "RANDOM": "Atsitiktinis",
+    "RANDOMPERIODICANNOUNCE": "Atsitiktinis periodinis pranešimas",
+    "RATING": "Įvertinimas",
+    "REACHABLE": "Pasiekiamas",
+    "READY": "Parengta",
+    "REALTIME": "Realus laikas",
+    "RECALLME": "Prisiminti mane",
+    "RECEIVED_AT": "Gauta iš",
+    "RECEIVEURL": "Gauti URL",
+    "RECORD": "Įrašas",
+    "RECORDING": "Įrašymas",
+    "RECORDINGFORMAT": "Įrašymo formatas",
+    "RECORDINGS": "Įrašai",
+    "REFRESH_INTERACTIONS": "Atnaujinti sąveikas",
+    "REGISTERED": "Registruotas",
+    "REGISTRY": "Registras",
+    "REJECT": "Atmesti",
+    "REJECTED": "Atmestas",
+    "REJECTMETHOD": "Atmesti metodą",
+    "REJECTURL": "Atmesti URL",
+    "RELOAD": "Perkrauti",
+    "REPLY": "Atsakyti",
+    "REPORT": "Ataskaita",
+    "REPORTHOLDTIMEAGENT": "Agento sulaikymo laiko ataskaita",
+    "RETRY": "Pakartotinis bandymas",
+    "RING": "Skambutis",
+    "RINGGROUP": "Skambučio grupė",
+    "RINGING": "Skambinimas",
+    "RINGINUSE": "Skambutis būsenai Naudojamas",
+    "ROWSPERPAGE": "Eilutės puslapyje",
+    "RULE": "Taisyklė",
+    "SAVE": "Išsaugoti",
+    "SCHEDULEDAT": "Įtraukta",
+    "SCHEDULED_CALLS": "Suplanuoti skambučiai",
+    "SCREENRECORDING": "Tvarkyti ekrano įrašymą",
+    "SCRIPT": "Skriptas",
+    "SEARCH_FOR_ANYONE": "Paieška",
+    "SECONDSANNOUNCE": "Sekundžių pranešimas",
+    "SECRETACCESSKEY": "Slaptas prieigos raktas",
+    "SECURITY_SUITE": "Saugos komplektas",
+    "SELECT": "Pasirinkite",
+    "SELECTED": "Pasirinkta",
+    "SELECTED_AGENTS": "Pasirinkti agentai",
+    "SELECTED_TEAMS": "Pasirinktos komandos",
+    "SELECTED_USERS": "Pasirinkti vartotojai",
+    "SELECT_ACCOUNT": "Pasirinkti paskyrą",
+    "SELECT_ALL": "Pasirinkti viską",
+    "SELECT_DATE": "Pasirinkti pradžios datą",
+    "SELECT_NONE": "Nieko nepasirinkti",
+    "SELECT_STATUS": "Pasirinkti statusą",
+    "SELECT_TYPE": "Pasirinkti tipą",
+    "SEND": "Siųsti",
+    "SENDMAIL": "Siųsti el. laišką",
+    "SENTIMENTANALYSIS": "Sentimentų analizė",
+    "SERVICE": "Aptarnavimas",
+    "SESSIONS": "Sesijos",
+    "SET": "Nustatyti",
+    "SETINTERFACEVARIABLES": "Nustatyti sąsajos kintamuosius",
+    "SETQUEUEENTRYVARIABLES": "Nustatyti eilės įvedimo kintamuosius",
+    "SETQUEUEVARIABLES": "Nustatyti eilės kintamuosius",
+    "SETTINGS": "Nustatymai",
+    "SHOW_ALL_FIELDS": "Rodyti visus laukus",
+    "SHOW_DETAILS": "Rodyti išsamią informaciją",
+    "SMS": "Trumpoji žinutė",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Savininkas",
+    "SMTP_PORT": "Langas",
+    "SOCIAL": "Socialinis",
+    "SORT": "Rūšiuoti",
+    "SOURCE": "Šaltinis",
+    "SPYINTERACTION": "Sekti",
+    "STAFF": "Darbuotojai",
+    "STARTEDAT": "Pradėjo",
+    "STARTTIME": "Pradžios laikas",
+    "START_SCREENRECORDING": "Pradėti ekrano įrašymą",
+    "STATE": "Būsena",
+    "STATUS": "Būsena",
+    "STOP_SCREENRECORDING": "Sustabdyti ekrano įrašymą",
+    "STRATEGY": "Strategija",
+    "SUBJECT": "Tema",
+    "SYSTEM": "Sistema",
+    "TAG": "Žyma",
+    "TAGS": "Žymos",
+    "TALKING": "Kalbama",
+    "TEAMS_ASSOCIATION": "Komandų asociacija",
+    "TECHNOLOGY/RESOURCE": "Technologija/Šaltinis",
+    "TELEPHONES": "Telefonai",
+    "TEMPLATE": "Šablonas",
+    "TEXT": "Tekstas",
+    "THANKYOUANNOUNCE": "'Ačiū' pranešimas",
+    "THEREAREANNOUNCE": "'Yra' pranešimas",
+    "TIMEOUT": "Laikas baigėsi",
+    "TIMEOUTRESTART": "Pasibaigusio laiko perkrovimas",
+    "TIMER": "Laikmatis",
+    "TIMES": "Sąveikos kartų skaičius",
+    "TIMEZONE": "Laiko juosta",
+    "TO": "Į",
+    "TOKEN": "Požymis",
+    "TOOLTIP_SCREENRECORDING_OFF": "Ekrano įrašymas prieinamas",
+    "TOOLTIP_SCREENRECORDING_ON": "Vyksta ekrano įrašymas",
+    "TOTAL": "Viso",
+    "TOTAL_OFFERED": "Iš viso siūloma",
+    "TRANSCRIBE": "Transkribuoti",
+    "TRANSFER": "Perkėlimas",
+    "TRANSPORT": "Pervežimas",
+    "TRUEPRIORITY": "Teisingas prioritetas",
+    "TRUNK": "Ryšio kanalas",
+    "TRUNKS": "Ryšio kanalai",
+    "TRUNK_STATUS": "Ryšio kanalo būsena",
+    "TYPE": "Tipas",
+    "UNAVAILABLE": "Nepasiekiamas",
+    "UNIQUEID": "Unikalus ID",
+    "UNKNOWN": "Nežinomas",
+    "UNMANAGED": "Nevaldomas",
+    "UNPAUSE": "Baigti pauzę",
+    "UNREACHABLE": "Nepasiekiamas",
+    "UNREGISTERED": "Neregistruotas",
+    "UP": "Aukštyn",
+    "UPDATE": "Atnaujinti",
+    "UPLOADING": "Įkeliama",
+    "URL": "URL",
+    "USER": "Vartotojas",
+    "USERNAME": "Vartotojo vardas",
+    "USERS": "Vartotojai",
+    "VALUE": "Reikšmė",
+    "VARIABLE": "Kintamasis",
+    "VIDAOOSESSION": "Pradėti vaizdo skambutį",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Vaizdo palaikymas",
+    "VOICE": "Balsas",
+    "VOICEMAIL": "Balso paštas",
+    "VOICEMAILS": "Balso pašto adresai",
+    "VOICEMAIL_CONTEXT": "Kontekstas",
+    "VOICEQUEUES": "Balso eilė",
+    "VOICERECORDINGS": "Balso įrašai",
+    "WAITFORTHEASSIGNEDAGENT": "Palaukite paskirto agento",
+    "WAITING": "Laukiama",
+    "WAITINGCALLSANNOUNCE": "Laukiantys skambučiai pranešimas",
+    "WEBHOOKS": "Internetinės svetainės",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Interneto svetainė",
+    "WEIGHT": "Svarba",
+    "WELCOMEMESSAGE": "Pasisveikinimo žinutė",
+    "WHATSAPP": "„WhatsApp“ jungtis",
+    "WHITELABEL": "Balta etiketė",
+    "WRAPUPTIME": "Užbaigimo laikas",
+    "WRONG_EXTENSION": "Faile pateiktas neteisingas plėtinys",
+    "YES": "Taip",
+    "YOUARENEXTANNOUNCE": "'Jūs esate sekantis' pranešimas"
+  }
+}
diff --git a/public/app/main/i18n/lv.json b/public/app/main/i18n/lv.json
new file mode 100644
index 0000000..0d3b815
--- /dev/null
+++ b/public/app/main/i18n/lv.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Neatbildēts",
+    "ABANDONEDCALLS": "Neatbildēti rindas zvani",
+    "ABANDONED_CALLS": "Neatbildēti zvani",
+    "ACCEPT": "Pieņemt",
+    "ACCEPTMETHOD": "Pieņemt metodi",
+    "ACCEPTURL": "Pieņemt tīmekļa adresi",
+    "ACCESSKEYID": "Piekļuves atslēgas ID",
+    "ACCOUNT": "Konts",
+    "ACCOUNTNAME": "Konta nosaukums",
+    "ACCOUNTS": "Konti",
+    "ACCOUNTSID": "Konta SID",
+    "ACTIONS": "Darbības",
+    "ACTIVE": "Aktīvs",
+    "ADD": "Pievienot",
+    "ADDRESS": "Adrese",
+    "ADD_AGENT_TO_VOICEQUEUE": "Pievienot aģentu balss rindai",
+    "ADD_CHANSPY": "Pievienot ChanSpy",
+    "ADD_CONTACT": "Pievienot kontaktu",
+    "ADD_CONTEXT": "Pievienot kontekstu",
+    "ADD_INBOUNDROUTE": "Pievienot ienākošo maršrutu",
+    "ADD_INTERNALROUTE": "Pievienot iekšējo maršrutu",
+    "ADD_MOHSOUND": "Pievienot gaidīšanas mūziku",
+    "ADD_MUSICONHOLD": "Pievienot gaidīšanas mūziku",
+    "ADD_NOTE": "Pievienot piezīmi",
+    "ADD_OUTBOUNDROUTE": "Pievienot izejošo maršrutu",
+    "ADD_PROJECT": "Pievienot projektu",
+    "ADD_TAG": "Pievienot birku",
+    "ADD_TEAM_TO_VOICEQUEUE": "Pievienot komandu balss rindai",
+    "ADD_VARIABLE": "Pievienot mainīgo",
+    "ADD_VOICEMAIL": "Pievienot balss pastu",
+    "ADD_VOICEQUEUE": "Pievienot balss rindu",
+    "ADVANCED": "Paplašināts",
+    "AFTERCALLWORK": "Pēc zvana veikšanas",
+    "AFTERCALLWORKDURATION": "Pēc zvana veikšanas ilguma",
+    "AGENT": "Aģents",
+    "AGENTS": "Aģenti",
+    "AGENTSADD_QUEUE": "Pievienot aģentus balss rindai",
+    "AGENTTRANSFER": "Aģenta nodošana",
+    "AGENTTRANSFERTIMEOUT": "Aģenta nodošanas noildze",
+    "AGENT_TIMEOUT": "Aģenta noildze",
+    "AGI": "AGI",
+    "ALIAS": "Nosaukums",
+    "ALL": "Visi",
+    "ALLOWCODECS": "Atļautie kodeki",
+    "ALL_AGENTS": "Visi aģenti",
+    "ALL_TEAMS": "Visas komandas",
+    "ALL_USERS": "Visi lietotāji",
+    "ALPHABETICAL": "Alfabētiski",
+    "ALWAYS": "Vienmēr",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Paziņot zvanītāja atrašanās vietu",
+    "ANNOUNCEFREQUENCY": "Paziņot biežumu",
+    "ANNOUNCEHOLDTIME": "Paziņot gaidīšanas ilgumu",
+    "ANNOUNCEMENTS": "Paziņojumi",
+    "ANNOUNCEPOSITIONLIMIT": "Paziņot par pozīcijas ierobežojumu",
+    "ANNOUNCETOAGENT": "Paziņot aģentam",
+    "ANNOUNCE_OVERRIDES": "Paziņot par ignorēšanu",
+    "ANSWER": "Atbilde",
+    "ANSWERED": "Atbildēts",
+    "API": "API",
+    "APIKEY": "Lietojumprogrammas saskarnes atslēga",
+    "APPLICATION": "Aplikācija",
+    "APPLICATION_NAME": "Aplikācijas nosaukums",
+    "ARGUMENTS": "Argumenti",
+    "ATTACH": "Pievienot",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Audiodatnes",
+    "AUDIO_FILES": "Audiofaili",
+    "AUTH": "Autorizācija",
+    "AUTHTOKEN": "Atļaujas marķieris",
+    "AUTOPAUSE": "Automātiskā pauze",
+    "AUTOREPLY": "Automātiskā atbilde",
+    "AVG_BILLABLE": "Vidējais sarunas laiks",
+    "AVG_HOLD_TIME": "Vidējais gaidīšanas laiks",
+    "BACK": "Atpakaļ",
+    "BLACKLIST": "Melnais saraksts",
+    "BODY": "Galvenais teksts",
+    "BOTNAME": "Bot vārds",
+    "BUILDER": "Veidotājs",
+    "BUSY": "Aizņemts",
+    "CALLED": "Zvanīts",
+    "CALLER": "Zvanītājs",
+    "CALLERID": "Zvanītāja ID",
+    "CALLER_ID": "Zvanītāja ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampaņa",
+    "CANCEL": "Atcelt",
+    "CANNEDANSWERS": "Standarta atbildes",
+    "CANNED_ANSWER_NOT_FOUND": "Nav atrastas standarta atbildes",
+    "CANNED_ANSWER_SEARCH": "Ievadiet tekstu, lai meklētu standarta atbildi",
+    "CANT_DOWNLOAD_THIS_FILE": "Nevar lejupielādēt šo failu",
+    "CAPACITY": "Jauda",
+    "CHANNEL": "Kanāls",
+    "CHANNELS": "Kanāli",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Tērzēšana",
+    "CITY": "Pilsēta",
+    "CLEAR": "Nodzēst",
+    "CLOSE": "Aizvērt",
+    "CLOSED": "Aizvērts",
+    "CLOSEDAT": "Aizvērts",
+    "CLOSEMETHOD": "Aizvērt metodi",
+    "CLOSEURL": "Aizvērt tīmekļa adresi",
+    "CLOSING": "Slēgšana",
+    "COMMAND": "Komanda",
+    "COMPANIES": "Kompānijas",
+    "COMPANY": "Uzņēmums",
+    "CONDITION": "Nosacījums",
+    "CONFIRM_PASSWORD": "Apstiprināt paroli",
+    "CONNECTED": "Savienots",
+    "CONTACT": "Sazināties",
+    "CONTACTMANAGER": "Kontaktu pārvaldnieks",
+    "CONTACTS": "Kontakti",
+    "CONTENT": "Saturs",
+    "CONTEXT": "Konteksts",
+    "CONTEXTS": "Konteksti",
+    "COUNTRY": "Valsts",
+    "CREATED_AT": "Izveidots",
+    "CUSTOM": "Pielāgots",
+    "CUSTOMER_JOURNEY": "Klienta ceļš",
+    "CUSTOM_FIELDS": "Pielāgotie lauki",
+    "CUTDIGITS": "Izgrieztie cipari",
+    "DASHBOARD": "Informācijas panelis",
+    "DATE": "Datums",
+    "DATE_OF_BIRTH": "Dzimšanas datums",
+    "DEFAULT": "Noklusējums",
+    "DEFAULT_PAUSE": "NOKLUSĒTĀ PAUZE",
+    "DELETE": "Dzēst",
+    "DELETE_APP": "Dzēst aplikāciju",
+    "DELETE_CHANSPY": "Dzēst ChanSpy",
+    "DELETE_CONTEXT": "Dzēst kontekstu",
+    "DELETE_HOPPER": "Dzēst Hopper",
+    "DELETE_INBOUNDROUTE": "Dzēst ienākošo maršrutu",
+    "DELETE_INTERACTION": "Dzēst saziņu",
+    "DELETE_INTERNALROUTE": "Dzēst iekšējo maršrutu",
+    "DELETE_MOHSOUND": "Dzēst gaidīšanas mūziku",
+    "DELETE_MUSICONHOLD": "Dzēst gaidīšanas mūziku",
+    "DELETE_OUTBOUNDROUTE": "Dzēst izejošo maršrutu",
+    "DELETE_PROJECT": "Dzēst projektu",
+    "DELETE_SELECTED": "Dzēst izvēlēto",
+    "DELETE_VOICEDISPOSITION": "Dzēst balss statusu",
+    "DELETE_VOICEMAIL": "Dzēst balss pastu",
+    "DELETE_VOICEQUEUE": "Dzēst balss rindu",
+    "DELETE_VOICERECORDING": "Dzēst balss ierakstu",
+    "DELIVERYREPORTURL": "Piegādes pārskata tīmekļa adrese",
+    "DESCRIPTION": "Apraksts",
+    "DESTINATION": "Saņēmējs",
+    "DESTINATIONPATTERN": "Galamērķa modelis",
+    "DETAIL": "Sīkāka informācija",
+    "DETAILS": "Sīka informācija",
+    "DIAL": "Zvans",
+    "DIALER": "Zvanītājs",
+    "DIALOGFLOW": "Dialogplūsma",
+    "DID": "DID",
+    "DIRECTORY": "Katalogs",
+    "DISABLED": "Atspējots",
+    "DISPOSITION": "Statuss",
+    "DISPOSITIONS": "Statusi",
+    "DOWNLOAD": "Lejupielādēt",
+    "DOWNLOAD_INTERACTION": "Lejupielādēt",
+    "DOWNLOAD_MOHSOUND": "Lejupielādēt gaidīšanas mūziku",
+    "DOWNLOAD_VOICERECORDING": "Lejupielādēt balss ierakstu",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Lejupielādējiet bez pielikuma",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Lejupielādēt bez pielikumiem",
+    "DOWNLOAD_WITH_ATTACHMENT": "Lejupielādējiet ar pielikumu",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Lejupielādēt ar pielikumiem",
+    "DROPPED": "Atvienots",
+    "DROP_TO_UPLOAD": "Pārvelciet šeit, lai augšupielādētu",
+    "DURATION": "Ilgums",
+    "EDIT": "Rediģēt",
+    "EDIT_AGENT": "Rediģēt aģentu",
+    "EDIT_AGI": "Rediģēt AGI",
+    "EDIT_AMAZONLEX": "Rediģēt Lex konfigurāciju",
+    "EDIT_APP": "Rediģēt aplikāciju",
+    "EDIT_AUTOREPLY": "Rediģēt automātisko atbildi",
+    "EDIT_CHANSPY": "Rediģēt ChanSpy",
+    "EDIT_CLOSE": "Rediģēt aizvēršanu",
+    "EDIT_CONTEXT": "Rediģēt kontekstu",
+    "EDIT_CUSTOM": "Rediģēt pielāgojamību",
+    "EDIT_DIAL": "Rediģēt numuru",
+    "EDIT_DIALOGFLOW": "Rediģēt Dialogflow konfigurāciju",
+    "EDIT_EXTERNALDIAL": "Rediģēt ārējo numuru",
+    "EDIT_GOTO": "Rediģēt GoTo",
+    "EDIT_GOTOIF": "Rediģēt GotoIf",
+    "EDIT_GOTOP": "Rediģēt GotoP",
+    "EDIT_HANGUP": "Rediģēt klausules nolikšanu",
+    "EDIT_HOPPER": "Rediģēt Hopper",
+    "EDIT_INBOUNDROUTE": "Rediģēt ienākošo maršrutu",
+    "EDIT_INTERNALDIAL": "Rediģēt iekšējo numuru",
+    "EDIT_INTERNALROUTE": "Rediģēt iekšējo maršrutu",
+    "EDIT_INTERVAL": "Rediģēt intervālu",
+    "EDIT_MUSICONHOLD": "Rediģēt gaidīšanas mūziku",
+    "EDIT_NOOP": "Rediģēt Noop",
+    "EDIT_OUTBOUNDROUTE": "Rediģēt izejošo maršrutu",
+    "EDIT_PLAYBACK": "Rediģēt atskaņošanu",
+    "EDIT_PROJECT": "Rediģēt projektu",
+    "EDIT_QUEUE": "Rediģēt rindu",
+    "EDIT_RINGGROUP": "Rediģēt zvana grupu",
+    "EDIT_SET": "Rediģēt kopu",
+    "EDIT_SYSTEM": "Rediģēt sistēmu",
+    "EDIT_TAG": "Rediģēt atzīmi",
+    "EDIT_TRUNK": "Rediģēt maģistrāli",
+    "EDIT_VOICEDISPOSITION": "Rediģēt balss statusu",
+    "EDIT_VOICEMAIL": "Rediģēt balss pastu",
+    "EDIT_VOICEQUEUE": "Rediģēt balss rindu",
+    "EDIT_VOICERECORDING": "Rediģēt balss ierakstu",
+    "EMAIL": "E-pasts",
+    "EMAILADDRESS": "E-pasta adrese",
+    "EMAILBODY": "E-pasta teksts",
+    "EMAILSUBJECT": "E-pasta tēma",
+    "ENABLED": "Iespējots",
+    "ENCRYPTION": "Šifrēšana",
+    "ENDTIME": "Beigu laiks",
+    "ENVELOPE": "Aploksne",
+    "EQUALS": "Vienāds",
+    "ERROR": "Kļūda",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Nepareizs formāts",
+      "ACCESSKEYID_REQUIRED": "Nepieciešams piekļuves atslēgas ID",
+      "ACCOUNTNAME_REQUIRED": "Obligāts lauks",
+      "ACCOUNTSID_REQUIRED": "Obligāts lauks",
+      "AFTERCALLWORKDURATION_REQUIRED": "Obligāts lauks",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
+      "AGENT_REQUIRED": "Obligāts lauks",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+      "AGENT_TIMEOUT_REQUIRED": "Obligāts lauks",
+      "ALIAS_REQUIRED": "Obligāts lauks",
+      "APIKEY_REQUIRED": "Obligāts lauks",
+      "APPLICATION_REQUIRED": "Obligāts lauks",
+      "AUTHTOKEN_REQUIRED": "Obligāts lauks",
+      "BOTNAME_REQUIRED": "Nepieciešams robotprogrammatūras nosaukums",
+      "CLOSEURL_MUST_VALID_URL": "Nepareizs formāts",
+      "COMMAND_REQUIRED": "Obligāts lauks",
+      "CONDITION_REQUIRED": "Obligāts lauks",
+      "CONFIRM_NOT_MATCH": "Paroles nesakrīt",
+      "CONTENT_REQUIRED": "Obligāts lauks",
+      "CONTEXT_REQUIRED": "Obligāts lauks",
+      "DESTINATIONPATTERN_REQUIRED": "Obligāts lauks",
+      "DISPOSITION_REQUIRED": "Obligāts lauks",
+      "EMAIL_MUST_VALID": "Nepareizs formāts",
+      "EMAIL_REQUIRED": "Obligāts lauks",
+      "EXTENSION_REQUIRED": "Obligāts lauks",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "FALSEPRIORITY_REQUIRED": "Obligāts lauks",
+      "FIELD_REQUIRED": "Obligāts lauks",
+      "FIRSTNAME_REQUIRED": "Obligāts lauks",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "FONTSIZE_REQUIRED": "Obligāts lauks",
+      "FULLNAME_REQUIRED": "Obligāts lauks",
+      "HOST_REQUIRED": "Obligāts lauks",
+      "KEY_MAX_LENGTH": "Atslēgas maksimālais garums ir vienāds ar {{max}}",
+      "KEY_REQUIRED": "Obligāts lauks",
+      "LIST_REQUIRED": "Obligāts lauks",
+      "MAILBOX_REQUIRED": "Obligāts lauks",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks",
+      "METHOD_REQUIRED": "Obligāts lauks",
+      "MOTIONADDRESS_MUST_VALID_URL": "Nepareizs formāts",
+      "MOTIONADDRESS_REQUIRED": "Obligāts lauks",
+      "MOTIONPROXY_MUST_VALID_URL": "Nepareizs formāts",
+      "MOTIONPROXY_REQUIRED": "Obligāts lauks",
+      "NAME_MUST_VALID_PATTERN": "Nepareizs formāts",
+      "NAME_REQUIRED": "Obligāts lauks",
+      "OPTIONS_REQUIRED": "Obligāts lauks",
+      "OUTBOUNDROUTE_REQUIRED": "Obligāts lauks",
+      "PASSWORD_REQUIRED": "Obligāts lauks",
+      "PHONENUMBER_REQUIRED": "Obligāts lauks",
+      "PHONE_REQUIRED": "Obligāts lauks",
+      "PREFIX_REQUIRED": "Obligāts lauks",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "PRIORITY_REQUIRED": "Obligāts lauks",
+      "PROJECT_REQUIRED": "Obligāts lauks",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligāts lauks",
+      "QUEUE_REQUIRED": "Obligāts lauks",
+      "REJECTURL_MUST_VALID_URL": "Nepareizs formāts",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "SECRETACCESSKEY_REQUIRED": "Obligāts lauks",
+      "SENDERSTRING_MAX_LENGTH": "Vērtībai jābūt ar maksimālo garumu {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Nepareizs formāts",
+      "SID_REQUIRED": "Obligāts lauks",
+      "TAG_REQUIRED": "Obligāts lauks",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Obligāts lauks",
+      "TEXT_MAX_LENGTH": "Vērtībai jābūt ar maksimālo garumu {{max}}",
+      "TEXT_REQUIRED": "Obligāts lauks",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+      "TIMEOUT_REQUIRED": "Obligāts lauks",
+      "TIMEZONE_REQUIRED": "Obligāts lauks",
+      "TOKEN_REQUIRED": "Obligāts lauks",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "TRUEPRIORITY_REQUIRED": "Obligāts lauks",
+      "TRUNK_REQUIRED": "Obligāts lauks",
+      "TYPE_REQUIRED": "Obligāts lauks",
+      "URL_REQUIRED": "Obligāts lauks",
+      "USERNAME_REQUIRED": "Obligāts lauks",
+      "VALUE_REQUIRED": "Obligāts lauks",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligāts lauks",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Paziņot paredzamo gaidīšanas laiku",
+    "EXTENSION": "Paplašinājums",
+    "EXTERNALDIAL": "Ārējais zvans",
+    "FAILED": "Neizdevās",
+    "FALSEPRIORITY": "Aplama prioritāte",
+    "FAX": "Fakss",
+    "FIDELITY": "Uzticība",
+    "FIELD": "Lauks",
+    "FIELDS": "Lauki",
+    "FILE": "Datne",
+    "FILE_NOT_FOUND": "Fails nav atrasts",
+    "FILTER": "Filtrs",
+    "FILTERS": "Filtri",
+    "FINISH": "Pabeigt",
+    "FONTSIZE": "Fonta izmērs",
+    "FORMAT": "Formāts",
+    "FREE": "Bezmaksas",
+    "FROM": "No",
+    "FULLNAME": "Vārds un uzvārds",
+    "GENERAL": "Vispārīgi",
+    "GLOBAL": "Globāls",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Nolikt klausuli",
+    "HANGUPCAUSE_1": "1 = Nepiešķirtais numurs",
+    "HANGUPCAUSE_16": "16 = Parasta zvanu dzēšana",
+    "HANGUPCAUSE_17": "17 = Lietotājs aizņemts",
+    "HANGUPCAUSE_18": "18 = Nav lietotāja atbildes (tālruņa ierīce nesavienojās)",
+    "HANGUPCAUSE_21": "21 = Zvans noraidīts",
+    "HANGUPCAUSE_22": "22 = Mainīts numurs",
+    "HANGUPCAUSE_27": "27 = Galamērķis nedarbojas",
+    "HANGUPCAUSE_38": "38 = Tīkls nedarbojas",
+    "HANGUPCAUSE_41": "41 = Pagaidu kļūme",
+    "HANGUP_CAUSE": "Klausules nolikšanas iemesls",
+    "HEADERS": "Galvenes",
+    "HELP": {
+      "AFTERCALLWORK": "Ja tas ir iespējots, aģents tiks pārtraukts pēc zvana pabeigšanas",
+      "AFTERCALLWORKDURATION": "Pauzes ilgumu aktivizē pēc zvanu veikšanas opcijas",
+      "ANNOUNCECALLERPOSITION": "Izmanto, lai noteiktu, vai zvanītāja pozīcija rindā ir jāpaziņo: Nē = nekad; Jā = vienmēr; Ierobežots = tikai tad, ja tas ir robežvērtībā, kas ir noteikta paziņojuma pozīcijas ierobežojumā; Vairāk = tikai tad, ja tas pārsniedz vērtību, ko nosaka paziņojuma pozīcijas ierobežojums",
+      "ANNOUNCEHOLDTIME": "Atskaņo aplēsto gaidīšanas laiku kopā ar periodiskiem paziņojumiem (Jā/Nē/Vienreiz)",
+      "ANNOUNCETOAGENT": "Atskaņot paziņojumu aģentam, kas atbild uz zvanu (parasti, lai ļautu viņam uzzināt, no kuras rindas ir zvanītājs)",
+      "CONTEXT": "Ļauj zvanītājam iziet no rindas, nospiežot vienu divtoņu daudzfrekvenču signalizācijas ciparu. Ja konteksts ir norādīts un zvanītājs ievada numuru, šis cipars mēģinās tikt saskaņots norādītajā kontekstā un zvana izpilde turpināsies tur",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Pašreizējais aprēķinātais aizturēšanas laiks\". Nav definēts = nav paziņojuma",
+      "HOLDTIMEANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"gaidīšanas laiks\". Nav definēts = nav paziņojuma",
+      "LIST": "Kontaktpersonu pārvaldnieka saraksts, ko izmanto, lai saistītu kontaktpersonas",
+      "MANDATORYDISPOSITION": "Obligāta rīcība",
+      "MANDATORYDISPOSITIONPAUSEID": "Pauzēt statusu, lai iestatītu obligātās izvietošanas laikā",
+      "MEMBERDELAY": "Ievieto aizkavi pirms zvanītāja un rindā esošā aģenta pievienošanas",
+      "MINANNOUNCEFREQUENCY": "Minimālais paziņošanas biežums (noder, ja zvanītāja atrašanās vieta bieži mainās)",
+      "MINUTEANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Minūte\". Nav definēts = nav paziņojuma",
+      "MINUTESANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Minūtes\". Nav definēts = nav paziņojuma",
+      "MONITORFORMAT": "Norāda datnes formātu, kas ir jāizmanto ierakstīšanas laikā. Ja monitora formāts ir neaktīvs, zvani netiks ierakstīti",
+      "MOTIONPROXY": "Laukam ir jābūt formatētam šādi: <protocol>: //<ipaddress>[:<port>]. Piemērs: https://XYZW",
+      "MUSICONHOLD": "Iestata mūzikas klasi, kas ir jāizmanto noteiktai rindai",
+      "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)",
+      "PERIODICANNOUNCE": "Periodisku paziņojumu kopums, kas tiks atskaņots (pasūtījumā)",
+      "PERIODICANNOUNCEFREQUENCY": "Periodisku paziņojumu biežums zvanītājam",
+      "RECORDING": "Iespējot zvanu ierakstīšanu",
+      "REPORTHOLDTIMEAGENT": "Ļauj paziņot zvanītāja gaidīšanas laiku aģentam rindā pirms savienojuma",
+      "RINGINUSE": "Lai nepieļautu/atļautu zvanus tiem dalībniekiem, kuru statuss ir \"Lietošanā\"",
+      "SECONDSANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Sekundes\". Nav definēts = nav paziņojuma",
+      "THANKYOUANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Paldies par pacietību\". Nav definēts = nav paziņojuma",
+      "THEREAREANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Ir\". Nav definēts = nav paziņojuma",
+      "TIMEOUTRESTART": "Ja \"Jā\", tas atiestata laika ierobežojumu, lai aģents atbildētu, ja no kanāla tiek saņemts statuss \"AIZŅEMTS\" vai \"PĀRSLODZE\"",
+      "TYPE": "Nosakiet SIP lomu Asterisk ietvaros. User: izmanto, lai autentificētu ienākošo – Peer: izejošajiem zvaniem – Friend: iekļauj abas iepriekš minētās īpašības.",
+      "VOICEMAIL_CONTEXT": "Relatīvā paplašinājuma konteksts",
+      "WAITINGCALLSANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Zvanu gaidīšana\". Nav definēts = nav paziņojuma",
+      "WELCOMEMESSAGE": "Šis ir pirmais ziņojums, kas nosūtīts kontaktoram",
+      "YOUARENEXTANNOUNCE": "Izvēlēties skaņu, kas ir definēta \"Rīkos\". Noklusējums = \"Jūs esat pirmais rindā\". Nav definēts = nav paziņojuma"
+    },
+    "HIDE_DETAILS": "Slēpt detaļas",
+    "HOLDTIMEANNOUNCE": "Gaidīšanas paziņojums",
+    "HOST": "Saimnieks",
+    "ID": "ID",
+    "IDLE": "Gaidīšanas režīms",
+    "IN": "Iekš",
+    "INBOUNDROUTES": "Ienākošie maršruti",
+    "INFO": "Informācija",
+    "INSERT_MESSAGE_HERE": "Ievietojiet savu tekstu šeit",
+    "INTEGRATIONS": "Integrācijas",
+    "INTERACTION": "Saziņa",
+    "INTERACTIONS": "Saziņa",
+    "INTERNAL": "Iekšējais",
+    "INTERNALDIAL": "Iekšējais zvans",
+    "INTERNALROUTES": "Iekšējie maršruti",
+    "INTERVAL": "Intervāls",
+    "INTERVALS": "Intervāli",
+    "INUSE": "Lietošanā",
+    "INVALID": "Nederīgs",
+    "IN_USE": "Lietošanā",
+    "JOINWHENEMPTY": "Pievienoties, kad tukšs",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Atslēga",
+    "LAGGED": "Atlikts",
+    "LANGUAGE": "Valoda",
+    "LASTMESSAGE": "Pēdējā ziņa",
+    "LASTNAME": "Uzvārds",
+    "LAST_MONTH": "Pagājušais mēnesis",
+    "LEAVEWHENEMPTY": "Atstāt, kad tukšs",
+    "LEXREGION": "Novads",
+    "LIMITED": "Ierobežojums",
+    "LIST": "Saraksts",
+    "LOGGED_IN": "Pieteicies (SIP savienots)",
+    "LOGIN_TIME": "Pieteikšanās laiks",
+    "LOGO": "Logotips",
+    "LOGOUT": "Atteikšanās",
+    "MACRO": "Makro",
+    "MAIL": "E-pasts",
+    "MAILBOX": "Pastkaste",
+    "MAILBOX@CONTEXT": "Mailbox@Context",
+    "MANAGED": "Pārvaldīts",
+    "MANDATORYDISPOSITION": "Obligāta rīcība",
+    "MANDATORYDISPOSITIONPAUSEID": "Obligāts izvietošanas pauzes statuss",
+    "MARK_AS_UNREAD": "Atzīmēt kā nelasītu",
+    "MAXLENGTH": "Maksimālais garums",
+    "MAXMESSAGES": "Maksimālās ziņas",
+    "MAXSECONDS": "Maksimālās sekundes",
+    "MAY": "Maijs",
+    "MEMBERDELAY": "Dalībnieku kavēšanās",
+    "MESSAGE": "Ziņojums",
+    "MESSAGES": "Ziņas",
+    "MESSAGESALIGNMENT": "Ziņojumu izlīdzināšana",
+    "METHOD": "Metode",
+    "METRIC": "Rādītājs",
+    "MINANNOUNCEFREQUENCY": "Minimālais paziņošanas biežums",
+    "MINUTEANNOUNCE": "Minūtes paziņošana",
+    "MINUTESANNOUNCE": "Minūšu paziņošana",
+    "MOBILE": "Mobilais",
+    "MODULES": "Moduļi",
+    "MOHSOUNDS": "Moh skaņas",
+    "MONITORFORMAT": "Ieraksta formāts",
+    "MORE": "Vairāk",
+    "MOTIONADDRESS": "Kustības adrese",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Starpnieka vai kustības domēns",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Gaidīšanas mūzika",
+    "MUSICONHOLDS": "Gaidīšanas mūzika",
+    "NAME": "Nosaukums",
+    "NAT": "standarts NAT",
+    "NEW_CHANSPY": "Jauns ChanSpy",
+    "NEW_CONTACT": "Jauns kontakts",
+    "NEW_CONTEXT": "Jauns konteksts",
+    "NEW_INBOUNDROUTE": "Jauns ienākošais maršruts",
+    "NEW_INTERNALROUTE": "Jauns iekšējais maršruts",
+    "NEW_MUSICONHOLD": "Jauna gaidīšanas mūzika",
+    "NEW_OUTBOUNDROUTE": "Jauns izejošais maršruts",
+    "NEW_PROJECT": "Jauns projekts",
+    "NEW_TAB": "Jauna cilne",
+    "NEW_TAG": "Jauna birka",
+    "NEW_VARIABLE": "Jauns mainīgais",
+    "NEW_VOICEMAIL": "Jauns balss pasts",
+    "NEW_VOICEQUEUE": "Jauna balss rinda",
+    "NO": "Nav",
+    "NONE": "Nav",
+    "NOOP": "Noop",
+    "NOTE": "Piezīme",
+    "NOTES": "Piezīmes",
+    "NOTIFICATION": "Paziņojums",
+    "NOTIFICATIONSHAKE": "Sakratīt",
+    "NOTIFICATIONSOUND": "Skaņa",
+    "NOTIFICATIONTEMPLATE": "Veidne",
+    "NOT_INUSE": "Netiek izmantots",
+    "NO_AGENT_ONLINE": "Nav aģentu tiešsaistē",
+    "NO_APPS_AVAILABLE": "Neviena aplikācija nav pieejama",
+    "NO_AVAILABLE_INFO": "Nav pieejama informācija",
+    "NO_INTERACTION_AVAILABLE": "Nav pieejama saziņa",
+    "NO_MESSAGE_AVAILABLE": "Nav pieejams neviens ziņojums",
+    "NO_MOHSOUND_AVAILABLE": "Nav pieejama gaidīšanas mūzika",
+    "NO_RATING": "Nav novērtējuma",
+    "NO_REGISTRY": "Nav reģistra",
+    "NO_SOUND_AVAILABLE": "Nav skaņu",
+    "NUMBER": "Skaits",
+    "OF": "no",
+    "ONHOLD": "Noturēts",
+    "OPEN": "Atvērt",
+    "OPENCHANNEL": "Atvērt kanālu",
+    "OPENED": "Atvērt",
+    "OPERATOR": "Operators",
+    "OPTIONS": "Iespējas",
+    "ORIGINATED": "Šobrīd",
+    "OTHERS": "Citi",
+    "OUT": "Ārpus",
+    "OUTBOUNDDIAL": "Izejošais zvans",
+    "OUTBOUNDROUTE": "Izejošais maršruts",
+    "OUTBOUNDROUTES": "Izejošie maršruti",
+    "OUTBOUND_CALLS": "Izejošie zvani",
+    "OUTPUT": "Izvaddati",
+    "PAGE": "Lappuse",
+    "PARTIALPAUSE": "Daļēja pauze",
+    "PASSWORD": "Parole",
+    "PAUSE": "Pauze",
+    "PAUSED": "Apturēts",
+    "PAUSE_TIME": "Pārtraukuma ilgums",
+    "PAYMENTMETHOD": "Apmaksas veidi",
+    "PENALTY": "Prioritāte",
+    "PENDING": "Gaida",
+    "PERIODICANNOUNCE": "Periodiska paziņošana",
+    "PERIODICANNOUNCEFREQUENCY": "Periodiska paziņojuma biežums",
+    "PERSONAL_INFO": "Personiskā informācija",
+    "PHONE": "Tālrunis",
+    "PHONENUMBER": "Tālruņa numurs",
+    "PHONE_STATE": "Tālruņa valsts",
+    "PHONE_STATUS": "Tālruņa statuss",
+    "PLAYBACK": "Atskaņošana",
+    "PLUGINS": "Spraudņi",
+    "PORT": "Pieslēgvieta",
+    "POSITION": "Pozīcija",
+    "POSTALCODE": "Pasta indekss",
+    "PREFIX": "Prefikss",
+    "PREVIEW": "Priekšskatījums",
+    "PRIORITY": "Prioritāte",
+    "PROJECT": "Cally-Square projekts",
+    "PROJECTS": "Projekti",
+    "PROXY": "Starpnieks",
+    "QUEUE": "Rinda",
+    "QUEUES": "Rindas",
+    "QUEUETRANSFER": "Rindas nodošana",
+    "QUEUETRANSFERTIMEOUT": "Rindas nodošanas noildze",
+    "QUEUE_CALLS": "Rindas zvani",
+    "QUEUE_PARAMETERS": "Rindas parametri",
+    "QUEUE_PARAMS": "Rindas parametri",
+    "RANDOM": "Nejaušs",
+    "RANDOMPERIODICANNOUNCE": "Nejaušs periodisks paziņojums",
+    "RATING": "Novērtējums",
+    "REACHABLE": "Sasniedzams",
+    "READY": "Gatavs",
+    "REALTIME": "Monitorings",
+    "RECALLME": "Pārzvanīt man",
+    "RECEIVED_AT": "Saņemts",
+    "RECEIVEURL": "Saņemt URL",
+    "RECORD": "Ieraksts",
+    "RECORDING": "Ieraksts",
+    "RECORDINGFORMAT": "Ieraksta formāts",
+    "RECORDINGS": "Ieraksti",
+    "REFRESH_INTERACTIONS": "Pārlādēt saziņu",
+    "REGISTERED": "Reģistrēts",
+    "REGISTRY": "Reģistrs",
+    "REJECT": "Noraidīt",
+    "REJECTED": "Noraidīts",
+    "REJECTMETHOD": "Noraidīt metodi",
+    "REJECTURL": "Noraidīt tīmekļa adresi",
+    "RELOAD": "Pārlādēt",
+    "REPLY": "Atbildēt",
+    "REPORT": "Ziņojums",
+    "REPORTHOLDTIMEAGENT": "Ziņojuma aģenta gaidīšanas laiks",
+    "RETRY": "Mēģināt vēlreiz",
+    "RING": "Zvana signāls",
+    "RINGGROUP": "Zvana signāla grupa",
+    "RINGING": "Zvanīšana",
+    "RINGINUSE": "Izmantotais zvans",
+    "ROWSPERPAGE": "Rindas lappusē",
+    "RULE": "Noteikums",
+    "SAVE": "Saglabāt",
+    "SCHEDULEDAT": "Ieplānots",
+    "SCHEDULED_CALLS": "Plānotie zvani",
+    "SCREENRECORDING": "Pārvaldīt ekrāna ierakstīšanu",
+    "SCRIPT": "Skripts",
+    "SEARCH_FOR_ANYONE": "Meklēt",
+    "SECONDSANNOUNCE": "Sekunžu paziņošana",
+    "SECRETACCESSKEY": "Slepena piekļuves atslēga",
+    "SECURITY_SUITE": "Drošības režīms",
+    "SELECT": "Atlasiet",
+    "SELECTED": "Atlasīts",
+    "SELECTED_AGENTS": "Atlasītie aģenti",
+    "SELECTED_TEAMS": "Atlasītās komandas",
+    "SELECTED_USERS": "Atlasītie lietotāji",
+    "SELECT_ACCOUNT": "Izvēlieties kontu",
+    "SELECT_ALL": "Atlasīt visus",
+    "SELECT_DATE": "Izvēlieties sākuma datumu",
+    "SELECT_NONE": "Neizvēlēties nevienu",
+    "SELECT_STATUS": "Izvēlieties statusu",
+    "SELECT_TYPE": "Izvēlēties veidu",
+    "SEND": "Nosūtīt",
+    "SENDMAIL": "Sūtīt e-pastu",
+    "SENTIMENTANALYSIS": "Sentimentu analīze",
+    "SERVICE": "apkalpošana",
+    "SESSIONS": "Sesijas",
+    "SET": "Iestatīt",
+    "SETINTERFACEVARIABLES": "Iestatīt saskarnes mainīgos",
+    "SETQUEUEENTRYVARIABLES": "Iestatīt rindas ievades mainīgos",
+    "SETQUEUEVARIABLES": "Iestatīt rindas mainīgos",
+    "SETTINGS": "Iestatījumi",
+    "SHOW_ALL_FIELDS": "Rādīt visus laukus",
+    "SHOW_DETAILS": "Parādīt sīku informāciju",
+    "SMS": "Īsziņa",
+    "SMTP": "SMTP protokols",
+    "SMTP_HOST": "Saimnieks",
+    "SMTP_PORT": "Pieslēgvieta",
+    "SOCIAL": "Sociāli",
+    "SORT": "Kārtot",
+    "SOURCE": "Zvanītājs",
+    "SPYINTERACTION": "Spiegot",
+    "STAFF": "Personāls",
+    "STARTEDAT": "Uzsākts",
+    "STARTTIME": "Sākuma laiks",
+    "START_SCREENRECORDING": "Sākuma ekrāna ierakstīšana",
+    "STATE": "Valsts",
+    "STATUS": "Statuss",
+    "STOP_SCREENRECORDING": "Beigt ekrāna ierakstīšanu",
+    "STRATEGY": "Stratēģija",
+    "SUBJECT": "Temats",
+    "SYSTEM": "Sistēma",
+    "TAG": "Atzīme",
+    "TAGS": "Atzīmes",
+    "TALKING": "Runā",
+    "TEAMS_ASSOCIATION": "Komandu asociācija",
+    "TECHNOLOGY/RESOURCE": "Tehnoloģija/resurss",
+    "TELEPHONES": "Tālruņi",
+    "TEMPLATE": "Veidne",
+    "TEXT": "Teksts",
+    "THANKYOUANNOUNCE": "\"Paldies\" paziņojums",
+    "THEREAREANNOUNCE": "\"Ir\" paziņojums",
+    "TIMEOUT": "Noildze",
+    "TIMEOUTRESTART": "Atsākt noildzi",
+    "TIMER": "Taimers",
+    "TIMES": "Reižu skaits vienas saziņas laikā",
+    "TIMEZONE": "Laika zona",
+    "TO": "Uz",
+    "TOKEN": "Marķieris",
+    "TOOLTIP_SCREENRECORDING_OFF": "Ekrāna ieraksts ir pieejams",
+    "TOOLTIP_SCREENRECORDING_ON": "Notiek ekrāna ierakstīšana",
+    "TOTAL": "Kopā",
+    "TOTAL_OFFERED": "Kopā pieņemts",
+    "TRANSCRIBE": "Atšifrēt",
+    "TRANSFER": "Nodošana",
+    "TRANSPORT": "Transports",
+    "TRUEPRIORITY": "Patiesa prioritāte",
+    "TRUNK": "Maģistrāle",
+    "TRUNKS": "Maģistrāles",
+    "TRUNK_STATUS": "Maģistrāles statuss",
+    "TYPE": "Tips",
+    "UNAVAILABLE": "Nav pieejams",
+    "UNIQUEID": "Unikāls ID",
+    "UNKNOWN": "Nezināms",
+    "UNMANAGED": "Nepārvaldīts",
+    "UNPAUSE": "Pārtraukt pauzi",
+    "UNREACHABLE": "Nesasniedzams",
+    "UNREGISTERED": "Nereģistrēts",
+    "UP": "Uz augšu",
+    "UPDATE": "Atjaunināt",
+    "UPLOADING": "Augšupielāde",
+    "URL": "Tīmekļa adrese",
+    "USER": "Lietotājs",
+    "USERNAME": "Lietotājvārds",
+    "USERS": "Lietotāji",
+    "VALUE": "Vērtība",
+    "VARIABLE": "Mainīgais",
+    "VIDAOOSESSION": "Sāciet videozvanu",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video atbalsts",
+    "VOICE": "Balss",
+    "VOICEMAIL": "Balss pasts",
+    "VOICEMAILS": "Balss pasta ziņojumi",
+    "VOICEMAIL_CONTEXT": "Konteksts",
+    "VOICEQUEUES": "Balss rindas",
+    "VOICERECORDINGS": "Balss ieraksti",
+    "WAITFORTHEASSIGNEDAGENT": "Gaidīt piešķirto aģentu",
+    "WAITING": "Gaida",
+    "WAITINGCALLSANNOUNCE": "Tiek gaidīti zvani",
+    "WEBHOOKS": "Tīmekļa aizķeres",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Tīmekļa vietne",
+    "WEIGHT": "Svars",
+    "WELCOMEMESSAGE": "Laipni lūdzam Messsage",
+    "WHATSAPP": "WhatsApp savienotājs",
+    "WHITELABEL": "Baltā etiķete",
+    "WRAPUPTIME": "Beigšanas laiks",
+    "WRONG_EXTENSION": "Failā ir norādīts nepareizs paplašinājums",
+    "YES": "Jā",
+    "YOUARENEXTANNOUNCE": "Paziņojums \"Jūs esat nākamais\""
+  }
+}
diff --git a/public/app/main/i18n/nl.json b/public/app/main/i18n/nl.json
new file mode 100644
index 0000000..aaec257
--- /dev/null
+++ b/public/app/main/i18n/nl.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Verlaten",
+    "ABANDONEDCALLS": "Verlaten wachtrij-oproepen",
+    "ABANDONED_CALLS": "Verlaten oproepen",
+    "ACCEPT": "Accepteren",
+    "ACCEPTMETHOD": "Accepteren methode",
+    "ACCEPTURL": "URL accepteren",
+    "ACCESSKEYID": "Toegangssleutel-ID",
+    "ACCOUNT": "Account",
+    "ACCOUNTNAME": "Accountnaam",
+    "ACCOUNTS": "Boekhouding",
+    "ACCOUNTSID": "Account-SID",
+    "ACTIONS": "Acties",
+    "ACTIVE": "Actief",
+    "ADD": "Toevoegen",
+    "ADDRESS": "Adres",
+    "ADD_AGENT_TO_VOICEQUEUE": "Voeg Agent Voice wachtrij",
+    "ADD_CHANSPY": "Voeg ChanSpy",
+    "ADD_CONTACT": "Contactpersoon toevoegen",
+    "ADD_CONTEXT": "Voeg context",
+    "ADD_INBOUNDROUTE": "Voeg binnenkomende route",
+    "ADD_INTERNALROUTE": "Voeg interne Route",
+    "ADD_MOHSOUND": "Voeg Wachtmuziek geluid",
+    "ADD_MUSICONHOLD": "Voeg Wachtmuziek",
+    "ADD_NOTE": "Opmerking toevoegen",
+    "ADD_OUTBOUNDROUTE": "Voeg uitgaande route",
+    "ADD_PROJECT": "Voeg Project",
+    "ADD_TAG": "Tag toevoegen",
+    "ADD_TEAM_TO_VOICEQUEUE": "Voeg Team Voice wachtrij",
+    "ADD_VARIABLE": "Variabele toevoegen",
+    "ADD_VOICEMAIL": "Voeg Voicemail",
+    "ADD_VOICEQUEUE": "Voeg spraak wachtrij",
+    "ADVANCED": "Geavanceerd",
+    "AFTERCALLWORK": "Werk na gesprek",
+    "AFTERCALLWORKDURATION": "Nawerk duur",
+    "AGENT": "Agent",
+    "AGENTS": "Agenten",
+    "AGENTSADD_QUEUE": "Voeg Agents voice wachtrij",
+    "AGENTTRANSFER": "Agent Transfer",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Time-out agent",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Alle",
+    "ALLOWCODECS": "Toegestaan codecs",
+    "ALL_AGENTS": "Alle gebruikers zijn agenten",
+    "ALL_TEAMS": "Alle teams",
+    "ALL_USERS": "Alle gebruikers",
+    "ALPHABETICAL": "Alfabetische",
+    "ALWAYS": "Altijd",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Beller aankondigen positie",
+    "ANNOUNCEFREQUENCY": "Frequentie aankondigen",
+    "ANNOUNCEHOLDTIME": "Kondig Nadruktijd",
+    "ANNOUNCEMENTS": "Aankondigingen",
+    "ANNOUNCEPOSITIONLIMIT": "Kondig ondergrenswaarde",
+    "ANNOUNCETOAGENT": "Kondig Agent",
+    "ANNOUNCE_OVERRIDES": "Kondig genegeerd.",
+    "ANSWER": "Antwoord",
+    "ANSWERED": "Beantwoord",
+    "API": "API",
+    "APIKEY": "Api-sleutel",
+    "APPLICATION": "Toepassing",
+    "APPLICATION_NAME": "Toepassingsnaam",
+    "ARGUMENTS": "Argumenten",
+    "ATTACH": "Bevestig",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Audiobestanden",
+    "AUDIO_FILES": "Audiobestanden",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Autorisatie Token",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Automatisch antwoord",
+    "AVG_BILLABLE": "Gem factureerbare",
+    "AVG_HOLD_TIME": "Gem. tijd in wacht",
+    "BACK": "Terug",
+    "BLACKLIST": "Zwarte lijst",
+    "BODY": "Lichaam",
+    "BOTNAME": "Bot naam",
+    "BUILDER": "Builder",
+    "BUSY": "Bezet",
+    "CALLED": "Naam",
+    "CALLER": "Beller",
+    "CALLERID": "Beller-ID",
+    "CALLER_ID": "Beller-ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Campagne",
+    "CANCEL": "annuleren",
+    "CANNEDANSWERS": "Ingeblikte antwoorden",
+    "CANNED_ANSWER_NOT_FOUND": "Geen ingeblikte antwoorden gevonden",
+    "CANNED_ANSWER_SEARCH": "Voer een tekst te zoeken in een ingeblikt antwoord",
+    "CANT_DOWNLOAD_THIS_FILE": "Kan dit bestand niet downloaden",
+    "CAPACITY": "Capaciteit",
+    "CHANNEL": "Kanaal",
+    "CHANNELS": "Kanalen",
+    "CHANSPIES": "Chan Spies",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "Stad",
+    "CLEAR": "Duidelijk",
+    "CLOSE": "Dichtbij",
+    "CLOSED": "Gesloten",
+    "CLOSEDAT": "Gesloten",
+    "CLOSEMETHOD": "Sluit methode",
+    "CLOSEURL": "Sluit URL",
+    "CLOSING": "Sluiten",
+    "COMMAND": "Commando",
+    "COMPANIES": "bedrijven",
+    "COMPANY": "Bedrijf",
+    "CONDITION": "Voorwaarde",
+    "CONFIRM_PASSWORD": "Wachtwoord bevestigen",
+    "CONNECTED": "Aangesloten",
+    "CONTACT": "Neem contact op met",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Contactpersonen",
+    "CONTENT": "Inhoud",
+    "CONTEXT": "Kader",
+    "CONTEXTS": "Contexten",
+    "COUNTRY": "Land",
+    "CREATED_AT": "Gemaakt op",
+    "CUSTOM": "Aangepaste",
+    "CUSTOMER_JOURNEY": "Customer Journey",
+    "CUSTOM_FIELDS": "Aangepaste velden",
+    "CUTDIGITS": "Snijd cijfers",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Datum",
+    "DATE_OF_BIRTH": "Geboortedatum",
+    "DEFAULT": "Standaard",
+    "DEFAULT_PAUSE": "Standaardinstellingen voor pauze",
+    "DELETE": "Verwijderen",
+    "DELETE_APP": "Toepassing verwijderen",
+    "DELETE_CHANSPY": "Verwijder ChanSpy",
+    "DELETE_CONTEXT": "Context verwijderen",
+    "DELETE_HOPPER": "Hopper verwijderen",
+    "DELETE_INBOUNDROUTE": "Verwijder Inkomende route",
+    "DELETE_INTERACTION": "Interactie verwijderen",
+    "DELETE_INTERNALROUTE": "Verwijder inwendige Route",
+    "DELETE_MOHSOUND": "Verwijderen Wachtmuziek geluid",
+    "DELETE_MUSICONHOLD": "Verwijderen Wachtmuziek",
+    "DELETE_OUTBOUNDROUTE": "Verwijder uitgaande route",
+    "DELETE_PROJECT": "Project verwijderen",
+    "DELETE_SELECTED": "Selectie verwijderen",
+    "DELETE_VOICEDISPOSITION": "Alle spraakberichten dispositie",
+    "DELETE_VOICEMAIL": "Voicemail verwijderen",
+    "DELETE_VOICEQUEUE": "Alle spraakberichten wachtrij",
+    "DELETE_VOICERECORDING": "Verwijder spraakopname",
+    "DELIVERYREPORTURL": "URL leveringsrapport",
+    "DESCRIPTION": "Beschrijving",
+    "DESTINATION": "Bestemming",
+    "DESTINATIONPATTERN": "Bestemming patroon",
+    "DETAIL": "Detail",
+    "DETAILS": "Details",
+    "DIAL": "Meetklok",
+    "DIALER": "dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "Wist",
+    "DIRECTORY": "Directory",
+    "DISABLED": "Uitgeschakeld",
+    "DISPOSITION": "Afvoeren",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Download muziek tijdens wachtstand geluid",
+    "DOWNLOAD_VOICERECORDING": "Spraakberichten opnemen",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Download zonder bijlage",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Downloaden zonder bijlagen",
+    "DOWNLOAD_WITH_ATTACHMENT": "Download met bijlage",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Downloaden met bijlagen",
+    "DROPPED": "Weggevallen",
+    "DROP_TO_UPLOAD": "Drop om te uploaden",
+    "DURATION": "Duur",
+    "EDIT": "Bewerken",
+    "EDIT_AGENT": "Edit Agent",
+    "EDIT_AGI": "Edit AGI",
+    "EDIT_AMAZONLEX": "Lex-configuratie bewerken",
+    "EDIT_APP": "Toepassing bewerken",
+    "EDIT_AUTOREPLY": "Edit automatisch antwoord",
+    "EDIT_CHANSPY": "ChanSpy bewerken",
+    "EDIT_CLOSE": "Edit dicht",
+    "EDIT_CONTEXT": "Edit context",
+    "EDIT_CUSTOM": "Bewerk aangep.",
+    "EDIT_DIAL": "Nummer bewerken",
+    "EDIT_DIALOGFLOW": "Configuratie dialoogscherm bewerken",
+    "EDIT_EXTERNALDIAL": "Bewerken externe kiestoon",
+    "EDIT_GOTO": "Ga naar bewerken",
+    "EDIT_GOTOIF": "GotoIf bewerken",
+    "EDIT_GOTOP": "GotoP bewerken",
+    "EDIT_HANGUP": "Hangup bewerken",
+    "EDIT_HOPPER": "Edit Hopper",
+    "EDIT_INBOUNDROUTE": "Edit Binnenkomende route",
+    "EDIT_INTERNALDIAL": "Edit interne kiestoon",
+    "EDIT_INTERNALROUTE": "Edit interne Route",
+    "EDIT_INTERVAL": "Interval bewerken",
+    "EDIT_MUSICONHOLD": "Edit Wachtmuziek",
+    "EDIT_NOOP": "Noop bewerken",
+    "EDIT_OUTBOUNDROUTE": "Edit uitgaande route",
+    "EDIT_PLAYBACK": "Edit afspelen",
+    "EDIT_PROJECT": "Edit Project",
+    "EDIT_QUEUE": "Wachtrij bewerken",
+    "EDIT_RINGGROUP": "Edit belgroep",
+    "EDIT_SET": "Telefoonpost bewerken",
+    "EDIT_SYSTEM": "Systeem bewerken",
+    "EDIT_TAG": "Bewerk label",
+    "EDIT_TRUNK": "Edit transmissielijn",
+    "EDIT_VOICEDISPOSITION": "Edit Voice dispositie",
+    "EDIT_VOICEMAIL": "Voicemail wijzigen",
+    "EDIT_VOICEQUEUE": "Edit Voice wachtrij",
+    "EDIT_VOICERECORDING": "Edit spraakopname",
+    "EMAIL": "E-mail",
+    "EMAILADDRESS": "E-mail adres",
+    "EMAILBODY": "Hoofdtekst",
+    "EMAILSUBJECT": "E-mail Onderwerp",
+    "ENABLED": "Ingeschakeld",
+    "ENCRYPTION": "Versleuteling",
+    "ENDTIME": "Eindtijd",
+    "ENVELOPE": "Envelop",
+    "EQUALS": "Is gelijk aan",
+    "ERROR": "Fout",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Accepteer URL moet worden geschreven in een geldige indeling",
+      "ACCESSKEYID_REQUIRED": "Toegangssleutel-ID is vereist",
+      "ACCOUNTNAME_REQUIRED": "Als u de accountnaam is vereist",
+      "ACCOUNTSID_REQUIRED": "Verplicht veld",
+      "AFTERCALLWORKDURATION_REQUIRED": "De modus Nawerk duur is vereist",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
+      "AGENT_REQUIRED": "De Agent is vereist",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
+      "AGENT_TIMEOUT_REQUIRED": "De Agent Timeout is vereist",
+      "ALIAS_REQUIRED": "De alias is vereist",
+      "APIKEY_REQUIRED": "De API Key nodig",
+      "APPLICATION_REQUIRED": "De toepassing vereist",
+      "AUTHTOKEN_REQUIRED": "De exporteur Token is vereist",
+      "BOTNAME_REQUIRED": "Botnaam is verplicht",
+      "CLOSEURL_MUST_VALID_URL": "De nauwe URL moet worden geschreven in een geldige indeling",
+      "COMMAND_REQUIRED": "Verplicht veld",
+      "CONDITION_REQUIRED": "De conditie is vereist",
+      "CONFIRM_NOT_MATCH": "De wachtwoorden komen niet overeen",
+      "CONTENT_REQUIRED": "De inhoud is vereist",
+      "CONTEXT_REQUIRED": "De Context is vereist",
+      "DESTINATIONPATTERN_REQUIRED": "De bestemming patroon is vereist",
+      "DISPOSITION_REQUIRED": "De Dispositie is vereist",
+      "EMAIL_MUST_VALID": "De e-mail moet worden geschreven in een geldige indeling",
+      "EMAIL_REQUIRED": "Het e-mailadres is vereist",
+      "EXTENSION_REQUIRED": "De uitbreiding vereist",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De valse prioriteit moet groter zijn dan of gelijk aan",
+      "FALSEPRIORITY_REQUIRED": "De valse prioriteit is vereist.",
+      "FIELD_REQUIRED": "Het is een verplicht veld",
+      "FIRSTNAME_REQUIRED": "De Voornaam is verplicht",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
+      "FONTSIZE_REQUIRED": "Verplicht veld",
+      "FULLNAME_REQUIRED": "De volledige naam is vereist",
+      "HOST_REQUIRED": "De host is vereist",
+      "KEY_MAX_LENGTH": "Sleutel moet een lengte gelijk aan {{max.}}",
+      "KEY_REQUIRED": "De sleutel is vereist",
+      "LIST_REQUIRED": "De lijst is vereist",
+      "MAILBOX_REQUIRED": "De postbus is vereist",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld",
+      "METHOD_REQUIRED": "Verplicht veld",
+      "MOTIONADDRESS_MUST_VALID_URL": "De Motion adres moet worden geschreven in een geldige indeling",
+      "MOTIONADDRESS_REQUIRED": "De Motion Adres is vereist.",
+      "MOTIONPROXY_MUST_VALID_URL": "Onjuist formaat",
+      "MOTIONPROXY_REQUIRED": "Verplicht veld",
+      "NAME_MUST_VALID_PATTERN": "De naam moet worden geschreven in een geldige indeling",
+      "NAME_REQUIRED": "De naam is verplicht",
+      "OPTIONS_REQUIRED": "De opties zijn vereist",
+      "OUTBOUNDROUTE_REQUIRED": "Verplicht veld",
+      "PASSWORD_REQUIRED": "Het wachtwoord is vereist",
+      "PHONENUMBER_REQUIRED": "Het telefoonnummer is vereist",
+      "PHONE_REQUIRED": "Het telefoonnummer is verplicht",
+      "PREFIX_REQUIRED": "Het voorvoegsel is vereist",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De prioriteit moet groter zijn dan of gelijk aan",
+      "PRIORITY_REQUIRED": "De prioriteit is vereist.",
+      "PROJECT_REQUIRED": "Verplicht veld",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Verplicht veld",
+      "QUEUE_REQUIRED": "De wachtrij is vereist",
+      "REJECTURL_MUST_VALID_URL": "De afwijzing URL moet worden geschreven in een geldige indeling",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De strategie \"retry\" moet groter zijn dan of gelijk aan",
+      "SECRETACCESSKEY_REQUIRED": "Verplicht veld",
+      "SENDERSTRING_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Verkeerd formaat",
+      "SID_REQUIRED": "De SID is vereist",
+      "TAG_REQUIRED": "Verplicht veld",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "De technologie/resource is vereist",
+      "TEXT_MAX_LENGTH": "De waarde moet een maximale lengte hebben die gelijk is aan {{max}}",
+      "TEXT_REQUIRED": "Het veld tekst nodig is",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De time-out moet groter zijn dan of gelijk aan",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
+      "TIMEOUT_REQUIRED": "De timeout is vereist",
+      "TIMEZONE_REQUIRED": "De tijdzone is vereist",
+      "TOKEN_REQUIRED": "Het token is vereist",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De echte prioriteit moet groter zijn dan of gelijk aan",
+      "TRUEPRIORITY_REQUIRED": "De echte prioriteit is vereist.",
+      "TRUNK_REQUIRED": "Verplicht veld",
+      "TYPE_REQUIRED": "Verplicht veld",
+      "URL_REQUIRED": "De URL is vereist",
+      "USERNAME_REQUIRED": "Verplicht veld",
+      "VALUE_REQUIRED": "De waarde is vereist",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Verplicht veld",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Het gewicht moet groter zijn dan of gelijk aan",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De afrondingstijd moet groter zijn dan of gelijk aan"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Geschatte wachttijd aankondigen",
+    "EXTENSION": "Uitbreiding",
+    "EXTERNALDIAL": "Externe kiestoon",
+    "FAILED": "Mislukt",
+    "FALSEPRIORITY": "False prioriteit",
+    "FAX": "Fax",
+    "FIDELITY": "Hifi-geluid",
+    "FIELD": "Veld",
+    "FIELDS": "Velden",
+    "FILE": "Bestand",
+    "FILE_NOT_FOUND": "Bestand niet gevonden",
+    "FILTER": "Filter",
+    "FILTERS": "Filters",
+    "FINISH": "Afwerking",
+    "FONTSIZE": "Lettertypegrootte",
+    "FORMAT": "Formaat",
+    "FREE": "Gratis",
+    "FROM": "Uit",
+    "FULLNAME": "Volledige naam",
+    "GENERAL": "Algemeen",
+    "GLOBAL": "Wereldwijde",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Ophangen",
+    "HANGUPCAUSE_1": "1 = niet toegewezen nummer",
+    "HANGUPCAUSE_16": "16 = Normail gesprek wissen",
+    "HANGUPCAUSE_17": "17 = Gebruiker bezet",
+    "HANGUPCAUSE_18": "18 = geen gebruiker reageert (telefoon toestel niet aangesloten)",
+    "HANGUPCAUSE_21": "21 = gesprek afgewezen",
+    "HANGUPCAUSE_22": "22 = Nummer wijzigen",
+    "HANGUPCAUSE_27": "27 = Bestemming buiten bedrijf",
+    "HANGUPCAUSE_38": "38 = Netwerk buiten bedrijf",
+    "HANGUPCAUSE_41": "41 = Tijdelijke storing",
+    "HANGUP_CAUSE": "Hangup oorzaak",
+    "HEADERS": "headers",
+    "HELP": {
+      "AFTERCALLWORK": "Indien actief, de agent moet worden ingesteld op pauze na een voltooide oproepen in wachtrij",
+      "AFTERCALLWORKDURATION": "De duur van de pauze getriggerd door de modus Nawerk optie",
+      "ANNOUNCECALLERPOSITION": "Definieert of de beller in de wachtrij moeten worden aangekondigd. Als dit op Nee is ingesteld, zal de situatie nooit worden aangekondigd. Als deze optie is ingesteld op ja, wordt de beller is altijd aangekondigd. Als de waarde wordt ingesteld op maximum, dan hoort de beller haar positie in de wachtrij alleen als deze zich binnen de limiet die is bepaald door kondigen-positie-limiet. Als de waarde wordt ingesteld op meer, dan hoort de beller haar positie als deze hoger is dan het aantal opgegeven door kondigen-positie-limiet.",
+      "ANNOUNCEHOLDTIME": "Definieert of de geschatte wachttijd moet worden gespeeld, samen met de periodieke aankondigingen.",
+      "ANNOUNCETOAGENT": "Voor een aankondiging speelt naar de agent die het gesprek heeft beantwoord, meestal aan hem laten weten wat wachtrij wordt de beller uit.",
+      "CONTEXT": "Kan een beller naar de wachtrij met een enkele druk op DTMF-cijfer. Als een context wordt opgegeven en de beller een aantal, dat cijfer zal proberen aan te passen in het kader van de vastgestelde dialplan uitvoering zal doorgaan.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"De huidige geschatte wachttijd is\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "HOLDTIMEANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"Hold time\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "LIST": "Contact Manager lijst gebruikt om contactpersonen koppelen",
+      "MANDATORYDISPOSITION": "Verplichte regeling",
+      "MANDATORYDISPOSITIONPAUSEID": "Pauzestatus in te stellen tijdens verplichte dispositie",
+      "MEMBERDELAY": "Als u wilt dat er een vertraging voordat de beller en wachtrij lid worden met elkaar verbonden.",
+      "MINANNOUNCEFREQUENCY": "Specificeert de minimale hoeveelheid tijd die moet verstrijken voordat we kondigen de beller in de wachtrij weer. Dit wordt gebruikt als de beller positie kunnen regelmatig veranderen, om te voorkomen dat de beller horen meerdere updates in een korte periode van tijd.",
+      "MINUTEANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"min\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "MINUTESANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"min\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "MONITORFORMAT": "Specificeert het bestandsformaat te gebruiken tijdens de opname. Als monitor-formaat is inactief, gesprekken worden niet geregistreerd.",
+      "MOTIONPROXY": "Voer in de volgende notatie: <protocol>://<ipaddress>[:<port>]. Voorbeeld: https://X.Y.Z.W",
+      "MUSICONHOLD": "Stelt de muziekles te gebruiken door een bepaalde wachtrij.",
+      "NAME": "Alleen cijfers, letters en speciale tekens (_) worden ondersteund",
+      "PERIODICANNOUNCE": "Een set van periodieke aankondigingen kan worden gespeeld, speelde in de volgorde waarin ze zijn opgegeven.",
+      "PERIODICANNOUNCEFREQUENCY": "Geeft aan hoe vaak er regelmatig aankondigingen voor de beller.",
+      "RECORDING": "Om de call recording",
+      "REPORTHOLDTIMEAGENT": "Maakt melding van de beller in de wacht tijd in de wachtrij de vóór te overbruggen.",
+      "RINGINUSE": "Gebruikt om te voorkomen dat gesprekken doorsturen naar leden wier status in gebruik is.",
+      "SECONDSANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"S\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "THANKYOUANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"bedankt voor je geduld\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "THEREAREANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"Er zijn\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "TIMEOUTRESTART": "Als deze optie is ingesteld op ja, wordt de time-out voor een agent om antwoord als een drukke of overbezetting van het kanaal.",
+      "TYPE": "Bepaalt de SIP-rol binnen asterisk. Gebruiker: gebruikt ter verificatie van binnenkomend - Peer: voor uitgaande gesprekken - vriend: zowel kenmerken van het bovenstaande.",
+      "VOICEMAIL_CONTEXT": "Het licht van de relatieve verlenging.",
+      "WAITINGCALLSANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"gesprekken in wachtstand\"). Indien ingesteld op een lege waarde, worden niet afgespeeld.",
+      "WELCOMEMESSAGE": "Dit is het eerste bericht dat naar de contactor wordt verzonden",
+      "YOUARENEXTANNOUNCE": "Als niet gedefinieerd, speelt de standaardwaarde (\"U bent nu eerste in lijn\"). Indien ingesteld op een lege waarde, worden niet afgespeeld."
+    },
+    "HIDE_DETAILS": "Details verbergen",
+    "HOLDTIMEANNOUNCE": "Nadruktijd aankondigen",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Stationair toerental",
+    "IN": "In",
+    "INBOUNDROUTES": "Binnenkomende routes",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Voer hier uw sms-bericht in",
+    "INTEGRATIONS": "Integraties",
+    "INTERACTION": "Interactie",
+    "INTERACTIONS": "Interacties",
+    "INTERNAL": "Interne",
+    "INTERNALDIAL": "Intern bellen",
+    "INTERNALROUTES": "Interne verbindingen",
+    "INTERVAL": "Interval",
+    "INTERVALS": "Intervallen",
+    "INUSE": "In gebruik",
+    "INVALID": "Ongeldig",
+    "IN_USE": "In gebruik",
+    "JOINWHENEMPTY": "Join als deze leeg is.",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Sleutel",
+    "LAGGED": "Achtergebleven.",
+    "LANGUAGE": "Taal",
+    "LASTMESSAGE": "Laatste bericht",
+    "LASTNAME": "Achternaam",
+    "LAST_MONTH": "Vorige maand",
+    "LEAVEWHENEMPTY": "Laat als deze leeg is.",
+    "LEXREGION": "Regio",
+    "LIMITED": "Beperkt",
+    "LIST": "Lijst",
+    "LOGGED_IN": "Aangemeld",
+    "LOGIN_TIME": "Aanmeldtijd",
+    "LOGO": "Logo",
+    "LOGOUT": "Afmelden",
+    "MACRO": "Macro",
+    "MAIL": "Mail",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@context",
+    "MANAGED": "managed",
+    "MANDATORYDISPOSITION": "Verplichte regeling",
+    "MANDATORYDISPOSITIONPAUSEID": "Verplichte status pauzestatus",
+    "MARK_AS_UNREAD": "markeren als ongelezen",
+    "MAXLENGTH": "Maximale lengte",
+    "MAXMESSAGES": "Max berichten",
+    "MAXSECONDS": "Max seconden",
+    "MAY": "mei",
+    "MEMBERDELAY": "De vertraging",
+    "MESSAGE": "Bericht",
+    "MESSAGES": "Berichten",
+    "MESSAGESALIGNMENT": "Berichten Afstemming",
+    "METHOD": "Methode",
+    "METRIC": "Metriek",
+    "MINANNOUNCEFREQUENCY": "Minimale frequentie aankondigen",
+    "MINUTEANNOUNCE": "Verbaal aankondigen",
+    "MINUTESANNOUNCE": "Notulen aankondigen",
+    "MOBILE": "Mobiel",
+    "MODULES": "Modules",
+    "MOHSOUNDS": "Moh geluiden",
+    "MONITORFORMAT": "Opnameformaat",
+    "MORE": "Meer",
+    "MOTIONADDRESS": "Motion adres",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy of Motion domein",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Wachtmuziek",
+    "MUSICONHOLDS": "Muziek in de wachtstand",
+    "NAME": "Naam",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Nieuwe ChanSpy",
+    "NEW_CONTACT": "Nieuwe contactpersoon",
+    "NEW_CONTEXT": "Nieuwe context.",
+    "NEW_INBOUNDROUTE": "Nieuwe Inkomende route",
+    "NEW_INTERNALROUTE": "Nieuwe interne Route",
+    "NEW_MUSICONHOLD": "Nieuwe Wachtmuziek",
+    "NEW_OUTBOUNDROUTE": "Nieuwe uitgaande route",
+    "NEW_PROJECT": "Nieuw project",
+    "NEW_TAB": "Nieuw tabblad",
+    "NEW_TAG": "Nieuwe Tag",
+    "NEW_VARIABLE": "Nieuwe variabele",
+    "NEW_VOICEMAIL": "Nieuwe voicemail",
+    "NEW_VOICEQUEUE": "Nieuw spraakbericht wachtrij",
+    "NO": "Nr.",
+    "NONE": "Geen",
+    "NOOP": "Noop",
+    "NOTE": "Notitie",
+    "NOTES": "Aantekeningen",
+    "NOTIFICATION": "Kennisgeving",
+    "NOTIFICATIONSHAKE": "Schudden",
+    "NOTIFICATIONSOUND": "Geluid",
+    "NOTIFICATIONTEMPLATE": "Sjabloon",
+    "NOT_INUSE": "Niet in gebruik",
+    "NO_AGENT_ONLINE": "Geen Agent Online",
+    "NO_APPS_AVAILABLE": "Geen toepassingen beschikbaar",
+    "NO_AVAILABLE_INFO": "Geen beschikbare informatie",
+    "NO_INTERACTION_AVAILABLE": "Geen interacties beschikbaar",
+    "NO_MESSAGE_AVAILABLE": "Er zijn geen berichten beschikbaar.",
+    "NO_MOHSOUND_AVAILABLE": "Geen Wachtmuziek beschikbaar",
+    "NO_RATING": "Geen waardering",
+    "NO_REGISTRY": "Geen registratie",
+    "NO_SOUND_AVAILABLE": "Geen geluiden beschikbaar",
+    "NUMBER": "Aantal",
+    "OF": "Van",
+    "ONHOLD": "In de wachtstand",
+    "OPEN": "Open",
+    "OPENCHANNEL": "Open kanaal",
+    "OPENED": "Open",
+    "OPERATOR": "Bestuurder",
+    "OPTIONS": "Opties",
+    "ORIGINATED": "Oorsprong",
+    "OTHERS": "Anderen",
+    "OUT": "Uit",
+    "OUTBOUNDDIAL": "Uitgaande oproep",
+    "OUTBOUNDROUTE": "Uitgaande route",
+    "OUTBOUNDROUTES": "Uitgaande routes",
+    "OUTBOUND_CALLS": "Uitgaande gesprekken",
+    "OUTPUT": "Uitgang",
+    "PAGE": "Pagina",
+    "PARTIALPAUSE": "Gedeeltelijk onderbreken",
+    "PASSWORD": "Wachtwoord",
+    "PAUSE": "Pauze",
+    "PAUSED": "Gepauzeerd",
+    "PAUSE_TIME": "Pauzetijd",
+    "PAYMENTMETHOD": "Betaalmethodes",
+    "PENALTY": "Boete",
+    "PENDING": "In afwachting",
+    "PERIODICANNOUNCE": "Periodieke aankondiging",
+    "PERIODICANNOUNCEFREQUENCY": "Periodieke aankondiging frequentie",
+    "PERSONAL_INFO": "Persoonlijke info",
+    "PHONE": "Telefoon",
+    "PHONENUMBER": "Telefoonnummer",
+    "PHONE_STATE": "Telefoon staat",
+    "PHONE_STATUS": "Telefoonstatus",
+    "PLAYBACK": "Afspelen",
+    "PLUGINS": "plugins",
+    "PORT": "Poort",
+    "POSITION": "Positie",
+    "POSTALCODE": "Postcode",
+    "PREFIX": "Voorvoegsel",
+    "PREVIEW": "Afdrukvoorbeeld",
+    "PRIORITY": "Prioriteit",
+    "PROJECT": "Cally-Square Project",
+    "PROJECTS": "Projecten",
+    "PROXY": "volmacht",
+    "QUEUE": "Wachtrij",
+    "QUEUES": "Wachtrijen",
+    "QUEUETRANSFER": "Wachtrijoverdracht",
+    "QUEUETRANSFERTIMEOUT": "Wachtrij Transfer Timeout",
+    "QUEUE_CALLS": "Oproepen wachtrij",
+    "QUEUE_PARAMETERS": "Wachtrij Parameters",
+    "QUEUE_PARAMS": "Wachtrij Parameters",
+    "RANDOM": "Willekeurig",
+    "RANDOMPERIODICANNOUNCE": "Random periodieke aankondiging",
+    "RATING": "Waardering",
+    "REACHABLE": "Bereikbaar",
+    "READY": "Gereed",
+    "REALTIME": "Realtime",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "Ingekomen",
+    "RECEIVEURL": "Ontvang URL",
+    "RECORD": "Opnemen",
+    "RECORDING": "Opname",
+    "RECORDINGFORMAT": "Opnameformaat",
+    "RECORDINGS": "Opnamen",
+    "REFRESH_INTERACTIONS": "Interacties vernieuwen",
+    "REGISTERED": "Geregistreerd",
+    "REGISTRY": "Registreren",
+    "REJECT": "Afwijzen",
+    "REJECTED": "Afgewezen",
+    "REJECTMETHOD": "Methode afwijzen",
+    "REJECTURL": "URL afwijzen",
+    "RELOAD": "Reload",
+    "REPLY": "Antwoord",
+    "REPORT": "Verslag doen van",
+    "REPORTHOLDTIMEAGENT": "Rapport Agent Nadruktijd",
+    "RETRY": "Probeer het opnieuw",
+    "RING": "Borgring",
+    "RINGGROUP": "Belgroep",
+    "RINGING": "Belsignaal",
+    "RINGINUSE": "Ring in gebruik",
+    "ROWSPERPAGE": "Rijen per pagina",
+    "RULE": "Regel",
+    "SAVE": "Opslaan",
+    "SCHEDULEDAT": "Gepland op",
+    "SCHEDULED_CALLS": "Geplande gesprekken",
+    "SCREENRECORDING": "Beheer schermopname",
+    "SCRIPT": "Script",
+    "SEARCH_FOR_ANYONE": "Zoeken voor iedereen",
+    "SECONDSANNOUNCE": "Seconden aankondigen",
+    "SECRETACCESSKEY": "Geheime toegangssleutel",
+    "SECURITY_SUITE": "Beveiligingssuite",
+    "SELECT": "Selecteer",
+    "SELECTED": "Geselecteerd",
+    "SELECTED_AGENTS": "Geselecteerde agenten",
+    "SELECTED_TEAMS": "Geselecteerde teams",
+    "SELECTED_USERS": "Geselecteerde gebruikers",
+    "SELECT_ACCOUNT": "Account selecteren",
+    "SELECT_ALL": "Alles selecteren",
+    "SELECT_DATE": "Selecteer Startdatum",
+    "SELECT_NONE": "Selecteer None (Geen).",
+    "SELECT_STATUS": "Selecteer Status.",
+    "SELECT_TYPE": "Selecteer type",
+    "SEND": "Verzenden",
+    "SENDMAIL": "E-mailbericht verzenden",
+    "SENTIMENTANALYSIS": "Sentiment analyse",
+    "SERVICE": "Onderhoud",
+    "SESSIONS": "Sessions",
+    "SET": "Stel",
+    "SETINTERFACEVARIABLES": "Stel Interface variabelen",
+    "SETQUEUEENTRYVARIABLES": "Setwachtrij Entry variabelen",
+    "SETQUEUEVARIABLES": "Setwachtrij variabelen",
+    "SETTINGS": "Instellingen",
+    "SHOW_ALL_FIELDS": "Toon alle velden",
+    "SHOW_DETAILS": "Details weergeven",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP-host",
+    "SMTP_PORT": "SMTP-poort",
+    "SOCIAL": "Sociale",
+    "SORT": "Sorteren",
+    "SOURCE": "Bron",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Personeel",
+    "STARTEDAT": "Begon bij",
+    "STARTTIME": "Begintijd",
+    "START_SCREENRECORDING": "Start schermopname",
+    "STATE": "Staat",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Stop Screen Recording",
+    "STRATEGY": "Strategie",
+    "SUBJECT": "Onderwerp",
+    "SYSTEM": "Systeem",
+    "TAG": "Label",
+    "TAGS": "Tags",
+    "TALKING": "Spreken",
+    "TEAMS_ASSOCIATION": "Teams Association",
+    "TECHNOLOGY/RESOURCE": "Technologie/resource",
+    "TELEPHONES": "Telefoons",
+    "TEMPLATE": "Sjabloon",
+    "TEXT": "Tekst",
+    "THANKYOUANNOUNCE": "\"Dank u\" aankondigen",
+    "THEREAREANNOUNCE": "'Er zijn' aankondigen",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout herstart",
+    "TIMER": "Timer",
+    "TIMES": "Aantal keren per interactie",
+    "TIMEZONE": "Tijdzone",
+    "TO": "Naar",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Schermopname beschikbaar",
+    "TOOLTIP_SCREENRECORDING_ON": "Schermopname bezig",
+    "TOTAL": "Totaal",
+    "TOTAL_OFFERED": "Totaal beschikbaar",
+    "TRANSCRIBE": "Transcriberen",
+    "TRANSFER": "Overdracht",
+    "TRANSPORT": "Vervoer",
+    "TRUEPRIORITY": "Echte prioriteit",
+    "TRUNK": "Transmissielijn",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Trunk Status",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Niet beschikbaar",
+    "UNIQUEID": "Unieke ID",
+    "UNKNOWN": "Onbekend",
+    "UNMANAGED": "Onbeheerde",
+    "UNPAUSE": "Door",
+    "UNREACHABLE": "Onbereikbaar",
+    "UNREGISTERED": "Unregistered",
+    "UP": "Omhoog",
+    "UPDATE": "Update",
+    "UPLOADING": "uploaden",
+    "URL": "URL",
+    "USER": "Gebruiker",
+    "USERNAME": "Gebruikersnaam",
+    "USERS": "Gebruikers",
+    "VALUE": "Waarde",
+    "VARIABLE": "Variabele",
+    "VIDAOOSESSION": "Start videogesprek",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video ondersteuning",
+    "VOICE": "Spraak",
+    "VOICEMAIL": "Voicemail",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "Kader",
+    "VOICEQUEUES": "Voice wachtrijen",
+    "VOICERECORDINGS": "Spraakopnamen",
+    "WAITFORTHEASSIGNEDAGENT": "Wacht op de toegewezen agent",
+    "WAITING": "Wachten",
+    "WAITINGCALLSANNOUNCE": "Wachtende oproepen aankondigen",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Gewicht",
+    "WELCOMEMESSAGE": "Welkomstbericht",
+    "WHATSAPP": "WhatsApp-aansluiting",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Tijdafronding",
+    "WRONG_EXTENSION": "Het bestand heeft de verkeerde extensie",
+    "YES": "Ja",
+    "YOUARENEXTANNOUNCE": "\"U bent volgende' aankondigen"
+  }
+}
diff --git a/public/app/main/i18n/no.json b/public/app/main/i18n/no.json
new file mode 100644
index 0000000..1fd89c0
--- /dev/null
+++ b/public/app/main/i18n/no.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Forlatt",
+    "ABANDONEDCALLS": "Forladte køanrop",
+    "ABANDONED_CALLS": "Forlatt samtaler",
+    "ACCEPT": "Godta",
+    "ACCEPTMETHOD": "Godta metode",
+    "ACCEPTURL": "Godta URL",
+    "ACCESSKEYID": "Tilgangsnøkkel-ID",
+    "ACCOUNT": "Konto",
+    "ACCOUNTNAME": "Kontonavn",
+    "ACCOUNTS": "Kontoer",
+    "ACCOUNTSID": "Konto SID",
+    "ACTIONS": "Tiltak",
+    "ACTIVE": "Aktiv",
+    "ADD": "Legg til",
+    "ADDRESS": "Adresse",
+    "ADD_AGENT_TO_VOICEQUEUE": "Legg til Agent til Voice kø",
+    "ADD_CHANSPY": "Legg ChanSpy",
+    "ADD_CONTACT": "Legg til kontakt",
+    "ADD_CONTEXT": "Legg kontekst",
+    "ADD_INBOUNDROUTE": "Legge til inngående rute",
+    "ADD_INTERNALROUTE": "Legg til interne rute",
+    "ADD_MOHSOUND": "Legg til musikk på vent lyd",
+    "ADD_MUSICONHOLD": "Legg til musikk på vent",
+    "ADD_NOTE": "Legg til kommentar",
+    "ADD_OUTBOUNDROUTE": "Legg til utgående rute",
+    "ADD_PROJECT": "Legg til prosjekt",
+    "ADD_TAG": "Legg til Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Legg lag til Voice kø",
+    "ADD_VARIABLE": "Legg til variabel",
+    "ADD_VOICEMAIL": "Legg til talepost",
+    "ADD_VOICEQUEUE": "Legg til Voice kø",
+    "ADVANCED": "Avansert",
+    "AFTERCALLWORK": "Etterarbeid",
+    "AFTERCALLWORKDURATION": "Etterarbeid varighet",
+    "AGENT": "Agent",
+    "AGENTS": "Agenter",
+    "AGENTSADD_QUEUE": "Legg til agenter til å stemme kø",
+    "AGENTTRANSFER": "Agentoverføring",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Agent tidsavbrudd",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Alle",
+    "ALLOWCODECS": "Tillatt kodeker",
+    "ALL_AGENTS": "Alle agenter",
+    "ALL_TEAMS": "Alle grupper",
+    "ALL_USERS": "Alle brukere",
+    "ALPHABETICAL": "Alfabetisk",
+    "ALWAYS": "Alltid",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Annonsere innringer stilling",
+    "ANNOUNCEFREQUENCY": "Annonsere frekvens",
+    "ANNOUNCEHOLDTIME": "Annonsere Hold tid",
+    "ANNOUNCEMENTS": "Kunngjøringer",
+    "ANNOUNCEPOSITIONLIMIT": "Annonsere stilling grense",
+    "ANNOUNCETOAGENT": "Annonsere til agent",
+    "ANNOUNCE_OVERRIDES": "Annonsere overstyrer",
+    "ANSWER": "Svar",
+    "ANSWERED": "Svarte",
+    "API": "API",
+    "APIKEY": "Api-nøkkel",
+    "APPLICATION": "Programmet",
+    "APPLICATION_NAME": "Programmet navn",
+    "ARGUMENTS": "Argumenter",
+    "ATTACH": "Fest",
+    "AUDIO": "Lyd",
+    "AUDIOFILES": "Lydfiler",
+    "AUDIO_FILES": "Lydfiler",
+    "AUTH": "Attest",
+    "AUTHTOKEN": "Attest ID-brikke",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Automatisk svar",
+    "AVG_BILLABLE": "Avg fakturerbare",
+    "AVG_HOLD_TIME": "Gj.sn. Hold tid",
+    "BACK": "Tilbake",
+    "BLACKLIST": "Svarteliste",
+    "BODY": "Kropp",
+    "BOTNAME": "Bot navn",
+    "BUILDER": "Builder",
+    "BUSY": "Opptatt",
+    "CALLED": "Kalt",
+    "CALLER": "Innringer",
+    "CALLERID": "Innringer-ID",
+    "CALLER_ID": "Innringer-ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampanje",
+    "CANCEL": "Avbryt",
+    "CANNEDANSWERS": "Hermetiserte svar",
+    "CANNED_ANSWER_NOT_FOUND": "Ingen boksemat svar ble funnet",
+    "CANNED_ANSWER_SEARCH": "Skriv inn en tekst for å søke en boksemat svar",
+    "CANT_DOWNLOAD_THIS_FILE": "Kan ikke laste ned denne filen",
+    "CAPACITY": "Kapasitet",
+    "CHANNEL": "Kanal",
+    "CHANNELS": "Kanaler",
+    "CHANSPIES": "Chan speidere.",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "City",
+    "CLEAR": "Klar",
+    "CLOSE": "Lukk",
+    "CLOSED": "Lukket",
+    "CLOSEDAT": "Lukket på",
+    "CLOSEMETHOD": "Lukk metode",
+    "CLOSEURL": "Lukk URL",
+    "CLOSING": "Lukke",
+    "COMMAND": "Kommando",
+    "COMPANIES": "selskaper",
+    "COMPANY": "Selskap",
+    "CONDITION": "Tilstand",
+    "CONFIRM_PASSWORD": "Bekreft passord",
+    "CONNECTED": "Koblet",
+    "CONTACT": "Kontakt",
+    "CONTACTMANAGER": "Kontakt Manager",
+    "CONTACTS": "Kontakter",
+    "CONTENT": "Innhold",
+    "CONTEXT": "Kontekst",
+    "CONTEXTS": "Kontekster",
+    "COUNTRY": "Land",
+    "CREATED_AT": "Opprettet i",
+    "CUSTOM": "Egendefinert",
+    "CUSTOMER_JOURNEY": "Kunde Reise",
+    "CUSTOM_FIELDS": "Egendefinerte felt",
+    "CUTDIGITS": "Kutt sifre",
+    "DASHBOARD": "Dashbordet",
+    "DATE": "Dato",
+    "DATE_OF_BIRTH": "Fødselsdato",
+    "DEFAULT": "Standard",
+    "DEFAULT_PAUSE": "Standard PAUSE",
+    "DELETE": "Slette",
+    "DELETE_APP": "Slette program",
+    "DELETE_CHANSPY": "Slette ChanSpy",
+    "DELETE_CONTEXT": "Slette kontekst",
+    "DELETE_HOPPER": "Slett hopper",
+    "DELETE_INBOUNDROUTE": "Slett inngående rute",
+    "DELETE_INTERACTION": "Slett samhandling",
+    "DELETE_INTERNALROUTE": "Slette interne rute",
+    "DELETE_MOHSOUND": "Slett musikk på vent lyd",
+    "DELETE_MUSICONHOLD": "Slett musikk på vent",
+    "DELETE_OUTBOUNDROUTE": "Slette utgående rute",
+    "DELETE_PROJECT": "Slett prosjekt",
+    "DELETE_SELECTED": "Slette valgte",
+    "DELETE_VOICEDISPOSITION": "Slett stemme disposisjon",
+    "DELETE_VOICEMAIL": "Slette talepost",
+    "DELETE_VOICEQUEUE": "Slett stemme kø",
+    "DELETE_VOICERECORDING": "Slette taleopptak",
+    "DELIVERYREPORTURL": "Leveringsrapport-URL",
+    "DESCRIPTION": "Beskrivelse",
+    "DESTINATION": "Bestemmelsessted",
+    "DESTINATIONPATTERN": "Destinasjon mønster",
+    "DETAIL": "Detaljer",
+    "DETAILS": "detaljer",
+    "DIAL": "Direkte",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "Gjorde",
+    "DIRECTORY": "Katalog",
+    "DISABLED": "Deaktivert",
+    "DISPOSITION": "Disposisjon",
+    "DISPOSITIONS": "Disposisjoner",
+    "DOWNLOAD": "nedlasting",
+    "DOWNLOAD_INTERACTION": "nedlasting",
+    "DOWNLOAD_MOHSOUND": "Last ned musikk på vent lyd",
+    "DOWNLOAD_VOICERECORDING": "Last ned taleopptak",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Last ned uten vedlegg",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Last ned uten vedlegg",
+    "DOWNLOAD_WITH_ATTACHMENT": "Last ned med vedlegg",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Last ned med vedlegg",
+    "DROPPED": "Droppet",
+    "DROP_TO_UPLOAD": "Slippe å laste opp",
+    "DURATION": "Varighet",
+    "EDIT": "Rediger",
+    "EDIT_AGENT": "Rediger Agent",
+    "EDIT_AGI": "Rediger AGI",
+    "EDIT_AMAZONLEX": "Rediger Lex-konfigurasjonen",
+    "EDIT_APP": "Rediger program",
+    "EDIT_AUTOREPLY": "Rediger Automatisk svar",
+    "EDIT_CHANSPY": "Rediger ChanSpy",
+    "EDIT_CLOSE": "Rediger i nærheten",
+    "EDIT_CONTEXT": "Rediger kontekst",
+    "EDIT_CUSTOM": "Rediger egendefinert",
+    "EDIT_DIAL": "Rediger direkte",
+    "EDIT_DIALOGFLOW": "Rediger Dialogflow-konfigurasjon",
+    "EDIT_EXTERNALDIAL": "Redigere eksterne direkte",
+    "EDIT_GOTO": "Rediger GoTo",
+    "EDIT_GOTOIF": "Rediger GotoIf",
+    "EDIT_GOTOP": "Rediger GotoP",
+    "EDIT_HANGUP": "Rediger aktiv",
+    "EDIT_HOPPER": "Rediger hopper",
+    "EDIT_INBOUNDROUTE": "Rediger inngående rute",
+    "EDIT_INTERNALDIAL": "Rediger intern direkte",
+    "EDIT_INTERNALROUTE": "Rediger interne rute",
+    "EDIT_INTERVAL": "Endre intervall",
+    "EDIT_MUSICONHOLD": "Rediger musikk på vent",
+    "EDIT_NOOP": "Rediger Noop",
+    "EDIT_OUTBOUNDROUTE": "Rediger utgående rute",
+    "EDIT_PLAYBACK": "Rediger avspilling",
+    "EDIT_PROJECT": "Rediger prosjekt",
+    "EDIT_QUEUE": "Rediger kø",
+    "EDIT_RINGGROUP": "Rediger Ring gruppe",
+    "EDIT_SET": "Rediger satt",
+    "EDIT_SYSTEM": "Rediger system",
+    "EDIT_TAG": "Rediger tagg",
+    "EDIT_TRUNK": "Rediger Trunk",
+    "EDIT_VOICEDISPOSITION": "Rediger stemme disposisjon",
+    "EDIT_VOICEMAIL": "Rediger talepost",
+    "EDIT_VOICEQUEUE": "Rediger stemme kø",
+    "EDIT_VOICERECORDING": "Rediger taleopptak",
+    "EMAIL": "E",
+    "EMAILADDRESS": "E-postadresse",
+    "EMAILBODY": "E-postteksten",
+    "EMAILSUBJECT": "Emne for e-post",
+    "ENABLED": "Aktivert",
+    "ENCRYPTION": "Kryptering",
+    "ENDTIME": "Slutt tid",
+    "ENVELOPE": "Konvolutt",
+    "EQUALS": "Er lik",
+    "ERROR": "Feil",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Godta URL må være skrevet i et gyldig format",
+      "ACCESSKEYID_REQUIRED": "Tilgangsnøkkel-ID er påkrevd",
+      "ACCOUNTNAME_REQUIRED": "Kontonavnet er nødvendig",
+      "ACCOUNTSID_REQUIRED": "Obligatoriske felt",
+      "AFTERCALLWORKDURATION_REQUIRED": "Det Etterarbeid varighet er nødvendig",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
+      "AGENT_REQUIRED": "Agenten er nødvendig",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
+      "AGENT_TIMEOUT_REQUIRED": "Agenten tidsavbrudd er nødvendig",
+      "ALIAS_REQUIRED": "Aliaset er nødvendig",
+      "APIKEY_REQUIRED": "API-tasten er nødvendig",
+      "APPLICATION_REQUIRED": "Programmet er nødvendig",
+      "AUTHTOKEN_REQUIRED": "Det Autorization brikke er nødvendig",
+      "BOTNAME_REQUIRED": "Botnavn kreves",
+      "CLOSEURL_MUST_VALID_URL": "Lukk URL må være skrevet i et gyldig format",
+      "COMMAND_REQUIRED": "Obligatoriske felt",
+      "CONDITION_REQUIRED": "Tilstanden er nødvendig",
+      "CONFIRM_NOT_MATCH": "Passordene samsvarer ikke",
+      "CONTENT_REQUIRED": "Innholdet er nødvendig",
+      "CONTEXT_REQUIRED": "Konteksten er nødvendig",
+      "DESTINATIONPATTERN_REQUIRED": "Målet mønster er nødvendig",
+      "DISPOSITION_REQUIRED": "Disposisjonen er nødvendig",
+      "EMAIL_MUST_VALID": "E må være skrevet i et gyldig format",
+      "EMAIL_REQUIRED": "Det er nødvendig med e-post",
+      "EXTENSION_REQUIRED": "Utvidelsen er nødvendig",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den falske prioritet må være større enn eller lik",
+      "FALSEPRIORITY_REQUIRED": "Den falske prioritet er nødvendig",
+      "FIELD_REQUIRED": "Feltet er obligatorisk",
+      "FIRSTNAME_REQUIRED": "Den første navn er nødvendig",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
+      "FONTSIZE_REQUIRED": "Obligatoriske felt",
+      "FULLNAME_REQUIRED": "Det fulle navnet er nødvendig",
+      "HOST_REQUIRED": "Verten er nødvendig",
+      "KEY_MAX_LENGTH": "Tasten må ha en maksimal lengde lik {{max}}",
+      "KEY_REQUIRED": "Nøkkelen er nødvendig",
+      "LIST_REQUIRED": "Listen er nødvendig",
+      "MAILBOX_REQUIRED": "Postboksen er nødvendig",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt",
+      "METHOD_REQUIRED": "Obligatoriske felt",
+      "MOTIONADDRESS_MUST_VALID_URL": "Bevegelsen adresse må være skrevet i et gyldig format",
+      "MOTIONADDRESS_REQUIRED": "Bevegelsen adresse er påkrevd",
+      "MOTIONPROXY_MUST_VALID_URL": "Feil format",
+      "MOTIONPROXY_REQUIRED": "Obligatorisk felt",
+      "NAME_MUST_VALID_PATTERN": "Navnet må være skrevet i et gyldig format",
+      "NAME_REQUIRED": "Navnet er nødvendig",
+      "OPTIONS_REQUIRED": "Alternativene er nødvendig",
+      "OUTBOUNDROUTE_REQUIRED": "Obligatoriske felt",
+      "PASSWORD_REQUIRED": "Passordet er nødvendig",
+      "PHONENUMBER_REQUIRED": "Telefonnummer er obligatorisk",
+      "PHONE_REQUIRED": "Telefonen er nødvendig",
+      "PREFIX_REQUIRED": "Prefikset er nødvendig",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioritet må være større enn eller lik",
+      "PRIORITY_REQUIRED": "Prioriteten er nødvendig",
+      "PROJECT_REQUIRED": "Obligatoriske felt",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt",
+      "QUEUE_REQUIRED": "Køen er nødvendig",
+      "REJECTURL_MUST_VALID_URL": "Avvis URL må være skrevet i et gyldig format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prøv på må være større enn eller lik",
+      "SECRETACCESSKEY_REQUIRED": "Obligatoriske felt",
+      "SENDERSTRING_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Feil format",
+      "SID_REQUIRED": "SID er nødvendig",
+      "TAG_REQUIRED": "Obligatoriske felt",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Teknologien/Ressurs er nødvendig",
+      "TEXT_MAX_LENGTH": "Verdien må ha en maksimal lengde lik {{max}}",
+      "TEXT_REQUIRED": "Feltet tekst er nødvendig",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den stille må være større enn eller lik",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
+      "TIMEOUT_REQUIRED": "Tidsavbruddet er nødvendig",
+      "TIMEZONE_REQUIRED": "Tidssonen er nødvendig",
+      "TOKEN_REQUIRED": "Tokenet er nødvendig",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den ekte prioritet må være større enn eller lik",
+      "TRUEPRIORITY_REQUIRED": "Den ekte prioritet er nødvendig",
+      "TRUNK_REQUIRED": "Obligatoriske felt",
+      "TYPE_REQUIRED": "Obligatorisk felt",
+      "URL_REQUIRED": "URL er nødvendig",
+      "USERNAME_REQUIRED": "Obligatoriske felt",
+      "VALUE_REQUIRED": "Verdien er obligatorisk",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriske felt",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vekten må være større enn eller lik",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Det Wrapup tid må være større enn eller lik"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimert Hold tid annonsere",
+    "EXTENSION": "Forlengelse",
+    "EXTERNALDIAL": "Ekstern direkte",
+    "FAILED": "Mislyktes",
+    "FALSEPRIORITY": "Falske prioritet",
+    "FAX": "Faks",
+    "FIDELITY": "Fi",
+    "FIELD": "Feltet",
+    "FIELDS": "Felt",
+    "FILE": "Fil",
+    "FILE_NOT_FOUND": "Fil ikke funnet",
+    "FILTER": "Filter",
+    "FILTERS": "Filtre",
+    "FINISH": "Fullfør",
+    "FONTSIZE": "Skriftstørrelse",
+    "FORMAT": "Format",
+    "FREE": "Gratis",
+    "FROM": "Fra",
+    "FULLNAME": "Fullt navn",
+    "GENERAL": "Generelt",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Gå til",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Aktiv",
+    "HANGUPCAUSE_1": "1 = Ufordelte nummer",
+    "HANGUPCAUSE_16": "16 = Normail call clearing",
+    "HANGUPCAUSE_17": "17 = Brukeren er opptatt",
+    "HANGUPCAUSE_18": "18 = Ingen bruker svarer (telehone enheten ikke tilkoblet)",
+    "HANGUPCAUSE_21": "21 = Samtale avvist",
+    "HANGUPCAUSE_22": "22 = Antall endret",
+    "HANGUPCAUSE_27": "27 = Mål ut av ordre",
+    "HANGUPCAUSE_38": "38 = Nettverk ut av ordre",
+    "HANGUPCAUSE_41": "41 = Midlertidig feil",
+    "HANGUP_CAUSE": "Det forårsake",
+    "HEADERS": "overskrifter",
+    "HELP": {
+      "AFTERCALLWORK": "Hvis aktiv, agenten vil bli satt på pause etter en avsluttet samtalen på køen",
+      "AFTERCALLWORKDURATION": "Varigheten av Pause utløses av Etterarbeid alternativ",
+      "ANNOUNCECALLERPOSITION": "Definerer om innringeren posisjon i køen skal være annonsert til henne. Hvis satt til Ingen, stillingen vil aldri bli kunngjort. Hvis satt til ja, for innringeren stilling vil alltid bli kunngjort. Hvis verdien er satt til grense, innringer vil høre hennes posisjon i køen bare hvis det er innenfor grensen som er definert av annonsere-stilling-grense. Hvis verdien er satt til mer, innringer vil høre hennes stilling hvis det utover det som er definert av annonsere-stilling-grense.",
+      "ANNOUNCEHOLDTIME": "Definerer om den beregnede tiden skal spilles sammen med jevne mellomrom annonseringer.",
+      "ANNOUNCETOAGENT": "Brukes til å spille av en meddelelse til agent som besvarte anropet, vanligvis for å la ham vite hva køen innringer kommer fra.",
+      "CONTEXT": "Gjør en innringer til å gå ut av køen ved å trykke en enkelt DTMF siffer. Hvis en kontekst er spesifisert og anroper legger inn et nummer, at tallet vil forsøke å være avkrysset i kontekst angitt, og dialplan utførelsen vil fortsette der.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Den gjeldende beregnet hold tid er\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "HOLDTIMEANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Hold tid\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "LIST": "Kontakt Manager liste som brukes til å knytte kontakter",
+      "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausestatus som skal angis under obligatorisk disposisjon",
+      "MEMBERDELAY": "Brukes hvis du ønsker det skal være en forsinkelse før til innringer og kø-medlem som er knyttet til hverandre.",
+      "MINANNOUNCEFREQUENCY": "Angir den minste mengden tid som må gå før vi annonserer på innringeren posisjon i køen igjen. Dette brukes når innringeren stilling kan endres ofte, for å hindre at innringeren hører flere oppdateringer i en kort periode.",
+      "MINUTEANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"minutt\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "MINUTESANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"minutter\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "MONITORFORMAT": "Angir filformatet til bruk når opptaket. Hvis monitoren-format er inaktiv, samtaler vil ikke bli registrert.",
+      "MOTIONPROXY": "Skriv inn i følgende format: <protocol>://<IP>[:<port>]. Eksempel: https://X.Y.Z.W",
+      "MUSICONHOLD": "Setter musikk klassen som skal brukes av en bestemt kø.",
+      "NAME": "Bare tall, bokstaver og bestemte tegn (._) støttes",
+      "PERIODICANNOUNCE": "Et sett med jevne mellomrom annonseringer skal spilles, spilte i den rekkefølgen de er definert.",
+      "PERIODICANNOUNCEFREQUENCY": "Angir hvor ofte vi skal lage periodiske kunngjøringer til innringeren.",
+      "RECORDING": "Aktiverer anropet opptak",
+      "REPORTHOLDTIMEAGENT": "Muliggjør rapportering av innringeren hold tid til køen medlem før bridging.",
+      "RINGINUSE": "Brukes for å unngå å sende samtaler til medlemmer som er i bruk.",
+      "SECONDSANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"sekunder\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "THANKYOUANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Takk for tålmodigheten\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "THEREAREANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"det er\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "TIMEOUTRESTART": "Hvis satt til ja, tilbakestiller stille for en agent til å svare hvis enten en opptatt eller flaskehalser status er mottatt fra kanalen.",
+      "TYPE": "Bestemmer SIP rolle innen stjerne. Bruker: brukes til å autentisere innkommende - Peer: for utgående anrop - venn: dekker både egenskapene til ovenfor.",
+      "VOICEMAIL_CONTEXT": "Sammenhengen i relativ forlengelse.",
+      "WAITINGCALLSANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"anrop venter\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle.",
+      "WELCOMEMESSAGE": "Dette er den første meldingen som er sendt til kontaktoren",
+      "YOUARENEXTANNOUNCE": "Hvis det ikke er definert, vil spille standardverdien (\"Du er nå først i linje\"). Hvis satt til en tom verdi, vil meldingen ikke bli spilt på alle."
+    },
+    "HIDE_DETAILS": "Skjul detaljer",
+    "HOLDTIMEANNOUNCE": "Hold tid annonsere",
+    "HOST": "Vert",
+    "ID": "Id",
+    "IDLE": "Tomgang",
+    "IN": "I",
+    "INBOUNDROUTES": "Inngående ruter",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Sett inn tekstmeldingen din her",
+    "INTEGRATIONS": "Integreringer",
+    "INTERACTION": "Samhandling",
+    "INTERACTIONS": "Samhandling",
+    "INTERNAL": "Intern",
+    "INTERNALDIAL": "Intern direkte",
+    "INTERNALROUTES": "Interne ruter",
+    "INTERVAL": "Intervall",
+    "INTERVALS": "Mellomrom",
+    "INUSE": "I bruk",
+    "INVALID": "Ugyldig",
+    "IN_USE": "I bruk",
+    "JOINWHENEMPTY": "Bli med når den er tom",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Tasten",
+    "LAGGED": "Lag",
+    "LANGUAGE": "Språk",
+    "LASTMESSAGE": "Siste melding",
+    "LASTNAME": "Etternavn",
+    "LAST_MONTH": "Forrige måned",
+    "LEAVEWHENEMPTY": "La når tom",
+    "LEXREGION": "Region",
+    "LIMITED": "Begrenset",
+    "LIST": "Liste",
+    "LOGGED_IN": "Logget på",
+    "LOGIN_TIME": "Innloggingstid",
+    "LOGO": "Logoen",
+    "LOGOUT": "Logg av",
+    "MACRO": "Makro",
+    "MAIL": "Post",
+    "MAILBOX": "Postboks",
+    "MAILBOX@CONTEXT": "Postboksen@kontekst",
+    "MANAGED": "Fikk til",
+    "MANDATORYDISPOSITION": "Obligatorisk disposisjon",
+    "MANDATORYDISPOSITIONPAUSEID": "Obligatorisk disposisjon pausestatus",
+    "MARK_AS_UNREAD": "Merk som ulest",
+    "MAXLENGTH": "Maksimal lengde",
+    "MAXMESSAGES": "Maks meldinger",
+    "MAXSECONDS": "Maks sekunder",
+    "MAY": "Kan",
+    "MEMBERDELAY": "Medlem forsinkelse",
+    "MESSAGE": "Melding",
+    "MESSAGES": "Meldinger",
+    "MESSAGESALIGNMENT": "Meldinger Justering",
+    "METHOD": "Metode",
+    "METRIC": "Metric",
+    "MINANNOUNCEFREQUENCY": "Minste annonsere frekvens",
+    "MINUTEANNOUNCE": "Minutt annonsere",
+    "MINUTESANNOUNCE": "Minutter annonsere",
+    "MOBILE": "Mobile",
+    "MODULES": "Moduler",
+    "MOHSOUNDS": "Moh lyder",
+    "MONITORFORMAT": "Opptaksformat",
+    "MORE": "Mer",
+    "MOTIONADDRESS": "Motion adresse",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy eller Motion domene",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musikk på vent",
+    "MUSICONHOLDS": "Musikk på vent",
+    "NAME": "Navn",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Ny ChanSpy",
+    "NEW_CONTACT": "Ny kontakt",
+    "NEW_CONTEXT": "Ny kontekst",
+    "NEW_INBOUNDROUTE": "Ny inngående rute",
+    "NEW_INTERNALROUTE": "Nye interne rute",
+    "NEW_MUSICONHOLD": "Ny musikk på vent",
+    "NEW_OUTBOUNDROUTE": "Ny utgående rute",
+    "NEW_PROJECT": "Nytt prosjekt",
+    "NEW_TAB": "Ny kategori",
+    "NEW_TAG": "Ny id",
+    "NEW_VARIABLE": "Ny variabel",
+    "NEW_VOICEMAIL": "Ny talebeskjed",
+    "NEW_VOICEQUEUE": "Ny stemme kø",
+    "NO": "Ingen",
+    "NONE": "Ingen",
+    "NOOP": "Noop",
+    "NOTE": "Merk",
+    "NOTES": "Merknader",
+    "NOTIFICATION": "Melding",
+    "NOTIFICATIONSHAKE": "Riste",
+    "NOTIFICATIONSOUND": "Lyd",
+    "NOTIFICATIONTEMPLATE": "Mal",
+    "NOT_INUSE": "Ikke i bruk",
+    "NO_AGENT_ONLINE": "Ingen Agent online",
+    "NO_APPS_AVAILABLE": "Ingen programmer er tilgjengelig",
+    "NO_AVAILABLE_INFO": "Ingen tilgjengelig info",
+    "NO_INTERACTION_AVAILABLE": "Ingen interaksjoner tilgjengelig",
+    "NO_MESSAGE_AVAILABLE": "Ingen meldinger tilgjengelig",
+    "NO_MOHSOUND_AVAILABLE": "Ingen musikk på vent tilgjengelig",
+    "NO_RATING": "Ingen aldersgrense",
+    "NO_REGISTRY": "Ingen registeret",
+    "NO_SOUND_AVAILABLE": "Ingen lyder tilgjengelig",
+    "NUMBER": "Nummer",
+    "OF": "Av",
+    "ONHOLD": "På vent",
+    "OPEN": "Åpne",
+    "OPENCHANNEL": "Åpen kanal",
+    "OPENED": "Åpne",
+    "OPERATOR": "Føreren",
+    "OPTIONS": "Alternativer",
+    "ORIGINATED": "Opprinnelig",
+    "OTHERS": "Andre",
+    "OUT": "Ut",
+    "OUTBOUNDDIAL": "Utgående direkte",
+    "OUTBOUNDROUTE": "Utgående rute",
+    "OUTBOUNDROUTES": "Utgående ruter",
+    "OUTBOUND_CALLS": "Utgående anrop",
+    "OUTPUT": "Utgang",
+    "PAGE": "Siden",
+    "PARTIALPAUSE": "Delvis Pause",
+    "PASSWORD": "Passord",
+    "PAUSE": "Pause",
+    "PAUSED": "Midlertidig stoppet",
+    "PAUSE_TIME": "Pause tid",
+    "PAYMENTMETHOD": "Betalingsmetoder",
+    "PENALTY": "Penalty",
+    "PENDING": "Venter",
+    "PERIODICANNOUNCE": "Periodisk annonsere",
+    "PERIODICANNOUNCEFREQUENCY": "Periodisk annonsere frekvens",
+    "PERSONAL_INFO": "Personlig info.",
+    "PHONE": "Telefon",
+    "PHONENUMBER": "Telefonnummer",
+    "PHONE_STATE": "Telefonen tilstand",
+    "PHONE_STATUS": "Telefonen status",
+    "PLAYBACK": "Avspilling",
+    "PLUGINS": "plugins",
+    "PORT": "Port",
+    "POSITION": "Stilling",
+    "POSTALCODE": "Postnummer",
+    "PREFIX": "Prefiks",
+    "PREVIEW": "Forhåndsvisning",
+    "PRIORITY": "Prioritet",
+    "PROJECT": "Cally-Square prosjekt",
+    "PROJECTS": "Prosjekter",
+    "PROXY": "proxy",
+    "QUEUE": "Kø",
+    "QUEUES": "Køer",
+    "QUEUETRANSFER": "Køoverføring",
+    "QUEUETRANSFERTIMEOUT": "Overføring av køoverføring",
+    "QUEUE_CALLS": "Køen samtaler",
+    "QUEUE_PARAMETERS": "Køen parametere",
+    "QUEUE_PARAMS": "Køen parametere",
+    "RANDOM": "Tilfeldig",
+    "RANDOMPERIODICANNOUNCE": "Tilfeldig periodisk annonsere",
+    "RATING": "Klassifisering",
+    "REACHABLE": "Nås",
+    "READY": "Klar",
+    "REALTIME": "Sanntid",
+    "RECALLME": "Hent meg",
+    "RECEIVED_AT": "Mottatt på",
+    "RECEIVEURL": "Motta URL",
+    "RECORD": "Posten",
+    "RECORDING": "Opptak",
+    "RECORDINGFORMAT": "Opptaksformat",
+    "RECORDINGS": "Opptak",
+    "REFRESH_INTERACTIONS": "Oppdater samhandlinger",
+    "REGISTERED": "Registrert",
+    "REGISTRY": "Registeret",
+    "REJECT": "Avvis",
+    "REJECTED": "Avvist",
+    "REJECTMETHOD": "Avvis metode",
+    "REJECTURL": "Avvis URL",
+    "RELOAD": "Laste inn",
+    "REPLY": "Svar",
+    "REPORT": "Rapportere",
+    "REPORTHOLDTIMEAGENT": "Rapporten Agent Hold tid",
+    "RETRY": "Prøv på nytt",
+    "RING": "Ring",
+    "RINGGROUP": "Ring gruppe",
+    "RINGING": "Ringer",
+    "RINGINUSE": "Ring i bruk",
+    "ROWSPERPAGE": "Linjer per side",
+    "RULE": "Regel",
+    "SAVE": "Lagre",
+    "SCHEDULEDAT": "Planlagt på",
+    "SCHEDULED_CALLS": "Planlagte samtaler",
+    "SCREENRECORDING": "Administrer skjermopptak",
+    "SCRIPT": "Manus",
+    "SEARCH_FOR_ANYONE": "Søk etter alle",
+    "SECONDSANNOUNCE": "Sekunder annonsere",
+    "SECRETACCESSKEY": "Hemmelig tilgangsnøkkel",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Plukke ut",
+    "SELECTED": "Valgt",
+    "SELECTED_AGENTS": "Valgt agenter",
+    "SELECTED_TEAMS": "Valgte lag",
+    "SELECTED_USERS": "Utvalgte brukere",
+    "SELECT_ACCOUNT": "Velg konto",
+    "SELECT_ALL": "Velg alle",
+    "SELECT_DATE": "Velg Startdato",
+    "SELECT_NONE": "Velg ingen",
+    "SELECT_STATUS": "Velg status",
+    "SELECT_TYPE": "Velg Type",
+    "SEND": "Send",
+    "SENDMAIL": "Send mail",
+    "SENTIMENTANALYSIS": "Sentiment Analyse",
+    "SERVICE": "Service",
+    "SESSIONS": "Sessions",
+    "SET": "Sett",
+    "SETINTERFACEVARIABLES": "Sett grensesnitt variabler",
+    "SETQUEUEENTRYVARIABLES": "Sett kø oppføring variabler",
+    "SETQUEUEVARIABLES": "Sett kø variabler",
+    "SETTINGS": "Innstillinger",
+    "SHOW_ALL_FIELDS": "Vis alle felt",
+    "SHOW_DETAILS": "Vis detaljer",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP-vert",
+    "SMTP_PORT": "SMTP-port",
+    "SOCIAL": "Sosiale",
+    "SORT": "Sortere",
+    "SOURCE": "Kilde",
+    "SPYINTERACTION": "Spion",
+    "STAFF": "Personale",
+    "STARTEDAT": "Startet på",
+    "STARTTIME": "Start Tid",
+    "START_SCREENRECORDING": "Start skjermopptak",
+    "STATE": "Tilstand",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Stopp skjermopptak",
+    "STRATEGY": "Strategi",
+    "SUBJECT": "Emne",
+    "SYSTEM": "Systemet",
+    "TAG": "stikkord",
+    "TAGS": "Tags",
+    "TALKING": "Snakker",
+    "TEAMS_ASSOCIATION": "Lagforening",
+    "TECHNOLOGY/RESOURCE": "Teknologi/Ressurs",
+    "TELEPHONES": "Telefoner",
+    "TEMPLATE": "Mal",
+    "TEXT": "Tekst",
+    "THANKYOUANNOUNCE": "'Takk' annonsere",
+    "THEREAREANNOUNCE": "\"Det er' annonsere",
+    "TIMEOUT": "Tidsavbrudd",
+    "TIMEOUTRESTART": "Tidsavbrudd på nytt",
+    "TIMER": "Tidsstyring",
+    "TIMES": "Antall ganger per samhandling",
+    "TIMEZONE": "Tidssone",
+    "TO": "Til",
+    "TOKEN": "Brikke",
+    "TOOLTIP_SCREENRECORDING_OFF": "Skjermopptak tilgjengelig",
+    "TOOLTIP_SCREENRECORDING_ON": "Skjermopptak pågår",
+    "TOTAL": "Totalt",
+    "TOTAL_OFFERED": "Totalt tilbys",
+    "TRANSCRIBE": "Transkriber",
+    "TRANSFER": "Overføre",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "Ekte prioritet",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunker",
+    "TRUNK_STATUS": "Trunk status",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Utilgjengelig",
+    "UNIQUEID": "Unik ID",
+    "UNKNOWN": "Ukjent",
+    "UNMANAGED": "Administrert",
+    "UNPAUSE": "Unpause",
+    "UNREACHABLE": "Kan ikke nås",
+    "UNREGISTERED": "Uregistrert",
+    "UP": "Opp",
+    "UPDATE": "Oppdatere",
+    "UPLOADING": "Laster opp",
+    "URL": "URL",
+    "USER": "Brukeren",
+    "USERNAME": "Brukernavn",
+    "USERS": "Brukere",
+    "VALUE": "Verdi",
+    "VARIABLE": "Variabel",
+    "VIDAOOSESSION": "Start videosamtale",
+    "VIDEO": "video",
+    "VIDEOSUPPORT": "Videostøtte",
+    "VOICE": "Stemme",
+    "VOICEMAIL": "Talebeskjed",
+    "VOICEMAILS": "Talemeldinger",
+    "VOICEMAIL_CONTEXT": "Kontekst",
+    "VOICEQUEUES": "Voice køer",
+    "VOICERECORDINGS": "Taleopptak",
+    "WAITFORTHEASSIGNEDAGENT": "Vent på den tildelte agent",
+    "WAITING": "Venter",
+    "WAITINGCALLSANNOUNCE": "Ventende anrop annonsere",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Nettsted",
+    "WEIGHT": "Vekt",
+    "WELCOMEMESSAGE": "Velkomstmelding",
+    "WHATSAPP": "WhatsApp-kontakt",
+    "WHITELABEL": "Hvit etikett",
+    "WRAPUPTIME": "Wrapup tid",
+    "WRONG_EXTENSION": "Filen presenterer feil utvidelse",
+    "YES": "Ja",
+    "YOUARENEXTANNOUNCE": "\"Du er neste' annonsere"
+  }
+}
diff --git a/public/app/main/i18n/org/en.json b/public/app/main/i18n/org/en.json
new file mode 100644
index 0000000..369cd13
--- /dev/null
+++ b/public/app/main/i18n/org/en.json
@@ -0,0 +1,666 @@
+{
+  "APP": {
+    "ABANDONED": "Abandoned",
+    "ABANDONEDCALLS": "Abandoned Queue Calls",
+    "ABANDONED_CALLS": "Abandoned Calls",
+    "ACCEPT": "Accept",
+    "ACCEPTMETHOD": "Accept Method",
+    "ACCEPTURL": "Accept URL",
+    "ACCESSKEYID": "Access Key ID",
+    "ACCOUNT": "Account",
+    "ACCOUNTNAME": "Account Name",
+    "ACCOUNTS": "Accounts",
+    "ACCOUNTSID": "Account SID",
+    "ACTIONS": "Actions",
+    "ACTIVE": "Active",
+    "ADD": "Add",
+    "ADDRESS": "Address",
+    "ADD_AGENT_TO_VOICEQUEUE": "Add Agent to Voice Queue",
+    "ADD_CHANSPY": "Add ChanSpy",
+    "ADD_CONTACT": "Add Contact",
+    "ADD_CONTEXT": "Add Context",
+    "ADD_INBOUNDROUTE": "Add Inbound Route",
+    "ADD_INTERNALROUTE": "Add Internal Route",
+    "ADD_MOHSOUND": "Add Music On Hold sound",
+    "ADD_MUSICONHOLD": "Add Music On Hold",
+    "ADD_NOTE": "Add note",
+    "ADD_OUTBOUNDROUTE": "Add Outbound Route",
+    "ADD_PROJECT": "Add Project",
+    "ADD_TAG": "Add Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Add Team to Voice Queue",
+    "ADD_VARIABLE": "Add Variable",
+    "ADD_VOICEMAIL": "Add Voicemail",
+    "ADD_VOICEQUEUE": "Add Voice Queue",
+    "ADVANCED": "Advanced",
+    "AFTERCALLWORK": "After Call Work",
+    "AFTERCALLWORKDURATION": "After Call Work Duration",
+    "AGENT": "Agent",
+    "AGENTS": "Agents",
+    "AGENTTRANSFER": "Agent Transfer",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Agent Timeout",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "All",
+    "ALLOWCODECS": "Allowed Codecs",
+    "ALL_AGENTS": "All Agents",
+    "ALL_TEAMS": "All Teams",
+    "ALL_USERS": "All Users",
+    "ALPHABETICAL": "Alphabetical",
+    "ALWAYS": "Always",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Announce Caller Position",
+    "ANNOUNCEFREQUENCY": "Announce Frequency",
+    "ANNOUNCEHOLDTIME": "Announce Hold Time",
+    "ANNOUNCEMENTS": "Announcements",
+    "ANNOUNCEPOSITIONLIMIT": "Announce Position Limit",
+    "ANNOUNCETOAGENT": "Announce To Agent",
+    "ANNOUNCE_OVERRIDES": "Announce Overrides",
+    "ANSWER": "Answer",
+    "ANSWERED": "Answered",
+    "API": "API",
+    "APIKEY": "ApiKey",
+    "APPLICATION": "Application",
+    "APPLICATION_NAME": "Application Name",
+    "ARGUMENTS": "Arguments",
+    "ATTACH": "Attach",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Audio Files",
+    "AUDIO_FILES": "Audio Files",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Auth Token",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Auto Reply",
+    "AVG_BILLABLE": "Avg Billable",
+    "AVG_HOLD_TIME": "Avg Hold Time",
+    "BACK": "Back",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Body",
+    "BOTNAME": "Bot Name",
+    "BUILDER": "Builder",
+    "BUSY": "Busy",
+    "CALLED": "Called",
+    "CALLER": "Caller",
+    "CALLERID": "Caller ID",
+    "CALLER_ID": "Caller ID",
+    "CALLYSQUARE": "Cally Square",
+    "CAMPAIGN": "Campaign",
+    "CANCEL": "Cancel",
+    "CANNEDANSWERS": "Canned Answers",
+    "CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found",
+    "CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer",
+    "CANT_DOWNLOAD_THIS_FILE": "Can't download this file",
+    "CAPACITY": "Capacity",
+    "CHANNEL": "Channel",
+    "CHANNELS": "Channels",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "City",
+    "CLEAR": "Clear",
+    "CLOSE": "Close",
+    "CLOSED": "Closed",
+    "CLOSEDAT": "Closed At",
+    "CLOSEMETHOD": "Close Method",
+    "CLOSEURL": "Close URL",
+    "CLOSING": "Closing",
+    "COMMAND": "Command",
+    "COMPANIES": "Companies",
+    "COMPANY": "Company",
+    "CONDITION": "Condition",
+    "CONFIRM_PASSWORD": "Confirm Password",
+    "CONNECTED": "Connected",
+    "CONTACT": "Contact",
+    "CONTACTS": "Contacts",
+    "CONTENT": "Content",
+    "CONTEXT": "Context",
+    "CONTEXTS": "Contexts",
+    "COUNTRY": "Country",
+    "CREATED_AT": "Created At",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Customer Journey",
+    "CUSTOM_FIELDS": "Custom Fields",
+    "CUTDIGITS": "Cut Digits",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Date",
+    "DATE_OF_BIRTH": "Birthdate",
+    "DEFAULT": "Default",
+    "DEFAULT_PAUSE": "Default pause",
+    "DELETE": "Delete",
+    "DELETE_APP": "Delete Application",
+    "DELETE_CHANSPY": "Delete ChanSpy",
+    "DELETE_CONTEXT": "Delete Context",
+    "DELETE_HOPPER": "Delete Hopper",
+    "DELETE_INBOUNDROUTE": "Delete Inbound Route",
+    "DELETE_INTERACTION": "Delete Interaction",
+    "DELETE_INTERNALROUTE": "Delete Internal Route",
+    "DELETE_MOHSOUND": "Delete Music On Hold sound",
+    "DELETE_MUSICONHOLD": "Delete Music On Hold",
+    "DELETE_OUTBOUNDROUTE": "Delete Outbound Route",
+    "DELETE_PROJECT": "Delete Project",
+    "DELETE_SELECTED": "Delete selected",
+    "DELETE_VOICEDISPOSITION": "Delete Voice Disposition",
+    "DELETE_VOICEMAIL": "Delete Voicemail",
+    "DELETE_VOICEQUEUE": "Delete Voice Queue",
+    "DELETE_VOICERECORDING": "Delete Voice Recording",
+    "DELIVERYREPORTURL": "Delivery Report URL",
+    "DESCRIPTION": "Description",
+    "DESTINATION": "Destination",
+    "DESTINATIONPATTERN": "Destination Pattern",
+    "DETAIL": "Detail",
+    "DETAILS": "Details",
+    "DIAL": "Dial",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "Directory",
+    "DISABLED": "Disabled",
+    "DISPOSITION": "Disposition",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Download Music On Hold sound",
+    "DOWNLOAD_VOICERECORDING": "Download Voice Recording",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Download without attachment",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments",
+    "DOWNLOAD_WITH_ATTACHMENT": "Download with attachment",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments",
+    "DROPPED": "Dropped",
+    "DROP_TO_UPLOAD": "Drop To Upload",
+    "DURATION": "Duration",
+    "EDIT": "Edit",
+    "EDIT_AGENT": "Edit Agent",
+    "EDIT_AGI": "Edit AGI",
+    "EDIT_AMAZONLEX": "Edit Lex configuration",
+    "EDIT_APP": "Edit Application",
+    "EDIT_AUTOREPLY": "Edit Auto Reply",
+    "EDIT_CHANSPY": "Edit ChanSpy",
+    "EDIT_CLOSE": "Edit Close",
+    "EDIT_CONTEXT": "Edit Context",
+    "EDIT_CUSTOM": "Edit Custom",
+    "EDIT_DIAL": "Edit Dial",
+    "EDIT_DIALOGFLOW": "Edit DialogFlow configuration",
+    "EDIT_EXTERNALDIAL": "Edit External Dial",
+    "EDIT_GOTO": "Edit Goto",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit Gotop",
+    "EDIT_HANGUP": "Edit Hangup",
+    "EDIT_HOPPER": "Edit Hopper",
+    "EDIT_INBOUNDROUTE": "Edit Inbound Route",
+    "EDIT_INTERNALDIAL": "Edit Internal Dial",
+    "EDIT_INTERNALROUTE": "Edit Internal Route",
+    "EDIT_INTERVAL": "Edit Interval",
+    "EDIT_MUSICONHOLD": "Edit Music On Hold",
+    "EDIT_NOOP": "Edit Noop",
+    "EDIT_OUTBOUNDROUTE": "Edit Outbound Route",
+    "EDIT_PLAYBACK": "Edit Playback",
+    "EDIT_PROJECT": "Edit Project",
+    "EDIT_QUEUE": "Edit Queue",
+    "EDIT_RINGGROUP": "Edit Ring Group",
+    "EDIT_SET": "Edit Set",
+    "EDIT_SYSTEM": "Edit System",
+    "EDIT_TAG": "Edit Tag",
+    "EDIT_TRUNK": "Edit Trunk",
+    "EDIT_VOICEDISPOSITION": "Edit Voice Disposition",
+    "EDIT_VOICEMAIL": "Edit Voicemail",
+    "EDIT_VOICEQUEUE": "Edit Voice Queue",
+    "EDIT_VOICERECORDING": "Edit Voice Recording",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Email Address",
+    "EMAILBODY": "Email Body",
+    "EMAILSUBJECT": "Email Subject",
+    "ENABLED": "Enabled",
+    "ENCRYPTION": "Encryption",
+    "ENDTIME": "End Time",
+    "ENVELOPE": "Envelope",
+    "EQUALS": "Equals",
+    "ERROR": "Error",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
+      "ACCESSKEYID_REQUIRED": "Mandatory Field",
+      "ACCOUNTNAME_REQUIRED": "Mandatory field",
+      "ACCOUNTSID_REQUIRED": "Mandatory Field",
+      "AFTERCALLWORKDURATION_REQUIRED": "Mandatory field",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "AGENT_REQUIRED": "Mandatory field",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+      "ALIAS_REQUIRED": "Mandatory field",
+      "APPLICATION_REQUIRED": "Mandatory field",
+      "AUTHTOKEN_REQUIRED": "Mandatory Field",
+      "BOTNAME_REQUIRED": "Mandatory Field",
+      "CLOSEURL_MUST_VALID_URL": "Wrong format",
+      "COMMAND_REQUIRED": "Mandatory Field",
+      "CONDITION_REQUIRED": "Mandatory Field",
+      "CONFIRM_NOT_MATCH": "The passwords don't match",
+      "CONTENT_REQUIRED": "Mandatory field",
+      "CONTEXT_REQUIRED": "Mandatory field",
+      "DESTINATIONPATTERN_REQUIRED": "Mandatory field",
+      "DISPOSITION_REQUIRED": "Mandatory field",
+      "EMAIL_MUST_VALID": "Wrong format",
+      "EMAIL_REQUIRED": "Mandatory field",
+      "EXTENSION_REQUIRED": "Mandatory field",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
+      "FIELD_REQUIRED": "Mandatory field",
+      "FIRSTNAME_REQUIRED": "Mandatory field",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FULLNAME_REQUIRED": "Mandatory field",
+      "HOST_REQUIRED": "Mandatory field",
+      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+      "KEY_REQUIRED": "Mandatory Field",
+      "LIST_REQUIRED": "Mandatory Field",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Mandatory field",
+      "MOTIONADDRESS_MUST_VALID_URL": "Wrong format",
+      "MOTIONADDRESS_REQUIRED": "Mandatory Field",
+      "NAME_MUST_VALID_PATTERN": "Wrong format",
+      "NAME_REQUIRED": "Mandatory field",
+      "OPTIONS_REQUIRED": "Mandatory field",
+      "OUTBOUNDROUTE_REQUIRED": "Mandatory field",
+      "PASSWORD_REQUIRED": "Mandatory field",
+      "PHONENUMBER_REQUIRED": "Mandatory field",
+      "PHONE_REQUIRED": "Mandatory field",
+      "PREFIX_REQUIRED": "Mandatory field",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "PRIORITY_REQUIRED": "Mandatory field",
+      "PROJECT_REQUIRED": "Mandatory field",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "QUEUE_REQUIRED": "Mandatory field",
+      "REJECTURL_MUST_VALID_URL": "Wrong format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "SECRETACCESSKEY_REQUIRED": "Mandatory Field",
+      "TAG_REQUIRED": "Mandatory Field",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Mandatory field",
+      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "TEXT_REQUIRED": "Mandatory Field",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "TIMEOUT_REQUIRED": "Mandatory field",
+      "TIMEZONE_REQUIRED": "Mandatory field",
+      "TOKEN_REQUIRED": "Mandatory Field",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
+      "TRUNK_REQUIRED": "Mandatory field",
+      "TYPE_REQUIRED": "Mandatory field",
+      "URL_REQUIRED": "Mandatory field",
+      "USERNAME_REQUIRED": "Mandatory field",
+      "VALUE_REQUIRED": "Mandatory field",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Estimated Hold Time Announce",
+    "EXTENSION": "Extension",
+    "EXTERNALDIAL": "External Dial",
+    "FAILED": "Failed",
+    "FALSEPRIORITY": "False Priority",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Field",
+    "FIELDS": "Fields",
+    "FILE": "File",
+    "FILE_NOT_FOUND": "File not found",
+    "FILTER": "Filter",
+    "FILTERS": "Filters",
+    "FINISH": "Finish",
+    "FONTSIZE": "Font Size",
+    "FORMAT": "Format",
+    "FREE": "Free",
+    "FROM": "From",
+    "FULLNAME": "Full Name",
+    "GENERAL": "General",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Goto",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "Gotop",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = Unallocated number",
+    "HANGUPCAUSE_16": "16 = Normal call clearing",
+    "HANGUPCAUSE_17": "17 = User busy",
+    "HANGUPCAUSE_18": "18 = No user responding (telehone device not connected)",
+    "HANGUPCAUSE_21": "21 = Call rejected",
+    "HANGUPCAUSE_22": "22 = Number changed",
+    "HANGUPCAUSE_27": "27 = Destination out of order",
+    "HANGUPCAUSE_38": "38 = Network out of order",
+    "HANGUPCAUSE_41": "41 = Temporary failure",
+    "HANGUP_CAUSE": "Hangup Cause",
+    "HEADERS": "Headers",
+    "HELP": {
+      "AFTERCALLWORK": "If enabled, the agent will be set on Pause after completing a call",
+      "AFTERCALLWORKDURATION": "Pause length triggered by the After Call Work option",
+      "ANNOUNCECALLERPOSITION": "Used to define if the caller’s position in the queue should be announced: No=never; Yes=always; Limit=only if it is within the limit defined by announce-position-limit; More= only if it is beyond the value defined by announce-position-limit",
+      "ANNOUNCEHOLDTIME": "Plays the estimated hold time along with the periodic announcements (Yes/No/Once)",
+      "CONTEXT": "Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“The current estimated hold time is”. Undefined=no announcement",
+      "HOLDTIMEANNOUNCE": "Choose a Sound defined in Tools. Default=“Hold time”. Undefined=no announcement",
+      "LIST": "Contact Manager list used to associate contacts",
+      "MANDATORYDISPOSITION": "Mandatory disposition",
+      "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
+      "MEMBERDELAY": "Inserts a delay prior to the caller and agent in queue get connected",
+      "MINANNOUNCEFREQUENCY": "Minimum announcement frequency (useful when the caller’s position changes frequently)",
+      "MINUTEANNOUNCE": "Choose a Sound defined in Tools. Default=“minute”. Undefined=no announcement",
+      "MINUTESANNOUNCE": "Choose a Sound defined in Tools. Default=“minutes”. Undefined=no announcement",
+      "MONITORFORMAT": "Specifies the file format to use when recording. If monitor-format is inactive, calls will not be recorded",
+      "MOTIONPROXY": "The field must have the following format: <protocol>://<ipaddress>[:<port>]. Example: https://X.Y.Z.W",
+      "MUSICONHOLD": "Sets the music class to use for a particular queue",
+      "NAME": "Only numbers, letters and specific characters (._) are supported",
+      "PERIODICANNOUNCE": "Set of periodic announcements to be played (in the order)",
+      "PERIODICANNOUNCEFREQUENCY": "Frequency of periodic announcements to the caller",
+      "RECORDING": "Enable call recording",
+      "REPORTHOLDTIMEAGENT": "Enables reporting caller’s hold time to the agent in queue prior to connection",
+      "RINGINUSE": "To avoid/allow sending calls to members whose status is In Use",
+      "SECONDSANNOUNCE": "Choose a Sound defined in Tools. Default=“seconds”. Undefined=no announcement",
+      "THANKYOUANNOUNCE": "Choose a Sound defined in Tools. Default=“Thank you for your patience”. Undefined=no announcement",
+      "THEREAREANNOUNCE": "Choose a Sound defined in Tools. Default=“There are”. Undefined=no announcement",
+      "TIMEOUTRESTART": "If yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel",
+      "VOICEMAIL_CONTEXT": "The context of the relative extension",
+      "WAITINGCALLSANNOUNCE": "Choose a Sound defined in Tools. Default=“calls waiting”. Undefined=no announcement",
+      "WELCOMEMESSAGE": "This is the first response message sent to new interactions",
+      "YOUARENEXTANNOUNCE": "Choose a Sound defined in Tools. Default=“You are now first in line”. Undefined=no announcement"
+    },
+    "HOLDTIMEANNOUNCE": "Hold Time Announce",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "In",
+    "INBOUNDROUTES": "Inbound Routes",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Insert your text message here",
+    "INTEGRATIONS": "Integrations",
+    "INTERACTION": "Interaction",
+    "INTERACTIONS": "Interactions",
+    "INTERNAL": "Internal",
+    "INTERNALDIAL": "Internal Dial",
+    "INTERNALROUTES": "Internal Routes",
+    "INTERVAL": "Interval",
+    "INTERVALS": "Intervals",
+    "INUSE": "In Use",
+    "INVALID": "Invalid",
+    "IN_USE": "In use",
+    "JOINWHENEMPTY": "Join when empty",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Key",
+    "LAGGED": "Lagged",
+    "LANGUAGE": "Language",
+    "LASTMESSAGE": "Last message",
+    "LASTNAME": "Last Name",
+    "LAST_MONTH": "Last Month",
+    "LEAVEWHENEMPTY": "Leave when empty",
+    "LEXREGION": "Region",
+    "LIMITED": "Limited",
+    "LIST": "List",
+    "LOGGED_IN": "Logged in",
+    "LOGIN_TIME": "Login time",
+    "LOGO": "Logo",
+    "LOGOUT": "Logout",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@Context",
+    "MANAGED": "Managed",
+    "MANDATORYDISPOSITION": "Mandatory disposition",
+    "MANDATORYDISPOSITIONPAUSEID": "Pause to use if mandatory disposition is enabled",
+    "MARK_AS_UNREAD": "Mark as unread",
+    "MAXLENGTH": "Maximum Length",
+    "MAXMESSAGES": "Max Messages",
+    "MAXSECONDS": "Max Seconds",
+    "MAY": "May",
+    "MEMBERDELAY": "Member Delay",
+    "MESSAGE": "Message",
+    "MESSAGES": "Messages",
+    "MESSAGESALIGNMENT": "Messages Alignment",
+    "METHOD": "Method",
+    "METRIC": "Metric",
+    "MINANNOUNCEFREQUENCY": "Minimum Announce Frequency",
+    "MINUTEANNOUNCE": "Minute Announce",
+    "MINUTESANNOUNCE": "Minutes Announce",
+    "MOBILE": "Mobile",
+    "MODULES": "Modules",
+    "MOHSOUNDS": "Moh Sounds",
+    "MONITORFORMAT": "Recording Format",
+    "MORE": "More",
+    "MOTIONADDRESS": "Motion Address",
+    "MOTIONBAR": "Motion Bar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy Or Motion Domain",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Music On Hold",
+    "MUSICONHOLDS": "Music On Hold",
+    "NAME": "Name",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "New ChanSpy",
+    "NEW_CONTACT": "New Contact",
+    "NEW_CONTEXT": "New Context",
+    "NEW_INBOUNDROUTE": "New Inbound Route",
+    "NEW_INTERNALROUTE": "New Internal Route",
+    "NEW_MUSICONHOLD": "New Music On Hold",
+    "NEW_OUTBOUNDROUTE": "New Outbound Route",
+    "NEW_PROJECT": "New Project",
+    "NEW_TAB": "New Tab",
+    "NEW_TAG": "New Tag",
+    "NEW_VARIABLE": "New Variable",
+    "NEW_VOICEMAIL": "New Voicemail",
+    "NEW_VOICEQUEUE": "New Voice Queue",
+    "NO": "No",
+    "NONE": "None",
+    "NOOP": "Noop",
+    "NOTE": "Note",
+    "NOTES": "Notes",
+    "NOTIFICATION": "Notification",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Sound",
+    "NOTIFICATIONTEMPLATE": "Template",
+    "NOT_INUSE": "Not in use",
+    "NO_AGENT_ONLINE": "No Agent Online",
+    "NO_APPS_AVAILABLE": "No applications available",
+    "NO_AVAILABLE_INFO": "No available info",
+    "NO_INTERACTION_AVAILABLE": "No interactions available",
+    "NO_MESSAGE_AVAILABLE": "No messages available",
+    "NO_MOHSOUND_AVAILABLE": "No Music On Hold available",
+    "NO_RATING": "No rating",
+    "NO_REGISTRY": "No Registry",
+    "NO_SOUND_AVAILABLE": "No sounds available",
+    "NUMBER": "Number",
+    "OF": "of",
+    "ONHOLD": "On Hold",
+    "OPEN": "Open",
+    "OPENCHANNEL": "Open Channel",
+    "OPENED": "Open",
+    "OPERATOR": "Operator",
+    "OPTIONS": "Options",
+    "ORIGINATED": "Originated",
+    "OTHERS": "Others",
+    "OUT": "Out",
+    "OUTBOUNDDIAL": "Outbound Dial",
+    "OUTBOUNDROUTE": "Outbound Route",
+    "OUTBOUNDROUTES": "Outbound Routes",
+    "OUTBOUND_CALLS": "Outbound Calls",
+    "OUTPUT": "Output",
+    "PAGE": "Page",
+    "PARTIALPAUSE": "Parital Pause",
+    "PASSWORD": "Password",
+    "PAUSE": "Pause",
+    "PAUSED": "Paused",
+    "PAUSE_TIME": "Pause time",
+    "PENALTY": "Penalty",
+    "PENDING": "Pending",
+    "PERIODICANNOUNCE": "Periodic Announce",
+    "PERIODICANNOUNCEFREQUENCY": "Periodic Announce Frequency",
+    "PERSONAL_INFO": "Personal Info",
+    "PHONE": "Phone",
+    "PHONENUMBER": "Phone Number",
+    "PHONE_STATE": "Phone State",
+    "PHONE_STATUS": "Phone Status",
+    "PLAYBACK": "Playback",
+    "PLUGINS": "Plugins",
+    "PORT": "Port",
+    "POSITION": "Position",
+    "POSTALCODE": "Postal Code",
+    "PREFIX": "Prefix",
+    "PREVIEW": "Preview",
+    "PRIORITY": "Priority",
+    "PROJECT": "Project",
+    "PROJECTS": "Projects",
+    "PROXY": "Proxy",
+    "QUEUE": "Queue",
+    "QUEUES": "Queues",
+    "QUEUETRANSFER": "Queue Transfer",
+    "QUEUETRANSFERTIMEOUT": "Queue Transfer Timeout",
+    "QUEUE_CALLS": "Queue Calls",
+    "QUEUE_PARAMETERS": "Queue Parameters",
+    "QUEUE_PARAMS": "Queue Parameters",
+    "RANDOM": "Random",
+    "RANDOMPERIODICANNOUNCE": "Random Periodic Announce",
+    "RATING": "Rating",
+    "REACHABLE": "Reachable",
+    "READY": "Ready",
+    "REALTIME": "Realtime",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "Received At",
+    "RECEIVEURL": "Receive URL",
+    "RECORD": "Record",
+    "RECORDING": "Recording",
+    "RECORDINGFORMAT": "Recording format",
+    "RECORDINGS": "Recordings",
+    "REFRESH_INTERACTIONS": "Refresh Interactions",
+    "REGISTERED": "Registered",
+    "REGISTRY": "Registry",
+    "REJECT": "Reject",
+    "REJECTED": "Rejected",
+    "REJECTMETHOD": "Reject Method",
+    "REJECTURL": "Reject URL",
+    "RELOAD": "Reload",
+    "REPLY": "Reply",
+    "REPORT": "Report",
+    "REPORTHOLDTIMEAGENT": "Report Agent Hold Time",
+    "RETRY": "Retry",
+    "RING": "Ring",
+    "RINGGROUP": "Ring Group",
+    "RINGING": "Ringing",
+    "RINGINUSE": "Ring In Use",
+    "ROWSPERPAGE": "Rows per page",
+    "RULE": "Rule",
+    "SAVE": "Save",
+    "SCHEDULEDAT": "Scheduled At",
+    "SCHEDULED_CALLS": "Scheduled Calls",
+    "SCREENRECORDING": "Manage Screen Recording",
+    "SCRIPT": "Script",
+    "SEARCH_FOR_ANYONE": "Search",
+    "SECONDSANNOUNCE": "Seconds Announce",
+    "SECRETACCESSKEY": "Secret Access Key",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Select",
+    "SELECTED": "Selected",
+    "SELECTED_AGENTS": "Selected Agents",
+    "SELECTED_TEAMS": "Selected Teams",
+    "SELECTED_USERS": "Selected Users",
+    "SELECT_ACCOUNT": "Select Account",
+    "SELECT_ALL": "Select All",
+    "SELECT_DATE": "Select Start Date",
+    "SELECT_NONE": "Select None",
+    "SELECT_STATUS": "Select Status",
+    "SELECT_TYPE": "Select Type",
+    "SEND": "Send",
+    "SENDMAIL": "Send Email",
+    "SENTIMENTANALYSIS": "Sentiment Analysis",
+    "SERVICE": "Service",
+    "SESSIONS": "Sessions",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Set Interface Variables",
+    "SETQUEUEENTRYVARIABLES": "Set Queue Entry Variables",
+    "SETQUEUEVARIABLES": "Set Queue Variables",
+    "SETTINGS": "Settings",
+    "SMS": "Sms",
+    "SMTP": "SMTP",
+    "SOCIAL": "Social",
+    "SORT": "Sort",
+    "SOURCE": "Source",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Staff",
+    "STARTEDAT": "Started At",
+    "STARTTIME": "Start Time",
+    "START_SCREENRECORDING": "Start Screen Recording",
+    "STATE": "State",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Stop Screen Recording",
+    "STRATEGY": "Strategy",
+    "SUBJECT": "Subject",
+    "SYSTEM": "System",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Talking",
+    "TEAMS_ASSOCIATION": "Teams Association",
+    "TECHNOLOGY/RESOURCE": "Technology/Resource",
+    "TELEPHONES": "Telephones",
+    "TEMPLATE": "Template",
+    "TEXT": "Text",
+    "THANKYOUANNOUNCE": "'Thank You' Announce",
+    "THEREAREANNOUNCE": "'There are' Announce",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout Restart",
+    "TIMER": "Timer",
+    "TIMES": "Number of times per interaction",
+    "TIMEZONE": "Timezone",
+    "TO": "To",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Screen Recording available",
+    "TOOLTIP_SCREENRECORDING_ON": "Screen Recording in progress",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total Offered",
+    "TRANSCRIBE": "Transcribe",
+    "TRANSFER": "Transfer",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "True Priority",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Trunk Status",
+    "TYPE": "Type",
+    "UNAVAILABLE": "Unavailable",
+    "UNIQUEID": "Unique ID",
+    "UNKNOWN": "Unknown",
+    "UNMANAGED": "Unmanaged",
+    "UNPAUSE": "End Pause",
+    "UNREACHABLE": "Unreachable",
+    "UNREGISTERED": "Unregistered",
+    "UP": "Up",
+    "UPDATE": "Update",
+    "UPLOADING": "Uploading",
+    "URL": "URL",
+    "USER": "User",
+    "USERNAME": "Username",
+    "USERS": "Users",
+    "VALUE": "Value",
+    "VARIABLE": "Variable",
+    "VIDAOOSESSION": "Start Video Call",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video support",
+    "VOICE": "Voice",
+    "VOICEMAIL": "Voicemail",
+    "VOICEMAILS": "Voicemails",
+    "VOICEMAIL_CONTEXT": "Context",
+    "VOICEQUEUES": "Voice Queues",
+    "VOICERECORDINGS": "Voice Recordings",
+    "WAITFORTHEASSIGNEDAGENT": "Wait for the assigned agent",
+    "WAITING": "Waiting",
+    "WAITINGCALLSANNOUNCE": "Waiting Calls Announce",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Weight",
+    "WELCOMEMESSAGE": "Welcome Message",
+    "WHATSAPP": "WhatsApp Connector",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Wrapup Time",
+    "WRONG_EXTENSION": "The file presents the wrong extension",
+    "YES": "Yes",
+    "YOUARENEXTANNOUNCE": "'You are next' Announce"
+  }
+}
diff --git a/public/app/main/i18n/org/it.json b/public/app/main/i18n/org/it.json
new file mode 100644
index 0000000..c379ca4
--- /dev/null
+++ b/public/app/main/i18n/org/it.json
@@ -0,0 +1,615 @@
+{
+  "APP": {
+    "ABANDONED": "Abbandonate",
+    "ABANDONEDCALLS": "Chiamate in coda abbandonate",
+    "ABANDONED_CALLS": "Chiamate Abbandonate",
+    "ACCEPT": "Accetta",
+    "ACCEPTMETHOD": "Metodo Accetta",
+    "ACCEPTURL": "URL Accetta",
+    "ACCESSKEYID": "ID chiave di accesso",
+    "ACCOUNT": "Account",
+    "ACCOUNTNAME": "Nome Account",
+    "ACCOUNTS": "Accounts",
+    "ACCOUNTSID": "Account SID",
+    "ACTIONS": "Azioni",
+    "ACTIVE": "Attivo",
+    "ADD": "Aggiungi",
+    "ADDRESS": "Indirizzo",
+    "ADD_AGENT_TO_QUEUE": "Aggiungi Agente alla Coda",
+    "ADD_AGENT_TO_VOICEQUEUE": "Aggiungi Agente alla coda",
+    "ADD_CHANSPY": "Aggiungi ChanSpy",
+    "ADD_CONTACT": "Aggiungi Contatto",
+    "ADD_CONTEXT": "Aggiungi Contesto",
+    "ADD_INBOUNDROUTE": "Aggiungi Rotta Inbound",
+    "ADD_INTERNALROUTE": "Aggiungi Rotta Interna",
+    "ADD_MOHSOUND": "Aggiungi audio Musica di Attesa",
+    "ADD_MUSICONHOLD": "Aggiungi Musica di Attesa",
+    "ADD_NOTE": "Aggiungi nota",
+    "ADD_OUTBOUNDROUTE": "Aggiungi Rotta Outbound",
+    "ADD_PROJECT": "Aggiungi Progetto",
+    "ADD_TEAM_TO_VOICEQUEUE": "Aggiungi Team alla coda",
+    "ADD_VARIABLE": "Aggiungi Variabile",
+    "ADD_VOICEMAIL": "Aggiungi Casella Vocale",
+    "ADD_VOICEQUEUE": "Aggiungi Coda Voce",
+    "ADVANCED": "Avanzate",
+    "AFTERCALLWORK": "After Call Work",
+    "AFTERCALLWORKDURATION": "Durata After Call Work",
+    "AGENT": "Agente",
+    "AGENTS": "Agenti",
+    "AGENTSADD_QUEUE": "Aggiungi agenti alla coda",
+    "AGENTTRANSFER": "Trasferimento dell'agente",
+    "AGENTTRANSFERTIMEOUT": "Timeout trasferimento agente",
+    "AGENT_TIMEOUT": "Timeout Agente",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Tutti",
+    "ALL_AGENTS": "Tutti gli Agenti",
+    "ALL_TEAMS": "Tutti i Team",
+    "ALL_USERS": "Tutti gli Utenti",
+    "ALPHABETICAL": "Alfabetico",
+    "ALWAYS": "Sempre",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Annuncia posizione del chiamante",
+    "ANNOUNCEFREQUENCY": "Frequenza Annunci",
+    "ANNOUNCEHOLDTIME": "Annuncia tempo di attesa",
+    "ANNOUNCEMENTS": "Annunci",
+    "ANNOUNCEPOSITIONLIMIT": "Limite Annuncio Posizione",
+    "ANNOUNCETOAGENT": "Annuncio all'Agente",
+    "ANSWER": "Rispondi",
+    "ANSWERED": "Risposte",
+    "API": "API",
+    "APIKEY": "ApiKey",
+    "APPLICATION": "Applicazione",
+    "APPLICATION_NAME": "Nome Applicazione",
+    "ARGUMENTS": "Argomenti",
+    "ATTACH": "Allega",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "File Audio",
+    "AUDIO_FILES": "File audio",
+    "AUTH": "Auth",
+    "AUTOREPLY": "Risposta Automatica",
+    "AVG_BILLABLE": "Fatturabile medio",
+    "AVG_DURATION": "Durata media",
+    "AVG_HOLD_TIME": "Tempo medio di attesa",
+    "BACK": "Indietro",
+    "BASEURL": "Base URL",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Body",
+    "BOTNAME": "Nome del bot",
+    "BUILDER": "Builder",
+    "BUSY": "Occupato",
+    "CALLER": "Chiamante",
+    "CALLERID": "Caller ID",
+    "CALLER_ID": "ID Chiamante",
+    "CALLYSQUARE": "Cally Square",
+    "CAMPAIGN": "Campagna",
+    "CANCEL": "Annulla",
+    "CANNEDANSWERS": "Canned Answers",
+    "CANNED_ANSWER_NOT_FOUND": "Nessuna risposta precompilata trovata",
+    "CANNED_ANSWER_SEARCH": "Inserire un valore da cercare nelle risposte compilate",
+    "CANT_DOWNLOAD_THIS_FILE": "Impossibile scaricare il file",
+    "CAPACITY": "Capacità",
+    "CHANNEL": "Canale",
+    "CHANNELS": "Canali",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Chat",
+    "CITY": "Città",
+    "CLEAR": "Svuota",
+    "CLOSE": "Chiudi",
+    "CLOSED": "Chiusa",
+    "CLOSEDAT": "Chiusa il",
+    "CLOSEMETHOD": "Metodo Chiudi",
+    "CLOSEURL": "URL Chiudi",
+    "CLOSING": "Chiusura",
+    "COMMAND": "Comando",
+    "COMPANIES": "Compagnie",
+    "COMPANY": "Azienda",
+    "CONDITION": "Condizione",
+    "CONFIRM_PASSWORD": "Conferma Password",
+    "CONNECTED": "Connesso",
+    "CONTACT": "Contatto",
+    "CONTACTMANAGER": "Manager Contatti",
+    "CONTACTS": "Contatti",
+    "CONTENT": "Contenuto",
+    "CONTEXT": "Contesto",
+    "CONTEXTS": "Contesti",
+    "COUNTRY": "Paese",
+    "CREATED_AT": "Creato il",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Customer Journey",
+    "CUTDIGITS": "Cut Digits",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Data",
+    "DATE_OF_BIRTH": "Data di nascita",
+    "DEFAULT": "Default",
+    "DEFAULT_PAUSE": "Pausa di default",
+    "DELETE": "Elimina",
+    "DELETE_APP": "Elimina Applicazione",
+    "DELETE_CHANSPY": "Elimina ChanSpy",
+    "DELETE_CONTEXT": "Elimina Contesto",
+    "DELETE_INBOUNDROUTE": "Elimina Rotta Inbound",
+    "DELETE_INTERACTION": "Elimina Interazione",
+    "DELETE_INTERNALROUTE": "Elimina Rotta Interna",
+    "DELETE_MOHSOUND": "Elimina audio Musica di Attesa",
+    "DELETE_MUSICONHOLD": "Elimina Musiche di Attesa",
+    "DELETE_OUTBOUNDROUTE": "Elimina Rotta Outbound",
+    "DELETE_PROJECT": "Cancella Progetto",
+    "DELETE_VOICEMAIL": "Elimina Casella Vocale",
+    "DELETE_VOICERECORDING": "Elimina Registrazione Voce",
+    "DESCRIPTION": "Descrizione",
+    "DESTINATION": "Destinazione",
+    "DESTINATIONPATTERN": "Pattern di Destinazione",
+    "DETAILS": "Dettagli",
+    "DIAL": "Dial",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "Cartella",
+    "DISABLED": "Disabilitato",
+    "DISPOSITION": "Esito",
+    "DISPOSITIONS": "Esiti",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Scarica audio Musica di Attesa",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Scarica senza allegato",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download senza allegati",
+    "DOWNLOAD_WITH_ATTACHMENT": "Scarica con allegato",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download con allegati",
+    "DROPPED": "Perse",
+    "DURATION": "Durata",
+    "EDIT": "Modifica",
+    "EDIT_AGENT": "Modifica Agente",
+    "EDIT_AGI": "Modifica AGI",
+    "EDIT_AMAZONLEX": "Modifica la configurazione Lex",
+    "EDIT_APP": "Modifica Applicazione",
+    "EDIT_AUTOREPLY": "Modifica Risposta Automatica",
+    "EDIT_CHANSPY": "Modifica ChanSpy",
+    "EDIT_CLOSE": "Modifica Chiudi",
+    "EDIT_CONTEXT": "Modifica Contesto",
+    "EDIT_CUSTOM": "Modifica Custom",
+    "EDIT_DIAL": "Modifica Dial",
+    "EDIT_DIALOGFLOW": "Modifica la configurazione di Dialogflow",
+    "EDIT_EXTERNALDIAL": "Modifica dial esterna",
+    "EDIT_GOTO": "Modifica Goto",
+    "EDIT_GOTOIF": "Modifica GotoIf",
+    "EDIT_GOTOP": "Modifica Gotop",
+    "EDIT_HANGUP": "Modifica Hangup",
+    "EDIT_HOPPER": "Modifica Hopper",
+    "EDIT_INBOUNDROUTE": "Modifica Rotta Inbound",
+    "EDIT_INTERNALDIAL": "Modifica Dial interna",
+    "EDIT_INTERNALROUTE": "Modifica Rotta Interna",
+    "EDIT_INTERVAL": "Modifica Intervallo",
+    "EDIT_MUSICONHOLD": "Modifica Musiche di Attesa",
+    "EDIT_NOOP": "Modifica Noop",
+    "EDIT_OUTBOUNDROUTE": "Modifica Rotta Outbound",
+    "EDIT_PLAYBACK": "Modifica Playback",
+    "EDIT_PROJECT": "Modifica Progetto",
+    "EDIT_QUEUE": "Modifica Coda",
+    "EDIT_RINGGROUP": "Modifica Ring Group",
+    "EDIT_SET": "Modifica Set",
+    "EDIT_SYSTEM": "Modifica System",
+    "EDIT_TAG": "Modifica Tag",
+    "EDIT_TRUNK": "Modifica Trunk",
+    "EDIT_VOICEMAIL": "Modifica Casella Vocale",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Indirizzo Email",
+    "EMAILBODY": "Corpo Email",
+    "EMAILSUBJECT": "Soggetto Email",
+    "ENABLED": "Abilitato",
+    "ENDTIME": "Ora di fine",
+    "ERROR": "Errore",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "ACCESSKEYID_REQUIRED": "È richiesto l'ID chiave di accesso",
+      "ACCOUNTNAME_REQUIRED": "Campo obbligatorio",
+      "ACCOUNTSID_REQUIRED": "Campo obbligatorio",
+      "AFTERCALLWORKDURATION_REQUIRED": "Campo Obbligatorio",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
+      "AGENT_REQUIRED": "Campo obbligatorio",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "AGENT_TIMEOUT_REQUIRED": "Campo obbligatorio",
+      "APIKEY_REQUIRED": "Campo obbligatorio",
+      "AUTHID_REQUIRED": "Campo Obbligatorio",
+      "AUTHTOKEN_REQUIRED": "Campo obbligatorio",
+      "BASEURL_REQUIRED": "Campo obbligatorio",
+      "BOTNAME_REQUIRED": "È richiesto il nome del bot",
+      "CLOSEURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "COMMAND_REQUIRED": "Campo obbligatorio",
+      "CONDITION_REQUIRED": "Campo obbligatorio",
+      "CONTEXT_REQUIRED": "Campo Obbligatorio",
+      "DESTINATIONPATTERN_REQUIRED": "Campo Obbligatorio",
+      "DISPOSITION_REQUIRED": "Campo obbligatorio",
+      "EMAIL_MUST_VALID": "Il campo deve avere un formato valido",
+      "EMAIL_REQUIRED": "Campo Obbligatorio",
+      "EXTENSION_REQUIRED": "Campo Obbligatorio",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità per condizione falsa deve essere maggiore o uguale a",
+      "FALSEPRIORITY_REQUIRED": "Campo obbligatorio",
+      "FIELD_REQUIRED": "Campo Obbligatorio",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "FONTSIZE_REQUIRED": "Campo obbligatorio",
+      "FULLNAME_REQUIRED": "Campo Obbligatorio",
+      "HOST_REQUIRED": "Campo obbligatorio",
+      "KEY_MAX_LENGTH": "Il valore introdotto non deve essere più lungo di {{max}} caratteri",
+      "KEY_REQUIRED": "Campo obbligatorio",
+      "LIST_REQUIRED": "Campo obbligatorio",
+      "MAILBOX_REQUIRED": "Campo Obbligatorio",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obbligatorio",
+      "METHOD_REQUIRED": "Campo obbligatorio",
+      "MOTIONADDRESS_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "MOTIONADDRESS_REQUIRED": "Campo obbligatorio",
+      "MOTIONPROXY_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "MOTIONPROXY_REQUIRED": "Campo obbligatorio",
+      "NAME_MUST_VALID_PATTERN": "Formato errato",
+      "NAME_REQUIRED": "Campo obbligatorio",
+      "OPTIONS_REQUIRED": "Campo Obbligatorio",
+      "PASSWORD_REQUIRED": "Campo Obbligatorio",
+      "PHONENUMBER_REQUIRED": "Campo Obbligatorio",
+      "PHONE_REQUIRED": "Campo Obbligatorio",
+      "PREFIX_REQUIRED": "Campo Obbligatorio",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità deve essere maggiore o uguale a",
+      "PRIORITY_REQUIRED": "Campo Obbligatorio",
+      "PROJECT_REQUIRED": "Campo Obbligatorio",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obbligatorio",
+      "QUEUE_REQUIRED": "Campo obbligatorio",
+      "REJECTURL_MUST_VALID_URL": "Il campo deve avere un formato valido",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "SECRETACCESSKEY_REQUIRED": "Campo obbligatorio",
+      "SENDERSTRING_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Il campo deve avere un formato valido",
+      "SID_REQUIRED": "Campo obbligatorio",
+      "TAG_REQUIRED": "Campo obbligatorio",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Campo Obbligatorio",
+      "TEXT_MAX_LENGTH": "Il valore deve avere una lunghezza massima pari a {{max}}",
+      "TEXT_REQUIRED": "Campo obbligatorio",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "TIMEOUT_REQUIRED": "Campo obbligatorio",
+      "TIMEZONE_REQUIRED": "Campo Obbligatorio",
+      "TOKEN_REQUIRED": "Campo obbligatorio",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Priorità per condizione vera deve essere maggiore o uguale a",
+      "TRUEPRIORITY_REQUIRED": "Campo obbligatorio",
+      "TRUNK_REQUIRED": "Campo obbligatorio",
+      "TYPE_REQUIRED": "Campo obbligatorio",
+      "URL_REQUIRED": "Campo obbligatorio",
+      "USERNAME_REQUIRED": "Campo obbligatorio",
+      "VALUE_REQUIRED": "Campo Obbligatorio",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore deve essere maggiore o uguale a",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Il valore deve essere minore o uguale a",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo obbligatorio",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Il valore introdotto deve essere superiore o uguale a"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Annuncio Tempo di Attesa stimato",
+    "EXTENSION": "Extension",
+    "EXTERNALDIAL": "Dial Esterna",
+    "FAILED": "Fallita",
+    "FALSEPRIORITY": "Priorità per condizione falsa",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Campo",
+    "FIELDS": "Campi",
+    "FILE": "File",
+    "FILE_NOT_FOUND": "File non presente sul server",
+    "FILTER": "Filtro",
+    "FILTERS": "Filtri",
+    "FINISH": "Fine",
+    "FIRSTNAME": "Nome",
+    "FORMAT": "Formato",
+    "FROM": "Da",
+    "FULLNAME": "Nome Completo",
+    "GENERAL": "Generale",
+    "GOSUB": "GoSub",
+    "GOTO": "Goto",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "Gotop",
+    "HANGUP": "Riaggancia",
+    "HANGUPCAUSE_1": "1 = Numero non allocato",
+    "HANGUPCAUSE_16": "16 = Chiamata completata",
+    "HANGUPCAUSE_17": "17 = Utente occupato",
+    "HANGUPCAUSE_18": "18 = Nessuna risposta da utente (telefono non connesso)",
+    "HANGUPCAUSE_21": "21 = Chiamata rifiutata",
+    "HANGUPCAUSE_22": "22 = Numero cambiato",
+    "HANGUPCAUSE_27": "27 = Destinazione fuori servizio",
+    "HANGUPCAUSE_38": "38 = Rete fuori servizio",
+    "HANGUPCAUSE_41": "41 = Fallimento temporaneo",
+    "HANGUP_CAUSE": "Causa Hangup",
+    "HEADERS": "Headers",
+    "HELP": {
+      "ANNOUNCEHOLDTIME": "Definisce se annunciare il tempo di attesa stimato insieme agli annunci periodici",
+      "ANNOUNCETOAGENT": "Usato per riprodurre un annuncio all'agente che ha risposto alla chiamata, di solito per informarlo da quale coda arriva il chiamante",
+      "LIST": "Lista del Contact Manager usata per associare i contatti",
+      "MANDATORYDISPOSITION": "Disposizione obbligatoria",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare se è abilitata la disposizione obbligatoria",
+      "MEMBERDELAY": "Usato se si vuole che ci sia un ritardo prima che il chiamante e l'agente in coda vengano connessi",
+      "MOTIONPROXY": "Inserire nel seguente formato: &lt;protocollo&gt;://&lt;indirizzoIP&gt;[:&lt;porta&gt;]. Es: https://X.Y.Z.W",
+      "NAME": "Sono supportati solo numeri, lettere e caratteri specifici (._)",
+      "RECORDING": "Abilita la registrazione della chiamata",
+      "TYPE": "Determina il ruolo del SIP all'interno di asterisk. User: usato per identificare le chiamate in arrivo - Peer: per le chiamate in uscita - Friend: copre entrambe le caratteristiche di User e Peer",
+      "WELCOMEMESSAGE": "Messaggio di benvenuto",
+      "YOUARENEXTANNOUNCE": "Se non definito, riproduce il valore di default (“You are now first in line”). Se impostato su un valore vuoto non verrà riprodotto"
+    },
+    "HIDE_DETAILS": "Nascondi dettagli",
+    "HOLDTIMEANNOUNCE": "Annuncio Tempo di Attesa",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Inattivo",
+    "IN": "Ingresso",
+    "INBOUNDROUTES": "Rotte Inbound",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Inserisci qui il messaggio",
+    "INTEGRATIONS": "Integrazioni",
+    "INTERACTION": "Interazione",
+    "INTERACTIONS": "Interazioni",
+    "INTERNAL": "Interno",
+    "INTERNALDIAL": "Dial Interna",
+    "INTERNALROUTES": "Rotte Interne",
+    "INTERVAL": "Intervallo",
+    "INTERVALS": "Intervalli",
+    "INUSE": "In uso",
+    "INVALID": "Invalido",
+    "IN_USE": "In uso",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Chiave",
+    "LAGGED": "Ritardato",
+    "LANGUAGE": "Lingua",
+    "LASTMESSAGE": "Ultimo messaggio",
+    "LASTNAME": "Cognome",
+    "LEXREGION": "Regione",
+    "LIST": "Lista",
+    "LOGGED_IN": "Connesso",
+    "LOGIN_TIME": "Tempo di login",
+    "LOGO": "Logo",
+    "LOGOUT": "Logout",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Mailbox",
+    "MAILBOX@CONTEXT": "Mailbox@Contesto",
+    "MANDATORYDISPOSITION": "Disposizione obbligatoria",
+    "MANDATORYDISPOSITIONPAUSEID": "Pausa da utilizzare se è abilitata la disposizione obbligatoria",
+    "MAXLENGTH": "Lunghezza Massima",
+    "MAXMESSAGES": "Max Messaggi",
+    "MAXSECONDS": "Max Secondi",
+    "MAY": "Maggio",
+    "MEMBERDELAY": "Ritardo Agente",
+    "MESSAGE": "Messaggio",
+    "MESSAGES": "Messaggi",
+    "MESSAGESALIGNMENT": "Allineamento Messaggi",
+    "METHOD": "Metodo",
+    "METRIC": "Metrica",
+    "MINANNOUNCEFREQUENCY": "Frequenza Minima Annunci",
+    "MINUTEANNOUNCE": "Annuncio 'minuto'",
+    "MINUTESANNOUNCE": "Annuncio 'minuti'",
+    "MOBILE": "Cellulare",
+    "MODULES": "Moduli",
+    "MONITORFORMAT": "Formato Registrazione",
+    "MOTIONADDRESS": "Indirizzo Motion",
+    "MOTIONBAR": "Motion Bar",
+    "MOTIONDIALER": "Motion Bull Dialer",
+    "MOTIONPROXY": "Proxy O Dominio Motion",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musica di attesa",
+    "MUSICONHOLDS": "Musiche di Attesa",
+    "NAME": "Nome",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Nuovo ChanSpy",
+    "NEW_CONTACT": "Nuovo contatto",
+    "NEW_CONTEXT": "Nuovo Contesto",
+    "NEW_INBOUNDROUTE": "Nuova Rotta Inbound",
+    "NEW_INTERNALROUTE": "Nuova Rotta Interna",
+    "NEW_MUSICONHOLD": "Nuova Musica di attesa",
+    "NEW_OUTBOUNDROUTE": "Nuova Rotta Outbound",
+    "NEW_PROJECT": "Nuovo Progetto",
+    "NEW_TAG": "Nuovo Tag",
+    "NEW_VARIABLE": "Nuova Variabile",
+    "NEW_VOICEMAIL": "Nuova Casella Vocale",
+    "NEW_VOICEQUEUE": "Nuova Coda Voce",
+    "NO": "No",
+    "NONE": "Nessuno",
+    "NOOP": "Noop",
+    "NOTE": "Nota",
+    "NOTES": "Note",
+    "NOTIFICATION": "Notifica",
+    "NOTIFICATIONSHAKE": "Shake",
+    "NOTIFICATIONSOUND": "Suono",
+    "NOTIFICATIONTEMPLATE": "Template",
+    "NOT_INUSE": "Non in uso",
+    "NO_AGENT_ONLINE": "Nessun Agente Online",
+    "NO_APPS_AVAILABLE": "Nessuna applicazione disponibile",
+    "NO_AVAILABLE_INFO": "Nessuna informazione disponibile",
+    "NO_INTERACTION_AVAILABLE": "Nessuna interazione disponibile",
+    "NO_MESSAGE_AVAILABLE": "Nessun messaggio disponibile",
+    "NO_MOHSOUND_AVAILABLE": "Nessuna Musica di Attesa disponibile",
+    "NO_RATING": "Nessuna",
+    "NO_REGISTRY": "Nessuna registrazione",
+    "NO_SOUND_AVAILABLE": "Nessun suono disponibile",
+    "NUMBER": "Numero",
+    "OF": "di",
+    "ONHOLD": "In attesa",
+    "OPEN": "Apri",
+    "OPENCHANNEL": "Open Channel",
+    "OPENED": "Aperta",
+    "OPERATOR": "Operatore",
+    "OPTIONS": "Opzioni",
+    "ORIGINATED": "Generate",
+    "OTHERS": "Altro",
+    "OUT": "Uscita",
+    "OUTBOUNDDIAL": "Dial Outbound",
+    "OUTBOUNDROUTE": "Rotta Outbound",
+    "OUTBOUNDROUTES": "Rotte Outbound",
+    "OUTBOUND_CALLS": "Chiamate Outbound",
+    "OUTPUT": "Output",
+    "PAGE": "Pagina",
+    "PARTIALPAUSE": "Pausa Parziale",
+    "PASSWORD": "Password",
+    "PAUSE": "Pausa",
+    "PAUSED": "In pausa",
+    "PAUSE_TIME": "Tempo di pausa",
+    "PAYMENTMETHOD": "Metodo di pagamento",
+    "PENALTY": "Penalità",
+    "PENDING": "In Attesa",
+    "PERIODICANNOUNCE": "Annuncio Periodico",
+    "PERIODICANNOUNCEFREQUENCY": "Frequenza Annuncio Periodico",
+    "PERSONAL_INFO": "Info Personali",
+    "PHONE": "Telefono",
+    "PHONENUMBER": "Numero di Telefono",
+    "PHONE_STATE": "Stato Telefono",
+    "PHONE_STATUS": "Uso Telefono",
+    "PLAYBACK": "Playback",
+    "PLUGINS": "Plugins",
+    "PORT": "Porta",
+    "POSITION": "Posizione",
+    "PREFIX": "Prefisso",
+    "PRIORITY": "Priorità",
+    "PROJECT": "Progetto",
+    "PROJECTS": "Progetti",
+    "PROXY": "Proxy",
+    "QUEUE": "Coda",
+    "QUEUES": "Code",
+    "QUEUETRANSFER": "Trasferimento in coda",
+    "QUEUETRANSFERTIMEOUT": "Timeout del trasferimento della coda",
+    "QUEUE_PARAMETERS": "Parametri Code",
+    "RANDOM": "Casuale",
+    "RATING": "Valutazione",
+    "REACHABLE": "Raggiungibile",
+    "READY": "Ready",
+    "REALTIME": "Realtime",
+    "RECALLME": "Recall Me",
+    "RECEIVED_AT": "Ricevuto il",
+    "RECORD": "Registra",
+    "RECORDING": "Registrazione",
+    "RECORDINGFORMAT": "Formato Registrazione",
+    "RECORDINGS": "Registrazioni",
+    "REFRESH_INTERACTIONS": "Ricarica Interazioni",
+    "REGISTERED": "Registrato",
+    "REGISTRY": "Registrazione",
+    "REJECT": "Rifiuta",
+    "REJECTED": "Rifiutata",
+    "REJECTMETHOD": "Metodo Rifiuta",
+    "REJECTURL": "URL Rifiuta",
+    "RELOAD": "Ricaricare",
+    "REPLY": "Rispondi",
+    "REPORT": "Report",
+    "REPORTHOLDTIMEAGENT": "Riferisci tempo di attesa agente",
+    "RETRY": "Riprova",
+    "RING": "Squilla",
+    "RINGGROUP": "Ring Group",
+    "RINGING": "Squilla",
+    "ROWSPERPAGE": "Righe per pagina",
+    "RULE": "Regola",
+    "SAVE": "Salva",
+    "SCHEDULED_CALLS": "Chiamate Schedulate",
+    "SCRIPT": "Script",
+    "SEARCH_FOR_ANYONE": "Cerca",
+    "SECONDSANNOUNCE": "Annuncio 'secondi'",
+    "SECRETACCESSKEY": "Secret Access Key",
+    "SECURITY_SUITE": "Suite Sicurezza",
+    "SELECTED": "Selezionati",
+    "SELECTED_AGENTS": "Agenti selezionati",
+    "SELECTED_TEAMS": "Team selezionati",
+    "SELECT_ACCOUNT": "Seleziona Account",
+    "SELECT_ALL": "Seleziona tutti",
+    "SELECT_NONE": "Deseleziona tutti",
+    "SELECT_STATUS": "Seleziona Stato",
+    "SEND": "Invia",
+    "SENDMAIL": "Invia Email",
+    "SENTIMENTANALYSIS": "Sentiment Analysis",
+    "SERVICE": "Servizio",
+    "SESSIONS": "Sessioni",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Imposta Variabili d'interfaccia",
+    "SETQUEUEENTRYVARIABLES": "Imposta Variabili di entrata in Coda",
+    "SETQUEUEVARIABLES": "Imposta Variabili di Coda",
+    "SETTINGS": "Impostazioni",
+    "SHOW_ALL_FIELDS": "Mostra tutti i campi",
+    "SHOW_DETAILS": "Mostra dettagli",
+    "SMS": "Sms",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Host SMTP",
+    "SMTP_PORT": "Porta SMTP",
+    "SOCIAL": "Social",
+    "SORT": "Ordine",
+    "SOURCE": "Sorgente",
+    "SPYINTERACTION": "Spia",
+    "STAFF": "Staff",
+    "STARTEDAT": "Iniziata il",
+    "STARTTIME": "Ora di avvio",
+    "STATE": "Stato",
+    "STATUS": "Stato",
+    "STRATEGY": "Strategia",
+    "SUBJECT": "Oggetto",
+    "SYSTEM": "System",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Attive",
+    "TEAMS_ASSOCIATION": "Associazione Teams",
+    "TECHNOLOGY/RESOURCE": "Tecnologia/Risorsa",
+    "TELEPHONES": "Telefoni",
+    "TEMPLATE": "Template",
+    "TEXT": "Testo",
+    "THANKYOUANNOUNCE": "Annuncio 'Grazie'",
+    "THEREAREANNOUNCE": "Annuncio 'Ci sono'",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Riavvia Timeout",
+    "TIMER": "Tempo",
+    "TIMES": "Numero di volte per interazione",
+    "TIMEZONE": "Fuso Orario",
+    "TO": "A",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Registrazione dello schermo disponibile",
+    "TOOLTIP_SCREENRECORDING_ON": "Registrazione dello schermo in corso",
+    "TOTAL": "Totale",
+    "TOTAL_OFFERED": "Totali",
+    "TRANSCRIBE": "Transcribe",
+    "TRANSFER": "Trasferimento",
+    "TRANSPORT": "Protocollo",
+    "TRUEPRIORITY": "Priorità per condizione vera",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunk",
+    "TRUNK_STATUS": "Lo stato della linea",
+    "TYPE": "Tipo",
+    "UNAVAILABLE": "Non disponibile",
+    "UNIQUEID": "Unique ID",
+    "UNKNOWN": "Sconosciuto",
+    "UNMANAGED": "Non gestite",
+    "UNPAUSE": "Riprendi",
+    "UNREACHABLE": "Irraggiungibile",
+    "UNREGISTERED": "Non registrato",
+    "UP": "Risposto",
+    "UPDATE": "Aggiorna",
+    "URL": "URL",
+    "USER": "Utente",
+    "USERNAME": "Username",
+    "USERS": "Utenti",
+    "VALUE": "Valore",
+    "VARIABLE": "Variabile",
+    "VIDAOOSESSION": "Avvia videochiamata",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video support",
+    "VOICE": "Voce",
+    "VOICEMAIL": "Casella Vocale",
+    "VOICEMAILS": "Caselle Vocali",
+    "VOICEMAIL_CONTEXT": "Contesto",
+    "VOICEQUEUES": "Code Voce",
+    "VOICERECORDINGS": "Registrazioni Voce",
+    "WAITFORTHEASSIGNEDAGENT": "Attendi l'agente assegnato",
+    "WAITING": "In attesa",
+    "WAITINGCALLSANNOUNCE": "Annuncio Chiamate in Attesa",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Sito Web",
+    "WEIGHT": "Peso",
+    "WELCOMEMESSAGE": "Messaggio di benvenuto",
+    "WHATSAPP": "WhatsApp Connector",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Wrapup Time",
+    "WRONG_EXTENSION": "Il file presenta un'estensione errata",
+    "YES": "Si",
+    "YOUARENEXTANNOUNCE": "Annuncio 'Sei il prossimo'"
+  }
+}
diff --git a/public/app/main/i18n/pl.json b/public/app/main/i18n/pl.json
new file mode 100644
index 0000000..b89423a
--- /dev/null
+++ b/public/app/main/i18n/pl.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Porzucone",
+    "ABANDONEDCALLS": "Abandoned Queue Calls",
+    "ABANDONED_CALLS": "Połączenia porzucone",
+    "ACCEPT": "Akceptuj",
+    "ACCEPTMETHOD": "Zaakceptuj metodę",
+    "ACCEPTURL": "Zaakceptuj URL",
+    "ACCESSKEYID": "Identyfikator klucza dostępu",
+    "ACCOUNT": "Konto",
+    "ACCOUNTNAME": "Nazwa konta",
+    "ACCOUNTS": "Kont",
+    "ACCOUNTSID": "Identyfikator SID konta",
+    "ACTIONS": "Działania",
+    "ACTIVE": "Aktywny",
+    "ADD": "Dodaj",
+    "ADDRESS": "Adres",
+    "ADD_AGENT_TO_VOICEQUEUE": "Dodaj agenta do kolejki połączeń głosowych",
+    "ADD_CHANSPY": "Dodaj ChanSpy",
+    "ADD_CONTACT": "Dodaj kontakt",
+    "ADD_CONTEXT": "Dodać kontekst",
+    "ADD_INBOUNDROUTE": "Dodaj nadchodząca trasa",
+    "ADD_INTERNALROUTE": "Dodaj trasy wewnętrzne",
+    "ADD_MOHSOUND": "Dodaj Music on Hold sound",
+    "ADD_MUSICONHOLD": "Dodaj Music on Hold",
+    "ADD_NOTE": "Dodaj notatkę",
+    "ADD_OUTBOUNDROUTE": "Dodaj trasę wyjazdową",
+    "ADD_PROJECT": "Dodaj projekt",
+    "ADD_TAG": "Dodaj oznaczenie",
+    "ADD_TEAM_TO_VOICEQUEUE": "Dodaj Team do kolejki połączeń głosowych",
+    "ADD_VARIABLE": "Dodaj zmienne",
+    "ADD_VOICEMAIL": "Dodaj poczta głosowa",
+    "ADD_VOICEQUEUE": "Dodaj głos kolejki",
+    "ADVANCED": "Zaawansowane",
+    "AFTERCALLWORK": "Po ukończeniu czynności",
+    "AFTERCALLWORKDURATION": "Po ukończeniu czynności czas trwania",
+    "AGENT": "Agent",
+    "AGENTS": "Agenci",
+    "AGENTSADD_QUEUE": "Dodawanie agentów do kolejki połączeń głosowych",
+    "AGENTTRANSFER": "Przeniesienie agenta",
+    "AGENTTRANSFERTIMEOUT": "Limit czasu przeniesienia agenta",
+    "AGENT_TIMEOUT": "Agent Timeout",
+    "AGI": "Agi",
+    "ALIAS": "Alias",
+    "ALL": "Wszystkie",
+    "ALLOWCODECS": "Dozwolone kodeki",
+    "ALL_AGENTS": "Wszyscy agenci",
+    "ALL_TEAMS": "Wszystkie zespoły",
+    "ALL_USERS": "Wszyscy użytkownicy",
+    "ALPHABETICAL": "Alfabetyczne",
+    "ALWAYS": "Zawsze",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Informujemy rozmówcę stanowiska",
+    "ANNOUNCEFREQUENCY": "Częstotliwość ogłaszania",
+    "ANNOUNCEHOLDTIME": "Ogłosić czas fazy docisku",
+    "ANNOUNCEMENTS": "Komunikaty",
+    "ANNOUNCEPOSITIONLIMIT": "Ogłosić granica położenia",
+    "ANNOUNCETOAGENT": "Poinformowania agenta",
+    "ANNOUNCE_OVERRIDES": "Ogłosić nadrzędne",
+    "ANSWER": "Odpowiedz",
+    "ANSWERED": "Odebrane",
+    "API": "API",
+    "APIKEY": "Klucz Api",
+    "APPLICATION": "Aplikacja",
+    "APPLICATION_NAME": "Nazwa aplikacji",
+    "ARGUMENTS": "Argumenty",
+    "ATTACH": "Dołącz",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Pliki dźwiękowe",
+    "AUDIO_FILES": "Pliki dźwiękowe",
+    "AUTH": "Autoryz",
+    "AUTHTOKEN": "Znacznik autoryzacji",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Odpowiedź automatyczna",
+    "AVG_BILLABLE": "Avg fakturowanych",
+    "AVG_HOLD_TIME": "Średni czas wstrzymywania",
+    "BACK": "Powrót",
+    "BLACKLIST": "Czarna lista",
+    "BODY": "Ciało",
+    "BOTNAME": "Nazwa bota",
+    "BUILDER": "Builder",
+    "BUSY": "Zajęty",
+    "CALLED": "Tzw.",
+    "CALLER": "Dzwoniący",
+    "CALLERID": "ID dzwoniącego",
+    "CALLER_ID": "ID dzwoniącego",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampania",
+    "CANCEL": "Anuluj",
+    "CANNEDANSWERS": "Konserwy odpowiedzi",
+    "CANNED_ANSWER_NOT_FOUND": "Brak odpowiedzi w puszkach znaleziono",
+    "CANNED_ANSWER_SEARCH": "Wprowadź tekst do wyszukania w puszkach odpowiedz",
+    "CANT_DOWNLOAD_THIS_FILE": "Nie można pobrać tego pliku",
+    "CAPACITY": "Pojemność",
+    "CHANNEL": "Kanał",
+    "CHANNELS": "Kanały",
+    "CHANSPIES": "ChanSpy",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Czat",
+    "CITY": "Miasto",
+    "CLEAR": "Jasny",
+    "CLOSE": "Blisko",
+    "CLOSED": "Zamknięty",
+    "CLOSEDAT": "Zamknięte",
+    "CLOSEMETHOD": "Metoda zamknij",
+    "CLOSEURL": "Zamknij URL",
+    "CLOSING": "Zamykanie",
+    "COMMAND": "Polecenie",
+    "COMPANIES": "Firmy",
+    "COMPANY": "Firma",
+    "CONDITION": "Stan",
+    "CONFIRM_PASSWORD": "Potwierdź hasło",
+    "CONNECTED": "Podłączony",
+    "CONTACT": "Kontakt",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Kontakty",
+    "CONTENT": "Zawartość",
+    "CONTEXT": "Kontekst",
+    "CONTEXTS": "Konteksty",
+    "COUNTRY": "Kraj",
+    "CREATED_AT": "Utworzone w",
+    "CUSTOM": "Niestandardowe",
+    "CUSTOMER_JOURNEY": "Podróż klienta",
+    "CUSTOM_FIELDS": "Pola niestandardowe",
+    "CUTDIGITS": "Wytnij cyfry",
+    "DASHBOARD": "Deska rozdzielcza",
+    "DATE": "Data",
+    "DATE_OF_BIRTH": "Data urodzenia",
+    "DEFAULT": "Domyślne",
+    "DEFAULT_PAUSE": "Domyślnie pauza",
+    "DELETE": "Usuń",
+    "DELETE_APP": "Usuwanie aplikacji",
+    "DELETE_CHANSPY": "Usuń ChanSpy",
+    "DELETE_CONTEXT": "Usuwanie kontekstu",
+    "DELETE_HOPPER": "Usuń leja zasypowego",
+    "DELETE_INBOUNDROUTE": "Usuń nadchodząca trasa",
+    "DELETE_INTERACTION": "Usuń interakcję",
+    "DELETE_INTERNALROUTE": "Usuń trasy wewnętrzne",
+    "DELETE_MOHSOUND": "Usuń Music on Hold sound",
+    "DELETE_MUSICONHOLD": "Usuń Music on Hold",
+    "DELETE_OUTBOUNDROUTE": "Usunąć wychodzący trasy",
+    "DELETE_PROJECT": "Usuń projekt",
+    "DELETE_SELECTED": "Usuń zaznaczone",
+    "DELETE_VOICEDISPOSITION": "Usunąć Głos Dyspozycja",
+    "DELETE_VOICEMAIL": "Usuwanie poczty głosowej",
+    "DELETE_VOICEQUEUE": "Usuwanie kolejki głosu",
+    "DELETE_VOICERECORDING": "Usuń nagrania głosowego.",
+    "DELIVERYREPORTURL": "Adres URL raportu dostawy",
+    "DESCRIPTION": "Opis",
+    "DESTINATION": "Miejsce docelowe",
+    "DESTINATIONPATTERN": "Docelowy plan",
+    "DETAIL": "Szczegół",
+    "DETAILS": "Detale",
+    "DIAL": "Dial",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "Nie",
+    "DIRECTORY": "Katalog",
+    "DISABLED": "Wyłączone",
+    "DISPOSITION": "Dyspozycja",
+    "DISPOSITIONS": "Dyspozycje",
+    "DOWNLOAD": "Ściągnij",
+    "DOWNLOAD_INTERACTION": "Ściągnij",
+    "DOWNLOAD_MOHSOUND": "Download Music on Hold sound",
+    "DOWNLOAD_VOICERECORDING": "Pobierz nagranie głosu",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Pobierz bez załącznika",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Pobierz bez załączników",
+    "DOWNLOAD_WITH_ATTACHMENT": "Pobierz z załącznikiem",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Pobierz z załącznikami",
+    "DROPPED": "Odrzucony",
+    "DROP_TO_UPLOAD": "Drop do przesłania",
+    "DURATION": "Czas trwania",
+    "EDIT": "Edytuj",
+    "EDIT_AGENT": "Edytuj agenta",
+    "EDIT_AGI": "Edit AGI",
+    "EDIT_AMAZONLEX": "Edytuj konfigurację Lex",
+    "EDIT_APP": "Edycja aplikacji",
+    "EDIT_AUTOREPLY": "Edycja automatycznej odpowiedzi",
+    "EDIT_CHANSPY": "Edit ChanSpy",
+    "EDIT_CLOSE": "Edit Zamknij",
+    "EDIT_CONTEXT": "Edytuj kontekst",
+    "EDIT_CUSTOM": "Edytuj niestandardowe",
+    "EDIT_DIAL": "Edit Dial",
+    "EDIT_DIALOGFLOW": "Edytuj konfigurację Dialogflow",
+    "EDIT_EXTERNALDIAL": "Edycja zewnętrznych Dial",
+    "EDIT_GOTO": "Edit GoTo",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit GotoP",
+    "EDIT_HANGUP": "Edit Hangup",
+    "EDIT_HOPPER": "Edit leja zasypowego",
+    "EDIT_INBOUNDROUTE": "Edycja nadchodząca trasa",
+    "EDIT_INTERNALDIAL": "Edytuj Wewnętrzna Dial",
+    "EDIT_INTERNALROUTE": "Edycja trasy wewnętrzne",
+    "EDIT_INTERVAL": "Edit odcinkiem",
+    "EDIT_MUSICONHOLD": "Edycja Music on Hold",
+    "EDIT_NOOP": "Noop edytuj",
+    "EDIT_OUTBOUNDROUTE": "Edycja trasy wychodzące",
+    "EDIT_PLAYBACK": "Edytuj odtwarzanie",
+    "EDIT_PROJECT": "Edycja projektu",
+    "EDIT_QUEUE": "Edycja kolejka",
+    "EDIT_RINGGROUP": "Edytuj grupa pierścieni",
+    "EDIT_SET": "Edycja ustawienia",
+    "EDIT_SYSTEM": "Edytuj system",
+    "EDIT_TAG": "Edytuj tag",
+    "EDIT_TRUNK": "Edycja łącza trunkingowego",
+    "EDIT_VOICEDISPOSITION": "Edycja dyspozycji głosowej",
+    "EDIT_VOICEMAIL": "Edycja wiadomości poczty głosowej",
+    "EDIT_VOICEQUEUE": "Edycja głosu kolejki",
+    "EDIT_VOICERECORDING": "Edycja nagrywania głosu",
+    "EMAIL": "Wiadomości e-mail",
+    "EMAILADDRESS": "Adres e-mail",
+    "EMAILBODY": "Treść wiadomości e-mail",
+    "EMAILSUBJECT": "Temat wiadomości e-mail",
+    "ENABLED": "Włączona",
+    "ENCRYPTION": "Szyfrowanie",
+    "ENDTIME": "Czas zakończenia",
+    "ENVELOPE": "Koperta",
+    "EQUALS": "Równa się",
+    "ERROR": "Błąd",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Zły format",
+      "ACCESSKEYID_REQUIRED": "Wymagany jest identyfikator klucza dostępu",
+      "ACCOUNTNAME_REQUIRED": "Pole obowiązkowe",
+      "ACCOUNTSID_REQUIRED": "Pole obowiązkowe",
+      "AFTERCALLWORKDURATION_REQUIRED": "Pole obowiązkowe",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
+      "AGENT_REQUIRED": "Pole obowiązkowe",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+      "AGENT_TIMEOUT_REQUIRED": "Pole obowiązkowe",
+      "ALIAS_REQUIRED": "Pole obowiązkowe",
+      "APIKEY_REQUIRED": "Pole obowiązkowe",
+      "APPLICATION_REQUIRED": "Pole obowiązkowe",
+      "AUTHTOKEN_REQUIRED": "Pole obowiązkowe",
+      "BOTNAME_REQUIRED": "Nazwa bota jest wymagana",
+      "CLOSEURL_MUST_VALID_URL": "Zły format",
+      "COMMAND_REQUIRED": "Pole obowiązkowe",
+      "CONDITION_REQUIRED": "Pole obowiązkowe",
+      "CONFIRM_NOT_MATCH": "Hasła nie zgadzają się",
+      "CONTENT_REQUIRED": "Pole obowiązkowe",
+      "CONTEXT_REQUIRED": "Pole obowiązkowe",
+      "DESTINATIONPATTERN_REQUIRED": "Pole obowiązkowe",
+      "DISPOSITION_REQUIRED": "Pole obowiązkowe",
+      "EMAIL_MUST_VALID": "Zły format",
+      "EMAIL_REQUIRED": "Pole obowiązkowe",
+      "EXTENSION_REQUIRED": "Pole obowiązkowe",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "FALSEPRIORITY_REQUIRED": "Pole obowiązkowe",
+      "FIELD_REQUIRED": "Pole obowiązkowe",
+      "FIRSTNAME_REQUIRED": "Pole obowiązkowe",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "FONTSIZE_REQUIRED": "Pole obowiązkowe",
+      "FULLNAME_REQUIRED": "Pole obowiązkowe",
+      "HOST_REQUIRED": "Pole obowiązkowe",
+      "KEY_MAX_LENGTH": "Klucz musi mieć maksymalną długość równa {{max}}",
+      "KEY_REQUIRED": "Pole obowiązkowe",
+      "LIST_REQUIRED": "Pole obowiązkowe",
+      "MAILBOX_REQUIRED": "Pole obowiązkowe",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe",
+      "METHOD_REQUIRED": "Pole obowiązkowe",
+      "MOTIONADDRESS_MUST_VALID_URL": "Zły format",
+      "MOTIONADDRESS_REQUIRED": "Pole obowiązkowe",
+      "MOTIONPROXY_MUST_VALID_URL": "Zły format",
+      "MOTIONPROXY_REQUIRED": "Pole obowiązkowe",
+      "NAME_MUST_VALID_PATTERN": "Zły format",
+      "NAME_REQUIRED": "Pole obowiązkowe",
+      "OPTIONS_REQUIRED": "Pole obowiązkowe",
+      "OUTBOUNDROUTE_REQUIRED": "Pole obowiązkowe",
+      "PASSWORD_REQUIRED": "Pole obowiązkowe",
+      "PHONENUMBER_REQUIRED": "Pole obowiązkowe",
+      "PHONE_REQUIRED": "Pole obowiązkowe",
+      "PREFIX_REQUIRED": "Pole obowiązkowe",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "PRIORITY_REQUIRED": "Pole obowiązkowe",
+      "PROJECT_REQUIRED": "Pole obowiązkowe",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe",
+      "QUEUE_REQUIRED": "Pole obowiązkowe",
+      "REJECTURL_MUST_VALID_URL": "Zły format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "SECRETACCESSKEY_REQUIRED": "Pole obowiązkowe",
+      "SENDERSTRING_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Zły format",
+      "SID_REQUIRED": "SID jest wymagane",
+      "TAG_REQUIRED": "Pole obowiązkowe",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Pole obowiązkowe",
+      "TEXT_MAX_LENGTH": "Wartość musi mieć maksymalną długość równą {{max}}",
+      "TEXT_REQUIRED": "Pole obowiązkowe",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+      "TIMEOUT_REQUIRED": "Pole obowiązkowe",
+      "TIMEZONE_REQUIRED": "Pole obowiązkowe",
+      "TOKEN_REQUIRED": "Pole obowiązkowe",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "TRUEPRIORITY_REQUIRED": "Pole obowiązkowe",
+      "TRUNK_REQUIRED": "Pole obowiązkowe",
+      "TYPE_REQUIRED": "Pole obowiązkowe",
+      "URL_REQUIRED": "Pole obowiązkowe",
+      "USERNAME_REQUIRED": "Pole obowiązkowe",
+      "VALUE_REQUIRED": "Pole obowiązkowe",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Pole obowiązkowe",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Szacowany czas ogłosić",
+    "EXTENSION": "Rozszerzenie",
+    "EXTERNALDIAL": "Zewnętrzny czujnik zegarowy",
+    "FAILED": "Nie powiodło się",
+    "FALSEPRIORITY": "Fałszywe priorytet",
+    "FAX": "Fax",
+    "FIDELITY": "Wierność",
+    "FIELD": "Pole",
+    "FIELDS": "Pola",
+    "FILE": "Plik",
+    "FILE_NOT_FOUND": "Nie znaleziono pliku",
+    "FILTER": "Filtr",
+    "FILTERS": "Filtry",
+    "FINISH": "Zakończ",
+    "FONTSIZE": "Rozmiar czcionki",
+    "FORMAT": "Format",
+    "FREE": "Wolny",
+    "FROM": "Od",
+    "FULLNAME": "Pełna nazwa",
+    "GENERAL": "Ogólne",
+    "GLOBAL": "Globalne",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Hangup",
+    "HANGUPCAUSE_1": "1 = numer nieprzypisane",
+    "HANGUPCAUSE_16": "16 = Normail wezwania kasowanie",
+    "HANGUPCAUSE_17": "17 = Użytkownik zajęty",
+    "HANGUPCAUSE_18": "18 = Brak reakcji użytkownika (telehone urządzenie nie podłączone)",
+    "HANGUPCAUSE_21": "21 = Połączenie odrzucone",
+    "HANGUPCAUSE_22": "22 = Zmienił się numer",
+    "HANGUPCAUSE_27": "27 = złej kolejności",
+    "HANGUPCAUSE_38": "38 = sieć nie działa.",
+    "HANGUPCAUSE_41": "41 = chwilowa awaria",
+    "HANGUP_CAUSE": "Hangup przyczyna",
+    "HEADERS": "Nagłówki",
+    "HELP": {
+      "AFTERCALLWORK": "Jeśli opcja jest włączona, agent będzie ustawiony na pauzy po zakończeniu połączenia",
+      "AFTERCALLWORKDURATION": "Długość pauzy wyzwalany po wywołaniu opcji pracy",
+      "ANNOUNCECALLERPOSITION": "Służy do określenia, czy rozmówcy pozycję w kolejce powinno być ogłoszone: Nr=Nie; tak=zawsze; limit=tylko wtedy, gdy konieczne jest w ramach limitu określonego przez ogłosić-stanowisko-limit; więcej= tylko wtedy, gdy jest powyżej wartości określonej przez ogłosić-stanowisko-limit",
+      "ANNOUNCEHOLDTIME": "Ateistyczną szacowany czas podtrzymania wraz z okresowym zapowiedzi (Tak/Nie/Po)",
+      "ANNOUNCETOAGENT": "Play to zapowiedź do agenta, odpowiadając na wezwanie (zazwyczaj do niech wiedzą co kolejka rozmówców pochodzi z)",
+      "CONTEXT": "Pozwala rozmówcy, aby wyjść z kolejki przez naciśnięcie pojedynczego DTMF cyfra. Jeśli kontekst jest określona i dzwoniący dostaje numer, że cyfra będzie próbować być dopasowywana w kontekście określonego i dialplan wykonanie będzie nadal dostępna",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"aktualny szacowany czas podtrzymania\". Niedookreślona=brak zapowiedzi",
+      "HOLDTIMEANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"hold time\". Niedookreślona=brak zapowiedzi",
+      "LIST": "Contact Manager Lista służy do wiązania kontaktów",
+      "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
+      "MANDATORYDISPOSITIONPAUSEID": "Wstrzymaj status, aby ustawić podczas obowiązkowej dyspozycji",
+      "MEMBERDELAY": "Wstawia zwłoki przed rozmówcy i agent w kolejce get connected",
+      "MINANNOUNCEFREQUENCY": "Minimalna częstotliwość ogłoszenie (przydatne, gdy rozmówcy pozycja zmienia się często)",
+      "MINUTEANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"min\". Niedookreślona=brak zapowiedzi",
+      "MINUTESANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"min\". Niedookreślona=brak zapowiedzi",
+      "MONITORFORMAT": "Określa format pliku do wykorzystania podczas nagrywania. Jeśli monitor belinea jest aktywna, połączenia przychodzące nie będą rejestrowane",
+      "MOTIONPROXY": "Pole musi mieć następujący format: <protokół>://<ipaddress>[:<port>]. Przykład: https://X.Y.Z.W",
+      "MUSICONHOLD": "Dobiera muzykę do klasy dla danej kolejki",
+      "NAME": "Tylko cyfry, litery i znaki specjalne (._) są obsługiwane",
+      "PERIODICANNOUNCE": "Zestaw okresowe komunikaty odtwarzane są (w kolejności)",
+      "PERIODICANNOUNCEFREQUENCY": "Częstotliwość okresowych komunikaty rozmówcy",
+      "RECORDING": "Włącz nagrywanie rozmów",
+      "REPORTHOLDTIMEAGENT": "Umożliwia zgłoszenie rozmówcy hold time agent w kolejce przed nawiązaniem połączenia",
+      "RINGINUSE": "Aby uniknąć/zezwalaj na wysyłanie zaproszeń do członków, których stan jest w użyciu.",
+      "SECONDSANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"s\". Niedookreślona=brak zapowiedzi",
+      "THANKYOUANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"Dziękujemy za cierpliwość\". Niedookreślona=brak zapowiedzi",
+      "THEREAREANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"istnieją\". Niedookreślona=brak zapowiedzi",
+      "TIMEOUTRESTART": "Jeśli tak, to wyzerowanie timeout dla agenta do odpowiedzi kiedy albo zajęty lub przeciążenia stan jest odbierany z kanału",
+      "TYPE": "Ustala SIP roli w gwiazdki. Użytkownik: używane do uwierzytelniania przychodzące - Peer: dla połączeń wychodzących - przyjaciela: obejmuje zarówno charakterystyki powyżej.",
+      "VOICEMAIL_CONTEXT": "Kontekście względne wydłużenie",
+      "WAITINGCALLSANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"połączenia oczekującego\". Niedookreślona=brak zapowiedzi",
+      "WELCOMEMESSAGE": "To pierwsza wiadomość wysłana do stycznika",
+      "YOUARENEXTANNOUNCE": "Wybierz Dźwięk zdefiniowane w oknie narzędzia. Default=\"jestes pierwszy w kolejce\". Niedookreślona=brak zapowiedzi"
+    },
+    "HIDE_DETAILS": "Ukryj szczegóły",
+    "HOLDTIMEANNOUNCE": "Czas podtrzymania zapowiadają",
+    "HOST": "Hosta",
+    "ID": "Id",
+    "IDLE": "Na biegu jałowym",
+    "IN": "W",
+    "INBOUNDROUTES": "Inbound tras",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Tutaj wstaw wiadomość tekstową",
+    "INTEGRATIONS": "Całek",
+    "INTERACTION": "Interakcja",
+    "INTERACTIONS": "Interakcje",
+    "INTERNAL": "Wewnętrzna",
+    "INTERNALDIAL": "Wewnętrzny czujnik zegarowy",
+    "INTERNALROUTES": "Trasy wewnętrzne",
+    "INTERVAL": "Okres międzyobsługowy",
+    "INTERVALS": "Okresy międzyobsługowe",
+    "INUSE": "W użyciu",
+    "INVALID": "Nieprawidłowy",
+    "IN_USE": "W użyciu",
+    "JOINWHENEMPTY": "Dołącz do pustego",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Klawisz",
+    "LAGGED": "Opóźnionymi",
+    "LANGUAGE": "Język",
+    "LASTMESSAGE": "Ostatnia wiadomość",
+    "LASTNAME": "Lastname",
+    "LAST_MONTH": "W zeszłym miesiącu",
+    "LEAVEWHENEMPTY": "Pozostawić pustego",
+    "LEXREGION": "Region",
+    "LIMITED": "Ograniczona",
+    "LIST": "Lista",
+    "LOGGED_IN": "Zalogowany SIP (podłączony)",
+    "LOGIN_TIME": "Czas logowania",
+    "LOGO": "Logo",
+    "LOGOUT": "Wyloguj",
+    "MACRO": "Makro",
+    "MAIL": "Poczta",
+    "MAILBOX": "Skrzynka pocztowa",
+    "MAILBOX@CONTEXT": "Skrzynka pocztowa@kontekst",
+    "MANAGED": "Zarządzane",
+    "MANDATORYDISPOSITION": "Dyspozycja obowiązkowa",
+    "MANDATORYDISPOSITIONPAUSEID": "Status wstrzymania obowiązkowego rozporządzania",
+    "MARK_AS_UNREAD": "Oznacz jako nieprzeczytane",
+    "MAXLENGTH": "Maksymalna długość",
+    "MAXMESSAGES": "Max wiadomości",
+    "MAXSECONDS": "Max s",
+    "MAY": "Może",
+    "MEMBERDELAY": "Państwa opóźnienia",
+    "MESSAGE": "Komunikat",
+    "MESSAGES": "Wiadomości",
+    "MESSAGESALIGNMENT": "Wyrównanie wiadomości",
+    "METHOD": "Metoda",
+    "METRIC": "Metryczny",
+    "MINANNOUNCEFREQUENCY": "Minimalna częstotliwość ogłaszania",
+    "MINUTEANNOUNCE": "Minutę zapowiadają",
+    "MINUTESANNOUNCE": "Minut ogłosić",
+    "MOBILE": "Mobile",
+    "MODULES": "Moduły",
+    "MOHSOUNDS": "Moh dźwięki",
+    "MONITORFORMAT": "Format nagrywania",
+    "MORE": "Więcej",
+    "MOTIONADDRESS": "Adres ruchu",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy lub domena",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Music on Hold",
+    "MUSICONHOLDS": "Music on Hold",
+    "NAME": "Nazwa",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Nowe ChanSpy",
+    "NEW_CONTACT": "Nowy kontakt",
+    "NEW_CONTEXT": "Nowy kontekst",
+    "NEW_INBOUNDROUTE": "Nowe przychodzące trasy",
+    "NEW_INTERNALROUTE": "Nowe trasy wewnętrzne",
+    "NEW_MUSICONHOLD": "New Music on Hold",
+    "NEW_OUTBOUNDROUTE": "Nowe trasy wychodzące",
+    "NEW_PROJECT": "Nowy projekt",
+    "NEW_TAB": "Nowa zakładka",
+    "NEW_TAG": "Nowy Tag",
+    "NEW_VARIABLE": "Nowa zmienna",
+    "NEW_VOICEMAIL": "Nowe wiadomości poczty głosowej",
+    "NEW_VOICEQUEUE": "Nowy głos w kolejce",
+    "NO": "Nr",
+    "NONE": "Brak",
+    "NOOP": "Noop",
+    "NOTE": "Uwaga",
+    "NOTES": "Notatki",
+    "NOTIFICATION": "Powiadomienie",
+    "NOTIFICATIONSHAKE": "Potrząsnąć",
+    "NOTIFICATIONSOUND": "Dźwięk",
+    "NOTIFICATIONTEMPLATE": "Szablon",
+    "NOT_INUSE": "Nie używany",
+    "NO_AGENT_ONLINE": "Żaden agent Online",
+    "NO_APPS_AVAILABLE": "Brak dostępnych aplikacji",
+    "NO_AVAILABLE_INFO": "Brak dostępnego Info",
+    "NO_INTERACTION_AVAILABLE": "Interakcje nie są dostępne",
+    "NO_MESSAGE_AVAILABLE": "Brak dostępnych wiadomości",
+    "NO_MOHSOUND_AVAILABLE": "No Music on Hold dostępne",
+    "NO_RATING": "Brak oceny",
+    "NO_REGISTRY": "Nr rejestru",
+    "NO_SOUND_AVAILABLE": "Żadne dźwięki dostępne",
+    "NUMBER": "Numer",
+    "OF": "O",
+    "ONHOLD": "Wstrzymane",
+    "OPEN": "Otwórz",
+    "OPENCHANNEL": "Wiekszość",
+    "OPENED": "Otwórz",
+    "OPERATOR": "Operator",
+    "OPTIONS": "Opcje",
+    "ORIGINATED": "Pochodzi",
+    "OTHERS": "Inni",
+    "OUT": "Na zewnątrz",
+    "OUTBOUNDDIAL": "Outbound Dial",
+    "OUTBOUNDROUTE": "Trasa wychodząca",
+    "OUTBOUNDROUTES": "Szlaki wychodzące",
+    "OUTBOUND_CALLS": "Połączeń wychodzących",
+    "OUTPUT": "Wyjście",
+    "PAGE": "Page",
+    "PARTIALPAUSE": "Częściowego wstrzymania",
+    "PASSWORD": "Hasło",
+    "PAUSE": "Pauza",
+    "PAUSED": "Wstrzymany",
+    "PAUSE_TIME": "Czas przerwy",
+    "PAYMENTMETHOD": "Metody Płatności",
+    "PENALTY": "Kara",
+    "PENDING": "Oczekujące",
+    "PERIODICANNOUNCE": "Okresowe ogłoszenia",
+    "PERIODICANNOUNCEFREQUENCY": "Okresowe informowanie o częstotliwości",
+    "PERSONAL_INFO": "Personal Info",
+    "PHONE": "Telefon komórkowy",
+    "PHONENUMBER": "Numer telefonu",
+    "PHONE_STATE": "Stan telefonu",
+    "PHONE_STATUS": "Stan telefonu",
+    "PLAYBACK": "Odtwarzanie",
+    "PLUGINS": "Wtyczki",
+    "PORT": "Port",
+    "POSITION": "Położenie",
+    "POSTALCODE": "Kod pocztowy",
+    "PREFIX": "Przedrostek",
+    "PREVIEW": "Podgląd",
+    "PRIORITY": "Priorytet",
+    "PROJECT": "Projekt Cally-Square",
+    "PROJECTS": "Projekty",
+    "PROXY": "Pełnomocnik",
+    "QUEUE": "Kolejka zadań",
+    "QUEUES": "Kolejek",
+    "QUEUETRANSFER": "Transfer kolejki",
+    "QUEUETRANSFERTIMEOUT": "Limit czasu oczekiwania na kolejkę",
+    "QUEUE_CALLS": "Kolejka połączeń",
+    "QUEUE_PARAMETERS": "Kolejka parametrów",
+    "QUEUE_PARAMS": "Kolejka parametrów",
+    "RANDOM": "Losowa",
+    "RANDOMPERIODICANNOUNCE": "Losowe ogłoszenie okresowe",
+    "RATING": "Znamionowa",
+    "REACHABLE": "Fontannę",
+    "READY": "Gotowe",
+    "REALTIME": "Realtime",
+    "RECALLME": "Przypominają mi",
+    "RECEIVED_AT": "Otrzymane na",
+    "RECEIVEURL": "Odbierz URL",
+    "RECORD": "Rekord",
+    "RECORDING": "Nagrywanie",
+    "RECORDINGFORMAT": "Format nagrywania",
+    "RECORDINGS": "Nagrania",
+    "REFRESH_INTERACTIONS": "Odśwież interakcje",
+    "REGISTERED": "Zarejestrowane",
+    "REGISTRY": "Rejestr",
+    "REJECT": "Odrzuć",
+    "REJECTED": "Odrzucony",
+    "REJECTMETHOD": "Odrzucają metodę",
+    "REJECTURL": "Odrzuć URL",
+    "RELOAD": "Przeladowanie softu",
+    "REPLY": "Odpowiedz",
+    "REPORT": "Raport",
+    "REPORTHOLDTIMEAGENT": "Raport Agenci - czas podtrzymania",
+    "RETRY": "Ponów",
+    "RING": "Pierścień uszczelniający",
+    "RINGGROUP": "Grupa pierścieni",
+    "RINGING": "Dzwonek.",
+    "RINGINUSE": "Pierścień w za",
+    "ROWSPERPAGE": "Wierszy na stronie",
+    "RULE": "Zasada",
+    "SAVE": "Zapisz",
+    "SCHEDULEDAT": "Zaplanowane na",
+    "SCHEDULED_CALLS": "Zaplanowane połączenia",
+    "SCREENRECORDING": "Zarządzaj nagrywaniem ekranu",
+    "SCRIPT": "Scenariusz",
+    "SEARCH_FOR_ANYONE": "Wyszukaj użytkowników",
+    "SECONDSANNOUNCE": "Sekundy zapowiadają",
+    "SECRETACCESSKEY": "Tajny klucz dostępu",
+    "SECURITY_SUITE": "Security Suite",
+    "SELECT": "Wybierz",
+    "SELECTED": "Wybrane",
+    "SELECTED_AGENTS": "Wybranych agentów",
+    "SELECTED_TEAMS": "Wybrane zespoły",
+    "SELECTED_USERS": "Wybrani użytkownicy",
+    "SELECT_ACCOUNT": "Wybierz konto",
+    "SELECT_ALL": "Zaznacz wszystkie",
+    "SELECT_DATE": "Wybierz opcję Data rozpoczęcia",
+    "SELECT_NONE": "Wybierz opcję Brak.",
+    "SELECT_STATUS": "Wybierz opcję Stan",
+    "SELECT_TYPE": "Wybierz rodzaj",
+    "SEND": "Wyślij",
+    "SENDMAIL": "Wyślij Maila",
+    "SENTIMENTANALYSIS": "Analiza nastrojów",
+    "SERVICE": "Usługa",
+    "SESSIONS": "Sesje",
+    "SET": "Ustaw",
+    "SETINTERFACEVARIABLES": "Ustaw zmienne interfejsu",
+    "SETQUEUEENTRYVARIABLES": "Ustawianie kolejki wpis zmiennych",
+    "SETQUEUEVARIABLES": "Ustawianie kolejki zmiennych",
+    "SETTINGS": "Ustawienia",
+    "SHOW_ALL_FIELDS": "Pokaż wszystkie pola",
+    "SHOW_DETAILS": "Pokaż szczegóły",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Hosta",
+    "SMTP_PORT": "Port",
+    "SOCIAL": "Społeczne",
+    "SORT": "Sortowanie",
+    "SOURCE": "Źródło",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Regulamin",
+    "STARTEDAT": "Rozpoczął się",
+    "STARTTIME": "Czas rozpoczęcia",
+    "START_SCREENRECORDING": "Rozpocznij nagrywanie ekranu",
+    "STATE": "Stan",
+    "STATUS": "Stan",
+    "STOP_SCREENRECORDING": "Zatrzymaj nagrywanie ekranu",
+    "STRATEGY": "Strategia",
+    "SUBJECT": "Przedmiot",
+    "SYSTEM": "System",
+    "TAG": "Etykietka",
+    "TAGS": "Tagi",
+    "TALKING": "W trakcie rozmowy",
+    "TEAMS_ASSOCIATION": "Stowarzyszenie zespołów",
+    "TECHNOLOGY/RESOURCE": "Technologia/Resource",
+    "TELEPHONES": "Telefony",
+    "TEMPLATE": "Szablon",
+    "TEXT": "Tekst",
+    "THANKYOUANNOUNCE": "\"Dziękujemy\" zapowiadają",
+    "THEREAREANNOUNCE": "\"Istnieją\" zapowiadają",
+    "TIMEOUT": "Limit czasu",
+    "TIMEOUTRESTART": "Czas startu",
+    "TIMER": "Minutnik",
+    "TIMES": "Wiele razy na interakcję",
+    "TIMEZONE": "Strefa czasowa",
+    "TO": "Do",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Dostępne nagrywanie ekranu",
+    "TOOLTIP_SCREENRECORDING_ON": "Trwa nagrywanie ekranu",
+    "TOTAL": "Całkowity",
+    "TOTAL_OFFERED": "Ogółem oferowana",
+    "TRANSCRIBE": "Rozpisać",
+    "TRANSFER": "Transfer",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "Prawdziwy priorytet",
+    "TRUNK": "Łącze trunkingowe",
+    "TRUNKS": "Kufry",
+    "TRUNK_STATUS": "Stan łącza trunkingowego",
+    "TYPE": "Typ",
+    "UNAVAILABLE": "Niedostępny",
+    "UNIQUEID": "Unikatowy identyfikator",
+    "UNKNOWN": "Nieznany",
+    "UNMANAGED": "Niezarządzani",
+    "UNPAUSE": "Koniec pauza",
+    "UNREACHABLE": "Nieosiągalne",
+    "UNREGISTERED": "Niezarejestrowany",
+    "UP": "W górę",
+    "UPDATE": "Aktualizacja",
+    "UPLOADING": "Przesyłanie",
+    "URL": "URL",
+    "USER": "Użytkownik",
+    "USERNAME": "Nazwa Użytkownika",
+    "USERS": "Użytkownicy",
+    "VALUE": "Wartość",
+    "VARIABLE": "Zmienna",
+    "VIDAOOSESSION": "Rozpocznij rozmowę wideo",
+    "VIDEO": "Wideo",
+    "VIDEOSUPPORT": "Obsługa wideo",
+    "VOICE": "Głos",
+    "VOICEMAIL": "Poczta głosowa",
+    "VOICEMAILS": "Wiadomości poczty głosowej",
+    "VOICEMAIL_CONTEXT": "Kontekst",
+    "VOICEQUEUES": "Głos kolejek",
+    "VOICERECORDINGS": "Nagrania głosowe",
+    "WAITFORTHEASSIGNEDAGENT": "Poczekaj na przypisanego agenta",
+    "WAITING": "Oczekiwanie",
+    "WAITINGCALLSANNOUNCE": "Czekanie wymaga poinformowania",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Strona internetowa",
+    "WEIGHT": "Waga",
+    "WELCOMEMESSAGE": "Powitanie Wiadomości",
+    "WHATSAPP": "Złącze WhatsApp",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Czas zakańczania",
+    "WRONG_EXTENSION": "Plik przedstawia nieprawidłowe rozszerzenie",
+    "YES": "Tak",
+    "YOUARENEXTANNOUNCE": "\"Next\" zapowiadają"
+  }
+}
diff --git a/public/app/main/i18n/pt-BR.json b/public/app/main/i18n/pt-BR.json
new file mode 100644
index 0000000..9a5bb78
--- /dev/null
+++ b/public/app/main/i18n/pt-BR.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Abandonadas",
+    "ABANDONEDCALLS": "Chamadas abandonadas",
+    "ABANDONED_CALLS": "Chamadas abandonadas",
+    "ACCEPT": "Aceitar",
+    "ACCEPTMETHOD": "Aceite o método",
+    "ACCEPTURL": "Aceitar URL",
+    "ACCESSKEYID": "ID da chave de acesso",
+    "ACCOUNT": "Conta",
+    "ACCOUNTNAME": "Nome da conta",
+    "ACCOUNTS": "Contas",
+    "ACCOUNTSID": "SID da conta",
+    "ACTIONS": "Ações",
+    "ACTIVE": "Ativo",
+    "ADD": "Adicionar",
+    "ADDRESS": "Endereço",
+    "ADD_AGENT_TO_VOICEQUEUE": "Adicionar agente à fila de voz",
+    "ADD_CHANSPY": "Adicionar Espião",
+    "ADD_CONTACT": "Adicionar Contato",
+    "ADD_CONTEXT": "Adicionar Contexto",
+    "ADD_INBOUNDROUTE": "Adicionar rota de entrada",
+    "ADD_INTERNALROUTE": "Adicionar rota interna",
+    "ADD_MOHSOUND": "Adicionar som de música em espera",
+    "ADD_MUSICONHOLD": "Adicionar música em espera",
+    "ADD_NOTE": "Adicionar nota",
+    "ADD_OUTBOUNDROUTE": "Adicionar rota de saída",
+    "ADD_PROJECT": "Adicionar Projeto",
+    "ADD_TAG": "Adicionar Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Adicionar equipe à fila de voz",
+    "ADD_VARIABLE": "Adicionar Variáveis",
+    "ADD_VOICEMAIL": "Adicionar correio de voz",
+    "ADD_VOICEQUEUE": "Adicionar fila de voz",
+    "ADVANCED": "Avançado",
+    "AFTERCALLWORK": "Pausa após ligação",
+    "AFTERCALLWORKDURATION": "Duração de pausa após ligação",
+    "AGENT": "Agente",
+    "AGENTS": "Agentes",
+    "AGENTSADD_QUEUE": "Adicionar agentes à fila de voz",
+    "AGENTTRANSFER": "Transferência de Agente",
+    "AGENTTRANSFERTIMEOUT": "Tempo limite de transferência do agente",
+    "AGENT_TIMEOUT": "Tempo limite do agente",
+    "AGI": "Agi",
+    "ALIAS": "Apelido",
+    "ALL": "Todos",
+    "ALLOWCODECS": "Codecs permitidos",
+    "ALL_AGENTS": "Todos os agentes",
+    "ALL_TEAMS": "Todas as equipes",
+    "ALL_USERS": "Todos os usuários",
+    "ALPHABETICAL": "Alfabético",
+    "ALWAYS": "Sempre",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Anunciar a posição do chamador",
+    "ANNOUNCEFREQUENCY": "Anunciar Frequência",
+    "ANNOUNCEHOLDTIME": "Anunciar tempo de espera",
+    "ANNOUNCEMENTS": "Anúncios",
+    "ANNOUNCEPOSITIONLIMIT": "Anunciar limite de posição",
+    "ANNOUNCETOAGENT": "Anunciar ao agente",
+    "ANNOUNCE_OVERRIDES": "Anunciar Substituto",
+    "ANSWER": "Responda",
+    "ANSWERED": "Respondidas",
+    "API": "API",
+    "APIKEY": "Api Key",
+    "APPLICATION": "Aplicação",
+    "APPLICATION_NAME": "Nome da Aplicação",
+    "ARGUMENTS": "Argumentos",
+    "ATTACH": "Anexar",
+    "AUDIO": "Audio",
+    "AUDIOFILES": "Arquivos de áudio",
+    "AUDIO_FILES": "Arquivos de áudio",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Token de Autorização",
+    "AUTOPAUSE": "Pausa Automática",
+    "AUTOREPLY": "Resposta automatica",
+    "AVG_BILLABLE": "Média faturável",
+    "AVG_HOLD_TIME": "Tempo médio de espera",
+    "BACK": "Voltar",
+    "BLACKLIST": "Lista negra",
+    "BODY": "Corpo",
+    "BOTNAME": "Nome do bot",
+    "BUILDER": "Builder",
+    "BUSY": "Ocupado",
+    "CALLED": "Chamado",
+    "CALLER": "Chamador",
+    "CALLERID": "Identificador de chamadas",
+    "CALLER_ID": "Identificador de chamadas",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Campanha",
+    "CANCEL": "Cancelar",
+    "CANNEDANSWERS": "Respostas prontas",
+    "CANNED_ANSWER_NOT_FOUND": "Nenhuma resposta predefinida foi encontrada",
+    "CANNED_ANSWER_SEARCH": "Digite um texto para pesquisar uma resposta automática",
+    "CANT_DOWNLOAD_THIS_FILE": "Não é possível baixar este arquivo",
+    "CAPACITY": "Capacidade",
+    "CHANNEL": "Canal",
+    "CHANNELS": "Channels",
+    "CHANSPIES": "Espião",
+    "CHANSPY": "Espião",
+    "CHAT": "Chat",
+    "CITY": "Cidade",
+    "CLEAR": "Livre",
+    "CLOSE": "Fechar",
+    "CLOSED": "Fechadas",
+    "CLOSEDAT": "Fechado em",
+    "CLOSEMETHOD": "Fechar Metodo",
+    "CLOSEURL": "Fechar URL",
+    "CLOSING": "Fechamento",
+    "COMMAND": "Comando",
+    "COMPANIES": "Empresas",
+    "COMPANY": "Empresa",
+    "CONDITION": "Condição",
+    "CONFIRM_PASSWORD": "Confirmar Senha",
+    "CONNECTED": "Conectado",
+    "CONTACT": "Contato",
+    "CONTACTMANAGER": "Gerenciador de contatos",
+    "CONTACTS": "Contatos",
+    "CONTENT": "Conteúdo",
+    "CONTEXT": "Contexto",
+    "CONTEXTS": "Contextos",
+    "COUNTRY": "País",
+    "CREATED_AT": "Criado em",
+    "CUSTOM": "Personalizadas",
+    "CUSTOMER_JOURNEY": "Jornada do Cliente",
+    "CUSTOM_FIELDS": "Os campos personalizados",
+    "CUTDIGITS": "Cut Digits",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Data",
+    "DATE_OF_BIRTH": "Data de aniversário",
+    "DEFAULT": "Padrão",
+    "DEFAULT_PAUSE": "PAUSA PADRÃO",
+    "DELETE": "Excluir",
+    "DELETE_APP": "Excluir aplicativo",
+    "DELETE_CHANSPY": "Excluir Espião",
+    "DELETE_CONTEXT": "Excluir contexto",
+    "DELETE_HOPPER": "Excluir Funil",
+    "DELETE_INBOUNDROUTE": "Excluir rota de entrada",
+    "DELETE_INTERACTION": "Excluir interação",
+    "DELETE_INTERNALROUTE": "Excluir rota interna",
+    "DELETE_MOHSOUND": "Excluir som de música em espera",
+    "DELETE_MUSICONHOLD": "Excluir música em espera",
+    "DELETE_OUTBOUNDROUTE": "Excluir rota de saída",
+    "DELETE_PROJECT": "Excluir Projeto",
+    "DELETE_SELECTED": "Excluir selecionado",
+    "DELETE_VOICEDISPOSITION": "Excluir disposição de voz",
+    "DELETE_VOICEMAIL": "Excluir correio de voz",
+    "DELETE_VOICEQUEUE": "Excluir fila de voz",
+    "DELETE_VOICERECORDING": "Excluir gravação de voz",
+    "DELIVERYREPORTURL": "URL do relatório de entrega",
+    "DESCRIPTION": "Descrição",
+    "DESTINATION": "Destino",
+    "DESTINATIONPATTERN": "Padrão de destino",
+    "DETAIL": "Detalhe",
+    "DETAILS": "Detalhes",
+    "DIAL": "Discar",
+    "DIALER": "Discador",
+    "DIALOGFLOW": "Fluxo de Diálogo",
+    "DID": "DID",
+    "DIRECTORY": "Diretório",
+    "DISABLED": "Desativado",
+    "DISPOSITION": "Disposição",
+    "DISPOSITIONS": "Disposições",
+    "DOWNLOAD": "Download",
+    "DOWNLOAD_INTERACTION": "Download",
+    "DOWNLOAD_MOHSOUND": "Download Musica do som em espera",
+    "DOWNLOAD_VOICERECORDING": "Download Gravação de Voz",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Download sem anexo",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download sem anexos",
+    "DOWNLOAD_WITH_ATTACHMENT": "Download com anexo",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download com anexos",
+    "DROPPED": "Desistiu",
+    "DROP_TO_UPLOAD": "Largar para fazer o upload",
+    "DURATION": "Duração",
+    "EDIT": "Editar",
+    "EDIT_AGENT": "Editar agente",
+    "EDIT_AGI": "Editar AGI",
+    "EDIT_AMAZONLEX": "Editar configuração de Lex",
+    "EDIT_APP": "Editar aplicativo",
+    "EDIT_AUTOREPLY": "Editar resposta automática",
+    "EDIT_CHANSPY": "Editar Espião",
+    "EDIT_CLOSE": "Editar Fechar",
+    "EDIT_CONTEXT": "Editar contexto",
+    "EDIT_CUSTOM": "Editar Customizado",
+    "EDIT_DIAL": "Editar discagem",
+    "EDIT_DIALOGFLOW": "Editar configuração do fluxo de diálogo",
+    "EDIT_EXTERNALDIAL": "Editar discagem externa",
+    "EDIT_GOTO": "Editar GoTo",
+    "EDIT_GOTOIF": "Editar GotoIf",
+    "EDIT_GOTOP": "Editar GotoP",
+    "EDIT_HANGUP": "Editar Hangup",
+    "EDIT_HOPPER": "Editar Funil",
+    "EDIT_INBOUNDROUTE": "Editar rota de entrada",
+    "EDIT_INTERNALDIAL": "Editar discagem interna",
+    "EDIT_INTERNALROUTE": "Editar rota interna",
+    "EDIT_INTERVAL": "Editar intervalo",
+    "EDIT_MUSICONHOLD": "Editar música em espera",
+    "EDIT_NOOP": "Editar Noop",
+    "EDIT_OUTBOUNDROUTE": "Editar rota de saída",
+    "EDIT_PLAYBACK": "Editar reprodução",
+    "EDIT_PROJECT": "Editar Projeto",
+    "EDIT_QUEUE": "Editar fila",
+    "EDIT_RINGGROUP": "Editar grupo de toques",
+    "EDIT_SET": "Editar conjunto",
+    "EDIT_SYSTEM": "Editar sistema",
+    "EDIT_TAG": "Editar Tag",
+    "EDIT_TRUNK": "Editar Tronco",
+    "EDIT_VOICEDISPOSITION": "Editar disposição de voz",
+    "EDIT_VOICEMAIL": "Editar correio de voz",
+    "EDIT_VOICEQUEUE": "Editar fila de voz",
+    "EDIT_VOICERECORDING": "Editar gravação de voz",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Endereço de e-mail",
+    "EMAILBODY": "Corpo do e-mail",
+    "EMAILSUBJECT": "Assunto do email",
+    "ENABLED": "Ativado",
+    "ENCRYPTION": "Encriptação",
+    "ENDTIME": "Hora final",
+    "ENVELOPE": "Envelope",
+    "EQUALS": "É igual a",
+    "ERROR": "Erro",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Wrong format",
+      "ACCESSKEYID_REQUIRED": "O código da chave de acesso é obrigatório",
+      "ACCOUNTNAME_REQUIRED": "Campo obrigatório",
+      "ACCOUNTSID_REQUIRED": "Campo Obrigatório",
+      "AFTERCALLWORKDURATION_REQUIRED": "Campo obrigatório",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "AGENT_REQUIRED": "Mandatory Field",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "AGENT_TIMEOUT_REQUIRED": "Mandatory Field",
+      "ALIAS_REQUIRED": "Campo obrigatório",
+      "APIKEY_REQUIRED": "Campo obrigatório",
+      "APPLICATION_REQUIRED": "Campo obrigatório",
+      "AUTHTOKEN_REQUIRED": "Campo obrigatório",
+      "BOTNAME_REQUIRED": "O nome do bot é obrigatório",
+      "CLOSEURL_MUST_VALID_URL": "Wrong format",
+      "COMMAND_REQUIRED": "Mandatory Field",
+      "CONDITION_REQUIRED": "Mandatory Field",
+      "CONFIRM_NOT_MATCH": "As senhas não combinam",
+      "CONTENT_REQUIRED": "Campo obrigatório",
+      "CONTEXT_REQUIRED": "Campo obrigatório",
+      "DESTINATIONPATTERN_REQUIRED": "Campo obrigatório",
+      "DISPOSITION_REQUIRED": "Mandatory Field",
+      "EMAIL_MUST_VALID": "Formato incorreto",
+      "EMAIL_REQUIRED": "Campo obrigatório",
+      "EXTENSION_REQUIRED": "Campo obrigatório",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "FALSEPRIORITY_REQUIRED": "Mandatory Field",
+      "FIELD_REQUIRED": "Campo obrigatório",
+      "FIRSTNAME_REQUIRED": "Campo obrigatório",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "FONTSIZE_REQUIRED": "Campo obrigatório",
+      "FULLNAME_REQUIRED": "Campo obrigatório",
+      "HOST_REQUIRED": "Mandatory Field",
+      "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}",
+      "KEY_REQUIRED": "Mandatory Field",
+      "LIST_REQUIRED": "Mandatory Field",
+      "MAILBOX_REQUIRED": "Campo obrigatório",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
+      "METHOD_REQUIRED": "Campo Obrigatório",
+      "MOTIONADDRESS_MUST_VALID_URL": "Formato incorreto",
+      "MOTIONADDRESS_REQUIRED": "Campo Obrigatório",
+      "MOTIONPROXY_MUST_VALID_URL": "Formato incorreto",
+      "MOTIONPROXY_REQUIRED": "Campo Obrigatório",
+      "NAME_MUST_VALID_PATTERN": "Formato incorreto",
+      "NAME_REQUIRED": "Campo obrigatório",
+      "OPTIONS_REQUIRED": "Campo obrigatório",
+      "OUTBOUNDROUTE_REQUIRED": "Campo obrigatório",
+      "PASSWORD_REQUIRED": "Campo obrigatório",
+      "PHONENUMBER_REQUIRED": "Campo obrigatório",
+      "PHONE_REQUIRED": "Campo obrigatório",
+      "PREFIX_REQUIRED": "Campo obrigatório",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "PRIORITY_REQUIRED": "Campo obrigatório",
+      "PROJECT_REQUIRED": "Campo obrigatório",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Mandatory Field",
+      "QUEUE_REQUIRED": "Mandatory Field",
+      "REJECTURL_MUST_VALID_URL": "Wrong format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "SECRETACCESSKEY_REQUIRED": "Campo obrigatório",
+      "SENDERSTRING_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Formato incorreto",
+      "SID_REQUIRED": "Campo Obrigatório",
+      "TAG_REQUIRED": "Mandatory Field",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Campo obrigatório",
+      "TEXT_MAX_LENGTH": "The value must have a maximum length equal to {{max}}",
+      "TEXT_REQUIRED": "Mandatory Field",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "TIMEOUT_REQUIRED": "Campo obrigatório",
+      "TIMEZONE_REQUIRED": "Campo obrigatório",
+      "TOKEN_REQUIRED": "Campo obrigatório",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "TRUEPRIORITY_REQUIRED": "Mandatory Field",
+      "TRUNK_REQUIRED": "Campo obrigatório",
+      "TYPE_REQUIRED": "Campo obrigatório",
+      "URL_REQUIRED": "Campo obrigatório",
+      "USERNAME_REQUIRED": "Campo obrigatório",
+      "VALUE_REQUIRED": "Campo obrigatório",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Mandatory Field",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Anuncio estimado em tempo de espera",
+    "EXTENSION": "Extensão",
+    "EXTERNALDIAL": "Discagem externa",
+    "FAILED": "Falhou",
+    "FALSEPRIORITY": "Falsa Prioridade",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelidade",
+    "FIELD": "Campo",
+    "FIELDS": "Campos",
+    "FILE": "Arquivo",
+    "FILE_NOT_FOUND": "Arquivo não encontrado",
+    "FILTER": "Filtro",
+    "FILTERS": "Filtros",
+    "FINISH": "Terminar",
+    "FONTSIZE": "Tamanho da fonte",
+    "FORMAT": "Formato",
+    "FREE": "Livre",
+    "FROM": "De",
+    "FULLNAME": "Nome completo",
+    "GENERAL": "Geral",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Desligar",
+    "HANGUPCAUSE_1": "1 = Número não alocado",
+    "HANGUPCAUSE_16": "16 = Limpeza de chamada normal",
+    "HANGUPCAUSE_17": "17 = Usuário ocupado",
+    "HANGUPCAUSE_18": "18 = Nenhuma resposta do usuário (dispositivo teleônico não conectado)",
+    "HANGUPCAUSE_21": "21 = Chamada rejeitada",
+    "HANGUPCAUSE_22": "22 = Número alterado",
+    "HANGUPCAUSE_27": "27 = Destino fora de ordem",
+    "HANGUPCAUSE_38": "38 = Rede fora de ordem",
+    "HANGUPCAUSE_41": "41 = Falha temporária",
+    "HANGUP_CAUSE": "Causa do desligamento",
+    "HEADERS": "Cabeçalhos",
+    "HELP": {
+      "AFTERCALLWORK": "Se ativado, o agente será definido em Pausar após concluir uma chamada",
+      "AFTERCALLWORKDURATION": "Comprimento de pausa acionado pela opção After Call Work",
+      "ANNOUNCECALLERPOSITION": "Usado para definir se a posição do chamador na fila deve ser anunciada: No = never; Sim = sempre; Limite = somente se estiver dentro do limite definido pelo limite de posição de anúncio; Mais = apenas se estiver além do valor definido pelo limite de posição de anúncio",
+      "ANNOUNCEHOLDTIME": "Reproduz o tempo de espera estimado junto com os anúncios periódicos (Sim / Não / Uma vez)",
+      "ANNOUNCETOAGENT": "Reproduzir um anúncio para o agente que atende a chamada (geralmente para que ele saiba de qual fila o chamador está vindo)",
+      "CONTEXT": "Permite que um chamador saia da fila pressionando um único dígito DTMF. Se um contexto for especificado e o chamador inserir um número, esse dígito tentará ser correspondido no contexto especificado e a execução da planta de discagem continuará lá.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “O tempo de espera estimado atual é“. Indefinido = sem anúncio",
+      "HOLDTIMEANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Tempo de Espera”. Indefinido = sem anúncio",
+      "LIST": "Lista de contatos do gerenciador usada para associar contatos",
+      "MANDATORYDISPOSITION": "Disposição obrigatória",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausar status para definir durante a disposição obrigatória",
+      "MEMBERDELAY": "Insere um atraso antes de o chamador e o agente na fila se conectarem",
+      "MINANNOUNCEFREQUENCY": "Frequência mínima de anúncio (útil quando a posição do chamador muda com frequência)",
+      "MINUTEANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “minuto”. Indefinido = sem anúncio",
+      "MINUTESANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “minutos”. Indefinido = sem anúncio",
+      "MONITORFORMAT": "Especifica o formato de arquivo a ser usado durante a gravação. Se o formato do monitor estiver inativo, as chamadas não serão gravadas",
+      "MOTIONPROXY": "O campo deve ter o seguinte formato: <protocol>: // <ipaddress> [: <port>]. Exemplo: https: //X.Y.Z.W",
+      "MUSICONHOLD": "Define a música a ser usada para uma fila específica",
+      "NAME": "Somente números, letras e caracteres específicos (._) são suportados",
+      "PERIODICANNOUNCE": "Conjunto de anúncios periódicos a serem reproduzidos (na ordem)",
+      "PERIODICANNOUNCEFREQUENCY": "Freqüência de anúncios periódicos para o chamador",
+      "RECORDING": "Ativar gravação de chamadas",
+      "REPORTHOLDTIMEAGENT": "Permite que o tempo de espera do chamador seja informado ao agente na fila antes da conexão",
+      "RINGINUSE": "Para evitar / permitir o envio de chamadas para membros cujo status é Em uso",
+      "SECONDSANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “segundos”. Indefinido = sem anúncio",
+      "THANKYOUANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Obrigado pela sua paciência”. Indefinido = sem anúncio",
+      "THEREAREANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Existem”. Indefinido = sem anúncio",
+      "TIMEOUTRESTART": "Se sim, isso redefine o tempo limite para um agente responder quando um status OCUPADO ou CONGESTIONADO é recebido do canal",
+      "TYPE": "Determine o papel do SIP no asterisco. Usuário: usado para autenticar entrada - Peer: para chamadas de saída - Amigo: abrange as duas características dos itens acima.",
+      "VOICEMAIL_CONTEXT": "O contexto da extensão relativa",
+      "WAITINGCALLSANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “chamadas em espera”. Indefinido = sem anúncio",
+      "WELCOMEMESSAGE": "Esta é a primeira mensagem enviada ao contator",
+      "YOUARENEXTANNOUNCE": "Escolha um som definido em ferramentas. Padrão = “Você agora é o primeiro da fila”. Indefinido = sem anúncio"
+    },
+    "HIDE_DETAILS": "Detalhes ocultos",
+    "HOLDTIMEANNOUNCE": "Anuncio em Tempo de Espera",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Ocioso",
+    "IN": "In",
+    "INBOUNDROUTES": "Rotas de entrada",
+    "INFO": "Informação",
+    "INSERT_MESSAGE_HERE": "Insira sua mensagem de texto aqui",
+    "INTEGRATIONS": "Integrações",
+    "INTERACTION": "Interação",
+    "INTERACTIONS": "Interações",
+    "INTERNAL": "Interno",
+    "INTERNALDIAL": "Discagem interna",
+    "INTERNALROUTES": "Rotas Internas",
+    "INTERVAL": "Intervalo",
+    "INTERVALS": "Intervalos",
+    "INUSE": "Em uso",
+    "INVALID": "Invalido",
+    "IN_USE": "Em uso",
+    "JOINWHENEMPTY": "Juntar quando vazio",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Key",
+    "LAGGED": "Atrasado",
+    "LANGUAGE": "Língua",
+    "LASTMESSAGE": "Última mensagem",
+    "LASTNAME": "Último nome",
+    "LAST_MONTH": "Último Mês",
+    "LEAVEWHENEMPTY": "Sair quando vazio",
+    "LEXREGION": "Região",
+    "LIMITED": "Limitado",
+    "LIST": "Lista",
+    "LOGGED_IN": "Conectado (SIP conectado)",
+    "LOGIN_TIME": "Tempo de login",
+    "LOGO": "Logotipo",
+    "LOGOUT": "Logout",
+    "MACRO": "Macro",
+    "MAIL": "Email",
+    "MAILBOX": "Caixa de correio",
+    "MAILBOX@CONTEXT": "Mailbox@Context",
+    "MANAGED": "Gerenciou",
+    "MANDATORYDISPOSITION": "Disposição obrigatória",
+    "MANDATORYDISPOSITIONPAUSEID": "Status de pausa de disposição obrigatória",
+    "MARK_AS_UNREAD": "Marcar como não lido",
+    "MAXLENGTH": "Comprimento máximo",
+    "MAXMESSAGES": "Mensagens máximas",
+    "MAXSECONDS": "Segundos máximos",
+    "MAY": "Maio",
+    "MEMBERDELAY": "Member Delay",
+    "MESSAGE": "Mensagem",
+    "MESSAGES": "Mensagens",
+    "MESSAGESALIGNMENT": "Alinhamento de Mensagens",
+    "METHOD": "Método",
+    "METRIC": "Métrica",
+    "MINANNOUNCEFREQUENCY": "Frequência mínima de anúncio",
+    "MINUTEANNOUNCE": "Anuncio de minuto",
+    "MINUTESANNOUNCE": "Anuncio de minutos",
+    "MOBILE": "Mobile",
+    "MODULES": "Modulos",
+    "MOHSOUNDS": "Moh Sounds",
+    "MONITORFORMAT": "Formato de gravação",
+    "MORE": "Adicionar",
+    "MOTIONADDRESS": "Endereço do Motion",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Domínio de Proxy ou Motion",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Música em espera",
+    "MUSICONHOLDS": "Música em espera",
+    "NAME": "Nome",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Novo espião",
+    "NEW_CONTACT": "Novo Contato",
+    "NEW_CONTEXT": "Novo contexto",
+    "NEW_INBOUNDROUTE": "Nova rota de entrada",
+    "NEW_INTERNALROUTE": "Nova rota interna",
+    "NEW_MUSICONHOLD": "Nova música em espera",
+    "NEW_OUTBOUNDROUTE": "Nova rota de saída",
+    "NEW_PROJECT": "Novo Projeto",
+    "NEW_TAB": "Nova aba",
+    "NEW_TAG": "Nova Tag",
+    "NEW_VARIABLE": "Nova Variável",
+    "NEW_VOICEMAIL": "Nova mensagem de voz",
+    "NEW_VOICEQUEUE": "Nova fila de voz",
+    "NO": "Não",
+    "NONE": "Nenhum",
+    "NOOP": "Noop",
+    "NOTE": "Nota",
+    "NOTES": "Notas",
+    "NOTIFICATION": "Notificação",
+    "NOTIFICATIONSHAKE": "Tremer",
+    "NOTIFICATIONSOUND": "Som",
+    "NOTIFICATIONTEMPLATE": "Modelo",
+    "NOT_INUSE": "Fora de uso",
+    "NO_AGENT_ONLINE": "Nenhum agente online",
+    "NO_APPS_AVAILABLE": "Não há aplicativos disponíveis",
+    "NO_AVAILABLE_INFO": "Nenhuma informação disponível",
+    "NO_INTERACTION_AVAILABLE": "Não há interações disponíveis",
+    "NO_MESSAGE_AVAILABLE": "Nenhuma mensagem disponível",
+    "NO_MOHSOUND_AVAILABLE": "Não há música na espera disponível",
+    "NO_RATING": "Sem avaliação",
+    "NO_REGISTRY": "Nenhum registro",
+    "NO_SOUND_AVAILABLE": "Nenhum som disponível",
+    "NUMBER": "Número",
+    "OF": "do",
+    "ONHOLD": "Em espera",
+    "OPEN": "Abrir",
+    "OPENCHANNEL": "Open Channel",
+    "OPENED": "Abrir",
+    "OPERATOR": "Operador",
+    "OPTIONS": "Opções",
+    "ORIGINATED": "Originado",
+    "OTHERS": "Outros",
+    "OUT": "Out",
+    "OUTBOUNDDIAL": "Discagem de saída",
+    "OUTBOUNDROUTE": "Rota de Saída",
+    "OUTBOUNDROUTES": "Rotas de saída",
+    "OUTBOUND_CALLS": "Chamadas externas",
+    "OUTPUT": "Saída",
+    "PAGE": "Página",
+    "PARTIALPAUSE": "Pausa Parcial",
+    "PASSWORD": "Senha",
+    "PAUSE": "Pausa",
+    "PAUSED": "Pausado",
+    "PAUSE_TIME": "Tempo de pausa",
+    "PAYMENTMETHOD": "Métodos de Pagamento",
+    "PENALTY": "Peso",
+    "PENDING": "Pendente",
+    "PERIODICANNOUNCE": "Anúncio periódico",
+    "PERIODICANNOUNCEFREQUENCY": "Periodicidade periódica de anúncio",
+    "PERSONAL_INFO": "Informação pessoal",
+    "PHONE": "Telefone",
+    "PHONENUMBER": "Número de telefone",
+    "PHONE_STATE": "Estado do telefone",
+    "PHONE_STATUS": "Status do telefone",
+    "PLAYBACK": "Reprodução",
+    "PLUGINS": "Plugins",
+    "PORT": "Porta",
+    "POSITION": "Posição",
+    "POSTALCODE": "CEP",
+    "PREFIX": "Prefixo",
+    "PREVIEW": "Visualizar",
+    "PRIORITY": "Prioridade",
+    "PROJECT": "Projeto Cally-Square",
+    "PROJECTS": "Projetos",
+    "PROXY": "Proxy",
+    "QUEUE": "Fila",
+    "QUEUES": "Filas",
+    "QUEUETRANSFER": "Transferência de fila",
+    "QUEUETRANSFERTIMEOUT": "Tempo limite de transferência da fila",
+    "QUEUE_CALLS": "Filas de ligação",
+    "QUEUE_PARAMETERS": "Parametros da Fila",
+    "QUEUE_PARAMS": "Parâmetros da fila",
+    "RANDOM": "Aleatória",
+    "RANDOMPERIODICANNOUNCE": "Anúncio periódico aleatório",
+    "RATING": "Avaliação",
+    "REACHABLE": "Alcançável",
+    "READY": "Pronto",
+    "REALTIME": "Tempo Real",
+    "RECALLME": "Lembre-me",
+    "RECEIVED_AT": "Recebido em",
+    "RECEIVEURL": "Receber URL",
+    "RECORD": "Registro",
+    "RECORDING": "Gravação",
+    "RECORDINGFORMAT": "Formato de gravação",
+    "RECORDINGS": "Gravações",
+    "REFRESH_INTERACTIONS": "Atualizar Interações",
+    "REGISTERED": "Registrado",
+    "REGISTRY": "Registro",
+    "REJECT": "Rejeitar",
+    "REJECTED": "Rejeitado",
+    "REJECTMETHOD": "Rejeitar Método",
+    "REJECTURL": "Rejeitar URL",
+    "RELOAD": "Recarregar",
+    "REPLY": "Resposta",
+    "REPORT": "Relatório",
+    "REPORTHOLDTIMEAGENT": "Tempo de espera do agente de relatório",
+    "RETRY": "Tente novamente",
+    "RING": "Tocar",
+    "RINGGROUP": "Toque de grupo",
+    "RINGING": "Tocando",
+    "RINGINUSE": "Toque em uso",
+    "ROWSPERPAGE": "Linhas por Página",
+    "RULE": "Regra",
+    "SAVE": "Salvar",
+    "SCHEDULEDAT": "Agendado em",
+    "SCHEDULED_CALLS": "Chamadas agendadas",
+    "SCREENRECORDING": "Gerenciar gravação de tela",
+    "SCRIPT": "Roteiro",
+    "SEARCH_FOR_ANYONE": "Procurar",
+    "SECONDSANNOUNCE": "Anuncio de Segundos",
+    "SECRETACCESSKEY": "Chave de acesso secreta",
+    "SECURITY_SUITE": "Suíte de Segurança",
+    "SELECT": "Selecione",
+    "SELECTED": "Selecionado",
+    "SELECTED_AGENTS": "Agentes Selecionados",
+    "SELECTED_TEAMS": "Equipes Selecionadas",
+    "SELECTED_USERS": "Usuários Selecionados",
+    "SELECT_ACCOUNT": "Selecione uma conta",
+    "SELECT_ALL": "Selecionar tudo",
+    "SELECT_DATE": "Selecione a data de início",
+    "SELECT_NONE": "Selecione nenhum",
+    "SELECT_STATUS": "Selecione o status",
+    "SELECT_TYPE": "Selecione o tipo",
+    "SEND": "Enviar",
+    "SENDMAIL": "Enviar Email",
+    "SENTIMENTANALYSIS": "Análise de sentimentos",
+    "SERVICE": "Serviço",
+    "SESSIONS": "Sessão",
+    "SET": "Conjunto",
+    "SETINTERFACEVARIABLES": "Definir variáveis ​​de interface",
+    "SETQUEUEENTRYVARIABLES": "Definir as Variáveis ​​de Entrada da Fila",
+    "SETQUEUEVARIABLES": "Definir as variáveis ​​da fila",
+    "SETTINGS": "Configurações",
+    "SHOW_ALL_FIELDS": "Mostrar todos os campos",
+    "SHOW_DETAILS": "Mostrar detalhes",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Host",
+    "SMTP_PORT": "Porta",
+    "SOCIAL": "Social",
+    "SORT": "Ordenar",
+    "SOURCE": "Fonte",
+    "SPYINTERACTION": "Espião",
+    "STAFF": "Funcionários",
+    "STARTEDAT": "Começou às",
+    "STARTTIME": "Hora de início",
+    "START_SCREENRECORDING": "Iniciar gravação na tela",
+    "STATE": "Estado",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Parar gravação de tela",
+    "STRATEGY": "Estratégia",
+    "SUBJECT": "Sujeito",
+    "SYSTEM": "Sistema",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Falando",
+    "TEAMS_ASSOCIATION": "Associação de Equipas",
+    "TECHNOLOGY/RESOURCE": "Tecnologia / Recurso",
+    "TELEPHONES": "Telefones",
+    "TEMPLATE": "Modelo",
+    "TEXT": "Texto",
+    "THANKYOUANNOUNCE": "'Obrigado' Anuncie",
+    "THEREAREANNOUNCE": "'Existem' Anuncie",
+    "TIMEOUT": "Tempo esgotado",
+    "TIMEOUTRESTART": "Timeout Restart",
+    "TIMER": "Cronômetro",
+    "TIMES": "Número de vezes por interação",
+    "TIMEZONE": "Fuso horário",
+    "TO": "Para",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
+    "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total oferecido",
+    "TRANSCRIBE": "Transcrever",
+    "TRANSFER": "Transferir",
+    "TRANSPORT": "Transporte",
+    "TRUEPRIORITY": "Verdadeira prioridade",
+    "TRUNK": "Tronco",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Status do Tronco",
+    "TYPE": "Tipo",
+    "UNAVAILABLE": "Indisponível",
+    "UNIQUEID": "ID único",
+    "UNKNOWN": "Desconhecido",
+    "UNMANAGED": "Não gerenciado",
+    "UNPAUSE": "Fim Pausa",
+    "UNREACHABLE": "Inacessível",
+    "UNREGISTERED": "Não registrado",
+    "UP": "Cima",
+    "UPDATE": "Atualizar",
+    "UPLOADING": "Uploading",
+    "URL": "URL",
+    "USER": "Usuarios",
+    "USERNAME": "Nome do usuário",
+    "USERS": "Usuários",
+    "VALUE": "Valor",
+    "VARIABLE": "Variável",
+    "VIDAOOSESSION": "Iniciar videochamada",
+    "VIDEO": "Vídeo",
+    "VIDEOSUPPORT": "Suporte de vídeo",
+    "VOICE": "Voz",
+    "VOICEMAIL": "Correio de voz",
+    "VOICEMAILS": "Correios de voz",
+    "VOICEMAIL_CONTEXT": "Contexto",
+    "VOICEQUEUES": "Filas de voz",
+    "VOICERECORDINGS": "Gravações de voz",
+    "WAITFORTHEASSIGNEDAGENT": "Aguarde o agente atribuído",
+    "WAITING": "Esperando",
+    "WAITINGCALLSANNOUNCE": "Chamadas em Espera Anunciam",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Peso",
+    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
+    "WHATSAPP": "Conector WhatsApp",
+    "WHITELABEL": "White Label",
+    "WRAPUPTIME": "Tempo de finalização",
+    "WRONG_EXTENSION": "O arquivo apresenta a extensão incorreta",
+    "YES": "Sim",
+    "YOUARENEXTANNOUNCE": "'Você é o próximo' Anunciar"
+  }
+}
diff --git a/public/app/main/i18n/pt-PT.json b/public/app/main/i18n/pt-PT.json
new file mode 100644
index 0000000..bbc71c1
--- /dev/null
+++ b/public/app/main/i18n/pt-PT.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Abandonadas",
+    "ABANDONEDCALLS": "Chamadas de Filas Abandonadas",
+    "ABANDONED_CALLS": "Chamadas abandonadas",
+    "ACCEPT": "Aceitar",
+    "ACCEPTMETHOD": "Método de Aceitar",
+    "ACCEPTURL": "Aceitar URL",
+    "ACCESSKEYID": "ID da chave de acesso",
+    "ACCOUNT": "Conta",
+    "ACCOUNTNAME": "Nome da conta",
+    "ACCOUNTS": "Contas",
+    "ACCOUNTSID": "SID da conta",
+    "ACTIONS": "Acções",
+    "ACTIVE": "Ativo",
+    "ADD": "Adicionar",
+    "ADDRESS": "Endereço",
+    "ADD_AGENT_TO_VOICEQUEUE": "Adicionar agente para fila de voz",
+    "ADD_CHANSPY": "Adicionar ChanSpy",
+    "ADD_CONTACT": "Adicionar contato",
+    "ADD_CONTEXT": "Adicionar Contexto",
+    "ADD_INBOUNDROUTE": "Adicionar Rota de entrada",
+    "ADD_INTERNALROUTE": "Adicionar Rota Interna",
+    "ADD_MOHSOUND": "Adicionar som de música em espera",
+    "ADD_MUSICONHOLD": "Adicionar música em espera",
+    "ADD_NOTE": "Adicionar nota",
+    "ADD_OUTBOUNDROUTE": "Adicionar rota de saída",
+    "ADD_PROJECT": "Adicionar projeto",
+    "ADD_TAG": "Adicionar a Tag",
+    "ADD_TEAM_TO_VOICEQUEUE": "Adicionar grupo de fila de voz",
+    "ADD_VARIABLE": "Acrescentar variável",
+    "ADD_VOICEMAIL": "Adicionar correio de voz",
+    "ADD_VOICEQUEUE": "Adicionar fila de voz",
+    "ADVANCED": "Avançado",
+    "AFTERCALLWORK": "Após o trabalho de chamada",
+    "AFTERCALLWORKDURATION": "Duração de Trabalho após chamada",
+    "AGENT": "Agente",
+    "AGENTS": "Agentes",
+    "AGENTSADD_QUEUE": "Adicionar agentes a fila de voz",
+    "AGENTTRANSFER": "Transferência de Agente",
+    "AGENTTRANSFERTIMEOUT": "Tempo limite de transferência do agente",
+    "AGENT_TIMEOUT": "Tempo Limite do Agente",
+    "AGI": "A AGI",
+    "ALIAS": "Alias",
+    "ALL": "Todos",
+    "ALLOWCODECS": "Codecs permitidos",
+    "ALL_AGENTS": "Todos os Agentes",
+    "ALL_TEAMS": "Todas as equipas",
+    "ALL_USERS": "Todos os usuários",
+    "ALPHABETICAL": "Ordem alfabética",
+    "ALWAYS": "Sempre",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Anunciar a posição do chamador",
+    "ANNOUNCEFREQUENCY": "Frequência de anunciar",
+    "ANNOUNCEHOLDTIME": "Anunciar o tempo de espera",
+    "ANNOUNCEMENTS": "Anúncios",
+    "ANNOUNCEPOSITIONLIMIT": "Limite da posição de anunciar",
+    "ANNOUNCETOAGENT": "Anunciar para agente",
+    "ANNOUNCE_OVERRIDES": "Substituições de anunciar",
+    "ANSWER": "Resposta",
+    "ANSWERED": "Atendidas",
+    "API": "API",
+    "APIKEY": "Chave API",
+    "APPLICATION": "Aplicação",
+    "APPLICATION_NAME": "Nome do aplicativo",
+    "ARGUMENTS": "Argumentos",
+    "ATTACH": "Anexar",
+    "AUDIO": "Áudio",
+    "AUDIOFILES": "Arquivos de áudio",
+    "AUDIO_FILES": "Arquivos de áudio",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Token de autorização",
+    "AUTOPAUSE": "Auto Pause",
+    "AUTOREPLY": "Resposta automática",
+    "AVG_BILLABLE": "O AVG faturáveis",
+    "AVG_HOLD_TIME": "Tempo Médio em Espera",
+    "BACK": "De volta",
+    "BLACKLIST": "Lista negra",
+    "BODY": "Corpo",
+    "BOTNAME": "Nome do bot",
+    "BUILDER": "Builder",
+    "BUSY": "Ocupado",
+    "CALLED": "Chamado",
+    "CALLER": "Chamador",
+    "CALLERID": "ID de chamador",
+    "CALLER_ID": "ID do chamador",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Campanha",
+    "CANCEL": "Cancelar",
+    "CANNEDANSWERS": "Respostas enlatadas",
+    "CANNED_ANSWER_NOT_FOUND": "Não foram encontradas respostas prontas",
+    "CANNED_ANSWER_SEARCH": "Digite um texto para procurar uma resposta enlatada",
+    "CANT_DOWNLOAD_THIS_FILE": "Não é possível baixar este arquivo",
+    "CAPACITY": "Capacidade",
+    "CHANNEL": "Canal",
+    "CHANNELS": "Canais",
+    "CHANSPIES": "Chan espiões",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Conversar",
+    "CITY": "Cidade",
+    "CLEAR": "Claro",
+    "CLOSE": "Fechar",
+    "CLOSED": "Fechado",
+    "CLOSEDAT": "Fechada a",
+    "CLOSEMETHOD": "Método de fechar",
+    "CLOSEURL": "Fechar URL",
+    "CLOSING": "Fechar",
+    "COMMAND": "O comando",
+    "COMPANIES": "Empresas",
+    "COMPANY": "Empresa",
+    "CONDITION": "Estado",
+    "CONFIRM_PASSWORD": "Confirmar Senha",
+    "CONNECTED": "Ligado",
+    "CONTACT": "Entre em contato com",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Contatos",
+    "CONTENT": "Conteúdo",
+    "CONTEXT": "Contexto",
+    "CONTEXTS": "Contextos",
+    "COUNTRY": "País",
+    "CREATED_AT": "Criado em",
+    "CUSTOM": "Custom",
+    "CUSTOMER_JOURNEY": "Viagem do cliente",
+    "CUSTOM_FIELDS": "Campos personalizados",
+    "CUTDIGITS": "Os dígitos de corte",
+    "DASHBOARD": "Painel de bordo",
+    "DATE": "Data",
+    "DATE_OF_BIRTH": "Data de Nascimento",
+    "DEFAULT": "Padrão",
+    "DEFAULT_PAUSE": "Pausa padrão",
+    "DELETE": "Excluir",
+    "DELETE_APP": "Exclua aplicativo",
+    "DELETE_CHANSPY": "Excluir ChanSpy",
+    "DELETE_CONTEXT": "Excluir Contexto",
+    "DELETE_HOPPER": "Excluir do funil",
+    "DELETE_INBOUNDROUTE": "Eliminar rota de entrada",
+    "DELETE_INTERACTION": "Excluir interação",
+    "DELETE_INTERNALROUTE": "Eliminar rota interna",
+    "DELETE_MOHSOUND": "Excluir um som de música em espera",
+    "DELETE_MUSICONHOLD": "Eliminar música em espera",
+    "DELETE_OUTBOUNDROUTE": "Eliminar rota de saída",
+    "DELETE_PROJECT": "Excluir o projeto",
+    "DELETE_SELECTED": "Excluir selecionados",
+    "DELETE_VOICEDISPOSITION": "Disposição de eliminar uma mensagem de voz",
+    "DELETE_VOICEMAIL": "Excluir a mensagem do correio de voz",
+    "DELETE_VOICEQUEUE": "Excluir fila de voz",
+    "DELETE_VOICERECORDING": "Excluir a gravação de voz",
+    "DELIVERYREPORTURL": "URL do relatório de entrega",
+    "DESCRIPTION": "Descrição",
+    "DESTINATION": "Destino",
+    "DESTINATIONPATTERN": "Padrão de destino",
+    "DETAIL": "Detalhe",
+    "DETAILS": "Detalhes",
+    "DIAL": "Discagem rápida",
+    "DIALER": "Discador",
+    "DIALOGFLOW": "Fluxo de Diálogo",
+    "DID": "Não",
+    "DIRECTORY": "Diretório",
+    "DISABLED": "Desativado",
+    "DISPOSITION": "A disposição",
+    "DISPOSITIONS": "Disposições",
+    "DOWNLOAD": "Baixar",
+    "DOWNLOAD_INTERACTION": "Baixar",
+    "DOWNLOAD_MOHSOUND": "Baixar o som de música em espera",
+    "DOWNLOAD_VOICERECORDING": "Download de gravação de voz",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Download sem anexo",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download sem anexos",
+    "DOWNLOAD_WITH_ATTACHMENT": "Download com anexo",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Download com anexos",
+    "DROPPED": "Caiu",
+    "DROP_TO_UPLOAD": "Gota para fazer upload",
+    "DURATION": "Duração",
+    "EDIT": "Editar",
+    "EDIT_AGENT": "Editar Agent",
+    "EDIT_AGI": "Editar a AGI",
+    "EDIT_AMAZONLEX": "Editar configuração de Lex",
+    "EDIT_APP": "Editar aplicativo",
+    "EDIT_AUTOREPLY": "Editar resposta automática",
+    "EDIT_CHANSPY": "Editar ChanSpy",
+    "EDIT_CLOSE": "Editar Fechar",
+    "EDIT_CONTEXT": "Editar Contexto",
+    "EDIT_CUSTOM": "Edição personalizada /",
+    "EDIT_DIAL": "Editar discagem rápida",
+    "EDIT_DIALOGFLOW": "Editar configuração do fluxo de diálogo",
+    "EDIT_EXTERNALDIAL": "Editar Discagem Externa",
+    "EDIT_GOTO": "Ir para editar",
+    "EDIT_GOTOIF": "GotoIf editar",
+    "EDIT_GOTOP": "Editar GotoP",
+    "EDIT_HANGUP": "Editar Desligar",
+    "EDIT_HOPPER": "Editar Funil",
+    "EDIT_INBOUNDROUTE": "Editar Rota de entrada",
+    "EDIT_INTERNALDIAL": "Editar discagem interna",
+    "EDIT_INTERNALROUTE": "Editar Rota Interna",
+    "EDIT_INTERVAL": "Editar intervalo",
+    "EDIT_MUSICONHOLD": "Editar Música em espera",
+    "EDIT_NOOP": "Editar Noop",
+    "EDIT_OUTBOUNDROUTE": "Editar Rota de Saída",
+    "EDIT_PLAYBACK": "Editar a reprodução",
+    "EDIT_PROJECT": "Editar Projecto",
+    "EDIT_QUEUE": "Fila de edição",
+    "EDIT_RINGGROUP": "Editar Grupo de Anel",
+    "EDIT_SET": "Conjunto de edição",
+    "EDIT_SYSTEM": "Editar sistema",
+    "EDIT_TAG": "Editar tag",
+    "EDIT_TRUNK": "Tronco editar",
+    "EDIT_VOICEDISPOSITION": "Editar a disposição de voz",
+    "EDIT_VOICEMAIL": "Editar correio de voz",
+    "EDIT_VOICEQUEUE": "Editar Fila de voz",
+    "EDIT_VOICERECORDING": "Editar a gravação de voz",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "Endereço de e-mail",
+    "EMAILBODY": "Corpo do e-mail",
+    "EMAILSUBJECT": "Assunto da mensagem de correio electrónico",
+    "ENABLED": "Habilitado",
+    "ENCRYPTION": "Criptografia",
+    "ENDTIME": "Tempo Final",
+    "ENVELOPE": "Envelope",
+    "EQUALS": "É igual a",
+    "ERROR": "Erro ao",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "A aceitar a URL deve ser escrito em um formato válido",
+      "ACCESSKEYID_REQUIRED": "O código da chave de acesso é obrigatório",
+      "ACCOUNTNAME_REQUIRED": "O nome da conta é necessária",
+      "ACCOUNTSID_REQUIRED": "Campo Obrigatório",
+      "AFTERCALLWORKDURATION_REQUIRED": "A duração de trabalho após chamada é necessária",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
+      "AGENT_REQUIRED": "O agente é necessário",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+      "AGENT_TIMEOUT_REQUIRED": "O Tempo Limite do Agente é necessária",
+      "ALIAS_REQUIRED": "O Alias é necessária",
+      "APIKEY_REQUIRED": "É necessária a chave da API",
+      "APPLICATION_REQUIRED": "O aplicativo é obrigatório",
+      "AUTHTOKEN_REQUIRED": "O token é necessário autorização",
+      "BOTNAME_REQUIRED": "O nome do bot é obrigatório",
+      "CLOSEURL_MUST_VALID_URL": "A FECHAR A URL deve ser escrito em um formato válido",
+      "COMMAND_REQUIRED": "Campo Obrigatório",
+      "CONDITION_REQUIRED": "A condição é necessária",
+      "CONFIRM_NOT_MATCH": "As senhas não coincidem",
+      "CONTENT_REQUIRED": "O conteúdo é necessária",
+      "CONTEXT_REQUIRED": "O contexto é necessário",
+      "DESTINATIONPATTERN_REQUIRED": "O destino padrão é necessária",
+      "DISPOSITION_REQUIRED": "A disposição é necessário",
+      "EMAIL_MUST_VALID": "O email deve ser escrito em um formato válido",
+      "EMAIL_REQUIRED": "O Correio Electrónico é obrigatório",
+      "EXTENSION_REQUIRED": "A extensão é necessária",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A Falsa prioridade deve ser maior ou igual a",
+      "FALSEPRIORITY_REQUIRED": "O falso é necessária prioridade",
+      "FIELD_REQUIRED": "O campo é obrigatório",
+      "FIRSTNAME_REQUIRED": "O Nome é obrigatório",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "FONTSIZE_REQUIRED": "Campo obrigatório",
+      "FULLNAME_REQUIRED": "O campo Nome completo é obrigatório",
+      "HOST_REQUIRED": "O Host é necessário",
+      "KEY_MAX_LENGTH": "A chave deve ter um comprimento máximo igual ao máximo {{}}",
+      "KEY_REQUIRED": "A chave é necessário",
+      "LIST_REQUIRED": "A lista é necessário",
+      "MAILBOX_REQUIRED": "A caixa de correio é necessário",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório",
+      "METHOD_REQUIRED": "Campo Obrigatório",
+      "MOTIONADDRESS_MUST_VALID_URL": "A proposta Endereço deve ser escrito em um formato válido",
+      "MOTIONADDRESS_REQUIRED": "O Movimento de endereço é obrigatório",
+      "MOTIONPROXY_MUST_VALID_URL": "Formato errado",
+      "MOTIONPROXY_REQUIRED": "Campo de preenchimento obrigatório",
+      "NAME_MUST_VALID_PATTERN": "O nome deve ser escrito em um formato válido",
+      "NAME_REQUIRED": "O Nome é obrigatório",
+      "OPTIONS_REQUIRED": "As opções são necessários",
+      "OUTBOUNDROUTE_REQUIRED": "Campo obrigatório",
+      "PASSWORD_REQUIRED": "A senha é obrigatória",
+      "PHONENUMBER_REQUIRED": "O número de telefone é necessário",
+      "PHONE_REQUIRED": "O telefone é obrigatório",
+      "PREFIX_REQUIRED": "O prefixo é requerido",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A prioridade deve ser maior que ou igual a",
+      "PRIORITY_REQUIRED": "A prioridade é necessária",
+      "PROJECT_REQUIRED": "Campo obrigatório",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório",
+      "QUEUE_REQUIRED": "A fila de espera é necessário",
+      "REJECTURL_MUST_VALID_URL": "A rejeitar a URL deve ser escrito em um formato válido",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A repetição deve ser maior do que ou igual a",
+      "SECRETACCESSKEY_REQUIRED": "Campo obrigatório",
+      "SENDERSTRING_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Formato incorreto",
+      "SID_REQUIRED": "A SID é necessária",
+      "TAG_REQUIRED": "Campo Obrigatório",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "A tecnologia é necessária/Recursos",
+      "TEXT_MAX_LENGTH": "O valor deve ter um tamanho máximo igual a {{max}}",
+      "TEXT_REQUIRED": "O campo texto é necessário",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O tempo limite deve ser maior do que ou igual a",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+      "TIMEOUT_REQUIRED": "O tempo limite é necessária",
+      "TIMEZONE_REQUIRED": "O fuso horário é obrigatório",
+      "TOKEN_REQUIRED": "O token é necessário",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "A verdadeira prioridade deve ser maior que ou igual a",
+      "TRUEPRIORITY_REQUIRED": "É necessária a verdadeira prioridade",
+      "TRUNK_REQUIRED": "Campo obrigatório",
+      "TYPE_REQUIRED": "Campo de preenchimento obrigatório",
+      "URL_REQUIRED": "O URL é necessária",
+      "USERNAME_REQUIRED": "Campo obrigatório",
+      "VALUE_REQUIRED": "O valor é obrigatório",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Campo Obrigatório",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O peso deve ser maior do que ou igual a",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O tempo de finalização deve ser maior do que ou igual a"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Tempo de Espera Estimado anunciar",
+    "EXTENSION": "Extensão",
+    "EXTERNALDIAL": "Discagem externa",
+    "FAILED": "Falhou",
+    "FALSEPRIORITY": "Prioridade falso",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelidade",
+    "FIELD": "Campo",
+    "FIELDS": "Campos",
+    "FILE": "Arquivo",
+    "FILE_NOT_FOUND": "Arquivo não encontrado",
+    "FILTER": "Filtro",
+    "FILTERS": "Filtros",
+    "FINISH": "Concluir",
+    "FONTSIZE": "Tamanho da fonte",
+    "FORMAT": "Formato",
+    "FREE": "Livre",
+    "FROM": "A partir",
+    "FULLNAME": "Nome completo",
+    "GENERAL": "Geral",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "Ir para",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Desligar",
+    "HANGUPCAUSE_1": "1 = número de Não Alocado",
+    "HANGUPCAUSE_16": "16 = Normail cancelamento da chamada",
+    "HANGUPCAUSE_17": "17 = Usuário ocupado",
+    "HANGUPCAUSE_18": "18 = Sem resposta do usuário (atendimento telefonico dispositivo não conectado)",
+    "HANGUPCAUSE_21": "21 = Chamada rejeitada",
+    "HANGUPCAUSE_22": "22 = número alterado",
+    "HANGUPCAUSE_27": "27 = Destino fora de ordem",
+    "HANGUPCAUSE_38": "38 = Rede fora de ordem",
+    "HANGUPCAUSE_41": "41 = Falha temporária",
+    "HANGUP_CAUSE": "Causa de desligamento",
+    "HEADERS": "Cabeçalhos",
+    "HELP": {
+      "AFTERCALLWORK": "Se estiver activo, o agente será definido em pausa depois de concluída uma chamada em fila",
+      "AFTERCALLWORKDURATION": "A duração da pausa desencadeada pela opção de trabalho após chamada",
+      "ANNOUNCECALLERPOSITION": "Define se a posição da chamada na fila deve ser anunciado para ela. Se for definido como Não, a posição nunca será anunciado. Se for definido como sim, a posição do chamador será sempre anunciado. Se o valor for definido para limitar, o chamador ouvirá a sua posição na fila somente se estiver dentro do limite definido pela posição de anunciar-limite. Se o valor for definido para mais, o chamador ouvirá a sua posição se está além do número definido pela posição de anunciar-limite.",
+      "ANNOUNCEHOLDTIME": "Define se o tempo de espera estimado deve ser jogado junto com o anúncios periódicos.",
+      "ANNOUNCETOAGENT": "Utilizado para reproduzir um anúncio para o agente que atendeu a chamada, normalmente para que ele saiba que fila o chamador é proveniente.",
+      "CONTEXT": "Permite que um chamador para sair da fila de espera pressionando um único dígito DTMF. Se um contexto é especificado e o chamador insere um número de dígitos, que tentará ser igualada no contexto especificado e execução dialplan continuará lá.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"o tempo de espera estimado atual é\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "HOLDTIMEANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"Hold time\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "LIST": "Contact Manager lista usada para associar contatos",
+      "MANDATORYDISPOSITION": "Disposição obrigatória",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausar status para definir durante a disposição obrigatória",
+      "MEMBERDELAY": "Usado se você desejar que haja um atraso antes de o chamador e fila membro sendo conectados uns aos outros.",
+      "MINANNOUNCEFREQUENCY": "Especifica a quantidade mínima de tempo que deve decorrer antes de anunciar a posição da chamada na fila novamente. Isso é usado quando a posição do chamador pode alterar frequentemente, para impedir que o chamador ouvir várias atualizações em um curto período de tempo.",
+      "MINUTEANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"minuto\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "MINUTESANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"minutos\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "MONITORFORMAT": "Especifica o formato do arquivo para usar quando a gravação. Se o monitor de formato é inactivo, as chamadas não serão gravadas.",
+      "MOTIONPROXY": "Por favor, introduza no seguinte formato: <gt;&protocolo://<ipaddress>[:<port>]. Exemplo: https://X.Y.Z.W",
+      "MUSICONHOLD": "Define a classe de música para ser usado por uma fila em particular.",
+      "NAME": "Apenas números, letras e caracteres específicos (._) são suportados",
+      "PERIODICANNOUNCE": "Um conjunto de anúncios periódicos para ser reproduzido, reproduzidas na ordem em que são definidos.",
+      "PERIODICANNOUNCEFREQUENCY": "Indica quantas vezes devemos fazer anúncios periódicos para o chamador.",
+      "RECORDING": "Ativar a gravação de chamadas",
+      "REPORTHOLDTIMEAGENT": "Permite a geração de relatórios de tempo de espera do chamador para a fila de membro antes de bridging.",
+      "RINGINUSE": "Usado para evitar o envio de chamadas para os membros cujo estatuto está em uso.",
+      "SECONDSANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"s\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "THANKYOUANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"agradecemos sua paciência\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "THEREAREANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"Existem\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "TIMEOUTRESTART": "Se for definido como sim, redefine o tempo limite para um agente atender se quer um sinal de ocupado ou de estado de congestão é recebida do canal.",
+      "TYPE": "Determina o papel SIP dentro de asterisco. Usuário: usado para autenticar - Ponto de entrada: para chamadas de saída - amigo: abrange tanto as características do acima.",
+      "VOICEMAIL_CONTEXT": "O contexto da extensão relativa.",
+      "WAITINGCALLSANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"Chamadas Aguardando\"). Se for definido para um valor vazio, o prompt não será jogado em todo.",
+      "WELCOMEMESSAGE": "Esta é a primeira mensagem enviada ao contator",
+      "YOUARENEXTANNOUNCE": "Caso não seja definido, vai jogar o valor padrão (\"agora você está na primeira linha\"). Se for definido para um valor vazio, o prompt não será jogado em todo."
+    },
+    "HIDE_DETAILS": "Ocultar detalhes",
+    "HOLDTIMEANNOUNCE": "O tempo de espera anunciar",
+    "HOST": "Host",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "Em",
+    "INBOUNDROUTES": "Rotas de entrada",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Insira sua mensagem de texto aqui",
+    "INTEGRATIONS": "Integrações",
+    "INTERACTION": "Interação",
+    "INTERACTIONS": "Interações",
+    "INTERNAL": "Interna",
+    "INTERNALDIAL": "Discagem interna",
+    "INTERNALROUTES": "Rotas internas",
+    "INTERVAL": "Intervalo",
+    "INTERVALS": "Intervalos",
+    "INUSE": "Em Uso",
+    "INVALID": "Inválido",
+    "IN_USE": "Em uso",
+    "JOINWHENEMPTY": "Aderir quando vazio",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Key",
+    "LAGGED": "Lag",
+    "LANGUAGE": "Língua",
+    "LASTMESSAGE": "Última mensagem",
+    "LASTNAME": "Lastname",
+    "LAST_MONTH": "Mês passado",
+    "LEAVEWHENEMPTY": "Deixe quando vazio",
+    "LEXREGION": "Região",
+    "LIMITED": "Limitado",
+    "LIST": "Lista",
+    "LOGGED_IN": "Conectado",
+    "LOGIN_TIME": "Tempo de login",
+    "LOGO": "Logotipo",
+    "LOGOUT": "LOGOUT",
+    "MACRO": "Macro",
+    "MAIL": "Mail",
+    "MAILBOX": "Caixa de correio",
+    "MAILBOX@CONTEXT": "Caixa de correio@Contexto",
+    "MANAGED": "Gerenciou",
+    "MANDATORYDISPOSITION": "Disposição obrigatória",
+    "MANDATORYDISPOSITIONPAUSEID": "Status de pausa de disposição obrigatória",
+    "MARK_AS_UNREAD": "marcar como não lido",
+    "MAXLENGTH": "Comprimento máximo",
+    "MAXMESSAGES": "Número máximo de mensagens",
+    "MAXSECONDS": "Máximo em segundos",
+    "MAY": "Pode",
+    "MEMBERDELAY": "Os Atraso",
+    "MESSAGE": "Mensagem",
+    "MESSAGES": "Mensagens",
+    "MESSAGESALIGNMENT": "Alinhamento de Mensagens",
+    "METHOD": "Método",
+    "METRIC": "Métrica",
+    "MINANNOUNCEFREQUENCY": "Frequência mínima de anunciar",
+    "MINUTEANNOUNCE": "Minutos de anunciar",
+    "MINUTESANNOUNCE": "Minutos anunciar",
+    "MOBILE": "Mobile",
+    "MODULES": "Módulos",
+    "MOHSOUNDS": "Moh Sons",
+    "MONITORFORMAT": "Formato de gravação",
+    "MORE": "Mais",
+    "MOTIONADDRESS": "Endereço de movimento",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy ou domínio de movimento",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Música em espera",
+    "MUSICONHOLDS": "Músicas em espera",
+    "NAME": "Nome",
+    "NAT": "A NAT",
+    "NEW_CHANSPY": "Novo ChanSpy",
+    "NEW_CONTACT": "Novo Contato",
+    "NEW_CONTEXT": "Novo contexto",
+    "NEW_INBOUNDROUTE": "Nova rota de entrada",
+    "NEW_INTERNALROUTE": "Nova rota interna",
+    "NEW_MUSICONHOLD": "Nova música em espera",
+    "NEW_OUTBOUNDROUTE": "Nova rota de saída",
+    "NEW_PROJECT": "Novo Projeto",
+    "NEW_TAB": "Nova Guia",
+    "NEW_TAG": "Nova Tag",
+    "NEW_VARIABLE": "Nova Variável",
+    "NEW_VOICEMAIL": "Novo correio de voz",
+    "NEW_VOICEQUEUE": "Nova fila de voz",
+    "NO": "Não",
+    "NONE": "Nenhum",
+    "NOOP": "Noop",
+    "NOTE": "Nota",
+    "NOTES": "Notas",
+    "NOTIFICATION": "Notificação",
+    "NOTIFICATIONSHAKE": "Mexe",
+    "NOTIFICATIONSOUND": "Som",
+    "NOTIFICATIONTEMPLATE": "Modelo",
+    "NOT_INUSE": "Não está em uso",
+    "NO_AGENT_ONLINE": "Nenhum agente Online",
+    "NO_APPS_AVAILABLE": "Não há aplicativos disponíveis",
+    "NO_AVAILABLE_INFO": "Sem informações disponíveis",
+    "NO_INTERACTION_AVAILABLE": "Interações não disponível",
+    "NO_MESSAGE_AVAILABLE": "Não há mensagens disponíveis",
+    "NO_MOHSOUND_AVAILABLE": "Nenhuma música em espera disponível",
+    "NO_RATING": "Sem classificação",
+    "NO_REGISTRY": "Sem registro",
+    "NO_SOUND_AVAILABLE": "Não há sons disponíveis",
+    "NUMBER": "Número",
+    "OF": "De",
+    "ONHOLD": "Em Espera",
+    "OPEN": "Abra",
+    "OPENCHANNEL": "Canal aberto",
+    "OPENED": "Abra",
+    "OPERATOR": "Operador",
+    "OPTIONS": "Opções",
+    "ORIGINATED": "Originou",
+    "OTHERS": "Outros",
+    "OUT": "Fora",
+    "OUTBOUNDDIAL": "Marcação de saída",
+    "OUTBOUNDROUTE": "Rota de Saída",
+    "OUTBOUNDROUTES": "Rotas de saída",
+    "OUTBOUND_CALLS": "Chamadas de saída",
+    "OUTPUT": "Saída",
+    "PAGE": "Página",
+    "PARTIALPAUSE": "Pausa parcial",
+    "PASSWORD": "Senha",
+    "PAUSE": "Pausa",
+    "PAUSED": "Em pausa",
+    "PAUSE_TIME": "Tempo de pausa",
+    "PAYMENTMETHOD": "Métodos de Pagamento",
+    "PENALTY": "Sanção",
+    "PENDING": "Na pendência",
+    "PERIODICANNOUNCE": "Anunciar periódica",
+    "PERIODICANNOUNCEFREQUENCY": "Frequência periódica de anunciar",
+    "PERSONAL_INFO": "Informações pessoais",
+    "PHONE": "Telefone",
+    "PHONENUMBER": "Número de telefone",
+    "PHONE_STATE": "Estado do telefone",
+    "PHONE_STATUS": "Status do telefone",
+    "PLAYBACK": "Reprodução",
+    "PLUGINS": "Plugins",
+    "PORT": "Porto",
+    "POSITION": "Posição",
+    "POSTALCODE": "O código postal",
+    "PREFIX": "Prefixo",
+    "PREVIEW": "Visualização",
+    "PRIORITY": "Prioridade",
+    "PROJECT": "Projecto Cally-Square",
+    "PROJECTS": "Projectos",
+    "PROXY": "Proxy",
+    "QUEUE": "Fila",
+    "QUEUES": "As filas de espera",
+    "QUEUETRANSFER": "Transferência de fila",
+    "QUEUETRANSFERTIMEOUT": "Tempo limite de transferência da fila",
+    "QUEUE_CALLS": "Chamadas na Fila",
+    "QUEUE_PARAMETERS": "Os parâmetros de filas",
+    "QUEUE_PARAMS": "Os parâmetros de filas",
+    "RANDOM": "Aleatório",
+    "RANDOMPERIODICANNOUNCE": "Anunciar periódicas aleatórias",
+    "RATING": "Classificação",
+    "REACHABLE": "Acessível",
+    "READY": "Pronto",
+    "REALTIME": "Em tempo real",
+    "RECALLME": "Lembrar de mim",
+    "RECEIVED_AT": "Recebido em",
+    "RECEIVEURL": "Receber URL",
+    "RECORD": "Gravar",
+    "RECORDING": "A gravação",
+    "RECORDINGFORMAT": "Formato de gravação",
+    "RECORDINGS": "Gravações",
+    "REFRESH_INTERACTIONS": "Interações de atualização",
+    "REGISTERED": "Registado",
+    "REGISTRY": "Registro",
+    "REJECT": "Rejeitar",
+    "REJECTED": "Rejeitado",
+    "REJECTMETHOD": "Método de rejeição",
+    "REJECTURL": "Rejeitar URL",
+    "RELOAD": "Recarregar",
+    "REPLY": "Responder",
+    "REPORT": "Relatório",
+    "REPORTHOLDTIMEAGENT": "Tempo de Espera de relatório de Agente",
+    "RETRY": "Tentar novamente",
+    "RING": "Anel O",
+    "RINGGROUP": "Grupo de anel",
+    "RINGING": "Tocando",
+    "RINGINUSE": "Anel em uso",
+    "ROWSPERPAGE": "Linhas por página",
+    "RULE": "Regra",
+    "SAVE": "Salvar",
+    "SCHEDULEDAT": "Agendado em",
+    "SCHEDULED_CALLS": "Chamadas agendadas",
+    "SCREENRECORDING": "Gerenciar gravação de tela",
+    "SCRIPT": "Roteiro",
+    "SEARCH_FOR_ANYONE": "Pesquisar todos",
+    "SECONDSANNOUNCE": "Segundos anunciar",
+    "SECRETACCESSKEY": "Chave de acesso secreta",
+    "SECURITY_SUITE": "Suíte de Segurança",
+    "SELECT": "Selecione",
+    "SELECTED": "Selecionada",
+    "SELECTED_AGENTS": "Agentes selecionados",
+    "SELECTED_TEAMS": "Equipes selecionadas",
+    "SELECTED_USERS": "Usuários Selecionados",
+    "SELECT_ACCOUNT": "Selecione Conta",
+    "SELECT_ALL": "Selecionar todas",
+    "SELECT_DATE": "Selecione a data de início",
+    "SELECT_NONE": "Selecione Nenhum",
+    "SELECT_STATUS": "Selecione o estado",
+    "SELECT_TYPE": "Selecione o tipo",
+    "SEND": "Enviar",
+    "SENDMAIL": "Enviar Correio",
+    "SENTIMENTANALYSIS": "Análise de sentimentos",
+    "SERVICE": "Serviço",
+    "SESSIONS": "Sessões",
+    "SET": "Definir",
+    "SETINTERFACEVARIABLES": "Defina as variáveis de Interface",
+    "SETQUEUEENTRYVARIABLES": "Defina as variáveis de entrada da fila",
+    "SETQUEUEVARIABLES": "Defina as variáveis de fila",
+    "SETTINGS": "Definições",
+    "SHOW_ALL_FIELDS": "Mostrar todos os campos",
+    "SHOW_DETAILS": "Mostrar detalhes",
+    "SMS": "O SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "Host SMTP",
+    "SMTP_PORT": "Porta SMTP",
+    "SOCIAL": "Social",
+    "SORT": "Classificar",
+    "SOURCE": "Fonte",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Pessoal",
+    "STARTEDAT": "Começou às",
+    "STARTTIME": "Hora de início",
+    "START_SCREENRECORDING": "Iniciar gravação na tela",
+    "STATE": "Estado",
+    "STATUS": "O estado",
+    "STOP_SCREENRECORDING": "Parar gravação de tela",
+    "STRATEGY": "Estratégia",
+    "SUBJECT": "Assunto",
+    "SYSTEM": "Sistema",
+    "TAG": "Tag",
+    "TAGS": "Tags",
+    "TALKING": "Conversando",
+    "TEAMS_ASSOCIATION": "Associação de Equipas",
+    "TECHNOLOGY/RESOURCE": "Tecnologia/recurso",
+    "TELEPHONES": "Telefones",
+    "TEMPLATE": "Modelo",
+    "TEXT": "Texto",
+    "THANKYOUANNOUNCE": "\"Obrigado\" anunciar",
+    "THEREAREANNOUNCE": "\"Existem\" anunciar",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Timeout Reiniciar",
+    "TIMER": "Timer",
+    "TIMES": "Número de vezes por interação",
+    "TIMEZONE": "Fuso horário",
+    "TO": "Para",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Gravação de tela disponível",
+    "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento",
+    "TOTAL": "Total",
+    "TOTAL_OFFERED": "Total da oferta",
+    "TRANSCRIBE": "Transcrever",
+    "TRANSFER": "Transferir",
+    "TRANSPORT": "Transporte",
+    "TRUEPRIORITY": "Verdadeira Prioridade",
+    "TRUNK": "Tronco",
+    "TRUNKS": "Troncos",
+    "TRUNK_STATUS": "Status do tronco",
+    "TYPE": "Tipo",
+    "UNAVAILABLE": "Indisponível",
+    "UNIQUEID": "ID exclusivo",
+    "UNKNOWN": "Desconhecido",
+    "UNMANAGED": "Não Gerenciados",
+    "UNPAUSE": "Unpause",
+    "UNREACHABLE": "Inalcançável",
+    "UNREGISTERED": "Não registrado",
+    "UP": "Para Cima",
+    "UPDATE": "Atualizar",
+    "UPLOADING": "Upload",
+    "URL": "URL",
+    "USER": "Usuário",
+    "USERNAME": "Nome do usuário",
+    "USERS": "Os usuários",
+    "VALUE": "Valor",
+    "VARIABLE": "Variável",
+    "VIDAOOSESSION": "Iniciar videochamada",
+    "VIDEO": "Vídeo",
+    "VIDEOSUPPORT": "Suporte de vídeo",
+    "VOICE": "Voz",
+    "VOICEMAIL": "Correio de voz",
+    "VOICEMAILS": "Correios",
+    "VOICEMAIL_CONTEXT": "Contexto",
+    "VOICEQUEUES": "Filas de voz",
+    "VOICERECORDINGS": "Gravações de voz",
+    "WAITFORTHEASSIGNEDAGENT": "Aguarde o agente atribuído",
+    "WAITING": "Em espera",
+    "WAITINGCALLSANNOUNCE": "Chamadas em espera anunciar",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Website",
+    "WEIGHT": "Peso",
+    "WELCOMEMESSAGE": "Mensagem de boas-vindas",
+    "WHATSAPP": "Conector WhatsApp",
+    "WHITELABEL": "Etiqueta branca",
+    "WRAPUPTIME": "Tempo de finalização",
+    "WRONG_EXTENSION": "O arquivo apresenta a extensão incorreta",
+    "YES": "Sim",
+    "YOUARENEXTANNOUNCE": "\"Você está próximo\" anunciar"
+  }
+}
diff --git a/public/app/main/i18n/ru.json b/public/app/main/i18n/ru.json
new file mode 100644
index 0000000..401540e
--- /dev/null
+++ b/public/app/main/i18n/ru.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Отмененные",
+    "ABANDONEDCALLS": "Заброшенные очереди вызовов",
+    "ABANDONED_CALLS": "Отмененные вызовы",
+    "ACCEPT": "Согласиться с",
+    "ACCEPTMETHOD": "Принять метод",
+    "ACCEPTURL": "Согласиться с URL",
+    "ACCESSKEYID": "Идентификатор ключа доступа",
+    "ACCOUNT": "Внимание",
+    "ACCOUNTNAME": "Имя учетной записи",
+    "ACCOUNTS": "Учетные записи",
+    "ACCOUNTSID": "SID аккаунта",
+    "ACTIONS": "Действия",
+    "ACTIVE": "активный",
+    "ADD": "Добавить",
+    "ADDRESS": "Адрес",
+    "ADD_AGENT_TO_VOICEQUEUE": "Добавить оператора в очереди голосовой связи",
+    "ADD_CHANSPY": "Добавить ChanSpy",
+    "ADD_CONTACT": "Добавить контакт",
+    "ADD_CONTEXT": "Добавить контексте",
+    "ADD_INBOUNDROUTE": "Добавить маршрут входящих вызовов",
+    "ADD_INTERNALROUTE": "Добавить внутренний маршрут",
+    "ADD_MOHSOUND": "Добавление музыки в режиме удержания звука",
+    "ADD_MUSICONHOLD": "Добавление музыки на удержании",
+    "ADD_NOTE": "Добавить примечание",
+    "ADD_OUTBOUNDROUTE": "Добавить маршрут исходящих вызовов",
+    "ADD_PROJECT": "Добавить проект",
+    "ADD_TAG": "Добавить метки",
+    "ADD_TEAM_TO_VOICEQUEUE": "Добавить группу в очереди голосовой связи",
+    "ADD_VARIABLE": "Добавить переменную",
+    "ADD_VOICEMAIL": "Добавить голосовую почту",
+    "ADD_VOICEQUEUE": "Добавить голосовую очереди",
+    "ADVANCED": "Расширенные возможности",
+    "AFTERCALLWORK": "Работа после вызова",
+    "AFTERCALLWORKDURATION": "Работа после вызова продолжительность",
+    "AGENT": "Оператор",
+    "AGENTS": "Операторы",
+    "AGENTSADD_QUEUE": "Добавление операторов в очереди голосовой связи",
+    "AGENTTRANSFER": "Передача агента",
+    "AGENTTRANSFERTIMEOUT": "Тайм-аут передачи агента",
+    "AGENT_TIMEOUT": "Время ожидания оператора",
+    "AGI": "AGI",
+    "ALIAS": "Псевдоним",
+    "ALL": "Все",
+    "ALLOWCODECS": "Разрешено кодеки",
+    "ALL_AGENTS": "Все Операторы",
+    "ALL_TEAMS": "Все группы",
+    "ALL_USERS": "Все пользователи",
+    "ALPHABETICAL": "В алфавитном порядке",
+    "ALWAYS": "Всегда",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Объявить о положении вызывающего абонента",
+    "ANNOUNCEFREQUENCY": "Объявить о частоте",
+    "ANNOUNCEHOLDTIME": "Объявить о времени удержания",
+    "ANNOUNCEMENTS": "Объявления",
+    "ANNOUNCEPOSITIONLIMIT": "Объявить предельное положение",
+    "ANNOUNCETOAGENT": "Сообщить оператору",
+    "ANNOUNCE_OVERRIDES": "Объявить переопределяет",
+    "ANSWER": "Ответ",
+    "ANSWERED": "Отвеченные",
+    "API": "API",
+    "APIKEY": "Ключ API",
+    "APPLICATION": "Приложение",
+    "APPLICATION_NAME": "Имя приложения",
+    "ARGUMENTS": "Аргументы",
+    "ATTACH": "Прикрепите",
+    "AUDIO": "Аудио",
+    "AUDIOFILES": "Звуковые файлы",
+    "AUDIO_FILES": "Звуковые файлы",
+    "AUTH": "Auth",
+    "AUTHTOKEN": "Маркер авторизации",
+    "AUTOPAUSE": "Автоматическая пауза",
+    "AUTOREPLY": "Автоматический ответ",
+    "AVG_BILLABLE": "Avg платными",
+    "AVG_HOLD_TIME": "Среднее время удержания",
+    "BACK": "Назад",
+    "BLACKLIST": "Черный список",
+    "BODY": "тело",
+    "BOTNAME": "Имя бота",
+    "BUILDER": "Конструктор условий",
+    "BUSY": "Занят",
+    "CALLED": "Призвали к",
+    "CALLER": "Вызывающий абонент",
+    "CALLERID": "Идентификатор вызывающего абонента",
+    "CALLER_ID": "Идентификатор вызывающего абонента",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Кампании",
+    "CANCEL": "Отмена",
+    "CANNEDANSWERS": "Консервированные ответы",
+    "CANNED_ANSWER_NOT_FOUND": "Нет консервов ответы были найдены",
+    "CANNED_ANSWER_SEARCH": "Введите текст для поиска ответа на консервы",
+    "CANT_DOWNLOAD_THIS_FILE": "Не могу скачать этот файл",
+    "CAPACITY": "Емкость",
+    "CHANNEL": "канал",
+    "CHANNELS": "Каналы",
+    "CHANSPIES": "Чан шпионы",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Чат",
+    "CITY": "Город",
+    "CLEAR": "Очистить",
+    "CLOSE": "Закрыть",
+    "CLOSED": "Закрыт",
+    "CLOSEDAT": "Закрыт",
+    "CLOSEMETHOD": "Закройте метод",
+    "CLOSEURL": "Закрыть URL",
+    "CLOSING": "Закрытие",
+    "COMMAND": "Команда",
+    "COMPANIES": "Компании",
+    "COMPANY": "Компания",
+    "CONDITION": "Состояние",
+    "CONFIRM_PASSWORD": "Подтвердите пароль",
+    "CONNECTED": "Подключен к",
+    "CONTACT": "Контакты",
+    "CONTACTMANAGER": "Диспетчер контактов",
+    "CONTACTS": "Контакты",
+    "CONTENT": "Содержание",
+    "CONTEXT": "Контексте",
+    "CONTEXTS": "Контекстах",
+    "COUNTRY": "Страны",
+    "CREATED_AT": "Созданные в",
+    "CUSTOM": "Пользовательский",
+    "CUSTOMER_JOURNEY": "Путешествие клиента",
+    "CUSTOM_FIELDS": "Пользовательские поля",
+    "CUTDIGITS": "Разрежьте цифр",
+    "DASHBOARD": "Приборной Панели",
+    "DATE": "Дата",
+    "DATE_OF_BIRTH": "Дата рождения",
+    "DEFAULT": "По умолчанию",
+    "DEFAULT_PAUSE": "По умолчанию пауза",
+    "DELETE": "Удалить",
+    "DELETE_APP": "Удалить приложения",
+    "DELETE_CHANSPY": "Удалить ChanSpy",
+    "DELETE_CONTEXT": "Удаление связи",
+    "DELETE_HOPPER": "Удалить загрузочный бункер",
+    "DELETE_INBOUNDROUTE": "Удалить маршрут при обработке входящих вызовов",
+    "DELETE_INTERACTION": "Удалить взаимодействие",
+    "DELETE_INTERNALROUTE": "Удалить внутреннего маршрута",
+    "DELETE_MOHSOUND": "Удалить музыка в режиме удержания звука",
+    "DELETE_MUSICONHOLD": "Удалить музыка на удержании",
+    "DELETE_OUTBOUNDROUTE": "Удалить маршрут исходящих вызовов",
+    "DELETE_PROJECT": "Удалить",
+    "DELETE_SELECTED": "Удалить выбранные",
+    "DELETE_VOICEDISPOSITION": "Удаление голосовых распоряжения",
+    "DELETE_VOICEMAIL": "Удалить голосовую почту",
+    "DELETE_VOICEQUEUE": "Удаление голосовых очереди",
+    "DELETE_VOICERECORDING": "Удалить запись голоса",
+    "DELIVERYREPORTURL": "URL отчета о доставке",
+    "DESCRIPTION": "Описание",
+    "DESTINATION": "Пункт назначения",
+    "DESTINATIONPATTERN": "Схема назначения",
+    "DETAIL": "Подробно",
+    "DETAILS": "Детали",
+    "DIAL": "Диск набора команд",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "Не",
+    "DIRECTORY": "Каталог",
+    "DISABLED": "Disabled (Отключено)",
+    "DISPOSITION": "Отчуждения",
+    "DISPOSITIONS": "Распоряжения",
+    "DOWNLOAD": "Скачать",
+    "DOWNLOAD_INTERACTION": "Скачать",
+    "DOWNLOAD_MOHSOUND": "Загрузка музыки на удержании звук",
+    "DOWNLOAD_VOICERECORDING": "Загрузить запись голоса",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Скачать без вложения",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Скачать без вложений",
+    "DOWNLOAD_WITH_ATTACHMENT": "Скачать с приложением",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Скачать с вложениями",
+    "DROPPED": "Снизилась",
+    "DROP_TO_UPLOAD": "Раскрывающийся список для загрузки",
+    "DURATION": "Продолжительность",
+    "EDIT": "Изменить",
+    "EDIT_AGENT": "Редактирование оператора",
+    "EDIT_AGI": "Редактировать AGI",
+    "EDIT_AMAZONLEX": "Изменить конфигурацию Lex",
+    "EDIT_APP": "Изменить приложение",
+    "EDIT_AUTOREPLY": "Редактировать автоматический ответ",
+    "EDIT_CHANSPY": "Редактировать ChanSpy",
+    "EDIT_CLOSE": "Редактировать Закрыть",
+    "EDIT_CONTEXT": "Правка контекстное",
+    "EDIT_CUSTOM": "Редактировать пользовательский",
+    "EDIT_DIAL": "Редактирование набора",
+    "EDIT_DIALOGFLOW": "Изменить конфигурацию диалога",
+    "EDIT_EXTERNALDIAL": "Редактировать внешний диск набора команд",
+    "EDIT_GOTO": "Редактировать GoTo",
+    "EDIT_GOTOIF": "GotoIf редактировать",
+    "EDIT_GOTOP": "GotoP редактировать",
+    "EDIT_HANGUP": "Редактировать отключение",
+    "EDIT_HOPPER": "Редактирование загрузочного бункера",
+    "EDIT_INBOUNDROUTE": "Редактировать маршрут входящих вызовов",
+    "EDIT_INTERNALDIAL": "Редактировать внутреннего набора",
+    "EDIT_INTERNALROUTE": "Редактирование внутренних маршрутов",
+    "EDIT_INTERVAL": "Изменить интервал",
+    "EDIT_MUSICONHOLD": "Редактирование музыки на удержании",
+    "EDIT_NOOP": "Редактировать Noop",
+    "EDIT_OUTBOUNDROUTE": "Редактировать маршрут исходящих вызовов",
+    "EDIT_PLAYBACK": "Воспроизведения в режиме редактирования",
+    "EDIT_PROJECT": "Редактировать проект",
+    "EDIT_QUEUE": "Редактирования очереди",
+    "EDIT_RINGGROUP": "Редактировать кольцо группы",
+    "EDIT_SET": "Редактирование набора",
+    "EDIT_SYSTEM": "Изменить систему",
+    "EDIT_TAG": "Изменить тег",
+    "EDIT_TRUNK": "Редактировать сл",
+    "EDIT_VOICEDISPOSITION": "Редактировать голосовые распоряжения",
+    "EDIT_VOICEMAIL": "Редактировать сообщения голосовой почты",
+    "EDIT_VOICEQUEUE": "Изменить голос очереди",
+    "EDIT_VOICERECORDING": "Редактировать запись голоса",
+    "EMAIL": "Адрес электронной почты",
+    "EMAILADDRESS": "Адрес электронной почты",
+    "EMAILBODY": "Тело сообщения",
+    "EMAILSUBJECT": "Тема в сообщении электронной почты",
+    "ENABLED": "Enabled (Включено)",
+    "ENCRYPTION": "Шифрование данных",
+    "ENDTIME": "Время окончания",
+    "ENVELOPE": "Конверт",
+    "EQUALS": "Равно",
+    "ERROR": "Ошибка",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Принять URL должен быть записан в действительный формат",
+      "ACCESSKEYID_REQUIRED": "Требуется идентификатор ключа доступа",
+      "ACCOUNTNAME_REQUIRED": "Имя учетной записи не требуется",
+      "ACCOUNTSID_REQUIRED": "Обязательное поле",
+      "AFTERCALLWORKDURATION_REQUIRED": "После вызова, продолжительность работы не требуется",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
+      "AGENT_REQUIRED": "Агент обязан",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+      "AGENT_TIMEOUT_REQUIRED": "Оператор - тайм-аут требуется",
+      "ALIAS_REQUIRED": "Псевдоним не требуется",
+      "APIKEY_REQUIRED": "API не требуется ключ",
+      "APPLICATION_REQUIRED": "Приложения не требуется",
+      "AUTHTOKEN_REQUIRED": "В Autorization маркер не требуется",
+      "BOTNAME_REQUIRED": "Имя бота обязательно",
+      "CLOSEURL_MUST_VALID_URL": "Закрыть адрес URL должен быть записан в действительный формат",
+      "COMMAND_REQUIRED": "Обязательное поле",
+      "CONDITION_REQUIRED": "Это состояние требует",
+      "CONFIRM_NOT_MATCH": "Пароли не совпадают",
+      "CONTENT_REQUIRED": "Содержимое не требуется",
+      "CONTEXT_REQUIRED": "В этом контексте необходимо",
+      "DESTINATIONPATTERN_REQUIRED": "Назначение шаблона не требуется",
+      "DISPOSITION_REQUIRED": "Распоряжения не требуется",
+      "EMAIL_MUST_VALID": "Адреса электронной почты должны быть записаны в действительный формат",
+      "EMAIL_REQUIRED": "Адреса электронной почты не требуется",
+      "EXTENSION_REQUIRED": "Такое продление срока действия необходимо",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Ложным приоритетом должно быть больше или равно",
+      "FALSEPRIORITY_REQUIRED": "Ложный Приоритет не требуется",
+      "FIELD_REQUIRED": "Поле является обязательным",
+      "FIRSTNAME_REQUIRED": "Первое имя не требуется",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+      "FONTSIZE_REQUIRED": "Обязательное поле",
+      "FULLNAME_REQUIRED": "В требуется указать полное имя",
+      "HOST_REQUIRED": "Хост не требуется",
+      "KEY_MAX_LENGTH": "Ключ должен иметь максимальную длину равную {{max}}",
+      "KEY_REQUIRED": "Ключ не требуется",
+      "LIST_REQUIRED": "Список не требуется",
+      "MAILBOX_REQUIRED": "Почтовый ящик не требуется",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле",
+      "METHOD_REQUIRED": "Обязательное поле",
+      "MOTIONADDRESS_MUST_VALID_URL": "Движение адрес должен быть записан в действительный формат",
+      "MOTIONADDRESS_REQUIRED": "Движение адрес не требуется",
+      "MOTIONPROXY_MUST_VALID_URL": "Неверный формат",
+      "MOTIONPROXY_REQUIRED": "Обязательное поле",
+      "NAME_MUST_VALID_PATTERN": "Имя должно быть записано в действительный формат",
+      "NAME_REQUIRED": "Это имя требуется",
+      "OPTIONS_REQUIRED": "Параметры не требуется",
+      "OUTBOUNDROUTE_REQUIRED": "Обязательное поле",
+      "PASSWORD_REQUIRED": "Пароль не требуется",
+      "PHONENUMBER_REQUIRED": "Номер телефона не требуется",
+      "PHONE_REQUIRED": "Номер телефона не требуется",
+      "PREFIX_REQUIRED": "Префикс не требуется",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Приоритетным должно быть больше или равно",
+      "PRIORITY_REQUIRED": "Приоритет не требуется",
+      "PROJECT_REQUIRED": "Обязательное поле",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Обязательное поле",
+      "QUEUE_REQUIRED": "Очереди не требуется",
+      "REJECTURL_MUST_VALID_URL": "Отклонить URL должен быть записан в действительный формат",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Повтор должно быть больше или равно",
+      "SECRETACCESSKEY_REQUIRED": "Обязательное поле",
+      "SENDERSTRING_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Неверный формат",
+      "SID_REQUIRED": "Значение SID не требуется",
+      "TAG_REQUIRED": "Обязательное поле",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Технология/ресурсов не требуется",
+      "TEXT_MAX_LENGTH": "Значение должно иметь максимальную длину, равную {{max}}",
+      "TEXT_REQUIRED": "Поле text не требуется",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Тайм-аута должно быть больше или равно",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+      "TIMEOUT_REQUIRED": "Тайм-аут не требуется",
+      "TIMEZONE_REQUIRED": "Часовой пояс не требуется",
+      "TOKEN_REQUIRED": "Маркер не требуется",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Истинный приоритет должно быть больше или равно",
+      "TRUEPRIORITY_REQUIRED": "Истинный приоритет не требуется",
+      "TRUNK_REQUIRED": "Обязательное поле",
+      "TYPE_REQUIRED": "Обязательное поле",
+      "URL_REQUIRED": "URL-адрес не требуется",
+      "USERNAME_REQUIRED": "Обязательное поле",
+      "VALUE_REQUIRED": "Это значение требуется",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Обязательное поле",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Вес должен быть больше или равно",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "На время завершения должно быть больше или равно"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "По оценкам времени удержания объявить о",
+    "EXTENSION": "Добавочный номер",
+    "EXTERNALDIAL": "Внешний диск набора команд",
+    "FAILED": "Не удалось",
+    "FALSEPRIORITY": "Ложный приоритет",
+    "FAX": "Факс",
+    "FIDELITY": "Четкость",
+    "FIELD": "Поле",
+    "FIELDS": "Поля",
+    "FILE": "Файл",
+    "FILE_NOT_FOUND": "Файл не найден",
+    "FILTER": "Фильтр",
+    "FILTERS": "Фильтры",
+    "FINISH": "Готово",
+    "FONTSIZE": "Размер шрифта",
+    "FORMAT": "Формат",
+    "FREE": "Бесплатно",
+    "FROM": "От",
+    "FULLNAME": "Полное Имя",
+    "GENERAL": "Генеральной",
+    "GLOBAL": "Глобальной",
+    "GOSUB": "For to",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Отключение",
+    "HANGUPCAUSE_1": "1 = номер нераспределенных",
+    "HANGUPCAUSE_16": "16 = Normail вызова",
+    "HANGUPCAUSE_17": "17 = пользователь занят",
+    "HANGUPCAUSE_18": "18 = пользователь не отвечает (Вашему телефону устройство не подключено)",
+    "HANGUPCAUSE_21": "На XXI век = Вызов отклонен",
+    "HANGUPCAUSE_22": "22 = Номер борозды изменился",
+    "HANGUPCAUSE_27": "27 = пункт назначения не по порядку",
+    "HANGUPCAUSE_38": "38 = сети",
+    "HANGUPCAUSE_41": "41 = Временный сбой",
+    "HANGUP_CAUSE": "Отключение причиной",
+    "HEADERS": "Заголовки",
+    "HELP": {
+      "AFTERCALLWORK": "Если активно, оператор будет установлен на паузу после полного завершения вызова в очередь",
+      "AFTERCALLWORKDURATION": "Длительность паузы включается работа после вызова параметр",
+      "ANNOUNCECALLERPOSITION": "Определяет номер вызывающего абонента в очереди должно быть объявлено на нее. Если установлено значение Нет, положение никогда не будет объявлено дополнительно. Если установлено значение Да, абонента в положении всегда будет объявлено дополнительно. Если для этого параметра установлено значение предела, абонент услышит ее положение в очереди только если он находится в пределах заданного предела, объявить-position-предел. Если значение установлено на более абонент услышит ее положение, если она выходит за рамки номер определяется объявить-position-предел.",
+      "ANNOUNCEHOLDTIME": "Определяет по оценкам времени удержания должен воспроизводиться вместе с периодических объявлений.",
+      "ANNOUNCETOAGENT": "Используется для воспроизведения объявление на оператора, ответил на вызов, обычно ему знать, какие очереди вызывающего абонента.",
+      "CONTEXT": "Позволяет вызывающему абоненту для выхода из очереди нажатием одной цифры DTMF. Если контекст не указан и абонент вводит номер, цифра будет пытаться быть подобраны в контексте указанного и команду display dialplan analysis исполнения будет и впредь.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Оценка текущего времени удержания\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "HOLDTIMEANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Время удержания\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "LIST": "Contact Manager список используется для связи контакты",
+      "MANDATORYDISPOSITION": "Обязательное распоряжение",
+      "MANDATORYDISPOSITIONPAUSEID": "Статус паузы, чтобы установить во время обязательного распоряжения",
+      "MEMBERDELAY": "Если вы хотите быть задержка до вызывающего абонента и очереди членом соединены друг с другом.",
+      "MINANNOUNCEFREQUENCY": "Указывает минимальное количество времени, которое должно пройти перед тем мы объявляем о абонента в позицию в очереди еще раз. Это значение используется при абонента в положение может меняться очень часто, чтобы предотвратить слушания вызывающего абонента несколько обновлений в короткий период времени.",
+      "MINUTEANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Минуты\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "MINUTESANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Минуты\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "MONITORFORMAT": "Указывает формат файла для использования при записи. Если монитор формата неактивно, вызовы не будут записаны.",
+      "MOTIONPROXY": "Пожалуйста, введите в следующем формате: &LT;протокола>://<ipaddress>[:<порт>]. Пример: https://X.Y.Z.W",
+      "MUSICONHOLD": "Устанавливает музыки класса для использования в конкретной очереди.",
+      "NAME": "Только цифры, буквы и специальные символы (_) поддерживаются",
+      "PERIODICANNOUNCE": "Набор периодических объявлений, воспроизводятся в том порядке они определены.",
+      "PERIODICANNOUNCEFREQUENCY": "Показывает, как часто мы должны сделать периодические объявления для абонента.",
+      "RECORDING": "Включение записи вызова",
+      "REPORTHOLDTIMEAGENT": "Позволяет создавать отчеты о абонента в время удержания в очередь член до моста.",
+      "RINGINUSE": "Используется для предотвращения отправки вызовов для членов, состояние которого находится в использовании.",
+      "SECONDSANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"секунд\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "THANKYOUANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Благодарим вас за ваше терпение\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "THEREAREANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Есть\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "TIMEOUTRESTART": "Если установлено значение Да, Сброс тайм-аут для ответа оператора либо занят или состояние перегрузки будет получено от канала.",
+      "TYPE": "Определяет роль SIP в Asterisk. Пользователь: используется для проверки подлинности входящих - Одноранговые сети: для исходящих вызовов - друга: охватывает как характеристики выше.",
+      "VOICEMAIL_CONTEXT": "В контексте относительного добавочный номер.",
+      "WAITINGCALLSANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Вызовов ожидающих\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех.",
+      "WELCOMEMESSAGE": "Это первое сообщение, отправленное контактору",
+      "YOUARENEXTANNOUNCE": "Если не определено, будет играть значение по умолчанию (\"Теперь Вы сначала в линии\"). Если установлено на пустое значение, запрос не будет воспроизводиться на всех."
+    },
+    "HIDE_DETAILS": "Скрыть подробности",
+    "HOLDTIMEANNOUNCE": "Время удержания объявить о",
+    "HOST": "Принимающей",
+    "ID": "Id",
+    "IDLE": "Обороты холостого хода",
+    "IN": "В",
+    "INBOUNDROUTES": "Входящие маршруты",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Вставьте свое текстовое сообщение здесь",
+    "INTEGRATIONS": "Интеграция",
+    "INTERACTION": "Взаимодействие",
+    "INTERACTIONS": "Взаимодействие",
+    "INTERNAL": "Внутренние",
+    "INTERNALDIAL": "Внутреннего набора",
+    "INTERNALROUTES": "Внутренние маршруты",
+    "INTERVAL": "Пробег до очередной замены масла",
+    "INTERVALS": "Интервалы времени",
+    "INUSE": "В ИСПОЛЬЗОВАНИИ",
+    "INVALID": "Неверный",
+    "IN_USE": "В использовании",
+    "JOINWHENEMPTY": "Присоединиться к при пустом",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Ключ",
+    "LAGGED": "Отстает",
+    "LANGUAGE": "язык",
+    "LASTMESSAGE": "Последнее сообщение",
+    "LASTNAME": "Фамилия",
+    "LAST_MONTH": "Прошлый месяц",
+    "LEAVEWHENEMPTY": "Оставьте при пустом",
+    "LEXREGION": "Область",
+    "LIMITED": "Ограниченный",
+    "LIST": "Список",
+    "LOGGED_IN": "Вход в систему",
+    "LOGIN_TIME": "Время входа",
+    "LOGO": "Логотип",
+    "LOGOUT": "Выход из системы",
+    "MACRO": "Макрос",
+    "MAIL": "Почта",
+    "MAILBOX": "Почтовый ящик",
+    "MAILBOX@CONTEXT": "Фотогалерея@контексте",
+    "MANAGED": "Удалось",
+    "MANDATORYDISPOSITION": "Обязательное распоряжение",
+    "MANDATORYDISPOSITIONPAUSEID": "Обязательный статус паузы",
+    "MARK_AS_UNREAD": "Отметить как непрочитанное",
+    "MAXLENGTH": "Максимальная длина",
+    "MAXMESSAGES": "Max сообщений",
+    "MAXSECONDS": "Max секунд",
+    "MAY": "май",
+    "MEMBERDELAY": "Член временной задержки",
+    "MESSAGE": "Сообщение",
+    "MESSAGES": "Сообщения",
+    "MESSAGESALIGNMENT": "Выравнивание сообщений",
+    "METHOD": "Метод",
+    "METRIC": "метрический",
+    "MINANNOUNCEFREQUENCY": "Объявить о минимальной частоты",
+    "MINUTEANNOUNCE": "Минуту объявить о",
+    "MINUTESANNOUNCE": "Минут объявить о",
+    "MOBILE": "Для мобильных ПК",
+    "MODULES": "Модули",
+    "MOHSOUNDS": "Мз звуки",
+    "MONITORFORMAT": "Формат записи",
+    "MORE": "Более",
+    "MOTIONADDRESS": "Адрес движения",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Булл движения",
+    "MOTIONPROXY": "Прокси-сервер или Движение доменных",
+    "MOTION_BULL": "Булл движения",
+    "MUSICONHOLD": "Музыка на удержании",
+    "MUSICONHOLDS": "Разная музыка на удержании",
+    "NAME": "Имя",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Новые ChanSpy",
+    "NEW_CONTACT": "Новый контакт",
+    "NEW_CONTEXT": "Новом контексте",
+    "NEW_INBOUNDROUTE": "Новый маршрут входящих вызовов",
+    "NEW_INTERNALROUTE": "Новых внутренних маршрутов",
+    "NEW_MUSICONHOLD": "Новая музыка на удержании",
+    "NEW_OUTBOUNDROUTE": "Новый маршрут исходящих вызовов",
+    "NEW_PROJECT": "Новый проект",
+    "NEW_TAB": "Новая вкладка",
+    "NEW_TAG": "Новую метку",
+    "NEW_VARIABLE": "Новой переменной",
+    "NEW_VOICEMAIL": "Новые сообщения голосовой почты",
+    "NEW_VOICEQUEUE": "Новые голосовые очереди",
+    "NO": "Нет",
+    "NONE": "При этом никто не голосовал",
+    "NOOP": "Нооп",
+    "NOTE": "Заметка",
+    "NOTES": "Примечания",
+    "NOTIFICATION": "уведомление",
+    "NOTIFICATIONSHAKE": "Встряска",
+    "NOTIFICATIONSOUND": "звук",
+    "NOTIFICATIONTEMPLATE": "шаблон",
+    "NOT_INUSE": "Не используется",
+    "NO_AGENT_ONLINE": "Ни один оператор На Сайте",
+    "NO_APPS_AVAILABLE": "Нет доступных приложений",
+    "NO_AVAILABLE_INFO": "Нет доступной информации",
+    "NO_INTERACTION_AVAILABLE": "Нет доступных взаимодействий",
+    "NO_MESSAGE_AVAILABLE": "Нет доступных сообщений",
+    "NO_MOHSOUND_AVAILABLE": "Нет музыки на удержании имеющихся",
+    "NO_RATING": "Нет рейтинга",
+    "NO_REGISTRY": "Раздел реестра не",
+    "NO_SOUND_AVAILABLE": "Никаких звуков не доступно",
+    "NUMBER": "номер",
+    "OF": "В",
+    "ONHOLD": "На удержании",
+    "OPEN": "Открыть",
+    "OPENCHANNEL": "Открыть канал",
+    "OPENED": "Открыть",
+    "OPERATOR": "Оператор",
+    "OPTIONS": "Варианты",
+    "ORIGINATED": "Возникла",
+    "OTHERS": "Другие",
+    "OUT": "Вне",
+    "OUTBOUNDDIAL": "Набор исходящих вызовов",
+    "OUTBOUNDROUTE": "Исходящий маршрут",
+    "OUTBOUNDROUTES": "Маршруты исходящих вызовов",
+    "OUTBOUND_CALLS": "Исходящие вызовы",
+    "OUTPUT": "Выход",
+    "PAGE": "Страница",
+    "PARTIALPAUSE": "Частичная приостановка",
+    "PASSWORD": "Пароль",
+    "PAUSE": "Пауза",
+    "PAUSED": "Приостановлено",
+    "PAUSE_TIME": "Время паузы",
+    "PAYMENTMETHOD": "Способы оплаты",
+    "PENALTY": "Смертная казнь",
+    "PENDING": "В ожидании",
+    "PERIODICANNOUNCE": "Периодические объявить о",
+    "PERIODICANNOUNCEFREQUENCY": "Периодические объявить о частоте",
+    "PERSONAL_INFO": "Личная информация",
+    "PHONE": "Номер телефона",
+    "PHONENUMBER": "Номер телефона",
+    "PHONE_STATE": "Состояние телефона",
+    "PHONE_STATUS": "Состояние телефона",
+    "PLAYBACK": "Воспроизведение",
+    "PLUGINS": "Плагины",
+    "PORT": "Порт",
+    "POSITION": "Положение",
+    "POSTALCODE": "Почтовый код",
+    "PREFIX": "Префикс",
+    "PREVIEW": "Предварительный просмотр",
+    "PRIORITY": "Первоочередное внимание",
+    "PROJECT": "Cally-Square проекта",
+    "PROJECTS": "Проекты",
+    "PROXY": "полномочие",
+    "QUEUE": "Очереди",
+    "QUEUES": "Очереди",
+    "QUEUETRANSFER": "Передача очереди",
+    "QUEUETRANSFERTIMEOUT": "Тайм-аут передачи очереди",
+    "QUEUE_CALLS": "Вызовы в очереди",
+    "QUEUE_PARAMETERS": "Параметры очереди",
+    "QUEUE_PARAMS": "Параметры очереди",
+    "RANDOM": "Случайная",
+    "RANDOMPERIODICANNOUNCE": "Случайные периодические объявить о",
+    "RATING": "Рейтинг",
+    "REACHABLE": "Доступен",
+    "READY": "Готов к работе",
+    "REALTIME": "В режиме реального времени",
+    "RECALLME": "Напомнить мне",
+    "RECEIVED_AT": "Полученные на",
+    "RECEIVEURL": "Получить URL",
+    "RECORD": "Запись",
+    "RECORDING": "Запись",
+    "RECORDINGFORMAT": "Формат записи",
+    "RECORDINGS": "Записи",
+    "REFRESH_INTERACTIONS": "Обновить взаимодействий",
+    "REGISTERED": "Зарегистрированные",
+    "REGISTRY": "Реестр",
+    "REJECT": "Отклонить",
+    "REJECTED": "Отклонено",
+    "REJECTMETHOD": "Отклонить метод",
+    "REJECTURL": "Отклонить URL",
+    "RELOAD": "Перезагрузить",
+    "REPLY": "Ответить",
+    "REPORT": "отчет",
+    "REPORTHOLDTIMEAGENT": "Доклад оператор время удержания",
+    "RETRY": "Повторите попытку",
+    "RING": "Кольцо",
+    "RINGGROUP": "Кольцо группы",
+    "RINGING": "При звонке",
+    "RINGINUSE": "Кольцо в использовании",
+    "ROWSPERPAGE": "Строк на странице",
+    "RULE": "Правило",
+    "SAVE": "Сохранить",
+    "SCHEDULEDAT": "Запланировано на",
+    "SCHEDULED_CALLS": "Запланированные звонки",
+    "SCREENRECORDING": "Управление записью экрана",
+    "SCRIPT": "скрипт",
+    "SEARCH_FOR_ANYONE": "Для поиска любого",
+    "SECONDSANNOUNCE": "Секунд объявить о",
+    "SECRETACCESSKEY": "Секретный ключ доступа",
+    "SECURITY_SUITE": "Люкс для обеспечения безопасности",
+    "SELECT": "Выбрать",
+    "SELECTED": "Выбранные",
+    "SELECTED_AGENTS": "Выбранные операторы",
+    "SELECTED_TEAMS": "Выбранные группы",
+    "SELECTED_USERS": "Избранные пользователи",
+    "SELECT_ACCOUNT": "Выберите учетную запись",
+    "SELECT_ALL": "Выбрать все",
+    "SELECT_DATE": "Выберите Дата начала",
+    "SELECT_NONE": "Выберите пункт None",
+    "SELECT_STATUS": "Выберите состояние",
+    "SELECT_TYPE": "Выберите тип",
+    "SEND": "Отправить",
+    "SENDMAIL": "Отправка сообщения электронной почты",
+    "SENTIMENTANALYSIS": "Анализ настроений",
+    "SERVICE": "обслуживание",
+    "SESSIONS": "сессии",
+    "SET": "Установить",
+    "SETINTERFACEVARIABLES": "Установите интерфейс переменных",
+    "SETQUEUEENTRYVARIABLES": "Задать очередь запись переменных",
+    "SETQUEUEVARIABLES": "Задать очередь переменных",
+    "SETTINGS": "Настройки",
+    "SHOW_ALL_FIELDS": "Показать все поля",
+    "SHOW_DETAILS": "Показать детали",
+    "SMS": "SMS",
+    "SMTP": "Сервер SMTP",
+    "SMTP_HOST": "Узел SMTP",
+    "SMTP_PORT": "Порт SMTP",
+    "SOCIAL": "Социальная",
+    "SORT": "Порядок сортировки",
+    "SOURCE": "Источник",
+    "SPYINTERACTION": "Spy",
+    "STAFF": "Персонал",
+    "STARTEDAT": "Начато в",
+    "STARTTIME": "Время начала",
+    "START_SCREENRECORDING": "Начать запись экрана",
+    "STATE": "Государство",
+    "STATUS": "Состояние",
+    "STOP_SCREENRECORDING": "Остановить запись экрана",
+    "STRATEGY": "Стратегия",
+    "SUBJECT": "При условии",
+    "SYSTEM": "Системы",
+    "TAG": "Тег",
+    "TAGS": "Теги индексов",
+    "TALKING": "Разговор",
+    "TEAMS_ASSOCIATION": "Ассоциация команд",
+    "TECHNOLOGY/RESOURCE": "Технологии и ресурсов",
+    "TELEPHONES": "Телефоны",
+    "TEMPLATE": "Шаблон",
+    "TEXT": "Текст",
+    "THANKYOUANNOUNCE": "\"Спасибо\" объявить о",
+    "THEREAREANNOUNCE": "'Есть' объявить о",
+    "TIMEOUT": "Превышение лимита времени",
+    "TIMEOUTRESTART": "Тайм-аут перезапуска",
+    "TIMER": "Таймер",
+    "TIMES": "Количество раз в взаимодействие",
+    "TIMEZONE": "Часовой пояс",
+    "TO": "К",
+    "TOKEN": "Маркер",
+    "TOOLTIP_SCREENRECORDING_OFF": "Запись экрана доступна",
+    "TOOLTIP_SCREENRECORDING_ON": "Идет запись экрана",
+    "TOTAL": "Итого",
+    "TOTAL_OFFERED": "Общий объем предлагаемых",
+    "TRANSCRIBE": "Расшифруйте",
+    "TRANSFER": "Перевод",
+    "TRANSPORT": "Транспорта",
+    "TRUEPRIORITY": "Истинный приоритет",
+    "TRUNK": "Сл",
+    "TRUNKS": "Соединительные линии внешней АТС",
+    "TRUNK_STATUS": "Состояния СЛ",
+    "TYPE": "Тип",
+    "UNAVAILABLE": "Недоступен",
+    "UNIQUEID": "Уникальный идентификатор",
+    "UNKNOWN": "Неизвестный",
+    "UNMANAGED": "Неуправляемые коммутаторы",
+    "UNPAUSE": "Возобновить",
+    "UNREACHABLE": "Недоступен",
+    "UNREGISTERED": "Незарегистрированный",
+    "UP": "Вверх",
+    "UPDATE": "Обновление",
+    "UPLOADING": "Выгрузка",
+    "URL": "URL",
+    "USER": "Пользователь",
+    "USERNAME": "имя пользователя",
+    "USERS": "Пользователи",
+    "VALUE": "Значение",
+    "VARIABLE": "Переменная",
+    "VIDAOOSESSION": "Начать видеозвонок",
+    "VIDEO": "видео",
+    "VIDEOSUPPORT": "Поддержка видео",
+    "VOICE": "Голосовой связи",
+    "VOICEMAIL": "Голосовая почта",
+    "VOICEMAILS": "Сообщения голосовой почты",
+    "VOICEMAIL_CONTEXT": "Контексте",
+    "VOICEQUEUES": "Голос очередей",
+    "VOICERECORDINGS": "Запись голоса",
+    "WAITFORTHEASSIGNEDAGENT": "Подождите, пока назначенный агент",
+    "WAITING": "Ожидание",
+    "WAITINGCALLSANNOUNCE": "Ожидающих вызовов объявить о",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Веб-сайт",
+    "WEIGHT": "Вес",
+    "WELCOMEMESSAGE": "Приветственное сообщение",
+    "WHATSAPP": "Коннектор WhatsApp",
+    "WHITELABEL": "На этикетке белого цвета",
+    "WRAPUPTIME": "Время подготовки сводки",
+    "WRONG_EXTENSION": "Файл представляет неправильное расширение",
+    "YES": "Да",
+    "YOUARENEXTANNOUNCE": "\"Вы далее' объявить о"
+  }
+}
diff --git a/public/app/main/i18n/sv.json b/public/app/main/i18n/sv.json
new file mode 100644
index 0000000..4d51762
--- /dev/null
+++ b/public/app/main/i18n/sv.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Missade",
+    "ABANDONEDCALLS": "Missade kösamtal",
+    "ABANDONED_CALLS": "Missade samtal",
+    "ACCEPT": "Godta",
+    "ACCEPTMETHOD": "Acceptera metod",
+    "ACCEPTURL": "Acceptera URL",
+    "ACCESSKEYID": "Åtkomstnyckel-ID",
+    "ACCOUNT": "Konto",
+    "ACCOUNTNAME": "Kontonamn",
+    "ACCOUNTS": "Konton",
+    "ACCOUNTSID": "Konto SID",
+    "ACTIONS": "Åtgärder",
+    "ACTIVE": "Aktiva",
+    "ADD": "Lägg till",
+    "ADDRESS": "Adress",
+    "ADD_AGENT_TO_VOICEQUEUE": "Lägg till Agent till röstkö",
+    "ADD_CHANSPY": "Skapa medlyssning",
+    "ADD_CONTACT": "Lägg till kontakt",
+    "ADD_CONTEXT": "Skapa context",
+    "ADD_INBOUNDROUTE": "Skapa inkommande linje",
+    "ADD_INTERNALROUTE": "Lägg till intern linje",
+    "ADD_MOHSOUND": "Lägga till musik i vänteläge",
+    "ADD_MUSICONHOLD": "Lägga till musik i vänteläge",
+    "ADD_NOTE": "Lägg till anteckning",
+    "ADD_OUTBOUNDROUTE": "Lägg till utgående linje",
+    "ADD_PROJECT": "Lägg till projekt",
+    "ADD_TAG": "Lägg till etikett",
+    "ADD_TEAM_TO_VOICEQUEUE": "Lägg till Team till röstkö",
+    "ADD_VARIABLE": "Lägg till variabel",
+    "ADD_VOICEMAIL": "Skapa röstmeddelande",
+    "ADD_VOICEQUEUE": "Lägg till röst kö",
+    "ADVANCED": "Avancerat",
+    "AFTERCALLWORK": "After Call Work",
+    "AFTERCALLWORKDURATION": "After Call Work-tid",
+    "AGENT": "Agent",
+    "AGENTS": "Agenter",
+    "AGENTSADD_QUEUE": "Lägg till agenter till kö",
+    "AGENTTRANSFER": "Agentöverföring",
+    "AGENTTRANSFERTIMEOUT": "Agent Transfer Timeout",
+    "AGENT_TIMEOUT": "Tidsgräns för agent",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Alla",
+    "ALLOWCODECS": "Tillåtna codecs",
+    "ALL_AGENTS": "Alla agenter",
+    "ALL_TEAMS": "Alla teams",
+    "ALL_USERS": "Alla användare",
+    "ALPHABETICAL": "Alfabetisk",
+    "ALWAYS": "Alltid",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Meddela köposition",
+    "ANNOUNCEFREQUENCY": "Meddelandefrekvens",
+    "ANNOUNCEHOLDTIME": "Meddela kötid",
+    "ANNOUNCEMENTS": "Meddelanden",
+    "ANNOUNCEPOSITIONLIMIT": "Begränsning för meddelande av köposition",
+    "ANNOUNCETOAGENT": "Meddela till agent",
+    "ANNOUNCE_OVERRIDES": "Meddela overrides",
+    "ANSWER": "Svar",
+    "ANSWERED": "Svarade",
+    "API": "API",
+    "APIKEY": "Api-nyckel",
+    "APPLICATION": "Applikation",
+    "APPLICATION_NAME": "Applikationsnamn",
+    "ARGUMENTS": "Argument",
+    "ATTACH": "Bifoga",
+    "AUDIO": "Ljud",
+    "AUDIOFILES": "Ljudfiler",
+    "AUDIO_FILES": "Ljudfiler",
+    "AUTH": "Autentisering",
+    "AUTHTOKEN": "Tillstånd token",
+    "AUTOPAUSE": "Autopaus",
+    "AUTOREPLY": "Auto-svar",
+    "AVG_BILLABLE": "Genomsn. samtalstid",
+    "AVG_HOLD_TIME": "Genomsn. väntetid",
+    "BACK": "Tillbaka",
+    "BLACKLIST": "Blacklist",
+    "BODY": "Mailinnehåll",
+    "BOTNAME": "Bot namn",
+    "BUILDER": "Designer",
+    "BUSY": "Upptagen",
+    "CALLED": "Kallas",
+    "CALLER": "Uppringare",
+    "CALLERID": "Nummerpresentation",
+    "CALLER_ID": "Nummerpresentation",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampanj",
+    "CANCEL": "Annullera",
+    "CANNEDANSWERS": "Konserverade svar",
+    "CANNED_ANSWER_NOT_FOUND": "Inga färdiga svar hittades",
+    "CANNED_ANSWER_SEARCH": "Ange text för att söka en burka svar",
+    "CANT_DOWNLOAD_THIS_FILE": "Kan inte ladda ner den här filen",
+    "CAPACITY": "Kapacitet",
+    "CHANNEL": "kanal",
+    "CHANNELS": "Kanaler",
+    "CHANSPIES": "Medlyssning",
+    "CHANSPY": "Medlyssning",
+    "CHAT": "Chatt",
+    "CITY": "City",
+    "CLEAR": "Klar",
+    "CLOSE": "Stänga",
+    "CLOSED": "Stängd",
+    "CLOSEDAT": "Stängd",
+    "CLOSEMETHOD": "Stäng metod",
+    "CLOSEURL": "Stäng URL",
+    "CLOSING": "Stäng",
+    "COMMAND": "Kommando",
+    "COMPANIES": "Företag",
+    "COMPANY": "Företag",
+    "CONDITION": "Skick",
+    "CONFIRM_PASSWORD": "Bekräfta lösenord",
+    "CONNECTED": "Ansluten",
+    "CONTACT": "Kontakta",
+    "CONTACTMANAGER": "Contact Manager",
+    "CONTACTS": "Kontakter",
+    "CONTENT": "Innehåll",
+    "CONTEXT": "Context",
+    "CONTEXTS": "Context",
+    "COUNTRY": "Land",
+    "CREATED_AT": "Skapad",
+    "CUSTOM": "Anpassad",
+    "CUSTOMER_JOURNEY": "Kundresa",
+    "CUSTOM_FIELDS": "Anpassade fält",
+    "CUTDIGITS": "Skär siffror",
+    "DASHBOARD": "Dashboard",
+    "DATE": "Datum",
+    "DATE_OF_BIRTH": "Födelsedatum",
+    "DEFAULT": "Standard",
+    "DEFAULT_PAUSE": "Standard paus",
+    "DELETE": "Radera",
+    "DELETE_APP": "Radera app",
+    "DELETE_CHANSPY": "Radera medlyssning",
+    "DELETE_CONTEXT": "Radera context",
+    "DELETE_HOPPER": "Ta bort hoppern",
+    "DELETE_INBOUNDROUTE": "Ta bort inkommande linje",
+    "DELETE_INTERACTION": "Ta bort interaktion",
+    "DELETE_INTERNALROUTE": "Radera intern linje",
+    "DELETE_MOHSOUND": "Ta bort musik i vänteläge",
+    "DELETE_MUSICONHOLD": "Ta bort musik i vänteläge",
+    "DELETE_OUTBOUNDROUTE": "Radera utgående linje",
+    "DELETE_PROJECT": "Ta bort projekt",
+    "DELETE_SELECTED": "Ta bort markerade",
+    "DELETE_VOICEDISPOSITION": "Ta bort röstkategori",
+    "DELETE_VOICEMAIL": "Radera röstmeddelande",
+    "DELETE_VOICEQUEUE": "Ta bort röstmeddelanden kö",
+    "DELETE_VOICERECORDING": "Ta bort röstinspelning",
+    "DELIVERYREPORTURL": "Leveransrapportadress",
+    "DESCRIPTION": "Beskrivning",
+    "DESTINATION": "Destination",
+    "DESTINATIONPATTERN": "Destinationsmönster",
+    "DETAIL": "Detalj",
+    "DETAILS": "Detaljer",
+    "DIAL": "Ring",
+    "DIALER": "Dialer",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "DID",
+    "DIRECTORY": "Katalog",
+    "DISABLED": "Inaktiverad",
+    "DISPOSITION": "Kategori",
+    "DISPOSITIONS": "Dispositioner",
+    "DOWNLOAD": "Ladda ner",
+    "DOWNLOAD_INTERACTION": "Ladda ner",
+    "DOWNLOAD_MOHSOUND": "Download musik i vänteläge",
+    "DOWNLOAD_VOICERECORDING": "Ladda ned röstinspelning",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Ladda ner utan bilaga",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Hämta utan bilagor",
+    "DOWNLOAD_WITH_ATTACHMENT": "Ladda ner med bilaga",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Ladda ner med bilagor",
+    "DROPPED": "Tappade",
+    "DROP_TO_UPLOAD": "Släpp för att ladda upp",
+    "DURATION": "Varaktighet",
+    "EDIT": "Redigera",
+    "EDIT_AGENT": "Redigera Agent",
+    "EDIT_AGI": "Redigera AGI",
+    "EDIT_AMAZONLEX": "Redigera Lex-konfiguration",
+    "EDIT_APP": "Editera app",
+    "EDIT_AUTOREPLY": "Redigera frånvaromeddelande",
+    "EDIT_CHANSPY": "Redigera medlyssning",
+    "EDIT_CLOSE": "Redigera stäng",
+    "EDIT_CONTEXT": "Redigera context",
+    "EDIT_CUSTOM": "Redigera custom",
+    "EDIT_DIAL": "Redigera kortnummer",
+    "EDIT_DIALOGFLOW": "Redigera Dialogflow-konfiguration",
+    "EDIT_EXTERNALDIAL": "Redigera extern uppringning",
+    "EDIT_GOTO": "Redigera GoTo",
+    "EDIT_GOTOIF": "Redigera GotoIf",
+    "EDIT_GOTOP": "Redigera GotoP",
+    "EDIT_HANGUP": "Redigera avslut av samtal",
+    "EDIT_HOPPER": "Redigera hoppern",
+    "EDIT_INBOUNDROUTE": "Redigera inkommande linje",
+    "EDIT_INTERNALDIAL": "Redigera intern upprungning",
+    "EDIT_INTERNALROUTE": "Redigera intern linje",
+    "EDIT_INTERVAL": "Redigera intervall",
+    "EDIT_MUSICONHOLD": "Redigera musik i vänteläge",
+    "EDIT_NOOP": "Redigera Noop",
+    "EDIT_OUTBOUNDROUTE": "Redigera utgående linje",
+    "EDIT_PLAYBACK": "Redigera uppspelning",
+    "EDIT_PROJECT": "Redigera projekt",
+    "EDIT_QUEUE": "Redigera kö",
+    "EDIT_RINGGROUP": "Redigera ringgrupp",
+    "EDIT_SET": "Redigera set",
+    "EDIT_SYSTEM": "Redigera system",
+    "EDIT_TAG": "Redigera tagg",
+    "EDIT_TRUNK": "Redigera trunk",
+    "EDIT_VOICEDISPOSITION": "Redigera röstkategori",
+    "EDIT_VOICEMAIL": "Redigera röstmeddelande",
+    "EDIT_VOICEQUEUE": "Redigera röst kö",
+    "EDIT_VOICERECORDING": "Redigera röstinspelning",
+    "EMAIL": "Email",
+    "EMAILADDRESS": "E-postadress",
+    "EMAILBODY": "E-mailets innehåll",
+    "EMAILSUBJECT": "E-mailets ämne",
+    "ENABLED": "Aktiverad",
+    "ENCRYPTION": "Kryptering",
+    "ENDTIME": "Sluttid",
+    "ENVELOPE": "Kuvert",
+    "EQUALS": "jämlikar",
+    "ERROR": "Fel",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Acceptera URL måste vara skrivna på ett giltigt format",
+      "ACCESSKEYID_REQUIRED": "Åtkomstnyckel-ID krävs",
+      "ACCOUNTNAME_REQUIRED": "Kontonamnet är obligatoriskt",
+      "ACCOUNTSID_REQUIRED": "Obligatoriskt fält",
+      "AFTERCALLWORKDURATION_REQUIRED": "Obligatorisk fält",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
+      "AGENT_REQUIRED": "Agenten är obligatoriskt",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
+      "AGENT_TIMEOUT_REQUIRED": "Agenten Timeout krävs",
+      "ALIAS_REQUIRED": "Alias är obligatoriskt",
+      "APIKEY_REQUIRED": "API-nyckel krävs",
+      "APPLICATION_REQUIRED": "Obligatorisk fält",
+      "AUTHTOKEN_REQUIRED": "Återvinningsanläggningen Token krävs",
+      "BOTNAME_REQUIRED": "Botnamn krävs",
+      "CLOSEURL_MUST_VALID_URL": "Stäng URL måste vara skrivna på ett giltigt format",
+      "COMMAND_REQUIRED": "Obligatoriskt fält",
+      "CONDITION_REQUIRED": "Skicket är obligatoriskt",
+      "CONFIRM_NOT_MATCH": "Lösenorden stämmer inte överens",
+      "CONTENT_REQUIRED": "Innehållet är obligatoriskt",
+      "CONTEXT_REQUIRED": "Obligatorisk fält",
+      "DESTINATIONPATTERN_REQUIRED": "Obligatorisk fält",
+      "DISPOSITION_REQUIRED": "Dispositionen är obligatoriskt",
+      "EMAIL_MUST_VALID": "Obligatorisk fält",
+      "EMAIL_REQUIRED": "Obligatorisk fält",
+      "EXTENSION_REQUIRED": "Obligatorisk fält",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den falska prioritet måste vara större än eller lika med",
+      "FALSEPRIORITY_REQUIRED": "Den falska prioritering krävs",
+      "FIELD_REQUIRED": "Fältet är obligatoriskt",
+      "FIRSTNAME_REQUIRED": "Förnamn är obligatoriskt",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
+      "FONTSIZE_REQUIRED": "Obligatoriskt fält",
+      "FULLNAME_REQUIRED": "Obligatorisk fält",
+      "HOST_REQUIRED": "Värd är obligatoriskt",
+      "KEY_MAX_LENGTH": "Nyckeln måste ha en maximal längd lika med {{max}}",
+      "KEY_REQUIRED": "Nyckeln är obligatoriskt",
+      "LIST_REQUIRED": "Listan krävs",
+      "MAILBOX_REQUIRED": "Obligatorisk fält",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält",
+      "METHOD_REQUIRED": "Obligatoriskt fält",
+      "MOTIONADDRESS_MUST_VALID_URL": "Rörelsen måste vara skrivna på ett giltigt format",
+      "MOTIONADDRESS_REQUIRED": "Motion adress krävs",
+      "MOTIONPROXY_MUST_VALID_URL": "Fel format",
+      "MOTIONPROXY_REQUIRED": "Obligatoriskt fält",
+      "NAME_MUST_VALID_PATTERN": "Ogiltigt format",
+      "NAME_REQUIRED": "Obligatorisk fält",
+      "OPTIONS_REQUIRED": "Obligatorisk fält",
+      "OUTBOUNDROUTE_REQUIRED": "Obligatoriskt fält",
+      "PASSWORD_REQUIRED": "Obligatorisk fält",
+      "PHONENUMBER_REQUIRED": "Obligatorisk fält",
+      "PHONE_REQUIRED": "Obligatorisk fält",
+      "PREFIX_REQUIRED": "Obligatorisk fält",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Prioritet måste vara större än eller lika med",
+      "PRIORITY_REQUIRED": "Obligatorisk fält",
+      "PROJECT_REQUIRED": "Obligatoriskt fält",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält",
+      "QUEUE_REQUIRED": "Kön är obligatoriskt",
+      "REJECTURL_MUST_VALID_URL": "Avvisa URL måste vara skrivna på ett giltigt format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
+      "SECRETACCESSKEY_REQUIRED": "Obligatoriskt fält",
+      "SENDERSTRING_MAX_LENGTH": "Värdet måste ha en maximal längd som är lika med {{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Fel format",
+      "SID_REQUIRED": "Ffa är obligatoriskt",
+      "TAG_REQUIRED": "Obligatoriskt fält",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Obligatorisk fält",
+      "TEXT_MAX_LENGTH": "Värdet måste ha en maximal längd som är lika med {{max}}",
+      "TEXT_REQUIRED": "Texten i fältet är obligatoriskt",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
+      "TIMEOUT_REQUIRED": "Obligatorisk fält",
+      "TIMEZONE_REQUIRED": "Obligatorisk fält",
+      "TOKEN_REQUIRED": "Token är obligatoriskt",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Den riktiga prioriteringen måste vara större än eller lika med",
+      "TRUEPRIORITY_REQUIRED": "Den verkliga prioriterade krävs",
+      "TRUNK_REQUIRED": "Obligatoriskt fält",
+      "TYPE_REQUIRED": "Obligatoriskt fält",
+      "URL_REQUIRED": "URL krävs",
+      "USERNAME_REQUIRED": "Obligatoriskt fält",
+      "VALUE_REQUIRED": "Obligatorisk fält",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Obligatoriskt fält",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara lika eller mer"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Beräknad kötidsmeddelande",
+    "EXTENSION": "Förlängning",
+    "EXTERNALDIAL": "Externa samtal",
+    "FAILED": "Misslyckades",
+    "FALSEPRIORITY": "Falska prioritet",
+    "FAX": "Fax",
+    "FIDELITY": "Fidelity",
+    "FIELD": "Fält",
+    "FIELDS": "Fält",
+    "FILE": "Fil",
+    "FILE_NOT_FOUND": "Filen hittades inte",
+    "FILTER": "Filter",
+    "FILTERS": "Filter",
+    "FINISH": "Avsluta",
+    "FONTSIZE": "Textstorlek",
+    "FORMAT": "Format",
+    "FREE": "Fri",
+    "FROM": "Från",
+    "FULLNAME": "Fullständigt namn",
+    "GENERAL": "Allmänt",
+    "GLOBAL": "Global",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Lägg på",
+    "HANGUPCAUSE_1": "1 = Ej allokerat nummer",
+    "HANGUPCAUSE_16": "16 = Normalt avslut",
+    "HANGUPCAUSE_17": "17 = Användaren upptagen",
+    "HANGUPCAUSE_18": "18 = Inget svar från användare (telefonen är inte ansluten)",
+    "HANGUPCAUSE_21": "21 = Samtal avvisat",
+    "HANGUPCAUSE_22": "22 = Antal ändrat",
+    "HANGUPCAUSE_27": "27 = Mål ur funktion",
+    "HANGUPCAUSE_38": "38 = Nätverk ur funktion",
+    "HANGUPCAUSE_41": "41 = Tillfälligt fel",
+    "HANGUP_CAUSE": "Orsak till avslutat samtal",
+    "HEADERS": "rubriker",
+    "HELP": {
+      "AFTERCALLWORK": "Om aktiverad sätts agenten i paus efter ett avslutat samtal",
+      "AFTERCALLWORKDURATION": "Längden på After Call Work-pausen",
+      "ANNOUNCECALLERPOSITION": "Anger om den inringandes köposition ska tillkännages. Nej=aldrig, Ja=alltid, Limit=Enbart om hens köposition är inom gränsen inställd nedan, More=Enbart om hens köposition är över gränsen inställd nedan.",
+      "ANNOUNCEHOLDTIME": "Anger om den beräknade väntetiden ska spelas upp tillsammans med periodiska meddelanden. (Ja/Nej/En gång)",
+      "ANNOUNCETOAGENT": "Används för att spela upp ett meddelande för agenten som besvarar samtalet, t.ex. för att berätta vilken kö samtalet kommer ifrån.",
+      "CONTEXT": "Ger en inringande möjlighet att lämna kön genom ett knappval. Om en kontext är specificerad kommer detta knappval att försöka matchas med en samtalsplan.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Den nuvarande förväntade kötiden är\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "HOLDTIMEANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Beräknad kötid\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "LIST": "Contact Manager listan används för att knyta kontakter",
+      "MANDATORYDISPOSITION": "Obligatorisk disposition",
+      "MANDATORYDISPOSITIONPAUSEID": "Pausstatus som ska vara aktiv under obligatorisk kategorisering",
+      "MEMBERDELAY": "Ange en fördröjning innan den inringande och agenten blir sammankopplade",
+      "MINANNOUNCEFREQUENCY": "Anger den minsta tid som måste gå innan vi informerar om inringandes placering i kön igen. Detta kan används när inringandes köposition ändras ofta, för förhindra att inringande hör flera uppdateringar inom en kort tidsperiod.",
+      "MINUTEANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"minut\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "MINUTESANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"minuter\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "MONITORFORMAT": "Anger filformet som inspelningar ska sparas i. Om inaktiverad spelas samtal ej in",
+      "MOTIONPROXY": "Ange följande format: <protokoll>://<IP>[:<port>]. Exempel: https://X.Y.Z.W",
+      "MUSICONHOLD": "Ställer in musikklass som ska användas av en viss kö.",
+      "NAME": "Endast siffror, bokstäver och särskilda tecken (._) stöds",
+      "PERIODICANNOUNCE": "Ange de periodiska meddelandena som ska spelas upp (i ordning)",
+      "PERIODICANNOUNCEFREQUENCY": "Anger hur ofta vi spelar upp regelbundna meddelanden till den som ringer.",
+      "RECORDING": "Aktivera samtalsinspelning",
+      "REPORTHOLDTIMEAGENT": "Anger om agent som besvarar samtalet ska informeras om den inringandes kötid.",
+      "RINGINUSE": "Om aktiverad går det att ringa till agenter som är i aktiva samtal",
+      "SECONDSANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"sekunder\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "THANKYOUANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Tack för att du väntar\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "THEREAREANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Det är\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "TIMEOUTRESTART": "Om aktiverad så nollställs köns timeouträkning när det börjar ringa på en ny agent",
+      "TYPE": "Bestämmer SIP roll inom asterisk. Användare: används för att autentisera inkommande - Kisa: för utgående samtal - vän: omfattar både egenskaper hos ovan.",
+      "VOICEMAIL_CONTEXT": "Den relativa förlängning",
+      "WAITINGCALLSANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Samtal i kö\". Om ej definierat kommer inget meddelande att spelas upp alls.",
+      "WELCOMEMESSAGE": "Detta är det första meddelandet som skickas till kontaktorn",
+      "YOUARENEXTANNOUNCE": "Ange ett meddelande som ska spelas upp, default=\"Du är först i kön\". Om ej definierat kommer inget meddelande att spelas upp alls."
+    },
+    "HIDE_DETAILS": "Dölj detaljer",
+    "HOLDTIMEANNOUNCE": "Kötidsmeddelande",
+    "HOST": "Värd",
+    "ID": "Id",
+    "IDLE": "Idle",
+    "IN": "I",
+    "INBOUNDROUTES": "Inkommande linjer",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Sätt ditt textmeddelande här",
+    "INTEGRATIONS": "Integrationer",
+    "INTERACTION": "Interaktion",
+    "INTERACTIONS": "Interaktioner",
+    "INTERNAL": "Intern",
+    "INTERNALDIAL": "Interna samtal",
+    "INTERNALROUTES": "Interna linjer",
+    "INTERVAL": "Intervall",
+    "INTERVALS": "Intervall",
+    "INUSE": "Använd",
+    "INVALID": "Ogiltig",
+    "IN_USE": "I användning",
+    "JOINWHENEMPTY": "Anslut till tom kö",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Nyckel",
+    "LAGGED": "Laggad",
+    "LANGUAGE": "Språk",
+    "LASTMESSAGE": "Senaste meddelandet",
+    "LASTNAME": "Efternamn",
+    "LAST_MONTH": "Förra månaden",
+    "LEAVEWHENEMPTY": "Lämna tom kö",
+    "LEXREGION": "Område",
+    "LIMITED": "Begränsad",
+    "LIST": "Lista",
+    "LOGGED_IN": "Inloggad",
+    "LOGIN_TIME": "Inloggningstid",
+    "LOGO": "Logotyp",
+    "LOGOUT": "Utloggning",
+    "MACRO": "Makro",
+    "MAIL": "Post",
+    "MAILBOX": "Epost",
+    "MAILBOX@CONTEXT": "epost@context",
+    "MANAGED": "Besvarade interaktioner",
+    "MANDATORYDISPOSITION": "Obligatorisk kategorisering",
+    "MANDATORYDISPOSITIONPAUSEID": "Obligatorisk pausstatus vid kategorisering",
+    "MARK_AS_UNREAD": "markera som oläst",
+    "MAXLENGTH": "Maxlängd",
+    "MAXMESSAGES": "Max meddelanden",
+    "MAXSECONDS": "Max antal sekunder",
+    "MAY": "maj",
+    "MEMBERDELAY": "Agentfördröjning",
+    "MESSAGE": "Meddelande",
+    "MESSAGES": "Meddelanden",
+    "MESSAGESALIGNMENT": "Meddelanden Justering",
+    "METHOD": "Metod",
+    "METRIC": "Mätvärde",
+    "MINANNOUNCEFREQUENCY": "Minsta meddelandefrekvens",
+    "MINUTEANNOUNCE": "Minutmeddelande",
+    "MINUTESANNOUNCE": "Minutermeddelande",
+    "MOBILE": "Mobil",
+    "MODULES": "Moduler",
+    "MOHSOUNDS": "Kö-ljud",
+    "MONITORFORMAT": "Inspelningsformat",
+    "MORE": "Mer",
+    "MOTIONADDRESS": "Motion adress",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Motion Bull",
+    "MOTIONPROXY": "Proxy eller Motion domän",
+    "MOTION_BULL": "Motion Bull",
+    "MUSICONHOLD": "Musik i vänteläge",
+    "MUSICONHOLDS": "Musik i vänteläge",
+    "NAME": "Namn",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Ny ChanSpy",
+    "NEW_CONTACT": "Ny kontakt",
+    "NEW_CONTEXT": "Ny context",
+    "NEW_INBOUNDROUTE": "Ny inkommande linje",
+    "NEW_INTERNALROUTE": "Ny intern linje",
+    "NEW_MUSICONHOLD": "Ny musik i vänteläge",
+    "NEW_OUTBOUNDROUTE": "Ny utgående linje",
+    "NEW_PROJECT": "Nytt projekt",
+    "NEW_TAB": "Ny flik",
+    "NEW_TAG": "Nya Tag",
+    "NEW_VARIABLE": "Ny variabel",
+    "NEW_VOICEMAIL": "Nytt röstmeddelande",
+    "NEW_VOICEQUEUE": "Ny röstkö",
+    "NO": "Nej",
+    "NONE": "Ingen",
+    "NOOP": "Noop",
+    "NOTE": "Notera",
+    "NOTES": "Anteckningar",
+    "NOTIFICATION": "Underrättelse",
+    "NOTIFICATIONSHAKE": "Skaka",
+    "NOTIFICATIONSOUND": "Ljud",
+    "NOTIFICATIONTEMPLATE": "Mall",
+    "NOT_INUSE": "Inte använd",
+    "NO_AGENT_ONLINE": "Ingen Agent Online",
+    "NO_APPS_AVAILABLE": "Inga program är tillgängliga",
+    "NO_AVAILABLE_INFO": "Ingen tillgänglig info",
+    "NO_INTERACTION_AVAILABLE": "Inga interaktioner tillgänglig",
+    "NO_MESSAGE_AVAILABLE": "Inga meddelanden finns tillgängliga",
+    "NO_MOHSOUND_AVAILABLE": "Ingen musik i vänteläge tillgängliga",
+    "NO_RATING": "Inga betyg",
+    "NO_REGISTRY": "Ingen registrering",
+    "NO_SOUND_AVAILABLE": "Inga ljud tillgängliga",
+    "NUMBER": "siffra",
+    "OF": "Av",
+    "ONHOLD": "Pausad",
+    "OPEN": "Öppna",
+    "OPENCHANNEL": "Öppen kanal",
+    "OPENED": "Öppna",
+    "OPERATOR": "Operatör",
+    "OPTIONS": "Alternativ",
+    "ORIGINATED": "Ursprung",
+    "OTHERS": "Andra",
+    "OUT": "Ut",
+    "OUTBOUNDDIAL": "Utgående uppringning",
+    "OUTBOUNDROUTE": "Utgående linje",
+    "OUTBOUNDROUTES": "Utgående linjer",
+    "OUTBOUND_CALLS": "Utgående samtal",
+    "OUTPUT": "Utgång",
+    "PAGE": "Sida",
+    "PARTIALPAUSE": "Partiell paus",
+    "PASSWORD": "Lösenord",
+    "PAUSE": "Pausa",
+    "PAUSED": "Pausad",
+    "PAUSE_TIME": "Paustid",
+    "PAYMENTMETHOD": "Betalningsmetoder",
+    "PENALTY": "Prioritering",
+    "PENDING": "Väntande",
+    "PERIODICANNOUNCE": "Periodiska meddelanden",
+    "PERIODICANNOUNCEFREQUENCY": "Frekvens för periodiska meddelanden",
+    "PERSONAL_INFO": "Personlig Info",
+    "PHONE": "Telefon",
+    "PHONENUMBER": "Telefonnummer",
+    "PHONE_STATE": "Status på telefon",
+    "PHONE_STATUS": "Status på telefon",
+    "PLAYBACK": "Uppspelning",
+    "PLUGINS": "plugins",
+    "PORT": "Port",
+    "POSITION": "Läge",
+    "POSTALCODE": "Postnummer",
+    "PREFIX": "Prefix",
+    "PREVIEW": "Förhandsgranska",
+    "PRIORITY": "Prioritet",
+    "PROJECT": "Cally-Square projekt",
+    "PROJECTS": "Projekt",
+    "PROXY": "Ombud",
+    "QUEUE": "Kö",
+    "QUEUES": "Köer",
+    "QUEUETRANSFER": "Kööverföring",
+    "QUEUETRANSFERTIMEOUT": "Köröverföringstidsavbrott",
+    "QUEUE_CALLS": "Sätt samtal i kö",
+    "QUEUE_PARAMETERS": "Köparametrar",
+    "QUEUE_PARAMS": "Köparametrar",
+    "RANDOM": "Slumpmässig",
+    "RANDOMPERIODICANNOUNCE": "Slumpmässig tid för periodiska meddelanden",
+    "RATING": "Betyg",
+    "REACHABLE": "Tillgänglig",
+    "READY": "Klar",
+    "REALTIME": "Realtid",
+    "RECALLME": "Minns mig",
+    "RECEIVED_AT": "Fick vid",
+    "RECEIVEURL": "Få URL",
+    "RECORD": "Spela in",
+    "RECORDING": "Inspelning",
+    "RECORDINGFORMAT": "Inspelningsformat",
+    "RECORDINGS": "Inspelningar",
+    "REFRESH_INTERACTIONS": "Uppdatera interaktioner",
+    "REGISTERED": "Registrerad",
+    "REGISTRY": "Registrering",
+    "REJECT": "Avvisa",
+    "REJECTED": "Avvisad",
+    "REJECTMETHOD": "Förkasta metoden",
+    "REJECTURL": "Avvisa URL",
+    "RELOAD": "Ladda om",
+    "REPLY": "Svar",
+    "REPORT": "Rapportera",
+    "REPORTHOLDTIMEAGENT": "Berätta för agenten hur länge kunden har varit i kö",
+    "RETRY": "Försök igen",
+    "RING": "Ring",
+    "RINGGROUP": "Ringgrupp",
+    "RINGING": "Ringa",
+    "RINGINUSE": "Ring vid upptaget",
+    "ROWSPERPAGE": "Rader per sida",
+    "RULE": "Regel",
+    "SAVE": "Spara",
+    "SCHEDULEDAT": "Planerad till",
+    "SCHEDULED_CALLS": "Schemalagda samtal",
+    "SCREENRECORDING": "Hantera skärminspelning",
+    "SCRIPT": "Manus",
+    "SEARCH_FOR_ANYONE": "Sök",
+    "SECONDSANNOUNCE": "Sekundmeddelande",
+    "SECRETACCESSKEY": "Nyckel för hemlig åtkomst",
+    "SECURITY_SUITE": "Säkerhetssvit",
+    "SELECT": "Välj",
+    "SELECTED": "Vald",
+    "SELECTED_AGENTS": "Valda agenter",
+    "SELECTED_TEAMS": "Valda teams",
+    "SELECTED_USERS": "Valda användare",
+    "SELECT_ACCOUNT": "Välj konto",
+    "SELECT_ALL": "Markera alla",
+    "SELECT_DATE": "Välj startdatum",
+    "SELECT_NONE": "Välj ingen",
+    "SELECT_STATUS": "Välj Status",
+    "SELECT_TYPE": "Välj typ",
+    "SEND": "Skicka",
+    "SENDMAIL": "Skicka mail",
+    "SENTIMENTANALYSIS": "Sentimentanalys",
+    "SERVICE": "Service",
+    "SESSIONS": "Sessions",
+    "SET": "Ställ in",
+    "SETINTERFACEVARIABLES": "Aktivera interfacevariabler",
+    "SETQUEUEENTRYVARIABLES": "Aktivera köingångsvariabler",
+    "SETQUEUEVARIABLES": "Aktivera kövariabler",
+    "SETTINGS": "Inställningar",
+    "SHOW_ALL_FIELDS": "Visa alla fält",
+    "SHOW_DETAILS": "Visa detaljer",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP-värd",
+    "SMTP_PORT": "SMTP-port",
+    "SOCIAL": "Sociala",
+    "SORT": "Sortera",
+    "SOURCE": "Källa",
+    "SPYINTERACTION": "Spion",
+    "STAFF": "Personal",
+    "STARTEDAT": "Började vid",
+    "STARTTIME": "Starttid",
+    "START_SCREENRECORDING": "Starta skärminspelning",
+    "STATE": "Värde",
+    "STATUS": "Status",
+    "STOP_SCREENRECORDING": "Stop Screen Inspelning",
+    "STRATEGY": "Strategi",
+    "SUBJECT": "Ämne",
+    "SYSTEM": "Systemet",
+    "TAG": "Etikett",
+    "TAGS": "Etiketter",
+    "TALKING": "Prata",
+    "TEAMS_ASSOCIATION": "Team Association",
+    "TECHNOLOGY/RESOURCE": "Teknik/Resurs",
+    "TELEPHONES": "Telefoner",
+    "TEMPLATE": "Mall",
+    "TEXT": "Text",
+    "THANKYOUANNOUNCE": "\"Tack\"-meddelande",
+    "THEREAREANNOUNCE": "\"Det finns\"-meddelande",
+    "TIMEOUT": "Timeout",
+    "TIMEOUTRESTART": "Omstart av timeout",
+    "TIMER": "Timer",
+    "TIMES": "Antalet gånger per interaktion",
+    "TIMEZONE": "Tidszon",
+    "TO": "Till",
+    "TOKEN": "Token",
+    "TOOLTIP_SCREENRECORDING_OFF": "Skärminspelning tillgänglig",
+    "TOOLTIP_SCREENRECORDING_ON": "Skärminspelning pågår",
+    "TOTAL": "Totalt",
+    "TOTAL_OFFERED": "Totalt erbjuds",
+    "TRANSCRIBE": "Transkribera",
+    "TRANSFER": "Överföra",
+    "TRANSPORT": "Transport",
+    "TRUEPRIORITY": "True Priority",
+    "TRUNK": "Trunk",
+    "TRUNKS": "Trunks",
+    "TRUNK_STATUS": "Status på trunk",
+    "TYPE": "Typ",
+    "UNAVAILABLE": "Otillgänglig",
+    "UNIQUEID": "Unikt ID",
+    "UNKNOWN": "Okänd",
+    "UNMANAGED": "Ej managerade",
+    "UNPAUSE": "Unpausa",
+    "UNREACHABLE": "Otillgänglig",
+    "UNREGISTERED": "Oregistrerad",
+    "UP": "Upp",
+    "UPDATE": "Uppdatera",
+    "UPLOADING": "Uppladdning",
+    "URL": "URL",
+    "USER": "Användare",
+    "USERNAME": "Användarnamn",
+    "USERS": "Användare",
+    "VALUE": "Värde",
+    "VARIABLE": "Variabel",
+    "VIDAOOSESSION": "Starta videosamtal",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Videostöd",
+    "VOICE": "Röst",
+    "VOICEMAIL": "Röstmeddelande",
+    "VOICEMAILS": "Röstmeddelanden",
+    "VOICEMAIL_CONTEXT": "Bakgrund",
+    "VOICEQUEUES": "Röstköer",
+    "VOICERECORDINGS": "Röstinspelningar",
+    "WAITFORTHEASSIGNEDAGENT": "Vänta på den tilldelade agenten",
+    "WAITING": "Väntar",
+    "WAITINGCALLSANNOUNCE": "Kölängdsmeddelande",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Webbsida",
+    "WEIGHT": "Vikt",
+    "WELCOMEMESSAGE": "Välkomstmeddelande",
+    "WHATSAPP": "WhatsApp-anslutning",
+    "WHITELABEL": "Branding",
+    "WRAPUPTIME": "Wrapuptid",
+    "WRONG_EXTENSION": "Filen visar fel förlängning",
+    "YES": "Ja",
+    "YOUARENEXTANNOUNCE": "\"Du är näst på tur\"-meddelande"
+  }
+}
diff --git a/public/app/main/i18n/tr.json b/public/app/main/i18n/tr.json
new file mode 100644
index 0000000..0e671aa
--- /dev/null
+++ b/public/app/main/i18n/tr.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "Terk edilen",
+    "ABANDONEDCALLS": "Terk Edilmiş Kuyruk Çağrısı",
+    "ABANDONED_CALLS": "Terk Edilen Çağrılar",
+    "ACCEPT": "Kabul Ediyorum",
+    "ACCEPTMETHOD": "Kabul Yöntemi",
+    "ACCEPTURL": "URL kabul edin",
+    "ACCESSKEYID": "Erişim anahtarı kimliği",
+    "ACCOUNT": "Hesap",
+    "ACCOUNTNAME": "Hesap Adı",
+    "ACCOUNTS": "Hesapları",
+    "ACCOUNTSID": "Hesap SID'si",
+    "ACTIONS": "Eylemler",
+    "ACTIVE": "Aktif",
+    "ADD": "Ekle",
+    "ADDRESS": "Adres",
+    "ADD_AGENT_TO_VOICEQUEUE": "Add Ajans Ses Sırası",
+    "ADD_CHANSPY": "Add ChanSpy",
+    "ADD_CONTACT": "Kişi Ekle",
+    "ADD_CONTEXT": "İçerik Ekle",
+    "ADD_INBOUNDROUTE": "Add Gelen Rota",
+    "ADD_INTERNALROUTE": "Add Iç Rota",
+    "ADD_MOHSOUND": "Add müziği ses",
+    "ADD_MUSICONHOLD": "Müzik Ekle Açık Tutma",
+    "ADD_NOTE": "Not Ekle",
+    "ADD_OUTBOUNDROUTE": "Add Giden Yol",
+    "ADD_PROJECT": "Add Project",
+    "ADD_TAG": "Etiket ekleme",
+    "ADD_TEAM_TO_VOICEQUEUE": "Add Ekibi Ses Sırası",
+    "ADD_VARIABLE": "Add Değişken",
+    "ADD_VOICEMAIL": "Add Sesli Posta",
+    "ADD_VOICEQUEUE": "Add Sesli Sırası",
+    "ADVANCED": "Gelişmiş",
+    "AFTERCALLWORK": "Arama yaptıktan sonra Çalışma",
+    "AFTERCALLWORKDURATION": "Sonra iş Arama Süresi",
+    "AGENT": "Ajan",
+    "AGENTS": "Ajanlar",
+    "AGENTSADD_QUEUE": "Add temsilcileri, ses sırası",
+    "AGENTTRANSFER": "Ajan Transferi",
+    "AGENTTRANSFERTIMEOUT": "Ajan Transfer Zaman Aşımı",
+    "AGENT_TIMEOUT": "Ajan Zaman Aşımı",
+    "AGI": "AGI",
+    "ALIAS": "Alias",
+    "ALL": "Tüm",
+    "ALLOWCODECS": "Izin verilen Codec",
+    "ALL_AGENTS": "Tüm Temsilciler",
+    "ALL_TEAMS": "Tüm takımlar",
+    "ALL_USERS": "Tüm kullanıcılar",
+    "ALPHABETICAL": "Alfabetik",
+    "ALWAYS": "Her zaman",
+    "AMAZONLEX": "AmazonLex",
+    "ANNOUNCECALLERPOSITION": "Arayan ilan Konumu",
+    "ANNOUNCEFREQUENCY": "Frekans ilan",
+    "ANNOUNCEHOLDTIME": "Ilan Süresi",
+    "ANNOUNCEMENTS": "Duyurular",
+    "ANNOUNCEPOSITIONLIMIT": "Haber Sınır Konumu",
+    "ANNOUNCETOAGENT": "Duyurmak Agent",
+    "ANNOUNCE_OVERRIDES": "Geçersiz ilan",
+    "ANSWER": "Cevap",
+    "ANSWERED": "Yanıtlanan",
+    "API": "API",
+    "APIKEY": "Api Anahtarı",
+    "APPLICATION": "Uygulama",
+    "APPLICATION_NAME": "Uygulama Adı",
+    "ARGUMENTS": "Argümanlar",
+    "ATTACH": "Bağlayın",
+    "AUDIO": "Ses",
+    "AUDIOFILES": "Ses Dosyaları",
+    "AUDIO_FILES": "Ses Dosyaları",
+    "AUTH": "Kimlik doğrulama",
+    "AUTHTOKEN": "Yetki Belirteci",
+    "AUTOPAUSE": "Otomatik Duraklatma",
+    "AUTOREPLY": "Otomatik Yanıtlama",
+    "AVG_BILLABLE": "Ort Faturalanabilir",
+    "AVG_HOLD_TIME": "Ort Bekletme Süresi",
+    "BACK": "Geri",
+    "BLACKLIST": "Kara Liste",
+    "BODY": "Vücut",
+    "BOTNAME": "Bot adı",
+    "BUILDER": "Oluşturucu",
+    "BUSY": "Meşgul",
+    "CALLED": "Adı",
+    "CALLER": "Arayan",
+    "CALLERID": "Arayan kimliği",
+    "CALLER_ID": "Arayan kimliği",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "Kampanya",
+    "CANCEL": "İptal etmek",
+    "CANNEDANSWERS": "Hazır Cevaplar",
+    "CANNED_ANSWER_NOT_FOUND": "Hiç konserve cevaplar bulundu.",
+    "CANNED_ANSWER_SEARCH": "Enter a metin arama bir konserve cevap",
+    "CANT_DOWNLOAD_THIS_FILE": "Bu dosya indirilemiyor",
+    "CAPACITY": "Kapasite",
+    "CHANNEL": "Kanal",
+    "CHANNELS": "Kanallar",
+    "CHANSPIES": "Chan Yönetmiştir",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "Sohbet",
+    "CITY": "Şehir",
+    "CLEAR": "Açık",
+    "CLOSE": "Kapat",
+    "CLOSED": "Kapalı",
+    "CLOSEDAT": "Kapalı",
+    "CLOSEMETHOD": "Close Metodu",
+    "CLOSEURL": "Close URL",
+    "CLOSING": "Kapama",
+    "COMMAND": "Komut",
+    "COMPANIES": "şirketler",
+    "COMPANY": "Şirket",
+    "CONDITION": "Durumunu",
+    "CONFIRM_PASSWORD": "Parolayı Onayla",
+    "CONNECTED": "Bağlı",
+    "CONTACT": "Kişi",
+    "CONTACTMANAGER": "Kişi Yöneticisi",
+    "CONTACTS": "Kişiler",
+    "CONTENT": "Içerik",
+    "CONTEXT": "Içerik",
+    "CONTEXTS": "Bağlam",
+    "COUNTRY": "Ülke",
+    "CREATED_AT": "Oluşturulmuş",
+    "CUSTOM": "Özel",
+    "CUSTOMER_JOURNEY": "Müşteri yolculuğu",
+    "CUSTOM_FIELDS": "Özel Alanlar",
+    "CUTDIGITS": "Kesin rakam",
+    "DASHBOARD": "Torpido",
+    "DATE": "Tarih",
+    "DATE_OF_BIRTH": "Doğum tarihi",
+    "DEFAULT": "Varsayılan",
+    "DEFAULT_PAUSE": "Varsayılan DURAKLATMA",
+    "DELETE": "Sil",
+    "DELETE_APP": "Uygulama",
+    "DELETE_CHANSPY": "ChanSpy silin",
+    "DELETE_CONTEXT": "Sil İçerik",
+    "DELETE_HOPPER": "Teknenin silin",
+    "DELETE_INBOUNDROUTE": "Delete Gelen Rota",
+    "DELETE_INTERACTION": "Etkileşimi Sil",
+    "DELETE_INTERNALROUTE": "Delete Iç Rota",
+    "DELETE_MOHSOUND": "Delete müziği ses",
+    "DELETE_MUSICONHOLD": "Delete Müziği",
+    "DELETE_OUTBOUNDROUTE": "Delete Giden Yol",
+    "DELETE_PROJECT": "Proje silin",
+    "DELETE_SELECTED": "Seçilen",
+    "DELETE_VOICEDISPOSITION": "Delete Voice Nizam",
+    "DELETE_VOICEMAIL": "Delete Sesli Posta",
+    "DELETE_VOICEQUEUE": "Delete Voice Sırası",
+    "DELETE_VOICERECORDING": "Delete Ses Kayıt",
+    "DELIVERYREPORTURL": "Teslimat Raporu URL'si",
+    "DESCRIPTION": "Açıklama",
+    "DESTINATION": "Hedef",
+    "DESTINATIONPATTERN": "Hedef Modeli",
+    "DETAIL": "Ayrıntı",
+    "DETAILS": "ayrıntılar",
+    "DIAL": "Arama",
+    "DIALER": "Çevirici",
+    "DIALOGFLOW": "Dialogflow",
+    "DID": "Yaptık",
+    "DIRECTORY": "Dizin",
+    "DISABLED": "Devre Dışı",
+    "DISPOSITION": "Eğiliminin",
+    "DISPOSITIONS": "Işlenir",
+    "DOWNLOAD": "İndir",
+    "DOWNLOAD_INTERACTION": "İndir",
+    "DOWNLOAD_MOHSOUND": "Yükleme müziği ses",
+    "DOWNLOAD_VOICERECORDING": "Download Ses Kayıt",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "Ek olmadan indir",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "Eksiz indir",
+    "DOWNLOAD_WITH_ATTACHMENT": "Ekli olarak indir",
+    "DOWNLOAD_WITH_ATTACHMENTS": "Eklerle indir",
+    "DROPPED": "Düşmüş",
+    "DROP_TO_UPLOAD": "İndirme Yükleme",
+    "DURATION": "Süre",
+    "EDIT": "Düzenle",
+    "EDIT_AGENT": "Edit Agent",
+    "EDIT_AGI": "AGI Düzenle",
+    "EDIT_AMAZONLEX": "Lex yapılandırmasını düzenle",
+    "EDIT_APP": "Düzenleme Uygulama",
+    "EDIT_AUTOREPLY": "Edit Otomatik Yanıtlama",
+    "EDIT_CHANSPY": "Edit ChanSpy",
+    "EDIT_CLOSE": "Edit Close",
+    "EDIT_CONTEXT": "Edit içerik",
+    "EDIT_CUSTOM": "Özel Düzenle",
+    "EDIT_DIAL": "Edit Arama",
+    "EDIT_DIALOGFLOW": "Dialogflow yapılandırmasını düzenle",
+    "EDIT_EXTERNALDIAL": "Edit Harici Arama",
+    "EDIT_GOTO": "Edit git",
+    "EDIT_GOTOIF": "Edit GotoIf",
+    "EDIT_GOTOP": "Edit GotoP",
+    "EDIT_HANGUP": "Edit Bağlantıyı Kes",
+    "EDIT_HOPPER": "Teknenin Düzenle",
+    "EDIT_INBOUNDROUTE": "Edit Gelen Rota",
+    "EDIT_INTERNALDIAL": "Edit Dahili Arama",
+    "EDIT_INTERNALROUTE": "Edit Iç Rota",
+    "EDIT_INTERVAL": "Edit Aralığı",
+    "EDIT_MUSICONHOLD": "Edit Müziği",
+    "EDIT_NOOP": "Noop Düzenle",
+    "EDIT_OUTBOUNDROUTE": "Edit Giden Yol",
+    "EDIT_PLAYBACK": "Edit Oynatma",
+    "EDIT_PROJECT": "Edit Project",
+    "EDIT_QUEUE": "Edit Sırası",
+    "EDIT_RINGGROUP": "Edit Halka Grup",
+    "EDIT_SET": "Edit Set",
+    "EDIT_SYSTEM": "Sistemi Düzenle",
+    "EDIT_TAG": "Etiketi düzenle",
+    "EDIT_TRUNK": "Düzenleme Santral",
+    "EDIT_VOICEDISPOSITION": "Edit Ses Nizam",
+    "EDIT_VOICEMAIL": "Edit Sesli Posta",
+    "EDIT_VOICEQUEUE": "Edit Ses Sırası",
+    "EDIT_VOICERECORDING": "Düzenleme Ses Kayıt",
+    "EMAIL": "E-Posta",
+    "EMAILADDRESS": "E-Posta Adresi",
+    "EMAILBODY": "E-Posta Gövdesi",
+    "EMAILSUBJECT": "E-posta Konu",
+    "ENABLED": "Etkin",
+    "ENCRYPTION": "Şifreleme",
+    "ENDTIME": "Bitiş Zamanı",
+    "ENVELOPE": "Zarf",
+    "EQUALS": "Eşittir",
+    "ERROR": "Hata",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "Kabul URL yazılmış olması gerekir. geçerli bir format",
+      "ACCESSKEYID_REQUIRED": "Erişim anahtarı kimliği gereklidir",
+      "ACCOUNTNAME_REQUIRED": "Hesap Adı gerekiyor.",
+      "ACCOUNTSID_REQUIRED": "Zorunlu alan",
+      "AFTERCALLWORKDURATION_REQUIRED": "Sonra iş arama süresi gereklidir.",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
+      "AGENT_REQUIRED": "Ajan gerekli",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
+      "AGENT_TIMEOUT_REQUIRED": "Ajan zaman gerekiyor.",
+      "ALIAS_REQUIRED": "Ve diğer gerekli",
+      "APIKEY_REQUIRED": "API Anahtarı gereklidir",
+      "APPLICATION_REQUIRED": "Uygulama gerekiyor.",
+      "AUTHTOKEN_REQUIRED": "Bu Autorization Belirteç gerekiyor.",
+      "BOTNAME_REQUIRED": "Bot adı gerekli",
+      "CLOSEURL_MUST_VALID_URL": "Kapat URL yazılmış olması gerekir. geçerli bir format",
+      "COMMAND_REQUIRED": "Zorunlu alan",
+      "CONDITION_REQUIRED": "Bu durumda gerekli",
+      "CONFIRM_NOT_MATCH": "Parolalar aynı değil",
+      "CONTENT_REQUIRED": "Içerik gerekiyor.",
+      "CONTEXT_REQUIRED": "Bu bağlamda gerekli",
+      "DESTINATIONPATTERN_REQUIRED": "Hedef Modeli gerekiyor.",
+      "DISPOSITION_REQUIRED": "Eğilim gerekli",
+      "EMAIL_MUST_VALID": "E-posta mutlaka yazılı geçerli bir format",
+      "EMAIL_REQUIRED": "E-posta gerekli",
+      "EXTENSION_REQUIRED": "Uzatma gerekli",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Yanlış Öncelik eşit veya daha büyük olmalıdır.",
+      "FALSEPRIORITY_REQUIRED": "Yanlış Öncelik gerekli",
+      "FIELD_REQUIRED": "Bu alanı gerekli.",
+      "FIRSTNAME_REQUIRED": "İlk Adı gerekiyor.",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
+      "FONTSIZE_REQUIRED": "Zorunlu alan",
+      "FULLNAME_REQUIRED": "Tam Adı gerekiyor.",
+      "HOST_REQUIRED": "Ana gerekiyor.",
+      "KEY_MAX_LENGTH": "Anahtar maksimum uzunluğu eşit {{maks.}}",
+      "KEY_REQUIRED": "Anahtar gerekiyor.",
+      "LIST_REQUIRED": "Liste, gerekli",
+      "MAILBOX_REQUIRED": "Posta gerekli",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan",
+      "METHOD_REQUIRED": "Zorunlu alan",
+      "MOTIONADDRESS_MUST_VALID_URL": "Hareket adres yazılmış olması gerekir. geçerli bir format",
+      "MOTIONADDRESS_REQUIRED": "Hareket adresi gerekli",
+      "MOTIONPROXY_MUST_VALID_URL": "Yanlış format",
+      "MOTIONPROXY_REQUIRED": "Zorunlu Alan",
+      "NAME_MUST_VALID_PATTERN": "Ad yazılmış olması gerekir. geçerli bir format",
+      "NAME_REQUIRED": "Adı gerekiyor",
+      "OPTIONS_REQUIRED": "Seçenekler gerekli",
+      "OUTBOUNDROUTE_REQUIRED": "Zorunlu alan",
+      "PASSWORD_REQUIRED": "Parola gerekli",
+      "PHONENUMBER_REQUIRED": "Telefon Numarası gerekli",
+      "PHONE_REQUIRED": "Telefon gerekiyor.",
+      "PREFIX_REQUIRED": "Ön Ek gerekiyor.",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Öncelik eşit veya daha büyük olmalıdır.",
+      "PRIORITY_REQUIRED": "Öncelikli olarak gerekli",
+      "PROJECT_REQUIRED": "Zorunlu alan",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "Zorunlu alan",
+      "QUEUE_REQUIRED": "Kuyruk gerekli",
+      "REJECTURL_MUST_VALID_URL": "Reddetme URL yazılmış olması gerekir. geçerli bir format",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Retry eşit veya daha büyük olmalıdır.",
+      "SECRETACCESSKEY_REQUIRED": "Zorunlu alan",
+      "SENDERSTRING_MAX_LENGTH": "Değer, {{max}} değerine eşit bir maksimum uzunluğa sahip olmalıdır.",
+      "SENDERSTRING_MUST_VALID_PATTERN": "Yanlış format",
+      "SID_REQUIRED": "SID gerekiyor",
+      "TAG_REQUIRED": "Zorunlu alan",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "Teknoloji/Kaynak gerekiyor.",
+      "TEXT_MAX_LENGTH": "Değer, {{max}} değerine eşit bir maksimum uzunluğa sahip olmalıdır.",
+      "TEXT_REQUIRED": "Alan metin gerekiyor",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Zaman Aşımı eşit veya daha büyük olmalıdır.",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
+      "TIMEOUT_REQUIRED": "Zaman Aşımı gerekiyor.",
+      "TIMEZONE_REQUIRED": "Bu Saat Dilimi gerekiyor.",
+      "TOKEN_REQUIRED": "Belirteç gerekiyor.",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Gerçek Öncelik eşit veya daha büyük olmalıdır.",
+      "TRUEPRIORITY_REQUIRED": "Gerçek Öncelik gerekli",
+      "TRUNK_REQUIRED": "Zorunlu alan",
+      "TYPE_REQUIRED": "Zorunlu alan",
+      "URL_REQUIRED": "URL gerekli",
+      "USERNAME_REQUIRED": "Zorunlu alan",
+      "VALUE_REQUIRED": "Bu Değer gereklidir",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "Zorunlu alan",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Ağırlık eşit veya daha büyük olmalıdır.",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Bu Toparlama Süresi eşit veya daha büyük olmalıdır."
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "Tahmini Süresi Açıklayacak",
+    "EXTENSION": "Uzatma",
+    "EXTERNALDIAL": "Harici Arama",
+    "FAILED": "Başarısız Oldu",
+    "FALSEPRIORITY": "Yanlış Öncelik",
+    "FAX": "Faks",
+    "FIDELITY": "Doğruluğu",
+    "FIELD": "Alan",
+    "FIELDS": "Alanlar",
+    "FILE": "Dosya",
+    "FILE_NOT_FOUND": "Dosya bulunamadı",
+    "FILTER": "Filtre",
+    "FILTERS": "Filtreler",
+    "FINISH": "Kaplama",
+    "FONTSIZE": "Yazı Boyutu",
+    "FORMAT": "Biçimi",
+    "FREE": "Ücretsiz",
+    "FROM": ",",
+    "FULLNAME": "Tam Adı",
+    "GENERAL": "Genel",
+    "GLOBAL": "Küresel",
+    "GOSUB": "GoSub",
+    "GOTO": "Git",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "Bağlantıyı Kes",
+    "HANGUPCAUSE_1": "1 = Ayrılmamış numarası",
+    "HANGUPCAUSE_16": "16 = Normail arama silme",
+    "HANGUPCAUSE_17": "17 = Kullanıcı meşgul",
+    "HANGUPCAUSE_18": "18 = kullanıcı yanıt vermiyor (telehone cihaz bağlı değil).",
+    "HANGUPCAUSE_21": "21 = Çağrı reddedildi",
+    "HANGUPCAUSE_22": "22 = Numarası Değiştirildi",
+    "HANGUPCAUSE_27": "27 = Hedef, sipariş",
+    "HANGUPCAUSE_38": "38 = Ağ",
+    "HANGUPCAUSE_41": "41 = Geçici arıza",
+    "HANGUP_CAUSE": "Bağlantıyı Kes Neden",
+    "HEADERS": "Başlıkları",
+    "HELP": {
+      "AFTERCALLWORK": "Eğer aktif, ajan olarak ayarlayın sonra Pause tamamlanmış bir arama sırası",
+      "AFTERCALLWORKDURATION": "Duraklatma devrede tarafından Çağrı Çalışma seçeneği",
+      "ANNOUNCECALLERPOSITION": "Belirler arayan'ın kuyruğu olmalıdır için duyurdu. Eğer hayır, asla. Eğer evet, arayan'ın konumu her zaman. Eğer değer sınırı, arayan kişinin sesini, kuyruk sadece içinde tanımlanır ve ilan konum. Eğer değeri daha fazla, arayan kişinin sesini konumu. numarası tanımlanan duyurmak-konum-limit.",
+      "ANNOUNCEHOLDTIME": "Belirler tahmini süresi çalınır ve periyodik duyurular.",
+      "ANNOUNCETOAGENT": "Oynatmak için kullanılan bir duyuru, temsilciye yanıtlanan çağrı, genellikle kendisini ne kuyruk arayan geliyor.",
+      "CONTEXT": "Bir arayan çıkmak için kuyruk tek bir DTMF rakam. Eğer bir içerik olarak belirtilen ve arayan bir numarası, basamak girişimi olarak uygun içerik ve dialplan yürütme devam.",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"geçerli tahmini süresi\"). Eğer bir boş değer, sor, çalınan.",
+      "HOLDTIMEANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"Tutma süresi\"). Eğer bir boş değer, sor, çalınan.",
+      "LIST": "Kişi Yöneticisi Listesi kullanılan ortak kişiler",
+      "MANDATORYDISPOSITION": "Zorunlu düzenleme",
+      "MANDATORYDISPOSITIONPAUSEID": "Zorunlu kullanım sırasında ayarlamak için durumu duraklat",
+      "MEMBERDELAY": "Eğer isterseniz orada bir gecikme önceden arayan ve kuyruk üye bağlı.",
+      "MINANNOUNCEFREQUENCY": "Belirten minimum süre geçmelidir, arayan'ın kuyruğu deneyin. Bu, arayan'ın sık sık değişebilir, arayan işitme birden fazla güncellemeler kısa bir süre.",
+      "MINUTEANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"dakika\"). Eğer bir boş değer, sor, çalınan.",
+      "MINUTESANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"dakika\"). Eğer bir boş değer, sor, çalınan.",
+      "MONITORFORMAT": "Belirler, dosya formatı kullanmak için kayıt. Eğer monitör-format, akti̇f deği̇l, aramalar kaydedilmez.",
+      "MOTIONPROXY": "Lütfen aşağıdaki biçimi: <protokol>://<ipaddress>[:<port>]. Örneğin: https://X.Y.Z.W",
+      "MUSICONHOLD": "Setleri, müzik sınıfı tarafından belirli bir kuyruk.",
+      "NAME": "Sadece sayılar, harfler ve özel karakterler (._) desteklenir.",
+      "PERIODICANNOUNCE": "Bir periyodik duyurular, oynadığı sırada tanımlanmıştır.",
+      "PERIODICANNOUNCEFREQUENCY": "Ne sıklıkta biz, periyodik duyurular arayan.",
+      "RECORDING": "Etkin çağrı kaydı",
+      "REPORTHOLDTIMEAGENT": "Raporlama, arayanın bekletme süresi için kuyruk üye önce köprü.",
+      "RINGINUSE": "Engellemek için gönderme çağrıları üyelerin durumu.",
+      "SECONDSANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"sn\"). Eğer bir boş değer, sor, çalınan.",
+      "THANKYOUANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"sabrınız için teşekkür ederiz.\"). Eğer bir boş değer, sor, çalınan.",
+      "THEREAREANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"Var\"). Eğer bir boş değer, sor, çalınan.",
+      "TIMEOUTRESTART": "Eğer yes, sıfırlar ve zaman aşımı bir temsilcinin, cevap ya da meşgul veya tıkanıklık durumu alınan, kanal.",
+      "TYPE": "Belirler, SIP içinde yıldız. Kullanıcı: kimliğini doğrulamak için kullanılan gelen - Eşler: aramaları - Arkadaş: kapakları hem özellikleri.",
+      "VOICEMAIL_CONTEXT": "Bu bağlamda, bağıl uzantısı.",
+      "WAITINGCALLSANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"aramalar bekleme\"). Eğer bir boş değer, sor, çalınan.",
+      "WELCOMEMESSAGE": "Bu, kontaktöre gönderilen ilk mesajdır.",
+      "YOUARENEXTANNOUNCE": "Eğer tanımlı değilse, boşluk varsayılan değer (\"şimdi ilk satır\"). Eğer bir boş değer, sor, çalınan."
+    },
+    "HIDE_DETAILS": "Ayrıntıları Gizle",
+    "HOLDTIMEANNOUNCE": "Bekletme Süresi Açıklayacak",
+    "HOST": "Ana",
+    "ID": "Id",
+    "IDLE": "Rölanti",
+    "IN": "In",
+    "INBOUNDROUTES": "Gelen Rotalar",
+    "INFO": "Info",
+    "INSERT_MESSAGE_HERE": "Metin mesajınızı buraya ekleyin",
+    "INTEGRATIONS": "Entegrasyonları",
+    "INTERACTION": "Etkileşim",
+    "INTERACTIONS": "Eylemlerin",
+    "INTERNAL": "Dahili",
+    "INTERNALDIAL": "Dahili Arama",
+    "INTERNALROUTES": "Dahili Rotalar",
+    "INTERVAL": "Aralığı",
+    "INTERVALS": "Aralıkları",
+    "INUSE": "Kullanımı",
+    "INVALID": "Geçersiz",
+    "IN_USE": "Kullanımı",
+    "JOINWHENEMPTY": "Üye boş zaman",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "Anahtar",
+    "LAGGED": "Gecikmeli",
+    "LANGUAGE": "Dil",
+    "LASTMESSAGE": "Son Mesaj",
+    "LASTNAME": "Soyadı",
+    "LAST_MONTH": "Geçen ay",
+    "LEAVEWHENEMPTY": "Bırakın boş zaman",
+    "LEXREGION": "bölge",
+    "LIMITED": "Sınırlı",
+    "LIST": "Listesi",
+    "LOGGED_IN": "Oturum Açma",
+    "LOGIN_TIME": "Giriş zamanı",
+    "LOGO": "Logo",
+    "LOGOUT": "Oturum kapatma",
+    "MACRO": "Makro",
+    "MAIL": "Posta",
+    "MAILBOX": "Posta Kutusu",
+    "MAILBOX@CONTEXT": "Posta kutusu@Içerik",
+    "MANAGED": "Yönetilen",
+    "MANDATORYDISPOSITION": "Zorunlu düzenleme",
+    "MANDATORYDISPOSITIONPAUSEID": "Zorunlu tasarruf durumu duraklatma durumu",
+    "MARK_AS_UNREAD": "okunmamış olarak işaretle",
+    "MAXLENGTH": "Maksimum Uzunluk",
+    "MAXMESSAGES": "Max Mesajlar",
+    "MAXSECONDS": "Max Saniye",
+    "MAY": "Mayıs ayı",
+    "MEMBERDELAY": "Üye Gecikmesi",
+    "MESSAGE": "Mesaj",
+    "MESSAGES": "Mesajlar",
+    "MESSAGESALIGNMENT": "Mesajlar Hizalama",
+    "METHOD": "Yöntem",
+    "METRIC": "Metrik",
+    "MINANNOUNCEFREQUENCY": "Ilan Minimum Frekans",
+    "MINUTEANNOUNCE": "Dakika Haber",
+    "MINUTESANNOUNCE": "Dakika Haber",
+    "MOBILE": "Mobil",
+    "MODULES": "Modülleri",
+    "MOHSOUNDS": "Moh Sesler",
+    "MONITORFORMAT": "Kayıt Formatı",
+    "MORE": "Daha fazla",
+    "MOTIONADDRESS": "Hareket Adres",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "Hareket Boğa",
+    "MOTIONPROXY": "Proxy veya Hareket Alanı",
+    "MOTION_BULL": "Hareket Boğa",
+    "MUSICONHOLD": "Bekletme Müziği",
+    "MUSICONHOLDS": "Müzik parçası Açık Tutma",
+    "NAME": "Adı",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "Yeni ChanSpy",
+    "NEW_CONTACT": "Yeni Kişi",
+    "NEW_CONTEXT": "Yeni içerik",
+    "NEW_INBOUNDROUTE": "Yeni Gelen Rota",
+    "NEW_INTERNALROUTE": "Yeni iç Rota",
+    "NEW_MUSICONHOLD": "Yeni Müziği",
+    "NEW_OUTBOUNDROUTE": "Yeni Giden Yol",
+    "NEW_PROJECT": "Yeni Proje",
+    "NEW_TAB": "Yeni Sekme",
+    "NEW_TAG": "Yeni Etiketi",
+    "NEW_VARIABLE": "Yeni Değişken",
+    "NEW_VOICEMAIL": "Yeni Sesli Posta",
+    "NEW_VOICEQUEUE": "Yeni Ses Sırası",
+    "NO": "Hayır",
+    "NONE": "Yok",
+    "NOOP": "Noop",
+    "NOTE": "Not",
+    "NOTES": "Notlar",
+    "NOTIFICATION": "Bildirim",
+    "NOTIFICATIONSHAKE": "Sallamak",
+    "NOTIFICATIONSOUND": "Ses",
+    "NOTIFICATIONTEMPLATE": "şablon",
+    "NOT_INUSE": "Kullanımda değil",
+    "NO_AGENT_ONLINE": "Hiçbir Temsilci Online",
+    "NO_APPS_AVAILABLE": "Hiçbir mevcut uygulamalar",
+    "NO_AVAILABLE_INFO": "Mevcut bilgisi",
+    "NO_INTERACTION_AVAILABLE": "Hayır etkileşimleri bulunmaktadır",
+    "NO_MESSAGE_AVAILABLE": "Mesaj yok",
+    "NO_MOHSOUND_AVAILABLE": "Hayır, Bekletme Müziği mevcuttur",
+    "NO_RATING": "Hiçbir değeri",
+    "NO_REGISTRY": "Kayıt yok",
+    "NO_SOUND_AVAILABLE": "Hayır sesleri kullanılabilir",
+    "NUMBER": "Numara",
+    "OF": "Ve",
+    "ONHOLD": "Bekletme",
+    "OPEN": "Açık",
+    "OPENCHANNEL": "Açık Kanal",
+    "OPENED": "Açık",
+    "OPERATOR": "Sürücü",
+    "OPTIONS": "Seçenekleri",
+    "ORIGINATED": "Başlatmış",
+    "OTHERS": "Diğerleri",
+    "OUT": "Çıkış",
+    "OUTBOUNDDIAL": "Giden Arama",
+    "OUTBOUNDROUTE": "Giden Yol",
+    "OUTBOUNDROUTES": "Giden Yollar",
+    "OUTBOUND_CALLS": "Giden Arama",
+    "OUTPUT": "Çıkış",
+    "PAGE": "Sayfa",
+    "PARTIALPAUSE": "Kısmi Duraklatma",
+    "PASSWORD": "Parola",
+    "PAUSE": "Duraklatma",
+    "PAUSED": "Duraklatıldı",
+    "PAUSE_TIME": "Durma zamanı",
+    "PAYMENTMETHOD": "Ödeme metodları",
+    "PENALTY": "Cezasının",
+    "PENDING": "Bekleyen",
+    "PERIODICANNOUNCE": "Periyodik Açıklayacak",
+    "PERIODICANNOUNCEFREQUENCY": "Periyodik Haber Frekans",
+    "PERSONAL_INFO": "Kişisel Bilgiler",
+    "PHONE": "Telefon",
+    "PHONENUMBER": "Telefon Numarası",
+    "PHONE_STATE": "Telefon Devlet",
+    "PHONE_STATUS": "Telefon Durumu",
+    "PLAYBACK": "Oynatma",
+    "PLUGINS": "eklentiler",
+    "PORT": "Bağlantı Noktası",
+    "POSITION": "Konum",
+    "POSTALCODE": "Posta Kodu",
+    "PREFIX": "Önek",
+    "PREVIEW": "Önizleme",
+    "PRIORITY": "Öncelik",
+    "PROJECT": "Proje Cally-Square",
+    "PROJECTS": "Projeler",
+    "PROXY": "vekil",
+    "QUEUE": "Kuyruk",
+    "QUEUES": "Sıraları",
+    "QUEUETRANSFER": "Kuyruk Aktarımı",
+    "QUEUETRANSFERTIMEOUT": "Kuyruk Transfer Zaman Aşımı",
+    "QUEUE_CALLS": "Kuyruk Çağrıları",
+    "QUEUE_PARAMETERS": "Kuyruk Parametreleri",
+    "QUEUE_PARAMS": "Kuyruk Parametreleri",
+    "RANDOM": "Rastgele",
+    "RANDOMPERIODICANNOUNCE": "Rastgele Periyodik Açıklayacak",
+    "RATING": "Derecelendirme",
+    "REACHABLE": "Ulaşılabiliyor",
+    "READY": "Hazır Değil",
+    "REALTIME": "Gerçek Zamanlı",
+    "RECALLME": "Beni çağırın",
+    "RECEIVED_AT": "Almış",
+    "RECEIVEURL": "URL al",
+    "RECORD": "Kayıt",
+    "RECORDING": "Kayıt",
+    "RECORDINGFORMAT": "Kayıt formatı",
+    "RECORDINGS": "Kayıtlar",
+    "REFRESH_INTERACTIONS": "Yenileme Etkileşimleri",
+    "REGISTERED": "Kayıtlı",
+    "REGISTRY": "Kayıt Defteri",
+    "REJECT": "Reddetme",
+    "REJECTED": "Reddedildi",
+    "REJECTMETHOD": "Reddetme Yöntemi",
+    "REJECTURL": "Ret URL",
+    "RELOAD": "Yükle",
+    "REPLY": "Yanıtlama",
+    "REPORT": "Rapor",
+    "REPORTHOLDTIMEAGENT": "Rapor Temsilci Bekletme Süresi",
+    "RETRY": "Yeniden dene",
+    "RING": "Halka",
+    "RINGGROUP": "Halka Grup",
+    "RINGING": "Çalıyor",
+    "RINGINUSE": "Halka.",
+    "ROWSPERPAGE": "Sayfadaki satırları",
+    "RULE": "Kural",
+    "SAVE": "Kaydet",
+    "SCHEDULEDAT": "Planlanmış,",
+    "SCHEDULED_CALLS": "Planlanmış Aramalar",
+    "SCREENRECORDING": "Ekran Kaydını Yönet",
+    "SCRIPT": "Senaryo",
+    "SEARCH_FOR_ANYONE": "Arama herkesin",
+    "SECONDSANNOUNCE": "Saniye Açıklayacak",
+    "SECRETACCESSKEY": "Gizli Erişim Anahtarı",
+    "SECURITY_SUITE": "Güvenlik Süiti",
+    "SELECT": "Seçiniz",
+    "SELECTED": "Seçilen",
+    "SELECTED_AGENTS": "Seçilen maddeler",
+    "SELECTED_TEAMS": "Seçilen Ekipleri",
+    "SELECTED_USERS": "Seçilen Kullanıcılar",
+    "SELECT_ACCOUNT": "Hesap Seç",
+    "SELECT_ALL": "Tümünü Seç",
+    "SELECT_DATE": "Başlangıç ​​Tarihi'ni seçin",
+    "SELECT_NONE": "Hiçbiri",
+    "SELECT_STATUS": "Durum Seç",
+    "SELECT_TYPE": "Türü Seç",
+    "SEND": "Gönder",
+    "SENDMAIL": "Posta Gönder",
+    "SENTIMENTANALYSIS": "Duygu Analizi",
+    "SERVICE": "Hizmet",
+    "SESSIONS": "Oturumlar",
+    "SET": "Set",
+    "SETINTERFACEVARIABLES": "Set Ara Değişkenler",
+    "SETQUEUEENTRYVARIABLES": "Set Kuyruğu Giriş Değişkenler",
+    "SETQUEUEVARIABLES": "Set Kuyruk Değişkenler",
+    "SETTINGS": "Ayarlar",
+    "SHOW_ALL_FIELDS": "Tüm alanlar",
+    "SHOW_DETAILS": "Ayrıntıları göster",
+    "SMS": "SMS",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP Host",
+    "SMTP_PORT": "SMTP Bağlantı Noktası",
+    "SOCIAL": "Sosyal",
+    "SORT": "Sıralama",
+    "SOURCE": "Kaynak",
+    "SPYINTERACTION": "Gözetleyip",
+    "STAFF": "Personel",
+    "STARTEDAT": "Başlangıç",
+    "STARTTIME": "Başlangıç Zamanı",
+    "START_SCREENRECORDING": "Ekran Kaydı Başlat",
+    "STATE": "Devlet",
+    "STATUS": "Durum",
+    "STOP_SCREENRECORDING": "Ekran Kaydı Durdur",
+    "STRATEGY": "Strateji",
+    "SUBJECT": "Konu",
+    "SYSTEM": "Sistem",
+    "TAG": "Etiket",
+    "TAGS": "Etiketler",
+    "TALKING": "Konuşma",
+    "TEAMS_ASSOCIATION": "Takımlar Birliği",
+    "TECHNOLOGY/RESOURCE": "Teknoloji/Kaynak",
+    "TELEPHONES": "Telefonlar",
+    "TEMPLATE": "Şablon",
+    "TEXT": "Metin",
+    "THANKYOUANNOUNCE": "'Teşekkür' Açıklayacak",
+    "THEREAREANNOUNCE": "'Vardır ilan' ile",
+    "TIMEOUT": "Zaman Aşımı",
+    "TIMEOUTRESTART": "Zaman Aşımı Yeniden Başlatın",
+    "TIMER": "Zamanlayıcı",
+    "TIMES": "Numarası, her etkileşim",
+    "TIMEZONE": "Saat Dilimi",
+    "TO": "-",
+    "TOKEN": "Işaretleyici",
+    "TOOLTIP_SCREENRECORDING_OFF": "Ekran kaydı",
+    "TOOLTIP_SCREENRECORDING_ON": "Ekran Kaydı devam ediyor",
+    "TOTAL": "Toplam",
+    "TOTAL_OFFERED": "Toplam Teklif",
+    "TRANSCRIBE": "Uyarlamak",
+    "TRANSFER": "Aktar",
+    "TRANSPORT": "Taşıma",
+    "TRUEPRIORITY": "Gerçek Öncelik",
+    "TRUNK": "Santral",
+    "TRUNKS": "Devreleri",
+    "TRUNK_STATUS": "Bagaj Durumu",
+    "TYPE": "Tipi",
+    "UNAVAILABLE": "Kullanılamaz",
+    "UNIQUEID": "Benzersiz Kimliği",
+    "UNKNOWN": "Bilinmeyen",
+    "UNMANAGED": "Yönetimsiz",
+    "UNPAUSE": "Unpause",
+    "UNREACHABLE": "Ulaşılamıyor",
+    "UNREGISTERED": "Kayıtsız",
+    "UP": "Yukarı",
+    "UPDATE": "Güncelleştirme",
+    "UPLOADING": "Yükleme",
+    "URL": "URL",
+    "USER": "Kullanıcı",
+    "USERNAME": "Kullanıcı adı",
+    "USERS": "Kullanıcılar",
+    "VALUE": "Değer",
+    "VARIABLE": "Değişken",
+    "VIDAOOSESSION": "Görüntülü Görüşmeyi Başlatın",
+    "VIDEO": "Video",
+    "VIDEOSUPPORT": "Video desteği",
+    "VOICE": "Ses",
+    "VOICEMAIL": "Sesli Posta",
+    "VOICEMAILS": "Isteyecek",
+    "VOICEMAIL_CONTEXT": "Içerik",
+    "VOICEQUEUES": "Ses Kuyrukları",
+    "VOICERECORDINGS": "Ses Kayıtları",
+    "WAITFORTHEASSIGNEDAGENT": "Atanan acenteyi bekle",
+    "WAITING": "Bekleme",
+    "WAITINGCALLSANNOUNCE": "Arama Bekliyor Haber",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "Web Sitesi",
+    "WEIGHT": "Ağırlık",
+    "WELCOMEMESSAGE": "Hoşgeldin Mesajlaşma",
+    "WHATSAPP": "WhatsApp Bağlayıcısı",
+    "WHITELABEL": "Beyaz Etiket",
+    "WRAPUPTIME": "Toparlama Süresi",
+    "WRONG_EXTENSION": "Dosya yanlış uzantıyı sunuyor",
+    "YES": "Evet",
+    "YOUARENEXTANNOUNCE": "'Bir sonraki' Açıklayacak"
+  }
+}
diff --git a/public/app/main/i18n/zh-CN.json b/public/app/main/i18n/zh-CN.json
new file mode 100644
index 0000000..9afd17e
--- /dev/null
+++ b/public/app/main/i18n/zh-CN.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "已放弃",
+    "ABANDONEDCALLS": "被放弃的队列呼叫",
+    "ABANDONED_CALLS": "放弃的呼叫",
+    "ACCEPT": "接受",
+    "ACCEPTMETHOD": "接受的方法。",
+    "ACCEPTURL": "接受的 URL。",
+    "ACCESSKEYID": "访问密钥ID",
+    "ACCOUNT": "帐户",
+    "ACCOUNTNAME": "帐户名称",
+    "ACCOUNTS": "帐户。",
+    "ACCOUNTSID": "帐户SID",
+    "ACTIONS": "采取的行动",
+    "ACTIVE": "活性",
+    "ADD": "添加",
+    "ADDRESS": "地址",
+    "ADD_AGENT_TO_VOICEQUEUE": "代理添加到语音队列",
+    "ADD_CHANSPY": "添加 ChanSpy",
+    "ADD_CONTACT": "添加联系人",
+    "ADD_CONTEXT": "添加环境",
+    "ADD_INBOUNDROUTE": "添加导入路由",
+    "ADD_INTERNALROUTE": "添加内部路由",
+    "ADD_MOHSOUND": "添加音乐的声音",
+    "ADD_MUSICONHOLD": "添加音乐",
+    "ADD_NOTE": "添加备注",
+    "ADD_OUTBOUNDROUTE": "添加外出的路由",
+    "ADD_PROJECT": "添加项目",
+    "ADD_TAG": "添加标记",
+    "ADD_TEAM_TO_VOICEQUEUE": "添加组至语音队列",
+    "ADD_VARIABLE": "添加变量",
+    "ADD_VOICEMAIL": "添加语音邮件",
+    "ADD_VOICEQUEUE": "添加语音消息队列",
+    "ADVANCED": "高级",
+    "AFTERCALLWORK": "呼叫后工作",
+    "AFTERCALLWORKDURATION": "呼叫后工作的持续时间",
+    "AGENT": "座席",
+    "AGENTS": "座席",
+    "AGENTSADD_QUEUE": "将座席添加到语音队列",
+    "AGENTTRANSFER": "代理转移",
+    "AGENTTRANSFERTIMEOUT": "代理转移超时",
+    "AGENT_TIMEOUT": "代理超时",
+    "AGI": "阿希",
+    "ALIAS": "别名。",
+    "ALL": "所有",
+    "ALLOWCODECS": "允许使用的编解码器",
+    "ALL_AGENTS": "所有座席",
+    "ALL_TEAMS": "所有的团队",
+    "ALL_USERS": "全部用户",
+    "ALPHABETICAL": "按字母顺序排列",
+    "ALWAYS": "始终",
+    "AMAZONLEX": "亚马逊Lex",
+    "ANNOUNCECALLERPOSITION": "主叫方宣布立场。",
+    "ANNOUNCEFREQUENCY": "公布频率",
+    "ANNOUNCEHOLDTIME": "宣布搁置时间",
+    "ANNOUNCEMENTS": "公告",
+    "ANNOUNCEPOSITIONLIMIT": "发表位置限制",
+    "ANNOUNCETOAGENT": "宣布到座席",
+    "ANNOUNCE_OVERRIDES": "宣布将覆盖",
+    "ANSWER": "答",
+    "ANSWERED": "回答",
+    "API": "API",
+    "APIKEY": "Api 密钥",
+    "APPLICATION": "应用程序",
+    "APPLICATION_NAME": "应用程序的名称。",
+    "ARGUMENTS": "参数",
+    "ATTACH": "连接",
+    "AUDIO": "音频",
+    "AUDIOFILES": "音频文件。",
+    "AUDIO_FILES": "音频文件。",
+    "AUTH": "身份验证",
+    "AUTHTOKEN": "授权令牌",
+    "AUTOPAUSE": "自动暂停",
+    "AUTOREPLY": "自动回复",
+    "AVG_BILLABLE": "平均计费。",
+    "AVG_HOLD_TIME": "平均保持时间",
+    "BACK": "返回",
+    "BLACKLIST": "黑名单",
+    "BODY": "身体",
+    "BOTNAME": "机器人名称",
+    "BUILDER": "构建器",
+    "BUSY": "正忙",
+    "CALLED": "称为",
+    "CALLER": "主叫方",
+    "CALLERID": "来电显示",
+    "CALLER_ID": "主叫方 ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "运动",
+    "CANCEL": "取消",
+    "CANNEDANSWERS": "罐头答案",
+    "CANNED_ANSWER_NOT_FOUND": "没有现成的答案，发现",
+    "CANNED_ANSWER_SEARCH": "请输入要搜索的文本一个罐装的答案",
+    "CANT_DOWNLOAD_THIS_FILE": "无法下载此文件",
+    "CAPACITY": "容量",
+    "CHANNEL": "渠道",
+    "CHANNELS": "频道",
+    "CHANSPIES": "陈的间谍",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "聊天",
+    "CITY": "城市",
+    "CLEAR": "明确",
+    "CLOSE": "关",
+    "CLOSED": "关闭",
+    "CLOSEDAT": "在关闭",
+    "CLOSEMETHOD": "关闭方法。",
+    "CLOSEURL": "关闭 URL。",
+    "CLOSING": "关闭",
+    "COMMAND": "命令",
+    "COMPANIES": "公司介绍",
+    "COMPANY": "公司",
+    "CONDITION": "条件",
+    "CONFIRM_PASSWORD": "确认密码",
+    "CONNECTED": "已连接",
+    "CONTACT": "联系",
+    "CONTACTMANAGER": "联系人管理器",
+    "CONTACTS": "联系人",
+    "CONTENT": "内容",
+    "CONTEXT": "上下文",
+    "CONTEXTS": "上下文",
+    "COUNTRY": "国家/地区",
+    "CREATED_AT": "创建在",
+    "CUSTOM": "自定义",
+    "CUSTOMER_JOURNEY": "客户之旅",
+    "CUSTOM_FIELDS": "自定义字段。",
+    "CUTDIGITS": "切数字",
+    "DASHBOARD": "仪表板",
+    "DATE": "日期",
+    "DATE_OF_BIRTH": "出生日期",
+    "DEFAULT": "默认值",
+    "DEFAULT_PAUSE": "默认情况下暂停",
+    "DELETE": "删除",
+    "DELETE_APP": "删除应用程序",
+    "DELETE_CHANSPY": "删除 ChanSpy",
+    "DELETE_CONTEXT": "删除环境",
+    "DELETE_HOPPER": "删除料斗",
+    "DELETE_INBOUNDROUTE": "删除传入的路由",
+    "DELETE_INTERACTION": "删除交互",
+    "DELETE_INTERNALROUTE": "删除内部路由",
+    "DELETE_MOHSOUND": "删除音乐声音",
+    "DELETE_MUSICONHOLD": "删除音乐保留",
+    "DELETE_OUTBOUNDROUTE": "删除出站的路由",
+    "DELETE_PROJECT": "删除项目",
+    "DELETE_SELECTED": "删除选定项",
+    "DELETE_VOICEDISPOSITION": "删除语音处理",
+    "DELETE_VOICEMAIL": "删除语音邮件。",
+    "DELETE_VOICEQUEUE": "删除语音队列",
+    "DELETE_VOICERECORDING": "删除录音。",
+    "DELIVERYREPORTURL": "发送报告URL",
+    "DESCRIPTION": "描述",
+    "DESTINATION": "目标位置",
+    "DESTINATIONPATTERN": "目标模式",
+    "DETAIL": "详细信息",
+    "DETAILS": "细节",
+    "DIAL": "拨号",
+    "DIALER": "拨号器",
+    "DIALOGFLOW": "对话流程",
+    "DID": "没有",
+    "DIRECTORY": "目录",
+    "DISABLED": "已禁用",
+    "DISPOSITION": "处置",
+    "DISPOSITIONS": "资产处置",
+    "DOWNLOAD": "下载",
+    "DOWNLOAD_INTERACTION": "下载",
+    "DOWNLOAD_MOHSOUND": "下载音乐的声音",
+    "DOWNLOAD_VOICERECORDING": "下载语音录制",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "不带附件下载",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "下载没有附件",
+    "DOWNLOAD_WITH_ATTACHMENT": "附件下载",
+    "DOWNLOAD_WITH_ATTACHMENTS": "下载附件",
+    "DROPPED": "丢弃",
+    "DROP_TO_UPLOAD": "下上传",
+    "DURATION": "持续时间",
+    "EDIT": "编辑",
+    "EDIT_AGENT": "编辑业务代表",
+    "EDIT_AGI": "编辑安城",
+    "EDIT_AMAZONLEX": "编辑Lex配置",
+    "EDIT_APP": "编辑应用程序",
+    "EDIT_AUTOREPLY": "编辑自动回复",
+    "EDIT_CHANSPY": "编辑 ChanSpy",
+    "EDIT_CLOSE": "编辑关闭",
+    "EDIT_CONTEXT": "编辑上下文",
+    "EDIT_CUSTOM": "编辑自定义",
+    "EDIT_DIAL": "编辑拨号",
+    "EDIT_DIALOGFLOW": "编辑Dialogflow配置",
+    "EDIT_EXTERNALDIAL": "编辑外部拨号",
+    "EDIT_GOTO": "编辑 GoTo",
+    "EDIT_GOTOIF": "编辑 GotoIf",
+    "EDIT_GOTOP": "编辑 GotoP",
+    "EDIT_HANGUP": "编辑挂断",
+    "EDIT_HOPPER": "编辑料斗",
+    "EDIT_INBOUNDROUTE": "编辑入站的路由",
+    "EDIT_INTERNALDIAL": "编辑内部拨号",
+    "EDIT_INTERNALROUTE": "编辑内部的路由",
+    "EDIT_INTERVAL": "编辑的时间间隔",
+    "EDIT_MUSICONHOLD": "编辑音乐",
+    "EDIT_NOOP": "编辑 Noop",
+    "EDIT_OUTBOUNDROUTE": "编辑出站的路由",
+    "EDIT_PLAYBACK": "编辑播放",
+    "EDIT_PROJECT": "编辑项目",
+    "EDIT_QUEUE": "编辑队列",
+    "EDIT_RINGGROUP": "编辑铃组",
+    "EDIT_SET": "编辑设置",
+    "EDIT_SYSTEM": "编辑系统",
+    "EDIT_TAG": "编辑标签",
+    "EDIT_TRUNK": "编辑中继线",
+    "EDIT_VOICEDISPOSITION": "编辑语音处理",
+    "EDIT_VOICEMAIL": "编辑语音邮件",
+    "EDIT_VOICEQUEUE": "编辑语音队列",
+    "EDIT_VOICERECORDING": "编辑语音录制",
+    "EMAIL": "电子邮件",
+    "EMAILADDRESS": "电子邮件地址",
+    "EMAILBODY": "电子邮件正文",
+    "EMAILSUBJECT": "电子邮件主题",
+    "ENABLED": "已启用",
+    "ENCRYPTION": "加密",
+    "ENDTIME": "结束时间",
+    "ENVELOPE": "开窗信封",
+    "EQUALS": "等于",
+    "ERROR": "错误",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必须是书面的格式无效",
+      "ACCESSKEYID_REQUIRED": "必须输入访问密钥ID",
+      "ACCOUNTNAME_REQUIRED": "该帐户的名称是必需的",
+      "ACCOUNTSID_REQUIRED": "必填项",
+      "AFTERCALLWORKDURATION_REQUIRED": "呼叫后工作的持续时间是必需的",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填项",
+      "AGENT_REQUIRED": "业务代表是必需的",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+      "AGENT_TIMEOUT_REQUIRED": "代理超时是必需的",
+      "ALIAS_REQUIRED": "别名是必需的",
+      "APIKEY_REQUIRED": "API 密钥所需的",
+      "APPLICATION_REQUIRED": "应用程序是必需的",
+      "AUTHTOKEN_REQUIRED": "的授权令牌",
+      "BOTNAME_REQUIRED": "机器人名称为必填项",
+      "CLOSEURL_MUST_VALID_URL": "关闭 URL 必须是书面的格式无效",
+      "COMMAND_REQUIRED": "必填项",
+      "CONDITION_REQUIRED": "但条件是必需的",
+      "CONFIRM_NOT_MATCH": "密码不匹配",
+      "CONTENT_REQUIRED": "内容是必需的",
+      "CONTEXT_REQUIRED": "当前的情况是必需的",
+      "DESTINATIONPATTERN_REQUIRED": "目标模式是必需的",
+      "DISPOSITION_REQUIRED": "性情是必需的",
+      "EMAIL_MUST_VALID": "电子邮件必须有书面的格式无效",
+      "EMAIL_REQUIRED": "“电子邮件是必填的",
+      "EXTENSION_REQUIRED": "扩展名是必需的",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "虚假的优先级必须大于或等于",
+      "FALSEPRIORITY_REQUIRED": "虚假的优先级是必需的",
+      "FIELD_REQUIRED": "该字段为必需字段。",
+      "FIRSTNAME_REQUIRED": "第一名是必需的",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+      "FONTSIZE_REQUIRED": "必填项",
+      "FULLNAME_REQUIRED": "完整的名称是必需的",
+      "HOST_REQUIRED": "主机是必需的",
+      "KEY_MAX_LENGTH": "密钥必须有一个最大长度等于最大值{{}}",
+      "KEY_REQUIRED": "最重要的是必需的",
+      "LIST_REQUIRED": "该列表是必需的",
+      "MAILBOX_REQUIRED": "邮箱是必需的",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项",
+      "METHOD_REQUIRED": "必填项",
+      "MOTIONADDRESS_MUST_VALID_URL": "该议案的地址必须是书面的格式无效",
+      "MOTIONADDRESS_REQUIRED": "该议案的地址是必填项",
+      "MOTIONPROXY_MUST_VALID_URL": "错误的格式。",
+      "MOTIONPROXY_REQUIRED": "必填字段",
+      "NAME_MUST_VALID_PATTERN": "该名称必须是书面的格式无效",
+      "NAME_REQUIRED": "该名称是必需的",
+      "OPTIONS_REQUIRED": "该选项是必需的",
+      "OUTBOUNDROUTE_REQUIRED": "必填项",
+      "PASSWORD_REQUIRED": "密码是必需的",
+      "PHONENUMBER_REQUIRED": "手机号码为必填项",
+      "PHONE_REQUIRED": "手机是必需的",
+      "PREFIX_REQUIRED": "前缀是必需的",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "优先级必须大于或等于",
+      "PRIORITY_REQUIRED": "优先级是必需的",
+      "PROJECT_REQUIRED": "必填项",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填项",
+      "QUEUE_REQUIRED": "该队列是必需的",
+      "REJECTURL_MUST_VALID_URL": "“拒绝” 的 URL 必须是书面的格式无效",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "“重试” 必须大于或等于",
+      "SECRETACCESSKEY_REQUIRED": "必填项",
+      "SENDERSTRING_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "错误的格式",
+      "SID_REQUIRED": "SID 是必需的",
+      "TAG_REQUIRED": "必填项",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "技术/资源是必需的",
+      "TEXT_MAX_LENGTH": "该值的最大长度必须等于{{max}}",
+      "TEXT_REQUIRED": "在字段中的文本是必需的",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "超时值必须大于或等于",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+      "TIMEOUT_REQUIRED": "超时是必需的",
+      "TIMEZONE_REQUIRED": "时区是必需的",
+      "TOKEN_REQUIRED": "令牌是必需的",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "真正的优先级必须大于或等于",
+      "TRUEPRIORITY_REQUIRED": "真正的优先级是必需的",
+      "TRUNK_REQUIRED": "必填项",
+      "TYPE_REQUIRED": "必填字段",
+      "URL_REQUIRED": "URL 是必需的",
+      "USERNAME_REQUIRED": "必填项",
+      "VALUE_REQUIRED": "该值是必需的",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填项",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "重量必须大于或等于",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "后续处理时间必须大于或等于"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "估计的保持时间公布",
+    "EXTENSION": "扩展",
+    "EXTERNALDIAL": "外拨",
+    "FAILED": "失败",
+    "FALSEPRIORITY": "虚假的优先级",
+    "FAX": "传真",
+    "FIDELITY": "保真度",
+    "FIELD": "字段",
+    "FIELDS": "字段",
+    "FILE": "文件",
+    "FILE_NOT_FOUND": "文件未找到",
+    "FILTER": "筛选器",
+    "FILTERS": "滤波器",
+    "FINISH": "完成",
+    "FONTSIZE": "字体大小",
+    "FORMAT": "格式",
+    "FREE": "免费",
+    "FROM": "从",
+    "FULLNAME": "全名。",
+    "GENERAL": "总的",
+    "GLOBAL": "全球",
+    "GOSUB": "GoSub",
+    "GOTO": "GoTo",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "挂断",
+    "HANGUPCAUSE_1": "1 =未分配的号码",
+    "HANGUPCAUSE_16": "16 = Normail 呼叫清除",
+    "HANGUPCAUSE_17": "17 =用户正忙",
+    "HANGUPCAUSE_18": "18 =没有用户响应(可打电话的设备未连接)",
+    "HANGUPCAUSE_21": "21 =呼叫被拒绝",
+    "HANGUPCAUSE_22": "22 =号改变。",
+    "HANGUPCAUSE_27": "27 =目的地时的订单",
+    "HANGUPCAUSE_38": "38 =网络的顺序",
+    "HANGUPCAUSE_41": "41 =临时故障",
+    "HANGUP_CAUSE": "导致挂起。",
+    "HEADERS": "标头",
+    "HELP": {
+      "AFTERCALLWORK": "如果已激活, 该座席将被设置为 “暂停后完成的呼叫在队列中",
+      "AFTERCALLWORKDURATION": "的的暂停持续时间触发的 “呼叫后工作” 选项。",
+      "ANNOUNCECALLERPOSITION": "定义是否将主叫方的队列中第一的位置应宣布她的。 如果设置为 “否”, 该位置将永远不会被公布。 如果设置为 “是”、“主叫方的立场始终会宣布。 如果将该值设置为限制, 主叫方将听到她的队列中第一的位置只有在所定义的限制宣布--位置的限制。 如果将该值设置为更多的来电者将会听到她的位置如果是超出定义的号码, 宣布--位置的限制。",
+      "ANNOUNCEHOLDTIME": "定义是否将估计的保持时间, 应发挥的定期通知。",
+      "ANNOUNCETOAGENT": "用于播放语音通知的业务代表应答的呼叫, 通常要让他知道什么是队列中的呼叫方。",
+      "CONTEXT": "允许主叫方退出队列的按单一的 DTMF 数字。 如果指定了环境和主叫方输入的数字, 该数字将尝试匹配指定的环境下, 执行 dialplan 将会继续存在。",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "如果未定义, 将播放默认值(“当前估计的保持时间”)。 如果设置为空值, 提示无法播放。",
+      "HOLDTIMEANNOUNCE": "如果未定义, 将播放默认值(“保持时间”)。 如果设置为空值, 提示无法播放。",
+      "LIST": "联系人管理器用来关联的联系人列表。",
+      "MANDATORYDISPOSITION": "强制性处分",
+      "MANDATORYDISPOSITIONPAUSEID": "暂停在强制处置期间设置的状态",
+      "MEMBERDELAY": "如果您想要有一定的延迟之前的主叫方和队列成员正在连接到每个其他。",
+      "MINANNOUNCEFREQUENCY": "指定的最小时间量必须在通过我们公布的来电者的队列中第一的位置。 这时使用的呼叫者的位置可能会经常更改, 以防止主叫方听到多个更新会在很短的时间。",
+      "MINUTEANNOUNCE": "如果未定义, 将播放默认值(“一分钟”)。 如果设置为空值, 提示无法播放。",
+      "MINUTESANNOUNCE": "如果未定义, 将播放默认值(“分钟”)。 如果设置为空值, 提示无法播放。",
+      "MONITORFORMAT": "指定的文件格式时要使用的录制。 如果监护仪-格式是处于非活动状态, 呼叫将不被记录。",
+      "MOTIONPROXY": "请输入格式为： (&R) lt ；协议＆ gt ；： http:// ＆ lt ； ipaddress ＆ gt ；[：＆ lt ;端口＆ gt ；]。 Https://X.Y.Z.W 的示例：",
+      "MUSICONHOLD": "将音乐课所使用的特定队列。",
+      "NAME": "只有数字、字母和特殊字符(_)的支持",
+      "PERIODICANNOUNCE": "一组定期公布以发挥发挥的顺序定义的。",
+      "PERIODICANNOUNCEFREQUENCY": "表明多久我们应该定期宣布与主叫方通话。",
+      "RECORDING": "启用 “呼叫记录",
+      "REPORTHOLDTIMEAGENT": "使报告的主叫方的保持时间的队列前桥接。",
+      "RINGINUSE": "用于避免呼叫发送到成员的地位是在使用中。",
+      "SECONDSANNOUNCE": "如果未定义, 将播放默认值(“秒”)。 如果设置为空值, 提示无法播放。",
+      "THANKYOUANNOUNCE": "如果未定义, 将播放默认值(“感谢您的耐心等待”。 如果设置为空值, 提示无法播放。",
+      "THEREAREANNOUNCE": "如果未定义, 将播放默认值(“有”)。 如果设置为空值, 提示无法播放。",
+      "TIMEOUTRESTART": "如果设置为 “是”, 重置超时业务代表应答如果占线或拥塞状态为 “已接收” 的通道。",
+      "TYPE": "确定了 SIP 的作用范围内的星号。 用户名: 用于验证传入-同行: 呼出电话-朋友: 涵盖了这两个特点。",
+      "VOICEMAIL_CONTEXT": "这方面的相关的扩展名。",
+      "WAITINGCALLSANNOUNCE": "如果未定义, 将播放默认值(“呼叫等待”。 如果设置为空值, 提示无法播放。",
+      "WELCOMEMESSAGE": "这是发送给接触者的第一条消息",
+      "YOUARENEXTANNOUNCE": "如果未定义, 将播放默认值(“您目前在线上是第一位”)。 如果设置为空值, 提示无法播放。"
+    },
+    "HIDE_DETAILS": "隐藏详细信息",
+    "HOLDTIMEANNOUNCE": "保持时间公布",
+    "HOST": "主机",
+    "ID": "Id",
+    "IDLE": "空闲",
+    "IN": "在",
+    "INBOUNDROUTES": "呼入路由",
+    "INFO": "信息",
+    "INSERT_MESSAGE_HERE": "在此处插入您的短信",
+    "INTEGRATIONS": "集成。",
+    "INTERACTION": "相互作用",
+    "INTERACTIONS": "互动。",
+    "INTERNAL": "内部",
+    "INTERNALDIAL": "内部拨号",
+    "INTERNALROUTES": "内部路由",
+    "INTERVAL": "时间间隔",
+    "INTERVALS": "时间间隔",
+    "INUSE": "在使用中",
+    "INVALID": "无效",
+    "IN_USE": "在使用中",
+    "JOINWHENEMPTY": "加入时空",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "密钥",
+    "LAGGED": "落后",
+    "LANGUAGE": "语言",
+    "LASTMESSAGE": "最后留言",
+    "LASTNAME": "Lastname",
+    "LAST_MONTH": "上个月",
+    "LEAVEWHENEMPTY": "离开时空",
+    "LEXREGION": "区域",
+    "LIMITED": "有限的",
+    "LIST": "列表",
+    "LOGGED_IN": "已登录",
+    "LOGIN_TIME": "登录时间",
+    "LOGO": "徽标",
+    "LOGOUT": "注销",
+    "MACRO": "宏",
+    "MAIL": "邮件",
+    "MAILBOX": "邮箱",
+    "MAILBOX@CONTEXT": "邮箱@上下文",
+    "MANAGED": "管理",
+    "MANDATORYDISPOSITION": "强制性处分",
+    "MANDATORYDISPOSITIONPAUSEID": "强制处置暂停状态",
+    "MARK_AS_UNREAD": "标记为未读",
+    "MAXLENGTH": "最大长度",
+    "MAXMESSAGES": "最大消息数",
+    "MAXSECONDS": "的最大秒数。",
+    "MAY": "可能",
+    "MEMBERDELAY": "会员延迟",
+    "MESSAGE": "消息。",
+    "MESSAGES": "讯息",
+    "MESSAGESALIGNMENT": "消息对齐",
+    "METHOD": "方法",
+    "METRIC": "公",
+    "MINANNOUNCEFREQUENCY": "最小频率的宣布",
+    "MINUTEANNOUNCE": "分钟的宣布",
+    "MINUTESANNOUNCE": "分钟的宣布",
+    "MOBILE": "移动数据终端",
+    "MODULES": "模块",
+    "MOHSOUNDS": "卫生部的声音。",
+    "MONITORFORMAT": "录制格式",
+    "MORE": "更多",
+    "MOTIONADDRESS": "移动地址",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "运动防撞架",
+    "MOTIONPROXY": "代理或运动的域",
+    "MOTION_BULL": "运动防撞架",
+    "MUSICONHOLD": "音乐保留",
+    "MUSICONHOLDS": "音乐保留",
+    "NAME": "名称",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "新 ChanSpy",
+    "NEW_CONTACT": "新联系人",
+    "NEW_CONTEXT": "新的上下文。",
+    "NEW_INBOUNDROUTE": "新的入站的路由",
+    "NEW_INTERNALROUTE": "新的内部路由",
+    "NEW_MUSICONHOLD": "新音乐",
+    "NEW_OUTBOUNDROUTE": "新的出站路由",
+    "NEW_PROJECT": "新项目",
+    "NEW_TAB": "新的选项卡。",
+    "NEW_TAG": "新建标签",
+    "NEW_VARIABLE": "新的变量。",
+    "NEW_VOICEMAIL": "新的语音邮件",
+    "NEW_VOICEQUEUE": "新的语音队列",
+    "NO": "无",
+    "NONE": "无",
+    "NOOP": "Noop",
+    "NOTE": "注意",
+    "NOTES": "注释",
+    "NOTIFICATION": "通知",
+    "NOTIFICATIONSHAKE": "摇",
+    "NOTIFICATIONSOUND": "声音",
+    "NOTIFICATIONTEMPLATE": "模板",
+    "NOT_INUSE": "未使用",
+    "NO_AGENT_ONLINE": "无业务代表在线",
+    "NO_APPS_AVAILABLE": "没有可用的应用程序",
+    "NO_AVAILABLE_INFO": "无可用的信息",
+    "NO_INTERACTION_AVAILABLE": "没有可用的交互作用",
+    "NO_MESSAGE_AVAILABLE": "没有可用的消息。",
+    "NO_MOHSOUND_AVAILABLE": "没有音乐保留可用的",
+    "NO_RATING": "未评级",
+    "NO_REGISTRY": "无注册表",
+    "NO_SOUND_AVAILABLE": "没有可用的声音。",
+    "NUMBER": "数",
+    "OF": "的",
+    "ONHOLD": "搁置",
+    "OPEN": "打开",
+    "OPENCHANNEL": "打开通道",
+    "OPENED": "打开",
+    "OPERATOR": "操作员",
+    "OPTIONS": "选项。",
+    "ORIGINATED": "源自",
+    "OTHERS": "其他人",
+    "OUT": "出",
+    "OUTBOUNDDIAL": "呼出拨号",
+    "OUTBOUNDROUTE": "出境路线",
+    "OUTBOUNDROUTES": "出站的路由",
+    "OUTBOUND_CALLS": "呼出呼叫",
+    "OUTPUT": "输出",
+    "PAGE": "页面",
+    "PARTIALPAUSE": "部分暂停",
+    "PASSWORD": "密码",
+    "PAUSE": "暂停",
+    "PAUSED": "已暂停",
+    "PAUSE_TIME": "暂停时间",
+    "PAYMENTMETHOD": "支付方式",
+    "PENALTY": "刑罚",
+    "PENDING": "待定",
+    "PERIODICANNOUNCE": "定期公布",
+    "PERIODICANNOUNCEFREQUENCY": "定期公布频率",
+    "PERSONAL_INFO": "个人信息",
+    "PHONE": "电话",
+    "PHONENUMBER": "电话号码",
+    "PHONE_STATE": "电话状态",
+    "PHONE_STATUS": "手机状态",
+    "PLAYBACK": "播放",
+    "PLUGINS": "插件",
+    "PORT": "端口",
+    "POSITION": "位置",
+    "POSTALCODE": "邮政编码",
+    "PREFIX": "前缀。",
+    "PREVIEW": "预览",
+    "PRIORITY": "优先级",
+    "PROJECT": "Cally-Square 项目",
+    "PROJECTS": "项目",
+    "PROXY": "代理",
+    "QUEUE": "队列",
+    "QUEUES": "队列",
+    "QUEUETRANSFER": "队列转移",
+    "QUEUETRANSFERTIMEOUT": "队列转移超时",
+    "QUEUE_CALLS": "队列中的呼叫",
+    "QUEUE_PARAMETERS": "队列参数。",
+    "QUEUE_PARAMS": "队列参数。",
+    "RANDOM": "随机存取存储器",
+    "RANDOMPERIODICANNOUNCE": "随机定期公布",
+    "RATING": "评级",
+    "REACHABLE": "访问",
+    "READY": "准备就绪",
+    "REALTIME": "实时",
+    "RECALLME": "记得我",
+    "RECEIVED_AT": "收到",
+    "RECEIVEURL": "接收网址",
+    "RECORD": "记录",
+    "RECORDING": "录制",
+    "RECORDINGFORMAT": "录制格式",
+    "RECORDINGS": "录像",
+    "REFRESH_INTERACTIONS": "刷新的交互作用",
+    "REGISTERED": "已注册",
+    "REGISTRY": "注册表",
+    "REJECT": "拒绝",
+    "REJECTED": "被拒绝",
+    "REJECTMETHOD": "拒绝方法。",
+    "REJECTURL": "拒绝 URL。",
+    "RELOAD": "重新加载",
+    "REPLY": "回复",
+    "REPORT": "报告",
+    "REPORTHOLDTIMEAGENT": "报告座席保持时间",
+    "RETRY": "重试",
+    "RING": "振铃",
+    "RINGGROUP": "振铃组",
+    "RINGING": "振铃",
+    "RINGINUSE": "环在使用中",
+    "ROWSPERPAGE": "每页的行数。",
+    "RULE": "规则",
+    "SAVE": "保存",
+    "SCHEDULEDAT": "计划在",
+    "SCHEDULED_CALLS": "预定电话",
+    "SCREENRECORDING": "管理屏幕录像",
+    "SCRIPT": "脚本",
+    "SEARCH_FOR_ANYONE": "搜索任何人",
+    "SECONDSANNOUNCE": "秒宣布",
+    "SECRETACCESSKEY": "秘密访问密钥",
+    "SECURITY_SUITE": "安全套件",
+    "SELECT": "选择",
+    "SELECTED": "选中的",
+    "SELECTED_AGENTS": "选定的座席",
+    "SELECTED_TEAMS": "选定的组",
+    "SELECTED_USERS": "选定的用户",
+    "SELECT_ACCOUNT": "选择帐户。",
+    "SELECT_ALL": "选择所有",
+    "SELECT_DATE": "选择开始日期",
+    "SELECT_NONE": "选择 “无”",
+    "SELECT_STATUS": "选择状态。",
+    "SELECT_TYPE": "选择类型",
+    "SEND": "发送",
+    "SENDMAIL": "发送邮件",
+    "SENTIMENTANALYSIS": "情绪分析",
+    "SERVICE": "服务",
+    "SESSIONS": "会议",
+    "SET": "设置",
+    "SETINTERFACEVARIABLES": "设置接口变量。",
+    "SETQUEUEENTRYVARIABLES": "设置队列项变量。",
+    "SETQUEUEVARIABLES": "设置队列中的变量。",
+    "SETTINGS": "设置",
+    "SHOW_ALL_FIELDS": "显示所有字段",
+    "SHOW_DETAILS": "显示详细信息",
+    "SMS": "短信",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP 主机",
+    "SMTP_PORT": "SMTP 端口。",
+    "SOCIAL": "社会",
+    "SORT": "排序",
+    "SOURCE": "资料来源",
+    "SPYINTERACTION": "间谍",
+    "STAFF": "工作人员",
+    "STARTEDAT": "开始于",
+    "STARTTIME": "开始时间",
+    "START_SCREENRECORDING": "开始屏幕录制",
+    "STATE": "状态",
+    "STATUS": "状态。",
+    "STOP_SCREENRECORDING": "停止画面录制",
+    "STRATEGY": "战略",
+    "SUBJECT": "主题",
+    "SYSTEM": "系统",
+    "TAG": "标签",
+    "TAGS": "标签",
+    "TALKING": "通话",
+    "TEAMS_ASSOCIATION": "车队协会",
+    "TECHNOLOGY/RESOURCE": "技术/资源",
+    "TELEPHONES": "电话",
+    "TEMPLATE": "模板。",
+    "TEXT": "文本",
+    "THANKYOUANNOUNCE": "“感谢您” 的宣布",
+    "THEREAREANNOUNCE": "“有的宣布",
+    "TIMEOUT": "超时",
+    "TIMEOUTRESTART": "超时重新启动",
+    "TIMER": "计时器",
+    "TIMES": "每个交互操作的次数。",
+    "TIMEZONE": "时区",
+    "TO": "要",
+    "TOKEN": "令牌",
+    "TOOLTIP_SCREENRECORDING_OFF": "屏幕录像可用",
+    "TOOLTIP_SCREENRECORDING_ON": "屏幕录像正在进行中",
+    "TOTAL": "总",
+    "TOTAL_OFFERED": "总的提供",
+    "TRANSCRIBE": "录制",
+    "TRANSFER": "转让",
+    "TRANSPORT": "交通运输",
+    "TRUEPRIORITY": "真正的优先级",
+    "TRUNK": "中继线",
+    "TRUNKS": "中继线",
+    "TRUNK_STATUS": "中继线状态",
+    "TYPE": "类型",
+    "UNAVAILABLE": "不可用。",
+    "UNIQUEID": "独特的 ID",
+    "UNKNOWN": "未知",
+    "UNMANAGED": "非受管",
+    "UNPAUSE": "取消暂停",
+    "UNREACHABLE": "不可访问",
+    "UNREGISTERED": "未注册",
+    "UP": "高达",
+    "UPDATE": "更新。",
+    "UPLOADING": "上传",
+    "URL": "URL。",
+    "USER": "用户",
+    "USERNAME": "用户名",
+    "USERS": "用户",
+    "VALUE": "值",
+    "VARIABLE": "变量",
+    "VIDAOOSESSION": "开始视频通话",
+    "VIDEO": "视频",
+    "VIDEOSUPPORT": "视频支持",
+    "VOICE": "语音",
+    "VOICEMAIL": "语音邮件",
+    "VOICEMAILS": "语音邮件",
+    "VOICEMAIL_CONTEXT": "上下文",
+    "VOICEQUEUES": "语音队列",
+    "VOICERECORDINGS": "语音录音",
+    "WAITFORTHEASSIGNEDAGENT": "等待指定的代理",
+    "WAITING": "正在等待",
+    "WAITINGCALLSANNOUNCE": "呼叫等待通知",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "网站",
+    "WEIGHT": "重量",
+    "WELCOMEMESSAGE": "欢迎消息",
+    "WHATSAPP": "WhatsApp连接器",
+    "WHITELABEL": "白色标签",
+    "WRAPUPTIME": "话后工作时间",
+    "WRONG_EXTENSION": "该文件显示错误的扩展名",
+    "YES": "是的",
+    "YOUARENEXTANNOUNCE": "“你是下的宣布"
+  }
+}
diff --git a/public/app/main/i18n/zh-TW.json b/public/app/main/i18n/zh-TW.json
new file mode 100644
index 0000000..970d0f0
--- /dev/null
+++ b/public/app/main/i18n/zh-TW.json
@@ -0,0 +1,685 @@
+{
+  "APP": {
+    "ABANDONED": "已中止",
+    "ABANDONEDCALLS": "被放棄的隊列呼叫",
+    "ABANDONED_CALLS": "已放棄的通話數",
+    "ACCEPT": "接受",
+    "ACCEPTMETHOD": "接受方法",
+    "ACCEPTURL": "接受 URL",
+    "ACCESSKEYID": "訪問密鑰ID",
+    "ACCOUNT": "帳號",
+    "ACCOUNTNAME": "帳號名稱",
+    "ACCOUNTS": "帳戶",
+    "ACCOUNTSID": "帳戶SID",
+    "ACTIONS": "動作",
+    "ACTIVE": "活性",
+    "ADD": "新增",
+    "ADDRESS": "位址",
+    "ADD_AGENT_TO_VOICEQUEUE": "新增值機員至語音佇列",
+    "ADD_CHANSPY": "新增 ChanSpy",
+    "ADD_CONTACT": "新增連絡人",
+    "ADD_CONTEXT": "新增內容",
+    "ADD_INBOUNDROUTE": "新增輸入路由",
+    "ADD_INTERNALROUTE": "新增內部路由",
+    "ADD_MOHSOUND": "新增音樂音效",
+    "ADD_MUSICONHOLD": "新增音樂設為保留",
+    "ADD_NOTE": "新增備註",
+    "ADD_OUTBOUNDROUTE": "新增外路由",
+    "ADD_PROJECT": "新增專案",
+    "ADD_TAG": "新增標籤",
+    "ADD_TEAM_TO_VOICEQUEUE": "新增群組語音佇列",
+    "ADD_VARIABLE": "新增變數",
+    "ADD_VOICEMAIL": "新增語音信箱",
+    "ADD_VOICEQUEUE": "新增語音通話佇列",
+    "ADVANCED": "進階",
+    "AFTERCALLWORK": "通話結束後的後續工作",
+    "AFTERCALLWORKDURATION": "呼叫後工作時間",
+    "AGENT": "值機員",
+    "AGENTS": "值機員",
+    "AGENTSADD_QUEUE": "將值機員新增到語音佇列",
+    "AGENTTRANSFER": "代理轉移",
+    "AGENTTRANSFERTIMEOUT": "代理轉移超時",
+    "AGENT_TIMEOUT": "值機人員等候逾時",
+    "AGI": "AGI",
+    "ALIAS": "別名",
+    "ALL": "所有",
+    "ALLOWCODECS": "允許轉碼器",
+    "ALL_AGENTS": "所有值機員",
+    "ALL_TEAMS": "所有群組",
+    "ALL_USERS": "全部用戶",
+    "ALPHABETICAL": "按字母順序排列",
+    "ALWAYS": "永遠",
+    "AMAZONLEX": "亞馬遜Lex",
+    "ANNOUNCECALLERPOSITION": "發佈者位置",
+    "ANNOUNCEFREQUENCY": "發佈頻率",
+    "ANNOUNCEHOLDTIME": "宣佈保留時間",
+    "ANNOUNCEMENTS": "公告",
+    "ANNOUNCEPOSITIONLIMIT": "宣佈位置限制",
+    "ANNOUNCETOAGENT": "發佈至值機員",
+    "ANNOUNCE_OVERRIDES": "宣佈會覆寫",
+    "ANSWER": "接聽來電",
+    "ANSWERED": "接聽數量",
+    "API": "API",
+    "APIKEY": "Api 金鑰",
+    "APPLICATION": "應用程式",
+    "APPLICATION_NAME": "應用程式名稱",
+    "ARGUMENTS": "引數",
+    "ATTACH": "連接",
+    "AUDIO": "音效",
+    "AUDIOFILES": "音效檔案",
+    "AUDIO_FILES": "音效檔案",
+    "AUTH": "驗證",
+    "AUTHTOKEN": "驗證權杖",
+    "AUTOPAUSE": "自動暫停",
+    "AUTOREPLY": "自動回覆",
+    "AVG_BILLABLE": "平均可計費",
+    "AVG_HOLD_TIME": "平均保留時間",
+    "BACK": "備份",
+    "BLACKLIST": "黑名單",
+    "BODY": "身體",
+    "BOTNAME": "機器人名稱",
+    "BUILDER": "建構工具",
+    "BUSY": "忙碌中",
+    "CALLED": "又稱為",
+    "CALLER": "來電者",
+    "CALLERID": "來電者 ID",
+    "CALLER_ID": "來電者 ID",
+    "CALLYSQUARE": "CallySquare",
+    "CAMPAIGN": "行銷活動",
+    "CANCEL": "取消",
+    "CANNEDANSWERS": "罐頭答案",
+    "CANNED_ANSWER_NOT_FOUND": "沒有找到答案是罐頭",
+    "CANNED_ANSWER_SEARCH": "輸入文字來搜尋個罐頭答案",
+    "CANT_DOWNLOAD_THIS_FILE": "無法下載此文件",
+    "CAPACITY": "容量",
+    "CHANNEL": "渠道",
+    "CHANNELS": "頻道",
+    "CHANSPIES": "Chan 間諜",
+    "CHANSPY": "ChanSpy",
+    "CHAT": "文字交談",
+    "CITY": "鄉 / 鎮 / 區 / 市",
+    "CLEAR": "明確",
+    "CLOSE": "關",
+    "CLOSED": "關閉",
+    "CLOSEDAT": "關閉。",
+    "CLOSEMETHOD": "關閉方法",
+    "CLOSEURL": "關閉 URL",
+    "CLOSING": "關閉",
+    "COMMAND": "”命令",
+    "COMPANIES": "公司介紹",
+    "COMPANY": "公司",
+    "CONDITION": "條件",
+    "CONFIRM_PASSWORD": "確認密碼",
+    "CONNECTED": "已連線",
+    "CONTACT": "連絡人",
+    "CONTACTMANAGER": "連絡人管理員",
+    "CONTACTS": "[ 連絡人 ]",
+    "CONTENT": "內容",
+    "CONTEXT": "內容",
+    "CONTEXTS": "內容",
+    "COUNTRY": "國家 / 地區",
+    "CREATED_AT": "建立在",
+    "CUSTOM": "自訂",
+    "CUSTOMER_JOURNEY": "客戶之旅",
+    "CUSTOM_FIELDS": "自訂欄位",
+    "CUTDIGITS": "裁切數字",
+    "DASHBOARD": "主控台",
+    "DATE": "日期",
+    "DATE_OF_BIRTH": "出生日期",
+    "DEFAULT": "預設值",
+    "DEFAULT_PAUSE": "預設暫停",
+    "DELETE": "刪除",
+    "DELETE_APP": "刪除應用程式",
+    "DELETE_CHANSPY": "刪除 ChanSpy",
+    "DELETE_CONTEXT": "刪除內容",
+    "DELETE_HOPPER": "刪除料斗",
+    "DELETE_INBOUNDROUTE": "刪除輸入路由",
+    "DELETE_INTERACTION": "刪除交互",
+    "DELETE_INTERNALROUTE": "刪除內部路由",
+    "DELETE_MOHSOUND": "刪除音樂保留音效",
+    "DELETE_MUSICONHOLD": "刪除音樂設為保留",
+    "DELETE_OUTBOUNDROUTE": "刪除外路由",
+    "DELETE_PROJECT": "刪除專案",
+    "DELETE_SELECTED": "刪除所選",
+    "DELETE_VOICEDISPOSITION": "刪除語音處理",
+    "DELETE_VOICEMAIL": "刪除留言",
+    "DELETE_VOICEQUEUE": "刪除語音通話佇列",
+    "DELETE_VOICERECORDING": "刪除語音錄音",
+    "DELIVERYREPORTURL": "發送報告URL",
+    "DESCRIPTION": "說明",
+    "DESTINATION": "目的地",
+    "DESTINATIONPATTERN": "目的地型式",
+    "DETAIL": "詳細資料",
+    "DETAILS": "細節",
+    "DIAL": "撥號",
+    "DIALER": "撥號器",
+    "DIALOGFLOW": "對話流程",
+    "DID": "DID",
+    "DIRECTORY": "目錄",
+    "DISABLED": "已停用",
+    "DISPOSITION": "處理",
+    "DISPOSITIONS": "Dispositions",
+    "DOWNLOAD": "下載",
+    "DOWNLOAD_INTERACTION": "下載",
+    "DOWNLOAD_MOHSOUND": "下載音樂音效",
+    "DOWNLOAD_VOICERECORDING": "下載語音錄音",
+    "DOWNLOAD_WITHOUT_ATTACHMENT": "不帶附件下載",
+    "DOWNLOAD_WITHOUT_ATTACHMENTS": "下載沒有附件",
+    "DOWNLOAD_WITH_ATTACHMENT": "附件下載",
+    "DOWNLOAD_WITH_ATTACHMENTS": "下載附件",
+    "DROPPED": "捨棄",
+    "DROP_TO_UPLOAD": "拉上傳",
+    "DURATION": "通話持續時間",
+    "EDIT": "編輯",
+    "EDIT_AGENT": "編輯值機員",
+    "EDIT_AGI": "編輯 AGI",
+    "EDIT_AMAZONLEX": "編輯Lex配置",
+    "EDIT_APP": "編輯應用程式",
+    "EDIT_AUTOREPLY": "編輯自動回覆",
+    "EDIT_CHANSPY": "編輯 ChanSpy",
+    "EDIT_CLOSE": "編輯關閉",
+    "EDIT_CONTEXT": "編輯內容",
+    "EDIT_CUSTOM": "編輯自訂",
+    "EDIT_DIAL": "編輯撥號",
+    "EDIT_DIALOGFLOW": "編輯Dialogflow配置",
+    "EDIT_EXTERNALDIAL": "編輯外部撥號",
+    "EDIT_GOTO": "編輯跳至",
+    "EDIT_GOTOIF": "編輯 GotoIf",
+    "EDIT_GOTOP": "編輯 GotoP",
+    "EDIT_HANGUP": "編輯掛斷",
+    "EDIT_HOPPER": "編輯料斗",
+    "EDIT_INBOUNDROUTE": "編輯輸入路由",
+    "EDIT_INTERNALDIAL": "編輯內建撥號",
+    "EDIT_INTERNALROUTE": "編輯內部路由",
+    "EDIT_INTERVAL": "編輯時間間隔",
+    "EDIT_MUSICONHOLD": "編輯音樂設為保留",
+    "EDIT_NOOP": "編輯 Noop",
+    "EDIT_OUTBOUNDROUTE": "編輯外路由",
+    "EDIT_PLAYBACK": "編輯播放",
+    "EDIT_PROJECT": "編輯專案",
+    "EDIT_QUEUE": "編輯佇列",
+    "EDIT_RINGGROUP": "編輯鈴聲群組",
+    "EDIT_SET": "編輯設定",
+    "EDIT_SYSTEM": "編輯系統",
+    "EDIT_TAG": "編輯標籤",
+    "EDIT_TRUNK": "編輯中繼",
+    "EDIT_VOICEDISPOSITION": "編輯語音處理",
+    "EDIT_VOICEMAIL": "編輯語音信箱",
+    "EDIT_VOICEQUEUE": "編輯語音通話佇列",
+    "EDIT_VOICERECORDING": "編輯語音錄音",
+    "EMAIL": "電子郵件",
+    "EMAILADDRESS": "電子郵件地址",
+    "EMAILBODY": "電子郵件內容",
+    "EMAILSUBJECT": "電子郵件主旨",
+    "ENABLED": "已啟用",
+    "ENCRYPTION": "加密",
+    "ENDTIME": "結束時間",
+    "ENVELOPE": "信封資訊",
+    "EQUALS": "等於",
+    "ERROR": "錯誤",
+    "ERRORS": {
+      "ACCEPTURL_MUST_VALID_URL": "接受 URL 必須以有效的格式",
+      "ACCESSKEYID_REQUIRED": "必須輸入訪問密鑰ID",
+      "ACCOUNTNAME_REQUIRED": "「帳戶名稱」為必填欄位",
+      "ACCOUNTSID_REQUIRED": "必填項",
+      "AFTERCALLWORKDURATION_REQUIRED": "「通話後工作時間為必要資訊",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+      "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+      "AGENTTRANSFERTIMEOUT_REQUIRED": "必填項",
+      "AGENT_REQUIRED": "「值機員必須",
+      "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+      "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+      "AGENT_TIMEOUT_REQUIRED": "「值機人員逾時為必填欄位",
+      "ALIAS_REQUIRED": "別名是必填欄位",
+      "APIKEY_REQUIRED": "API 金鑰為必填欄位",
+      "APPLICATION_REQUIRED": "應用程式是必填欄位",
+      "AUTHTOKEN_REQUIRED": "需要的 Autorization 記號",
+      "BOTNAME_REQUIRED": "機器人名稱為必填項",
+      "CLOSEURL_MUST_VALID_URL": "關閉的 URL 必須以有效的格式",
+      "COMMAND_REQUIRED": "必填項",
+      "CONDITION_REQUIRED": "需要的條件",
+      "CONFIRM_NOT_MATCH": "密碼不相符",
+      "CONTENT_REQUIRED": "其內容為必填欄位",
+      "CONTEXT_REQUIRED": "內容為必填欄位",
+      "DESTINATIONPATTERN_REQUIRED": "目的地型式為必填欄位",
+      "DISPOSITION_REQUIRED": "處理要求",
+      "EMAIL_MUST_VALID": "電子郵件必須是書面的格式無效",
+      "EMAIL_REQUIRED": "電子郵件為必填欄位",
+      "EXTENSION_REQUIRED": "副檔名是必填欄位",
+      "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "這個錯誤的優先順序必須大於或等於",
+      "FALSEPRIORITY_REQUIRED": "這個錯誤的優先順序是必要的",
+      "FIELD_REQUIRED": "此欄位為必填欄位",
+      "FIRSTNAME_REQUIRED": "名字是必填欄位",
+      "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+      "FONTSIZE_REQUIRED": "必填項",
+      "FULLNAME_REQUIRED": "完整名稱」為必填欄位",
+      "HOST_REQUIRED": "主機是必填欄位",
+      "KEY_MAX_LENGTH": "金鑰必須具有最大長度等於 { { 最大 } }",
+      "KEY_REQUIRED": "最重要的是要求",
+      "LIST_REQUIRED": "該列表是必需的",
+      "MAILBOX_REQUIRED": "信箱為必填欄位",
+      "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項",
+      "METHOD_REQUIRED": "必填項",
+      "MOTIONADDRESS_MUST_VALID_URL": "動態位址必須以有效的格式",
+      "MOTIONADDRESS_REQUIRED": "動態地址為必填欄位",
+      "MOTIONPROXY_MUST_VALID_URL": "錯誤的格式",
+      "MOTIONPROXY_REQUIRED": "必填欄位",
+      "NAME_MUST_VALID_PATTERN": "名稱必須以有效的格式",
+      "NAME_REQUIRED": "「名稱」為必填欄位",
+      "OPTIONS_REQUIRED": "選項為必填欄位",
+      "OUTBOUNDROUTE_REQUIRED": "必填項",
+      "PASSWORD_REQUIRED": "密碼為必填欄位",
+      "PHONENUMBER_REQUIRED": "「電話號碼」為必填欄位",
+      "PHONE_REQUIRED": "「電話」為必填欄位",
+      "PREFIX_REQUIRED": "前置碼為必填欄位",
+      "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "優先必須大於或等於",
+      "PRIORITY_REQUIRED": "「優先順序為必填欄位",
+      "PROJECT_REQUIRED": "必填項",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+      "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+      "QUEUETRANSFERTIMEOUT_REQUIRED": "必填項",
+      "QUEUE_REQUIRED": "需要的佇列",
+      "REJECTURL_MUST_VALID_URL": "拒絕 URL 必須以有效的格式",
+      "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Retry 必須大於或等於",
+      "SECRETACCESSKEY_REQUIRED": "必填項",
+      "SENDERSTRING_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
+      "SENDERSTRING_MUST_VALID_PATTERN": "錯誤的格式",
+      "SID_REQUIRED": "SID 為必填欄位",
+      "TAG_REQUIRED": "必填項",
+      "TECHNOLOGY/RESOURCE_REQUIRED": "技術 / 資源為必填欄位",
+      "TEXT_MAX_LENGTH": "該值的最大長度必須等於{{max}}",
+      "TEXT_REQUIRED": "文字欄位是必填項",
+      "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "超時必須大於或等於",
+      "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+      "TIMEOUT_REQUIRED": "逾時時間為必要資訊",
+      "TIMEZONE_REQUIRED": "Timezone 是必填欄位",
+      "TOKEN_REQUIRED": "該記號為必填欄位",
+      "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "真正的優先權必須大於或等於",
+      "TRUEPRIORITY_REQUIRED": "真正的重點是必填項",
+      "TRUNK_REQUIRED": "必填項",
+      "TYPE_REQUIRED": "必填欄位",
+      "URL_REQUIRED": "「 URL 」為必填欄位",
+      "USERNAME_REQUIRED": "必填項",
+      "VALUE_REQUIRED": "此值為必填欄位",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於",
+      "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於",
+      "WAITFORTHEASSIGNEDAGENT_REQUIRED": "必填項",
+      "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "重量必須大於或等於",
+      "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "後續處理時間必須大於或等於"
+    },
+    "ESTIMATEDHOLDTIMEANNOUNCE": "預計等候時間公佈",
+    "EXTENSION": "分機號碼",
+    "EXTERNALDIAL": "外接式撥號",
+    "FAILED": "失敗",
+    "FALSEPRIORITY": "錯誤的優先順序",
+    "FAX": "傳真",
+    "FIDELITY": "準確性",
+    "FIELD": "欄位",
+    "FIELDS": "欄位",
+    "FILE": "檔案",
+    "FILE_NOT_FOUND": "文件未找到",
+    "FILTER": "過濾條件",
+    "FILTERS": "篩選器",
+    "FINISH": "完成",
+    "FONTSIZE": "字體大小",
+    "FORMAT": "格式化",
+    "FREE": "免費",
+    "FROM": "從",
+    "FULLNAME": "完整名稱",
+    "GENERAL": "通用",
+    "GLOBAL": "全球",
+    "GOSUB": "GoSub",
+    "GOTO": "「跳到斷線」",
+    "GOTOIF": "GotoIf",
+    "GOTOP": "GotoP",
+    "HANGUP": "掛斷",
+    "HANGUPCAUSE_1": "1 = 未分配的號碼",
+    "HANGUPCAUSE_16": "16 = Normail 來電清除",
+    "HANGUPCAUSE_17": "17 = 使用者忙線中",
+    "HANGUPCAUSE_18": "18 = 使用者無回應 ( telehone 裝置未連線 )",
+    "HANGUPCAUSE_21": "21 = 來電被拒",
+    "HANGUPCAUSE_22": "22 = 號碼已變更",
+    "HANGUPCAUSE_27": "27 = 目的地的順序",
+    "HANGUPCAUSE_38": "38 = 網路外的醫令",
+    "HANGUPCAUSE_41": "41 = 暫時失敗",
+    "HANGUP_CAUSE": "掛斷原因",
+    "HEADERS": "標頭",
+    "HELP": {
+      "AFTERCALLWORK": "如果作用中」、「值機員將會設在暫停在完成通話在佇列",
+      "AFTERCALLWORKDURATION": "時間暫停觸發的通話後工作選項",
+      "ANNOUNCECALLERPOSITION": "定義是否要來電者的位置在佇列中等候應公佈給她。 如果設定為否 , 位置不會被發佈。 如果設定為「是」、「來電者的位置將會公佈。 如果這個值設定為下限 , 來電者將會聽到她的職位在佇列中只有在所定義的限制發佈位置的限制。 如果這個值設定為較多 , 來電者將會聽到她的職位如果它是超越的號碼來定義發佈位置的限制。",
+      "ANNOUNCEHOLDTIME": "定義是否要預估保留時間應在播放時連同定期公告。",
+      "ANNOUNCETOAGENT": "用於播放公告至值機員接聽來電 , 通常會讓他知道佇列中的來電者是來自。",
+      "CONTEXT": "允許來電者離開佇列按一 DTMF 數字。 如果內容是特定的來電者輸入的數字 , 該數字便會嘗試進行匹配的內容中指定之 , 並撥號計畫執行程式將會繼續存在。",
+      "ESTIMATEDHOLDTIMEANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「目前的預估等候時間」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "HOLDTIMEANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「保留時間」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "LIST": "連絡人管理器列表用於關聯的連絡人",
+      "MANDATORYDISPOSITION": "強制性處分",
+      "MANDATORYDISPOSITIONPAUSEID": "暫停在強制處置期間設置的狀態",
+      "MEMBERDELAY": "如果您想要有一種延遲事先來電與佇列成員正在連線到另一台主機。",
+      "MINANNOUNCEFREQUENCY": "指定的最低金額應經過多久的時間才能我們在此宣佈推出「來電者的位置在「佇列一次。 這是用來當來電者的位置可能會經常變更 , 以避免來電者聽到多個更新在很短的時間內。",
+      "MINUTEANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「分」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "MINUTESANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「分」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "MONITORFORMAT": "指定的檔案格式時要用錄影。 如果監視器的格式為非作用中通話將不會被記錄下來。",
+      "MOTIONPROXY": "請以下列格式輸入 : & lt ; 協議 ; : / / & lt ; ipaddress & gt & gt ; [ & lt ; 連接埠與 gt ; ] 中 : 例如 : https://X.Y.Z.W",
+      "MUSICONHOLD": "集音樂類別是由特定的佇列中。",
+      "NAME": "只有數字、字母和特殊字元 ( _ ) 都受到支援",
+      "PERIODICANNOUNCE": "這是一種週期性宣告才能播放 , 播放留言順序定義。",
+      "PERIODICANNOUNCEFREQUENCY": "表示有多久我們應定期公告至來電者。",
+      "RECORDING": "啟用通話記錄",
+      "REPORTHOLDTIMEAGENT": "讓報告的來電者的保留時間至佇列會員之前的橋接。",
+      "RINGINUSE": "用來避免傳送來電至成員的狀態是在使用中。",
+      "SECONDSANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「秒」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "THANKYOUANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「感謝您的耐心等候」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "THEREAREANNOUNCE": "若未定義 , 將播放的預設值 ( 「有」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "TIMEOUTRESTART": "如果設定為「是」 , 將會重設逾時的值機員可接聽如果是忙線或網路壅塞狀態會收到的通道。",
+      "TYPE": "決定 SIP 角色星號。 使用者 : 用於驗證傳入 - 點對點式 : 撥出電話 - 朋友 : 涵蓋了這兩個特徵的以上。",
+      "VOICEMAIL_CONTEXT": "上下文相關的相對的副檔名。",
+      "WAITINGCALLSANNOUNCE": "若未定義 , 將播放的預設值 ( 下稱「來電待接數量」 ) 。 如果設為空值 , 提示字元將無法播放。",
+      "WELCOMEMESSAGE": "這是發送給接觸者的第一條消息",
+      "YOUARENEXTANNOUNCE": "若未定義 , 將播放的預設值 ( 以下稱「您現在可以先在線」 ) 。 如果設為空值 , 提示字元將無法播放。"
+    },
+    "HIDE_DETAILS": "隱藏詳細資料",
+    "HOLDTIMEANNOUNCE": "保留時間公佈",
+    "HOST": "主機",
+    "ID": "Id",
+    "IDLE": "閒置",
+    "IN": "在",
+    "INBOUNDROUTES": "輸入路由",
+    "INFO": "資訊",
+    "INSERT_MESSAGE_HERE": "在此處插入您的短信",
+    "INTEGRATIONS": "整合",
+    "INTERACTION": "互動",
+    "INTERACTIONS": "互動",
+    "INTERNAL": "內建式",
+    "INTERNALDIAL": "內部撥出",
+    "INTERNALROUTES": "內部路由器",
+    "INTERVAL": "時間間隔",
+    "INTERVALS": "時間間隔",
+    "INUSE": "使用中",
+    "INVALID": "無效的",
+    "IN_USE": "在使用中",
+    "JOINWHENEMPTY": "加入當空白",
+    "JSCRIPTY": "Jscripty",
+    "KEY": "按鍵",
+    "LAGGED": "這段時間",
+    "LANGUAGE": "語言",
+    "LASTMESSAGE": "最後留言",
+    "LASTNAME": "姓",
+    "LAST_MONTH": "上個月",
+    "LEAVEWHENEMPTY": "當留空白",
+    "LEXREGION": "區域",
+    "LIMITED": "有限",
+    "LIST": "清單",
+    "LOGGED_IN": "已登入",
+    "LOGIN_TIME": "登錄時間",
+    "LOGO": "標誌",
+    "LOGOUT": "登出",
+    "MACRO": "巨集",
+    "MAIL": "郵件",
+    "MAILBOX": "信箱",
+    "MAILBOX@CONTEXT": "信箱與內容",
+    "MANAGED": "管理",
+    "MANDATORYDISPOSITION": "強制性處分",
+    "MANDATORYDISPOSITIONPAUSEID": "強制處置暫停狀態",
+    "MARK_AS_UNREAD": "標記為未讀",
+    "MAXLENGTH": "長度上限",
+    "MAXMESSAGES": "最大訊息",
+    "MAXSECONDS": "最大秒數",
+    "MAY": "可能",
+    "MEMBERDELAY": "會員延遲時間",
+    "MESSAGE": "訊息",
+    "MESSAGES": "訊息",
+    "MESSAGESALIGNMENT": "消息對齊",
+    "METHOD": "方法",
+    "METRIC": "公",
+    "MINANNOUNCEFREQUENCY": "最小宣佈頻率",
+    "MINUTEANNOUNCE": "分鐘發佈",
+    "MINUTESANNOUNCE": "分宣佈",
+    "MOBILE": "行動電話",
+    "MODULES": "模組",
+    "MOHSOUNDS": "Moh 音效",
+    "MONITORFORMAT": "錄製格式",
+    "MORE": "更多",
+    "MOTIONADDRESS": "動態位址",
+    "MOTIONBAR": "Motionbar",
+    "MOTIONDIALER": "動態牛",
+    "MOTIONPROXY": "代理伺服器或運動的網域",
+    "MOTION_BULL": "動態牛",
+    "MUSICONHOLD": "音樂保留通話",
+    "MUSICONHOLDS": "Musics 保留通話",
+    "NAME": "名稱",
+    "NAT": "NAT",
+    "NEW_CHANSPY": "新 ChanSpy",
+    "NEW_CONTACT": "新增連絡人",
+    "NEW_CONTEXT": "新增內容",
+    "NEW_INBOUNDROUTE": "新增輸入路由",
+    "NEW_INTERNALROUTE": "新增內部路由",
+    "NEW_MUSICONHOLD": "新音樂設為保留",
+    "NEW_OUTBOUNDROUTE": "外傳的新路由",
+    "NEW_PROJECT": "新的專案",
+    "NEW_TAB": "新標籤",
+    "NEW_TAG": "新標籤",
+    "NEW_VARIABLE": "新變數",
+    "NEW_VOICEMAIL": "新語音留言",
+    "NEW_VOICEQUEUE": "新的語音通話佇列",
+    "NO": "沒有",
+    "NONE": "「無」",
+    "NOOP": "Noop",
+    "NOTE": "注意",
+    "NOTES": "註釋",
+    "NOTIFICATION": "通知",
+    "NOTIFICATIONSHAKE": "搖",
+    "NOTIFICATIONSOUND": "聲音",
+    "NOTIFICATIONTEMPLATE": "模板",
+    "NOT_INUSE": "非使用中",
+    "NO_AGENT_ONLINE": "無線上業務代表",
+    "NO_APPS_AVAILABLE": "無可用的應用程式",
+    "NO_AVAILABLE_INFO": "無可用資訊",
+    "NO_INTERACTION_AVAILABLE": "無可用的互動。",
+    "NO_MESSAGE_AVAILABLE": "沒有任何訊息",
+    "NO_MOHSOUND_AVAILABLE": "無音樂保留可用性",
+    "NO_RATING": "無評等",
+    "NO_REGISTRY": "未登錄",
+    "NO_SOUND_AVAILABLE": "沒有聲音可用性",
+    "NUMBER": "數",
+    "OF": "的",
+    "ONHOLD": "保留通話",
+    "OPEN": "開啟",
+    "OPENCHANNEL": "打開通道",
+    "OPENED": "開啟",
+    "OPERATOR": "操作員",
+    "OPTIONS": "選項",
+    "ORIGINATED": "來源",
+    "OTHERS": "其他人",
+    "OUT": "縮小",
+    "OUTBOUNDDIAL": "外撥",
+    "OUTBOUNDROUTE": "出境路線",
+    "OUTBOUNDROUTES": "外路由",
+    "OUTBOUND_CALLS": "外撥電話",
+    "OUTPUT": "輸出",
+    "PAGE": "頁面",
+    "PARTIALPAUSE": "局部暫停",
+    "PASSWORD": "密碼",
+    "PAUSE": "暫停",
+    "PAUSED": "已暫停",
+    "PAUSE_TIME": "暫停時間",
+    "PAYMENTMETHOD": "支付方式",
+    "PENALTY": "罰款",
+    "PENDING": "待定",
+    "PERIODICANNOUNCE": "定期公佈",
+    "PERIODICANNOUNCEFREQUENCY": "定期公佈頻率",
+    "PERSONAL_INFO": "個人資訊",
+    "PHONE": "電話",
+    "PHONENUMBER": "電話號碼",
+    "PHONE_STATE": "電話狀態",
+    "PHONE_STATUS": "電話狀態",
+    "PLAYBACK": "播放留言",
+    "PLUGINS": "插件",
+    "PORT": "連接埠",
+    "POSITION": "位置",
+    "POSTALCODE": "郵遞區號",
+    "PREFIX": "前置字元",
+    "PREVIEW": "預覽列印",
+    "PRIORITY": "優先順序",
+    "PROJECT": "Cally-Square 專案",
+    "PROJECTS": "專案計畫",
+    "PROXY": "代理",
+    "QUEUE": "佇列",
+    "QUEUES": "佇列",
+    "QUEUETRANSFER": "隊列轉移",
+    "QUEUETRANSFERTIMEOUT": "隊列轉移超時",
+    "QUEUE_CALLS": "佇列通話數",
+    "QUEUE_PARAMETERS": "佇列參數",
+    "QUEUE_PARAMS": "佇列參數",
+    "RANDOM": "隨機",
+    "RANDOMPERIODICANNOUNCE": "隨機定期公佈",
+    "RATING": "評等",
+    "REACHABLE": "連通性",
+    "READY": "準備就緒",
+    "REALTIME": "即時",
+    "RECALLME": "記得我",
+    "RECEIVED_AT": "接收",
+    "RECEIVEURL": "接收網址",
+    "RECORD": "記錄",
+    "RECORDING": "錄影",
+    "RECORDINGFORMAT": "錄製格式",
+    "RECORDINGS": "錄音",
+    "REFRESH_INTERACTIONS": "刷新的互動",
+    "REGISTERED": "已註冊",
+    "REGISTRY": "登錄",
+    "REJECT": "拒絕",
+    "REJECTED": "遭拒",
+    "REJECTMETHOD": "排除方法",
+    "REJECTURL": "拒絕 URL",
+    "RELOAD": "重新載入",
+    "REPLY": "回覆",
+    "REPORT": "報告",
+    "REPORTHOLDTIMEAGENT": "報告值機員保留時間",
+    "RETRY": "再試一次",
+    "RING": "鈴聲",
+    "RINGGROUP": "鈴群組",
+    "RINGING": "鈴聲",
+    "RINGINUSE": "環使用中",
+    "ROWSPERPAGE": "每頁行數",
+    "RULE": "規則",
+    "SAVE": "儲存",
+    "SCHEDULEDAT": "排程於",
+    "SCHEDULED_CALLS": "預定電話",
+    "SCREENRECORDING": "管理屏幕錄像",
+    "SCRIPT": "腳本",
+    "SEARCH_FOR_ANYONE": "搜尋使用者",
+    "SECONDSANNOUNCE": "秒宣佈",
+    "SECRETACCESSKEY": "秘密訪問密鑰",
+    "SECURITY_SUITE": "安全套件",
+    "SELECT": "選擇",
+    "SELECTED": "已選取",
+    "SELECTED_AGENTS": "已選取的值機人員",
+    "SELECTED_TEAMS": "選取群組",
+    "SELECTED_USERS": "選定的用戶",
+    "SELECT_ACCOUNT": "選擇帳戶",
+    "SELECT_ALL": "全部選取",
+    "SELECT_DATE": "選擇開始日期",
+    "SELECT_NONE": "選取「無」",
+    "SELECT_STATUS": "選擇狀態",
+    "SELECT_TYPE": "選擇類型",
+    "SEND": "傳送",
+    "SENDMAIL": "傳送郵件",
+    "SENTIMENTANALYSIS": "情緒分析",
+    "SERVICE": "服務",
+    "SESSIONS": "會議",
+    "SET": "設定",
+    "SETINTERFACEVARIABLES": "設定介面變數",
+    "SETQUEUEENTRYVARIABLES": "設定佇列中輸入變數",
+    "SETQUEUEVARIABLES": "設定佇列變數",
+    "SETTINGS": "設定",
+    "SHOW_ALL_FIELDS": "顯示所有欄位",
+    "SHOW_DETAILS": "顯示詳細資料",
+    "SMS": "短信",
+    "SMTP": "SMTP",
+    "SMTP_HOST": "SMTP 主機",
+    "SMTP_PORT": "SMTP 連接埠",
+    "SOCIAL": "社會",
+    "SORT": "排序依據",
+    "SOURCE": "來源",
+    "SPYINTERACTION": "間諜",
+    "STAFF": "人員",
+    "STARTEDAT": "開始於",
+    "STARTTIME": "開始時間",
+    "START_SCREENRECORDING": "開始屏幕錄製",
+    "STATE": "狀態",
+    "STATUS": "狀態",
+    "STOP_SCREENRECORDING": "停止畫面錄製",
+    "STRATEGY": "策略",
+    "SUBJECT": "主題",
+    "SYSTEM": "系統",
+    "TAG": "標籤",
+    "TAGS": "標籤",
+    "TALKING": "通話中",
+    "TEAMS_ASSOCIATION": "車隊協會",
+    "TECHNOLOGY/RESOURCE": "技術 / 資源",
+    "TELEPHONES": "電話",
+    "TEMPLATE": "範本",
+    "TEXT": "文本",
+    "THANKYOUANNOUNCE": "「謝謝您」宣佈",
+    "THEREAREANNOUNCE": "「有」宣佈",
+    "TIMEOUT": "逾時",
+    "TIMEOUTRESTART": "逾時重新啟動",
+    "TIMER": "計時器",
+    "TIMES": "每個互動的次數。",
+    "TIMEZONE": "時區",
+    "TO": "至",
+    "TOKEN": "權杖",
+    "TOOLTIP_SCREENRECORDING_OFF": "屏幕錄像可用",
+    "TOOLTIP_SCREENRECORDING_ON": "屏幕錄像正在進行中",
+    "TOTAL": "總金額",
+    "TOTAL_OFFERED": "總數",
+    "TRANSCRIBE": "錄製",
+    "TRANSFER": "轉讓",
+    "TRANSPORT": "傳輸層",
+    "TRUEPRIORITY": "真正的優先順序",
+    "TRUNK": "中繼線",
+    "TRUNKS": "中繼線運行",
+    "TRUNK_STATUS": "中繼線狀態",
+    "TYPE": "類型",
+    "UNAVAILABLE": "無法使用",
+    "UNIQUEID": "獨特的識別碼",
+    "UNKNOWN": "不明",
+    "UNMANAGED": "未受管理",
+    "UNPAUSE": "取消暫停",
+    "UNREACHABLE": "無法到達",
+    "UNREGISTERED": "未註冊",
+    "UP": "最高",
+    "UPDATE": "更新",
+    "UPLOADING": "上傳",
+    "URL": "URL",
+    "USER": "使用者",
+    "USERNAME": "用戶名",
+    "USERS": "使用者",
+    "VALUE": "值",
+    "VARIABLE": "變數",
+    "VIDAOOSESSION": "開始視頻通話",
+    "VIDEO": "視頻",
+    "VIDEOSUPPORT": "視頻支持",
+    "VOICE": "語音通話",
+    "VOICEMAIL": "語音信箱",
+    "VOICEMAILS": "語音信箱",
+    "VOICEMAIL_CONTEXT": "內容",
+    "VOICEQUEUES": "語音通話佇列",
+    "VOICERECORDINGS": "語音錄音",
+    "WAITFORTHEASSIGNEDAGENT": "等待指定的代理",
+    "WAITING": "等候中",
+    "WAITINGCALLSANNOUNCE": "等候通話發佈",
+    "WEBHOOKS": "WebHooks",
+    "WEBRTC": "WebRTC",
+    "WEBSITE": "網站",
+    "WEIGHT": "重量",
+    "WELCOMEMESSAGE": "歡迎消息",
+    "WHATSAPP": "WhatsApp連接器",
+    "WHITELABEL": "白色標籤",
+    "WRAPUPTIME": "整理時間",
+    "WRONG_EXTENSION": "該文件顯示錯誤的擴展名",
+    "YES": "Yes ( 是 )",
+    "YOUARENEXTANNOUNCE": "「您是下一次的通告"
+  }
+}
diff --git a/public/index.html b/public/index.html
index 296a6cd..e9e3fbe 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,7 +1,7 @@
     <p class="browsehappy">
       You are using an <strong>outdated</strong> browser. Please
       <a href="http://browsehappy.com/">upgrade your browser</a> to improve your
       experience.
     </p>
\ No newline at end of file
\ No newline at end of file
diff --git a/public/runtime-472ac7a6568b98562237.js b/public/runtime-472ac7a6568b98562237.js
index 35adbf6..704af9a 100644
--- a/public/runtime-472ac7a6568b98562237.js
+++ b/public/runtime-472ac7a6568b98562237.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/public/service-worker.js b/public/service-worker.js
index e5f2b65..d5195c0 100644
--- a/public/service-worker.js
+++ b/public/service-worker.js
@@ -1,2 +1,2 @@
 //# sourceMappingURL=service-worker.js.map
\ No newline at end of file
diff --git a/public/service-worker.js.map b/public/service-worker.js.map
index 305882f..21c5c3b 100644
--- a/public/service-worker.js.map
+++ b/public/service-worker.js.map
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/public/src/js/modules/login/login.html/login.html b/public/src/js/modules/login/login.html/login.html
index 266fd13..d580a33 100644
--- a/public/src/js/modules/login/login.html/login.html
+++ b/public/src/js/modules/login/login.html/login.html
@@ -75,8 +75,9 @@
           layout-align="center center"
           class="md-padding"
           ng-if="vm.message"
-          ><font color="red">{{vm.message}}</font></b
+          <font color="red">{{vm.message}}</font>
+        </b>
         <md-button
           type="submit"
           ng-click="vm.login()"
diff --git a/public/src/js/modules/main/apps/analytics/views/extractedReports/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/extractedReports/create/dialog.html/dialog.html
index 2bbd845..e7df630 100644
--- a/public/src/js/modules/main/apps/analytics/views/extractedReports/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/extractedReports/create/dialog.html/dialog.html
@@ -60,7 +60,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="basename"
@@ -74,7 +74,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
@@ -116,8 +116,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="extractedReportForm.$invalid || extractedReportForm.$pristine"
           aria-label="SAVE"
-          translate="ANALYTICS.SAVE"
-          translate-attr-aria-label="ANALYTICS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -142,12 +142,10 @@
           ng-click="vm.deleteExtractedReport($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="ANALYTICS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="ANALYTICS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/analytics/views/extractedReports/extractedReports.html/extractedReports.html b/public/src/js/modules/main/apps/analytics/views/extractedReports/extractedReports.html/extractedReports.html
index 140a82e..d85adba 100644
--- a/public/src/js/modules/main/apps/analytics/views/extractedReports/extractedReports.html/extractedReports.html
+++ b/public/src/js/modules/main/apps/analytics/views/extractedReports/extractedReports.html/extractedReports.html
@@ -1,46 +1,26 @@
-<div
-  id="extractedReports"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="extractedReports" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
         <span class="logo-icon">
           <md-icon md-font-icon="icon-chart-line" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="ANALYTICS.EXTRACTEDREPORTS"
-          >ExtractedReports</span
-        >
+        <span class="logo-text" translate="ANALYTICS.EXTRACTEDREPORTS">ExtractedReports</span>
       </div>
     </div>
     <!-- / APP TITLE -->
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="ANALYTICS.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -49,19 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedExtractedReports.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
-    <div
-      class="close-button-wrapper"
-      ng-click="vm.selectedExtractedReports =[]"
-    >
+  <div ng-show="vm.selectedExtractedReports.length > 0" class="selected-bar header animate-slide-down md-accent-bg"
+    layout="row" layout-align="start center">
+    <div class="close-button-wrapper" ng-click="vm.selectedExtractedReports =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="ANALYTICS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,33 +42,22 @@
       <div>
         <span class="selected-extractedReports-count">
           <span>{{vm.selectedExtractedReports.length}}</span>
-          <span translate="ANALYTICS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="ANALYTICS.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="ANALYTICS.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllExtractedReports()"
-                translate="ANALYTICS.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllExtractedReports()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectExtractedReports()"
-                translate="ANALYTICS.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectExtractedReports()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -104,22 +66,13 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedExtractedReports"
-          csv-label="true"
-          filename="extractedReports.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedExtractedReports" csv-label="true"
+          filename="extractedReports.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete"
-          ng-click="vm.deleteSelectedExtractedReports($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="ANALYTICS.DELETE_SELECTED"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete"
+          ng-click="vm.deleteSelectedExtractedReports($event)" aria-label="delete selected" translate
+          translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -134,35 +87,19 @@
       <!-- EXTRACTEDREPORT TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedExtractedReports"
-            md-progress="vm.promise"
-          >
-            <thead
-              md-head
-              md-order="vm.query.sort"
-              md-on-reorder="vm.getExtractedReports"
-            >
+          <table md-table md-row-select multiple ng-model="vm.selectedExtractedReports" md-progress="vm.promise">
+            <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getExtractedReports">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
-                <th md-column md-order-by="id">
-                  {{ 'ANALYTICS.ID' | translate }}
-                </th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
                   {{ 'ANALYTICS.REPORTNAME' | translate }}
                 </th>
                 <th md-column md-order-by="basename">
-                  {{ 'ANALYTICS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="type">
-                  {{ 'ANALYTICS.TYPE' | translate }}
+                  {{ 'APP.TYPE' | translate }}
                 </th>
                 <th md-column md-order-by="startDate">
                   {{ 'ANALYTICS.DATE_RANGE_FROM' | translate }}
@@ -174,10 +111,10 @@
                   {{ 'ANALYTICS.GENERATED_AT' | translate }}
                 </th>
                 <th md-column md-order-by="status">
-                  {{ 'ANALYTICS.STATUS' | translate }}
+                  {{ 'APP.STATUS' | translate }}
                 </th>
                 <th md-column md-order-by="output">
-                  {{ 'ANALYTICS.OUTPUT' | translate }}
+                  {{ 'APP.OUTPUT' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -186,108 +123,50 @@
               <tr md-row ng-hide="vm.extractedReports.rows.length">
                 <td md-cell colspan="10">
                   <div layout="row" layout-align="center center">
-                    <span translate="ANALYTICS.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="extractedReport"
-                md-select-id="id"
-                ng-repeat="extractedReport in vm.extractedReports.rows"
-              >
+              <tr md-row md-select="extractedReport" md-select-id="id"
+                ng-repeat="extractedReport in vm.extractedReports.rows">
                 <td md-cell ng-if="extractedReport.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{extractedReport.name}}"
-                    ng-src="api/users/{{extractedReport.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{extractedReport.name}}" ng-src="api/users/{{extractedReport.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!extractedReport.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{extractedReport.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!extractedReport.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{extractedReport.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="id"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="id">
                   {{extractedReport.id}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="name"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="name">
                   {{extractedReport.name}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="basename"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="basename">
                   {{extractedReport.basename}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="type"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="type">
                   {{extractedReport.type}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="startDate"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="startDate">
                   {{extractedReport.startDate | date:'medium' }}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="endDate"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="endDate">
                   {{extractedReport.endDate | date:'medium' }}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="createdAt"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="createdAt">
                   {{extractedReport.createdAt | date:'medium' }}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="status"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="status">
                   {{extractedReport.status}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditExtractedReport($event, extractedReport)"
-                  md-cell
-                  class="output"
-                >
+                <td ng-click="vm.createOrEditExtractedReport($event, extractedReport)" md-cell class="output">
                   {{extractedReport.output}}
                 </td>
 
                 <td md-cell class="actions">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="ANALYTICS.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -297,10 +176,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editdialog(extractedReport, $event    )"
-                          translate="ANALYTICS.EDIT_EXTRACTEDREPORT"
-                        >
+                        <md-button ng-click="vm.editdialog(extractedReport, $event    )"
+                          translate="ANALYTICS.EDIT_EXTRACTEDREPORT">
                           Edit ExtractedReport
                         </md-button>
                       </md-menu-item>
@@ -309,13 +186,10 @@
 
                       <!-- ACTIONS -->
 
-                      <md-menu-item
-                        ng-if="extractedReport.status == 'Completed'"
-                      >
+                      <md-menu-item ng-if="extractedReport.status == 'Completed'">
                         <md-button
                           ng-click="vm.downloadfile2(extractedReport, $event  , 'analytics/extracted_reports'   )"
-                          translate="ANALYTICS.DOWNLOAD_EXTRACTEDREPORT"
-                        >
+                          translate="ANALYTICS.DOWNLOAD_EXTRACTEDREPORT">
                           Download ExtractedReport
                         </md-button>
                       </md-menu-item>
@@ -325,10 +199,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
-                        <md-button
-                          ng-click="vm.deleteconfirm(extractedReport, $event    )"
-                          translate="ANALYTICS.DELETE_EXTRACTEDREPORT"
-                        >
+                        <md-button ng-click="vm.deleteconfirm(extractedReport, $event    )"
+                          translate="ANALYTICS.DELETE_EXTRACTEDREPORT">
                           Delete ExtractedReport
                         </md-button>
                       </md-menu-item>
@@ -341,14 +213,10 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'ANALYTICS.PAGE' | translate}}:', rowsPerPage: '{{'ANALYTICS.ROWSPERPAGE' | translate}}:', of: '{{'ANALYTICS.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.extractedReports.count}}"
-          md-on-paginate="vm.getExtractedReports"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.extractedReports.count}}" md-on-paginate="vm.getExtractedReports" md-page-select>
+        </md-table-pagination>
       </md-card>
       <!-- / EXTRACTEDREPORT TABLE -->
       <!-- NO RESULTS -->
@@ -360,4 +228,4 @@
   <!-- / CONTENT -->
 
   <!-- NO ADD BUTTON BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/analytics/views/metrics/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/metrics/create/dialog.html/dialog.html
index cdfdf9d..0be9c06 100644
--- a/public/src/js/modules/main/apps/analytics/views/metrics/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/metrics/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
@@ -180,7 +180,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.METRIC">Metric</label>
+        <label translate="APP.METRIC">Metric</label>
         <input
           type="text"
           name="metric"
@@ -201,7 +201,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -256,8 +256,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="metricForm.$invalid || metricForm.$pristine"
           aria-label="SAVE"
-          translate="ANALYTICS.SAVE"
-          translate-attr-aria-label="ANALYTICS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -282,12 +282,10 @@
           ng-click="vm.deleteMetric($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="ANALYTICS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="ANALYTICS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/analytics/views/metrics/metrics.html/metrics.html b/public/src/js/modules/main/apps/analytics/views/metrics/metrics.html/metrics.html
index 6f02354..fe23dca 100644
--- a/public/src/js/modules/main/apps/analytics/views/metrics/metrics.html/metrics.html
+++ b/public/src/js/modules/main/apps/analytics/views/metrics/metrics.html/metrics.html
@@ -1,13 +1,6 @@
-<div
-  id="metrics"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="metrics" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
@@ -21,24 +14,13 @@
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="ANALYTICS.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -47,16 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedMetrics.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
+  <div ng-show="vm.selectedMetrics.length > 0" class="selected-bar header animate-slide-down md-accent-bg" layout="row"
+    layout-align="start center">
     <div class="close-button-wrapper" ng-click="vm.selectedMetrics =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="ANALYTICS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,33 +42,22 @@
       <div>
         <span class="selected-metrics-count">
           <span>{{vm.selectedMetrics.length}}</span>
-          <span translate="ANALYTICS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="ANALYTICS.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="ANALYTICS.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllMetrics()"
-                translate="ANALYTICS.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllMetrics()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectMetrics()"
-                translate="ANALYTICS.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectMetrics()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -99,22 +66,12 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedMetrics"
-          csv-label="true"
-          filename="metrics.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedMetrics" csv-label="true" filename="metrics.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete"
-          ng-click="vm.deleteSelectedMetrics($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="ANALYTICS.DELETE_SELECTED"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete"
+          ng-click="vm.deleteSelectedMetrics($event)" aria-label="delete selected" translate
+          translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -129,35 +86,19 @@
       <!-- METRIC TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedMetrics"
-            md-progress="vm.promise"
-          >
-            <thead
-              md-head
-              md-order="vm.query.sort"
-              md-on-reorder="vm.getMetrics"
-            >
+          <table md-table md-row-select multiple ng-model="vm.selectedMetrics" md-progress="vm.promise">
+            <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getMetrics">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
-                <th md-column md-order-by="id">
-                  {{ 'ANALYTICS.ID' | translate }}
-                </th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'ANALYTICS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="table">
                   {{ 'ANALYTICS.TABLE' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'ANALYTICS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -166,77 +107,34 @@
               <tr md-row ng-hide="vm.metrics.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="ANALYTICS.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="metric"
-                md-select-id="id"
-                ng-repeat="metric in vm.metrics.rows"
-              >
+              <tr md-row md-select="metric" md-select-id="id" ng-repeat="metric in vm.metrics.rows">
                 <td md-cell ng-if="metric.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{metric.name}}"
-                    ng-src="api/users/{{metric.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{metric.name}}" ng-src="api/users/{{metric.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!metric.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{metric.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!metric.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{metric.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
-                <td
-                  ng-click="vm.createOrEditMetric($event, metric)"
-                  md-cell
-                  class="id"
-                >
+                <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="id">
                   {{metric.id}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditMetric($event, metric)"
-                  md-cell
-                  class="name"
-                >
+                <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="name">
                   {{metric.name}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditMetric($event, metric)"
-                  md-cell
-                  class="table"
-                >
+                <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="table">
                   {{ vm.arraytable[metric.table].option }}
                 </td>
-                <td
-                  ng-click="vm.createOrEditMetric($event, metric)"
-                  md-cell
-                  class="description"
-                >
+                <td ng-click="vm.createOrEditMetric($event, metric)" md-cell class="description">
                   {{metric.description}}
                 </td>
 
-                <td
-                  md-cell
-                  class="actions"
-                  ng-if="!vm.crudPermissions.readOnly"
-                >
+                <td md-cell class="actions" ng-if="!vm.crudPermissions.readOnly">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="ANALYTICS.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -246,10 +144,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editdialog(metric, $event    )"
-                          translate="ANALYTICS.EDIT_METRIC"
-                        >
+                        <md-button ng-click="vm.editdialog(metric, $event    )" translate="ANALYTICS.EDIT_METRIC">
                           Edit Metric
                         </md-button>
                       </md-menu-item>
@@ -259,10 +154,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
-                        <md-button
-                          ng-click="vm.deleteconfirm(metric, $event    )"
-                          translate="ANALYTICS.DELETE_METRIC"
-                        >
+                        <md-button ng-click="vm.deleteconfirm(metric, $event    )" translate="ANALYTICS.DELETE_METRIC">
                           Delete Metric
                         </md-button>
                       </md-menu-item>
@@ -275,14 +167,9 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'ANALYTICS.PAGE' | translate}}:', rowsPerPage: '{{'ANALYTICS.ROWSPERPAGE' | translate}}:', of: '{{'ANALYTICS.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.metrics.count}}"
-          md-on-paginate="vm.getMetrics"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.metrics.count}}" md-on-paginate="vm.getMetrics" md-page-select></md-table-pagination>
       </md-card>
       <!-- / METRIC TABLE -->
       <!-- NO RESULTS -->
@@ -294,16 +181,10 @@
   <!-- / CONTENT -->
 
   <!-- ADD METRIC BUTTON -->
-  <md-button
-    ng-if="vm.crudPermissions.canEdit"
-    class="md-fab md-accent add-item-button"
-    id="add-metric-button"
-    ng-click="vm.createOrEditMetric($event)"
-    aria-label="add metric"
-    translate
-    translate-attr-aria-label="ANALYTICS.ADD_METRIC"
-  >
+  <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-metric-button"
+    ng-click="vm.createOrEditMetric($event)" aria-label="add metric" translate
+    translate-attr-aria-label="ANALYTICS.ADD_METRIC">
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
   <!-- / ADD METRIC BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/copy/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/reports/copy/dialog.html/dialog.html
index 53f9fb2..654d1f0 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/copy/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/copy/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input name="name" ng-model="vm.report.name" required md-autofocus />
         <div
           ng-messages="reportForm.name.$error"
@@ -46,7 +46,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/reports/create/dialog.html/dialog.html
index d43c1ba..9df891f 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -52,7 +52,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
@@ -80,7 +80,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -211,8 +211,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="reportForm.$invalid || reportForm.$pristine"
           aria-label="SAVE"
-          translate="ANALYTICS.SAVE"
-          translate-attr-aria-label="ANALYTICS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -237,12 +237,10 @@
           ng-click="vm.deleteReport($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="ANALYTICS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="ANALYTICS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/edit/field/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/reports/edit/field/dialog.html/dialog.html
index af1b1b4..5ff0c37 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/edit/field/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/edit/field/dialog.html/dialog.html
@@ -39,7 +39,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.reportField.type"
@@ -56,7 +56,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -82,8 +82,8 @@
               <md-option
                 ng-repeat="field in join.foreignTableFields"
                 value="{{join.foreignTable}}.{{field}}"
-                >{{field}}</md-option
-              >
+                >{{field}}
+              </md-option>
             </md-optgroup>
           </md-select>
           <div
@@ -140,7 +140,7 @@
         </md-input-container>
       </div>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.ALIAS">Alias</label>
+        <label translate="APP.ALIAS">Alias</label>
         <input
           type="text"
           name="alias"
@@ -153,7 +153,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.ALIAS_REQUIRED"
+            <span translate="APP.ERRORS.ALIAS_REQUIRED"
               >Alias field is required</span
             >
           </div>
@@ -169,15 +169,15 @@
           <md-option
             ng-repeat="function in vm.sqlUtil.getFunctions"
             ng-value="function.value"
-            >{{function.value}}</md-option
-          >
+            >{{function.value}}
+          </md-option>
         </md-select>
       </md-input-container>
       <md-input-container
         class="md-block"
         ng-if="vm.reportField.type !== 'metric'"
-        <label translate="ANALYTICS.FORMAT">Format</label>
+        <label translate="APP.FORMAT">Format</label>
         <md-select name="format" ng-model="vm.reportField.format">
           <md-option ng-value="null">No Format</md-option>
           <md-option
@@ -239,8 +239,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="reportFieldForm.$invalid || reportFieldForm.$pristine"
           aria-label="SAVE"
-          translate="ANALYTICS.SAVE"
-          translate-attr-aria-label="ANALYTICS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -265,12 +265,10 @@
           ng-click="vm.deleteReportField($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="ANALYTICS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="ANALYTICS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/edit/view.html/view.html b/public/src/js/modules/main/apps/analytics/views/reports/edit/view.html/view.html
index 5615fe7..3c6f72e 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/edit/view.html/view.html
@@ -20,7 +20,7 @@
         <div layout="column" layout-align="start start">
           <div class="h2">#{{vm.report.id}} {{vm.report.name}}</div>
           <div class="subtitle secondary-text">
-            <span translate="ANALYTICS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.report.createdAt | date:'medium'}}</span>
           </div>
           <div class="subtitle secondary-text">
@@ -36,8 +36,8 @@
         ng-click="vm.saveReport()"
         ng-disabled="generalForm.$pristine && conditionsForm.$pristine"
         class="send-button md-accent md-raised"
-        translate="ANALYTICS.SAVE"
-        translate-attr-aria-label="ANALYTICS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,7 +56,7 @@
       <md-tab>
         <md-tab-label>
-          <span translate="ANALYTICS.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
 
         <md-tab-body>
@@ -64,13 +64,13 @@
             class="report-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="ANALYTICS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="ANALYTICS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -85,14 +85,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="ANALYTICS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="ANALYTICS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -117,7 +117,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="ANALYTICS.FIELDS">FIELDS</span>
+          <span translate="APP.FIELDS">FIELDS</span>
         </md-tab-label>
 
         <md-tab-body>
@@ -135,8 +135,8 @@
                 <div class="md-toolbar-tools">
                   <div layout="row" layout-align="start center">
                     <div layout="column" layout-align="start start">
-                      <div class="md-subhead" translate="ANALYTICS.FIELDS">
-                        <span translate="ANALYTICS.FIELDS">FIELDS</span>
+                      <div class="md-subhead" translate="APP.FIELDS">
+                        <span translate="APP.FIELDS">FIELDS</span>
                       </div>
                       <div class="h4">
                         <span translate="ANALYTICS.TABLE">TABLE</span>
@@ -188,7 +188,7 @@
                     ng-click="vm_rf.deleteSelectedReportFields($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="ANALYTICS.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -327,7 +327,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="ANALYTICS.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -377,7 +377,7 @@
               ng-init="vm_rc.init(vm.report, vm.crudPermissions)"
               <div class="pb-16" layout="row" layout-align="start center">
-                <div class="h2 secondary-text" translate="ANALYTICS.CONDITION">
+                <div class="h2 secondary-text" translate="APP.CONDITION">
                   CONDITION
                 </div>
               </div>
@@ -394,7 +394,7 @@
       </md-tab>
       <md-tab md-on-select="vm.previewReport()">
         <md-tab-label>
-          <span translate="ANALYTICS.PREVIEW">PREVIEW</span>
+          <span translate="APP.PREVIEW">PREVIEW</span>
         </md-tab-label>
 
         <md-tab-body>
@@ -405,7 +405,7 @@
               <div
                 ng-if="vm.error"
                 class="h2 secondary-text"
-                translate="ANALYTICS.ERROR"
+                translate="APP.ERROR"
                 ERROR
               </div>
@@ -422,7 +422,7 @@
                 Query Error
               </dt>
               <dd>{{vm.error.sql}}</dd>
-              <dt translate="ANALYTICS.MESSAGE">Message</dt>
+              <dt translate="APP.MESSAGE">Message</dt>
               <dd>{{vm.error.msg}}</dd>
             </dl>
             <md-table-container ng-if="!vm.error">
@@ -464,7 +464,7 @@
               <div
                 ng-if="vm.error"
                 class="h2 secondary-text"
-                translate="ANALYTICS.ERROR"
+                translate="APP.ERROR"
                 ERROR
               </div>
@@ -475,7 +475,7 @@
                 Query Error
               </dt>
               <dd>{{vm.error.sql}}</dd>
-              <dt translate="ANALYTICS.MESSAGE">Message</dt>
+              <dt translate="APP.MESSAGE">Message</dt>
               <dd>{{vm.error.msg}}</dd>
             </dl>
             <div ng-if="!vm.error">{{vm.queryResult}}</div>
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/preview/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/reports/preview/dialog.html/dialog.html
index 9b6f39e..ea7f27e 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/preview/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/preview/dialog.html/dialog.html
@@ -41,11 +41,7 @@
       </div>
       <div class="md-block">
         <div class="pb-16" layout="row" layout-align="start center">
-          <div
-            ng-if="vm.error"
-            class="h2 secondary-text"
-            translate="ANALYTICS.ERROR"
-          >
+          <div ng-if="vm.error" class="h2 secondary-text" translate="APP.ERROR">
             ERROR
           </div>
           <div
@@ -61,7 +57,7 @@
             Query Error
           </dt>
           <dd>{{vm.error.sql}}</dd>
-          <dt translate="ANALYTICS.MESSAGE">Message</dt>
+          <dt translate="APP.MESSAGE">Message</dt>
           <dd>{{vm.error.msg}}</dd>
         </dl>
         <md-table-container ng-if="!vm.error">
@@ -117,8 +113,8 @@
         ng-click="vm.closeDialog()"
         class="md-raised"
         aria-label="CLOSE"
-        translate="ANALYTICS.CLOSE"
-        translate-attr-aria-label="ANALYTICS.CLOSE"
+        translate="APP.CLOSE"
+        translate-attr-aria-label="APP.CLOSE"
         CLOSE
       </md-button>
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/reports.html/reports.html b/public/src/js/modules/main/apps/analytics/views/reports/reports.html/reports.html
index a164c7b..bd4e00d 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/reports.html/reports.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/reports.html/reports.html
@@ -1,10 +1,6 @@
 <div id="reports" class="page-layout simple left-sidenav inner-sidenav">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
@@ -19,16 +15,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedReports.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
+  <div ng-show="vm.selectedReports.length > 0" class="selected-bar header animate-slide-down md-accent-bg" layout="row"
+    layout-align="start center">
     <div class="close-button-wrapper" ng-click="vm.selectedReports =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="ANALYTICS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -36,33 +28,22 @@
       <div>
         <span class="selected-reports-count">
           <span>{{vm.selectedReports.length}}</span>
-          <span translate="ANALYTICS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="ANALYTICS.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="ANALYTICS.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllReports()"
-                translate="ANALYTICS.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllReports()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectReports()"
-                translate="ANALYTICS.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectReports()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -71,22 +52,12 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedReports"
-          csv-label="true"
-          filename="reports.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedReports" csv-label="true" filename="reports.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          ng-if="vm.crudPermissions.canDelete && vm.currentNode.custom"
-          class="md-icon-button"
-          ng-click="vm.deleteSelectedReports($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="ANALYTICS.DELETE_SELECTED"
-        >
+        <md-button ng-if="vm.crudPermissions.canDelete && vm.currentNode.custom" class="md-icon-button"
+          ng-click="vm.deleteSelectedReports($event)" aria-label="delete selected" translate
+          translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -104,39 +75,21 @@
           <label for="searchFolder" class="m-0">
             <md-icon md-font-icon="icon-magnify"></md-icon>
           </label>
-          <md-input-container
-            md-no-float
-            class="margin-horizontal-0 margin-bottom-0 margin-top-10"
-            flex
-          >
-            <input
-              id="searchFolder"
-              placeholder="Search folder"
-              type="text"
-              ng-model="vm.search"
-              ng-model-options="{ debounce: 1000 }"
-              translate
-              translate-attr-placeholder="ANALYTICS.SEARCH_FOR_FOLDER"
-            />
+          <md-input-container md-no-float class="margin-horizontal-0 margin-bottom-0 margin-top-10" flex>
+            <input id="searchFolder" placeholder="Search folder" type="text" ng-model="vm.search"
+              ng-model-options="{ debounce: 1000 }" translate
+              translate-attr-placeholder="ANALYTICS.SEARCH_FOR_FOLDER" />
           </md-input-container>
         </div>
         <!-- / SEARCH -->
       </md-card>
       <md-card class="padding-10 scrollable" ms-scroll>
-        <div
-          js-tree="vm.treeDefaultConfig"
-          tree-events-obj="vm.treeDefaultEvents"
-          ng-model="vm.treeDefaultData"
-          tree="vm.treeDefaultInstance"
-        ></div>
+        <div js-tree="vm.treeDefaultConfig" tree-events-obj="vm.treeDefaultEvents" ng-model="vm.treeDefaultData"
+          tree="vm.treeDefaultInstance"></div>
       </md-card>
       <md-card class="padding-10 scrollable" ms-scroll>
-        <div
-          js-tree="vm.treeCustomConfig"
-          tree-events-obj="vm.treeCustomEvents"
-          ng-model="vm.treeCustomData"
-          tree="vm.treeCustomInstance"
-        ></div>
+        <div js-tree="vm.treeCustomConfig" tree-events-obj="vm.treeCustomEvents" ng-model="vm.treeCustomData"
+          tree="vm.treeCustomInstance"></div>
       </md-card>
     </div>
     <md-card flex="70">
@@ -147,59 +100,34 @@
             <span class="text-boxed">{{vm.currentPath}}</span>
           </p>
           <div flex></div>
-          <ms-search-bar
-            on-search="vm.query.filter = query"
-            on-collapse="vm.query.filter = undefined"
-            debounce="300"
-          ></ms-search-bar>
-          <div
-            flow-init
-            flow-file-added="vm.importReport($file, $event, $flow)"
-          >
-            <md-button
-              ng-if="vm.crudPermissions.canEdit && vm.currentNode.custom"
-              class="md-icon-button"
-              aria-label="import report"
-              translate
-              translate-attr-label="ANALYTICS.IMPORT_REPORT"
-              flow-btn
-            >
+          <ms-search-bar on-search="vm.query.filter = query" on-collapse="vm.query.filter = undefined" debounce="300">
+          </ms-search-bar>
+          <div flow-init flow-file-added="vm.importReport($file, $event, $flow)">
+            <md-button ng-if="vm.crudPermissions.canEdit && vm.currentNode.custom" class="md-icon-button"
+              aria-label="import report" translate translate-attr-label="ANALYTICS.IMPORT_REPORT" flow-btn>
               <md-icon md-font-icon="icon-upload"></md-icon>
             </md-button>
           </div>
-          <md-button
-            ng-if="vm.crudPermissions.canEdit && vm.currentNode.custom"
-            class="md-icon-button"
-            ng-click="vm.createOrEditReport($event)"
-            aria-label="add report"
-            translate
-            translate-attr-label="ANALYTICS.ADD_REPORT"
-          >
+          <md-button ng-if="vm.crudPermissions.canEdit && vm.currentNode.custom" class="md-icon-button"
+            ng-click="vm.createOrEditReport($event)" aria-label="add report" translate
+            translate-attr-label="ANALYTICS.ADD_REPORT">
             <md-icon md-font-icon="icon-plus"></md-icon>
           </md-button>
         </div>
       </md-toolbar>
       <md-table-container>
-        <table
-          md-table
-          md-row-select
-          multiple
-          ng-model="vm.selectedReports"
-          md-progress="vm.promise"
-        >
+        <table md-table md-row-select multiple ng-model="vm.selectedReports" md-progress="vm.promise">
           <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getReports">
             <tr md-row>
               <th md-column md-order-by="id" width="10px">
-                {{ 'ANALYTICS.ID' | translate }}
-              </th>
-              <th md-column md-order-by="name">
-                {{ 'ANALYTICS.NAME' | translate }}
+                {{ 'APP.ID' | translate }}
               </th>
+              <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
               <th md-column md-order-by="description">
-                {{ 'ANALYTICS.DESCRIPTION' | translate }}
+                {{ 'APP.DESCRIPTION' | translate }}
               </th>
               <th md-column md-order-by="createdAt">
-                {{ 'ANALYTICS.CREATED_AT' | translate }}
+                {{ 'APP.CREATED_AT' | translate }}
               </th>
               <th md-column width="10px"></th>
             </tr>
@@ -208,113 +136,70 @@
             <tr md-row ng-hide="vm.reports.rows.length">
               <td md-cell colspan="5">
                 <div layout="row" layout-align="center center">
-                  <span translate="ANALYTICS.NO_AVAILABLE_INFO"
-                    >No Available Info</span
-                  >
+                  <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                 </div>
               </td>
             </tr>
-            <tr
-              md-row
-              md-select="report"
-              md-select-id="id"
-              ng-repeat="report in vm.reports.rows"
-            >
+            <tr md-row md-select="report" md-select-id="id" ng-repeat="report in vm.reports.rows">
               <td
                 ng-click="!vm.crudPermissions.canEdit ? vm.currentNode.custom && vm.editstate(report, $event) : vm.currentNode.custom && vm.createOrEditReport($event, report)"
-                md-cell
-                class="id"
-              >
+                md-cell class="id">
                 {{report.id}}
               </td>
               <td
                 ng-click="!vm.crudPermissions.canEdit ? vm.currentNode.custom && vm.editstate(report, $event) : vm.currentNode.custom && vm.createOrEditReport($event, report)"
-                md-cell
-                class="name"
-              >
+                md-cell class="name">
                 {{report.name}}
               </td>
               <td
                 ng-click="!vm.crudPermissions.canEdit ? vm.currentNode.custom && vm.editstate(report, $event) : vm.currentNode.custom && vm.createOrEditReport($event, report)"
-                md-cell
-                class="description"
-              >
+                md-cell class="description">
                 {{report.description}}
               </td>
               <td
                 ng-click="!vm.crudPermissions.canEdit ? vm.currentNode.custom && vm.editstate(report, $event) : vm.currentNode.custom && vm.createOrEditReport($event, report)"
-                md-cell
-                class="createdAt"
-              >
+                md-cell class="createdAt">
                 {{report.createdAt | date:'medium'}}
               </td>
               <td md-cell class="actions">
                 <md-menu>
-                  <md-button
-                    class="md-icon-button"
-                    aria-label="More"
-                    translate
-                    translate-attr-aria-label="ANALYTICS.MORE"
-                    ng-click="$mdMenu.open($event)"
-                  >
+                  <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                    ng-click="$mdMenu.open($event)">
                     <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                   </md-button>
 
                   <md-menu-content width="3">
                     <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                      <md-button
-                        ng-click="vm.copydialog(report, $event)"
-                        translate="ANALYTICS.COPY_REPORT"
-                      >
+                      <md-button ng-click="vm.copydialog(report, $event)" translate="ANALYTICS.COPY_REPORT">
                         Copy Report
                       </md-button>
                     </md-menu-item>
                     <md-menu-item>
-                      <md-button
-                        ng-click="vm.previewdialog(report, $event)"
-                        translate="ANALYTICS.PREVIEW_REPORT"
-                      >
+                      <md-button ng-click="vm.previewdialog(report, $event)" translate="ANALYTICS.PREVIEW_REPORT">
                         Preview Report
                       </md-button>
                     </md-menu-item>
                     <md-menu-item>
-                      <md-button
-                        ng-click="vm.rundialog(report, $event)"
-                        translate="ANALYTICS.RUN_REPORT"
-                      >
+                      <md-button ng-click="vm.rundialog(report, $event)" translate="ANALYTICS.RUN_REPORT">
                         Run Report
                       </md-button>
                     </md-menu-item>
                     <md-menu-item>
-                      <md-button
-                        ng-click="vm.downloadfile(report, $event)"
-                        translate="ANALYTICS.DOWNLOAD_JSON_REPORT"
-                      >
+                      <md-button ng-click="vm.downloadfile(report, $event)" translate="ANALYTICS.DOWNLOAD_JSON_REPORT">
                         Download Json Report
                       </md-button>
                     </md-menu-item>
                     <md-menu-divider
-                      ng-if="vm.crudPermissions.canEdit && vm.crudPermissions.canDelete && vm.currentNode.custom"
-                    >
+                      ng-if="vm.crudPermissions.canEdit && vm.crudPermissions.canDelete && vm.currentNode.custom">
                     </md-menu-divider>
-                    <md-menu-item
-                      ng-if="vm.crudPermissions.canEdit && vm.currentNode.custom"
-                    >
-                      <md-button
-                        ng-click="vm.editstate(report, $event)"
-                        translate="ANALYTICS.EDIT_REPORT"
-                      >
+                    <md-menu-item ng-if="vm.crudPermissions.canEdit && vm.currentNode.custom">
+                      <md-button ng-click="vm.editstate(report, $event)" translate="ANALYTICS.EDIT_REPORT">
                         Edit Report
                       </md-button>
                     </md-menu-item>
 
-                    <md-menu-item
-                      ng-if="vm.crudPermissions.canDelete && vm.currentNode.custom"
-                    >
-                      <md-button
-                        ng-click="vm.deleteconfirm(report, $event)"
-                        translate="ANALYTICS.DELETE_REPORT"
-                      >
+                    <md-menu-item ng-if="vm.crudPermissions.canDelete && vm.currentNode.custom">
+                      <md-button ng-click="vm.deleteconfirm(report, $event)" translate="ANALYTICS.DELETE_REPORT">
                         Delete Report
                       </md-button>
                     </md-menu-item>
@@ -327,18 +212,13 @@
       </md-table-container>
 
       <md-table-pagination
-        md-label="{page: '{{'ANALYTICS.PAGE' | translate}}:', rowsPerPage: '{{'ANALYTICS.ROWSPERPAGE' | translate}}:', of: '{{'ANALYTICS.OF' | translate}}'}"
-        md-limit="vm.query.limit"
-        md-limit-options="[10, 15, 20, 50, 100, 250]"
-        md-page="vm.query.page"
-        md-total="{{vm.reports.count}}"
-        md-on-paginate="vm.getReports"
-        md-page-select
-      ></md-table-pagination>
+        md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+        md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+        md-total="{{vm.reports.count}}" md-on-paginate="vm.getReports" md-page-select></md-table-pagination>
     </md-card>
     <!-- / MAIN -->
   </div>
   <!-- / CONTENT -->
 
   <!-- NO ADD BUTTON BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/run/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/reports/run/dialog.html/dialog.html
index 72b406f..b1c7a56 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/run/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/run/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input name="name" ng-model="vm.export.name" required md-autofocus />
         <div
           ng-messages="reportForm.name.$error"
@@ -46,14 +46,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="ANALYTICS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="ANALYTICS.FORMAT">FORMAT</label>
+        <label translate="APP.FORMAT">FORMAT</label>
         <md-select name="format" ng-model="vm.export.output" required>
           <md-option value="csv">CSV</md-option>
           <md-option value="xlsx">Excel (XLSX)</md-option>
diff --git a/public/src/js/modules/main/apps/analytics/views/reports/run/web/dialog.html/dialog.html b/public/src/js/modules/main/apps/analytics/views/reports/run/web/dialog.html/dialog.html
index 89a36fc..0e64a2c 100644
--- a/public/src/js/modules/main/apps/analytics/views/reports/run/web/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/analytics/views/reports/run/web/dialog.html/dialog.html
@@ -1,51 +1,29 @@
 <md-dialog class="web-dialog" aria-label="Show Report">
   <form name="reportForm" class="md-inline-form" novalidate>
     <md-toolbar class="md-accent md-hue-2">
-      <div
-        class="md-toolbar-tools"
-        layout="row"
-        layout-align="space-between center"
-      >
-        <span class="title" translate="ANALYTICS.PREVIEW_REPORT"
-          >Web Report</span
-        >
+      <div class="md-toolbar-tools" layout="row" layout-align="space-between center">
+        <span class="title" translate="ANALYTICS.PREVIEW_REPORT">Web Report</span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
-          <md-icon
-            md-font-icon="icon-close"
-            aria-label="Close dialog"
-          ></md-icon>
+          <md-icon md-font-icon="icon-close" aria-label="Close dialog"></md-icon>
         </md-button>
       </div>
     </md-toolbar>
 
     <md-dialog-content>
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
       <div class="md-block">
         <div class="pb-16" layout="row" layout-align="start center">
-          <div
-            ng-if="vm.error"
-            class="h2 secondary-text"
-            translate="ANALYTICS.ERROR"
-          >
+          <div ng-if="vm.error" class="h2 secondary-text" translate="APP.ERROR">
             ERROR
           </div>
         </div>
@@ -54,7 +32,7 @@
             Query Error
           </dt>
           <dd>{{vm.error.sql}}</dd>
-          <dt translate="ANALYTICS.MESSAGE">Message</dt>
+          <dt translate="APP.MESSAGE">Message</dt>
           <dd>{{vm.error.msg}}</dd>
         </dl>
         <md-table-container ng-if="!vm.error">
@@ -84,32 +62,18 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'ANALYTICS.PAGE' | translate}}:', rowsPerPage: '{{'ANALYTICS.ROWSPERPAGE' | translate}}:', of: '{{'ANALYTICS.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.results.count}}"
-          md-on-paginate="vm.getResults"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.results.count}}" md-on-paginate="vm.getResults" md-page-select></md-table-pagination>
       </div>
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
@@ -117,16 +81,10 @@
 
     <md-dialog-actions layout="row" layout-align="space-between center">
       <div flex></div>
-      <md-button
-        type="submit"
-        ng-click="vm.closeDialog()"
-        class="md-raised"
-        aria-label="CLOSE"
-        translate="ANALYTICS.CLOSE"
-        translate-attr-aria-label="ANALYTICS.CLOSE"
-      >
+      <md-button type="submit" ng-click="vm.closeDialog()" class="md-raised" aria-label="CLOSE" translate="APP.CLOSE"
+        translate-attr-aria-label="APP.CLOSE">
         CLOSE
       </md-button>
     </md-dialog-actions>
   </form>
-</md-dialog>
+</md-dialog>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/callysquare/views/odbcs/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/callysquare/views/odbcs/create/dialog.html/dialog.html
index 25273ee..84b6004 100644
--- a/public/src/js/modules/main/apps/callysquare/views/odbcs/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/callysquare/views/odbcs/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CALLYSQUARE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
@@ -82,7 +82,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.odbc.description" />
 
         <div
@@ -133,8 +133,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="odbcForm.$invalid || odbcForm.$pristine"
           aria-label="SAVE"
-          translate="CALLYSQUARE.SAVE"
-          translate-attr-aria-label="CALLYSQUARE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -159,12 +159,10 @@
           ng-click="vm.deleteOdbc($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CALLYSQUARE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CALLYSQUARE.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/callysquare/views/odbcs/odbcs.html/odbcs.html b/public/src/js/modules/main/apps/callysquare/views/odbcs/odbcs.html/odbcs.html
index 859faf7..45eea7e 100644
--- a/public/src/js/modules/main/apps/callysquare/views/odbcs/odbcs.html/odbcs.html
+++ b/public/src/js/modules/main/apps/callysquare/views/odbcs/odbcs.html/odbcs.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="CALLYSQUARE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedODBC =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CALLYSQUARE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-odbcs-count">
           <span>{{vm.selectedODBC.length}}</span>
-          <span translate="CALLYSQUARE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllODBC()"
-                translate="CALLYSQUARE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectODBC()"
-                translate="CALLYSQUARE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedODBC($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CALLYSQUARE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -143,17 +143,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'CALLYSQUARE.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'CALLYSQUARE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="dsn">
                   {{ 'CALLYSQUARE.DSN' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'CALLYSQUARE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -162,7 +160,7 @@
               <tr md-row ng-hide="vm.odbcs.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="CALLYSQUARE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -226,7 +224,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CALLYSQUARE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/callysquare/views/projects/create/dialog.html/dialog.html
index 07356d4..65ba64b 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           name="name"
           ng-model="vm.project.name"
@@ -53,13 +53,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CALLYSQUARE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="VOICE.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -67,7 +67,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input name="description" ng-model="vm.project.description" />
         <div
           ng-messages="projectForm.description.$error"
@@ -81,8 +81,8 @@
           </div>
         </div>
       </md-input-container>
-      <md-input-container ng-if="vm.openFromEditor" class="md-block"
-        ><!-- Added to check if I'm opening the dialog directly from the square editor -->
+      <md-input-container ng-if="vm.openFromEditor" class="md-block">
+        <!-- Added to check if I'm opening the dialog directly from the square editor -->
         <md-switch
           ng-model="vm.newWindow"
           aria-label="{{'CALLYSQUARE.OPEN_NEW_WINDOW' | translate }}"
@@ -124,8 +124,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="projectForm.$invalid || projectForm.$pristine"
           aria-label="SAVE"
-          translate="CALLYSQUARE.SAVE"
-          translate-attr-aria-label="CALLYSQUARE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -137,8 +137,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="projectForm.$invalid || projectForm.$pristine"
           aria-label="ADD"
-          translate="CALLYSQUARE.ADD_PROJECT"
-          translate-attr-aria-label="CALLYSQUARE.ADD_PROJECT"
+          translate="APP.ADD_PROJECT"
+          translate-attr-aria-label="APP.ADD_PROJECT"
           ADD PROJECT
         </md-button>
@@ -150,12 +150,10 @@
           ng-click="vm.deleteProject($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CALLYSQUARE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CALLYSQUARE.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/edit/dialog/dialog.html/dialog.html b/public/src/js/modules/main/apps/callysquare/views/projects/edit/dialog/dialog.html/dialog.html
index c4e1507..7c87641 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/edit/dialog/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/edit/dialog/dialog.html/dialog.html
@@ -7,7 +7,7 @@
         layout-align="space-between center"
         <span class="title"
-          ><span translate="CALLYSQUARE.EDIT"></span>
+          ><span translate="APP.EDIT"></span>
           <span translate="CALLYSQUARE.{{vm.cellName | uppercase}}"></span
         ></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
@@ -44,7 +44,8 @@
             value="{{v.value}}"
             ng-repeat="v in vm.values[attribute.name]"
             ng-disabled="v.canSelect === false"
-            >{{v.option}}</md-option
+          >
+            {{v.option}}</md-option
           <md-option ng-if="!vm.values[attribute.name].length" value="-1"
             >No {{attribute.name}} available!</md-option
@@ -235,7 +236,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CALLYSQUARE.ERRORS.FIELD_REQUIRED"
+            <span translate="APP.ERRORS.FIELD_REQUIRED"
               >The field is required</span
             >
           </div>
@@ -255,8 +256,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="dialogForm.$invalid || dialogForm.$pristine"
           aria-label="SAVE"
-          translate="CALLYSQUARE.SAVE"
-          translate-attr-aria-label="CALLYSQUARE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/edit/edit/edit.html/edit.html b/public/src/js/modules/main/apps/callysquare/views/projects/edit/edit/edit.html/edit.html
index b5862f3..7c78a60 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/edit/edit/edit.html/edit.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/edit/edit/edit.html/edit.html
@@ -75,8 +75,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="editForm.$invalid"
           aria-label="SAVE"
-          translate="CALLYSQUARE.SAVE"
-          translate-attr-aria-label="CALLYSQUARE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/edit/import/import.html/import.html b/public/src/js/modules/main/apps/callysquare/views/projects/edit/import/import.html/import.html
index 7183724..083745d 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/edit/import/import.html/import.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/edit/import/import.html/import.html
@@ -52,7 +52,7 @@
           layout="row"
           layout-align="center center"
-          <span translate="CALLYSQUARE.DROP_TO_UPLOAD">Drop to upload</span>
+          <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
         </div>
 
         <div class="upload-button" layout="column" layout-align="center center">
@@ -93,8 +93,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="importForm.$invalid"
           aria-label="CLOSE"
-          translate="CALLYSQUARE.CLOSE"
-          translate-attr-aria-label="CALLYSQUARE.CLOSE"
+          translate="APP.CLOSE"
+          translate-attr-aria-label="APP.CLOSE"
           CLOSE
         </md-button>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/edit/info/info.html/info.html b/public/src/js/modules/main/apps/callysquare/views/projects/edit/info/info.html/info.html
index d9e2b53..0cb5fec 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/edit/info/info.html/info.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/edit/info/info.html/info.html
@@ -39,7 +39,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           name="description"
           ng-model="vm.project.description"
@@ -47,7 +47,7 @@
         />
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.NOTES">Description</label>
+        <label translate="APP.NOTES">Description</label>
         <textarea name="notes" ng-model="vm.project.notes"></textarea>
       </md-input-container>
       <div class="error-list">
@@ -81,7 +81,7 @@
           ng-disabled="descriptionFrom.$invalid"
           aria-label="SAVE"
           translate="CALLYSQUARE.UPDATE_INFO"
-          translate-attr-aria-label="CALLYSQUARE.UPDATE"
+          translate-attr-aria-label="APP.UPDATE"
           UPDATE
         </md-button>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/edit/open/open.html/open.html b/public/src/js/modules/main/apps/callysquare/views/projects/edit/open/open.html/open.html
index affd9a8..0278070 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/edit/open/open.html/open.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/edit/open/open.html/open.html
@@ -39,7 +39,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.PROJECT">Project</label>
+        <label translate="APP.PROJECT">Project</label>
         <md-select name="id" ng-model="vm.id" required>
           <md-option value="{{p.id}}" ng-repeat="p in vm.projects"
             >{{p.name}}</md-option
@@ -51,7 +51,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CALLYSQUARE.ERRORS.PROJECT_REQUIRED"
+            <span translate="APP.ERRORS.PROJECT_REQUIRED"
               >Name field is required</span
             >
           </div>
@@ -95,7 +95,7 @@
           ng-disabled="openForm.$invalid"
           aria-label="SAVE"
           translate="CALLYSQUARE.OPEN_PROJECT"
-          translate-attr-aria-label="CALLYSQUARE.OPEN"
+          translate-attr-aria-label="APP.OPEN"
           OPEN
         </md-button>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/edit/saveAs/saveAs.html/saveAs.html b/public/src/js/modules/main/apps/callysquare/views/projects/edit/saveAs/saveAs.html/saveAs.html
index ad03e02..30ed24a 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/edit/saveAs/saveAs.html/saveAs.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/edit/saveAs/saveAs.html/saveAs.html
@@ -39,7 +39,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CALLYSQUARE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input name="name" ng-model="vm.project.name" required md-autofocus />
         <div
           ng-messages="newForm.name.$error"
@@ -47,7 +47,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CALLYSQUARE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/edit/view.html/view.html b/public/src/js/modules/main/apps/callysquare/views/projects/edit/view.html/view.html
index 495aa93..9840cac 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/edit/view.html/view.html
@@ -27,7 +27,7 @@
           <div class="subtitle secondary-text text-truncate">
             <span ng-if="vm.project.description"
               >{{vm.project.description}} - </span
-            ><span translate="CALLYSQUARE.CREATED_AT"></span>
+            ><span translate="APP.CREATED_AT"></span>
             <span>{{vm.project.createdAt | date:'medium'}}</span>
           </div>
         </div>
diff --git a/public/src/js/modules/main/apps/callysquare/views/projects/projects.html/projects.html b/public/src/js/modules/main/apps/callysquare/views/projects/projects.html/projects.html
index 1deb0b3..ce9b196 100644
--- a/public/src/js/modules/main/apps/callysquare/views/projects/projects.html/projects.html
+++ b/public/src/js/modules/main/apps/callysquare/views/projects/projects.html/projects.html
@@ -11,7 +11,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-vector-square" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="CALLYSQUARE.PROJECTS">Projects</span>
+        <span class="logo-text" translate="APP.PROJECTS">Projects</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -29,7 +29,7 @@
           ng-model="vm.query.filter"
           ng-model-options="{ debounce: 1000 }"
           translate
-          translate-attr-placeholder="CALLYSQUARE.SEARCH_FOR_ANYONE"
+          translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
         />
       </md-input-container>
     </div>
@@ -47,7 +47,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedProjects =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CALLYSQUARE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -55,7 +55,7 @@
       <div>
         <span class="selected-projects-count">
           <span>{{vm.selectedProjects.length}}</span>
-          <span translate="CALLYSQUARE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -72,7 +72,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllProjects()"
-                translate="CALLYSQUARE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -80,7 +80,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectProjects()"
-                translate="CALLYSQUARE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -104,7 +104,7 @@
           ng-click="vm.deleteSelectedProjects($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CALLYSQUARE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -138,17 +138,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'CALLYSQUARE.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'CALLYSQUARE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'CALLYSQUARE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column md-order-by="notes">
-                  {{ 'CALLYSQUARE.NOTES' | translate }}
+                  {{ 'APP.NOTES' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -157,7 +155,7 @@
               <tr md-row ng-hide="vm.projects.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="CALLYSQUARE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -224,7 +222,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CALLYSQUARE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -233,7 +231,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(project, ev)"
-                          translate="CALLYSQUARE.EDIT_PROJECT"
+                          translate="APP.EDIT_PROJECT"
                           Edit Project
                         </md-button>
@@ -241,7 +239,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(project, ev)"
-                          translate="CALLYSQUARE.DELETE_PROJECT"
+                          translate="APP.DELETE_PROJECT"
                           Delete Project
                         </md-button>
@@ -281,7 +279,7 @@
     ng-click="vm.createOrEditProject($event)"
     aria-label="add project"
     translate
-    translate-attr-aria-label="CALLYSQUARE.ADD_PROJECT"
+    translate-attr-aria-label="APP.ADD_PROJECT"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/callysquare/views/squareRecordings/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/callysquare/views/squareRecordings/create/dialog.html/dialog.html
index e37a09c..a944085 100644
--- a/public/src/js/modules/main/apps/callysquare/views/squareRecordings/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/callysquare/views/squareRecordings/create/dialog.html/dialog.html
@@ -95,8 +95,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="squareRecordingForm.$invalid || squareRecordingForm.$pristine"
           aria-label="SAVE"
-          translate="CALLYSQUARE.SAVE"
-          translate-attr-aria-label="CALLYSQUARE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -121,12 +121,10 @@
           ng-click="vm.deleteSquareRecording($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CALLYSQUARE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CALLYSQUARE.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/callysquare/views/squareRecordings/squareRecordings.html/squareRecordings.html b/public/src/js/modules/main/apps/callysquare/views/squareRecordings/squareRecordings.html/squareRecordings.html
index 5015b38..590d29a 100644
--- a/public/src/js/modules/main/apps/callysquare/views/squareRecordings/squareRecordings.html/squareRecordings.html
+++ b/public/src/js/modules/main/apps/callysquare/views/squareRecordings/squareRecordings.html/squareRecordings.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="CALLYSQUARE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CALLYSQUARE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-squareRecordings-count">
           <span>{{vm.selectedSquareRecordings.length}}</span>
-          <span translate="CALLYSQUARE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllSquareRecordings()"
-                translate="CALLYSQUARE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectSquareRecordings()"
-                translate="CALLYSQUARE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedSquareRecordings($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CALLYSQUARE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -156,22 +156,22 @@
                   {{ 'CALLYSQUARE.FILENAME' | translate }}
                 </th>
                 <th md-column md-order-by="projectName">
-                  {{ 'CALLYSQUARE.PROJECT' | translate }}
+                  {{ 'APP.PROJECT' | translate }}
                 </th>
                 <th md-column md-order-by="uniqueid">
-                  {{ 'CALLYSQUARE.UNIQUEID' | translate }}
+                  {{ 'APP.UNIQUEID' | translate }}
                 </th>
                 <th md-column md-order-by="callerid">
-                  {{ 'CALLYSQUARE.PHONE' | translate }}
+                  {{ 'APP.PHONE' | translate }}
                 </th>
                 <th md-column md-order-by="extension">
                   {{ 'CALLYSQUARE.EXTEN' | translate }}
                 </th>
                 <th md-column md-order-by="audio">
-                  {{ 'CALLYSQUARE.AUDIO' | translate }}
+                  {{ 'APP.AUDIO' | translate }}
                 </th>
                 <th md-column md-order-by="createdAt">
-                  {{ 'CALLYSQUARE.CREATED_AT' | translate }}
+                  {{ 'APP.CREATED_AT' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -180,7 +180,7 @@
               <tr md-row ng-hide="vm.squareRecordings.rows.length">
                 <td md-cell colspan="8">
                   <div layout="row" layout-align="center center">
-                    <span translate="CALLYSQUARE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -269,7 +269,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CALLYSQUARE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -317,7 +317,8 @@
           md-total="{{vm.squareRecordings.count}}"
           md-on-paginate="vm.getSquareRecordings"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / SQUARERECORDING TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/chat/views/chatQueues/chatQueues.html/chatQueues.html b/public/src/js/modules/main/apps/chat/views/chatQueues/chatQueues.html/chatQueues.html
index 05275ba..b974084 100644
--- a/public/src/js/modules/main/apps/chat/views/chatQueues/chatQueues.html/chatQueues.html
+++ b/public/src/js/modules/main/apps/chat/views/chatQueues/chatQueues.html/chatQueues.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="CHAT.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedChatQueues =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CHAT.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-chatQueues-count">
           <span>{{vm.selectedChatQueues.length}}</span>
-          <span translate="CHAT.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllChatQueues()"
-                translate="CHAT.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectChatQueues()"
-                translate="CHAT.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedChatQueues($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CHAT.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'CHAT.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'CHAT.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'CHAT.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.chatQueues.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="CHAT.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -218,7 +218,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CHAT.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/chat/views/chatQueues/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatQueues/create/dialog.html/dialog.html
index b7598a3..2c67efc 100644
--- a/public/src/js/modules/main/apps/chat/views/chatQueues/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatQueues/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newChatQueue"
         />
 
-        <div class="hint"><span translate="CHAT.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="chatQueueForm['name'].$error"
           ng-show="chatQueueForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="CHAT.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.STRATEGY">Strategy</label>
+        <label translate="APP.STRATEGY">Strategy</label>
         <md-select name="strategy" ng-model="vm.chatQueue.strategy" required>
           <md-option ng-value="'beepall'">Beepall</md-option>
           <md-option ng-value="'rrmemory'">RR Memory</md-option>
@@ -88,7 +88,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.AGENT_TIMEOUT">Agent_Timeout</label>
+        <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -104,20 +104,20 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.AGENT_TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
               >Agent_Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="CHAT.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
           </div>
           <div ng-message="max">
             <span
-              translate="CHAT.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -125,7 +125,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -180,8 +180,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatQueueForm.$invalid || chatQueueForm.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -206,10 +206,10 @@
           ng-click="vm.deleteChatQueue($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CHAT.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="CHAT.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/chat/views/chatQueues/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/chat/views/chatQueues/edit/agentadd/agentadd.html/agentadd.html
index 81d87a6..b61e46f 100644
--- a/public/src/js/modules/main/apps/chat/views/chatQueues/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/chat/views/chatQueues/edit/agentadd/agentadd.html/agentadd.html
@@ -34,8 +34,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatQueues/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/chat/views/chatQueues/edit/teamadd/teamadd.html/teamadd.html
index 557052e..8dcc027 100644
--- a/public/src/js/modules/main/apps/chat/views/chatQueues/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/chat/views/chatQueues/edit/teamadd/teamadd.html/teamadd.html
@@ -6,7 +6,7 @@
   <form name="chatQueueForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="CHAT.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -34,8 +34,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatQueues/edit/view.html/view.html b/public/src/js/modules/main/apps/chat/views/chatQueues/edit/view.html/view.html
index 8f33d4a..b62754e 100644
--- a/public/src/js/modules/main/apps/chat/views/chatQueues/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/chat/views/chatQueues/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.chatQueue.name">{{vm.chatQueue.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="CHAT.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.chatQueue.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -62,8 +62,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid)"
-        translate="CHAT.SAVE"
-        translate-attr-aria-label="CHAT.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -82,20 +82,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="chatQueue-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="CHAT.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -106,20 +106,20 @@
                   disabled
                 />
 
-                <div class="hint"><span translate="CHAT.HELP.NAME"></span></div>
+                <div class="hint"><span translate="APP.HELP.NAME"></span></div>
                 <div
                   ng-messages="generalForm['name'].$error"
                   ng-show="generalForm['name'].$touched"
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="CHAT.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -127,7 +127,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.chatQueue.strategy"
@@ -150,7 +150,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.AGENT_TIMEOUT">Agent_Timeout</label>
+                <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -167,20 +167,20 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.AGENT_TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
                       >Agent_Timeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="CHAT.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>1</span>
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="CHAT.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>2147483</span>
@@ -188,7 +188,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/chatWebsites.html/chatWebsites.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/chatWebsites.html/chatWebsites.html
index 87e1fba..3d2ac3c 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/chatWebsites.html/chatWebsites.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/chatWebsites.html/chatWebsites.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="CHAT.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedChatWebsites =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CHAT.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-chatWebsites-count">
           <span>{{vm.selectedChatWebsites.length}}</span>
-          <span translate="CHAT.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllChatWebsites()"
-                translate="CHAT.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectChatWebsites()"
-                translate="CHAT.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedChatWebsites($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CHAT.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,21 +149,19 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'CHAT.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'CHAT.NAME' | translate }}
-                </th>
-                <th md-column md-order-by="key">
-                  {{ 'CHAT.KEY' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
+                <th md-column md-order-by="key">{{ 'APP.KEY' | translate }}</th>
                 <th md-column md-order-by="address">
-                  {{ 'CHAT.MOTIONADDRESS' | translate }}
+                  {{ 'APP.MOTIONADDRESS' | translate }}
                 </th>
                 <th md-column md-order-by="remote">
-                  {{ 'CHAT.MOTIONPROXY' | translate }}
+                  {{ 'APP.MOTIONPROXY' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'CHAT.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -172,7 +170,7 @@
               <tr md-row ng-hide="vm.chatWebsites.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="CHAT.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -250,7 +248,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CHAT.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/create/dialog.html/dialog.html
index 9e1a7a7..4b550ff 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.KEY">key</label>
+        <label translate="APP.KEY">key</label>
         <input
           type="text"
           name="key"
@@ -76,13 +76,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >key field is required</span
             >
           </div>
           <div ng-message="md-maxlength">
             <span
-              translate="CHAT.ERRORS.KEY_MAX_LENGTH"
+              translate="APP.ERRORS.KEY_MAX_LENGTH"
               translate-values="{max: 5}"
               >key must have a maximum length equal to 5</span
             >
@@ -90,7 +90,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.MOTIONADDRESS">MotionAddress</label>
+        <label translate="APP.MOTIONADDRESS">MotionAddress</label>
         <input
           type="url"
           name="address"
@@ -105,12 +105,12 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.MOTIONADDRESS_REQUIRED"
+            <span translate="APP.ERRORS.MOTIONADDRESS_REQUIRED"
               >MotionAddress field is required</span
             >
           </div>
           <div ng-message="url">
-            <span translate="CHAT.ERRORS.MOTIONADDRESS_MUST_VALID_URL"
+            <span translate="APP.ERRORS.MOTIONADDRESS_MUST_VALID_URL"
               >MotionAddress must be a valid url http://www.xcally.com</span
             >
           </div>
@@ -124,7 +124,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.MOTIONPROXY">MotionProxy</label>
+        <label translate="APP.MOTIONPROXY">MotionProxy</label>
         <input
           type="url"
           name="remote"
@@ -133,19 +133,19 @@
           ng-required="true"
         />
 
-        <div class="hint"><span translate="CHAT.HELP.MOTIONPROXY"></span></div>
+        <div class="hint"><span translate="APP.HELP.MOTIONPROXY"></span></div>
         <div
           ng-messages="chatWebsiteForm['remote'].$error"
           ng-show="chatWebsiteForm['remote'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.MOTIONPROXY_REQUIRED"
+            <span translate="APP.ERRORS.MOTIONPROXY_REQUIRED"
               >MotionProxy field is required</span
             >
           </div>
           <div ng-message="url">
-            <span translate="CHAT.ERRORS.MOTIONPROXY_MUST_VALID_URL"
+            <span translate="APP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
               >MotionProxy must be a valid url http://www.xcally.com</span
             >
           </div>
@@ -159,30 +159,31 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select name="ListId" ng-model="vm.chatWebsite.ListId" required>
           <md-option
             ng-value="ListId.id"
             ng-repeat="ListId in vm.lists"
             ng-disabled="ListId.canSelect === false"
-            >{{ ListId.name }}</md-option
+          >
+            {{ ListId.name }}</md-option
         </md-select>
-        <div class="hint"><span translate="CHAT.HELP.LIST"></span></div>
+        <div class="hint"><span translate="APP.HELP.LIST"></span></div>
         <div
           ng-messages="chatWebsiteForm['ListId'].$error"
           ng-show="chatWebsiteForm['ListId'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.INTERVAL">Interval</label>
+        <label translate="APP.INTERVAL">Interval</label>
         <md-select name="IntervalId" ng-model="vm.chatWebsite.IntervalId">
           <md-option ng-value="null">Always</md-option>
           <md-option
@@ -205,7 +206,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -260,8 +261,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteForm.$invalid || chatWebsiteForm.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -286,10 +287,10 @@
           ng-click="vm.deleteChatWebsite($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CHAT.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="CHAT.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/agentadd/agentadd.html/agentadd.html
index dfa8a51..d85f4b4 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/agentadd/agentadd.html/agentadd.html
@@ -34,8 +34,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/agent/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/agent/dialog.html/dialog.html
index 288b08d..a2916d9 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/agent/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/agent/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select
           name="agent"
           ng-model="vm.agent.agent"
@@ -50,7 +50,8 @@
             ng-value="agent.name"
             ng-repeat="agent in vm.agents"
             ng-disabled="agent.canSelect === false"
-            >{{ agent.name }}</md-option
+          >
+            {{ agent.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="CHAT.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="CHAT.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/amazonlex/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/amazonlex/dialog.html/dialog.html
index 8741946..aeaf022 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/amazonlex/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/amazonlex/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.ACCESSKEYID">accesskeyid</label>
+        <label translate="APP.ACCESSKEYID">accesskeyid</label>
         <input
           type="text"
           name="accesskeyid"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.ACCESSKEYID_REQUIRED"
+            <span translate="APP.ERRORS.ACCESSKEYID_REQUIRED"
               >accesskeyid field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.SECRETACCESSKEY">secretaccesskey</label>
+        <label translate="APP.SECRETACCESSKEY">secretaccesskey</label>
         <input
           type="text"
           name="secretaccesskey"
@@ -76,14 +76,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.SECRETACCESSKEY_REQUIRED"
+            <span translate="APP.ERRORS.SECRETACCESSKEY_REQUIRED"
               >secretaccesskey field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.LEXREGION">lexregion</label>
+        <label translate="APP.LEXREGION">lexregion</label>
         <md-select
           name="lexregion"
           ng-model="vm.amazonlex.lexregion"
@@ -110,7 +110,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.BOTNAME">botname</label>
+        <label translate="APP.BOTNAME">botname</label>
         <input
           type="text"
           name="botname"
@@ -125,21 +125,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.BOTNAME_REQUIRED"
+            <span translate="APP.ERRORS.BOTNAME_REQUIRED"
               >botname field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.WELCOMEMESSAGE">welcomemessage</label>
+        <label translate="APP.WELCOMEMESSAGE">welcomemessage</label>
         <textarea
           name="welcomemessage"
           ng-model="vm.amazonlex.welcomemessage"
           md-maxlength="255"
         ></textarea>
         <div class="hint">
-          <span translate="CHAT.HELP.WELCOMEMESSAGE"></span>
+          <span translate="APP.HELP.WELCOMEMESSAGE"></span>
         </div>
 
         <div
@@ -191,8 +191,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/autoreply/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/autoreply/dialog.html/dialog.html
index 8ee405f..e451c70 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/autoreply/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/autoreply/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.TIMES">times</label>
+        <label translate="APP.TIMES">times</label>
         <md-select
           name="times"
           ng-model="vm.autoreply.times"
@@ -62,7 +62,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.TEXT">Text</label>
+        <label translate="APP.TEXT">Text</label>
         <textarea name="text" ng-model="vm.autoreply.text" required></textarea>
 
         <div
@@ -71,7 +71,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.TEXT_REQUIRED"
+            <span translate="APP.ERRORS.TEXT_REQUIRED"
               >Text field is required</span
             >
           </div>
@@ -112,8 +112,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/close/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/close/dialog.html/dialog.html
index cd6a0ab..64a93ef 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/close/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/close/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.DISPOSITION">Disposition</label>
+        <label translate="APP.DISPOSITION">Disposition</label>
         <input
           type="text"
           name="disposition"
@@ -54,7 +54,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.DISPOSITION_REQUIRED"
+            <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
               >Disposition field is required</span
             >
           </div>
@@ -95,8 +95,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/dialogflow/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/dialogflow/dialog.html/dialog.html
index f5aa2fd..94b6cb3 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/dialogflow/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/dialogflow/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type="text"
           name="key"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.LANGUAGE">language</label>
+        <label translate="APP.LANGUAGE">language</label>
         <md-select
           name="language"
           ng-model="vm.dialogflow.language"
@@ -102,14 +102,14 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.WELCOMEMESSAGE">welcomemessage</label>
+        <label translate="APP.WELCOMEMESSAGE">welcomemessage</label>
         <textarea
           name="welcomemessage"
           ng-model="vm.dialogflow.welcomemessage"
           md-maxlength="255"
         ></textarea>
         <div class="hint">
-          <span translate="CHAT.HELP.WELCOMEMESSAGE"></span>
+          <span translate="APP.HELP.WELCOMEMESSAGE"></span>
         </div>
 
         <div
@@ -161,8 +161,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotoif/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotoif/dialog.html/dialog.html
index 37b0ff8..4609fb5 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotoif/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotoif/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.CONDITION">Condition</label>
+        <label translate="APP.CONDITION">Condition</label>
         <input
           type="text"
           name="condition"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.CONDITION_REQUIRED"
+            <span translate="APP.ERRORS.CONDITION_REQUIRED"
               >Condition field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.TRUEPRIORITY">truepriority</label>
+        <label translate="APP.TRUEPRIORITY">truepriority</label>
         <input
           type="number"
           name="truepriority"
@@ -77,13 +77,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.TRUEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.TRUEPRIORITY_REQUIRED"
               >truepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="CHAT.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >truepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -91,7 +91,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.FALSEPRIORITY">falsepriority</label>
+        <label translate="APP.FALSEPRIORITY">falsepriority</label>
         <input
           type="number"
           name="falsepriority"
@@ -107,13 +107,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.FALSEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.FALSEPRIORITY_REQUIRED"
               >falsepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="CHAT.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >falsepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -155,8 +155,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotop/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotop/dialog.html/dialog.html
index bef3343..5063a03 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/gotop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="number"
           name="priority"
@@ -55,13 +55,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="CHAT.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Priority must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -103,8 +103,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/noop/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/noop/dialog.html/dialog.html
index d48399b..0384d23 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/noop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/noop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -94,8 +94,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/queue/dialog.html/dialog.html
index 63667ec..3f72b58 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/queue/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -50,7 +50,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="CHAT.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="CHAT.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/system/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/system/dialog.html/dialog.html
index a17a377..78610c2 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/system/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/system/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.COMMAND">Command</label>
+        <label translate="APP.COMMAND">Command</label>
         <input
           type="text"
           name="command"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.COMMAND_REQUIRED"
+            <span translate="APP.ERRORS.COMMAND_REQUIRED"
               >Command field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="variable"
           ng-model="vm.system.variable"
@@ -122,8 +122,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/tag/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/tag/dialog.html/dialog.html
index 6ea9eab..9a1137a 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/tag/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/apps/tag/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.TAG">Tag</label>
+        <label translate="APP.TAG">Tag</label>
         <md-select
           name="tag"
           ng-model="vm.tag.tag"
@@ -50,8 +50,8 @@
             ng-value="tag.name"
             ng-repeat="tag in vm.tags"
             ng-disabled="tag.canSelect === false"
-            >{{ tag.name }}</md-option
-          >
+            >{{ tag.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="chatWebsiteFormApp['tag'].$error"
@@ -59,7 +59,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.TAG_REQUIRED"
+            <span translate="APP.ERRORS.TAG_REQUIRED"
               >Tag field is required</span
             >
           </div>
@@ -100,8 +100,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatWebsiteFormApp.$invalid || chatWebsiteFormApp.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/chatCannedAnswers/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/chatCannedAnswers/dialog.html/dialog.html
index b26025d..1774b7f 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/chatCannedAnswers/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/chatCannedAnswers/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type=""
           name="key"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <textarea
           name="value"
           ng-model="vm.chatCannedAnswer.value"
@@ -74,14 +74,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -136,8 +136,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatCannedAnswerForm.$invalid || chatCannedAnswerForm.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -162,10 +162,10 @@
           ng-click="vm.deleteChatCannedAnswer($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CHAT.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="CHAT.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/proactive/dialog.html/dialog.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/proactive/dialog.html/dialog.html
index 53abb73..398ab41 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/proactive/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/proactive/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CHAT.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CHAT.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.chatProactiveAction.type">
           <md-option ng-value="'mouseOver'">
             {{ 'CHAT.MOUSEOVER' | translate }}
           </md-option>
 
           <md-option ng-value="'timeout'">
-            {{ 'CHAT.TIMEOUT' | translate }}
+            {{ 'APP.TIMEOUT' | translate }}
           </md-option>
         </md-select>
         <div
@@ -79,7 +79,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -113,7 +113,7 @@
         ng-if="vm.chatProactiveAction.type === 'timeout'"
         class="md-block"
-        <label translate="CHAT.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -128,13 +128,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CHAT.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="CHAT.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -177,8 +177,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chatProactiveActionForm.$invalid || chatProactiveActionForm.$pristine"
           aria-label="SAVE"
-          translate="CHAT.SAVE"
-          translate-attr-aria-label="CHAT.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -203,10 +203,10 @@
           ng-click="vm.deleteChatProactiveAction($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CHAT.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="CHAT.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/view.html/view.html b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/view.html/view.html
index 7250553..6e81411 100644
--- a/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/chat/views/chatWebsites/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.chatWebsite.name">{{vm.chatWebsite.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="CHAT.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.chatWebsite.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -49,8 +49,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
-        translate="CHAT.SAVE"
-        translate-attr-aria-label="CHAT.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -69,20 +69,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="chatWebsite-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="CHAT.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -98,14 +98,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.KEY">key</label>
+                <label translate="APP.KEY">key</label>
                 <input
                   type="text"
                   name="key"
@@ -121,13 +121,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.KEY_REQUIRED"
+                    <span translate="APP.ERRORS.KEY_REQUIRED"
                       >key field is required</span
                     >
                   </div>
                   <div ng-message="md-maxlength">
                     <span
-                      translate="CHAT.ERRORS.KEY_MAX_LENGTH"
+                      translate="APP.ERRORS.KEY_MAX_LENGTH"
                       translate-values="{max: 5}"
                       >key must have a maximum length equal to 5</span
                     >
@@ -135,7 +135,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.MOTIONADDRESS">MotionAddress</label>
+                <label translate="APP.MOTIONADDRESS">MotionAddress</label>
                 <input
                   type="url"
                   name="address"
@@ -151,12 +151,12 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.MOTIONADDRESS_REQUIRED"
+                    <span translate="APP.ERRORS.MOTIONADDRESS_REQUIRED"
                       >MotionAddress field is required</span
                     >
                   </div>
                   <div ng-message="url">
-                    <span translate="CHAT.ERRORS.MOTIONADDRESS_MUST_VALID_URL"
+                    <span translate="APP.ERRORS.MOTIONADDRESS_MUST_VALID_URL"
                       >MotionAddress must be a valid url
                       http://www.xcally.com</span
@@ -172,7 +172,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.LIST">List</label>
+                <label translate="APP.LIST">List</label>
                 <md-select
                   name="ListId"
                   ng-model="vm.chatWebsite.ListId"
@@ -186,14 +186,14 @@
                     >{{ ListId.name }}</md-option
                   >
                 </md-select>
-                <div class="hint"><span translate="CHAT.HELP.LIST"></span></div>
+                <div class="hint"><span translate="APP.HELP.LIST"></span></div>
                 <div
                   ng-messages="generalForm['ListId'].$error"
                   ng-show="generalForm['ListId'].$touched"
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.LIST_REQUIRED"
+                    <span translate="APP.ERRORS.LIST_REQUIRED"
                       >List field is required</span
                     >
                   </div>
@@ -203,7 +203,7 @@
                 ng-if="vm.chatWebsite.fidelity"
                 class="md-block"
-                <label translate="CHAT.TIMEOUT">Timeout</label>
+                <label translate="APP.TIMEOUT">Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -218,14 +218,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
                       >Timeout field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.WAITFORTHEASSIGNEDAGENT"
+                <label translate="APP.WAITFORTHEASSIGNEDAGENT"
                   >WaitForTheAssignedAgent</label
                 >
                 <input
@@ -245,13 +245,13 @@
                   <div ng-message="required">
                     <span
-                      translate="CHAT.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
                       >WaitForTheAssignedAgent field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="CHAT.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -259,7 +259,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="CHAT.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -268,7 +268,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -294,7 +294,7 @@
             class="chatWebsite-detail-form-container notification md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.NOTIFICATION">
+              <div class="h2 secondary-text" translate="APP.NOTIFICATION">
                 NOTIFICATION
               </div>
             </div>
@@ -304,7 +304,7 @@
                   ng-model="vm.chatWebsite.notificationSound"
                   aria-label="notificationSound"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.NOTIFICATIONSOUND"
+                  ><span translate="APP.NOTIFICATIONSOUND"
                     >notificationSound</span
                   ></md-switch
@@ -314,7 +314,7 @@
                   ng-model="vm.chatWebsite.notificationShake"
                   aria-label="notificationShake"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.NOTIFICATIONSHAKE"
+                  ><span translate="APP.NOTIFICATIONSHAKE"
                     >notificationShake</span
                   ></md-switch
@@ -322,7 +322,7 @@
               <div class="md-block">
                 <label
                   class="md-caption grey-fg"
-                  translate="CHAT.NOTIFICATIONTEMPLATE"
+                  translate="APP.NOTIFICATIONTEMPLATE"
                   >notificationTemplate</label
                 >
                 <textarea
@@ -337,7 +337,7 @@
             class="chatWebsite-detail-form-container transfer md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.TRANSFER">
+              <div class="h2 secondary-text" translate="APP.TRANSFER">
                 TRANSFER
               </div>
             </div>
@@ -347,16 +347,14 @@
                   ng-model="vm.chatWebsite.queueTransfer"
                   aria-label="queueTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.QUEUETRANSFER"
-                    >queueTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.QUEUETRANSFER">queueTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.chatWebsite.queueTransfer == true"
                 class="md-block"
-                <label translate="CHAT.QUEUETRANSFERTIMEOUT"
+                <label translate="APP.QUEUETRANSFERTIMEOUT"
                   >queueTransferTimeout</label
                 >
                 <input
@@ -375,13 +373,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
                       >queueTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="CHAT.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -389,7 +387,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="CHAT.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -402,16 +400,14 @@
                   ng-model="vm.chatWebsite.agentTransfer"
                   aria-label="agentTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.AGENTTRANSFER"
-                    >agentTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AGENTTRANSFER">agentTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.chatWebsite.agentTransfer == true"
                 class="md-block"
-                <label translate="CHAT.AGENTTRANSFERTIMEOUT"
+                <label translate="APP.AGENTTRANSFERTIMEOUT"
                   >agentTransferTimeout</label
                 >
                 <input
@@ -430,13 +426,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
                       >agentTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="CHAT.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -444,7 +440,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="CHAT.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -458,7 +454,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -471,14 +467,14 @@
               md-background-bg
               <div class="pb-16" layout="row" layout-align="start center">
-                <div class="h2 secondary-text" translate="CHAT.SCRIPT">
+                <div class="h2 secondary-text" translate="APP.SCRIPT">
                   SCRIPT
                 </div>
               </div>
 
               <form name="scriptForm" flex="100" novalidate>
                 <md-input-container class="md-block">
-                  <label translate="CHAT.TOKEN">Token</label>
+                  <label translate="APP.TOKEN">Token</label>
                   <input
                     type="text"
                     name="token"
@@ -488,7 +484,7 @@
                   />
                 </md-input-container>
                 <md-input-container class="md-block">
-                  <label translate="CHAT.MOTIONPROXY">MotionProxy</label>
+                  <label translate="APP.MOTIONPROXY">MotionProxy</label>
                   <input
                     type="url"
                     name="remote"
@@ -496,7 +492,7 @@
                     required
                   />
                   <div class="hint">
-                    <span translate="CHAT.HELP.MOTIONPROXY"></span>
+                    <span translate="APP.HELP.MOTIONPROXY"></span>
                   </div>
                   <div
                     ng-messages="scriptForm['remote'].$error"
@@ -504,12 +500,12 @@
                     role="alert"
                     <div ng-message="required">
-                      <span translate="CHAT.ERRORS.MOTIONPROXY_REQUIRED"
+                      <span translate="APP.ERRORS.MOTIONPROXY_REQUIRED"
                         >Motion Proxy field is required</span
                       >
                     </div>
                     <div ng-message="url">
-                      <span translate="CHAT.ERRORS.MOTIONPROXY_MUST_VALID_URL"
+                      <span translate="APP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
                         >Motion Proxy must be a valid url e.g.:
                         http://www.xcally.com</span
@@ -535,13 +531,13 @@
             class="chatWebsite-detail-form-container interval md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.INTERVAL">
+              <div class="h2 secondary-text" translate="APP.INTERVAL">
                 INTERVAL
               </div>
             </div>
             <form name="intervalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="CHAT.INTERVAL">Interval</label>
+                <label translate="APP.INTERVAL">Interval</label>
                 <md-select
                   name="IntervalId"
                   ng-model="vm.chatWebsite.IntervalId"
@@ -569,7 +565,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.TIMEZONE">Timezone</label>
+                <label translate="APP.TIMEZONE">Timezone</label>
                 <ms-timezone
                   name="timezone"
                   ng-model="vm.chatWebsite.timezone"
@@ -584,7 +580,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.TIMEZONE_REQUIRED"
+                    <span translate="APP.ERRORS.TIMEZONE_REQUIRED"
                       >Timezone field is required</span
                     >
                   </div>
@@ -596,7 +592,7 @@
             class="chatWebsite-detail-form-container disposition md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.DISPOSITION">
+              <div class="h2 secondary-text" translate="APP.DISPOSITION">
                 DISPOSITION
               </div>
             </div>
@@ -606,7 +602,7 @@
                   ng-model="vm.chatWebsite.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -615,7 +611,7 @@
                 ng-if="vm.chatWebsite.mandatoryDisposition"
                 class="md-block"
-                <label translate="CHAT.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -628,13 +624,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span
-                    translate="CHAT.HELP.MANDATORYDISPOSITIONPAUSEID"
-                  ></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
@@ -643,7 +637,7 @@
                   <div ng-message="required">
                     <span
-                      translate="CHAT.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -736,13 +730,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CHAT.ERRORS.FONTSIZE_REQUIRED"
+                    <span translate="APP.ERRORS.FONTSIZE_REQUIRED"
                       >fontSize field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="CHAT.ERRORS.FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >fontSize must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -876,7 +870,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CHAT.MESSAGESALIGNMENT"
+                <label translate="APP.MESSAGESALIGNMENT"
                   >messagesAlignment</label
                 <md-select
@@ -1238,10 +1232,8 @@
                   ng-model="vm.chatWebsite.enableRating"
                   aria-label="enableRating"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.ENABLERATING"
-                    >enableRating</span
-                  ></md-switch
-                >
+                  ><span translate="CHAT.ENABLERATING">enableRating</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.chatWebsite.enableRating"
@@ -1318,10 +1310,8 @@
                   ng-model="vm.chatWebsite.enableFeedback"
                   aria-label="enableFeedback"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.ENABLEFEEDBACK"
-                    >enableFeedback</span
-                  ></md-switch
-                >
+                  ><span translate="CHAT.ENABLEFEEDBACK">enableFeedback</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.chatWebsite.enableFeedback"
@@ -1451,8 +1441,8 @@
                   ng-model="vm.chatWebsite.autoclose"
                   aria-label="autoclose"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.AUTOCLOSE">autoclose</span></md-switch
-                >
+                  ><span translate="CHAT.AUTOCLOSE">autoclose</span>
+                </md-switch>
               </md-input-container>
               <md-input-container class="md-block">
                 <md-switch
@@ -1598,7 +1588,7 @@
             class="chatWebsite-detail-form-container interaction md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.INTERACTION">
+              <div class="h2 secondary-text" translate="APP.INTERACTION">
                 INTERACTION
               </div>
             </div>
@@ -2028,7 +2018,7 @@
             class="chatWebsite-detail-form-container whitelabel md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.WHITELABEL">
+              <div class="h2 secondary-text" translate="APP.WHITELABEL">
                 WHITELABEL
               </div>
             </div>
@@ -2038,14 +2028,14 @@
                   ng-model="vm.chatWebsite.defaultWhiteLabel"
                   aria-label="default"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="CHAT.DEFAULT">default</span></md-switch
+                  ><span translate="APP.DEFAULT">default</span></md-switch
               </md-input-container>
               <md-input-container
                 ng-if="!vm.chatWebsite.defaultWhiteLabel"
                 class="md-block"
-                <label translate="CHAT.WHITELABEL">whiteLabel</label>
+                <label translate="APP.WHITELABEL">whiteLabel</label>
                 <textarea
                   name="whiteLabel"
                   ng-model="vm.chatWebsite.whiteLabel"
@@ -2080,7 +2070,7 @@
             class="chatWebsite-detail-form-container logo md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CHAT.LOGO">LOGO</div>
+              <div class="h2 secondary-text" translate="APP.LOGO">LOGO</div>
             </div>
             <div
               ng-controller="ChatWebsitelogoController as vm_ca"
@@ -2105,7 +2095,7 @@
                   layout="row"
                   layout-align="center center"
-                  <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+                  <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
                 </div>
 
                 <div
@@ -2195,7 +2185,7 @@
                   layout="row"
                   layout-align="center center"
-                  <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+                  <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
                 </div>
 
                 <div
@@ -2285,7 +2275,7 @@
                   layout="row"
                   layout-align="center center"
-                  <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+                  <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
                 </div>
 
                 <div
@@ -2375,7 +2365,7 @@
                   layout="row"
                   layout-align="center center"
-                  <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+                  <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
                 </div>
 
                 <div
@@ -2477,7 +2467,7 @@
                           <div
                             class="h2 secondary-text"
-                            translate="CHAT.BUILDER"
+                            translate="APP.BUILDER"
                             BUILDER
                           </div>
@@ -2499,8 +2489,8 @@
                               <md-option
                                 ng-repeat="field in vm_fonc.fields"
                                 ng-value="field.key"
-                                >{{ field.value }}</md-option
-                              >
+                                >{{ field.value }}
+                              </md-option>
                             </md-optgroup>
 
                             <md-optgroup
@@ -2510,7 +2500,8 @@
                               <md-option
                                 ng-repeat="field in vm_fonc.customFields"
                                 ng-value="field.key"
-                                >{{ field.value }}</md-option
+                              >
+                                {{ field.value }}</md-option
                             </md-optgroup>
                           </md-select>
@@ -2632,15 +2623,14 @@
                               ></form-item>
 
                               <md-input-container class="md-block">
-                                <label translate="CHAT.VARIABLE"
-                                  >Variable</label
-                                >
+                                <label translate="APP.VARIABLE">Variable</label>
                                 <md-select ng-model="item.variable">
                                   <md-option ng-value="null">None</md-option>
                                   <md-option
                                     ng-repeat="variable in vm_fonc.variables"
                                     ng-value="variable.name"
-                                    >{{ variable.name }}</md-option
+                                  >
+                                    {{ variable.name }}</md-option
                                 </md-select>
                               </md-input-container>
@@ -2656,7 +2646,8 @@
                                     <md-option
                                       ng-repeat="field in vm_fonc.fields"
                                       ng-value="field.key"
-                                      >{{ field.value }}</md-option
+                                    >
+                                      {{ field.value }}</md-option
                                   </md-optgroup>
 
@@ -2667,7 +2658,8 @@
                                     <md-option
                                       ng-repeat="field in vm_fonc.customFields"
                                       ng-value="field.key"
-                                      >{{ field.value }}</md-option
+                                    >
+                                      {{ field.value }}</md-option
                                   </md-optgroup>
                                 </md-select>
@@ -2691,7 +2683,7 @@
                           <div
                             class="h2 secondary-text"
-                            translate="CHAT.PREVIEW"
+                            translate="APP.PREVIEW"
                             PREVIEW
                           </div>
@@ -2752,7 +2744,7 @@
                           <div
                             class="h2 secondary-text"
-                            translate="CHAT.BUILDER"
+                            translate="APP.BUILDER"
                             BUILDER
                           </div>
@@ -2815,8 +2807,8 @@
                               <md-option
                                 ng-repeat="field in vm_fonc.fields"
                                 ng-value="field.key"
-                                >{{ field.value }}</md-option
-                              >
+                                >{{ field.value }}
+                              </md-option>
                             </md-optgroup>
 
                             <md-optgroup
@@ -2826,7 +2818,8 @@
                               <md-option
                                 ng-repeat="field in vm_fonc.customFields"
                                 ng-value="field.key"
-                                >{{ field.value }}</md-option
+                              >
+                                {{ field.value }}</md-option
                             </md-optgroup>
                           </md-select>
@@ -2958,7 +2951,8 @@
                                     <md-option
                                       ng-repeat="field in vm_fonc.fields"
                                       ng-value="field.key"
-                                      >{{ field.value }}</md-option
+                                    >
+                                      {{ field.value }}</md-option
                                   </md-optgroup>
 
@@ -2969,7 +2963,8 @@
                                     <md-option
                                       ng-repeat="field in vm_fonc.customFields"
                                       ng-value="field.key"
-                                      >{{ field.value }}</md-option
+                                    >
+                                      {{ field.value }}</md-option
                                   </md-optgroup>
                                 </md-select>
@@ -2993,7 +2988,7 @@
                           <div
                             class="h2 secondary-text"
-                            translate="CHAT.PREVIEW"
+                            translate="APP.PREVIEW"
                             PREVIEW
                           </div>
@@ -3077,7 +3072,7 @@
                     ng-click="vm_dc.deleteSelectedChatWebsiteProactiveActions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="CHAT.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -3098,22 +3093,22 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'CHAT.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="name">
-                        {{ 'CHAT.NAME' | translate }}
+                        {{ 'APP.NAME' | translate }}
                       </th>
                       <th md-column md-order-by="type">
-                        {{ 'CHAT.TYPE' | translate }}
+                        {{ 'APP.TYPE' | translate }}
                       </th>
                       <th md-column md-order-by="selector">
                         {{ 'CHAT.SELECTOR' | translate }}
                       </th>
                       <th md-column md-order-by="timeout">
-                        {{ 'CHAT.TIMEOUT' | translate }}
+                        {{ 'APP.TIMEOUT' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'CHAT.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -3174,7 +3169,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="CHAT.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -3237,7 +3232,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.DISPOSITIONS">DISPOSITIONS</span>
+          <span translate="APP.DISPOSITIONS">DISPOSITIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -3274,7 +3269,7 @@
                         ng-change="vm_dc.getDispositions()"
                         <md-option ng-value="null"
-                          ><em translate="TOOLS.ALL">All</em></md-option
+                          ><em translate="APP.ALL">All</em></md-option
                         <md-option
                           ng-value="key"
@@ -3295,7 +3290,7 @@
                   ng-hide="vm_dc.selectedChatWebsiteDispositions.length"
                   <div class="md-toolbar-tools">
-                    <span class="md-subhead" translate="CHAT.DISPOSITIONS"
+                    <span class="md-subhead" translate="APP.DISPOSITIONS"
                       >Dispositions</span
                     <ms-search-bar
@@ -3342,7 +3337,7 @@
                       ng-click="vm_dc.deleteSelectedDispositions($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="CHAT.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -3363,16 +3358,16 @@
                       <tr md-row>
                         <th md-column md-order-by="id">
-                          {{ 'CHAT.ID' | translate }}
+                          {{ 'APP.ID' | translate }}
                         </th>
                         <th md-column md-order-by="level">
                           {{ 'TOOLS.LEVEL' | translate }}
                         </th>
                         <th md-column md-order-by="name">
-                          {{ 'CHAT.NAME' | translate }}
+                          {{ 'APP.NAME' | translate }}
                         </th>
                         <th md-column md-order-by="description">
-                          {{ 'CHAT.DESCRIPTION' | translate }}
+                          {{ 'APP.DESCRIPTION' | translate }}
                         </th>
                         <th md-column width="10px"></th>
                       </tr>
@@ -3381,7 +3376,7 @@
                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
                         <td md-cell colspan="5">
                           <div layout="row" layout-align="center center">
-                            <span translate="CHAT.NO_AVAILABLE_INFO"
+                            <span translate="APP.NO_AVAILABLE_INFO"
                               >No Available Info</span
                           </div>
@@ -3431,7 +3426,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="CHAT.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -3487,7 +3482,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.CANNEDANSWERS">CANNEDANSWERS</span>
+          <span translate="APP.CANNEDANSWERS">CANNEDANSWERS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -3549,7 +3544,7 @@
                     ng-click="vm_dc.deleteSelectedChatWebsiteChatCannedAnswers($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="CHAT.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -3570,19 +3565,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'CHAT.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="key">
-                        {{ 'CHAT.KEY' | translate }}
+                        {{ 'APP.KEY' | translate }}
                       </th>
                       <th md-column md-order-by="value">
-                        {{ 'CHAT.VALUE' | translate }}
+                        {{ 'APP.VALUE' | translate }}
                       </th>
                       <th md-column md-order-by="description">
-                        {{ 'CHAT.DESCRIPTION' | translate }}
+                        {{ 'APP.DESCRIPTION' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'CHAT.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -3634,7 +3629,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="CHAT.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -3697,7 +3692,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.VIDEO">VIDEO</span>
+          <span translate="APP.VIDEO">VIDEO</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -3750,7 +3745,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -3834,7 +3829,7 @@
                       ng-click="vm_ac.deleteSelectedChatWebsiteApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="CHAT.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -3853,7 +3848,7 @@
                       <tr md-row>
                         <th md-column width="10px"></th>
                         <th md-column width="10px">
-                          <span translate="VOICE.PRIORITY">Priority</span>
+                          <span translate="APP.PRIORITY">Priority</span>
                         </th>
                         <th md-column>
                           <span>Type</span>
@@ -3934,7 +3929,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -3948,7 +3943,7 @@
                                 <md-button
                                   ng-click="vm_ac.editChatWebsiteApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -3958,7 +3953,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -3968,7 +3963,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -3981,7 +3976,7 @@
                         <td md-cell colspan="7">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
@@ -4002,7 +3997,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.INTERACTIONS">INTERACTIONS</span>
+          <span translate="APP.INTERACTIONS">INTERACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -4017,7 +4012,7 @@
                 ng-hide="vm_dc.selectedChatWebsiteInteractions.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="CHAT.INTERACTIONS"
+                  <span class="md-subhead" translate="APP.INTERACTIONS"
                     >Interactions</span
                   <ms-search-bar
@@ -4038,7 +4033,7 @@
                       ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
                       aria-label="Filter"
                       translate
-                      translate-attr-aria-label="DASHBOARDS.FILTER"
+                      translate-attr-aria-label="APP.FILTER"
                       ng-click="vm_dc.openAdvancedSearch()"
                       <md-icon
@@ -4052,7 +4047,7 @@
                     ng-click="vm_dc.getChatWebsiteInteractions()"
                     aria-label="refresh Interactions"
                     translate
-                    translate-attr-label="CHAT.REFRESH_INTERACTIONS"
+                    translate-attr-label="APP.REFRESH_INTERACTIONS"
                     <md-icon md-font-icon="icon-refresh"></md-icon>
                   </md-button>
@@ -4083,7 +4078,7 @@
                     ng-click="vm_dc.deleteSelectedChatWebsiteInteractions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="CHAT.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -4104,26 +4099,26 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'CHAT.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column class="no-padding">
                         <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
                       </th>
                       <th md-column class="no-padding"></th>
                       <th md-column class="no-padding"></th>
-                      <th md-column>{{ 'CHAT.CONTACT' | translate }}</th>
+                      <th md-column>{{ 'APP.CONTACT' | translate }}</th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'CHAT.STARTEDAT' | translate }}
+                        {{ 'APP.STARTEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="lastMsgAt">
-                        {{ 'CHAT.LASTMESSAGE' | translate }}
+                        {{ 'APP.LASTMESSAGE' | translate }}
                       </th>
                       <th md-column md-order-by="closed">
-                        {{ 'CHAT.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
-                      <th md-column>{{ 'CHAT.AGENT' | translate }}</th>
+                      <th md-column>{{ 'APP.AGENT' | translate }}</th>
                       <th md-column md-order-by="tag">
-                        {{ 'CHAT.TAGS' | translate }}
+                        {{ 'APP.TAGS' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -4196,7 +4191,8 @@
                           <span>
                             <md-icon
                               md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
-                            ></md-icon>
+                            >
+                            </md-icon>
                           </span>
                           <div layout="column" layout-align="center center">
                             <span class="text-truncate"
@@ -4207,13 +4203,13 @@
                       </td>
                       <td md-cell>
                         <span ng-if="interaction.closed === 0" class="green-fg">
-                          {{ 'CHAT.OPENED' | translate }}
+                          {{ 'APP.OPENED' | translate }}
                           <span ng-if="interaction.substatus">
                             - {{ interaction.substatus }}
                           </span>
                         </span>
                         <span ng-if="interaction.closed === 1" class="red-fg">
-                          {{ 'CHAT.CLOSED' | translate }}
+                          {{ 'APP.CLOSED' | translate }}
                           <span ng-if="interaction.disposition">
                             - {{ interaction.thirdDisposition ||
                             interaction.secondDisposition ||
@@ -4292,7 +4288,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="CHAT.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -4304,7 +4300,7 @@
                             <md-menu-item>
                               <md-button
                                 ng-click="vm_dc.spychatInteraction($event, interaction)"
-                                translate="CHAT.SPYINTERACTION"
+                                translate="APP.SPYINTERACTION"
                                 Spy Interaction
                               </md-button>
@@ -4313,7 +4309,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.chatInteractionDownload(interaction, $event, true)"
-                                translate="CHAT.DOWNLOAD_WITH_ATTACHMENTS"
+                                translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
                                 Download with attachments
                               </md-button>
@@ -4322,7 +4318,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.chatInteractionDownload(interaction, $event)"
-                                translate="CHAT.DOWNLOAD_WITHOUT_ATTACHMENTS"
+                                translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
                                 Download without attachments
                               </md-button>
@@ -4332,7 +4328,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(interaction, $event)"
-                                translate="CHAT.DELETE_INTERACTION"
+                                translate="APP.DELETE_INTERACTION"
                                 Delete Interaction
                               </md-button>
@@ -4349,7 +4345,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="CHAT.NO_INTERACTION_AVAILABLE"
+                            translate="APP.NO_INTERACTION_AVAILABLE"
                             >No interaction available</span
                           >
                         </div>
@@ -4425,7 +4421,7 @@
                     ng-click="vm_dc.deleteSelectedChatWebsiteOfflineMessages($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="CHAT.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -4446,11 +4442,11 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'CHAT.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
-                      <th md-column>{{ 'CHAT.CONTACT' | translate }}</th>
+                      <th md-column>{{ 'APP.CONTACT' | translate }}</th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'CHAT.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -4473,7 +4469,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="CHAT.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
diff --git a/public/src/js/modules/main/apps/chat/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/chat/views/realtime/agents/view.html/view.html
index da2546c..36ce36d 100644
--- a/public/src/js/modules/main/apps/chat/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/chat/views/realtime/agents/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="CHAT.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query; vm.onInit()"
@@ -13,13 +13,11 @@
       class="md-caption"
       ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-      <md-option ng-value="''">{{ 'CHAT.ALL' | translate }}</md-option>
-      <md-option value="pause">{{ 'CHAT.PAUSE' | translate }}</md-option>
-      <md-option value="*pause"
-        >{{ 'CHAT.PARTIALPAUSE' | translate }}</md-option
-      >
-      <md-option value="busy">{{ 'CHAT.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'CHAT.IDLE' | translate }}</md-option>
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
     <md-select
@@ -46,103 +44,103 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'CHAT.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
         <th
           ng-if="vm.license.openchannel"
           class="bv bl text-center"
           colspan="2"
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'CHAT.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'CHAT.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'CHAT.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -151,7 +149,7 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'CHAT.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
@@ -186,7 +184,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'CHAT.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -199,7 +197,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'CHAT.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -402,7 +400,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -412,7 +410,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="CHAT.LOGOUT"
+                  translate="APP.LOGOUT"
                   Logout
                 </md-button>
@@ -433,14 +431,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="CHAT.SCREENRECORDING"
+                    translate="APP.SCREENRECORDING"
                     >Screen Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="CHAT.START_SCREENRECORDING"
+                        ><em translate="APP.START_SCREENRECORDING"
                           >Start Screen Recording</em
                         ></md-button
                       >
@@ -448,7 +446,7 @@
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="CHAT.STOP_SCREENRECORDING"
+                        ><em translate="APP.STOP_SCREENRECORDING"
                           >Stop Screen Recording</em
                         ></md-button
                       >
@@ -462,7 +460,7 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="CHAT.PAUSE"
+                    translate="APP.PAUSE"
                     >Pause</md-button
                   <md-menu-content>
@@ -470,10 +468,8 @@
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
                         ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="CHAT.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
                     <md-menu-item
                       ng-if="vm.pauses.rows.length"
@@ -491,7 +487,7 @@
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
                 <md-button
                   ng-click="vm.unPause(vm.agents[value])"
-                  translate="CHAT.UNPAUSE"
+                  translate="APP.UNPAUSE"
                   Unpause
                 </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/chat/views/realtime/queues/view.html/view.html
index 9d59667..6a690e5 100644
--- a/public/src/js/modules/main/apps/chat/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/chat/views/realtime/queues/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="CHAT.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,11 +17,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'CHAT.NAME' | translate }}</th>
-        <th md-column>{{ 'CHAT.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'CHAT.PAUSED' | translate }}</th>
-        <th md-column>{{ 'CHAT.READY' | translate }}</th>
-        <th md-column>{{ 'CHAT.WAITING' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -28,7 +29,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="7">
           <div layout="row" layout-align="center center">
-            <span translate="CHAT.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -66,7 +67,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="CHAT.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -76,7 +77,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.createOrEditChatQueue($event, vm.queues[value])"
-                  translate="CHAT.EDIT_QUEUE"
+                  translate="APP.EDIT_QUEUE"
                   Edit Queue
                 </md-button>
@@ -84,7 +85,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="CHAT.AGENTSADD_QUEUE"
+                  translate="APP.AGENTSADD_QUEUE"
                   Add Agents to queue
                 </md-button>
diff --git a/public/src/js/modules/main/apps/chat/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/chat/views/realtime/realtime.html/realtime.html
index e83bca8..3aa8981 100644
--- a/public/src/js/modules/main/apps/chat/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/chat/views/realtime/realtime.html/realtime.html
@@ -10,12 +10,12 @@
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CHAT.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
     </md-tabs>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/companies/companies.html/companies.html b/public/src/js/modules/main/apps/contactmanager/views/companies/companies.html/companies.html
index 5908cea..8e3f1a0 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/companies/companies.html/companies.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/companies/companies.html/companies.html
@@ -14,9 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-account-circle" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="CONTACTMANAGER.COMPANIES"
-          >Companies</span
-        >
+        <span class="logo-text" translate="APP.COMPANIES">Companies</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -39,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="CONTACTMANAGER.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedCompanies =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CONTACTMANAGER.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +64,7 @@
       <div>
         <span class="selected-companies-count">
           <span>{{vm.selectedCompanies.length}}</span>
-          <span translate="CONTACTMANAGER.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllCompanies()"
-                translate="CONTACTMANAGER.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectCompanies()"
-                translate="CONTACTMANAGER.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +113,7 @@
           ng-click="vm.deleteSelectedCompanies($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CONTACTMANAGER.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,14 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'CONTACTMANAGER.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'CONTACTMANAGER.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'CONTACTMANAGER.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -165,7 +161,7 @@
               <tr md-row ng-hide="vm.companies.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -222,7 +218,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CONTACTMANAGER.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/companies/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/contactmanager/views/companies/create/dialog.html/dialog.html
index c19ba1f..cc9adb9 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/companies/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/companies/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.PHONE">Phone</label>
+        <label translate="APP.PHONE">Phone</label>
         <input type="text" name="phone" ng-model="vm.company.phone" />
 
         <div
@@ -69,7 +69,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.PHONE_REQUIRED"
+            <span translate="APP.ERRORS.PHONE_REQUIRED"
               >Phone field is required</span
             >
           </div>
@@ -92,7 +92,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.FAX">Fax</label>
+        <label translate="APP.FAX">Fax</label>
         <input type="text" name="fax" ng-model="vm.company.fax" />
 
         <div
@@ -124,7 +124,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <input type="text" name="type" ng-model="vm.company.type" />
 
         <div
@@ -133,14 +133,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.WEBSITE">Website</label>
+        <label translate="APP.WEBSITE">Website</label>
         <input
           type="text"
           name="website"
@@ -188,7 +188,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.EMAIL">Email</label>
+        <label translate="APP.EMAIL">Email</label>
         <input type="email" name="email" ng-model="vm.company.email" />
 
         <div
@@ -197,19 +197,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.EMAIL_REQUIRED"
+            <span translate="APP.ERRORS.EMAIL_REQUIRED"
               >Email field is required</span
             >
           </div>
           <div ng-message="email">
-            <span translate="CONTACTMANAGER.ERRORS.EMAIL_MUST_VALID"
+            <span translate="APP.ERRORS.EMAIL_MUST_VALID"
               >Email must be a valid e-mail address</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -264,8 +264,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="companyForm.$invalid || companyForm.$pristine"
           aria-label="SAVE"
-          translate="CONTACTMANAGER.SAVE"
-          translate-attr-aria-label="CONTACTMANAGER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -290,12 +290,10 @@
           ng-click="vm.deleteCompany($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CONTACTMANAGER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CONTACTMANAGER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/companies/edit/view.html/view.html b/public/src/js/modules/main/apps/contactmanager/views/companies/edit/view.html/view.html
index 0ca8700..3f68f42 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/companies/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/companies/edit/view.html/view.html
@@ -27,7 +27,7 @@
             <span ng-if="vm.company.name">{{vm.company.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="CONTACTMANAGER.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.company.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -53,8 +53,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (addressForm.$invalid) || (shipmentAddressForm.$invalid)"
-        translate="CONTACTMANAGER.SAVE"
-        translate-attr-aria-label="CONTACTMANAGER.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -73,20 +73,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="CONTACTMANAGER.GENERAL">GENERAL</span>
+          <span translate="APP.GENERAL">GENERAL</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="company-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CONTACTMANAGER.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -102,14 +102,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CONTACTMANAGER.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.PHONE">Phone</label>
+                <label translate="APP.PHONE">Phone</label>
                 <input
                   type="text"
                   name="phone"
@@ -123,7 +123,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CONTACTMANAGER.ERRORS.PHONE_REQUIRED"
+                    <span translate="APP.ERRORS.PHONE_REQUIRED"
                       >Phone field is required</span
                     >
                   </div>
@@ -151,7 +151,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.FAX">Fax</label>
+                <label translate="APP.FAX">Fax</label>
                 <input
                   type="text"
                   name="fax"
@@ -193,7 +193,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <input
                   type="text"
                   name="type"
@@ -207,14 +207,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CONTACTMANAGER.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.WEBSITE">Website</label>
+                <label translate="APP.WEBSITE">Website</label>
                 <input
                   type="text"
                   name="website"
@@ -267,7 +267,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.EMAIL">Email</label>
+                <label translate="APP.EMAIL">Email</label>
                 <input
                   type="email"
                   name="email"
@@ -281,21 +281,19 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CONTACTMANAGER.ERRORS.EMAIL_REQUIRED"
+                    <span translate="APP.ERRORS.EMAIL_REQUIRED"
                       >Email field is required</span
                     >
                   </div>
                   <div ng-message="email">
-                    <span translate="CONTACTMANAGER.ERRORS.EMAIL_MUST_VALID"
+                    <span translate="APP.ERRORS.EMAIL_MUST_VALID"
                       >Email must be a valid e-mail address</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.DESCRIPTION"
-                  >Description</label
-                >
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -321,14 +319,14 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CONTACTMANAGER.ADDRESS">ADDRESS</span>
+          <span translate="APP.ADDRESS">ADDRESS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="company-detail-form-container address md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CONTACTMANAGER.ADDRESS">
+              <div class="h2 secondary-text" translate="APP.ADDRESS">
                 ADDRESS
               </div>
             </div>
@@ -379,7 +377,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.CITY">City</label>
+                <label translate="APP.CITY">City</label>
                 <input
                   type="text"
                   name="city"
@@ -400,7 +398,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.COUNTRY">Country</label>
+                <label translate="APP.COUNTRY">Country</label>
                 <input
                   type="text"
                   name="country"
@@ -489,7 +487,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.CITY">City</label>
+                <label translate="APP.CITY">City</label>
                 <input
                   type="text"
                   name="sCity"
@@ -510,7 +508,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.COUNTRY">Country</label>
+                <label translate="APP.COUNTRY">Country</label>
                 <input
                   type="text"
                   name="sCountry"
diff --git a/public/src/js/modules/main/apps/contactmanager/views/contacts/contacts.html/contacts.html b/public/src/js/modules/main/apps/contactmanager/views/contacts/contacts.html/contacts.html
index cbfd535..ab0adad 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/contacts/contacts.html/contacts.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/contacts/contacts.html/contacts.html
@@ -11,9 +11,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-account-multiple" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="CONTACTMANAGER.CONTACTS"
-          >Contacts</span
-        >
+        <span class="logo-text" translate="APP.CONTACTS">Contacts</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -31,7 +29,7 @@
           ng-model="vm.query.filter"
           ng-model-options="{ debounce: 1000 }"
           translate
-          translate-attr-placeholder="CONTACTMANAGER.SEARCH_FOR_ANYONE"
+          translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
         />
       </md-input-container>
     </div>
@@ -49,7 +47,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedContacts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CONTACTMANAGER.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -57,7 +55,7 @@
       <div>
         <span class="selected-contacts-count">
           <span>{{vm.selectedContacts.length}}</span>
-          <span translate="CONTACTMANAGER.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -74,7 +72,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllContacts()"
-                translate="CONTACTMANAGER.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -82,7 +80,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectContacts()"
-                translate="CONTACTMANAGER.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -106,7 +104,7 @@
           ng-click="vm.deleteSelectedContacts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CONTACTS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -145,7 +143,7 @@
                   ng-disabled="vm.lists.count === 0"
                   <md-option ng-value="null"
-                    ><em translate="CONTACTMANAGER.ALL">All</em></md-option
+                    ><em translate="APP.ALL">All</em></md-option
                   <md-option
                     ng-value="list.id"
@@ -169,7 +167,7 @@
                   ng-disabled="vm.companies.count === 0"
                   <md-option ng-value="null"
-                    ><em translate="CONTACTMANAGER.ALL">All</em></md-option
+                    ><em translate="APP.ALL">All</em></md-option
                   <md-option
                     ng-value="company.id"
@@ -232,7 +230,7 @@
                     {{'CONTACTMANAGER.CREATED_AT' | translate}}
                   </th>
                   <th md-column md-order-by="ListId">
-                    {{'CONTACTMANAGER.LIST' | translate}}
+                    {{'APP.LIST' | translate}}
                   </th>
                   <th md-column md-order-by="CompanyId">
                     {{'CONTACTMANAGER.COMPANY' | translate}}
@@ -247,7 +245,7 @@
                 <tr md-row ng-hide="vm.contacts.rows.length">
                   <td md-cell colspan="8">
                     <div layout="row" layout-align="center center">
-                      <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                      <span translate="APP.NO_AVAILABLE_INFO"
                         >No Available Info</span
                     </div>
@@ -347,7 +345,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="CONTACTMANAGER.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -458,7 +456,7 @@
         ng-click="vm.createOrEditContact($event)"
         aria-label="add contact"
         translate
-        translate-attr-aria-label="CONTACTMANAGER.ADD_CONTACT"
+        translate-attr-aria-label="APP.ADD_CONTACT"
         <md-tooltip
           md-direction="left"
diff --git a/public/src/js/modules/main/apps/contactmanager/views/contacts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/contactmanager/views/contacts/create/dialog.html/dialog.html
index 948e0e8..e3f6f3e 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/contacts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/contacts/create/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.FIRSTNAME">First name</label>
+        <label translate="APP.FIRSTNAME">First name</label>
         <input
           name="firstName"
           ng-model="vm.contact.firstName"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.FIRSTNAME_REQUIRED"
+            <span translate="APP.ERRORS.FIRSTNAME_REQUIRED"
               >First name field is required</span
             >
           </div>
@@ -61,32 +61,32 @@
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.LASTNAME">Last name</label>
+        <label translate="APP.LASTNAME">Last name</label>
         <input name="lastName" ng-model="vm.contact.lastName" />
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.PHONE">Phone</label>
+        <label translate="APP.PHONE">Phone</label>
         <input name="phone" ng-model="vm.contact.phone" />
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.EMAIL">Email</label>
+        <label translate="APP.EMAIL">Email</label>
         <input name="email" type="email" ng-model="vm.contact.email" />
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.MOBILE">Mobile</label>
+        <label translate="APP.MOBILE">Mobile</label>
         <input name="mobile" ng-model="vm.contact.mobile" />
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.FAX">Fax</label>
+        <label translate="APP.FAX">Fax</label>
         <input name="fax" ng-model="vm.contact.fax" />
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select
           name="list"
           ng-model="vm.contact.ListId"
@@ -100,7 +100,7 @@
               >{{list.name}}</md-option
             <md-option ng-value="null"
-              ><em translate="CONTACTMANAGER.NONE">None</em></md-option
+              ><em translate="APP.NONE">None</em></md-option
           </md-optgroup>
         </md-select>
@@ -111,7 +111,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
@@ -142,7 +142,8 @@
               mdp-format="HH:mm:ss"
               mdp-auto-switch="true"
               ng-model="vm.contact['cf_' + customField.id]"
-            ></mdp-time-picker>
+            >
+            </mdp-time-picker>
           </div>
         </div>
 
@@ -159,7 +160,7 @@
               >{{value.value}}</md-option
             >
             <md-option ng-value="null"
-              ><em translate="CONTACTMANAGER.NONE">None</em></md-option
+              ><em translate="APP.NONE">None</em></md-option
           </md-select>
         </div>
@@ -187,14 +188,15 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.COMPANY">Company</label>
+        <label translate="APP.COMPANY">Company</label>
         <md-select name="company" ng-model="vm.contact.CompanyId">
           <md-option
             ng-value="company.id"
             ng-repeat="company in vm.companies.rows"
             ng-hide="!vm.contact.CompanyId && company.canSelect === false"
             ng-disabled="company.canSelect === false"
-            >{{company.name}}</md-option
+          >
+            {{company.name}}</md-option
         </md-select>
       </md-input-container>
@@ -203,9 +205,9 @@
         <md-button
           class="md-accent"
           ng-click="vm.allFields = true"
-          translate="CONTACTMANAGER.SHOW_ALL_FIELDS"
-          >Show All Fields</md-button
-        >
+          translate="APP.SHOW_ALL_FIELDS"
+          >Show All Fields
+        </md-button>
       </div>
 
       <md-input-container
@@ -214,22 +216,23 @@
         flex-gt-sm=""
         ng-init="vm.contact.dateOfBirth = vm.getDateFromString(vm.contact.dateOfBirth)"
-        <label translate="CONTACTMANAGER.DATE_OF_BIRTH">Date of Birth</label>
+        <label translate="APP.DATE_OF_BIRTH">Date of Birth</label>
         <mdp-date-picker
           mdp-open-on-click
           mdp-format="YYYY-MM-DD"
           name="dateOfBirth"
           ng-model="vm.contact.dateOfBirth"
-        ></mdp-date-picker>
+        >
+        </mdp-date-picker>
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.allFields">
-        <label translate="CONTACTMANAGER.COUNTRY">Country</label>
+        <label translate="APP.COUNTRY">Country</label>
         <input type="text" name="country" ng-model="vm.contact.country" />
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.allFields">
-        <label translate="CONTACTMANAGER.CITY">City</label>
+        <label translate="APP.CITY">City</label>
         <input type="text" name="city" ng-model="vm.contact.city" />
       </md-input-container>
 
@@ -244,7 +247,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.allFields">
-        <label translate="CONTACTMANAGER.NOTES">Notes</label>
+        <label translate="APP.NOTES">Notes</label>
         <input
           type="text"
           name="description"
@@ -296,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="contactForm.$invalid || contactForm.$pristine"
           aria-label="SAVE"
-          translate="CONTACTMANAGER.SAVE"
-          translate-attr-aria-label="CONTACTMANAGER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -309,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="contactForm.$invalid || contactForm.$pristine"
           aria-label="ADD"
-          translate="CONTACTMANAGER.ADD_CONTACT"
-          translate-attr-aria-label="CONTACTMANAGER.ADD_CONTACT"
+          translate="APP.ADD_CONTACT"
+          translate-attr-aria-label="APP.ADD_CONTACT"
           ADD CONTACT
         </md-button>
@@ -322,12 +325,10 @@
           ng-click="vm.deleteContact($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CONTACTMANAGER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CONTACTMANAGER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/contacts/duplicate/dialog.html/dialog.html b/public/src/js/modules/main/apps/contactmanager/views/contacts/duplicate/dialog.html/dialog.html
index f1d6981..1c18003 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/contacts/duplicate/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/contacts/duplicate/dialog.html/dialog.html
@@ -42,7 +42,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select name="list" ng-model="vm.contact.ListId">
           <md-option ng-value="list.id" ng-repeat="list in vm.lists.rows"
             >{{list.name}}</md-option
@@ -55,7 +55,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
@@ -92,8 +92,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="contactForm.$invalid"
           aria-label="ADD"
-          translate="CONTACTMANAGER.ADD_CONTACT"
-          translate-attr-aria-label="CONTACTMANAGER.ADD_CONTACT"
+          translate="APP.ADD_CONTACT"
+          translate-attr-aria-label="APP.ADD_CONTACT"
           ADD CONTACT
         </md-button>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/contacts/edit/view.html/view.html b/public/src/js/modules/main/apps/contactmanager/views/contacts/edit/view.html/view.html
index f417c29..4f103f6 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/contacts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/contacts/edit/view.html/view.html
@@ -27,7 +27,7 @@
             #{{vm.contact.id}} {{vm.contact.firstName}} {{vm.contact.lastName}}
           </div>
           <div class="subtitle secondary-text">
-            <span translate="CONTACTMANAGER.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.contact.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -93,8 +93,8 @@
         ng-click="vm.saveContact()"
         class="send-button md-accent md-raised"
         ng-disabled="detailForm.$pristine && customFieldsForm.$pristine && socialForm.$pristine"
-        translate="CONTACTMANAGER.SAVE"
-        translate-attr-aria-label="CONTACTMANAGER.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -113,7 +113,7 @@
       <md-tab>
         <md-tab-label>
-          <span translate="CONTACTMANAGER.DETAIL">DETAIL</span>
+          <span translate="APP.DETAIL">DETAIL</span>
         </md-tab-label>
 
         <md-tab-body>
@@ -125,7 +125,7 @@
                 <div class="pb-16" layout="row" layout-align="start center">
                   <div
                     class="h2 secondary-text text-truncate"
-                    translate="CONTACTMANAGER.PERSONAL_INFO"
+                    translate="APP.PERSONAL_INFO"
                     PERSONAL_INFO
                   </div>
@@ -134,9 +134,7 @@
                   <div layout-gt-sm="row" class="layout-gt-sm-row">
                     <!-- fistName -->
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="CONTACTMANAGER.FIRSTNAME"
-                        >First Name</label
-                      >
+                      <label translate="APP.FIRSTNAME">First Name</label>
                       <md-icon
                         md-font-icon="icon-account"
                         class="firstname"
@@ -156,8 +154,7 @@
                         role="alert"
                         <div ng-message="required">
-                          <span
-                            translate="CONTACTMANAGER.ERRORS.FIRSTNAME_REQUIRED"
+                          <span translate="APP.ERRORS.FIRSTNAME_REQUIRED"
                             >First name field is required</span
                           >
                         </div>
@@ -166,9 +163,7 @@
                     <div flex="5"></div>
                     <!-- lastName -->
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="CONTACTMANAGER.LASTNAME"
-                        >Last Name</label
-                      >
+                      <label translate="APP.LASTNAME">Last Name</label>
                       <input
                         type="text"
                         name="lastName"
@@ -182,7 +177,7 @@
                   <div layout-gt-sm="row" class="layout-gt-sm-row">
                     <!-- phone -->
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="CONTACTMANAGER.PHONE">Phone</label>
+                      <label translate="APP.PHONE">Phone</label>
                       <md-icon md-font-icon="icon-phone"></md-icon>
                       <input
                         type="text"
@@ -195,7 +190,7 @@
                     <div flex="5"></div>
                     <!-- mobile -->
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="CONTACTMANAGER.MOBILE">Mobile</label>
+                      <label translate="APP.MOBILE">Mobile</label>
                       <md-icon md-font-icon="icon-cellphone-iphone"></md-icon>
                       <input
                         type="text"
@@ -210,7 +205,7 @@
                   <div layout-gt-sm="row" class="layout-gt-sm-row">
                     <!-- email -->
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="CONTACTMANAGER.EMAIL">Email</label>
+                      <label translate="APP.EMAIL">Email</label>
                       <md-icon
                         md-font-icon="icon-email"
                         class="email"
@@ -228,8 +223,7 @@
                         role="alert"
                         <div ng-message="email">
-                          <span
-                            translate="CONTACTMANAGER.ERRORS.EMAIL_MUST_VALID"
+                          <span translate="APP.ERRORS.EMAIL_MUST_VALID"
                             >Email must be a valid e-mail address</span
                           >
                         </div>
@@ -238,7 +232,7 @@
                     <div flex="5"></div>
                     <!-- fax -->
                     <md-input-container class="md-block" flex-gt-sm="">
-                      <label translate="CONTACTMANAGER.FAX">Fax</label>
+                      <label translate="APP.FAX">Fax</label>
                       <md-icon md-font-icon="icon-deskphone"></md-icon>
                       <input
                         type="text"
@@ -255,9 +249,7 @@
                       flex-gt-sm=""
                       ng-init="vm.contact.dateOfBirth = vm.getDateFromString(vm.contact.dateOfBirth)"
-                      <label translate="CONTACTMANAGER.DATE_OF_BIRTH"
-                        >Date of Birth</label
-                      >
+                      <label translate="APP.DATE_OF_BIRTH">Date of Birth</label>
                       <mdp-date-picker
                         mdp-open-on-click
                         mdp-format="YYYY-MM-DD"
@@ -274,7 +266,7 @@
                       class="md-block"
                       flex-gt-sm=""
-                      <label translate="CONTACTMANAGER.COMPANY">Company</label>
+                      <label translate="APP.COMPANY">Company</label>
                       <md-icon md-font-icon="icon-domain"></md-icon>
                       <md-select
                         name="company"
@@ -289,9 +281,7 @@
                             >{{company.name}}</md-option
                           >
                           <md-option ng-value="null"
-                            ><em translate="CONTACTMANAGER.NONE"
-                              >None</em
-                            ></md-option
+                            ><em translate="APP.NONE">None</em></md-option
                         </md-optgroup>
                       </md-select>
@@ -316,7 +306,7 @@
                       class="md-block"
                       flex-gt-sm=""
-                      <label translate="CONTACTMANAGER.TAGS">Tags</label>
+                      <label translate="APP.TAGS">Tags</label>
                       <md-icon md-font-icon="icon-tag"></md-icon>
                       <md-select
                         ng-model="vm.Tags"
@@ -352,7 +342,7 @@
                     <md-button
                       class="md-accent"
                       ng-click="vm.allFields = true"
-                      translate="CONTACTMANAGER.SHOW_ALL_FIELDS"
+                      translate="APP.SHOW_ALL_FIELDS"
                       >Show All Fields</md-button
                     >
                   </div>
@@ -361,9 +351,7 @@
                     <div layout-gt-sm="row" class="layout-gt-sm-row">
                       <!-- country -->
                       <md-input-container class="md-block" flex-gt-sm="">
-                        <label translate="CONTACTMANAGER.COUNTRY"
-                          >Country</label
-                        >
+                        <label translate="APP.COUNTRY">Country</label>
                         <md-icon
                           md-font-icon="icon-home"
                           class="country"
@@ -379,7 +367,7 @@
                       <div flex="5"></div>
                       <!-- city -->
                       <md-input-container class="md-block" flex-gt-sm="">
-                        <label translate="CONTACTMANAGER.CITY">City</label>
+                        <label translate="APP.CITY">City</label>
                         <input
                           type="text"
                           name="city"
@@ -404,9 +392,7 @@
                       <div flex="5"></div>
                       <!-- postalCode -->
                       <md-input-container class="md-block" flex-gt-sm="">
-                        <label translate="CONTACTMANAGER.POSTALCODE"
-                          >Postal Code</label
-                        >
+                        <label translate="APP.POSTALCODE">Postal Code</label>
                         <input
                           type="text"
                           name="postalCode"
@@ -418,9 +404,7 @@
 
                     <div layout-gt-sm="row" class="layout-gt-sm-row">
                       <md-input-container class="md-block" flex-gt-sm="">
-                        <label
-                          translate
-                          translate-attr-placeholder="CONTACTMANAGER.NOTES"
+                        <label translate translate-attr-placeholder="APP.NOTES"
                           >Notes</label
                         <md-icon md-font-icon="icon-note"></md-icon>
@@ -450,7 +434,7 @@
                 <div class="pb-16" layout="row" layout-align="start center">
                   <div
                     class="h2 secondary-text text-truncate"
-                    translate="CONTACTMANAGER.SOCIAL"
+                    translate="APP.SOCIAL"
                     Social
                   </div>
@@ -546,16 +530,14 @@
               <div class="pb-16" layout="row" layout-align="start center">
                 <div
                   class="h2 secondary-text text-truncate"
-                  translate="CONTACTMANAGER.CUSTOM_FIELDS"
+                  translate="APP.CUSTOM_FIELDS"
                   CUSTOM FIELDS
                 </div>
               </div>
               <form name="customFieldsForm" novalidate>
                 <md-input-container class="md-block">
-                  <label
-                    translate
-                    translate-attr-placeholder="CONTACTMANAGER.LIST"
+                  <label translate translate-attr-placeholder="APP.LIST"
                     >List</label
                   <md-select
@@ -568,12 +550,10 @@
                       <md-option
                         ng-value="list.id"
                         ng-repeat="list in vm.lists.rows"
-                        >#{{list.id}} - {{list.name}}</md-option
-                      >
+                        >#{{list.id}} - {{list.name}}
+                      </md-option>
                       <md-option ng-value="null"
-                        ><em translate="CONTACTMANAGER.NONE"
-                          >None</em
-                        ></md-option
+                        ><em translate="APP.NONE">None</em></md-option
                     </md-optgroup>
                   </md-select>
@@ -603,7 +583,8 @@
                         mdp-format="HH:mm:ss"
                         mdp-auto-switch="true"
                         ng-model="vm.contact['cf_' + customField.id]"
-                      ></mdp-time-picker>
+                      >
+                      </mdp-time-picker>
                     </div>
                   </md-input-container>
 
@@ -617,12 +598,10 @@
                       <md-option
                         ng-repeat="value in customField.values"
                         ng-value="value.value"
-                        >{{value.value}}</md-option
-                      >
+                        >{{value.value}}
+                      </md-option>
                       <md-option ng-value="null"
-                        ><em translate="CONTACTMANAGER.NONE"
-                          >None</em
-                        ></md-option
+                        ><em translate="APP.NONE">None</em></md-option
                     </md-select>
                   </md-input-container>
@@ -656,7 +635,7 @@
 
       <md-tab ng-if="vm.license.dialer">
         <md-tab-label>
-          <span translate="CONTACTMANAGER.MOTION_BULL">MOTION BULL</span>
+          <span translate="APP.MOTION_BULL">MOTION BULL</span>
         </md-tab-label>
 
         <md-tab-body>
@@ -681,7 +660,7 @@
                     ng-click="vm.getHoppers()"
                     aria-label="reload"
                     translate
-                    translate-attr-label="CONTACTMANAGER.RELOAD"
+                    translate-attr-label="APP.RELOAD"
                     <md-tooltip
                       >{{'CONTACTMANAGER.RELOAD' | translate}}</md-tooltip
@@ -701,19 +680,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'CONTACTMANAGER.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="phone">
-                        {{ 'CONTACTMANAGER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="scheduledat">
-                        {{ 'CONTACTMANAGER.SCHEDULEDAT' | translate }}
+                        {{ 'APP.SCHEDULEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="priority">
-                        {{ 'MOTIONDIALER.PRIORITY' | translate }}
+                        {{ 'APP.PRIORITY' | translate }}
                       </th>
                       <th md-column md-order-by="recallme">
-                        {{ 'CONTACTMANAGER.RECALLME' | translate }}
+                        {{ 'APP.RECALLME' | translate }}
                       </th>
                       <th md-column md-order-by="VoiceQueueId">
                         {{ 'CONTACTMANAGER.VOICEQUEUEID' | translate }}
@@ -728,7 +707,7 @@
                     <tr md-row ng-hide="vm.hoppers.count">
                       <td md-cell colspan="7">
                         <div layout="row" layout-align="center center">
-                          <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                          <span translate="APP.NO_AVAILABLE_INFO"
                             >No Available Info</span
                         </div>
@@ -759,7 +738,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="CONTACTMANAGER.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -772,14 +751,14 @@
                               <md-button
                                 ng-if="vm.crudPermissions.canEdit && hopper.VoiceQueueId"
                                 ng-click="vm.editHopper($event, hopper)"
-                                translate="CONTACTMANAGER.EDIT_HOPPER"
+                                translate="APP.EDIT_HOPPER"
                                 Edit Hopper
                               </md-button>
                               <md-button
                                 ng-if="vm.crudPermissions.canEdit && hopper.CampaignId"
                                 ng-click="vm.createOrEditIvrCampaignHopper($event, hopper)"
-                                translate="CONTACTMANAGER.EDIT_HOPPER"
+                                translate="APP.EDIT_HOPPER"
                                 Edit Hopper
                               </md-button>
@@ -787,7 +766,7 @@
                             <md-menu-item>
                               <md-button
                                 ng-click="vm.crudPermissions.canDelete && vm.deleteconfirm(hopper, $event)"
-                                translate="CONTACTMANAGER.DELETE_HOPPER"
+                                translate="APP.DELETE_HOPPER"
                                 Delete Hopper
                               </md-button>
@@ -834,7 +813,7 @@
                     ng-click="vm.getFinals()"
                     aria-label="reload"
                     translate
-                    translate-attr-label="CONTACTMANAGER.RELOAD"
+                    translate-attr-label="APP.RELOAD"
                     <md-tooltip
                       >{{'CONTACTMANAGER.RELOAD' | translate}}</md-tooltip
@@ -854,19 +833,19 @@
                     <tr md-row>
                       <th md-column md-order-by="uniqueid">
-                        {{ 'CONTACTMANAGER.UNIQUEID' | translate }}
+                        {{ 'APP.UNIQUEID' | translate }}
                       </th>
                       <th md-column md-order-by="calleridnum">
-                        {{ 'CONTACTMANAGER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="state">
-                        {{ 'CONTACTMANAGER.STATE' | translate }}
+                        {{ 'APP.STATE' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'CONTACTMANAGER.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="disposition">
-                        {{ 'CONTACTMANAGER.DISPOSITION' | translate }}
+                        {{ 'APP.DISPOSITION' | translate }}
                       </th>
                     </tr>
                   </thead>
@@ -874,7 +853,7 @@
                     <tr md-row ng-hide="vm.finals.count">
                       <td md-cell colspan="5">
                         <div layout="row" layout-align="center center">
-                          <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                          <span translate="APP.NO_AVAILABLE_INFO"
                             >No Available Info</span
                         </div>
@@ -925,7 +904,7 @@
                     ng-click="vm.getHistories()"
                     aria-label="reload"
                     translate
-                    translate-attr-label="CONTACTMANAGER.RELOAD"
+                    translate-attr-label="APP.RELOAD"
                     <md-tooltip
                       >{{'CONTACTMANAGER.RELOAD' | translate}}</md-tooltip
@@ -945,22 +924,22 @@
                     <tr md-row>
                       <th md-column md-order-by="uniqueid">
-                        {{ 'CONTACTMANAGER.UNIQUEID' | translate }}
+                        {{ 'APP.UNIQUEID' | translate }}
                       </th>
                       <th md-column md-order-by="calleridnum">
-                        {{ 'CONTACTMANAGER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="state">
-                        {{ 'CONTACTMANAGER.STATE' | translate }}
+                        {{ 'APP.STATE' | translate }}
                       </th>
                       <th md-column md-order-by="scheduledat">
-                        {{ 'CONTACTMANAGER.SCHEDULEDAT' | translate }}
+                        {{ 'APP.SCHEDULEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'CONTACTMANAGER.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="endtime">
-                        {{ 'CONTACTMANAGER.ENDTIME' | translate }}
+                        {{ 'APP.ENDTIME' | translate }}
                       </th>
                     </tr>
                   </thead>
@@ -968,7 +947,7 @@
                     <tr md-row ng-hide="vm.histories.count">
                       <td md-cell colspan="7">
                         <div layout="row" layout-align="center center">
-                          <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                          <span translate="APP.NO_AVAILABLE_INFO"
                             >No Available Info</span
                         </div>
@@ -1003,7 +982,7 @@
 
       <md-tab ng-if="vm.license.jscripty">
         <md-tab-label>
-          <span translate="CONTACTMANAGER.JSCRIPTY">JSCRIPTY</span>
+          <span translate="APP.JSCRIPTY">JSCRIPTY</span>
         </md-tab-label>
 
         <md-tab-body>
@@ -1014,7 +993,7 @@
               <md-toolbar class="md-table-toolbar md-default">
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="CONTACTMANAGER.SESSIONS"
+                  <span class="md-subhead" translate="APP.SESSIONS"
                     >Sessions</span
                   <div flex></div>
@@ -1036,19 +1015,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'CONTACTMANAGER.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'CONTACTMANAGER.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="endtime">
-                        {{ 'CONTACTMANAGER.ENDTIME' | translate }}
+                        {{ 'APP.ENDTIME' | translate }}
                       </th>
                       <th md-column md-order-by="agent">
-                        {{ 'CONTACTMANAGER.AGENT' | translate }}
+                        {{ 'APP.AGENT' | translate }}
                       </th>
                       <th md-column md-order-by="project">
-                        {{ 'CONTACTMANAGER.PROJECT' | translate }}
+                        {{ 'APP.PROJECT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1057,7 +1036,7 @@
                     <tr md-row ng-hide="vm.jscriptySessions.count">
                       <td md-cell colspan="6">
                         <div layout="row" layout-align="center center">
-                          <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                          <span translate="APP.NO_AVAILABLE_INFO"
                             >No Available Info</span
                         </div>
@@ -1095,9 +1074,7 @@
 
       <md-tab>
         <md-tab-label>
-          <span translate="CONTACTMANAGER.CUSTOMER_JOURNEY"
-            >CUSTOMER JOURNEY</span
-          >
+          <span translate="APP.CUSTOMER_JOURNEY">CUSTOMER JOURNEY</span>
         </md-tab-label>
 
         <md-tab-body>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/contacts/import/import.html/import.html b/public/src/js/modules/main/apps/contactmanager/views/contacts/import/import.html/import.html
index 5451e7c..07d6bd8 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/contacts/import/import.html/import.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/contacts/import/import.html/import.html
@@ -27,7 +27,8 @@
         ng-disabled="!vm.processing || vm.result.finish"
         md-mode="indeterminate"
         class="md-warn"
-      ></md-progress-linear>
+      >
+      </md-progress-linear>
     </div>
 
     <md-dialog-content ms-scroll>
@@ -54,7 +55,7 @@
 
       <div>
         <md-content ng-show="!vm.processing">
-          <div class="form-title" translate="CONTACTMANAGER.CONTACTMANAGER">
+          <div class="form-title" translate="APP.CONTACTMANAGER">
             CONTACT MANAGER
           </div>
 
@@ -76,13 +77,13 @@
                 >{{ field }}</md-option
               <md-option ng-value="null" ng-hide="contactField.required">
-                <em>{{ 'CONTACTMANAGER.NONE' | translate }}</em>
+                <em>{{ 'APP.NONE' | translate }}</em>
               </md-option>
             </md-select>
           </md-input-container>
 
           <md-input-container class="md-icon-float md-block">
-            <label translate="CONTACTMANAGER.LIST">List</label>
+            <label translate="APP.LIST">List</label>
             <md-select
               name="list"
               ng-model="vm.ListId"
@@ -110,13 +111,13 @@
                 >{{ field }}</md-option
               <md-option ng-value="null" ng-hide="customField.required">
-                <em>{{ 'CONTACTMANAGER.NONE' | translate }}</em>
+                <em>{{ 'APP.NONE' | translate }}</em>
               </md-option>
             </md-select>
           </md-input-container>
 
           <md-input-container class="md-icon-float md-block">
-            <label translate="CONTACTMANAGER.COMPANY">Company</label>
+            <label translate="APP.COMPANY">Company</label>
             <md-select
               name="company"
               ng-model="vm.CompanyId"
@@ -128,7 +129,7 @@
                 >{{company.name}}</md-option
               >
               <md-option ng-value="null">
-                <em translate="CONTACTMANAGER.NONE">None</em>
+                <em translate="APP.NONE">None</em>
               </md-option>
             </md-select>
           </md-input-container>
@@ -149,7 +150,7 @@
           </md-input-container>
 
           <div ng-if="vm.license.dialer">
-            <div class="form-title" translate="CONTACTMANAGER.MOTIONDIALER">
+            <div class="form-title" translate="APP.MOTIONDIALER">
               MOTION BULL
             </div>
 
@@ -171,7 +172,7 @@
                   >{{ field }}</md-option
                 <md-option ng-value="null" ng-hide="contactField.required">
-                  <em>{{ 'CONTACTMANAGER.NONE' | translate }}</em>
+                  <em>{{ 'APP.NONE' | translate }}</em>
                 </md-option>
               </md-select>
             </md-input-container>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/create/dialog.html/dialog.html
index 786edfd..3667b54 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.ALIAS">Alias</label>
+        <label translate="APP.ALIAS">Alias</label>
         <input
           type=""
           name="alias"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.ALIAS_REQUIRED"
+            <span translate="APP.ERRORS.ALIAS_REQUIRED"
               >Alias field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.globalCustomField.type"
@@ -79,7 +79,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -92,9 +92,7 @@
               class="md-fab md-mini md-secondary"
               ng-click="vm.addItem(vm.globalCustomField.values);"
-              <md-tooltip
-                ><span translate="CONTACTMANAGER.ADD">ADD</span></md-tooltip
-              >
+              <md-tooltip><span translate="APP.ADD">ADD</span></md-tooltip>
               <md-icon
                 md-font-icon="icon-plus"
                 aria-label="alert error"
@@ -137,9 +135,7 @@
               ng-click="vm.removeItem(vm.globalCustomField.values, $index);"
               <md-tooltip
-                ><span translate="CONTACTMANAGER.DELETE"
-                  >DELETE</span
-                ></md-tooltip
+                ><span translate="APP.DELETE">DELETE</span></md-tooltip
               <md-icon
                 md-font-icon="icon-delete"
@@ -235,8 +231,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="globalCustomFieldForm.$invalid || globalCustomFieldForm.$pristine"
           aria-label="SAVE"
-          translate="CONTACTMANAGER.SAVE"
-          translate-attr-aria-label="CONTACTMANAGER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -261,12 +257,10 @@
           ng-click="vm.deleteGlobalCustomField($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CONTACTMANAGER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CONTACTMANAGER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/globalCustomFields.html/globalCustomFields.html b/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/globalCustomFields.html/globalCustomFields.html
index 884bacf..e98333a 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/globalCustomFields.html/globalCustomFields.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/globalCustomFields/globalCustomFields.html/globalCustomFields.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="CONTACTMANAGER.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CONTACTMANAGER.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-globalCustomFields-count">
           <span>{{vm.selectedGlobalCustomFields.length}}</span>
-          <span translate="CONTACTMANAGER.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllGlobalCustomFields()"
-                translate="CONTACTMANAGER.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectGlobalCustomFields()"
-                translate="CONTACTMANAGER.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedGlobalCustomFields($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CONTACTMANAGER.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,14 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'CONTACTMANAGER.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="alias">
-                  {{ 'CONTACTMANAGER.ALIAS' | translate }}
+                  {{ 'APP.ALIAS' | translate }}
                 </th>
                 <th md-column md-order-by="type">
-                  {{ 'CONTACTMANAGER.TYPE' | translate }}
+                  {{ 'APP.TYPE' | translate }}
                 </th>
                 <th md-column md-order-by="required">
                   {{ 'CONTACTMANAGER.REQUIRED' | translate }}
@@ -171,7 +169,7 @@
               <tr md-row ng-hide="vm.globalCustomFields.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -242,7 +240,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CONTACTMANAGER.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -290,7 +288,8 @@
           md-total="{{vm.globalCustomFields.count}}"
           md-on-paginate="vm.getGlobalCustomFields"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / GLOBALCUSTOMFIELD TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/contactmanager/views/lists/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/contactmanager/views/lists/create/dialog.html/dialog.html
index 955a693..93aacaa 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/lists/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/lists/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.list.description" />
 
         <div
@@ -111,8 +111,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="listForm.$invalid || listForm.$pristine"
           aria-label="SAVE"
-          translate="CONTACTMANAGER.SAVE"
-          translate-attr-aria-label="CONTACTMANAGER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -137,12 +137,10 @@
           ng-click="vm.deleteList($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CONTACTMANAGER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CONTACTMANAGER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/lists/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/contactmanager/views/lists/edit/agentadd/agentadd.html/agentadd.html
index cde3c90..66d5314 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/lists/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/lists/edit/agentadd/agentadd.html/agentadd.html
@@ -30,8 +30,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/lists/edit/customFields/dialog.html/dialog.html b/public/src/js/modules/main/apps/contactmanager/views/lists/edit/customFields/dialog.html/dialog.html
index bb1b0d3..2eff10d 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/lists/edit/customFields/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/lists/edit/customFields/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.ALIAS">Alias</label>
+        <label translate="APP.ALIAS">Alias</label>
         <input
           type=""
           name="alias"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.ALIAS_REQUIRED"
+            <span translate="APP.ERRORS.ALIAS_REQUIRED"
               >Alias field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="CONTACTMANAGER.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.customField.type"
@@ -79,7 +79,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="CONTACTMANAGER.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -92,9 +92,7 @@
               class="md-fab md-mini md-secondary"
               ng-click="vm.addItem(vm.customField.values);"
-              <md-tooltip
-                ><span translate="CONTACTMANAGER.ADD">ADD</span></md-tooltip
-              >
+              <md-tooltip><span translate="APP.ADD">ADD</span></md-tooltip>
               <md-icon
                 md-font-icon="icon-plus"
                 aria-label="alert error"
@@ -137,9 +135,7 @@
               ng-click="vm.removeItem(vm.customField.values, $index);"
               <md-tooltip
-                ><span translate="CONTACTMANAGER.DELETE"
-                  >DELETE</span
-                ></md-tooltip
+                ><span translate="APP.DELETE">DELETE</span></md-tooltip
               <md-icon
                 md-font-icon="icon-delete"
@@ -230,8 +226,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="customFieldForm.$invalid || customFieldForm.$pristine"
           aria-label="SAVE"
-          translate="CONTACTMANAGER.SAVE"
-          translate-attr-aria-label="CONTACTMANAGER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -256,12 +252,10 @@
           ng-click="vm.deleteCustomField($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="CONTACTMANAGER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="CONTACTMANAGER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/contactmanager/views/lists/edit/view.html/view.html b/public/src/js/modules/main/apps/contactmanager/views/lists/edit/view.html/view.html
index 9e52720..6d7b23a 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/lists/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/lists/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.list.name">{{vm.list.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="CONTACTMANAGER.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.list.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -62,8 +62,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (customFieldsForm.$invalid) || (voiceDispositionsForm.$invalid)"
-        translate="CONTACTMANAGER.SAVE"
-        translate-attr-aria-label="CONTACTMANAGER.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -82,20 +82,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="CONTACTMANAGER.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="list-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="CONTACTMANAGER.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -111,16 +111,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CONTACTMANAGER.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.DESCRIPTION"
-                  >Description</label
-                >
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -141,7 +139,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="CONTACTMANAGER.PREFIX">Prefix</label>
+                <label translate="APP.PREFIX">Prefix</label>
                 <input
                   type="text"
                   name="dialPrefix"
@@ -155,7 +153,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="CONTACTMANAGER.ERRORS.PREFIX_REQUIRED"
+                    <span translate="APP.ERRORS.PREFIX_REQUIRED"
                       >Prefix field is required</span
                     >
                   </div>
@@ -231,7 +229,7 @@
                     ng-click="vm_dc.deleteSelectedListCustomFields($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="CONTACTMANAGER.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -252,13 +250,13 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'CONTACTMANAGER.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="alias">
-                        {{ 'CONTACTMANAGER.ALIAS' | translate }}
+                        {{ 'APP.ALIAS' | translate }}
                       </th>
                       <th md-column md-order-by="type">
-                        {{ 'CONTACTMANAGER.TYPE' | translate }}
+                        {{ 'APP.TYPE' | translate }}
                       </th>
                       <th md-column md-order-by="required">
                         {{ 'CONTACTMANAGER.REQUIRED' | translate }}
@@ -312,7 +310,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="CONTACTMANAGER.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -365,14 +363,15 @@
                 md-total="{{vm_dc.listCustomFields.count}}"
                 md-on-paginate="vm_dc.getListCustomFields"
                 md-page-select
-              ></md-table-pagination>
+              >
+              </md-table-pagination>
             </div>
           </div>
         </md-tab-body>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="CONTACTMANAGER.DISPOSITIONS">DISPOSITIONS</span>
+          <span translate="APP.DISPOSITIONS">DISPOSITIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -409,7 +408,7 @@
                         ng-change="vm_dc.getDispositions()"
                         <md-option ng-value="null"
-                          ><em translate="TOOLS.ALL">All</em></md-option
+                          ><em translate="APP.ALL">All</em></md-option
                         <md-option
                           ng-value="key"
@@ -430,9 +429,7 @@
                   ng-hide="vm_dc.selectedListDispositions.length"
                   <div class="md-toolbar-tools">
-                    <span
-                      class="md-subhead"
-                      translate="CONTACTMANAGER.DISPOSITIONS"
+                    <span class="md-subhead" translate="APP.DISPOSITIONS"
                       >Dispositions</span
                     <ms-search-bar
@@ -479,7 +476,7 @@
                       ng-click="vm_dc.deleteSelectedDispositions($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="CONTACTMANAGER.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -500,16 +497,16 @@
                       <tr md-row>
                         <th md-column md-order-by="id">
-                          {{ 'CONTACTMANAGER.ID' | translate }}
+                          {{ 'APP.ID' | translate }}
                         </th>
                         <th md-column md-order-by="level">
                           {{ 'TOOLS.LEVEL' | translate }}
                         </th>
                         <th md-column md-order-by="name">
-                          {{ 'CONTACTMANAGER.NAME' | translate }}
+                          {{ 'APP.NAME' | translate }}
                         </th>
                         <th md-column md-order-by="description">
-                          {{ 'CONTACTMANAGER.DESCRIPTION' | translate }}
+                          {{ 'APP.DESCRIPTION' | translate }}
                         </th>
                         <th md-column width="10px"></th>
                       </tr>
@@ -518,7 +515,7 @@
                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
                         <td md-cell colspan="5">
                           <div layout="row" layout-align="center center">
-                            <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                            <span translate="APP.NO_AVAILABLE_INFO"
                               >No Available Info</span
                           </div>
@@ -568,7 +565,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="CONTACTMANAGER.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
diff --git a/public/src/js/modules/main/apps/contactmanager/views/lists/lists.html/lists.html b/public/src/js/modules/main/apps/contactmanager/views/lists/lists.html/lists.html
index f2da953..3a7ed22 100644
--- a/public/src/js/modules/main/apps/contactmanager/views/lists/lists.html/lists.html
+++ b/public/src/js/modules/main/apps/contactmanager/views/lists/lists.html/lists.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="CONTACTMANAGER.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedLists =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="CONTACTMANAGER.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-lists-count">
           <span>{{vm.selectedLists.length}}</span>
-          <span translate="CONTACTMANAGER.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllLists()"
-                translate="CONTACTMANAGER.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectLists()"
-                translate="CONTACTMANAGER.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedLists($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="CONTACTMANAGER.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -143,14 +143,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'CONTACTMANAGER.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'CONTACTMANAGER.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'CONTACTMANAGER.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -159,7 +157,7 @@
               <tr md-row ng-hide="vm.lists.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="CONTACTMANAGER.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -216,7 +214,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="CONTACTMANAGER.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/dashboards/views/custom/custom.html/custom.html b/public/src/js/modules/main/apps/dashboards/views/custom/custom.html/custom.html
index 7656140..5b74253 100644
--- a/public/src/js/modules/main/apps/dashboards/views/custom/custom.html/custom.html
+++ b/public/src/js/modules/main/apps/dashboards/views/custom/custom.html/custom.html
@@ -22,8 +22,8 @@
             <md-option
               ng-value="voiceQueue.id"
               ng-repeat="voiceQueue in vm.voiceQueues.rows"
-              >{{ voiceQueue.name }}</md-option
-            >
+              >{{ voiceQueue.name }}
+            </md-option>
           </md-select>
         </div>
         <md-button
@@ -33,7 +33,7 @@
           aria-label="goToEdit"
           <md-tooltip md-direction="top"
-            ><span translate="DASHBOARDS.EDIT"></span
+            ><span translate="APP.EDIT"></span
           ></md-tooltip>
           <md-icon md-font-icon="icon-table-edit"></md-icon>
         </md-button>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/dispose/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/dispose/dialog.html/dialog.html
index 398d39d..cab5c94 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/dispose/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/dispose/dialog.html/dialog.html
@@ -22,7 +22,7 @@
     <md-dialog-content ms-scroll>
       <div ng-if="!vm.isReschedule">
         <md-input-container class="md-block">
-          <label translate="DASHBOARDS.DISPOSITION">Disposition</label>
+          <label translate="APP.DISPOSITION">Disposition</label>
           <md-select
             name="disposition"
             ng-model="vm.firstLevelDisposition"
@@ -48,7 +48,7 @@
             role="alert"
             <div ng-message="required">
-              <span translate="DASHBOARDS.ERRORS.DISPOSITION_REQUIRED"
+              <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
                 >Disposition field is required</span
               >
             </div>
@@ -135,7 +135,7 @@
           </md-button>
         </div>
         <md-input-container class="md-block">
-          <label translate="DASHBOARDS.NOTE">Note</label>
+          <label translate="APP.NOTE">Note</label>
           <textarea
             ng-model="vm.note"
             md-maxlength="255"
@@ -205,7 +205,7 @@
           </div>
         </div>
         <md-input-container ng-if="!vm.dialerCall" class="md-block">
-          <label translate="DASHBOARDS.CAMPAIGN">Campaign</label>
+          <label translate="APP.CAMPAIGN">Campaign</label>
           <md-select name="queueCampaign" ng-model="vm.queueCampaign" required>
             <md-option
               ng-value="queueCampaign"
@@ -235,8 +235,8 @@
         class="send-button md-raised md-accent"
         ng-click="vm.saveDisposition()"
-        {{(vm.selectedDisposition.name ? 'DASHBOARDS.DISPOSE' :
-        'DASHBOARDS.SAVE') | translate}}
+        {{(vm.selectedDisposition.name ? 'DASHBOARDS.DISPOSE' : 'APP.SAVE') |
+        translate}}
       </md-button>
       <md-button
         class="send-button md-raised md-primary"
@@ -247,7 +247,7 @@
       </md-button>
       <md-button
         class="send-button md-accent md-raised"
-        translate="DASHBOARDS.RECALLME"
+        translate="APP.RECALLME"
         ng-click="vm.saveDisposition('recallme')"
         Recall Me
@@ -256,7 +256,7 @@
       <md-button
         ng-if="vm.hasBlackLists"
         class="md-raised md-warn"
-        translate="DASHBOARDS.BLACKLIST"
+        translate="APP.BLACKLIST"
         ng-click="vm.saveDisposition('blacklist')"
         Blacklist
@@ -274,8 +274,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="disposition.$invalid || disposition.$pristine || vm.disable"
           aria-label="SAVE"
-          translate="DASHBOARDS.SAVE"
-          translate-attr-aria-label="DASHBOARDS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/selection/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/selection/dialog.html/dialog.html
index 39935a7..35fec8a 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/selection/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/contact/selection/dialog.html/dialog.html
@@ -54,8 +54,8 @@
                 contact.updatedAt }}</em
               <span class="font-size-12"
-                >{{ 'DASHBOARDS.LIST' | translate }}: {{
-                vm.lists[contact.ListId] }}</span
+                >{{ 'APP.LIST' | translate }}: {{ vm.lists[contact.ListId]
+                }}</span
             </md-card-title-text>
             <md-button class="md-icon-button no-margin" aria-label="Selected">
@@ -96,8 +96,8 @@
         <md-icon md-font-icon="icon-chevron-double-left"></md-icon>
       </md-button>
       <span
-        >{{ 'DASHBOARDS.PAGE' | translate }} {{ vm.page }} {{ 'DASHBOARDS.OF' |
-        translate }} {{ vm.paginatedContacts.length }}</span
+        >{{ 'APP.PAGE' | translate }} {{ vm.page }} {{ 'APP.OF' | translate }}
+        {{ vm.paginatedContacts.length }}</span
       <md-button
         ng-click="vm.page = vm.page + 1;"
@@ -113,8 +113,8 @@
       class="select-button md-accent md-raised"
       ng-disabled="!vm.selectedContact"
       aria-label="Select"
-      translate="DASHBOARDS.SELECT"
-      translate-attr-aria-label="DASHBOARDS.SELECT"
+      translate="APP.SELECT"
+      translate-attr-aria-label="APP.SELECT"
       SELECT
     </md-button>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/home/abandoned/dispose/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/home/abandoned/dispose/dialog.html/dialog.html
index 379baf8..299beb9 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/home/abandoned/dispose/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/home/abandoned/dispose/dialog.html/dialog.html
@@ -18,7 +18,7 @@
     <md-dialog-content ms-scroll>
       <div>
         <md-input-container class="md-block">
-          <label translate="DASHBOARDS.DISPOSITION">Disposition</label>
+          <label translate="APP.DISPOSITION">Disposition</label>
           <md-select
             name="disposition"
             ng-model="vm.firstLevelDisposition"
@@ -44,7 +44,7 @@
             role="alert"
             <div ng-message="required">
-              <span translate="DASHBOARDS.ERRORS.DISPOSITION_REQUIRED"
+              <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
                 >Disposition field is required</span
               >
             </div>
@@ -131,7 +131,7 @@
           </md-button>
         </div>
         <md-input-container class="md-block">
-          <label translate="DASHBOARDS.NOTE">Note</label>
+          <label translate="APP.NOTE">Note</label>
           <textarea
             ng-model="vm.note"
             md-maxlength="255"
@@ -148,8 +148,8 @@
           class="send-button md-raised md-accent"
           ng-click="vm.saveDisposition()"
-          {{(vm.selectedDisposition.name ? 'DASHBOARDS.DISPOSE' :
-          'DASHBOARDS.SAVE') | translate}}
+          {{(vm.selectedDisposition.name ? 'DASHBOARDS.DISPOSE' : 'APP.SAVE') |
+          translate}}
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/home/voice/details/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/home/voice/details/dialog.html/dialog.html
index e5628fe..880bffb 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/home/voice/details/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/home/voice/details/dialog.html/dialog.html
@@ -8,7 +8,7 @@
       <span
         ng-if="!vm.interaction.closed"
         class="title"
-        translate="VOICE.DETAILS"
+        translate="APP.DETAILS"
       ></span>
       <md-button class="md-icon-button" ng-click="vm.closeDialog()">
         <md-icon md-font-icon="icon-close" aria-label="Close dialog"></md-icon>
@@ -20,35 +20,35 @@
     <md-list flex>
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.UNIQUEID">Uniqueid</p>
+          <p translate="APP.UNIQUEID">Uniqueid</p>
           <h4>{{vm.call.uniqueid}}</h4>
         </div>
       </md-list-item>
 
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.TYPE">Type</p>
+          <p translate="APP.TYPE">Type</p>
           <h4>{{vm.call.type ? vm.call.type : 'no type'}}</h4>
         </div>
       </md-list-item>
 
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.SOURCE">Source</p>
+          <p translate="APP.SOURCE">Source</p>
           <h4>{{vm.call.source ? vm.call.source : 'unknown'}}</h4>
         </div>
       </md-list-item>
 
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.DESTINATION">Destination</p>
+          <p translate="APP.DESTINATION">Destination</p>
           <h4>{{vm.call.destination ? vm.call.destination : 'unknown'}}</h4>
         </div>
       </md-list-item>
 
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.STARTEDAT">Started At</p>
+          <p translate="APP.STARTEDAT">Started At</p>
           <h4>{{vm.call.starttime | date:'medium'}}</h4>
         </div>
       </md-list-item>
@@ -73,7 +73,7 @@
 
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.DURATION">Duration</p>
+          <p translate="APP.DURATION">Duration</p>
           <h4>{{vm.call.duration ? vm.call.duration : '--'}}s</h4>
         </div>
       </md-list-item>
@@ -87,7 +87,7 @@
 
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.DISPOSITION">Disposition</p>
+          <p translate="APP.DISPOSITION">Disposition</p>
           <h4>{{vm.call.userDisposition ? vm.call.userDisposition : '--'}}</h4>
         </div>
       </md-list-item>
@@ -118,7 +118,7 @@
 
       <md-list-item class="md-2-line">
         <div class="md-list-item-text">
-          <p translate="VOICE.NOTE">Note</p>
+          <p translate="APP.NOTE">Note</p>
           <h4>{{vm.call.note ? vm.call.note : '--'}}</h4>
         </div>
       </md-list-item>
@@ -131,7 +131,7 @@
       ng-click="vm.closeDialog()"
       class="send-button md-accent md-raised"
       aria-label="DISPOSE"
-      translate="VOICE.CLOSE"
+      translate="APP.CLOSE"
       translate-attr-aria-label="VOICE.DISPOSE"
       CLOSE
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeFax/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeFax/dialog.html/dialog.html
index 97083af..732afa6 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeFax/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeFax/dialog.html/dialog.html
@@ -12,7 +12,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Send message"
-            <span translate="FAX.SEND">SEND</span>
+            <span translate="APP.SEND">SEND</span>
           </md-button>
           <md-button
             ng-disabled="vm.message.attachments.length === 1"
@@ -44,7 +44,7 @@
 
     <md-dialog-content ms-scroll>
       <md-input-container class="md-block to">
-        <label translate="FAX.TO">To</label>
+        <label translate="APP.TO">To</label>
         <md-chips
           name="to"
           ng-model="vm.message.to"
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeMail/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeMail/dialog.html/dialog.html
index d4b467a..dad6207 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeMail/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeMail/dialog.html/dialog.html
@@ -25,7 +25,7 @@
               ng-disabled="!vm.verifySmtp"
               ng-click="vm.send($event, false, null)"
-              <span>{{ 'MAIL.SEND' | translate | uppercase }}</span>
+              <span>{{ 'APP.SEND' | translate | uppercase }}</span>
             </button>
             <span class="white-fg secondary-text vertical-divider"></span>
             <md-menu>
@@ -34,7 +34,7 @@
                 class="white-fg margin-left-0"
                 aria-label="More"
                 translate
-                translate-attr-aria-label="STAFF.MORE"
+                translate-attr-aria-label="APP.MORE"
                 ng-click="$mdMenu.open($event)"
                 <md-icon
@@ -94,7 +94,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Send message"
-            <span translate="MAIL.ADD_NOTE">Add note</span>
+            <span translate="APP.ADD_NOTE">Add note</span>
           </md-button>
           <md-button
             ng-disabled="!vm.verifySmtp"
@@ -150,7 +150,7 @@
         class="md-block to"
         ng-class="{'hidden-cc': vm.hiddenCC, 'hidden-bcc': vm.hiddenBCC}"
-        <label translate="MAIL.TO">To</label>
+        <label translate="APP.TO">To</label>
         <md-chips
           name="to"
           ng-model="vm.message.to"
@@ -251,7 +251,7 @@
       </md-input-container>
 
       <md-input-container ng-if="!vm.secret" class="md-block no-margin">
-        <label translate="MAIL.SUBJECT">Subject</label>
+        <label translate="APP.SUBJECT">Subject</label>
         <input ng-model="vm.message.subject" type="text" />
       </md-input-container>
 
@@ -315,7 +315,7 @@
         md-items="item in vm.searchTextChange(vm.searchText)"
         md-item-text="item.value"
         md-min-length="1"
-        md-floating-label="{{ 'MAIL.CANNED_ANSWER_SEARCH' | translate}}"
+        md-floating-label="{{ 'APP.CANNED_ANSWER_SEARCH' | translate}}"
         class="input-show-hide no-container-margin"
         <md-item-template>
@@ -331,14 +331,15 @@
             md-font-icon="icon-email"
             aria-label="alert email"
             class="s16 teal-fg"
-          ></md-icon>
+          >
+          </md-icon>
           <span md-highlight-text="vm.searchText" md-highlight-flags="^i"
             >{{ item.key }} - {{ item.value | htmlToPlaintext }}</span
           >
         </md-item-template>
 
         <md-not-found>
-          <span translate="MAIL.CANNED_ANSWER_NOT_FOUND"
+          <span translate="APP.CANNED_ANSWER_NOT_FOUND"
             >No canned answers were found</span
           >
         </md-not-found>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeOpenchannel/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeOpenchannel/dialog.html/dialog.html
index 824abc9..3c83d0c 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeOpenchannel/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeOpenchannel/dialog.html/dialog.html
@@ -13,7 +13,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Send message"
-            <span translate="OPENCHANNEL.SEND">SEND</span>
+            <span translate="APP.SEND">SEND</span>
           </md-button>
           <md-button
             ng-if="vm.secret"
@@ -21,7 +21,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Add note"
-            <span translate="OPENCHANNEL.ADD_NOTE">Add note</span>
+            <span translate="APP.ADD_NOTE">Add note</span>
           </md-button>
         </div>
         <span ng-if="!vm.secret" class="title">{{vm.message.from}}</span>
@@ -60,7 +60,7 @@
       </div>
 
       <md-input-container ng-if="!vm.secret" class="md-block to">
-        <label translate="OPENCHANNEL.TO">To</label>
+        <label translate="APP.TO">To</label>
         <md-chips
           name="to"
           ng-model="vm.message.to"
@@ -108,7 +108,7 @@
         md-items="item in vm.searchTextChange(vm.searchText)"
         md-item-text="item.value"
         md-min-length="1"
-        md-floating-label="{{ 'OPENCHANNEL.CANNED_ANSWER_SEARCH' | translate}}"
+        md-floating-label="{{ 'APP.CANNED_ANSWER_SEARCH' | translate}}"
         class="input-show-hide no-container-margin"
         <md-item-template>
@@ -130,7 +130,7 @@
         </md-item-template>
 
         <md-not-found>
-          <span translate="OPENCHANNEL.CANNED_ANSWER_NOT_FOUND"
+          <span translate="APP.CANNED_ANSWER_NOT_FOUND"
             >No canned answers were found</span
           >
         </md-not-found>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeSms/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeSms/dialog.html/dialog.html
index 3c8724d..6e37e76 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeSms/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeSms/dialog.html/dialog.html
@@ -13,7 +13,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Send message"
-            <span translate="SMS.SEND">SEND</span>
+            <span translate="APP.SEND">SEND</span>
           </md-button>
           <md-button
             ng-if="vm.secret"
@@ -21,7 +21,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Add note"
-            <span translate="SMS.ADD_NOTE">Add note</span>
+            <span translate="APP.ADD_NOTE">Add note</span>
           </md-button>
         </div>
         <span ng-if="!vm.secret" class="title">{{vm.message.from}}</span>
@@ -60,7 +60,7 @@
       </div>
 
       <md-input-container ng-if="!vm.secret" class="md-block to">
-        <label translate="SMS.TO">To</label>
+        <label translate="APP.TO">To</label>
         <md-chips
           name="to"
           ng-model="vm.message.to"
@@ -106,7 +106,7 @@
         md-items="item in vm.searchTextChange(vm.searchText)"
         md-item-text="item.value"
         md-min-length="1"
-        md-floating-label="{{ 'SMS.CANNED_ANSWER_SEARCH' | translate}}"
+        md-floating-label="{{ 'APP.CANNED_ANSWER_SEARCH' | translate}}"
         class="input-show-hide no-container-margin"
         <md-item-template>
@@ -128,7 +128,7 @@
         </md-item-template>
 
         <md-not-found>
-          <span translate="SMS.CANNED_ANSWER_NOT_FOUND"
+          <span translate="APP.CANNED_ANSWER_NOT_FOUND"
             >No canned answers were found</span
           >
         </md-not-found>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeWhatsapp/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeWhatsapp/dialog.html/dialog.html
index b2f621b..5a73f87 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeWhatsapp/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/composeWhatsapp/dialog.html/dialog.html
@@ -13,7 +13,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Send message"
-            <span translate="WHATSAPP.SEND">SEND</span>
+            <span translate="APP.SEND">SEND</span>
           </md-button>
           <md-button
             ng-if="vm.secret"
@@ -21,7 +21,7 @@
             class="md-raised md-blue-bg white-fg"
             aria-label="Add note"
-            <span translate="WHATSAPP.ADD_NOTE">Add note</span>
+            <span translate="APP.ADD_NOTE">Add note</span>
           </md-button>
         </div>
         <span ng-if="!vm.secret" class="title">{{vm.message.from}}</span>
@@ -60,7 +60,7 @@
       </div>
 
       <md-input-container ng-if="!vm.secret" class="md-block to">
-        <label translate="WHATSAPP.TO">To</label>
+        <label translate="APP.TO">To</label>
         <md-chips
           name="to"
           ng-model="vm.message.to"
@@ -108,7 +108,7 @@
         md-items="item in vm.searchTextChange(vm.searchText)"
         md-item-text="item.value"
         md-min-length="1"
-        md-floating-label="{{ 'WHATSAPP.CANNED_ANSWER_SEARCH' | translate}}"
+        md-floating-label="{{ 'APP.CANNED_ANSWER_SEARCH' | translate}}"
         class="input-show-hide no-container-margin"
         <md-item-template>
@@ -117,7 +117,8 @@
             md-font-icon="icon-earth"
             aria-label="alert whatsapp"
             class="s16"
-          ></md-icon>
+          >
+          </md-icon>
           <md-icon
             ng-if="item.WhatsappAccountId"
             md-font-icon="icon-message-text"
@@ -130,7 +131,7 @@
         </md-item-template>
 
         <md-not-found>
-          <span translate="WHATSAPP.CANNED_ANSWER_NOT_FOUND"
+          <span translate="APP.CANNED_ANSWER_NOT_FOUND"
             >No canned answers were found</span
           >
         </md-not-found>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/dispose/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/dispose/dialog.html/dialog.html
index 90299fe..435155f 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/dispose/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/dispose/dialog.html/dialog.html
@@ -18,7 +18,7 @@
         <span
           ng-if="vm.interaction.closed"
           class="title"
-          translate="DASHBOARDS.INFO"
+          translate="APP.INFO"
         ></span>
         <md-button
           class="md-icon-button"
@@ -54,7 +54,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="DASHBOARDS.DISPOSITION">Disposition</label>
+        <label translate="APP.DISPOSITION">Disposition</label>
         <md-select
           name="disposition"
           ng-model="vm.firstLevelDisposition"
@@ -77,7 +77,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="DASHBOARDS.ERRORS.DISPOSITION_REQUIRED"
+            <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
               >Disposition field is required</span
             >
           </div>
@@ -151,7 +151,7 @@
         </md-button>
       </div>
       <md-input-container class="md-block">
-        <label translate="DASHBOARDS.NOTE">Note</label>
+        <label translate="APP.NOTE">Note</label>
         <textarea
           ng-model="vm.interaction.note"
           md-maxlength="255"
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/tag/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/tag/dialog.html/dialog.html
index eee2393..86dd040 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/tag/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/tag/dialog.html/dialog.html
@@ -6,7 +6,7 @@
         layout="row"
         layout-align="space-between center"
-        <span class="title" translate="DASHBOARDS.TAGS"></span>
+        <span class="title" translate="APP.TAGS"></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
             md-font-icon="icon-close"
@@ -93,8 +93,8 @@
           ng-disabled="tagForm.$pristine"
           class="send-button md-accent md-raised"
           aria-label="TAG"
-          translate="DASHBOARDS.SAVE"
-          translate-attr-aria-label="DASHBOARDS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/transfer/dialog.html/dialog.html b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/transfer/dialog.html/dialog.html
index 3c8229a..768d8f1 100644
--- a/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/transfer/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/dashboards/views/general/agent/interaction/transfer/dialog.html/dialog.html
@@ -6,7 +6,7 @@
         layout="row"
         layout-align="space-between center"
-        <span class="title" translate="DASHBOARDS.TRANSFER"></span>
+        <span class="title" translate="APP.TRANSFER"></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog(false)">
           <md-icon
             md-font-icon="icon-close"
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="DASHBOARDS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.transfer.type" required>
           <md-option ng-value="'queue'" ng-if="vm.account.queueTransfer"
             >Queue</md-option
@@ -54,7 +54,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="DASHBOARDS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -62,7 +62,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.transfer.type === 'queue'">
-        <label translate="DASHBOARDS.QUEUES">Queues</label>
+        <label translate="APP.QUEUES">Queues</label>
         <md-select name="queue" ng-model="vm.transfer.id" required>
           <md-option ng-value="queue.id" ng-repeat="queue in vm.queues.rows"
             >{{ queue.name }}</md-option
@@ -74,7 +74,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="DASHBOARDS.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
@@ -82,13 +82,14 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.transfer.type === 'agent'">
-        <label translate="DASHBOARDS.AGENTS">Agents</label>
+        <label translate="APP.AGENTS">Agents</label>
         <md-select name="agent" ng-model="vm.transfer.id" required>
           <md-option
             ng-value="agent.id"
             ng-repeat="agent in vm.agents.rows"
             ng-if="vm.currentUser.id != agent.id"
-            >{{ agent.name }}</md-option
+          >
+            {{ agent.name }}</md-option
         </md-select>
         <div
@@ -97,7 +98,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="DASHBOARDS.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
@@ -135,8 +136,8 @@
           ng-disabled="transferForm.$pristine"
           class="send-button md-accent md-raised"
           aria-label="DASHBOARDS.TRANSFER"
-          translate="DASHBOARDS.TRANSFER"
-          translate-attr-aria-label="DASHBOARDS.TRANSFER"
+          translate="APP.TRANSFER"
+          translate-attr-aria-label="APP.TRANSFER"
           TRANSFER
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/create/dialog.html/dialog.html
index 8364f62..5365417 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.KEY">key</label>
+        <label translate="APP.KEY">key</label>
         <input
           type="text"
           name="key"
@@ -75,13 +75,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >key field is required</span
             >
           </div>
           <div ng-message="md-maxlength">
             <span
-              translate="FAX.ERRORS.KEY_MAX_LENGTH"
+              translate="APP.ERRORS.KEY_MAX_LENGTH"
               translate-values="{max: 5}"
               >key must have a maximum length equal to 5</span
             >
@@ -89,13 +89,14 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.TRUNK">trunk</label>
+        <label translate="APP.TRUNK">trunk</label>
         <md-select name="TrunkId" ng-model="vm.faxAccount.TrunkId" required>
           <md-option
             ng-value="TrunkId.id"
             ng-repeat="TrunkId in vm.trunks"
             ng-disabled="TrunkId.canSelect === false"
-            >{{ TrunkId.name }}</md-option
+          >
+            {{ TrunkId.name }}</md-option
         </md-select>
         <div
@@ -104,7 +105,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.TRUNK_REQUIRED"
+            <span translate="APP.ERRORS.TRUNK_REQUIRED"
               >trunk field is required</span
             >
           </div>
@@ -135,13 +136,14 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select name="ListId" ng-model="vm.faxAccount.ListId" required>
           <md-option
             ng-value="ListId.id"
             ng-repeat="ListId in vm.lists"
             ng-disabled="ListId.canSelect === false"
-            >{{ ListId.name }}</md-option
+          >
+            {{ ListId.name }}</md-option
         </md-select>
         <div
@@ -150,14 +152,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -212,8 +214,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountForm.$invalid || faxAccountForm.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -238,10 +240,10 @@
           ng-click="vm.deleteFaxAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="FAX.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="FAX.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/agentadd/agentadd.html/agentadd.html
index 489aa1c..795c1e1 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/agentadd/agentadd.html/agentadd.html
@@ -34,8 +34,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/agent/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/agent/dialog.html/dialog.html
index e011007..cec7012 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/agent/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/agent/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select
           name="agent"
           ng-model="vm.agent.agent"
@@ -50,7 +50,8 @@
             ng-value="agent.name"
             ng-repeat="agent in vm.agents"
             ng-disabled="agent.canSelect === false"
-            >{{ agent.name }}</md-option
+          >
+            {{ agent.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="FAX.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="FAX.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/close/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/close/dialog.html/dialog.html
index 00ee0ec..46ae721 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/close/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/close/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.DISPOSITION">Disposition</label>
+        <label translate="APP.DISPOSITION">Disposition</label>
         <input
           type="text"
           name="disposition"
@@ -54,7 +54,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.DISPOSITION_REQUIRED"
+            <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
               >Disposition field is required</span
             >
           </div>
@@ -95,8 +95,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotoif/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotoif/dialog.html/dialog.html
index f248839..7ffa1eb 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotoif/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotoif/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.CONDITION">Condition</label>
+        <label translate="APP.CONDITION">Condition</label>
         <input
           type="text"
           name="condition"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.CONDITION_REQUIRED"
+            <span translate="APP.ERRORS.CONDITION_REQUIRED"
               >Condition field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.TRUEPRIORITY">truepriority</label>
+        <label translate="APP.TRUEPRIORITY">truepriority</label>
         <input
           type="number"
           name="truepriority"
@@ -77,13 +77,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.TRUEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.TRUEPRIORITY_REQUIRED"
               >truepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="FAX.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >truepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -91,7 +91,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.FALSEPRIORITY">falsepriority</label>
+        <label translate="APP.FALSEPRIORITY">falsepriority</label>
         <input
           type="number"
           name="falsepriority"
@@ -107,13 +107,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.FALSEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.FALSEPRIORITY_REQUIRED"
               >falsepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="FAX.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >falsepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -155,8 +155,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotop/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotop/dialog.html/dialog.html
index 13c33d0..32134ee 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/gotop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="number"
           name="priority"
@@ -55,13 +55,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="FAX.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Priority must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -103,8 +103,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/noop/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/noop/dialog.html/dialog.html
index 87e5a94..b89f343 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/noop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/noop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -94,8 +94,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/queue/dialog.html/dialog.html
index f552718..4341574 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/queue/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -50,7 +50,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="FAX.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="FAX.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/system/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/system/dialog.html/dialog.html
index c59d831..0f3981f 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/system/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/system/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.COMMAND">Command</label>
+        <label translate="APP.COMMAND">Command</label>
         <input
           type="text"
           name="command"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.COMMAND_REQUIRED"
+            <span translate="APP.ERRORS.COMMAND_REQUIRED"
               >Command field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="variable"
           ng-model="vm.system.variable"
@@ -122,8 +122,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/tag/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/tag/dialog.html/dialog.html
index 8377807..d5b6ed0 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/tag/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/apps/tag/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.TAG">Tag</label>
+        <label translate="APP.TAG">Tag</label>
         <md-select
           name="tag"
           ng-model="vm.tag.tag"
@@ -50,8 +50,8 @@
             ng-value="tag.name"
             ng-repeat="tag in vm.tags"
             ng-disabled="tag.canSelect === false"
-            >{{ tag.name }}</md-option
-          >
+            >{{ tag.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="faxAccountFormApp['tag'].$error"
@@ -59,7 +59,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.TAG_REQUIRED"
+            <span translate="APP.ERRORS.TAG_REQUIRED"
               >Tag field is required</span
             >
           </div>
@@ -100,8 +100,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxAccountFormApp.$invalid || faxAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/view.html/view.html
index f396c77..ac8db8c 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.faxAccount.name">{{vm.faxAccount.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="FAX.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.faxAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -60,8 +60,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (notificationForm.$invalid) || (transferForm.$invalid) || (advancedForm.$invalid) || (dispositionForm.$invalid) || (faxDispositionsForm.$invalid) || (actionsForm.$invalid) || (interactionsForm.$invalid)"
-        translate="FAX.SAVE"
-        translate-attr-aria-label="FAX.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -80,20 +80,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="faxAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="FAX.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="FAX.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -109,14 +109,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.KEY">key</label>
+                <label translate="APP.KEY">key</label>
                 <input
                   type="text"
                   name="key"
@@ -132,13 +132,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.KEY_REQUIRED"
+                    <span translate="APP.ERRORS.KEY_REQUIRED"
                       >key field is required</span
                     >
                   </div>
                   <div ng-message="md-maxlength">
                     <span
-                      translate="FAX.ERRORS.KEY_MAX_LENGTH"
+                      translate="APP.ERRORS.KEY_MAX_LENGTH"
                       translate-values="{max: 5}"
                       >key must have a maximum length equal to 5</span
                     >
@@ -171,7 +171,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.TRUNK">trunk</label>
+                <label translate="APP.TRUNK">trunk</label>
                 <md-select
                   name="TrunkId"
                   ng-model="vm.faxAccount.TrunkId"
@@ -191,7 +191,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.TRUNK_REQUIRED"
+                    <span translate="APP.ERRORS.TRUNK_REQUIRED"
                       >trunk field is required</span
                     >
                   </div>
@@ -223,7 +223,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.LIST">List</label>
+                <label translate="APP.LIST">List</label>
                 <md-select
                   name="ListId"
                   ng-model="vm.faxAccount.ListId"
@@ -243,14 +243,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.LIST_REQUIRED"
+                    <span translate="APP.ERRORS.LIST_REQUIRED"
                       >List field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.WAITFORTHEASSIGNEDAGENT"
+                <label translate="APP.WAITFORTHEASSIGNEDAGENT"
                   >WaitForTheAssignedAgent</label
                 >
                 <input
@@ -270,13 +270,13 @@
                   <div ng-message="required">
                     <span
-                      translate="FAX.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
                       >WaitForTheAssignedAgent field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="FAX.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -284,7 +284,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="FAX.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -293,7 +293,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -319,7 +319,7 @@
             class="faxAccount-detail-form-container notification md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="FAX.NOTIFICATION">
+              <div class="h2 secondary-text" translate="APP.NOTIFICATION">
                 NOTIFICATION
               </div>
             </div>
@@ -329,7 +329,7 @@
                   ng-model="vm.faxAccount.notificationSound"
                   aria-label="notificationSound"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="FAX.NOTIFICATIONSOUND"
+                  ><span translate="APP.NOTIFICATIONSOUND"
                     >notificationSound</span
                   ></md-switch
@@ -339,7 +339,7 @@
                   ng-model="vm.faxAccount.notificationShake"
                   aria-label="notificationShake"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="FAX.NOTIFICATIONSHAKE"
+                  ><span translate="APP.NOTIFICATIONSHAKE"
                     >notificationShake</span
                   ></md-switch
@@ -347,7 +347,7 @@
               <div class="md-block">
                 <label
                   class="md-caption grey-fg"
-                  translate="FAX.NOTIFICATIONTEMPLATE"
+                  translate="APP.NOTIFICATIONTEMPLATE"
                   >notificationTemplate</label
                 >
                 <textarea
@@ -362,7 +362,7 @@
             class="faxAccount-detail-form-container transfer md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="FAX.TRANSFER">
+              <div class="h2 secondary-text" translate="APP.TRANSFER">
                 TRANSFER
               </div>
             </div>
@@ -372,16 +372,14 @@
                   ng-model="vm.faxAccount.queueTransfer"
                   aria-label="queueTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="FAX.QUEUETRANSFER"
-                    >queueTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.QUEUETRANSFER">queueTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.faxAccount.queueTransfer == true"
                 class="md-block"
-                <label translate="FAX.QUEUETRANSFERTIMEOUT"
+                <label translate="APP.QUEUETRANSFERTIMEOUT"
                   >queueTransferTimeout</label
                 >
                 <input
@@ -400,13 +398,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
                       >queueTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="FAX.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -414,7 +412,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="FAX.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -427,16 +425,14 @@
                   ng-model="vm.faxAccount.agentTransfer"
                   aria-label="agentTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="FAX.AGENTTRANSFER"
-                    >agentTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AGENTTRANSFER">agentTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.faxAccount.agentTransfer == true"
                 class="md-block"
-                <label translate="FAX.AGENTTRANSFERTIMEOUT"
+                <label translate="APP.AGENTTRANSFERTIMEOUT"
                   >agentTransferTimeout</label
                 >
                 <input
@@ -455,13 +451,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
                       >agentTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="FAX.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -469,7 +465,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="FAX.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -483,14 +479,14 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="faxAccount-detail-form-container advanced md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="FAX.ADVANCED">
+              <div class="h2 secondary-text" translate="APP.ADVANCED">
                 ADVANCED
               </div>
             </div>
@@ -709,7 +705,7 @@
             class="faxAccount-detail-form-container disposition md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="FAX.DISPOSITION">
+              <div class="h2 secondary-text" translate="APP.DISPOSITION">
                 DISPOSITION
               </div>
             </div>
@@ -719,7 +715,7 @@
                   ng-model="vm.faxAccount.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="FAX.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -728,7 +724,7 @@
                 ng-if="vm.faxAccount.mandatoryDisposition"
                 class="md-block"
-                <label translate="FAX.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -741,11 +737,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="FAX.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
@@ -754,7 +750,7 @@
                   <div ng-message="required">
                     <span
-                      translate="FAX.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -766,7 +762,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.DISPOSITIONS">DISPOSITIONS</span>
+          <span translate="APP.DISPOSITIONS">DISPOSITIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -803,7 +799,7 @@
                         ng-change="vm_dc.getDispositions()"
                         <md-option ng-value="null"
-                          ><em translate="TOOLS.ALL">All</em></md-option
+                          ><em translate="APP.ALL">All</em></md-option
                         <md-option
                           ng-value="key"
@@ -824,7 +820,7 @@
                   ng-hide="vm_dc.selectedFaxAccountDispositions.length"
                   <div class="md-toolbar-tools">
-                    <span class="md-subhead" translate="FAX.DISPOSITIONS"
+                    <span class="md-subhead" translate="APP.DISPOSITIONS"
                       >Dispositions</span
                     <ms-search-bar
@@ -871,7 +867,7 @@
                       ng-click="vm_dc.deleteSelectedDispositions($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="FAX.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -892,16 +888,16 @@
                       <tr md-row>
                         <th md-column md-order-by="id">
-                          {{ 'FAX.ID' | translate }}
+                          {{ 'APP.ID' | translate }}
                         </th>
                         <th md-column md-order-by="level">
                           {{ 'TOOLS.LEVEL' | translate }}
                         </th>
                         <th md-column md-order-by="name">
-                          {{ 'FAX.NAME' | translate }}
+                          {{ 'APP.NAME' | translate }}
                         </th>
                         <th md-column md-order-by="description">
-                          {{ 'FAX.DESCRIPTION' | translate }}
+                          {{ 'APP.DESCRIPTION' | translate }}
                         </th>
                         <th md-column width="10px"></th>
                       </tr>
@@ -910,7 +906,7 @@
                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
                         <td md-cell colspan="5">
                           <div layout="row" layout-align="center center">
-                            <span translate="FAX.NO_AVAILABLE_INFO"
+                            <span translate="APP.NO_AVAILABLE_INFO"
                               >No Available Info</span
                           </div>
@@ -960,7 +956,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="FAX.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1016,7 +1012,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1100,7 +1096,7 @@
                       ng-click="vm_ac.deleteSelectedFaxAccountApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="FAX.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -1119,7 +1115,7 @@
                       <tr md-row>
                         <th md-column width="10px"></th>
                         <th md-column width="10px">
-                          <span translate="VOICE.PRIORITY">Priority</span>
+                          <span translate="APP.PRIORITY">Priority</span>
                         </th>
                         <th md-column>
                           <span>Type</span>
@@ -1200,7 +1196,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1214,7 +1210,7 @@
                                 <md-button
                                   ng-click="vm_ac.editFaxAccountApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -1224,7 +1220,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -1234,7 +1230,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -1247,7 +1243,7 @@
                         <td md-cell colspan="7">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
@@ -1268,7 +1264,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.INTERACTIONS">INTERACTIONS</span>
+          <span translate="APP.INTERACTIONS">INTERACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1283,7 +1279,7 @@
                 ng-hide="vm_dc.selectedFaxAccountInteractions.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="FAX.INTERACTIONS"
+                  <span class="md-subhead" translate="APP.INTERACTIONS"
                     >Interactions</span
                   <ms-search-bar
@@ -1304,7 +1300,7 @@
                       ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
                       aria-label="Filter"
                       translate
-                      translate-attr-aria-label="DASHBOARDS.FILTER"
+                      translate-attr-aria-label="APP.FILTER"
                       ng-click="vm_dc.openAdvancedSearch()"
                       <md-icon
@@ -1318,7 +1314,7 @@
                     ng-click="vm_dc.getFaxAccountInteractions()"
                     aria-label="refresh Interactions"
                     translate
-                    translate-attr-label="FAX.REFRESH_INTERACTIONS"
+                    translate-attr-label="APP.REFRESH_INTERACTIONS"
                     <md-icon md-font-icon="icon-refresh"></md-icon>
                   </md-button>
@@ -1349,7 +1345,7 @@
                     ng-click="vm_dc.deleteSelectedFaxAccountInteractions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="FAX.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1370,26 +1366,26 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'FAX.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column class="no-padding">
                         <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
                       </th>
                       <th md-column class="no-padding"></th>
                       <th md-column class="no-padding"></th>
-                      <th md-column>{{ 'FAX.CONTACT' | translate }}</th>
+                      <th md-column>{{ 'APP.CONTACT' | translate }}</th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'FAX.STARTEDAT' | translate }}
+                        {{ 'APP.STARTEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="lastMsgAt">
-                        {{ 'FAX.LASTMESSAGE' | translate }}
+                        {{ 'APP.LASTMESSAGE' | translate }}
                       </th>
                       <th md-column md-order-by="closed">
-                        {{ 'FAX.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
-                      <th md-column>{{ 'FAX.AGENT' | translate }}</th>
+                      <th md-column>{{ 'APP.AGENT' | translate }}</th>
                       <th md-column md-order-by="tag">
-                        {{ 'FAX.TAGS' | translate }}
+                        {{ 'APP.TAGS' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1462,7 +1458,8 @@
                           <span>
                             <md-icon
                               md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
-                            ></md-icon>
+                            >
+                            </md-icon>
                           </span>
                           <div layout="column" layout-align="center center">
                             <span class="text-truncate"
@@ -1473,13 +1470,13 @@
                       </td>
                       <td md-cell>
                         <span ng-if="interaction.closed === 0" class="green-fg">
-                          {{ 'FAX.OPENED' | translate }}
+                          {{ 'APP.OPENED' | translate }}
                           <span ng-if="interaction.substatus">
                             - {{ interaction.substatus }}
                           </span>
                         </span>
                         <span ng-if="interaction.closed === 1" class="red-fg">
-                          {{ 'FAX.CLOSED' | translate }}
+                          {{ 'APP.CLOSED' | translate }}
                           <span ng-if="interaction.disposition">
                             - {{ interaction.thirdDisposition ||
                             interaction.secondDisposition ||
@@ -1558,7 +1555,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="FAX.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1570,7 +1567,7 @@
                             <md-menu-item>
                               <md-button
                                 ng-click="vm_dc.spyfaxInteraction($event, interaction)"
-                                translate="FAX.SPYINTERACTION"
+                                translate="APP.SPYINTERACTION"
                                 Spy Interaction
                               </md-button>
@@ -1579,7 +1576,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.faxInteractionDownload(interaction, $event)"
-                                translate="FAX.DOWNLOAD_INTERACTION"
+                                translate="APP.DOWNLOAD_INTERACTION"
                                 Download
                               </md-button>
@@ -1589,7 +1586,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(interaction, $event)"
-                                translate="FAX.DELETE_INTERACTION"
+                                translate="APP.DELETE_INTERACTION"
                                 Delete Interaction
                               </md-button>
@@ -1606,7 +1603,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="FAX.NO_INTERACTION_AVAILABLE"
+                            translate="APP.NO_INTERACTION_AVAILABLE"
                             >No interaction available</span
                           >
                         </div>
diff --git a/public/src/js/modules/main/apps/fax/views/faxAccounts/faxAccounts.html/faxAccounts.html b/public/src/js/modules/main/apps/fax/views/faxAccounts/faxAccounts.html/faxAccounts.html
index b34cde2..1882d86 100644
--- a/public/src/js/modules/main/apps/fax/views/faxAccounts/faxAccounts.html/faxAccounts.html
+++ b/public/src/js/modules/main/apps/fax/views/faxAccounts/faxAccounts.html/faxAccounts.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="FAX.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedFaxAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="FAX.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-faxAccounts-count">
           <span>{{vm.selectedFaxAccounts.length}}</span>
-          <span translate="FAX.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllFaxAccounts()"
-                translate="FAX.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectFaxAccounts()"
-                translate="FAX.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedFaxAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="FAX.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,19 +147,19 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'FAX.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'FAX.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
-                <th md-column md-order-by="key">{{ 'FAX.KEY' | translate }}</th>
+                <th md-column md-order-by="key">{{ 'APP.KEY' | translate }}</th>
                 <th md-column md-order-by="TrunkId">
-                  {{ 'FAX.TRUNK' | translate }}
+                  {{ 'APP.TRUNK' | translate }}
                 </th>
                 <th md-column md-order-by="localstationid">
                   {{ 'FAX.LOCALSTATIONID' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'FAX.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -168,7 +168,7 @@
               <tr md-row ng-hide="vm.faxAccounts.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="FAX.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -247,7 +247,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="FAX.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/fax/views/faxQueues/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/fax/views/faxQueues/create/dialog.html/dialog.html
index fd8becc..80395d8 100644
--- a/public/src/js/modules/main/apps/fax/views/faxQueues/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/fax/views/faxQueues/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="FAX.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newFaxQueue"
         />
 
-        <div class="hint"><span translate="FAX.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="faxQueueForm['name'].$error"
           ng-show="faxQueueForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="FAX.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.STRATEGY">Strategy</label>
+        <label translate="APP.STRATEGY">Strategy</label>
         <md-select name="strategy" ng-model="vm.faxQueue.strategy" required>
           <md-option ng-value="'beepall'">Beepall</md-option>
           <md-option ng-value="'rrmemory'">RR Memory</md-option>
@@ -88,7 +88,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.AGENT_TIMEOUT">Agent_Timeout</label>
+        <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -104,20 +104,20 @@
           role="alert"
           <div ng-message="required">
-            <span translate="FAX.ERRORS.AGENT_TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
               >Agent_Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="FAX.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
           </div>
           <div ng-message="max">
             <span
-              translate="FAX.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -125,7 +125,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="FAX.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -180,8 +180,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="faxQueueForm.$invalid || faxQueueForm.$pristine"
           aria-label="SAVE"
-          translate="FAX.SAVE"
-          translate-attr-aria-label="FAX.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -206,10 +206,10 @@
           ng-click="vm.deleteFaxQueue($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="FAX.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="FAX.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/fax/views/faxQueues/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/fax/views/faxQueues/edit/agentadd/agentadd.html/agentadd.html
index c667948..3b770ed 100644
--- a/public/src/js/modules/main/apps/fax/views/faxQueues/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/fax/views/faxQueues/edit/agentadd/agentadd.html/agentadd.html
@@ -30,8 +30,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxQueues/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/fax/views/faxQueues/edit/teamadd/teamadd.html/teamadd.html
index 11d6c16..abe4248 100644
--- a/public/src/js/modules/main/apps/fax/views/faxQueues/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/fax/views/faxQueues/edit/teamadd/teamadd.html/teamadd.html
@@ -2,7 +2,7 @@
   <form name="faxQueueForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="FAX.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -30,8 +30,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/faxQueues/edit/view.html/view.html b/public/src/js/modules/main/apps/fax/views/faxQueues/edit/view.html/view.html
index 5ff7545..1ed9e0f 100644
--- a/public/src/js/modules/main/apps/fax/views/faxQueues/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/fax/views/faxQueues/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.faxQueue.name">{{vm.faxQueue.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="FAX.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.faxQueue.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -58,8 +58,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid)"
-        translate="FAX.SAVE"
-        translate-attr-aria-label="FAX.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -78,20 +78,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="faxQueue-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="FAX.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="FAX.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -102,20 +102,20 @@
                   disabled
                 />
 
-                <div class="hint"><span translate="FAX.HELP.NAME"></span></div>
+                <div class="hint"><span translate="APP.HELP.NAME"></span></div>
                 <div
                   ng-messages="generalForm['name'].$error"
                   ng-show="generalForm['name'].$touched"
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="FAX.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -123,7 +123,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.faxQueue.strategy"
@@ -146,7 +146,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.AGENT_TIMEOUT">Agent_Timeout</label>
+                <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -163,20 +163,20 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="FAX.ERRORS.AGENT_TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
                       >Agent_Timeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="FAX.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>1</span>
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="FAX.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>2147483</span>
@@ -184,7 +184,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="FAX.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/fax/views/faxQueues/faxQueues.html/faxQueues.html b/public/src/js/modules/main/apps/fax/views/faxQueues/faxQueues.html/faxQueues.html
index 0bd0765..2cb82b3 100644
--- a/public/src/js/modules/main/apps/fax/views/faxQueues/faxQueues.html/faxQueues.html
+++ b/public/src/js/modules/main/apps/fax/views/faxQueues/faxQueues.html/faxQueues.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="FAX.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedFaxQueues =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="FAX.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-faxQueues-count">
           <span>{{vm.selectedFaxQueues.length}}</span>
-          <span translate="FAX.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllFaxQueues()"
-                translate="FAX.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectFaxQueues()"
-                translate="FAX.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedFaxQueues($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="FAX.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'FAX.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'FAX.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'FAX.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.faxQueues.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="FAX.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -218,7 +218,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="FAX.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/fax/views/realtime/accounts/view.html/view.html b/public/src/js/modules/main/apps/fax/views/realtime/accounts/view.html/view.html
index d65a2fb..1800b0a 100644
--- a/public/src/js/modules/main/apps/fax/views/realtime/accounts/view.html/view.html
+++ b/public/src/js/modules/main/apps/fax/views/realtime/accounts/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="FAX.ACCOUNTS">Accounts</span>
+    <span class="md-subhead" translate="APP.ACCOUNTS">Accounts</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,11 +17,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getFaxAccounts">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'FAX.NAME' | translate }}</th>
-        <th md-column>{{ 'FAX.KEY' | translate }}</th>
-        <th md-column>{{ 'FAX.TOTAL' | translate }}</th>
-        <th md-column>{{ 'FAX.IN' | translate }}</th>
-        <th md-column>{{ 'FAX.OUT' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.KEY' | translate }}</th>
+        <th md-column>{{ 'APP.TOTAL' | translate }}</th>
+        <th md-column>{{ 'APP.IN' | translate }}</th>
+        <th md-column>{{ 'APP.OUT' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -28,7 +29,7 @@
       <tr md-row ng-hide="vm.faxAccounts">
         <td md-cell colspan="4">
           <div layout="row" layout-align="center center">
-            <span translate="FAX.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -48,9 +49,9 @@
         </td>
         <td md-cell>
           <div layout="row">
-            <span
-              ><md-icon md-font-icon="icon-arrow-down-bold blue-fg"></md-icon
-            ></span>
+            <span>
+              <md-icon md-font-icon="icon-arrow-down-bold blue-fg"></md-icon>
+            </span>
             <span class="md-capture blue-fg"
               >{{vm.faxAccounts[value].in || 0}}</span
             >
@@ -62,9 +63,9 @@
         </td>
         <td md-cell>
           <div layout="row">
-            <span
-              ><md-icon md-font-icon="icon-arrow-up-bold green-fg"></md-icon
-            ></span>
+            <span>
+              <md-icon md-font-icon="icon-arrow-up-bold green-fg"></md-icon>
+            </span>
             <span class="md-capture green-fg"
               >{{vm.faxAccounts[value].out || 0}}</span
             >
@@ -80,7 +81,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/fax/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/fax/views/realtime/agents/view.html/view.html
index 37cd28d..4f92144 100644
--- a/public/src/js/modules/main/apps/fax/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/fax/views/realtime/agents/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="FAX.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query; vm.onInit()"
@@ -13,11 +13,11 @@
       class="md-caption"
       ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-      <md-option ng-value="''">{{ 'FAX.ALL' | translate }}</md-option>
-      <md-option value="pause">{{ 'FAX.PAUSE' | translate }}</md-option>
-      <md-option value="*pause">{{ 'FAX.PARTIALPAUSE' | translate }}</md-option>
-      <md-option value="busy">{{ 'FAX.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'FAX.IDLE' | translate }}</md-option>
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
     <md-select
@@ -44,103 +44,103 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'FAX.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
         <th
           ng-if="vm.license.openchannel"
           class="bv bl text-center"
           colspan="2"
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'FAX.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'FAX.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'FAX.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -149,7 +149,7 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'FAX.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
@@ -184,7 +184,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'FAX.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -197,7 +197,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'FAX.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -400,7 +400,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -410,7 +410,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="FAX.LOGOUT"
+                  translate="APP.LOGOUT"
                   Logout
                 </md-button>
@@ -431,14 +431,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="FAX.SCREENRECORDING"
+                    translate="APP.SCREENRECORDING"
                     >Screen Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="FAX.START_SCREENRECORDING"
+                        ><em translate="APP.START_SCREENRECORDING"
                           >Start Screen Recording</em
                         ></md-button
                       >
@@ -446,7 +446,7 @@
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="FAX.STOP_SCREENRECORDING"
+                        ><em translate="APP.STOP_SCREENRECORDING"
                           >Stop Screen Recording</em
                         ></md-button
                       >
@@ -460,7 +460,7 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="FAX.PAUSE"
+                    translate="APP.PAUSE"
                     >Pause</md-button
                   <md-menu-content>
@@ -468,10 +468,8 @@
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
                         ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="FAX.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
                     <md-menu-item
                       ng-if="vm.pauses.rows.length"
@@ -489,7 +487,7 @@
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
                 <md-button
                   ng-click="vm.unPause(vm.agents[value])"
-                  translate="FAX.UNPAUSE"
+                  translate="APP.UNPAUSE"
                   Unpause
                 </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/fax/views/realtime/queues/view.html/view.html
index 814e79a..4d8c8c1 100644
--- a/public/src/js/modules/main/apps/fax/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/fax/views/realtime/queues/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="FAX.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,11 +17,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'FAX.NAME' | translate }}</th>
-        <th md-column>{{ 'FAX.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'FAX.PAUSED' | translate }}</th>
-        <th md-column>{{ 'FAX.READY' | translate }}</th>
-        <th md-column>{{ 'FAX.WAITING' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -28,7 +29,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="7">
           <div layout="row" layout-align="center center">
-            <span translate="FAX.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -66,7 +67,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="FAX.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -76,7 +77,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.createOrEditFaxQueue($event, vm.queues[value])"
-                  translate="FAX.EDIT_QUEUE"
+                  translate="APP.EDIT_QUEUE"
                   Edit Queue
                 </md-button>
@@ -84,7 +85,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="FAX.AGENTSADD_QUEUE"
+                  translate="APP.AGENTSADD_QUEUE"
                   Add Agents to queue
                 </md-button>
diff --git a/public/src/js/modules/main/apps/fax/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/fax/views/realtime/realtime.html/realtime.html
index b07256f..d2b04d7 100644
--- a/public/src/js/modules/main/apps/fax/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/fax/views/realtime/realtime.html/realtime.html
@@ -10,22 +10,22 @@
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.TRUNKS">Trunks</span>
+          <span translate="APP.TRUNKS">Trunks</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="FAX.ACCOUNTS">Accounts</span>
+          <span translate="APP.ACCOUNTS">Accounts</span>
         </md-tab-label>
       </md-tab>
     </md-tabs>
diff --git a/public/src/js/modules/main/apps/fax/views/realtime/trunks/view.html/view.html b/public/src/js/modules/main/apps/fax/views/realtime/trunks/view.html/view.html
index 70e193b..721afbd 100644
--- a/public/src/js/modules/main/apps/fax/views/realtime/trunks/view.html/view.html
+++ b/public/src/js/modules/main/apps/fax/views/realtime/trunks/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="FAX.TRUNKS">Telephones</span>
+    <span class="md-subhead" translate="APP.TRUNKS">Telephones</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
     <!-- <md-button class="md-icon-button" ng-click="vm.showInfo($event)">
       <i class="icon-information-outline grey-600-fg">
         <md-tooltip>{{'FAX.INFO' | translate}}</md-tooltip>
@@ -22,9 +23,9 @@
     <thead md-head>
       <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getTrunks">
         <tr md-row>
-          <th md-column md-order-by="name">{{ 'FAX.NAME' | translate }}</th>
-          <th md-column>{{ 'FAX.TRUNK_STATUS' | translate }}</th>
-          <th md-column>{{ 'FAX.REGISTRY' | translate }}</th>
+          <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+          <th md-column>{{ 'APP.TRUNK_STATUS' | translate }}</th>
+          <th md-column>{{ 'APP.REGISTRY' | translate }}</th>
           <th md-column width="10px"></th>
         </tr>
       </thead>
@@ -34,7 +35,7 @@
       <tr md-row ng-hide="vm.trunks">
         <td md-cell colspan="3">
           <div layout="row" layout-align="center center">
-            <span translate="FAX.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -65,7 +66,7 @@
             class="text-boxed"
             >{{trunk.host}}:{{trunk.port}}</span
           >
-          <span ng-if="!trunk.registry" translate="FAX.NO_REGISTRY">
+          <span ng-if="!trunk.registry" translate="APP.NO_REGISTRY">
             No Registry
           </span>
         </td>
@@ -75,7 +76,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -85,7 +86,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.goToTrunk($event, trunk)"
-                  translate="FAX.EDIT_TRUNK"
+                  translate="APP.EDIT_TRUNK"
                   Edit Trunk
                 </md-button>
diff --git a/public/src/js/modules/main/apps/integrations/views/deskAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/deskAccounts/create/dialog.html/dialog.html
index 9744947..241b9e0 100644
--- a/public/src/js/modules/main/apps/integrations/views/deskAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/deskAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,21 +53,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.deskAccount.type" required>
           <md-option ng-value="'integrationTab'">
             {{ 'INTEGRATIONS.INTEGRATION_TAB' | translate }}
           </md-option>
 
           <md-option ng-value="'newTab'">
-            {{ 'INTEGRATIONS.NEW_TAB' | translate }}
+            {{ 'APP.NEW_TAB' | translate }}
           </md-option>
         </md-select>
         <div
@@ -76,7 +76,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -129,7 +129,7 @@
         ng-if="vm.deskAccount.authType == 'basic'"
         class="md-block"
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -143,7 +143,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -153,19 +153,19 @@
         class="md-block"
         ng-if="vm.deskAccount.authType == 'basic'"
-        <label translate="INTEGRATIONS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.deskAccount.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div ng-messages="deskAccountForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -212,7 +212,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -267,8 +267,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="deskAccountForm.$invalid || deskAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -293,12 +293,10 @@
           ng-click="vm.deleteDeskAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/deskAccounts/deskAccounts.html/deskAccounts.html b/public/src/js/modules/main/apps/integrations/views/deskAccounts/deskAccounts.html/deskAccounts.html
index cff5878..7153807 100644
--- a/public/src/js/modules/main/apps/integrations/views/deskAccounts/deskAccounts.html/deskAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/deskAccounts/deskAccounts.html/deskAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedDeskAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-deskAccounts-count">
           <span>{{vm.selectedDeskAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllDeskAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectDeskAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedDeskAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,17 +149,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
                   {{ 'INTEGRATIONS.URI' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -168,7 +166,7 @@
               <tr md-row ng-hide="vm.deskAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -232,7 +230,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/configurations/dialog.html/dialog.html
index df50a96..f0bf123 100644
--- a/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/configurations/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -53,21 +53,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.deskConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -83,7 +83,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.deskConfiguration.type" required>
           <md-option ng-value="'inbound'">
             {{ 'INTEGRATIONS.INBOUND_IN_QUEUE' | translate }}
@@ -99,7 +99,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -141,8 +141,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="deskConfigurationForm.$invalid || deskConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -167,12 +167,10 @@
           ng-click="vm.deleteDeskConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/item/dialog.html/dialog.html
index 7fa807d..58fd22b 100644
--- a/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="deskAccountItemForm.$invalid || deskAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="deskAccountItemForm.$invalid || deskAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,21 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="deskAccountItemForm.type.$error" ng-show="deskAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="deskAccountItemForm.type.$error" ng-show="deskAccountItemForm.type.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +359,59 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="deskAccountItemForm.option.$error"
-          ng-show="deskAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="deskAccountItemForm.option.$error" ng-show="deskAccountItemForm.option.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="deskAccountItemForm.content.$error"
-          ng-show="deskAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="deskAccountItemForm.content.$error" ng-show="deskAccountItemForm.content.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="deskAccountItemForm.variableName.$error"
-          ng-show="deskAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="deskAccountItemForm.variableName.$error" ng-show="deskAccountItemForm.variableName.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +419,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +427,13 @@
             </md-select>
         <div ng-messages="deskAccountItemForm.type.$error" ng-show="deskAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="deskAccountItemForm.content.$error"
           ng-show="deskAccountItemForm.content.$touched" role="alert">
@@ -448,7 +444,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +466,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/view.html/view.html
index 0a2d591..0e899da 100644
--- a/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/deskAccounts/edit/view.html/view.html
@@ -27,7 +27,7 @@
             <span ng-if="vm.deskAccount.name">{{vm.deskAccount.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.deskAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -40,8 +40,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -60,20 +60,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="deskAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -89,14 +89,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <md-select
                   name="type"
                   ng-model="vm.deskAccount.type"
@@ -108,7 +108,7 @@
                   </md-option>
 
                   <md-option ng-value="'newTab'">
-                    {{ 'INTEGRATIONS.NEW_TAB' | translate }}
+                    {{ 'APP.NEW_TAB' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -117,7 +117,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
@@ -176,7 +176,7 @@
                 ng-if="vm.deskAccount.authType == 'basic'"
                 class="md-block"
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -191,7 +191,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -201,19 +201,19 @@
                 class="md-block"
                 ng-if="vm.deskAccount.authType == 'basic'"
-                <label translate="INTEGRATIONS.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.deskAccount.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -263,7 +263,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -341,7 +341,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -408,7 +408,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -425,15 +425,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -518,7 +512,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -604,7 +598,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -621,15 +615,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -714,7 +702,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -755,7 +743,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -798,7 +786,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -815,15 +803,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -904,7 +886,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -945,12 +927,12 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.TAGS">TAGS</span>
+                      <span translate="APP.TAGS">TAGS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-table-container class="md-whiteframe-1dp padding-20">
                         <md-input-container class="md-block">
-                          <label translate="INTEGRATIONS.TAGS">Tags</label>
+                          <label translate="APP.TAGS">Tags</label>
                           <md-select
                             ng-model="vm_cc.selectedTags"
                             ng-change="vm_cc.selectTagsChanged($event)"
diff --git a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/create/dialog.html/dialog.html
index a91cd3b..c38e1c0 100644
--- a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/create/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -56,14 +56,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -77,21 +77,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.dynamics365Account.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div
@@ -99,7 +99,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -235,7 +235,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -290,8 +290,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="dynamics365AccountForm.$invalid || dynamics365AccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -316,12 +316,10 @@
           ng-click="vm.deleteDynamics365Account($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/dynamics365Accounts.html/dynamics365Accounts.html b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/dynamics365Accounts.html/dynamics365Accounts.html
index d9a2304..69c7c1f 100644
--- a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/dynamics365Accounts.html/dynamics365Accounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/dynamics365Accounts.html/dynamics365Accounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-dynamics365Accounts-count">
           <span>{{vm.selectedDynamics365Accounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllDynamics365Accounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectDynamics365Accounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedDynamics365Accounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,14 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
                   {{ 'INTEGRATIONS.URI' | translate }}
@@ -171,7 +169,7 @@
               <tr md-row ng-hide="vm.dynamics365Accounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -235,7 +233,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -298,7 +296,8 @@
           md-total="{{vm.dynamics365Accounts.count}}"
           md-on-paginate="vm.getDynamics365Accounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / DYNAMICS365ACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/configurations/dialog.html/dialog.html
index 1fe9ed7..bd2d158 100644
--- a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/configurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.dynamics365Configuration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.dynamics365Configuration.type"
@@ -106,7 +106,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -175,8 +175,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="dynamics365ConfigurationForm.$invalid || dynamics365ConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -201,12 +201,10 @@
           ng-click="vm.deleteDynamics365Configuration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/item/dialog.html/dialog.html
index d6f6743..68ad90c 100644
--- a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="dynamics365AccountItemForm.$invalid || dynamics365AccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="dynamics365AccountItemForm.$invalid || dynamics365AccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,22 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="dynamics365AccountItemForm.type.$error" ng-show="dynamics365AccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="dynamics365AccountItemForm.type.$error" ng-show="dynamics365AccountItemForm.type.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +360,61 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="dynamics365AccountItemForm.option.$error"
-          ng-show="dynamics365AccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="dynamics365AccountItemForm.option.$error" ng-show="dynamics365AccountItemForm.option.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="dynamics365AccountItemForm.content.$error"
-          ng-show="dynamics365AccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="dynamics365AccountItemForm.content.$error" ng-show="dynamics365AccountItemForm.content.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="dynamics365AccountItemForm.variableName.$error"
-          ng-show="dynamics365AccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="dynamics365AccountItemForm.variableName.$error"
+      ng-show="dynamics365AccountItemForm.variableName.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +422,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +430,13 @@
             </md-select>
         <div ng-messages="dynamics365AccountItemForm.type.$error" ng-show="dynamics365AccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="dynamics365AccountItemForm.content.$error"
           ng-show="dynamics365AccountItemForm.content.$touched" role="alert">
@@ -448,7 +447,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +469,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/view.html/view.html
index e810159..08056a1 100644
--- a/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/dynamics365Accounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.dynamics365Account.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="dynamics365Account-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -91,14 +91,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -113,26 +113,26 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.dynamics365Account.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -277,7 +277,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -355,7 +355,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -422,7 +422,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -439,15 +439,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -532,7 +526,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -618,7 +612,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -635,15 +629,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -728,7 +716,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -769,7 +757,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -812,7 +800,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -829,15 +817,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -918,7 +900,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
diff --git a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/create/dialog.html/dialog.html
index 76ff297..6310fc9 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -74,7 +74,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -107,7 +107,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.APIKEY">ApiKey</label>
+        <label translate="APP.APIKEY">ApiKey</label>
         <input
           type="text"
           name="apiKey"
@@ -121,7 +121,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.APIKEY_REQUIRED"
+            <span translate="APP.ERRORS.APIKEY_REQUIRED"
               >ApiKey field is required</span
             >
           </div>
@@ -160,7 +160,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -215,8 +215,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshdeskAccountForm.$invalid || freshdeskAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -241,12 +241,10 @@
           ng-click="vm.deleteFreshdeskAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/configurations/dialog.html/dialog.html
index 3f2856a..ce01c18 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/configurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.freshdeskConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.freshdeskConfiguration.type"
@@ -106,7 +106,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -148,8 +148,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshdeskConfigurationForm.$invalid || freshdeskConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -174,12 +174,10 @@
           ng-click="vm.deleteFreshdeskConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/item/dialog.html/dialog.html
index ac0ce85..fd67de7 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshdeskAccountItemForm.$invalid || freshdeskAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshdeskAccountItemForm.$invalid || freshdeskAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,21 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="freshdeskAccountItemForm.type.$error" ng-show="freshdeskAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="freshdeskAccountItemForm.type.$error" ng-show="freshdeskAccountItemForm.type.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +359,61 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="freshdeskAccountItemForm.option.$error"
-          ng-show="freshdeskAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="freshdeskAccountItemForm.option.$error" ng-show="freshdeskAccountItemForm.option.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="freshdeskAccountItemForm.content.$error"
-          ng-show="freshdeskAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="freshdeskAccountItemForm.content.$error" ng-show="freshdeskAccountItemForm.content.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="freshdeskAccountItemForm.variableName.$error"
-          ng-show="freshdeskAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="freshdeskAccountItemForm.variableName.$error"
+      ng-show="freshdeskAccountItemForm.variableName.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +421,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +429,13 @@
             </md-select>
         <div ng-messages="freshdeskAccountItemForm.type.$error" ng-show="freshdeskAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="freshdeskAccountItemForm.content.$error"
           ng-show="freshdeskAccountItemForm.content.$touched" role="alert">
@@ -448,7 +446,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +468,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/view.html/view.html
index 649aeba..1343459 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.freshdeskAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="freshdeskAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -91,14 +91,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -113,7 +113,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -147,7 +147,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.APIKEY">ApiKey</label>
+                <label translate="APP.APIKEY">ApiKey</label>
                 <input
                   type="text"
                   name="apiKey"
@@ -162,7 +162,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.APIKEY_REQUIRED"
+                    <span translate="APP.ERRORS.APIKEY_REQUIRED"
                       >ApiKey field is required</span
                     >
                   </div>
@@ -203,7 +203,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -281,7 +281,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -348,7 +348,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -365,15 +365,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -458,7 +452,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -544,7 +538,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -561,15 +555,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -654,7 +642,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -695,7 +683,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -738,7 +726,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -755,15 +743,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -844,7 +826,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -885,12 +867,12 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.TAGS">TAGS</span>
+                      <span translate="APP.TAGS">TAGS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-table-container class="md-whiteframe-1dp padding-20">
                         <md-input-container class="md-block">
-                          <label translate="INTEGRATIONS.TAGS">Tags</label>
+                          <label translate="APP.TAGS">Tags</label>
                           <md-select
                             ng-model="vm_cc.selectedTags"
                             ng-change="vm_cc.selectTagsChanged($event)"
diff --git a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/freshdeskAccounts.html/freshdeskAccounts.html b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/freshdeskAccounts.html/freshdeskAccounts.html
index ea89cbb..68cf01a 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/freshdeskAccounts.html/freshdeskAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshdeskAccounts/freshdeskAccounts.html/freshdeskAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-freshdeskAccounts-count">
           <span>{{vm.selectedFreshdeskAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllFreshdeskAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectFreshdeskAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedFreshdeskAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,14 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
                   {{ 'INTEGRATIONS.URI' | translate }}
@@ -171,7 +169,7 @@
               <tr md-row ng-hide="vm.freshdeskAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -235,7 +233,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -296,7 +294,8 @@
           md-total="{{vm.freshdeskAccounts.count}}"
           md-on-paginate="vm.getFreshdeskAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / FRESHDESKACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/create/dialog.html/dialog.html
index 8b58cdc..9a9f2b8 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -74,7 +74,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -107,7 +107,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.APIKEY">ApiKey</label>
+        <label translate="APP.APIKEY">ApiKey</label>
         <input
           type="text"
           name="apiKey"
@@ -121,7 +121,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.APIKEY_REQUIRED"
+            <span translate="APP.ERRORS.APIKEY_REQUIRED"
               >ApiKey field is required</span
             >
           </div>
@@ -160,7 +160,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -215,8 +215,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshsalesAccountForm.$invalid || freshsalesAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -241,12 +241,10 @@
           ng-click="vm.deleteFreshsalesAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/configurations/dialog.html/dialog.html
index 4b2954d..2c303d4 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/configurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.freshsalesConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.freshsalesConfiguration.type"
@@ -106,7 +106,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -148,8 +148,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshsalesConfigurationForm.$invalid || freshsalesConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -174,12 +174,10 @@
           ng-click="vm.deleteFreshsalesConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/item/dialog.html/dialog.html
index a665e2b..c9fc229 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshsalesAccountItemForm.$invalid || freshsalesAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="freshsalesAccountItemForm.$invalid || freshsalesAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,22 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="freshsalesAccountItemForm.type.$error" ng-show="freshsalesAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="freshsalesAccountItemForm.type.$error" ng-show="freshsalesAccountItemForm.type.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +360,61 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="freshsalesAccountItemForm.option.$error"
-          ng-show="freshsalesAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="freshsalesAccountItemForm.option.$error" ng-show="freshsalesAccountItemForm.option.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="freshsalesAccountItemForm.content.$error"
-          ng-show="freshsalesAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="freshsalesAccountItemForm.content.$error" ng-show="freshsalesAccountItemForm.content.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="freshsalesAccountItemForm.variableName.$error"
-          ng-show="freshsalesAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="freshsalesAccountItemForm.variableName.$error"
+      ng-show="freshsalesAccountItemForm.variableName.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +422,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +430,13 @@
             </md-select>
         <div ng-messages="freshsalesAccountItemForm.type.$error" ng-show="freshsalesAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="freshsalesAccountItemForm.content.$error"
           ng-show="freshsalesAccountItemForm.content.$touched" role="alert">
@@ -448,7 +447,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +469,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/view.html/view.html
index 2f018a2..70f2bbb 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.freshsalesAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="freshsalesAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -91,14 +91,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -113,7 +113,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -147,7 +147,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.APIKEY">ApiKey</label>
+                <label translate="APP.APIKEY">ApiKey</label>
                 <input
                   type="text"
                   name="apiKey"
@@ -162,7 +162,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.APIKEY_REQUIRED"
+                    <span translate="APP.ERRORS.APIKEY_REQUIRED"
                       >ApiKey field is required</span
                     >
                   </div>
@@ -203,7 +203,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -281,7 +281,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -348,7 +348,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -365,15 +365,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -458,7 +452,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -544,7 +538,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -561,15 +555,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -654,7 +642,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
diff --git a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/freshsalesAccounts.html/freshsalesAccounts.html b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/freshsalesAccounts.html/freshsalesAccounts.html
index 00e6189..0ed58f6 100644
--- a/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/freshsalesAccounts.html/freshsalesAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/freshsalesAccounts/freshsalesAccounts.html/freshsalesAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-freshsalesAccounts-count">
           <span>{{vm.selectedFreshsalesAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllFreshsalesAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectFreshsalesAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedFreshsalesAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,14 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
                   {{ 'INTEGRATIONS.URI' | translate }}
@@ -171,7 +169,7 @@
               <tr md-row ng-hide="vm.freshsalesAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -235,7 +233,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -296,7 +294,8 @@
           md-total="{{vm.freshsalesAccounts.count}}"
           md-on-paginate="vm.getFreshsalesAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / FRESHSALESACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/create/dialog.html/dialog.html
index ee6dd87..e21397a 100644
--- a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,21 +53,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.salesforceAccount.type" required>
           <md-option ng-value="'integrationTab'">
             {{ 'INTEGRATIONS.INTEGRATION_TAB' | translate }}
           </md-option>
 
           <md-option ng-value="'newTab'">
-            {{ 'INTEGRATIONS.NEW_TAB' | translate }}
+            {{ 'APP.NEW_TAB' | translate }}
           </md-option>
         </md-select>
         <div
@@ -76,14 +76,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -97,7 +97,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -130,14 +130,14 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.salesforceAccount.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div
@@ -145,7 +145,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -255,7 +255,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -310,8 +310,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="salesforceAccountForm.$invalid || salesforceAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -336,12 +336,10 @@
           ng-click="vm.deleteSalesforceAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/configurations/dialog.html/dialog.html
index c0ce800..95ace71 100644
--- a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/configurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.salesforceConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.salesforceConfiguration.type"
@@ -106,7 +106,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -175,8 +175,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="salesforceConfigurationForm.$invalid || salesforceConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -201,12 +201,10 @@
           ng-click="vm.deleteSalesforceConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/item/dialog.html/dialog.html
index b58414d..6a39613 100644
--- a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="salesforceAccountItemForm.$invalid || salesforceAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="salesforceAccountItemForm.$invalid || salesforceAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,22 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="salesforceAccountItemForm.type.$error" ng-show="salesforceAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="salesforceAccountItemForm.type.$error" ng-show="salesforceAccountItemForm.type.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +360,61 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="salesforceAccountItemForm.option.$error"
-          ng-show="salesforceAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="salesforceAccountItemForm.option.$error" ng-show="salesforceAccountItemForm.option.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="salesforceAccountItemForm.content.$error"
-          ng-show="salesforceAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="salesforceAccountItemForm.content.$error" ng-show="salesforceAccountItemForm.content.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="salesforceAccountItemForm.variableName.$error"
-          ng-show="salesforceAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="salesforceAccountItemForm.variableName.$error"
+      ng-show="salesforceAccountItemForm.variableName.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +422,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +430,13 @@
             </md-select>
         <div ng-messages="salesforceAccountItemForm.type.$error" ng-show="salesforceAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="salesforceAccountItemForm.content.$error"
           ng-show="salesforceAccountItemForm.content.$touched" role="alert">
@@ -448,7 +447,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +469,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/view.html/view.html
index c45db6d..6f84937 100644
--- a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.salesforceAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="salesforceAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -91,14 +91,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <md-select
                   name="type"
                   ng-model="vm.salesforceAccount.type"
@@ -110,7 +110,7 @@
                   </md-option>
 
                   <md-option ng-value="'newTab'">
-                    {{ 'INTEGRATIONS.NEW_TAB' | translate }}
+                    {{ 'APP.NEW_TAB' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -119,14 +119,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -141,7 +141,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -175,19 +175,19 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.salesforceAccount.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -307,7 +307,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -385,7 +385,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -452,7 +452,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -469,15 +469,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -562,7 +556,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -648,7 +642,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -665,15 +659,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -758,7 +746,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -799,7 +787,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -842,7 +830,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -859,15 +847,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -948,7 +930,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -989,7 +971,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.ADVANCED">ADVANCED</span>
+                      <span translate="APP.ADVANCED">ADVANCED</span>
                     </md-tab-label>
                     <md-tab-body>
                       <div layout-margin>
@@ -1002,7 +984,8 @@
                           <md-option
                             ng-value="option.key"
                             ng-repeat="option in [{key: 'contact_lead', value: 'Contact & Lead'}, {key: 'contact', value: 'Contact'}, {key: 'lead', value: 'Lead'}]"
-                            >{{ option.value }}</md-option
+                          >
+                            {{ option.value }}</md-option
                         </md-select>
                       </div>
@@ -1016,7 +999,8 @@
                           <md-option
                             ng-value="option.key"
                             ng-repeat="option in [{key: 'nothing', value: 'Nothing'}, {key: 'contact', value: 'Contact'}, {key: 'lead', value: 'Lead'}]"
-                            >{{ option.value }}</md-option
+                          >
+                            {{ option.value }}</md-option
                         </md-select>
                       </div>
diff --git a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/salesforceAccounts.html/salesforceAccounts.html b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/salesforceAccounts.html/salesforceAccounts.html
index d634a0a..b45c6ab 100644
--- a/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/salesforceAccounts.html/salesforceAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/salesforceAccounts/salesforceAccounts.html/salesforceAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-salesforceAccounts-count">
           <span>{{vm.selectedSalesforceAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllSalesforceAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectSalesforceAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedSalesforceAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,14 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
                   {{ 'INTEGRATIONS.URI' | translate }}
@@ -171,7 +169,7 @@
               <tr md-row ng-hide="vm.salesforceAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -235,7 +233,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -296,7 +294,8 @@
           md-total="{{vm.salesforceAccounts.count}}"
           md-on-paginate="vm.getSalesforceAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / SALESFORCEACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/create/dialog.html/dialog.html
index 69ed457..4d15c78 100644
--- a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -74,21 +74,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.servicenowAccount.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div
@@ -96,7 +96,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -111,7 +111,7 @@
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.EMAIL">Email</label>
+        <label translate="APP.EMAIL">Email</label>
         <input
           type="email"
           name="email"
@@ -125,19 +125,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.EMAIL_REQUIRED"
+            <span translate="APP.ERRORS.EMAIL_REQUIRED"
               >Email field is required</span
             >
           </div>
           <div ng-message="email">
-            <span translate="INTEGRATIONS.ERRORS.EMAIL_MUST_VALID"
+            <span translate="APP.ERRORS.EMAIL_MUST_VALID"
               >Email must be a valid e-mail address</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.HOST">Host</label>
+        <label translate="APP.HOST">Host</label>
         <input
           type="url"
           name="remoteUri"
@@ -151,7 +151,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.HOST_REQUIRED"
+            <span translate="APP.ERRORS.HOST_REQUIRED"
               >Host field is required</span
             >
           </div>
@@ -195,7 +195,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -250,8 +250,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="servicenowAccountForm.$invalid || servicenowAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -276,12 +276,10 @@
           ng-click="vm.deleteServicenowAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/configurations/dialog.html/dialog.html
index 8ddffbf..44dd74e 100644
--- a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/configurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.servicenowConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.servicenowConfiguration.type"
@@ -106,7 +106,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -148,8 +148,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="servicenowConfigurationForm.$invalid || servicenowConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -174,12 +174,10 @@
           ng-click="vm.deleteServicenowConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/item/dialog.html/dialog.html
index b138688..012df21 100644
--- a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="servicenowAccountItemForm.$invalid || servicenowAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="servicenowAccountItemForm.$invalid || servicenowAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,22 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="servicenowAccountItemForm.type.$error" ng-show="servicenowAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="servicenowAccountItemForm.type.$error" ng-show="servicenowAccountItemForm.type.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +360,61 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="servicenowAccountItemForm.option.$error"
-          ng-show="servicenowAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="servicenowAccountItemForm.option.$error" ng-show="servicenowAccountItemForm.option.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="servicenowAccountItemForm.content.$error"
-          ng-show="servicenowAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="servicenowAccountItemForm.content.$error" ng-show="servicenowAccountItemForm.content.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="servicenowAccountItemForm.variableName.$error"
-          ng-show="servicenowAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="servicenowAccountItemForm.variableName.$error"
+      ng-show="servicenowAccountItemForm.variableName.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +422,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +430,13 @@
             </md-select>
         <div ng-messages="servicenowAccountItemForm.type.$error" ng-show="servicenowAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="servicenowAccountItemForm.content.$error"
           ng-show="servicenowAccountItemForm.content.$touched" role="alert">
@@ -448,7 +447,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +469,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/view.html/view.html
index 2d578bd..ffb65e8 100644
--- a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.servicenowAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="servicenowAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -91,14 +91,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -113,26 +113,26 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.servicenowAccount.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -148,7 +148,7 @@
               </md-input-container>
 
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.EMAIL">Email</label>
+                <label translate="APP.EMAIL">Email</label>
                 <input
                   type="email"
                   name="email"
@@ -163,19 +163,19 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.EMAIL_REQUIRED"
+                    <span translate="APP.ERRORS.EMAIL_REQUIRED"
                       >Email field is required</span
                     >
                   </div>
                   <div ng-message="email">
-                    <span translate="INTEGRATIONS.ERRORS.EMAIL_MUST_VALID"
+                    <span translate="APP.ERRORS.EMAIL_MUST_VALID"
                       >Email must be a valid e-mail address</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.HOST">Host</label>
+                <label translate="APP.HOST">Host</label>
                 <input
                   type="url"
                   name="remoteUri"
@@ -190,7 +190,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.HOST_REQUIRED"
+                    <span translate="APP.ERRORS.HOST_REQUIRED"
                       >Host field is required</span
                     >
                   </div>
@@ -236,7 +236,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -314,7 +314,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -381,7 +381,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -398,15 +398,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -491,7 +485,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -577,7 +571,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -594,15 +588,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -687,7 +675,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
diff --git a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/servicenowAccounts.html/servicenowAccounts.html b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/servicenowAccounts.html/servicenowAccounts.html
index ce838e7..4521d3c 100644
--- a/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/servicenowAccounts.html/servicenowAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/servicenowAccounts/servicenowAccounts.html/servicenowAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-servicenowAccounts-count">
           <span>{{vm.selectedServicenowAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllServicenowAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectServicenowAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedServicenowAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,20 +152,18 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="email">
-                  {{ 'INTEGRATIONS.EMAIL' | translate }}
+                  {{ 'APP.EMAIL' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
-                  {{ 'INTEGRATIONS.HOST' | translate }}
+                  {{ 'APP.HOST' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -174,7 +172,7 @@
               <tr md-row ng-hide="vm.servicenowAccounts.rows.length">
                 <td md-cell colspan="6">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -245,7 +243,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -308,7 +306,8 @@
           md-total="{{vm.servicenowAccounts.count}}"
           md-on-paginate="vm.getServicenowAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / SERVICENOWACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/create/dialog.html/dialog.html
index ff5b70f..5487c2c 100644
--- a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -74,7 +74,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -107,19 +107,19 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.sugarcrmAccount.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div ng-messages="sugarcrmAccountForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -166,7 +166,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -221,8 +221,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="sugarcrmAccountForm.$invalid || sugarcrmAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -247,12 +247,10 @@
           ng-click="vm.deleteSugarcrmAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/configurations/dialog.html/dialog.html
index b30fb49..fb94897 100644
--- a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/configurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.sugarcrmConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.sugarcrmConfiguration.type"
@@ -106,7 +106,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -148,8 +148,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="sugarcrmConfigurationForm.$invalid || sugarcrmConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -174,12 +174,10 @@
           ng-click="vm.deleteSugarcrmConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/item/dialog.html/dialog.html
index 61ee715..c825edb 100644
--- a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="sugarcrmAccountItemForm.$invalid || sugarcrmAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="sugarcrmAccountItemForm.$invalid || sugarcrmAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,21 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="sugarcrmAccountItemForm.type.$error" ng-show="sugarcrmAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="sugarcrmAccountItemForm.type.$error" ng-show="sugarcrmAccountItemForm.type.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +359,61 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="sugarcrmAccountItemForm.option.$error"
-          ng-show="sugarcrmAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="sugarcrmAccountItemForm.option.$error" ng-show="sugarcrmAccountItemForm.option.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="sugarcrmAccountItemForm.content.$error"
-          ng-show="sugarcrmAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="sugarcrmAccountItemForm.content.$error" ng-show="sugarcrmAccountItemForm.content.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="sugarcrmAccountItemForm.variableName.$error"
-          ng-show="sugarcrmAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="sugarcrmAccountItemForm.variableName.$error" ng-show="sugarcrmAccountItemForm.variableName.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +421,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +429,13 @@
             </md-select>
         <div ng-messages="sugarcrmAccountItemForm.type.$error" ng-show="sugarcrmAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="sugarcrmAccountItemForm.content.$error"
           ng-show="sugarcrmAccountItemForm.content.$touched" role="alert">
@@ -448,7 +446,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +468,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/view.html/view.html
index bdb84c0..db21f04 100644
--- a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.sugarcrmAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="sugarcrmAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -91,14 +91,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -113,7 +113,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -147,19 +147,19 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.sugarcrmAccount.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -209,7 +209,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -287,7 +287,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -354,7 +354,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -371,15 +371,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -464,7 +458,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -550,7 +544,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -567,15 +561,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -660,7 +648,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -701,7 +689,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -744,7 +732,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -761,15 +749,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -850,7 +832,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
diff --git a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/sugarcrmAccounts.html/sugarcrmAccounts.html b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/sugarcrmAccounts.html/sugarcrmAccounts.html
index e305658..072fc35 100644
--- a/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/sugarcrmAccounts.html/sugarcrmAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/sugarcrmAccounts/sugarcrmAccounts.html/sugarcrmAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-sugarcrmAccounts-count">
           <span>{{vm.selectedSugarcrmAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllSugarcrmAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectSugarcrmAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedSugarcrmAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,14 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
                   {{ 'INTEGRATIONS.URI' | translate }}
@@ -171,7 +169,7 @@
               <tr md-row ng-hide="vm.sugarcrmAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -235,7 +233,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -296,7 +294,8 @@
           md-total="{{vm.sugarcrmAccounts.count}}"
           md-on-paginate="vm.getSugarcrmAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / SUGARCRMACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/create/dialog.html/dialog.html
index 3c07f6a..b515a51 100644
--- a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -124,7 +124,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.HOST">Host</label>
+        <label translate="APP.HOST">Host</label>
         <input
           type="url"
           name="remoteUri"
@@ -138,7 +138,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.HOST_REQUIRED"
+            <span translate="APP.ERRORS.HOST_REQUIRED"
               >Host field is required</span
             >
           </div>
@@ -217,8 +217,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="vtigerAccountForm.$invalid || vtigerAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -243,12 +243,10 @@
           ng-click="vm.deleteVtigerAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/configurations/dialog.html/dialog.html
index a4a8663..c2b76f7 100644
--- a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/configurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.vtigerConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.vtigerConfiguration.type" required>
           <md-option ng-value="'inbound'">
             {{ 'INTEGRATIONS.INBOUND_IN_QUEUE' | translate }}
@@ -102,7 +102,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -144,8 +144,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="vtigerConfigurationForm.$invalid || vtigerConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -170,12 +170,10 @@
           ng-click="vm.deleteVtigerConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/item/dialog.html/dialog.html
index e5dc68a..26e1c05 100644
--- a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="vtigerAccountItemForm.$invalid || vtigerAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="vtigerAccountItemForm.$invalid || vtigerAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,21 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="vtigerAccountItemForm.type.$error" ng-show="vtigerAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="vtigerAccountItemForm.type.$error" ng-show="vtigerAccountItemForm.type.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +359,59 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="vtigerAccountItemForm.option.$error"
-          ng-show="vtigerAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="vtigerAccountItemForm.option.$error" ng-show="vtigerAccountItemForm.option.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="vtigerAccountItemForm.content.$error"
-          ng-show="vtigerAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="vtigerAccountItemForm.content.$error" ng-show="vtigerAccountItemForm.content.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="vtigerAccountItemForm.variableName.$error"
-          ng-show="vtigerAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="vtigerAccountItemForm.variableName.$error" ng-show="vtigerAccountItemForm.variableName.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +419,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +427,13 @@
             </md-select>
         <div ng-messages="vtigerAccountItemForm.type.$error" ng-show="vtigerAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="vtigerAccountItemForm.content.$error"
           ng-show="vtigerAccountItemForm.content.$touched" role="alert">
@@ -448,7 +444,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +466,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/view.html/view.html
index d0ef919..1e2bb4a 100644
--- a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/edit/view.html/view.html
@@ -27,7 +27,7 @@
             <span ng-if="vm.vtigerAccount.name">{{vm.vtigerAccount.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.vtigerAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -40,8 +40,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -60,20 +60,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="vtigerAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -89,14 +89,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -164,7 +164,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.HOST">Host</label>
+                <label translate="APP.HOST">Host</label>
                 <input
                   type="url"
                   name="remoteUri"
@@ -179,7 +179,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.HOST_REQUIRED"
+                    <span translate="APP.ERRORS.HOST_REQUIRED"
                       >Host field is required</span
                     >
                   </div>
@@ -282,7 +282,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -349,7 +349,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -366,15 +366,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -459,7 +453,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -545,7 +539,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -562,15 +556,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -655,7 +643,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -696,7 +684,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -739,7 +727,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -756,15 +744,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -845,7 +827,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
diff --git a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/vtigerAccounts.html/vtigerAccounts.html b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/vtigerAccounts.html/vtigerAccounts.html
index dbe5a7d..8ca67cb 100644
--- a/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/vtigerAccounts.html/vtigerAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/vtigerAccounts/vtigerAccounts.html/vtigerAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedVtigerAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-vtigerAccounts-count">
           <span>{{vm.selectedVtigerAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllVtigerAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectVtigerAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedVtigerAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,17 +149,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
                   {{ 'INTEGRATIONS.VTIGER_USER_NAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
-                  {{ 'INTEGRATIONS.HOST' | translate }}
+                  {{ 'APP.HOST' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -168,7 +166,7 @@
               <tr md-row ng-hide="vm.vtigerAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -232,7 +230,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -293,7 +291,8 @@
           md-total="{{vm.vtigerAccounts.count}}"
           md-on-paginate="vm.getVtigerAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / VTIGERACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/create/dialog.html/dialog.html
index 1e7670e..77b986a 100644
--- a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,21 +53,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.zendeskAccount.type" required>
           <md-option ng-value="'integrationTab'">
             {{ 'INTEGRATIONS.INTEGRATION_TAB' | translate }}
           </md-option>
 
           <md-option ng-value="'newTab'">
-            {{ 'INTEGRATIONS.NEW_TAB' | translate }}
+            {{ 'APP.NEW_TAB' | translate }}
           </md-option>
         </md-select>
         <div
@@ -76,14 +76,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -97,7 +97,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -155,19 +155,19 @@
         class="md-block"
         ng-if="vm.zendeskAccount.authType == 'password'"
-        <label translate="INTEGRATIONS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.zendeskAccount.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div ng-messages="zendeskAccountForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -185,7 +185,7 @@
         ng-if="vm.zendeskAccount.authType == 'token'"
         class="md-block"
-        <label translate="INTEGRATIONS.TOKEN">Token</label>
+        <label translate="APP.TOKEN">Token</label>
         <input
           type="text"
           name="token"
@@ -199,7 +199,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TOKEN_REQUIRED"
+            <span translate="APP.ERRORS.TOKEN_REQUIRED"
               >Token field is required</span
             >
           </div>
@@ -238,7 +238,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -293,8 +293,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zendeskAccountForm.$invalid || zendeskAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -319,12 +319,10 @@
           ng-click="vm.deleteZendeskAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/item/dialog.html/dialog.html
index ffed286..86a091b 100644
--- a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zendeskAccountItemForm.$invalid || zendeskAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zendeskAccountItemForm.$invalid || zendeskAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,21 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="zendeskAccountItemForm.type.$error" ng-show="zendeskAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="zendeskAccountItemForm.type.$error" ng-show="zendeskAccountItemForm.type.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +359,60 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="zendeskAccountItemForm.option.$error"
-          ng-show="zendeskAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="zendeskAccountItemForm.option.$error" ng-show="zendeskAccountItemForm.option.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="zendeskAccountItemForm.content.$error"
-          ng-show="zendeskAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="zendeskAccountItemForm.content.$error" ng-show="zendeskAccountItemForm.content.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="zendeskAccountItemForm.variableName.$error"
-          ng-show="zendeskAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="zendeskAccountItemForm.variableName.$error" ng-show="zendeskAccountItemForm.variableName.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +420,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +428,13 @@
             </md-select>
         <div ng-messages="zendeskAccountItemForm.type.$error" ng-show="zendeskAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="zendeskAccountItemForm.content.$error"
           ng-show="zendeskAccountItemForm.content.$touched" role="alert">
@@ -448,7 +445,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +467,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/view.html/view.html
index 13af5aa..1664e2a 100644
--- a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.zendeskAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (zendeskConfigurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="zendeskAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -91,14 +91,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <md-select
                   name="type"
                   ng-model="vm.zendeskAccount.type"
@@ -110,7 +110,7 @@
                   </md-option>
 
                   <md-option ng-value="'newTab'">
-                    {{ 'INTEGRATIONS.NEW_TAB' | translate }}
+                    {{ 'APP.NEW_TAB' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -119,14 +119,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -141,7 +141,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -201,19 +201,19 @@
                 class="md-block"
                 ng-if="vm.zendeskAccount.authType == 'password'"
-                <label translate="INTEGRATIONS.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.zendeskAccount.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="INTEGRATIONS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -232,7 +232,7 @@
                 ng-if="vm.zendeskAccount.authType == 'token'"
                 class="md-block"
-                <label translate="INTEGRATIONS.TOKEN">Token</label>
+                <label translate="APP.TOKEN">Token</label>
                 <input
                   type="text"
                   name="token"
@@ -247,7 +247,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.TOKEN_REQUIRED"
+                    <span translate="APP.ERRORS.TOKEN_REQUIRED"
                       >Token field is required</span
                     >
                   </div>
@@ -288,7 +288,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -366,7 +366,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -436,7 +436,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -453,15 +453,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -546,7 +540,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -632,7 +626,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -649,15 +643,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -742,7 +730,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -783,7 +771,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -826,7 +814,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -843,15 +831,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -932,7 +914,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -973,12 +955,12 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.TAGS">TAGS</span>
+                      <span translate="APP.TAGS">TAGS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-table-container class="md-whiteframe-1dp padding-20">
                         <md-input-container class="md-block">
-                          <label translate="INTEGRATIONS.TAGS">Tags</label>
+                          <label translate="APP.TAGS">Tags</label>
                           <md-select
                             ng-model="vm_cc.selectedTags"
                             ng-change="vm_cc.selectTagsChanged($event)"
diff --git a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/zendeskConfigurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/zendeskConfigurations/dialog.html/dialog.html
index d68d38e..81e34ad 100644
--- a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/zendeskConfigurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/edit/zendeskConfigurations/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -56,21 +56,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.zendeskConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -86,7 +86,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.zendeskConfiguration.type" required>
           <md-option ng-value="'inbound'">
             {{ 'INTEGRATIONS.INBOUND_IN_QUEUE' | translate }}
@@ -102,7 +102,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -144,8 +144,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zendeskConfigurationForm.$invalid || zendeskConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -170,12 +170,10 @@
           ng-click="vm.deleteZendeskConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/zendeskAccounts.html/zendeskAccounts.html b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/zendeskAccounts.html/zendeskAccounts.html
index 1d1586b..c9b0fe0 100644
--- a/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/zendeskAccounts.html/zendeskAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/zendeskAccounts/zendeskAccounts.html/zendeskAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedZendeskAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-zendeskAccounts-count">
           <span>{{vm.selectedZendeskAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllZendeskAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectZendeskAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedZendeskAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,14 +149,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="username">
-                  {{ 'INTEGRATIONS.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="remoteUri">
                   {{ 'INTEGRATIONS.URI' | translate }}
@@ -168,7 +166,7 @@
               <tr md-row ng-hide="vm.zendeskAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -232,7 +230,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -293,7 +291,8 @@
           md-total="{{vm.zendeskAccounts.count}}"
           md-on-paginate="vm.getZendeskAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / ZENDESKACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/create/dialog.html/dialog.html
index 08ec333..05ad705 100644
--- a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.HOST">Host</label>
+        <label translate="APP.HOST">Host</label>
         <md-select name="host" ng-model="vm.zohoAccount.host" required>
           <md-option ng-value="'zoho.com'">zoho.com</md-option>
           <md-option ng-value="'zoho.eu'">zoho.eu</md-option>
@@ -71,7 +71,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.HOST_REQUIRED"
+            <span translate="APP.ERRORS.HOST_REQUIRED"
               >Host field is required</span
             >
           </div>
@@ -202,7 +202,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -257,8 +257,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zohoAccountForm.$invalid || zohoAccountForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -283,12 +283,10 @@
           ng-click="vm.deleteZohoAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/configurations/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/configurations/dialog.html/dialog.html
index 26628de..860dde1 100644
--- a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/configurations/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/configurations/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type=""
           name="name"
@@ -53,21 +53,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.zohoConfiguration.channel"
           required
           <md-option ng-value="'voice'">
-            {{ 'INTEGRATIONS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -83,7 +83,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.zohoConfiguration.type" required>
           <md-option ng-value="'inbound'">
             {{ 'INTEGRATIONS.INBOUND_IN_QUEUE' | translate }}
@@ -99,7 +99,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -141,8 +141,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zohoConfigurationForm.$invalid || zohoConfigurationForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -167,12 +167,10 @@
           ng-click="vm.deleteZohoConfiguration($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/item/dialog.html/dialog.html b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/item/dialog.html/dialog.html
index ed123e9..597a953 100644
--- a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/item/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/item/dialog.html/dialog.html
@@ -47,7 +47,7 @@
         <div ng-switch-when="description">
           <!-- DESCRIPTION SECTION -->
           <md-input-container class="md-block">
-            <label translate="INTEGRATIONS.TYPE">Type</label>
+            <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
               <md-option value="string">String</md-option>
               <md-option value="keyValue">Key Value</md-option>
@@ -58,14 +58,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                <span translate="APP.ERRORS.TYPE_REQUIRED"
                   >Type field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-            <label translate="INTEGRATIONS.CONTENT">Content</label>
+            <label translate="APP.CONTENT">Content</label>
             <input
               type="text"
               name="content"
@@ -87,7 +87,7 @@
           </md-input-container>
           <div ng-if="vm.item.type == 'keyValue'">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.KEY">Key</label>
+              <label translate="APP.KEY">Key</label>
               <input
                 type="text"
                 name="key"
@@ -101,7 +101,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.KEY_REQUIRED"
+                  <span translate="APP.ERRORS.KEY_REQUIRED"
                     >Key field is required</span
                   >
                 </div>
@@ -109,7 +109,7 @@
             </md-input-container>
 
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.TYPE">Type</label>
+              <label translate="APP.TYPE">Type</label>
               <md-select name="keyType" ng-model="vm.item.keyType" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -121,7 +121,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED"
+                  <span translate="APP.ERRORS.TYPE_REQUIRED"
                     >Type field is required</span
                   >
                 </div>
@@ -132,7 +132,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'string'"
-              <label translate="INTEGRATIONS.CONTENT">Content</label>
+              <label translate="APP.CONTENT">Content</label>
               <input
                 type="text"
                 name="keyContent"
@@ -157,7 +157,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'variable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select
                 name="variableName"
                 ng-model="vm.item.variableName"
@@ -168,15 +168,16 @@
                   <md-option
                     ng-value="agentColumn"
                     ng-repeat="agentColumn in vm.voiceAgentReportColumns"
-                    >{{agentColumn}}
+                  >
+                    {{agentColumn}}
                   </md-option>
                 </md-optgroup>
                 <md-optgroup label="Voice: Outbound">
                   <md-option
                     ng-value="dialColumn"
                     ng-repeat="dialColumn in vm.voiceDialReportColumns"
-                    >{{dialColumn}}</md-option
-                  >
+                    >{{dialColumn}}
+                  </md-option>
                 </md-optgroup>
               </md-select>
               <div
@@ -196,7 +197,7 @@
               class="md-block"
               ng-if="vm.item.keyType == 'customVariable'"
-              <label translate="INTEGRATIONS.VALUE">Value</label>
+              <label translate="APP.VALUE">Value</label>
               <md-select ng-model="vm.item.VariableId" required>
                 <md-option
                   ng-value="variable.id"
@@ -212,7 +213,7 @@
           <!-- FIELD SECTION -->
           <div ng-if="vm.accountConnected">
             <md-input-container class="md-block">
-              <label translate="INTEGRATIONS.FIELD">FIELD</label>
+              <label translate="APP.FIELD">FIELD</label>
               <!-- ITEM TYPE DEFAULT VALUE is STRING -->
               <md-select
                 name="customField"
@@ -224,7 +225,8 @@
                   <md-option
                     ng-value="standard"
                     ng-repeat="standard in vm.fields | filter: {custom: false} "
-                    >{{standard.name}}
+                  >
+                    {{standard.name}}
                   </md-option>
                 </md-optgroup>
 
@@ -242,7 +244,7 @@
                 role="alert"
                 <div ng-message="required">
-                  <span translate="INTEGRATIONS.ERRORS.FIELD_REQUIRED"
+                  <span translate="APP.ERRORS.FIELD_REQUIRED"
                     >Field is required</span
                 </div>
@@ -297,8 +299,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zohoAccountItemForm.$invalid || zohoAccountItemForm.$pristine"
           aria-label="SAVE"
-          translate="INTEGRATIONS.SAVE"
-          translate-attr-aria-label="INTEGRATIONS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -310,8 +312,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="zohoAccountItemForm.$invalid || zohoAccountItemForm.$pristine"
           aria-label="ADD"
-          translate="INTEGRATIONS.ADD"
-          translate-attr-aria-label="INTEGRATIONS.ADD"
+          translate="APP.ADD"
+          translate-attr-aria-label="APP.ADD"
           ADD
         </md-button>
@@ -323,12 +325,10 @@
           ng-click="vm.deleteItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="INTEGRATIONS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="INTEGRATIONS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
@@ -337,22 +337,21 @@
 
 <script type="text/ng-template" id="/fields.html">
 
-  <!-- type -->
+    <!-- type -->
   <md-input-container class="md-block" ng-if="!vm.customField.options.length">
 
-      <label translate="INTEGRATIONS.TYPE">Type</label>
-      <md-select name="type" ng-model="vm.item.type" required>
+    <label translate="APP.TYPE">Type</label>
+    <md-select name="type" ng-model="vm.item.type" required>
 
-          <md-option value="string">String</md-option>
-          <md-option value="variable">Variable</md-option>
-          <md-option value="customVariable">Custom Variable</md-option>
-      </md-select>
-      <div ng-messages="zohoAccountItemForm.type.$error" ng-show="zohoAccountItemForm.type.$touched"
-          role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
-          </div>
+      <md-option value="string">String</md-option>
+      <md-option value="variable">Variable</md-option>
+      <md-option value="customVariable">Custom Variable</md-option>
+    </md-select>
+    <div ng-messages="zohoAccountItemForm.type.$error" ng-show="zohoAccountItemForm.type.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <!--/ type -->
@@ -360,62 +359,59 @@
   <!-- value -->
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && vm.customField.options.length">
-      <!-- options -->
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <!-- options -->
+    <label translate="APP.CONTENT">Content</label>
 
-      <md-select name="option" ng-model="vm.item.content" required>
-          <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
-      </md-select>
+    <md-select name="option" ng-model="vm.item.content" required>
+      <md-option ng-value="option.value" ng-repeat="option in vm.customField.options">{{option.name}}</md-option>
+    </md-select>
 
-      <div ng-messages="zohoAccountItemForm.option.$error"
-          ng-show="zohoAccountItemForm.option.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VALUE_REQUIRED">Value field is required</span>
-          </div>
+    <div ng-messages="zohoAccountItemForm.option.$error" ng-show="zohoAccountItemForm.option.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="APP.ERRORS.VALUE_REQUIRED">Value field is required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string' && !vm.customField.options.length">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+    <label translate="APP.CONTENT">Content</label>
 
-      <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
+    <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
 
-      <div ng-messages="zohoAccountItemForm.content.$error"
-          ng-show="zohoAccountItemForm.content.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
-                  required</span>
-          </div>
+    <div ng-messages="zohoAccountItemForm.content.$error" ng-show="zohoAccountItemForm.content.$touched" role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.CONTENT_REQUIRED">Content field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
-          required>
-          <md-optgroup label="Voice: Queue">
-              <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
-              </md-option>
-          </md-optgroup>
-          <md-optgroup label="Voice: Outbound">
-              <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
-              </md-option>
-          </md-optgroup>
-      </md-select>
-      <div ng-messages="zohoAccountItemForm.variableName.$error"
-          ng-show="zohoAccountItemForm.variableName.$touched" role="alert">
-          <div ng-message="required">
-              <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
-                  required</span>
-          </div>
+    <label translate="APP.VALUE">Value</label>
+    <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()" required>
+      <md-optgroup label="Voice: Queue">
+        <md-option ng-value="agentColumn" ng-repeat="agentColumn in vm.voiceAgentReportColumns">{{agentColumn}}
+        </md-option>
+      </md-optgroup>
+      <md-optgroup label="Voice: Outbound">
+        <md-option ng-value="dialColumn" ng-repeat="dialColumn in vm.voiceDialReportColumns">{{dialColumn}}
+        </md-option>
+      </md-optgroup>
+    </md-select>
+    <div ng-messages="zohoAccountItemForm.variableName.$error" ng-show="zohoAccountItemForm.variableName.$touched"
+      role="alert">
+      <div ng-message="required">
+        <span translate="INTEGRATIONS.ERRORS.VARIABLENAME_REQUIRED">Variable name field is
+          required</span>
       </div>
+    </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
-      <md-select ng-model="vm.item.VariableId" required>
-          <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
-      </md-select>
+    <label translate="APP.VALUE">Value</label>
+    <md-select ng-model="vm.item.VariableId" required>
+      <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
+    </md-select>
   </md-input-container>
 
   <!--/ value -->
@@ -423,7 +419,7 @@
 
 <script type="text/ng-template" id="/subject.html">
     <md-input-container class="md-block">
-        <label translate="INTEGRATIONS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
             <md-select name="type" ng-model="vm.item.type" required>
                 <md-option value="string">String</md-option>
                 <md-option value="variable">Variable</md-option>
@@ -431,13 +427,13 @@
             </md-select>
         <div ng-messages="zohoAccountItemForm.type.$error" ng-show="zohoAccountItemForm.type.$touched" role="alert">
             <div ng-message="required">
-                <span translate="INTEGRATIONS.ERRORS.TYPE_REQUIRED">Type field is required</span>
+                <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
              </div>
         </div>
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'string'">
-      <label translate="INTEGRATIONS.CONTENT">Content</label>
+      <label translate="APP.CONTENT">Content</label>
       <input type="text" name="content" ng-model="vm.item.content" required md-autofocus>
       <div ng-messages="zohoAccountItemForm.content.$error"
           ng-show="zohoAccountItemForm.content.$touched" role="alert">
@@ -448,7 +444,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'variable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select name="variableName" ng-model="vm.item.variableName" md-selected-text="vm.getSelectedVariable()"
           required>
           <md-optgroup label="Voice: Queue">
@@ -470,7 +466,7 @@
   </md-input-container>
 
   <md-input-container class="md-block" ng-if="vm.item.type == 'customVariable'">
-      <label translate="INTEGRATIONS.VALUE">Value</label>
+      <label translate="APP.VALUE">Value</label>
       <md-select ng-model="vm.item.VariableId" required>
           <md-option ng-value="variable.id" ng-repeat="variable in vm.variables">{{variable.name}}</md-option>
       </md-select>
diff --git a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/view.html/view.html
index 1c5c401..92930a7 100644
--- a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/edit/view.html/view.html
@@ -27,7 +27,7 @@
             <span ng-if="vm.zohoAccount.name">{{vm.zohoAccount.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="INTEGRATIONS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.zohoAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -40,8 +40,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
-        translate="INTEGRATIONS.SAVE"
-        translate-attr-aria-label="INTEGRATIONS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -60,20 +60,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="zohoAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -89,14 +89,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.HOST">Host</label>
+                <label translate="APP.HOST">Host</label>
                 <md-select
                   name="host"
                   ng-model="vm.zohoAccount.host"
@@ -112,7 +112,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="INTEGRATIONS.ERRORS.HOST_REQUIRED"
+                    <span translate="APP.ERRORS.HOST_REQUIRED"
                       >Host field is required</span
                     >
                   </div>
@@ -285,7 +285,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -363,7 +363,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="INTEGRATIONS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -430,7 +430,7 @@
                             ng-click="vm_cc.deleteSelectedSubjects($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -447,15 +447,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -540,7 +534,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -626,7 +620,7 @@
                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -643,15 +637,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -736,7 +724,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -777,7 +765,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
+                      <span translate="APP.FIELDS">FIELDS</span>
                     </md-tab-label>
                     <md-tab-body>
                       <md-toolbar
@@ -820,7 +808,7 @@
                             ng-click="vm_cc.deleteSelectedFields($event)"
                             aria-label="delete selected"
                             translate
-                            translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+                            translate-attr-label="APP.DELETE_SELECTED"
                             <md-icon md-font-icon="icon-delete"></md-icon>
                           </md-button>
@@ -837,15 +825,9 @@
                           <thead md-head>
                             <tr md-row>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.ID' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.TYPE' | translate }}
-                              </th>
-                              <th md-column>
-                                {{ 'INTEGRATIONS.CONTENT' | translate }}
-                              </th>
+                              <th md-column>{{ 'APP.ID' | translate }}</th>
+                              <th md-column>{{ 'APP.TYPE' | translate }}</th>
+                              <th md-column>{{ 'APP.CONTENT' | translate }}</th>
                               <th md-column width="10px"></th>
                             </tr>
                           </thead>
@@ -926,7 +908,7 @@
                                     class="md-icon-button"
                                     aria-label="More"
                                     translate
-                                    translate-attr-aria-label="INTEGRATIONS.MORE"
+                                    translate-attr-aria-label="APP.MORE"
                                     ng-click="$mdMenu.open($event)"
                                     <md-icon
@@ -967,7 +949,7 @@
 
                   <md-tab>
                     <md-tab-label>
-                      <span translate="INTEGRATIONS.ADVANCED">ADVANCED</span>
+                      <span translate="APP.ADVANCED">ADVANCED</span>
                     </md-tab-label>
                     <md-tab-body>
                       <div layout-margin>
@@ -980,7 +962,8 @@
                           <md-option
                             ng-value="option.key"
                             ng-repeat="option in [{key: 'contact_lead', value: 'Contact & Lead'}, {key: 'contact', value: 'Contact'}, {key: 'lead', value: 'Lead'}]"
-                            >{{ option.value }}</md-option
+                          >
+                            {{ option.value }}</md-option
                         </md-select>
                       </div>
@@ -994,7 +977,8 @@
                           <md-option
                             ng-value="option.key"
                             ng-repeat="option in [{key: 'nothing', value: 'Nothing'}, {key: 'contact', value: 'Contact'}, {key: 'lead', value: 'Lead'}]"
-                            >{{ option.value }}</md-option
+                          >
+                            {{ option.value }}</md-option
                         </md-select>
                       </div>
diff --git a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/zohoAccounts.html/zohoAccounts.html b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/zohoAccounts.html/zohoAccounts.html
index 8157f06..cb8d911 100644
--- a/public/src/js/modules/main/apps/integrations/views/zohoAccounts/zohoAccounts.html/zohoAccounts.html
+++ b/public/src/js/modules/main/apps/integrations/views/zohoAccounts/zohoAccounts.html/zohoAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="INTEGRATIONS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedZohoAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="INTEGRATIONS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-zohoAccounts-count">
           <span>{{vm.selectedZohoAccounts.length}}</span>
-          <span translate="INTEGRATIONS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllZohoAccounts()"
-                translate="INTEGRATIONS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectZohoAccounts()"
-                translate="INTEGRATIONS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedZohoAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="INTEGRATIONS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,14 +149,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'INTEGRATIONS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'INTEGRATIONS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="host">
-                  {{ 'INTEGRATIONS.HOST' | translate }}
+                  {{ 'APP.HOST' | translate }}
                 </th>
                 <th md-column md-order-by="zone">
                   {{ 'INTEGRATIONS.ZONE' | translate }}
@@ -168,7 +166,7 @@
               <tr md-row ng-hide="vm.zohoAccounts.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="INTEGRATIONS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -232,7 +230,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="INTEGRATIONS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/jscripty/views/projects/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/jscripty/views/projects/create/dialog.html/dialog.html
index c63fccb..703f66c 100644
--- a/public/src/js/modules/main/apps/jscripty/views/projects/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/jscripty/views/projects/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="JSCRIPTY.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newProject"
         />
 
-        <div class="hint"><span translate="JSCRIPTY.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="projectForm['name'].$error"
           ng-show="projectForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="JSCRIPTY.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="JSCRIPTY.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="JSCRIPTY.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -125,8 +125,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="projectForm.$invalid || projectForm.$pristine"
           aria-label="SAVE"
-          translate="JSCRIPTY.SAVE"
-          translate-attr-aria-label="JSCRIPTY.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -138,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="projectForm.$invalid"
           aria-label="ADD"
-          translate="JSCRIPTY.ADD_PROJECT"
-          translate-attr-aria-label="JSCRIPTY.ADD_PROJECT"
+          translate="APP.ADD_PROJECT"
+          translate-attr-aria-label="APP.ADD_PROJECT"
           ADD PROJECT
         </md-button>
@@ -151,12 +151,10 @@
           ng-click="vm.deleteProject($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="JSCRIPTY.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="JSCRIPTY.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/jscripty/views/projects/edit/clone/clone.html/clone.html b/public/src/js/modules/main/apps/jscripty/views/projects/edit/clone/clone.html/clone.html
index f7eff7f..896ecd5 100644
--- a/public/src/js/modules/main/apps/jscripty/views/projects/edit/clone/clone.html/clone.html
+++ b/public/src/js/modules/main/apps/jscripty/views/projects/edit/clone/clone.html/clone.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="JSCRIPTY.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newProject"
         />
 
-        <div class="hint"><span translate="JSCRIPTY.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="projectForm['name'].$error"
           ng-show="projectForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="JSCRIPTY.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="JSCRIPTY.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
diff --git a/public/src/js/modules/main/apps/jscripty/views/projects/edit/sessions/dialog.html/dialog.html b/public/src/js/modules/main/apps/jscripty/views/projects/edit/sessions/dialog.html/dialog.html
index 5d9c046..1926e2a 100644
--- a/public/src/js/modules/main/apps/jscripty/views/projects/edit/sessions/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/jscripty/views/projects/edit/sessions/dialog.html/dialog.html
@@ -23,9 +23,7 @@
             <span translate="JSCRIPTY.ANSWERS">Answers</span>
           </div>
           <div class="subtitle secondary-text">
-            <span
-              translate="JSCRIPTY.STARTTIME"
-              class="ng-scope font-weight-700"
+            <span translate="APP.STARTTIME" class="ng-scope font-weight-700"
               >Start Time</span
             >:
             <span class="ng-binding"
@@ -40,7 +38,7 @@
             >: <span class="ng-binding">{{vm.session.membername}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="JSCRIPTY.PROJECT" class="ng-scope font-weight-700"
+            <span translate="APP.PROJECT" class="ng-scope font-weight-700"
               >Project</span
             >: <span class="ng-binding">{{vm.project.name}}</span>
           </div>
diff --git a/public/src/js/modules/main/apps/jscripty/views/projects/edit/view.html/view.html b/public/src/js/modules/main/apps/jscripty/views/projects/edit/view.html/view.html
index 55dc818..e19ab7f 100644
--- a/public/src/js/modules/main/apps/jscripty/views/projects/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/jscripty/views/projects/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.project.name">{{vm.project.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="JSCRIPTY.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.project.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -49,8 +49,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (builderForm.$invalid) || (previewForm.$invalid) || (sessionsForm.$invalid) || (answersForm.$invalid)"
-        translate="JSCRIPTY.SAVE"
-        translate-attr-aria-label="JSCRIPTY.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -69,20 +69,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="JSCRIPTY.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="project-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="JSCRIPTY.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="JSCRIPTY.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -94,7 +94,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="JSCRIPTY.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -102,13 +102,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="JSCRIPTY.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="JSCRIPTY.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -144,7 +144,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="JSCRIPTY.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -170,7 +170,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="JSCRIPTY.BUILDER">BUILDER</span>
+          <span translate="APP.BUILDER">BUILDER</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -192,7 +192,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="JSCRIPTY.PREVIEW">PREVIEW</span>
+          <span translate="APP.PREVIEW">PREVIEW</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -219,14 +219,15 @@
                 response-data="vm_vc.responseData"
                 on-submit="vm_vc.onSubmit($event)"
                 api="vm_vc.formViewer"
-              ></mw-form-viewer>
+              >
+              </mw-form-viewer>
             </div>
           </div>
         </md-tab-body>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="JSCRIPTY.SESSIONS">SESSIONS</span>
+          <span translate="APP.SESSIONS">SESSIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -241,7 +242,7 @@
                 ng-hide="vm_dc.selectedProjectSessions.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="JSCRIPTY.SESSIONS"
+                  <span class="md-subhead" translate="APP.SESSIONS"
                     >Sessions</span
                   <ms-search-bar
@@ -278,7 +279,7 @@
                     ng-click="vm_dc.deleteSelectedProjectSessions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="JSCRIPTY.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -299,13 +300,13 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'JSCRIPTY.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'JSCRIPTY.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="endtime">
-                        {{ 'JSCRIPTY.ENDTIME' | translate }}
+                        {{ 'APP.ENDTIME' | translate }}
                       </th>
                       <th md-column md-order-by="membername">
                         {{ 'JSCRIPTY.MEMBERNAME' | translate }}
@@ -343,7 +344,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="JSCRIPTY.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -396,7 +397,8 @@
                 md-total="{{vm_dc.projectSessions.count}}"
                 md-on-paginate="vm_dc.getProjectSessions"
                 md-page-select
-              ></md-table-pagination>
+              >
+              </md-table-pagination>
             </div>
           </div>
         </md-tab-body>
@@ -427,8 +429,9 @@
                   auto-confirm="true"
                   show-template="true"
                   md-on-select="vm_an.getAnswers()"
-                  placeholder="{{ 'DASHBOARDS.ALL' | translate }}"
-                ></md-date-range>
+                  placeholder="{{ 'APP.ALL' | translate }}"
+                >
+                </md-date-range>
                 <md-button
                   type="button"
                   ng-disabled="!vm_an.answers"
diff --git a/public/src/js/modules/main/apps/jscripty/views/projects/projects.html/projects.html b/public/src/js/modules/main/apps/jscripty/views/projects/projects.html/projects.html
index 899b077..28ed910 100644
--- a/public/src/js/modules/main/apps/jscripty/views/projects/projects.html/projects.html
+++ b/public/src/js/modules/main/apps/jscripty/views/projects/projects.html/projects.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-script" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="JSCRIPTY.PROJECTS">Projects</span>
+        <span class="logo-text" translate="APP.PROJECTS">Projects</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="JSCRIPTY.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedProjects =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="JSCRIPTY.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-projects-count">
           <span>{{vm.selectedProjects.length}}</span>
-          <span translate="JSCRIPTY.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllProjects()"
-                translate="JSCRIPTY.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectProjects()"
-                translate="JSCRIPTY.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedProjects($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="JSCRIPTY.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,17 +147,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'JSCRIPTY.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'JSCRIPTY.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'JSCRIPTY.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column md-order-by="createdAt">
-                  {{ 'JSCRIPTY.CREATED_AT' | translate }}
+                  {{ 'APP.CREATED_AT' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -166,7 +164,7 @@
               <tr md-row ng-hide="vm.projects.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="JSCRIPTY.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -230,7 +228,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="JSCRIPTY.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -244,7 +242,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(project, $event    )"
-                          translate="JSCRIPTY.EDIT_PROJECT"
+                          translate="APP.EDIT_PROJECT"
                           Edit Project
                         </md-button>
@@ -283,7 +281,7 @@
                       <md-menu-item>
                         <md-button
                           ng-click="vm.deleteconfirm(project, $event    )"
-                          translate="JSCRIPTY.DELETE_PROJECT"
+                          translate="APP.DELETE_PROJECT"
                           Delete Project
                         </md-button>
@@ -323,7 +321,7 @@
     ng-click="vm.createOrEditProject($event)"
     aria-label="add project"
     translate
-    translate-attr-aria-label="JSCRIPTY.ADD_PROJECT"
+    translate-attr-aria-label="APP.ADD_PROJECT"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/create/dialog.html/dialog.html
index 2fbcb8d..156fb3a 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.KEY">key</label>
+        <label translate="APP.KEY">key</label>
         <input
           type="text"
           name="key"
@@ -75,13 +75,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >key field is required</span
             >
           </div>
           <div ng-message="md-maxlength">
             <span
-              translate="MAIL.ERRORS.KEY_MAX_LENGTH"
+              translate="APP.ERRORS.KEY_MAX_LENGTH"
               translate-values="{max: 5}"
               >key must have a maximum length equal to 5</span
             >
@@ -115,13 +115,14 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select name="ListId" ng-model="vm.mailAccount.ListId" required>
           <md-option
             ng-value="ListId.id"
             ng-repeat="ListId in vm.lists"
             ng-disabled="ListId.canSelect === false"
-            >{{ ListId.name }}</md-option
+          >
+            {{ ListId.name }}</md-option
         </md-select>
         <div
@@ -130,7 +131,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
@@ -138,11 +139,11 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.mailAccount.active" aria-label="Active"
-          ><span translate="MAIL.ACTIVE">Active</span></md-switch
-        >
+          ><span translate="APP.ACTIVE">Active</span>
+        </md-switch>
       </md-input-container>
       <md-input-container ng-if="vm.newMailAccount" class="md-block">
-        <label translate="MAIL.SERVICE">Service</label>
+        <label translate="APP.SERVICE">Service</label>
         <md-select name="cservice" ng-model="vm.mailAccount.cservice" required>
           <md-option ng-value="null">Custom</md-option>
           <md-option ng-value="'gmail'">Gmail</md-option>
@@ -214,7 +215,7 @@
         ng-if="(vm.newMailAccount && vm.mailAccount.cservice == null) || (vm.newMailAccount == undefined && vm.mailAccount.Smtp.service == null)"
         class="md-block"
-        <label translate="MAIL.SMTP_HOST">SMTP_Host</label>
+        <label translate="APP.SMTP_HOST">SMTP_Host</label>
         <input
           type="text"
           name="Smtp.host"
@@ -238,7 +239,7 @@
         ng-if="(vm.newMailAccount && vm.mailAccount.cservice == null) || (vm.newMailAccount == undefined && vm.mailAccount.Smtp.service == null)"
         class="md-block"
-        <label translate="MAIL.SMTP_PORT">SMTP_Port</label>
+        <label translate="APP.SMTP_PORT">SMTP_Port</label>
         <input
           type="number"
           name="Smtp.port"
@@ -274,7 +275,7 @@
         ng-if="(vm.mailAccount.cauthentication == true || vm.mailAccount.cservice != null) && vm.newMailAccount"
         class="md-block"
-        <label translate="MAIL.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="cuser"
@@ -289,7 +290,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -299,20 +300,20 @@
         class="md-block"
         ng-if="(vm.mailAccount.cauthentication == true || vm.mailAccount.cservice != null) && vm.newMailAccount"
-        <label translate="MAIL.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="cpassword"
           ng-model="vm.mailAccount.cpassword"
           placeholder="Password"
           translate
-          translate-attr-placeholder="MAIL.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div class="hint"><span translate="MAIL.HELP.PASSWORD"></span></div>
         <div ng-messages="mailAccountForm['cpassword'].$error" role="alert">
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -327,7 +328,7 @@
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="MAIL.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -382,8 +383,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountForm.$invalid || mailAccountForm.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -408,10 +409,10 @@
           ng-click="vm.deleteMailAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MAIL.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="MAIL.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/agentadd/agentadd.html/agentadd.html
index 7dcef73..15d6950 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/agentadd/agentadd.html/agentadd.html
@@ -34,8 +34,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/agent/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/agent/dialog.html/dialog.html
index 08895f4..c72e7b5 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/agent/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/agent/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select
           name="agent"
           ng-model="vm.agent.agent"
@@ -50,7 +50,8 @@
             ng-value="agent.name"
             ng-repeat="agent in vm.agents"
             ng-disabled="agent.canSelect === false"
-            >{{ agent.name }}</md-option
+          >
+            {{ agent.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="MAIL.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="MAIL.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/autoreply/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/autoreply/dialog.html/dialog.html
index 2108e94..9a38cdd 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/autoreply/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/autoreply/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.TIMES">times</label>
+        <label translate="APP.TIMES">times</label>
         <md-select
           name="times"
           ng-model="vm.autoreply.times"
@@ -62,7 +62,7 @@
         </div>
       </md-input-container>
       <div class="md-block">
-        <label class="md-caption grey-fg" translate="MAIL.TEXT">Text</label>
+        <label class="md-caption grey-fg" translate="APP.TEXT">Text</label>
         <textarea
           aria-label="Text text"
@@ -104,8 +104,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/close/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/close/dialog.html/dialog.html
index c1e8fc9..91e6a52 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/close/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/close/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.DISPOSITION">Disposition</label>
+        <label translate="APP.DISPOSITION">Disposition</label>
         <input
           type="text"
           name="disposition"
@@ -54,7 +54,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.DISPOSITION_REQUIRED"
+            <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
               >Disposition field is required</span
             >
           </div>
@@ -95,8 +95,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotoif/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotoif/dialog.html/dialog.html
index fa4ab00..05a46e4 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotoif/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotoif/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.CONDITION">Condition</label>
+        <label translate="APP.CONDITION">Condition</label>
         <input
           type="text"
           name="condition"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.CONDITION_REQUIRED"
+            <span translate="APP.ERRORS.CONDITION_REQUIRED"
               >Condition field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.TRUEPRIORITY">truepriority</label>
+        <label translate="APP.TRUEPRIORITY">truepriority</label>
         <input
           type="number"
           name="truepriority"
@@ -77,13 +77,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.TRUEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.TRUEPRIORITY_REQUIRED"
               >truepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="MAIL.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >truepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -91,7 +91,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.FALSEPRIORITY">falsepriority</label>
+        <label translate="APP.FALSEPRIORITY">falsepriority</label>
         <input
           type="number"
           name="falsepriority"
@@ -107,13 +107,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.FALSEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.FALSEPRIORITY_REQUIRED"
               >falsepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="MAIL.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >falsepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -155,8 +155,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotop/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotop/dialog.html/dialog.html
index 8b1c70f..141166f 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/gotop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="number"
           name="priority"
@@ -55,13 +55,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="MAIL.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Priority must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -103,8 +103,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/noop/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/noop/dialog.html/dialog.html
index cbf4392..3dd82fe 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/noop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/noop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -94,8 +94,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/queue/dialog.html/dialog.html
index 9f8b441..499c7b9 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/queue/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -50,7 +50,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="MAIL.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="MAIL.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/system/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/system/dialog.html/dialog.html
index 7b798e2..2667600 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/system/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/system/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.COMMAND">Command</label>
+        <label translate="APP.COMMAND">Command</label>
         <input
           type="text"
           name="command"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.COMMAND_REQUIRED"
+            <span translate="APP.ERRORS.COMMAND_REQUIRED"
               >Command field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="variable"
           ng-model="vm.system.variable"
@@ -122,8 +122,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/tag/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/tag/dialog.html/dialog.html
index 5fb1c94..559b849 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/tag/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/apps/tag/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.TAG">Tag</label>
+        <label translate="APP.TAG">Tag</label>
         <md-select
           name="tag"
           ng-model="vm.tag.tag"
@@ -50,8 +50,8 @@
             ng-value="tag.name"
             ng-repeat="tag in vm.tags"
             ng-disabled="tag.canSelect === false"
-            >{{ tag.name }}</md-option
-          >
+            >{{ tag.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="mailAccountFormApp['tag'].$error"
@@ -59,7 +59,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.TAG_REQUIRED"
+            <span translate="APP.ERRORS.TAG_REQUIRED"
               >Tag field is required</span
             >
           </div>
@@ -100,8 +100,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailAccountFormApp.$invalid || mailAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/mailCannedAnswers/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/mailCannedAnswers/dialog.html/dialog.html
index 609b5c4..f89fd9a 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/mailCannedAnswers/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/mailCannedAnswers/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type=""
           name="key"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <div class="md-block">
-        <label class="md-caption grey-fg" translate="MAIL.VALUE">Value</label>
+        <label class="md-caption grey-fg" translate="APP.VALUE">Value</label>
         <textarea
           aria-label="Value value"
@@ -69,7 +69,7 @@
         ></textarea>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -124,8 +124,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailCannedAnswerForm.$invalid || mailCannedAnswerForm.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -150,10 +150,10 @@
           ng-click="vm.deleteMailCannedAnswer($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MAIL.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="MAIL.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/view.html/view.html
index bdc528a..5e6f0b2 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.mailAccount.name">{{vm.mailAccount.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="MAIL.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.mailAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -60,8 +60,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (notificationForm.$invalid) || (transferForm.$invalid) || (imapForm.$invalid) || (smtpForm.$invalid) || (dispositionForm.$invalid) || (mailDispositionsForm.$invalid) || (mailCannedAnswersForm.$invalid) || (actionsForm.$invalid) || (interactionsForm.$invalid)"
-        translate="MAIL.SAVE"
-        translate-attr-aria-label="MAIL.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -80,20 +80,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="mailAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MAIL.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MAIL.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -109,14 +109,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MAIL.KEY">key</label>
+                <label translate="APP.KEY">key</label>
                 <input
                   type="text"
                   name="key"
@@ -132,13 +132,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.KEY_REQUIRED"
+                    <span translate="APP.ERRORS.KEY_REQUIRED"
                       >key field is required</span
                     >
                   </div>
                   <div ng-message="md-maxlength">
                     <span
-                      translate="MAIL.ERRORS.KEY_MAX_LENGTH"
+                      translate="APP.ERRORS.KEY_MAX_LENGTH"
                       translate-values="{max: 5}"
                       >key must have a maximum length equal to 5</span
                     >
@@ -173,7 +173,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MAIL.LIST">List</label>
+                <label translate="APP.LIST">List</label>
                 <md-select
                   name="ListId"
                   ng-model="vm.mailAccount.ListId"
@@ -193,7 +193,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.LIST_REQUIRED"
+                    <span translate="APP.ERRORS.LIST_REQUIRED"
                       >List field is required</span
                     >
                   </div>
@@ -204,7 +204,7 @@
                   ng-model="vm.mailAccount.active"
                   aria-label="Active"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.ACTIVE">Active</span></md-switch
+                  ><span translate="APP.ACTIVE">Active</span></md-switch
               </md-input-container>
               <md-input-container class="md-block">
@@ -271,7 +271,7 @@
                 </div>
               </md-input-container>
               <div class="md-block">
-                <label class="md-caption grey-fg" translate="MAIL.TEMPLATE"
+                <label class="md-caption grey-fg" translate="APP.TEMPLATE"
                   >Template</label
                 <textarea
@@ -285,17 +285,15 @@
                   ng-model="vm.mailAccount.markAsUnread"
                   aria-label="mark_as_unread"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.MARK_AS_UNREAD"
-                    >mark_as_unread</span
-                  ></md-switch
-                >
+                  ><span translate="APP.MARK_AS_UNREAD">mark_as_unread</span>
+                </md-switch>
 
                 <div class="hint">
                   <span translate="MAIL.HELP.MARK_AS_UNREAD"></span>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MAIL.WAITFORTHEASSIGNEDAGENT"
+                <label translate="APP.WAITFORTHEASSIGNEDAGENT"
                   >WaitForTheAssignedAgent</label
                 >
                 <input
@@ -315,13 +313,13 @@
                   <div ng-message="required">
                     <span
-                      translate="MAIL.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
                       >WaitForTheAssignedAgent field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="MAIL.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -329,7 +327,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="MAIL.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -338,7 +336,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MAIL.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -364,7 +362,7 @@
             class="mailAccount-detail-form-container notification md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MAIL.NOTIFICATION">
+              <div class="h2 secondary-text" translate="APP.NOTIFICATION">
                 NOTIFICATION
               </div>
             </div>
@@ -374,7 +372,7 @@
                   ng-model="vm.mailAccount.notificationSound"
                   aria-label="notificationSound"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.NOTIFICATIONSOUND"
+                  ><span translate="APP.NOTIFICATIONSOUND"
                     >notificationSound</span
                   ></md-switch
@@ -384,7 +382,7 @@
                   ng-model="vm.mailAccount.notificationShake"
                   aria-label="notificationShake"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.NOTIFICATIONSHAKE"
+                  ><span translate="APP.NOTIFICATIONSHAKE"
                     >notificationShake</span
                   ></md-switch
@@ -392,7 +390,7 @@
               <div class="md-block">
                 <label
                   class="md-caption grey-fg"
-                  translate="MAIL.NOTIFICATIONTEMPLATE"
+                  translate="APP.NOTIFICATIONTEMPLATE"
                   >notificationTemplate</label
                 >
                 <textarea
@@ -407,7 +405,7 @@
             class="mailAccount-detail-form-container transfer md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MAIL.TRANSFER">
+              <div class="h2 secondary-text" translate="APP.TRANSFER">
                 TRANSFER
               </div>
             </div>
@@ -417,16 +415,14 @@
                   ng-model="vm.mailAccount.queueTransfer"
                   aria-label="queueTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.QUEUETRANSFER"
-                    >queueTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.QUEUETRANSFER">queueTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.mailAccount.queueTransfer == true"
                 class="md-block"
-                <label translate="MAIL.QUEUETRANSFERTIMEOUT"
+                <label translate="APP.QUEUETRANSFERTIMEOUT"
                   >queueTransferTimeout</label
                 >
                 <input
@@ -445,13 +441,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
                       >queueTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="MAIL.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -459,7 +455,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="MAIL.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -472,16 +468,14 @@
                   ng-model="vm.mailAccount.agentTransfer"
                   aria-label="agentTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.AGENTTRANSFER"
-                    >agentTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AGENTTRANSFER">agentTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.mailAccount.agentTransfer == true"
                 class="md-block"
-                <label translate="MAIL.AGENTTRANSFERTIMEOUT"
+                <label translate="APP.AGENTTRANSFERTIMEOUT"
                   >agentTransferTimeout</label
                 >
                 <input
@@ -500,13 +494,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
                       >agentTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="MAIL.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -514,7 +508,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="MAIL.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -539,7 +533,7 @@
             </div>
             <form name="imapForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MAIL.SERVICE">Service</label>
+                <label translate="APP.SERVICE">Service</label>
                 <md-select
                   name="Imap.service"
                   ng-model="vm.mailAccount.Imap.service"
@@ -631,16 +625,14 @@
                   ng-model="vm.mailAccount.Imap.authentication"
                   aria-label="Authentication"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.AUTHENTICATION"
-                    >Authentication</span
-                  ></md-switch
-                >
+                  ><span translate="MAIL.AUTHENTICATION">Authentication</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.mailAccount.Imap.authentication == true || vm.mailAccount.Imap.service != null"
                 class="md-block"
-                <label translate="MAIL.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="Imap.user"
@@ -658,7 +650,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -668,14 +660,14 @@
                 class="md-block"
                 ng-if="vm.mailAccount.Imap.authentication == true || vm.mailAccount.Imap.service != null"
-                <label translate="MAIL.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="Imap.password"
                   ng-model="vm.mailAccount.Imap.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="MAIL.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div class="hint">
@@ -686,7 +678,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -701,7 +693,7 @@
               </md-input-container>
 
               <md-input-container class="md-block">
-                <label translate="MAIL.MAILBOX">mailbox</label>
+                <label translate="APP.MAILBOX">mailbox</label>
                 <input
                   type="text"
                   name="Imap.mailbox"
@@ -715,7 +707,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.MAILBOX_REQUIRED"
+                    <span translate="APP.ERRORS.MAILBOX_REQUIRED"
                       >mailbox field is required</span
                     >
                   </div>
@@ -787,18 +779,18 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.SMTP">SMTP</span>
+          <span translate="APP.SMTP">SMTP</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="mailAccount-detail-form-container smtp md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MAIL.SMTP">SMTP</div>
+              <div class="h2 secondary-text" translate="APP.SMTP">SMTP</div>
             </div>
             <form name="smtpForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MAIL.SERVICE">Service</label>
+                <label translate="APP.SERVICE">Service</label>
                 <md-select
                   name="Smtp.service"
                   ng-model="vm.mailAccount.Smtp.service"
@@ -828,7 +820,7 @@
                 ng-if="(vm.newMailAccount && vm.mailAccount.cservice == null) || (vm.newMailAccount == undefined && vm.mailAccount.Smtp.service == null)"
                 class="md-block"
-                <label translate="MAIL.SMTP_HOST">SMTP_Host</label>
+                <label translate="APP.SMTP_HOST">SMTP_Host</label>
                 <input
                   type="text"
                   name="Smtp.host"
@@ -853,7 +845,7 @@
                 ng-if="(vm.newMailAccount && vm.mailAccount.cservice == null) || (vm.newMailAccount == undefined && vm.mailAccount.Smtp.service == null)"
                 class="md-block"
-                <label translate="MAIL.SMTP_PORT">SMTP_Port</label>
+                <label translate="APP.SMTP_PORT">SMTP_Port</label>
                 <input
                   type="number"
                   name="Smtp.port"
@@ -897,16 +889,14 @@
                   ng-model="vm.mailAccount.Smtp.authentication"
                   aria-label="Authentication"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.AUTHENTICATION"
-                    >Authentication</span
-                  ></md-switch
-                >
+                  ><span translate="MAIL.AUTHENTICATION">Authentication</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.mailAccount.Smtp.authentication == true || vm.mailAccount.Smtp.service != null"
                 class="md-block"
-                <label translate="MAIL.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="Smtp.user"
@@ -924,7 +914,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -934,14 +924,14 @@
                 class="md-block"
                 ng-if="vm.mailAccount.Smtp.authentication == true || vm.mailAccount.Smtp.service != null"
-                <label translate="MAIL.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="Smtp.pass"
                   ng-model="vm.mailAccount.Smtp.pass"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="MAIL.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div class="hint">
@@ -949,7 +939,7 @@
                 </div>
                 <div ng-messages="smtpForm['Smtp.pass'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -968,14 +958,14 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="mailAccount-detail-form-container disposition md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MAIL.DISPOSITION">
+              <div class="h2 secondary-text" translate="APP.DISPOSITION">
                 DISPOSITION
               </div>
             </div>
@@ -985,7 +975,7 @@
                   ng-model="vm.mailAccount.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MAIL.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -994,7 +984,7 @@
                 ng-if="vm.mailAccount.mandatoryDisposition"
                 class="md-block"
-                <label translate="MAIL.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -1007,13 +997,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span
-                    translate="MAIL.HELP.MANDATORYDISPOSITIONPAUSEID"
-                  ></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
@@ -1022,7 +1010,7 @@
                   <div ng-message="required">
                     <span
-                      translate="MAIL.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -1034,7 +1022,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.DISPOSITIONS">DISPOSITIONS</span>
+          <span translate="APP.DISPOSITIONS">DISPOSITIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1071,7 +1059,7 @@
                         ng-change="vm_dc.getDispositions()"
                         <md-option ng-value="null"
-                          ><em translate="TOOLS.ALL">All</em></md-option
+                          ><em translate="APP.ALL">All</em></md-option
                         <md-option
                           ng-value="key"
@@ -1092,7 +1080,7 @@
                   ng-hide="vm_dc.selectedMailAccountDispositions.length"
                   <div class="md-toolbar-tools">
-                    <span class="md-subhead" translate="MAIL.DISPOSITIONS"
+                    <span class="md-subhead" translate="APP.DISPOSITIONS"
                       >Dispositions</span
                     <ms-search-bar
@@ -1139,7 +1127,7 @@
                       ng-click="vm_dc.deleteSelectedDispositions($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="MAIL.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -1160,16 +1148,16 @@
                       <tr md-row>
                         <th md-column md-order-by="id">
-                          {{ 'MAIL.ID' | translate }}
+                          {{ 'APP.ID' | translate }}
                         </th>
                         <th md-column md-order-by="level">
                           {{ 'TOOLS.LEVEL' | translate }}
                         </th>
                         <th md-column md-order-by="name">
-                          {{ 'MAIL.NAME' | translate }}
+                          {{ 'APP.NAME' | translate }}
                         </th>
                         <th md-column md-order-by="description">
-                          {{ 'MAIL.DESCRIPTION' | translate }}
+                          {{ 'APP.DESCRIPTION' | translate }}
                         </th>
                         <th md-column width="10px"></th>
                       </tr>
@@ -1178,7 +1166,7 @@
                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
                         <td md-cell colspan="5">
                           <div layout="row" layout-align="center center">
-                            <span translate="MAIL.NO_AVAILABLE_INFO"
+                            <span translate="APP.NO_AVAILABLE_INFO"
                               >No Available Info</span
                           </div>
@@ -1228,7 +1216,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="MAIL.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1284,7 +1272,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.CANNEDANSWERS">CANNEDANSWERS</span>
+          <span translate="APP.CANNEDANSWERS">CANNEDANSWERS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1346,7 +1334,7 @@
                     ng-click="vm_dc.deleteSelectedMailAccountMailCannedAnswers($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="MAIL.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1367,19 +1355,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'MAIL.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="key">
-                        {{ 'MAIL.KEY' | translate }}
+                        {{ 'APP.KEY' | translate }}
                       </th>
                       <th md-column md-order-by="value">
-                        {{ 'MAIL.VALUE' | translate }}
+                        {{ 'APP.VALUE' | translate }}
                       </th>
                       <th md-column md-order-by="description">
-                        {{ 'MAIL.DESCRIPTION' | translate }}
+                        {{ 'APP.DESCRIPTION' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'MAIL.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1431,7 +1419,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="MAIL.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1494,7 +1482,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1578,7 +1566,7 @@
                       ng-click="vm_ac.deleteSelectedMailAccountApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="MAIL.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -1597,7 +1585,7 @@
                       <tr md-row>
                         <th md-column width="10px"></th>
                         <th md-column width="10px">
-                          <span translate="VOICE.PRIORITY">Priority</span>
+                          <span translate="APP.PRIORITY">Priority</span>
                         </th>
                         <th md-column>
                           <span>Type</span>
@@ -1678,7 +1666,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1692,7 +1680,7 @@
                                 <md-button
                                   ng-click="vm_ac.editMailAccountApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -1702,7 +1690,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -1712,7 +1700,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -1725,7 +1713,7 @@
                         <td md-cell colspan="7">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
@@ -1746,7 +1734,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.INTERACTIONS">INTERACTIONS</span>
+          <span translate="APP.INTERACTIONS">INTERACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1761,7 +1749,7 @@
                 ng-hide="vm_dc.selectedMailAccountInteractions.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="MAIL.INTERACTIONS"
+                  <span class="md-subhead" translate="APP.INTERACTIONS"
                     >Interactions</span
                   <ms-search-bar
@@ -1782,7 +1770,7 @@
                       ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
                       aria-label="Filter"
                       translate
-                      translate-attr-aria-label="DASHBOARDS.FILTER"
+                      translate-attr-aria-label="APP.FILTER"
                       ng-click="vm_dc.openAdvancedSearch()"
                       <md-icon
@@ -1796,7 +1784,7 @@
                     ng-click="vm_dc.getMailAccountInteractions()"
                     aria-label="refresh Interactions"
                     translate
-                    translate-attr-label="MAIL.REFRESH_INTERACTIONS"
+                    translate-attr-label="APP.REFRESH_INTERACTIONS"
                     <md-icon md-font-icon="icon-refresh"></md-icon>
                   </md-button>
@@ -1827,7 +1815,7 @@
                     ng-click="vm_dc.deleteSelectedMailAccountInteractions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="MAIL.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1848,29 +1836,29 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'MAIL.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column class="no-padding">
                         <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
                       </th>
                       <th md-column class="no-padding"></th>
                       <th md-column class="no-padding"></th>
-                      <th md-column>{{ 'MAIL.CONTACT' | translate }}</th>
+                      <th md-column>{{ 'APP.CONTACT' | translate }}</th>
                       <th md-column md-order-by="subject">
-                        {{ 'MAIL.SUBJECT' | translate }}
+                        {{ 'APP.SUBJECT' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'MAIL.STARTEDAT' | translate }}
+                        {{ 'APP.STARTEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="lastMsgAt">
-                        {{ 'MAIL.LASTMESSAGE' | translate }}
+                        {{ 'APP.LASTMESSAGE' | translate }}
                       </th>
                       <th md-column md-order-by="closed">
-                        {{ 'MAIL.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
-                      <th md-column>{{ 'MAIL.AGENT' | translate }}</th>
+                      <th md-column>{{ 'APP.AGENT' | translate }}</th>
                       <th md-column md-order-by="tag">
-                        {{ 'MAIL.TAGS' | translate }}
+                        {{ 'APP.TAGS' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1950,7 +1938,8 @@
                           <span>
                             <md-icon
                               md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
-                            ></md-icon>
+                            >
+                            </md-icon>
                           </span>
                           <div layout="column" layout-align="center center">
                             <span class="text-truncate"
@@ -1961,13 +1950,13 @@
                       </td>
                       <td md-cell>
                         <span ng-if="interaction.closed === 0" class="green-fg">
-                          {{ 'MAIL.OPENED' | translate }}
+                          {{ 'APP.OPENED' | translate }}
                           <span ng-if="interaction.substatus">
                             - {{ interaction.substatus }}
                           </span>
                         </span>
                         <span ng-if="interaction.closed === 1" class="red-fg">
-                          {{ 'MAIL.CLOSED' | translate }}
+                          {{ 'APP.CLOSED' | translate }}
                           <span ng-if="interaction.disposition">
                             - {{ interaction.thirdDisposition ||
                             interaction.secondDisposition ||
@@ -2046,7 +2035,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="MAIL.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -2058,7 +2047,7 @@
                             <md-menu-item>
                               <md-button
                                 ng-click="vm_dc.spymailInteraction($event, interaction)"
-                                translate="MAIL.SPYINTERACTION"
+                                translate="APP.SPYINTERACTION"
                                 Spy Interaction
                               </md-button>
@@ -2067,7 +2056,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.mailInteractionDownload(interaction, $event, true)"
-                                translate="MAIL.DOWNLOAD_WITH_ATTACHMENTS"
+                                translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
                                 Download with attachments
                               </md-button>
@@ -2076,7 +2065,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.mailInteractionDownload(interaction, $event)"
-                                translate="MAIL.DOWNLOAD_WITHOUT_ATTACHMENTS"
+                                translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
                                 Download without attachments
                               </md-button>
@@ -2086,7 +2075,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(interaction, $event)"
-                                translate="MAIL.DELETE_INTERACTION"
+                                translate="APP.DELETE_INTERACTION"
                                 Delete Interaction
                               </md-button>
@@ -2103,7 +2092,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="MAIL.NO_INTERACTION_AVAILABLE"
+                            translate="APP.NO_INTERACTION_AVAILABLE"
                             >No interaction available</span
                           >
                         </div>
diff --git a/public/src/js/modules/main/apps/mail/views/mailAccounts/mailAccounts.html/mailAccounts.html b/public/src/js/modules/main/apps/mail/views/mailAccounts/mailAccounts.html/mailAccounts.html
index 8ec6b38..1b4e723 100644
--- a/public/src/js/modules/main/apps/mail/views/mailAccounts/mailAccounts.html/mailAccounts.html
+++ b/public/src/js/modules/main/apps/mail/views/mailAccounts/mailAccounts.html/mailAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="MAIL.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedMailAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="MAIL.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-mailAccounts-count">
           <span>{{vm.selectedMailAccounts.length}}</span>
-          <span translate="MAIL.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllMailAccounts()"
-                translate="MAIL.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectMailAccounts()"
-                translate="MAIL.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedMailAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="MAIL.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,21 +149,19 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'MAIL.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'MAIL.NAME' | translate }}
-                </th>
-                <th md-column md-order-by="key">
-                  {{ 'MAIL.KEY' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
+                <th md-column md-order-by="key">{{ 'APP.KEY' | translate }}</th>
                 <th md-column md-order-by="email">
                   {{ 'MAIL.EMAIL_ADDRESS' | translate }}
                 </th>
                 <th md-column md-order-by="active">
-                  {{ 'MAIL.ACTIVE' | translate }}
+                  {{ 'APP.ACTIVE' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'MAIL.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -172,7 +170,7 @@
               <tr md-row ng-hide="vm.mailAccounts.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="MAIL.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -253,7 +251,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="MAIL.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/mail/views/mailQueues/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailQueues/create/dialog.html/dialog.html
index 54d0ad6..1696946 100644
--- a/public/src/js/modules/main/apps/mail/views/mailQueues/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailQueues/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newMailQueue"
         />
 
-        <div class="hint"><span translate="MAIL.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="mailQueueForm['name'].$error"
           ng-show="mailQueueForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="MAIL.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.STRATEGY">Strategy</label>
+        <label translate="APP.STRATEGY">Strategy</label>
         <md-select name="strategy" ng-model="vm.mailQueue.strategy" required>
           <md-option ng-value="'beepall'">Beepall</md-option>
           <md-option ng-value="'rrmemory'">RR Memory</md-option>
@@ -88,7 +88,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.AGENT_TIMEOUT">Agent_Timeout</label>
+        <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -104,20 +104,20 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.AGENT_TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
               >Agent_Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="MAIL.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
           </div>
           <div ng-message="max">
             <span
-              translate="MAIL.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -125,7 +125,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -180,8 +180,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailQueueForm.$invalid || mailQueueForm.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -206,10 +206,10 @@
           ng-click="vm.deleteMailQueue($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MAIL.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="MAIL.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/mail/views/mailQueues/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/mail/views/mailQueues/edit/agentadd/agentadd.html/agentadd.html
index 3563019..12bb26e 100644
--- a/public/src/js/modules/main/apps/mail/views/mailQueues/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/mail/views/mailQueues/edit/agentadd/agentadd.html/agentadd.html
@@ -34,8 +34,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailQueues/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/mail/views/mailQueues/edit/teamadd/teamadd.html/teamadd.html
index 6ece5ef..9ec2905 100644
--- a/public/src/js/modules/main/apps/mail/views/mailQueues/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/mail/views/mailQueues/edit/teamadd/teamadd.html/teamadd.html
@@ -6,7 +6,7 @@
   <form name="mailQueueForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="MAIL.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -34,8 +34,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/mailQueues/edit/view.html/view.html b/public/src/js/modules/main/apps/mail/views/mailQueues/edit/view.html/view.html
index cc15df1..64f85d9 100644
--- a/public/src/js/modules/main/apps/mail/views/mailQueues/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/mail/views/mailQueues/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.mailQueue.name">{{vm.mailQueue.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="MAIL.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.mailQueue.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -62,8 +62,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid)"
-        translate="MAIL.SAVE"
-        translate-attr-aria-label="MAIL.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -82,20 +82,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="mailQueue-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MAIL.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MAIL.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -106,20 +106,20 @@
                   disabled
                 />
 
-                <div class="hint"><span translate="MAIL.HELP.NAME"></span></div>
+                <div class="hint"><span translate="APP.HELP.NAME"></span></div>
                 <div
                   ng-messages="generalForm['name'].$error"
                   ng-show="generalForm['name'].$touched"
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="MAIL.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -127,7 +127,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MAIL.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.mailQueue.strategy"
@@ -150,7 +150,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MAIL.AGENT_TIMEOUT">Agent_Timeout</label>
+                <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -167,20 +167,20 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MAIL.ERRORS.AGENT_TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
                       >Agent_Timeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="MAIL.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>1</span>
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="MAIL.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>2147483</span>
@@ -188,7 +188,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MAIL.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/mail/views/mailQueues/mailQueues.html/mailQueues.html b/public/src/js/modules/main/apps/mail/views/mailQueues/mailQueues.html/mailQueues.html
index 62146b2..8e8290d 100644
--- a/public/src/js/modules/main/apps/mail/views/mailQueues/mailQueues.html/mailQueues.html
+++ b/public/src/js/modules/main/apps/mail/views/mailQueues/mailQueues.html/mailQueues.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="MAIL.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedMailQueues =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="MAIL.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-mailQueues-count">
           <span>{{vm.selectedMailQueues.length}}</span>
-          <span translate="MAIL.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllMailQueues()"
-                translate="MAIL.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectMailQueues()"
-                translate="MAIL.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedMailQueues($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="MAIL.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'MAIL.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'MAIL.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'MAIL.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.mailQueues.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="MAIL.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -218,7 +218,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="MAIL.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/mail/views/mailSubtatuses/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/mail/views/mailSubtatuses/create/dialog.html/dialog.html
index 09e0a9b..294744f 100644
--- a/public/src/js/modules/main/apps/mail/views/mailSubtatuses/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/mail/views/mailSubtatuses/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MAIL.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MAIL.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MAIL.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -115,8 +115,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mailSubstatusForm.$invalid || mailSubstatusForm.$pristine"
           aria-label="SAVE"
-          translate="MAIL.SAVE"
-          translate-attr-aria-label="MAIL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -141,10 +141,10 @@
           ng-click="vm.deleteMailSubstatus($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MAIL.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="MAIL.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/mail/views/mailSubtatuses/mailSubtatuses.html/mailSubtatuses.html b/public/src/js/modules/main/apps/mail/views/mailSubtatuses/mailSubtatuses.html/mailSubtatuses.html
index b912c60..45f5935 100644
--- a/public/src/js/modules/main/apps/mail/views/mailSubtatuses/mailSubtatuses.html/mailSubtatuses.html
+++ b/public/src/js/modules/main/apps/mail/views/mailSubtatuses/mailSubtatuses.html/mailSubtatuses.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="MAIL.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedMailSubstatuses =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="MAIL.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-mailSubtatuses-count">
           <span>{{vm.selectedMailSubstatuses.length}}</span>
-          <span translate="MAIL.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllMailSubstatuses()"
-                translate="MAIL.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectMailSubstatuses()"
-                translate="MAIL.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedMailSubstatuses($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="MAIL.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,12 +149,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'MAIL.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'MAIL.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'MAIL.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -163,7 +163,7 @@
               <tr md-row ng-hide="vm.mailSubtatuses.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="MAIL.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -224,7 +224,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="MAIL.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -272,7 +272,8 @@
           md-total="{{vm.mailSubtatuses.count}}"
           md-on-paginate="vm.getMailSubstatuses"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / MAILSUBSTATUS TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/mail/views/realtime/accounts/view.html/view.html b/public/src/js/modules/main/apps/mail/views/realtime/accounts/view.html/view.html
index fa2d1e6..bb3ac2e 100644
--- a/public/src/js/modules/main/apps/mail/views/realtime/accounts/view.html/view.html
+++ b/public/src/js/modules/main/apps/mail/views/realtime/accounts/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MAIL.ACCOUNTS">Accounts</span>
+    <span class="md-subhead" translate="APP.ACCOUNTS">Accounts</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,11 +17,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getMailAccounts">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'MAIL.NAME' | translate }}</th>
-        <th md-column>{{ 'MAIL.KEY' | translate }}</th>
-        <th md-column>{{ 'MAIL.TOTAL' | translate }}</th>
-        <th md-column>{{ 'MAIL.IN' | translate }}</th>
-        <th md-column>{{ 'MAIL.OUT' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.KEY' | translate }}</th>
+        <th md-column>{{ 'APP.TOTAL' | translate }}</th>
+        <th md-column>{{ 'APP.IN' | translate }}</th>
+        <th md-column>{{ 'APP.OUT' | translate }}</th>
         <th md-column>{{ 'MAIL.IMAP_STATUS' | translate }}</th>
         <th md-column>{{ 'MAIL.SMTP_STATUS' | translate }}</th>
         <th md-column width="10px"></th>
@@ -30,7 +31,7 @@
       <tr md-row ng-hide="vm.mailAccounts">
         <td md-cell colspan="4">
           <div layout="row" layout-align="center center">
-            <span translate="MAIL.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -50,9 +51,9 @@
         </td>
         <td md-cell>
           <div layout="row">
-            <span
-              ><md-icon md-font-icon="icon-arrow-down-bold blue-fg"></md-icon
-            ></span>
+            <span>
+              <md-icon md-font-icon="icon-arrow-down-bold blue-fg"></md-icon>
+            </span>
             <span class="md-capture blue-fg"
               >{{vm.mailAccounts[value].in || 0}}</span
             >
@@ -64,9 +65,9 @@
         </td>
         <td md-cell>
           <div layout="row">
-            <span
-              ><md-icon md-font-icon="icon-arrow-up-bold green-fg"></md-icon
-            ></span>
+            <span>
+              <md-icon md-font-icon="icon-arrow-up-bold green-fg"></md-icon>
+            </span>
             <span class="md-capture green-fg"
               >{{vm.mailAccounts[value].out || 0}}</span
             >
@@ -122,7 +123,8 @@
                 <md-icon
                   md-font-icon="{{ vm.mailAccounts[value].Smtp.status == 'error' ? 'icon-alert yellow-fg' : 'icon-checkbox-marked-circle-outline green-fg'}}"
-                ></md-icon>
+                >
+                </md-icon>
               </md-button>
               <span class="md-caption grey-fg"
                 >{{ ('MAIL.' + vm.mailAccounts[value].Smtp.status.toUpperCase())
@@ -146,7 +148,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/mail/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/mail/views/realtime/agents/view.html/view.html
index 6db5898..3018434 100644
--- a/public/src/js/modules/main/apps/mail/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/mail/views/realtime/agents/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MAIL.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query; vm.onInit()"
@@ -13,13 +13,11 @@
       class="md-caption"
       ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-      <md-option ng-value="''">{{ 'MAIL.ALL' | translate }}</md-option>
-      <md-option value="pause">{{ 'MAIL.PAUSE' | translate }}</md-option>
-      <md-option value="*pause"
-        >{{ 'MAIL.PARTIALPAUSE' | translate }}</md-option
-      >
-      <md-option value="busy">{{ 'MAIL.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'MAIL.IDLE' | translate }}</md-option>
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
     <md-select
@@ -46,103 +44,103 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'MAIL.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
         <th
           ng-if="vm.license.openchannel"
           class="bv bl text-center"
           colspan="2"
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'MAIL.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'MAIL.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'MAIL.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -151,7 +149,7 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'MAIL.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
@@ -186,7 +184,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'MAIL.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -199,7 +197,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'MAIL.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -402,7 +400,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -412,7 +410,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="MAIL.LOGOUT"
+                  translate="APP.LOGOUT"
                   Logout
                 </md-button>
@@ -433,14 +431,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="MAIL.SCREENRECORDING"
+                    translate="APP.SCREENRECORDING"
                     >Screen Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="MAIL.START_SCREENRECORDING"
+                        ><em translate="APP.START_SCREENRECORDING"
                           >Start Screen Recording</em
                         ></md-button
                       >
@@ -448,7 +446,7 @@
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="MAIL.STOP_SCREENRECORDING"
+                        ><em translate="APP.STOP_SCREENRECORDING"
                           >Stop Screen Recording</em
                         ></md-button
                       >
@@ -462,7 +460,7 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="MAIL.PAUSE"
+                    translate="APP.PAUSE"
                     >Pause</md-button
                   <md-menu-content>
@@ -470,10 +468,8 @@
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
                         ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="MAIL.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
                     <md-menu-item
                       ng-if="vm.pauses.rows.length"
@@ -491,7 +487,7 @@
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
                 <md-button
                   ng-click="vm.unPause(vm.agents[value])"
-                  translate="MAIL.UNPAUSE"
+                  translate="APP.UNPAUSE"
                   Unpause
                 </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/mail/views/realtime/queues/view.html/view.html
index 275d902..689f9c7 100644
--- a/public/src/js/modules/main/apps/mail/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/mail/views/realtime/queues/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MAIL.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,11 +17,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'MAIL.NAME' | translate }}</th>
-        <th md-column>{{ 'MAIL.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'MAIL.PAUSED' | translate }}</th>
-        <th md-column>{{ 'MAIL.READY' | translate }}</th>
-        <th md-column>{{ 'MAIL.WAITING' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -28,7 +29,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="7">
           <div layout="row" layout-align="center center">
-            <span translate="MAIL.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -66,7 +67,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="MAIL.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -76,7 +77,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.createOrEditMailQueue($event, vm.queues[value])"
-                  translate="MAIL.EDIT_QUEUE"
+                  translate="APP.EDIT_QUEUE"
                   Edit Queue
                 </md-button>
@@ -84,7 +85,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="MAIL.AGENTSADD_QUEUE"
+                  translate="APP.AGENTSADD_QUEUE"
                   Add Agents to queue
                 </md-button>
diff --git a/public/src/js/modules/main/apps/mail/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/mail/views/realtime/realtime.html/realtime.html
index e56b30e..c33e922 100644
--- a/public/src/js/modules/main/apps/mail/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/mail/views/realtime/realtime.html/realtime.html
@@ -10,17 +10,17 @@
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MAIL.ACCOUNTS">Accounts</span>
+          <span translate="APP.ACCOUNTS">Accounts</span>
         </md-tab-label>
       </md-tab>
     </md-tabs>
diff --git a/public/src/js/modules/main/apps/marketplace/views/plugins/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/marketplace/views/plugins/create/dialog.html/dialog.html
index c9df8ba..c2797ef 100644
--- a/public/src/js/modules/main/apps/marketplace/views/plugins/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/marketplace/views/plugins/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MARKETPLACE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MARKETPLACE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MARKETPLACE.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <input
           type="text"
           name="type"
@@ -74,7 +74,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MARKETPLACE.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -85,11 +85,11 @@
           ng-model="vm.plugin.active"
           aria-label="Active"
           ng-disabled="!vm.newPlugin"
-          ><span translate="MARKETPLACE.ACTIVE">Active</span></md-switch
+          ><span translate="APP.ACTIVE">Active</span></md-switch
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MARKETPLACE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -286,8 +286,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="pluginForm.$invalid || pluginForm.$pristine"
           aria-label="SAVE"
-          translate="MARKETPLACE.SAVE"
-          translate-attr-aria-label="MARKETPLACE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -312,12 +312,10 @@
           ng-click="vm.deletePlugin($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MARKETPLACE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="MARKETPLACE.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/marketplace/views/plugins/edit/view.html/view.html b/public/src/js/modules/main/apps/marketplace/views/plugins/edit/view.html/view.html
index e4863ab..8120038 100644
--- a/public/src/js/modules/main/apps/marketplace/views/plugins/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/marketplace/views/plugins/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.plugin.name">{{vm.plugin.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="MARKETPLACE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.plugin.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -36,8 +36,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid)"
-        translate="MARKETPLACE.SAVE"
-        translate-attr-aria-label="MARKETPLACE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,20 +56,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="MARKETPLACE.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="plugin-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MARKETPLACE.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MARKETPLACE.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -85,14 +85,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MARKETPLACE.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MARKETPLACE.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <input
                   type="text"
                   name="type"
@@ -106,7 +106,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MARKETPLACE.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
@@ -117,11 +117,11 @@
                   ng-model="vm.plugin.active"
                   aria-label="Active"
                   ng-disabled="true"
-                  ><span translate="MARKETPLACE.ACTIVE">Active</span></md-switch
+                  ><span translate="APP.ACTIVE">Active</span></md-switch
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MARKETPLACE.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/marketplace/views/plugins/plugins.html/plugins.html b/public/src/js/modules/main/apps/marketplace/views/plugins/plugins.html/plugins.html
index 7879fbb..fc69e62 100644
--- a/public/src/js/modules/main/apps/marketplace/views/plugins/plugins.html/plugins.html
+++ b/public/src/js/modules/main/apps/marketplace/views/plugins/plugins.html/plugins.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-cart" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="MARKETPLACE.PLUGINS">Plugins</span>
+        <span class="logo-text" translate="APP.PLUGINS">Plugins</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="MARKETPLACE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedPlugins =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="MARKETPLACE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-plugins-count">
           <span>{{vm.selectedPlugins.length}}</span>
-          <span translate="MARKETPLACE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllPlugins()"
-                translate="MARKETPLACE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectPlugins()"
-                translate="MARKETPLACE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedPlugins($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="MARKETPLACE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -164,16 +164,16 @@
                   width="20px"
                 ></th>
                 <th md-column md-order-by="name">
-                  {{ 'MARKETPLACE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="type">
-                  {{ 'MARKETPLACE.TYPE' | translate }}
+                  {{ 'APP.TYPE' | translate }}
                 </th>
                 <th md-column md-order-by="active">
-                  {{ 'MARKETPLACE.ACTIVE' | translate }}
+                  {{ 'APP.ACTIVE' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'MARKETPLACE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column md-order-by="version">
                   {{ 'MARKETPLACE.VERSION' | translate }}
@@ -185,7 +185,7 @@
               <tr md-row ng-hide="vm.plugins.rows.length">
                 <td md-cell colspan="6">
                   <div layout="row" layout-align="center center">
-                    <span translate="MARKETPLACE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -259,7 +259,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="MARKETPLACE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/marketplace/views/plugins/upload/dialog.html/dialog.html b/public/src/js/modules/main/apps/marketplace/views/plugins/upload/dialog.html/dialog.html
index 98af3ca..78556ec 100644
--- a/public/src/js/modules/main/apps/marketplace/views/plugins/upload/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/marketplace/views/plugins/upload/dialog.html/dialog.html
@@ -57,7 +57,7 @@
           layout="row"
           layout-align="center center"
-          <span translate="MARKETPLACE.DROP_TO_UPLOAD">Drop to upload</span>
+          <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
         </div>
 
         <div class="upload-button" layout="column" layout-align="center center">
@@ -76,7 +76,7 @@
         ng-show="vm.uploadState == 'uploading'"
         <div>
-          <span translate="MARKETPLACE.UPLOADING">Uploading</span>
+          <span translate="APP.UPLOADING">Uploading</span>
           <span>{{vm.plugin.file.name}}</span>
         </div>
         <md-progress-linear md-mode="indeterminate"></md-progress-linear>
@@ -91,8 +91,8 @@
           ng-hide="vm.uploadState == 'uploading'"
           class="md-accent md-raised"
           aria-label="FINISH"
-          translate="MARKETPLACE.FINISH"
-          translate-attr-aria-label="MARKETPLACE.FINISH"
+          translate="APP.FINISH"
+          translate-attr-aria-label="APP.FINISH"
           FINISH
         </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/create/dialog.html/dialog.html
index 224e9c5..f53ff60 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newIvrCampaign"
         />
 
-        <div class="hint"><span translate="MOTIONDIALER.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="ivrCampaignForm['name'].$error"
           ng-show="ivrCampaignForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="MOTIONDIALER.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -71,17 +71,18 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.ivrCampaign.active" aria-label="Active"
-          ><span translate="MOTIONDIALER.ACTIVE">Active</span></md-switch
-        >
+          ><span translate="APP.ACTIVE">Active</span>
+        </md-switch>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.TRUNK">Trunk</label>
+        <label translate="APP.TRUNK">Trunk</label>
         <md-select name="TrunkId" ng-model="vm.ivrCampaign.TrunkId" required>
           <md-option
             ng-value="TrunkId.id"
             ng-repeat="TrunkId in vm.trunks"
             ng-disabled="TrunkId.canSelect === false"
-            >{{ TrunkId.name }}</md-option
+          >
+            {{ TrunkId.name }}</md-option
         </md-select>
         <div
@@ -90,14 +91,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.TRUNK_REQUIRED"
+            <span translate="APP.ERRORS.TRUNK_REQUIRED"
               >Trunk field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.INTERVAL">Interval</label>
+        <label translate="APP.INTERVAL">Interval</label>
         <md-select
           name="IntervalId"
           ng-model="vm.ivrCampaign.IntervalId"
@@ -130,7 +131,7 @@
           required
           <md-option ng-value="'always'">
-            {{ 'MOTIONDIALER.ALWAYS' | translate }}
+            {{ 'APP.ALWAYS' | translate }}
           </md-option>
 
           <md-option ng-value="'never'">
@@ -222,7 +223,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -277,8 +278,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="ivrCampaignForm.$invalid || ivrCampaignForm.$pristine"
           aria-label="SAVE"
-          translate="MOTIONDIALER.SAVE"
-          translate-attr-aria-label="MOTIONDIALER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -303,12 +304,10 @@
           ng-click="vm.deleteIvrCampaign($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MOTIONDIALER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="MOTIONDIALER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html
index e47c32e..d63b7dd 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html
@@ -50,8 +50,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/clone/clone.html/clone.html b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/clone/clone.html/clone.html
index 8097b18..27de67a 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/clone/clone.html/clone.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/clone/clone.html/clone.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newIvrCampaign"
         />
 
-        <div class="hint"><span translate="MOTIONDIALER.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="ivrCampaignForm['name'].$error"
           ng-show="ivrCampaignForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="MOTIONDIALER.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/hoppers/dialog.html/dialog.html b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/hoppers/dialog.html/dialog.html
index 68f0cb9..bfa0acf 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/hoppers/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/hoppers/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <div class="md-block">
-        <label translate="MOTIONDIALER.SCHEDULEDAT">ScheduledAt</label>
+        <label translate="APP.SCHEDULEDAT">ScheduledAt</label>
         <md-content layout="row" class="md-padding">
           <div flex class="md-block">
             <mdp-date-picker
@@ -98,7 +98,7 @@
         </md-content>
       </div>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <md-select name="priority" ng-model="vm.hopper.priority">
           <md-option ng-value="'4'">Highest</md-option>
           <md-option ng-value="'3'">High</md-option>
@@ -115,7 +115,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
@@ -157,8 +157,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="hopperForm.$invalid || hopperForm.$pristine"
           aria-label="SAVE"
-          translate="MOTIONDIALER.SAVE"
-          translate-attr-aria-label="MOTIONDIALER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -183,12 +183,10 @@
           ng-click="vm.deleteHopper($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MOTIONDIALER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="MOTIONDIALER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/listadd/listadd.html/listadd.html b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/listadd/listadd.html/listadd.html
index 7cdefbf..fca1d66 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/listadd/listadd.html/listadd.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/listadd/listadd.html/listadd.html
@@ -50,8 +50,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/view.html/view.html
index 9866f89..ff0992d 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/edit/view.html/view.html
@@ -27,7 +27,7 @@
             <span ng-if="vm.ivrCampaign.name">{{vm.ivrCampaign.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="MOTIONDIALER.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.ivrCampaign.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -105,8 +105,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
-        translate="MOTIONDIALER.SAVE"
-        translate-attr-aria-label="MOTIONDIALER.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -125,20 +125,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="ivrCampaign-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -150,7 +150,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -158,13 +158,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="MOTIONDIALER.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -176,13 +176,11 @@
                   ng-model="vm.ivrCampaign.active"
                   aria-label="Active"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.ACTIVE"
-                    >Active</span
-                  ></md-switch
+                  ><span translate="APP.ACTIVE">Active</span></md-switch
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.TRUNK">Trunk</label>
+                <label translate="APP.TRUNK">Trunk</label>
                 <md-select
                   name="TrunkId"
                   ng-model="vm.ivrCampaign.TrunkId"
@@ -202,7 +200,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.TRUNK_REQUIRED"
+                    <span translate="APP.ERRORS.TRUNK_REQUIRED"
                       >Trunk field is required</span
                     >
                   </div>
@@ -236,7 +234,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.INTERVAL">Interval</label>
+                <label translate="APP.INTERVAL">Interval</label>
                 <md-select
                   name="IntervalId"
                   ng-model="vm.ivrCampaign.IntervalId"
@@ -273,7 +271,7 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'always'">
-                    {{ 'MOTIONDIALER.ALWAYS' | translate }}
+                    {{ 'APP.ALWAYS' | translate }}
                   </md-option>
 
                   <md-option ng-value="'never'">
@@ -336,7 +334,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -362,14 +360,14 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.CAMPAIGN">CAMPAIGN</span>
+          <span translate="APP.CAMPAIGN">CAMPAIGN</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="ivrCampaign-detail-form-container campaign md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.CAMPAIGN">
+              <div class="h2 secondary-text" translate="APP.CAMPAIGN">
                 CAMPAIGN
               </div>
             </div>
@@ -616,7 +614,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.PREFIX">Prefix</label>
+                <label translate="APP.PREFIX">Prefix</label>
                 <input
                   type="text"
                   name="dialPrefix"
@@ -634,7 +632,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.PREFIX_REQUIRED"
+                    <span translate="APP.ERRORS.PREFIX_REQUIRED"
                       >Prefix field is required</span
                     >
                   </div>
@@ -662,9 +660,7 @@
             class="ivrCampaign-detail-form-container global md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.GLOBAL">
-                GLOBAL
-              </div>
+              <div class="h2 secondary-text" translate="APP.GLOBAL">GLOBAL</div>
             </div>
             <form name="globalForm" novalidate>
               <md-input-container class="md-block">
@@ -829,9 +825,7 @@
             class="ivrCampaign-detail-form-container busy md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.BUSY">
-                BUSY
-              </div>
+              <div class="h2 secondary-text" translate="APP.BUSY">BUSY</div>
             </div>
             <form name="busyForm" novalidate>
               <md-input-container class="md-block">
@@ -1240,7 +1234,7 @@
             class="ivrCampaign-detail-form-container abandoned md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.ABANDONED">
+              <div class="h2 secondary-text" translate="APP.ABANDONED">
                 ABANDONED
               </div>
             </div>
@@ -1559,14 +1553,14 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="ivrCampaign-detail-form-container advanced md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.ADVANCED">
+              <div class="h2 secondary-text" translate="APP.ADVANCED">
                 ADVANCED
               </div>
             </div>
@@ -1656,13 +1650,13 @@
             class="ivrCampaign-detail-form-container timezone md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.TIMEZONE">
+              <div class="h2 secondary-text" translate="APP.TIMEZONE">
                 TIMEZONE
               </div>
             </div>
             <form name="timezoneForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.TIMEZONE">Timezone</label>
+                <label translate="APP.TIMEZONE">Timezone</label>
                 <ms-timezone
                   name="dialTimezone"
                   ng-model="vm.ivrCampaign.dialTimezone"
@@ -1678,7 +1672,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.TIMEZONE_REQUIRED"
+                    <span translate="APP.ERRORS.TIMEZONE_REQUIRED"
                       >Timezone field is required</span
                     >
                   </div>
@@ -1700,10 +1694,8 @@
                   ng-model="vm.ivrCampaign.dialAMDActive"
                   aria-label="AMDActive"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.AMDACTIVE"
-                    >AMDActive</span
-                  ></md-switch
-                >
+                  ><span translate="MOTIONDIALER.AMDACTIVE">AMDActive</span>
+                </md-switch>
 
                 <div class="hint">
                   <span translate="MOTIONDIALER.HELP.AMDACTIVE"></span>
@@ -2132,7 +2124,7 @@
                         {{(vm_hs.total || 0) + (vm_hs.closed || 0)}}
                       </div>
                       <div class="font-weight-500 secondary-text">
-                        {{ 'MOTIONDIALER.TOTAL' | translate }}
+                        {{ 'APP.TOTAL' | translate }}
                       </div>
                     </div>
                   </ms-widget-front>
@@ -2193,7 +2185,7 @@
                         number: 2) : 0}}%)
                       </div>
                       <div class="font-weight-500 secondary-text">
-                        {{ 'MOTIONDIALER.OPEN' | translate }}
+                        {{ 'APP.OPEN' | translate }}
                       </div>
                     </div>
                   </ms-widget-front>
@@ -2223,7 +2215,7 @@
                         + (vm_hs.total || 0))) | number: 2) : 0}}%)
                       </div>
                       <div class="font-weight-500 secondary-text">
-                        {{ 'MOTIONDIALER.CLOSED' | translate }}
+                        {{ 'APP.CLOSED' | translate }}
                       </div>
                     </div>
                   </ms-widget-front>
@@ -2292,7 +2284,7 @@
                     ng-click="vm_dc.deleteSelectedIvrCampaignHoppers($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="MOTIONDIALER.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -2316,13 +2308,13 @@
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="phone">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="countcongestionretry">
                         {{ 'MOTIONDIALER.CONGESTION' | translate }}
                       </th>
                       <th md-column md-order-by="countbusyretry">
-                        {{ 'MOTIONDIALER.BUSY' | translate }}
+                        {{ 'APP.BUSY' | translate }}
                       </th>
                       <th md-column md-order-by="countnoanswerretry">
                         {{ 'MOTIONDIALER.NOANSWER' | translate }}
@@ -2334,7 +2326,7 @@
                         {{ 'MOTIONDIALER.DROP' | translate }}
                       </th>
                       <th md-column md-order-by="countabandonedretry">
-                        {{ 'MOTIONDIALER.ABANDONED' | translate }}
+                        {{ 'APP.ABANDONED' | translate }}
                       </th>
                       <th md-column md-order-by="countmachineretry">
                         {{ 'MOTIONDIALER.MACHINE' | translate }}
@@ -2343,10 +2335,10 @@
                         {{ 'MOTIONDIALER.AGENTREJECT' | translate }}
                       </th>
                       <th md-column md-order-by="scheduledat">
-                        {{ 'MOTIONDIALER.SCHEDULEDAT' | translate }}
+                        {{ 'APP.SCHEDULEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="priority">
-                        {{ 'MOTIONDIALER.PRIORITY' | translate }}
+                        {{ 'APP.PRIORITY' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -2441,7 +2433,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="MOTIONDIALER.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -2453,7 +2445,7 @@
                             <md-menu-item ng-if="vm_dc.crudPermissions.canEdit">
                               <md-button
                                 ng-click="vm_dc.createOrEditIvrCampaignHopper($event, hopper)"
-                                translate="MOTIONDIALER.EDIT_HOPPER"
+                                translate="APP.EDIT_HOPPER"
                                 Edit Hopper
                               </md-button>
@@ -2463,7 +2455,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(hopper, $event)"
-                                translate="MOTIONDIALER.DELETE_HOPPER"
+                                translate="APP.DELETE_HOPPER"
                                 Delete Hopper
                               </md-button>
@@ -2575,28 +2567,28 @@
                     <tr md-row>
                       <th md-column md-order-by="uniqueid">
-                        {{ 'MOTIONDIALER.UNIQUEID' | translate }}
+                        {{ 'APP.UNIQUEID' | translate }}
                       </th>
                       <th md-column md-order-by="ContactId">
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="calleridnum">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="calleridname">
-                        {{ 'MOTIONDIALER.NAME' | translate }}
+                        {{ 'APP.NAME' | translate }}
                       </th>
                       <th md-column md-order-by="statedesc">
-                        {{ 'MOTIONDIALER.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
                       <th md-column md-order-by="scheduledat">
-                        {{ 'MOTIONDIALER.SCHEDULEDAT' | translate }}
+                        {{ 'APP.SCHEDULEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'MOTIONDIALER.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="endtime">
-                        {{ 'MOTIONDIALER.ENDTIME' | translate }}
+                        {{ 'APP.ENDTIME' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -2694,7 +2686,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="MOTIONDIALER.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="vm_dc.countContactsIvrCampaignHopperFinal(vm_dc.query.id); $mdMenu.open($event);"
                         <md-icon md-font-icon="icon-backup-restore"></md-icon>
@@ -2849,25 +2841,25 @@
                     <tr md-row>
                       <th md-column md-order-by="uniqueid">
-                        {{ 'MOTIONDIALER.UNIQUEID' | translate }}
+                        {{ 'APP.UNIQUEID' | translate }}
                       </th>
                       <th md-column md-order-by="ContactId">
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="calleridnum">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="calleridname">
-                        {{ 'MOTIONDIALER.NAME' | translate }}
+                        {{ 'APP.NAME' | translate }}
                       </th>
                       <th md-column md-order-by="statedesc">
-                        {{ 'MOTIONDIALER.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
                       <th md-column md-order-by="countcongestionretry">
                         {{ 'MOTIONDIALER.CONGESTION' | translate }}
                       </th>
                       <th md-column md-order-by="countbusyretry">
-                        {{ 'MOTIONDIALER.BUSY' | translate }}
+                        {{ 'APP.BUSY' | translate }}
                       </th>
                       <th md-column md-order-by="countnoanswerretry">
                         {{ 'MOTIONDIALER.NOANSWER' | translate }}
@@ -2879,7 +2871,7 @@
                         {{ 'MOTIONDIALER.DROP' | translate }}
                       </th>
                       <th md-column md-order-by="countabandonedretry">
-                        {{ 'MOTIONDIALER.ABANDONED' | translate }}
+                        {{ 'APP.ABANDONED' | translate }}
                       </th>
                       <th md-column md-order-by="countmachineretry">
                         {{ 'MOTIONDIALER.MACHINE' | translate }}
@@ -2888,13 +2880,13 @@
                         {{ 'MOTIONDIALER.AGENTREJECT' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'MOTIONDIALER.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="endtime">
-                        {{ 'MOTIONDIALER.ENDTIME' | translate }}
+                        {{ 'APP.ENDTIME' | translate }}
                       </th>
                       <th md-column md-order-by="disposition">
-                        {{ 'MOTIONDIALER.DISPOSITION' | translate }}
+                        {{ 'APP.DISPOSITION' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -2932,7 +2924,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="MOTIONDIALER.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -2985,7 +2977,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.BLACKLIST">BLACKLIST</span>
+          <span translate="APP.BLACKLIST">BLACKLIST</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -3051,7 +3043,7 @@
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="phone">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/ivrCampaigns.html/ivrCampaigns.html b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/ivrCampaigns.html/ivrCampaigns.html
index 4886e24..459fbd6 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/ivrCampaigns.html/ivrCampaigns.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/ivrCampaigns/ivrCampaigns.html/ivrCampaigns.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="MOTIONDIALER.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedIvrCampaigns =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="MOTIONDIALER.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-ivrCampaigns-count">
           <span>{{vm.selectedIvrCampaigns.length}}</span>
-          <span translate="MOTIONDIALER.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllIvrCampaigns()"
-                translate="MOTIONDIALER.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectIvrCampaigns()"
-                translate="MOTIONDIALER.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedIvrCampaigns($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="MOTIONDIALER.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,17 +149,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'MOTIONDIALER.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'MOTIONDIALER.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="active">
-                  {{ 'MOTIONDIALER.ACTIVE' | translate }}
+                  {{ 'APP.ACTIVE' | translate }}
                 </th>
                 <th md-column md-order-by="TrunkId">
-                  {{ 'MOTIONDIALER.TRUNK' | translate }}
+                  {{ 'APP.TRUNK' | translate }}
                 </th>
                 <th md-column md-order-by="SquareProjectId">
                   {{ 'MOTIONDIALER.CALLYSQUAREPROJECT' | translate }}
@@ -171,7 +169,7 @@
               <tr md-row ng-hide="vm.ivrCampaigns.rows.length">
                 <td md-cell colspan="6">
                   <div layout="row" layout-align="center center">
-                    <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -247,7 +245,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="MOTIONDIALER.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/create/dialog.html/dialog.html
index a118ac4..02f4999 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newQueueCampaign"
         />
 
-        <div class="hint"><span translate="MOTIONDIALER.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="queueCampaignForm['name'].$error"
           ng-show="queueCampaignForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="MOTIONDIALER.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -71,17 +71,18 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.queueCampaign.dialActive" aria-label="Active"
-          ><span translate="MOTIONDIALER.ACTIVE">Active</span></md-switch
-        >
+          ><span translate="APP.ACTIVE">Active</span>
+        </md-switch>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.TRUNK">Trunk</label>
+        <label translate="APP.TRUNK">Trunk</label>
         <md-select name="TrunkId" ng-model="vm.queueCampaign.TrunkId" required>
           <md-option
             ng-value="TrunkId.id"
             ng-repeat="TrunkId in vm.trunks"
             ng-disabled="TrunkId.canSelect === false"
-            >{{ TrunkId.name }}</md-option
+          >
+            {{ TrunkId.name }}</md-option
         </md-select>
         <div
@@ -90,7 +91,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.TRUNK_REQUIRED"
+            <span translate="APP.ERRORS.TRUNK_REQUIRED"
               >Trunk field is required</span
             >
           </div>
@@ -100,7 +101,7 @@
         ng-if="vm.queueCampaign.dialMethod != 'preview'"
         class="md-block"
-        <label translate="MOTIONDIALER.INTERVAL">Interval</label>
+        <label translate="APP.INTERVAL">Interval</label>
         <md-select
           name="IntervalId"
           ng-model="vm.queueCampaign.IntervalId"
@@ -133,7 +134,7 @@
           required
           <md-option ng-value="'always'">
-            {{ 'MOTIONDIALER.ALWAYS' | translate }}
+            {{ 'APP.ALWAYS' | translate }}
           </md-option>
 
           <md-option ng-value="'never'">
@@ -157,7 +158,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.METHOD">Method</label>
+        <label translate="APP.METHOD">Method</label>
         <md-select
           name="dialMethod"
           ng-model="vm.queueCampaign.dialMethod"
@@ -178,7 +179,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.METHOD_REQUIRED"
+            <span translate="APP.ERRORS.METHOD_REQUIRED"
               >Method field is required</span
             >
           </div>
@@ -400,7 +401,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -455,8 +456,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="queueCampaignForm.$invalid || queueCampaignForm.$pristine"
           aria-label="SAVE"
-          translate="MOTIONDIALER.SAVE"
-          translate-attr-aria-label="MOTIONDIALER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -481,12 +482,10 @@
           ng-click="vm.deleteQueueCampaign($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MOTIONDIALER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="MOTIONDIALER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/agentadd/agentadd.html/agentadd.html
index 98d6865..6fc5ad4 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/agentadd/agentadd.html/agentadd.html
@@ -20,7 +20,7 @@
     </md-toolbar>
     <md-dialog-content>
       <md-input-container flex class="no-margin">
-        <label translate="MOTIONDIALER.PENALTY">Penalty</label>
+        <label translate="APP.PENALTY">Penalty</label>
         <input
           name="penalty"
           ng-model="vm.penalty"
@@ -62,8 +62,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html
index 7084bed..a64eaa6 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/blacklistadd/blacklistadd.html/blacklistadd.html
@@ -50,8 +50,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/clone/clone.html/clone.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/clone/clone.html/clone.html
index fc14cd7..21b976e 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/clone/clone.html/clone.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/clone/clone.html/clone.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newQueueCampaign"
         />
 
-        <div class="hint"><span translate="MOTIONDIALER.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="queueCampaignForm['name'].$error"
           ng-show="queueCampaignForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="MOTIONDIALER.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -71,8 +71,8 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.queueCampaign.dialActive" aria-label="Active"
-          ><span translate="MOTIONDIALER.ACTIVE">Active</span></md-switch
-        >
+          ><span translate="APP.ACTIVE">Active</span>
+        </md-switch>
       </md-input-container>
 
       <div class="error-list">
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/hoppers/dialog.html/dialog.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/hoppers/dialog.html/dialog.html
index a3cfc63..f3ea5fb 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/hoppers/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/hoppers/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <div class="md-block">
-        <label translate="MOTIONDIALER.SCHEDULEDAT">ScheduledAt</label>
+        <label translate="APP.SCHEDULEDAT">ScheduledAt</label>
         <md-content layout="row" class="md-padding">
           <div flex class="md-block">
             <mdp-date-picker
@@ -98,7 +98,7 @@
         </md-content>
       </div>
       <md-input-container class="md-block">
-        <label translate="MOTIONDIALER.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <md-select name="priority" ng-model="vm.hopper.priority">
           <md-option ng-value="'4'">Highest</md-option>
           <md-option ng-value="'3'">High</md-option>
@@ -115,7 +115,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
@@ -129,13 +129,14 @@
       </md-input-container>
       <md-input-container ng-if="vm.hopper.recallme" class="md-block">
-        <label translate="MOTIONDIALER.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select name="UserId" ng-model="vm.hopper.UserId" required>
           <md-option
             ng-value="UserId.id"
             ng-repeat="UserId in vm.agents"
             ng-disabled="UserId.canSelect === false"
-            >{{ UserId.name }}</md-option
+          >
+            {{ UserId.name }}</md-option
         </md-select>
         <div
@@ -144,7 +145,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="MOTIONDIALER.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
@@ -186,8 +187,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="hopperForm.$invalid || hopperForm.$pristine"
           aria-label="SAVE"
-          translate="MOTIONDIALER.SAVE"
-          translate-attr-aria-label="MOTIONDIALER.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -212,12 +213,10 @@
           ng-click="vm.deleteHopper($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="MOTIONDIALER.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="MOTIONDIALER.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/listadd/listadd.html/listadd.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/listadd/listadd.html/listadd.html
index 2117cf9..7d6c72c 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/listadd/listadd.html/listadd.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/listadd/listadd.html/listadd.html
@@ -50,8 +50,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/teamadd/teamadd.html/teamadd.html
index fa1abeb..c6c6cbb 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/teamadd/teamadd.html/teamadd.html
@@ -6,7 +6,7 @@
   <form name="queueCampaignForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="MOTIONDIALER.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -18,7 +18,7 @@
     </md-toolbar>
     <md-dialog-content>
       <md-input-container flex class="no-margin">
-        <label translate="MOTIONDIALER.PENALTY">Penalty</label>
+        <label translate="APP.PENALTY">Penalty</label>
         <input
           name="penalty"
           ng-model="vm.penalty"
@@ -60,8 +60,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/view.html/view.html
index ccf1878..754dc89 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/edit/view.html/view.html
@@ -27,7 +27,7 @@
             <span ng-if="vm.queueCampaign.name">{{vm.queueCampaign.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="MOTIONDIALER.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.queueCampaign.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -131,8 +131,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
-        translate="MOTIONDIALER.SAVE"
-        translate-attr-aria-label="MOTIONDIALER.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -151,20 +151,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="queueCampaign-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -176,7 +176,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -184,13 +184,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="MOTIONDIALER.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -202,13 +202,11 @@
                   ng-model="vm.queueCampaign.dialActive"
                   aria-label="Active"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.ACTIVE"
-                    >Active</span
-                  ></md-switch
+                  ><span translate="APP.ACTIVE">Active</span></md-switch
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.TRUNK">Trunk</label>
+                <label translate="APP.TRUNK">Trunk</label>
                 <md-select
                   name="TrunkId"
                   ng-model="vm.queueCampaign.TrunkId"
@@ -228,7 +226,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.TRUNK_REQUIRED"
+                    <span translate="APP.ERRORS.TRUNK_REQUIRED"
                       >Trunk field is required</span
                     >
                   </div>
@@ -265,7 +263,7 @@
                 ng-if="vm.queueCampaign.dialMethod != 'preview'"
                 class="md-block"
-                <label translate="MOTIONDIALER.INTERVAL">Interval</label>
+                <label translate="APP.INTERVAL">Interval</label>
                 <md-select
                   name="IntervalId"
                   ng-model="vm.queueCampaign.IntervalId"
@@ -302,7 +300,7 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'always'">
-                    {{ 'MOTIONDIALER.ALWAYS' | translate }}
+                    {{ 'APP.ALWAYS' | translate }}
                   </md-option>
 
                   <md-option ng-value="'never'">
@@ -365,7 +363,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -391,20 +389,20 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.CAMPAIGN">CAMPAIGN</span>
+          <span translate="APP.CAMPAIGN">CAMPAIGN</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="queueCampaign-detail-form-container campaign md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.CAMPAIGN">
+              <div class="h2 secondary-text" translate="APP.CAMPAIGN">
                 CAMPAIGN
               </div>
             </div>
             <form name="campaignForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.METHOD">Method</label>
+                <label translate="APP.METHOD">Method</label>
                 <md-select
                   name="dialMethod"
                   ng-model="vm.queueCampaign.dialMethod"
@@ -427,7 +425,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.METHOD_REQUIRED"
+                    <span translate="APP.ERRORS.METHOD_REQUIRED"
                       >Method field is required</span
                     >
                   </div>
@@ -621,9 +619,7 @@
             class="queueCampaign-detail-form-container queue md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.QUEUE">
-                QUEUE
-              </div>
+              <div class="h2 secondary-text" translate="APP.QUEUE">QUEUE</div>
             </div>
             <form name="queueForm" novalidate>
               <md-input-container
@@ -703,7 +699,7 @@
                 ng-if="vm.queueCampaign.dialMethod === 'booked' || vm.queueCampaign.dialMethod === 'progressive' || vm.queueCampaign.dialMethod === 'predictive' || vm.queueCampaign.dialMethod === 'power'"
                 class="md-block"
-                <label translate="MOTIONDIALER.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.queueCampaign.strategy"
@@ -716,18 +712,18 @@
                   <md-option
                     ng-value="'roundrobin'"
                     ng-if="vm.queueCampaign.dialMethod === 'booked'"
-                    >Round Robin</md-option
-                  >
+                    >Round Robin
+                  </md-option>
                   <md-option
                     ng-value="'leastrecent'"
                     ng-if="vm.queueCampaign.dialMethod !== 'booked'"
-                    >Least Recent</md-option
-                  >
+                    >Least Recent
+                  </md-option>
                   <md-option
                     ng-value="'fewestcalls'"
                     ng-if="vm.queueCampaign.dialMethod !== 'booked'"
-                    >Fewest Calls</md-option
-                  >
+                    >Fewest Calls
+                  </md-option>
                   <md-option
                     ng-value="'random'"
                     ng-if="vm.queueCampaign.dialMethod !== 'booked'"
@@ -741,8 +737,8 @@
                   <md-option
                     ng-value="'wrandom'"
                     ng-if="vm.queueCampaign.dialMethod !== 'booked'"
-                    >Weight Random</md-option
-                  >
+                    >Weight Random
+                  </md-option>
                 </md-select>
                 <div
                   ng-messages="queueForm['strategy'].$error"
@@ -760,7 +756,7 @@
                 ng-if="vm.queueCampaign.dialMethod === 'progressive' || vm.queueCampaign.dialMethod === 'predictive' || vm.queueCampaign.dialMethod === 'power'"
                 class="md-block"
-                <label translate="MOTIONDIALER.RETRY">Retry</label>
+                <label translate="APP.RETRY">Retry</label>
                 <input
                   type="number"
                   name="retry"
@@ -784,7 +780,7 @@
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="MOTIONDIALER.ERRORS.RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Retry must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -795,7 +791,7 @@
                 ng-if="vm.queueCampaign.dialMethod === 'progressive' || vm.queueCampaign.dialMethod === 'predictive' || vm.queueCampaign.dialMethod === 'power'"
                 class="md-block"
-                <label translate="MOTIONDIALER.WRAPUPTIME">WrapupTime</label>
+                <label translate="APP.WRAPUPTIME">WrapupTime</label>
                 <input
                   type="number"
                   name="wrapuptime"
@@ -819,7 +815,7 @@
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="MOTIONDIALER.ERRORS.WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WrapupTime must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -830,7 +826,7 @@
                 ng-if="vm.queueCampaign.dialMethod === 'progressive' || vm.queueCampaign.dialMethod === 'predictive' || vm.queueCampaign.dialMethod === 'power'"
                 class="md-block"
-                <label translate="MOTIONDIALER.WEIGHT">Weight</label>
+                <label translate="APP.WEIGHT">Weight</label>
                 <input
                   type="number"
                   name="weight"
@@ -854,7 +850,7 @@
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="MOTIONDIALER.ERRORS.WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Weight must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -865,7 +861,7 @@
                 ng-if="vm.queueCampaign.dialMethod === 'progressive' || vm.queueCampaign.dialMethod === 'predictive' || vm.queueCampaign.dialMethod === 'power'"
                 class="md-block"
-                <label translate="MOTIONDIALER.MUSICONHOLD">MusicOnHold</label>
+                <label translate="APP.MUSICONHOLD">MusicOnHold</label>
                 <md-select
                   name="musiconhold"
                   ng-model="vm.queueCampaign.musiconhold"
@@ -879,7 +875,7 @@
                 </md-select>
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.MUSICONHOLD"></span>
+                  <span translate="APP.HELP.MUSICONHOLD"></span>
                 </div>
                 <div
                   ng-messages="queueForm['musiconhold'].$error"
@@ -1225,7 +1221,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.PREFIX">Prefix</label>
+                <label translate="APP.PREFIX">Prefix</label>
                 <input
                   type="text"
                   name="dialPrefix"
@@ -1243,7 +1239,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.PREFIX_REQUIRED"
+                    <span translate="APP.ERRORS.PREFIX_REQUIRED"
                       >Prefix field is required</span
                     >
                   </div>
@@ -1271,9 +1267,7 @@
             class="queueCampaign-detail-form-container global md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.GLOBAL">
-                GLOBAL
-              </div>
+              <div class="h2 secondary-text" translate="APP.GLOBAL">GLOBAL</div>
             </div>
             <form name="globalForm" novalidate>
               <md-input-container class="md-block">
@@ -1438,9 +1432,7 @@
             class="queueCampaign-detail-form-container busy md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.BUSY">
-                BUSY
-              </div>
+              <div class="h2 secondary-text" translate="APP.BUSY">BUSY</div>
             </div>
             <form name="busyForm" novalidate>
               <md-input-container class="md-block">
@@ -1849,7 +1841,7 @@
             class="queueCampaign-detail-form-container abandoned md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.ABANDONED">
+              <div class="h2 secondary-text" translate="APP.ABANDONED">
                 ABANDONED
               </div>
             </div>
@@ -2168,7 +2160,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -2176,7 +2168,7 @@
             class="queueCampaign-detail-form-container advanced md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.ADVANCED">
+              <div class="h2 secondary-text" translate="APP.ADVANCED">
                 ADVANCED
               </div>
             </div>
@@ -2186,17 +2178,15 @@
                   ng-model="vm.queueCampaign.acw"
                   aria-label="AfterCallWork"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.AFTERCALLWORK"
-                    >AfterCallWork</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AFTERCALLWORK">AfterCallWork</span>
+                </md-switch>
 
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.AFTERCALLWORK"></span>
+                  <span translate="APP.HELP.AFTERCALLWORK"></span>
                 </div>
               </md-input-container>
               <md-input-container ng-if="vm.queueCampaign.acw" class="md-block">
-                <label translate="MOTIONDIALER.AFTERCALLWORKDURATION"
+                <label translate="APP.AFTERCALLWORKDURATION"
                   >AfterCallWorkDuration</label
                 >
                 <input
@@ -2209,9 +2199,7 @@
                 />
 
                 <div class="hint">
-                  <span
-                    translate="MOTIONDIALER.HELP.AFTERCALLWORKDURATION"
-                  ></span>
+                  <span translate="APP.HELP.AFTERCALLWORKDURATION"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['acwTimeout'].$error"
@@ -2219,8 +2207,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span
-                      translate="MOTIONDIALER.ERRORS.AFTERCALLWORKDURATION_REQUIRED"
+                    <span translate="APP.ERRORS.AFTERCALLWORKDURATION_REQUIRED"
                       >AfterCallWorkDuration field is required</span
                     >
                   </div>
@@ -2242,11 +2229,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'all'">
-                    {{ 'MOTIONDIALER.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'MOTIONDIALER.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -2265,22 +2252,22 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.RINGINUSE">RingInUse</label>
+                <label translate="APP.RINGINUSE">RingInUse</label>
                 <md-select
                   name="ringinuse"
                   ng-model="vm.queueCampaign.ringinuse"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'MOTIONDIALER.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'MOTIONDIALER.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.RINGINUSE"></span>
+                  <span translate="APP.HELP.RINGINUSE"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['ringinuse'].$error"
@@ -2295,7 +2282,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.MEMBERDELAY">MemberDelay</label>
+                <label translate="APP.MEMBERDELAY">MemberDelay</label>
                 <input
                   type="number"
                   name="memberdelay"
@@ -2305,7 +2292,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.MEMBERDELAY"></span>
+                  <span translate="APP.HELP.MEMBERDELAY"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['memberdelay'].$error"
@@ -2327,24 +2314,22 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.TIMEOUTRESTART"
-                  >TimeoutRestart</label
-                >
+                <label translate="APP.TIMEOUTRESTART">TimeoutRestart</label>
                 <md-select
                   name="timeoutrestart"
                   ng-model="vm.queueCampaign.timeoutrestart"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'MOTIONDIALER.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'MOTIONDIALER.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.TIMEOUTRESTART"></span>
+                  <span translate="APP.HELP.TIMEOUTRESTART"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['timeoutrestart'].$error"
@@ -2360,9 +2345,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.MONITORFORMAT"
-                  >MonitorFormat</label
-                >
+                <label translate="APP.MONITORFORMAT">MonitorFormat</label>
                 <md-select
                   name="monitor_format"
                   ng-model="vm.queueCampaign.monitor_format"
@@ -2374,7 +2357,7 @@
                   <md-option ng-value="'gsm'">gsm</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.MONITORFORMAT"></span>
+                  <span translate="APP.HELP.MONITORFORMAT"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['monitor_format'].$error"
@@ -2389,7 +2372,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.CONTEXT">Context</label>
+                <label translate="APP.CONTEXT">Context</label>
                 <input
                   type="text"
                   name="context"
@@ -2398,7 +2381,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.CONTEXT"></span>
+                  <span translate="APP.HELP.CONTEXT"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['context'].$error"
@@ -2406,14 +2389,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.CONTEXT_REQUIRED"
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED"
                       >Context field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.SETINTERFACEVARIABLES"
+                <label translate="APP.SETINTERFACEVARIABLES"
                   >SetInterfaceVariables</label
                 >
                 <md-select
@@ -2422,11 +2405,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'MOTIONDIALER.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'MOTIONDIALER.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -2448,7 +2431,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.SETQUEUEVARIABLES"
+                <label translate="APP.SETQUEUEVARIABLES"
                   >SetQueueVariables</label
                 <md-select
@@ -2457,11 +2440,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'MOTIONDIALER.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'MOTIONDIALER.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -2481,7 +2464,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.SETQUEUEENTRYVARIABLES"
+                <label translate="APP.SETQUEUEENTRYVARIABLES"
                   >SetQueueEntryVariables</label
                 >
                 <md-select
@@ -2490,11 +2473,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'MOTIONDIALER.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'MOTIONDIALER.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -2555,7 +2538,7 @@
                   ng-model="vm.queueCampaign.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -2564,7 +2547,7 @@
                 ng-if="vm.queueCampaign.mandatoryDisposition"
                 class="md-block"
-                <label translate="MOTIONDIALER.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -2577,13 +2560,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span
-                    translate="MOTIONDIALER.HELP.MANDATORYDISPOSITIONPAUSEID"
-                  ></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['mandatoryDispositionPauseId'].$error"
@@ -2592,7 +2573,7 @@
                   <div ng-message="required">
                     <span
-                      translate="MOTIONDIALER.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -2618,17 +2599,15 @@
                   ng-model="vm.queueCampaign.acw"
                   aria-label="AfterCallWork"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.AFTERCALLWORK"
-                    >AfterCallWork</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AFTERCALLWORK">AfterCallWork</span>
+                </md-switch>
 
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.AFTERCALLWORK"></span>
+                  <span translate="APP.HELP.AFTERCALLWORK"></span>
                 </div>
               </md-input-container>
               <md-input-container ng-if="vm.queueCampaign.acw" class="md-block">
-                <label translate="MOTIONDIALER.AFTERCALLWORKDURATION"
+                <label translate="APP.AFTERCALLWORKDURATION"
                   >AfterCallWorkDuration</label
                 >
                 <input
@@ -2641,9 +2620,7 @@
                 />
 
                 <div class="hint">
-                  <span
-                    translate="MOTIONDIALER.HELP.AFTERCALLWORKDURATION"
-                  ></span>
+                  <span translate="APP.HELP.AFTERCALLWORKDURATION"></span>
                 </div>
                 <div
                   ng-messages="advancedpreviewForm['acwTimeout'].$error"
@@ -2651,8 +2628,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span
-                      translate="MOTIONDIALER.ERRORS.AFTERCALLWORKDURATION_REQUIRED"
+                    <span translate="APP.ERRORS.AFTERCALLWORKDURATION_REQUIRED"
                       >AfterCallWorkDuration field is required</span
                     >
                   </div>
@@ -2667,9 +2643,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.MONITORFORMAT"
-                  >MonitorFormat</label
-                >
+                <label translate="APP.MONITORFORMAT">MonitorFormat</label>
                 <md-select
                   name="monitor_format"
                   ng-model="vm.queueCampaign.monitor_format"
@@ -2681,7 +2655,7 @@
                   <md-option ng-value="'gsm'">gsm</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="MOTIONDIALER.HELP.MONITORFORMAT"></span>
+                  <span translate="APP.HELP.MONITORFORMAT"></span>
                 </div>
                 <div
                   ng-messages="advancedpreviewForm['monitor_format'].$error"
@@ -2735,7 +2709,7 @@
                   ng-model="vm.queueCampaign.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -2744,7 +2718,7 @@
                 ng-if="vm.queueCampaign.mandatoryDisposition"
                 class="md-block"
-                <label translate="MOTIONDIALER.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -2757,13 +2731,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span
-                    translate="MOTIONDIALER.HELP.MANDATORYDISPOSITIONPAUSEID"
-                  ></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="advancedpreviewForm['mandatoryDispositionPauseId'].$error"
@@ -2772,7 +2744,7 @@
                   <div ng-message="required">
                     <span
-                      translate="MOTIONDIALER.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -2843,7 +2815,7 @@
             class="queueCampaign-detail-form-container recallme md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.RECALLME">
+              <div class="h2 secondary-text" translate="APP.RECALLME">
                 RECALLME
               </div>
             </div>
@@ -2953,13 +2925,13 @@
             class="queueCampaign-detail-form-container timezone md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="MOTIONDIALER.TIMEZONE">
+              <div class="h2 secondary-text" translate="APP.TIMEZONE">
                 TIMEZONE
               </div>
             </div>
             <form name="timezoneForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="MOTIONDIALER.TIMEZONE">Timezone</label>
+                <label translate="APP.TIMEZONE">Timezone</label>
                 <ms-timezone
                   name="dialTimezone"
                   ng-model="vm.queueCampaign.dialTimezone"
@@ -2975,7 +2947,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="MOTIONDIALER.ERRORS.TIMEZONE_REQUIRED"
+                    <span translate="APP.ERRORS.TIMEZONE_REQUIRED"
                       >Timezone field is required</span
                     >
                   </div>
@@ -2998,10 +2970,8 @@
                   ng-model="vm.queueCampaign.dialAMDActive"
                   aria-label="AMDActive"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="MOTIONDIALER.AMDACTIVE"
-                    >AMDActive</span
-                  ></md-switch
-                >
+                  ><span translate="MOTIONDIALER.AMDACTIVE">AMDActive</span>
+                </md-switch>
 
                 <div class="hint">
                   <span translate="MOTIONDIALER.HELP.AMDACTIVE"></span>
@@ -3430,7 +3400,7 @@
                         {{(vm_hs.total || 0) + (vm_hs.closed || 0)}}
                       </div>
                       <div class="font-weight-500 secondary-text">
-                        {{ 'MOTIONDIALER.TOTAL' | translate }}
+                        {{ 'APP.TOTAL' | translate }}
                       </div>
                     </div>
                   </ms-widget-front>
@@ -3491,7 +3461,7 @@
                         number: 2) : 0}}%)
                       </div>
                       <div class="font-weight-500 secondary-text">
-                        {{ 'MOTIONDIALER.OPEN' | translate }}
+                        {{ 'APP.OPEN' | translate }}
                       </div>
                     </div>
                   </ms-widget-front>
@@ -3521,7 +3491,7 @@
                         + (vm_hs.total || 0))) | number: 2) : 0}}%)
                       </div>
                       <div class="font-weight-500 secondary-text">
-                        {{ 'MOTIONDIALER.CLOSED' | translate }}
+                        {{ 'APP.CLOSED' | translate }}
                       </div>
                     </div>
                   </ms-widget-front>
@@ -3590,7 +3560,7 @@
                     ng-click="vm_dc.deleteSelectedQueueCampaignHoppers($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="MOTIONDIALER.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -3614,13 +3584,13 @@
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="phone">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="countcongestionretry">
                         {{ 'MOTIONDIALER.CONGESTION' | translate }}
                       </th>
                       <th md-column md-order-by="countbusyretry">
-                        {{ 'MOTIONDIALER.BUSY' | translate }}
+                        {{ 'APP.BUSY' | translate }}
                       </th>
                       <th md-column md-order-by="countnoanswerretry">
                         {{ 'MOTIONDIALER.NOANSWER' | translate }}
@@ -3632,7 +3602,7 @@
                         {{ 'MOTIONDIALER.DROP' | translate }}
                       </th>
                       <th md-column md-order-by="countabandonedretry">
-                        {{ 'MOTIONDIALER.ABANDONED' | translate }}
+                        {{ 'APP.ABANDONED' | translate }}
                       </th>
                       <th md-column md-order-by="countmachineretry">
                         {{ 'MOTIONDIALER.MACHINE' | translate }}
@@ -3641,10 +3611,10 @@
                         {{ 'MOTIONDIALER.AGENTREJECT' | translate }}
                       </th>
                       <th md-column md-order-by="scheduledat">
-                        {{ 'MOTIONDIALER.SCHEDULEDAT' | translate }}
+                        {{ 'APP.SCHEDULEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="priority">
-                        {{ 'MOTIONDIALER.PRIORITY' | translate }}
+                        {{ 'APP.PRIORITY' | translate }}
                       </th>
                       <th md-column md-order-by="recallme">
                         {{ 'MOTIONDIALER.RECALLAGENT' | translate }}
@@ -3752,7 +3722,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="MOTIONDIALER.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -3764,7 +3734,7 @@
                             <md-menu-item ng-if="vm_dc.crudPermissions.canEdit">
                               <md-button
                                 ng-click="vm_dc.createOrEditQueueCampaignHopper($event, hopper)"
-                                translate="MOTIONDIALER.EDIT_HOPPER"
+                                translate="APP.EDIT_HOPPER"
                                 Edit Hopper
                               </md-button>
@@ -3774,7 +3744,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(hopper, $event)"
-                                translate="MOTIONDIALER.DELETE_HOPPER"
+                                translate="APP.DELETE_HOPPER"
                                 Delete Hopper
                               </md-button>
@@ -3886,28 +3856,28 @@
                     <tr md-row>
                       <th md-column md-order-by="uniqueid">
-                        {{ 'MOTIONDIALER.UNIQUEID' | translate }}
+                        {{ 'APP.UNIQUEID' | translate }}
                       </th>
                       <th md-column md-order-by="ContactId">
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="calleridnum">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="calleridname">
-                        {{ 'MOTIONDIALER.NAME' | translate }}
+                        {{ 'APP.NAME' | translate }}
                       </th>
                       <th md-column md-order-by="statedesc">
-                        {{ 'MOTIONDIALER.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
                       <th md-column md-order-by="scheduledat">
-                        {{ 'MOTIONDIALER.SCHEDULEDAT' | translate }}
+                        {{ 'APP.SCHEDULEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'MOTIONDIALER.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="endtime">
-                        {{ 'MOTIONDIALER.ENDTIME' | translate }}
+                        {{ 'APP.ENDTIME' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -4005,7 +3975,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="MOTIONDIALER.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="vm_dc.countContactsQueueCampaignHopperFinal(vm_dc.query.id); $mdMenu.open($event);"
                         <md-icon md-font-icon="icon-backup-restore"></md-icon>
@@ -4160,25 +4130,25 @@
                     <tr md-row>
                       <th md-column md-order-by="uniqueid">
-                        {{ 'MOTIONDIALER.UNIQUEID' | translate }}
+                        {{ 'APP.UNIQUEID' | translate }}
                       </th>
                       <th md-column md-order-by="ContactId">
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="calleridnum">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column md-order-by="calleridname">
-                        {{ 'MOTIONDIALER.NAME' | translate }}
+                        {{ 'APP.NAME' | translate }}
                       </th>
                       <th md-column md-order-by="statedesc">
-                        {{ 'MOTIONDIALER.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
                       <th md-column md-order-by="countcongestionretry">
                         {{ 'MOTIONDIALER.CONGESTION' | translate }}
                       </th>
                       <th md-column md-order-by="countbusyretry">
-                        {{ 'MOTIONDIALER.BUSY' | translate }}
+                        {{ 'APP.BUSY' | translate }}
                       </th>
                       <th md-column md-order-by="countnoanswerretry">
                         {{ 'MOTIONDIALER.NOANSWER' | translate }}
@@ -4190,7 +4160,7 @@
                         {{ 'MOTIONDIALER.DROP' | translate }}
                       </th>
                       <th md-column md-order-by="countabandonedretry">
-                        {{ 'MOTIONDIALER.ABANDONED' | translate }}
+                        {{ 'APP.ABANDONED' | translate }}
                       </th>
                       <th md-column md-order-by="countmachineretry">
                         {{ 'MOTIONDIALER.MACHINE' | translate }}
@@ -4199,13 +4169,13 @@
                         {{ 'MOTIONDIALER.AGENTREJECT' | translate }}
                       </th>
                       <th md-column md-order-by="starttime">
-                        {{ 'MOTIONDIALER.STARTTIME' | translate }}
+                        {{ 'APP.STARTTIME' | translate }}
                       </th>
                       <th md-column md-order-by="endtime">
-                        {{ 'MOTIONDIALER.ENDTIME' | translate }}
+                        {{ 'APP.ENDTIME' | translate }}
                       </th>
                       <th md-column md-order-by="disposition">
-                        {{ 'MOTIONDIALER.DISPOSITION' | translate }}
+                        {{ 'APP.DISPOSITION' | translate }}
                       </th>
                       <th md-column md-order-by="secondDisposition">
                         {{ 'MOTIONDIALER.SECOND_LEVEL_DISPOSITION' | translate
@@ -4252,7 +4222,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="MOTIONDIALER.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -4305,7 +4275,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.BLACKLIST">BLACKLIST</span>
+          <span translate="APP.BLACKLIST">BLACKLIST</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -4371,7 +4341,7 @@
                         {{ 'MOTIONDIALER.CONTACTID' | translate }}
                       </th>
                       <th md-column md-order-by="phone">
-                        {{ 'MOTIONDIALER.PHONE' | translate }}
+                        {{ 'APP.PHONE' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/queueCampaigns.html/queueCampaigns.html b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/queueCampaigns.html/queueCampaigns.html
index 4fac2fb..b098200 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/queueCampaigns.html/queueCampaigns.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/queueCampaigns/queueCampaigns.html/queueCampaigns.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="MOTIONDIALER.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedQueueCampaigns =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="MOTIONDIALER.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-queueCampaigns-count">
           <span>{{vm.selectedQueueCampaigns.length}}</span>
-          <span translate="MOTIONDIALER.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllQueueCampaigns()"
-                translate="MOTIONDIALER.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectQueueCampaigns()"
-                translate="MOTIONDIALER.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedQueueCampaigns($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="MOTIONDIALER.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,23 +149,21 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'MOTIONDIALER.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'MOTIONDIALER.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="dialActive">
-                  {{ 'MOTIONDIALER.ACTIVE' | translate }}
+                  {{ 'APP.ACTIVE' | translate }}
                 </th>
                 <th md-column md-order-by="TrunkId">
-                  {{ 'MOTIONDIALER.TRUNK' | translate }}
+                  {{ 'APP.TRUNK' | translate }}
                 </th>
                 <th md-column md-order-by="dialMethod">
-                  {{ 'MOTIONDIALER.METHOD' | translate }}
+                  {{ 'APP.METHOD' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'MOTIONDIALER.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -174,7 +172,7 @@
               <tr md-row ng-hide="vm.queueCampaigns.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -256,7 +254,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="MOTIONDIALER.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -382,7 +380,8 @@
           md-total="{{vm.queueCampaigns.count}}"
           md-on-paginate="vm.getQueueCampaigns"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / QUEUECAMPAIGN TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/abandonedcalls/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/abandonedcalls/view.html/view.html
index 8ced4fb..e41ba92 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/abandonedcalls/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/abandonedcalls/view.html/view.html
@@ -22,7 +22,7 @@
       ng-click="vm.refresh && vm.refreshAbandonedCalls($event)"
       aria-label="Reload"
       translate
-      translate-attr-label="DASHBOARDS.RELOAD"
+      translate-attr-label="APP.RELOAD"
       <md-icon md-font-icon="icon-reload"></md-icon>
       <md-tooltip ng-if="vm.showTooltip" md-visible="vm.showTooltip"
@@ -77,7 +77,7 @@
       <tr md-row ng-hide="vm.abandonedCalls.rows.length">
         <td md-cell colspan="12">
           <div layout="row" layout-align="center center">
-            <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -105,7 +105,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="DASHBOARDS.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -122,7 +122,7 @@
                   <md-menu-content>
                     <md-menu-item ng-if="call.lastAssignedTo">
                       <md-button ng-click="vm.assignTo(call)"
-                        ><em translate="DASHBOARDS.NONE">Not Assigned</em>
+                        ><em translate="APP.NONE">Not Assigned</em>
                       </md-button>
                     </md-menu-item>
                     <md-menu-item
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/agents/view.html/view.html
index 8a08fb0..d715527 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/agents/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MOTIONDIALER.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query; vm.onInit()"
@@ -13,15 +13,11 @@
       class="md-caption"
       ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-      <md-option ng-value="''">{{ 'MOTIONDIALER.ALL' | translate }}</md-option>
-      <md-option value="pause"
-        >{{ 'MOTIONDIALER.PAUSE' | translate }}</md-option
-      >
-      <md-option value="*pause"
-        >{{ 'MOTIONDIALER.PARTIALPAUSE' | translate }}</md-option
-      >
-      <md-option value="busy">{{ 'MOTIONDIALER.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'MOTIONDIALER.IDLE' | translate }}</md-option>
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
     <md-select
@@ -48,103 +44,103 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'MOTIONDIALER.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
         <th
           ng-if="vm.license.openchannel"
           class="bv bl text-center"
           colspan="2"
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'MOTIONDIALER.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'MOTIONDIALER.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'MOTIONDIALER.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'MOTIONDIALER.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -153,7 +149,7 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'MOTIONDIALER.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
@@ -188,7 +184,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'MOTIONDIALER.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -201,7 +197,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'MOTIONDIALER.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -404,7 +400,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -414,7 +410,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="MOTIONDIALER.LOGOUT"
+                  translate="APP.LOGOUT"
                   Logout
                 </md-button>
@@ -435,14 +431,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="MOTIONDIALER.SCREENRECORDING"
+                    translate="APP.SCREENRECORDING"
                     >Screen Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="MOTIONDIALER.START_SCREENRECORDING"
+                        ><em translate="APP.START_SCREENRECORDING"
                           >Start Screen Recording</em
                         ></md-button
                       >
@@ -450,7 +446,7 @@
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="MOTIONDIALER.STOP_SCREENRECORDING"
+                        ><em translate="APP.STOP_SCREENRECORDING"
                           >Stop Screen Recording</em
                         ></md-button
                       >
@@ -464,7 +460,7 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="MOTIONDIALER.PAUSE"
+                    translate="APP.PAUSE"
                     >Pause</md-button
                   <md-menu-content>
@@ -472,10 +468,8 @@
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
                         ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="MOTIONDIALER.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
                     <md-menu-item
                       ng-if="vm.pauses.rows.length"
@@ -493,7 +487,7 @@
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
                 <md-button
                   ng-click="vm.unPause(vm.agents[value])"
-                  translate="MOTIONDIALER.UNPAUSE"
+                  translate="APP.UNPAUSE"
                   Unpause
                 </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/ivr_campaigns/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/ivr_campaigns/view.html/view.html
index 5116ea5..4d44fee 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/ivr_campaigns/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/ivr_campaigns/view.html/view.html
@@ -9,7 +9,8 @@
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -25,17 +26,15 @@
         <th md-column>{{'MOTIONDIALER.ORIGINATED' | translate}}</th>
         <th md-column>{{'MOTIONDIALER.MESSAGE' | translate}}</th>
         <th md-column>{{'MOTIONDIALER.CALLYSQUAREPROJECT' | translate}}</th>
-        <th md-column>{{ 'MOTIONDIALER.TRUNK' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.ACTIVE' | translate }}</th>
+        <th md-column>{{ 'APP.TRUNK' | translate }}</th>
+        <th md-column>{{ 'APP.ACTIVE' | translate }}</th>
       </tr>
     </thead>
     <tbody md-body>
       <tr md-row ng-hide="vm.campaigns">
         <td md-cell colspan="8">
           <div layout="row" layout-align="center center">
-            <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
-              >No Available Info</span
-            >
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -89,7 +88,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="MOTIONDIALER.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_calls/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_calls/view.html/view.html
index 11edf55..95e7001 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_calls/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_calls/view.html/view.html
@@ -1,9 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MOTIONDIALER.QUEUE_CALLS"
-      >Queue Calls</span
-    >
+    <span class="md-subhead" translate="APP.QUEUE_CALLS">Queue Calls</span>
     <!-- <div flex></div>
     <ms-search-bar on-search="vm.query.filter = query;" on-collapse="vm.query.filter = undefined;" debounce="300"></ms-search-bar> -->
   </div>
@@ -15,11 +13,11 @@
     <thead md-head>
       <tr md-row>
         <th md-column width="30px"></th>
-        <th md-column>{{ 'MOTIONDIALER.DID' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.QUEUE' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.CALLER' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.AGENT' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.DURATION' | translate }}</th>
+        <th md-column>{{ 'APP.DID' | translate }}</th>
+        <th md-column>{{ 'APP.QUEUE' | translate }}</th>
+        <th md-column>{{ 'APP.CALLER' | translate }}</th>
+        <th md-column>{{ 'APP.AGENT' | translate }}</th>
+        <th md-column>{{ 'APP.DURATION' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -27,9 +25,7 @@
       <tr md-row ng-hide="vm.getSize(vm.rpcVoiceQueuesChannels)">
         <td md-cell colspan="6">
           <div layout="row" layout-align="center center">
-            <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
-              >No Available Info</span
-            >
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -55,8 +51,8 @@
             {{channel.connectedlinename}}, {{channel.connectedlinenum}}
             <span class="text-boxed">
               <timer start-time="channel.queuecallerleaveAt" interval="1000"
-                >{{hhours}}:{{mminutes}}:{{sseconds}}</timer
-              >
+                >{{hhours}}:{{mminutes}}:{{sseconds}}
+              </timer>
             </span>
           </span>
           <span ng-if="!channel.queuecallerleaveAt" class="text-boxed">
@@ -79,7 +75,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -89,7 +85,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.hangup(channel.uniqueid)"
-                  translate="MOTIONDIALER.HANGUP"
+                  translate="APP.HANGUP"
                   Hangup
                 </md-button>
@@ -107,13 +103,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     translate="MOTIONDIALER.REDIRECT_TO_AGENT"
-                    >Redirect to Agent</md-button
-                  >
+                    >Redirect to Agent
+                  </md-button>
                   <md-menu-content>
                     <md-menu-item ng-repeat="agent in vm.agents.rows">
                       <md-button
                         ng-click="vm.redirectToAgent(channel.uniqueid, agent.name, agent.context)"
-                        >{{agent.name}}</md-button
+                      >
+                        {{agent.name}}</md-button
                     </md-menu-item>
                   </md-menu-content>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_params/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_params/view.html/view.html
index 5326a6d..0333173 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_params/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/queue_params/view.html/view.html
@@ -1,15 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MOTIONDIALER.QUEUE_PARAMETERS"
-      >Params</span
-    >
+    <span class="md-subhead" translate="APP.QUEUE_PARAMETERS">Params</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -33,9 +32,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="8">
           <div layout="row" layout-align="center center">
-            <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
-              >No Available Info</span
-            >
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/predictive/dialog.html/dialog.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/predictive/dialog.html/dialog.html
index 6d380a7..ab75407 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/predictive/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/predictive/dialog.html/dialog.html
@@ -43,7 +43,7 @@
       <div layout="row">
         <div flex="" class="column">
           <div class="md-subhead">
-            <span translate="MOTIONDIALER.STARTTIME">Start Time</span>
+            <span translate="APP.STARTTIME">Start Time</span>
           </div>
           <div class="md-headline">
             {{ vm.setFormatTime(vm.queueCampaign.startProgressive) }}
@@ -51,7 +51,7 @@
         </div>
         <div flex="" class="column">
           <div class="md-subhead">
-            <span translate="MOTIONDIALER.ENDTIME">End Time</span>
+            <span translate="APP.ENDTIME">End Time</span>
           </div>
           <div class="md-headline">
             {{ vm.addMinutes(vm.queueCampaign.startProgressive,
@@ -83,7 +83,7 @@
       <div layout="row">
         <div flex="" class="column">
           <div class="md-subhead">
-            <span translate="MOTIONDIALER.STARTTIME">Start Time</span>
+            <span translate="APP.STARTTIME">Start Time</span>
           </div>
           <div class="md-headline">
             {{ vm.setFormatTime(vm.queueCampaign.startPredictive) }}
@@ -91,7 +91,7 @@
         </div>
         <div flex="" class="column">
           <div class="md-subhead">
-            <span translate="MOTIONDIALER.ENDTIME">End Time</span>
+            <span translate="APP.ENDTIME">End Time</span>
           </div>
           <div class="md-headline">
             {{ vm.addMinutes(vm.queueCampaign.startPredictive,
@@ -150,9 +150,7 @@
                                 </tr> -->
                 <tr md-row>
                   <td md-cell>
-                    <span translate="MOTIONDIALER.AVG_HOLD_TIME"
-                      >AVG Hold Time</span
-                    >
+                    <span translate="APP.AVG_HOLD_TIME">AVG Hold Time</span>
                   </td>
                   <td md-cell>
                     ~ {{ vm.queueCampaign.predictiveIntervalAvgHoldtime |
@@ -188,9 +186,7 @@
               <tbody md-body>
                 <tr md-row>
                   <td md-cell>
-                    <span translate="MOTIONDIALER.SCHEDULED_CALLS"
-                      >Scheduled Calls</span
-                    >
+                    <span translate="APP.SCHEDULED_CALLS">Scheduled Calls</span>
                   </td>
                   <td md-cell>{{ vm.queueCampaign.erlangCalls }}</td>
                 </tr>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/view.html/view.html
index 8bd0514..6d57463 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/queues/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MOTIONDIALER.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,20 +17,18 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">
-          {{ 'MOTIONDIALER.NAME' | translate }}
-        </th>
-        <th md-column>{{ 'MOTIONDIALER.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.PAUSED' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.READY' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.WAITING' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.TALKING' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.ORIGINATED' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.MESSAGE' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.METHOD' | translate }}</th>
-        <th md-column>{{ 'MOTIONDIALER.TRUNK' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
+        <th md-column>{{ 'APP.TALKING' | translate }}</th>
+        <th md-column>{{ 'APP.ORIGINATED' | translate }}</th>
+        <th md-column>{{ 'APP.MESSAGE' | translate }}</th>
+        <th md-column>{{ 'APP.METHOD' | translate }}</th>
+        <th md-column>{{ 'APP.TRUNK' | translate }}</th>
         <th md-column md-order-by="dialActive">
-          {{ 'MOTIONDIALER.ACTIVE' | translate }}
+          {{ 'APP.ACTIVE' | translate }}
         </th>
         <th md-column width="10px"></th>
       </tr>
@@ -38,9 +37,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="12">
           <div layout="row" layout-align="center center">
-            <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
-              >No Available Info</span
-            >
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -113,7 +110,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="MOTIONDIALER.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -123,7 +120,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.createOrEditMotionDialerQueue($event, vm.queues[value])"
-                  translate="MOTIONDIALER.EDIT_QUEUE"
+                  translate="APP.EDIT_QUEUE"
                   Edit Queue
                 </md-button>
@@ -139,7 +136,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="MOTIONDIALER.AGENTSADD_QUEUE"
+                  translate="APP.AGENTSADD_QUEUE"
                   Add Agents to queue
                 </md-button>
diff --git a/public/src/js/modules/main/apps/motiondialer/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/motiondialer/views/realtime/realtime.html/realtime.html
index 046a1da..aed1411 100644
--- a/public/src/js/modules/main/apps/motiondialer/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/motiondialer/views/realtime/realtime.html/realtime.html
@@ -10,29 +10,27 @@
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.QUEUE_CALLS">Queue Calls</span>
+          <span translate="APP.QUEUE_CALLS">Queue Calls</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.ABANDONEDCALLS"
-            >Abandoned Queue Calls</span
-          >
+          <span translate="APP.ABANDONEDCALLS">Abandoned Queue Calls</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="MOTIONDIALER.QUEUE_PARAMS">Queue Parameters</span>
+          <span translate="APP.QUEUE_PARAMS">Queue Parameters</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/create/dialog.html/dialog.html
index f7ea94b..33697a1 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/create/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -57,14 +57,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.KEY">key</label>
+        <label translate="APP.KEY">key</label>
         <input
           type="text"
           name="key"
@@ -79,13 +79,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >key field is required</span
             >
           </div>
           <div ng-message="md-maxlength">
             <span
-              translate="OPENCHANNEL.ERRORS.KEY_MAX_LENGTH"
+              translate="APP.ERRORS.KEY_MAX_LENGTH"
               translate-values="{max: 5}"
               >key must have a maximum length equal to 5</span
             >
@@ -121,7 +121,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select
           name="ListId"
           ng-model="vm.openchannelAccount.ListId"
@@ -131,24 +131,25 @@
             ng-value="ListId.id"
             ng-repeat="ListId in vm.lists"
             ng-disabled="ListId.canSelect === false"
-            >{{ ListId.name }}</md-option
+          >
+            {{ ListId.name }}</md-option
         </md-select>
-        <div class="hint"><span translate="OPENCHANNEL.HELP.LIST"></span></div>
+        <div class="hint"><span translate="APP.HELP.LIST"></span></div>
         <div
           ng-messages="openchannelAccountForm['ListId'].$error"
           ng-show="openchannelAccountForm['ListId'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -203,8 +204,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountForm.$invalid || openchannelAccountForm.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -229,12 +230,10 @@
           ng-click="vm.deleteOpenchannelAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="OPENCHANNEL.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="OPENCHANNEL.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/agentadd/agentadd.html/agentadd.html
index be01dcd..ebba294 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/agentadd/agentadd.html/agentadd.html
@@ -36,8 +36,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/agent/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/agent/dialog.html/dialog.html
index 5287509..9e0cf59 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/agent/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/agent/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select
           name="agent"
           ng-model="vm.agent.agent"
@@ -53,7 +53,8 @@
             ng-value="agent.name"
             ng-repeat="agent in vm.agents"
             ng-disabled="agent.canSelect === false"
-            >{{ agent.name }}</md-option
+          >
+            {{ agent.name }}</md-option
         </md-select>
         <div
@@ -62,14 +63,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -86,20 +87,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="OPENCHANNEL.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span
-              translate="OPENCHANNEL.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -141,8 +141,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/autoreply/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/autoreply/dialog.html/dialog.html
index f82f592..5a5653c 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/autoreply/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/autoreply/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.TIMES">times</label>
+        <label translate="APP.TIMES">times</label>
         <md-select
           name="times"
           ng-model="vm.autoreply.times"
@@ -65,7 +65,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.TEXT">Text</label>
+        <label translate="APP.TEXT">Text</label>
         <textarea name="text" ng-model="vm.autoreply.text" required></textarea>
 
         <div
@@ -74,7 +74,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.TEXT_REQUIRED"
+            <span translate="APP.ERRORS.TEXT_REQUIRED"
               >Text field is required</span
             >
           </div>
@@ -115,8 +115,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/close/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/close/dialog.html/dialog.html
index 79fb25e..7ecebb4 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/close/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/close/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.DISPOSITION">Disposition</label>
+        <label translate="APP.DISPOSITION">Disposition</label>
         <input
           type="text"
           name="disposition"
@@ -57,7 +57,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.DISPOSITION_REQUIRED"
+            <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
               >Disposition field is required</span
             >
           </div>
@@ -98,8 +98,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotoif/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotoif/dialog.html/dialog.html
index 91dc0e6..ec70950 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotoif/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotoif/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.CONDITION">Condition</label>
+        <label translate="APP.CONDITION">Condition</label>
         <input
           type="text"
           name="condition"
@@ -57,14 +57,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.CONDITION_REQUIRED"
+            <span translate="APP.ERRORS.CONDITION_REQUIRED"
               >Condition field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.TRUEPRIORITY">truepriority</label>
+        <label translate="APP.TRUEPRIORITY">truepriority</label>
         <input
           type="number"
           name="truepriority"
@@ -80,13 +80,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.TRUEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.TRUEPRIORITY_REQUIRED"
               >truepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="OPENCHANNEL.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >truepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -94,7 +94,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.FALSEPRIORITY">falsepriority</label>
+        <label translate="APP.FALSEPRIORITY">falsepriority</label>
         <input
           type="number"
           name="falsepriority"
@@ -110,13 +110,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.FALSEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.FALSEPRIORITY_REQUIRED"
               >falsepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="OPENCHANNEL.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >falsepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -158,8 +158,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotop/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotop/dialog.html/dialog.html
index 5cf30e4..1b04151 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/gotop/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="number"
           name="priority"
@@ -58,13 +58,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="OPENCHANNEL.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Priority must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -106,8 +106,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/noop/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/noop/dialog.html/dialog.html
index 00b4a60..7285449 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/noop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/noop/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -56,7 +56,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -97,8 +97,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/queue/dialog.html/dialog.html
index 22d3404..cd6edf8 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/queue/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -53,7 +53,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -62,14 +63,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -86,20 +87,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="OPENCHANNEL.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span
-              translate="OPENCHANNEL.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -141,8 +141,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/system/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/system/dialog.html/dialog.html
index 9e9d77e..02ef525 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/system/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/system/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.COMMAND">Command</label>
+        <label translate="APP.COMMAND">Command</label>
         <input
           type="text"
           name="command"
@@ -57,14 +57,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.COMMAND_REQUIRED"
+            <span translate="APP.ERRORS.COMMAND_REQUIRED"
               >Command field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="variable"
           ng-model="vm.system.variable"
@@ -125,8 +125,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/tag/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/tag/dialog.html/dialog.html
index a1a76bf..1dc59c2 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/tag/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/apps/tag/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.TAG">Tag</label>
+        <label translate="APP.TAG">Tag</label>
         <md-select
           name="tag"
           ng-model="vm.tag.tag"
@@ -53,8 +53,8 @@
             ng-value="tag.name"
             ng-repeat="tag in vm.tags"
             ng-disabled="tag.canSelect === false"
-            >{{ tag.name }}</md-option
-          >
+            >{{ tag.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="openchannelAccountFormApp['tag'].$error"
@@ -62,7 +62,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.TAG_REQUIRED"
+            <span translate="APP.ERRORS.TAG_REQUIRED"
               >Tag field is required</span
             >
           </div>
@@ -103,8 +103,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelAccountFormApp.$invalid || openchannelAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/openchannelCannedAnswers/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/openchannelCannedAnswers/dialog.html/dialog.html
index 062e070..82bade4 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/openchannelCannedAnswers/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/openchannelCannedAnswers/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type=""
           name="key"
@@ -57,14 +57,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <textarea
           name="value"
           ng-model="vm.openchannelCannedAnswer.value"
@@ -77,14 +77,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -139,8 +139,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelCannedAnswerForm.$invalid || openchannelCannedAnswerForm.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -165,12 +165,10 @@
           ng-click="vm.deleteOpenchannelCannedAnswer($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="OPENCHANNEL.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="OPENCHANNEL.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/view.html/view.html
index d3113cf..a851b05 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="OPENCHANNEL.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.openchannelAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -55,8 +55,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (notificationForm.$invalid) || (transferForm.$invalid) || (proxyForm.$invalid) || (dispositionForm.$invalid) || (openchannelDispositionsForm.$invalid) || (openchannelCannedAnswersForm.$invalid) || (actionsForm.$invalid) || (interactionsForm.$invalid)"
-        translate="OPENCHANNEL.SAVE"
-        translate-attr-aria-label="OPENCHANNEL.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -75,20 +75,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="openchannelAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="OPENCHANNEL.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -104,14 +104,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="OPENCHANNEL.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.KEY">key</label>
+                <label translate="APP.KEY">key</label>
                 <input
                   type="text"
                   name="key"
@@ -127,13 +127,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="OPENCHANNEL.ERRORS.KEY_REQUIRED"
+                    <span translate="APP.ERRORS.KEY_REQUIRED"
                       >key field is required</span
                     >
                   </div>
                   <div ng-message="md-maxlength">
                     <span
-                      translate="OPENCHANNEL.ERRORS.KEY_MAX_LENGTH"
+                      translate="APP.ERRORS.KEY_MAX_LENGTH"
                       translate-values="{max: 5}"
                       >key must have a maximum length equal to 5</span
                     >
@@ -170,7 +170,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.LIST">List</label>
+                <label translate="APP.LIST">List</label>
                 <md-select
                   name="ListId"
                   ng-model="vm.openchannelAccount.ListId"
@@ -185,7 +185,7 @@
                 </md-select>
                 <div class="hint">
-                  <span translate="OPENCHANNEL.HELP.LIST"></span>
+                  <span translate="APP.HELP.LIST"></span>
                 </div>
                 <div
                   ng-messages="generalForm['ListId'].$error"
@@ -193,14 +193,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="OPENCHANNEL.ERRORS.LIST_REQUIRED"
+                    <span translate="APP.ERRORS.LIST_REQUIRED"
                       >List field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.WAITFORTHEASSIGNEDAGENT"
+                <label translate="APP.WAITFORTHEASSIGNEDAGENT"
                   >WaitForTheAssignedAgent</label
                 >
                 <input
@@ -220,13 +220,13 @@
                   <div ng-message="required">
                     <span
-                      translate="OPENCHANNEL.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
                       >WaitForTheAssignedAgent field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="OPENCHANNEL.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -234,7 +234,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="OPENCHANNEL.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -256,7 +256,8 @@
                       ng-repeat="mapKey in vm.fields"
                       ng-if="!mapKey.columnName.toString().startsWith('cf_')"
                       ng-disabled="mapKey.canSelect === false"
-                      >{{ mapKey.displayName }}</md-option
+                    >
+                      {{ mapKey.displayName }}</md-option
                   </md-optgroup>
                   <md-optgroup label="custom">
@@ -265,7 +266,8 @@
                       ng-repeat="mapKey in vm.fields"
                       ng-if="mapKey.columnName.toString().startsWith('cf_')"
                       ng-disabled="mapKey.canSelect === false"
-                      >{{ mapKey.displayName }}</md-option
+                    >
+                      {{ mapKey.displayName }}</md-option
                   </md-optgroup>
                 </md-select>
@@ -282,7 +284,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -333,10 +335,7 @@
             class="openchannelAccount-detail-form-container notification md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div
-                class="h2 secondary-text"
-                translate="OPENCHANNEL.NOTIFICATION"
-              >
+              <div class="h2 secondary-text" translate="APP.NOTIFICATION">
                 NOTIFICATION
               </div>
             </div>
@@ -346,7 +345,7 @@
                   ng-model="vm.openchannelAccount.notificationSound"
                   aria-label="notificationSound"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="OPENCHANNEL.NOTIFICATIONSOUND"
+                  ><span translate="APP.NOTIFICATIONSOUND"
                     >notificationSound</span
                   ></md-switch
@@ -356,7 +355,7 @@
                   ng-model="vm.openchannelAccount.notificationShake"
                   aria-label="notificationShake"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="OPENCHANNEL.NOTIFICATIONSHAKE"
+                  ><span translate="APP.NOTIFICATIONSHAKE"
                     >notificationShake</span
                   ></md-switch
@@ -364,7 +363,7 @@
               <div class="md-block">
                 <label
                   class="md-caption grey-fg"
-                  translate="OPENCHANNEL.NOTIFICATIONTEMPLATE"
+                  translate="APP.NOTIFICATIONTEMPLATE"
                   >notificationTemplate</label
                 >
                 <textarea
@@ -379,7 +378,7 @@
             class="openchannelAccount-detail-form-container transfer md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="OPENCHANNEL.TRANSFER">
+              <div class="h2 secondary-text" translate="APP.TRANSFER">
                 TRANSFER
               </div>
             </div>
@@ -389,16 +388,14 @@
                   ng-model="vm.openchannelAccount.queueTransfer"
                   aria-label="queueTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="OPENCHANNEL.QUEUETRANSFER"
-                    >queueTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.QUEUETRANSFER">queueTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.openchannelAccount.queueTransfer == true"
                 class="md-block"
-                <label translate="OPENCHANNEL.QUEUETRANSFERTIMEOUT"
+                <label translate="APP.QUEUETRANSFERTIMEOUT"
                   >queueTransferTimeout</label
                 >
                 <input
@@ -417,14 +414,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span
-                      translate="OPENCHANNEL.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
                       >queueTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="OPENCHANNEL.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -432,7 +428,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="OPENCHANNEL.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -445,16 +441,14 @@
                   ng-model="vm.openchannelAccount.agentTransfer"
                   aria-label="agentTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="OPENCHANNEL.AGENTTRANSFER"
-                    >agentTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AGENTTRANSFER">agentTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.openchannelAccount.agentTransfer == true"
                 class="md-block"
-                <label translate="OPENCHANNEL.AGENTTRANSFERTIMEOUT"
+                <label translate="APP.AGENTTRANSFERTIMEOUT"
                   >agentTransferTimeout</label
                 >
                 <input
@@ -473,14 +467,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span
-                      translate="OPENCHANNEL.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
                       >agentTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="OPENCHANNEL.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -488,7 +481,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="OPENCHANNEL.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -502,20 +495,18 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="openchannelAccount-detail-form-container proxy md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="OPENCHANNEL.PROXY">
-                PROXY
-              </div>
+              <div class="h2 secondary-text" translate="APP.PROXY">PROXY</div>
             </div>
             <form name="proxyForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.TOKEN">token</label>
+                <label translate="APP.TOKEN">token</label>
                 <input
                   type="text"
                   name="token"
@@ -533,7 +524,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="OPENCHANNEL.ERRORS.TOKEN_REQUIRED"
+                    <span translate="APP.ERRORS.TOKEN_REQUIRED"
                       >token field is required</span
                     >
                   </div>
@@ -545,10 +536,7 @@
             class="openchannelAccount-detail-form-container disposition md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div
-                class="h2 secondary-text"
-                translate="OPENCHANNEL.DISPOSITION"
-              >
+              <div class="h2 secondary-text" translate="APP.DISPOSITION">
                 DISPOSITION
               </div>
             </div>
@@ -558,7 +546,7 @@
                   ng-model="vm.openchannelAccount.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="OPENCHANNEL.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -567,7 +555,7 @@
                 ng-if="vm.openchannelAccount.mandatoryDisposition"
                 class="md-block"
-                <label translate="OPENCHANNEL.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -580,13 +568,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span
-                    translate="OPENCHANNEL.HELP.MANDATORYDISPOSITIONPAUSEID"
-                  ></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
@@ -595,7 +581,7 @@
                   <div ng-message="required">
                     <span
-                      translate="OPENCHANNEL.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -607,7 +593,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.DISPOSITIONS">DISPOSITIONS</span>
+          <span translate="APP.DISPOSITIONS">DISPOSITIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -644,7 +630,7 @@
                         ng-change="vm_dc.getDispositions()"
                         <md-option ng-value="null"
-                          ><em translate="TOOLS.ALL">All</em></md-option
+                          ><em translate="APP.ALL">All</em></md-option
                         <md-option
                           ng-value="key"
@@ -665,9 +651,7 @@
                   ng-hide="vm_dc.selectedOpenchannelAccountDispositions.length"
                   <div class="md-toolbar-tools">
-                    <span
-                      class="md-subhead"
-                      translate="OPENCHANNEL.DISPOSITIONS"
+                    <span class="md-subhead" translate="APP.DISPOSITIONS"
                       >Dispositions</span
                     <ms-search-bar
@@ -714,7 +698,7 @@
                       ng-click="vm_dc.deleteSelectedDispositions($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -735,16 +719,16 @@
                       <tr md-row>
                         <th md-column md-order-by="id">
-                          {{ 'OPENCHANNEL.ID' | translate }}
+                          {{ 'APP.ID' | translate }}
                         </th>
                         <th md-column md-order-by="level">
                           {{ 'TOOLS.LEVEL' | translate }}
                         </th>
                         <th md-column md-order-by="name">
-                          {{ 'OPENCHANNEL.NAME' | translate }}
+                          {{ 'APP.NAME' | translate }}
                         </th>
                         <th md-column md-order-by="description">
-                          {{ 'OPENCHANNEL.DESCRIPTION' | translate }}
+                          {{ 'APP.DESCRIPTION' | translate }}
                         </th>
                         <th md-column width="10px"></th>
                       </tr>
@@ -753,7 +737,7 @@
                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
                         <td md-cell colspan="5">
                           <div layout="row" layout-align="center center">
-                            <span translate="OPENCHANNEL.NO_AVAILABLE_INFO"
+                            <span translate="APP.NO_AVAILABLE_INFO"
                               >No Available Info</span
                           </div>
@@ -803,7 +787,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="OPENCHANNEL.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -859,7 +843,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.CANNEDANSWERS">CANNEDANSWERS</span>
+          <span translate="APP.CANNEDANSWERS">CANNEDANSWERS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -923,7 +907,7 @@
                     ng-click="vm_dc.deleteSelectedOpenchannelAccountOpenchannelCannedAnswers($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -944,19 +928,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'OPENCHANNEL.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="key">
-                        {{ 'OPENCHANNEL.KEY' | translate }}
+                        {{ 'APP.KEY' | translate }}
                       </th>
                       <th md-column md-order-by="value">
-                        {{ 'OPENCHANNEL.VALUE' | translate }}
+                        {{ 'APP.VALUE' | translate }}
                       </th>
                       <th md-column md-order-by="description">
-                        {{ 'OPENCHANNEL.DESCRIPTION' | translate }}
+                        {{ 'APP.DESCRIPTION' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'OPENCHANNEL.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1008,7 +992,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="OPENCHANNEL.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1064,14 +1048,15 @@
                 md-total="{{vm_dc.openchannelAccountOpenchannelCannedAnswers.count}}"
                 md-on-paginate="vm_dc.getOpenchannelAccountOpenchannelCannedAnswers"
                 md-page-select
-              ></md-table-pagination>
+              >
+              </md-table-pagination>
             </div>
           </div>
         </md-tab-body>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1155,7 +1140,7 @@
                       ng-click="vm_ac.deleteSelectedOpenchannelAccountApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -1174,7 +1159,7 @@
                       <tr md-row>
                         <th md-column width="10px"></th>
                         <th md-column width="10px">
-                          <span translate="VOICE.PRIORITY">Priority</span>
+                          <span translate="APP.PRIORITY">Priority</span>
                         </th>
                         <th md-column>
                           <span>Type</span>
@@ -1255,7 +1240,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1269,7 +1254,7 @@
                                 <md-button
                                   ng-click="vm_ac.editOpenchannelAccountApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -1279,7 +1264,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -1289,7 +1274,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -1305,7 +1290,7 @@
                         <td md-cell colspan="7">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
@@ -1326,7 +1311,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.INTERACTIONS">INTERACTIONS</span>
+          <span translate="APP.INTERACTIONS">INTERACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1341,7 +1326,7 @@
                 ng-hide="vm_dc.selectedOpenchannelAccountInteractions.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="OPENCHANNEL.INTERACTIONS"
+                  <span class="md-subhead" translate="APP.INTERACTIONS"
                     >Interactions</span
                   <ms-search-bar
@@ -1362,7 +1347,7 @@
                       ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
                       aria-label="Filter"
                       translate
-                      translate-attr-aria-label="DASHBOARDS.FILTER"
+                      translate-attr-aria-label="APP.FILTER"
                       ng-click="vm_dc.openAdvancedSearch()"
                       <md-icon
@@ -1376,7 +1361,7 @@
                     ng-click="vm_dc.getOpenchannelAccountInteractions()"
                     aria-label="refresh Interactions"
                     translate
-                    translate-attr-label="OPENCHANNEL.REFRESH_INTERACTIONS"
+                    translate-attr-label="APP.REFRESH_INTERACTIONS"
                     <md-icon md-font-icon="icon-refresh"></md-icon>
                   </md-button>
@@ -1407,7 +1392,7 @@
                     ng-click="vm_dc.deleteSelectedOpenchannelAccountInteractions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1428,26 +1413,26 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'OPENCHANNEL.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column class="no-padding">
                         <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
                       </th>
                       <th md-column class="no-padding"></th>
                       <th md-column class="no-padding"></th>
-                      <th md-column>{{ 'OPENCHANNEL.CONTACT' | translate }}</th>
+                      <th md-column>{{ 'APP.CONTACT' | translate }}</th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'OPENCHANNEL.STARTEDAT' | translate }}
+                        {{ 'APP.STARTEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="lastMsgAt">
-                        {{ 'OPENCHANNEL.LASTMESSAGE' | translate }}
+                        {{ 'APP.LASTMESSAGE' | translate }}
                       </th>
                       <th md-column md-order-by="closed">
-                        {{ 'OPENCHANNEL.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
-                      <th md-column>{{ 'OPENCHANNEL.AGENT' | translate }}</th>
+                      <th md-column>{{ 'APP.AGENT' | translate }}</th>
                       <th md-column md-order-by="tag">
-                        {{ 'OPENCHANNEL.TAGS' | translate }}
+                        {{ 'APP.TAGS' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1520,7 +1505,8 @@
                           <span>
                             <md-icon
                               md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
-                            ></md-icon>
+                            >
+                            </md-icon>
                           </span>
                           <div layout="column" layout-align="center center">
                             <span class="text-truncate"
@@ -1531,13 +1517,13 @@
                       </td>
                       <td md-cell>
                         <span ng-if="interaction.closed === 0" class="green-fg">
-                          {{ 'OPENCHANNEL.OPENED' | translate }}
+                          {{ 'APP.OPENED' | translate }}
                           <span ng-if="interaction.substatus">
                             - {{ interaction.substatus }}
                           </span>
                         </span>
                         <span ng-if="interaction.closed === 1" class="red-fg">
-                          {{ 'OPENCHANNEL.CLOSED' | translate }}
+                          {{ 'APP.CLOSED' | translate }}
                           <span ng-if="interaction.disposition">
                             - {{ interaction.thirdDisposition ||
                             interaction.secondDisposition ||
@@ -1616,7 +1602,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="OPENCHANNEL.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1628,7 +1614,7 @@
                             <md-menu-item>
                               <md-button
                                 ng-click="vm_dc.spyopenchannelInteraction($event, interaction)"
-                                translate="OPENCHANNEL.SPYINTERACTION"
+                                translate="APP.SPYINTERACTION"
                                 Spy Interaction
                               </md-button>
@@ -1637,7 +1623,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.openchannelInteractionDownload(interaction, $event, true)"
-                                translate="OPENCHANNEL.DOWNLOAD_WITH_ATTACHMENTS"
+                                translate="APP.DOWNLOAD_WITH_ATTACHMENTS"
                                 Download with attachments
                               </md-button>
@@ -1646,7 +1632,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.openchannelInteractionDownload(interaction, $event)"
-                                translate="OPENCHANNEL.DOWNLOAD_WITHOUT_ATTACHMENTS"
+                                translate="APP.DOWNLOAD_WITHOUT_ATTACHMENTS"
                                 Download without attachments
                               </md-button>
@@ -1656,7 +1642,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(interaction, $event)"
-                                translate="OPENCHANNEL.DELETE_INTERACTION"
+                                translate="APP.DELETE_INTERACTION"
                                 Delete Interaction
                               </md-button>
@@ -1673,7 +1659,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="OPENCHANNEL.NO_INTERACTION_AVAILABLE"
+                            translate="APP.NO_INTERACTION_AVAILABLE"
                             >No interaction available</span
                           >
                         </div>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/openchannelAccounts.html/openchannelAccounts.html b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/openchannelAccounts.html/openchannelAccounts.html
index ea52b16..0f686e6 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/openchannelAccounts.html/openchannelAccounts.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelAccounts/openchannelAccounts.html/openchannelAccounts.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="OPENCHANNEL.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="OPENCHANNEL.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-openchannelAccounts-count">
           <span>{{vm.selectedOpenchannelAccounts.length}}</span>
-          <span translate="OPENCHANNEL.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllOpenchannelAccounts()"
-                translate="OPENCHANNEL.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectOpenchannelAccounts()"
-                translate="OPENCHANNEL.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedOpenchannelAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,23 +152,19 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'OPENCHANNEL.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'OPENCHANNEL.NAME' | translate }}
-                </th>
-                <th md-column md-order-by="key">
-                  {{ 'OPENCHANNEL.KEY' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
+                <th md-column md-order-by="key">{{ 'APP.KEY' | translate }}</th>
                 <th md-column md-order-by="replyUri">
                   {{ 'OPENCHANNEL.REPLYURI' | translate }}
                 </th>
                 <th md-column md-order-by="ListId">
-                  {{ 'OPENCHANNEL.LIST' | translate }}
+                  {{ 'APP.LIST' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'OPENCHANNEL.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -177,7 +173,7 @@
               <tr md-row ng-hide="vm.openchannelAccounts.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="OPENCHANNEL.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -256,7 +252,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="OPENCHANNEL.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -330,7 +326,8 @@
           md-total="{{vm.openchannelAccounts.count}}"
           md-on-paginate="vm.getOpenchannelAccounts"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / OPENCHANNELACCOUNT TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/create/dialog.html/dialog.html
index 44b6cef..581189f 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newOpenchannelQueue"
         />
 
-        <div class="hint"><span translate="OPENCHANNEL.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="openchannelQueueForm['name'].$error"
           ng-show="openchannelQueueForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="OPENCHANNEL.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.STRATEGY">Strategy</label>
+        <label translate="APP.STRATEGY">Strategy</label>
         <md-select
           name="strategy"
           ng-model="vm.openchannelQueue.strategy"
@@ -92,7 +92,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.AGENT_TIMEOUT">Agent_Timeout</label>
+        <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -108,20 +108,20 @@
           role="alert"
           <div ng-message="required">
-            <span translate="OPENCHANNEL.ERRORS.AGENT_TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
               >Agent_Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="OPENCHANNEL.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
           </div>
           <div ng-message="max">
             <span
-              translate="OPENCHANNEL.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -129,7 +129,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="OPENCHANNEL.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -184,8 +184,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="openchannelQueueForm.$invalid || openchannelQueueForm.$pristine"
           aria-label="SAVE"
-          translate="OPENCHANNEL.SAVE"
-          translate-attr-aria-label="OPENCHANNEL.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -210,12 +210,10 @@
           ng-click="vm.deleteOpenchannelQueue($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="OPENCHANNEL.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="OPENCHANNEL.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/agentadd/agentadd.html/agentadd.html
index 65cdb49..501cc7f 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/agentadd/agentadd.html/agentadd.html
@@ -36,8 +36,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/teamadd/teamadd.html/teamadd.html
index daf7246..89a7629 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/teamadd/teamadd.html/teamadd.html
@@ -6,7 +6,7 @@
   <form name="openchannelQueueForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="OPENCHANNEL.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -34,8 +34,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/view.html/view.html b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/view.html/view.html
index 1aa5ccb..454790f 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="OPENCHANNEL.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.openchannelQueue.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -68,8 +68,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid)"
-        translate="OPENCHANNEL.SAVE"
-        translate-attr-aria-label="OPENCHANNEL.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -88,20 +88,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="openchannelQueue-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="OPENCHANNEL.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -113,7 +113,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="OPENCHANNEL.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -121,13 +121,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="OPENCHANNEL.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="OPENCHANNEL.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -135,7 +135,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.openchannelQueue.strategy"
@@ -158,9 +158,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.AGENT_TIMEOUT"
-                  >Agent_Timeout</label
-                >
+                <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -177,20 +175,20 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="OPENCHANNEL.ERRORS.AGENT_TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
                       >Agent_Timeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="OPENCHANNEL.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>1</span>
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="OPENCHANNEL.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>2147483</span>
@@ -198,7 +196,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="OPENCHANNEL.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/openchannelQueues.html/openchannelQueues.html b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/openchannelQueues.html/openchannelQueues.html
index 4f4a842..3ad6c96 100644
--- a/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/openchannelQueues.html/openchannelQueues.html
+++ b/public/src/js/modules/main/apps/openchannel/views/openchannelQueues/openchannelQueues.html/openchannelQueues.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="OPENCHANNEL.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="OPENCHANNEL.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-openchannelQueues-count">
           <span>{{vm.selectedOpenchannelQueues.length}}</span>
-          <span translate="OPENCHANNEL.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllOpenchannelQueues()"
-                translate="OPENCHANNEL.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectOpenchannelQueues()"
-                translate="OPENCHANNEL.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedOpenchannelQueues($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,14 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'OPENCHANNEL.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'OPENCHANNEL.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'OPENCHANNEL.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -168,7 +166,7 @@
               <tr md-row ng-hide="vm.openchannelQueues.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="OPENCHANNEL.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -225,7 +223,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="OPENCHANNEL.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -312,7 +310,8 @@
           md-total="{{vm.openchannelQueues.count}}"
           md-on-paginate="vm.getOpenchannelQueues"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / OPENCHANNELQUEUE TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/openchannel/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/openchannel/views/realtime/agents/view.html/view.html
index f6ba223..344010d 100644
--- a/public/src/js/modules/main/apps/openchannel/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/openchannel/views/realtime/agents/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="OPENCHANNEL.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query; vm.onInit()"
@@ -13,13 +13,11 @@
       class="md-caption"
       ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-      <md-option ng-value="''">{{ 'OPENCHANNEL.ALL' | translate }}</md-option>
-      <md-option value="pause">{{ 'OPENCHANNEL.PAUSE' | translate }}</md-option>
-      <md-option value="*pause"
-        >{{ 'OPENCHANNEL.PARTIALPAUSE' | translate }}</md-option
-      >
-      <md-option value="busy">{{ 'OPENCHANNEL.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'OPENCHANNEL.IDLE' | translate }}</md-option>
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
     <md-select
@@ -46,103 +44,103 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'OPENCHANNEL.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
         <th
           ng-if="vm.license.openchannel"
           class="bv bl text-center"
           colspan="2"
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'OPENCHANNEL.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'OPENCHANNEL.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'OPENCHANNEL.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -151,7 +149,7 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'OPENCHANNEL.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
@@ -186,7 +184,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'OPENCHANNEL.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -199,7 +197,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'OPENCHANNEL.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -402,7 +400,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -412,7 +410,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="OPENCHANNEL.LOGOUT"
+                  translate="APP.LOGOUT"
                   Logout
                 </md-button>
@@ -433,14 +431,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="OPENCHANNEL.SCREENRECORDING"
+                    translate="APP.SCREENRECORDING"
                     >Screen Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="OPENCHANNEL.START_SCREENRECORDING"
+                        ><em translate="APP.START_SCREENRECORDING"
                           >Start Screen Recording</em
                         ></md-button
                       >
@@ -448,7 +446,7 @@
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="OPENCHANNEL.STOP_SCREENRECORDING"
+                        ><em translate="APP.STOP_SCREENRECORDING"
                           >Stop Screen Recording</em
                         ></md-button
                       >
@@ -462,7 +460,7 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="OPENCHANNEL.PAUSE"
+                    translate="APP.PAUSE"
                     >Pause</md-button
                   <md-menu-content>
@@ -470,10 +468,8 @@
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
                         ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="OPENCHANNEL.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
                     <md-menu-item
                       ng-if="vm.pauses.rows.length"
@@ -491,7 +487,7 @@
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
                 <md-button
                   ng-click="vm.unPause(vm.agents[value])"
-                  translate="OPENCHANNEL.UNPAUSE"
+                  translate="APP.UNPAUSE"
                   Unpause
                 </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/openchannel/views/realtime/queues/view.html/view.html
index b213b4d..941ab2f 100644
--- a/public/src/js/modules/main/apps/openchannel/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/openchannel/views/realtime/queues/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="OPENCHANNEL.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,13 +17,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">
-          {{ 'OPENCHANNEL.NAME' | translate }}
-        </th>
-        <th md-column>{{ 'OPENCHANNEL.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'OPENCHANNEL.PAUSED' | translate }}</th>
-        <th md-column>{{ 'OPENCHANNEL.READY' | translate }}</th>
-        <th md-column>{{ 'OPENCHANNEL.WAITING' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -30,9 +29,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="7">
           <div layout="row" layout-align="center center">
-            <span translate="OPENCHANNEL.NO_AVAILABLE_INFO"
-              >No Available Info</span
-            >
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -70,7 +67,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="OPENCHANNEL.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -80,7 +77,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.createOrEditOpenchannelQueue($event, vm.queues[value])"
-                  translate="OPENCHANNEL.EDIT_QUEUE"
+                  translate="APP.EDIT_QUEUE"
                   Edit Queue
                 </md-button>
@@ -88,7 +85,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="OPENCHANNEL.AGENTSADD_QUEUE"
+                  translate="APP.AGENTSADD_QUEUE"
                   Add Agents to queue
                 </md-button>
diff --git a/public/src/js/modules/main/apps/openchannel/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/openchannel/views/realtime/realtime.html/realtime.html
index b165c0a..3aa8981 100644
--- a/public/src/js/modules/main/apps/openchannel/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/openchannel/views/realtime/realtime.html/realtime.html
@@ -10,12 +10,12 @@
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="OPENCHANNEL.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
     </md-tabs>
diff --git a/public/src/js/modules/main/apps/settings/views/cloudProviders/cloudProviders.html/cloudProviders.html b/public/src/js/modules/main/apps/settings/views/cloudProviders/cloudProviders.html/cloudProviders.html
index b02e18a..91e08ec 100644
--- a/public/src/js/modules/main/apps/settings/views/cloudProviders/cloudProviders.html/cloudProviders.html
+++ b/public/src/js/modules/main/apps/settings/views/cloudProviders/cloudProviders.html/cloudProviders.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="SETTINGS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedAiTools =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="SETTINGS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-cloudProviders-count">
           <span>{{vm.selectedAiTools.length}}</span>
-          <span translate="SETTINGS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllAiTools()"
-                translate="SETTINGS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectAiTools()"
-                translate="SETTINGS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -112,7 +112,7 @@
           ng-click="vm.deleteSelectedAiTools($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="SETTINGS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -146,14 +146,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'SETTINGS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'SETTINGS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="service">
-                  {{ 'SETTINGS.SERVICE' | translate }}
+                  {{ 'APP.SERVICE' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -162,7 +160,7 @@
               <tr md-row ng-hide="vm.cloudProviders.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="SETTINGS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -219,7 +217,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="SETTINGS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/settings/views/cloudProviders/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/settings/views/cloudProviders/create/dialog.html/dialog.html
index bf81b79..e098ecf 100644
--- a/public/src/js/modules/main/apps/settings/views/cloudProviders/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/settings/views/cloudProviders/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SETTINGS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SETTINGS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SETTINGS.SERVICE">Service</label>
+        <label translate="APP.SERVICE">Service</label>
         <md-select
           name="service"
           ng-model="vm.cloudProvider.service"
@@ -109,7 +109,7 @@
         ng-if="vm.cloudProvider.service == 'AmazonAWS'"
         class="md-block"
-        <label translate="SETTINGS.SECRETACCESSKEY">SecretAccesskey</label>
+        <label translate="APP.SECRETACCESSKEY">SecretAccesskey</label>
         <input
           type="text"
           name="data1"
@@ -123,7 +123,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SETTINGS.ERRORS.SECRETACCESSKEY_REQUIRED"
+            <span translate="APP.ERRORS.SECRETACCESSKEY_REQUIRED"
               >SecretAccesskey field is required</span
             >
           </div>
@@ -161,8 +161,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="cloudProviderForm.$invalid || cloudProviderForm.$pristine"
           aria-label="SAVE"
-          translate="SETTINGS.SAVE"
-          translate-attr-aria-label="SETTINGS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -186,12 +186,10 @@
           ng-click="vm.deleteCloudProvider($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="SETTINGS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="SETTINGS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/settings/views/customizations/customizations.html/customizations.html b/public/src/js/modules/main/apps/settings/views/customizations/customizations.html/customizations.html
index 8532d1b..86f36e1 100644
--- a/public/src/js/modules/main/apps/settings/views/customizations/customizations.html/customizations.html
+++ b/public/src/js/modules/main/apps/settings/views/customizations/customizations.html/customizations.html
@@ -27,8 +27,8 @@
         ng-click="vm.saveCustomization()"
         ng-disabled="(customizationsForm.$pristine && logoForm.$pristine && logologinForm.$pristine && preferredForm.$pristine && faviconForm.$pristine) || (customizationsForm.$invalid || logoForm.$invalid || logologinForm.$invalid || preferredForm.$invalid || faviconForm.$invalid)"
         class="send-button md-accent md-raised"
-        translate="SETTINGS.SAVE"
-        translate-attr-aria-label="SETTINGS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -160,7 +160,7 @@
         class="customization-detail-form-container logo motion-form__detail-form-container md-background-bg md-whiteframe-1dp"
         <div class="pb-16" layout="row" layout-align="start center">
-          <div class="h2 secondary-text" translate="SETTINGS.LOGO">LOGO</div>
+          <div class="h2 secondary-text" translate="APP.LOGO">LOGO</div>
         </div>
         <div
           ng-controller="CustomizationlogoController as vm_cl"
@@ -185,7 +185,7 @@
               layout="row"
               layout-align="center center"
-              <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+              <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
             </div>
 
             <div
@@ -273,7 +273,7 @@
               layout="row"
               layout-align="center center"
-              <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+              <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
             </div>
 
             <div
@@ -361,7 +361,7 @@
               layout="row"
               layout-align="center center"
-              <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+              <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
             </div>
 
             <div
@@ -449,7 +449,7 @@
               layout="row"
               layout-align="center center"
-              <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+              <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
             </div>
 
             <div
diff --git a/public/src/js/modules/main/apps/settings/views/generals/generals.html/generals.html b/public/src/js/modules/main/apps/settings/views/generals/generals.html/generals.html
index cfdce16..e2ae9af 100644
--- a/public/src/js/modules/main/apps/settings/views/generals/generals.html/generals.html
+++ b/public/src/js/modules/main/apps/settings/views/generals/generals.html/generals.html
@@ -11,7 +11,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-cog" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="SETTINGS.GENERAL">General</span>
+        <span class="logo-text" translate="APP.GENERAL">General</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -22,8 +22,8 @@
         ng-click="vm.saveGeneral()"
         ng-disabled="(globalForm.$pristine && motionbarForm.$pristine && reportForm.$pristine && agentOmniDesktopInterfaceForm.$pristine && screenRecordingForm.$pristine && securityForm.$pristine && imapGeneralSettingsForm.$pristine && SSOForm.$pristine && aiToolsForm.$pristine) || (globalForm.$invalid || motionbarForm.$invalid || reportForm.$invalid || agentOmniDesktopInterfaceForm.$invalid || screenRecordingForm.$invalid || securityForm.$invalid || imapGeneralSettingsForm.$invalid || SSOForm.$invalid || aiToolsForm.$invalid)"
         class="send-button md-accent md-raised"
-        translate="SETTINGS.SAVE"
-        translate-attr-aria-label="SETTINGS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -38,9 +38,7 @@
         class="general-detail-form-container global md-background-bg md-whiteframe-1dp"
         <div class="pb-16" layout="row" layout-align="start center">
-          <div class="h2 secondary-text" translate="SETTINGS.GLOBAL">
-            GLOBAL
-          </div>
+          <div class="h2 secondary-text" translate="APP.GLOBAL">GLOBAL</div>
         </div>
         <form name="globalForm" novalidate>
           <md-input-container class="md-block">
@@ -120,7 +118,7 @@
         class="general-detail-form-container motionbar md-background-bg md-whiteframe-1dp"
         <div class="pb-16" layout="row" layout-align="start center">
-          <div class="h2 secondary-text" translate="SETTINGS.MOTIONBAR">
+          <div class="h2 secondary-text" translate="APP.MOTIONBAR">
             MOTIONBAR
           </div>
         </div>
@@ -188,15 +186,13 @@
         class="general-detail-form-container report md-background-bg md-whiteframe-1dp"
         <div class="pb-16" layout="row" layout-align="start center">
-          <div class="h2 secondary-text" translate="SETTINGS.REPORT">
-            REPORT
-          </div>
+          <div class="h2 secondary-text" translate="APP.REPORT">REPORT</div>
         </div>
         <form name="reportForm" novalidate>
           <md-input-container class="md-block">
             <md-switch ng-model="vm.general.split" aria-label="Split"
-              ><span translate="SETTINGS.SPLIT">Split</span></md-switch
-            >
+              ><span translate="SETTINGS.SPLIT">Split</span>
+            </md-switch>
           </md-input-container>
           <md-input-container ng-if="vm.general.split" class="md-block">
             <label translate="SETTINGS.SPLITSIZECSV">SplitSizeCsv</label>
@@ -283,9 +279,7 @@
           </md-input-container>
           <md-input-container class="md-block">
-            <label translate="SETTINGS.MESSAGESALIGNMENT"
-              >messagesAlignment</label
-            >
+            <label translate="APP.MESSAGESALIGNMENT">messagesAlignment</label>
             <md-select
               name="messagesAlignment"
               ng-model="vm.general.messagesAlignment"
@@ -314,7 +308,7 @@
         class="general-detail-form-container screenrecording md-background-bg md-whiteframe-1dp"
         <div class="pb-16" layout="row" layout-align="start center">
-          <div class="h2 secondary-text" translate="SETTINGS.SCREENRECORDING">
+          <div class="h2 secondary-text" translate="APP.SCREENRECORDING">
             SCREENRECORDING
           </div>
         </div>
@@ -362,7 +356,7 @@
             <md-switch
               ng-model="vm.general.securePassword"
               aria-label="Security_Suite"
-              ><span translate="SETTINGS.SECURITY_SUITE"
+              ><span translate="APP.SECURITY_SUITE"
                 >Security_Suite</span
               ></md-switch
@@ -568,7 +562,7 @@
         </div>
         <form name="aiToolsForm" novalidate>
           <md-input-container class="md-block">
-            <label translate="SETTINGS.LANGUAGE">Language</label>
+            <label translate="APP.LANGUAGE">Language</label>
             <md-select
               name="language"
               ng-model="vm.general.language"
@@ -671,9 +665,7 @@
           </md-input-container>
           <md-input-container class="md-block">
             <md-switch ng-model="vm.general.transcribe" aria-label="Transcribe"
-              ><span translate="SETTINGS.TRANSCRIBE"
-                >Transcribe</span
-              ></md-switch
+              ><span translate="APP.TRANSCRIBE">Transcribe</span></md-switch
           </md-input-container>
           <md-input-container
@@ -778,7 +770,7 @@
             <md-switch
               ng-model="vm.general.sentiment"
               aria-label="SentimentAnalysis"
-              ><span translate="SETTINGS.SENTIMENTANALYSIS"
+              ><span translate="APP.SENTIMENTANALYSIS"
                 >SentimentAnalysis</span
               ></md-switch
diff --git a/public/src/js/modules/main/apps/settings/views/license/license.html/license.html b/public/src/js/modules/main/apps/settings/views/license/license.html/license.html
index d814326..cffd314 100644
--- a/public/src/js/modules/main/apps/settings/views/license/license.html/license.html
+++ b/public/src/js/modules/main/apps/settings/views/license/license.html/license.html
@@ -179,7 +179,7 @@
           </div>
 
           <md-subheader class="md-no-sticky"
-            >{{ 'SETTINGS.STAFF' | translate }}</md-subheader
+            >{{ 'APP.STAFF' | translate }}</md-subheader
           <md-divider></md-divider>
           <md-list layout="row">
@@ -197,7 +197,7 @@
                     vm.license.users}})</span
                 </h3>
-                <p translate="SETTINGS.USERS">Users</p>
+                <p translate="APP.USERS">Users</p>
               </div>
             </md-list-item>
             <md-list-item class="md-2-line" flex="33">
@@ -214,7 +214,7 @@
                     vm.license.agents}})</span
                 </h3>
-                <p translate="SETTINGS.AGENTS">Agents</p>
+                <p translate="APP.AGENTS">Agents</p>
               </div>
             </md-list-item>
             <md-list-item class="md-2-line" flex="33">
@@ -231,13 +231,13 @@
                     vm.license.telephones}})</span
                 </h3>
-                <p translate="SETTINGS.TELEPHONES">Telephones</p>
+                <p translate="APP.TELEPHONES">Telephones</p>
               </div>
             </md-list-item>
           </md-list>
 
           <md-subheader class="md-no-sticky"
-            >{{ 'SETTINGS.CHANNELS' | translate }}</md-subheader
+            >{{ 'APP.CHANNELS' | translate }}</md-subheader
           <md-divider></md-divider>
           <md-list layout="row">
@@ -256,7 +256,7 @@
                 <p
                   ng-class="vm.license[channel.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[channel.name] ? 'ENABLED' :
+                  {{ 'APP.' + (vm.license[channel.name] ? 'ENABLED' :
                   'DISABLED') | translate }}
                 </p>
               </div>
@@ -278,7 +278,7 @@
                 <p
                   ng-class="vm.license[channel.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[channel.name] ? 'ENABLED' :
+                  {{ 'APP.' + (vm.license[channel.name] ? 'ENABLED' :
                   'DISABLED') | translate }}
                 </p>
               </div>
@@ -300,7 +300,7 @@
                 <p
                   ng-class="vm.license[channel.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[channel.name] ? 'ENABLED' :
+                  {{ 'APP.' + (vm.license[channel.name] ? 'ENABLED' :
                   'DISABLED') | translate }}
                 </p>
               </div>
@@ -308,7 +308,7 @@
           </md-list>
 
           <md-subheader class="md-no-sticky"
-            >{{ 'SETTINGS.MODULES' | translate }}</md-subheader
+            >{{ 'APP.MODULES' | translate }}</md-subheader
           <md-divider></md-divider>
           <md-list layout="row">
@@ -327,15 +327,15 @@
                 <p
                   ng-class="vm.license[module.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[module.name] ? 'ENABLED' :
-                  'DISABLED') | translate }}
+                  {{ 'APP.' + (vm.license[module.name] ? 'ENABLED' : 'DISABLED')
+                  | translate }}
                 </p>
               </div>
             </md-list-item>
           </md-list>
 
           <md-subheader class="md-no-sticky"
-            >{{ 'SETTINGS.SESSIONS' | translate }}</md-subheader
+            >{{ 'APP.SESSIONS' | translate }}</md-subheader
           <md-divider></md-divider>
           <md-list layout="row">
@@ -374,7 +374,7 @@
                     translate }}
                   </p>
                   <p ng-if="!vm.license[session.enabled]" class="red-A700-fg">
-                    {{ 'SETTINGS.DISABLED' | translate }}
+                    {{ 'APP.DISABLED' | translate }}
                   </p>
                 </div>
               </md-list-item>
@@ -401,8 +401,8 @@
                 <p
                   ng-class="vm.license[addon.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[addon.name] ? 'ENABLED' :
-                  'DISABLED') | translate }}
+                  {{ 'APP.' + (vm.license[addon.name] ? 'ENABLED' : 'DISABLED')
+                  | translate }}
                 </p>
               </div>
             </md-list-item>
@@ -423,15 +423,15 @@
                 <p
                   ng-class="vm.license[addon.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[addon.name] ? 'ENABLED' :
-                  'DISABLED') | translate }}
+                  {{ 'APP.' + (vm.license[addon.name] ? 'ENABLED' : 'DISABLED')
+                  | translate }}
                 </p>
               </div>
             </md-list-item>
           </md-list>
 
           <md-subheader class="md-no-sticky"
-            >{{ 'SETTINGS.OTHERS' | translate }}</md-subheader
+            >{{ 'APP.OTHERS' | translate }}</md-subheader
           <md-divider></md-divider>
           <md-list layout="row">
@@ -450,8 +450,8 @@
                 <p
                   ng-class="vm.license[other.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[other.name] ? 'ENABLED' :
-                  'DISABLED') | translate }}
+                  {{ 'APP.' + (vm.license[other.name] ? 'ENABLED' : 'DISABLED')
+                  | translate }}
                 </p>
               </div>
             </md-list-item>
@@ -472,8 +472,8 @@
                 <p
                   ng-class="vm.license[other.name] ? 'green-A700-fg' : 'red-A700-fg'"
-                  {{ 'SETTINGS.' + (vm.license[other.name] ? 'ENABLED' :
-                  'DISABLED') | translate }}
+                  {{ 'APP.' + (vm.license[other.name] ? 'ENABLED' : 'DISABLED')
+                  | translate }}
                 </p>
               </div>
             </md-list-item>
diff --git a/public/src/js/modules/main/apps/settings/views/license/request/dialog.html/dialog.html b/public/src/js/modules/main/apps/settings/views/license/request/dialog.html/dialog.html
index f834d24..be6af6d 100644
--- a/public/src/js/modules/main/apps/settings/views/license/request/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/settings/views/license/request/dialog.html/dialog.html
@@ -40,7 +40,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SETTINGS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input type="text" name="name" ng-model="vm.license.name" required />
         <div
           ng-messages="requestForm.name.$error"
@@ -48,14 +48,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SETTINGS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Address field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SETTINGS.EMAIL">Email</label>
+        <label translate="APP.EMAIL">Email</label>
         <input type="email" name="email" ng-model="vm.license.email" required />
         <div
           ng-messages="requestForm.email.$error"
@@ -63,12 +63,12 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SETTINGS.ERRORS.EMAIL_REQUIRED"
+            <span translate="APP.ERRORS.EMAIL_REQUIRED"
               >Email field is required</span
             >
           </div>
           <div ng-message="email">
-            <span translate="SETTINGS.ERRORS.EMAIL_MUST_VALID"
+            <span translate="APP.ERRORS.EMAIL_MUST_VALID"
               >Email must be a valid e-mail address</span
             >
           </div>
@@ -102,11 +102,11 @@
         </div>
       </md-input-container>
       <md-subheader class="md-no-sticky"
-        >{{ 'SETTINGS.STAFF' | translate }}</md-subheader
+        >{{ 'APP.STAFF' | translate }}</md-subheader
       <div layout="row" layout-align="space-between center">
         <md-input-container class="md-block" flex>
-          <label translate="SETTINGS.USERS">Users</label>
+          <label translate="APP.USERS">Users</label>
           <input
             type="number"
             name="users"
@@ -126,7 +126,7 @@
           </div>
         </md-input-container>
         <md-input-container class="md-block" flex>
-          <label translate="SETTINGS.AGENTS">Agents</label>
+          <label translate="APP.AGENTS">Agents</label>
           <input
             type="number"
             name="agents"
@@ -146,7 +146,7 @@
           </div>
         </md-input-container>
         <md-input-container class="md-block" flex>
-          <label translate="SETTINGS.TELEPHONES">Telephones</label>
+          <label translate="APP.TELEPHONES">Telephones</label>
           <input
             type="number"
             name="telephones"
@@ -168,15 +168,15 @@
       </div>
 
       <md-subheader class="md-no-sticky"
-        >{{ 'SETTINGS.CHANNELS' | translate }}</md-subheader
+        >{{ 'APP.CHANNELS' | translate }}</md-subheader
       <div layout="row" layout-align="space-between center">
         <md-switch
           ng-model="vm.license[channel.name]"
           aria-label="{{channel.name}}"
           ng-repeat="channel in vm.channels | limitTo:3"
-          ><span translate="SETTINGS.{{channel.name | uppercase}}"></span
-        ></md-switch>
+          ><span translate="SETTINGS.{{channel.name | uppercase}}"></span>
+        </md-switch>
         <md-switch
           ng-model="vm.license[channel.name]"
           aria-label="{{channel.name}}"
@@ -186,19 +186,20 @@
       </div>
 
       <md-subheader class="md-no-sticky"
-        >{{ 'SETTINGS.MODULES' | translate }}</md-subheader
+        >{{ 'APP.MODULES' | translate }}</md-subheader
       <div layout="row" layout-align="space-between center">
         <md-switch
           ng-model="vm.license[module.name]"
           aria-label="{{module.name}}"
           ng-repeat="module in vm.modules"
-          ><span translate="SETTINGS.{{module.name | uppercase}}"></span
+        >
+          <span translate="SETTINGS.{{module.name | uppercase}}"></span
         ></md-switch>
       </div>
 
       <md-subheader class="md-no-sticky"
-        >{{ 'SETTINGS.SESSIONS' | translate }}</md-subheader
+        >{{ 'APP.SESSIONS' | translate }}</md-subheader
       <div layout="row">
         <md-input-container
@@ -246,7 +247,7 @@
       </div>
 
       <md-subheader class="md-no-sticky"
-        >{{ 'SETTINGS.OTHERS' | translate }}</md-subheader
+        >{{ 'APP.OTHERS' | translate }}</md-subheader
       <div layout="row" layout-align="space-between center">
         <md-switch
@@ -258,7 +259,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="SETTINGS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <textarea
           name="description"
           ng-model="vm.license.description"
@@ -295,8 +296,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="requestForm.$invalid || requestForm.$pristine"
           aria-label="SEND"
-          translate="SETTINGS.SEND"
-          translate-attr-aria-label="SETTINGS.SEND"
+          translate="APP.SEND"
+          translate-attr-aria-label="APP.SEND"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/settings/views/license/update/dialog.html/dialog.html b/public/src/js/modules/main/apps/settings/views/license/update/dialog.html/dialog.html
index 1bcbaa0..ab94a93 100644
--- a/public/src/js/modules/main/apps/settings/views/license/update/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/settings/views/license/update/dialog.html/dialog.html
@@ -91,8 +91,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="updateForm.$invalid || updateForm.$pristine"
           aria-label="UPDATE"
-          translate="SETTINGS.UPDATE"
-          translate-attr-aria-label="SETTINGS.UPDATE"
+          translate="APP.UPDATE"
+          translate-attr-aria-label="APP.UPDATE"
           UPDATE
         </md-button>
diff --git a/public/src/js/modules/main/apps/settings/views/networks/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/settings/views/networks/create/dialog.html/dialog.html
index ce90da1..aaf4b85 100644
--- a/public/src/js/modules/main/apps/settings/views/networks/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/settings/views/networks/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SETTINGS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.network.type" autofocus required>
           <md-option ng-value="'localnet'">LocalNET</md-option>
           <md-option ng-value="'externip'">ExternIP</md-option>
@@ -51,7 +51,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SETTINGS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -96,7 +96,7 @@
         ng-if="vm.network.type == 'externip'"
         class="md-block"
-        <label translate="SETTINGS.ADDRESS">Address</label>
+        <label translate="APP.ADDRESS">Address</label>
         <input
           type="text"
           name="value"
@@ -129,7 +129,7 @@
         ng-if="vm.network.type == 'turn' || vm.network.type == 'stun'"
         class="md-block"
-        <label translate="SETTINGS.ADDRESS">Address</label>
+        <label translate="APP.ADDRESS">Address</label>
         <input
           type="text"
           name="value"
@@ -150,7 +150,7 @@
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.network.type == 'turn'" class="md-block">
-        <label translate="SETTINGS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -165,14 +165,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SETTINGS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.network.type == 'turn'" class="md-block">
-        <label translate="SETTINGS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="text"
           name="password"
@@ -187,7 +187,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SETTINGS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -225,8 +225,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="networkForm.$invalid || networkForm.$pristine"
           aria-label="SAVE"
-          translate="SETTINGS.SAVE"
-          translate-attr-aria-label="SETTINGS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -250,12 +250,10 @@
           ng-click="vm.deleteNetwork($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="SETTINGS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="SETTINGS.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/settings/views/networks/networks.html/networks.html b/public/src/js/modules/main/apps/settings/views/networks/networks.html/networks.html
index e06dafa..b78d0af 100644
--- a/public/src/js/modules/main/apps/settings/views/networks/networks.html/networks.html
+++ b/public/src/js/modules/main/apps/settings/views/networks/networks.html/networks.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="SETTINGS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedNetworks =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="SETTINGS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-networks-count">
           <span>{{vm.selectedNetworks.length}}</span>
-          <span translate="SETTINGS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllNetworks()"
-                translate="SETTINGS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectNetworks()"
-                translate="SETTINGS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -112,7 +112,7 @@
           ng-click="vm.deleteSelectedNetworks($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="SETTINGS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -146,17 +146,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">
-                  {{ 'SETTINGS.ID' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="type">
-                  {{ 'SETTINGS.TYPE' | translate }}
+                  {{ 'APP.TYPE' | translate }}
                 </th>
                 <th md-column md-order-by="value">
-                  {{ 'SETTINGS.ADDRESS' | translate }}
+                  {{ 'APP.ADDRESS' | translate }}
                 </th>
                 <th md-column md-order-by="createdAt">
-                  {{ 'SETTINGS.CREATED_AT' | translate }}
+                  {{ 'APP.CREATED_AT' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -165,7 +163,7 @@
               <tr md-row ng-hide="vm.networks.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="SETTINGS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -229,7 +227,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="SETTINGS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/settings/views/smtps/smtps.html/smtps.html b/public/src/js/modules/main/apps/settings/views/smtps/smtps.html/smtps.html
index a9017e4..223c6dc 100644
--- a/public/src/js/modules/main/apps/settings/views/smtps/smtps.html/smtps.html
+++ b/public/src/js/modules/main/apps/settings/views/smtps/smtps.html/smtps.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-cog" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="SETTINGS.SMTP">Smtp</span>
+        <span class="logo-text" translate="APP.SMTP">Smtp</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -35,8 +35,8 @@
         ng-click="vm.saveSmtp()"
         ng-disabled="(generalForm.$pristine) || (generalForm.$invalid)"
         class="send-button md-accent md-raised"
-        translate="SETTINGS.SAVE"
-        translate-attr-aria-label="SETTINGS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -51,13 +51,11 @@
         class="smtp-detail-form-container general motion-form__detail-form-container md-background-bg md-whiteframe-1dp"
         <div class="pb-16" layout="row" layout-align="start center">
-          <div class="h2 secondary-text" translate="SETTINGS.GENERAL">
-            GENERAL
-          </div>
+          <div class="h2 secondary-text" translate="APP.GENERAL">GENERAL</div>
         </div>
         <form name="generalForm" novalidate>
           <md-input-container class="md-block">
-            <label translate="SETTINGS.ACCOUNTNAME">AccountName</label>
+            <label translate="APP.ACCOUNTNAME">AccountName</label>
             <input
               type="text"
               name="name"
@@ -72,14 +70,14 @@
               role="alert"
               <div ng-message="required">
-                <span translate="SETTINGS.ERRORS.ACCOUNTNAME_REQUIRED"
+                <span translate="APP.ERRORS.ACCOUNTNAME_REQUIRED"
                   >AccountName field is required</span
                 >
               </div>
             </div>
           </md-input-container>
           <md-input-container class="md-block">
-            <label translate="SETTINGS.EMAILADDRESS">EmailAddress</label>
+            <label translate="APP.EMAILADDRESS">EmailAddress</label>
             <input
               type="email"
               name="email"
@@ -136,7 +134,7 @@
             ng-if="vm.smtp.Smtp.service == null"
             class="md-block"
-            <label translate="SETTINGS.SMTP_HOST">SMTP_Host</label>
+            <label translate="APP.SMTP_HOST">SMTP_Host</label>
             <input
               type="text"
               name="Smtp.host"
@@ -160,7 +158,7 @@
             ng-if="vm.smtp.Smtp.service == null"
             class="md-block"
-            <label translate="SETTINGS.SMTP_PORT">SMTP_Port</label>
+            <label translate="APP.SMTP_PORT">SMTP_Port</label>
             <input
               type="number"
               name="Smtp.port"
@@ -244,7 +242,7 @@
               ng-model="vm.smtp.Smtp.pass"
               placeholder="Password"
               translate
-              translate-attr-placeholder="SETTINGS.PASSWORD"
+              translate-attr-placeholder="APP.PASSWORD"
               required
             />
             <div class="hint">
@@ -252,7 +250,7 @@
             </div>
             <div ng-messages="generalForm['Smtp.pass'].$error" role="alert">
               <div ng-message="required">
-                <span translate="SETTINGS.ERRORS.PASSWORD_REQUIRED"
+                <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                   >Password field is required</span
                 >
               </div>
@@ -267,7 +265,7 @@
           </md-input-container>
 
           <md-input-container class="md-block">
-            <label translate="SETTINGS.DESCRIPTION">Description</label>
+            <label translate="APP.DESCRIPTION">Description</label>
             <input type="" name="description" ng-model="vm.smtp.description" />
 
             <div
diff --git a/public/src/js/modules/main/apps/settings/views/system/system.html/system.html b/public/src/js/modules/main/apps/settings/views/system/system.html/system.html
index 2c1b40c..588c265 100644
--- a/public/src/js/modules/main/apps/settings/views/system/system.html/system.html
+++ b/public/src/js/modules/main/apps/settings/views/system/system.html/system.html
@@ -7,7 +7,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-cog" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="SETTINGS.SYSTEM">SYSTEM</span>
+        <span class="logo-text" translate="APP.SYSTEM">SYSTEM</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -26,7 +26,7 @@
       <md-tab>
         <md-tab-label>
-          <span translate="SETTINGS.GENERAL">GENERAL</span>
+          <span translate="APP.GENERAL">GENERAL</span>
         </md-tab-label>
 
         <md-tab-body>
@@ -153,7 +153,8 @@
                           class="md-warn"
                           md-mode="determinate"
                           value="{{(vm.system.mem.active / vm.system.mem.total) * 100 | number : 0 }}"
-                        ></md-progress-linear>
+                        >
+                        </md-progress-linear>
                       </div>
                     </div>
                   </div>
@@ -213,7 +214,8 @@
                           class="red"
                           md-mode="determinate"
                           value="{{disk.use | number:0}}"
-                        ></md-progress-linear>
+                        >
+                        </md-progress-linear>
                       </div>
                     </div>
                   </div>
diff --git a/public/src/js/modules/main/apps/settings/views/updates/update/dialog.html/dialog.html b/public/src/js/modules/main/apps/settings/views/updates/update/dialog.html/dialog.html
index 4500f92..0440b3b 100644
--- a/public/src/js/modules/main/apps/settings/views/updates/update/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/settings/views/updates/update/dialog.html/dialog.html
@@ -67,8 +67,8 @@
           ng-click="vm.reload()"
           class="send-button md-warm md-raised"
           aria-label="RELOAD"
-          translate="SETTINGS.RELOAD"
-          translate-attr-aria-label="SETTINGS.RELOAD"
+          translate="APP.RELOAD"
+          translate-attr-aria-label="APP.RELOAD"
           RELOAD
         </md-button>
diff --git a/public/src/js/modules/main/apps/settings/views/updates/updates.html/updates.html b/public/src/js/modules/main/apps/settings/views/updates/updates.html/updates.html
index 3c40745..adb6646 100644
--- a/public/src/js/modules/main/apps/settings/views/updates/updates.html/updates.html
+++ b/public/src/js/modules/main/apps/settings/views/updates/updates.html/updates.html
@@ -76,8 +76,8 @@
               ng-click="vm.updateConfirm($event)"
               class="md-raised md-warn"
               aria-label="CHANGELOG"
-              translate="SETTINGS.UPDATE"
-              translate-attr-aria-label="SETTINGS.UPDATE"
+              translate="APP.UPDATE"
+              translate-attr-aria-label="APP.UPDATE"
               >UPDATE</md-button
           </div>
@@ -116,7 +116,8 @@
               md-mode="determinate"
               class="md-accent padding-20"
               value="{{vm.progress}}"
-            ></md-progress-linear>
+            >
+            </md-progress-linear>
             <span class="md-display-1 padding-5 text-center"
               >Grab a quick coffee and</span
             >
diff --git a/public/src/js/modules/main/apps/sms/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/sms/views/realtime/agents/view.html/view.html
index 1148d96..a6e81b5 100644
--- a/public/src/js/modules/main/apps/sms/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/sms/views/realtime/agents/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="SMS.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query; vm.onInit()"
@@ -13,11 +13,11 @@
       class="md-caption"
       ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-      <md-option ng-value="''">{{ 'SMS.ALL' | translate }}</md-option>
-      <md-option value="pause">{{ 'SMS.PAUSE' | translate }}</md-option>
-      <md-option value="*pause">{{ 'SMS.PARTIALPAUSE' | translate }}</md-option>
-      <md-option value="busy">{{ 'SMS.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'SMS.IDLE' | translate }}</md-option>
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
     <md-select
@@ -44,103 +44,103 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'SMS.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
         <th
           ng-if="vm.license.openchannel"
           class="bv bl text-center"
           colspan="2"
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'SMS.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'SMS.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'SMS.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -149,7 +149,7 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'SMS.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
@@ -184,7 +184,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'SMS.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -197,7 +197,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'SMS.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -400,7 +400,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -410,7 +410,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="SMS.LOGOUT"
+                  translate="APP.LOGOUT"
                   Logout
                 </md-button>
@@ -431,14 +431,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="SMS.SCREENRECORDING"
+                    translate="APP.SCREENRECORDING"
                     >Screen Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="SMS.START_SCREENRECORDING"
+                        ><em translate="APP.START_SCREENRECORDING"
                           >Start Screen Recording</em
                         ></md-button
                       >
@@ -446,7 +446,7 @@
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="SMS.STOP_SCREENRECORDING"
+                        ><em translate="APP.STOP_SCREENRECORDING"
                           >Stop Screen Recording</em
                         ></md-button
                       >
@@ -460,7 +460,7 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="SMS.PAUSE"
+                    translate="APP.PAUSE"
                     >Pause</md-button
                   <md-menu-content>
@@ -468,10 +468,8 @@
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
                         ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="SMS.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
                     <md-menu-item
                       ng-if="vm.pauses.rows.length"
@@ -489,7 +487,7 @@
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
                 <md-button
                   ng-click="vm.unPause(vm.agents[value])"
-                  translate="SMS.UNPAUSE"
+                  translate="APP.UNPAUSE"
                   Unpause
                 </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/sms/views/realtime/queues/view.html/view.html
index d2d20eb..8391162 100644
--- a/public/src/js/modules/main/apps/sms/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/sms/views/realtime/queues/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="SMS.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,11 +17,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'SMS.NAME' | translate }}</th>
-        <th md-column>{{ 'SMS.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'SMS.PAUSED' | translate }}</th>
-        <th md-column>{{ 'SMS.READY' | translate }}</th>
-        <th md-column>{{ 'SMS.WAITING' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -28,7 +29,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="7">
           <div layout="row" layout-align="center center">
-            <span translate="SMS.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -66,7 +67,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="SMS.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -76,7 +77,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.createOrEditSmsQueue($event, vm.queues[value])"
-                  translate="SMS.EDIT_QUEUE"
+                  translate="APP.EDIT_QUEUE"
                   Edit Queue
                 </md-button>
@@ -84,7 +85,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="SMS.AGENTSADD_QUEUE"
+                  translate="APP.AGENTSADD_QUEUE"
                   Add Agents to queue
                 </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/sms/views/realtime/realtime.html/realtime.html
index f118b7f..3aa8981 100644
--- a/public/src/js/modules/main/apps/sms/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/sms/views/realtime/realtime.html/realtime.html
@@ -10,12 +10,12 @@
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
     </md-tabs>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/create/dialog.html/dialog.html
index 1ce0554..bc0c7a4 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.KEY">key</label>
+        <label translate="APP.KEY">key</label>
         <input
           type="text"
           name="key"
@@ -76,13 +76,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >key field is required</span
             >
           </div>
           <div ng-message="md-maxlength">
             <span
-              translate="SMS.ERRORS.KEY_MAX_LENGTH"
+              translate="APP.ERRORS.KEY_MAX_LENGTH"
               translate-values="{max: 5}"
               >key must have a maximum length equal to 5</span
             >
@@ -90,7 +90,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.MOTIONPROXY">MotionProxy</label>
+        <label translate="APP.MOTIONPROXY">MotionProxy</label>
         <input
           type="url"
           name="remote"
@@ -99,19 +99,19 @@
           ng-required="true"
         />
 
-        <div class="hint"><span translate="SMS.HELP.MOTIONPROXY"></span></div>
+        <div class="hint"><span translate="APP.HELP.MOTIONPROXY"></span></div>
         <div
           ng-messages="smsAccountForm['remote'].$error"
           ng-show="smsAccountForm['remote'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.MOTIONPROXY_REQUIRED"
+            <span translate="APP.ERRORS.MOTIONPROXY_REQUIRED"
               >MotionProxy field is required</span
             >
           </div>
           <div ng-message="url">
-            <span translate="SMS.ERRORS.MOTIONPROXY_MUST_VALID_URL"
+            <span translate="APP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
               >MotionProxy must be a valid url http://www.xcally.com</span
             >
           </div>
@@ -125,30 +125,31 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select name="ListId" ng-model="vm.smsAccount.ListId" required>
           <md-option
             ng-value="ListId.id"
             ng-repeat="ListId in vm.lists"
             ng-disabled="ListId.canSelect === false"
-            >{{ ListId.name }}</md-option
+          >
+            {{ ListId.name }}</md-option
         </md-select>
-        <div class="hint"><span translate="SMS.HELP.LIST"></span></div>
+        <div class="hint"><span translate="APP.HELP.LIST"></span></div>
         <div
           ng-messages="smsAccountForm['ListId'].$error"
           ng-show="smsAccountForm['ListId'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.smsAccount.type" required>
           <md-option ng-value="'twilio'">Twilio</md-option>
           <md-option ng-value="'skebby'">Skebby</md-option>
@@ -166,14 +167,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.PHONE">Phone</label>
+        <label translate="APP.PHONE">Phone</label>
         <input
           type="text"
           name="phone"
@@ -187,7 +188,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.PHONE_REQUIRED"
+            <span translate="APP.ERRORS.PHONE_REQUIRED"
               >Phone field is required</span
             >
           </div>
@@ -197,7 +198,7 @@
         ng-if="vm.smsAccount.type == 'twilio'"
         class="md-block"
-        <label translate="SMS.ACCOUNTSID">AccountSID</label>
+        <label translate="APP.ACCOUNTSID">AccountSID</label>
         <input
           type="text"
           name="accountSid"
@@ -211,7 +212,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.ACCOUNTSID_REQUIRED"
+            <span translate="APP.ERRORS.ACCOUNTSID_REQUIRED"
               >AccountSID field is required</span
             >
           </div>
@@ -259,7 +260,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.AUTHTOKEN_REQUIRED"
+            <span translate="APP.ERRORS.AUTHTOKEN_REQUIRED"
               >AuthToken field is required</span
             >
           </div>
@@ -269,7 +270,7 @@
         ng-if="vm.smsAccount.type == 'skebby'"
         class="md-block"
-        <label translate="SMS.METHOD">Method</label>
+        <label translate="APP.METHOD">Method</label>
         <md-select name="smsMethod" ng-model="vm.smsAccount.smsMethod" required>
           <md-option ng-value="'SI'">Basic</md-option>
           <md-option ng-value="'TI'">Classic</md-option>
@@ -281,7 +282,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.METHOD_REQUIRED"
+            <span translate="APP.ERRORS.METHOD_REQUIRED"
               >Method field is required</span
             >
           </div>
@@ -291,7 +292,7 @@
         ng-if="vm.smsAccount.type == 'skebby' || vm.smsAccount.type == 'clicksend' || vm.smsAccount.type == 'csc' || vm.smsAccount.type == 'infobip'"
         class="md-block"
-        <label translate="SMS.USERNAME">Username</label>
+        <label translate="APP.USERNAME">Username</label>
         <input
           type="text"
           name="username"
@@ -305,7 +306,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.USERNAME_REQUIRED"
+            <span translate="APP.ERRORS.USERNAME_REQUIRED"
               >Username field is required</span
             >
           </div>
@@ -315,19 +316,19 @@
         class="md-block"
         ng-if="vm.smsAccount.type == 'skebby' || vm.smsAccount.type == 'clicksend' || vm.smsAccount.type == 'infobip'"
-        <label translate="SMS.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.smsAccount.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="SMS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div ng-messages="smsAccountForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="SMS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -345,7 +346,7 @@
         ng-if="vm.smsAccount.type == 'infobip' || vm.smsAccount.type == 'csc'"
         class="md-block"
-        <label translate="SMS.BASEURL">BaseURL</label>
+        <label translate="APP.BASEURL">BaseURL</label>
         <input
           type="text"
           name="baseUrl"
@@ -359,7 +360,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.BASEURL_REQUIRED"
+            <span translate="APP.ERRORS.BASEURL_REQUIRED"
               >BaseURL field is required</span
             >
           </div>
@@ -369,7 +370,7 @@
         ng-if="vm.smsAccount.type == 'csc' || vm.smsAccount.type == 'clickatell' || vm.smsAccount.type == 'intelepeer'"
         class="md-block"
-        <label translate="SMS.APIKEY">ApiKey</label>
+        <label translate="APP.APIKEY">ApiKey</label>
         <input
           type="text"
           name="apiKey"
@@ -383,14 +384,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.APIKEY_REQUIRED"
+            <span translate="APP.ERRORS.APIKEY_REQUIRED"
               >ApiKey field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -445,8 +446,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountForm.$invalid || smsAccountForm.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -471,10 +472,10 @@
           ng-click="vm.deleteSmsAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="SMS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="SMS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/agentadd/agentadd.html/agentadd.html
index 86f3a56..ed33692 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/agentadd/agentadd.html/agentadd.html
@@ -34,8 +34,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/agent/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/agent/dialog.html/dialog.html
index cd91f55..114d391 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/agent/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/agent/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select
           name="agent"
           ng-model="vm.agent.agent"
@@ -50,7 +50,8 @@
             ng-value="agent.name"
             ng-repeat="agent in vm.agents"
             ng-disabled="agent.canSelect === false"
-            >{{ agent.name }}</md-option
+          >
+            {{ agent.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="SMS.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="SMS.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/amazonlex/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/amazonlex/dialog.html/dialog.html
index 77343e5..eb4c8fa 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/amazonlex/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/amazonlex/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.ACCESSKEYID">accesskeyid</label>
+        <label translate="APP.ACCESSKEYID">accesskeyid</label>
         <input
           type="text"
           name="accesskeyid"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.ACCESSKEYID_REQUIRED"
+            <span translate="APP.ERRORS.ACCESSKEYID_REQUIRED"
               >accesskeyid field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.SECRETACCESSKEY">secretaccesskey</label>
+        <label translate="APP.SECRETACCESSKEY">secretaccesskey</label>
         <input
           type="text"
           name="secretaccesskey"
@@ -76,14 +76,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.SECRETACCESSKEY_REQUIRED"
+            <span translate="APP.ERRORS.SECRETACCESSKEY_REQUIRED"
               >secretaccesskey field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.LEXREGION">lexregion</label>
+        <label translate="APP.LEXREGION">lexregion</label>
         <md-select
           name="lexregion"
           ng-model="vm.amazonlex.lexregion"
@@ -110,7 +110,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.BOTNAME">botname</label>
+        <label translate="APP.BOTNAME">botname</label>
         <input
           type="text"
           name="botname"
@@ -125,21 +125,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.BOTNAME_REQUIRED"
+            <span translate="APP.ERRORS.BOTNAME_REQUIRED"
               >botname field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.WELCOMEMESSAGE">welcomemessage</label>
+        <label translate="APP.WELCOMEMESSAGE">welcomemessage</label>
         <textarea
           name="welcomemessage"
           ng-model="vm.amazonlex.welcomemessage"
           md-maxlength="255"
         ></textarea>
         <div class="hint">
-          <span translate="SMS.HELP.WELCOMEMESSAGE"></span>
+          <span translate="APP.HELP.WELCOMEMESSAGE"></span>
         </div>
 
         <div
@@ -197,8 +197,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/autoreply/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/autoreply/dialog.html/dialog.html
index 265c570..0527706 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/autoreply/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/autoreply/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.TIMES">times</label>
+        <label translate="APP.TIMES">times</label>
         <md-select
           name="times"
           ng-model="vm.autoreply.times"
@@ -62,7 +62,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.TEXT">Text</label>
+        <label translate="APP.TEXT">Text</label>
         <textarea name="text" ng-model="vm.autoreply.text" required></textarea>
 
         <div
@@ -71,7 +71,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.TEXT_REQUIRED"
+            <span translate="APP.ERRORS.TEXT_REQUIRED"
               >Text field is required</span
             >
           </div>
@@ -112,8 +112,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/close/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/close/dialog.html/dialog.html
index 1d5ac2b..ce50dd6 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/close/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/close/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.DISPOSITION">Disposition</label>
+        <label translate="APP.DISPOSITION">Disposition</label>
         <input
           type="text"
           name="disposition"
@@ -54,7 +54,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.DISPOSITION_REQUIRED"
+            <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
               >Disposition field is required</span
             >
           </div>
@@ -95,8 +95,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/dialogflow/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/dialogflow/dialog.html/dialog.html
index 1606d0a..f1746ff 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/dialogflow/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/dialogflow/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type="text"
           name="key"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.LANGUAGE">language</label>
+        <label translate="APP.LANGUAGE">language</label>
         <md-select
           name="language"
           ng-model="vm.dialogflow.language"
@@ -102,14 +102,14 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.WELCOMEMESSAGE">welcomemessage</label>
+        <label translate="APP.WELCOMEMESSAGE">welcomemessage</label>
         <textarea
           name="welcomemessage"
           ng-model="vm.dialogflow.welcomemessage"
           md-maxlength="255"
         ></textarea>
         <div class="hint">
-          <span translate="SMS.HELP.WELCOMEMESSAGE"></span>
+          <span translate="APP.HELP.WELCOMEMESSAGE"></span>
         </div>
 
         <div
@@ -167,8 +167,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotoif/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotoif/dialog.html/dialog.html
index 452c4bc..cf277cc 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotoif/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotoif/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.CONDITION">Condition</label>
+        <label translate="APP.CONDITION">Condition</label>
         <input
           type="text"
           name="condition"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.CONDITION_REQUIRED"
+            <span translate="APP.ERRORS.CONDITION_REQUIRED"
               >Condition field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.TRUEPRIORITY">truepriority</label>
+        <label translate="APP.TRUEPRIORITY">truepriority</label>
         <input
           type="number"
           name="truepriority"
@@ -77,13 +77,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.TRUEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.TRUEPRIORITY_REQUIRED"
               >truepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="SMS.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >truepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -91,7 +91,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.FALSEPRIORITY">falsepriority</label>
+        <label translate="APP.FALSEPRIORITY">falsepriority</label>
         <input
           type="number"
           name="falsepriority"
@@ -107,13 +107,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.FALSEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.FALSEPRIORITY_REQUIRED"
               >falsepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="SMS.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >falsepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -155,8 +155,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotop/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotop/dialog.html/dialog.html
index eea6c89..a20e061 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/gotop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="number"
           name="priority"
@@ -55,13 +55,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="SMS.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Priority must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -103,8 +103,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/noop/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/noop/dialog.html/dialog.html
index 70eaae0..e1abe93 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/noop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/noop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -94,8 +94,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/queue/dialog.html/dialog.html
index 5bcf333..147e5cd 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/queue/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -50,7 +50,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,19 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="SMS.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span translate="SMS.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -137,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/system/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/system/dialog.html/dialog.html
index 2d19f42..a19b3b5 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/system/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/system/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.COMMAND">Command</label>
+        <label translate="APP.COMMAND">Command</label>
         <input
           type="text"
           name="command"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.COMMAND_REQUIRED"
+            <span translate="APP.ERRORS.COMMAND_REQUIRED"
               >Command field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="variable"
           ng-model="vm.system.variable"
@@ -122,8 +122,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/tag/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/tag/dialog.html/dialog.html
index 159f755..010a763 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/tag/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/apps/tag/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.TAG">Tag</label>
+        <label translate="APP.TAG">Tag</label>
         <md-select
           name="tag"
           ng-model="vm.tag.tag"
@@ -50,8 +50,8 @@
             ng-value="tag.name"
             ng-repeat="tag in vm.tags"
             ng-disabled="tag.canSelect === false"
-            >{{ tag.name }}</md-option
-          >
+            >{{ tag.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="smsAccountFormApp['tag'].$error"
@@ -59,7 +59,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.TAG_REQUIRED"
+            <span translate="APP.ERRORS.TAG_REQUIRED"
               >Tag field is required</span
             >
           </div>
@@ -100,8 +100,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsAccountFormApp.$invalid || smsAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/smsCannedAnswers/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/smsCannedAnswers/dialog.html/dialog.html
index 219c31b..2dc21ab 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/smsCannedAnswers/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/smsCannedAnswers/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type=""
           name="key"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <textarea
           name="value"
           ng-model="vm.smsCannedAnswer.value"
@@ -74,14 +74,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -136,8 +136,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsCannedAnswerForm.$invalid || smsCannedAnswerForm.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -162,10 +162,10 @@
           ng-click="vm.deleteSmsCannedAnswer($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="SMS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="SMS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/view.html/view.html
index 2384e52..7a12ffc 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.smsAccount.name">{{vm.smsAccount.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="SMS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.smsAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -49,8 +49,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (notificationForm.$invalid) || (transferForm.$invalid) || (proxyForm.$invalid) || (dispositionForm.$invalid) || (smsDispositionsForm.$invalid) || (smsCannedAnswersForm.$invalid) || (actionsForm.$invalid) || (interactionsForm.$invalid)"
-        translate="SMS.SAVE"
-        translate-attr-aria-label="SMS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -69,20 +69,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="smsAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="SMS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="SMS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -98,14 +98,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.KEY">key</label>
+                <label translate="APP.KEY">key</label>
                 <input
                   type="text"
                   name="key"
@@ -121,13 +121,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.KEY_REQUIRED"
+                    <span translate="APP.ERRORS.KEY_REQUIRED"
                       >key field is required</span
                     >
                   </div>
                   <div ng-message="md-maxlength">
                     <span
-                      translate="SMS.ERRORS.KEY_MAX_LENGTH"
+                      translate="APP.ERRORS.KEY_MAX_LENGTH"
                       translate-values="{max: 5}"
                       >key must have a maximum length equal to 5</span
                     >
@@ -135,7 +135,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.LIST">List</label>
+                <label translate="APP.LIST">List</label>
                 <md-select
                   name="ListId"
                   ng-model="vm.smsAccount.ListId"
@@ -149,21 +149,21 @@
                     >{{ ListId.name }}</md-option
                   >
                 </md-select>
-                <div class="hint"><span translate="SMS.HELP.LIST"></span></div>
+                <div class="hint"><span translate="APP.HELP.LIST"></span></div>
                 <div
                   ng-messages="generalForm['ListId'].$error"
                   ng-show="generalForm['ListId'].$touched"
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.LIST_REQUIRED"
+                    <span translate="APP.ERRORS.LIST_REQUIRED"
                       >List field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <md-select
                   name="type"
                   ng-model="vm.smsAccount.type"
@@ -186,14 +186,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.PHONE">Phone</label>
+                <label translate="APP.PHONE">Phone</label>
                 <input
                   type="text"
                   name="phone"
@@ -208,7 +208,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.PHONE_REQUIRED"
+                    <span translate="APP.ERRORS.PHONE_REQUIRED"
                       >Phone field is required</span
                     >
                   </div>
@@ -218,7 +218,7 @@
                 ng-if="vm.smsAccount.type == 'twilio'"
                 class="md-block"
-                <label translate="SMS.ACCOUNTSID">AccountSID</label>
+                <label translate="APP.ACCOUNTSID">AccountSID</label>
                 <input
                   type="text"
                   name="accountSid"
@@ -233,7 +233,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.ACCOUNTSID_REQUIRED"
+                    <span translate="APP.ERRORS.ACCOUNTSID_REQUIRED"
                       >AccountSID field is required</span
                     >
                   </div>
@@ -283,7 +283,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.AUTHTOKEN_REQUIRED"
+                    <span translate="APP.ERRORS.AUTHTOKEN_REQUIRED"
                       >AuthToken field is required</span
                     >
                   </div>
@@ -293,7 +293,7 @@
                 ng-if="vm.smsAccount.type == 'skebby'"
                 class="md-block"
-                <label translate="SMS.METHOD">Method</label>
+                <label translate="APP.METHOD">Method</label>
                 <md-select
                   name="smsMethod"
                   ng-model="vm.smsAccount.smsMethod"
@@ -310,7 +310,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.METHOD_REQUIRED"
+                    <span translate="APP.ERRORS.METHOD_REQUIRED"
                       >Method field is required</span
                     >
                   </div>
@@ -320,7 +320,7 @@
                 ng-if="vm.smsAccount.type == 'skebby' || vm.smsAccount.type == 'clicksend' || vm.smsAccount.type == 'csc' || vm.smsAccount.type == 'infobip'"
                 class="md-block"
-                <label translate="SMS.USERNAME">Username</label>
+                <label translate="APP.USERNAME">Username</label>
                 <input
                   type="text"
                   name="username"
@@ -335,7 +335,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.USERNAME_REQUIRED"
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED"
                       >Username field is required</span
                     >
                   </div>
@@ -345,19 +345,19 @@
                 class="md-block"
                 ng-if="vm.smsAccount.type == 'skebby' || vm.smsAccount.type == 'clicksend' || vm.smsAccount.type == 'infobip'"
-                <label translate="SMS.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.smsAccount.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="SMS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -375,7 +375,7 @@
                 ng-if="vm.smsAccount.type == 'infobip' || vm.smsAccount.type == 'csc'"
                 class="md-block"
-                <label translate="SMS.BASEURL">BaseURL</label>
+                <label translate="APP.BASEURL">BaseURL</label>
                 <input
                   type="text"
                   name="baseUrl"
@@ -390,7 +390,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.BASEURL_REQUIRED"
+                    <span translate="APP.ERRORS.BASEURL_REQUIRED"
                       >BaseURL field is required</span
                     >
                   </div>
@@ -400,7 +400,7 @@
                 ng-if="vm.smsAccount.type == 'csc' || vm.smsAccount.type == 'clickatell' || vm.smsAccount.type == 'intelepeer'"
                 class="md-block"
-                <label translate="SMS.APIKEY">ApiKey</label>
+                <label translate="APP.APIKEY">ApiKey</label>
                 <input
                   type="text"
                   name="apiKey"
@@ -415,7 +415,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.APIKEY_REQUIRED"
+                    <span translate="APP.ERRORS.APIKEY_REQUIRED"
                       >ApiKey field is required</span
                     >
                   </div>
@@ -447,14 +447,14 @@
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="SMS.ERRORS.SENDERSTRING_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.SENDERSTRING_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\s]*$/i' }"
                       >SenderString must be valid pattern
                     </span>
                   </div>
                   <div ng-message="md-maxlength">
                     <span
-                      translate="SMS.ERRORS.SENDERSTRING_MAX_LENGTH"
+                      translate="APP.ERRORS.SENDERSTRING_MAX_LENGTH"
                       translate-values="{max: 11}"
                       >SenderString must have a maximum length equal to 11</span
                     >
@@ -469,13 +469,11 @@
                   ng-model="vm.smsAccount.deliveryReport"
                   aria-label="deliveryReport"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="SMS.DELIVERYREPORT"
-                    >deliveryReport</span
-                  ></md-switch
-                >
+                  ><span translate="SMS.DELIVERYREPORT">deliveryReport</span>
+                </md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.WAITFORTHEASSIGNEDAGENT"
+                <label translate="APP.WAITFORTHEASSIGNEDAGENT"
                   >WaitForTheAssignedAgent</label
                 >
                 <input
@@ -495,13 +493,13 @@
                   <div ng-message="required">
                     <span
-                      translate="SMS.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
                       >WaitForTheAssignedAgent field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="SMS.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -509,7 +507,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="SMS.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -518,7 +516,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -539,7 +537,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.RECEIVEURL">receiveUrl</label>
+                <label translate="APP.RECEIVEURL">receiveUrl</label>
                 <div layout="row" layout-align="center center">
                   <button
                     class="md-button md-fab md-mini md-primary"
@@ -567,7 +565,7 @@
                 ng-if="( (vm.smsAccount.type == 'skebby' && vm.smsAccount.smsMethod == 'GP') || vm.smsAccount.type == 'connectel' || vm.smsAccount.type == 'clicksend' || vm.smsAccount.type == 'csc' || vm.smsAccount.type == 'clickatell') && vm.smsAccount.deliveryReport"
                 class="md-block"
-                <label translate="SMS.DELIVERYREPORTURL"
+                <label translate="APP.DELIVERYREPORTURL"
                   >deliveryReportUrl</label
                 <div layout="row" layout-align="center center">
@@ -599,7 +597,7 @@
             class="smsAccount-detail-form-container notification md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="SMS.NOTIFICATION">
+              <div class="h2 secondary-text" translate="APP.NOTIFICATION">
                 NOTIFICATION
               </div>
             </div>
@@ -609,7 +607,7 @@
                   ng-model="vm.smsAccount.notificationSound"
                   aria-label="notificationSound"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="SMS.NOTIFICATIONSOUND"
+                  ><span translate="APP.NOTIFICATIONSOUND"
                     >notificationSound</span
                   ></md-switch
@@ -619,7 +617,7 @@
                   ng-model="vm.smsAccount.notificationShake"
                   aria-label="notificationShake"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="SMS.NOTIFICATIONSHAKE"
+                  ><span translate="APP.NOTIFICATIONSHAKE"
                     >notificationShake</span
                   ></md-switch
@@ -627,7 +625,7 @@
               <div class="md-block">
                 <label
                   class="md-caption grey-fg"
-                  translate="SMS.NOTIFICATIONTEMPLATE"
+                  translate="APP.NOTIFICATIONTEMPLATE"
                   >notificationTemplate</label
                 >
                 <textarea
@@ -642,7 +640,7 @@
             class="smsAccount-detail-form-container transfer md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="SMS.TRANSFER">
+              <div class="h2 secondary-text" translate="APP.TRANSFER">
                 TRANSFER
               </div>
             </div>
@@ -652,16 +650,14 @@
                   ng-model="vm.smsAccount.queueTransfer"
                   aria-label="queueTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="SMS.QUEUETRANSFER"
-                    >queueTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.QUEUETRANSFER">queueTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.smsAccount.queueTransfer == true"
                 class="md-block"
-                <label translate="SMS.QUEUETRANSFERTIMEOUT"
+                <label translate="APP.QUEUETRANSFERTIMEOUT"
                   >queueTransferTimeout</label
                 >
                 <input
@@ -680,13 +676,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
                       >queueTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="SMS.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -694,7 +690,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="SMS.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -707,16 +703,14 @@
                   ng-model="vm.smsAccount.agentTransfer"
                   aria-label="agentTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="SMS.AGENTTRANSFER"
-                    >agentTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AGENTTRANSFER">agentTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.smsAccount.agentTransfer == true"
                 class="md-block"
-                <label translate="SMS.AGENTTRANSFERTIMEOUT"
+                <label translate="APP.AGENTTRANSFERTIMEOUT"
                   >agentTransferTimeout</label
                 >
                 <input
@@ -735,13 +729,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
                       >agentTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="SMS.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -749,7 +743,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="SMS.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -763,18 +757,18 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="smsAccount-detail-form-container proxy md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="SMS.PROXY">PROXY</div>
+              <div class="h2 secondary-text" translate="APP.PROXY">PROXY</div>
             </div>
             <form name="proxyForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="SMS.TOKEN">token</label>
+                <label translate="APP.TOKEN">token</label>
                 <input
                   type="text"
                   name="token"
@@ -789,14 +783,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.TOKEN_REQUIRED"
+                    <span translate="APP.ERRORS.TOKEN_REQUIRED"
                       >token field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.MOTIONPROXY">MotionProxy</label>
+                <label translate="APP.MOTIONPROXY">MotionProxy</label>
                 <input
                   type="url"
                   name="remote"
@@ -807,7 +801,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="SMS.HELP.MOTIONPROXY"></span>
+                  <span translate="APP.HELP.MOTIONPROXY"></span>
                 </div>
                 <div
                   ng-messages="proxyForm['remote'].$error"
@@ -815,12 +809,12 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.MOTIONPROXY_REQUIRED"
+                    <span translate="APP.ERRORS.MOTIONPROXY_REQUIRED"
                       >MotionProxy field is required</span
                     >
                   </div>
                   <div ng-message="url">
-                    <span translate="SMS.ERRORS.MOTIONPROXY_MUST_VALID_URL"
+                    <span translate="APP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
                       >MotionProxy must be a valid url
                       http://www.xcally.com</span
@@ -840,7 +834,7 @@
             class="smsAccount-detail-form-container disposition md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="SMS.DISPOSITION">
+              <div class="h2 secondary-text" translate="APP.DISPOSITION">
                 DISPOSITION
               </div>
             </div>
@@ -850,7 +844,7 @@
                   ng-model="vm.smsAccount.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="SMS.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -859,7 +853,7 @@
                 ng-if="vm.smsAccount.mandatoryDisposition"
                 class="md-block"
-                <label translate="SMS.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -872,11 +866,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="SMS.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
@@ -885,7 +879,7 @@
                   <div ng-message="required">
                     <span
-                      translate="SMS.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -897,7 +891,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.DISPOSITIONS">DISPOSITIONS</span>
+          <span translate="APP.DISPOSITIONS">DISPOSITIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -934,7 +928,7 @@
                         ng-change="vm_dc.getDispositions()"
                         <md-option ng-value="null"
-                          ><em translate="TOOLS.ALL">All</em></md-option
+                          ><em translate="APP.ALL">All</em></md-option
                         <md-option
                           ng-value="key"
@@ -955,7 +949,7 @@
                   ng-hide="vm_dc.selectedSmsAccountDispositions.length"
                   <div class="md-toolbar-tools">
-                    <span class="md-subhead" translate="SMS.DISPOSITIONS"
+                    <span class="md-subhead" translate="APP.DISPOSITIONS"
                       >Dispositions</span
                     <ms-search-bar
@@ -1002,7 +996,7 @@
                       ng-click="vm_dc.deleteSelectedDispositions($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="SMS.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -1023,16 +1017,16 @@
                       <tr md-row>
                         <th md-column md-order-by="id">
-                          {{ 'SMS.ID' | translate }}
+                          {{ 'APP.ID' | translate }}
                         </th>
                         <th md-column md-order-by="level">
                           {{ 'TOOLS.LEVEL' | translate }}
                         </th>
                         <th md-column md-order-by="name">
-                          {{ 'SMS.NAME' | translate }}
+                          {{ 'APP.NAME' | translate }}
                         </th>
                         <th md-column md-order-by="description">
-                          {{ 'SMS.DESCRIPTION' | translate }}
+                          {{ 'APP.DESCRIPTION' | translate }}
                         </th>
                         <th md-column width="10px"></th>
                       </tr>
@@ -1041,7 +1035,7 @@
                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
                         <td md-cell colspan="5">
                           <div layout="row" layout-align="center center">
-                            <span translate="SMS.NO_AVAILABLE_INFO"
+                            <span translate="APP.NO_AVAILABLE_INFO"
                               >No Available Info</span
                           </div>
@@ -1091,7 +1085,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="SMS.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1147,7 +1141,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.CANNEDANSWERS">CANNEDANSWERS</span>
+          <span translate="APP.CANNEDANSWERS">CANNEDANSWERS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1209,7 +1203,7 @@
                     ng-click="vm_dc.deleteSelectedSmsAccountSmsCannedAnswers($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="SMS.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1230,19 +1224,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'SMS.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="key">
-                        {{ 'SMS.KEY' | translate }}
+                        {{ 'APP.KEY' | translate }}
                       </th>
                       <th md-column md-order-by="value">
-                        {{ 'SMS.VALUE' | translate }}
+                        {{ 'APP.VALUE' | translate }}
                       </th>
                       <th md-column md-order-by="description">
-                        {{ 'SMS.DESCRIPTION' | translate }}
+                        {{ 'APP.DESCRIPTION' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'SMS.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1294,7 +1288,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="SMS.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1357,7 +1351,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1441,7 +1435,7 @@
                       ng-click="vm_ac.deleteSelectedSmsAccountApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="SMS.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -1460,7 +1454,7 @@
                       <tr md-row>
                         <th md-column width="10px"></th>
                         <th md-column width="10px">
-                          <span translate="VOICE.PRIORITY">Priority</span>
+                          <span translate="APP.PRIORITY">Priority</span>
                         </th>
                         <th md-column>
                           <span>Type</span>
@@ -1541,7 +1535,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1555,7 +1549,7 @@
                                 <md-button
                                   ng-click="vm_ac.editSmsAccountApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -1565,7 +1559,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -1575,7 +1569,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -1588,7 +1582,7 @@
                         <td md-cell colspan="7">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
@@ -1609,7 +1603,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.INTERACTIONS">INTERACTIONS</span>
+          <span translate="APP.INTERACTIONS">INTERACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1624,7 +1618,7 @@
                 ng-hide="vm_dc.selectedSmsAccountInteractions.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="SMS.INTERACTIONS"
+                  <span class="md-subhead" translate="APP.INTERACTIONS"
                     >Interactions</span
                   <ms-search-bar
@@ -1645,7 +1639,7 @@
                       ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
                       aria-label="Filter"
                       translate
-                      translate-attr-aria-label="DASHBOARDS.FILTER"
+                      translate-attr-aria-label="APP.FILTER"
                       ng-click="vm_dc.openAdvancedSearch()"
                       <md-icon
@@ -1659,7 +1653,7 @@
                     ng-click="vm_dc.getSmsAccountInteractions()"
                     aria-label="refresh Interactions"
                     translate
-                    translate-attr-label="SMS.REFRESH_INTERACTIONS"
+                    translate-attr-label="APP.REFRESH_INTERACTIONS"
                     <md-icon md-font-icon="icon-refresh"></md-icon>
                   </md-button>
@@ -1690,7 +1684,7 @@
                     ng-click="vm_dc.deleteSelectedSmsAccountInteractions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="SMS.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1711,26 +1705,26 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'SMS.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column class="no-padding">
                         <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
                       </th>
                       <th md-column class="no-padding"></th>
                       <th md-column class="no-padding"></th>
-                      <th md-column>{{ 'SMS.CONTACT' | translate }}</th>
+                      <th md-column>{{ 'APP.CONTACT' | translate }}</th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'SMS.STARTEDAT' | translate }}
+                        {{ 'APP.STARTEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="lastMsgAt">
-                        {{ 'SMS.LASTMESSAGE' | translate }}
+                        {{ 'APP.LASTMESSAGE' | translate }}
                       </th>
                       <th md-column md-order-by="closed">
-                        {{ 'SMS.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
-                      <th md-column>{{ 'SMS.AGENT' | translate }}</th>
+                      <th md-column>{{ 'APP.AGENT' | translate }}</th>
                       <th md-column md-order-by="tag">
-                        {{ 'SMS.TAGS' | translate }}
+                        {{ 'APP.TAGS' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1803,7 +1797,8 @@
                           <span>
                             <md-icon
                               md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
-                            ></md-icon>
+                            >
+                            </md-icon>
                           </span>
                           <div layout="column" layout-align="center center">
                             <span class="text-truncate"
@@ -1814,13 +1809,13 @@
                       </td>
                       <td md-cell>
                         <span ng-if="interaction.closed === 0" class="green-fg">
-                          {{ 'SMS.OPENED' | translate }}
+                          {{ 'APP.OPENED' | translate }}
                           <span ng-if="interaction.substatus">
                             - {{ interaction.substatus }}
                           </span>
                         </span>
                         <span ng-if="interaction.closed === 1" class="red-fg">
-                          {{ 'SMS.CLOSED' | translate }}
+                          {{ 'APP.CLOSED' | translate }}
                           <span ng-if="interaction.disposition">
                             - {{ interaction.thirdDisposition ||
                             interaction.secondDisposition ||
@@ -1899,7 +1894,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="SMS.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1911,7 +1906,7 @@
                             <md-menu-item>
                               <md-button
                                 ng-click="vm_dc.spysmsInteraction($event, interaction)"
-                                translate="SMS.SPYINTERACTION"
+                                translate="APP.SPYINTERACTION"
                                 Spy Interaction
                               </md-button>
@@ -1920,7 +1915,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.smsInteractionDownload(interaction, $event)"
-                                translate="SMS.DOWNLOAD_INTERACTION"
+                                translate="APP.DOWNLOAD_INTERACTION"
                                 Download
                               </md-button>
@@ -1930,7 +1925,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(interaction, $event)"
-                                translate="SMS.DELETE_INTERACTION"
+                                translate="APP.DELETE_INTERACTION"
                                 Delete Interaction
                               </md-button>
@@ -1947,7 +1942,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="SMS.NO_INTERACTION_AVAILABLE"
+                            translate="APP.NO_INTERACTION_AVAILABLE"
                             >No interaction available</span
                           >
                         </div>
diff --git a/public/src/js/modules/main/apps/sms/views/smsAccounts/smsAccounts.html/smsAccounts.html b/public/src/js/modules/main/apps/sms/views/smsAccounts/smsAccounts.html/smsAccounts.html
index 720ee5b..a16bc44 100644
--- a/public/src/js/modules/main/apps/sms/views/smsAccounts/smsAccounts.html/smsAccounts.html
+++ b/public/src/js/modules/main/apps/sms/views/smsAccounts/smsAccounts.html/smsAccounts.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="SMS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedSmsAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="SMS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-smsAccounts-count">
           <span>{{vm.selectedSmsAccounts.length}}</span>
-          <span translate="SMS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllSmsAccounts()"
-                translate="SMS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectSmsAccounts()"
-                translate="SMS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedSmsAccounts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="SMS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,22 +147,22 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'SMS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'SMS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
-                <th md-column md-order-by="key">{{ 'SMS.KEY' | translate }}</th>
+                <th md-column md-order-by="key">{{ 'APP.KEY' | translate }}</th>
                 <th md-column md-order-by="ListId">
-                  {{ 'SMS.LIST' | translate }}
+                  {{ 'APP.LIST' | translate }}
                 </th>
                 <th md-column md-order-by="type">
-                  {{ 'SMS.TYPE' | translate }}
+                  {{ 'APP.TYPE' | translate }}
                 </th>
                 <th md-column md-order-by="phone">
-                  {{ 'SMS.PHONE' | translate }}
+                  {{ 'APP.PHONE' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'SMS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -171,7 +171,7 @@
               <tr md-row ng-hide="vm.smsAccounts.rows.length">
                 <td md-cell colspan="8">
                   <div layout="row" layout-align="center center">
-                    <span translate="SMS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -257,7 +257,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="SMS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/sms/views/smsQueues/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/sms/views/smsQueues/create/dialog.html/dialog.html
index 29d5a43..fbb14cd 100644
--- a/public/src/js/modules/main/apps/sms/views/smsQueues/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/sms/views/smsQueues/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="SMS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newSmsQueue"
         />
 
-        <div class="hint"><span translate="SMS.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="smsQueueForm['name'].$error"
           ng-show="smsQueueForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="SMS.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.STRATEGY">Strategy</label>
+        <label translate="APP.STRATEGY">Strategy</label>
         <md-select name="strategy" ng-model="vm.smsQueue.strategy" required>
           <md-option ng-value="'beepall'">Beepall</md-option>
           <md-option ng-value="'rrmemory'">RR Memory</md-option>
@@ -88,7 +88,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.AGENT_TIMEOUT">Agent_Timeout</label>
+        <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -104,20 +104,20 @@
           role="alert"
           <div ng-message="required">
-            <span translate="SMS.ERRORS.AGENT_TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
               >Agent_Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="SMS.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
           </div>
           <div ng-message="max">
             <span
-              translate="SMS.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -125,7 +125,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="SMS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -180,8 +180,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="smsQueueForm.$invalid || smsQueueForm.$pristine"
           aria-label="SAVE"
-          translate="SMS.SAVE"
-          translate-attr-aria-label="SMS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -206,10 +206,10 @@
           ng-click="vm.deleteSmsQueue($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="SMS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="SMS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/sms/views/smsQueues/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/sms/views/smsQueues/edit/agentadd/agentadd.html/agentadd.html
index 5c3e014..8b1a3cf 100644
--- a/public/src/js/modules/main/apps/sms/views/smsQueues/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/sms/views/smsQueues/edit/agentadd/agentadd.html/agentadd.html
@@ -30,8 +30,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsQueues/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/sms/views/smsQueues/edit/teamadd/teamadd.html/teamadd.html
index 7de8316..09b490b 100644
--- a/public/src/js/modules/main/apps/sms/views/smsQueues/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/sms/views/smsQueues/edit/teamadd/teamadd.html/teamadd.html
@@ -2,7 +2,7 @@
   <form name="smsQueueForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="SMS.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -30,8 +30,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/sms/views/smsQueues/edit/view.html/view.html b/public/src/js/modules/main/apps/sms/views/smsQueues/edit/view.html/view.html
index 686d31c..80a9599 100644
--- a/public/src/js/modules/main/apps/sms/views/smsQueues/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/sms/views/smsQueues/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.smsQueue.name">{{vm.smsQueue.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="SMS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.smsQueue.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -58,8 +58,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid)"
-        translate="SMS.SAVE"
-        translate-attr-aria-label="SMS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -78,20 +78,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="SMS.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="smsQueue-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="SMS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="SMS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -102,20 +102,20 @@
                   disabled
                 />
 
-                <div class="hint"><span translate="SMS.HELP.NAME"></span></div>
+                <div class="hint"><span translate="APP.HELP.NAME"></span></div>
                 <div
                   ng-messages="generalForm['name'].$error"
                   ng-show="generalForm['name'].$touched"
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="SMS.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -123,7 +123,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.smsQueue.strategy"
@@ -146,7 +146,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.AGENT_TIMEOUT">Agent_Timeout</label>
+                <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -163,20 +163,20 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="SMS.ERRORS.AGENT_TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
                       >Agent_Timeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="SMS.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>1</span>
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="SMS.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>2147483</span>
@@ -184,7 +184,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="SMS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/sms/views/smsQueues/smsQueues.html/smsQueues.html b/public/src/js/modules/main/apps/sms/views/smsQueues/smsQueues.html/smsQueues.html
index cfa6b0d..82f1ba1 100644
--- a/public/src/js/modules/main/apps/sms/views/smsQueues/smsQueues.html/smsQueues.html
+++ b/public/src/js/modules/main/apps/sms/views/smsQueues/smsQueues.html/smsQueues.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="SMS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedSmsQueues =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="SMS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-smsQueues-count">
           <span>{{vm.selectedSmsQueues.length}}</span>
-          <span translate="SMS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllSmsQueues()"
-                translate="SMS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectSmsQueues()"
-                translate="SMS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedSmsQueues($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="SMS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'SMS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'SMS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'SMS.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.smsQueues.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="SMS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -218,7 +218,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="SMS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/staff/views/agents/agents.html/agents.html b/public/src/js/modules/main/apps/staff/views/agents/agents.html/agents.html
index 9a44766..2faf886 100644
--- a/public/src/js/modules/main/apps/staff/views/agents/agents.html/agents.html
+++ b/public/src/js/modules/main/apps/staff/views/agents/agents.html/agents.html
@@ -1,44 +1,26 @@
-<div
-  id="agents"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="agents" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
         <span class="logo-icon">
           <md-icon md-font-icon="icon-account-multiple" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="STAFF.AGENTS">Agents</span>
+        <span class="logo-text" translate="APP.AGENTS">Agents</span>
       </div>
     </div>
     <!-- / APP TITLE -->
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="STAFF.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -47,16 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedAgents.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
+  <div ng-show="vm.selectedAgents.length > 0" class="selected-bar header animate-slide-down md-accent-bg" layout="row"
+    layout-align="start center">
     <div class="close-button-wrapper" ng-click="vm.selectedAgents =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="STAFF.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,33 +42,22 @@
       <div>
         <span class="selected-agents-count">
           <span>{{vm.selectedAgents.length}}</span>
-          <span translate="STAFF.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllAgents()"
-                translate="STAFF.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllAgents()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectAgents()"
-                translate="STAFF.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectAgents()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -99,22 +66,12 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedAgents"
-          csv-label="true"
-          filename="agents.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedAgents" csv-label="true" filename="agents.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete"
-          ng-click="vm.deleteSelectedAgents($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="STAFF.DELETE_SELECTED"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete"
+          ng-click="vm.deleteSelectedAgents($event)" aria-label="delete selected" translate
+          translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -129,47 +86,33 @@
       <!-- AGENT TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedAgents"
-            md-progress="vm.promise"
-          >
-            <thead
-              md-head
-              md-order="vm.query.sort"
-              md-on-reorder="vm.getAgents"
-            >
+          <table md-table md-row-select multiple ng-model="vm.selectedAgents" md-progress="vm.promise">
+            <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getAgents">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
                 <th md-column md-order-by="fullname">
-                  {{ 'STAFF.FULLNAME' | translate }}
+                  {{ 'APP.FULLNAME' | translate }}
                 </th>
                 <th md-column md-order-by="name">
-                  {{ 'STAFF.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="showWebBar">
                   {{ 'STAFF.SHOWWEBCONTROL' | translate }}
                 </th>
                 <th md-column md-order-by="email">
-                  {{ 'STAFF.EMAIL' | translate }}
+                  {{ 'APP.EMAIL' | translate }}
                 </th>
                 <th md-column md-order-by="phone">
-                  {{ 'STAFF.PHONE' | translate }}
+                  {{ 'APP.PHONE' | translate }}
                 </th>
                 <th md-column md-order-by="mobile">
-                  {{ 'STAFF.MOBILE' | translate }}
+                  {{ 'APP.MOBILE' | translate }}
                 </th>
                 <th md-column md-order-by="internal">
-                  {{ 'STAFF.INTERNAL' | translate }}
+                  {{ 'APP.INTERNAL' | translate }}
                 </th>
                 <th md-column md-order-by="disabled">
-                  {{ 'STAFF.DISABLED' | translate }}
+                  {{ 'APP.DISABLED' | translate }}
                 </th>
                 <th md-column md-order-by="blocked">
                   {{ 'STAFF.BLOCKED' | translate }}
@@ -181,114 +124,69 @@
               <tr md-row ng-hide="vm.agents.rows.length">
                 <td md-cell colspan="10">
                   <div layout="row" layout-align="center center">
-                    <span translate="STAFF.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="agent"
-                md-select-id="id"
-                ng-repeat="agent in vm.agents.rows"
-              >
+              <tr md-row md-select="agent" md-select-id="id" ng-repeat="agent in vm.agents.rows">
                 <td md-cell ng-if="agent.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{agent.name}}"
-                    ng-src="api/users/{{agent.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{agent.name}}" ng-src="api/users/{{agent.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!agent.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{agent.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!agent.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{agent.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="fullname font-weight-600"
-                >
+                  md-cell class="fullname font-weight-600">
                   {{agent.fullname}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="name"
-                >
+                  md-cell class="name">
                   {{agent.name}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="showWebBar"
-                >
+                  md-cell class="showWebBar">
                   {{ vm.arrayshowWebBar[agent.showWebBar].option }}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="email"
-                >
+                  md-cell class="email">
                   {{agent.email}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="phone"
-                >
+                  md-cell class="phone">
                   {{agent.phone}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="mobile"
-                >
+                  md-cell class="mobile">
                   {{agent.mobile}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="internal"
-                >
+                  md-cell class="internal">
                   {{agent.internal}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="disabled"
-                >
-                  <md-icon
-                    md-colors="{color: {{agent.disabled ? '\'green\'' : '\'grey\''}}}"
-                    md-font-icon="{{agent.disabled ? 'icon-check' : 'icon-close'}}"
-                  ></md-icon>
+                  md-cell class="disabled">
+                  <md-icon md-colors="{color: {{agent.disabled ? '\'green\'' : '\'grey\''}}}"
+                    md-font-icon="{{agent.disabled ? 'icon-check' : 'icon-close'}}"></md-icon>
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(agent, ev) : vm.createOrEditAgent($event, agent)"
-                  md-cell
-                  class="blocked"
-                >
-                  <md-icon
-                    md-colors="{color: {{agent.blocked ? '\'green\'' : '\'grey\''}}}"
-                    md-font-icon="{{agent.blocked ? 'icon-check' : 'icon-close'}}"
-                  ></md-icon>
+                  md-cell class="blocked">
+                  <md-icon md-colors="{color: {{agent.blocked ? '\'green\'' : '\'grey\''}}}"
+                    md-font-icon="{{agent.blocked ? 'icon-check' : 'icon-close'}}"></md-icon>
                 </td>
 
                 <td md-cell class="actions">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="STAFF.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -298,10 +196,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editstate(agent, $event    )"
-                          translate="STAFF.EDIT_AGENT"
-                        >
+                        <md-button ng-click="vm.editstate(agent, $event    )" translate="APP.EDIT_AGENT">
                           Edit Agent
                         </md-button>
                       </md-menu-item>
@@ -311,10 +206,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item>
-                        <md-button
-                          ng-click="vm.teamadddialog(agent, $event    )"
-                          translate="STAFF.TEAMADD_AGENT"
-                        >
+                        <md-button ng-click="vm.teamadddialog(agent, $event    )" translate="STAFF.TEAMADD_AGENT">
                           teamadd Agent
                         </md-button>
                       </md-menu-item>
@@ -324,10 +216,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
-                        <md-button
-                          ng-click="vm.deleteconfirm(agent, $event    )"
-                          translate="STAFF.DELETE_AGENT"
-                        >
+                        <md-button ng-click="vm.deleteconfirm(agent, $event    )" translate="STAFF.DELETE_AGENT">
                           Delete Agent
                         </md-button>
                       </md-menu-item>
@@ -340,14 +229,9 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'STAFF.PAGE' | translate}}:', rowsPerPage: '{{'STAFF.ROWSPERPAGE' | translate}}:', of: '{{'STAFF.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.agents.count}}"
-          md-on-paginate="vm.getAgents"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.agents.count}}" md-on-paginate="vm.getAgents" md-page-select></md-table-pagination>
       </md-card>
       <!-- / AGENT TABLE -->
       <!-- NO RESULTS -->
@@ -359,16 +243,10 @@
   <!-- / CONTENT -->
 
   <!-- ADD AGENT BUTTON -->
-  <md-button
-    ng-if="vm.crudPermissions.canEdit"
-    class="md-fab md-accent add-item-button"
-    id="add-agent-button"
-    ng-click="vm.createOrEditAgent($event)"
-    aria-label="add agent"
-    translate
-    translate-attr-aria-label="STAFF.ADD_AGENT"
-  >
+  <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-agent-button"
+    ng-click="vm.createOrEditAgent($event)" aria-label="add agent" translate
+    translate-attr-aria-label="STAFF.ADD_AGENT">
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
   <!-- / ADD AGENT BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/agents/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/staff/views/agents/create/dialog.html/dialog.html
index 8d0ddd8..2d64258 100644
--- a/public/src/js/modules/main/apps/staff/views/agents/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/staff/views/agents/create/dialog.html/dialog.html
@@ -1,108 +1,60 @@
 <md-dialog class="agent-dialog" aria-label="New Agent">
   <form name="agentForm" class="md-inline-form" novalidate>
     <md-toolbar class="md-accent md-hue-2">
-      <div
-        class="md-toolbar-tools"
-        layout="row"
-        layout-align="space-between center"
-      >
+      <div class="md-toolbar-tools" layout="row" layout-align="space-between center">
         <span class="title">{{ vm.title | translate }}</span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
-          <md-icon
-            md-font-icon="icon-close"
-            aria-label="Close dialog"
-          ></md-icon>
+          <md-icon md-font-icon="icon-close" aria-label="Close dialog"></md-icon>
         </md-button>
       </div>
     </md-toolbar>
 
     <md-dialog-content ms-scroll>
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="STAFF.FULLNAME">Fullname</label>
-        <input
-          type="text"
-          name="fullname"
-          ng-model="vm.agent.fullname"
-          ng-required="true"
-          autofocus
-        />
+        <label translate="APP.FULLNAME">Fullname</label>
+        <input type="text" name="fullname" ng-model="vm.agent.fullname" ng-required="true" autofocus />
 
-        <div
-          ng-messages="agentForm['fullname'].$error"
-          ng-show="agentForm['fullname'].$touched"
-          role="alert"
-        >
+        <div ng-messages="agentForm['fullname'].$error" ng-show="agentForm['fullname'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.FULLNAME_REQUIRED"
-              >Fullname field is required</span
-            >
+            <span translate="APP.ERRORS.FULLNAME_REQUIRED">Fullname field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.USERNAME">Username</label>
-        <input
-          type="text"
-          name="name"
-          ng-model="vm.agent.name"
-          ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
-          ng-required="true"
-          ng-disabled="!vm.newAgent"
-        />
+        <label translate="APP.USERNAME">Username</label>
+        <input type="text" name="name" ng-model="vm.agent.name" ng-pattern="/^[A-Za-z0-9\.\_]+$/i" ng-required="true"
+          ng-disabled="!vm.newAgent" />
 
-        <div class="hint"><span translate="STAFF.HELP.USERNAME"></span></div>
-        <div
-          ng-messages="agentForm['name'].$error"
-          ng-show="agentForm['name'].$touched"
-          role="alert"
-        >
+        <div class="hint"><span translate="APP.HELP.USERNAME"></span></div>
+        <div ng-messages="agentForm['name'].$error" ng-show="agentForm['name'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.USERNAME_REQUIRED"
-              >Username field is required</span
-            >
+            <span translate="APP.ERRORS.USERNAME_REQUIRED">Username field is required</span>
           </div>
           <div ng-message="pattern">
-            <span
-              translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
-              translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
-              >Username must be valid pattern
+            <span translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
+              translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }">Username must be valid pattern
             </span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.ALIAS">Alias</label>
+        <label translate="APP.ALIAS">Alias</label>
         <input type="text" name="alias" ng-model="vm.agent.alias" />
 
-        <div
-          ng-messages="agentForm['alias'].$error"
-          ng-show="agentForm['alias'].$touched"
-          role="alert"
-        >
+        <div ng-messages="agentForm['alias'].$error" ng-show="agentForm['alias'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.ALIAS_REQUIRED"
-              >Alias field is required</span
-            >
+            <span translate="APP.ERRORS.ALIAS_REQUIRED">Alias field is required</span>
           </div>
         </div>
       </md-input-container>
@@ -113,254 +65,138 @@
           <md-option ng-value="1">External</md-option>
           <md-option ng-value="2">WebRTC</md-option>
         </md-select>
-        <div
-          ng-messages="agentForm['showWebBar'].$error"
-          ng-show="agentForm['showWebBar'].$touched"
-          role="alert"
-        >
+        <div ng-messages="agentForm['showWebBar'].$error" ng-show="agentForm['showWebBar'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.SHOWWEBCONTROL_REQUIRED"
-              >ShowWebControl field is required</span
-            >
+            <span translate="STAFF.ERRORS.SHOWWEBCONTROL_REQUIRED">ShowWebControl field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.EMAIL">Email</label>
-        <input
-          type="email"
-          name="email"
-          ng-model="vm.agent.email"
-          ng-required="true"
-        />
+        <label translate="APP.EMAIL">Email</label>
+        <input type="email" name="email" ng-model="vm.agent.email" ng-required="true" />
 
-        <div
-          ng-messages="agentForm['email'].$error"
-          ng-show="agentForm['email'].$touched"
-          role="alert"
-        >
+        <div ng-messages="agentForm['email'].$error" ng-show="agentForm['email'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.EMAIL_REQUIRED"
-              >Email field is required</span
-            >
+            <span translate="APP.ERRORS.EMAIL_REQUIRED">Email field is required</span>
           </div>
           <div ng-message="email">
-            <span translate="STAFF.ERRORS.EMAIL_MUST_VALID"
-              >Email must be a valid e-mail address</span
-            >
+            <span translate="APP.ERRORS.EMAIL_MUST_VALID">Email must be a valid e-mail address</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block" ng-if="vm.newAgent">
-        <label translate="STAFF.PASSWORD">Password</label>
-        <input
-          type="password"
-          name="password"
-          ng-model="vm.agent.password"
-          placeholder="Password"
-          ng-pattern="vm.passwordPattern"
-          translate
-          translate-attr-placeholder="STAFF.PASSWORD"
-          required
-        />
+        <label translate="APP.PASSWORD">Password</label>
+        <input type="password" name="password" ng-model="vm.agent.password" placeholder="Password"
+          ng-pattern="vm.passwordPattern" translate translate-attr-placeholder="APP.PASSWORD" required />
         <div ng-messages="agentForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
-              >Password field is required</span
-            >
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED">Password field is required</span>
           </div>
           <div ng-message="pattern">
-            <span translate="STAFF.ERRORS.SECURE_PASSWORD_PATTERN"
-              >Must contain at least 8 characters, with a minimum of 1 lowercase
+            <span translate="STAFF.ERRORS.SECURE_PASSWORD_PATTERN">Must contain at least 8 characters, with a minimum of
+              1 lowercase
               letter, 1 uppercase letter, 1 numeric character and 1 special
-              character ~!?*@#$%^&-_=+[{]}.</span
-            >
+              character ~!?*@#$%^&-_=+[{]}.</span>
           </div>
         </div>
       </md-input-container>
 
-      <md-input-container
-        class="md-block"
-        ng-if="vm.newAgent  && (vm.newAgent)"
-      >
-        <label translate="STAFF.CONFIRM_PASSWORD">Confirm Password</label>
-        <input
-          type="password"
-          match-password="password"
-          name="confirmPassword"
-          ng-model="confirmPassword"
-          required
-        />
-        <div
-          ng-messages="agentForm.confirmPassword.$error"
-          role="alert"
-          multiple
-        >
+      <md-input-container class="md-block" ng-if="vm.newAgent  && (vm.newAgent)">
+        <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
+        <input type="password" match-password="password" name="confirmPassword" ng-model="confirmPassword" required />
+        <div ng-messages="agentForm.confirmPassword.$error" role="alert" multiple>
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.CONFIRM_REQUIRED"
-              >Confirm field is required</span
-            >
+            <span translate="STAFF.ERRORS.CONFIRM_REQUIRED">Confirm field is required</span>
           </div>
           <div ng-message="passwordMatch">
-            <span translate="STAFF.ERRORS.CONFIRM_NOT_MATCH"
-              >Your password did not match</span
-            >
+            <span translate="STAFF.ERRORS.CONFIRM_NOT_MATCH">Your password did not match</span>
           </div>
         </div>
       </md-input-container>
 
       <md-input-container ng-if="vm.newAgent" class="md-block">
-        <md-switch ng-model="vm.agent.autointernal" aria-label="AutoInternal"
-          ><span translate="STAFF.AUTOINTERNAL">AutoInternal</span></md-switch
-        >
+        <md-switch ng-model="vm.agent.autointernal" aria-label="AutoInternal"><span
+            translate="STAFF.AUTOINTERNAL">AutoInternal</span></md-switch>
       </md-input-container>
       <md-input-container ng-if="!vm.agent.autointernal" class="md-block">
-        <label translate="STAFF.INTERNAL">Internal</label>
-        <input
-          type="text"
-          name="internal"
-          ng-model="vm.agent.internal"
-          ng-required="true"
-          ng-disabled="!vm.newAgent"
-        />
+        <label translate="APP.INTERNAL">Internal</label>
+        <input type="text" name="internal" ng-model="vm.agent.internal" ng-required="true" ng-disabled="!vm.newAgent" />
 
-        <div
-          ng-messages="agentForm['internal'].$error"
-          ng-show="agentForm['internal'].$touched"
-          role="alert"
-        >
+        <div ng-messages="agentForm['internal'].$error" ng-show="agentForm['internal'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.INTERNAL_REQUIRED"
-              >Internal field is required</span
-            >
+            <span translate="STAFF.ERRORS.INTERNAL_REQUIRED">Internal field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.agent.description" />
 
-        <div
-          ng-messages="agentForm['description'].$error"
-          ng-show="agentForm['description'].$touched"
-          role="alert"
-        >
+        <div ng-messages="agentForm['description'].$error" ng-show="agentForm['description'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED"
-              >Description field is required</span
-            >
+            <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.newAgent" class="md-block">
-        <md-switch ng-model="vm.agent.voicemail" aria-label="Voicemail"
-          ><span translate="STAFF.VOICEMAIL">Voicemail</span></md-switch
-        >
+        <md-switch ng-model="vm.agent.voicemail" aria-label="Voicemail"><span translate="APP.VOICEMAIL">Voicemail</span>
+        </md-switch>
       </md-input-container>
       <md-input-container ng-if="vm.agent.showWebBar == 0" class="md-block">
-        <md-switch
-          ng-model="vm.agent.phoneBarRemoteControl"
-          aria-label="RemoteControl"
-          ><span translate="STAFF.REMOTECONTROL">RemoteControl</span></md-switch
-        >
+        <md-switch ng-model="vm.agent.phoneBarRemoteControl" aria-label="RemoteControl"><span
+            translate="STAFF.REMOTECONTROL">RemoteControl</span></md-switch>
       </md-input-container>
-      <md-input-container
-        ng-if="vm.agent.phoneBarRemoteControl && vm.agent.showWebBar == 0"
-        class="md-block"
-      >
+      <md-input-container ng-if="vm.agent.phoneBarRemoteControl && vm.agent.showWebBar == 0" class="md-block">
         <label translate="STAFF.REMOTECONTROLPORT">RemoteControlPort</label>
-        <input
-          type="number"
-          name="phoneBarRemoteControlPort"
-          ng-model="vm.agent.phoneBarRemoteControlPort"
-          ng-required="true"
-        />
+        <input type="number" name="phoneBarRemoteControlPort" ng-model="vm.agent.phoneBarRemoteControlPort"
+          ng-required="true" />
 
-        <div
-          ng-messages="agentForm['phoneBarRemoteControlPort'].$error"
-          ng-show="agentForm['phoneBarRemoteControlPort'].$touched"
-          role="alert"
-        >
+        <div ng-messages="agentForm['phoneBarRemoteControlPort'].$error"
+          ng-show="agentForm['phoneBarRemoteControlPort'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.REMOTECONTROLPORT_REQUIRED"
-              >RemoteControlPort field is required</span
-            >
+            <span translate="STAFF.ERRORS.REMOTECONTROLPORT_REQUIRED">RemoteControlPort field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.newUser" class="md-block">
-        <md-switch ng-model="vm.agent.voicemail" aria-label="Voicemail"
-          ><span translate="STAFF.VOICEMAIL">Voicemail</span></md-switch
-        >
+        <md-switch ng-model="vm.agent.voicemail" aria-label="Voicemail"><span translate="APP.VOICEMAIL">Voicemail</span>
+        </md-switch>
       </md-input-container>
 
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
     </md-dialog-content>
 
-    <md-dialog-actions
-      layout="row"
-      layout-align="space-between center"
-      ng-if="!vm.crudPermissions.readOnly"
-    >
+    <md-dialog-actions layout="row" layout-align="space-between center" ng-if="!vm.crudPermissions.readOnly">
       <div layout="row" layout-align="start center">
-        <md-button
-          type="submit"
-          ng-if="vm.crudPermissions.canEdit && !vm.newAgent"
-          ng-click="vm.saveAgent()"
-          class="send-button md-accent md-raised"
-          ng-disabled="agentForm.$invalid || agentForm.$pristine"
-          aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
-        >
+        <md-button type="submit" ng-if="vm.crudPermissions.canEdit && !vm.newAgent" ng-click="vm.saveAgent()"
+          class="send-button md-accent md-raised" ng-disabled="agentForm.$invalid || agentForm.$pristine"
+          aria-label="SAVE" translate="APP.SAVE" translate-attr-aria-label="APP.SAVE">
           SAVE
         </md-button>
 
-        <md-button
-          type="submit"
-          ng-if="vm.crudPermissions.canEdit && vm.newAgent"
-          ng-click="vm.addNewAgent()"
-          class="send-button md-accent md-raised"
-          ng-disabled="agentForm.$invalid"
-          aria-label="ADD"
-          translate="STAFF.ADD_AGENT"
-          translate-attr-aria-label="STAFF.ADD_AGENT"
-        >
+        <md-button type="submit" ng-if="vm.crudPermissions.canEdit && vm.newAgent" ng-click="vm.addNewAgent()"
+          class="send-button md-accent md-raised" ng-disabled="agentForm.$invalid" aria-label="ADD"
+          translate="STAFF.ADD_AGENT" translate-attr-aria-label="STAFF.ADD_AGENT">
           ADD AGENT
         </md-button>
       </div>
       <div layout="row">
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete && !vm.newAgent"
-          ng-click="vm.deleteAgent($event)"
-          aria-label="DELETE"
-          translate
-          translate-attr-aria-label="STAFF.DELETE"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete && !vm.newAgent"
+          ng-click="vm.deleteAgent($event)" aria-label="DELETE" translate translate-attr-aria-label="APP.DELETE">
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="STAFF.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
   </form>
-</md-dialog>
+</md-dialog>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/agents/edit/changepassword/changepassword.html/changepassword.html b/public/src/js/modules/main/apps/staff/views/agents/edit/changepassword/changepassword.html/changepassword.html
index 042d471..68c8f42 100644
--- a/public/src/js/modules/main/apps/staff/views/agents/edit/changepassword/changepassword.html/changepassword.html
+++ b/public/src/js/modules/main/apps/staff/views/agents/edit/changepassword/changepassword.html/changepassword.html
@@ -53,7 +53,7 @@
         />
         <div ng-messages="agentForm.oldPassword.$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -73,7 +73,7 @@
         />
         <div ng-messages="agentForm.password.$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -93,7 +93,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.CONFIRM_PASSWORD">Confirm Password</label>
+        <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
         <input
           type="password"
           match-password="password"
@@ -147,8 +147,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="agentForm.$invalid || agentForm.$pristine"
           aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/agents/edit/queueadd/queueadd.html/queueadd.html b/public/src/js/modules/main/apps/staff/views/agents/edit/queueadd/queueadd.html/queueadd.html
index 60dcbb9..43a8950 100644
--- a/public/src/js/modules/main/apps/staff/views/agents/edit/queueadd/queueadd.html/queueadd.html
+++ b/public/src/js/modules/main/apps/staff/views/agents/edit/queueadd/queueadd.html/queueadd.html
@@ -18,7 +18,7 @@
         class="no-margin"
         ng-if="vm.agent.role === 'agent' && vm.channel === 'voice'"
-        <label translate="STAFF.PENALTY">Penalty</label>
+        <label translate="APP.PENALTY">Penalty</label>
         <input
           name="penalty"
           ng-model="vm.penalty"
@@ -56,8 +56,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/agents/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/staff/views/agents/edit/teamadd/teamadd.html/teamadd.html
index 3a28603..ca45915 100644
--- a/public/src/js/modules/main/apps/staff/views/agents/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/staff/views/agents/edit/teamadd/teamadd.html/teamadd.html
@@ -2,7 +2,7 @@
   <form name="agentForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="STAFF.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -30,8 +30,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/agents/edit/view.html/view.html b/public/src/js/modules/main/apps/staff/views/agents/edit/view.html/view.html
index 03b8534..aec89bc 100644
--- a/public/src/js/modules/main/apps/staff/views/agents/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/staff/views/agents/edit/view.html/view.html
@@ -2,13 +2,8 @@
   <!-- HEADER -->
   <div class="header md-accent-bg" layout="row" layout-align="start center">
     <div class="white-fg" layout="row" layout-align="start center" flex>
-      <md-button
-        class="goto-agents-button md-icon-button"
-        aria-label="Go to agents"
-        ng-click="vm.gotoAgents()"
-        translate
-        translate-attr-aria-label="STAFF.GO_TO_AGENTS"
-      >
+      <md-button class="goto-agents-button md-icon-button" aria-label="Go to agents" ng-click="vm.gotoAgents()"
+        translate translate-attr-aria-label="STAFF.GO_TO_AGENTS">
         <md-icon md-font-icon="icon-arrow-left"></md-icon>
       </md-button>
 
@@ -23,7 +18,7 @@
             <span ng-if="vm.agent.name">{{vm.agent.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="STAFF.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.agent.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -33,156 +28,80 @@
       <md-fab-speed-dial md-direction="left" class="md-scale md-fab">
         <md-fab-trigger>
           <md-button aria-label="menu" class="md-fab md-primary md-icon-button">
-            <md-tooltip md-direction="top" md-visible="false"
-              ><span translate="STAFF.CHANNELS">Channels</span></md-tooltip
-            >
-            <md-icon
-              md-font-icon="icon-stackoverflow"
-              aria-label="queueadd"
-            ></md-icon>
+            <md-tooltip md-direction="top" md-visible="false"><span translate="APP.CHANNELS">Channels</span>
+            </md-tooltip>
+            <md-icon md-font-icon="icon-stackoverflow" aria-label="queueadd"></md-icon>
           </md-button>
         </md-fab-trigger>
         <md-fab-actions>
-          <md-button
-            aria-label="voice"
-            class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'voice', $event, 'inbound')"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="VOICE.VOICE">Voice</span></md-tooltip
-            >
+          <md-button aria-label="voice" class="md-fab md-raised md-icon-button md-mini"
+            ng-click="vm.queueaddchannel(vm.agent, 'voice', $event, 'inbound')">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.VOICE">Voice</span></md-tooltip>
             <md-icon md-font-icon="icon-phone" aria-label="voice"></md-icon>
           </md-button>
-          <md-button
-            ng-if="vm.license.dialer"
-            aria-label="motion bull"
-            class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'voice', $event, 'outbound')"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="MOTIONDIALER.MOTIONDIALER"
-                >Motion Bull</span
-              ></md-tooltip
-            >
-            <md-icon
-              md-font-icon="icon-fire"
-              aria-label="motion bull"
-            ></md-icon>
+          <md-button ng-if="vm.license.dialer" aria-label="motion bull" class="md-fab md-raised md-icon-button md-mini"
+            ng-click="vm.queueaddchannel(vm.agent, 'voice', $event, 'outbound')">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.MOTIONDIALER">Motion Bull</span>
+            </md-tooltip>
+            <md-icon md-font-icon="icon-fire" aria-label="motion bull"></md-icon>
           </md-button>
-          <md-button
-            ng-if="vm.license.chat"
-            aria-label="chat"
-            class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'chat', $event)"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="CHAT.CHAT">Chat</span></md-tooltip
-            >
+          <md-button ng-if="vm.license.chat" aria-label="chat" class="md-fab md-raised md-icon-button md-mini"
+            ng-click="vm.queueaddchannel(vm.agent, 'chat', $event)">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.CHAT">Chat</span></md-tooltip>
             <md-icon md-font-icon="icon-hangouts" aria-label="chat"></md-icon>
           </md-button>
-          <md-button
-            ng-if="vm.license.mail"
-            aria-label="mail"
-            class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'mail', $event)"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="MAIL.MAIL">Email</span></md-tooltip
-            >
+          <md-button ng-if="vm.license.mail" aria-label="mail" class="md-fab md-raised md-icon-button md-mini"
+            ng-click="vm.queueaddchannel(vm.agent, 'mail', $event)">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.MAIL">Email</span></md-tooltip>
             <md-icon md-font-icon="icon-email" aria-label="mail"></md-icon>
           </md-button>
-          <md-button
-            ng-if="vm.license.messaging"
-            aria-label="sms"
-            class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'sms', $event)"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="SMS.SMS">Sms</span></md-tooltip
-            >
-            <md-icon
-              md-font-icon="icon-message-text"
-              aria-label="sms"
-            ></md-icon>
+          <md-button ng-if="vm.license.messaging" aria-label="sms" class="md-fab md-raised md-icon-button md-mini"
+            ng-click="vm.queueaddchannel(vm.agent, 'sms', $event)">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.SMS">Sms</span></md-tooltip>
+            <md-icon md-font-icon="icon-message-text" aria-label="sms"></md-icon>
           </md-button>
-          <md-button
-            ng-if="vm.license.openchannel"
-            aria-label="openchannel"
+          <md-button ng-if="vm.license.openchannel" aria-label="openchannel"
             class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'openchannel', $event)"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="OPENCHANNEL.OPENCHANNEL"
-                >Openchannel</span
-              ></md-tooltip
-            >
-            <md-icon
-              md-font-icon="icon-google-earth"
-              aria-label="openchannel"
-            ></md-icon>
+            ng-click="vm.queueaddchannel(vm.agent, 'openchannel', $event)">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.OPENCHANNEL">Openchannel</span>
+            </md-tooltip>
+            <md-icon md-font-icon="icon-google-earth" aria-label="openchannel"></md-icon>
           </md-button>
-          <md-button
-            ng-if="vm.license.fax"
-            aria-label="fax"
-            class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'fax', $event)"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="FAX.FAX">Fax</span></md-tooltip
-            >
+          <md-button ng-if="vm.license.fax" aria-label="fax" class="md-fab md-raised md-icon-button md-mini"
+            ng-click="vm.queueaddchannel(vm.agent, 'fax', $event)">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.FAX">Fax</span></md-tooltip>
             <md-icon md-font-icon="icon-deskphone" aria-label="fax"></md-icon>
           </md-button>
-          <md-button
-            ng-if="vm.license.whatsapp"
-            aria-label="whatsapp"
-            class="md-fab md-raised md-icon-button md-mini"
-            ng-click="vm.queueaddchannel(vm.agent, 'whatsapp', $event)"
-          >
-            <md-tooltip md-direction="bottom" md-visible="false"
-              ><span translate="WHATSAPP.WHATSAPP">whatsapp</span></md-tooltip
-            >
-            <md-icon
-              md-font-icon="icon-whatsapp"
-              aria-label="whatsapp"
-            ></md-icon>
+          <md-button ng-if="vm.license.whatsapp" aria-label="whatsapp" class="md-fab md-raised md-icon-button md-mini"
+            ng-click="vm.queueaddchannel(vm.agent, 'whatsapp', $event)">
+            <md-tooltip md-direction="bottom" md-visible="false"><span translate="APP.WHATSAPP">whatsapp</span>
+            </md-tooltip>
+            <md-icon md-font-icon="icon-whatsapp" aria-label="whatsapp"></md-icon>
           </md-button>
         </md-fab-actions>
       </md-fab-speed-dial>
     </div>
 
     <div ng-cloak>
-      <md-button
-        ng-click="vm.teamadddialog(vm.agent, $event)"
-        class="md-fab md-orange-500-bg md-icon-button"
-        aria-label="teamadd"
-      >
+      <md-button ng-click="vm.teamadddialog(vm.agent, $event)" class="md-fab md-orange-500-bg md-icon-button"
+        aria-label="teamadd">
         <md-tooltip><span translate="STAFF.TEAMADD_AGENT"></span></md-tooltip>
         <md-icon md-font-icon="icon-account-multiple-plus"></md-icon>
       </md-button>
     </div>
 
     <div ng-cloak ng-if="vm.crudPermissions.canEdit">
-      <md-button
-        ng-click="vm.changepassworddialog(vm.agent, $event)"
-        class="md-fab md-warn md-icon-button"
-        aria-label="changepassword"
-      >
-        <md-tooltip
-          ><span translate="STAFF.CHANGEPASSWORD_AGENT"></span
-        ></md-tooltip>
+      <md-button ng-click="vm.changepassworddialog(vm.agent, $event)" class="md-fab md-warn md-icon-button"
+        aria-label="changepassword">
+        <md-tooltip><span translate="STAFF.CHANGEPASSWORD_AGENT"></span></md-tooltip>
         <md-icon md-font-icon="icon-key-variant"></md-icon>
       </md-button>
     </div>
     <div>
-      <md-button
-        type="submit"
-        ng-click="vm.saveAgent()"
-        ng-if="vm.crudPermissions.canEdit"
+      <md-button type="submit" ng-click="vm.saveAgent()" ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(personal_infoForm.$invalid) || (security_suiteForm.$invalid) || (change_avatarForm.$invalid) || (generalForm.$invalid) || (capacityForm.$invalid) || (settingsForm.$invalid) || (remote_controlForm.$invalid) || (sipForm.$invalid) || (callforwardingForm.$invalid) || (settings_webrtcForm.$invalid) || (sip_webrtcForm.$invalid) || (general_permissionsForm.$invalid) || (permissionsForm.$invalid)"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
-      >
+        translate="APP.SAVE" translate-attr-aria-label="APP.SAVE">
         SAVE
       </md-button>
     </div>
@@ -191,328 +110,181 @@
 
   <!-- CONTENT -->
   <div class="content">
-    <md-tabs
-      md-selected="vm.selectedTab"
-      md-stretch-tabs="always"
-      flex
-      layout-fill
-      md-dynamic-height
-    >
+    <md-tabs md-selected="vm.selectedTab" md-stretch-tabs="always" flex layout-fill md-dynamic-height>
       <md-tab>
         <md-tab-label>
-          <span translate="STAFF.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="agent-detail-form-container personal_info md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container personal_info md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.PERSONAL_INFO">
+              <div class="h2 secondary-text" translate="APP.PERSONAL_INFO">
                 PERSONAL_INFO
               </div>
             </div>
             <form name="personal_infoForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="STAFF.FULLNAME">Fullname</label>
-                <input
-                  type="text"
-                  name="fullname"
-                  ng-model="vm.agent.fullname"
-                  ng-required="true"
-                  autofocus
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.FULLNAME">Fullname</label>
+                <input type="text" name="fullname" ng-model="vm.agent.fullname" ng-required="true" autofocus
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['fullname'].$error"
-                  ng-show="personal_infoForm['fullname'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['fullname'].$error" ng-show="personal_infoForm['fullname'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.FULLNAME_REQUIRED"
-                      >Fullname field is required</span
-                    >
+                    <span translate="APP.ERRORS.FULLNAME_REQUIRED">Fullname field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.USERNAME">Username</label>
-                <input
-                  type="text"
-                  name="name"
-                  ng-model="vm.agent.name"
-                  ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
-                  ng-required="true"
-                  disabled
-                />
+                <label translate="APP.USERNAME">Username</label>
+                <input type="text" name="name" ng-model="vm.agent.name" ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
+                  ng-required="true" disabled />
 
                 <div class="hint">
-                  <span translate="STAFF.HELP.USERNAME"></span>
+                  <span translate="APP.HELP.USERNAME"></span>
                 </div>
-                <div
-                  ng-messages="personal_infoForm['name'].$error"
-                  ng-show="personal_infoForm['name'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['name'].$error" ng-show="personal_infoForm['name'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.USERNAME_REQUIRED"
-                      >Username field is required</span
-                    >
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED">Username field is required</span>
                   </div>
                   <div ng-message="pattern">
-                    <span
-                      translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
-                      translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
-                      >Username must be valid pattern
+                    <span translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
+                      translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }">Username must be valid pattern
                     </span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.ALIAS">Alias</label>
-                <input
-                  type="text"
-                  name="alias"
-                  ng-model="vm.agent.alias"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.ALIAS">Alias</label>
+                <input type="text" name="alias" ng-model="vm.agent.alias" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['alias'].$error"
-                  ng-show="personal_infoForm['alias'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['alias'].$error" ng-show="personal_infoForm['alias'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.ALIAS_REQUIRED"
-                      >Alias field is required</span
-                    >
+                    <span translate="APP.ERRORS.ALIAS_REQUIRED">Alias field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.SHOWWEBCONTROL">ShowWebControl</label>
-                <md-select
-                  name="showWebBar"
-                  ng-model="vm.agent.showWebBar"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <md-select name="showWebBar" ng-model="vm.agent.showWebBar" ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="0">Phonebar</md-option>
                   <md-option ng-value="1">External</md-option>
                   <md-option ng-value="2">WebRTC</md-option>
                 </md-select>
-                <div
-                  ng-messages="personal_infoForm['showWebBar'].$error"
-                  ng-show="personal_infoForm['showWebBar'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['showWebBar'].$error"
+                  ng-show="personal_infoForm['showWebBar'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.SHOWWEBCONTROL_REQUIRED"
-                      >ShowWebControl field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.SHOWWEBCONTROL_REQUIRED">ShowWebControl field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.EMAIL">Email</label>
-                <input
-                  type="email"
-                  name="email"
-                  ng-model="vm.agent.email"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.EMAIL">Email</label>
+                <input type="email" name="email" ng-model="vm.agent.email" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['email'].$error"
-                  ng-show="personal_infoForm['email'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['email'].$error" ng-show="personal_infoForm['email'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.EMAIL_REQUIRED"
-                      >Email field is required</span
-                    >
+                    <span translate="APP.ERRORS.EMAIL_REQUIRED">Email field is required</span>
                   </div>
                   <div ng-message="email">
-                    <span translate="STAFF.ERRORS.EMAIL_MUST_VALID"
-                      >Email must be a valid e-mail address</span
-                    >
+                    <span translate="APP.ERRORS.EMAIL_MUST_VALID">Email must be a valid e-mail address</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.PHONE">Phone</label>
-                <input
-                  type="text"
-                  name="phone"
-                  ng-model="vm.agent.phone"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.PHONE">Phone</label>
+                <input type="text" name="phone" ng-model="vm.agent.phone" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['phone'].$error"
-                  ng-show="personal_infoForm['phone'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['phone'].$error" ng-show="personal_infoForm['phone'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.PHONE_REQUIRED"
-                      >Phone field is required</span
-                    >
+                    <span translate="APP.ERRORS.PHONE_REQUIRED">Phone field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.MOBILE">Mobile</label>
-                <input
-                  type="text"
-                  name="mobile"
-                  ng-model="vm.agent.mobile"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.MOBILE">Mobile</label>
+                <input type="text" name="mobile" ng-model="vm.agent.mobile" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['mobile'].$error"
-                  ng-show="personal_infoForm['mobile'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['mobile'].$error" ng-show="personal_infoForm['mobile'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.MOBILE_REQUIRED"
-                      >Mobile field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.MOBILE_REQUIRED">Mobile field is required</span>
                   </div>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.showWebBar == 1"
-                class="md-block"
-              >
-                <md-switch
-                  ng-model="vm.agent.hotdesk"
-                  aria-label="Hotdesk"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.HOTDESK">Hotdesk</span></md-switch
-                >
+              <md-input-container ng-if="vm.agent.showWebBar == 1" class="md-block">
+                <md-switch ng-model="vm.agent.hotdesk" aria-label="Hotdesk" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="STAFF.HOTDESK">Hotdesk</span></md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.loginInPause"
-                  aria-label="LoginInPause"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.LOGININPAUSE"
-                    >LoginInPause</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.loginInPause" aria-label="LoginInPause"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.LOGININPAUSE">LoginInPause</span>
+                </md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.DESCRIPTION">Description</label>
-                <input
-                  type="text"
-                  name="description"
-                  ng-model="vm.agent.description"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.DESCRIPTION">Description</label>
+                <input type="text" name="description" ng-model="vm.agent.description"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['description'].$error"
-                  ng-show="personal_infoForm['description'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['description'].$error"
+                  ng-show="personal_infoForm['description'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED"
-                      >Description field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
                   </div>
                 </div>
               </md-input-container>
             </form>
           </div>
-          <div
-            class="agent-detail-form-container security_suite md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container security_suite md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.SECURITY_SUITE">
+              <div class="h2 secondary-text" translate="APP.SECURITY_SUITE">
                 SECURITY_SUITE
               </div>
             </div>
             <form name="security_suiteForm" novalidate>
-              <md-input-container
-                ng-if="vm.agent.passwordResetAt != null"
-                class="md-block"
-              >
-                <label translate="STAFF.LAST_PASSWORD_RESET_AT"
-                  >Last_Password_Reset_At</label
-                >
-                <input
-                  type="text"
-                  name="passwordResetAt"
-                  ng-model="vm.agent.passwordResetAt"
-                  autofocus
-                  disabled
-                />
+              <md-input-container ng-if="vm.agent.passwordResetAt != null" class="md-block">
+                <label translate="STAFF.LAST_PASSWORD_RESET_AT">Last_Password_Reset_At</label>
+                <input type="text" name="passwordResetAt" ng-model="vm.agent.passwordResetAt" autofocus disabled />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.LAST_PASSWORD_RESET_AT"></span>
                 </div>
-                <div
-                  ng-messages="security_suiteForm['passwordResetAt'].$error"
-                  ng-show="security_suiteForm['passwordResetAt'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="security_suiteForm['passwordResetAt'].$error"
+                  ng-show="security_suiteForm['passwordResetAt'].$touched" role="alert">
                   <div ng-message="required">
-                    <span
-                      translate="STAFF.ERRORS.LAST_PASSWORD_RESET_AT_REQUIRED"
-                      >Last_Password_Reset_At field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.LAST_PASSWORD_RESET_AT_REQUIRED">Last_Password_Reset_At field is
+                      required</span>
                   </div>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.passwordResetAt == null"
-                class="md-block"
-              >
-                <label translate="STAFF.NO_PASSWORD_CHANGE"
-                  >No_Password_Change</label
-                >
-                <input
-                  type="text"
-                  name="passwordResetAt"
-                  ng-model="vm.agent.passwordResetAt"
-                  disabled
-                />
+              <md-input-container ng-if="vm.agent.passwordResetAt == null" class="md-block">
+                <label translate="STAFF.NO_PASSWORD_CHANGE">No_Password_Change</label>
+                <input type="text" name="passwordResetAt" ng-model="vm.agent.passwordResetAt" disabled />
 
-                <div
-                  ng-messages="security_suiteForm['passwordResetAt'].$error"
-                  ng-show="security_suiteForm['passwordResetAt'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="security_suiteForm['passwordResetAt'].$error"
+                  ng-show="security_suiteForm['passwordResetAt'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.NO_PASSWORD_CHANGE_REQUIRED"
-                      >No_Password_Change field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.NO_PASSWORD_CHANGE_REQUIRED">No_Password_Change field is
+                      required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.disabled"
-                  aria-label="Disabled"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.DISABLED">Disabled</span></md-switch
-                >
+                <md-switch ng-model="vm.agent.disabled" aria-label="Disabled" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="APP.DISABLED">Disabled</span></md-switch>
 
                 <div class="hint">
-                  <span translate="STAFF.HELP.DISABLED"></span>
+                  <span translate="APP.HELP.DISABLED"></span>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.disabled == 0"
-                class="md-block"
-              >
-                <md-switch
-                  ng-model="vm.agent.blocked"
-                  aria-label="Blocked"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.BLOCKED">Blocked</span></md-switch
-                >
+              <md-input-container ng-if="vm.agent.disabled == 0" class="md-block">
+                <md-switch ng-model="vm.agent.blocked" aria-label="Blocked" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="STAFF.BLOCKED">Blocked</span></md-switch>
 
                 <div class="hint">
                   <span translate="STAFF.HELP.BLOCKED"></span>
@@ -520,89 +292,44 @@
               </md-input-container>
             </form>
           </div>
-          <div
-            class="agent-detail-form-container change_avatar md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container change_avatar md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.CHANGE_AVATAR">
                 CHANGE_AVATAR
               </div>
             </div>
-            <div
-              ng-controller="Agentchange_avatarController as vm_ca"
+            <div ng-controller="Agentchange_avatarController as vm_ca"
               ng-init="vm_ca.init(vm.agent, vm.crudPermissions)"
-              class="agent-detail-form-container md-background-bg md-whiteframe-1dp"
-            >
-              <div
-                id="agent-image-uploader"
-                flow-init="vm_ca.ngFlowOptions"
-                flow-name="vm_ca.ngFlow.flow"
-                flow-files-submitted="vm_ca.upload()"
-                flow-file-added="vm_ca.fileAdded($file)"
-                flow-file-success="vm_ca.fileSuccess($file, $message)"
-                flow-complete="vm_ca.uploadComplete()"
-                flow-drop
-                flow-drag-enter="vm_ca.dropping=true"
-                flow-drag-leave="vm_ca.dropping=false"
-                ng-class="{'dropping':vm.dropping}"
-              >
-                <div
-                  class="drop-text hint-text"
-                  layout="row"
-                  layout-align="center center"
-                >
-                  <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+              class="agent-detail-form-container md-background-bg md-whiteframe-1dp">
+              <div id="agent-image-uploader" flow-init="vm_ca.ngFlowOptions" flow-name="vm_ca.ngFlow.flow"
+                flow-files-submitted="vm_ca.upload()" flow-file-added="vm_ca.fileAdded($file)"
+                flow-file-success="vm_ca.fileSuccess($file, $message)" flow-complete="vm_ca.uploadComplete()" flow-drop
+                flow-drag-enter="vm_ca.dropping=true" flow-drag-leave="vm_ca.dropping=false"
+                ng-class="{'dropping':vm.dropping}">
+                <div class="drop-text hint-text" layout="row" layout-align="center center">
+                  <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
                 </div>
 
-                <div
-                  class="upload-button"
-                  layout="column"
-                  layout-align="center center"
-                >
-                  <md-button
-                    class="md-accent md-raised"
-                    flow-btn
-                    ng-disabled="!vm_ca.crudPermissions.canEdit"
-                  >
+                <div class="upload-button" layout="column" layout-align="center center">
+                  <md-button class="md-accent md-raised" flow-btn ng-disabled="!vm_ca.crudPermissions.canEdit">
                     Upload
                   </md-button>
-                  <span class="secondary-text mt-8"
-                    >You can also drop images here to upload. Only PNG, JPG -
-                    Max. 8MB</span
-                  >
+                  <span class="secondary-text mt-8">You can also drop images here to upload. Only PNG, JPG -
+                    Max. 8MB</span>
                 </div>
 
                 <div layout="row" layout-align="start start" layout-wrap>
-                  <div
-                    ng-repeat="change_avatarimage in vm_ca.agent.images"
-                    ng-switch="change_avatarimage.type"
-                  >
-                    <div
-                      class="agent-image uploading"
-                      ng-switch-when="uploading"
-                      layout="row"
-                      layout-align="center center"
-                    >
-                      <div
-                        class="overlay"
-                        layout="column"
-                        layout-align="center center"
-                      >
-                        <md-progress-linear
-                          md-mode="determinate"
-                          value="{{change_avatarimage.file.progress() * 100}}"
-                        >
+                  <div ng-repeat="change_avatarimage in vm_ca.agent.images" ng-switch="change_avatarimage.type">
+                    <div class="agent-image uploading" ng-switch-when="uploading" layout="row"
+                      layout-align="center center">
+                      <div class="overlay" layout="column" layout-align="center center">
+                        <md-progress-linear md-mode="determinate" value="{{change_avatarimage.file.progress() * 100}}">
                         </md-progress-linear>
                       </div>
                       <img class="media" flow-img="change_avatarimage.file" />
                     </div>
 
-                    <div
-                      class="agent-image"
-                      ng-switch-when="image"
-                      layout="row"
-                      layout-align="center center"
-                    >
+                    <div class="agent-image" ng-switch-when="image" layout="row" layout-align="center center">
                       <img class="media" ng-src="{{change_avatarimage.url}}" />
                     </div>
                   </div>
@@ -614,116 +341,65 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="STAFF.VOICE">VOICE</span>
+          <span translate="APP.VOICE">VOICE</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="agent-detail-form-container general md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container general md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
-              <md-input-container
-                ng-if="!vm.agent.autointernal"
-                class="md-block"
-              >
-                <label translate="STAFF.INTERNAL">Internal</label>
-                <input
-                  type="text"
-                  name="internal"
-                  ng-model="vm.agent.internal"
-                  ng-required="true"
-                  autofocus
-                  disabled
-                />
+              <md-input-container ng-if="!vm.agent.autointernal" class="md-block">
+                <label translate="APP.INTERNAL">Internal</label>
+                <input type="text" name="internal" ng-model="vm.agent.internal" ng-required="true" autofocus disabled />
 
-                <div
-                  ng-messages="generalForm['internal'].$error"
-                  ng-show="generalForm['internal'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['internal'].$error" ng-show="generalForm['internal'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.INTERNAL_REQUIRED"
-                      >Internal field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.INTERNAL_REQUIRED">Internal field is required</span>
                   </div>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.showWebBar != 2"
-                class="md-block"
-              >
-                <label translate="STAFF.TRANSPORT">Transport</label>
-                <md-select
-                  name="transport"
-                  ng-model="vm.agent.transport"
-                  multiple
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+              <md-input-container ng-if="vm.agent.showWebBar != 2" class="md-block">
+                <label translate="APP.TRANSPORT">Transport</label>
+                <md-select name="transport" ng-model="vm.agent.transport" multiple
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'udp'">udp</md-option>
                   <md-option ng-value="'tcp'">tcp</md-option>
-                  <md-option ng-value="'ws'" ng-if="vm.agent.showWebBar == 1"
-                    >ws</md-option
-                  >
-                  <md-option ng-value="'wss'" ng-if="vm.agent.showWebBar == 1"
-                    >wss</md-option
-                  >
-                  <md-option ng-value="'tls'" ng-if="vm.agent.showWebBar == 1"
-                    >tls</md-option
-                  >
+                  <md-option ng-value="'ws'" ng-if="vm.agent.showWebBar == 1">ws</md-option>
+                  <md-option ng-value="'wss'" ng-if="vm.agent.showWebBar == 1">wss</md-option>
+                  <md-option ng-value="'tls'" ng-if="vm.agent.showWebBar == 1">tls</md-option>
                 </md-select>
                 <div class="hint">
                   <span translate="STAFF.HELP.TRANSPORT"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['transport'].$error"
-                  ng-show="generalForm['transport'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['transport'].$error" ng-show="generalForm['transport'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.TRANSPORT_REQUIRED"
-                      >Transport field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.TRANSPORT_REQUIRED">Transport field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.HOST">Host</label>
-                <input
-                  type="text"
-                  name="host"
-                  ng-model="vm.agent.host"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.HOST">Host</label>
+                <input type="text" name="host" ng-model="vm.agent.host" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.HOST"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['host'].$error"
-                  ng-show="generalForm['host'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['host'].$error" ng-show="generalForm['host'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.HOST_REQUIRED"
-                      >Host field is required</span
-                    >
+                    <span translate="APP.ERRORS.HOST_REQUIRED">Host field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.NAT">NAT</label>
-                <md-select
-                  name="nat"
-                  ng-model="vm.agent.nat"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.NAT">NAT</label>
+                <md-select name="nat" ng-model="vm.agent.nat" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'force_rport'">force_rport</md-option>
                   <md-option ng-value="'comedia'">comedia</md-option>
                   <md-option ng-value="'yes'">yes</md-option>
@@ -732,53 +408,32 @@
                   <md-option ng-value="'route'">route</md-option>
                 </md-select>
                 <div class="hint"><span translate="STAFF.HELP.NAT"></span></div>
-                <div
-                  ng-messages="generalForm['nat'].$error"
-                  ng-show="generalForm['nat'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['nat'].$error" ng-show="generalForm['nat'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.NAT_REQUIRED"
-                      >NAT field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.NAT_REQUIRED">NAT field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.TYPE">Type</label>
-                <md-select
-                  name="type"
-                  ng-model="vm.agent.type"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.TYPE">Type</label>
+                <md-select name="type" ng-model="vm.agent.type" ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'friend'">Friend</md-option>
                   <md-option ng-value="'user'">User</md-option>
                   <md-option ng-value="'peer'">Peer</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="STAFF.HELP.TYPE"></span>
+                  <span translate="APP.HELP.TYPE"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['type'].$error"
-                  ng-show="generalForm['type'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['type'].$error" ng-show="generalForm['type'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.TYPE_REQUIRED"
-                      >Type field is required</span
-                    >
+                    <span translate="APP.ERRORS.TYPE_REQUIRED">Type field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.ALLOWCODECS">AllowCodecs</label>
-                <md-select
-                  name="allow"
-                  ng-model="vm.agent.allow"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.ALLOWCODECS">AllowCodecs</label>
+                <md-select name="allow" ng-model="vm.agent.allow" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'ulaw'">ulaw</md-option>
                   <md-option ng-value="'alaw'">alaw</md-option>
                   <md-option ng-value="'gsm'">gsm</md-option>
@@ -790,170 +445,99 @@
                 <div class="hint">
                   <span translate="STAFF.HELP.ALLOWCODECS"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['allow'].$error"
-                  ng-show="generalForm['allow'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['allow'].$error" ng-show="generalForm['allow'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.ALLOWCODECS_REQUIRED"
-                      >AllowCodecs field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.ALLOWCODECS_REQUIRED">AllowCodecs field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.CALLERID">CallerId</label>
-                <input
-                  type="text"
-                  name="callerid"
-                  ng-model="vm.agent.callerid"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.CALLERID">CallerId</label>
+                <input type="text" name="callerid" ng-model="vm.agent.callerid"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="generalForm['callerid'].$error"
-                  ng-show="generalForm['callerid'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['callerid'].$error" ng-show="generalForm['callerid'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CALLERID_REQUIRED"
-                      >CallerId field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.CALLERID_REQUIRED">CallerId field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.CONTEXT">Context</label>
-                <md-select
-                  name="context"
-                  ng-model="vm.agent.context"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
-                  <md-option
-                    ng-value="context.name"
-                    ng-repeat="context in vm.contexts"
-                    ng-disabled="context.canSelect === false"
-                    >{{ context.name }}</md-option
-                  >
+                <label translate="APP.CONTEXT">Context</label>
+                <md-select name="context" ng-model="vm.agent.context" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
+                  <md-option ng-value="context.name" ng-repeat="context in vm.contexts"
+                    ng-disabled="context.canSelect === false">{{ context.name }}</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['context'].$error"
-                  ng-show="generalForm['context'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['context'].$error" ng-show="generalForm['context'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CONTEXT_REQUIRED"
-                      >Context field is required</span
-                    >
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED">Context field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.CALLGROUP">Callgroup</label>
-                <input
-                  type="text"
-                  name="callgroup"
-                  ng-model="vm.agent.callgroup"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="callgroup" ng-model="vm.agent.callgroup"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.CALLGROUP"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['callgroup'].$error"
-                  ng-show="generalForm['callgroup'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['callgroup'].$error" ng-show="generalForm['callgroup'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CALLGROUP_REQUIRED"
-                      >Callgroup field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.CALLGROUP_REQUIRED">Callgroup field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.PICKUPGROUP">Pickupgroup</label>
-                <input
-                  type="text"
-                  name="pickupgroup"
-                  ng-model="vm.agent.pickupgroup"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="pickupgroup" ng-model="vm.agent.pickupgroup"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.PICKUPGROUP"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['pickupgroup'].$error"
-                  ng-show="generalForm['pickupgroup'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['pickupgroup'].$error" ng-show="generalForm['pickupgroup'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.PICKUPGROUP_REQUIRED"
-                      >Pickupgroup field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.PICKUPGROUP_REQUIRED">Pickupgroup field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.chanspy"
-                  aria-label="chanSpy"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.CHANSPY">chanSpy</span></md-switch
-                >
+                <md-switch ng-model="vm.agent.chanspy" aria-label="chanSpy" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="APP.CHANSPY">chanSpy</span></md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.VIDEOSUPPORT">Videosupport</label>
-                <md-select
-                  name="videosupport"
-                  ng-model="vm.agent.videosupport"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.VIDEOSUPPORT">Videosupport</label>
+                <md-select name="videosupport" ng-model="vm.agent.videosupport" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'yes'">Yes</md-option>
                   <md-option ng-value="'no'">No</md-option>
                   <md-option ng-value="'always'">Always</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['videosupport'].$error"
-                  ng-show="generalForm['videosupport'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['videosupport'].$error" ng-show="generalForm['videosupport'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.VIDEOSUPPORT_REQUIRED"
-                      >Videosupport field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.VIDEOSUPPORT_REQUIRED">Videosupport field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.MONITOREXTENSION"
-                  >MonitorExtension</label
-                >
-                <md-select
-                  name="extensionMonitor"
-                  ng-model="vm.agent.extensionMonitor"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="STAFF.MONITOREXTENSION">MonitorExtension</label>
+                <md-select name="extensionMonitor" ng-model="vm.agent.extensionMonitor" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="''">Inactive</md-option>
                   <md-option ng-value="'wav'">wav</md-option>
                   <md-option ng-value="'WAV'">wav49</md-option>
                   <md-option ng-value="'gsm'">gsm</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['extensionMonitor'].$error"
-                  ng-show="generalForm['extensionMonitor'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['extensionMonitor'].$error"
+                  ng-show="generalForm['extensionMonitor'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.MONITOREXTENSION_REQUIRED"
-                      >MonitorExtension field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.MONITOREXTENSION_REQUIRED">MonitorExtension field is required</span>
                   </div>
                 </div>
               </md-input-container>
@@ -966,219 +550,133 @@
           <span translate="STAFF.OTHER_CHANNELS">OTHER_CHANNELS</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="agent-detail-form-container capacity md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container capacity md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.CAPACITY">
+              <div class="h2 secondary-text" translate="APP.CAPACITY">
                 CAPACITY
               </div>
             </div>
             <form name="capacityForm" novalidate>
               <md-input-container ng-if="vm.license.chat" class="md-block">
                 <label translate="STAFF.CHATCAPACITY">ChatCapacity</label>
-                <input
-                  type="number"
-                  name="chatCapacity"
-                  ng-model="vm.agent.chatCapacity"
-                  min="0"
-                  ng-required="true"
-                  autofocus
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="chatCapacity" ng-model="vm.agent.chatCapacity" min="0" ng-required="true"
+                  autofocus ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.CHATCAPACITY"></span>
                 </div>
-                <div
-                  ng-messages="capacityForm['chatCapacity'].$error"
-                  ng-show="capacityForm['chatCapacity'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="capacityForm['chatCapacity'].$error" ng-show="capacityForm['chatCapacity'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CHATCAPACITY_REQUIRED"
-                      >ChatCapacity field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.CHATCAPACITY_REQUIRED">ChatCapacity field is required</span>
                   </div>
                   <div ng-message="min">
-                    <span
-                      translate="STAFF.ERRORS.CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >ChatCapacity must be a valid greater or equal than</span
-                    >
+                    <span translate="STAFF.ERRORS.CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">ChatCapacity must be a
+                      valid greater or equal than</span>
                     <span>0</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container ng-if="vm.license.mail" class="md-block">
                 <label translate="STAFF.MAILCAPACITY">MailCapacity</label>
-                <input
-                  type="number"
-                  name="mailCapacity"
-                  ng-model="vm.agent.mailCapacity"
-                  min="0"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="mailCapacity" ng-model="vm.agent.mailCapacity" min="0" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.MAILCAPACITY"></span>
                 </div>
-                <div
-                  ng-messages="capacityForm['mailCapacity'].$error"
-                  ng-show="capacityForm['mailCapacity'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="capacityForm['mailCapacity'].$error" ng-show="capacityForm['mailCapacity'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.MAILCAPACITY_REQUIRED"
-                      >MailCapacity field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.MAILCAPACITY_REQUIRED">MailCapacity field is required</span>
                   </div>
                   <div ng-message="min">
-                    <span
-                      translate="STAFF.ERRORS.MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >MailCapacity must be a valid greater or equal than</span
-                    >
+                    <span translate="STAFF.ERRORS.MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">MailCapacity must be a
+                      valid greater or equal than</span>
                     <span>0</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container ng-if="vm.license.messaging" class="md-block">
                 <label translate="STAFF.SMSCAPACITY">SMSCapacity</label>
-                <input
-                  type="number"
-                  name="smsCapacity"
-                  ng-model="vm.agent.smsCapacity"
-                  min="0"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="smsCapacity" ng-model="vm.agent.smsCapacity" min="0" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.SMSCAPACITY"></span>
                 </div>
-                <div
-                  ng-messages="capacityForm['smsCapacity'].$error"
-                  ng-show="capacityForm['smsCapacity'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="capacityForm['smsCapacity'].$error" ng-show="capacityForm['smsCapacity'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.SMSCAPACITY_REQUIRED"
-                      >SMSCapacity field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.SMSCAPACITY_REQUIRED">SMSCapacity field is required</span>
                   </div>
                   <div ng-message="min">
-                    <span
-                      translate="STAFF.ERRORS.SMSCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >SMSCapacity must be a valid greater or equal than</span
-                    >
+                    <span translate="STAFF.ERRORS.SMSCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">SMSCapacity must be a
+                      valid greater or equal than</span>
                     <span>0</span>
                   </div>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.license.openchannel"
-                class="md-block"
-              >
-                <label translate="STAFF.OPENCHANNELCAPACITY"
-                  >OpenchannelCapacity</label
-                >
-                <input
-                  type="number"
-                  name="openchannelCapacity"
-                  ng-model="vm.agent.openchannelCapacity"
-                  min="0"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+              <md-input-container ng-if="vm.license.openchannel" class="md-block">
+                <label translate="STAFF.OPENCHANNELCAPACITY">OpenchannelCapacity</label>
+                <input type="number" name="openchannelCapacity" ng-model="vm.agent.openchannelCapacity" min="0"
+                  ng-required="true" ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.OPENCHANNELCAPACITY"></span>
                 </div>
-                <div
-                  ng-messages="capacityForm['openchannelCapacity'].$error"
-                  ng-show="capacityForm['openchannelCapacity'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="capacityForm['openchannelCapacity'].$error"
+                  ng-show="capacityForm['openchannelCapacity'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.OPENCHANNELCAPACITY_REQUIRED"
-                      >OpenchannelCapacity field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.OPENCHANNELCAPACITY_REQUIRED">OpenchannelCapacity field is
+                      required</span>
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="STAFF.ERRORS.OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >OpenchannelCapacity must be a valid greater or equal
-                      than</span
-                    >
+                      translate="STAFF.ERRORS.OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">OpenchannelCapacity
+                      must be a valid greater or equal
+                      than</span>
                     <span>0</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container ng-if="vm.license.fax" class="md-block">
                 <label translate="STAFF.FAXCAPACITY">FaxCapacity</label>
-                <input
-                  type="number"
-                  name="faxCapacity"
-                  ng-model="vm.agent.faxCapacity"
-                  min="0"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="faxCapacity" ng-model="vm.agent.faxCapacity" min="0" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.FAXCAPACITY"></span>
                 </div>
-                <div
-                  ng-messages="capacityForm['faxCapacity'].$error"
-                  ng-show="capacityForm['faxCapacity'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="capacityForm['faxCapacity'].$error" ng-show="capacityForm['faxCapacity'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.FAXCAPACITY_REQUIRED"
-                      >FaxCapacity field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.FAXCAPACITY_REQUIRED">FaxCapacity field is required</span>
                   </div>
                   <div ng-message="min">
-                    <span
-                      translate="STAFF.ERRORS.FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >FaxCapacity must be a valid greater or equal than</span
-                    >
+                    <span translate="STAFF.ERRORS.FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">FaxCapacity must be a
+                      valid greater or equal than</span>
                     <span>0</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container ng-if="vm.license.whatsapp" class="md-block">
-                <label translate="STAFF.WHATSAPPCAPACITY"
-                  >WhatsappCapacity</label
-                >
-                <input
-                  type="number"
-                  name="whatsappCapacity"
-                  ng-model="vm.agent.whatsappCapacity"
-                  min="0"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="STAFF.WHATSAPPCAPACITY">WhatsappCapacity</label>
+                <input type="number" name="whatsappCapacity" ng-model="vm.agent.whatsappCapacity" min="0"
+                  ng-required="true" ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.WHATSAPPCAPACITY"></span>
                 </div>
-                <div
-                  ng-messages="capacityForm['whatsappCapacity'].$error"
-                  ng-show="capacityForm['whatsappCapacity'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="capacityForm['whatsappCapacity'].$error"
+                  ng-show="capacityForm['whatsappCapacity'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.WHATSAPPCAPACITY_REQUIRED"
-                      >WhatsappCapacity field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.WHATSAPPCAPACITY_REQUIRED">WhatsappCapacity field is required</span>
                   </div>
                   <div ng-message="min">
-                    <span
-                      translate="STAFF.ERRORS.WHATSAPPCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >WhatsappCapacity must be a valid greater or equal
-                      than</span
-                    >
+                    <span translate="STAFF.ERRORS.WHATSAPPCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">WhatsappCapacity
+                      must be a valid greater or equal
+                      than</span>
                     <span>0</span>
                   </div>
                 </div>
@@ -1189,281 +687,154 @@
       </md-tab>
       <md-tab ng-if="vm.agent.showWebBar == 0">
         <md-tab-label>
-          <span translate="STAFF.MOTIONBAR">MOTIONBAR</span>
+          <span translate="APP.MOTIONBAR">MOTIONBAR</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="agent-detail-form-container settings md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container settings md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.SETTINGS">
+              <div class="h2 secondary-text" translate="APP.SETTINGS">
                 SETTINGS
               </div>
             </div>
             <form name="settingsForm" novalidate>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarEnableSettings"
-                  aria-label="EnableSettings"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLESETTINGS"
-                    >EnableSettings</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarEnableSettings" aria-label="EnableSettings"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.ENABLESETTINGS">EnableSettings</span>
+                </md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarAutoAnswer"
-                  aria-label="AutoAnswer"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.AUTOANSWER"
-                    >AutoAnswer</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarAutoAnswer" aria-label="AutoAnswer"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.AUTOANSWER">AutoAnswer</span>
+                </md-switch>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.phoneBarAutoAnswer"
-                class="md-block"
-              >
+              <md-input-container ng-if="vm.agent.phoneBarAutoAnswer" class="md-block">
                 <label translate="STAFF.AUTOANSWERDELAY">AutoAnswerDelay</label>
-                <input
-                  type="number"
-                  name="phoneBarAutoAnswerDelay"
-                  ng-model="vm.agent.phoneBarAutoAnswerDelay"
-                  min="0"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="phoneBarAutoAnswerDelay" ng-model="vm.agent.phoneBarAutoAnswerDelay" min="0"
+                  ng-required="true" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="settingsForm['phoneBarAutoAnswerDelay'].$error"
-                  ng-show="settingsForm['phoneBarAutoAnswerDelay'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="settingsForm['phoneBarAutoAnswerDelay'].$error"
+                  ng-show="settingsForm['phoneBarAutoAnswerDelay'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.AUTOANSWERDELAY_REQUIRED"
-                      >AutoAnswerDelay field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.AUTOANSWERDELAY_REQUIRED">AutoAnswerDelay field is required</span>
                   </div>
                   <div ng-message="min">
-                    <span
-                      translate="STAFF.ERRORS.AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >AutoAnswerDelay must be a valid greater or equal
-                      than</span
-                    >
+                    <span translate="STAFF.ERRORS.AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">AutoAnswerDelay must
+                      be a valid greater or equal
+                      than</span>
                     <span>0</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarRingInUse"
-                  aria-label="RingInUse"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.RINGINUSE">RingInUse</span></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarRingInUse" aria-label="RingInUse"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="APP.RINGINUSE">RingInUse</span></md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarEnableRecording"
-                  aria-label="EnableRecording"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLERECORDING"
-                    >EnableRecording</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarEnableRecording" aria-label="EnableRecording"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span
+                    translate="STAFF.ENABLERECORDING">EnableRecording</span></md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarEnableDtmfTone"
-                  aria-label="EnableDtmfTone"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLEDTMFTONE"
-                    >EnableDtmfTone</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarEnableDtmfTone" aria-label="EnableDtmfTone"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.ENABLEDTMFTONE">EnableDtmfTone</span>
+                </md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarDnd"
-                  aria-label="Dnd"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.DND">Dnd</span></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarDnd" aria-label="Dnd" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="STAFF.DND">Dnd</span></md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarUnansweredCallBadge"
-                  aria-label="UnansweredCallBadge"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.UNANSWEREDCALLBADGE"
-                    >UnansweredCallBadge</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarUnansweredCallBadge" aria-label="UnansweredCallBadge"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span
+                    translate="STAFF.UNANSWEREDCALLBADGE">UnansweredCallBadge</span></md-switch>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.showWebBar == 0"
-                class="md-block"
-              >
-                <md-switch
-                  ng-model="vm.agent.phoneBarEnableJaws"
-                  aria-label="EnableJawsIntegration"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLEJAWSINTEGRATION"
-                    >EnableJawsIntegration</span
-                  ></md-switch
-                >
+              <md-input-container ng-if="vm.agent.showWebBar == 0" class="md-block">
+                <md-switch ng-model="vm.agent.phoneBarEnableJaws" aria-label="EnableJawsIntegration"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span
+                    translate="STAFF.ENABLEJAWSINTEGRATION">EnableJawsIntegration</span></md-switch>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.showWebBar == 0 && vm.license.screenrecording"
-                class="md-block"
-              >
-                <md-switch
-                  ng-change="vm.onEnableScreenRecordingByAgentSelection()"
-                  ng-model="vm.agent.phoneBarEnableScreenRecordingByAgent"
-                  aria-label="EnableScreenRecordingByAgent"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLESCREENRECORDINGBYAGENT"
-                    >EnableScreenRecordingByAgent</span
-                  ></md-switch
-                >
+              <md-input-container ng-if="vm.agent.showWebBar == 0 && vm.license.screenrecording" class="md-block">
+                <md-switch ng-change="vm.onEnableScreenRecordingByAgentSelection()"
+                  ng-model="vm.agent.phoneBarEnableScreenRecordingByAgent" aria-label="EnableScreenRecordingByAgent"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span
+                    translate="STAFF.ENABLESCREENRECORDINGBYAGENT">EnableScreenRecordingByAgent</span></md-switch>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.showWebBar == 0 && vm.license.screenrecording"
-                class="md-block"
-              >
-                <md-switch
-                  ng-change="vm.onEnableAutomaticScreenRecordingSelection()"
-                  ng-model="vm.agent.phoneBarEnableAutomaticScreenRecording"
-                  aria-label="EnableAutomaticScreenRecording"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLEAUTOMATICSCREENRECORDING"
-                    >EnableAutomaticScreenRecording</span
-                  ></md-switch
-                >
+              <md-input-container ng-if="vm.agent.showWebBar == 0 && vm.license.screenrecording" class="md-block">
+                <md-switch ng-change="vm.onEnableAutomaticScreenRecordingSelection()"
+                  ng-model="vm.agent.phoneBarEnableAutomaticScreenRecording" aria-label="EnableAutomaticScreenRecording"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span
+                    translate="STAFF.ENABLEAUTOMATICSCREENRECORDING">EnableAutomaticScreenRecording</span></md-switch>
 
                 <div class="hint">
-                  <span
-                    translate="STAFF.HELP.ENABLEAUTOMATICSCREENRECORDING"
-                  ></span>
+                  <span translate="STAFF.HELP.ENABLEAUTOMATICSCREENRECORDING"></span>
                 </div>
               </md-input-container>
             </form>
           </div>
-          <div
-            class="agent-detail-form-container remote_control md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container remote_control md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.REMOTE_CONTROL">
                 REMOTE_CONTROL
               </div>
             </div>
             <form name="remote_controlForm" novalidate>
-              <md-input-container
-                ng-if="vm.agent.showWebBar == 0"
-                class="md-block"
-              >
-                <md-switch
-                  ng-model="vm.agent.phoneBarRemoteControl"
-                  aria-label="RemoteControl"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.REMOTECONTROL"
-                    >RemoteControl</span
-                  ></md-switch
-                >
+              <md-input-container ng-if="vm.agent.showWebBar == 0" class="md-block">
+                <md-switch ng-model="vm.agent.phoneBarRemoteControl" aria-label="RemoteControl"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.REMOTECONTROL">RemoteControl</span>
+                </md-switch>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.phoneBarRemoteControl && vm.agent.showWebBar == 0"
-                class="md-block"
-              >
-                <label translate="STAFF.REMOTECONTROLPORT"
-                  >RemoteControlPort</label
-                >
-                <input
-                  type="number"
-                  name="phoneBarRemoteControlPort"
-                  ng-model="vm.agent.phoneBarRemoteControlPort"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+              <md-input-container ng-if="vm.agent.phoneBarRemoteControl && vm.agent.showWebBar == 0" class="md-block">
+                <label translate="STAFF.REMOTECONTROLPORT">RemoteControlPort</label>
+                <input type="number" name="phoneBarRemoteControlPort" ng-model="vm.agent.phoneBarRemoteControlPort"
+                  ng-required="true" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="remote_controlForm['phoneBarRemoteControlPort'].$error"
-                  ng-show="remote_controlForm['phoneBarRemoteControlPort'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="remote_controlForm['phoneBarRemoteControlPort'].$error"
+                  ng-show="remote_controlForm['phoneBarRemoteControlPort'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.REMOTECONTROLPORT_REQUIRED"
-                      >RemoteControlPort field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.REMOTECONTROLPORT_REQUIRED">RemoteControlPort field is required</span>
                   </div>
                 </div>
               </md-input-container>
             </form>
           </div>
-          <div
-            class="agent-detail-form-container sip md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container sip md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.SIP">SIP</div>
             </div>
             <form name="sipForm" novalidate>
               <md-input-container class="md-block">
                 <label translate="STAFF.SIPEXPIRES">SipExpires</label>
-                <input
-                  type="number"
-                  name="phoneBarExpires"
-                  ng-model="vm.agent.phoneBarExpires"
-                  ng-required="true"
-                  autofocus
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="phoneBarExpires" ng-model="vm.agent.phoneBarExpires" ng-required="true"
+                  autofocus ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.SIPEXPIRES"></span>
                 </div>
-                <div
-                  ng-messages="sipForm['phoneBarExpires'].$error"
-                  ng-show="sipForm['phoneBarExpires'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="sipForm['phoneBarExpires'].$error" ng-show="sipForm['phoneBarExpires'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.SIPEXPIRES_REQUIRED"
-                      >SipExpires field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.SIPEXPIRES_REQUIRED">SipExpires field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.SIPPORT">SipPort</label>
-                <input
-                  type="number"
-                  name="phoneBarListenPort"
-                  ng-model="vm.agent.phoneBarListenPort"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="phoneBarListenPort" ng-model="vm.agent.phoneBarListenPort" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.SIPPORT"></span>
                 </div>
-                <div
-                  ng-messages="sipForm['phoneBarListenPort'].$error"
-                  ng-show="sipForm['phoneBarListenPort'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="sipForm['phoneBarListenPort'].$error" ng-show="sipForm['phoneBarListenPort'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.SIPPORT_REQUIRED"
-                      >SipPort field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.SIPPORT_REQUIRED">SipPort field is required</span>
                   </div>
                 </div>
               </md-input-container>
             </form>
           </div>
-          <div
-            class="agent-detail-form-container callforwarding md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container callforwarding md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.CALLFORWARDING">
                 CALLFORWARDING
@@ -1471,39 +842,20 @@
             </div>
             <form name="callforwardingForm" novalidate>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarUnconditional"
-                  aria-label="Unconditional"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.UNCONDITIONAL"
-                    >Unconditional</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarUnconditional" aria-label="Unconditional"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.UNCONDITIONAL">Unconditional</span>
+                </md-switch>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.phoneBarUnconditional"
-                class="md-block"
-              >
-                <label translate="STAFF.UNCONDITIONALNUMBER"
-                  >UnconditionalNumber</label
-                >
-                <input
-                  type="text"
-                  name="phoneBarUnconditionalNumber"
-                  ng-model="vm.agent.phoneBarUnconditionalNumber"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+              <md-input-container ng-if="vm.agent.phoneBarUnconditional" class="md-block">
+                <label translate="STAFF.UNCONDITIONALNUMBER">UnconditionalNumber</label>
+                <input type="text" name="phoneBarUnconditionalNumber" ng-model="vm.agent.phoneBarUnconditionalNumber"
+                  ng-required="true" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="callforwardingForm['phoneBarUnconditionalNumber'].$error"
-                  ng-show="callforwardingForm['phoneBarUnconditionalNumber'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="callforwardingForm['phoneBarUnconditionalNumber'].$error"
+                  ng-show="callforwardingForm['phoneBarUnconditionalNumber'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.UNCONDITIONALNUMBER_REQUIRED"
-                      >UnconditionalNumber field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.UNCONDITIONALNUMBER_REQUIRED">UnconditionalNumber field is
+                      required</span>
                   </div>
                 </div>
               </md-input-container>
@@ -1513,12 +865,10 @@
       </md-tab>
       <md-tab ng-if="vm.agent.showWebBar == 2">
         <md-tab-label>
-          <span translate="STAFF.WEBRTC">WEBRTC</span>
+          <span translate="APP.WEBRTC">WEBRTC</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="agent-detail-form-container settings_webrtc md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container settings_webrtc md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.SETTINGS_WEBRTC">
                 SETTINGS_WEBRTC
@@ -1527,142 +877,79 @@
             <form name="settings_webrtcForm" novalidate>
               <md-input-container class="md-block">
                 <label translate="STAFF.DTLSCERTFILE">dtlscertfile</label>
-                <input
-                  type="text"
-                  name="dtlscertfile"
-                  ng-model="vm.agent.dtlscertfile"
-                  ng-required="true"
-                  autofocus
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="dtlscertfile" ng-model="vm.agent.dtlscertfile" ng-required="true" autofocus
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.DTLSCERTFILE"></span>
                 </div>
-                <div
-                  ng-messages="settings_webrtcForm['dtlscertfile'].$error"
-                  ng-show="settings_webrtcForm['dtlscertfile'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="settings_webrtcForm['dtlscertfile'].$error"
+                  ng-show="settings_webrtcForm['dtlscertfile'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.DTLSCERTFILE_REQUIRED"
-                      >dtlscertfile field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.DTLSCERTFILE_REQUIRED">dtlscertfile field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.DTLSPRIVATEKEY">dtlsprivatekey</label>
-                <input
-                  type="text"
-                  name="dtlsprivatekey"
-                  ng-model="vm.agent.dtlsprivatekey"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="dtlsprivatekey" ng-model="vm.agent.dtlsprivatekey" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.DTLSPRIVATEKEY"></span>
                 </div>
-                <div
-                  ng-messages="settings_webrtcForm['dtlsprivatekey'].$error"
-                  ng-show="settings_webrtcForm['dtlsprivatekey'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="settings_webrtcForm['dtlsprivatekey'].$error"
+                  ng-show="settings_webrtcForm['dtlsprivatekey'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.DTLSPRIVATEKEY_REQUIRED"
-                      >dtlsprivatekey field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.DTLSPRIVATEKEY_REQUIRED">dtlsprivatekey field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarEnableSettings"
-                  aria-label="EnableSettings"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLESETTINGS"
-                    >EnableSettings</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarEnableSettings" aria-label="EnableSettings"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.ENABLESETTINGS">EnableSettings</span>
+                </md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarAutoAnswer"
-                  aria-label="AutoAnswer"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.AUTOANSWER"
-                    >AutoAnswer</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarAutoAnswer" aria-label="AutoAnswer"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.AUTOANSWER">AutoAnswer</span>
+                </md-switch>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.agent.phoneBarAutoAnswer"
-                class="md-block"
-              >
+              <md-input-container ng-if="vm.agent.phoneBarAutoAnswer" class="md-block">
                 <label translate="STAFF.AUTOANSWERDELAY">AutoAnswerDelay</label>
-                <input
-                  type="number"
-                  name="phoneBarAutoAnswerDelay"
-                  ng-model="vm.agent.phoneBarAutoAnswerDelay"
-                  min="0"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="phoneBarAutoAnswerDelay" ng-model="vm.agent.phoneBarAutoAnswerDelay" min="0"
+                  ng-required="true" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="settings_webrtcForm['phoneBarAutoAnswerDelay'].$error"
-                  ng-show="settings_webrtcForm['phoneBarAutoAnswerDelay'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="settings_webrtcForm['phoneBarAutoAnswerDelay'].$error"
+                  ng-show="settings_webrtcForm['phoneBarAutoAnswerDelay'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.AUTOANSWERDELAY_REQUIRED"
-                      >AutoAnswerDelay field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.AUTOANSWERDELAY_REQUIRED">AutoAnswerDelay field is required</span>
                   </div>
                   <div ng-message="min">
-                    <span
-                      translate="STAFF.ERRORS.AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
-                      >AutoAnswerDelay must be a valid greater or equal
-                      than</span
-                    >
+                    <span translate="STAFF.ERRORS.AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO">AutoAnswerDelay must
+                      be a valid greater or equal
+                      than</span>
                     <span>0</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarEnableRecording"
-                  aria-label="EnableRecording"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLERECORDING"
-                    >EnableRecording</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarEnableRecording" aria-label="EnableRecording"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span
+                    translate="STAFF.ENABLERECORDING">EnableRecording</span></md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarEnableDtmfTone"
-                  aria-label="EnableDtmfTone"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLEDTMFTONE"
-                    >EnableDtmfTone</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarEnableDtmfTone" aria-label="EnableDtmfTone"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.ENABLEDTMFTONE">EnableDtmfTone</span>
+                </md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarDnd"
-                  aria-label="Dnd"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.DND">Dnd</span></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarDnd" aria-label="Dnd" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="STAFF.DND">Dnd</span></md-switch>
               </md-input-container>
             </form>
           </div>
-          <div
-            class="agent-detail-form-container sip_webrtc md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container sip_webrtc md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.SIP_WEBRTC">
                 SIP_WEBRTC
@@ -1671,27 +958,16 @@
             <form name="sip_webrtcForm" novalidate>
               <md-input-container class="md-block">
                 <label translate="STAFF.SIPEXPIRES">SipExpires</label>
-                <input
-                  type="number"
-                  name="phoneBarExpires"
-                  ng-model="vm.agent.phoneBarExpires"
-                  ng-required="true"
-                  autofocus
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="number" name="phoneBarExpires" ng-model="vm.agent.phoneBarExpires" ng-required="true"
+                  autofocus ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.SIPEXPIRES"></span>
                 </div>
-                <div
-                  ng-messages="sip_webrtcForm['phoneBarExpires'].$error"
-                  ng-show="sip_webrtcForm['phoneBarExpires'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="sip_webrtcForm['phoneBarExpires'].$error"
+                  ng-show="sip_webrtcForm['phoneBarExpires'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.SIPEXPIRES_REQUIRED"
-                      >SipExpires field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.SIPEXPIRES_REQUIRED">SipExpires field is required</span>
                   </div>
                 </div>
               </md-input-container>
@@ -1704,58 +980,35 @@
           <span translate="STAFF.PERMISSIONS">PERMISSIONS</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="agent-detail-form-container general_permissions md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container general_permissions md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div
-                class="h2 secondary-text"
-                translate="STAFF.GENERAL_PERMISSIONS"
-              >
+              <div class="h2 secondary-text" translate="STAFF.GENERAL_PERMISSIONS">
                 GENERAL_PERMISSIONS
               </div>
             </div>
             <form name="general_permissionsForm" novalidate>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.allowmessenger"
-                  aria-label="EnableMessenger"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.ENABLEMESSENGER"
-                    >EnableMessenger</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.allowmessenger" aria-label="EnableMessenger"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span
+                    translate="STAFF.ENABLEMESSENGER">EnableMessenger</span></md-switch>
               </md-input-container>
               <md-input-container class="md-block">
-                <md-switch
-                  ng-model="vm.agent.phoneBarPrefixRequired"
-                  aria-label="PrefixRequired"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.PREFIXREQUIRED"
-                    >PrefixRequired</span
-                  ></md-switch
-                >
+                <md-switch ng-model="vm.agent.phoneBarPrefixRequired" aria-label="PrefixRequired"
+                  ng-disabled="!vm.crudPermissions.canEdit"><span translate="STAFF.PREFIXREQUIRED">PrefixRequired</span>
+                </md-switch>
               </md-input-container>
             </form>
           </div>
-          <div
-            class="agent-detail-form-container permissions md-background-bg md-whiteframe-1dp"
-          >
+          <div class="agent-detail-form-container permissions md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.PERMISSIONS">
                 PERMISSIONS
               </div>
             </div>
-            <div
-              ng-controller="AgentPermissionsController as vm_pc"
-              ng-init="vm_pc.init(vm.agent, vm.crudPermissions)"
-              class="agent-detail-form-container"
-            >
-              <md-list
-                ng-repeat="father in vm_pc.navigation[0].children"
-                ng-include="'permission-nested.html'"
-                ng-if="vm_pc.agent.role !== 'admin' && !father.hidden()"
-              ></md-list>
+            <div ng-controller="AgentPermissionsController as vm_pc" ng-init="vm_pc.init(vm.agent, vm.crudPermissions)"
+              class="agent-detail-form-container">
+              <md-list ng-repeat="father in vm_pc.navigation[0].children" ng-include="'permission-nested.html'"
+                ng-if="vm_pc.agent.role !== 'admin' && !father.hidden()"></md-list>
 
               <!-- Nested navigation template -->
               <script type="text/ng-template" id="permission-nested.html">
@@ -1779,12 +1032,8 @@
               </script>
               <!-- / Nested navigation template -->
 
-              <span
-                ng-if="vm_pc.agent.role === 'admin'"
-                class="md-headline"
-                translate="STAFF.ALL_MODULES_AVAILABLE"
-                >All modules are already available.</span
-              >
+              <span ng-if="vm_pc.agent.role === 'admin'" class="md-headline" translate="STAFF.ALL_MODULES_AVAILABLE">All
+                modules are already available.</span>
             </div>
           </div>
         </md-tab-body>
@@ -1792,4 +1041,4 @@
     </md-tabs>
   </div>
   <!-- / CONTENT -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/teams/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/staff/views/teams/create/dialog.html/dialog.html
index cce0b4b..8463401 100644
--- a/public/src/js/modules/main/apps/staff/views/teams/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/staff/views/teams/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="STAFF.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.team.description" />
 
         <div
@@ -111,8 +111,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="teamForm.$invalid || teamForm.$pristine"
           aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -137,10 +137,10 @@
           ng-click="vm.deleteTeam($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="STAFF.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="STAFF.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/staff/views/teams/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/staff/views/teams/edit/agentadd/agentadd.html/agentadd.html
index f87f3d2..0509985 100644
--- a/public/src/js/modules/main/apps/staff/views/teams/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/staff/views/teams/edit/agentadd/agentadd.html/agentadd.html
@@ -30,8 +30,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/teams/teams.html/teams.html b/public/src/js/modules/main/apps/staff/views/teams/teams.html/teams.html
index 68f3c7d..b074a96 100644
--- a/public/src/js/modules/main/apps/staff/views/teams/teams.html/teams.html
+++ b/public/src/js/modules/main/apps/staff/views/teams/teams.html/teams.html
@@ -1,13 +1,6 @@
-<div
-  id="teams"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="teams" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
@@ -21,24 +14,13 @@
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="STAFF.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -47,16 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedTeams.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
+  <div ng-show="vm.selectedTeams.length > 0" class="selected-bar header animate-slide-down md-accent-bg" layout="row"
+    layout-align="start center">
     <div class="close-button-wrapper" ng-click="vm.selectedTeams =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="STAFF.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,33 +42,22 @@
       <div>
         <span class="selected-teams-count">
           <span>{{vm.selectedTeams.length}}</span>
-          <span translate="STAFF.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllTeams()"
-                translate="STAFF.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllTeams()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectTeams()"
-                translate="STAFF.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectTeams()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -99,22 +66,11 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedTeams"
-          csv-label="true"
-          filename="teams.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedTeams" csv-label="true" filename="teams.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete"
-          ng-click="vm.deleteSelectedTeams($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="STAFF.DELETE_SELECTED"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete" ng-click="vm.deleteSelectedTeams($event)"
+          aria-label="delete selected" translate translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -129,26 +85,16 @@
       <!-- TEAM TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedTeams"
-            md-progress="vm.promise"
-          >
+          <table md-table md-row-select multiple ng-model="vm.selectedTeams" md-progress="vm.promise">
             <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getTeams">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
-                <th md-column md-order-by="id">{{ 'STAFF.ID' | translate }}</th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'STAFF.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'STAFF.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -157,66 +103,31 @@
               <tr md-row ng-hide="vm.teams.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="STAFF.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="team"
-                md-select-id="id"
-                ng-repeat="team in vm.teams.rows"
-              >
+              <tr md-row md-select="team" md-select-id="id" ng-repeat="team in vm.teams.rows">
                 <td md-cell ng-if="team.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{team.name}}"
-                    ng-src="api/users/{{team.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{team.name}}" ng-src="api/users/{{team.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!team.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{team.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!team.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{team.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
-                <td
-                  ng-click="vm.createOrEditTeam($event, team)"
-                  md-cell
-                  class="id"
-                >
+                <td ng-click="vm.createOrEditTeam($event, team)" md-cell class="id">
                   {{team.id}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditTeam($event, team)"
-                  md-cell
-                  class="name"
-                >
+                <td ng-click="vm.createOrEditTeam($event, team)" md-cell class="name">
                   {{team.name}}
                 </td>
-                <td
-                  ng-click="vm.createOrEditTeam($event, team)"
-                  md-cell
-                  class="description"
-                >
+                <td ng-click="vm.createOrEditTeam($event, team)" md-cell class="description">
                   {{team.description}}
                 </td>
 
                 <td md-cell class="actions">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="STAFF.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -226,10 +137,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editdialog(team, $event    )"
-                          translate="STAFF.EDIT_TEAM"
-                        >
+                        <md-button ng-click="vm.editdialog(team, $event    )" translate="STAFF.EDIT_TEAM">
                           Edit Team
                         </md-button>
                       </md-menu-item>
@@ -239,10 +147,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item>
-                        <md-button
-                          ng-click="vm.agentadddialog(team, $event    )"
-                          translate="STAFF.AGENTADD_TEAM"
-                        >
+                        <md-button ng-click="vm.agentadddialog(team, $event    )" translate="STAFF.AGENTADD_TEAM">
                           AgentAdd Team
                         </md-button>
                       </md-menu-item>
@@ -252,10 +157,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
-                        <md-button
-                          ng-click="vm.deleteconfirm(team, $event    )"
-                          translate="STAFF.DELETE_TEAM"
-                        >
+                        <md-button ng-click="vm.deleteconfirm(team, $event    )" translate="STAFF.DELETE_TEAM">
                           Delete Team
                         </md-button>
                       </md-menu-item>
@@ -268,14 +170,9 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'STAFF.PAGE' | translate}}:', rowsPerPage: '{{'STAFF.ROWSPERPAGE' | translate}}:', of: '{{'STAFF.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.teams.count}}"
-          md-on-paginate="vm.getTeams"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.teams.count}}" md-on-paginate="vm.getTeams" md-page-select></md-table-pagination>
       </md-card>
       <!-- / TEAM TABLE -->
       <!-- NO RESULTS -->
@@ -287,16 +184,9 @@
   <!-- / CONTENT -->
 
   <!-- ADD TEAM BUTTON -->
-  <md-button
-    ng-if="vm.crudPermissions.canEdit"
-    class="md-fab md-accent add-item-button"
-    id="add-team-button"
-    ng-click="vm.createOrEditTeam($event)"
-    aria-label="add team"
-    translate
-    translate-attr-aria-label="STAFF.ADD_TEAM"
-  >
+  <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-team-button"
+    ng-click="vm.createOrEditTeam($event)" aria-label="add team" translate translate-attr-aria-label="STAFF.ADD_TEAM">
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
   <!-- / ADD TEAM BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/telephones/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/staff/views/telephones/create/dialog.html/dialog.html
index 90ebd45..045a132 100644
--- a/public/src/js/modules/main/apps/staff/views/telephones/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/staff/views/telephones/create/dialog.html/dialog.html
@@ -1,301 +1,161 @@
 <md-dialog class="telephone-dialog" aria-label="New Telephone">
   <form name="telephoneForm" class="md-inline-form" novalidate>
     <md-toolbar class="md-accent md-hue-2">
-      <div
-        class="md-toolbar-tools"
-        layout="row"
-        layout-align="space-between center"
-      >
+      <div class="md-toolbar-tools" layout="row" layout-align="space-between center">
         <span class="title">{{ vm.title | translate }}</span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
-          <md-icon
-            md-font-icon="icon-close"
-            aria-label="Close dialog"
-          ></md-icon>
+          <md-icon md-font-icon="icon-close" aria-label="Close dialog"></md-icon>
         </md-button>
       </div>
     </md-toolbar>
 
     <md-dialog-content ms-scroll>
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="STAFF.ACCOUNTNAME">Accountname</label>
-        <input
-          type="text"
-          name="fullname"
-          ng-model="vm.telephone.fullname"
-          ng-required="true"
-          autofocus
-        />
+        <label translate="APP.ACCOUNTNAME">Accountname</label>
+        <input type="text" name="fullname" ng-model="vm.telephone.fullname" ng-required="true" autofocus />
 
-        <div
-          ng-messages="telephoneForm['fullname'].$error"
-          ng-show="telephoneForm['fullname'].$touched"
-          role="alert"
-        >
+        <div ng-messages="telephoneForm['fullname'].$error" ng-show="telephoneForm['fullname'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.ACCOUNTNAME_REQUIRED"
-              >Accountname field is required</span
-            >
+            <span translate="APP.ERRORS.ACCOUNTNAME_REQUIRED">Accountname field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.USERNAME">Username</label>
-        <input
-          type="text"
-          name="name"
-          ng-model="vm.telephone.name"
-          ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
-          ng-required="true"
-          ng-disabled="!vm.newTelephone"
-        />
+        <label translate="APP.USERNAME">Username</label>
+        <input type="text" name="name" ng-model="vm.telephone.name" ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
+          ng-required="true" ng-disabled="!vm.newTelephone" />
 
-        <div class="hint"><span translate="STAFF.HELP.USERNAME"></span></div>
-        <div
-          ng-messages="telephoneForm['name'].$error"
-          ng-show="telephoneForm['name'].$touched"
-          role="alert"
-        >
+        <div class="hint"><span translate="APP.HELP.USERNAME"></span></div>
+        <div ng-messages="telephoneForm['name'].$error" ng-show="telephoneForm['name'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.USERNAME_REQUIRED"
-              >Username field is required</span
-            >
+            <span translate="APP.ERRORS.USERNAME_REQUIRED">Username field is required</span>
           </div>
           <div ng-message="pattern">
-            <span
-              translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
-              translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
-              >Username must be valid pattern
+            <span translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
+              translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }">Username must be valid pattern
             </span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.EMAIL">Email</label>
-        <input
-          type="email"
-          name="email"
-          ng-model="vm.telephone.email"
-          ng-required="true"
-        />
+        <label translate="APP.EMAIL">Email</label>
+        <input type="email" name="email" ng-model="vm.telephone.email" ng-required="true" />
 
-        <div
-          ng-messages="telephoneForm['email'].$error"
-          ng-show="telephoneForm['email'].$touched"
-          role="alert"
-        >
+        <div ng-messages="telephoneForm['email'].$error" ng-show="telephoneForm['email'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.EMAIL_REQUIRED"
-              >Email field is required</span
-            >
+            <span translate="APP.ERRORS.EMAIL_REQUIRED">Email field is required</span>
           </div>
           <div ng-message="email">
-            <span translate="STAFF.ERRORS.EMAIL_MUST_VALID"
-              >Email must be a valid e-mail address</span
-            >
+            <span translate="APP.ERRORS.EMAIL_MUST_VALID">Email must be a valid e-mail address</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block" ng-if="vm.newTelephone">
-        <label translate="STAFF.PASSWORD">Password</label>
-        <input
-          type="password"
-          name="password"
-          ng-model="vm.telephone.password"
-          placeholder="Password"
-          ng-pattern="vm.passwordPattern"
-          translate
-          translate-attr-placeholder="STAFF.PASSWORD"
-          required
-        />
+        <label translate="APP.PASSWORD">Password</label>
+        <input type="password" name="password" ng-model="vm.telephone.password" placeholder="Password"
+          ng-pattern="vm.passwordPattern" translate translate-attr-placeholder="APP.PASSWORD" required />
         <div ng-messages="telephoneForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
-              >Password field is required</span
-            >
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED">Password field is required</span>
           </div>
           <div ng-message="pattern">
-            <span translate="STAFF.ERRORS.SECURE_PASSWORD_PATTERN"
-              >Must contain at least 8 characters, with a minimum of 1 lowercase
+            <span translate="STAFF.ERRORS.SECURE_PASSWORD_PATTERN">Must contain at least 8 characters, with a minimum of
+              1 lowercase
               letter, 1 uppercase letter, 1 numeric character and 1 special
-              character ~!?*@#$%^&-_=+[{]}.</span
-            >
+              character ~!?*@#$%^&-_=+[{]}.</span>
           </div>
         </div>
       </md-input-container>
 
-      <md-input-container
-        class="md-block"
-        ng-if="vm.newTelephone  && (vm.newTelephone)"
-      >
-        <label translate="STAFF.CONFIRM_PASSWORD">Confirm Password</label>
-        <input
-          type="password"
-          match-password="password"
-          name="confirmPassword"
-          ng-model="confirmPassword"
-          required
-        />
-        <div
-          ng-messages="telephoneForm.confirmPassword.$error"
-          role="alert"
-          multiple
-        >
+      <md-input-container class="md-block" ng-if="vm.newTelephone  && (vm.newTelephone)">
+        <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
+        <input type="password" match-password="password" name="confirmPassword" ng-model="confirmPassword" required />
+        <div ng-messages="telephoneForm.confirmPassword.$error" role="alert" multiple>
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.CONFIRM_REQUIRED"
-              >Confirm field is required</span
-            >
+            <span translate="STAFF.ERRORS.CONFIRM_REQUIRED">Confirm field is required</span>
           </div>
           <div ng-message="passwordMatch">
-            <span translate="STAFF.ERRORS.CONFIRM_NOT_MATCH"
-              >Your password did not match</span
-            >
+            <span translate="STAFF.ERRORS.CONFIRM_NOT_MATCH">Your password did not match</span>
           </div>
         </div>
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="STAFF.DESCRIPTION">Description</label>
-        <input
-          type="text"
-          name="description"
-          ng-model="vm.telephone.description"
-        />
+        <label translate="APP.DESCRIPTION">Description</label>
+        <input type="text" name="description" ng-model="vm.telephone.description" />
 
-        <div
-          ng-messages="telephoneForm['description'].$error"
-          ng-show="telephoneForm['description'].$touched"
-          role="alert"
-        >
+        <div ng-messages="telephoneForm['description'].$error" ng-show="telephoneForm['description'].$touched"
+          role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED"
-              >Description field is required</span
-            >
+            <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.newTelephone" class="md-block">
-        <md-switch
-          ng-model="vm.telephone.autointernal"
-          aria-label="AutoInternal"
-          ><span translate="STAFF.AUTOINTERNAL">AutoInternal</span></md-switch
-        >
+        <md-switch ng-model="vm.telephone.autointernal" aria-label="AutoInternal"><span
+            translate="STAFF.AUTOINTERNAL">AutoInternal</span></md-switch>
       </md-input-container>
       <md-input-container ng-if="!vm.telephone.autointernal" class="md-block">
-        <label translate="STAFF.INTERNAL">Internal</label>
-        <input
-          type="text"
-          name="internal"
-          ng-model="vm.telephone.internal"
-          ng-required="true"
-          ng-disabled="!vm.newTelephone"
-        />
+        <label translate="APP.INTERNAL">Internal</label>
+        <input type="text" name="internal" ng-model="vm.telephone.internal" ng-required="true"
+          ng-disabled="!vm.newTelephone" />
 
-        <div
-          ng-messages="telephoneForm['internal'].$error"
-          ng-show="telephoneForm['internal'].$touched"
-          role="alert"
-        >
+        <div ng-messages="telephoneForm['internal'].$error" ng-show="telephoneForm['internal'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.INTERNAL_REQUIRED"
-              >Internal field is required</span
-            >
+            <span translate="STAFF.ERRORS.INTERNAL_REQUIRED">Internal field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.newTelephone" class="md-block">
-        <md-switch ng-model="vm.telephone.voicemail" aria-label="Voicemail"
-          ><span translate="STAFF.VOICEMAIL">Voicemail</span></md-switch
-        >
+        <md-switch ng-model="vm.telephone.voicemail" aria-label="Voicemail"><span
+            translate="APP.VOICEMAIL">Voicemail</span></md-switch>
       </md-input-container>
 
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
     </md-dialog-content>
 
-    <md-dialog-actions
-      layout="row"
-      layout-align="space-between center"
-      ng-if="!vm.crudPermissions.readOnly"
-    >
+    <md-dialog-actions layout="row" layout-align="space-between center" ng-if="!vm.crudPermissions.readOnly">
       <div layout="row" layout-align="start center">
-        <md-button
-          type="submit"
-          ng-if="vm.crudPermissions.canEdit && !vm.newTelephone"
-          ng-click="vm.saveTelephone()"
-          class="send-button md-accent md-raised"
-          ng-disabled="telephoneForm.$invalid || telephoneForm.$pristine"
-          aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
-        >
+        <md-button type="submit" ng-if="vm.crudPermissions.canEdit && !vm.newTelephone" ng-click="vm.saveTelephone()"
+          class="send-button md-accent md-raised" ng-disabled="telephoneForm.$invalid || telephoneForm.$pristine"
+          aria-label="SAVE" translate="APP.SAVE" translate-attr-aria-label="APP.SAVE">
           SAVE
         </md-button>
 
-        <md-button
-          type="submit"
-          ng-if="vm.crudPermissions.canEdit && vm.newTelephone"
-          ng-click="vm.addNewTelephone()"
-          class="send-button md-accent md-raised"
-          ng-disabled="telephoneForm.$invalid"
-          aria-label="ADD"
-          translate="STAFF.ADD_TELEPHONE"
-          translate-attr-aria-label="STAFF.ADD_TELEPHONE"
-        >
+        <md-button type="submit" ng-if="vm.crudPermissions.canEdit && vm.newTelephone" ng-click="vm.addNewTelephone()"
+          class="send-button md-accent md-raised" ng-disabled="telephoneForm.$invalid" aria-label="ADD"
+          translate="STAFF.ADD_TELEPHONE" translate-attr-aria-label="STAFF.ADD_TELEPHONE">
           ADD TELEPHONE
         </md-button>
       </div>
       <div layout="row">
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete && !vm.newTelephone"
-          ng-click="vm.deleteTelephone($event)"
-          aria-label="DELETE"
-          translate
-          translate-attr-aria-label="STAFF.DELETE"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete && !vm.newTelephone"
+          ng-click="vm.deleteTelephone($event)" aria-label="DELETE" translate translate-attr-aria-label="APP.DELETE">
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="STAFF.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
   </form>
-</md-dialog>
+</md-dialog>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/telephones/edit/changepassword/changepassword.html/changepassword.html b/public/src/js/modules/main/apps/staff/views/telephones/edit/changepassword/changepassword.html/changepassword.html
index 4ac2c88..dfff286 100644
--- a/public/src/js/modules/main/apps/staff/views/telephones/edit/changepassword/changepassword.html/changepassword.html
+++ b/public/src/js/modules/main/apps/staff/views/telephones/edit/changepassword/changepassword.html/changepassword.html
@@ -53,7 +53,7 @@
         />
         <div ng-messages="telephoneForm.oldPassword.$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -73,7 +73,7 @@
         />
         <div ng-messages="telephoneForm.password.$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -93,7 +93,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.CONFIRM_PASSWORD">Confirm Password</label>
+        <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
         <input
           type="password"
           match-password="password"
@@ -147,8 +147,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="telephoneForm.$invalid || telephoneForm.$pristine"
           aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/telephones/edit/view.html/view.html b/public/src/js/modules/main/apps/staff/views/telephones/edit/view.html/view.html
index a849392..199315c 100644
--- a/public/src/js/modules/main/apps/staff/views/telephones/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/staff/views/telephones/edit/view.html/view.html
@@ -2,13 +2,8 @@
   <!-- HEADER -->
   <div class="header md-accent-bg" layout="row" layout-align="start center">
     <div class="white-fg" layout="row" layout-align="start center" flex>
-      <md-button
-        class="goto-telephones-button md-icon-button"
-        aria-label="Go to telephones"
-        ng-click="vm.gotoTelephones()"
-        translate
-        translate-attr-aria-label="STAFF.GO_TO_TELEPHONES"
-      >
+      <md-button class="goto-telephones-button md-icon-button" aria-label="Go to telephones"
+        ng-click="vm.gotoTelephones()" translate translate-attr-aria-label="STAFF.GO_TO_TELEPHONES">
         <md-icon md-font-icon="icon-arrow-left"></md-icon>
       </md-button>
 
@@ -23,7 +18,7 @@
             <span ng-if="vm.telephone.name">{{vm.telephone.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="STAFF.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.telephone.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -31,27 +26,16 @@
     </div>
 
     <div ng-cloak ng-if="vm.crudPermissions.canEdit">
-      <md-button
-        ng-click="vm.changepassworddialog(vm.telephone, $event)"
-        class="md-fab md-warn md-icon-button"
-        aria-label="changepassword"
-      >
-        <md-tooltip
-          ><span translate="STAFF.CHANGEPASSWORD_TELEPHONE"></span
-        ></md-tooltip>
+      <md-button ng-click="vm.changepassworddialog(vm.telephone, $event)" class="md-fab md-warn md-icon-button"
+        aria-label="changepassword">
+        <md-tooltip><span translate="STAFF.CHANGEPASSWORD_TELEPHONE"></span></md-tooltip>
         <md-icon md-font-icon="icon-key-variant"></md-icon>
       </md-button>
     </div>
     <div>
-      <md-button
-        type="submit"
-        ng-click="vm.saveTelephone()"
-        ng-if="vm.crudPermissions.canEdit"
-        class="send-button md-accent md-raised"
-        ng-disabled="(accountForm.$invalid) || (generalForm.$invalid)"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
-      >
+      <md-button type="submit" ng-click="vm.saveTelephone()" ng-if="vm.crudPermissions.canEdit"
+        class="send-button md-accent md-raised" ng-disabled="(accountForm.$invalid) || (generalForm.$invalid)"
+        translate="APP.SAVE" translate-attr-aria-label="APP.SAVE">
         SAVE
       </md-button>
     </div>
@@ -60,170 +44,95 @@
 
   <!-- CONTENT -->
   <div class="content">
-    <md-tabs
-      md-selected="vm.selectedTab"
-      md-stretch-tabs="always"
-      flex
-      layout-fill
-      md-dynamic-height
-    >
+    <md-tabs md-selected="vm.selectedTab" md-stretch-tabs="always" flex layout-fill md-dynamic-height>
       <md-tab>
         <md-tab-label>
-          <span translate="STAFF.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="telephone-detail-form-container account md-background-bg md-whiteframe-1dp"
-          >
+          <div class="telephone-detail-form-container account md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.ACCOUNT">
+              <div class="h2 secondary-text" translate="APP.ACCOUNT">
                 ACCOUNT
               </div>
             </div>
             <form name="accountForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="STAFF.ACCOUNTNAME">Accountname</label>
-                <input
-                  type="text"
-                  name="fullname"
-                  ng-model="vm.telephone.fullname"
-                  ng-required="true"
-                  autofocus
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.ACCOUNTNAME">Accountname</label>
+                <input type="text" name="fullname" ng-model="vm.telephone.fullname" ng-required="true" autofocus
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="accountForm['fullname'].$error"
-                  ng-show="accountForm['fullname'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="accountForm['fullname'].$error" ng-show="accountForm['fullname'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.ACCOUNTNAME_REQUIRED"
-                      >Accountname field is required</span
-                    >
+                    <span translate="APP.ERRORS.ACCOUNTNAME_REQUIRED">Accountname field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.USERNAME">Username</label>
-                <input
-                  type="text"
-                  name="name"
-                  ng-model="vm.telephone.name"
-                  ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
-                  ng-required="true"
-                  disabled
-                />
+                <label translate="APP.USERNAME">Username</label>
+                <input type="text" name="name" ng-model="vm.telephone.name" ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
+                  ng-required="true" disabled />
 
                 <div class="hint">
-                  <span translate="STAFF.HELP.USERNAME"></span>
+                  <span translate="APP.HELP.USERNAME"></span>
                 </div>
-                <div
-                  ng-messages="accountForm['name'].$error"
-                  ng-show="accountForm['name'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="accountForm['name'].$error" ng-show="accountForm['name'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.USERNAME_REQUIRED"
-                      >Username field is required</span
-                    >
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED">Username field is required</span>
                   </div>
                   <div ng-message="pattern">
-                    <span
-                      translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
-                      translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
-                      >Username must be valid pattern
+                    <span translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
+                      translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }">Username must be valid pattern
                     </span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.EMAIL">Email</label>
-                <input
-                  type="email"
-                  name="email"
-                  ng-model="vm.telephone.email"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.EMAIL">Email</label>
+                <input type="email" name="email" ng-model="vm.telephone.email" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="accountForm['email'].$error"
-                  ng-show="accountForm['email'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="accountForm['email'].$error" ng-show="accountForm['email'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.EMAIL_REQUIRED"
-                      >Email field is required</span
-                    >
+                    <span translate="APP.ERRORS.EMAIL_REQUIRED">Email field is required</span>
                   </div>
                   <div ng-message="email">
-                    <span translate="STAFF.ERRORS.EMAIL_MUST_VALID"
-                      >Email must be a valid e-mail address</span
-                    >
+                    <span translate="APP.ERRORS.EMAIL_MUST_VALID">Email must be a valid e-mail address</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.DESCRIPTION">Description</label>
-                <input
-                  type="text"
-                  name="description"
-                  ng-model="vm.telephone.description"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.DESCRIPTION">Description</label>
+                <input type="text" name="description" ng-model="vm.telephone.description"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="accountForm['description'].$error"
-                  ng-show="accountForm['description'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="accountForm['description'].$error" ng-show="accountForm['description'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED"
-                      >Description field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.PHONE">Phone</label>
-                <input
-                  type="text"
-                  name="phone"
-                  ng-model="vm.telephone.phone"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.PHONE">Phone</label>
+                <input type="text" name="phone" ng-model="vm.telephone.phone"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="accountForm['phone'].$error"
-                  ng-show="accountForm['phone'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="accountForm['phone'].$error" ng-show="accountForm['phone'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.PHONE_REQUIRED"
-                      >Phone field is required</span
-                    >
+                    <span translate="APP.ERRORS.PHONE_REQUIRED">Phone field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.MOBILE">Mobile</label>
-                <input
-                  type="text"
-                  name="mobile"
-                  ng-model="vm.telephone.mobile"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.MOBILE">Mobile</label>
+                <input type="text" name="mobile" ng-model="vm.telephone.mobile"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="accountForm['mobile'].$error"
-                  ng-show="accountForm['mobile'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="accountForm['mobile'].$error" ng-show="accountForm['mobile'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.MOBILE_REQUIRED"
-                      >Mobile field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.MOBILE_REQUIRED">Mobile field is required</span>
                   </div>
                 </div>
               </md-input-container>
@@ -233,53 +142,32 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="STAFF.VOICE">VOICE</span>
+          <span translate="APP.VOICE">VOICE</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="telephone-detail-form-container general md-background-bg md-whiteframe-1dp"
-          >
+          <div class="telephone-detail-form-container general md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
-              <md-input-container
-                ng-if="!vm.telephone.autointernal"
-                class="md-block"
-              >
-                <label translate="STAFF.INTERNAL">Internal</label>
-                <input
-                  type="text"
-                  name="internal"
-                  ng-model="vm.telephone.internal"
-                  ng-required="true"
-                  autofocus
-                  disabled
-                />
+              <md-input-container ng-if="!vm.telephone.autointernal" class="md-block">
+                <label translate="APP.INTERNAL">Internal</label>
+                <input type="text" name="internal" ng-model="vm.telephone.internal" ng-required="true" autofocus
+                  disabled />
 
-                <div
-                  ng-messages="generalForm['internal'].$error"
-                  ng-show="generalForm['internal'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['internal'].$error" ng-show="generalForm['internal'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.INTERNAL_REQUIRED"
-                      >Internal field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.INTERNAL_REQUIRED">Internal field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.TRANSPORT">Transport</label>
-                <md-select
-                  name="transport"
-                  ng-model="vm.telephone.transport"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.TRANSPORT">Transport</label>
+                <md-select name="transport" ng-model="vm.telephone.transport" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'udp'">udp</md-option>
                   <md-option ng-value="'tcp'">tcp</md-option>
                   <md-option ng-value="'ws'">ws</md-option>
@@ -289,27 +177,17 @@
                 <div class="hint">
                   <span translate="STAFF.HELP.TRANSPORT"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['transport'].$error"
-                  ng-show="generalForm['transport'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['transport'].$error" ng-show="generalForm['transport'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.TRANSPORT_REQUIRED"
-                      >Transport field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.TRANSPORT_REQUIRED">Transport field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.NAT">NAT</label>
-                <md-select
-                  name="nat"
-                  ng-model="vm.telephone.nat"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.NAT">NAT</label>
+                <md-select name="nat" ng-model="vm.telephone.nat" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'force_rport'">force_rport</md-option>
                   <md-option ng-value="'comedia'">comedia</md-option>
                   <md-option ng-value="'yes'">yes</md-option>
@@ -318,27 +196,16 @@
                   <md-option ng-value="'route'">route</md-option>
                 </md-select>
                 <div class="hint"><span translate="STAFF.HELP.NAT"></span></div>
-                <div
-                  ng-messages="generalForm['nat'].$error"
-                  ng-show="generalForm['nat'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['nat'].$error" ng-show="generalForm['nat'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.NAT_REQUIRED"
-                      >NAT field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.NAT_REQUIRED">NAT field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.ALLOWCODECS">AllowCodecs</label>
-                <md-select
-                  name="allow"
-                  ng-model="vm.telephone.allow"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.ALLOWCODECS">AllowCodecs</label>
+                <md-select name="allow" ng-model="vm.telephone.allow" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'ulaw'">ulaw</md-option>
                   <md-option ng-value="'alaw'">alaw</md-option>
                   <md-option ng-value="'gsm'">gsm</md-option>
@@ -350,161 +217,96 @@
                 <div class="hint">
                   <span translate="STAFF.HELP.ALLOWCODECS"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['allow'].$error"
-                  ng-show="generalForm['allow'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['allow'].$error" ng-show="generalForm['allow'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.ALLOWCODECS_REQUIRED"
-                      >AllowCodecs field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.ALLOWCODECS_REQUIRED">AllowCodecs field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.CALLERID">CallerId</label>
-                <input
-                  type="text"
-                  name="callerid"
-                  ng-model="vm.telephone.callerid"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.CALLERID">CallerId</label>
+                <input type="text" name="callerid" ng-model="vm.telephone.callerid"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="generalForm['callerid'].$error"
-                  ng-show="generalForm['callerid'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['callerid'].$error" ng-show="generalForm['callerid'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CALLERID_REQUIRED"
-                      >CallerId field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.CALLERID_REQUIRED">CallerId field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.CONTEXT">Context</label>
-                <md-select
-                  name="context"
-                  ng-model="vm.telephone.context"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
-                  <md-option
-                    ng-value="context.name"
-                    ng-repeat="context in vm.contexts"
-                    ng-disabled="context.canSelect === false"
-                    >{{ context.name }}</md-option
-                  >
+                <label translate="APP.CONTEXT">Context</label>
+                <md-select name="context" ng-model="vm.telephone.context" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
+                  <md-option ng-value="context.name" ng-repeat="context in vm.contexts"
+                    ng-disabled="context.canSelect === false">{{ context.name }}</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['context'].$error"
-                  ng-show="generalForm['context'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['context'].$error" ng-show="generalForm['context'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CONTEXT_REQUIRED"
-                      >Context field is required</span
-                    >
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED">Context field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.CALLGROUP">Callgroup</label>
-                <input
-                  type="text"
-                  name="callgroup"
-                  ng-model="vm.telephone.callgroup"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="callgroup" ng-model="vm.telephone.callgroup"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.CALLGROUP"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['callgroup'].$error"
-                  ng-show="generalForm['callgroup'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['callgroup'].$error" ng-show="generalForm['callgroup'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CALLGROUP_REQUIRED"
-                      >Callgroup field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.CALLGROUP_REQUIRED">Callgroup field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.PICKUPGROUP">Pickupgroup</label>
-                <input
-                  type="text"
-                  name="pickupgroup"
-                  ng-model="vm.telephone.pickupgroup"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="pickupgroup" ng-model="vm.telephone.pickupgroup"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.PICKUPGROUP"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['pickupgroup'].$error"
-                  ng-show="generalForm['pickupgroup'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['pickupgroup'].$error" ng-show="generalForm['pickupgroup'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.PICKUPGROUP_REQUIRED"
-                      >Pickupgroup field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.PICKUPGROUP_REQUIRED">Pickupgroup field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.VIDEOSUPPORT">Videosupport</label>
-                <md-select
-                  name="videosupport"
-                  ng-model="vm.telephone.videosupport"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.VIDEOSUPPORT">Videosupport</label>
+                <md-select name="videosupport" ng-model="vm.telephone.videosupport" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'yes'">Yes</md-option>
                   <md-option ng-value="'no'">No</md-option>
                   <md-option ng-value="'always'">Always</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['videosupport'].$error"
-                  ng-show="generalForm['videosupport'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['videosupport'].$error" ng-show="generalForm['videosupport'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.VIDEOSUPPORT_REQUIRED"
-                      >Videosupport field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.VIDEOSUPPORT_REQUIRED">Videosupport field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.ENCRYPTION">Encryption</label>
-                <md-select
-                  name="encryption"
-                  ng-model="vm.telephone.encryption"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.ENCRYPTION">Encryption</label>
+                <md-select name="encryption" ng-model="vm.telephone.encryption" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'yes'">yes</md-option>
                   <md-option ng-value="'no'">no</md-option>
                 </md-select>
                 <div class="hint">
                   <span translate="STAFF.HELP.ENCRYPTION"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['encryption'].$error"
-                  ng-show="generalForm['encryption'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['encryption'].$error" ng-show="generalForm['encryption'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.ENCRYPTION_REQUIRED"
-                      >Encryption field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.ENCRYPTION_REQUIRED">Encryption field is required</span>
                   </div>
                 </div>
               </md-input-container>
@@ -515,4 +317,4 @@
     </md-tabs>
   </div>
   <!-- / CONTENT -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/telephones/telephones.html/telephones.html b/public/src/js/modules/main/apps/staff/views/telephones/telephones.html/telephones.html
index 9b45485..ce0110b 100644
--- a/public/src/js/modules/main/apps/staff/views/telephones/telephones.html/telephones.html
+++ b/public/src/js/modules/main/apps/staff/views/telephones/telephones.html/telephones.html
@@ -1,44 +1,26 @@
-<div
-  id="telephones"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="telephones" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
         <span class="logo-icon">
           <md-icon md-font-icon="icon-account-multiple" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="STAFF.TELEPHONES">Telephones</span>
+        <span class="logo-text" translate="APP.TELEPHONES">Telephones</span>
       </div>
     </div>
     <!-- / APP TITLE -->
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="STAFF.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -47,16 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedTelephones.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
+  <div ng-show="vm.selectedTelephones.length > 0" class="selected-bar header animate-slide-down md-accent-bg"
+    layout="row" layout-align="start center">
     <div class="close-button-wrapper" ng-click="vm.selectedTelephones =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="STAFF.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,33 +42,22 @@
       <div>
         <span class="selected-telephones-count">
           <span>{{vm.selectedTelephones.length}}</span>
-          <span translate="STAFF.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllTelephones()"
-                translate="STAFF.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllTelephones()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectTelephones()"
-                translate="STAFF.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectTelephones()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -99,22 +66,12 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedTelephones"
-          csv-label="true"
-          filename="telephones.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedTelephones" csv-label="true" filename="telephones.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete"
-          ng-click="vm.deleteSelectedTelephones($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="STAFF.DELETE_SELECTED"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete"
+          ng-click="vm.deleteSelectedTelephones($event)" aria-label="delete selected" translate
+          translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -129,35 +86,21 @@
       <!-- TELEPHONE TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedTelephones"
-            md-progress="vm.promise"
-          >
-            <thead
-              md-head
-              md-order="vm.query.sort"
-              md-on-reorder="vm.getTelephones"
-            >
+          <table md-table md-row-select multiple ng-model="vm.selectedTelephones" md-progress="vm.promise">
+            <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getTelephones">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
                 <th md-column md-order-by="fullname">
-                  {{ 'STAFF.ACCOUNTNAME' | translate }}
+                  {{ 'APP.ACCOUNTNAME' | translate }}
                 </th>
                 <th md-column md-order-by="name">
-                  {{ 'STAFF.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="email">
-                  {{ 'STAFF.EMAIL' | translate }}
+                  {{ 'APP.EMAIL' | translate }}
                 </th>
                 <th md-column md-order-by="internal">
-                  {{ 'STAFF.INTERNAL' | translate }}
+                  {{ 'APP.INTERNAL' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -166,77 +109,42 @@
               <tr md-row ng-hide="vm.telephones.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="STAFF.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="telephone"
-                md-select-id="id"
-                ng-repeat="telephone in vm.telephones.rows"
-              >
+              <tr md-row md-select="telephone" md-select-id="id" ng-repeat="telephone in vm.telephones.rows">
                 <td md-cell ng-if="telephone.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{telephone.name}}"
-                    ng-src="api/users/{{telephone.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{telephone.name}}" ng-src="api/users/{{telephone.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!telephone.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{telephone.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!telephone.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{telephone.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(telephone, ev) : vm.createOrEditTelephone($event, telephone)"
-                  md-cell
-                  class="fullname font-weight-600"
-                >
+                  md-cell class="fullname font-weight-600">
                   {{telephone.fullname}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(telephone, ev) : vm.createOrEditTelephone($event, telephone)"
-                  md-cell
-                  class="name"
-                >
+                  md-cell class="name">
                   {{telephone.name}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(telephone, ev) : vm.createOrEditTelephone($event, telephone)"
-                  md-cell
-                  class="email"
-                >
+                  md-cell class="email">
                   {{telephone.email}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(telephone, ev) : vm.createOrEditTelephone($event, telephone)"
-                  md-cell
-                  class="internal"
-                >
+                  md-cell class="internal">
                   {{telephone.internal}}
                 </td>
 
-                <td
-                  md-cell
-                  class="actions"
-                  ng-if="!vm.crudPermissions.readOnly"
-                >
+                <td md-cell class="actions" ng-if="!vm.crudPermissions.readOnly">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="STAFF.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -246,10 +154,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editstate(telephone, $event    )"
-                          translate="STAFF.EDIT_TELEPHONE"
-                        >
+                        <md-button ng-click="vm.editstate(telephone, $event    )" translate="STAFF.EDIT_TELEPHONE">
                           Edit Telephone
                         </md-button>
                       </md-menu-item>
@@ -259,10 +164,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
-                        <md-button
-                          ng-click="vm.deleteconfirm(telephone, $event    )"
-                          translate="STAFF.DELETE_TELEPHONE"
-                        >
+                        <md-button ng-click="vm.deleteconfirm(telephone, $event    )"
+                          translate="STAFF.DELETE_TELEPHONE">
                           Delete Telephone
                         </md-button>
                       </md-menu-item>
@@ -275,14 +178,9 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'STAFF.PAGE' | translate}}:', rowsPerPage: '{{'STAFF.ROWSPERPAGE' | translate}}:', of: '{{'STAFF.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.telephones.count}}"
-          md-on-paginate="vm.getTelephones"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.telephones.count}}" md-on-paginate="vm.getTelephones" md-page-select></md-table-pagination>
       </md-card>
       <!-- / TELEPHONE TABLE -->
       <!-- NO RESULTS -->
@@ -294,16 +192,10 @@
   <!-- / CONTENT -->
 
   <!-- ADD TELEPHONE BUTTON -->
-  <md-button
-    ng-if="vm.crudPermissions.canEdit"
-    class="md-fab md-accent add-item-button"
-    id="add-telephone-button"
-    ng-click="vm.createOrEditTelephone($event)"
-    aria-label="add telephone"
-    translate
-    translate-attr-aria-label="STAFF.ADD_TELEPHONE"
-  >
+  <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-telephone-button"
+    ng-click="vm.createOrEditTelephone($event)" aria-label="add telephone" translate
+    translate-attr-aria-label="STAFF.ADD_TELEPHONE">
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
   <!-- / ADD TELEPHONE BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/userProfiles/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/staff/views/userProfiles/create/dialog.html/dialog.html
index faf0f39..e919ca2 100644
--- a/public/src/js/modules/main/apps/staff/views/userProfiles/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/staff/views/userProfiles/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="STAFF.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -148,8 +148,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="userProfileForm.$invalid || userProfileForm.$pristine"
           aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -174,10 +174,10 @@
           ng-click="vm.deleteUserProfile($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="STAFF.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="STAFF.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/staff/views/userProfiles/edit/clone/clone.html/clone.html b/public/src/js/modules/main/apps/staff/views/userProfiles/edit/clone/clone.html/clone.html
index 84c9663..b390acd 100644
--- a/public/src/js/modules/main/apps/staff/views/userProfiles/edit/clone/clone.html/clone.html
+++ b/public/src/js/modules/main/apps/staff/views/userProfiles/edit/clone/clone.html/clone.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="STAFF.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
diff --git a/public/src/js/modules/main/apps/staff/views/userProfiles/edit/permissionsmanage/permissionsmanage.html/permissionsmanage.html b/public/src/js/modules/main/apps/staff/views/userProfiles/edit/permissionsmanage/permissionsmanage.html/permissionsmanage.html
index 337c0c7..f1d55cd 100644
--- a/public/src/js/modules/main/apps/staff/views/userProfiles/edit/permissionsmanage/permissionsmanage.html/permissionsmanage.html
+++ b/public/src/js/modules/main/apps/staff/views/userProfiles/edit/permissionsmanage/permissionsmanage.html/permissionsmanage.html
@@ -28,8 +28,8 @@
                 ng-value="subsection"
                 ng-repeat="subsection in vm.subsections"
                 ng-selected="{{vm.subsections.length === 1 ? 'true' : 'false'}}"
-                >{{subsection.translate | translate}}</md-option
-              >
+                >{{subsection.translate | translate}}
+              </md-option>
             </md-select>
           </md-input-container>
           <div layout="row" ng-show="vm.selectedSection" class="margin-left-10">
@@ -180,8 +180,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/userProfiles/edit/view.html/view.html b/public/src/js/modules/main/apps/staff/views/userProfiles/edit/view.html/view.html
index f060548..52596e4 100644
--- a/public/src/js/modules/main/apps/staff/views/userProfiles/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/staff/views/userProfiles/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.userProfile.name">{{vm.userProfile.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="STAFF.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.userProfile.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -49,8 +49,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (modulesForm.$invalid)"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -69,20 +69,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="STAFF.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="userProfile-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="STAFF.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -98,14 +98,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -171,7 +171,7 @@
             class="userProfile-detail-form-container modules md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.MODULES">
+              <div class="h2 secondary-text" translate="APP.MODULES">
                 MODULES
               </div>
             </div>
diff --git a/public/src/js/modules/main/apps/staff/views/users/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/staff/views/users/create/dialog.html/dialog.html
index aaff1d2..f4a265b 100644
--- a/public/src/js/modules/main/apps/staff/views/users/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/staff/views/users/create/dialog.html/dialog.html
@@ -1,336 +1,179 @@
 <md-dialog class="user-dialog" aria-label="New User">
   <form name="userForm" class="md-inline-form" novalidate>
     <md-toolbar class="md-accent md-hue-2">
-      <div
-        class="md-toolbar-tools"
-        layout="row"
-        layout-align="space-between center"
-      >
+      <div class="md-toolbar-tools" layout="row" layout-align="space-between center">
         <span class="title">{{ vm.title | translate }}</span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
-          <md-icon
-            md-font-icon="icon-close"
-            aria-label="Close dialog"
-          ></md-icon>
+          <md-icon md-font-icon="icon-close" aria-label="Close dialog"></md-icon>
         </md-button>
       </div>
     </md-toolbar>
 
     <md-dialog-content ms-scroll>
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
       <md-input-container class="md-block">
         <label translate="STAFF.ROLE">Role</label>
-        <md-select
-          name="role"
-          ng-model="vm.user.role"
-          autofocus
-          required
-          ng-disabled="!vm.newUser"
-        >
+        <md-select name="role" ng-model="vm.user.role" autofocus required ng-disabled="!vm.newUser">
           <md-option ng-value="'admin'">Admin</md-option>
           <md-option ng-value="'user'">User</md-option>
         </md-select>
-        <div
-          ng-messages="userForm['role'].$error"
-          ng-show="userForm['role'].$touched"
-          role="alert"
-        >
+        <div ng-messages="userForm['role'].$error" ng-show="userForm['role'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.ROLE_REQUIRED"
-              >Role field is required</span
-            >
+            <span translate="STAFF.ERRORS.ROLE_REQUIRED">Role field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.user.role === 'user'" class="md-block">
         <label translate="STAFF.USERPROFILE">UserProfile</label>
-        <md-select
-          name="userProfileId"
-          ng-model="vm.user.userProfileId"
-          required
-        >
-          <md-option
-            ng-value="userProfileId.id"
-            ng-repeat="userProfileId in vm.userProfiles"
-            ng-disabled="userProfileId.canSelect === false"
-            >{{ userProfileId.name }}</md-option
-          >
+        <md-select name="userProfileId" ng-model="vm.user.userProfileId" required>
+          <md-option ng-value="userProfileId.id" ng-repeat="userProfileId in vm.userProfiles"
+            ng-disabled="userProfileId.canSelect === false">{{ userProfileId.name }}</md-option>
         </md-select>
-        <div
-          ng-messages="userForm['userProfileId'].$error"
-          ng-show="userForm['userProfileId'].$touched"
-          role="alert"
-        >
+        <div ng-messages="userForm['userProfileId'].$error" ng-show="userForm['userProfileId'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.USERPROFILE_REQUIRED"
-              >UserProfile field is required</span
-            >
+            <span translate="STAFF.ERRORS.USERPROFILE_REQUIRED">UserProfile field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.FULLNAME">Fullname</label>
-        <input
-          type="text"
-          name="fullname"
-          ng-model="vm.user.fullname"
-          ng-required="true"
-        />
+        <label translate="APP.FULLNAME">Fullname</label>
+        <input type="text" name="fullname" ng-model="vm.user.fullname" ng-required="true" />
 
-        <div
-          ng-messages="userForm['fullname'].$error"
-          ng-show="userForm['fullname'].$touched"
-          role="alert"
-        >
+        <div ng-messages="userForm['fullname'].$error" ng-show="userForm['fullname'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.FULLNAME_REQUIRED"
-              >Fullname field is required</span
-            >
+            <span translate="APP.ERRORS.FULLNAME_REQUIRED">Fullname field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.USERNAME">Username</label>
-        <input
-          type="text"
-          name="name"
-          ng-model="vm.user.name"
-          ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
-          ng-required="true"
-          ng-disabled="!vm.newUser"
-        />
+        <label translate="APP.USERNAME">Username</label>
+        <input type="text" name="name" ng-model="vm.user.name" ng-pattern="/^[A-Za-z0-9\.\_]+$/i" ng-required="true"
+          ng-disabled="!vm.newUser" />
 
-        <div class="hint"><span translate="STAFF.HELP.USERNAME"></span></div>
-        <div
-          ng-messages="userForm['name'].$error"
-          ng-show="userForm['name'].$touched"
-          role="alert"
-        >
+        <div class="hint"><span translate="APP.HELP.USERNAME"></span></div>
+        <div ng-messages="userForm['name'].$error" ng-show="userForm['name'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.USERNAME_REQUIRED"
-              >Username field is required</span
-            >
+            <span translate="APP.ERRORS.USERNAME_REQUIRED">Username field is required</span>
           </div>
           <div ng-message="pattern">
-            <span
-              translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
-              translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
-              >Username must be valid pattern
+            <span translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
+              translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }">Username must be valid pattern
             </span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.EMAIL">Email</label>
-        <input
-          type="email"
-          name="email"
-          ng-model="vm.user.email"
-          ng-required="true"
-        />
+        <label translate="APP.EMAIL">Email</label>
+        <input type="email" name="email" ng-model="vm.user.email" ng-required="true" />
 
-        <div
-          ng-messages="userForm['email'].$error"
-          ng-show="userForm['email'].$touched"
-          role="alert"
-        >
+        <div ng-messages="userForm['email'].$error" ng-show="userForm['email'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.EMAIL_REQUIRED"
-              >Email field is required</span
-            >
+            <span translate="APP.ERRORS.EMAIL_REQUIRED">Email field is required</span>
           </div>
           <div ng-message="email">
-            <span translate="STAFF.ERRORS.EMAIL_MUST_VALID"
-              >Email must be a valid e-mail address</span
-            >
+            <span translate="APP.ERRORS.EMAIL_MUST_VALID">Email must be a valid e-mail address</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block" ng-if="vm.newUser">
-        <label translate="STAFF.PASSWORD">Password</label>
-        <input
-          type="password"
-          name="password"
-          ng-model="vm.user.password"
-          placeholder="Password"
-          ng-pattern="vm.passwordPattern"
-          translate
-          translate-attr-placeholder="STAFF.PASSWORD"
-          required
-        />
+        <label translate="APP.PASSWORD">Password</label>
+        <input type="password" name="password" ng-model="vm.user.password" placeholder="Password"
+          ng-pattern="vm.passwordPattern" translate translate-attr-placeholder="APP.PASSWORD" required />
         <div ng-messages="userForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
-              >Password field is required</span
-            >
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED">Password field is required</span>
           </div>
           <div ng-message="pattern">
-            <span translate="STAFF.ERRORS.SECURE_PASSWORD_PATTERN"
-              >Must contain at least 8 characters, with a minimum of 1 lowercase
+            <span translate="STAFF.ERRORS.SECURE_PASSWORD_PATTERN">Must contain at least 8 characters, with a minimum of
+              1 lowercase
               letter, 1 uppercase letter, 1 numeric character and 1 special
-              character ~!?*@#$%^&-_=+[{]}.</span
-            >
+              character ~!?*@#$%^&-_=+[{]}.</span>
           </div>
         </div>
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.newUser  && (vm.newUser)">
-        <label translate="STAFF.CONFIRM_PASSWORD">Confirm Password</label>
-        <input
-          type="password"
-          match-password="password"
-          name="confirmPassword"
-          ng-model="confirmPassword"
-          required
-        />
-        <div
-          ng-messages="userForm.confirmPassword.$error"
-          role="alert"
-          multiple
-        >
+        <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
+        <input type="password" match-password="password" name="confirmPassword" ng-model="confirmPassword" required />
+        <div ng-messages="userForm.confirmPassword.$error" role="alert" multiple>
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.CONFIRM_REQUIRED"
-              >Confirm field is required</span
-            >
+            <span translate="STAFF.ERRORS.CONFIRM_REQUIRED">Confirm field is required</span>
           </div>
           <div ng-message="passwordMatch">
-            <span translate="STAFF.ERRORS.CONFIRM_NOT_MATCH"
-              >Your password did not match</span
-            >
+            <span translate="STAFF.ERRORS.CONFIRM_NOT_MATCH">Your password did not match</span>
           </div>
         </div>
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="STAFF.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.user.description" />
 
-        <div
-          ng-messages="userForm['description'].$error"
-          ng-show="userForm['description'].$touched"
-          role="alert"
-        >
+        <div ng-messages="userForm['description'].$error" ng-show="userForm['description'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED"
-              >Description field is required</span
-            >
+            <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
           </div>
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.newUser" class="md-block">
-        <md-switch ng-model="vm.user.autointernal" aria-label="AutoInternal"
-          ><span translate="STAFF.AUTOINTERNAL">AutoInternal</span></md-switch
-        >
+        <md-switch ng-model="vm.user.autointernal" aria-label="AutoInternal"><span
+            translate="STAFF.AUTOINTERNAL">AutoInternal</span></md-switch>
       </md-input-container>
       <md-input-container ng-if="!vm.user.autointernal" class="md-block">
-        <label translate="STAFF.INTERNAL">Internal</label>
-        <input
-          type="text"
-          name="internal"
-          ng-model="vm.user.internal"
-          ng-required="true"
-          ng-disabled="!vm.newUser"
-        />
+        <label translate="APP.INTERNAL">Internal</label>
+        <input type="text" name="internal" ng-model="vm.user.internal" ng-required="true" ng-disabled="!vm.newUser" />
 
-        <div
-          ng-messages="userForm['internal'].$error"
-          ng-show="userForm['internal'].$touched"
-          role="alert"
-        >
+        <div ng-messages="userForm['internal'].$error" ng-show="userForm['internal'].$touched" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.INTERNAL_REQUIRED"
-              >Internal field is required</span
-            >
+            <span translate="STAFF.ERRORS.INTERNAL_REQUIRED">Internal field is required</span>
           </div>
         </div>
       </md-input-container>
 
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
     </md-dialog-content>
 
-    <md-dialog-actions
-      layout="row"
-      layout-align="space-between center"
-      ng-if="!vm.crudPermissions.readOnly"
-    >
+    <md-dialog-actions layout="row" layout-align="space-between center" ng-if="!vm.crudPermissions.readOnly">
       <div layout="row" layout-align="start center">
-        <md-button
-          type="submit"
-          ng-if="vm.crudPermissions.canEdit && !vm.newUser"
-          ng-click="vm.saveUser()"
-          class="send-button md-accent md-raised"
-          ng-disabled="userForm.$invalid || userForm.$pristine"
-          aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
-        >
+        <md-button type="submit" ng-if="vm.crudPermissions.canEdit && !vm.newUser" ng-click="vm.saveUser()"
+          class="send-button md-accent md-raised" ng-disabled="userForm.$invalid || userForm.$pristine"
+          aria-label="SAVE" translate="APP.SAVE" translate-attr-aria-label="APP.SAVE">
           SAVE
         </md-button>
 
-        <md-button
-          type="submit"
-          ng-if="vm.crudPermissions.canEdit && vm.newUser"
-          ng-click="vm.addNewUser()"
-          class="send-button md-accent md-raised"
-          ng-disabled="userForm.$invalid"
-          aria-label="ADD"
-          translate="STAFF.ADD_USER"
-          translate-attr-aria-label="STAFF.ADD_USER"
-        >
+        <md-button type="submit" ng-if="vm.crudPermissions.canEdit && vm.newUser" ng-click="vm.addNewUser()"
+          class="send-button md-accent md-raised" ng-disabled="userForm.$invalid" aria-label="ADD"
+          translate="STAFF.ADD_USER" translate-attr-aria-label="STAFF.ADD_USER">
           ADD USER
         </md-button>
       </div>
       <div layout="row">
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete && !vm.newUser"
-          ng-click="vm.deleteUser($event)"
-          aria-label="DELETE"
-          translate
-          translate-attr-aria-label="STAFF.DELETE"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete && !vm.newUser"
+          ng-click="vm.deleteUser($event)" aria-label="DELETE" translate translate-attr-aria-label="APP.DELETE">
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="STAFF.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
   </form>
-</md-dialog>
+</md-dialog>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/users/edit/apikeymanager/apikeymanager.html/apikeymanager.html b/public/src/js/modules/main/apps/staff/views/users/edit/apikeymanager/apikeymanager.html/apikeymanager.html
index 5507f36..f117eb7 100644
--- a/public/src/js/modules/main/apps/staff/views/users/edit/apikeymanager/apikeymanager.html/apikeymanager.html
+++ b/public/src/js/modules/main/apps/staff/views/users/edit/apikeymanager/apikeymanager.html/apikeymanager.html
@@ -43,7 +43,7 @@
           class="send-button md-accent md-raised"
           aria-label="Remove"
           translate="STAFF.REMOVE"
-          translate-attr-aria-label="STAFF.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           Delete
         </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/users/edit/changepassword/changepassword.html/changepassword.html b/public/src/js/modules/main/apps/staff/views/users/edit/changepassword/changepassword.html/changepassword.html
index feda915..db8ec95 100644
--- a/public/src/js/modules/main/apps/staff/views/users/edit/changepassword/changepassword.html/changepassword.html
+++ b/public/src/js/modules/main/apps/staff/views/users/edit/changepassword/changepassword.html/changepassword.html
@@ -53,7 +53,7 @@
         />
         <div ng-messages="userForm.oldPassword.$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -73,7 +73,7 @@
         />
         <div ng-messages="userForm.password.$error" role="alert">
           <div ng-message="required">
-            <span translate="STAFF.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -93,7 +93,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="STAFF.CONFIRM_PASSWORD">Confirm Password</label>
+        <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
         <input
           type="password"
           match-password="password"
@@ -147,8 +147,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="userForm.$invalid || userForm.$pristine"
           aria-label="SAVE"
-          translate="STAFF.SAVE"
-          translate-attr-aria-label="STAFF.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/staff/views/users/edit/view.html/view.html b/public/src/js/modules/main/apps/staff/views/users/edit/view.html/view.html
index 042a3fd..4d9866a 100644
--- a/public/src/js/modules/main/apps/staff/views/users/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/staff/views/users/edit/view.html/view.html
@@ -2,13 +2,8 @@
   <!-- HEADER -->
   <div class="header md-accent-bg" layout="row" layout-align="start center">
     <div class="white-fg" layout="row" layout-align="start center" flex>
-      <md-button
-        class="goto-users-button md-icon-button"
-        aria-label="Go to users"
-        ng-click="vm.gotoUsers()"
-        translate
-        translate-attr-aria-label="STAFF.GO_TO_USERS"
-      >
+      <md-button class="goto-users-button md-icon-button" aria-label="Go to users" ng-click="vm.gotoUsers()" translate
+        translate-attr-aria-label="STAFF.GO_TO_USERS">
         <md-icon md-font-icon="icon-arrow-left"></md-icon>
       </md-button>
 
@@ -23,7 +18,7 @@
             <span ng-if="vm.user.name">{{vm.user.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="STAFF.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.user.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -31,40 +26,25 @@
     </div>
 
     <div ng-cloak ng-if="vm.crudPermissions.canEdit">
-      <md-button
-        ng-click="vm.apikeymanagerdialog(vm.user, $event)"
-        class="md-fab md-orange-500-bg md-icon-button"
-        aria-label="apikeymanager"
-      >
-        <md-tooltip
-          ><span translate="STAFF.APIKEYMANAGER_USER"></span
-        ></md-tooltip>
+      <md-button ng-click="vm.apikeymanagerdialog(vm.user, $event)" class="md-fab md-orange-500-bg md-icon-button"
+        aria-label="apikeymanager">
+        <md-tooltip><span translate="STAFF.APIKEYMANAGER_USER"></span></md-tooltip>
         <md-icon md-font-icon="fab fa-hubspot"></md-icon>
       </md-button>
     </div>
 
     <div ng-cloak ng-if="vm.crudPermissions.canEdit">
-      <md-button
-        ng-click="vm.changepassworddialog(vm.user, $event)"
-        class="md-fab md-warn md-icon-button"
-        aria-label="changepassword"
-      >
-        <md-tooltip
-          ><span translate="STAFF.CHANGEPASSWORD_USER"></span
-        ></md-tooltip>
+      <md-button ng-click="vm.changepassworddialog(vm.user, $event)" class="md-fab md-warn md-icon-button"
+        aria-label="changepassword">
+        <md-tooltip><span translate="STAFF.CHANGEPASSWORD_USER"></span></md-tooltip>
         <md-icon md-font-icon="icon-key-variant"></md-icon>
       </md-button>
     </div>
     <div>
-      <md-button
-        type="submit"
-        ng-click="vm.saveUser()"
-        ng-if="vm.crudPermissions.canEdit"
+      <md-button type="submit" ng-click="vm.saveUser()" ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(personal_infoForm.$invalid) || (security_suiteForm.$invalid) || (change_avatarForm.$invalid) || (generalForm.$invalid)"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
-      >
+        translate="APP.SAVE" translate-attr-aria-label="APP.SAVE">
         SAVE
       </md-button>
     </div>
@@ -73,344 +53,193 @@
 
   <!-- CONTENT -->
   <div class="content">
-    <md-tabs
-      md-selected="vm.selectedTab"
-      md-stretch-tabs="always"
-      flex
-      layout-fill
-      md-dynamic-height
-    >
+    <md-tabs md-selected="vm.selectedTab" md-stretch-tabs="always" flex layout-fill md-dynamic-height>
       <md-tab>
         <md-tab-label>
-          <span translate="STAFF.ACCOUNT">ACCOUNT</span>
+          <span translate="APP.ACCOUNT">ACCOUNT</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="user-detail-form-container personal_info md-background-bg md-whiteframe-1dp"
-          >
+          <div class="user-detail-form-container personal_info md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.PERSONAL_INFO">
+              <div class="h2 secondary-text" translate="APP.PERSONAL_INFO">
                 PERSONAL_INFO
               </div>
             </div>
             <form name="personal_infoForm" novalidate>
               <md-input-container class="md-block">
                 <label translate="STAFF.ROLE">Role</label>
-                <md-select
-                  name="role"
-                  ng-model="vm.user.role"
-                  autofocus
-                  required
-                  disabled
-                >
+                <md-select name="role" ng-model="vm.user.role" autofocus required disabled>
                   <md-option ng-value="'admin'">Admin</md-option>
                   <md-option ng-value="'user'">User</md-option>
                 </md-select>
-                <div
-                  ng-messages="personal_infoForm['role'].$error"
-                  ng-show="personal_infoForm['role'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['role'].$error" ng-show="personal_infoForm['role'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.ROLE_REQUIRED"
-                      >Role field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.ROLE_REQUIRED">Role field is required</span>
                   </div>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.user.role === 'user'"
-                class="md-block"
-              >
+              <md-input-container ng-if="vm.user.role === 'user'" class="md-block">
                 <label translate="STAFF.USERPROFILE">UserProfile</label>
-                <md-select
-                  name="userProfileId"
-                  ng-model="vm.user.userProfileId"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
-                  <md-option
-                    ng-value="userProfileId.id"
-                    ng-repeat="userProfileId in vm.userProfiles"
-                    ng-disabled="userProfileId.canSelect === false"
-                    >{{ userProfileId.name }}</md-option
-                  >
+                <md-select name="userProfileId" ng-model="vm.user.userProfileId" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
+                  <md-option ng-value="userProfileId.id" ng-repeat="userProfileId in vm.userProfiles"
+                    ng-disabled="userProfileId.canSelect === false">{{ userProfileId.name }}</md-option>
                 </md-select>
-                <div
-                  ng-messages="personal_infoForm['userProfileId'].$error"
-                  ng-show="personal_infoForm['userProfileId'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['userProfileId'].$error"
+                  ng-show="personal_infoForm['userProfileId'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.USERPROFILE_REQUIRED"
-                      >UserProfile field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.USERPROFILE_REQUIRED">UserProfile field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.FULLNAME">Fullname</label>
-                <input
-                  type="text"
-                  name="fullname"
-                  ng-model="vm.user.fullname"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.FULLNAME">Fullname</label>
+                <input type="text" name="fullname" ng-model="vm.user.fullname" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['fullname'].$error"
-                  ng-show="personal_infoForm['fullname'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['fullname'].$error" ng-show="personal_infoForm['fullname'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.FULLNAME_REQUIRED"
-                      >Fullname field is required</span
-                    >
+                    <span translate="APP.ERRORS.FULLNAME_REQUIRED">Fullname field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.USERNAME">Username</label>
-                <input
-                  type="text"
-                  name="name"
-                  ng-model="vm.user.name"
-                  ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
-                  ng-required="true"
-                  disabled
-                />
+                <label translate="APP.USERNAME">Username</label>
+                <input type="text" name="name" ng-model="vm.user.name" ng-pattern="/^[A-Za-z0-9\.\_]+$/i"
+                  ng-required="true" disabled />
 
                 <div class="hint">
-                  <span translate="STAFF.HELP.USERNAME"></span>
+                  <span translate="APP.HELP.USERNAME"></span>
                 </div>
-                <div
-                  ng-messages="personal_infoForm['name'].$error"
-                  ng-show="personal_infoForm['name'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['name'].$error" ng-show="personal_infoForm['name'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.USERNAME_REQUIRED"
-                      >Username field is required</span
-                    >
+                    <span translate="APP.ERRORS.USERNAME_REQUIRED">Username field is required</span>
                   </div>
                   <div ng-message="pattern">
-                    <span
-                      translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
-                      translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
-                      >Username must be valid pattern
+                    <span translate="STAFF.ERRORS.USERNAME_MUST_VALID_PATTERN"
+                      translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }">Username must be valid pattern
                     </span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.EMAIL">Email</label>
-                <input
-                  type="email"
-                  name="email"
-                  ng-model="vm.user.email"
-                  ng-required="true"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.EMAIL">Email</label>
+                <input type="email" name="email" ng-model="vm.user.email" ng-required="true"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['email'].$error"
-                  ng-show="personal_infoForm['email'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['email'].$error" ng-show="personal_infoForm['email'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.EMAIL_REQUIRED"
-                      >Email field is required</span
-                    >
+                    <span translate="APP.ERRORS.EMAIL_REQUIRED">Email field is required</span>
                   </div>
                   <div ng-message="email">
-                    <span translate="STAFF.ERRORS.EMAIL_MUST_VALID"
-                      >Email must be a valid e-mail address</span
-                    >
+                    <span translate="APP.ERRORS.EMAIL_MUST_VALID">Email must be a valid e-mail address</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.PHONE">Phone</label>
-                <input
-                  type="text"
-                  name="phone"
-                  ng-model="vm.user.phone"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.PHONE">Phone</label>
+                <input type="text" name="phone" ng-model="vm.user.phone" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['phone'].$error"
-                  ng-show="personal_infoForm['phone'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['phone'].$error" ng-show="personal_infoForm['phone'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.PHONE_REQUIRED"
-                      >Phone field is required</span
-                    >
+                    <span translate="APP.ERRORS.PHONE_REQUIRED">Phone field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.MOBILE">Mobile</label>
-                <input
-                  type="text"
-                  name="mobile"
-                  ng-model="vm.user.mobile"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.MOBILE">Mobile</label>
+                <input type="text" name="mobile" ng-model="vm.user.mobile" ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['mobile'].$error"
-                  ng-show="personal_infoForm['mobile'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['mobile'].$error" ng-show="personal_infoForm['mobile'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.MOBILE_REQUIRED"
-                      >Mobile field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.MOBILE_REQUIRED">Mobile field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.DESCRIPTION">Description</label>
-                <input
-                  type="text"
-                  name="description"
-                  ng-model="vm.user.description"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <label translate="APP.DESCRIPTION">Description</label>
+                <input type="text" name="description" ng-model="vm.user.description"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
-                <div
-                  ng-messages="personal_infoForm['description'].$error"
-                  ng-show="personal_infoForm['description'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="personal_infoForm['description'].$error"
+                  ng-show="personal_infoForm['description'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED"
-                      >Description field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
                   </div>
                 </div>
               </md-input-container>
             </form>
           </div>
-          <div
-            class="user-detail-form-container security_suite md-background-bg md-whiteframe-1dp"
-          >
+          <div class="user-detail-form-container security_suite md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.SECURITY_SUITE">
+              <div class="h2 secondary-text" translate="APP.SECURITY_SUITE">
                 SECURITY_SUITE
               </div>
             </div>
             <form name="security_suiteForm" novalidate>
-              <md-input-container
-                ng-if="vm.user.passwordResetAt != null"
-                class="md-block"
-              >
-                <label translate="STAFF.LAST_PASSWORD_RESET_AT"
-                  >Last_Password_Reset_At</label
-                >
-                <input
-                  type="text"
-                  name="passwordResetAt"
-                  ng-model="vm.user.passwordResetAt"
-                  autofocus
-                  disabled
-                />
+              <md-input-container ng-if="vm.user.passwordResetAt != null" class="md-block">
+                <label translate="STAFF.LAST_PASSWORD_RESET_AT">Last_Password_Reset_At</label>
+                <input type="text" name="passwordResetAt" ng-model="vm.user.passwordResetAt" autofocus disabled />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.LAST_PASSWORD_RESET_AT"></span>
                 </div>
-                <div
-                  ng-messages="security_suiteForm['passwordResetAt'].$error"
-                  ng-show="security_suiteForm['passwordResetAt'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="security_suiteForm['passwordResetAt'].$error"
+                  ng-show="security_suiteForm['passwordResetAt'].$touched" role="alert">
                   <div ng-message="required">
-                    <span
-                      translate="STAFF.ERRORS.LAST_PASSWORD_RESET_AT_REQUIRED"
-                      >Last_Password_Reset_At field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.LAST_PASSWORD_RESET_AT_REQUIRED">Last_Password_Reset_At field is
+                      required</span>
                   </div>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.user.passwordResetAt == null"
-                class="md-block"
-              >
-                <label translate="STAFF.NO_PASSWORD_CHANGE"
-                  >No_Password_Change</label
-                >
-                <input
-                  type="text"
-                  name="passwordResetAt"
-                  ng-model="vm.user.passwordResetAt"
-                  disabled
-                />
+              <md-input-container ng-if="vm.user.passwordResetAt == null" class="md-block">
+                <label translate="STAFF.NO_PASSWORD_CHANGE">No_Password_Change</label>
+                <input type="text" name="passwordResetAt" ng-model="vm.user.passwordResetAt" disabled />
 
-                <div
-                  ng-messages="security_suiteForm['passwordResetAt'].$error"
-                  ng-show="security_suiteForm['passwordResetAt'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="security_suiteForm['passwordResetAt'].$error"
+                  ng-show="security_suiteForm['passwordResetAt'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.NO_PASSWORD_CHANGE_REQUIRED"
-                      >No_Password_Change field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.NO_PASSWORD_CHANGE_REQUIRED">No_Password_Change field is
+                      required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.APIKEY">ApiKey</label>
+                <label translate="APP.APIKEY">ApiKey</label>
                 <div layout="row" layout-align="center center">
-                  <button
-                    class="md-button md-fab md-mini md-primary"
-                    ngclipboard
+                  <button class="md-button md-fab md-mini md-primary" ngclipboard
                     data-clipboard-target="#copytoclipboard-apiKey"
                     ngclipboard-success="vm.alert({title: 'copied to clipboard', msg: e.text});"
-                    ngclipboard-error="vm.alert({title: 'error', msg: 'copy to clipboard failed'});"
-                  >
+                    ngclipboard-error="vm.alert({title: 'error', msg: 'copy to clipboard failed'});">
                     <md-icon md-font-icon="icon-clipboard-text"></md-icon>
                   </button>
-                  <input
-                    class="md-input"
-                    type="text"
-                    id="copytoclipboard-apiKey"
-                    name="apiKey"
-                    ng-model="vm.user.apiKey"
-                    ng-readonly="true"
-                  />
+                  <input class="md-input" type="text" id="copytoclipboard-apiKey" name="apiKey"
+                    ng-model="vm.user.apiKey" ng-readonly="true" />
                 </div>
                 <div class="hint">
-                  <span translate="STAFF.HELP.APIKEY"></span>
+                  <span translate="APP.HELP.APIKEY"></span>
                 </div>
               </md-input-container>
-              <md-input-container
-                ng-if="vm.user.id != vm.currentUser.id && vm.currentUser.role == 'admin'"
-                class="md-block"
-              >
-                <md-switch
-                  ng-model="vm.user.disabled"
-                  aria-label="Disabled"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.DISABLED">Disabled</span></md-switch
-                >
+              <md-input-container ng-if="vm.user.id != vm.currentUser.id && vm.currentUser.role == 'admin'"
+                class="md-block">
+                <md-switch ng-model="vm.user.disabled" aria-label="Disabled" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="APP.DISABLED">Disabled</span></md-switch>
 
                 <div class="hint">
-                  <span translate="STAFF.HELP.DISABLED"></span>
+                  <span translate="APP.HELP.DISABLED"></span>
                 </div>
               </md-input-container>
               <md-input-container
                 ng-if="vm.user.id != vm.currentUser.id && vm.currentUser.role == 'admin' && vm.user.disabled == 0"
-                class="md-block"
-              >
-                <md-switch
-                  ng-model="vm.user.blocked"
-                  aria-label="Blocked"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="STAFF.BLOCKED">Blocked</span></md-switch
-                >
+                class="md-block">
+                <md-switch ng-model="vm.user.blocked" aria-label="Blocked" ng-disabled="!vm.crudPermissions.canEdit">
+                  <span translate="STAFF.BLOCKED">Blocked</span></md-switch>
 
                 <div class="hint">
                   <span translate="STAFF.HELP.BLOCKED"></span>
@@ -418,89 +247,43 @@
               </md-input-container>
             </form>
           </div>
-          <div
-            class="user-detail-form-container change_avatar md-background-bg md-whiteframe-1dp"
-          >
+          <div class="user-detail-form-container change_avatar md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
               <div class="h2 secondary-text" translate="STAFF.CHANGE_AVATAR">
                 CHANGE_AVATAR
               </div>
             </div>
-            <div
-              ng-controller="Userchange_avatarController as vm_ca"
-              ng-init="vm_ca.init(vm.user, vm.crudPermissions)"
-              class="user-detail-form-container md-background-bg md-whiteframe-1dp"
-            >
-              <div
-                id="user-image-uploader"
-                flow-init="vm_ca.ngFlowOptions"
-                flow-name="vm_ca.ngFlow.flow"
-                flow-files-submitted="vm_ca.upload()"
-                flow-file-added="vm_ca.fileAdded($file)"
-                flow-file-success="vm_ca.fileSuccess($file, $message)"
-                flow-complete="vm_ca.uploadComplete()"
-                flow-drop
-                flow-drag-enter="vm_ca.dropping=true"
-                flow-drag-leave="vm_ca.dropping=false"
-                ng-class="{'dropping':vm.dropping}"
-              >
-                <div
-                  class="drop-text hint-text"
-                  layout="row"
-                  layout-align="center center"
-                >
-                  <span translate="EC.DROP_TO_UPLOAD">Drop to upload</span>
+            <div ng-controller="Userchange_avatarController as vm_ca" ng-init="vm_ca.init(vm.user, vm.crudPermissions)"
+              class="user-detail-form-container md-background-bg md-whiteframe-1dp">
+              <div id="user-image-uploader" flow-init="vm_ca.ngFlowOptions" flow-name="vm_ca.ngFlow.flow"
+                flow-files-submitted="vm_ca.upload()" flow-file-added="vm_ca.fileAdded($file)"
+                flow-file-success="vm_ca.fileSuccess($file, $message)" flow-complete="vm_ca.uploadComplete()" flow-drop
+                flow-drag-enter="vm_ca.dropping=true" flow-drag-leave="vm_ca.dropping=false"
+                ng-class="{'dropping':vm.dropping}">
+                <div class="drop-text hint-text" layout="row" layout-align="center center">
+                  <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
                 </div>
 
-                <div
-                  class="upload-button"
-                  layout="column"
-                  layout-align="center center"
-                >
-                  <md-button
-                    class="md-accent md-raised"
-                    flow-btn
-                    ng-disabled="!vm_ca.crudPermissions.canEdit"
-                  >
+                <div class="upload-button" layout="column" layout-align="center center">
+                  <md-button class="md-accent md-raised" flow-btn ng-disabled="!vm_ca.crudPermissions.canEdit">
                     Upload
                   </md-button>
-                  <span class="secondary-text mt-8"
-                    >You can also drop images here to upload. Only PNG, JPG -
-                    Max. 8MB</span
-                  >
+                  <span class="secondary-text mt-8">You can also drop images here to upload. Only PNG, JPG -
+                    Max. 8MB</span>
                 </div>
 
                 <div layout="row" layout-align="start start" layout-wrap>
-                  <div
-                    ng-repeat="change_avatarimage in vm_ca.user.images"
-                    ng-switch="change_avatarimage.type"
-                  >
-                    <div
-                      class="user-image uploading"
-                      ng-switch-when="uploading"
-                      layout="row"
-                      layout-align="center center"
-                    >
-                      <div
-                        class="overlay"
-                        layout="column"
-                        layout-align="center center"
-                      >
-                        <md-progress-linear
-                          md-mode="determinate"
-                          value="{{change_avatarimage.file.progress() * 100}}"
-                        >
+                  <div ng-repeat="change_avatarimage in vm_ca.user.images" ng-switch="change_avatarimage.type">
+                    <div class="user-image uploading" ng-switch-when="uploading" layout="row"
+                      layout-align="center center">
+                      <div class="overlay" layout="column" layout-align="center center">
+                        <md-progress-linear md-mode="determinate" value="{{change_avatarimage.file.progress() * 100}}">
                         </md-progress-linear>
                       </div>
                       <img class="media" flow-img="change_avatarimage.file" />
                     </div>
 
-                    <div
-                      class="user-image"
-                      ng-switch-when="image"
-                      layout="row"
-                      layout-align="center center"
-                    >
+                    <div class="user-image" ng-switch-when="image" layout="row" layout-align="center center">
                       <img class="media" ng-src="{{change_avatarimage.url}}" />
                     </div>
                   </div>
@@ -512,80 +295,48 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="STAFF.VOICE">VOICE</span>
+          <span translate="APP.VOICE">VOICE</span>
         </md-tab-label>
         <md-tab-body>
-          <div
-            class="user-detail-form-container general md-background-bg md-whiteframe-1dp"
-          >
+          <div class="user-detail-form-container general md-background-bg md-whiteframe-1dp">
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="STAFF.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
-              <md-input-container
-                ng-if="!vm.user.autointernal"
-                class="md-block"
-              >
-                <label translate="STAFF.INTERNAL">Internal</label>
-                <input
-                  type="text"
-                  name="internal"
-                  ng-model="vm.user.internal"
-                  ng-required="true"
-                  autofocus
-                  disabled
-                />
+              <md-input-container ng-if="!vm.user.autointernal" class="md-block">
+                <label translate="APP.INTERNAL">Internal</label>
+                <input type="text" name="internal" ng-model="vm.user.internal" ng-required="true" autofocus disabled />
 
-                <div
-                  ng-messages="generalForm['internal'].$error"
-                  ng-show="generalForm['internal'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['internal'].$error" ng-show="generalForm['internal'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.INTERNAL_REQUIRED"
-                      >Internal field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.INTERNAL_REQUIRED">Internal field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.TRANSPORT">Transport</label>
-                <md-select
-                  name="transport"
-                  ng-model="vm.user.transport"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.TRANSPORT">Transport</label>
+                <md-select name="transport" ng-model="vm.user.transport" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'udp'">udp</md-option>
                   <md-option ng-value="'tcp'">tcp</md-option>
                   <md-option ng-value="'ws'">ws</md-option>
                   <md-option ng-value="'wss'">wss</md-option>
                   <md-option ng-value="'tls'">tls</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['transport'].$error"
-                  ng-show="generalForm['transport'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['transport'].$error" ng-show="generalForm['transport'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.TRANSPORT_REQUIRED"
-                      >Transport field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.TRANSPORT_REQUIRED">Transport field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.NAT">NAT</label>
-                <md-select
-                  name="nat"
-                  ng-model="vm.user.nat"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.NAT">NAT</label>
+                <md-select name="nat" ng-model="vm.user.nat" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'force_rport'">force_rport</md-option>
                   <md-option ng-value="'comedia'">comedia</md-option>
                   <md-option ng-value="'yes'">yes</md-option>
@@ -594,27 +345,16 @@
                   <md-option ng-value="'route'">route</md-option>
                 </md-select>
                 <div class="hint"><span translate="STAFF.HELP.NAT"></span></div>
-                <div
-                  ng-messages="generalForm['nat'].$error"
-                  ng-show="generalForm['nat'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['nat'].$error" ng-show="generalForm['nat'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.NAT_REQUIRED"
-                      >NAT field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.NAT_REQUIRED">NAT field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.ALLOWCODECS">AllowCodecs</label>
-                <md-select
-                  name="allow"
-                  ng-model="vm.user.allow"
-                  multiple
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.ALLOWCODECS">AllowCodecs</label>
+                <md-select name="allow" ng-model="vm.user.allow" multiple required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'ulaw'">ulaw</md-option>
                   <md-option ng-value="'alaw'">alaw</md-option>
                   <md-option ng-value="'gsm'">gsm</md-option>
@@ -626,139 +366,82 @@
                 <div class="hint">
                   <span translate="STAFF.HELP.ALLOWCODECS"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['allow'].$error"
-                  ng-show="generalForm['allow'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['allow'].$error" ng-show="generalForm['allow'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.ALLOWCODECS_REQUIRED"
-                      >AllowCodecs field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.ALLOWCODECS_REQUIRED">AllowCodecs field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.CONTEXT">Context</label>
-                <md-select
-                  name="context"
-                  ng-model="vm.user.context"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
-                  <md-option
-                    ng-value="context.name"
-                    ng-repeat="context in vm.contexts"
-                    ng-disabled="context.canSelect === false"
-                    >{{ context.name }}</md-option
-                  >
+                <label translate="APP.CONTEXT">Context</label>
+                <md-select name="context" ng-model="vm.user.context" required ng-disabled="!vm.crudPermissions.canEdit">
+                  <md-option ng-value="context.name" ng-repeat="context in vm.contexts"
+                    ng-disabled="context.canSelect === false">{{ context.name }}</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['context'].$error"
-                  ng-show="generalForm['context'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['context'].$error" ng-show="generalForm['context'].$touched" role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CONTEXT_REQUIRED"
-                      >Context field is required</span
-                    >
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED">Context field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.CALLGROUP">Callgroup</label>
-                <input
-                  type="text"
-                  name="callgroup"
-                  ng-model="vm.user.callgroup"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="callgroup" ng-model="vm.user.callgroup"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.CALLGROUP"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['callgroup'].$error"
-                  ng-show="generalForm['callgroup'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['callgroup'].$error" ng-show="generalForm['callgroup'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.CALLGROUP_REQUIRED"
-                      >Callgroup field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.CALLGROUP_REQUIRED">Callgroup field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
                 <label translate="STAFF.PICKUPGROUP">Pickupgroup</label>
-                <input
-                  type="text"
-                  name="pickupgroup"
-                  ng-model="vm.user.pickupgroup"
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                />
+                <input type="text" name="pickupgroup" ng-model="vm.user.pickupgroup"
+                  ng-disabled="!vm.crudPermissions.canEdit" />
 
                 <div class="hint">
                   <span translate="STAFF.HELP.PICKUPGROUP"></span>
                 </div>
-                <div
-                  ng-messages="generalForm['pickupgroup'].$error"
-                  ng-show="generalForm['pickupgroup'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['pickupgroup'].$error" ng-show="generalForm['pickupgroup'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.PICKUPGROUP_REQUIRED"
-                      >Pickupgroup field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.PICKUPGROUP_REQUIRED">Pickupgroup field is required</span>
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.APIKEY">ApiKey</label>
+                <label translate="APP.APIKEY">ApiKey</label>
                 <div layout="row" layout-align="center center">
-                  <button
-                    class="md-button md-fab md-mini md-primary"
-                    ngclipboard
+                  <button class="md-button md-fab md-mini md-primary" ngclipboard
                     data-clipboard-target="#copytoclipboard-apiKey"
                     ngclipboard-success="vm.alert({title: 'copied to clipboard', msg: e.text});"
-                    ngclipboard-error="vm.alert({title: 'error', msg: 'copy to clipboard failed'});"
-                  >
+                    ngclipboard-error="vm.alert({title: 'error', msg: 'copy to clipboard failed'});">
                     <md-icon md-font-icon="icon-clipboard-text"></md-icon>
                   </button>
-                  <input
-                    class="md-input"
-                    type="text"
-                    id="copytoclipboard-apiKey"
-                    name="apiKey"
-                    ng-model="vm.user.apiKey"
-                    ng-readonly="true"
-                  />
+                  <input class="md-input" type="text" id="copytoclipboard-apiKey" name="apiKey"
+                    ng-model="vm.user.apiKey" ng-readonly="true" />
                 </div>
                 <div class="hint">
-                  <span translate="STAFF.HELP.APIKEY"></span>
+                  <span translate="APP.HELP.APIKEY"></span>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="STAFF.VIDEOSUPPORT">Videosupport</label>
-                <md-select
-                  name="videosupport"
-                  ng-model="vm.user.videosupport"
-                  required
-                  ng-disabled="!vm.crudPermissions.canEdit"
-                >
+                <label translate="APP.VIDEOSUPPORT">Videosupport</label>
+                <md-select name="videosupport" ng-model="vm.user.videosupport" required
+                  ng-disabled="!vm.crudPermissions.canEdit">
                   <md-option ng-value="'yes'">Yes</md-option>
                   <md-option ng-value="'no'">No</md-option>
                   <md-option ng-value="'always'">Always</md-option>
                 </md-select>
-                <div
-                  ng-messages="generalForm['videosupport'].$error"
-                  ng-show="generalForm['videosupport'].$touched"
-                  role="alert"
-                >
+                <div ng-messages="generalForm['videosupport'].$error" ng-show="generalForm['videosupport'].$touched"
+                  role="alert">
                   <div ng-message="required">
-                    <span translate="STAFF.ERRORS.VIDEOSUPPORT_REQUIRED"
-                      >Videosupport field is required</span
-                    >
+                    <span translate="STAFF.ERRORS.VIDEOSUPPORT_REQUIRED">Videosupport field is required</span>
                   </div>
                 </div>
               </md-input-container>
@@ -769,4 +452,4 @@
     </md-tabs>
   </div>
   <!-- / CONTENT -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/staff/views/users/users.html/users.html b/public/src/js/modules/main/apps/staff/views/users/users.html/users.html
index ff2f49f..7d8c8ae 100644
--- a/public/src/js/modules/main/apps/staff/views/users/users.html/users.html
+++ b/public/src/js/modules/main/apps/staff/views/users/users.html/users.html
@@ -1,44 +1,26 @@
-<div
-  id="users"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="users" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
         <span class="logo-icon">
           <md-icon md-font-icon="icon-account-multiple" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="STAFF.USERS">Users</span>
+        <span class="logo-text" translate="APP.USERS">Users</span>
       </div>
     </div>
     <!-- / APP TITLE -->
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="STAFF.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -47,16 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedUsers.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
+  <div ng-show="vm.selectedUsers.length > 0" class="selected-bar header animate-slide-down md-accent-bg" layout="row"
+    layout-align="start center">
     <div class="close-button-wrapper" ng-click="vm.selectedUsers =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="STAFF.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,33 +42,22 @@
       <div>
         <span class="selected-users-count">
           <span>{{vm.selectedUsers.length}}</span>
-          <span translate="STAFF.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="STAFF.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllUsers()"
-                translate="STAFF.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllUsers()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectUsers()"
-                translate="STAFF.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectUsers()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -99,12 +66,7 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedUsers"
-          csv-label="true"
-          filename="users.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedUsers" csv-label="true" filename="users.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
       </div>
@@ -119,20 +81,10 @@
       <!-- USER TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedUsers"
-            md-progress="vm.promise"
-          >
+          <table md-table md-row-select multiple ng-model="vm.selectedUsers" md-progress="vm.promise">
             <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getUsers">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
                 <th md-column md-order-by="role">
                   {{ 'STAFF.ROLE' | translate }}
                 </th>
@@ -140,25 +92,25 @@
                   {{ 'STAFF.USERPROFILE' | translate }}
                 </th>
                 <th md-column md-order-by="fullname">
-                  {{ 'STAFF.FULLNAME' | translate }}
+                  {{ 'APP.FULLNAME' | translate }}
                 </th>
                 <th md-column md-order-by="name">
-                  {{ 'STAFF.USERNAME' | translate }}
+                  {{ 'APP.USERNAME' | translate }}
                 </th>
                 <th md-column md-order-by="email">
-                  {{ 'STAFF.EMAIL' | translate }}
+                  {{ 'APP.EMAIL' | translate }}
                 </th>
                 <th md-column md-order-by="phone">
-                  {{ 'STAFF.PHONE' | translate }}
+                  {{ 'APP.PHONE' | translate }}
                 </th>
                 <th md-column md-order-by="mobile">
-                  {{ 'STAFF.MOBILE' | translate }}
+                  {{ 'APP.MOBILE' | translate }}
                 </th>
                 <th md-column md-order-by="internal">
-                  {{ 'STAFF.INTERNAL' | translate }}
+                  {{ 'APP.INTERNAL' | translate }}
                 </th>
                 <th md-column md-order-by="disabled">
-                  {{ 'STAFF.DISABLED' | translate }}
+                  {{ 'APP.DISABLED' | translate }}
                 </th>
                 <th md-column md-order-by="blocked">
                   {{ 'STAFF.BLOCKED' | translate }}
@@ -170,122 +122,75 @@
               <tr md-row ng-hide="vm.users.rows.length">
                 <td md-cell colspan="11">
                   <div layout="row" layout-align="center center">
-                    <span translate="STAFF.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="user"
-                md-select-id="id"
-                ng-repeat="user in vm.users.rows"
-              >
+              <tr md-row md-select="user" md-select-id="id" ng-repeat="user in vm.users.rows">
                 <td md-cell ng-if="user.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{user.name}}"
-                    ng-src="api/users/{{user.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{user.name}}" ng-src="api/users/{{user.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!user.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{user.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!user.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{user.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="role"
-                >
+                  md-cell class="role">
                   {{ vm.arrayrole[user.role].option }}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="userProfileId font-weight-600"
-                >
+                  md-cell class="userProfileId font-weight-600">
                   {{ (vm.userProfiles | filter : {'id':user.userProfileId} :
                   true)[0].name }}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="fullname font-weight-600"
-                >
+                  md-cell class="fullname font-weight-600">
                   {{user.fullname}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="name"
-                >
+                  md-cell class="name">
                   {{user.name}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="email"
-                >
+                  md-cell class="email">
                   {{user.email}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="phone"
-                >
+                  md-cell class="phone">
                   {{user.phone}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="mobile"
-                >
+                  md-cell class="mobile">
                   {{user.mobile}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="internal"
-                >
+                  md-cell class="internal">
                   {{user.internal}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="disabled"
-                >
-                  <md-icon
-                    md-colors="{color: {{user.disabled ? '\'green\'' : '\'grey\''}}}"
-                    md-font-icon="{{user.disabled ? 'icon-check' : 'icon-close'}}"
-                  ></md-icon>
+                  md-cell class="disabled">
+                  <md-icon md-colors="{color: {{user.disabled ? '\'green\'' : '\'grey\''}}}"
+                    md-font-icon="{{user.disabled ? 'icon-check' : 'icon-close'}}"></md-icon>
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(user, ev) : vm.createOrEditUser($event, user)"
-                  md-cell
-                  class="blocked"
-                >
-                  <md-icon
-                    md-colors="{color: {{user.blocked ? '\'green\'' : '\'grey\''}}}"
-                    md-font-icon="{{user.blocked ? 'icon-check' : 'icon-close'}}"
-                  ></md-icon>
+                  md-cell class="blocked">
+                  <md-icon md-colors="{color: {{user.blocked ? '\'green\'' : '\'grey\''}}}"
+                    md-font-icon="{{user.blocked ? 'icon-check' : 'icon-close'}}"></md-icon>
                 </td>
 
                 <td md-cell class="actions">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="STAFF.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -295,10 +200,7 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editstate(user, $event    )"
-                          translate="STAFF.EDIT_USER"
-                        >
+                        <md-button ng-click="vm.editstate(user, $event    )" translate="STAFF.EDIT_USER">
                           Edit User
                         </md-button>
                       </md-menu-item>
@@ -307,13 +209,8 @@
 
                       <!-- ACTIONS -->
 
-                      <md-menu-item
-                        ng-if="vm.currentUser.role === 'admin' && user.id !== vm.currentUser.id"
-                      >
-                        <md-button
-                          ng-click="vm.deleteconfirm(user, $event    )"
-                          translate="STAFF.DELETE_USER"
-                        >
+                      <md-menu-item ng-if="vm.currentUser.role === 'admin' && user.id !== vm.currentUser.id">
+                        <md-button ng-click="vm.deleteconfirm(user, $event    )" translate="STAFF.DELETE_USER">
                           Delete User
                         </md-button>
                       </md-menu-item>
@@ -326,14 +223,9 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'STAFF.PAGE' | translate}}:', rowsPerPage: '{{'STAFF.ROWSPERPAGE' | translate}}:', of: '{{'STAFF.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.users.count}}"
-          md-on-paginate="vm.getUsers"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.users.count}}" md-on-paginate="vm.getUsers" md-page-select></md-table-pagination>
       </md-card>
       <!-- / USER TABLE -->
       <!-- NO RESULTS -->
@@ -345,16 +237,9 @@
   <!-- / CONTENT -->
 
   <!-- ADD USER BUTTON -->
-  <md-button
-    ng-if="vm.crudPermissions.canEdit"
-    class="md-fab md-accent add-item-button"
-    id="add-user-button"
-    ng-click="vm.createOrEditUser($event)"
-    aria-label="add user"
-    translate
-    translate-attr-aria-label="STAFF.ADD_USER"
-  >
+  <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-user-button"
+    ng-click="vm.createOrEditUser($event)" aria-label="add user" translate translate-attr-aria-label="STAFF.ADD_USER">
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
   <!-- / ADD USER BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/tools/views/cannedAnswers/cannedAnswers.html/cannedAnswers.html b/public/src/js/modules/main/apps/tools/views/cannedAnswers/cannedAnswers.html/cannedAnswers.html
index 81fbce2..4d236a1 100644
--- a/public/src/js/modules/main/apps/tools/views/cannedAnswers/cannedAnswers.html/cannedAnswers.html
+++ b/public/src/js/modules/main/apps/tools/views/cannedAnswers/cannedAnswers.html/cannedAnswers.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-auto-fix" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="TOOLS.CANNEDANSWERS"
+        <span class="logo-text" translate="APP.CANNEDANSWERS"
           >CannedAnswers</span
       </div>
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedCannedAnswers =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-cannedAnswers-count">
           <span>{{vm.selectedCannedAnswers.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllCannedAnswers()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectCannedAnswers()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedCannedAnswers($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,15 +149,13 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
-                <th md-column md-order-by="key">
-                  {{ 'TOOLS.KEY' | translate }}
-                </th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
+                <th md-column md-order-by="key">{{ 'APP.KEY' | translate }}</th>
                 <th md-column md-order-by="value">
-                  {{ 'TOOLS.VALUE' | translate }}
+                  {{ 'APP.VALUE' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -166,7 +164,7 @@
               <tr md-row ng-hide="vm.cannedAnswers.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -234,7 +232,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -282,7 +280,8 @@
           md-total="{{vm.cannedAnswers.count}}"
           md-on-paginate="vm.getCannedAnswers"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / CANNEDANSWER TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/tools/views/cannedAnswers/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/cannedAnswers/create/dialog.html/dialog.html
index f59670a..6b036fa 100644
--- a/public/src/js/modules/main/apps/tools/views/cannedAnswers/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/cannedAnswers/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type="text"
           name="key"
@@ -54,13 +54,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
           <div ng-message="md-maxlength">
             <span
-              translate="TOOLS.ERRORS.KEY_MAX_LENGTH"
+              translate="APP.ERRORS.KEY_MAX_LENGTH"
               translate-values="{max: 255}"
               >Key must have a maximum length equal to 255</span
             >
@@ -68,7 +68,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <textarea
           name="value"
           ng-model="vm.cannedAnswer.value"
@@ -81,14 +81,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -143,8 +143,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="cannedAnswerForm.$invalid || cannedAnswerForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -169,10 +169,10 @@
           ng-click="vm.deleteCannedAnswer($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/customDashboards/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/customDashboards/create/dialog.html/dialog.html
index 0d12b56..dad7344 100644
--- a/public/src/js/modules/main/apps/tools/views/customDashboards/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/customDashboards/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -115,8 +115,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="customDashboardForm.$invalid || customDashboardForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -141,10 +141,10 @@
           ng-click="vm.deleteCustomDashboard($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/customDashboards/customDashboards.html/customDashboards.html b/public/src/js/modules/main/apps/tools/views/customDashboards/customDashboards.html/customDashboards.html
index c7ec4ad..2ba0a34 100644
--- a/public/src/js/modules/main/apps/tools/views/customDashboards/customDashboards.html/customDashboards.html
+++ b/public/src/js/modules/main/apps/tools/views/customDashboards/customDashboards.html/customDashboards.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -61,7 +61,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,7 +69,7 @@
       <div>
         <span class="selected-customDashboards-count">
           <span>{{vm.selectedCustomDashboards.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -86,7 +86,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllCustomDashboards()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -94,7 +94,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectCustomDashboards()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -118,7 +118,7 @@
           ng-click="vm.deleteSelectedCustomDashboards($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -152,12 +152,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -166,7 +166,7 @@
               <tr md-row ng-hide="vm.customDashboards.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -223,7 +223,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -297,7 +297,8 @@
           md-total="{{vm.customDashboards.count}}"
           md-on-paginate="vm.getCustomDashboards"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / CUSTOMDASHBOARD TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/tools/views/customDashboards/edit/clone/clone.html/clone.html b/public/src/js/modules/main/apps/tools/views/customDashboards/edit/clone/clone.html/clone.html
index 0a161f4..f3ad97e 100644
--- a/public/src/js/modules/main/apps/tools/views/customDashboards/edit/clone/clone.html/clone.html
+++ b/public/src/js/modules/main/apps/tools/views/customDashboards/edit/clone/clone.html/clone.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
diff --git a/public/src/js/modules/main/apps/tools/views/customDashboards/edit/dashboard/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/customDashboards/edit/dashboard/dialog.html/dialog.html
index f85fec6..93eebea 100644
--- a/public/src/js/modules/main/apps/tools/views/customDashboards/edit/dashboard/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/customDashboards/edit/dashboard/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="type"
           ng-model="vm.dashboarditem.type"
@@ -79,7 +79,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -118,7 +118,7 @@
         ng-if="vm.dashboarditem.type == 'iframe'"
         class="md-block"
-        <label translate="TOOLS.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="url"
           name="attrUrl"
@@ -132,7 +132,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -171,7 +171,7 @@
         ng-if="vm.dashboarditem.type == 'clock'"
         class="md-block"
-        <label translate="TOOLS.FORMAT">Format</label>
+        <label translate="APP.FORMAT">Format</label>
         <input
           type="text"
           name="attrHourFormat"
@@ -195,7 +195,7 @@
         ng-if="vm.dashboarditem.type == 'clock'"
         class="md-block"
-        <label translate="TOOLS.TIMEZONE">Timezone</label>
+        <label translate="APP.TIMEZONE">Timezone</label>
         <md-select
           name="attrTimezone"
           ng-model="vm.dashboarditem.attrTimezone"
@@ -241,7 +241,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.TIMEZONE_REQUIRED"
+            <span translate="APP.ERRORS.TIMEZONE_REQUIRED"
               >Timezone field is required</span
             >
           </div>
@@ -251,34 +251,34 @@
         ng-if="vm.dashboarditem.type == 'counter'"
         class="md-block"
-        <label translate="TOOLS.METRIC">Metric</label>
+        <label translate="APP.METRIC">Metric</label>
         <md-select
           name="attrMetric"
           ng-model="vm.dashboarditem.attrMetric"
           required
           <md-option ng-value="'total'">
-            {{ 'TOOLS.TOTAL' | translate }}
+            {{ 'APP.TOTAL' | translate }}
           </md-option>
 
           <md-option ng-value="'abandoned'">
-            {{ 'TOOLS.ABANDONED' | translate }}
+            {{ 'APP.ABANDONED' | translate }}
           </md-option>
 
           <md-option ng-value="'waiting'">
-            {{ 'TOOLS.WAITING' | translate }}
+            {{ 'APP.WAITING' | translate }}
           </md-option>
 
           <md-option ng-value="'talking'">
-            {{ 'TOOLS.TALKING' | translate }}
+            {{ 'APP.TALKING' | translate }}
           </md-option>
 
           <md-option ng-value="'answered'">
-            {{ 'TOOLS.ANSWERED' | translate }}
+            {{ 'APP.ANSWERED' | translate }}
           </md-option>
 
           <md-option ng-value="'unmanaged'">
-            {{ 'TOOLS.UNMANAGED' | translate }}
+            {{ 'APP.UNMANAGED' | translate }}
           </md-option>
         </md-select>
         <div
@@ -304,27 +304,27 @@
           required
           <md-option ng-value="'total'">
-            {{ 'TOOLS.TOTAL' | translate }}
+            {{ 'APP.TOTAL' | translate }}
           </md-option>
 
           <md-option ng-value="'abandoned'">
-            {{ 'TOOLS.ABANDONED' | translate }}
+            {{ 'APP.ABANDONED' | translate }}
           </md-option>
 
           <md-option ng-value="'waiting'">
-            {{ 'TOOLS.WAITING' | translate }}
+            {{ 'APP.WAITING' | translate }}
           </md-option>
 
           <md-option ng-value="'talking'">
-            {{ 'TOOLS.TALKING' | translate }}
+            {{ 'APP.TALKING' | translate }}
           </md-option>
 
           <md-option ng-value="'answered'">
-            {{ 'TOOLS.ANSWERED' | translate }}
+            {{ 'APP.ANSWERED' | translate }}
           </md-option>
 
           <md-option ng-value="'unmanaged'">
-            {{ 'TOOLS.UNMANAGED' | translate }}
+            {{ 'APP.UNMANAGED' | translate }}
           </md-option>
         </md-select>
         <div
@@ -346,31 +346,31 @@
         <label translate="TOOLS.SERIE2">Serie2</label>
         <md-select name="attrSerie2" ng-model="vm.dashboarditem.attrSerie2">
           <md-option ng-value="'null'">
-            {{ 'TOOLS.NONE' | translate }}
+            {{ 'APP.NONE' | translate }}
           </md-option>
 
           <md-option ng-value="'total'">
-            {{ 'TOOLS.TOTAL' | translate }}
+            {{ 'APP.TOTAL' | translate }}
           </md-option>
 
           <md-option ng-value="'abandoned'">
-            {{ 'TOOLS.ABANDONED' | translate }}
+            {{ 'APP.ABANDONED' | translate }}
           </md-option>
 
           <md-option ng-value="'waiting'">
-            {{ 'TOOLS.WAITING' | translate }}
+            {{ 'APP.WAITING' | translate }}
           </md-option>
 
           <md-option ng-value="'talking'">
-            {{ 'TOOLS.TALKING' | translate }}
+            {{ 'APP.TALKING' | translate }}
           </md-option>
 
           <md-option ng-value="'answered'">
-            {{ 'TOOLS.ANSWERED' | translate }}
+            {{ 'APP.ANSWERED' | translate }}
           </md-option>
 
           <md-option ng-value="'unmanaged'">
-            {{ 'TOOLS.UNMANAGED' | translate }}
+            {{ 'APP.UNMANAGED' | translate }}
           </md-option>
         </md-select>
         <div
@@ -392,31 +392,31 @@
         <label translate="TOOLS.SERIE3">Serie3</label>
         <md-select name="attrSerie3" ng-model="vm.dashboarditem.attrSerie3">
           <md-option ng-value="'null'">
-            {{ 'TOOLS.NONE' | translate }}
+            {{ 'APP.NONE' | translate }}
           </md-option>
 
           <md-option ng-value="'total'">
-            {{ 'TOOLS.TOTAL' | translate }}
+            {{ 'APP.TOTAL' | translate }}
           </md-option>
 
           <md-option ng-value="'abandoned'">
-            {{ 'TOOLS.ABANDONED' | translate }}
+            {{ 'APP.ABANDONED' | translate }}
           </md-option>
 
           <md-option ng-value="'waiting'">
-            {{ 'TOOLS.WAITING' | translate }}
+            {{ 'APP.WAITING' | translate }}
           </md-option>
 
           <md-option ng-value="'talking'">
-            {{ 'TOOLS.TALKING' | translate }}
+            {{ 'APP.TALKING' | translate }}
           </md-option>
 
           <md-option ng-value="'answered'">
-            {{ 'TOOLS.ANSWERED' | translate }}
+            {{ 'APP.ANSWERED' | translate }}
           </md-option>
 
           <md-option ng-value="'unmanaged'">
-            {{ 'TOOLS.UNMANAGED' | translate }}
+            {{ 'APP.UNMANAGED' | translate }}
           </md-option>
         </md-select>
         <div
@@ -435,7 +435,7 @@
         ng-if="vm.dashboarditem.type == 'web-report'"
         class="md-block"
-        <label translate="TOOLS.REPORT">Report</label>
+        <label translate="APP.REPORT">Report</label>
         <input
           type="search"
           name="report"
@@ -542,13 +542,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.FONTSIZE_REQUIRED"
+            <span translate="APP.ERRORS.FONTSIZE_REQUIRED"
               >FontSize field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="TOOLS.ERRORS.FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >FontSize must be a valid greater or equal than</span
             >
             <span>12</span>
@@ -645,8 +645,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="dashboarditemForm.$invalid || dashboarditemForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -671,10 +671,10 @@
           ng-click="vm.deleteDashboardItem($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/customDashboards/edit/view.html/view.html b/public/src/js/modules/main/apps/tools/views/customDashboards/edit/view.html/view.html
index c34d147..cb3b5e4 100644
--- a/public/src/js/modules/main/apps/tools/views/customDashboards/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/tools/views/customDashboards/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="TOOLS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.customDashboard.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -68,8 +68,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (dashboardForm.$invalid)"
-        translate="TOOLS.SAVE"
-        translate-attr-aria-label="TOOLS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -88,20 +88,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="TOOLS.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="customDashboard-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="TOOLS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="TOOLS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -117,14 +117,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -150,7 +150,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="TOOLS.DASHBOARD">DASHBOARD</span>
+          <span translate="APP.DASHBOARD">DASHBOARD</span>
         </md-tab-label>
         <md-tab-body>
           <div
diff --git a/public/src/js/modules/main/apps/tools/views/customDashboards/partialViews/reports/treeReports.html/treeReports.html b/public/src/js/modules/main/apps/tools/views/customDashboards/partialViews/reports/treeReports.html/treeReports.html
index eaefc20..7144805 100644
--- a/public/src/js/modules/main/apps/tools/views/customDashboards/partialViews/reports/treeReports.html/treeReports.html
+++ b/public/src/js/modules/main/apps/tools/views/customDashboards/partialViews/reports/treeReports.html/treeReports.html
@@ -78,7 +78,7 @@
               <tr md-row ng-hide="vm.reports.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="ANALYTICS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -102,7 +102,7 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{ 'ANALYTICS.PAGE' | translate }}:', rowsPerPage: '{{ 'ANALYTICS.ROWSPERPAGE' | translate }}:', of: '{{ 'ANALYTICS.OF' | translate }}'}"
+          md-label="{page: '{{ 'APP.PAGE' | translate }}:', rowsPerPage: '{{ 'APP.ROWSPERPAGE' | translate }}:', of: '{{ 'APP.OF' | translate }}'}"
           md-limit="vm.query.limit"
           md-limit-options="[10]"
           md-page="vm.query.page"
diff --git a/public/src/js/modules/main/apps/tools/views/dispositions/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/dispositions/create/dialog.html/dialog.html
index bf963da..9137a37 100644
--- a/public/src/js/modules/main/apps/tools/views/dispositions/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/dispositions/create/dialog.html/dialog.html
@@ -20,7 +20,7 @@
     </md-toolbar>
     <md-dialog-content ms-scroll>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -35,7 +35,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
@@ -49,7 +49,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -172,8 +172,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="dispositionForm.$invalid || dispositionForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -197,10 +197,10 @@
           ng-click="vm.deleteDisposition($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/dispositions/dispositions.html/dispositions.html b/public/src/js/modules/main/apps/tools/views/dispositions/dispositions.html/dispositions.html
index af04b6a..cc296f4 100644
--- a/public/src/js/modules/main/apps/tools/views/dispositions/dispositions.html/dispositions.html
+++ b/public/src/js/modules/main/apps/tools/views/dispositions/dispositions.html/dispositions.html
@@ -11,9 +11,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-auto-fix" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="TOOLS.DISPOSITIONS"
-          >Dispositions</span
-        >
+        <span class="logo-text" translate="APP.DISPOSITIONS">Dispositions</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -35,7 +33,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -53,14 +51,14 @@
     <div class="close-button-wrapper" ng-click="vm.selectedDispositions = []">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
     <div flex layout="row" layout-align="space-between center">
       <div>
         <span class="selected-dispositions-count">
           <span>{{vm.selectedDispositions.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
         <md-menu class="select-menu" ng-if="!vm.currentThread">
           <md-button
@@ -76,7 +74,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllDispositions()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -84,7 +82,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectDispositions()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -107,7 +105,7 @@
           ng-click="vm.deleteSelectedDispositions($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,7 +145,7 @@
                   ng-change="vm.getDispositions()"
                   <md-option ng-value="null"
-                    ><em translate="TOOLS.ALL">All</em></md-option
+                    ><em translate="APP.ALL">All</em></md-option
                   <md-option
                     ng-value="key"
@@ -175,17 +173,15 @@
                 md-on-reorder="vm.getDispositions"
                 <tr md-row>
-                  <th md-column md-order-by="id">
-                    {{ 'TOOLS.ID' | translate }}
-                  </th>
+                  <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                   <th md-column md-order-by="level">
                     {{ 'TOOLS.LEVEL' | translate }}
                   </th>
                   <th md-column md-order-by="name">
-                    {{ 'TOOLS.NAME' | translate }}
+                    {{ 'APP.NAME' | translate }}
                   </th>
                   <th md-column md-order-by="description">
-                    {{ 'TOOLS.DESCRIPTION' | translate }}
+                    {{ 'APP.DESCRIPTION' | translate }}
                   </th>
                   <th md-column width="10px"></th>
                 </tr>
@@ -194,7 +190,7 @@
                 <tr md-row ng-hide="vm.dispositions.rows.length">
                   <td md-cell colspan="5">
                     <div layout="row" layout-align="center center">
-                      <span translate="TOOLS.NO_AVAILABLE_INFO"
+                      <span translate="APP.NO_AVAILABLE_INFO"
                         >No Available Info</span
                     </div>
@@ -261,7 +257,7 @@
                         class="md-icon-button"
                         aria-label="More"
                         translate
-                        translate-attr-aria-label="TOOLS.MORE"
+                        translate-attr-aria-label="APP.MORE"
                         ng-click="$mdMenu.open($event)"
                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/tools/views/intervals/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/intervals/create/dialog.html/dialog.html
index b3f559d..5cd857f 100644
--- a/public/src/js/modules/main/apps/tools/views/intervals/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/intervals/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -115,8 +115,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -141,10 +141,10 @@
           ng-click="vm.deleteInterval($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/intervals/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/intervals/edit/apps/interval/dialog.html/dialog.html
index fa04e1f..76328ae 100644
--- a/public/src/js/modules/main/apps/tools/views/intervals/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/intervals/edit/apps/interval/dialog.html/dialog.html
@@ -1,142 +1,75 @@
 <md-dialog class="inboundroute-dialog" aria-label="New Interval">
   <form name="intervalForm" class="md-inline-form" novalidate>
     <md-toolbar class="md-accent md-hue-2">
-      <div
-        class="md-toolbar-tools"
-        layout="row"
-        layout-align="space-between center"
-      >
+      <div class="md-toolbar-tools" layout="row" layout-align="space-between center">
         <span class="title">{{ vm.title | translate }}</span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
-          <md-icon
-            md-font-icon="icon-close"
-            aria-label="Close dialog"
-          ></md-icon>
+          <md-icon md-font-icon="icon-close" aria-label="Close dialog"></md-icon>
         </md-button>
       </div>
     </md-toolbar>
 
     <md-dialog-content ms-scroll>
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
-        <input
-          ng-model="vm.interval.name"
-          type="text"
-          name="name"
-          placeholder="{{'TOOLS.NAME' | translate}}"
-          ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          md-autofocus
-          required
-        />
-        <div
-          ng-messages="intervalForm.name.$error"
-          ng-show="intervalForm.name.$touched"
-          role="alert"
-        >
+        <label translate="APP.NAME">Name</label>
+        <input ng-model="vm.interval.name" type="text" name="name" placeholder="{{'APP.NAME' | translate}}"
+          ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit" md-autofocus required />
+        <div ng-messages="intervalForm.name.$error" ng-show="intervalForm.name.$touched" role="alert">
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
-              >Name field is required</span
-            >
+            <span translate="APP.ERRORS.NAME_REQUIRED">Name field is required</span>
           </div>
         </div>
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
-        <md-select
-          ng-model="vm.type"
-          ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-        >
-          <md-option ng-value="type" ng-repeat="type in vm.types"
-            >{{ type | ucfirst }}</md-option
-          >
+        <label translate="APP.TYPE">Type</label>
+        <md-select ng-model="vm.type" ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+          <md-option ng-value="type" ng-repeat="type in vm.types">{{ type | ucfirst }}</md-option>
         </md-select>
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
-        <md-select
-          ng-model="vm.interval.IntervalId"
-          ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-        >
-          <md-option ng-value="interval.id" ng-repeat="interval in vm.intervals"
-            >{{ interval.name }}</md-option
-          >
+        <label translate="APP.INTERVALS">Intervals</label>
+        <md-select ng-model="vm.interval.IntervalId" ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+          <md-option ng-value="interval.id" ng-repeat="interval in vm.intervals">{{ interval.name }}</md-option>
         </md-select>
       </md-input-container>
 
       <!-- TIMERANGE START -->
-      <label ng-if="vm.type === 'custom'" translate="TOOLS.TIME_RANGE"
-        >Time Range</label
-      >
+      <label ng-if="vm.type === 'custom'" translate="TOOLS.TIME_RANGE">Time Range</label>
       <div layout="row" ng-if="vm.type === 'custom'">
         <div class="md-block" flex>
-          <mdp-time-picker
-            name="timeRangeFrom"
-            mdp-placeholder="FROM"
-            ng-model="vm.timeRangeFrom"
-            mdp-format="HH:mm"
-            mdp-auto-switch="true"
-            mdp-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          >
-            <div
-              ng-messages="intervalForm.timeRangeFrom.$error"
-              ng-show="intervalForm.timeRangeFrom.$touched"
-              role="alert"
-            >
+          <mdp-time-picker name="timeRangeFrom" mdp-placeholder="FROM" ng-model="vm.timeRangeFrom" mdp-format="HH:mm"
+            mdp-auto-switch="true" mdp-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+            <div ng-messages="intervalForm.timeRangeFrom.$error" ng-show="intervalForm.timeRangeFrom.$touched"
+              role="alert">
               <div ng-message="format">
-                <span translate="TOOLS.ERRORS.TIME_RANGE_FROM_INVALID"
-                  >Time Range From field is invalid</span
-                >
+                <span translate="TOOLS.ERRORS.TIME_RANGE_FROM_INVALID">Time Range From field is invalid</span>
               </div>
             </div>
           </mdp-time-picker>
         </div>
         <div class="md-block" flex ng-if="vm.timeRangeFrom">
-          <mdp-time-picker
-            name="timeRangeTo"
-            mdp-placeholder="TO*"
-            ng-model="vm.timeRangeTo"
-            mdp-format="HH:mm"
-            mdp-auto-switch="true"
-            mdp-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-            required
-          >
-            <div
-              ng-messages="intervalForm.timeRangeTo.$error"
-              ng-show="intervalForm.timeRangeTo.$invalid"
-              role="alert"
-            >
+          <mdp-time-picker name="timeRangeTo" mdp-placeholder="TO*" ng-model="vm.timeRangeTo" mdp-format="HH:mm"
+            mdp-auto-switch="true" mdp-disabled="!vm.newInterval && !vm.crudPermissions.canEdit" required>
+            <div ng-messages="intervalForm.timeRangeTo.$error" ng-show="intervalForm.timeRangeTo.$invalid" role="alert">
               <div ng-message="format">
-                <span translate="TOOLS.ERRORS.TIME_RANGE_TO_INVALID"
-                  >Time Range To field is invalid</span
-                >
+                <span translate="TOOLS.ERRORS.TIME_RANGE_TO_INVALID">Time Range To field is invalid</span>
               </div>
               <div ng-message="required">
-                <span translate="TOOLS.ERRORS.TIME_RANGE_TO_REQUIRED"
-                  >Time Range To field is required</span
-                >
+                <span translate="TOOLS.ERRORS.TIME_RANGE_TO_REQUIRED">Time Range To field is required</span>
               </div>
             </div>
           </mdp-time-picker>
@@ -145,160 +78,84 @@
       <!-- TIMERANGE END -->
 
       <!-- DAYSOFWEEK START -->
-      <label ng-if="vm.type === 'custom'" translate="TOOLS.WEEK_DAYS"
-        >Week Days</label
-      >
+      <label ng-if="vm.type === 'custom'" translate="TOOLS.WEEK_DAYS">Week Days</label>
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
-          <md-select
-            ng-model="vm.dayOfWeekFrom"
-            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          >
-            <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
-            >
-            <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
-              ><span translate="TOOLS.{{day.value | uppercase}}"
-                >{{ day.value | ucfirst }}</span
-              ></md-option
-            >
+          <label translate="APP.FROM">From</label>
+          <md-select ng-model="vm.dayOfWeekFrom" ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+            <md-option ng-value="null"><span translate="APP.ALWAYS">Always</span></md-option>
+            <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"><span
+                translate="TOOLS.{{day.value | uppercase}}">{{ day.value | ucfirst }}</span></md-option>
           </md-select>
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
-          <md-select
-            name="dayOfWeekTo"
-            ng-model="vm.dayOfWeekTo"
-            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          >
-            <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
-              ><span translate="TOOLS.{{day.value | uppercase}}"
-                >{{ day.value | ucfirst }}</span
-              ></md-option
-            >
+          <label translate="APP.TO">To</label>
+          <md-select name="dayOfWeekTo" ng-model="vm.dayOfWeekTo"
+            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+            <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"><span
+                translate="TOOLS.{{day.value | uppercase}}">{{ day.value | ucfirst }}</span></md-option>
           </md-select>
-          <div
-            ng-messages="intervalForm.dayOfWeekTo.$error"
-            ng-show="intervalForm.dayOfWeekTo.$touched"
-            role="alert"
-          ></div>
+          <div ng-messages="intervalForm.dayOfWeekTo.$error" ng-show="intervalForm.dayOfWeekTo.$touched" role="alert">
+          </div>
         </md-input-container>
       </div>
       <!-- DAYSOFWEEK END -->
 
       <!-- MONTHDAY START -->
-      <label ng-if="vm.type === 'custom'" translate="TOOLS.MONTH_DAYS"
-        >Time Range</label
-      >
+      <label ng-if="vm.type === 'custom'" translate="TOOLS.MONTH_DAYS">Time Range</label>
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
-          <md-select
-            ng-model="vm.monthDayFrom"
-            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          >
-            <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
-            >
-            <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
-              >{{ month }}</md-option
-            >
+          <label translate="APP.FROM">From</label>
+          <md-select ng-model="vm.monthDayFrom" ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+            <md-option ng-value="null"><span translate="APP.ALWAYS">Always</span></md-option>
+            <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth">{{ month }}</md-option>
           </md-select>
         </md-input-container>
 
-        <md-input-container
-          flex
-          layout="column"
-          class="md-block"
-          ng-if="vm.monthDayFrom"
-        >
-          <label translate="TOOLS.TO">To</label>
-          <md-select
-            name="monthDayTo"
-            ng-model="vm.monthDayTo"
-            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          >
-            <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
-              >{{ month }}</md-option
-            >
+        <md-input-container flex layout="column" class="md-block" ng-if="vm.monthDayFrom">
+          <label translate="APP.TO">To</label>
+          <md-select name="monthDayTo" ng-model="vm.monthDayTo"
+            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+            <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth">{{ month }}</md-option>
           </md-select>
-          <div
-            ng-messages="intervalForm.monthDayTo.$error"
-            ng-show="intervalForm.monthDayTo.$touched"
-            role="alert"
-          ></div>
+          <div ng-messages="intervalForm.monthDayTo.$error" ng-show="intervalForm.monthDayTo.$touched" role="alert">
+          </div>
         </md-input-container>
       </div>
       <!-- MONTHDAY END -->
 
       <!-- MONTH START -->
-      <label ng-if="vm.type === 'custom'" translate="TOOLS.MONTHS"
-        >Time Range</label
-      >
+      <label ng-if="vm.type === 'custom'" translate="TOOLS.MONTHS">Time Range</label>
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
-          <md-select
-            ng-model="vm.monthFrom"
-            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          >
-            <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
-            >
-            <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
-              ><span translate="TOOLS.{{month.value | uppercase}}"
-                >{{ month.value | ucfirst }}</span
-              ></md-option
-            >
+          <label translate="APP.FROM">From</label>
+          <md-select ng-model="vm.monthFrom" ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+            <md-option ng-value="null"><span translate="APP.ALWAYS">Always</span></md-option>
+            <md-option ng-value="month.value" ng-repeat="month in vm.monthName"><span
+                translate="TOOLS.{{month.value | uppercase}}">{{ month.value | ucfirst }}</span></md-option>
           </md-select>
         </md-input-container>
 
-        <md-input-container
-          flex
-          layout="column"
-          class="md-block"
-          ng-if="vm.monthFrom"
-        >
-          <label translate="TOOLS.TO">To</label>
-          <md-select
-            name="monthTo"
-            ng-model="vm.monthTo"
-            ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
-          >
-            <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
-              ><span translate="TOOLS.{{month.value | uppercase}}"
-                >{{ month.value | ucfirst }}</span
-              ></md-option
-            >
+        <md-input-container flex layout="column" class="md-block" ng-if="vm.monthFrom">
+          <label translate="APP.TO">To</label>
+          <md-select name="monthTo" ng-model="vm.monthTo" ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit">
+            <md-option ng-value="month.value" ng-repeat="month in vm.monthName"><span
+                translate="TOOLS.{{month.value | uppercase}}">{{ month.value | ucfirst }}</span></md-option>
           </md-select>
-          <div
-            ng-messages="intervalForm.monthTo.$error"
-            ng-show="intervalForm.monthTo.$touched"
-            role="alert"
-          ></div>
+          <div ng-messages="intervalForm.monthTo.$error" ng-show="intervalForm.monthTo.$touched" role="alert"></div>
         </md-input-container>
       </div>
       <!-- MONTH END -->
 
       <div class="error-list">
-        <div
-          ng-repeat="error in vm.errors"
-          class="error"
-          layout="row"
-          layout-align="space-between center"
-        >
+        <div ng-repeat="error in vm.errors" class="error" layout="row" layout-align="space-between center">
           <div>
             <span class="message">{{error.message}}</span>
             <span class="type">({{error.type}})</span>
           </div>
           <md-button class="md-icon-button">
-            <md-icon
-              md-font-icon="icon-alert-box"
-              aria-label="alert error"
-              class="s16"
-            ></md-icon>
+            <md-icon md-font-icon="icon-alert-box" aria-label="alert error" class="s16"></md-icon>
           </md-button>
         </div>
       </div>
@@ -306,32 +163,18 @@
 
     <md-dialog-actions layout="row" layout-align="space-between center">
       <div layout="row" layout-align="start center">
-        <md-button
-          type="submit"
-          ng-if="!vm.newInterval && vm.crudPermissions.canEdit"
-          ng-click="vm.saveInterval()"
-          class="send-button md-accent md-raised"
-          ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
-          aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
-        >
+        <md-button type="submit" ng-if="!vm.newInterval && vm.crudPermissions.canEdit" ng-click="vm.saveInterval()"
+          class="send-button md-accent md-raised" ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
+          aria-label="SAVE" translate="APP.SAVE" translate-attr-aria-label="APP.SAVE">
           SAVE
         </md-button>
 
-        <md-button
-          type="submit"
-          ng-if="vm.newInterval && vm.crudPermissions.canEdit"
-          ng-click="vm.addNewInterval()"
-          class="send-button md-accent md-raised"
-          ng-disabled="intervalForm.$invalid"
-          aria-label="ADD"
-          translate="TOOLS.ADD_INTERVAL"
-          translate-attr-aria-label="TOOLS.ADD_INTERVAL"
-        >
+        <md-button type="submit" ng-if="vm.newInterval && vm.crudPermissions.canEdit" ng-click="vm.addNewInterval()"
+          class="send-button md-accent md-raised" ng-disabled="intervalForm.$invalid" aria-label="ADD"
+          translate="TOOLS.ADD_INTERVAL" translate-attr-aria-label="TOOLS.ADD_INTERVAL">
           ADD INTERVAL
         </md-button>
       </div>
     </md-dialog-actions>
   </form>
-</md-dialog>
+</md-dialog>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/tools/views/intervals/edit/view.html/view.html b/public/src/js/modules/main/apps/tools/views/intervals/edit/view.html/view.html
index 2c535b1..dafdbe8 100644
--- a/public/src/js/modules/main/apps/tools/views/intervals/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/tools/views/intervals/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.interval.name">{{vm.interval.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="TOOLS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.interval.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -36,8 +36,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (intervalsForm.$invalid)"
-        translate="TOOLS.SAVE"
-        translate-attr-aria-label="TOOLS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,20 +56,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="TOOLS.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="interval-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="TOOLS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="TOOLS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -85,14 +85,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -118,7 +118,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="TOOLS.INTERVALS">INTERVALS</span>
+          <span translate="APP.INTERVALS">INTERVALS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -133,7 +133,7 @@
                 ng-hide="vm_dc.selectedIntervalIntervals.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="TOOLS.INTERVALS"
+                  <span class="md-subhead" translate="APP.INTERVALS"
                     >Intervals</span
                   <ms-search-bar
@@ -180,7 +180,7 @@
                     ng-click="vm_dc.deleteSelectedIntervalIntervals($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="TOOLS.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -202,16 +202,16 @@
                     <tr md-row>
                       <th md-column width="10px"></th>
                       <th md-column md-order-by="id">
-                        {{ 'TOOLS.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="name">
-                        {{ 'TOOLS.NAME' | translate }}
+                        {{ 'APP.NAME' | translate }}
                       </th>
                       <th md-column md-order-by="interval">
-                        {{ 'TOOLS.INTERVAL' | translate }}
+                        {{ 'APP.INTERVAL' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'TOOLS.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -263,7 +263,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="TOOLS.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -275,7 +275,7 @@
                             <md-menu-item ng-if="vm_dc.crudPermissions.canEdit">
                               <md-button
                                 ng-click="vm_dc.createOrEditIntervalInterval($event, interval)"
-                                translate="TOOLS.EDIT_INTERVAL"
+                                translate="APP.EDIT_INTERVAL"
                                 Edit Interval
                               </md-button>
diff --git a/public/src/js/modules/main/apps/tools/views/intervals/intervals.html/intervals.html b/public/src/js/modules/main/apps/tools/views/intervals/intervals.html/intervals.html
index 453ac96..140cc15 100644
--- a/public/src/js/modules/main/apps/tools/views/intervals/intervals.html/intervals.html
+++ b/public/src/js/modules/main/apps/tools/views/intervals/intervals.html/intervals.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-auto-fix" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="TOOLS.INTERVALS">Intervals</span>
+        <span class="logo-text" translate="APP.INTERVALS">Intervals</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedIntervals =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-intervals-count">
           <span>{{vm.selectedIntervals.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllIntervals()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectIntervals()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedIntervals($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.intervals.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -222,7 +222,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -236,7 +236,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(interval, $event    )"
-                          translate="TOOLS.EDIT_INTERVAL"
+                          translate="APP.EDIT_INTERVAL"
                           Edit Interval
                         </md-button>
diff --git a/public/src/js/modules/main/apps/tools/views/pauses/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/pauses/create/dialog.html/dialog.html
index e0321dd..62ae4c6 100644
--- a/public/src/js/modules/main/apps/tools/views/pauses/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/pauses/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.pause.description" />
 
         <div
@@ -111,8 +111,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="pauseForm.$invalid || pauseForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -137,10 +137,10 @@
           ng-click="vm.deletePause($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/pauses/pauses.html/pauses.html b/public/src/js/modules/main/apps/tools/views/pauses/pauses.html/pauses.html
index a77369a..b9d8a12 100644
--- a/public/src/js/modules/main/apps/tools/views/pauses/pauses.html/pauses.html
+++ b/public/src/js/modules/main/apps/tools/views/pauses/pauses.html/pauses.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedPauses =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-pauses-count">
           <span>{{vm.selectedPauses.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllPauses()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectPauses()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedPauses($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.pauses.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -222,7 +222,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/tools/views/schedules/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/schedules/create/dialog.html/dialog.html
index 9ded2f0..08d293f 100644
--- a/public/src/js/modules/main/apps/tools/views/schedules/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/schedules/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.REPORT">Report</label>
+        <label translate="APP.REPORT">Report</label>
         <input
           type="search"
           name="report"
@@ -87,7 +87,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.OUTPUT">Output</label>
+        <label translate="APP.OUTPUT">Output</label>
         <md-select name="output" ng-model="vm.schedule.output" required>
           <md-option ng-value="'csv'">CSV</md-option>
           <md-option ng-value="'pdf'">PDF</md-option>
@@ -107,8 +107,8 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.schedule.active" aria-label="Active"
-          ><span translate="TOOLS.ACTIVE">Active</span></md-switch
-        >
+          ><span translate="APP.ACTIVE">Active</span>
+        </md-switch>
       </md-input-container>
       <div class="md-block">
         <label translate="TOOLS.VALIDITYSTART">ValidityStart</label>
@@ -293,8 +293,8 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.schedule.sendMail" aria-label="SendMail"
-          ><span translate="TOOLS.SENDMAIL">SendMail</span></md-switch
-        >
+          ><span translate="APP.SENDMAIL">SendMail</span>
+        </md-switch>
       </md-input-container>
       <md-input-container ng-if="vm.schedule.sendMail" class="md-block">
         <label translate="TOOLS.MAILACCOUNT">MailAccount</label>
@@ -323,7 +323,7 @@
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.schedule.sendMail" class="md-block">
-        <label translate="TOOLS.EMAILADDRESS">EmailAddress</label>
+        <label translate="APP.EMAILADDRESS">EmailAddress</label>
         <input
           type="text"
           name="email"
@@ -390,7 +390,7 @@
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="" name="description" ng-model="vm.schedule.description" />
 
         <div
@@ -441,8 +441,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="scheduleForm.$invalid || scheduleForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -467,10 +467,10 @@
           ng-click="vm.deleteSchedule($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/schedules/partialViews/reports/treeReports.html/treeReports.html b/public/src/js/modules/main/apps/tools/views/schedules/partialViews/reports/treeReports.html/treeReports.html
index eaefc20..7144805 100644
--- a/public/src/js/modules/main/apps/tools/views/schedules/partialViews/reports/treeReports.html/treeReports.html
+++ b/public/src/js/modules/main/apps/tools/views/schedules/partialViews/reports/treeReports.html/treeReports.html
@@ -78,7 +78,7 @@
               <tr md-row ng-hide="vm.reports.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="ANALYTICS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -102,7 +102,7 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{ 'ANALYTICS.PAGE' | translate }}:', rowsPerPage: '{{ 'ANALYTICS.ROWSPERPAGE' | translate }}:', of: '{{ 'ANALYTICS.OF' | translate }}'}"
+          md-label="{page: '{{ 'APP.PAGE' | translate }}:', rowsPerPage: '{{ 'APP.ROWSPERPAGE' | translate }}:', of: '{{ 'APP.OF' | translate }}'}"
           md-limit="vm.query.limit"
           md-limit-options="[10]"
           md-page="vm.query.page"
diff --git a/public/src/js/modules/main/apps/tools/views/schedules/schedules.html/schedules.html b/public/src/js/modules/main/apps/tools/views/schedules/schedules.html/schedules.html
index bd28c1e..c4ff692 100644
--- a/public/src/js/modules/main/apps/tools/views/schedules/schedules.html/schedules.html
+++ b/public/src/js/modules/main/apps/tools/views/schedules/schedules.html/schedules.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedScheduler =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-schedules-count">
           <span>{{vm.selectedScheduler.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllScheduler()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectScheduler()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedScheduler($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="active">
-                  {{ 'TOOLS.ACTIVE' | translate }}
+                  {{ 'APP.ACTIVE' | translate }}
                 </th>
                 <th md-column md-order-by="startAt">
                   {{ 'TOOLS.VALIDITYSTART' | translate }}
@@ -161,7 +161,7 @@
                   {{ 'TOOLS.VALIDITYEND' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -170,7 +170,7 @@
               <tr md-row ng-hide="vm.schedules.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -251,7 +251,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/tools/views/sounds/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/sounds/create/dialog.html/dialog.html
index 091a358..b348b5a 100644
--- a/public/src/js/modules/main/apps/tools/views/sounds/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/sounds/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.sound.description" />
 
         <div
@@ -111,8 +111,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="soundForm.$invalid || soundForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -137,10 +137,10 @@
           ng-click="vm.deleteSound($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/sounds/sounds.html/sounds.html b/public/src/js/modules/main/apps/tools/views/sounds/sounds.html/sounds.html
index 51eed07..12d0f08 100644
--- a/public/src/js/modules/main/apps/tools/views/sounds/sounds.html/sounds.html
+++ b/public/src/js/modules/main/apps/tools/views/sounds/sounds.html/sounds.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedSounds =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-sounds-count">
           <span>{{vm.selectedSounds.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllSounds()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectSounds()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedSounds($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,15 +147,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="audio">
-                  {{ 'TOOLS.AUDIO' | translate }}
+                  {{ 'APP.AUDIO' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -164,7 +164,7 @@
               <tr md-row ng-hide="vm.sounds.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -226,7 +226,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/tools/views/sounds/upload/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/sounds/upload/dialog.html/dialog.html
index 539285b..24ed5cc 100644
--- a/public/src/js/modules/main/apps/tools/views/sounds/upload/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/sounds/upload/dialog.html/dialog.html
@@ -57,7 +57,7 @@
           layout="row"
           layout-align="center center"
-          <span translate="TOOLS.DROP_TO_UPLOAD">Drop to upload</span>
+          <span translate="APP.DROP_TO_UPLOAD">Drop to upload</span>
         </div>
 
         <div class="upload-button" layout="column" layout-align="center center">
@@ -76,7 +76,7 @@
         ng-show="vm.uploadState == 'uploading'"
         <div>
-          <span translate="TOOLS.UPLOADING">Uploading</span>
+          <span translate="APP.UPLOADING">Uploading</span>
           <span>{{vm.sound.file.name}}</span>
         </div>
         <md-progress-linear md-mode="indeterminate"></md-progress-linear>
@@ -91,8 +91,8 @@
           ng-hide="vm.uploadState == 'uploading'"
           class="md-accent md-raised"
           aria-label="FINISH"
-          translate="TOOLS.FINISH"
-          translate-attr-aria-label="TOOLS.FINISH"
+          translate="APP.FINISH"
+          translate-attr-aria-label="APP.FINISH"
           FINISH
         </md-button>
diff --git a/public/src/js/modules/main/apps/tools/views/tags/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/tags/create/dialog.html/dialog.html
index 1da8012..e986ce2 100644
--- a/public/src/js/modules/main/apps/tools/views/tags/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/tags/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.tag.description" />
 
         <div
@@ -124,8 +124,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="tagForm.$invalid || tagForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -150,10 +150,10 @@
           ng-click="vm.deleteTag($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/tags/tags.html/tags.html b/public/src/js/modules/main/apps/tools/views/tags/tags.html/tags.html
index b4dc972..b5dbaf5 100644
--- a/public/src/js/modules/main/apps/tools/views/tags/tags.html/tags.html
+++ b/public/src/js/modules/main/apps/tools/views/tags/tags.html/tags.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-auto-fix" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="TOOLS.TAGS">Tags</span>
+        <span class="logo-text" translate="APP.TAGS">Tags</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedTags =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-tags-count">
           <span>{{vm.selectedTags.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllTags()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectTags()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedTags($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -143,12 +143,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column md-order-by="color">
                   {{ 'TOOLS.COLOR' | translate }}
@@ -160,7 +160,7 @@
               <tr md-row ng-hide="vm.tags.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -228,7 +228,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -242,7 +242,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editdialog(tag, $event    )"
-                          translate="TOOLS.EDIT_TAG"
+                          translate="APP.EDIT_TAG"
                           Edit Tag
                         </md-button>
diff --git a/public/src/js/modules/main/apps/tools/views/templates/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/templates/create/dialog.html/dialog.html
index e1d5c03..46c43ac 100644
--- a/public/src/js/modules/main/apps/tools/views/templates/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/templates/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <div class="md-block">
-        <label class="md-caption grey-fg" translate="TOOLS.CONTENT"
+        <label class="md-caption grey-fg" translate="APP.CONTENT"
           >Content</label
         <textarea
@@ -70,7 +70,7 @@
         ></textarea>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -125,8 +125,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="templateForm.$invalid || templateForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -151,10 +151,10 @@
           ng-click="vm.deleteTemplate($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/templates/templates.html/templates.html b/public/src/js/modules/main/apps/tools/views/templates/templates.html/templates.html
index 503f485..7a02d01 100644
--- a/public/src/js/modules/main/apps/tools/views/templates/templates.html/templates.html
+++ b/public/src/js/modules/main/apps/tools/views/templates/templates.html/templates.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedTemplates =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-templates-count">
           <span>{{vm.selectedTemplates.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllTemplates()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectTemplates()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedTemplates($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.templates.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -222,7 +222,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
diff --git a/public/src/js/modules/main/apps/tools/views/triggers/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/triggers/create/dialog.html/dialog.html
index 54505aa..64995bf 100644
--- a/public/src/js/modules/main/apps/tools/views/triggers/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/triggers/create/dialog.html/dialog.html
@@ -20,7 +20,7 @@
     </md-toolbar>
     <md-dialog-content ms-scroll>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -34,14 +34,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.CHANNEL">Channel</label>
+        <label translate="APP.CHANNEL">Channel</label>
         <md-select
           name="channel"
           ng-model="vm.trigger.channel"
@@ -49,25 +49,25 @@
           ng-disabled="!vm.newTrigger"
           <md-option ng-value="'voice'">
-            {{ 'TOOLS.VOICE' | translate }}
+            {{ 'APP.VOICE' | translate }}
           </md-option>
           <md-option ng-value="'openchannel'" ng-if="vm.license.openchannel">
-            {{ 'TOOLS.OPENCHANNEL' | translate }}
+            {{ 'APP.OPENCHANNEL' | translate }}
           </md-option>
           <md-option ng-value="'chat'" ng-if="vm.license.chat">
-            {{ 'TOOLS.CHAT' | translate }}
+            {{ 'APP.CHAT' | translate }}
           </md-option>
           <md-option ng-value="'mail'" ng-if="vm.license.mail">
-            {{ 'TOOLS.MAIL' | translate }}
+            {{ 'APP.MAIL' | translate }}
           </md-option>
           <md-option ng-value="'sms'" ng-if="vm.license.messaging">
-            {{ 'TOOLS.SMS' | translate }}
+            {{ 'APP.SMS' | translate }}
           </md-option>
           <md-option ng-value="'fax'" ng-if="vm.license.fax">
-            {{ 'TOOLS.FAX' | translate }}
+            {{ 'APP.FAX' | translate }}
           </md-option>
           <md-option ng-value="'whatsapp'" ng-if="vm.license.whatsapp">
-            {{ 'TOOLS.WHATSAPP' | translate }}
+            {{ 'APP.WHATSAPP' | translate }}
           </md-option>
         </md-select>
         <div
@@ -84,11 +84,11 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.trigger.status" aria-label="Status"
-          ><span translate="TOOLS.STATUS">Status</span>
+          ><span translate="APP.STATUS">Status</span>
         </md-switch>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -129,8 +129,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="triggerForm.$invalid || triggerForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -154,10 +154,10 @@
           ng-click="vm.deleteTrigger($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/triggers/edit/actions/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/triggers/edit/actions/create/dialog.html/dialog.html
index a1006ed..7127c8c 100644
--- a/public/src/js/modules/main/apps/tools/views/triggers/edit/actions/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/triggers/edit/actions/create/dialog.html/dialog.html
@@ -40,13 +40,13 @@
             ng-value="'integration'"
             ng-if="vm.trigger.channel == 'voice' && ((vm.newAction && vm.hasIntegrationsPermissions) || !vm.newAction)"
-            {{ 'TOOLS.INTEGRATIONS' | translate }}
+            {{ 'APP.INTEGRATIONS' | translate }}
           </md-option>
           <md-option ng-value="'motionbar'">
-            {{ 'TOOLS.MOTIONBAR' | translate }}
+            {{ 'APP.MOTIONBAR' | translate }}
           </md-option>
           <md-option ng-value="'jscripty'">
-            {{ 'TOOLS.JSCRIPTY' | translate }}
+            {{ 'APP.JSCRIPTY' | translate }}
           </md-option>
           <md-option ng-value="'urlForward'">
             {{ 'TOOLS.URL_FORWARD' | translate }}
@@ -58,7 +58,7 @@
             {{ 'TOOLS.BOT' | translate }}
           </md-option>
           <md-option ng-value="'script'">
-            {{ 'TOOLS.SCRIPT' | translate }}
+            {{ 'APP.SCRIPT' | translate }}
           </md-option>
         </md-select>
         <div
@@ -77,7 +77,7 @@
         ng-if="vm.action.action == 'jscripty'"
         class="md-block"
-        <label translate="TOOLS.PROJECT">Project</label>
+        <label translate="APP.PROJECT">Project</label>
         <md-select name="data1" ng-model="vm.action.data1" required>
           <md-option
             ng-value="''+data1.id"
@@ -93,7 +93,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.PROJECT_REQUIRED"
+            <span translate="APP.ERRORS.PROJECT_REQUIRED"
               >Project field is required</span
             >
           </div>
@@ -103,7 +103,7 @@
         ng-if="vm.action.action == 'browser'"
         class="md-block"
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="data1"
           ng-model="vm.action.data1"
@@ -119,7 +119,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -129,7 +129,7 @@
         ng-if="vm.action.action == 'contactManager'"
         class="md-block"
-        <label translate="TOOLS.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select
           name="data1"
           ng-model="vm.action.data1"
@@ -150,7 +150,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
@@ -177,7 +177,7 @@
           </md-optgroup>
           <md-optgroup
-            label="{{ 'TOOLS.LIST' | translate }}"
+            label="{{ 'APP.LIST' | translate }}"
             ng-if="vm.listFields.length > 0"
             <md-option
@@ -224,8 +224,8 @@
           ng-change="vm.onAutocreateSelection()"
           required
-          <md-option ng-value="'1'"> {{ 'TOOLS.YES' | translate }} </md-option>
-          <md-option ng-value="'0'"> {{ 'TOOLS.NO' | translate }} </md-option>
+          <md-option ng-value="'1'"> {{ 'APP.YES' | translate }} </md-option>
+          <md-option ng-value="'0'"> {{ 'APP.NO' | translate }} </md-option>
         </md-select>
         <div
           ng-messages="actionForm['data2'].$error"
@@ -258,7 +258,7 @@
           </md-optgroup>
           <md-optgroup
-            label="{{ 'TOOLS.LIST' | translate }}"
+            label="{{ 'APP.LIST' | translate }}"
             ng-if="vm.listFields.length > 0"
             <md-option
@@ -296,7 +296,7 @@
         ng-if="vm.action.action == 'urlForward'"
         class="md-block"
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="data1" ng-model="vm.action.data1" required>
           <md-option ng-value="'GET'">GET</md-option>
           <md-option ng-value="'POST'">POST</md-option>
@@ -309,7 +309,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -319,7 +319,7 @@
         ng-if="vm.action.action == 'urlForward'"
         class="md-block"
-        <label translate="TOOLS.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="url"
           name="data2"
@@ -332,7 +332,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -347,7 +347,7 @@
         ng-if="vm.action.action == 'urlForward'"
         class="md-block"
-        <label translate="TOOLS.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="data5"
@@ -363,19 +363,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="TOOLS.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
           </div>
           <div ng-message="max">
-            <span translate="TOOLS.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>10</span>
@@ -386,7 +386,7 @@
         ng-if="vm.action.action == 'urlForward'"
         class="md-block"
-        <label translate="TOOLS.HEADERS">Headers</label>
+        <label translate="APP.HEADERS">Headers</label>
         <textarea name="data6" ng-model="vm.action.data6"></textarea>
         <div class="hint"><span translate="TOOLS.HELP.HEADERS"></span></div>
       </md-input-container>
@@ -394,7 +394,7 @@
         ng-if="vm.action.action == 'urlForward' && (vm.action.data1 == 'POST' || vm.action.data1 == 'PUT')"
         class="md-block"
-        <label translate="TOOLS.BODY">Body</label>
+        <label translate="APP.BODY">Body</label>
         <textarea name="data7" ng-model="vm.action.data7"></textarea>
         <div class="hint"><span translate="TOOLS.HELP.BODY"></span></div>
       </md-input-container>
@@ -431,7 +431,7 @@
         </div>
       </md-input-container>
       <md-input-container ng-if="vm.action.action == 'script'" class="md-block">
-        <label translate="TOOLS.SCRIPT">Script</label>
+        <label translate="APP.SCRIPT">Script</label>
         <textarea name="data3" ng-model="vm.action.data3" required></textarea>
         <div class="hint"><span translate="TOOLS.HELP.SCRIPT"></span></div>
         <div
@@ -535,7 +535,7 @@
         ng-if="vm.action.action == 'integration' && vm.action.data1"
         class="md-block"
-        <label translate="TOOLS.ACCOUNT">Account</label>
+        <label translate="APP.ACCOUNT">Account</label>
         <md-select
           name="data2"
           ng-model="vm.action.data2"
@@ -592,7 +592,7 @@
         ng-if="vm.action.action == 'motionbar'"
         class="md-block"
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           name="data1"
           ng-model="vm.action.data1"
@@ -609,7 +609,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -619,7 +619,7 @@
         ng-if="vm.action.action == 'motionbar' && vm.action.data1 == '1'"
         class="md-block"
-        <label translate="TOOLS.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="url"
           name="data2"
@@ -632,7 +632,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -647,7 +647,7 @@
         ng-if="vm.action.action == 'motionbar' && vm.action.data1 == '2'"
         class="md-block"
-        <label translate="TOOLS.APPLICATION">Application</label>
+        <label translate="APP.APPLICATION">Application</label>
         <input
           type="text"
           name="data2"
@@ -670,7 +670,7 @@
         ng-if="vm.action.action == 'motionbar' && vm.action.data1 == '2'"
         class="md-block"
-        <label translate="TOOLS.ARGUMENTS">Arguments</label>
+        <label translate="APP.ARGUMENTS">Arguments</label>
         <input type="text" name="data3" ng-model="vm.action.data3" />
         <div
           ng-messages="actionForm['data3'].$error"
@@ -688,7 +688,7 @@
         ng-if="vm.action.action == 'motionbar' && vm.action.data1 == '0'"
         class="md-block"
-        <label translate="TOOLS.TEMPLATE">Template</label>
+        <label translate="APP.TEMPLATE">Template</label>
         <md-select name="data2" ng-model="vm.action.data2" required>
           <md-option
             ng-value="''+data2.id"
@@ -714,7 +714,7 @@
         ng-if="vm.action.action == 'browser' && vm.action.data1 == '0'"
         class="md-block"
-        <label translate="TOOLS.TEMPLATE">Template</label>
+        <label translate="APP.TEMPLATE">Template</label>
         <md-select name="data2" ng-model="vm.action.data2" required>
           <md-option
             ng-value="''+data2.id"
@@ -740,7 +740,7 @@
         ng-if="vm.action.action == 'browser' && vm.action.data1 == '1'"
         class="md-block"
-        <label translate="TOOLS.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="url"
           name="data2"
@@ -753,7 +753,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -770,8 +770,8 @@
         <label translate="TOOLS.EVENTVARIABLES">EventVariables</label>
         <md-select name="data3" ng-model="vm.action.data3" required>
-          <md-option ng-value="'1'"> {{ 'TOOLS.YES' | translate }} </md-option>
-          <md-option ng-value="'0'"> {{ 'TOOLS.NO' | translate }} </md-option>
+          <md-option ng-value="'1'"> {{ 'APP.YES' | translate }} </md-option>
+          <md-option ng-value="'0'"> {{ 'APP.NO' | translate }} </md-option>
         </md-select>
         <div class="hint">
           <span translate="TOOLS.HELP.EVENTVARIABLES"></span>
@@ -795,7 +795,7 @@
         <label translate="TOOLS.LOCATION">Location</label>
         <md-select name="data4" ng-model="vm.action.data4" required>
           <md-option ng-value="'0'" ng-selected="true">
-            {{ 'TOOLS.NEW_TAB' | translate }}
+            {{ 'APP.NEW_TAB' | translate }}
           </md-option>
           <md-option ng-value="'1'">
             {{ 'TOOLS.NEW_WINDOW' | translate }}
@@ -886,8 +886,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="actionForm.$invalid || actionForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -911,10 +911,10 @@
           ng-click="vm.deleteAction($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/triggers/edit/allconditions/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/triggers/edit/allconditions/create/dialog.html/dialog.html
index f208570..bc4c75f 100644
--- a/public/src/js/modules/main/apps/tools/views/triggers/edit/allconditions/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/triggers/edit/allconditions/create/dialog.html/dialog.html
@@ -20,7 +20,7 @@
     </md-toolbar>
     <md-dialog-content ms-scroll>
       <md-input-container class="md-block">
-        <label translate="TOOLS.FIELD">Field</label>
+        <label translate="APP.FIELD">Field</label>
         <md-select
           name="field"
           ng-model="vm.allCondition.field"
@@ -29,7 +29,7 @@
           required
           <md-option ng-value="'queue'" ng-if="vm.trigger.channel == 'voice'">
-            {{ 'TOOLS.QUEUE' | translate }}
+            {{ 'APP.QUEUE' | translate }}
           </md-option>
           <md-option
             ng-value="'lastevent'"
@@ -38,22 +38,22 @@
             {{ 'TOOLS.CALL_STATUS' | translate }}
           </md-option>
           <md-option ng-value="'routeId'" ng-if="vm.trigger.channel == 'voice'">
-            {{ 'TOOLS.OUTBOUNDROUTE' | translate }}
+            {{ 'APP.OUTBOUNDROUTE' | translate }}
           </md-option>
           <md-option ng-value="'agent'" ng-if="vm.trigger.channel == 'voice'">
-            {{ 'TOOLS.AGENT' | translate }}
+            {{ 'APP.AGENT' | translate }}
           </md-option>
           <md-option ng-value="'account'" ng-if="vm.trigger.channel != 'voice'">
-            {{ 'TOOLS.ACCOUNT' | translate }}
+            {{ 'APP.ACCOUNT' | translate }}
           </md-option>
           <md-option
             ng-value="'interaction'"
             ng-if="vm.trigger.channel != 'voice'"
-            {{ 'TOOLS.INTERACTION' | translate }}
+            {{ 'APP.INTERACTION' | translate }}
           </md-option>
           <md-option ng-value="'message'" ng-if="vm.trigger.channel != 'voice'">
-            {{ 'TOOLS.MESSAGE' | translate }}
+            {{ 'APP.MESSAGE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -62,17 +62,17 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.FIELD_REQUIRED"
+            <span translate="APP.ERRORS.FIELD_REQUIRED"
               >Field field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.OPERATOR">Operator</label>
+        <label translate="APP.OPERATOR">Operator</label>
         <md-select name="operator" ng-model="vm.allCondition.operator" required>
           <md-option ng-value="'equals'">
-            {{ 'TOOLS.EQUALS' | translate }}
+            {{ 'APP.EQUALS' | translate }}
           </md-option>
           <md-option ng-value="'not_equals'">
             {{ 'TOOLS.NOT_EQUALS' | translate }}
@@ -94,7 +94,7 @@
         ng-if="vm.allCondition.field == 'account'"
         class="md-block"
-        <label translate="TOOLS.ACCOUNT">Account</label>
+        <label translate="APP.ACCOUNT">Account</label>
         <md-select name="value" ng-model="vm.allCondition.value" required>
           <md-option
             ng-value="value.id"
@@ -120,7 +120,7 @@
         ng-if="vm.allCondition.field == 'queue' && vm.trigger.channel == 'voice'"
         class="md-block"
-        <label translate="TOOLS.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select name="value" ng-model="vm.allCondition.value" required>
           <md-option
             ng-value="value.name"
@@ -136,7 +136,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
@@ -146,7 +146,7 @@
         ng-if="vm.allCondition.field == 'routeId' && vm.trigger.channel == 'voice'"
         class="md-block"
-        <label translate="TOOLS.OUTBOUNDROUTE">OutboundRoute</label>
+        <label translate="APP.OUTBOUNDROUTE">OutboundRoute</label>
         <md-select name="value" ng-model="vm.allCondition.value" required>
           <md-option
             ng-value="value.id"
@@ -162,7 +162,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.OUTBOUNDROUTE_REQUIRED"
+            <span translate="APP.ERRORS.OUTBOUNDROUTE_REQUIRED"
               >OutboundRoute field is required</span
             >
           </div>
@@ -172,7 +172,7 @@
         ng-if="vm.allCondition.field == 'agent' && vm.trigger.channel == 'voice'"
         class="md-block"
-        <label translate="TOOLS.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select name="value" ng-model="vm.allCondition.value" required>
           <md-option
             ng-value="value.name"
@@ -188,7 +188,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
@@ -198,7 +198,7 @@
         ng-if="vm.allCondition.field == 'lastevent'"
         class="md-block"
-        <label translate="TOOLS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <md-select name="value" ng-model="vm.allCondition.value" required>
           <md-option
             ng-value="status.value"
@@ -213,7 +213,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -223,7 +223,7 @@
         ng-if="vm.allCondition.field == 'interaction' && vm.trigger.channel != 'voice'"
         class="md-block"
-        <label translate="TOOLS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <md-select name="value" ng-model="vm.allCondition.value" required>
           <md-option ng-value="'opened'">Opened</md-option>
           <md-option ng-value="'closed'">Closed</md-option>
@@ -234,7 +234,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -244,7 +244,7 @@
         ng-if="vm.allCondition.field == 'message' && vm.trigger.channel != 'voice'"
         class="md-block"
-        <label translate="TOOLS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <md-select name="value" ng-model="vm.allCondition.value" required>
           <md-option ng-value="'in'">Incoming</md-option>
           <md-option ng-value="'out'">Outgoing</md-option>
@@ -257,7 +257,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -297,8 +297,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="allConditionForm.$invalid || allConditionForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -322,10 +322,10 @@
           ng-click="vm.deleteAllCondition($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/triggers/edit/anyconditions/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/triggers/edit/anyconditions/create/dialog.html/dialog.html
index 851a325..cce0c2b 100644
--- a/public/src/js/modules/main/apps/tools/views/triggers/edit/anyconditions/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/triggers/edit/anyconditions/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.FIELD">Field</label>
+        <label translate="APP.FIELD">Field</label>
         <md-select
           name="field"
           ng-model="vm.anyCondition.field"
@@ -46,7 +46,7 @@
           required
           <md-option ng-value="'queue'" ng-if="vm.trigger.channel == 'voice'">
-            {{ 'TOOLS.QUEUE' | translate }}
+            {{ 'APP.QUEUE' | translate }}
           </md-option>
 
           <md-option
@@ -57,26 +57,26 @@
           </md-option>
 
           <md-option ng-value="'routeId'" ng-if="vm.trigger.channel == 'voice'">
-            {{ 'TOOLS.OUTBOUNDROUTE' | translate }}
+            {{ 'APP.OUTBOUNDROUTE' | translate }}
           </md-option>
 
           <md-option ng-value="'agent'" ng-if="vm.trigger.channel == 'voice'">
-            {{ 'TOOLS.AGENT' | translate }}
+            {{ 'APP.AGENT' | translate }}
           </md-option>
 
           <md-option ng-value="'account'" ng-if="vm.trigger.channel != 'voice'">
-            {{ 'TOOLS.ACCOUNT' | translate }}
+            {{ 'APP.ACCOUNT' | translate }}
           </md-option>
 
           <md-option
             ng-value="'interaction'"
             ng-if="vm.trigger.channel != 'voice'"
-            {{ 'TOOLS.INTERACTION' | translate }}
+            {{ 'APP.INTERACTION' | translate }}
           </md-option>
 
           <md-option ng-value="'message'" ng-if="vm.trigger.channel != 'voice'">
-            {{ 'TOOLS.MESSAGE' | translate }}
+            {{ 'APP.MESSAGE' | translate }}
           </md-option>
         </md-select>
         <div
@@ -85,17 +85,17 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.FIELD_REQUIRED"
+            <span translate="APP.ERRORS.FIELD_REQUIRED"
               >Field field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.OPERATOR">Operator</label>
+        <label translate="APP.OPERATOR">Operator</label>
         <md-select name="operator" ng-model="vm.anyCondition.operator" required>
           <md-option ng-value="'equals'">
-            {{ 'TOOLS.EQUALS' | translate }}
+            {{ 'APP.EQUALS' | translate }}
           </md-option>
 
           <md-option ng-value="'not_equals'">
@@ -118,13 +118,14 @@
         ng-if="vm.anyCondition.field == 'account' && vm.trigger.channel == 'chat'"
         class="md-block"
-        <label translate="TOOLS.ACCOUNT">Account</label>
+        <label translate="APP.ACCOUNT">Account</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.id"
             ng-repeat="value in vm.chatAccounts"
             ng-disabled="value.canSelect === false"
-            >{{ value.name }}</md-option
+          >
+            {{ value.name }}</md-option
         </md-select>
         <div
@@ -143,13 +144,14 @@
         ng-if="vm.anyCondition.field == 'account' && vm.trigger.channel == 'mail'"
         class="md-block"
-        <label translate="TOOLS.ACCOUNT">Account</label>
+        <label translate="APP.ACCOUNT">Account</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.id"
             ng-repeat="value in vm.mailAccounts"
             ng-disabled="value.canSelect === false"
-            >{{ value.name }}</md-option
+          >
+            {{ value.name }}</md-option
         </md-select>
         <div
@@ -168,13 +170,14 @@
         ng-if="vm.anyCondition.field == 'account' && vm.trigger.channel == 'sms'"
         class="md-block"
-        <label translate="TOOLS.ACCOUNT">Account</label>
+        <label translate="APP.ACCOUNT">Account</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.id"
             ng-repeat="value in vm.smsAccounts"
             ng-disabled="value.canSelect === false"
-            >{{ value.name }}</md-option
+          >
+            {{ value.name }}</md-option
         </md-select>
         <div
@@ -193,13 +196,14 @@
         ng-if="vm.anyCondition.field == 'account' && vm.trigger.channel == 'fax'"
         class="md-block"
-        <label translate="TOOLS.ACCOUNT">Account</label>
+        <label translate="APP.ACCOUNT">Account</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.id"
             ng-repeat="value in vm.faxAccounts"
             ng-disabled="value.canSelect === false"
-            >{{ value.name }}</md-option
+          >
+            {{ value.name }}</md-option
         </md-select>
         <div
@@ -218,7 +222,7 @@
         ng-if="vm.anyCondition.field == 'account' && vm.trigger.channel == 'openchannel'"
         class="md-block"
-        <label translate="TOOLS.ACCOUNT">Account</label>
+        <label translate="APP.ACCOUNT">Account</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.id"
@@ -243,13 +247,14 @@
         ng-if="vm.anyCondition.field == 'queue' && vm.trigger.channel == 'voice'"
         class="md-block"
-        <label translate="TOOLS.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.name"
             ng-repeat="value in vm.queues"
             ng-disabled="value.canSelect === false"
-            >{{ value.name }}</md-option
+          >
+            {{ value.name }}</md-option
         </md-select>
         <div
@@ -258,7 +263,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
@@ -268,13 +273,14 @@
         ng-if="vm.anyCondition.field == 'routeId' && vm.trigger.channel == 'voice'"
         class="md-block"
-        <label translate="TOOLS.OUTBOUNDROUTE">OutboundRoute</label>
+        <label translate="APP.OUTBOUNDROUTE">OutboundRoute</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.id"
             ng-repeat="value in vm.outboundRoutes"
             ng-disabled="value.canSelect === false"
-            >{{ value.exten }}</md-option
+          >
+            {{ value.exten }}</md-option
         </md-select>
         <div
@@ -283,7 +289,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.OUTBOUNDROUTE_REQUIRED"
+            <span translate="APP.ERRORS.OUTBOUNDROUTE_REQUIRED"
               >OutboundRoute field is required</span
             >
           </div>
@@ -293,13 +299,14 @@
         ng-if="vm.anyCondition.field == 'agent' && vm.trigger.channel == 'voice'"
         class="md-block"
-        <label translate="TOOLS.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option
             ng-value="value.name"
             ng-repeat="value in vm.agents"
             ng-disabled="value.canSelect === false"
-            >{{ value.fullname }}</md-option
+          >
+            {{ value.fullname }}</md-option
         </md-select>
         <div
@@ -308,7 +315,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
@@ -318,7 +325,7 @@
         ng-if="vm.anyCondition.field == 'lastevent'"
         class="md-block"
-        <label translate="TOOLS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option ng-value="'abandoned'">Abandon</md-option>
           <md-option ng-value="'timeout'">Timeout</md-option>
@@ -338,7 +345,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -348,7 +355,7 @@
         ng-if="vm.anyCondition.field == 'interaction' && vm.trigger.channel != 'voice'"
         class="md-block"
-        <label translate="TOOLS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option ng-value="'opened'">Opened</md-option>
           <md-option ng-value="'closed'">Closed</md-option>
@@ -359,7 +366,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -369,7 +376,7 @@
         ng-if="vm.anyCondition.field == 'message' && vm.trigger.channel != 'voice'"
         class="md-block"
-        <label translate="TOOLS.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <md-select name="value" ng-model="vm.anyCondition.value" required>
           <md-option ng-value="'in'">Incoming</md-option>
           <md-option ng-value="'out'">Outgoing</md-option>
@@ -382,7 +389,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -424,8 +431,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="anyConditionForm.$invalid || anyConditionForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -450,10 +457,10 @@
           ng-click="vm.deleteAnyCondition($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/triggers/edit/view.html/view.html b/public/src/js/modules/main/apps/tools/views/triggers/edit/view.html/view.html
index 4793f04..1f58505 100644
--- a/public/src/js/modules/main/apps/tools/views/triggers/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/tools/views/triggers/edit/view.html/view.html
@@ -21,7 +21,7 @@
             <span ng-if="vm.trigger.name">{{ vm.trigger.name }}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="TOOLS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{ vm.trigger.createdAt | date:'medium' }}</span>
           </div>
         </div>
@@ -34,8 +34,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (allconditionsForm.$invalid) || (anyconditionsForm.$invalid) || (actionsForm.$invalid)"
-        translate="TOOLS.SAVE"
-        translate-attr-aria-label="TOOLS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -53,20 +53,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="TOOLS.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="trigger-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="TOOLS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="TOOLS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -81,14 +81,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.CHANNEL">Channel</label>
+                <label translate="APP.CHANNEL">Channel</label>
                 <md-select
                   name="channel"
                   ng-model="vm.trigger.channel"
@@ -96,28 +96,28 @@
                   disabled
                   <md-option ng-value="'voice'">
-                    {{ 'TOOLS.VOICE' | translate }}
+                    {{ 'APP.VOICE' | translate }}
                   </md-option>
                   <md-option
                     ng-value="'openchannel'"
                     ng-if="vm.license.openchannel"
-                    {{ 'TOOLS.OPENCHANNEL' | translate }}
+                    {{ 'APP.OPENCHANNEL' | translate }}
                   </md-option>
                   <md-option ng-value="'chat'" ng-if="vm.license.chat">
-                    {{ 'TOOLS.CHAT' | translate }}
+                    {{ 'APP.CHAT' | translate }}
                   </md-option>
                   <md-option ng-value="'mail'" ng-if="vm.license.mail">
-                    {{ 'TOOLS.MAIL' | translate }}
+                    {{ 'APP.MAIL' | translate }}
                   </md-option>
                   <md-option ng-value="'sms'" ng-if="vm.license.messaging">
-                    {{ 'TOOLS.SMS' | translate }}
+                    {{ 'APP.SMS' | translate }}
                   </md-option>
                   <md-option ng-value="'fax'" ng-if="vm.license.fax">
-                    {{ 'TOOLS.FAX' | translate }}
+                    {{ 'APP.FAX' | translate }}
                   </md-option>
                   <md-option ng-value="'whatsapp'" ng-if="vm.license.whatsapp">
-                    {{ 'TOOLS.WHATSAPP' | translate }}
+                    {{ 'APP.WHATSAPP' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -138,11 +138,11 @@
                   aria-label="Status"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  <span translate="TOOLS.STATUS">Status</span></md-switch
+                  <span translate="APP.STATUS">Status</span></md-switch
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/tools/views/triggers/triggers.html/triggers.html b/public/src/js/modules/main/apps/tools/views/triggers/triggers.html/triggers.html
index 7038b2d..e32d74f 100644
--- a/public/src/js/modules/main/apps/tools/views/triggers/triggers.html/triggers.html
+++ b/public/src/js/modules/main/apps/tools/views/triggers/triggers.html/triggers.html
@@ -33,7 +33,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -51,14 +51,14 @@
     <div class="close-button-wrapper" ng-click="vm.selectedTriggers =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
     <div flex layout="row" layout-align="space-between center">
       <div>
         <span class="selected-triggers-count">
           <span>{{ vm.selectedTriggers.length }}</span>
-          <span translate="TOOLS.SELECTED">Selected</span>
+          <span translate="APP.SELECTED">Selected</span>
         </span>
         <md-menu class="select-menu" ng-if="!vm.currentThread">
           <md-button
@@ -74,7 +74,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllTriggers()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -82,7 +82,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectTriggers()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -105,7 +105,7 @@
           ng-click="vm.deleteSelectedTriggers($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -133,18 +133,18 @@
               md-on-reorder="vm.getTriggers"
               <tr md-row>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="channel">
-                  {{ 'TOOLS.CHANNEL' | translate }}
+                  {{ 'APP.CHANNEL' | translate }}
                 </th>
                 <th md-column md-order-by="status">
-                  {{ 'TOOLS.STATUS' | translate }}
+                  {{ 'APP.STATUS' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -153,7 +153,7 @@
               <tr md-row ng-hide="vm.triggers.rows.length">
                 <td md-cell colspan="6">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -213,7 +213,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -247,7 +247,7 @@
           </table>
         </md-table-container>
         <md-table-pagination
-          md-label="{page: '{{ 'TOOLS.PAGE' | translate }}:', rowsPerPage: '{{ 'TOOLS.ROWSPERPAGE' | translate }}:', of: '{{ 'TOOLS.OF' | translate }}'}"
+          md-label="{page: '{{ 'APP.PAGE' | translate }}:', rowsPerPage: '{{ 'APP.ROWSPERPAGE' | translate }}:', of: '{{ 'APP.OF' | translate }}'}"
           md-limit="vm.query.limit"
           md-limit-options="[10, 15, 20, 50, 100, 250]"
           md-page="vm.query.page"
diff --git a/public/src/js/modules/main/apps/tools/views/trunks/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/trunks/create/dialog.html/dialog.html
index 0b1efc5..76ece68 100644
--- a/public/src/js/modules/main/apps/tools/views/trunks/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/trunks/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newTrunk"
         />
 
-        <div class="hint"><span translate="TOOLS.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="trunkForm['name'].$error"
           ng-show="trunkForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="TOOLS.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -71,11 +71,11 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.trunk.active" aria-label="active"
-          ><span translate="TOOLS.ACTIVE">active</span></md-switch
+          ><span translate="APP.ACTIVE">active</span></md-switch
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.HOST">host</label>
+        <label translate="APP.HOST">host</label>
         <input
           type="text"
           name="host"
@@ -90,7 +90,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.HOST_REQUIRED"
+            <span translate="APP.ERRORS.HOST_REQUIRED"
               >host field is required</span
             >
           </div>
@@ -104,12 +104,12 @@
           ng-model="vm.trunk.secret"
           placeholder="Password"
           translate
-          translate-attr-placeholder="TOOLS.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
         />
         <div class="hint"><span translate="TOOLS.HELP.SECRET"></span></div>
         <div ng-messages="trunkForm['secret'].$error" role="alert">
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -141,7 +141,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.REGISTRY">registry</label>
+        <label translate="APP.REGISTRY">registry</label>
         <input type="text" name="registry" ng-model="vm.trunk.registry" />
 
         <div class="hint"><span translate="TOOLS.HELP.REGISTRY"></span></div>
@@ -158,7 +158,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input type="text" name="description" ng-model="vm.trunk.description" />
 
         <div
@@ -209,8 +209,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="trunkForm.$invalid || trunkForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -235,10 +235,10 @@
           ng-click="vm.deleteTrunk($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/trunks/edit/clone/clone.html/clone.html b/public/src/js/modules/main/apps/tools/views/trunks/edit/clone/clone.html/clone.html
index 136bb10..c54899c 100644
--- a/public/src/js/modules/main/apps/tools/views/trunks/edit/clone/clone.html/clone.html
+++ b/public/src/js/modules/main/apps/tools/views/trunks/edit/clone/clone.html/clone.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newTrunk"
         />
 
-        <div class="hint"><span translate="TOOLS.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="trunkForm['name'].$error"
           ng-show="trunkForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="TOOLS.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -71,7 +71,7 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.trunk.active" aria-label="active"
-          ><span translate="TOOLS.ACTIVE">active</span></md-switch
+          ><span translate="APP.ACTIVE">active</span></md-switch
       </md-input-container>
 
diff --git a/public/src/js/modules/main/apps/tools/views/trunks/edit/view.html/view.html b/public/src/js/modules/main/apps/tools/views/trunks/edit/view.html/view.html
index 286c122..27c4191 100644
--- a/public/src/js/modules/main/apps/tools/views/trunks/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/tools/views/trunks/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.trunk.name">{{vm.trunk.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="TOOLS.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.trunk.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -58,8 +58,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (advancedForm.$invalid) || (otherFieldsForm.$invalid)"
-        translate="TOOLS.SAVE"
-        translate-attr-aria-label="TOOLS.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -78,20 +78,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="TOOLS.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="trunk-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="TOOLS.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="TOOLS.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -103,7 +103,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="TOOLS.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -111,13 +111,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="TOOLS.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -129,11 +129,12 @@
                   ng-model="vm.trunk.active"
                   aria-label="active"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="TOOLS.ACTIVE">active</span></md-switch
+                >
+                  <span translate="APP.ACTIVE">active</span></md-switch
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.HOST">host</label>
+                <label translate="APP.HOST">host</label>
                 <input
                   type="text"
                   name="host"
@@ -151,7 +152,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.HOST_REQUIRED"
+                    <span translate="APP.ERRORS.HOST_REQUIRED"
                       >host field is required</span
                     >
                   </div>
@@ -165,14 +166,14 @@
                   ng-model="vm.trunk.secret"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="TOOLS.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                 />
                 <div class="hint">
                   <span translate="TOOLS.HELP.SECRET"></span>
                 </div>
                 <div ng-messages="generalForm['secret'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -211,7 +212,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.CONTEXT">context</label>
+                <label translate="APP.CONTEXT">context</label>
                 <md-select
                   name="context"
                   ng-model="vm.trunk.context"
@@ -226,7 +227,7 @@
                 </md-select>
                 <div class="hint">
-                  <span translate="TOOLS.HELP.CONTEXT"></span>
+                  <span translate="APP.HELP.CONTEXT"></span>
                 </div>
                 <div
                   ng-messages="generalForm['context'].$error"
@@ -234,14 +235,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.CONTEXT_REQUIRED"
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED"
                       >context field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.CALLERID">callerid</label>
+                <label translate="APP.CALLERID">callerid</label>
                 <input
                   type="text"
                   name="callerid"
@@ -266,7 +267,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <md-select
                   name="type"
                   ng-model="vm.trunk.type"
@@ -278,7 +279,7 @@
                   <md-option ng-value="'peer'">Peer</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="TOOLS.HELP.TYPE"></span>
+                  <span translate="APP.HELP.TYPE"></span>
                 </div>
                 <div
                   ng-messages="generalForm['type'].$error"
@@ -286,7 +287,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="TOOLS.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
@@ -322,7 +323,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.NAT">nat</label>
+                <label translate="APP.NAT">nat</label>
                 <md-select
                   name="nat"
                   ng-model="vm.trunk.nat"
@@ -359,11 +360,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'TOOLS.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'TOOLS.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -382,7 +383,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.ALLOWCODECS">AllowCodecs</label>
+                <label translate="APP.ALLOWCODECS">AllowCodecs</label>
                 <md-select
                   name="allow"
                   ng-model="vm.trunk.allow"
@@ -469,7 +470,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -495,20 +496,20 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="TOOLS.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="trunk-detail-form-container advanced md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="TOOLS.ADVANCED">
+              <div class="h2 secondary-text" translate="APP.ADVANCED">
                 ADVANCED
               </div>
             </div>
             <form name="advancedForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="TOOLS.REGISTRY">registry</label>
+                <label translate="APP.REGISTRY">registry</label>
                 <input
                   type="text"
                   name="registry"
@@ -569,11 +570,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'TOOLS.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'TOOLS.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -674,11 +675,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'TOOLS.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'TOOLS.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -707,11 +708,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'TOOLS.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'TOOLS.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -741,11 +742,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'TOOLS.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'TOOLS.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
 
                   <md-option ng-value="'pai'">
@@ -771,7 +772,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.ENCRYPTION">encryption</label>
+                <label translate="APP.ENCRYPTION">encryption</label>
                 <md-select
                   name="encryption"
                   ng-model="vm.trunk.encryption"
@@ -779,11 +780,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'TOOLS.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'TOOLS.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -802,7 +803,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.PORT">port</label>
+                <label translate="APP.PORT">port</label>
                 <input
                   type="number"
                   name="port"
@@ -826,7 +827,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.TRANSPORT">Transport</label>
+                <label translate="APP.TRANSPORT">Transport</label>
                 <md-select
                   name="transport"
                   ng-model="vm.trunk.transport"
@@ -880,7 +881,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="TOOLS.VIDEOSUPPORT">Videosupport</label>
+                <label translate="APP.VIDEOSUPPORT">Videosupport</label>
                 <md-select
                   name="videosupport"
                   ng-model="vm.trunk.videosupport"
diff --git a/public/src/js/modules/main/apps/tools/views/trunks/trunks.html/trunks.html b/public/src/js/modules/main/apps/tools/views/trunks/trunks.html/trunks.html
index 0573782..9f82bc8 100644
--- a/public/src/js/modules/main/apps/tools/views/trunks/trunks.html/trunks.html
+++ b/public/src/js/modules/main/apps/tools/views/trunks/trunks.html/trunks.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-auto-fix" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="TOOLS.TRUNKS">Trunks</span>
+        <span class="logo-text" translate="APP.TRUNKS">Trunks</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedTrunks =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-trunks-count">
           <span>{{vm.selectedTrunks.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllTrunks()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectTrunks()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedTrunks($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,21 +147,21 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="active">
-                  {{ 'TOOLS.ACTIVE' | translate }}
+                  {{ 'APP.ACTIVE' | translate }}
                 </th>
                 <th md-column md-order-by="host">
-                  {{ 'TOOLS.HOST' | translate }}
+                  {{ 'APP.HOST' | translate }}
                 </th>
                 <th md-column md-order-by="registry">
-                  {{ 'TOOLS.REGISTRY' | translate }}
+                  {{ 'APP.REGISTRY' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -170,7 +170,7 @@
               <tr md-row ng-hide="vm.trunks.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -251,7 +251,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -265,7 +265,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(trunk, $event    )"
-                          translate="TOOLS.EDIT_TRUNK"
+                          translate="APP.EDIT_TRUNK"
                           Edit Trunk
                         </md-button>
diff --git a/public/src/js/modules/main/apps/tools/views/variables/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/tools/views/variables/create/dialog.html/dialog.html
index be51e70..adc07de 100644
--- a/public/src/js/modules/main/apps/tools/views/variables/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/tools/views/variables/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="TOOLS.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="TOOLS.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="TOOLS.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -115,8 +115,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="variableForm.$invalid || variableForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -128,8 +128,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="variableForm.$invalid"
           aria-label="ADD"
-          translate="TOOLS.ADD_VARIABLE"
-          translate-attr-aria-label="TOOLS.ADD_VARIABLE"
+          translate="APP.ADD_VARIABLE"
+          translate-attr-aria-label="APP.ADD_VARIABLE"
           ADD VARIABLE
         </md-button>
@@ -141,10 +141,10 @@
           ng-click="vm.deleteVariable($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="TOOLS.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="TOOLS.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/tools/views/variables/variables.html/variables.html b/public/src/js/modules/main/apps/tools/views/variables/variables.html/variables.html
index 24915a4..31f475d 100644
--- a/public/src/js/modules/main/apps/tools/views/variables/variables.html/variables.html
+++ b/public/src/js/modules/main/apps/tools/views/variables/variables.html/variables.html
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="TOOLS.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedVariables =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="TOOLS.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-variables-count">
           <span>{{vm.selectedVariables.length}}</span>
-          <span translate="TOOLS.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllVariables()"
-                translate="TOOLS.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectVariables()"
-                translate="TOOLS.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedVariables($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="TOOLS.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'TOOLS.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'TOOLS.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'TOOLS.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.variables.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="TOOLS.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -222,7 +222,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="TOOLS.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -289,7 +289,7 @@
     ng-click="vm.createOrEditVariable($event)"
     aria-label="add variable"
     translate
-    translate-attr-aria-label="TOOLS.ADD_VARIABLE"
+    translate-attr-aria-label="APP.ADD_VARIABLE"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/video/views/screenRecordings/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/video/views/screenRecordings/create/dialog.html/dialog.html
index 4840a0c..e2f0ff7 100644
--- a/public/src/js/modules/main/apps/video/views/screenRecordings/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/video/views/screenRecordings/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VIDEO.RATING">Rating</label>
+        <label translate="APP.RATING">Rating</label>
         <md-select
           name="rating"
           ng-model="vm.screenRecording.rating"
@@ -48,41 +48,41 @@
           <md-option ng-value="null"
             >{{'VIDEO.NO_RATING' | translate}}</md-option
           >
-          <md-option value="1"
-            ><md-icon
+          <md-option value="1">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1]"
-            ></md-icon
-          ></md-option>
-          <md-option value="2"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="2">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2]"
-            ></md-icon
-          ></md-option>
-          <md-option value="3"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="3">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2,3]"
-            ></md-icon
-          ></md-option>
-          <md-option value="4"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="4">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2,3,4]"
-            ></md-icon
-          ></md-option>
-          <md-option value="5"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="5">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2,3,4,5]"
-            ></md-icon
-          ></md-option>
+            ></md-icon>
+          </md-option>
         </md-select>
         <div
           ng-messages="screenRecordingForm['rating'].$error"
@@ -132,8 +132,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="screenRecordingForm.$invalid || screenRecordingForm.$pristine"
           aria-label="SAVE"
-          translate="VIDEO.SAVE"
-          translate-attr-aria-label="VIDEO.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -158,10 +158,10 @@
           ng-click="vm.deletescreenRecording($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VIDEO.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VIDEO.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/video/views/screenRecordings/screenRecordings.html/screenRecordings.html b/public/src/js/modules/main/apps/video/views/screenRecordings/screenRecordings.html/screenRecordings.html
index 3d1747b..475bea6 100644
--- a/public/src/js/modules/main/apps/video/views/screenRecordings/screenRecordings.html/screenRecordings.html
+++ b/public/src/js/modules/main/apps/video/views/screenRecordings/screenRecordings.html/screenRecordings.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VIDEO.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -66,7 +66,7 @@
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VIDEO.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -74,7 +74,7 @@
       <div>
         <span class="selected-screenRecordings-count">
           <span>{{vm.selectedScreenRecordings.length}}</span>
-          <span translate="VIDEO.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllScreenRecordings()"
-                translate="VIDEO.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -99,7 +99,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectScreenRecordings()"
-                translate="VIDEO.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -123,7 +123,7 @@
           ng-click="vm.deleteSelectedScreenRecordings($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VIDEO.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -157,15 +157,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VIDEO.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="rating">
-                  {{ 'VIDEO.RATING' | translate }}
+                  {{ 'APP.RATING' | translate }}
                 </th>
                 <th md-column md-order-by="UserId">
-                  {{ 'VIDEO.AGENT' | translate }}
+                  {{ 'APP.AGENT' | translate }}
                 </th>
                 <th md-column md-order-by="duration">
-                  {{ 'VIDEO.DURATION' | translate }}
+                  {{ 'APP.DURATION' | translate }}
                 </th>
                 <th md-column md-order-by="startedAt">
                   {{ 'VIDEO.RECORDSTARTTIME' | translate }}
@@ -180,7 +180,7 @@
               <tr md-row ng-hide="vm.screenRecordings.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="VIDEO.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -229,7 +229,7 @@
                   ></md-icon
                   ><span
                     ng-hide="screenRecording.rating"
-                    translate="VIDEO.NO_RATING"
+                    translate="APP.NO_RATING"
                     >No rating</span
                 </td>
@@ -267,7 +267,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VIDEO.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -328,7 +328,8 @@
           md-total="{{vm.screenRecordings.count}}"
           md-on-paginate="vm.getScreenRecordings"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / SCREENRECORDING TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/voice/views/chanSpies/chanSpies.html/chanSpies.html b/public/src/js/modules/main/apps/voice/views/chanSpies/chanSpies.html/chanSpies.html
index 8cd063e..f49f2f6 100644
--- a/public/src/js/modules/main/apps/voice/views/chanSpies/chanSpies.html/chanSpies.html
+++ b/public/src/js/modules/main/apps/voice/views/chanSpies/chanSpies.html/chanSpies.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.CHANSPIES">ChanSpies</span>
+        <span class="logo-text" translate="APP.CHANSPIES">ChanSpies</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedChanSpies =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-chanSpies-count">
           <span>{{vm.selectedChanSpies.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllChanSpies()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectChanSpies()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedChanSpies($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,21 +147,21 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'VOICE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="prefix">
-                  {{ 'VOICE.PREFIX' | translate }}
+                  {{ 'APP.PREFIX' | translate }}
                 </th>
                 <th md-column md-order-by="auth">
-                  {{ 'VOICE.AUTH' | translate }}
+                  {{ 'APP.AUTH' | translate }}
                 </th>
                 <th md-column md-order-by="record">
-                  {{ 'VOICE.RECORD' | translate }}
+                  {{ 'APP.RECORD' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'VOICE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -170,7 +170,7 @@
               <tr md-row ng-hide="vm.chanSpies.rows.length">
                 <td md-cell colspan="7">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -258,7 +258,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -272,7 +272,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editdialog(chanSpy, $event    )"
-                          translate="VOICE.EDIT_CHANSPY"
+                          translate="APP.EDIT_CHANSPY"
                           Edit chanSpy
                         </md-button>
@@ -285,7 +285,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(chanSpy, $event    )"
-                          translate="VOICE.DELETE_CHANSPY"
+                          translate="APP.DELETE_CHANSPY"
                           Delete chanSpy
                         </md-button>
@@ -325,7 +325,7 @@
     ng-click="vm.createOrEditchanSpy($event)"
     aria-label="add chanSpy"
     translate
-    translate-attr-aria-label="VOICE.ADD_CHANSPY"
+    translate-attr-aria-label="APP.ADD_CHANSPY"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/chanSpies/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/chanSpies/create/dialog.html/dialog.html
index af37aa2..04587f1 100644
--- a/public/src/js/modules/main/apps/voice/views/chanSpies/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/chanSpies/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.PREFIX">Prefix</label>
+        <label translate="APP.PREFIX">Prefix</label>
         <input
           type="text"
           name="prefix"
@@ -74,14 +74,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PREFIX_REQUIRED"
+            <span translate="APP.ERRORS.PREFIX_REQUIRED"
               >Prefix field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <md-select
           name="options"
           ng-model="vm.chanSpy.options"
@@ -127,7 +127,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
@@ -135,23 +135,23 @@
       </md-input-container>
       <md-input-container class="md-block">
         <md-switch ng-model="vm.chanSpy.auth" aria-label="Auth"
-          ><span translate="VOICE.AUTH">Auth</span></md-switch
+          ><span translate="APP.AUTH">Auth</span></md-switch
       </md-input-container>
       <md-input-container class="md-block" ng-if="vm.chanSpy.auth">
-        <label translate="VOICE.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.chanSpy.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="VOICE.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div ng-messages="chanSpyForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -167,11 +167,11 @@
 
       <md-input-container class="md-block">
         <md-switch ng-model="vm.chanSpy.record" aria-label="Record"
-          ><span translate="VOICE.RECORD">Record</span></md-switch
-        >
+          ><span translate="APP.RECORD">Record</span>
+        </md-switch>
       </md-input-container>
       <md-input-container ng-if="vm.chanSpy.record" class="md-block">
-        <label translate="VOICE.RECORDINGFORMAT">recordingFormat</label>
+        <label translate="APP.RECORDINGFORMAT">recordingFormat</label>
         <md-select
           name="recordingFormat"
           ng-model="vm.chanSpy.recordingFormat"
@@ -194,7 +194,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -249,8 +249,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chanSpyForm.$invalid || chanSpyForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -262,8 +262,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="chanSpyForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_CHANSPY"
-          translate-attr-aria-label="VOICE.ADD_CHANSPY"
+          translate="APP.ADD_CHANSPY"
+          translate-attr-aria-label="APP.ADD_CHANSPY"
           ADD CHANSPY
         </md-button>
@@ -275,10 +275,10 @@
           ng-click="vm.deletechanSpy($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/contexts/contexts.html/contexts.html b/public/src/js/modules/main/apps/voice/views/contexts/contexts.html/contexts.html
index 7165040..d933de2 100644
--- a/public/src/js/modules/main/apps/voice/views/contexts/contexts.html/contexts.html
+++ b/public/src/js/modules/main/apps/voice/views/contexts/contexts.html/contexts.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.CONTEXTS">Contexts</span>
+        <span class="logo-text" translate="APP.CONTEXTS">Contexts</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedContexts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-contexts-count">
           <span>{{vm.selectedContexts.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllContexts()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectContexts()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedContexts($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,12 +147,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'VOICE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'VOICE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -161,7 +161,7 @@
               <tr md-row ng-hide="vm.contexts.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -222,7 +222,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -236,7 +236,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editdialog(context, $event    )"
-                          translate="VOICE.EDIT_CONTEXT"
+                          translate="APP.EDIT_CONTEXT"
                           Edit Context
                         </md-button>
@@ -249,7 +249,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(context, $event    )"
-                          translate="VOICE.DELETE_CONTEXT"
+                          translate="APP.DELETE_CONTEXT"
                           Delete Context
                         </md-button>
@@ -289,7 +289,7 @@
     ng-click="vm.createOrEditContext($event)"
     aria-label="add context"
     translate
-    translate-attr-aria-label="VOICE.ADD_CONTEXT"
+    translate-attr-aria-label="APP.ADD_CONTEXT"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/contexts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/contexts/create/dialog.html/dialog.html
index 57c6c38..1a71573 100644
--- a/public/src/js/modules/main/apps/voice/views/contexts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/contexts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -115,8 +115,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="contextForm.$invalid || contextForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -128,8 +128,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="contextForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_CONTEXT"
-          translate-attr-aria-label="VOICE.ADD_CONTEXT"
+          translate="APP.ADD_CONTEXT"
+          translate-attr-aria-label="APP.ADD_CONTEXT"
           ADD CONTEXT
         </md-button>
@@ -141,10 +141,10 @@
           ng-click="vm.deleteContext($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/create/dialog.html/dialog.html
index b1cf76e..8ee9af2 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.PHONENUMBER">PhoneNumber</label>
+        <label translate="APP.PHONENUMBER">PhoneNumber</label>
         <input
           type="text"
           name="exten"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PHONENUMBER_REQUIRED"
+            <span translate="APP.ERRORS.PHONENUMBER_REQUIRED"
               >PhoneNumber field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.CONTEXT">Context</label>
+        <label translate="APP.CONTEXT">Context</label>
         <md-select name="context" ng-model="vm.inboundroute.context" required>
           <md-option
             ng-value="context.name"
@@ -75,14 +75,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+            <span translate="APP.ERRORS.CONTEXT_REQUIRED"
               >Context field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -137,8 +137,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteForm.$invalid || inboundrouteForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -150,8 +150,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_INBOUNDROUTE"
-          translate-attr-aria-label="VOICE.ADD_INBOUNDROUTE"
+          translate="APP.ADD_INBOUNDROUTE"
+          translate-attr-aria-label="APP.ADD_INBOUNDROUTE"
           ADD INBOUNDROUTE
         </md-button>
@@ -163,10 +163,10 @@
           ng-click="vm.deleteInboundRoute($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/agi/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/agi/dialog.html/dialog.html
index d027731..7bf93b8 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/agi/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/agi/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.PROJECT">Project</label>
+        <label translate="APP.PROJECT">Project</label>
         <md-select
           name="project"
           ng-model="vm.agi.project"
@@ -59,7 +59,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PROJECT_REQUIRED"
+            <span translate="APP.ERRORS.PROJECT_REQUIRED"
               >Project field is required</span
             >
           </div>
@@ -100,8 +100,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/custom/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/custom/dialog.html/dialog.html
index 3368e92..347c0db 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/custom/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/custom/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.APPLICATION_NAME">Application_Name</label>
+        <label translate="APP.APPLICATION_NAME">Application_Name</label>
         <input
           type="text"
           name="app"
@@ -61,7 +61,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.ARGUMENTS">Arguments</label>
+        <label translate="APP.ARGUMENTS">Arguments</label>
         <input
           type="text"
           name="appdata"
@@ -116,8 +116,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/dial/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/dial/dialog.html/dialog.html
index b1e8ae4..cf99785 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/dial/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/dial/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.TECHNOLOGY/RESOURCE">Technology/Resource</label>
+        <label translate="APP.TECHNOLOGY/RESOURCE">Technology/Resource</label>
         <input
           type="text"
           name="tech"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TECHNOLOGY/RESOURCE_REQUIRED"
+            <span translate="APP.ERRORS.TECHNOLOGY/RESOURCE_REQUIRED"
               >Technology/Resource field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -76,13 +76,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -90,7 +90,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -104,14 +104,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -125,7 +125,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -166,8 +166,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/externaldial/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/externaldial/dialog.html/dialog.html
index 8ac8794..8ca244e 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/externaldial/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/externaldial/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.TRUNK">Trunk</label>
+        <label translate="APP.TRUNK">Trunk</label>
         <md-select
           name="trunk"
           ng-model="vm.externaldial.trunk"
@@ -50,7 +50,8 @@
             ng-value="trunk.name"
             ng-repeat="trunk in vm.trunks"
             ng-disabled="trunk.canSelect === false"
-            >{{ trunk.name }}</md-option
+          >
+            {{ trunk.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TRUNK_REQUIRED"
+            <span translate="APP.ERRORS.TRUNK_REQUIRED"
               >Trunk field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.PHONE">Phone</label>
+        <label translate="APP.PHONE">Phone</label>
         <input
           type="text"
           name="phone"
@@ -81,14 +82,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PHONE_REQUIRED"
+            <span translate="APP.ERRORS.PHONE_REQUIRED"
               >Phone field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -103,13 +104,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -117,7 +118,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -131,14 +132,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -152,7 +153,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -193,8 +194,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/goto/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/goto/dialog.html/dialog.html
index e3c9d03..3f3a98f 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/goto/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/goto/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.CONTEXT">Context</label>
+        <label translate="APP.CONTEXT">Context</label>
         <md-select
           name="context"
           ng-model="vm.goto.context"
@@ -59,14 +59,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+            <span translate="APP.ERRORS.CONTEXT_REQUIRED"
               >Context field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.EXTENSION">Extension</label>
+        <label translate="APP.EXTENSION">Extension</label>
         <input
           type="text"
           name="extension"
@@ -81,14 +81,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.EXTENSION_REQUIRED"
+            <span translate="APP.ERRORS.EXTENSION_REQUIRED"
               >Extension field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="text"
           name="priority"
@@ -103,7 +103,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
@@ -144,8 +144,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/hangup/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/hangup/dialog.html/dialog.html
index 2432e07..578a69a 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/hangup/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/hangup/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.HANGUP_CAUSE">Hangup_Cause</label>
+        <label translate="APP.HANGUP_CAUSE">Hangup_Cause</label>
         <md-select
           name="appdata"
           ng-model="vm.hangup.appdata"
@@ -47,39 +47,39 @@
           ng-disabled="!vm.crudPermissions.canEdit"
           <md-option ng-value="'1'">
-            {{ 'VOICE.HANGUPCAUSE_1' | translate }}
+            {{ 'APP.HANGUPCAUSE_1' | translate }}
           </md-option>
 
           <md-option ng-value="'16'">
-            {{ 'VOICE.HANGUPCAUSE_16' | translate }}
+            {{ 'APP.HANGUPCAUSE_16' | translate }}
           </md-option>
 
           <md-option ng-value="'17'">
-            {{ 'VOICE.HANGUPCAUSE_17' | translate }}
+            {{ 'APP.HANGUPCAUSE_17' | translate }}
           </md-option>
 
           <md-option ng-value="'18'">
-            {{ 'VOICE.HANGUPCAUSE_18' | translate }}
+            {{ 'APP.HANGUPCAUSE_18' | translate }}
           </md-option>
 
           <md-option ng-value="'21'">
-            {{ 'VOICE.HANGUPCAUSE_21' | translate }}
+            {{ 'APP.HANGUPCAUSE_21' | translate }}
           </md-option>
 
           <md-option ng-value="'22'">
-            {{ 'VOICE.HANGUPCAUSE_22' | translate }}
+            {{ 'APP.HANGUPCAUSE_22' | translate }}
           </md-option>
 
           <md-option ng-value="'27'">
-            {{ 'VOICE.HANGUPCAUSE_27' | translate }}
+            {{ 'APP.HANGUPCAUSE_27' | translate }}
           </md-option>
 
           <md-option ng-value="'38'">
-            {{ 'VOICE.HANGUPCAUSE_38' | translate }}
+            {{ 'APP.HANGUPCAUSE_38' | translate }}
           </md-option>
 
           <md-option ng-value="'41'">
-            {{ 'VOICE.HANGUPCAUSE_41' | translate }}
+            {{ 'APP.HANGUPCAUSE_41' | translate }}
           </md-option>
         </md-select>
         <div
@@ -129,8 +129,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/internaldial/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/internaldial/dialog.html/dialog.html
index cdf7c27..cd77ffc 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/internaldial/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/internaldial/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.USER">User</label>
+        <label translate="APP.USER">User</label>
         <md-select
           name="user"
           ng-model="vm.internaldial.user"
@@ -50,7 +50,8 @@
             ng-value="'SIP/{{user.name}}'"
             ng-repeat="user in vm.users"
             ng-disabled="user.canSelect === false"
-            >{{ user.name }}</md-option
+          >
+            {{ user.name }}</md-option
         </md-select>
         <div
@@ -66,7 +67,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -81,13 +82,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -95,7 +96,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -109,14 +110,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -130,7 +131,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -171,8 +172,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/playback/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/playback/dialog.html/dialog.html
index 0658a87..5e4b151 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/playback/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/playback/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.AUDIO_FILES">Audio_Files</label>
+        <label translate="APP.AUDIO_FILES">Audio_Files</label>
         <md-select
           name="appdata"
           ng-model="vm.playback.appdata"
@@ -66,7 +66,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -80,7 +80,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
@@ -91,7 +91,7 @@
           ng-model="vm.playback.answer"
           aria-label="Answer"
           ng-disabled="!vm.crudPermissions.canEdit"
-          ><span translate="VOICE.ANSWER">Answer</span></md-switch
+          ><span translate="APP.ANSWER">Answer</span></md-switch
       </md-input-container>
 
@@ -129,8 +129,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/queue/dialog.html/dialog.html
index 902a4c4..634323c 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/queue/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -50,7 +50,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -80,14 +81,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="URL"
@@ -101,14 +102,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.ANNOUNCE_OVERRIDES">Announce_Overrides</label>
+        <label translate="APP.ANNOUNCE_OVERRIDES">Announce_Overrides</label>
         <md-select
           name="sound"
           ng-model="vm.queue.sound"
@@ -135,7 +136,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -150,13 +151,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -164,7 +165,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.AGI">Agi</label>
+        <label translate="APP.AGI">Agi</label>
         <input
           type="text"
           name="agi"
@@ -185,7 +186,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.MACRO">Macro</label>
+        <label translate="APP.MACRO">Macro</label>
         <input
           type="text"
           name="macro"
@@ -206,7 +207,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.GOSUB">GoSub</label>
+        <label translate="APP.GOSUB">GoSub</label>
         <input
           type="text"
           name="gosub"
@@ -227,7 +228,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.RULE">Rule</label>
+        <label translate="APP.RULE">Rule</label>
         <input
           type="text"
           name="rule"
@@ -248,7 +249,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.POSITION">Position</label>
+        <label translate="APP.POSITION">Position</label>
         <input
           type="number"
           name="position"
@@ -281,7 +282,7 @@
           ng-model="vm.queue.answer"
           aria-label="Answer"
           ng-disabled="!vm.crudPermissions.canEdit"
-          ><span translate="VOICE.ANSWER">Answer</span></md-switch
+          ><span translate="APP.ANSWER">Answer</span></md-switch
       </md-input-container>
 
@@ -319,8 +320,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/ringgroup/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/ringgroup/dialog.html/dialog.html
index af05e93..50c28cd 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/ringgroup/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/ringgroup/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.USER">User</label>
+        <label translate="APP.USER">User</label>
         <md-select
           name="multipleUsers"
           ng-model="vm.ringgroup.multipleUsers"
@@ -67,7 +67,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -82,13 +82,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -96,7 +96,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -110,14 +110,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -131,7 +131,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -172,8 +172,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/set/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/set/dialog.html/dialog.html
index b0fb773..11dcab9 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/set/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/set/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="name"
           ng-model="vm.set.name"
@@ -50,7 +50,8 @@
             ng-value="name.name"
             ng-repeat="name in vm.variables"
             ng-disabled="name.canSelect === false"
-            >{{ name.name }}</md-option
+          >
+            {{ name.name }}</md-option
         </md-select>
         <div
@@ -66,7 +67,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -81,7 +82,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -122,8 +123,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/voicemail/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/voicemail/dialog.html/dialog.html
index 15c0954..9bfb47a 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/voicemail/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/apps/voicemail/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.MAILBOX@CONTEXT">Mailbox@Context</label>
+        <label translate="APP.MAILBOX@CONTEXT">Mailbox@Context</label>
         <md-select
           name="voiceMail"
           ng-model="vm.voicemail.voiceMail"
@@ -66,7 +66,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -80,7 +80,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
@@ -121,8 +121,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="inboundrouteFormApp.$invalid || inboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/view.html/view.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/view.html/view.html
index 1842009..bc0c1d6 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.inboundroute.name">{{vm.inboundroute.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="VOICE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.inboundroute.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -36,8 +36,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (actionsForm.$invalid)"
-        translate="VOICE.SAVE"
-        translate-attr-aria-label="VOICE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,20 +56,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="inboundroute-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.PHONENUMBER">PhoneNumber</label>
+                <label translate="APP.PHONENUMBER">PhoneNumber</label>
                 <input
                   type="text"
                   name="exten"
@@ -85,14 +85,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.PHONENUMBER_REQUIRED"
+                    <span translate="APP.ERRORS.PHONENUMBER_REQUIRED"
                       >PhoneNumber field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CONTEXT">Context</label>
+                <label translate="APP.CONTEXT">Context</label>
                 <md-select
                   name="context"
                   ng-model="vm.inboundroute.context"
@@ -112,14 +112,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED"
                       >Context field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -145,7 +145,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -229,7 +229,7 @@
                       ng-click="vm_ac.deleteSelectedInboundRouteApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="VOICE.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -320,7 +320,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -334,7 +334,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInboundRouteApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -344,7 +344,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -354,7 +354,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -367,7 +367,7 @@
                         <td md-cell colspan="6">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
diff --git a/public/src/js/modules/main/apps/voice/views/inboundroutes/inboundroutes.html/inboundroutes.html b/public/src/js/modules/main/apps/voice/views/inboundroutes/inboundroutes.html/inboundroutes.html
index a8a9c79..a697f14 100644
--- a/public/src/js/modules/main/apps/voice/views/inboundroutes/inboundroutes.html/inboundroutes.html
+++ b/public/src/js/modules/main/apps/voice/views/inboundroutes/inboundroutes.html/inboundroutes.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.INBOUNDROUTES"
+        <span class="logo-text" translate="APP.INBOUNDROUTES"
           >InboundRoutes</span
       </div>
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedInboundRoutes =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-inboundroutes-count">
           <span>{{vm.selectedInboundRoutes.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllInboundRoutes()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectInboundRoutes()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedInboundRoutes($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,12 +149,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="exten">
-                  {{ 'VOICE.PHONENUMBER' | translate }}
+                  {{ 'APP.PHONENUMBER' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'VOICE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -163,7 +163,7 @@
               <tr md-row ng-hide="vm.inboundroutes.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -224,7 +224,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -238,7 +238,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(inboundroute, $event    )"
-                          translate="VOICE.EDIT_INBOUNDROUTE"
+                          translate="APP.EDIT_INBOUNDROUTE"
                           Edit InboundRoute
                         </md-button>
@@ -251,7 +251,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(inboundroute, $event    )"
-                          translate="VOICE.DELETE_INBOUNDROUTE"
+                          translate="APP.DELETE_INBOUNDROUTE"
                           Delete InboundRoute
                         </md-button>
@@ -272,7 +272,8 @@
           md-total="{{vm.inboundroutes.count}}"
           md-on-paginate="vm.getInboundRoutes"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / INBOUNDROUTE TABLE -->
       <!-- NO RESULTS -->
@@ -291,7 +292,7 @@
     ng-click="vm.createOrEditInboundRoute($event)"
     aria-label="add inboundroute"
     translate
-    translate-attr-aria-label="VOICE.ADD_INBOUNDROUTE"
+    translate-attr-aria-label="APP.ADD_INBOUNDROUTE"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/create/dialog.html/dialog.html
index 932a7a5..75c24bc 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.PHONENUMBER">PhoneNumber</label>
+        <label translate="APP.PHONENUMBER">PhoneNumber</label>
         <input
           type="text"
           name="exten"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PHONENUMBER_REQUIRED"
+            <span translate="APP.ERRORS.PHONENUMBER_REQUIRED"
               >PhoneNumber field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.CONTEXT">Context</label>
+        <label translate="APP.CONTEXT">Context</label>
         <md-select name="context" ng-model="vm.internalroute.context" required>
           <md-option
             ng-value="context.name"
@@ -75,14 +75,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+            <span translate="APP.ERRORS.CONTEXT_REQUIRED"
               >Context field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -137,8 +137,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteForm.$invalid || internalrouteForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -150,8 +150,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_INTERNALROUTE"
-          translate-attr-aria-label="VOICE.ADD_INTERNALROUTE"
+          translate="APP.ADD_INTERNALROUTE"
+          translate-attr-aria-label="APP.ADD_INTERNALROUTE"
           ADD INTERNALROUTE
         </md-button>
@@ -163,10 +163,10 @@
           ng-click="vm.deleteInternalRoute($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/agi/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/agi/dialog.html/dialog.html
index d5960e9..f424e58 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/agi/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/agi/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.PROJECT">Project</label>
+        <label translate="APP.PROJECT">Project</label>
         <md-select
           name="project"
           ng-model="vm.agi.project"
@@ -59,7 +59,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PROJECT_REQUIRED"
+            <span translate="APP.ERRORS.PROJECT_REQUIRED"
               >Project field is required</span
             >
           </div>
@@ -100,8 +100,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/custom/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/custom/dialog.html/dialog.html
index 310ec34..ca68c90 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/custom/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/custom/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.APPLICATION_NAME">Application_Name</label>
+        <label translate="APP.APPLICATION_NAME">Application_Name</label>
         <input
           type="text"
           name="app"
@@ -61,7 +61,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.ARGUMENTS">Arguments</label>
+        <label translate="APP.ARGUMENTS">Arguments</label>
         <input
           type="text"
           name="appdata"
@@ -116,8 +116,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/dial/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/dial/dialog.html/dialog.html
index 48ae455..3c47210 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/dial/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/dial/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.TECHNOLOGY/RESOURCE">Technology/Resource</label>
+        <label translate="APP.TECHNOLOGY/RESOURCE">Technology/Resource</label>
         <input
           type="text"
           name="tech"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TECHNOLOGY/RESOURCE_REQUIRED"
+            <span translate="APP.ERRORS.TECHNOLOGY/RESOURCE_REQUIRED"
               >Technology/Resource field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -76,13 +76,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -90,7 +90,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -104,14 +104,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -125,7 +125,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -166,8 +166,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/externaldial/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/externaldial/dialog.html/dialog.html
index 1d2e13e..1b3630e 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/externaldial/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/externaldial/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.TRUNK">Trunk</label>
+        <label translate="APP.TRUNK">Trunk</label>
         <md-select
           name="trunk"
           ng-model="vm.externaldial.trunk"
@@ -50,7 +50,8 @@
             ng-value="trunk.name"
             ng-repeat="trunk in vm.trunks"
             ng-disabled="trunk.canSelect === false"
-            >{{ trunk.name }}</md-option
+          >
+            {{ trunk.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TRUNK_REQUIRED"
+            <span translate="APP.ERRORS.TRUNK_REQUIRED"
               >Trunk field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.PHONE">Phone</label>
+        <label translate="APP.PHONE">Phone</label>
         <input
           type="text"
           name="phone"
@@ -80,14 +81,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PHONE_REQUIRED"
+            <span translate="APP.ERRORS.PHONE_REQUIRED"
               >Phone field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -102,13 +103,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -116,7 +117,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -130,14 +131,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -151,7 +152,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -192,8 +193,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/goto/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/goto/dialog.html/dialog.html
index e7e12b9..aff56c7 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/goto/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/goto/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.CONTEXT">Context</label>
+        <label translate="APP.CONTEXT">Context</label>
         <md-select
           name="context"
           ng-model="vm.goto.context"
@@ -59,14 +59,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+            <span translate="APP.ERRORS.CONTEXT_REQUIRED"
               >Context field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.EXTENSION">Extension</label>
+        <label translate="APP.EXTENSION">Extension</label>
         <input
           type="text"
           name="extension"
@@ -81,14 +81,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.EXTENSION_REQUIRED"
+            <span translate="APP.ERRORS.EXTENSION_REQUIRED"
               >Extension field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="text"
           name="priority"
@@ -103,7 +103,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
@@ -144,8 +144,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/hangup/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/hangup/dialog.html/dialog.html
index fd5e75e..1616290 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/hangup/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/hangup/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.HANGUP_CAUSE">Hangup_Cause</label>
+        <label translate="APP.HANGUP_CAUSE">Hangup_Cause</label>
         <md-select
           name="appdata"
           ng-model="vm.hangup.appdata"
@@ -47,39 +47,39 @@
           ng-disabled="!vm.crudPermissions.canEdit"
           <md-option ng-value="'1'">
-            {{ 'VOICE.HANGUPCAUSE_1' | translate }}
+            {{ 'APP.HANGUPCAUSE_1' | translate }}
           </md-option>
 
           <md-option ng-value="'16'">
-            {{ 'VOICE.HANGUPCAUSE_16' | translate }}
+            {{ 'APP.HANGUPCAUSE_16' | translate }}
           </md-option>
 
           <md-option ng-value="'17'">
-            {{ 'VOICE.HANGUPCAUSE_17' | translate }}
+            {{ 'APP.HANGUPCAUSE_17' | translate }}
           </md-option>
 
           <md-option ng-value="'18'">
-            {{ 'VOICE.HANGUPCAUSE_18' | translate }}
+            {{ 'APP.HANGUPCAUSE_18' | translate }}
           </md-option>
 
           <md-option ng-value="'21'">
-            {{ 'VOICE.HANGUPCAUSE_21' | translate }}
+            {{ 'APP.HANGUPCAUSE_21' | translate }}
           </md-option>
 
           <md-option ng-value="'22'">
-            {{ 'VOICE.HANGUPCAUSE_22' | translate }}
+            {{ 'APP.HANGUPCAUSE_22' | translate }}
           </md-option>
 
           <md-option ng-value="'27'">
-            {{ 'VOICE.HANGUPCAUSE_27' | translate }}
+            {{ 'APP.HANGUPCAUSE_27' | translate }}
           </md-option>
 
           <md-option ng-value="'38'">
-            {{ 'VOICE.HANGUPCAUSE_38' | translate }}
+            {{ 'APP.HANGUPCAUSE_38' | translate }}
           </md-option>
 
           <md-option ng-value="'41'">
-            {{ 'VOICE.HANGUPCAUSE_41' | translate }}
+            {{ 'APP.HANGUPCAUSE_41' | translate }}
           </md-option>
         </md-select>
         <div
@@ -129,8 +129,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/internaldial/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/internaldial/dialog.html/dialog.html
index a70155d..36759e9 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/internaldial/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/internaldial/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.USER">User</label>
+        <label translate="APP.USER">User</label>
         <md-select
           name="user"
           ng-model="vm.internaldial.user"
@@ -50,7 +50,8 @@
             ng-value="'SIP/{{user.name}}'"
             ng-repeat="user in vm.users"
             ng-disabled="user.canSelect === false"
-            >{{ user.name }}</md-option
+          >
+            {{ user.name }}</md-option
         </md-select>
         <div
@@ -66,7 +67,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -81,13 +82,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -95,7 +96,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -109,14 +110,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -130,7 +131,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -171,8 +172,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/playback/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/playback/dialog.html/dialog.html
index 9256ce9..ae016bf 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/playback/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/playback/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.AUDIO_FILES">Audio_Files</label>
+        <label translate="APP.AUDIO_FILES">Audio_Files</label>
         <md-select
           name="appdata"
           ng-model="vm.playback.appdata"
@@ -66,7 +66,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -80,7 +80,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
@@ -91,7 +91,7 @@
           ng-model="vm.playback.answer"
           aria-label="Answer"
           ng-disabled="!vm.crudPermissions.canEdit"
-          ><span translate="VOICE.ANSWER">Answer</span></md-switch
+          ><span translate="APP.ANSWER">Answer</span></md-switch
       </md-input-container>
 
@@ -129,8 +129,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/queue/dialog.html/dialog.html
index 79fa7b1..bbe4a99 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/queue/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -50,7 +50,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -80,14 +81,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="URL"
@@ -101,14 +102,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.ANNOUNCE_OVERRIDES">Announce_Overrides</label>
+        <label translate="APP.ANNOUNCE_OVERRIDES">Announce_Overrides</label>
         <md-select
           name="sound"
           ng-model="vm.queue.sound"
@@ -135,7 +136,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -150,13 +151,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -164,7 +165,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.AGI">Agi</label>
+        <label translate="APP.AGI">Agi</label>
         <input
           type="text"
           name="agi"
@@ -185,7 +186,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.MACRO">Macro</label>
+        <label translate="APP.MACRO">Macro</label>
         <input
           type="text"
           name="macro"
@@ -206,7 +207,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.GOSUB">GoSub</label>
+        <label translate="APP.GOSUB">GoSub</label>
         <input
           type="text"
           name="gosub"
@@ -227,7 +228,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.RULE">Rule</label>
+        <label translate="APP.RULE">Rule</label>
         <input
           type="text"
           name="rule"
@@ -248,7 +249,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.POSITION">Position</label>
+        <label translate="APP.POSITION">Position</label>
         <input
           type="number"
           name="position"
@@ -281,7 +282,7 @@
           ng-model="vm.queue.answer"
           aria-label="Answer"
           ng-disabled="!vm.crudPermissions.canEdit"
-          ><span translate="VOICE.ANSWER">Answer</span></md-switch
+          ><span translate="APP.ANSWER">Answer</span></md-switch
       </md-input-container>
 
@@ -319,8 +320,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/ringgroup/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/ringgroup/dialog.html/dialog.html
index dfc5be3..a49f312 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/ringgroup/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/ringgroup/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.USER">User</label>
+        <label translate="APP.USER">User</label>
         <md-select
           name="multipleUsers"
           ng-model="vm.ringgroup.multipleUsers"
@@ -67,7 +67,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -82,13 +82,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -96,7 +96,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -110,14 +110,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -131,7 +131,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -172,8 +172,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/set/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/set/dialog.html/dialog.html
index 016b4ba..d387dd4 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/set/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/set/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="name"
           ng-model="vm.set.name"
@@ -50,7 +50,8 @@
             ng-value="name.name"
             ng-repeat="name in vm.variables"
             ng-disabled="name.canSelect === false"
-            >{{ name.name }}</md-option
+          >
+            {{ name.name }}</md-option
         </md-select>
         <div
@@ -66,7 +67,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -81,7 +82,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -122,8 +123,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/voicemail/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/voicemail/dialog.html/dialog.html
index 927dd9c..d541bfe 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/voicemail/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/apps/voicemail/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.MAILBOX@CONTEXT">Mailbox@Context</label>
+        <label translate="APP.MAILBOX@CONTEXT">Mailbox@Context</label>
         <md-select
           name="voiceMail"
           ng-model="vm.voicemail.voiceMail"
@@ -66,7 +66,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -80,7 +80,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
@@ -121,8 +121,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="internalrouteFormApp.$invalid || internalrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/view.html/view.html b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/view.html/view.html
index 3ced9ac..f143e90 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.internalroute.name">{{vm.internalroute.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="VOICE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.internalroute.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -36,8 +36,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (actionsForm.$invalid)"
-        translate="VOICE.SAVE"
-        translate-attr-aria-label="VOICE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,20 +56,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="internalroute-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.PHONENUMBER">PhoneNumber</label>
+                <label translate="APP.PHONENUMBER">PhoneNumber</label>
                 <input
                   type="text"
                   name="exten"
@@ -85,14 +85,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.PHONENUMBER_REQUIRED"
+                    <span translate="APP.ERRORS.PHONENUMBER_REQUIRED"
                       >PhoneNumber field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CONTEXT">Context</label>
+                <label translate="APP.CONTEXT">Context</label>
                 <md-select
                   name="context"
                   ng-model="vm.internalroute.context"
@@ -112,14 +112,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED"
                       >Context field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -145,7 +145,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -229,7 +229,7 @@
                       ng-click="vm_ac.deleteSelectedInternalRouteApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="VOICE.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -320,7 +320,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -334,7 +334,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInternalRouteApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -344,7 +344,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -354,7 +354,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -367,7 +367,7 @@
                         <td md-cell colspan="6">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
diff --git a/public/src/js/modules/main/apps/voice/views/internalroutes/internalroutes.html/internalroutes.html b/public/src/js/modules/main/apps/voice/views/internalroutes/internalroutes.html/internalroutes.html
index 674301c..e944e74 100644
--- a/public/src/js/modules/main/apps/voice/views/internalroutes/internalroutes.html/internalroutes.html
+++ b/public/src/js/modules/main/apps/voice/views/internalroutes/internalroutes.html/internalroutes.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.INTERNALROUTES"
+        <span class="logo-text" translate="APP.INTERNALROUTES"
           >InternalRoutes</span
       </div>
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedInternalRoutes =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-internalroutes-count">
           <span>{{vm.selectedInternalRoutes.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllInternalRoutes()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectInternalRoutes()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedInternalRoutes($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,12 +149,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="exten">
-                  {{ 'VOICE.PHONENUMBER' | translate }}
+                  {{ 'APP.PHONENUMBER' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'VOICE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -163,7 +163,7 @@
               <tr md-row ng-hide="vm.internalroutes.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -224,7 +224,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -238,7 +238,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(internalroute, $event    )"
-                          translate="VOICE.EDIT_INTERNALROUTE"
+                          translate="APP.EDIT_INTERNALROUTE"
                           Edit InternalRoute
                         </md-button>
@@ -251,7 +251,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(internalroute, $event    )"
-                          translate="VOICE.DELETE_INTERNALROUTE"
+                          translate="APP.DELETE_INTERNALROUTE"
                           Delete InternalRoute
                         </md-button>
@@ -272,7 +272,8 @@
           md-total="{{vm.internalroutes.count}}"
           md-on-paginate="vm.getInternalRoutes"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / INTERNALROUTE TABLE -->
       <!-- NO RESULTS -->
@@ -291,7 +292,7 @@
     ng-click="vm.createOrEditInternalRoute($event)"
     aria-label="add internalroute"
     translate
-    translate-attr-aria-label="VOICE.ADD_INTERNALROUTE"
+    translate-attr-aria-label="APP.ADD_INTERNALROUTE"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/musiconholds/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/musiconholds/create/dialog.html/dialog.html
index 554a364..7f54a93 100644
--- a/public/src/js/modules/main/apps/voice/views/musiconholds/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/musiconholds/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -54,7 +54,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
@@ -73,7 +73,7 @@
           </md-option>
 
           <md-option ng-value="'custom'">
-            {{ 'VOICE.CUSTOM' | translate }}
+            {{ 'APP.CUSTOM' | translate }}
           </md-option>
         </md-select>
         <div
@@ -92,7 +92,7 @@
         ng-if="vm.musiconhold.mode == 'custom'"
         class="md-block"
-        <label translate="VOICE.DIRECTORY">Directory</label>
+        <label translate="APP.DIRECTORY">Directory</label>
         <input type="" name="directory" ng-model="vm.musiconhold.directory" />
 
         <div
@@ -111,7 +111,7 @@
         ng-if="vm.musiconhold.mode == 'custom'"
         class="md-block"
-        <label translate="VOICE.APPLICATION">Application</label>
+        <label translate="APP.APPLICATION">Application</label>
         <input
           type="text"
           name="application"
@@ -135,14 +135,14 @@
         ng-if="vm.musiconhold.mode == 'files'"
         class="md-block"
-        <label translate="VOICE.SORT">Sort</label>
+        <label translate="APP.SORT">Sort</label>
         <md-select name="sort" ng-model="vm.musiconhold.sort">
           <md-option ng-value="'random'">
-            {{ 'VOICE.RANDOM' | translate }}
+            {{ 'APP.RANDOM' | translate }}
           </md-option>
 
           <md-option ng-value="'alpha'">
-            {{ 'VOICE.ALPHABETICAL' | translate }}
+            {{ 'APP.ALPHABETICAL' | translate }}
           </md-option>
         </md-select>
         <div
@@ -193,8 +193,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="musiconholdForm.$invalid || musiconholdForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -206,8 +206,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="musiconholdForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_MUSICONHOLD"
-          translate-attr-aria-label="VOICE.ADD_MUSICONHOLD"
+          translate="APP.ADD_MUSICONHOLD"
+          translate-attr-aria-label="APP.ADD_MUSICONHOLD"
           ADD MUSICONHOLD
         </md-button>
@@ -219,10 +219,10 @@
           ng-click="vm.deleteMusicOnHold($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/musiconholds/edit/mohSounds/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/musiconholds/edit/mohSounds/dialog.html/dialog.html
index be40793..2a8df38 100644
--- a/public/src/js/modules/main/apps/voice/views/musiconholds/edit/mohSounds/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/musiconholds/edit/mohSounds/dialog.html/dialog.html
@@ -38,14 +38,14 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.FILE">File</label>
+        <label translate="APP.FILE">File</label>
         <md-select name="id" ng-model="vm.mohSound.id" autofocus>
           <md-option
             ng-value="id.id"
             ng-repeat="id in vm.sounds"
             ng-disabled="id.canSelect === false"
-            >{{ id.name }}</md-option
-          >
+            >{{ id.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="mohSoundForm['id'].$error"
@@ -95,8 +95,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mohSoundForm.$invalid || mohSoundForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -108,8 +108,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="mohSoundForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_MOHSOUND"
-          translate-attr-aria-label="VOICE.ADD_MOHSOUND"
+          translate="APP.ADD_MOHSOUND"
+          translate-attr-aria-label="APP.ADD_MOHSOUND"
           ADD MOHSOUND
         </md-button>
@@ -121,10 +121,10 @@
           ng-click="vm.deleteMohSound($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/musiconholds/edit/view.html/view.html b/public/src/js/modules/main/apps/voice/views/musiconholds/edit/view.html/view.html
index 036c2f8..212b505 100644
--- a/public/src/js/modules/main/apps/voice/views/musiconholds/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/musiconholds/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.musiconhold.name">{{vm.musiconhold.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="VOICE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.musiconhold.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -36,8 +36,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (mohSoundsForm.$invalid)"
-        translate="VOICE.SAVE"
-        translate-attr-aria-label="VOICE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,20 +56,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="musiconhold-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -85,7 +85,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
@@ -104,7 +104,7 @@
                   </md-option>
 
                   <md-option ng-value="'custom'">
-                    {{ 'VOICE.CUSTOM' | translate }}
+                    {{ 'APP.CUSTOM' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -123,7 +123,7 @@
                 ng-if="vm.musiconhold.mode == 'custom'"
                 class="md-block"
-                <label translate="VOICE.DIRECTORY">Directory</label>
+                <label translate="APP.DIRECTORY">Directory</label>
                 <input
                   type=""
                   name="directory"
@@ -147,7 +147,7 @@
                 ng-if="vm.musiconhold.mode == 'custom'"
                 class="md-block"
-                <label translate="VOICE.APPLICATION">Application</label>
+                <label translate="APP.APPLICATION">Application</label>
                 <input
                   type="text"
                   name="application"
@@ -172,18 +172,18 @@
                 ng-if="vm.musiconhold.mode == 'files'"
                 class="md-block"
-                <label translate="VOICE.SORT">Sort</label>
+                <label translate="APP.SORT">Sort</label>
                 <md-select
                   name="sort"
                   ng-model="vm.musiconhold.sort"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'random'">
-                    {{ 'VOICE.RANDOM' | translate }}
+                    {{ 'APP.RANDOM' | translate }}
                   </md-option>
 
                   <md-option ng-value="'alpha'">
-                    {{ 'VOICE.ALPHABETICAL' | translate }}
+                    {{ 'APP.ALPHABETICAL' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -204,7 +204,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.AUDIOFILES">AUDIOFILES</span>
+          <span translate="APP.AUDIOFILES">AUDIOFILES</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -219,7 +219,7 @@
                 ng-hide="vm_dc.selectedMusicOnHoldMohSounds.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="VOICE.MOHSOUNDS"
+                  <span class="md-subhead" translate="APP.MOHSOUNDS"
                     >MohSounds</span
                   <ms-search-bar
@@ -235,7 +235,7 @@
                     ng-click="vm_dc.createOrEditMusicOnHoldMohSound($event)"
                     aria-label="add mohSound"
                     translate
-                    translate-attr-label="VOICE.ADD_MOHSOUND"
+                    translate-attr-label="APP.ADD_MOHSOUND"
                     <md-icon md-font-icon="icon-plus"></md-icon>
                   </md-button>
@@ -266,7 +266,7 @@
                     ng-click="vm_dc.deleteSelectedMusicOnHoldMohSounds($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="VOICE.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -287,13 +287,13 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'VOICE.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="audio">
-                        {{ 'VOICE.AUDIO' | translate }}
+                        {{ 'APP.AUDIO' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'VOICE.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -321,7 +321,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="VOICE.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -335,7 +335,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(mohSound, $event)"
-                                translate="VOICE.DELETE_MOHSOUND"
+                                translate="APP.DELETE_MOHSOUND"
                                 Delete MohSound
                               </md-button>
@@ -349,7 +349,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_MOHSOUND_AVAILABLE"
+                            translate="APP.NO_MOHSOUND_AVAILABLE"
                             >No mohsound available</span
                           >
                         </div>
diff --git a/public/src/js/modules/main/apps/voice/views/musiconholds/musiconholds.html/musiconholds.html b/public/src/js/modules/main/apps/voice/views/musiconholds/musiconholds.html/musiconholds.html
index 2985e8b..6251352 100644
--- a/public/src/js/modules/main/apps/voice/views/musiconholds/musiconholds.html/musiconholds.html
+++ b/public/src/js/modules/main/apps/voice/views/musiconholds/musiconholds.html/musiconholds.html
@@ -14,9 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.MUSICONHOLDS"
-          >MusicOnHolds</span
-        >
+        <span class="logo-text" translate="APP.MUSICONHOLDS">MusicOnHolds</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -39,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedMusicOnHolds =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +64,7 @@
       <div>
         <span class="selected-musiconholds-count">
           <span>{{vm.selectedMusicOnHolds.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllMusicOnHolds()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectMusicOnHolds()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +113,7 @@
           ng-click="vm.deleteSelectedMusicOnHolds($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,15 +147,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'VOICE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="mode">
                   {{ 'VOICE.MODE' | translate }}
                 </th>
                 <th md-column md-order-by="sort">
-                  {{ 'VOICE.SORT' | translate }}
+                  {{ 'APP.SORT' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -166,7 +164,7 @@
               <tr md-row ng-hide="vm.musiconholds.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -236,7 +234,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -250,7 +248,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(musiconhold, $event    )"
-                          translate="VOICE.EDIT_MUSICONHOLD"
+                          translate="APP.EDIT_MUSICONHOLD"
                           Edit MusicOnHold
                         </md-button>
@@ -263,7 +261,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(musiconhold, $event    )"
-                          translate="VOICE.DELETE_MUSICONHOLD"
+                          translate="APP.DELETE_MUSICONHOLD"
                           Delete MusicOnHold
                         </md-button>
@@ -303,7 +301,7 @@
     ng-click="vm.createOrEditMusicOnHold($event)"
     aria-label="add musiconhold"
     translate
-    translate-attr-aria-label="VOICE.ADD_MUSICONHOLD"
+    translate-attr-aria-label="APP.ADD_MUSICONHOLD"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/outboundroutes/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/outboundroutes/create/dialog.html/dialog.html
index 85d3bec..dba9fab 100644
--- a/public/src/js/modules/main/apps/voice/views/outboundroutes/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/outboundroutes/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.PHONENUMBER">PhoneNumber</label>
+        <label translate="APP.PHONENUMBER">PhoneNumber</label>
         <input
           type="text"
           name="exten"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PHONENUMBER_REQUIRED"
+            <span translate="APP.ERRORS.PHONENUMBER_REQUIRED"
               >PhoneNumber field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.CONTEXT">Context</label>
+        <label translate="APP.CONTEXT">Context</label>
         <md-select name="context" ng-model="vm.outboundroute.context" required>
           <md-option
             ng-value="context.name"
@@ -75,14 +75,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+            <span translate="APP.ERRORS.CONTEXT_REQUIRED"
               >Context field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.RECORDING">Recording</label>
+        <label translate="APP.RECORDING">Recording</label>
         <md-select
           name="recordingFormat"
           ng-model="vm.outboundroute.recordingFormat"
@@ -93,7 +93,7 @@
           <md-option ng-value="'WAV'">wav49</md-option>
           <md-option ng-value="'gsm'">gsm</md-option>
         </md-select>
-        <div class="hint"><span translate="VOICE.HELP.RECORDING"></span></div>
+        <div class="hint"><span translate="APP.HELP.RECORDING"></span></div>
         <div
           ng-messages="outboundrouteForm['recordingFormat'].$error"
           ng-show="outboundrouteForm['recordingFormat'].$touched"
@@ -107,7 +107,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.CUTDIGITS">CutDigits</label>
+        <label translate="APP.CUTDIGITS">CutDigits</label>
         <input
           type="number"
           name="cutdigits"
@@ -135,7 +135,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -190,8 +190,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="outboundrouteForm.$invalid || outboundrouteForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -203,8 +203,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="outboundrouteForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_OUTBOUNDROUTE"
-          translate-attr-aria-label="VOICE.ADD_OUTBOUNDROUTE"
+          translate="APP.ADD_OUTBOUNDROUTE"
+          translate-attr-aria-label="APP.ADD_OUTBOUNDROUTE"
           ADD OUTBOUNDROUTE
         </md-button>
@@ -216,10 +216,10 @@
           ng-click="vm.deleteOutboundRoute($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/custom/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/custom/dialog.html/dialog.html
index 9e2277b..3756624 100644
--- a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/custom/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/custom/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.APPLICATION_NAME">Application_Name</label>
+        <label translate="APP.APPLICATION_NAME">Application_Name</label>
         <input
           type="text"
           name="app"
@@ -61,7 +61,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.ARGUMENTS">Arguments</label>
+        <label translate="APP.ARGUMENTS">Arguments</label>
         <input
           type="text"
           name="appdata"
@@ -116,8 +116,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="outboundrouteFormApp.$invalid || outboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/outbounddial/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/outbounddial/dialog.html/dialog.html
index a07bc22..b5c0069 100644
--- a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/outbounddial/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/apps/outbounddial/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.TRUNK">Trunk</label>
+        <label translate="APP.TRUNK">Trunk</label>
         <md-select
           name="trunk"
           ng-model="vm.outbounddial.trunk"
@@ -50,7 +50,8 @@
             ng-value="trunk.name"
             ng-repeat="trunk in vm.trunks"
             ng-disabled="trunk.canSelect === false"
-            >{{ trunk.name }}</md-option
+          >
+            {{ trunk.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TRUNK_REQUIRED"
+            <span translate="APP.ERRORS.TRUNK_REQUIRED"
               >Trunk field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.CALLER_ID">Caller_ID</label>
+        <label translate="APP.CALLER_ID">Caller_ID</label>
         <input
           type="text"
           name="callerID"
@@ -88,7 +89,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.PREFIX">Prefix</label>
+        <label translate="APP.PREFIX">Prefix</label>
         <input
           type="text"
           name="prefix"
@@ -102,14 +103,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PREFIX_REQUIRED"
+            <span translate="APP.ERRORS.PREFIX_REQUIRED"
               >Prefix field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TAGS">Tags</label>
+        <label translate="APP.TAGS">Tags</label>
         <md-select
           name="tag"
           ng-model="vm.outbounddial.tag"
@@ -120,8 +121,8 @@
             ng-value="tag.name"
             ng-repeat="tag in vm.tags"
             ng-disabled="tag.canSelect === false"
-            >{{ tag.name }}</md-option
-          >
+            >{{ tag.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="outboundrouteFormApp['tag'].$error"
@@ -136,7 +137,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -151,13 +152,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -165,7 +166,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OPTIONS">Options</label>
+        <label translate="APP.OPTIONS">Options</label>
         <input
           type="text"
           name="options"
@@ -179,14 +180,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OPTIONS_REQUIRED"
+            <span translate="APP.ERRORS.OPTIONS_REQUIRED"
               >Options field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.URL">Url</label>
+        <label translate="APP.URL">Url</label>
         <input
           type="text"
           name="url"
@@ -200,7 +201,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.URL_REQUIRED"
+            <span translate="APP.ERRORS.URL_REQUIRED"
               >Url field is required</span
             >
           </div>
@@ -241,8 +242,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="outboundrouteFormApp.$invalid || outboundrouteFormApp.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/view.html/view.html b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/view.html/view.html
index 6971b91..6b9ece6 100644
--- a/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/outboundroutes/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.outboundroute.name">{{vm.outboundroute.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="VOICE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.outboundroute.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -36,8 +36,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (actionsForm.$invalid)"
-        translate="VOICE.SAVE"
-        translate-attr-aria-label="VOICE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,20 +56,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="outboundroute-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.PHONENUMBER">PhoneNumber</label>
+                <label translate="APP.PHONENUMBER">PhoneNumber</label>
                 <input
                   type="text"
                   name="exten"
@@ -85,14 +85,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.PHONENUMBER_REQUIRED"
+                    <span translate="APP.ERRORS.PHONENUMBER_REQUIRED"
                       >PhoneNumber field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CONTEXT">Context</label>
+                <label translate="APP.CONTEXT">Context</label>
                 <md-select
                   name="context"
                   ng-model="vm.outboundroute.context"
@@ -112,14 +112,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED"
                       >Context field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.RECORDING">Recording</label>
+                <label translate="APP.RECORDING">Recording</label>
                 <md-select
                   name="recordingFormat"
                   ng-model="vm.outboundroute.recordingFormat"
@@ -132,7 +132,7 @@
                   <md-option ng-value="'gsm'">gsm</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.RECORDING"></span>
+                  <span translate="APP.HELP.RECORDING"></span>
                 </div>
                 <div
                   ng-messages="generalForm['recordingFormat'].$error"
@@ -147,7 +147,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CUTDIGITS">CutDigits</label>
+                <label translate="APP.CUTDIGITS">CutDigits</label>
                 <input
                   type="number"
                   name="cutdigits"
@@ -176,7 +176,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -202,7 +202,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -286,7 +286,7 @@
                       ng-click="vm_ac.deleteSelectedOutboundRouteApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="VOICE.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -377,7 +377,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -391,7 +391,7 @@
                                 <md-button
                                   ng-click="vm_ac.editOutboundRouteApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -401,7 +401,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -411,7 +411,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -424,7 +424,7 @@
                         <td md-cell colspan="6">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
diff --git a/public/src/js/modules/main/apps/voice/views/outboundroutes/outboundroutes.html/outboundroutes.html b/public/src/js/modules/main/apps/voice/views/outboundroutes/outboundroutes.html/outboundroutes.html
index ffe6857..e82d271 100644
--- a/public/src/js/modules/main/apps/voice/views/outboundroutes/outboundroutes.html/outboundroutes.html
+++ b/public/src/js/modules/main/apps/voice/views/outboundroutes/outboundroutes.html/outboundroutes.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.OUTBOUNDROUTES"
+        <span class="logo-text" translate="APP.OUTBOUNDROUTES"
           >OutboundRoutes</span
       </div>
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedOutboundRoutes =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-outboundroutes-count">
           <span>{{vm.selectedOutboundRoutes.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllOutboundRoutes()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectOutboundRoutes()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedOutboundRoutes($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,12 +149,12 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="exten">
-                  {{ 'VOICE.PHONENUMBER' | translate }}
+                  {{ 'APP.PHONENUMBER' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'VOICE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -163,7 +163,7 @@
               <tr md-row ng-hide="vm.outboundroutes.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -224,7 +224,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -238,7 +238,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(outboundroute, $event    )"
-                          translate="VOICE.EDIT_OUTBOUNDROUTE"
+                          translate="APP.EDIT_OUTBOUNDROUTE"
                           Edit OutboundRoute
                         </md-button>
@@ -251,7 +251,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(outboundroute, $event    )"
-                          translate="VOICE.DELETE_OUTBOUNDROUTE"
+                          translate="APP.DELETE_OUTBOUNDROUTE"
                           Delete OutboundRoute
                         </md-button>
@@ -272,7 +272,8 @@
           md-total="{{vm.outboundroutes.count}}"
           md-on-paginate="vm.getOutboundRoutes"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / OUTBOUNDROUTE TABLE -->
       <!-- NO RESULTS -->
@@ -291,7 +292,7 @@
     ng-click="vm.createOrEditOutboundRoute($event)"
     aria-label="add outboundroute"
     translate
-    translate-attr-aria-label="VOICE.ADD_OUTBOUNDROUTE"
+    translate-attr-aria-label="APP.ADD_OUTBOUNDROUTE"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/abandonedcalls/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/abandonedcalls/view.html/view.html
index b9b48e1..b94488c 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/abandonedcalls/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/abandonedcalls/view.html/view.html
@@ -22,7 +22,7 @@
       ng-click="vm.refresh && vm.refreshAbandonedCalls($event)"
       aria-label="Reload"
       translate
-      translate-attr-label="DASHBOARDS.RELOAD"
+      translate-attr-label="APP.RELOAD"
       <md-icon md-font-icon="icon-reload"></md-icon>
       <md-tooltip ng-if="vm.showTooltip" md-visible="vm.showTooltip"
@@ -71,7 +71,7 @@
       <tr md-row ng-hide="vm.abandonedCalls.rows.length">
         <td md-cell colspan="12">
           <div layout="row" layout-align="center center">
-            <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -94,7 +94,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="DASHBOARDS.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -111,7 +111,7 @@
                   <md-menu-content>
                     <md-menu-item ng-if="call.lastAssignedTo">
                       <md-button ng-click="vm.assignTo(call)"
-                        ><em translate="DASHBOARDS.NONE">Not Assigned</em>
+                        ><em translate="APP.NONE">Not Assigned</em>
                       </md-button>
                     </md-menu-item>
                     <md-menu-item
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/agents/view.html/view.html
index f43fd23..0272232 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/agents/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="VOICE.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query; vm.onInit()"
@@ -13,13 +13,11 @@
       class="md-caption"
       ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-      <md-option ng-value="''">{{ 'VOICE.ALL' | translate }}</md-option>
-      <md-option value="pause">{{ 'VOICE.PAUSE' | translate }}</md-option>
-      <md-option value="*pause"
-        >{{ 'VOICE.PARTIALPAUSE' | translate }}</md-option
-      >
-      <md-option value="busy">{{ 'VOICE.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'VOICE.IDLE' | translate }}</md-option>
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
     <md-select
@@ -46,103 +44,103 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'VOICE.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
         <th
           ng-if="vm.license.openchannel"
           class="bv bl text-center"
           colspan="2"
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'VOICE.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'VOICE.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'VOICE.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'VOICE.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -151,7 +149,7 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'VOICE.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
@@ -186,7 +184,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'VOICE.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -199,7 +197,7 @@
                   aria-label="icon-camcorder-box26"
                   <md-tooltip>
-                    {{ 'VOICE.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -402,7 +400,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -412,7 +410,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="VOICE.LOGOUT"
+                  translate="APP.LOGOUT"
                   Logout
                 </md-button>
@@ -433,14 +431,14 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="VOICE.SCREENRECORDING"
+                    translate="APP.SCREENRECORDING"
                     >Screen Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="VOICE.START_SCREENRECORDING"
+                        ><em translate="APP.START_SCREENRECORDING"
                           >Start Screen Recording</em
                         ></md-button
                       >
@@ -448,7 +446,7 @@
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
                       <md-button
                         ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="VOICE.STOP_SCREENRECORDING"
+                        ><em translate="APP.STOP_SCREENRECORDING"
                           >Stop Screen Recording</em
                         ></md-button
                       >
@@ -462,7 +460,7 @@
                   <md-button
                     ng-click="$mdMenu.open()"
                     class="text-capitalize"
-                    translate="VOICE.PAUSE"
+                    translate="APP.PAUSE"
                     >Pause</md-button
                   <md-menu-content>
@@ -470,10 +468,8 @@
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
                         ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="VOICE.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
                     <md-menu-item
                       ng-if="vm.pauses.rows.length"
@@ -491,7 +487,7 @@
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
                 <md-button
                   ng-click="vm.unPause(vm.agents[value])"
-                  translate="VOICE.UNPAUSE"
+                  translate="APP.UNPAUSE"
                   Unpause
                 </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/outbound_calls/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/outbound_calls/view.html/view.html
index b8b2dfc..4d020af 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/outbound_calls/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/outbound_calls/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="VOICE.OUTBOUND_CALLS"
+    <span class="md-subhead" translate="APP.OUTBOUND_CALLS"
       >Ooutbound Calls</span
     <div flex></div>
@@ -9,7 +9,8 @@
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -19,16 +20,16 @@
     <thead md-head>
       <tr md-row>
         <th md-column width="30px"></th>
-        <th md-column>{{ 'VOICE.SOURCE' | translate }}</th>
-        <th md-column>{{ 'VOICE.DESTINATION' | translate }}</th>
-        <th md-column>{{ 'VOICE.DURATION' | translate }}</th>
+        <th md-column>{{ 'APP.SOURCE' | translate }}</th>
+        <th md-column>{{ 'APP.DESTINATION' | translate }}</th>
+        <th md-column>{{ 'APP.DURATION' | translate }}</th>
       </tr>
     </thead>
     <tbody md-body>
       <tr md-row ng-hide="vm.calls.rows.length">
         <td md-cell colspan="4">
           <div layout="row" layout-align="center center">
-            <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -43,14 +44,15 @@
         </td>
         <td md-cell>
           {{call.calleridname}}, {{call.calleridnum}}
-          <span class="text-boxed" ng-if="call.answered"
-            ><timer
+          <span class="text-boxed" ng-if="call.answered">
+            <timer
               ng-if="call.answertime"
               start-time="call.answertime"
               interval="1000"
-              >{{hhours}}:{{mminutes}}:{{sseconds}}</timer
-            ></span
-          >
+            >
+              {{hhours}}:{{mminutes}}:{{sseconds}}</timer
+            >
+          </span>
         </td>
         <td md-cell>{{call.exten}}</td>
         <td md-cell>
@@ -62,13 +64,14 @@
               ng-if="call.starttime"
               start-time="call.starttime"
               interval="1000"
-              >{{hhours}}:{{mminutes}}:{{sseconds}}</timer
+            >
+              {{hhours}}:{{mminutes}}:{{sseconds}}</timer
           </span>
           <span
             class="text-boxed"
             ng-if="call.channelstatedesc.toLowerCase() === 'hangup'"
-            translate="VOICE.CLOSING"
+            translate="APP.CLOSING"
             >Closing</span
         </td>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/queue_calls/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/queue_calls/view.html/view.html
index 350815d..f5de40c 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/queue_calls/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/queue_calls/view.html/view.html
@@ -1,7 +1,7 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="VOICE.QUEUE_CALLS">Queue Calls</span>
+    <span class="md-subhead" translate="APP.QUEUE_CALLS">Queue Calls</span>
     <!-- <div flex></div>
     <ms-search-bar on-search="vm.query.filter = query;" on-collapse="vm.query.filter = undefined;" debounce="300"></ms-search-bar> -->
   </div>
@@ -13,11 +13,11 @@
     <thead md-head>
       <tr md-row>
         <th md-column width="30px"></th>
-        <th md-column>{{ 'VOICE.DID' | translate }}</th>
-        <th md-column>{{ 'VOICE.QUEUE' | translate }}</th>
-        <th md-column>{{ 'VOICE.CALLER' | translate }}</th>
-        <th md-column>{{ 'VOICE.AGENT' | translate }}</th>
-        <th md-column>{{ 'VOICE.DURATION' | translate }}</th>
+        <th md-column>{{ 'APP.DID' | translate }}</th>
+        <th md-column>{{ 'APP.QUEUE' | translate }}</th>
+        <th md-column>{{ 'APP.CALLER' | translate }}</th>
+        <th md-column>{{ 'APP.AGENT' | translate }}</th>
+        <th md-column>{{ 'APP.DURATION' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -25,7 +25,7 @@
       <tr md-row ng-hide="vm.getSize(vm.rpcVoiceQueuesChannels)">
         <td md-cell colspan="6">
           <div layout="row" layout-align="center center">
-            <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -51,8 +51,8 @@
             {{channel.connectedlinename}}, {{channel.connectedlinenum}}
             <span class="text-boxed">
               <timer start-time="channel.queuecallerleaveAt" interval="1000"
-                >{{hhours}}:{{mminutes}}:{{sseconds}}</timer
-              >
+                >{{hhours}}:{{mminutes}}:{{sseconds}}
+              </timer>
             </span>
           </span>
           <span ng-if="!channel.queuecallerleaveAt" class="text-boxed">
@@ -75,7 +75,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -85,7 +85,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.hangup(channel.uniqueid)"
-                  translate="VOICE.HANGUP"
+                  translate="APP.HANGUP"
                   Hangup
                 </md-button>
@@ -109,7 +109,8 @@
                     <md-menu-item ng-repeat="agent in vm.agents.rows">
                       <md-button
                         ng-click="vm.redirectToAgent(channel.uniqueid, agent.name, agent.context)"
-                        >{{agent.name}}</md-button
+                      >
+                        {{agent.name}}</md-button
                     </md-menu-item>
                   </md-menu-content>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/queue_params/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/queue_params/view.html/view.html
index 4a2c00e..c0fbfb9 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/queue_params/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/queue_params/view.html/view.html
@@ -1,15 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="MOTIONDIALER.QUEUE_PARAMETERS"
-      >Params</span
-    >
+    <span class="md-subhead" translate="APP.QUEUE_PARAMETERS">Params</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -32,9 +31,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="8">
           <div layout="row" layout-align="center center">
-            <span translate="MOTIONDIALER.NO_AVAILABLE_INFO"
-              >No Available Info</span
-            >
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/queues/view.html/view.html
index 3065fd0..cb548d4 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/queues/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="VOICE.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,12 +17,12 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'VOICE.NAME' | translate }}</th>
-        <th md-column>{{ 'VOICE.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'VOICE.PAUSED' | translate }}</th>
-        <th md-column>{{ 'VOICE.READY' | translate }}</th>
-        <th md-column>{{ 'VOICE.WAITING' | translate }}</th>
-        <th md-column>{{ 'VOICE.TALKING' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
+        <th md-column>{{ 'APP.TALKING' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -29,7 +30,7 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="7">
           <div layout="row" layout-align="center center">
-            <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -72,7 +73,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="VOICE.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -82,7 +83,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.createOrEditVoiceQueue($event, vm.queues[value])"
-                  translate="VOICE.EDIT_QUEUE"
+                  translate="APP.EDIT_QUEUE"
                   Edit Queue
                 </md-button>
@@ -90,7 +91,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="VOICE.AGENTSADD_QUEUE"
+                  translate="APP.AGENTSADD_QUEUE"
                   Add Agents to queue
                 </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/voice/views/realtime/realtime.html/realtime.html
index a5e17e8..1d870dd 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/realtime.html/realtime.html
@@ -10,42 +10,42 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.TELEPHONES">Telephones</span>
+          <span translate="APP.TELEPHONES">Telephones</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.TRUNKS">Trunks</span>
+          <span translate="APP.TRUNKS">Trunks</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.QUEUE_CALLS">Queue Calls</span>
+          <span translate="APP.QUEUE_CALLS">Queue Calls</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.ABANDONEDCALLS">Abandoned Queue Calls</span>
+          <span translate="APP.ABANDONEDCALLS">Abandoned Queue Calls</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.QUEUE_PARAMS">Queue Parameters</span>
+          <span translate="APP.QUEUE_PARAMS">Queue Parameters</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.OUTBOUND_CALLS">Outbound Calls</span>
+          <span translate="APP.OUTBOUND_CALLS">Outbound Calls</span>
         </md-tab-label>
       </md-tab>
     </md-tabs>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/telephones/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/telephones/view.html/view.html
index c181172..52cafb9 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/telephones/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/telephones/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="VOICE.TELEPHONES">Telephones</span>
+    <span class="md-subhead" translate="APP.TELEPHONES">Telephones</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
     <!-- <md-button class="md-icon-button" ng-click="vm.showInfo($event)">
             <i class="icon-information-outline grey-600-fg">
               <md-tooltip>{{'VOICE.INFO' | translate}}</md-tooltip>
@@ -22,20 +23,20 @@
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getTelephones">
       <tr md-row>
         <th md-column md-order-by="fullname">
-          {{ 'VOICE.ACCOUNTNAME' | translate }}
+          {{ 'APP.ACCOUNTNAME' | translate }}
         </th>
         <th md-column md-order-by="internal">
-          {{ 'VOICE.INTERNAL' | translate }}
+          {{ 'APP.INTERNAL' | translate }}
         </th>
-        <th md-column>{{ 'VOICE.PHONE_STATE' | translate }}</th>
-        <th md-column>{{ 'VOICE.PHONE_STATUS' | translate }}</th>
+        <th md-column>{{ 'APP.PHONE_STATE' | translate }}</th>
+        <th md-column>{{ 'APP.PHONE_STATUS' | translate }}</th>
       </tr>
     </thead>
     <tbody md-body>
       <tr md-row ng-hide="vm.telephones">
         <td md-cell colspan="4">
           <div layout="row" layout-align="center center">
-            <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
diff --git a/public/src/js/modules/main/apps/voice/views/realtime/trunks/view.html/view.html b/public/src/js/modules/main/apps/voice/views/realtime/trunks/view.html/view.html
index 3467fda..056e781 100644
--- a/public/src/js/modules/main/apps/voice/views/realtime/trunks/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/realtime/trunks/view.html/view.html
@@ -1,13 +1,14 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="VOICE.TRUNKS">Telephones</span>
+    <span class="md-subhead" translate="APP.TRUNKS">Telephones</span>
     <div flex></div>
     <ms-search-bar
       on-search="vm.query.filter = query;"
       on-collapse="vm.query.filter = undefined;"
       debounce="300"
-    ></ms-search-bar>
+    >
+    </ms-search-bar>
     <!-- <md-button class="md-icon-button" ng-click="vm.showInfo($event)">
       <i class="icon-information-outline grey-600-fg">
         <md-tooltip>{{'FAX.INFO' | translate}}</md-tooltip>
@@ -22,9 +23,9 @@
     <thead md-head>
       <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getTrunks">
         <tr md-row>
-          <th md-column md-order-by="name">{{ 'VOICE.NAME' | translate }}</th>
-          <th md-column>{{ 'VOICE.TRUNK_STATUS' | translate }}</th>
-          <th md-column>{{ 'VOICE.REGISTRY' | translate }}</th>
+          <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+          <th md-column>{{ 'APP.TRUNK_STATUS' | translate }}</th>
+          <th md-column>{{ 'APP.REGISTRY' | translate }}</th>
           <th md-column width="10px"></th>
         </tr>
       </thead>
@@ -34,7 +35,7 @@
       <tr md-row ng-hide="vm.trunks">
         <td md-cell colspan="3">
           <div layout="row" layout-align="center center">
-            <span translate="VOICE.NO_AVAILABLE_INFO">No Available Info</span>
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
@@ -65,7 +66,7 @@
             class="text-boxed"
             >{{trunk.host}}:{{trunk.port}}</span
           >
-          <span ng-if="!trunk.registry" translate="VOICE.NO_REGISTRY">
+          <span ng-if="!trunk.registry" translate="APP.NO_REGISTRY">
             No Registry
           </span>
         </td>
@@ -75,7 +76,7 @@
               class="md-icon-button"
               aria-label="More"
               translate
-              translate-attr-aria-label="STAFF.MORE"
+              translate-attr-aria-label="APP.MORE"
               ng-click="$mdMenu.open($event)"
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -85,7 +86,7 @@
               <md-menu-item>
                 <md-button
                   ng-click="vm.goToTrunk($event, trunk)"
-                  translate="VOICE.EDIT_TRUNK"
+                  translate="APP.EDIT_TRUNK"
                   Edit Trunk
                 </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/voicePrefixes/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/voicePrefixes/create/dialog.html/dialog.html
index 5b4ecf7..2848a55 100644
--- a/public/src/js/modules/main/apps/voice/views/voicePrefixes/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/voicePrefixes/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -48,20 +48,20 @@
           autofocus
         />
 
-        <div class="hint"><span translate="VOICE.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="voicePrefixForm['name'].$error"
           ng-show="voicePrefixForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="VOICE.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -69,7 +69,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.OUTBOUNDROUTE">OutboundRoute</label>
+        <label translate="APP.OUTBOUNDROUTE">OutboundRoute</label>
         <md-select
           name="VoiceExtensionId"
           ng-model="vm.voicePrefix.VoiceExtensionId"
@@ -88,7 +88,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.OUTBOUNDROUTE_REQUIRED"
+            <span translate="APP.ERRORS.OUTBOUNDROUTE_REQUIRED"
               >OutboundRoute field is required</span
             >
           </div>
@@ -124,7 +124,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -179,8 +179,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="voicePrefixForm.$invalid || voicePrefixForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -205,10 +205,10 @@
           ng-click="vm.deletevoicePrefix($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/voicePrefixes/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/voice/views/voicePrefixes/edit/agentadd/agentadd.html/agentadd.html
index 5f50b8f..c3b3650 100644
--- a/public/src/js/modules/main/apps/voice/views/voicePrefixes/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/voice/views/voicePrefixes/edit/agentadd/agentadd.html/agentadd.html
@@ -34,8 +34,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/voicePrefixes/voicePrefixes.html/voicePrefixes.html b/public/src/js/modules/main/apps/voice/views/voicePrefixes/voicePrefixes.html/voicePrefixes.html
index 0320a80..077f1df 100644
--- a/public/src/js/modules/main/apps/voice/views/voicePrefixes/voicePrefixes.html/voicePrefixes.html
+++ b/public/src/js/modules/main/apps/voice/views/voicePrefixes/voicePrefixes.html/voicePrefixes.html
@@ -39,7 +39,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -58,7 +58,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedVoicePrefixes =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,7 +66,7 @@
       <div>
         <span class="selected-voicePrefixes-count">
           <span>{{vm.selectedVoicePrefixes.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -83,7 +83,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllVoicePrefixes()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -91,7 +91,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectVoicePrefixes()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -115,7 +115,7 @@
           ng-click="vm.deleteSelectedVoicePrefixes($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -149,18 +149,18 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'VOICE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="VoiceExtensionId">
-                  {{ 'VOICE.OUTBOUNDROUTE' | translate }}
+                  {{ 'APP.OUTBOUNDROUTE' | translate }}
                 </th>
                 <th md-column md-order-by="callerIdAll">
                   {{ 'VOICE.CALLERIDALL' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'VOICE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -169,7 +169,7 @@
               <tr md-row ng-hide="vm.voicePrefixes.rows.length">
                 <td md-cell colspan="6">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -241,7 +241,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -302,7 +302,8 @@
           md-total="{{vm.voicePrefixes.count}}"
           md-on-paginate="vm.getVoicePrefixes"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / VOICEPREFIX TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/voice/views/voiceQueues/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/voiceQueues/create/dialog.html/dialog.html
index 6baac09..d504674 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceQueues/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceQueues/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newVoiceQueue"
         />
 
-        <div class="hint"><span translate="VOICE.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="voiceQueueForm['name'].$error"
           ng-show="voiceQueueForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="VOICE.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.STRATEGY">Strategy</label>
+        <label translate="APP.STRATEGY">Strategy</label>
         <md-select name="strategy" ng-model="vm.voiceQueue.strategy" required>
           <md-option ng-value="'ringall'">Ringall</md-option>
           <md-option ng-value="'rrmemory'">Round Robin Memory</md-option>
@@ -93,7 +93,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -148,8 +148,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="voiceQueueForm.$invalid || voiceQueueForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -161,8 +161,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="voiceQueueForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_VOICEQUEUE"
-          translate-attr-aria-label="VOICE.ADD_VOICEQUEUE"
+          translate="APP.ADD_VOICEQUEUE"
+          translate-attr-aria-label="APP.ADD_VOICEQUEUE"
           ADD VOICEQUEUE
         </md-button>
@@ -174,10 +174,10 @@
           ng-click="vm.deleteVoiceQueue($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/agentadd/agentadd.html/agentadd.html
index 7b7ca44..16aa58a 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/agentadd/agentadd.html/agentadd.html
@@ -18,7 +18,7 @@
     </md-toolbar>
     <md-dialog-content>
       <md-input-container flex class="no-margin">
-        <label translate="VOICE.PENALTY">Penalty</label>
+        <label translate="APP.PENALTY">Penalty</label>
         <input
           name="penalty"
           ng-model="vm.penalty"
@@ -56,8 +56,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/teamadd/teamadd.html/teamadd.html
index 2f6eb3d..28756e3 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/teamadd/teamadd.html/teamadd.html
@@ -6,7 +6,7 @@
   <form name="voiceQueueForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="VOICE.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -18,7 +18,7 @@
     </md-toolbar>
     <md-dialog-content>
       <md-input-container flex class="no-margin">
-        <label translate="VOICE.PENALTY">Penalty</label>
+        <label translate="APP.PENALTY">Penalty</label>
         <input
           name="penalty"
           ng-model="vm.penalty"
@@ -56,8 +56,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/view.html/view.html b/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/view.html/view.html
index 2b9f75c..c8bdebb 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceQueues/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.voiceQueue.name">{{vm.voiceQueue.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="VOICE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.voiceQueue.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -73,8 +73,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (settingsForm.$invalid) || (announcementsForm.$invalid) || (advancedForm.$invalid)"
-        translate="VOICE.SAVE"
-        translate-attr-aria-label="VOICE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -93,20 +93,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="voiceQueue-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -118,7 +118,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="VOICE.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -126,13 +126,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="VOICE.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -140,7 +140,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.voiceQueue.strategy"
@@ -170,7 +170,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.TIMEOUT">Timeout</label>
+                <label translate="APP.TIMEOUT">Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -189,13 +189,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
                       >Timeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="VOICE.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Timeout must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -203,7 +203,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MAXLENGTH">MaxLength</label>
+                <label translate="APP.MAXLENGTH">MaxLength</label>
                 <input
                   type="number"
                   name="maxlen"
@@ -235,7 +235,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.RETRY">Retry</label>
+                <label translate="APP.RETRY">Retry</label>
                 <input
                   type="number"
                   name="retry"
@@ -259,7 +259,7 @@
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="VOICE.ERRORS.RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Retry must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -267,7 +267,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.WRAPUPTIME">WrapupTime</label>
+                <label translate="APP.WRAPUPTIME">WrapupTime</label>
                 <input
                   type="number"
                   name="wrapuptime"
@@ -291,7 +291,7 @@
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="VOICE.ERRORS.WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WrapupTime must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -299,7 +299,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.WEIGHT">Weight</label>
+                <label translate="APP.WEIGHT">Weight</label>
                 <input
                   type="number"
                   name="weight"
@@ -323,7 +323,7 @@
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="VOICE.ERRORS.WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Weight must be a valid greater or equal than</span
                     >
                     <span>0</span>
@@ -331,7 +331,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.JOINWHENEMPTY">JoinWhenEmpty</label>
+                <label translate="APP.JOINWHENEMPTY">JoinWhenEmpty</label>
                 <md-select
                   name="joinempty"
                   ng-model="vm.voiceQueue.joinempty"
@@ -341,63 +341,68 @@
                   <md-option
                     ng-value="'no'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1  && vm.voiceQueue.joinempty[0] === 'no'"
-                    >no</md-option
-                  >
+                    >no
+                  </md-option>
                   <md-option
                     ng-value="'yes'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'yes'"
-                    >yes</md-option
-                  >
+                    >yes
+                  </md-option>
                   <md-option
                     ng-value="'strict'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'strict'"
-                    >strict</md-option
-                  >
+                    >strict
+                  </md-option>
                   <md-option
                     ng-value="'loose'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'loose'"
-                    >loose</md-option
-                  >
+                    >loose
+                  </md-option>
                   <md-option
                     ng-value="'paused'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'paused'"
-                    >paused</md-option
-                  >
+                    >paused
+                  </md-option>
                   <md-option
                     ng-value="'penalty'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'penalty'"
-                    >penalty</md-option
+                  >
+                    penalty</md-option
                   <md-option
                     ng-value="'inuse'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'inuse'"
-                    >inuse</md-option
-                  >
+                    >inuse
+                  </md-option>
                   <md-option
                     ng-value="'ringing'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'ringing'"
-                    >ringing</md-option
+                  >
+                    ringing</md-option
                   <md-option
                     ng-value="'unavailable'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'unavailable'"
-                    >unavailable</md-option
+                  >
+                    unavailable</md-option
                   <md-option
                     ng-value="'invalid'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'invalid'"
-                    >invalid</md-option
+                  >
+                    invalid</md-option
                   <md-option
                     ng-value="'unknown'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'unknown'"
-                    >unknown</md-option
+                  >
+                    unknown</md-option
                   <md-option
                     ng-value="'wrapup'"
                     ng-disabled="vm.voiceQueue.joinempty.length === 1 && vm.voiceQueue.joinempty[0] === 'wrapup'"
-                    >wrapup</md-option
-                  >
+                    >wrapup
+                  </md-option>
                 </md-select>
                 <div class="hint">
                   <span translate="VOICE.HELP.JOINWHENEMPTY"></span>
@@ -415,7 +420,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.LEAVEWHENEMPTY">LeaveWhenEmpty</label>
+                <label translate="APP.LEAVEWHENEMPTY">LeaveWhenEmpty</label>
                 <md-select
                   name="leavewhenempty"
                   ng-model="vm.voiceQueue.leavewhenempty"
@@ -425,62 +430,74 @@
                   <md-option
                     ng-value="'no'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'no'"
-                    >no</md-option
+                  >
+                    no</md-option
                   <md-option
                     ng-value="'yes'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'yes'"
-                    >yes</md-option
+                  >
+                    yes</md-option
                   <md-option
                     ng-value="'strict'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'strict'"
-                    >strict</md-option
+                  >
+                    strict</md-option
                   <md-option
                     ng-value="'loose'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'loose'"
-                    >loose</md-option
+                  >
+                    loose</md-option
                   <md-option
                     ng-value="'paused'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'paused'"
-                    >paused</md-option
+                  >
+                    paused</md-option
                   <md-option
                     ng-value="'penalty'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'penalty'"
-                    >penalty</md-option
+                  >
+                    penalty</md-option
                   <md-option
                     ng-value="'inuse'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'inuse'"
-                    >inuse</md-option
+                  >
+                    inuse</md-option
                   <md-option
                     ng-value="'ringing'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'ringing'"
-                    >ringing</md-option
+                  >
+                    ringing</md-option
                   <md-option
                     ng-value="'unavailable'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'unavailable'"
-                    >unavailable</md-option
+                  >
+                    unavailable</md-option
                   <md-option
                     ng-value="'invalid'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'invalid'"
-                    >invalid</md-option
+                  >
+                    invalid</md-option
                   <md-option
                     ng-value="'unknown'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'unknown'"
-                    >unknown</md-option
+                  >
+                    unknown</md-option
                   <md-option
                     ng-value="'wrapup'"
                     ng-disabled="vm.voiceQueue.leavewhenempty.length === 1 && vm.voiceQueue.leavewhenempty[0] === 'wrapup'"
-                    >wrapup</md-option
+                  >
+                    wrapup</md-option
                 </md-select>
                 <div class="hint">
@@ -499,7 +516,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MUSICONHOLD">MusicOnHold</label>
+                <label translate="APP.MUSICONHOLD">MusicOnHold</label>
                 <md-select
                   name="musiconhold"
                   ng-model="vm.voiceQueue.musiconhold"
@@ -513,7 +530,7 @@
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.MUSICONHOLD"></span>
+                  <span translate="APP.HELP.MUSICONHOLD"></span>
                 </div>
                 <div
                   ng-messages="generalForm['musiconhold'].$error"
@@ -528,7 +545,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.ANNOUNCETOAGENT">AnnounceToAgent</label>
+                <label translate="APP.ANNOUNCETOAGENT">AnnounceToAgent</label>
                 <md-select
                   name="announce"
                   ng-model="vm.voiceQueue.announce"
@@ -539,11 +556,11 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + announce.save_name"
                     ng-repeat="announce in vm.sounds"
                     ng-disabled="announce.canSelect === false"
-                    >{{ announce.name }}</md-option
-                  >
+                    >{{ announce.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.ANNOUNCETOAGENT"></span>
+                  <span translate="APP.HELP.ANNOUNCETOAGENT"></span>
                 </div>
                 <div
                   ng-messages="generalForm['announce'].$error"
@@ -558,7 +575,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -584,20 +601,20 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.ANNOUNCEMENTS">ANNOUNCEMENTS</span>
+          <span translate="APP.ANNOUNCEMENTS">ANNOUNCEMENTS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="voiceQueue-detail-form-container settings md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.SETTINGS">
+              <div class="h2 secondary-text" translate="APP.SETTINGS">
                 SETTINGS
               </div>
             </div>
             <form name="settingsForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.ANNOUNCEFREQUENCY"
+                <label translate="APP.ANNOUNCEFREQUENCY"
                   >AnnounceFrequency</label
                 <input
@@ -633,7 +650,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MINANNOUNCEFREQUENCY"
+                <label translate="APP.MINANNOUNCEFREQUENCY"
                   >MinAnnounceFrequency</label
                 >
                 <input
@@ -645,7 +662,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="VOICE.HELP.MINANNOUNCEFREQUENCY"></span>
+                  <span translate="APP.HELP.MINANNOUNCEFREQUENCY"></span>
                 </div>
                 <div
                   ng-messages="settingsForm['min_announce_frequency'].$error"
@@ -668,7 +685,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.PERIODICANNOUNCEFREQUENCY"
+                <label translate="APP.PERIODICANNOUNCEFREQUENCY"
                   >PeriodicAnnounceFrequency</label
                 >
                 <input
@@ -680,7 +697,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="VOICE.HELP.PERIODICANNOUNCEFREQUENCY"></span>
+                  <span translate="APP.HELP.PERIODICANNOUNCEFREQUENCY"></span>
                 </div>
                 <div
                   ng-messages="settingsForm['periodic_announce_frequency'].$error"
@@ -704,7 +721,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.RANDOMPERIODICANNOUNCE"
+                <label translate="APP.RANDOMPERIODICANNOUNCE"
                   >RandomPeriodicAnnounce</label
                 >
                 <md-select
@@ -713,11 +730,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -737,9 +754,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.ANNOUNCEHOLDTIME"
-                  >AnnounceHoldtime</label
-                >
+                <label translate="APP.ANNOUNCEHOLDTIME">AnnounceHoldtime</label>
                 <md-select
                   name="announce_holdtime"
                   ng-model="vm.voiceQueue.announce_holdtime"
@@ -750,7 +765,7 @@
                   <md-option ng-value="'once'">Once</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.ANNOUNCEHOLDTIME"></span>
+                  <span translate="APP.HELP.ANNOUNCEHOLDTIME"></span>
                 </div>
                 <div
                   ng-messages="settingsForm['announce_holdtime'].$error"
@@ -765,7 +780,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.ANNOUNCECALLERPOSITION"
+                <label translate="APP.ANNOUNCECALLERPOSITION"
                   >AnnounceCallerPosition</label
                 >
                 <md-select
@@ -779,7 +794,7 @@
                   <md-option ng-value="'more'">More</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.ANNOUNCECALLERPOSITION"></span>
+                  <span translate="APP.HELP.ANNOUNCECALLERPOSITION"></span>
                 </div>
                 <div
                   ng-messages="settingsForm['announce_position'].$error"
@@ -795,7 +810,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.ANNOUNCEPOSITIONLIMIT"
+                <label translate="APP.ANNOUNCEPOSITIONLIMIT"
                   >AnnouncePositionLimit</label
                 >
                 <input
@@ -822,7 +837,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.REPORTHOLDTIMEAGENT"
+                <label translate="APP.REPORTHOLDTIMEAGENT"
                   >ReportHoldtimeAgent</label
                 >
                 <md-select
@@ -831,15 +846,15 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.REPORTHOLDTIMEAGENT"></span>
+                  <span translate="APP.HELP.REPORTHOLDTIMEAGENT"></span>
                 </div>
                 <div
                   ng-messages="settingsForm['reportholdtime'].$error"
@@ -859,15 +874,13 @@
             class="voiceQueue-detail-form-container announcements md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.ANNOUNCEMENTS">
+              <div class="h2 secondary-text" translate="APP.ANNOUNCEMENTS">
                 ANNOUNCEMENTS
               </div>
             </div>
             <form name="announcementsForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.PERIODICANNOUNCE"
-                  >PeriodicAnnounce</label
-                >
+                <label translate="APP.PERIODICANNOUNCE">PeriodicAnnounce</label>
                 <md-select
                   name="periodic_announce"
                   ng-model="vm.voiceQueue.periodic_announce"
@@ -880,11 +893,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + periodic_announce.save_name"
                     ng-repeat="periodic_announce in vm.sounds"
                     ng-disabled="periodic_announce.canSelect === false"
-                    >{{ periodic_announce.name }}</md-option
+                  >
+                    {{ periodic_announce.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.PERIODICANNOUNCE"></span>
+                  <span translate="APP.HELP.PERIODICANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['periodic_announce'].$error"
@@ -899,9 +913,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.HOLDTIMEANNOUNCE"
-                  >HoldTimeAnnounce</label
-                >
+                <label translate="APP.HOLDTIMEANNOUNCE">HoldTimeAnnounce</label>
                 <md-select
                   name="queue_reporthold"
                   ng-model="vm.voiceQueue.queue_reporthold"
@@ -913,11 +925,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_reporthold.save_name"
                     ng-repeat="queue_reporthold in vm.sounds"
                     ng-disabled="queue_reporthold.canSelect === false"
-                    >{{ queue_reporthold.name }}</md-option
+                  >
+                    {{ queue_reporthold.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.HOLDTIMEANNOUNCE"></span>
+                  <span translate="APP.HELP.HOLDTIMEANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_reporthold'].$error"
@@ -932,7 +945,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.YOUARENEXTANNOUNCE"
+                <label translate="APP.YOUARENEXTANNOUNCE"
                   >YouareNextAnnounce</label
                 >
                 <md-select
@@ -946,11 +959,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_youarenext.save_name"
                     ng-repeat="queue_youarenext in vm.sounds"
                     ng-disabled="queue_youarenext.canSelect === false"
-                    >{{ queue_youarenext.name }}</md-option
+                  >
+                    {{ queue_youarenext.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.YOUARENEXTANNOUNCE"></span>
+                  <span translate="APP.HELP.YOUARENEXTANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_youarenext'].$error"
@@ -965,9 +979,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.THEREAREANNOUNCE"
-                  >ThereareAnnounce</label
-                >
+                <label translate="APP.THEREAREANNOUNCE">ThereareAnnounce</label>
                 <md-select
                   name="queue_thereare"
                   ng-model="vm.voiceQueue.queue_thereare"
@@ -979,11 +991,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_thereare.save_name"
                     ng-repeat="queue_thereare in vm.sounds"
                     ng-disabled="queue_thereare.canSelect === false"
-                    >{{ queue_thereare.name }}</md-option
+                  >
+                    {{ queue_thereare.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.THEREAREANNOUNCE"></span>
+                  <span translate="APP.HELP.THEREAREANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_thereare'].$error"
@@ -998,7 +1011,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.WAITINGCALLSANNOUNCE"
+                <label translate="APP.WAITINGCALLSANNOUNCE"
                   >WaitingCallsAnnounce</label
                 >
                 <md-select
@@ -1012,11 +1025,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_callswaiting.save_name"
                     ng-repeat="queue_callswaiting in vm.sounds"
                     ng-disabled="queue_callswaiting.canSelect === false"
-                    >{{ queue_callswaiting.name }}</md-option
+                  >
+                    {{ queue_callswaiting.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.WAITINGCALLSANNOUNCE"></span>
+                  <span translate="APP.HELP.WAITINGCALLSANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_callswaiting'].$error"
@@ -1031,7 +1045,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.ESTIMATEDHOLDTIMEANNOUNCE"
+                <label translate="APP.ESTIMATEDHOLDTIMEANNOUNCE"
                   >EstimatedHoldTimeAnnounce</label
                 >
                 <md-select
@@ -1045,11 +1059,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_holdtime.save_name"
                     ng-repeat="queue_holdtime in vm.sounds"
                     ng-disabled="queue_holdtime.canSelect === false"
-                    >{{ queue_holdtime.name }}</md-option
+                  >
+                    {{ queue_holdtime.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.ESTIMATEDHOLDTIMEANNOUNCE"></span>
+                  <span translate="APP.HELP.ESTIMATEDHOLDTIMEANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_holdtime'].$error"
@@ -1065,7 +1080,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MINUTESANNOUNCE">MinutesAnnounce</label>
+                <label translate="APP.MINUTESANNOUNCE">MinutesAnnounce</label>
                 <md-select
                   name="queue_minutes"
                   ng-model="vm.voiceQueue.queue_minutes"
@@ -1077,11 +1092,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_minutes.save_name"
                     ng-repeat="queue_minutes in vm.sounds"
                     ng-disabled="queue_minutes.canSelect === false"
-                    >{{ queue_minutes.name }}</md-option
+                  >
+                    {{ queue_minutes.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.MINUTESANNOUNCE"></span>
+                  <span translate="APP.HELP.MINUTESANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_minutes'].$error"
@@ -1096,7 +1112,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MINUTEANNOUNCE">MinuteAnnounce</label>
+                <label translate="APP.MINUTEANNOUNCE">MinuteAnnounce</label>
                 <md-select
                   name="queue_minute"
                   ng-model="vm.voiceQueue.queue_minute"
@@ -1108,11 +1124,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_minute.save_name"
                     ng-repeat="queue_minute in vm.sounds"
                     ng-disabled="queue_minute.canSelect === false"
-                    >{{ queue_minute.name }}</md-option
+                  >
+                    {{ queue_minute.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.MINUTEANNOUNCE"></span>
+                  <span translate="APP.HELP.MINUTEANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_minute'].$error"
@@ -1127,7 +1144,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.SECONDSANNOUNCE">SecondsAnnounce</label>
+                <label translate="APP.SECONDSANNOUNCE">SecondsAnnounce</label>
                 <md-select
                   name="queue_seconds"
                   ng-model="vm.voiceQueue.queue_seconds"
@@ -1139,11 +1156,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_seconds.save_name"
                     ng-repeat="queue_seconds in vm.sounds"
                     ng-disabled="queue_seconds.canSelect === false"
-                    >{{ queue_seconds.name }}</md-option
+                  >
+                    {{ queue_seconds.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.SECONDSANNOUNCE"></span>
+                  <span translate="APP.HELP.SECONDSANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_seconds'].$error"
@@ -1158,9 +1176,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.THANKYOUANNOUNCE"
-                  >ThankYouAnnounce</label
-                >
+                <label translate="APP.THANKYOUANNOUNCE">ThankYouAnnounce</label>
                 <md-select
                   name="queue_thankyou"
                   ng-model="vm.voiceQueue.queue_thankyou"
@@ -1172,11 +1188,12 @@
                     ng-value="'/var/opt/motion2/server/files/sounds/converted/' + queue_thankyou.save_name"
                     ng-repeat="queue_thankyou in vm.sounds"
                     ng-disabled="queue_thankyou.canSelect === false"
-                    >{{ queue_thankyou.name }}</md-option
+                  >
+                    {{ queue_thankyou.name }}</md-option
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.THANKYOUANNOUNCE"></span>
+                  <span translate="APP.HELP.THANKYOUANNOUNCE"></span>
                 </div>
                 <div
                   ng-messages="announcementsForm['queue_thankyou'].$error"
@@ -1196,14 +1213,14 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="voiceQueue-detail-form-container advanced md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.ADVANCED">
+              <div class="h2 secondary-text" translate="APP.ADVANCED">
                 ADVANCED
               </div>
             </div>
@@ -1213,17 +1230,15 @@
                   ng-model="vm.voiceQueue.acw"
                   aria-label="AfterCallWork"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="VOICE.AFTERCALLWORK"
-                    >AfterCallWork</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AFTERCALLWORK">AfterCallWork</span>
+                </md-switch>
 
                 <div class="hint">
-                  <span translate="VOICE.HELP.AFTERCALLWORK"></span>
+                  <span translate="APP.HELP.AFTERCALLWORK"></span>
                 </div>
               </md-input-container>
               <md-input-container ng-if="vm.voiceQueue.acw" class="md-block">
-                <label translate="VOICE.AFTERCALLWORKDURATION"
+                <label translate="APP.AFTERCALLWORKDURATION"
                   >AfterCallWorkDuration</label
                 >
                 <input
@@ -1236,7 +1251,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="VOICE.HELP.AFTERCALLWORKDURATION"></span>
+                  <span translate="APP.HELP.AFTERCALLWORKDURATION"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['acwTimeout'].$error"
@@ -1244,8 +1259,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span
-                      translate="VOICE.ERRORS.AFTERCALLWORKDURATION_REQUIRED"
+                    <span translate="APP.ERRORS.AFTERCALLWORKDURATION_REQUIRED"
                       >AfterCallWorkDuration field is required</span
                     >
                   </div>
@@ -1267,11 +1281,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'all'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -1290,22 +1304,22 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.RINGINUSE">RingInUse</label>
+                <label translate="APP.RINGINUSE">RingInUse</label>
                 <md-select
                   name="ringinuse"
                   ng-model="vm.voiceQueue.ringinuse"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.RINGINUSE"></span>
+                  <span translate="APP.HELP.RINGINUSE"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['ringinuse'].$error"
@@ -1320,7 +1334,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MEMBERDELAY">MemberDelay</label>
+                <label translate="APP.MEMBERDELAY">MemberDelay</label>
                 <input
                   type="number"
                   name="memberdelay"
@@ -1330,7 +1344,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="VOICE.HELP.MEMBERDELAY"></span>
+                  <span translate="APP.HELP.MEMBERDELAY"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['memberdelay'].$error"
@@ -1352,22 +1366,22 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.TIMEOUTRESTART">TimeoutRestart</label>
+                <label translate="APP.TIMEOUTRESTART">TimeoutRestart</label>
                 <md-select
                   name="timeoutrestart"
                   ng-model="vm.voiceQueue.timeoutrestart"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.TIMEOUTRESTART"></span>
+                  <span translate="APP.HELP.TIMEOUTRESTART"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['timeoutrestart'].$error"
@@ -1382,7 +1396,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MONITORFORMAT">MonitorFormat</label>
+                <label translate="APP.MONITORFORMAT">MonitorFormat</label>
                 <md-select
                   name="monitor_format"
                   ng-model="vm.voiceQueue.monitor_format"
@@ -1394,7 +1408,7 @@
                   <md-option ng-value="'gsm'">gsm</md-option>
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.MONITORFORMAT"></span>
+                  <span translate="APP.HELP.MONITORFORMAT"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['monitor_format'].$error"
@@ -1409,7 +1423,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CONTEXT">Context</label>
+                <label translate="APP.CONTEXT">Context</label>
                 <input
                   type="text"
                   name="context"
@@ -1418,7 +1432,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="VOICE.HELP.CONTEXT"></span>
+                  <span translate="APP.HELP.CONTEXT"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['context'].$error"
@@ -1426,14 +1440,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.CONTEXT_REQUIRED"
+                    <span translate="APP.ERRORS.CONTEXT_REQUIRED"
                       >Context field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.SETINTERFACEVARIABLES"
+                <label translate="APP.SETINTERFACEVARIABLES"
                   >SetInterfaceVariables</label
                 >
                 <md-select
@@ -1442,11 +1456,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -1466,7 +1480,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.SETQUEUEVARIABLES"
+                <label translate="APP.SETQUEUEVARIABLES"
                   >SetQueueVariables</label
                 <md-select
@@ -1475,11 +1489,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -1498,7 +1512,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.SETQUEUEENTRYVARIABLES"
+                <label translate="APP.SETQUEUEENTRYVARIABLES"
                   >SetQueueEntryVariables</label
                 >
                 <md-select
@@ -1507,11 +1521,11 @@
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div class="hint">
@@ -1575,7 +1589,7 @@
                   ng-model="vm.voiceQueue.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="VOICE.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -1584,7 +1598,7 @@
                 ng-if="vm.voiceQueue.mandatoryDisposition"
                 class="md-block"
-                <label translate="VOICE.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -1597,13 +1611,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span
-                    translate="VOICE.HELP.MANDATORYDISPOSITIONPAUSEID"
-                  ></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="advancedForm['mandatoryDispositionPauseId'].$error"
@@ -1612,7 +1624,7 @@
                   <div ng-message="required">
                     <span
-                      translate="VOICE.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
diff --git a/public/src/js/modules/main/apps/voice/views/voiceQueues/voiceQueues.html/voiceQueues.html b/public/src/js/modules/main/apps/voice/views/voiceQueues/voiceQueues.html/voiceQueues.html
index 96b0718..5327657 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceQueues/voiceQueues.html/voiceQueues.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceQueues/voiceQueues.html/voiceQueues.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.VOICEQUEUES">VoiceQueues</span>
+        <span class="logo-text" translate="APP.VOICEQUEUES">VoiceQueues</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedVoiceQueues =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-voiceQueues-count">
           <span>{{vm.selectedVoiceQueues.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllVoiceQueues()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectVoiceQueues()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedVoiceQueues($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,15 +147,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'VOICE.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'VOICE.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'VOICE.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -164,7 +164,7 @@
               <tr md-row ng-hide="vm.voiceQueues.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -228,7 +228,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -242,7 +242,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(voiceQueue, $event    )"
-                          translate="VOICE.EDIT_VOICEQUEUE"
+                          translate="APP.EDIT_VOICEQUEUE"
                           Edit VoiceQueue
                         </md-button>
@@ -281,7 +281,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(voiceQueue, $event    )"
-                          translate="VOICE.DELETE_VOICEQUEUE"
+                          translate="APP.DELETE_VOICEQUEUE"
                           Delete VoiceQueue
                         </md-button>
@@ -334,7 +334,7 @@
     ng-click="vm.createOrEditVoiceQueue($event)"
     aria-label="add voiceQueue"
     translate
-    translate-attr-aria-label="VOICE.ADD_VOICEQUEUE"
+    translate-attr-aria-label="APP.ADD_VOICEQUEUE"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/voice/views/voiceRecordings/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/voiceRecordings/create/dialog.html/dialog.html
index ea08f3b..39f8692 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceRecordings/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceRecordings/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.RATING">Rating</label>
+        <label translate="APP.RATING">Rating</label>
         <md-select
           name="rating"
           ng-model="vm.voiceRecording.rating"
@@ -48,41 +48,41 @@
           <md-option ng-value="null"
             >{{'VOICE.NO_RATING' | translate}}</md-option
           >
-          <md-option value="1"
-            ><md-icon
+          <md-option value="1">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1]"
-            ></md-icon
-          ></md-option>
-          <md-option value="2"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="2">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2]"
-            ></md-icon
-          ></md-option>
-          <md-option value="3"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="3">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2,3]"
-            ></md-icon
-          ></md-option>
-          <md-option value="4"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="4">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2,3,4]"
-            ></md-icon
-          ></md-option>
-          <md-option value="5"
-            ><md-icon
+            ></md-icon>
+          </md-option>
+          <md-option value="5">
+            <md-icon
               md-font-icon="icon-star"
               style="color: red"
               ng-repeat="icon in [1,2,3,4,5]"
-            ></md-icon
-          ></md-option>
+            ></md-icon>
+          </md-option>
         </md-select>
         <div
           ng-messages="voiceRecordingForm['rating'].$error"
@@ -132,8 +132,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="voiceRecordingForm.$invalid || voiceRecordingForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -158,10 +158,10 @@
           ng-click="vm.deleteVoiceRecording($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/voiceRecordings/edit/view.html/view.html b/public/src/js/modules/main/apps/voice/views/voiceRecordings/edit/view.html/view.html
index 4741e13..6ea0a90 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceRecordings/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceRecordings/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="VOICE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.voiceRecording.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -42,8 +42,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(voiceRecordingsForm.$invalid) || (transcriptForm.$invalid) || (sentimentAnalysisForm.$invalid)"
-        translate="VOICE.SAVE"
-        translate-attr-aria-label="VOICE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -62,20 +62,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.GENERAL">GENERAL</span>
+          <span translate="APP.GENERAL">GENERAL</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="voiceRecording-detail-form-container voicerecordings md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.VOICERECORDINGS">
+              <div class="h2 secondary-text" translate="APP.VOICERECORDINGS">
                 VOICERECORDINGS
               </div>
             </div>
             <form name="voiceRecordingsForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.TYPE">Type</label>
+                <label translate="APP.TYPE">Type</label>
                 <input
                   type=""
                   name="type"
@@ -90,14 +90,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.TYPE_REQUIRED"
+                    <span translate="APP.ERRORS.TYPE_REQUIRED"
                       >Type field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.UNIQUEID">UniqueId</label>
+                <label translate="APP.UNIQUEID">UniqueId</label>
                 <input
                   type=""
                   name="uniqueid"
@@ -118,7 +118,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CALLER">Caller</label>
+                <label translate="APP.CALLER">Caller</label>
                 <input
                   type=""
                   name="calleridnum"
@@ -139,7 +139,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CALLED">Called</label>
+                <label translate="APP.CALLED">Called</label>
                 <input
                   type=""
                   name="exten"
@@ -160,7 +160,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.CONNECTED">Connected</label>
+                <label translate="APP.CONNECTED">Connected</label>
                 <input
                   type=""
                   name="connectedlinenum"
@@ -181,7 +181,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.QUEUE">Queue</label>
+                <label translate="APP.QUEUE">Queue</label>
                 <input
                   type=""
                   name="queue"
@@ -195,14 +195,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.QUEUE_REQUIRED"
+                    <span translate="APP.ERRORS.QUEUE_REQUIRED"
                       >Queue field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.AGENT">Agent</label>
+                <label translate="APP.AGENT">Agent</label>
                 <input
                   type="text"
                   name="membername"
@@ -216,14 +216,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.AGENT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENT_REQUIRED"
                       >Agent field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.RATING">Rating</label>
+                <label translate="APP.RATING">Rating</label>
                 <md-select
                   name="rating"
                   ng-model="vm.voiceRecording.rating"
@@ -232,41 +232,41 @@
                   <md-option ng-value="null"
                     >{{'VOICE.NO_RATING' | translate}}</md-option
                   >
-                  <md-option value="1"
-                    ><md-icon
+                  <md-option value="1">
+                    <md-icon
                       md-font-icon="icon-star"
                       style="color: red"
                       ng-repeat="icon in [1]"
-                    ></md-icon
-                  ></md-option>
-                  <md-option value="2"
-                    ><md-icon
+                    ></md-icon>
+                  </md-option>
+                  <md-option value="2">
+                    <md-icon
                       md-font-icon="icon-star"
                       style="color: red"
                       ng-repeat="icon in [1,2]"
-                    ></md-icon
-                  ></md-option>
-                  <md-option value="3"
-                    ><md-icon
+                    ></md-icon>
+                  </md-option>
+                  <md-option value="3">
+                    <md-icon
                       md-font-icon="icon-star"
                       style="color: red"
                       ng-repeat="icon in [1,2,3]"
-                    ></md-icon
-                  ></md-option>
-                  <md-option value="4"
-                    ><md-icon
+                    ></md-icon>
+                  </md-option>
+                  <md-option value="4">
+                    <md-icon
                       md-font-icon="icon-star"
                       style="color: red"
                       ng-repeat="icon in [1,2,3,4]"
-                    ></md-icon
-                  ></md-option>
-                  <md-option value="5"
-                    ><md-icon
+                    ></md-icon>
+                  </md-option>
+                  <md-option value="5">
+                    <md-icon
                       md-font-icon="icon-star"
                       style="color: red"
                       ng-repeat="icon in [1,2,3,4,5]"
-                    ></md-icon
-                  ></md-option>
+                    ></md-icon>
+                  </md-option>
                 </md-select>
                 <div
                   ng-messages="voiceRecordingsForm['rating'].$error"
@@ -281,7 +281,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.DISPOSITION">Disposition</label>
+                <label translate="APP.DISPOSITION">Disposition</label>
                 <input
                   type="text"
                   name="userDisposition"
@@ -295,7 +295,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.DISPOSITION_REQUIRED"
+                    <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
                       >Disposition field is required</span
                     >
                   </div>
@@ -371,7 +371,7 @@
                 ng-if="vm.voiceRecording.transcribeStatus == 'COMPLETED'"
                 class="md-block"
-                <label translate="VOICE.TEXT">Text</label>
+                <label translate="APP.TEXT">Text</label>
                 <textarea
                   name="fileText"
                   ng-model="vm.voiceRecording.fileText"
@@ -403,7 +403,7 @@
                 <div class="md-toolbar-tools">
                   <span
                     class="md-subhead"
-                    translate="VOICE.SENTIMENTANALYSIS"
+                    translate="APP.SENTIMENTANALYSIS"
                     style="width: 50px"
                     >Sentiment Analysis</span
diff --git a/public/src/js/modules/main/apps/voice/views/voiceRecordings/voiceRecordings.html/voiceRecordings.html b/public/src/js/modules/main/apps/voice/views/voiceRecordings/voiceRecordings.html/voiceRecordings.html
index 127b82d..ea7afef 100644
--- a/public/src/js/modules/main/apps/voice/views/voiceRecordings/voiceRecordings.html/voiceRecordings.html
+++ b/public/src/js/modules/main/apps/voice/views/voiceRecordings/voiceRecordings.html/voiceRecordings.html
@@ -11,7 +11,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.VOICERECORDINGS"
+        <span class="logo-text" translate="APP.VOICERECORDINGS"
           >VoiceRecordings</span
       </div>
@@ -36,7 +36,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -60,7 +60,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedVoiceRecordings =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -68,7 +68,7 @@
       <div>
         <span class="selected-voiceRecordings-count">
           <span>{{vm.selectedVoiceRecordings.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -85,7 +85,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllVoiceRecordings()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -93,7 +93,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectVoiceRecordings()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -119,8 +119,8 @@
           translate
           translate-attr-label="VOICERECORDINGS.TRANSCRIBESENTIMENT_SELECTED"
-          <md-icon md-font-icon="icon-text-to-speech"></md-icon
-          ><md-tooltip
+          <md-icon md-font-icon="icon-text-to-speech"></md-icon>
+          <md-tooltip
             >{{'VOICE.RUNTRANSCRIBESENTIMENT_VOICERECORDING' |
             translate}}</md-tooltip
@@ -133,8 +133,8 @@
           translate
           translate-attr-label="VOICERECORDINGS.TRANSCRIBE_SELECTED"
-          <md-icon md-font-icon="icon-format-size"></md-icon
-          ><md-tooltip
+          <md-icon md-font-icon="icon-format-size"></md-icon>
+          <md-tooltip
             >{{'VOICE.RUNTRANSCRIBE_VOICERECORDING' | translate}}</md-tooltip
           >
         </md-button>
@@ -146,8 +146,8 @@
           translate
           translate-attr-label="VOICERECORDINGS.SENTIMENT_SELECTED"
-          <md-icon md-font-icon="icon-heart-outline"></md-icon
-          ><md-tooltip
+          <md-icon md-font-icon="icon-heart-outline"></md-icon>
+          <md-tooltip
             >{{'VOICE.RUNSENTIMENT_VOICERECORDING' | translate}}</md-tooltip
           >
         </md-button>
@@ -157,7 +157,7 @@
           ng-click="vm.deleteSelectedVoiceRecordings($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -192,37 +192,37 @@
                   width="20px"
                 ></th>
                 <th md-column md-order-by="type">
-                  {{ 'VOICE.TYPE' | translate }}
+                  {{ 'APP.TYPE' | translate }}
                 </th>
                 <th md-column md-order-by="uniqueid">
-                  {{ 'VOICE.UNIQUEID' | translate }}
+                  {{ 'APP.UNIQUEID' | translate }}
                 </th>
                 <th md-column md-order-by="calleridnum">
-                  {{ 'VOICE.CALLER' | translate }}
+                  {{ 'APP.CALLER' | translate }}
                 </th>
                 <th md-column md-order-by="exten">
-                  {{ 'VOICE.CALLED' | translate }}
+                  {{ 'APP.CALLED' | translate }}
                 </th>
                 <th md-column md-order-by="connectedlinenum">
-                  {{ 'VOICE.CONNECTED' | translate }}
+                  {{ 'APP.CONNECTED' | translate }}
                 </th>
                 <th md-column md-order-by="queue">
-                  {{ 'VOICE.QUEUE' | translate }}
+                  {{ 'APP.QUEUE' | translate }}
                 </th>
                 <th md-column md-order-by="membername">
-                  {{ 'VOICE.AGENT' | translate }}
+                  {{ 'APP.AGENT' | translate }}
                 </th>
                 <th md-column md-order-by="rating">
-                  {{ 'VOICE.RATING' | translate }}
+                  {{ 'APP.RATING' | translate }}
                 </th>
                 <th md-column md-order-by="audio">
-                  {{ 'VOICE.AUDIO' | translate }}
+                  {{ 'APP.AUDIO' | translate }}
                 </th>
                 <th md-column md-order-by="createdAt">
-                  {{ 'VOICE.DATE' | translate }}
+                  {{ 'APP.DATE' | translate }}
                 </th>
                 <th md-column md-order-by="userDisposition">
-                  {{ 'VOICE.DISPOSITION' | translate }}
+                  {{ 'APP.DISPOSITION' | translate }}
                 </th>
                 <th md-column md-order-by="userSecondDisposition">
                   {{ 'VOICE.SECOND_LEVEL_DISPOSITION' | translate }}
@@ -235,10 +235,10 @@
                   md-order-by="transcribeStatus"
                   ng-if="vm.license.ai"
-                  {{ 'VOICE.TRANSCRIBE' | translate }}
+                  {{ 'APP.TRANSCRIBE' | translate }}
                 </th>
                 <th md-column md-order-by="sentiment" ng-if="vm.license.ai">
-                  {{ 'VOICE.SENTIMENTANALYSIS' | translate }}
+                  {{ 'APP.SENTIMENTANALYSIS' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -247,7 +247,7 @@
               <tr md-row ng-hide="vm.voiceRecordings.rows.length">
                 <td md-cell colspan="16">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -338,7 +338,7 @@
                   ></md-icon
                   ><span
                     ng-hide="voiceRecording.rating"
-                    translate="VOICE.NO_RATING"
+                    translate="APP.NO_RATING"
                     >No rating</span
                 </td>
@@ -405,7 +405,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -419,7 +419,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(voiceRecording, $event    )"
-                          translate="VOICE.EDIT_VOICERECORDING"
+                          translate="APP.EDIT_VOICERECORDING"
                           Edit VoiceRecording
                         </md-button>
@@ -492,7 +492,7 @@
                       <md-menu-item>
                         <md-button
                           ng-click="vm.downloadfile2(voiceRecording, $event  , 'voice/recordings'   )"
-                          translate="VOICE.DOWNLOAD_VOICERECORDING"
+                          translate="APP.DOWNLOAD_VOICERECORDING"
                           Download VoiceRecording
                         </md-button>
@@ -505,7 +505,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(voiceRecording, $event    )"
-                          translate="VOICE.DELETE_VOICERECORDING"
+                          translate="APP.DELETE_VOICERECORDING"
                           Delete VoiceRecording
                         </md-button>
@@ -526,7 +526,8 @@
           md-total="{{vm.voiceRecordings.count}}"
           md-on-paginate="vm.getVoiceRecordings"
           md-page-select
-        ></md-table-pagination>
+        >
+        </md-table-pagination>
       </md-card>
       <!-- / VOICERECORDING TABLE -->
       <!-- NO RESULTS -->
diff --git a/public/src/js/modules/main/apps/voice/views/voicemails/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/voice/views/voicemails/create/dialog.html/dialog.html
index d2a8485..f7cf071 100644
--- a/public/src/js/modules/main/apps/voice/views/voicemails/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/voice/views/voicemails/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="VOICE.FULLNAME">FullName</label>
+        <label translate="APP.FULLNAME">FullName</label>
         <input
           type="text"
           name="fullname"
@@ -53,14 +53,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.FULLNAME_REQUIRED"
+            <span translate="APP.ERRORS.FULLNAME_REQUIRED"
               >FullName field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.EMAIL">Email</label>
+        <label translate="APP.EMAIL">Email</label>
         <input
           type="email"
           name="email"
@@ -74,31 +74,31 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.EMAIL_REQUIRED"
+            <span translate="APP.ERRORS.EMAIL_REQUIRED"
               >Email field is required</span
             >
           </div>
           <div ng-message="email">
-            <span translate="VOICE.ERRORS.EMAIL_MUST_VALID"
+            <span translate="APP.ERRORS.EMAIL_MUST_VALID"
               >Email must be a valid e-mail address</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.PASSWORD">Password</label>
+        <label translate="APP.PASSWORD">Password</label>
         <input
           type="password"
           name="password"
           ng-model="vm.voicemail.password"
           placeholder="Password"
           translate
-          translate-attr-placeholder="VOICE.PASSWORD"
+          translate-attr-placeholder="APP.PASSWORD"
           required
         />
         <div ng-messages="voicemailForm['password'].$error" role="alert">
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.PASSWORD_REQUIRED"
+            <span translate="APP.ERRORS.PASSWORD_REQUIRED"
               >Password field is required</span
             >
           </div>
@@ -113,7 +113,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.newVoicemail ">
-        <label translate="VOICE.CONFIRM_PASSWORD">Confirm Password</label>
+        <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
         <input
           type="password"
           match-password="password"
@@ -140,7 +140,7 @@
       </md-input-container>
 
       <md-input-container class="md-block">
-        <label translate="VOICE.MAILBOX">MailBox</label>
+        <label translate="APP.MAILBOX">MailBox</label>
         <input
           type="text"
           name="mailbox"
@@ -155,20 +155,18 @@
           role="alert"
           <div ng-message="required">
-            <span translate="VOICE.ERRORS.MAILBOX_REQUIRED"
+            <span translate="APP.ERRORS.MAILBOX_REQUIRED"
               >MailBox field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="VOICE.ATTACH">Attach</label>
+        <label translate="APP.ATTACH">Attach</label>
         <md-select name="attach" ng-model="vm.voicemail.attach">
-          <md-option ng-value="'yes'">
-            {{ 'VOICE.YES' | translate }}
-          </md-option>
+          <md-option ng-value="'yes'"> {{ 'APP.YES' | translate }} </md-option>
 
-          <md-option ng-value="'no'"> {{ 'VOICE.NO' | translate }} </md-option>
+          <md-option ng-value="'no'"> {{ 'APP.NO' | translate }} </md-option>
         </md-select>
         <div
           ng-messages="voicemailForm['attach'].$error"
@@ -218,8 +216,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="voicemailForm.$invalid || voicemailForm.$pristine"
           aria-label="SAVE"
-          translate="VOICE.SAVE"
-          translate-attr-aria-label="VOICE.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -231,8 +229,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="voicemailForm.$invalid"
           aria-label="ADD"
-          translate="VOICE.ADD_VOICEMAIL"
-          translate-attr-aria-label="VOICE.ADD_VOICEMAIL"
+          translate="APP.ADD_VOICEMAIL"
+          translate-attr-aria-label="APP.ADD_VOICEMAIL"
           ADD VOICEMAIL
         </md-button>
@@ -244,10 +242,10 @@
           ng-click="vm.deleteVoicemail($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="VOICE.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip><span translate="VOICE.DELETE">DELETE</span></md-tooltip>
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/voice/views/voicemails/edit/view.html/view.html b/public/src/js/modules/main/apps/voice/views/voicemails/edit/view.html/view.html
index 05b9800..a0a5853 100644
--- a/public/src/js/modules/main/apps/voice/views/voicemails/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/voice/views/voicemails/edit/view.html/view.html
@@ -23,7 +23,7 @@
             <span ng-if="vm.voicemail.name">{{vm.voicemail.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="VOICE.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.voicemail.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -36,8 +36,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (advancedForm.$invalid) || (messagesForm.$invalid)"
-        translate="VOICE.SAVE"
-        translate-attr-aria-label="VOICE.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -56,20 +56,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="voicemail-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.FULLNAME">FullName</label>
+                <label translate="APP.FULLNAME">FullName</label>
                 <input
                   type="text"
                   name="fullname"
@@ -85,14 +85,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.FULLNAME_REQUIRED"
+                    <span translate="APP.ERRORS.FULLNAME_REQUIRED"
                       >FullName field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.EMAIL">Email</label>
+                <label translate="APP.EMAIL">Email</label>
                 <input
                   type="email"
                   name="email"
@@ -107,31 +107,31 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.EMAIL_REQUIRED"
+                    <span translate="APP.ERRORS.EMAIL_REQUIRED"
                       >Email field is required</span
                     >
                   </div>
                   <div ng-message="email">
-                    <span translate="VOICE.ERRORS.EMAIL_MUST_VALID"
+                    <span translate="APP.ERRORS.EMAIL_MUST_VALID"
                       >Email must be a valid e-mail address</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.PASSWORD">Password</label>
+                <label translate="APP.PASSWORD">Password</label>
                 <input
                   type="password"
                   name="password"
                   ng-model="vm.voicemail.password"
                   placeholder="Password"
                   translate
-                  translate-attr-placeholder="VOICE.PASSWORD"
+                  translate-attr-placeholder="APP.PASSWORD"
                   required
                 />
                 <div ng-messages="generalForm['password'].$error" role="alert">
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.PASSWORD_REQUIRED"
+                    <span translate="APP.ERRORS.PASSWORD_REQUIRED"
                       >Password field is required</span
                     >
                   </div>
@@ -146,9 +146,7 @@
               </md-input-container>
 
               <md-input-container class="md-block" ng-if="vm.newVoicemail ">
-                <label translate="VOICE.CONFIRM_PASSWORD"
-                  >Confirm Password</label
-                >
+                <label translate="APP.CONFIRM_PASSWORD">Confirm Password</label>
                 <input
                   type="password"
                   match-password="password"
@@ -175,7 +173,7 @@
               </md-input-container>
 
               <md-input-container class="md-block">
-                <label translate="VOICE.MAILBOX">MailBox</label>
+                <label translate="APP.MAILBOX">MailBox</label>
                 <input
                   type="text"
                   name="mailbox"
@@ -190,14 +188,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.MAILBOX_REQUIRED"
+                    <span translate="APP.ERRORS.MAILBOX_REQUIRED"
                       >MailBox field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.VOICEMAIL_CONTEXT"
+                <label translate="APP.VOICEMAIL_CONTEXT"
                   >Voicemail_Context</label
                 <md-select
@@ -214,7 +212,7 @@
                 </md-select>
                 <div class="hint">
-                  <span translate="VOICE.HELP.VOICEMAIL_CONTEXT"></span>
+                  <span translate="APP.HELP.VOICEMAIL_CONTEXT"></span>
                 </div>
                 <div
                   ng-messages="generalForm['context'].$error"
@@ -234,20 +232,20 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="voicemail-detail-form-container advanced md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="VOICE.ADVANCED">
+              <div class="h2 secondary-text" translate="APP.ADVANCED">
                 ADVANCED
               </div>
             </div>
             <form name="advancedForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="VOICE.TIMEZONE">TimeZone</label>
+                <label translate="APP.TIMEZONE">TimeZone</label>
                 <input
                   type="text"
                   name="tz"
@@ -263,25 +261,25 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="VOICE.ERRORS.TIMEZONE_REQUIRED"
+                    <span translate="APP.ERRORS.TIMEZONE_REQUIRED"
                       >TimeZone field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.ATTACH">Attach</label>
+                <label translate="APP.ATTACH">Attach</label>
                 <md-select
                   name="attach"
                   ng-model="vm.voicemail.attach"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -297,18 +295,18 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.ENVELOPE">Envelope</label>
+                <label translate="APP.ENVELOPE">Envelope</label>
                 <md-select
                   name="envelope"
                   ng-model="vm.voicemail.envelope"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -324,18 +322,18 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.DELETE">Delete</label>
+                <label translate="APP.DELETE">Delete</label>
                 <md-select
                   name="delete"
                   ng-model="vm.voicemail.delete"
                   ng-disabled="!vm.crudPermissions.canEdit"
                   <md-option ng-value="'yes'">
-                    {{ 'VOICE.YES' | translate }}
+                    {{ 'APP.YES' | translate }}
                   </md-option>
 
                   <md-option ng-value="'no'">
-                    {{ 'VOICE.NO' | translate }}
+                    {{ 'APP.NO' | translate }}
                   </md-option>
                 </md-select>
                 <div
@@ -351,7 +349,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.EMAILBODY">EmailBody</label>
+                <label translate="APP.EMAILBODY">EmailBody</label>
                 <input
                   type="text"
                   name="emailbody"
@@ -372,7 +370,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.EMAILSUBJECT">EmailSubject</label>
+                <label translate="APP.EMAILSUBJECT">EmailSubject</label>
                 <input
                   type="text"
                   name="emailsubject"
@@ -393,7 +391,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MAXSECONDS">MaxSeconds</label>
+                <label translate="APP.MAXSECONDS">MaxSeconds</label>
                 <input
                   type="number"
                   name="maxsecs"
@@ -422,7 +420,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="VOICE.MAXMESSAGES">MaxMessages</label>
+                <label translate="APP.MAXMESSAGES">MaxMessages</label>
                 <input
                   type="number"
                   name="maxmsg"
@@ -464,7 +462,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="VOICE.MESSAGES">MESSAGES</span>
+          <span translate="APP.MESSAGES">MESSAGES</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -479,7 +477,7 @@
                 ng-hide="vm_dc.selectedVoicemailMessages.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="VOICE.MESSAGES"
+                  <span class="md-subhead" translate="APP.MESSAGES"
                     >Messages</span
                   <ms-search-bar
@@ -516,7 +514,7 @@
                     ng-click="vm_dc.deleteSelectedVoicemailMessages($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="VOICE.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -537,19 +535,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'VOICE.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="callerid">
-                        {{ 'VOICE.CALLER_ID' | translate }}
+                        {{ 'APP.CALLER_ID' | translate }}
                       </th>
                       <th md-column md-order-by="duration">
-                        {{ 'VOICE.DURATION' | translate }}
+                        {{ 'APP.DURATION' | translate }}
                       </th>
                       <th md-column md-order-by="audio">
-                        {{ 'VOICE.AUDIO' | translate }}
+                        {{ 'APP.AUDIO' | translate }}
                       </th>
                       <th md-column md-order-by="stamp">
-                        {{ 'VOICE.RECEIVED_AT' | translate }}
+                        {{ 'APP.RECEIVED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -579,7 +577,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="VOICE.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -607,7 +605,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_MESSAGE_AVAILABLE"
+                            translate="APP.NO_MESSAGE_AVAILABLE"
                             >No message available</span
                           >
                         </div>
@@ -624,7 +622,8 @@
                 md-total="{{vm_dc.voicemailMessages.count}}"
                 md-on-paginate="vm_dc.getVoicemailMessages"
                 md-page-select
-              ></md-table-pagination>
+              >
+              </md-table-pagination>
             </div>
           </div>
         </md-tab-body>
diff --git a/public/src/js/modules/main/apps/voice/views/voicemails/voicemails.html/voicemails.html b/public/src/js/modules/main/apps/voice/views/voicemails/voicemails.html/voicemails.html
index 4ed75be..2965004 100644
--- a/public/src/js/modules/main/apps/voice/views/voicemails/voicemails.html/voicemails.html
+++ b/public/src/js/modules/main/apps/voice/views/voicemails/voicemails.html/voicemails.html
@@ -14,7 +14,7 @@
         <span class="logo-icon">
           <md-icon md-font-icon="icon-phone" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="VOICE.VOICEMAILS">Voicemails</span>
+        <span class="logo-text" translate="APP.VOICEMAILS">Voicemails</span>
       </div>
     </div>
     <!-- / APP TITLE -->
@@ -37,7 +37,7 @@
             ng-model="vm.query.filter"
             ng-model-options="{ debounce: 1000 }"
             translate
-            translate-attr-placeholder="VOICE.SEARCH_FOR_ANYONE"
+            translate-attr-placeholder="APP.SEARCH_FOR_ANYONE"
           />
         </md-input-container>
       </div>
@@ -56,7 +56,7 @@
     <div class="close-button-wrapper" ng-click="vm.selectedVoicemails =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="VOICE.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -64,7 +64,7 @@
       <div>
         <span class="selected-voicemails-count">
           <span>{{vm.selectedVoicemails.length}}</span>
-          <span translate="VOICE.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
@@ -81,7 +81,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.selectAllVoicemails()"
-                translate="VOICE.SELECT_ALL"
+                translate="APP.SELECT_ALL"
                 Select all
               </md-button>
@@ -89,7 +89,7 @@
             <md-menu-item>
               <md-button
                 ng-click="vm.deselectVoicemails()"
-                translate="VOICE.SELECT_NONE"
+                translate="APP.SELECT_NONE"
                 Select none
               </md-button>
@@ -113,7 +113,7 @@
           ng-click="vm.deleteSelectedVoicemails($event)"
           aria-label="delete selected"
           translate
-          translate-attr-label="VOICE.DELETE_SELECTED"
+          translate-attr-label="APP.DELETE_SELECTED"
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
@@ -147,15 +147,15 @@
                   ng-if="vm.table == 'users' || vm.table == 'agents'"
                   width="20px"
                 ></th>
-                <th md-column md-order-by="id">{{ 'VOICE.ID' | translate }}</th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="fullname">
-                  {{ 'VOICE.FULLNAME' | translate }}
+                  {{ 'APP.FULLNAME' | translate }}
                 </th>
                 <th md-column md-order-by="email">
-                  {{ 'VOICE.EMAIL' | translate }}
+                  {{ 'APP.EMAIL' | translate }}
                 </th>
                 <th md-column md-order-by="mailbox">
-                  {{ 'VOICE.MAILBOX' | translate }}
+                  {{ 'APP.MAILBOX' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -164,7 +164,7 @@
               <tr md-row ng-hide="vm.voicemails.rows.length">
                 <td md-cell colspan="5">
                   <div layout="row" layout-align="center center">
-                    <span translate="VOICE.NO_AVAILABLE_INFO"
+                    <span translate="APP.NO_AVAILABLE_INFO"
                       >No Available Info</span
                   </div>
@@ -232,7 +232,7 @@
                       class="md-icon-button"
                       aria-label="More"
                       translate
-                      translate-attr-aria-label="VOICE.MORE"
+                      translate-attr-aria-label="APP.MORE"
                       ng-click="$mdMenu.open($event)"
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
@@ -246,7 +246,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
                         <md-button
                           ng-click="vm.editstate(voicemail, $event    )"
-                          translate="VOICE.EDIT_VOICEMAIL"
+                          translate="APP.EDIT_VOICEMAIL"
                           Edit Voicemail
                         </md-button>
@@ -259,7 +259,7 @@
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
                         <md-button
                           ng-click="vm.deleteconfirm(voicemail, $event    )"
-                          translate="VOICE.DELETE_VOICEMAIL"
+                          translate="APP.DELETE_VOICEMAIL"
                           Delete Voicemail
                         </md-button>
@@ -299,7 +299,7 @@
     ng-click="vm.createOrEditVoicemail($event)"
     aria-label="add voicemail"
     translate
-    translate-attr-aria-label="VOICE.ADD_VOICEMAIL"
+    translate-attr-aria-label="APP.ADD_VOICEMAIL"
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/realtime/agents/view.html/view.html b/public/src/js/modules/main/apps/whatsapp/views/realtime/agents/view.html/view.html
index cd98de8..2f95170 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/realtime/agents/view.html/view.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/realtime/agents/view.html/view.html
@@ -1,41 +1,27 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="WHATSAPP.AGENTS">Agents</span>
+    <span class="md-subhead" translate="APP.AGENTS">Agents</span>
     <div flex></div>
-    <ms-search-bar
-      on-search="vm.query.filter = query; vm.onInit()"
-      on-collapse="vm.query.filter = undefined; vm.onInit()"
-      debounce="300"
-    ></ms-search-bar>
-    <md-select
-      ng-model="vm.query.globalStatusFilter"
-      class="md-caption"
-      ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()"
-    >
-      <md-option ng-value="''">{{ 'WHATSAPP.ALL' | translate }}</md-option>
-      <md-option value="pause">{{ 'WHATSAPP.PAUSE' | translate }}</md-option>
-      <md-option value="*pause"
-        >{{ 'WHATSAPP.PARTIALPAUSE' | translate }}</md-option
-      >
-      <md-option value="busy">{{ 'WHATSAPP.BUSY' | translate }}</md-option>
-      <md-option value="idle">{{ 'WHATSAPP.IDLE' | translate }}</md-option>
+    <ms-search-bar on-search="vm.query.filter = query; vm.onInit()"
+      on-collapse="vm.query.filter = undefined; vm.onInit()" debounce="300"></ms-search-bar>
+    <md-select ng-model="vm.query.globalStatusFilter" class="md-caption"
+      ng-change="vm.query.pauseTypeFilter = ''; vm.onInit()">
+      <md-option ng-value="''">{{ 'APP.ALL' | translate }}</md-option>
+      <md-option value="pause">{{ 'APP.PAUSE' | translate }}</md-option>
+      <md-option value="*pause">{{ 'APP.PARTIALPAUSE' | translate }}</md-option>
+      <md-option value="busy">{{ 'APP.BUSY' | translate }}</md-option>
+      <md-option value="idle">{{ 'APP.IDLE' | translate }}</md-option>
     </md-select>
 
-    <md-select
-      ng-if="vm.isPause(vm.query.globalStatusFilter)"
-      ng-model="vm.query.pauseTypeFilter"
-      class="md-caption"
-      ng-change="vm.onInit()"
-    >
+    <md-select ng-if="vm.isPause(vm.query.globalStatusFilter)" ng-model="vm.query.pauseTypeFilter" class="md-caption"
+      ng-change="vm.onInit()">
       <md-option ng-value="''">All</md-option>
       <md-option value="DEFAULT PAUSE">DEFAULT PAUSE</md-option>
       <md-option value="ACW">ACW</md-option>
       <md-option value="LOGININPAUSE">LOGININPAUSE</md-option>
       <md-option value="Auto-Pause">AUTOPAUSE</md-option>
-      <md-option ng-value="pause.name" ng-repeat="pause in vm.pauses.rows"
-        >{{pause.name}}</md-option
-      >
+      <md-option ng-value="pause.name" ng-repeat="pause in vm.pauses.rows">{{pause.name}}</md-option>
     </md-select>
   </div>
 </md-toolbar>
@@ -46,103 +32,99 @@
     <thead md-head md-order="vm.query.order" md-on-reorder="vm.onInit">
       <tr md-row border="1">
         <th class="bv text-center" colspan="5">
-          {{ 'WHATSAPP.AGENT' | translate }}
+          {{ 'APP.AGENT' | translate }}
         </th>
         <th class="bv bl text-center" colspan="2">
-          {{ 'VOICE.VOICE' | translate }}
+          {{ 'APP.VOICE' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="bv bl text-center" colspan="2">
-          {{ 'CHAT.CHAT' | translate }}
+          {{ 'APP.CHAT' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="bv bl text-center" colspan="2">
-          {{ 'MAIL.MAIL' | translate }}
+          {{ 'APP.MAIL' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="bv bl text-center" colspan="2">
-          {{ 'SMS.SMS' | translate }}
+          {{ 'APP.SMS' | translate }}
         </th>
-        <th
-          ng-if="vm.license.openchannel"
-          class="bv bl text-center"
-          colspan="2"
-        >
-          {{ 'OPENCHANNEL.OPENCHANNEL' | translate }}
+        <th ng-if="vm.license.openchannel" class="bv bl text-center" colspan="2">
+          {{ 'APP.OPENCHANNEL' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="bv bl text-center" colspan="2">
-          {{ 'FAX.FAX' | translate }}
+          {{ 'APP.FAX' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="bv bl text-center" colspan="2">
-          {{ 'WHATSAPP.WHATSAPP' | translate }}
+          {{ 'APP.WHATSAPP' | translate }}
         </th>
         <th width="10px" class="bt bl" rowspan="2"></th>
       </tr>
       <tr md-row>
         <th class="bl" colspan="2" md-column md-order-by="fullname">
-          {{ 'WHATSAPP.NAME' | translate }}
+          {{ 'APP.NAME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="globalStatus">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastLoginAt">
-          {{ 'WHATSAPP.LOGIN_TIME' | translate }}
+          {{ 'APP.LOGIN_TIME' | translate }}
         </th>
         <th class="bl custom-column" md-column md-order-by="lastPauseAt">
-          {{ 'WHATSAPP.PAUSE_TIME' | translate }}
+          {{ 'APP.PAUSE_TIME' | translate }}
         </th>
 
-        <th class="bl custom-column">{{ 'VOICE.STATUS' | translate }}</th>
+        <th class="bl custom-column">{{ 'APP.STATUS' | translate }}</th>
         <th class="bl custom-column">Info</th>
 
         <th ng-if="vm.license.chat" class="bl text-center">
-          {{ 'CHAT.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.chat" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'CHAT.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.mail" class="bl text-center">
-          {{ 'MAIL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.mail" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'MAIL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.messaging" class="bl text-center">
-          {{ 'SMS.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.messaging" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'SMS.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.openchannel" class="bl text-center">
-          {{ 'OPENCHANNEL.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.openchannel" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'OPENCHANNEL.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.fax" class="bl text-center">
-          {{ 'FAX.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.fax" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'FAX.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
 
         <th ng-if="vm.license.whatsapp" class="bl text-center">
-          {{ 'WHATSAPP.STATUS' | translate }}
+          {{ 'APP.STATUS' | translate }}
         </th>
         <th ng-if="vm.license.whatsapp" class="text-center">
           <md-icon md-font-icon="icon-battery-standard">
-            <md-tooltip>{{ 'WHATSAPP.CAPACITY' | translate }}</md-tooltip>
+            <md-tooltip>{{ 'APP.CAPACITY' | translate }}</md-tooltip>
           </md-icon>
         </th>
       </tr>
@@ -151,21 +133,15 @@
       <tr md-row ng-hide="vm.order.length">
         <td md-cell colspan="19">
           <div layout="row" layout-align="center center">
-            <span>{{ 'WHATSAPP.NO_AGENT_ONLINE' | translate }}</span>
+            <span>{{ 'APP.NO_AGENT_ONLINE' | translate }}</span>
           </div>
         </td>
       </tr>
-      <tr
-        md-select="vm.agents[value]"
-        md-select-id="id"
-        ng-repeat="(id, value) in vm.order"
-      >
+      <tr md-select="vm.agents[value]" md-select-id="id" ng-repeat="(id, value) in vm.order">
         <td class="bt padding-5">
           <div layout="row" layout-align="start center">
-            <img
-              class="avatar"
-              ng-src="{{vm.agents[value].userpic && 'api/users/'+vm.agents[value].id+'/avatar' || 'assets/images/avatars/profile.png'}}"
-            />
+            <img class="avatar"
+              ng-src="{{vm.agents[value].userpic && 'api/users/'+vm.agents[value].id+'/avatar' || 'assets/images/avatars/profile.png'}}" />
             <div layout="column">
               <span>{{vm.agents[value].fullname}}</span>
               <span>{{vm.agents[value].internal}}</span>
@@ -173,33 +149,23 @@
           </div>
         </td>
         <td class="bt padding-5">
-          <div
-            layout="row"
-            layout-align="start center"
-            ng-if="vm.license.screenrecording && (vm.agents[value].phoneBarEnableScreenRecordingByAgent || vm.agents[value].phoneBarEnableAutomaticScreenRecording)"
-          >
+          <div layout="row" layout-align="start center"
+            ng-if="vm.license.screenrecording && (vm.agents[value].phoneBarEnableScreenRecordingByAgent || vm.agents[value].phoneBarEnableAutomaticScreenRecording)">
             <div class="column" ng-if="vm.agents[value].screenrecording">
               <span>
-                <md-icon
-                  md-font-icon="icon-camcorder-box"
-                  style="color: green; font-size: 36px"
-                  aria-label="icon-camcorder-box26"
-                >
+                <md-icon md-font-icon="icon-camcorder-box" style="color: green; font-size: 36px"
+                  aria-label="icon-camcorder-box26">
                   <md-tooltip>
-                    {{ 'WHATSAPP.TOOLTIP_SCREENRECORDING_ON' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_ON' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
             </div>
             <div class="column" ng-if="!vm.agents[value].screenrecording">
               <span>
-                <md-icon
-                  md-font-icon="icon-camcorder-box"
-                  style="color: gray"
-                  aria-label="icon-camcorder-box26"
-                >
+                <md-icon md-font-icon="icon-camcorder-box" style="color: gray" aria-label="icon-camcorder-box26">
                   <md-tooltip>
-                    {{ 'WHATSAPP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
+                    {{ 'APP.TOOLTIP_SCREENRECORDING_OFF' | translate }}
                   </md-tooltip>
                 </md-icon>
               </span>
@@ -208,72 +174,41 @@
         </td>
 
         <td class="bt">
-          <span
-            class="text-boxed md-background-bg bl bt padding-5"
-            ng-class="{'idle':'lime-300-bg','busy':'indigo-100-bg','*pause':'amber-50-bg','pause':'amber-200-bg'}[vm.agents[value].globalStatus]"
-            >{{ vm.isPause(vm.agents[value].globalStatus) ? '' :
+          <span class="text-boxed md-background-bg bl bt padding-5"
+            ng-class="{'idle':'lime-300-bg','busy':'indigo-100-bg','*pause':'amber-50-bg','pause':'amber-200-bg'}[vm.agents[value].globalStatus]">{{ vm.isPause(vm.agents[value].globalStatus) ? '' :
             vm.agents[value].globalStatus | uppercase }} {{
             vm.isPause(vm.agents[value].globalStatus) ?
             (vm.isPartialPause(vm.agents[value].globalStatus) ?
             '*'+vm.agents[value].pauseType || 'DEFAULT PAUSE' :
-            vm.agents[value].pauseType || 'DEFAULT PAUSE') : ''}}</span
-          >
+            vm.agents[value].pauseType || 'DEFAULT PAUSE') : ''}}</span>
         </td>
         <td class="bt custom-column">
-          <timer start-time="vm.agents[value].lastLoginAt" interval="1000"
-            >{{ days > 0 ? days + 'd' : '' }}
-            {{hhours}}:{{mminutes}}:{{sseconds}}</timer
-          >
+          <timer start-time="vm.agents[value].lastLoginAt" interval="1000">{{ days > 0 ? days + 'd' : '' }}
+            {{hhours}}:{{mminutes}}:{{sseconds}}</timer>
         </td>
         <td class="bt custom-column">
-          <timer
-            ng-if="vm.isPause(vm.agents[value].globalStatus) || vm.isPartialPause(vm.agents[value].globalStatus)"
-            start-time="vm.agents[value].lastPauseAt"
-            interval="1000"
-            >{{ days > 0 ? days + 'd' : '' }}
-            {{hhours}}:{{mminutes}}:{{sseconds}}</timer
-          >
+          <timer ng-if="vm.isPause(vm.agents[value].globalStatus) || vm.isPartialPause(vm.agents[value].globalStatus)"
+            start-time="vm.agents[value].lastPauseAt" interval="1000">{{ days > 0 ? days + 'd' : '' }}
+            {{hhours}}:{{mminutes}}:{{sseconds}}</timer>
         </td>
         <td class="bt bl">
           <div layout="row">
-            <span
-              ng-if="!vm.agents[value].onhold"
-              class="text-boxed md-background-bg bl bt padding-5"
-              ng-class="{'idle':'lime-300-bg','talking':'indigo-100-bg','ringing':'orange-400-bg','pause':'amber-200-bg'}[vm.agents[value].voiceStatus]"
-              >{{ vm.agents[value].voiceStatus | uppercase }}</span
-            >
-            <span
-              ng-if="vm.agents[value].onhold"
-              class="text-boxed md-background-bg bl bt padding-5 orange-400-bg"
-              >ONHOLD</span
-            >
+            <span ng-if="!vm.agents[value].onhold" class="text-boxed md-background-bg bl bt padding-5"
+              ng-class="{'idle':'lime-300-bg','talking':'indigo-100-bg','ringing':'orange-400-bg','pause':'amber-200-bg'}[vm.agents[value].voiceStatus]">{{ vm.agents[value].voiceStatus | uppercase }}</span>
+            <span ng-if="vm.agents[value].onhold"
+              class="text-boxed md-background-bg bl bt padding-5 orange-400-bg">ONHOLD</span>
           </div>
         </td>
         <td class="bt bl">
           <div layout="column">
-            <span
-              ng-if="vm.agents[value].queue"
-              class="padding-5"
-              ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].voiceStatus]"
-              >{{ vm.agents[value].queue }}</span
-            >
-            <span
-              ng-if="vm.agents[value].destconnectedlinenum"
-              class="padding-5"
-              ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].voiceStatus]"
-              >{{ vm.agents[value].destconnectedlinenum }}</span
-            >
-            <span
-              class="padding-5"
-              ng-if="vm.agents[value].queue || vm.agents[value].destconnectedlinenum"
-            >
-              <timer
-                start-time="vm.agents[value].voiceStatusTime"
-                interval="1000"
-                ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].voiceStatus]"
-              >
-                {{hhours}}:{{mminutes}}:{{sseconds}}</timer
-              >
+            <span ng-if="vm.agents[value].queue" class="padding-5"
+              ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].voiceStatus]">{{ vm.agents[value].queue }}</span>
+            <span ng-if="vm.agents[value].destconnectedlinenum" class="padding-5"
+              ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].voiceStatus]">{{ vm.agents[value].destconnectedlinenum }}</span>
+            <span class="padding-5" ng-if="vm.agents[value].queue || vm.agents[value].destconnectedlinenum">
+              <timer start-time="vm.agents[value].voiceStatusTime" interval="1000"
+                ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].voiceStatus]">
+                {{hhours}}:{{mminutes}}:{{sseconds}}</timer>
             </span>
           </div>
         </td>
@@ -281,177 +216,113 @@
         <td class="bt bl" ng-if="vm.license.chat">
           <div layout="row">
             <div layout="column" layout-align="center center">
-              <span
-                class="text-boxed md-background-bg bl bt padding-5"
-                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].chatStatus]"
-                >{{ vm.agents[value].chatStatus | uppercase }}</span
-              >
+              <span class="text-boxed md-background-bg bl bt padding-5"
+                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].chatStatus]">{{ vm.agents[value].chatStatus | uppercase }}</span>
             </div>
           </div>
         </td>
-        <td
-          md-number
-          class="bt text-center font-size-20"
-          ng-if="vm.license.chat"
-          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].chatStatus]"
-        >
+        <td md-number class="bt text-center font-size-20" ng-if="vm.license.chat"
+          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].chatStatus]">
           {{ vm.agents[value].chatCurrentCapacity }}
         </td>
 
         <td class="bl bt" ng-if="vm.license.mail">
           <div layout="row">
             <div layout="column" layout-align="center center">
-              <span
-                class="text-boxed md-background-bg bl bt padding-5"
-                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].mailStatus]"
-                >{{ vm.agents[value].mailStatus | uppercase }}</span
-              >
+              <span class="text-boxed md-background-bg bl bt padding-5"
+                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].mailStatus]">{{ vm.agents[value].mailStatus | uppercase }}</span>
             </div>
           </div>
         </td>
-        <td
-          class="bt padding-5 text-center font-size-20"
-          ng-if="vm.license.mail"
-          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].mailStatus]"
-        >
+        <td class="bt padding-5 text-center font-size-20" ng-if="vm.license.mail"
+          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].mailStatus]">
           {{ vm.agents[value].mailCurrentCapacity }}
         </td>
 
         <td class="bl bt" ng-if="vm.license.messaging">
           <div layout="row">
             <div layout="column" layout-align="center center">
-              <span
-                class="text-boxed md-background-bg bl bt padding-5"
-                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].smsStatus]"
-                >{{ vm.agents[value].smsStatus | uppercase }}</span
-              >
+              <span class="text-boxed md-background-bg bl bt padding-5"
+                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].smsStatus]">{{ vm.agents[value].smsStatus | uppercase }}</span>
             </div>
           </div>
         </td>
-        <td
-          class="bt padding-5 text-center font-size-20"
-          ng-if="vm.license.messaging"
-          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].smsStatus]"
-        >
+        <td class="bt padding-5 text-center font-size-20" ng-if="vm.license.messaging"
+          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].smsStatus]">
           {{ vm.agents[value].smsCurrentCapacity }}
         </td>
 
         <td class="bt bl" ng-if="vm.license.openchannel">
           <div layout="row">
             <div layout="column" layout-align="center center">
-              <span
-                class="text-boxed md-background-bg bl bt padding-5"
-                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].openchannelStatus]"
-                >{{ vm.agents[value].openchannelStatus | uppercase }}</span
-              >
+              <span class="text-boxed md-background-bg bl bt padding-5"
+                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].openchannelStatus]">{{ vm.agents[value].openchannelStatus | uppercase }}</span>
             </div>
           </div>
         </td>
-        <td
-          class="bt padding-5 text-center font-size-20"
-          ng-if="vm.license.openchannel"
-          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].openchannelStatus]"
-        >
+        <td class="bt padding-5 text-center font-size-20" ng-if="vm.license.openchannel"
+          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].openchannelStatus]">
           {{ vm.agents[value].openchannelCurrentCapacity }}
         </td>
 
         <td class="bt bl" ng-if="vm.license.fax">
           <div layout="row">
             <div layout="column" layout-align="center center">
-              <span
-                class="text-boxed md-background-bg bl bt padding-5"
-                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].faxStatus]"
-                >{{ vm.agents[value].faxStatus | uppercase }}</span
-              >
+              <span class="text-boxed md-background-bg bl bt padding-5"
+                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].faxStatus]">{{ vm.agents[value].faxStatus | uppercase }}</span>
             </div>
           </div>
         </td>
-        <td
-          class="bt padding-5 text-center font-size-20"
-          ng-if="vm.license.fax"
-          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].faxStatus]"
-        >
+        <td class="bt padding-5 text-center font-size-20" ng-if="vm.license.fax"
+          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].faxStatus]">
           {{ vm.agents[value].faxCurrentCapacity }}
         </td>
 
         <td class="bl bt" ng-if="vm.license.whatsapp">
           <div layout="row">
             <div layout="column" layout-align="center center">
-              <span
-                class="text-boxed md-background-bg bl bt padding-5"
-                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].whatsappStatus]"
-                >{{ vm.agents[value].whatsappStatus | uppercase }}</span
-              >
+              <span class="text-boxed md-background-bg bl bt padding-5"
+                ng-class="{'idle':'lime-300-bg','maxcapacity':'red-A200-bg','working':'indigo-100-bg','pause':'amber-200-bg'}[vm.agents[value].whatsappStatus]">{{ vm.agents[value].whatsappStatus | uppercase }}</span>
             </div>
           </div>
         </td>
-        <td
-          class="bt padding-5 text-center font-size-20"
-          ng-if="vm.license.whatsapp"
-          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].whatsappStatus]"
-        >
+        <td class="bt padding-5 text-center font-size-20" ng-if="vm.license.whatsapp"
+          ng-class="{'idle':'lime-300-fg','maxcapacity':'red-A200-fg','working':'indigo-100-fg','pause':'amber-200-fg'}[vm.agents[value].whatsappStatus]">
           {{ vm.agents[value].whatsappCurrentCapacity }}
         </td>
 
-        <td
-          class="bl bt padding-5 text-center"
-          ng-if="vm.crudPermissions.canEdit"
-        >
+        <td class="bl bt padding-5 text-center" ng-if="vm.crudPermissions.canEdit">
           <md-menu>
-            <md-button
-              class="md-icon-button"
-              aria-label="More"
-              translate
-              translate-attr-aria-label="STAFF.MORE"
-              ng-click="$mdMenu.open($event)"
-            >
+            <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+              ng-click="$mdMenu.open($event)">
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
             </md-button>
 
             <md-menu-content width="4">
               <md-menu-item>
-                <md-button
-                  ng-click="vm.logout(vm.agents[value], $event)"
-                  translate="WHATSAPP.LOGOUT"
-                >
+                <md-button ng-click="vm.logout(vm.agents[value], $event)" translate="APP.LOGOUT">
                   Logout
                 </md-button>
               </md-menu-item>
               <md-menu-item>
-                <md-button
-                  ng-click="vm.queueAdd(vm.agents[value], $event)"
-                  translate="WHATSAPP.AGENTADD_QUEUE"
-                >
+                <md-button ng-click="vm.queueAdd(vm.agents[value], $event)" translate="WHATSAPP.AGENTADD_QUEUE">
                   Add Agent In Queue
                 </md-button>
               </md-menu-item>
 
-              <md-menu-item
-                ng-if="vm.license.screenrecording && vm.agents[value].phoneBarEnableScreenRecordingByAgent"
-              >
+              <md-menu-item ng-if="vm.license.screenrecording && vm.agents[value].phoneBarEnableScreenRecordingByAgent">
                 <md-menu>
-                  <md-button
-                    ng-click="$mdMenu.open()"
-                    class="text-capitalize"
-                    translate="WHATSAPP.SCREENRECORDING"
-                    >Screen Recording
+                  <md-button ng-click="$mdMenu.open()" class="text-capitalize" translate="APP.SCREENRECORDING">Screen
+                    Recording
                   </md-button>
                   <md-menu-content>
                     <md-menu-item ng-if="!vm.agents[value].screenrecording">
-                      <md-button
-                        ng-click="vm.screenRecording(vm.agents[value], true)"
-                        ><em translate="WHATSAPP.START_SCREENRECORDING"
-                          >Start Screen Recording</em
-                        ></md-button
-                      >
+                      <md-button ng-click="vm.screenRecording(vm.agents[value], true)"><em
+                          translate="APP.START_SCREENRECORDING">Start Screen Recording</em></md-button>
                     </md-menu-item>
                     <md-menu-item ng-if="vm.agents[value].screenrecording">
-                      <md-button
-                        ng-click="vm.screenRecording(vm.agents[value], false)"
-                        ><em translate="WHATSAPP.STOP_SCREENRECORDING"
-                          >Stop Screen Recording</em
-                        ></md-button
-                      >
+                      <md-button ng-click="vm.screenRecording(vm.agents[value], false)"><em
+                          translate="APP.STOP_SCREENRECORDING">Stop Screen Recording</em></md-button>
                     </md-menu-item>
                   </md-menu-content>
                 </md-menu>
@@ -459,40 +330,24 @@
 
               <md-menu-item>
                 <md-menu>
-                  <md-button
-                    ng-click="$mdMenu.open()"
-                    class="text-capitalize"
-                    translate="WHATSAPP.PAUSE"
-                    >Pause</md-button
-                  >
+                  <md-button ng-click="$mdMenu.open()" class="text-capitalize" translate="APP.PAUSE">Pause</md-button>
                   <md-menu-content>
                     <md-menu-item>
                       <md-button
                         ng-disabled=" vm.agents[value].voicePause && 'DEFAULT PAUSE' === vm.agents[value].pauseType"
-                        ng-click="vm.pause(vm.agents[value])"
-                        ><em translate="WHATSAPP.DEFAULT_PAUSE"
-                          >Default Pause</em
-                        ></md-button
-                      >
+                        ng-click="vm.pause(vm.agents[value])"><em translate="APP.DEFAULT_PAUSE">Default Pause</em>
+                      </md-button>
                     </md-menu-item>
-                    <md-menu-item
-                      ng-if="vm.pauses.rows.length"
-                      ng-repeat="pause in vm.pauses.rows"
-                    >
-                      <md-button
-                        ng-disabled="vm.agents[value].voicePause && pause.name === vm.agents[value].pauseType"
-                        ng-click="vm.pause(vm.agents[value], pause.name)"
-                        >{{pause.name}}
+                    <md-menu-item ng-if="vm.pauses.rows.length" ng-repeat="pause in vm.pauses.rows">
+                      <md-button ng-disabled="vm.agents[value].voicePause && pause.name === vm.agents[value].pauseType"
+                        ng-click="vm.pause(vm.agents[value], pause.name)">{{pause.name}}
                       </md-button>
                     </md-menu-item>
                   </md-menu-content>
                 </md-menu>
               </md-menu-item>
               <md-menu-item ng-if="vm.isPause(vm.agents[value].globalStatus)">
-                <md-button
-                  ng-click="vm.unPause(vm.agents[value])"
-                  translate="WHATSAPP.UNPAUSE"
-                >
+                <md-button ng-click="vm.unPause(vm.agents[value])" translate="APP.UNPAUSE">
                   Unpause
                 </md-button>
               </md-menu-item>
@@ -505,13 +360,8 @@
 </md-table-container>
 
 <md-table-pagination
-  md-label="{page: '{{'WHATSAPP.PAGE' | translate}}:', rowsPerPage: '{{'WHATSAPP.ROWSPERPAGE' | translate}}:', of: '{{'WHATSAPP.OF' | translate}}'}"
-  md-limit="vm.query.limit"
-  md-limit-options="[10, 15, 20, 50, 100, 250]"
-  md-page="vm.query.page"
-  md-total="{{vm.filteredAgents.length}}"
-  md-on-paginate="vm.onInit"
-  md-page-select
-></md-table-pagination>
+  md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+  md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+  md-total="{{vm.filteredAgents.length}}" md-on-paginate="vm.onInit" md-page-select></md-table-pagination>
 <!-- / AGENT TABLE -->
-<!-- / MAIN -->
+<!-- / MAIN -->
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/whatsapp/views/realtime/queues/view.html/view.html b/public/src/js/modules/main/apps/whatsapp/views/realtime/queues/view.html/view.html
index bb8a928..6651b23 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/realtime/queues/view.html/view.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/realtime/queues/view.html/view.html
@@ -1,13 +1,10 @@
 <!-- MAIN -->
 <md-toolbar class="md-table-toolbar md-default">
   <div class="md-toolbar-tools">
-    <span class="md-subhead" translate="WHATSAPP.QUEUES">Queues</span>
+    <span class="md-subhead" translate="APP.QUEUES">Queues</span>
     <div flex></div>
-    <ms-search-bar
-      on-search="vm.query.filter = query;"
-      on-collapse="vm.query.filter = undefined;"
-      debounce="300"
-    ></ms-search-bar>
+    <ms-search-bar on-search="vm.query.filter = query;" on-collapse="vm.query.filter = undefined;" debounce="300">
+    </ms-search-bar>
   </div>
 </md-toolbar>
 
@@ -16,11 +13,11 @@
   <table md-table multiple md-progress="vm.promise">
     <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getQueues">
       <tr md-row>
-        <th md-column md-order-by="name">{{ 'WHATSAPP.NAME' | translate }}</th>
-        <th md-column>{{ 'WHATSAPP.LOGGED_IN' | translate }}</th>
-        <th md-column>{{ 'WHATSAPP.PAUSED' | translate }}</th>
-        <th md-column>{{ 'WHATSAPP.READY' | translate }}</th>
-        <th md-column>{{ 'WHATSAPP.WAITING' | translate }}</th>
+        <th md-column md-order-by="name">{{ 'APP.NAME' | translate }}</th>
+        <th md-column>{{ 'APP.LOGGED_IN' | translate }}</th>
+        <th md-column>{{ 'APP.PAUSED' | translate }}</th>
+        <th md-column>{{ 'APP.READY' | translate }}</th>
+        <th md-column>{{ 'APP.WAITING' | translate }}</th>
         <th md-column width="10px"></th>
       </tr>
     </thead>
@@ -28,66 +25,40 @@
       <tr md-row ng-hide="vm.queues">
         <td md-cell colspan="7">
           <div layout="row" layout-align="center center">
-            <span translate="WHATSAPP.NO_AVAILABLE_INFO"
-              >No Available Info</span
-            >
+            <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
           </div>
         </td>
       </tr>
-      <tr
-        md-row
-        md-select="vm.queues[value]"
-        md-select-id="id"
-        ng-repeat="(id, value) in vm.order"
-      >
+      <tr md-row md-select="vm.queues[value]" md-select-id="id" ng-repeat="(id, value) in vm.order">
         <td md-cell>{{vm.queues[value].name}}</td>
         <td md-cell>
-          <span class="font-size-20 grey-fg"
-            >{{vm.queues[value].loggedInDb || 0}} ({{vm.queues[value].loggedIn
-            || 0}})</span
-          >
+          <span class="font-size-20 grey-fg">{{vm.queues[value].loggedInDb || 0}} ({{vm.queues[value].loggedIn
+            || 0}})</span>
         </td>
         <td md-cell>
-          <span class="font-size-20 grey-fg"
-            >{{vm.queues[value].paused || 0}}</span
-          >
+          <span class="font-size-20 grey-fg">{{vm.queues[value].paused || 0}}</span>
         </td>
         <td md-cell>
-          <span class="font-size-16 grey-fg"
-            >{{vm.queues[value].available || 0}}</span
-          >
+          <span class="font-size-16 grey-fg">{{vm.queues[value].available || 0}}</span>
         </td>
         <td md-cell>
-          <span class="font-size-20 grey-fg"
-            >{{vm.queues[value].waiting || 0}}</span
-          >
+          <span class="font-size-20 grey-fg">{{vm.queues[value].waiting || 0}}</span>
         </td>
         <td md-cell class="actions" ng-if="vm.crudPermissions.canEdit">
           <md-menu>
-            <md-button
-              class="md-icon-button"
-              aria-label="More"
-              translate
-              translate-attr-aria-label="WHATSAPP.MORE"
-              ng-click="$mdMenu.open($event)"
-            >
+            <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+              ng-click="$mdMenu.open($event)">
               <md-icon md-font-icon="icon-dots-vertical"></md-icon>
             </md-button>
 
             <md-menu-content width="3">
               <md-menu-item>
-                <md-button
-                  ng-click="vm.createOrEditWhatsappQueue($event, vm.queues[value])"
-                  translate="WHATSAPP.EDIT_QUEUE"
-                >
+                <md-button ng-click="vm.createOrEditWhatsappQueue($event, vm.queues[value])" translate="APP.EDIT_QUEUE">
                   Edit Queue
                 </md-button>
               </md-menu-item>
               <md-menu-item>
-                <md-button
-                  ng-click="vm.agentAdd($event, vm.queues[value])"
-                  translate="WHATSAPP.AGENTSADD_QUEUE"
-                >
+                <md-button ng-click="vm.agentAdd($event, vm.queues[value])" translate="APP.AGENTSADD_QUEUE">
                   Add Agents to queue
                 </md-button>
               </md-menu-item>
@@ -100,13 +71,8 @@
 </md-table-container>
 
 <md-table-pagination
-  md-label="{page: '{{'WHATSAPP.PAGE' | translate}}:', rowsPerPage: '{{'WHATSAPP.ROWSPERPAGE' | translate}}:', of: '{{'WHATSAPP.OF' | translate}}'}"
-  md-limit="vm.query.limit"
-  md-limit-options="[10, 15, 20, 50, 100, 250]"
-  md-page="vm.query.page"
-  md-total="{{vm.count}}"
-  md-on-paginate="vm.getQueues"
-  md-page-select
-></md-table-pagination>
+  md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+  md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+  md-total="{{vm.count}}" md-on-paginate="vm.getQueues" md-page-select></md-table-pagination>
 <!-- / QUEUE TABLE -->
-<!-- / MAIN -->
+<!-- / MAIN -->
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/whatsapp/views/realtime/realtime.html/realtime.html b/public/src/js/modules/main/apps/whatsapp/views/realtime/realtime.html/realtime.html
index 5e0e90a..3aa8981 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/realtime/realtime.html/realtime.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/realtime/realtime.html/realtime.html
@@ -10,12 +10,12 @@
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.AGENTS">Agents</span>
+          <span translate="APP.AGENTS">Agents</span>
         </md-tab-label>
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.QUEUES">Queues</span>
+          <span translate="APP.QUEUES">Queues</span>
         </md-tab-label>
       </md-tab>
     </md-tabs>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/create/dialog.html/dialog.html
index 6e08573..5fcffd6 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -48,21 +48,21 @@
           ng-disabled="!vm.newWhatsappAccount"
         />
 
-        <div class="hint"><span translate="WHATSAPP.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="whatsappAccountForm['name'].$error"
           ng-show="whatsappAccountForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.KEY">key</label>
+        <label translate="APP.KEY">key</label>
         <input
           type="text"
           name="key"
@@ -77,13 +77,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >key field is required</span
             >
           </div>
           <div ng-message="md-maxlength">
             <span
-              translate="WHATSAPP.ERRORS.KEY_MAX_LENGTH"
+              translate="APP.ERRORS.KEY_MAX_LENGTH"
               translate-values="{max: 5}"
               >key must have a maximum length equal to 5</span
             >
@@ -91,30 +91,31 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.LIST">List</label>
+        <label translate="APP.LIST">List</label>
         <md-select name="ListId" ng-model="vm.whatsappAccount.ListId" required>
           <md-option
             ng-value="ListId.id"
             ng-repeat="ListId in vm.lists"
             ng-disabled="ListId.canSelect === false"
-            >{{ ListId.name }}</md-option
+          >
+            {{ ListId.name }}</md-option
         </md-select>
-        <div class="hint"><span translate="WHATSAPP.HELP.LIST"></span></div>
+        <div class="hint"><span translate="APP.HELP.LIST"></span></div>
         <div
           ng-messages="whatsappAccountForm['ListId'].$error"
           ng-show="whatsappAccountForm['ListId'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.LIST_REQUIRED"
+            <span translate="APP.ERRORS.LIST_REQUIRED"
               >List field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.MOTIONPROXY">MotionProxy</label>
+        <label translate="APP.MOTIONPROXY">MotionProxy</label>
         <input
           type="url"
           name="remote"
@@ -124,7 +125,7 @@
         />
 
         <div class="hint">
-          <span translate="WHATSAPP.HELP.MOTIONPROXY"></span>
+          <span translate="APP.HELP.MOTIONPROXY"></span>
         </div>
         <div
           ng-messages="whatsappAccountForm['remote'].$error"
@@ -132,12 +133,12 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.MOTIONPROXY_REQUIRED"
+            <span translate="APP.ERRORS.MOTIONPROXY_REQUIRED"
               >MotionProxy field is required</span
             >
           </div>
           <div ng-message="url">
-            <span translate="WHATSAPP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
+            <span translate="APP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
               >MotionProxy must be a valid url http://www.xcally.com</span
             >
           </div>
@@ -151,7 +152,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select name="type" ng-model="vm.whatsappAccount.type">
           <md-option ng-value="'twilio'">Twilio</md-option>
         </md-select>
@@ -161,7 +162,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.TYPE_REQUIRED"
+            <span translate="APP.ERRORS.TYPE_REQUIRED"
               >Type field is required</span
             >
           </div>
@@ -171,7 +172,7 @@
         ng-if="vm.whatsappAccount.type == 'twilio'"
         class="md-block"
-        <label translate="WHATSAPP.ACCOUNTSID">AccountSID</label>
+        <label translate="APP.ACCOUNTSID">AccountSID</label>
         <input
           type="text"
           name="accountSid"
@@ -185,7 +186,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.ACCOUNTSID_REQUIRED"
+            <span translate="APP.ERRORS.ACCOUNTSID_REQUIRED"
               >AccountSID field is required</span
             >
           </div>
@@ -209,14 +210,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.AUTHTOKEN_REQUIRED"
+            <span translate="APP.ERRORS.AUTHTOKEN_REQUIRED"
               >AuthToken field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.PHONE">phone</label>
+        <label translate="APP.PHONE">phone</label>
         <input
           type="text"
           name="phone"
@@ -230,14 +231,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.PHONE_REQUIRED"
+            <span translate="APP.ERRORS.PHONE_REQUIRED"
               >phone field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -292,8 +293,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountForm.$invalid || whatsappAccountForm.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -318,12 +319,10 @@
           ng-click="vm.deleteWhatsappAccount($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="WHATSAPP.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="WHATSAPP.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/agentadd/agentadd.html/agentadd.html
index 375abc4..1ec3a2d 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/agentadd/agentadd.html/agentadd.html
@@ -36,8 +36,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/agent/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/agent/dialog.html/dialog.html
index 3592731..69435b3 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/agent/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/agent/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.AGENT">Agent</label>
+        <label translate="APP.AGENT">Agent</label>
         <md-select
           name="agent"
           ng-model="vm.agent.agent"
@@ -50,7 +50,8 @@
             ng-value="agent.name"
             ng-repeat="agent in vm.agents"
             ng-disabled="agent.canSelect === false"
-            >{{ agent.name }}</md-option
+          >
+            {{ agent.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.AGENT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_REQUIRED"
               >Agent field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,20 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="WHATSAPP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span
-              translate="WHATSAPP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -138,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/amazonlex/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/amazonlex/dialog.html/dialog.html
index 9d2a9f8..cd2e109 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/amazonlex/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/amazonlex/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.ACCESSKEYID">accesskeyid</label>
+        <label translate="APP.ACCESSKEYID">accesskeyid</label>
         <input
           type="text"
           name="accesskeyid"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.ACCESSKEYID_REQUIRED"
+            <span translate="APP.ERRORS.ACCESSKEYID_REQUIRED"
               >accesskeyid field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.SECRETACCESSKEY">secretaccesskey</label>
+        <label translate="APP.SECRETACCESSKEY">secretaccesskey</label>
         <input
           type="text"
           name="secretaccesskey"
@@ -76,14 +76,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.SECRETACCESSKEY_REQUIRED"
+            <span translate="APP.ERRORS.SECRETACCESSKEY_REQUIRED"
               >secretaccesskey field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.LEXREGION">lexregion</label>
+        <label translate="APP.LEXREGION">lexregion</label>
         <md-select
           name="lexregion"
           ng-model="vm.amazonlex.lexregion"
@@ -110,7 +110,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.BOTNAME">botname</label>
+        <label translate="APP.BOTNAME">botname</label>
         <input
           type="text"
           name="botname"
@@ -125,21 +125,21 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.BOTNAME_REQUIRED"
+            <span translate="APP.ERRORS.BOTNAME_REQUIRED"
               >botname field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.WELCOMEMESSAGE">welcomemessage</label>
+        <label translate="APP.WELCOMEMESSAGE">welcomemessage</label>
         <textarea
           name="welcomemessage"
           ng-model="vm.amazonlex.welcomemessage"
           md-maxlength="255"
         ></textarea>
         <div class="hint">
-          <span translate="WHATSAPP.HELP.WELCOMEMESSAGE"></span>
+          <span translate="APP.HELP.WELCOMEMESSAGE"></span>
         </div>
 
         <div
@@ -197,8 +197,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/autoreply/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/autoreply/dialog.html/dialog.html
index 3afc0ed..60e8147 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/autoreply/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/autoreply/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.TIMES">times</label>
+        <label translate="APP.TIMES">times</label>
         <md-select
           name="times"
           ng-model="vm.autoreply.times"
@@ -62,7 +62,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.TEXT">Text</label>
+        <label translate="APP.TEXT">Text</label>
         <textarea name="text" ng-model="vm.autoreply.text" required></textarea>
 
         <div
@@ -71,7 +71,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.TEXT_REQUIRED"
+            <span translate="APP.ERRORS.TEXT_REQUIRED"
               >Text field is required</span
             >
           </div>
@@ -112,8 +112,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/close/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/close/dialog.html/dialog.html
index d9a6df8..d972a76 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/close/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/close/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.DISPOSITION">Disposition</label>
+        <label translate="APP.DISPOSITION">Disposition</label>
         <input
           type="text"
           name="disposition"
@@ -54,7 +54,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.DISPOSITION_REQUIRED"
+            <span translate="APP.ERRORS.DISPOSITION_REQUIRED"
               >Disposition field is required</span
             >
           </div>
@@ -95,8 +95,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/dialogflow/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/dialogflow/dialog.html/dialog.html
index 21bd65c..556795e 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/dialogflow/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/dialogflow/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type="text"
           name="key"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.LANGUAGE">language</label>
+        <label translate="APP.LANGUAGE">language</label>
         <md-select
           name="language"
           ng-model="vm.dialogflow.language"
@@ -102,14 +102,14 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.WELCOMEMESSAGE">welcomemessage</label>
+        <label translate="APP.WELCOMEMESSAGE">welcomemessage</label>
         <textarea
           name="welcomemessage"
           ng-model="vm.dialogflow.welcomemessage"
           md-maxlength="255"
         ></textarea>
         <div class="hint">
-          <span translate="WHATSAPP.HELP.WELCOMEMESSAGE"></span>
+          <span translate="APP.HELP.WELCOMEMESSAGE"></span>
         </div>
 
         <div
@@ -167,8 +167,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotoif/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotoif/dialog.html/dialog.html
index 3cc83cd..d3190e5 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotoif/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotoif/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.CONDITION">Condition</label>
+        <label translate="APP.CONDITION">Condition</label>
         <input
           type="text"
           name="condition"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.CONDITION_REQUIRED"
+            <span translate="APP.ERRORS.CONDITION_REQUIRED"
               >Condition field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.TRUEPRIORITY">truepriority</label>
+        <label translate="APP.TRUEPRIORITY">truepriority</label>
         <input
           type="number"
           name="truepriority"
@@ -77,13 +77,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.TRUEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.TRUEPRIORITY_REQUIRED"
               >truepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="WHATSAPP.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >truepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -91,7 +91,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.FALSEPRIORITY">falsepriority</label>
+        <label translate="APP.FALSEPRIORITY">falsepriority</label>
         <input
           type="number"
           name="falsepriority"
@@ -107,13 +107,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.FALSEPRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.FALSEPRIORITY_REQUIRED"
               >falsepriority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="WHATSAPP.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >falsepriority must be a valid greater or equal than</span
             >
             <span>1</span>
@@ -155,8 +155,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotop/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotop/dialog.html/dialog.html
index 996f04b..29a5df7 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/gotop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.PRIORITY">Priority</label>
+        <label translate="APP.PRIORITY">Priority</label>
         <input
           type="number"
           name="priority"
@@ -55,13 +55,13 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.PRIORITY_REQUIRED"
+            <span translate="APP.ERRORS.PRIORITY_REQUIRED"
               >Priority field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="WHATSAPP.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Priority must be a valid greater or equal than</span
             >
             <span>0</span>
@@ -103,8 +103,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/interval/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/interval/dialog.html/dialog.html
index ca0ed91..55df7f9 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/interval/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/interval/dialog.html/dialog.html
@@ -39,7 +39,7 @@
       </div>
 
       <md-input-container class="md-block">
-        <label translate="TOOLS.TYPE">Type</label>
+        <label translate="APP.TYPE">Type</label>
         <md-select
           ng-model="vm.type"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -51,7 +51,7 @@
       </md-input-container>
 
       <md-input-container class="md-block" ng-if="vm.type === 'list'">
-        <label translate="TOOLS.INTERVALS">Intervals</label>
+        <label translate="APP.INTERVALS">Intervals</label>
         <md-select
           ng-model="vm.interval.IntervalId"
           ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
@@ -126,13 +126,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.dayOfWeekFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="day.value" ng-repeat="day in vm.daysOfWeek"
               ><span translate="TOOLS.{{day.value | uppercase}}"
@@ -143,7 +143,7 @@
         </md-input-container>
 
         <md-input-container flex class="md-block" ng-if="vm.dayOfWeekFrom">
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="dayOfWeekTo"
             ng-model="vm.dayOfWeekTo"
@@ -170,13 +170,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthDayFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month" ng-repeat="month in vm.daysOfMonth"
               >{{ month }}</md-option
@@ -190,7 +190,7 @@
           class="md-block"
           ng-if="vm.monthDayFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthDayTo"
             ng-model="vm.monthDayTo"
@@ -215,13 +215,13 @@
       <div layout="row" ng-if="vm.type === 'custom'">
         <md-input-container flex layout="column" class="md-block">
-          <label translate="TOOLS.FROM">From</label>
+          <label translate="APP.FROM">From</label>
           <md-select
             ng-model="vm.monthFrom"
             ng-disabled="!vm.newInterval && !vm.crudPermissions.canEdit"
             <md-option ng-value="null"
-              ><span translate="TOOLS.ALWAYS">Always</span></md-option
+              ><span translate="APP.ALWAYS">Always</span></md-option
             <md-option ng-value="month.value" ng-repeat="month in vm.monthName"
               ><span translate="TOOLS.{{month.value | uppercase}}"
@@ -237,7 +237,7 @@
           class="md-block"
           ng-if="vm.monthFrom"
-          <label translate="TOOLS.TO">To</label>
+          <label translate="APP.TO">To</label>
           <md-select
             name="monthTo"
             ng-model="vm.monthTo"
@@ -289,8 +289,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="intervalForm.$invalid || intervalForm.$pristine"
           aria-label="SAVE"
-          translate="TOOLS.SAVE"
-          translate-attr-aria-label="TOOLS.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/noop/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/noop/dialog.html/dialog.html
index e85b7e2..fef4381 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/noop/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/noop/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <input
           type="text"
           name="value"
@@ -53,7 +53,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
@@ -94,8 +94,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/queue/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/queue/dialog.html/dialog.html
index ce8ab15..afe7d13 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/queue/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/queue/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.QUEUE">Queue</label>
+        <label translate="APP.QUEUE">Queue</label>
         <md-select
           name="queue"
           ng-model="vm.queue.queue"
@@ -50,7 +50,8 @@
             ng-value="queue.name"
             ng-repeat="queue in vm.queues"
             ng-disabled="queue.canSelect === false"
-            >{{ queue.name }}</md-option
+          >
+            {{ queue.name }}</md-option
         </md-select>
         <div
@@ -59,14 +60,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.QUEUE_REQUIRED"
+            <span translate="APP.ERRORS.QUEUE_REQUIRED"
               >Queue field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.TIMEOUT">Timeout</label>
+        <label translate="APP.TIMEOUT">Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -83,20 +84,19 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.TIMEOUT_REQUIRED"
               >Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="WHATSAPP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>0</span>
           </div>
           <div ng-message="max">
-            <span
-              translate="WHATSAPP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+            <span translate="APP.ERRORS.TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -138,8 +138,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/system/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/system/dialog.html/dialog.html
index 746c063..4c9bf1b 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/system/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/system/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.COMMAND">Command</label>
+        <label translate="APP.COMMAND">Command</label>
         <input
           type="text"
           name="command"
@@ -54,14 +54,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.COMMAND_REQUIRED"
+            <span translate="APP.ERRORS.COMMAND_REQUIRED"
               >Command field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.VARIABLE">Variable</label>
+        <label translate="APP.VARIABLE">Variable</label>
         <md-select
           name="variable"
           ng-model="vm.system.variable"
@@ -122,8 +122,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/tag/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/tag/dialog.html/dialog.html
index 273f667..cbc7110 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/tag/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/apps/tag/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.TAG">Tag</label>
+        <label translate="APP.TAG">Tag</label>
         <md-select
           name="tag"
           ng-model="vm.tag.tag"
@@ -50,8 +50,8 @@
             ng-value="tag.name"
             ng-repeat="tag in vm.tags"
             ng-disabled="tag.canSelect === false"
-            >{{ tag.name }}</md-option
-          >
+            >{{ tag.name }}
+          </md-option>
         </md-select>
         <div
           ng-messages="whatsappAccountFormApp['tag'].$error"
@@ -59,7 +59,7 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.TAG_REQUIRED"
+            <span translate="APP.ERRORS.TAG_REQUIRED"
               >Tag field is required</span
             >
           </div>
@@ -100,8 +100,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappAccountFormApp.$invalid || whatsappAccountFormApp.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/view.html/view.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/view.html/view.html
index 9f846d4..5fe080a 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/view.html/view.html
@@ -29,7 +29,7 @@
           </div>
           <div class="subtitle secondary-text">
-            <span translate="WHATSAPP.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.whatsappAccount.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -55,8 +55,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid) || (notificationForm.$invalid) || (transferForm.$invalid) || (proxyForm.$invalid) || (dispositionForm.$invalid) || (whatsappDispositionsForm.$invalid) || (whatsappCannedAnswersForm.$invalid) || (actionsForm.$invalid) || (interactionsForm.$invalid)"
-        translate="WHATSAPP.SAVE"
-        translate-attr-aria-label="WHATSAPP.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -75,20 +75,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="whatsappAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="WHATSAPP.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -99,7 +99,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="WHATSAPP.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -107,14 +107,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.KEY">key</label>
+                <label translate="APP.KEY">key</label>
                 <input
                   type="text"
                   name="key"
@@ -130,13 +130,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.KEY_REQUIRED"
+                    <span translate="APP.ERRORS.KEY_REQUIRED"
                       >key field is required</span
                     >
                   </div>
                   <div ng-message="md-maxlength">
                     <span
-                      translate="WHATSAPP.ERRORS.KEY_MAX_LENGTH"
+                      translate="APP.ERRORS.KEY_MAX_LENGTH"
                       translate-values="{max: 5}"
                       >key must have a maximum length equal to 5</span
                     >
@@ -144,7 +144,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.LIST">List</label>
+                <label translate="APP.LIST">List</label>
                 <md-select
                   name="ListId"
                   ng-model="vm.whatsappAccount.ListId"
@@ -159,7 +159,7 @@
                 </md-select>
                 <div class="hint">
-                  <span translate="WHATSAPP.HELP.LIST"></span>
+                  <span translate="APP.HELP.LIST"></span>
                 </div>
                 <div
                   ng-messages="generalForm['ListId'].$error"
@@ -167,7 +167,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.LIST_REQUIRED"
+                    <span translate="APP.ERRORS.LIST_REQUIRED"
                       >List field is required</span
                     >
                   </div>
@@ -177,7 +177,7 @@
                 ng-if="vm.whatsappAccount.type == 'twilio'"
                 class="md-block"
-                <label translate="WHATSAPP.ACCOUNTSID">AccountSID</label>
+                <label translate="APP.ACCOUNTSID">AccountSID</label>
                 <input
                   type="text"
                   name="accountSid"
@@ -192,7 +192,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.ACCOUNTSID_REQUIRED"
+                    <span translate="APP.ERRORS.ACCOUNTSID_REQUIRED"
                       >AccountSID field is required</span
                     >
                   </div>
@@ -217,14 +217,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.AUTHTOKEN_REQUIRED"
+                    <span translate="APP.ERRORS.AUTHTOKEN_REQUIRED"
                       >AuthToken field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.PHONE">phone</label>
+                <label translate="APP.PHONE">phone</label>
                 <input
                   type="text"
                   name="phone"
@@ -239,14 +239,14 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.PHONE_REQUIRED"
+                    <span translate="APP.ERRORS.PHONE_REQUIRED"
                       >phone field is required</span
                     >
                   </div>
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.RECEIVEURL">receiveUrl</label>
+                <label translate="APP.RECEIVEURL">receiveUrl</label>
                 <div layout="row" layout-align="center center">
                   <button
                     class="md-button md-fab md-mini md-primary"
@@ -274,7 +274,7 @@
                 ng-if="vm.whatsappAccount.type == 'twillo'"
                 class="md-block"
-                <label translate="WHATSAPP.DELIVERYREPORTURL"
+                <label translate="APP.DELIVERYREPORTURL"
                   >deliveryReportUrl</label
                 <div layout="row" layout-align="center center">
@@ -301,7 +301,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.WAITFORTHEASSIGNEDAGENT"
+                <label translate="APP.WAITFORTHEASSIGNEDAGENT"
                   >WaitForTheAssignedAgent</label
                 >
                 <input
@@ -321,13 +321,13 @@
                   <div ng-message="required">
                     <span
-                      translate="WHATSAPP.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
                       >WaitForTheAssignedAgent field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="WHATSAPP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -335,7 +335,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="WHATSAPP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >WaitForTheAssignedAgent must be a valid greater or equal
                       than</span
@@ -344,7 +344,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
@@ -370,7 +370,7 @@
             class="whatsappAccount-detail-form-container notification md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="WHATSAPP.NOTIFICATION">
+              <div class="h2 secondary-text" translate="APP.NOTIFICATION">
                 NOTIFICATION
               </div>
             </div>
@@ -380,7 +380,7 @@
                   ng-model="vm.whatsappAccount.notificationShake"
                   aria-label="notificationShake"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="WHATSAPP.NOTIFICATIONSHAKE"
+                  ><span translate="APP.NOTIFICATIONSHAKE"
                     >notificationShake</span
                   ></md-switch
@@ -390,7 +390,7 @@
                   ng-model="vm.whatsappAccount.notificationSound"
                   aria-label="notificationSound"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="WHATSAPP.NOTIFICATIONSOUND"
+                  ><span translate="APP.NOTIFICATIONSOUND"
                     >notificationSound</span
                   ></md-switch
@@ -398,7 +398,7 @@
               <div class="md-block">
                 <label
                   class="md-caption grey-fg"
-                  translate="WHATSAPP.NOTIFICATIONTEMPLATE"
+                  translate="APP.NOTIFICATIONTEMPLATE"
                   >notificationTemplate</label
                 >
                 <textarea
@@ -413,7 +413,7 @@
             class="whatsappAccount-detail-form-container transfer md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="WHATSAPP.TRANSFER">
+              <div class="h2 secondary-text" translate="APP.TRANSFER">
                 TRANSFER
               </div>
             </div>
@@ -423,16 +423,14 @@
                   ng-model="vm.whatsappAccount.queueTransfer"
                   aria-label="queueTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="WHATSAPP.QUEUETRANSFER"
-                    >queueTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.QUEUETRANSFER">queueTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.whatsappAccount.queueTransfer == true"
                 class="md-block"
-                <label translate="WHATSAPP.QUEUETRANSFERTIMEOUT"
+                <label translate="APP.QUEUETRANSFERTIMEOUT"
                   >queueTransferTimeout</label
                 >
                 <input
@@ -451,14 +449,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span
-                      translate="WHATSAPP.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
                       >queueTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="WHATSAPP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -466,7 +463,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="WHATSAPP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >queueTransferTimeout must be a valid greater or equal
                       than</span
@@ -479,16 +476,14 @@
                   ng-model="vm.whatsappAccount.agentTransfer"
                   aria-label="agentTransfer"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="WHATSAPP.AGENTTRANSFER"
-                    >agentTransfer</span
-                  ></md-switch
-                >
+                  ><span translate="APP.AGENTTRANSFER">agentTransfer</span>
+                </md-switch>
               </md-input-container>
               <md-input-container
                 ng-if="vm.whatsappAccount.agentTransfer == true"
                 class="md-block"
-                <label translate="WHATSAPP.AGENTTRANSFERTIMEOUT"
+                <label translate="APP.AGENTTRANSFERTIMEOUT"
                   >agentTransferTimeout</label
                 >
                 <input
@@ -507,14 +502,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span
-                      translate="WHATSAPP.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
                       >agentTransferTimeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="WHATSAPP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -522,7 +516,7 @@
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="WHATSAPP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >agentTransferTimeout must be a valid greater or equal
                       than</span
@@ -536,20 +530,18 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.ADVANCED">ADVANCED</span>
+          <span translate="APP.ADVANCED">ADVANCED</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="whatsappAccount-detail-form-container proxy md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="WHATSAPP.PROXY">
-                PROXY
-              </div>
+              <div class="h2 secondary-text" translate="APP.PROXY">PROXY</div>
             </div>
             <form name="proxyForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.MOTIONPROXY">MotionProxy</label>
+                <label translate="APP.MOTIONPROXY">MotionProxy</label>
                 <input
                   type="url"
                   name="remote"
@@ -561,7 +553,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="WHATSAPP.HELP.MOTIONPROXY"></span>
+                  <span translate="APP.HELP.MOTIONPROXY"></span>
                 </div>
                 <div
                   ng-messages="proxyForm['remote'].$error"
@@ -569,12 +561,12 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.MOTIONPROXY_REQUIRED"
+                    <span translate="APP.ERRORS.MOTIONPROXY_REQUIRED"
                       >MotionProxy field is required</span
                     >
                   </div>
                   <div ng-message="url">
-                    <span translate="WHATSAPP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
+                    <span translate="APP.ERRORS.MOTIONPROXY_MUST_VALID_URL"
                       >MotionProxy must be a valid url
                       http://www.xcally.com</span
@@ -589,7 +581,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.TOKEN">token</label>
+                <label translate="APP.TOKEN">token</label>
                 <input
                   type="text"
                   name="token"
@@ -603,7 +595,7 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.TOKEN_REQUIRED"
+                    <span translate="APP.ERRORS.TOKEN_REQUIRED"
                       >token field is required</span
                     >
                   </div>
@@ -615,7 +607,7 @@
             class="whatsappAccount-detail-form-container disposition md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="WHATSAPP.DISPOSITION">
+              <div class="h2 secondary-text" translate="APP.DISPOSITION">
                 DISPOSITION
               </div>
             </div>
@@ -625,7 +617,7 @@
                   ng-model="vm.whatsappAccount.mandatoryDisposition"
                   aria-label="MandatoryDisposition"
                   ng-disabled="!vm.crudPermissions.canEdit"
-                  ><span translate="WHATSAPP.MANDATORYDISPOSITION"
+                  ><span translate="APP.MANDATORYDISPOSITION"
                     >MandatoryDisposition</span
                   ></md-switch
                 >
@@ -634,7 +626,7 @@
                 ng-if="vm.whatsappAccount.mandatoryDisposition"
                 class="md-block"
-                <label translate="WHATSAPP.MANDATORYDISPOSITIONPAUSEID"
+                <label translate="APP.MANDATORYDISPOSITIONPAUSEID"
                   >MandatoryDispositionPauseId</label
                 >
                 <md-select
@@ -647,13 +639,11 @@
                     ng-value="mandatoryDispositionPauseId.id"
                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
-                    >{{ mandatoryDispositionPauseId.name }}</md-option
-                  >
+                    >{{ mandatoryDispositionPauseId.name }}
+                  </md-option>
                 </md-select>
                 <div class="hint">
-                  <span
-                    translate="WHATSAPP.HELP.MANDATORYDISPOSITIONPAUSEID"
-                  ></span>
+                  <span translate="APP.HELP.MANDATORYDISPOSITIONPAUSEID"></span>
                 </div>
                 <div
                   ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
@@ -662,7 +652,7 @@
                   <div ng-message="required">
                     <span
-                      translate="WHATSAPP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
+                      translate="APP.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
                       >MandatoryDispositionPauseId field is required</span
                     >
                   </div>
@@ -674,7 +664,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.DISPOSITIONS">DISPOSITIONS</span>
+          <span translate="APP.DISPOSITIONS">DISPOSITIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -711,7 +701,7 @@
                         ng-change="vm_dc.getDispositions()"
                         <md-option ng-value="null"
-                          ><em translate="TOOLS.ALL">All</em></md-option
+                          ><em translate="APP.ALL">All</em></md-option
                         <md-option
                           ng-value="key"
@@ -732,7 +722,7 @@
                   ng-hide="vm_dc.selectedWhatsappAccountDispositions.length"
                   <div class="md-toolbar-tools">
-                    <span class="md-subhead" translate="WHATSAPP.DISPOSITIONS"
+                    <span class="md-subhead" translate="APP.DISPOSITIONS"
                       >Dispositions</span
                     <ms-search-bar
@@ -779,7 +769,7 @@
                       ng-click="vm_dc.deleteSelectedDispositions($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="WHATSAPP.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -800,16 +790,16 @@
                       <tr md-row>
                         <th md-column md-order-by="id">
-                          {{ 'WHATSAPP.ID' | translate }}
+                          {{ 'APP.ID' | translate }}
                         </th>
                         <th md-column md-order-by="level">
                           {{ 'TOOLS.LEVEL' | translate }}
                         </th>
                         <th md-column md-order-by="name">
-                          {{ 'WHATSAPP.NAME' | translate }}
+                          {{ 'APP.NAME' | translate }}
                         </th>
                         <th md-column md-order-by="description">
-                          {{ 'WHATSAPP.DESCRIPTION' | translate }}
+                          {{ 'APP.DESCRIPTION' | translate }}
                         </th>
                         <th md-column width="10px"></th>
                       </tr>
@@ -818,7 +808,7 @@
                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
                         <td md-cell colspan="5">
                           <div layout="row" layout-align="center center">
-                            <span translate="WHATSAPP.NO_AVAILABLE_INFO"
+                            <span translate="APP.NO_AVAILABLE_INFO"
                               >No Available Info</span
                           </div>
@@ -868,7 +858,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="WHATSAPP.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -908,7 +898,7 @@
                   </table>
                 </md-table-container>
                 <md-table-pagination
-                  md-label="{page: '{{'WHATSAPP.PAGE' | translate}}:', rowsPerPage: '{{'WHATSAPP.ROWSPERPAGE' | translate}}:', of: '{{'WHATSAPP.OF' | translate}}'}"
+                  md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
                   md-limit="vm_dc.query.limit"
                   md-limit-options="[10, 15, 20, 50, 100, 250]"
                   md-page="vm_dc.query.page"
@@ -924,7 +914,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.CANNEDANSWERS">CANNEDANSWERS</span>
+          <span translate="APP.CANNEDANSWERS">CANNEDANSWERS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -988,7 +978,7 @@
                     ng-click="vm_dc.deleteSelectedWhatsappAccountWhatsappCannedAnswers($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="WHATSAPP.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1009,19 +999,19 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'WHATSAPP.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column md-order-by="key">
-                        {{ 'WHATSAPP.KEY' | translate }}
+                        {{ 'APP.KEY' | translate }}
                       </th>
                       <th md-column md-order-by="value">
-                        {{ 'WHATSAPP.VALUE' | translate }}
+                        {{ 'APP.VALUE' | translate }}
                       </th>
                       <th md-column md-order-by="description">
-                        {{ 'WHATSAPP.DESCRIPTION' | translate }}
+                        {{ 'APP.DESCRIPTION' | translate }}
                       </th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'WHATSAPP.CREATED_AT' | translate }}
+                        {{ 'APP.CREATED_AT' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1073,7 +1063,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="WHATSAPP.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1122,7 +1112,7 @@
                 </table>
               </md-table-container>
               <md-table-pagination
-                md-label="{page: '{{'WHATSAPP.PAGE' | translate}}:', rowsPerPage: '{{'WHATSAPP.ROWSPERPAGE' | translate}}:', of: '{{'WHATSAPP.OF' | translate}}'}"
+                md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
                 md-limit="vm_dc.query.limit"
                 md-limit-options="[10, 15, 20, 50, 100, 250]"
                 md-page="vm_dc.query.page"
@@ -1136,7 +1126,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.ACTIONS">ACTIONS</span>
+          <span translate="APP.ACTIONS">ACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1220,7 +1210,7 @@
                       ng-click="vm_ac.deleteSelectedWhatsappAccountApps($event)"
                       aria-label="delete selected"
                       translate
-                      translate-attr-label="WHATSAPP.DELETE_SELECTED"
+                      translate-attr-label="APP.DELETE_SELECTED"
                       <md-icon md-font-icon="icon-delete"></md-icon>
                     </md-button>
@@ -1239,7 +1229,7 @@
                       <tr md-row>
                         <th md-column width="10px"></th>
                         <th md-column width="10px">
-                          <span translate="VOICE.PRIORITY">Priority</span>
+                          <span translate="APP.PRIORITY">Priority</span>
                         </th>
                         <th md-column>
                           <span>Type</span>
@@ -1320,7 +1310,7 @@
                               class="md-icon-button"
                               aria-label="More"
                               translate
-                              translate-attr-aria-label="VOICE.MORE"
+                              translate-attr-aria-label="APP.MORE"
                               ng-click="$mdMenu.open($event)"
                               <md-icon
@@ -1334,7 +1324,7 @@
                                 <md-button
                                   ng-click="vm_ac.editWhatsappAccountApp($event, $index)"
-                                  translate="VOICE.EDIT_APP"
+                                  translate="APP.EDIT_APP"
                                   Edit App
                                 </md-button>
@@ -1344,7 +1334,7 @@
                                 <md-button
                                   ng-click="vm_ac.editInterval($event, $index)"
-                                  translate="VOICE.EDIT_INTERVAL"
+                                  translate="APP.EDIT_INTERVAL"
                                   Edit Interval
                                 </md-button>
@@ -1354,7 +1344,7 @@
                                 <md-button
                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
-                                  translate="VOICE.DELETE_APP"
+                                  translate="APP.DELETE_APP"
                                   Delete App
                                 </md-button>
@@ -1370,7 +1360,7 @@
                         <td md-cell colspan="7">
                           <span
                             class="text-boxed-light"
-                            translate="VOICE.NO_APPS_AVAILABLE"
+                            translate="APP.NO_APPS_AVAILABLE"
                             >No apps available</span
                         </td>
@@ -1391,7 +1381,7 @@
       </md-tab>
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.INTERACTIONS">INTERACTIONS</span>
+          <span translate="APP.INTERACTIONS">INTERACTIONS</span>
         </md-tab-label>
         <md-tab-body>
           <div
@@ -1406,7 +1396,7 @@
                 ng-hide="vm_dc.selectedWhatsappAccountInteractions.length"
                 <div class="md-toolbar-tools">
-                  <span class="md-subhead" translate="WHATSAPP.INTERACTIONS"
+                  <span class="md-subhead" translate="APP.INTERACTIONS"
                     >Interactions</span
                   <ms-search-bar
@@ -1427,7 +1417,7 @@
                       ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
                       aria-label="Filter"
                       translate
-                      translate-attr-aria-label="DASHBOARDS.FILTER"
+                      translate-attr-aria-label="APP.FILTER"
                       ng-click="vm_dc.openAdvancedSearch()"
                       <md-icon
@@ -1441,7 +1431,7 @@
                     ng-click="vm_dc.getWhatsappAccountInteractions()"
                     aria-label="refresh Interactions"
                     translate
-                    translate-attr-label="WHATSAPP.REFRESH_INTERACTIONS"
+                    translate-attr-label="APP.REFRESH_INTERACTIONS"
                     <md-icon md-font-icon="icon-refresh"></md-icon>
                   </md-button>
@@ -1472,7 +1462,7 @@
                     ng-click="vm_dc.deleteSelectedWhatsappAccountInteractions($event)"
                     aria-label="delete selected"
                     translate
-                    translate-attr-label="WHATSAPP.DELETE_SELECTED"
+                    translate-attr-label="APP.DELETE_SELECTED"
                     <md-icon md-font-icon="icon-delete"></md-icon>
                   </md-button>
@@ -1493,26 +1483,26 @@
                     <tr md-row>
                       <th md-column md-order-by="id">
-                        {{ 'WHATSAPP.ID' | translate }}
+                        {{ 'APP.ID' | translate }}
                       </th>
                       <th md-column class="no-padding">
                         <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
                       </th>
                       <th md-column class="no-padding"></th>
                       <th md-column class="no-padding"></th>
-                      <th md-column>{{ 'WHATSAPP.CONTACT' | translate }}</th>
+                      <th md-column>{{ 'APP.CONTACT' | translate }}</th>
                       <th md-column md-order-by="createdAt">
-                        {{ 'WHATSAPP.STARTEDAT' | translate }}
+                        {{ 'APP.STARTEDAT' | translate }}
                       </th>
                       <th md-column md-order-by="lastMsgAt">
-                        {{ 'WHATSAPP.LASTMESSAGE' | translate }}
+                        {{ 'APP.LASTMESSAGE' | translate }}
                       </th>
                       <th md-column md-order-by="closed">
-                        {{ 'WHATSAPP.STATUS' | translate }}
+                        {{ 'APP.STATUS' | translate }}
                       </th>
-                      <th md-column>{{ 'WHATSAPP.AGENT' | translate }}</th>
+                      <th md-column>{{ 'APP.AGENT' | translate }}</th>
                       <th md-column md-order-by="tag">
-                        {{ 'WHATSAPP.TAGS' | translate }}
+                        {{ 'APP.TAGS' | translate }}
                       </th>
                       <th md-column width="10px"></th>
                     </tr>
@@ -1585,7 +1575,8 @@
                           <span>
                             <md-icon
                               md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
-                            ></md-icon>
+                            >
+                            </md-icon>
                           </span>
                           <div layout="column" layout-align="center center">
                             <span class="text-truncate"
@@ -1596,13 +1587,13 @@
                       </td>
                       <td md-cell>
                         <span ng-if="interaction.closed === 0" class="green-fg">
-                          {{ 'WHATSAPP.OPENED' | translate }}
+                          {{ 'APP.OPENED' | translate }}
                           <span ng-if="interaction.substatus">
                             - {{ interaction.substatus }}
                           </span>
                         </span>
                         <span ng-if="interaction.closed === 1" class="red-fg">
-                          {{ 'WHATSAPP.CLOSED' | translate }}
+                          {{ 'APP.CLOSED' | translate }}
                           <span ng-if="interaction.disposition">
                             - {{ interaction.thirdDisposition ||
                             interaction.secondDisposition ||
@@ -1681,7 +1672,7 @@
                             class="md-icon-button"
                             aria-label="More"
                             translate
-                            translate-attr-aria-label="WHATSAPP.MORE"
+                            translate-attr-aria-label="APP.MORE"
                             ng-click="$mdMenu.open($event)"
                             <md-icon
@@ -1693,7 +1684,7 @@
                             <md-menu-item>
                               <md-button
                                 ng-click="vm_dc.spywhatsappInteraction($event, interaction)"
-                                translate="WHATSAPP.SPYINTERACTION"
+                                translate="APP.SPYINTERACTION"
                                 Spy Interaction
                               </md-button>
@@ -1702,7 +1693,7 @@
                               <md-button
                                 class="md-primary"
                                 ng-click="vm_dc.whatsappInteractionDownload(interaction, $event)"
-                                translate="WHATSAPP.DOWNLOAD_INTERACTION"
+                                translate="APP.DOWNLOAD_INTERACTION"
                                 Download
                               </md-button>
@@ -1712,7 +1703,7 @@
                               <md-button
                                 ng-click="vm_dc.deleteConfirm(interaction, $event)"
-                                translate="WHATSAPP.DELETE_INTERACTION"
+                                translate="APP.DELETE_INTERACTION"
                                 Delete Interaction
                               </md-button>
@@ -1729,7 +1720,7 @@
                         <div layout="row" layout-align="center center">
                           <span
                             class="text-boxed-light"
-                            translate="WHATSAPP.NO_INTERACTION_AVAILABLE"
+                            translate="APP.NO_INTERACTION_AVAILABLE"
                             >No interaction available</span
                           >
                         </div>
@@ -1739,7 +1730,7 @@
                 </table>
               </md-table-container>
               <md-table-pagination
-                md-label="{page: '{{'WHATSAPP.PAGE' | translate}}:', rowsPerPage: '{{'WHATSAPP.ROWSPERPAGE' | translate}}:', of: '{{'WHATSAPP.OF' | translate}}'}"
+                md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
                 md-limit="vm_dc.query.limit"
                 md-limit-options="[10, 15, 20, 50, 100, 250]"
                 md-page="vm_dc.query.page"
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/whatsappCannedAnswers/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/whatsappCannedAnswers/dialog.html/dialog.html
index 1683531..e9e9de1 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/whatsappCannedAnswers/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/edit/whatsappCannedAnswers/dialog.html/dialog.html
@@ -41,7 +41,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.KEY">Key</label>
+        <label translate="APP.KEY">Key</label>
         <input
           type=""
           name="key"
@@ -57,14 +57,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.KEY_REQUIRED"
+            <span translate="APP.ERRORS.KEY_REQUIRED"
               >Key field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.VALUE">Value</label>
+        <label translate="APP.VALUE">Value</label>
         <textarea
           name="value"
           ng-model="vm.whatsappCannedAnswer.value"
@@ -77,14 +77,14 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.VALUE_REQUIRED"
+            <span translate="APP.ERRORS.VALUE_REQUIRED"
               >Value field is required</span
             >
           </div>
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -139,8 +139,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappCannedAnswerForm.$invalid || whatsappCannedAnswerForm.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -165,12 +165,10 @@
           ng-click="vm.deleteWhatsappCannedAnswer($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="WHATSAPP.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="WHATSAPP.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/whatsappAccounts.html/whatsappAccounts.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/whatsappAccounts.html/whatsappAccounts.html
index 3211cb2..0f3e9fd 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/whatsappAccounts.html/whatsappAccounts.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappAccounts/whatsappAccounts.html/whatsappAccounts.html
@@ -1,46 +1,26 @@
-<div
-  id="whatsappAccounts"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="whatsappAccounts" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
         <span class="logo-icon">
           <md-icon md-font-icon="icon-whatsapp" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="WHATSAPP.WHATSAPPACCOUNTS"
-          >WhatsappAccounts</span
-        >
+        <span class="logo-text" translate="WHATSAPP.WHATSAPPACCOUNTS">WhatsappAccounts</span>
       </div>
     </div>
     <!-- / APP TITLE -->
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="WHATSAPP.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -49,19 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedWhatsappAccounts.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
-    <div
-      class="close-button-wrapper"
-      ng-click="vm.selectedWhatsappAccounts =[]"
-    >
+  <div ng-show="vm.selectedWhatsappAccounts.length > 0" class="selected-bar header animate-slide-down md-accent-bg"
+    layout="row" layout-align="start center">
+    <div class="close-button-wrapper" ng-click="vm.selectedWhatsappAccounts =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="WHATSAPP.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -69,33 +42,22 @@
       <div>
         <span class="selected-whatsappAccounts-count">
           <span>{{vm.selectedWhatsappAccounts.length}}</span>
-          <span translate="WHATSAPP.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="WHATSAPP.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="WHATSAPP.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllWhatsappAccounts()"
-                translate="WHATSAPP.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllWhatsappAccounts()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectWhatsappAccounts()"
-                translate="WHATSAPP.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectWhatsappAccounts()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -104,22 +66,13 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedWhatsappAccounts"
-          csv-label="true"
-          filename="whatsappAccounts.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedWhatsappAccounts" csv-label="true"
+          filename="whatsappAccounts.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete"
-          ng-click="vm.deleteSelectedWhatsappAccounts($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="WHATSAPP.DELETE_SELECTED"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete"
+          ng-click="vm.deleteSelectedWhatsappAccounts($event)" aria-label="delete selected" translate
+          translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -134,44 +87,26 @@
       <!-- WHATSAPPACCOUNT TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedWhatsappAccounts"
-            md-progress="vm.promise"
-          >
-            <thead
-              md-head
-              md-order="vm.query.sort"
-              md-on-reorder="vm.getWhatsappAccounts"
-            >
+          <table md-table md-row-select multiple ng-model="vm.selectedWhatsappAccounts" md-progress="vm.promise">
+            <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getWhatsappAccounts">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
-                <th md-column md-order-by="id">
-                  {{ 'WHATSAPP.ID' | translate }}
-                </th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'WHATSAPP.NAME' | translate }}
-                </th>
-                <th md-column md-order-by="key">
-                  {{ 'WHATSAPP.KEY' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
+                <th md-column md-order-by="key">{{ 'APP.KEY' | translate }}</th>
                 <th md-column md-order-by="ListId">
-                  {{ 'WHATSAPP.LIST' | translate }}
+                  {{ 'APP.LIST' | translate }}
                 </th>
                 <th md-column md-order-by="type">
-                  {{ 'WHATSAPP.TYPE' | translate }}
+                  {{ 'APP.TYPE' | translate }}
                 </th>
                 <th md-column md-order-by="phone">
-                  {{ 'WHATSAPP.PHONE' | translate }}
+                  {{ 'APP.PHONE' | translate }}
                 </th>
                 <th md-column md-order-by="description">
-                  {{ 'WHATSAPP.DESCRIPTION' | translate }}
+                  {{ 'APP.DESCRIPTION' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -180,95 +115,59 @@
               <tr md-row ng-hide="vm.whatsappAccounts.rows.length">
                 <td md-cell colspan="8">
                   <div layout="row" layout-align="center center">
-                    <span translate="WHATSAPP.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="whatsappAccount"
-                md-select-id="id"
-                ng-repeat="whatsappAccount in vm.whatsappAccounts.rows"
-              >
+              <tr md-row md-select="whatsappAccount" md-select-id="id"
+                ng-repeat="whatsappAccount in vm.whatsappAccounts.rows">
                 <td md-cell ng-if="whatsappAccount.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{whatsappAccount.name}}"
-                    ng-src="api/users/{{whatsappAccount.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{whatsappAccount.name}}" ng-src="api/users/{{whatsappAccount.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!whatsappAccount.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{whatsappAccount.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!whatsappAccount.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{whatsappAccount.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappAccount, ev) : vm.createOrEditWhatsappAccount($event, whatsappAccount)"
-                  md-cell
-                  class="id"
-                >
+                  md-cell class="id">
                   {{whatsappAccount.id}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappAccount, ev) : vm.createOrEditWhatsappAccount($event, whatsappAccount)"
-                  md-cell
-                  class="name"
-                >
+                  md-cell class="name">
                   {{whatsappAccount.name}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappAccount, ev) : vm.createOrEditWhatsappAccount($event, whatsappAccount)"
-                  md-cell
-                  class="key"
-                >
+                  md-cell class="key">
                   {{whatsappAccount.key}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappAccount, ev) : vm.createOrEditWhatsappAccount($event, whatsappAccount)"
-                  md-cell
-                  class="ListId"
-                >
+                  md-cell class="ListId">
                   {{ (vm.lists | filter : {'id':whatsappAccount.ListId} :
                   true)[0].name }}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappAccount, ev) : vm.createOrEditWhatsappAccount($event, whatsappAccount)"
-                  md-cell
-                  class="type"
-                >
+                  md-cell class="type">
                   {{ vm.arraytype[whatsappAccount.type].option }}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappAccount, ev) : vm.createOrEditWhatsappAccount($event, whatsappAccount)"
-                  md-cell
-                  class="phone"
-                >
+                  md-cell class="phone">
                   {{whatsappAccount.phone}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappAccount, ev) : vm.createOrEditWhatsappAccount($event, whatsappAccount)"
-                  md-cell
-                  class="description"
-                >
+                  md-cell class="description">
                   {{whatsappAccount.description}}
                 </td>
 
                 <td md-cell class="actions">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="WHATSAPP.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -278,10 +177,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editstate(whatsappAccount, $event    )"
-                          translate="WHATSAPP.EDIT_WHATSAPPACCOUNT"
-                        >
+                        <md-button ng-click="vm.editstate(whatsappAccount, $event    )"
+                          translate="WHATSAPP.EDIT_WHATSAPPACCOUNT">
                           Edit WhatsappAccount
                         </md-button>
                       </md-menu-item>
@@ -291,10 +188,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item>
-                        <md-button
-                          ng-click="vm.interactionsgoto(whatsappAccount, $event    )"
-                          translate="WHATSAPP.INTERACTIONS_WHATSAPPACCOUNT"
-                        >
+                        <md-button ng-click="vm.interactionsgoto(whatsappAccount, $event    )"
+                          translate="WHATSAPP.INTERACTIONS_WHATSAPPACCOUNT">
                           Interactions WhatsappAccount
                         </md-button>
                       </md-menu-item>
@@ -304,10 +199,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item>
-                        <md-button
-                          ng-click="vm.agentadddialog(whatsappAccount, $event    )"
-                          translate="WHATSAPP.AGENTADD_WHATSAPPACCOUNT"
-                        >
+                        <md-button ng-click="vm.agentadddialog(whatsappAccount, $event    )"
+                          translate="WHATSAPP.AGENTADD_WHATSAPPACCOUNT">
                           AgentAdd WhatsappAccount
                         </md-button>
                       </md-menu-item>
@@ -317,10 +210,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
-                        <md-button
-                          ng-click="vm.deleteconfirm(whatsappAccount, $event    )"
-                          translate="WHATSAPP.DELETE_WHATSAPPACCOUNT"
-                        >
+                        <md-button ng-click="vm.deleteconfirm(whatsappAccount, $event    )"
+                          translate="WHATSAPP.DELETE_WHATSAPPACCOUNT">
                           Delete WhatsappAccount
                         </md-button>
                       </md-menu-item>
@@ -333,14 +224,10 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'WHATSAPP.PAGE' | translate}}:', rowsPerPage: '{{'WHATSAPP.ROWSPERPAGE' | translate}}:', of: '{{'WHATSAPP.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.whatsappAccounts.count}}"
-          md-on-paginate="vm.getWhatsappAccounts"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.whatsappAccounts.count}}" md-on-paginate="vm.getWhatsappAccounts" md-page-select>
+        </md-table-pagination>
       </md-card>
       <!-- / WHATSAPPACCOUNT TABLE -->
       <!-- NO RESULTS -->
@@ -352,16 +239,10 @@
   <!-- / CONTENT -->
 
   <!-- ADD WHATSAPPACCOUNT BUTTON -->
-  <md-button
-    ng-if="vm.crudPermissions.canEdit"
-    class="md-fab md-accent add-item-button"
-    id="add-whatsappAccount-button"
-    ng-click="vm.createOrEditWhatsappAccount($event)"
-    aria-label="add whatsappAccount"
-    translate
-    translate-attr-aria-label="WHATSAPP.ADD_WHATSAPPACCOUNT"
-  >
+  <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-whatsappAccount-button"
+    ng-click="vm.createOrEditWhatsappAccount($event)" aria-label="add whatsappAccount" translate
+    translate-attr-aria-label="WHATSAPP.ADD_WHATSAPPACCOUNT">
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
   <!-- / ADD WHATSAPPACCOUNT BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/create/dialog.html/dialog.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/create/dialog.html/dialog.html
index 05de3cd..3ae2ad8 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/create/dialog.html/dialog.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/create/dialog.html/dialog.html
@@ -38,7 +38,7 @@
         </div>
       </div>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.NAME">Name</label>
+        <label translate="APP.NAME">Name</label>
         <input
           type="text"
           name="name"
@@ -49,20 +49,20 @@
           ng-disabled="!vm.newWhatsappQueue"
         />
 
-        <div class="hint"><span translate="WHATSAPP.HELP.NAME"></span></div>
+        <div class="hint"><span translate="APP.HELP.NAME"></span></div>
         <div
           ng-messages="whatsappQueueForm['name'].$error"
           ng-show="whatsappQueueForm['name'].$touched"
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.NAME_REQUIRED"
+            <span translate="APP.ERRORS.NAME_REQUIRED"
               >Name field is required</span
             >
           </div>
           <div ng-message="pattern">
             <span
-              translate="WHATSAPP.ERRORS.NAME_MUST_VALID_PATTERN"
+              translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
               translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
               >Name must be valid pattern
             </span>
@@ -70,7 +70,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.STRATEGY">Strategy</label>
+        <label translate="APP.STRATEGY">Strategy</label>
         <md-select
           name="strategy"
           ng-model="vm.whatsappQueue.strategy"
@@ -92,7 +92,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.AGENT_TIMEOUT">Agent_Timeout</label>
+        <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
         <input
           type="number"
           name="timeout"
@@ -108,20 +108,20 @@
           role="alert"
           <div ng-message="required">
-            <span translate="WHATSAPP.ERRORS.AGENT_TIMEOUT_REQUIRED"
+            <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
               >Agent_Timeout field is required</span
             >
           </div>
           <div ng-message="min">
             <span
-              translate="WHATSAPP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>1</span>
           </div>
           <div ng-message="max">
             <span
-              translate="WHATSAPP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+              translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
               >Agent_Timeout must be a valid greater or equal than</span
             >
             <span>2147483</span>
@@ -129,7 +129,7 @@
         </div>
       </md-input-container>
       <md-input-container class="md-block">
-        <label translate="WHATSAPP.DESCRIPTION">Description</label>
+        <label translate="APP.DESCRIPTION">Description</label>
         <input
           type="text"
           name="description"
@@ -184,8 +184,8 @@
           class="send-button md-accent md-raised"
           ng-disabled="whatsappQueueForm.$invalid || whatsappQueueForm.$pristine"
           aria-label="SAVE"
-          translate="WHATSAPP.SAVE"
-          translate-attr-aria-label="WHATSAPP.SAVE"
+          translate="APP.SAVE"
+          translate-attr-aria-label="APP.SAVE"
           SAVE
         </md-button>
@@ -210,12 +210,10 @@
           ng-click="vm.deleteWhatsappQueue($event)"
           aria-label="DELETE"
           translate
-          translate-attr-aria-label="WHATSAPP.DELETE"
+          translate-attr-aria-label="APP.DELETE"
           <md-icon md-font-icon="icon-delete"></md-icon>
-          <md-tooltip
-            ><span translate="WHATSAPP.DELETE">DELETE</span></md-tooltip
-          >
+          <md-tooltip><span translate="APP.DELETE">DELETE</span></md-tooltip>
         </md-button>
       </div>
     </md-dialog-actions>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/agentadd/agentadd.html/agentadd.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/agentadd/agentadd.html/agentadd.html
index 4992c68..3c95072 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/agentadd/agentadd.html/agentadd.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/agentadd/agentadd.html/agentadd.html
@@ -36,8 +36,8 @@
         class="send-button md-accent md-raised"
         ng-disabled="!vm.pendingChanges"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/teamadd/teamadd.html/teamadd.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/teamadd/teamadd.html/teamadd.html
index 3b52a7c..bdd8964 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/teamadd/teamadd.html/teamadd.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/teamadd/teamadd.html/teamadd.html
@@ -6,7 +6,7 @@
   <form name="whatsappQueueForm" ng-cloak>
     <md-toolbar>
       <div class="md-toolbar-tools">
-        <h2 translate="WHATSAPP.TEAMS_ASSOCIATION">Teams Association</h2>
+        <h2 translate="APP.TEAMS_ASSOCIATION">Teams Association</h2>
         <span flex></span>
         <md-button class="md-icon-button" ng-click="vm.closeDialog()">
           <md-icon
@@ -34,8 +34,8 @@
         ng-disabled="!vm.pendingChanges"
         class="send-button md-accent md-raised"
         aria-label="SAVE"
-        translate="STAFF.SAVE"
-        translate-attr-aria-label="STAFF.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/view.html/view.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/view.html/view.html
index 1dff660..3b3306b 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/view.html/view.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/edit/view.html/view.html
@@ -27,7 +27,7 @@
             <span ng-if="vm.whatsappQueue.name">{{vm.whatsappQueue.name}}</span>
           </div>
           <div class="subtitle secondary-text">
-            <span translate="WHATSAPP.CREATED_AT"></span>
+            <span translate="APP.CREATED_AT"></span>
             <span>{{vm.whatsappQueue.createdAt | date:'medium'}}</span>
           </div>
         </div>
@@ -66,8 +66,8 @@
         ng-if="vm.crudPermissions.canEdit"
         class="send-button md-accent md-raised"
         ng-disabled="(generalForm.$invalid)"
-        translate="WHATSAPP.SAVE"
-        translate-attr-aria-label="WHATSAPP.SAVE"
+        translate="APP.SAVE"
+        translate-attr-aria-label="APP.SAVE"
         SAVE
       </md-button>
@@ -86,20 +86,20 @@
       <md-tab>
         <md-tab-label>
-          <span translate="WHATSAPP.SETTINGS">SETTINGS</span>
+          <span translate="APP.SETTINGS">SETTINGS</span>
         </md-tab-label>
         <md-tab-body>
           <div
             class="whatsappQueue-detail-form-container general md-background-bg md-whiteframe-1dp"
             <div class="pb-16" layout="row" layout-align="start center">
-              <div class="h2 secondary-text" translate="WHATSAPP.GENERAL">
+              <div class="h2 secondary-text" translate="APP.GENERAL">
                 GENERAL
               </div>
             </div>
             <form name="generalForm" novalidate>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.NAME">Name</label>
+                <label translate="APP.NAME">Name</label>
                 <input
                   type="text"
                   name="name"
@@ -111,7 +111,7 @@
                 />
 
                 <div class="hint">
-                  <span translate="WHATSAPP.HELP.NAME"></span>
+                  <span translate="APP.HELP.NAME"></span>
                 </div>
                 <div
                   ng-messages="generalForm['name'].$error"
@@ -119,13 +119,13 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.NAME_REQUIRED"
+                    <span translate="APP.ERRORS.NAME_REQUIRED"
                       >Name field is required</span
                     >
                   </div>
                   <div ng-message="pattern">
                     <span
-                      translate="WHATSAPP.ERRORS.NAME_MUST_VALID_PATTERN"
+                      translate="APP.ERRORS.NAME_MUST_VALID_PATTERN"
                       translate-values="{ regex: '/^[A-Za-z0-9\.\_]+$/i' }"
                       >Name must be valid pattern
                     </span>
@@ -133,7 +133,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.STRATEGY">Strategy</label>
+                <label translate="APP.STRATEGY">Strategy</label>
                 <md-select
                   name="strategy"
                   ng-model="vm.whatsappQueue.strategy"
@@ -156,7 +156,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.AGENT_TIMEOUT">Agent_Timeout</label>
+                <label translate="APP.AGENT_TIMEOUT">Agent_Timeout</label>
                 <input
                   type="number"
                   name="timeout"
@@ -173,20 +173,20 @@
                   role="alert"
                   <div ng-message="required">
-                    <span translate="WHATSAPP.ERRORS.AGENT_TIMEOUT_REQUIRED"
+                    <span translate="APP.ERRORS.AGENT_TIMEOUT_REQUIRED"
                       >Agent_Timeout field is required</span
                     >
                   </div>
                   <div ng-message="min">
                     <span
-                      translate="WHATSAPP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>1</span>
                   </div>
                   <div ng-message="max">
                     <span
-                      translate="WHATSAPP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
+                      translate="APP.ERRORS.AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
                       >Agent_Timeout must be a valid greater or equal than</span
                     >
                     <span>2147483</span>
@@ -194,7 +194,7 @@
                 </div>
               </md-input-container>
               <md-input-container class="md-block">
-                <label translate="WHATSAPP.DESCRIPTION">Description</label>
+                <label translate="APP.DESCRIPTION">Description</label>
                 <input
                   type="text"
                   name="description"
diff --git a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/whatsappQueues.html/whatsappQueues.html b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/whatsappQueues.html/whatsappQueues.html
index 3614c8d..caf25b5 100644
--- a/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/whatsappQueues.html/whatsappQueues.html
+++ b/public/src/js/modules/main/apps/whatsapp/views/whatsappQueues/whatsappQueues.html/whatsappQueues.html
@@ -1,46 +1,26 @@
-<div
-  id="whatsappQueues"
-  class="page-layout simple left-sidenav inner-sidenav motion-list"
->
+<div id="whatsappQueues" class="page-layout simple left-sidenav inner-sidenav motion-list">
   <!-- HEADER -->
-  <div
-    class="header md-accent-bg"
-    layout="row"
-    layout-align="space-between center"
-  >
+  <div class="header md-accent-bg" layout="row" layout-align="space-between center">
     <!-- APP TITLE -->
     <div layout="row" layout-align="start center">
       <div class="logo" layout="row" layout-align="start center">
         <span class="logo-icon">
           <md-icon md-font-icon="icon-whatsapp" class="s24"></md-icon>
         </span>
-        <span class="logo-text" translate="WHATSAPP.WHATSAPPQUEUES"
-          >WhatsappQueues</span
-        >
+        <span class="logo-text" translate="WHATSAPP.WHATSAPPQUEUES">WhatsappQueues</span>
       </div>
     </div>
     <!-- / APP TITLE -->
 
     <div layout="row">
       <!-- SEARCH -->
-      <div
-        class="search-input-wrapper"
-        layout="row"
-        layout-align="start center"
-      >
+      <div class="search-input-wrapper" layout="row" layout-align="start center">
         <label for="search">
           <md-icon md-font-icon="icon-magnify"></md-icon>
         </label>
         <md-input-container md-no-float class="m-0">
-          <input
-            id="search"
-            placeholder="Search for anyone"
-            type="text"
-            ng-model="vm.query.filter"
-            ng-model-options="{ debounce: 1000 }"
-            translate
-            translate-attr-placeholder="WHATSAPP.SEARCH_FOR_ANYONE"
-          />
+          <input id="search" placeholder="Search for anyone" type="text" ng-model="vm.query.filter"
+            ng-model-options="{ debounce: 1000 }" translate translate-attr-placeholder="APP.SEARCH_FOR_ANYONE" />
         </md-input-container>
       </div>
       <!-- / SEARCH -->
@@ -49,16 +29,12 @@
   <!-- / HEADER -->
 
   <!-- SELECTED BAR -->
-  <div
-    ng-show="vm.selectedWhatsappQueues.length > 0"
-    class="selected-bar header animate-slide-down md-accent-bg"
-    layout="row"
-    layout-align="start center"
-  >
+  <div ng-show="vm.selectedWhatsappQueues.length > 0" class="selected-bar header animate-slide-down md-accent-bg"
+    layout="row" layout-align="start center">
     <div class="close-button-wrapper" ng-click="vm.selectedWhatsappQueues =[]">
       <md-button layout="row" layout-align="start center">
         <md-icon md-font-icon="icon-arrow-left" class="mr-8"></md-icon>
-        <span translate="WHATSAPP.BACK">Back</span>
+        <span translate="APP.BACK">Back</span>
       </md-button>
     </div>
 
@@ -66,33 +42,22 @@
       <div>
         <span class="selected-whatsappQueues-count">
           <span>{{vm.selectedWhatsappQueues.length}}</span>
-          <span translate="WHATSAPP.SELECTED">selected</span>
+          <span translate="APP.SELECTED">selected</span>
         </span>
 
         <md-menu class="select-menu" ng-if="!vm.currentThread">
-          <md-button
-            class="md-icon-button"
-            ng-click="$mdMenu.open($event)"
-            aria-label="multi select toggle"
-            translate
-            translate-attr-aria-label="WHATSAPP.MULTI_SELECT_TOGGLE"
-          >
+          <md-button class="md-icon-button" ng-click="$mdMenu.open($event)" aria-label="multi select toggle" translate
+            translate-attr-aria-label="WHATSAPP.MULTI_SELECT_TOGGLE">
             <md-icon md-font-icon="icon-menu-down"></md-icon>
           </md-button>
           <md-menu-content width="3">
             <md-menu-item>
-              <md-button
-                ng-click="vm.selectAllWhatsappQueues()"
-                translate="WHATSAPP.SELECT_ALL"
-              >
+              <md-button ng-click="vm.selectAllWhatsappQueues()" translate="APP.SELECT_ALL">
                 Select all
               </md-button>
             </md-menu-item>
             <md-menu-item>
-              <md-button
-                ng-click="vm.deselectWhatsappQueues()"
-                translate="WHATSAPP.SELECT_NONE"
-              >
+              <md-button ng-click="vm.deselectWhatsappQueues()" translate="APP.SELECT_NONE">
                 Select none
               </md-button>
             </md-menu-item>
@@ -101,22 +66,13 @@
       </div>
 
       <div class="multi-select-actions">
-        <button
-          class="md-icon-button"
-          ng-csv="vm.exportSelectedWhatsappQueues"
-          csv-label="true"
-          filename="whatsappQueues.csv"
-        >
+        <button class="md-icon-button" ng-csv="vm.exportSelectedWhatsappQueues" csv-label="true"
+          filename="whatsappQueues.csv">
           <md-icon md-font-icon="icon-file-excel"></md-icon>
         </button>
-        <md-button
-          class="md-icon-button"
-          ng-if="vm.crudPermissions.canDelete"
-          ng-click="vm.deleteSelectedWhatsappQueues($event)"
-          aria-label="delete selected"
-          translate
-          translate-attr-label="WHATSAPP.DELETE_SELECTED"
-        >
+        <md-button class="md-icon-button" ng-if="vm.crudPermissions.canDelete"
+          ng-click="vm.deleteSelectedWhatsappQueues($event)" aria-label="delete selected" translate
+          translate-attr-label="APP.DELETE_SELECTED">
           <md-icon md-font-icon="icon-delete"></md-icon>
         </md-button>
       </div>
@@ -131,32 +87,16 @@
       <!-- WHATSAPPQUEUE TABLE -->
       <md-card>
         <md-table-container>
-          <table
-            md-table
-            md-row-select
-            multiple
-            ng-model="vm.selectedWhatsappQueues"
-            md-progress="vm.promise"
-          >
-            <thead
-              md-head
-              md-order="vm.query.sort"
-              md-on-reorder="vm.getWhatsappQueues"
-            >
+          <table md-table md-row-select multiple ng-model="vm.selectedWhatsappQueues" md-progress="vm.promise">
+            <thead md-head md-order="vm.query.sort" md-on-reorder="vm.getWhatsappQueues">
               <tr md-row>
-                <th
-                  md-column
-                  ng-if="vm.table == 'users' || vm.table == 'agents'"
-                  width="20px"
-                ></th>
-                <th md-column md-order-by="id">
-                  {{ 'WHATSAPP.ID' | translate }}
-                </th>
+                <th md-column ng-if="vm.table == 'users' || vm.table == 'agents'" width="20px"></th>
+                <th md-column md-order-by="id">{{ 'APP.ID' | translate }}</th>
                 <th md-column md-order-by="name">
-                  {{ 'WHATSAPP.NAME' | translate }}
+                  {{ 'APP.NAME' | translate }}
                 </th>
                 <th md-column md-order-by="strategy">
-                  {{ 'WHATSAPP.STRATEGY' | translate }}
+                  {{ 'APP.STRATEGY' | translate }}
                 </th>
                 <th md-column width="10px"></th>
               </tr>
@@ -165,66 +105,38 @@
               <tr md-row ng-hide="vm.whatsappQueues.rows.length">
                 <td md-cell colspan="4">
                   <div layout="row" layout-align="center center">
-                    <span translate="WHATSAPP.NO_AVAILABLE_INFO"
-                      >No Available Info</span
-                    >
+                    <span translate="APP.NO_AVAILABLE_INFO">No Available Info</span>
                   </div>
                 </td>
               </tr>
-              <tr
-                md-row
-                md-select="whatsappQueue"
-                md-select-id="id"
-                ng-repeat="whatsappQueue in vm.whatsappQueues.rows"
-              >
+              <tr md-row md-select="whatsappQueue" md-select-id="id"
+                ng-repeat="whatsappQueue in vm.whatsappQueues.rows">
                 <td md-cell ng-if="whatsappQueue.userpic">
-                  <img
-                    class="avatar"
-                    alt="{{whatsappQueue.name}}"
-                    ng-src="api/users/{{whatsappQueue.id}}/avatar"
-                  />
+                  <img class="avatar" alt="{{whatsappQueue.name}}" ng-src="api/users/{{whatsappQueue.id}}/avatar" />
                 </td>
-                <td
-                  md-cell
-                  ng-if="!whatsappQueue.userpic && (vm.table == 'users' || vm.table == 'agents')"
-                >
-                  <img
-                    class="avatar"
-                    alt="{{whatsappQueue.name}}"
-                    ng-src="assets/images/avatars/profile.png"
-                  />
+                <td md-cell ng-if="!whatsappQueue.userpic && (vm.table == 'users' || vm.table == 'agents')">
+                  <img class="avatar" alt="{{whatsappQueue.name}}" ng-src="assets/images/avatars/profile.png" />
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappQueue, ev) : vm.createOrEditWhatsappQueue($event, whatsappQueue)"
-                  md-cell
-                  class="id"
-                >
+                  md-cell class="id">
                   {{whatsappQueue.id}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappQueue, ev) : vm.createOrEditWhatsappQueue($event, whatsappQueue)"
-                  md-cell
-                  class="name"
-                >
+                  md-cell class="name">
                   {{whatsappQueue.name}}
                 </td>
                 <td
                   ng-click="vm.crudPermissions.readOnly || (vm.crudPermissions.canDelete && !vm.crudPermissions.canEdit) ? vm.editstate(whatsappQueue, ev) : vm.createOrEditWhatsappQueue($event, whatsappQueue)"
-                  md-cell
-                  class="strategy"
-                >
+                  md-cell class="strategy">
                   {{ vm.arraystrategy[whatsappQueue.strategy].option }}
                 </td>
 
                 <td md-cell class="actions">
                   <md-menu>
-                    <md-button
-                      class="md-icon-button"
-                      aria-label="More"
-                      translate
-                      translate-attr-aria-label="WHATSAPP.MORE"
-                      ng-click="$mdMenu.open($event)"
-                    >
+                    <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="APP.MORE"
+                      ng-click="$mdMenu.open($event)">
                       <md-icon md-font-icon="icon-dots-vertical"></md-icon>
                     </md-button>
 
@@ -234,10 +146,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canEdit">
-                        <md-button
-                          ng-click="vm.editstate(whatsappQueue, $event    )"
-                          translate="WHATSAPP.EDIT_WHATSAPPQUEUE"
-                        >
+                        <md-button ng-click="vm.editstate(whatsappQueue, $event    )"
+                          translate="WHATSAPP.EDIT_WHATSAPPQUEUE">
                           Edit WhatsappQueue
                         </md-button>
                       </md-menu-item>
@@ -247,10 +157,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item>
-                        <md-button
-                          ng-click="vm.teamadddialog(whatsappQueue, $event    )"
-                          translate="WHATSAPP.TEAMADD_WHATSAPPQUEUE"
-                        >
+                        <md-button ng-click="vm.teamadddialog(whatsappQueue, $event    )"
+                          translate="WHATSAPP.TEAMADD_WHATSAPPQUEUE">
                           teamadd WhatsappQueue
                         </md-button>
                       </md-menu-item>
@@ -260,10 +168,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item>
-                        <md-button
-                          ng-click="vm.agentadddialog(whatsappQueue, $event    )"
-                          translate="WHATSAPP.AGENTADD_WHATSAPPQUEUE"
-                        >
+                        <md-button ng-click="vm.agentadddialog(whatsappQueue, $event    )"
+                          translate="WHATSAPP.AGENTADD_WHATSAPPQUEUE">
                           agentadd WhatsappQueue
                         </md-button>
                       </md-menu-item>
@@ -273,10 +179,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item ng-if="vm.crudPermissions.canDelete">
-                        <md-button
-                          ng-click="vm.deleteconfirm(whatsappQueue, $event    )"
-                          translate="WHATSAPP.DELETE_WHATSAPPQUEUE"
-                        >
+                        <md-button ng-click="vm.deleteconfirm(whatsappQueue, $event    )"
+                          translate="WHATSAPP.DELETE_WHATSAPPQUEUE">
                           Delete WhatsappQueue
                         </md-button>
                       </md-menu-item>
@@ -286,10 +190,8 @@
                       <!-- ACTIONS -->
 
                       <md-menu-item>
-                        <md-button
-                          ng-click="vm.gotorealtimegoto(whatsappQueue, $event    )"
-                          translate="WHATSAPP.GOTOREALTIME_WHATSAPPQUEUE"
-                        >
+                        <md-button ng-click="vm.gotorealtimegoto(whatsappQueue, $event    )"
+                          translate="WHATSAPP.GOTOREALTIME_WHATSAPPQUEUE">
                           goToRealtime WhatsappQueue
                         </md-button>
                       </md-menu-item>
@@ -302,14 +204,10 @@
         </md-table-container>
 
         <md-table-pagination
-          md-label="{page: '{{'WHATSAPP.PAGE' | translate}}:', rowsPerPage: '{{'WHATSAPP.ROWSPERPAGE' | translate}}:', of: '{{'WHATSAPP.OF' | translate}}'}"
-          md-limit="vm.query.limit"
-          md-limit-options="[10, 15, 20, 50, 100, 250]"
-          md-page="vm.query.page"
-          md-total="{{vm.whatsappQueues.count}}"
-          md-on-paginate="vm.getWhatsappQueues"
-          md-page-select
-        ></md-table-pagination>
+          md-label="{page: '{{'APP.PAGE' | translate}}:', rowsPerPage: '{{'APP.ROWSPERPAGE' | translate}}:', of: '{{'APP.OF' | translate}}'}"
+          md-limit="vm.query.limit" md-limit-options="[10, 15, 20, 50, 100, 250]" md-page="vm.query.page"
+          md-total="{{vm.whatsappQueues.count}}" md-on-paginate="vm.getWhatsappQueues" md-page-select>
+        </md-table-pagination>
       </md-card>
       <!-- / WHATSAPPQUEUE TABLE -->
       <!-- NO RESULTS -->
@@ -321,16 +219,10 @@
   <!-- / CONTENT -->
 
   <!-- ADD WHATSAPPQUEUE BUTTON -->
-  <md-button
-    ng-if="vm.crudPermissions.canEdit"
-    class="md-fab md-accent add-item-button"
-    id="add-whatsappQueue-button"
-    ng-click="vm.createOrEditWhatsappQueue($event)"
-    aria-label="add whatsappQueue"
-    translate
-    translate-attr-aria-label="WHATSAPP.ADD_WHATSAPPQUEUE"
-  >
+  <md-button ng-if="vm.crudPermissions.canEdit" class="md-fab md-accent add-item-button" id="add-whatsappQueue-button"
+    ng-click="vm.createOrEditWhatsappQueue($event)" aria-label="add whatsappQueue" translate
+    translate-attr-aria-label="WHATSAPP.ADD_WHATSAPPQUEUE">
     <md-icon md-font-icon="icon-plus"></md-icon>
   </md-button>
   <!-- / ADD WHATSAPPQUEUE BUTTON -->
-</div>
+</div>
\ No newline at end of file
diff --git a/server/api/action/action.attributes.js b/server/api/action/action.attributes.js
index 94924b9..ecf5e44 100644
--- a/server/api/action/action.attributes.js
+++ b/server/api/action/action.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.controller.js b/server/api/action/action.controller.js
index 988710f..199ec21 100644
--- a/server/api/action/action.controller.js
+++ b/server/api/action/action.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.model.js b/server/api/action/action.model.js
index d98b8ea..54ee889 100644
--- a/server/api/action/action.model.js
+++ b/server/api/action/action.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/index.js b/server/api/action/index.js
index 0777cbc..95c31d9 100644
--- a/server/api/action/index.js
+++ b/server/api/action/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.attributes.js b/server/api/analyticCustomReport/analyticCustomReport.attributes.js
index a1c9654..ae14eb6 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.attributes.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.controller.js b/server/api/analyticCustomReport/analyticCustomReport.controller.js
index c1c9e5c..f3986d6 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.controller.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.model.js b/server/api/analyticCustomReport/analyticCustomReport.model.js
index 88149ad..88837cd 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.model.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/index.js b/server/api/analyticCustomReport/index.js
index 42f46c4..8e99ddd 100644
--- a/server/api/analyticCustomReport/index.js
+++ b/server/api/analyticCustomReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js b/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
index 566a6bd..ce9b92b 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.controller.js b/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
index ca0e8b3..f7f3f9c 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.model.js b/server/api/analyticDefaultReport/analyticDefaultReport.model.js
index 6140e52..dd66288 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.model.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/index.js b/server/api/analyticDefaultReport/index.js
index bb84c6e..50a5455 100644
--- a/server/api/analyticDefaultReport/index.js
+++ b/server/api/analyticDefaultReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js b/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
index 9822914..a2ce214 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.controller.js b/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
index 308adeb..8cea243 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.model.js b/server/api/analyticExtractedReport/analyticExtractedReport.model.js
index db2fbbe..69f15bd 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.model.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/index.js b/server/api/analyticExtractedReport/index.js
index ba65a91..328c2dc 100644
--- a/server/api/analyticExtractedReport/index.js
+++ b/server/api/analyticExtractedReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.attributes.js b/server/api/analyticFieldReport/analyticFieldReport.attributes.js
index 6a3eabc..9b8db8f 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.attributes.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.controller.js b/server/api/analyticFieldReport/analyticFieldReport.controller.js
index cf7bb80..42bf89b 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.controller.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.model.js b/server/api/analyticFieldReport/analyticFieldReport.model.js
index 85bc7a1..4595539 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.model.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/index.js b/server/api/analyticFieldReport/index.js
index fb54b8e..6e5d3ad 100644
--- a/server/api/analyticFieldReport/index.js
+++ b/server/api/analyticFieldReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.attributes.js b/server/api/analyticMetric/analyticMetric.attributes.js
index ce782c7..3208d3b 100644
--- a/server/api/analyticMetric/analyticMetric.attributes.js
+++ b/server/api/analyticMetric/analyticMetric.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.controller.js b/server/api/analyticMetric/analyticMetric.controller.js
index 5e6ac3d..0497ddf 100644
--- a/server/api/analyticMetric/analyticMetric.controller.js
+++ b/server/api/analyticMetric/analyticMetric.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.model.js b/server/api/analyticMetric/analyticMetric.model.js
index 2e4b382..139c59a 100644
--- a/server/api/analyticMetric/analyticMetric.model.js
+++ b/server/api/analyticMetric/analyticMetric.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/index.js b/server/api/analyticMetric/index.js
index 6903a14..d7ab3a4 100644
--- a/server/api/analyticMetric/index.js
+++ b/server/api/analyticMetric/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.attributes.js b/server/api/analyticTreeReport/analyticTreeReport.attributes.js
index ebfb43c..ec5c050 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.attributes.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.controller.js b/server/api/analyticTreeReport/analyticTreeReport.controller.js
index 94a3f94..5a97c31 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.controller.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.model.js b/server/api/analyticTreeReport/analyticTreeReport.model.js
index bd5130b..e943a0b 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.model.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/index.js b/server/api/analyticTreeReport/index.js
index 9b7b139..40a9836 100644
--- a/server/api/analyticTreeReport/index.js
+++ b/server/api/analyticTreeReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.attributes.js b/server/api/attachment/attachment.attributes.js
index 2cc4f59..d2d08e2 100644
--- a/server/api/attachment/attachment.attributes.js
+++ b/server/api/attachment/attachment.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.controller.js b/server/api/attachment/attachment.controller.js
index eda64d0..0036d2e 100644
--- a/server/api/attachment/attachment.controller.js
+++ b/server/api/attachment/attachment.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.model.js b/server/api/attachment/attachment.model.js
index b9298b5..53ffedc 100644
--- a/server/api/attachment/attachment.model.js
+++ b/server/api/attachment/attachment.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.rpc.js b/server/api/attachment/attachment.rpc.js
index 2240fe7..9f3a77e 100644
--- a/server/api/attachment/attachment.rpc.js
+++ b/server/api/attachment/attachment.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/index.js b/server/api/attachment/index.js
index 06925e0..7168c14 100644
--- a/server/api/attachment/index.js
+++ b/server/api/attachment/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authGoogle/authGoogle.controller.js b/server/api/authGoogle/authGoogle.controller.js
index 9f3f19e..a15847c 100644
--- a/server/api/authGoogle/authGoogle.controller.js
+++ b/server/api/authGoogle/authGoogle.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authGoogle/index.js b/server/api/authGoogle/index.js
index 0424b9e..fa53ed5 100644
--- a/server/api/authGoogle/index.js
+++ b/server/api/authGoogle/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authLocal/authLocal.controller.js b/server/api/authLocal/authLocal.controller.js
index 21384ef..f7e444f 100644
--- a/server/api/authLocal/authLocal.controller.js
+++ b/server/api/authLocal/authLocal.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authLocal/index.js b/server/api/authLocal/index.js
index d1f0297..f8e6028 100644
--- a/server/api/authLocal/index.js
+++ b/server/api/authLocal/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.attributes.js b/server/api/automation/automation.attributes.js
index a071099..031d3d2 100644
--- a/server/api/automation/automation.attributes.js
+++ b/server/api/automation/automation.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.controller.js b/server/api/automation/automation.controller.js
index c7f9cf0..f53f756 100644
--- a/server/api/automation/automation.controller.js
+++ b/server/api/automation/automation.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.model.js b/server/api/automation/automation.model.js
index f619f7a..f5dfe70 100644
--- a/server/api/automation/automation.model.js
+++ b/server/api/automation/automation.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/index.js b/server/api/automation/index.js
index c4974bd..7aa5613 100644
--- a/server/api/automation/index.js
+++ b/server/api/automation/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.attributes.js b/server/api/campaign/campaign.attributes.js
index a92c965..2d9d3de 100644
--- a/server/api/campaign/campaign.attributes.js
+++ b/server/api/campaign/campaign.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.controller.js b/server/api/campaign/campaign.controller.js
index e33f7b7..f835a11 100644
--- a/server/api/campaign/campaign.controller.js
+++ b/server/api/campaign/campaign.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.model.js b/server/api/campaign/campaign.model.js
index 4122174..e189d70 100644
--- a/server/api/campaign/campaign.model.js
+++ b/server/api/campaign/campaign.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.rpc.js b/server/api/campaign/campaign.rpc.js
index 8a5ff9c..c190598 100644
--- a/server/api/campaign/campaign.rpc.js
+++ b/server/api/campaign/campaign.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/index.js b/server/api/campaign/index.js
index b61e28c..9d43682 100644
--- a/server/api/campaign/index.js
+++ b/server/api/campaign/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.attributes.js b/server/api/cannedAnswer/cannedAnswer.attributes.js
index 1de1968..579546f 100644
--- a/server/api/cannedAnswer/cannedAnswer.attributes.js
+++ b/server/api/cannedAnswer/cannedAnswer.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.controller.js b/server/api/cannedAnswer/cannedAnswer.controller.js
index 116d7b8..f27619b 100644
--- a/server/api/cannedAnswer/cannedAnswer.controller.js
+++ b/server/api/cannedAnswer/cannedAnswer.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.model.js b/server/api/cannedAnswer/cannedAnswer.model.js
index 9ea7e1c..741306a 100644
--- a/server/api/cannedAnswer/cannedAnswer.model.js
+++ b/server/api/cannedAnswer/cannedAnswer.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/index.js b/server/api/cannedAnswer/index.js
index b0dbd6c..588b963 100644
--- a/server/api/cannedAnswer/index.js
+++ b/server/api/cannedAnswer/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.attributes.js b/server/api/cdr/cdr.attributes.js
index 5c1733b..49f2799 100644
--- a/server/api/cdr/cdr.attributes.js
+++ b/server/api/cdr/cdr.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.controller.js b/server/api/cdr/cdr.controller.js
index c870962..3f612f2 100644
--- a/server/api/cdr/cdr.controller.js
+++ b/server/api/cdr/cdr.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.model.js b/server/api/cdr/cdr.model.js
index 4ab9eeb..b7aca33 100644
--- a/server/api/cdr/cdr.model.js
+++ b/server/api/cdr/cdr.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/index.js b/server/api/cdr/index.js
index 0ca3c34..cdad4ca 100644
--- a/server/api/cdr/index.js
+++ b/server/api/cdr/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.attributes.js b/server/api/chatApplication/chatApplication.attributes.js
index d0474ef..6bc2911 100644
--- a/server/api/chatApplication/chatApplication.attributes.js
+++ b/server/api/chatApplication/chatApplication.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.controller.js b/server/api/chatApplication/chatApplication.controller.js
index 6e419fc..f72130e 100644
--- a/server/api/chatApplication/chatApplication.controller.js
+++ b/server/api/chatApplication/chatApplication.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.model.js b/server/api/chatApplication/chatApplication.model.js
index e114f7d..fe97bbb 100644
--- a/server/api/chatApplication/chatApplication.model.js
+++ b/server/api/chatApplication/chatApplication.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/index.js b/server/api/chatApplication/index.js
index 92c39a6..2f1b909 100644
--- a/server/api/chatApplication/index.js
+++ b/server/api/chatApplication/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.attributes.js b/server/api/chatGroup/chatGroup.attributes.js
index f029cd6..2577582 100644
--- a/server/api/chatGroup/chatGroup.attributes.js
+++ b/server/api/chatGroup/chatGroup.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.controller.js b/server/api/chatGroup/chatGroup.controller.js
index 301bbf3..6efd5b5 100644
--- a/server/api/chatGroup/chatGroup.controller.js
+++ b/server/api/chatGroup/chatGroup.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.events.js b/server/api/chatGroup/chatGroup.events.js
index 9790f2e..f0c9d0f 100644
--- a/server/api/chatGroup/chatGroup.events.js
+++ b/server/api/chatGroup/chatGroup.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.model.js b/server/api/chatGroup/chatGroup.model.js
index 6480475..7daa19c 100644
--- a/server/api/chatGroup/chatGroup.model.js
+++ b/server/api/chatGroup/chatGroup.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.rpc.js b/server/api/chatGroup/chatGroup.rpc.js
index 60dc628..6cdbc23 100644
--- a/server/api/chatGroup/chatGroup.rpc.js
+++ b/server/api/chatGroup/chatGroup.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.socket.js b/server/api/chatGroup/chatGroup.socket.js
index 065057c..89647ec 100644
--- a/server/api/chatGroup/chatGroup.socket.js
+++ b/server/api/chatGroup/chatGroup.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/index.js b/server/api/chatGroup/index.js
index 849d461..093949c 100644
--- a/server/api/chatGroup/index.js
+++ b/server/api/chatGroup/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.attributes.js b/server/api/chatInteraction/chatInteraction.attributes.js
index 3d2c99e..e40d828 100644
--- a/server/api/chatInteraction/chatInteraction.attributes.js
+++ b/server/api/chatInteraction/chatInteraction.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.controller.js b/server/api/chatInteraction/chatInteraction.controller.js
index c98352e..2ce39c7 100644
--- a/server/api/chatInteraction/chatInteraction.controller.js
+++ b/server/api/chatInteraction/chatInteraction.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.events.js b/server/api/chatInteraction/chatInteraction.events.js
index 64dd00a..047d9ca 100644
--- a/server/api/chatInteraction/chatInteraction.events.js
+++ b/server/api/chatInteraction/chatInteraction.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.model.js b/server/api/chatInteraction/chatInteraction.model.js
index 2b0af29..5e54e1f 100644
--- a/server/api/chatInteraction/chatInteraction.model.js
+++ b/server/api/chatInteraction/chatInteraction.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.rpc.js b/server/api/chatInteraction/chatInteraction.rpc.js
index f97ed82..efbb2f5 100644
--- a/server/api/chatInteraction/chatInteraction.rpc.js
+++ b/server/api/chatInteraction/chatInteraction.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.socket.js b/server/api/chatInteraction/chatInteraction.socket.js
index 924807e..d96f8dc 100644
--- a/server/api/chatInteraction/chatInteraction.socket.js
+++ b/server/api/chatInteraction/chatInteraction.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/index.js b/server/api/chatInteraction/index.js
index 2b26c36..dfb95cc 100644
--- a/server/api/chatInteraction/index.js
+++ b/server/api/chatInteraction/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.attributes.js b/server/api/chatInternalMessage/chatInternalMessage.attributes.js
index d729eb2..3505487 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.attributes.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.controller.js b/server/api/chatInternalMessage/chatInternalMessage.controller.js
index ad16795..251ff1c 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.controller.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.events.js b/server/api/chatInternalMessage/chatInternalMessage.events.js
index eb0f95c..6306756 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.events.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.model.js b/server/api/chatInternalMessage/chatInternalMessage.model.js
index 23fd0e0..64d6eed 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.model.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.rpc.js b/server/api/chatInternalMessage/chatInternalMessage.rpc.js
index 6439d67..866c97d 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.rpc.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.socket.js b/server/api/chatInternalMessage/chatInternalMessage.socket.js
index 71d0915..287fe00 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.socket.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/index.js b/server/api/chatInternalMessage/index.js
index d8e3b7c..3d139ec 100644
--- a/server/api/chatInternalMessage/index.js
+++ b/server/api/chatInternalMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.attributes.js b/server/api/chatMessage/chatMessage.attributes.js
index 66c4499..0f04cab 100644
--- a/server/api/chatMessage/chatMessage.attributes.js
+++ b/server/api/chatMessage/chatMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.controller.js b/server/api/chatMessage/chatMessage.controller.js
index daa00d5..0857fc6 100644
--- a/server/api/chatMessage/chatMessage.controller.js
+++ b/server/api/chatMessage/chatMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.events.js b/server/api/chatMessage/chatMessage.events.js
index bd4276e..d4c081a 100644
--- a/server/api/chatMessage/chatMessage.events.js
+++ b/server/api/chatMessage/chatMessage.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.model.js b/server/api/chatMessage/chatMessage.model.js
index 3112602..7bbcd59 100644
--- a/server/api/chatMessage/chatMessage.model.js
+++ b/server/api/chatMessage/chatMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.rpc.js b/server/api/chatMessage/chatMessage.rpc.js
index cd53455..f9316d8 100644
--- a/server/api/chatMessage/chatMessage.rpc.js
+++ b/server/api/chatMessage/chatMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.socket.js b/server/api/chatMessage/chatMessage.socket.js
index c13f864..728e456 100644
--- a/server/api/chatMessage/chatMessage.socket.js
+++ b/server/api/chatMessage/chatMessage.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/index.js b/server/api/chatMessage/index.js
index 68afdaa..dfd21d5 100644
--- a/server/api/chatMessage/index.js
+++ b/server/api/chatMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js b/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
index 255808e..7fe2ec9 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.controller.js b/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
index 32820ac..24d4083 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.model.js b/server/api/chatOfflineMessage/chatOfflineMessage.model.js
index e96cdb2..2ce6b8e 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.model.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/index.js b/server/api/chatOfflineMessage/index.js
index f60614f..0c55eef 100644
--- a/server/api/chatOfflineMessage/index.js
+++ b/server/api/chatOfflineMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.attributes.js b/server/api/chatProactiveAction/chatProactiveAction.attributes.js
index 18669db..232be00 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.attributes.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.controller.js b/server/api/chatProactiveAction/chatProactiveAction.controller.js
index 45bd945..3bbb2c0 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.controller.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.model.js b/server/api/chatProactiveAction/chatProactiveAction.model.js
index 5a2c404..21e8bb4 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.model.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/index.js b/server/api/chatProactiveAction/index.js
index bf25f0f..790a16e 100644
--- a/server/api/chatProactiveAction/index.js
+++ b/server/api/chatProactiveAction/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.attributes.js b/server/api/chatQueue/chatQueue.attributes.js
index 4b3946c..206e15d 100644
--- a/server/api/chatQueue/chatQueue.attributes.js
+++ b/server/api/chatQueue/chatQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.controller.js b/server/api/chatQueue/chatQueue.controller.js
index 06aa6d6..4a70c91 100644
--- a/server/api/chatQueue/chatQueue.controller.js
+++ b/server/api/chatQueue/chatQueue.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.events.js b/server/api/chatQueue/chatQueue.events.js
index 52bebd5..75cac7d 100644
--- a/server/api/chatQueue/chatQueue.events.js
+++ b/server/api/chatQueue/chatQueue.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.model.js b/server/api/chatQueue/chatQueue.model.js
index 1c4a283..29b494e 100644
--- a/server/api/chatQueue/chatQueue.model.js
+++ b/server/api/chatQueue/chatQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.rpc.js b/server/api/chatQueue/chatQueue.rpc.js
index 6ed4365..49d75aa 100644
--- a/server/api/chatQueue/chatQueue.rpc.js
+++ b/server/api/chatQueue/chatQueue.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.socket.js b/server/api/chatQueue/chatQueue.socket.js
index 4da6b33..280ff04 100644
--- a/server/api/chatQueue/chatQueue.socket.js
+++ b/server/api/chatQueue/chatQueue.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/index.js b/server/api/chatQueue/index.js
index 0333401..ac2c1fa 100644
--- a/server/api/chatQueue/index.js
+++ b/server/api/chatQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.attributes.js b/server/api/chatQueueReport/chatQueueReport.attributes.js
index fc45f9c..fe750b7 100644
--- a/server/api/chatQueueReport/chatQueueReport.attributes.js
+++ b/server/api/chatQueueReport/chatQueueReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.controller.js b/server/api/chatQueueReport/chatQueueReport.controller.js
index c257fc5..998807c 100644
--- a/server/api/chatQueueReport/chatQueueReport.controller.js
+++ b/server/api/chatQueueReport/chatQueueReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.model.js b/server/api/chatQueueReport/chatQueueReport.model.js
index e312090..2333d90 100644
--- a/server/api/chatQueueReport/chatQueueReport.model.js
+++ b/server/api/chatQueueReport/chatQueueReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.rpc.js b/server/api/chatQueueReport/chatQueueReport.rpc.js
index 9be3e11..fd88274 100644
--- a/server/api/chatQueueReport/chatQueueReport.rpc.js
+++ b/server/api/chatQueueReport/chatQueueReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/index.js b/server/api/chatQueueReport/index.js
index 8021039..bc94588 100644
--- a/server/api/chatQueueReport/index.js
+++ b/server/api/chatQueueReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.attributes.js b/server/api/chatTransferReport/chatTransferReport.attributes.js
index 9a3d652..31331e8 100644
--- a/server/api/chatTransferReport/chatTransferReport.attributes.js
+++ b/server/api/chatTransferReport/chatTransferReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.controller.js b/server/api/chatTransferReport/chatTransferReport.controller.js
index a29c0eb..d686467 100644
--- a/server/api/chatTransferReport/chatTransferReport.controller.js
+++ b/server/api/chatTransferReport/chatTransferReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.model.js b/server/api/chatTransferReport/chatTransferReport.model.js
index 35522a7..9c452f3 100644
--- a/server/api/chatTransferReport/chatTransferReport.model.js
+++ b/server/api/chatTransferReport/chatTransferReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/index.js b/server/api/chatTransferReport/index.js
index f9011b1..8deb5e4 100644
--- a/server/api/chatTransferReport/index.js
+++ b/server/api/chatTransferReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.attributes.js b/server/api/chatWebsite/chatWebsite.attributes.js
index 6fc3501..6f911d1 100644
--- a/server/api/chatWebsite/chatWebsite.attributes.js
+++ b/server/api/chatWebsite/chatWebsite.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.controller.js b/server/api/chatWebsite/chatWebsite.controller.js
index 2a89d50..084613e 100644
--- a/server/api/chatWebsite/chatWebsite.controller.js
+++ b/server/api/chatWebsite/chatWebsite.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.events.js b/server/api/chatWebsite/chatWebsite.events.js
index 62ce729..a85de3e 100644
--- a/server/api/chatWebsite/chatWebsite.events.js
+++ b/server/api/chatWebsite/chatWebsite.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.model.js b/server/api/chatWebsite/chatWebsite.model.js
index b1869b5..8543e5d 100644
--- a/server/api/chatWebsite/chatWebsite.model.js
+++ b/server/api/chatWebsite/chatWebsite.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.rpc.js b/server/api/chatWebsite/chatWebsite.rpc.js
index 12b131a..367abc3 100644
--- a/server/api/chatWebsite/chatWebsite.rpc.js
+++ b/server/api/chatWebsite/chatWebsite.rpc.js
@@ -1 +1 @@
-const a114_0x5e01=['./chatWebsite.socket'];(function(_0x198421,_0x5e01c4){const _0x2f452d=function(_0x4d5947){while(--_0x4d5947){_0x198421['push'](_0x198421['shift']());}};_0x2f452d(++_0x5e01c4);}(a114_0x5e01,0x8a));const a114_0x2f45=function(_0x198421,_0x5e01c4){_0x198421=_0x198421-0x0;let _0x2f452d=a114_0x5e01[_0x198421];return _0x2f452d;};const _0x56b97f=a114_0x2f45;'use strict';const {getSocket}=require('../../rediscache'),socket=getSocket();require(_0x56b97f('0x0'))['register'](socket);
\ No newline at end of file
+const a114_0x3a4c=['register'];(function(_0x32faf3,_0x3a4caf){const _0x12d301=function(_0x4f7864){while(--_0x4f7864){_0x32faf3['push'](_0x32faf3['shift']());}};_0x12d301(++_0x3a4caf);}(a114_0x3a4c,0x89));const a114_0x12d3=function(_0x32faf3,_0x3a4caf){_0x32faf3=_0x32faf3-0x0;let _0x12d301=a114_0x3a4c[_0x32faf3];return _0x12d301;};const _0x47b2f9=a114_0x12d3;'use strict';const {getSocket}=require('../../rediscache'),socket=getSocket();require('./chatWebsite.socket')[_0x47b2f9('0x0')](socket);
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.socket.js b/server/api/chatWebsite/chatWebsite.socket.js
index d3b67a8..a02c032 100644
--- a/server/api/chatWebsite/chatWebsite.socket.js
+++ b/server/api/chatWebsite/chatWebsite.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/index.js b/server/api/chatWebsite/index.js
index 97edad2..43dc50b 100644
--- a/server/api/chatWebsite/index.js
+++ b/server/api/chatWebsite/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cloudProvider/cloudProvider.attributes.js b/server/api/cloudProvider/cloudProvider.attributes.js
index e21a3f9..8a801db 100644
--- a/server/api/cloudProvider/cloudProvider.attributes.js
+++ b/server/api/cloudProvider/cloudProvider.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cloudProvider/cloudProvider.controller.js b/server/api/cloudProvider/cloudProvider.controller.js
index 944e0a2..43199b9 100644
--- a/server/api/cloudProvider/cloudProvider.controller.js
+++ b/server/api/cloudProvider/cloudProvider.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cloudProvider/cloudProvider.model.js b/server/api/cloudProvider/cloudProvider.model.js
index 33144b2..6e84791 100644
--- a/server/api/cloudProvider/cloudProvider.model.js
+++ b/server/api/cloudProvider/cloudProvider.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cloudProvider/index.js b/server/api/cloudProvider/index.js
index dda2eb7..4d665f6 100644
--- a/server/api/cloudProvider/index.js
+++ b/server/api/cloudProvider/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.attributes.js b/server/api/cmCompany/cmCompany.attributes.js
index b935b73..a3a5620 100644
--- a/server/api/cmCompany/cmCompany.attributes.js
+++ b/server/api/cmCompany/cmCompany.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.controller.js b/server/api/cmCompany/cmCompany.controller.js
index 706e2d9..01a9819 100644
--- a/server/api/cmCompany/cmCompany.controller.js
+++ b/server/api/cmCompany/cmCompany.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.model.js b/server/api/cmCompany/cmCompany.model.js
index e734f6a..6403655 100644
--- a/server/api/cmCompany/cmCompany.model.js
+++ b/server/api/cmCompany/cmCompany.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/index.js b/server/api/cmCompany/index.js
index 2203c30..2771525 100644
--- a/server/api/cmCompany/index.js
+++ b/server/api/cmCompany/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.attributes.js b/server/api/cmContact/cmContact.attributes.js
index 120dfc4..8cfbe4f 100644
--- a/server/api/cmContact/cmContact.attributes.js
+++ b/server/api/cmContact/cmContact.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.controller.js b/server/api/cmContact/cmContact.controller.js
index 8f13500..b3c1002 100644
--- a/server/api/cmContact/cmContact.controller.js
+++ b/server/api/cmContact/cmContact.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.events.js b/server/api/cmContact/cmContact.events.js
index 48edf83..29222d4 100644
--- a/server/api/cmContact/cmContact.events.js
+++ b/server/api/cmContact/cmContact.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.model.js b/server/api/cmContact/cmContact.model.js
index ad7d646..d40e2ec 100644
--- a/server/api/cmContact/cmContact.model.js
+++ b/server/api/cmContact/cmContact.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.rpc.js b/server/api/cmContact/cmContact.rpc.js
index de50999..d5e296c 100644
--- a/server/api/cmContact/cmContact.rpc.js
+++ b/server/api/cmContact/cmContact.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.socket.js b/server/api/cmContact/cmContact.socket.js
index 2734725..15a5981 100644
--- a/server/api/cmContact/cmContact.socket.js
+++ b/server/api/cmContact/cmContact.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/index.js b/server/api/cmContact/index.js
index 32d717b..e7bf537 100644
--- a/server/api/cmContact/index.js
+++ b/server/api/cmContact/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.attributes.js b/server/api/cmCustomField/cmCustomField.attributes.js
index b01828c..b0a6e6c 100644
--- a/server/api/cmCustomField/cmCustomField.attributes.js
+++ b/server/api/cmCustomField/cmCustomField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.controller.js b/server/api/cmCustomField/cmCustomField.controller.js
index 11a25c0..2f1422d 100644
--- a/server/api/cmCustomField/cmCustomField.controller.js
+++ b/server/api/cmCustomField/cmCustomField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.model.js b/server/api/cmCustomField/cmCustomField.model.js
index 1d587dd..6d7390b 100644
--- a/server/api/cmCustomField/cmCustomField.model.js
+++ b/server/api/cmCustomField/cmCustomField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/index.js b/server/api/cmCustomField/index.js
index 9cec0d7..5a824f9 100644
--- a/server/api/cmCustomField/index.js
+++ b/server/api/cmCustomField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.attributes.js b/server/api/cmHopper/cmHopper.attributes.js
index 602ada7..7560da2 100644
--- a/server/api/cmHopper/cmHopper.attributes.js
+++ b/server/api/cmHopper/cmHopper.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.controller.js b/server/api/cmHopper/cmHopper.controller.js
index 885b3a5..c9e2985 100644
--- a/server/api/cmHopper/cmHopper.controller.js
+++ b/server/api/cmHopper/cmHopper.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.model.js b/server/api/cmHopper/cmHopper.model.js
index b381296..c23ef0b 100644
--- a/server/api/cmHopper/cmHopper.model.js
+++ b/server/api/cmHopper/cmHopper.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.rpc.js b/server/api/cmHopper/cmHopper.rpc.js
index edc8603..4ec2ea6 100644
--- a/server/api/cmHopper/cmHopper.rpc.js
+++ b/server/api/cmHopper/cmHopper.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/index.js b/server/api/cmHopper/index.js
index c3536aa..2c828d1 100644
--- a/server/api/cmHopper/index.js
+++ b/server/api/cmHopper/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.attributes.js b/server/api/cmHopperBlack/cmHopperBlack.attributes.js
index 9728733..3bd623c 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.attributes.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.controller.js b/server/api/cmHopperBlack/cmHopperBlack.controller.js
index a3bf623..20e31a4 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.controller.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.model.js b/server/api/cmHopperBlack/cmHopperBlack.model.js
index e579893..1ebc49d 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.model.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.rpc.js b/server/api/cmHopperBlack/cmHopperBlack.rpc.js
index 9958310..a88eb45 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.rpc.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/index.js b/server/api/cmHopperBlack/index.js
index 5e85cae..f274652 100644
--- a/server/api/cmHopperBlack/index.js
+++ b/server/api/cmHopperBlack/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.attributes.js b/server/api/cmHopperFinal/cmHopperFinal.attributes.js
index d97be6c..f41e3c3 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.attributes.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.controller.js b/server/api/cmHopperFinal/cmHopperFinal.controller.js
index 460df7e..5b92bdb 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.controller.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.model.js b/server/api/cmHopperFinal/cmHopperFinal.model.js
index 7b3fd00..ba44c43 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.model.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.rpc.js b/server/api/cmHopperFinal/cmHopperFinal.rpc.js
index d9d6999..651d8c4 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.rpc.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/index.js b/server/api/cmHopperFinal/index.js
index baa7b52..710253f 100644
--- a/server/api/cmHopperFinal/index.js
+++ b/server/api/cmHopperFinal/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.attributes.js b/server/api/cmHopperHistory/cmHopperHistory.attributes.js
index fdfe385..9964840 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.attributes.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.controller.js b/server/api/cmHopperHistory/cmHopperHistory.controller.js
index d3a32ba..dbf1564 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.controller.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.model.js b/server/api/cmHopperHistory/cmHopperHistory.model.js
index 20cc087..4e3c433 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.model.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.rpc.js b/server/api/cmHopperHistory/cmHopperHistory.rpc.js
index f4fa4d5..c1c8e1e 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.rpc.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/index.js b/server/api/cmHopperHistory/index.js
index e0b7892..422ee00 100644
--- a/server/api/cmHopperHistory/index.js
+++ b/server/api/cmHopperHistory/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.attributes.js b/server/api/cmList/cmList.attributes.js
index 6888d50..8ebc8bc 100644
--- a/server/api/cmList/cmList.attributes.js
+++ b/server/api/cmList/cmList.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.controller.js b/server/api/cmList/cmList.controller.js
index ef84565..35a1338 100644
--- a/server/api/cmList/cmList.controller.js
+++ b/server/api/cmList/cmList.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.events.js b/server/api/cmList/cmList.events.js
index 602f659..8fea4ed 100644
--- a/server/api/cmList/cmList.events.js
+++ b/server/api/cmList/cmList.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.model.js b/server/api/cmList/cmList.model.js
index d9edb2f..e08743b 100644
--- a/server/api/cmList/cmList.model.js
+++ b/server/api/cmList/cmList.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.rpc.js b/server/api/cmList/cmList.rpc.js
index 4a0aa93..cb4c1d3 100644
--- a/server/api/cmList/cmList.rpc.js
+++ b/server/api/cmList/cmList.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.socket.js b/server/api/cmList/cmList.socket.js
index 79e17b1..af63ce8 100644
--- a/server/api/cmList/cmList.socket.js
+++ b/server/api/cmList/cmList.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/index.js b/server/api/cmList/index.js
index 555ead2..9a7bc84 100644
--- a/server/api/cmList/index.js
+++ b/server/api/cmList/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.attributes.js b/server/api/condition/condition.attributes.js
index cb21b4f..8dd5d07 100644
--- a/server/api/condition/condition.attributes.js
+++ b/server/api/condition/condition.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.controller.js b/server/api/condition/condition.controller.js
index 4d8b5e9..4df3a1c 100644
--- a/server/api/condition/condition.controller.js
+++ b/server/api/condition/condition.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.model.js b/server/api/condition/condition.model.js
index ac473e4..37c63ec 100644
--- a/server/api/condition/condition.model.js
+++ b/server/api/condition/condition.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/index.js b/server/api/condition/index.js
index 95ed336..cc0f0d4 100644
--- a/server/api/condition/index.js
+++ b/server/api/condition/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.attributes.js b/server/api/dashboard/dashboard.attributes.js
index 7608d77..240eb73 100644
--- a/server/api/dashboard/dashboard.attributes.js
+++ b/server/api/dashboard/dashboard.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.controller.js b/server/api/dashboard/dashboard.controller.js
index 3929fdf..386919b 100644
--- a/server/api/dashboard/dashboard.controller.js
+++ b/server/api/dashboard/dashboard.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.events.js b/server/api/dashboard/dashboard.events.js
index a4b0298..c9e8aa7 100644
--- a/server/api/dashboard/dashboard.events.js
+++ b/server/api/dashboard/dashboard.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.model.js b/server/api/dashboard/dashboard.model.js
index 35705d0..960cf31 100644
--- a/server/api/dashboard/dashboard.model.js
+++ b/server/api/dashboard/dashboard.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.rpc.js b/server/api/dashboard/dashboard.rpc.js
index 38b6f21..41b26ac 100644
--- a/server/api/dashboard/dashboard.rpc.js
+++ b/server/api/dashboard/dashboard.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.socket.js b/server/api/dashboard/dashboard.socket.js
index efe2669..17935fa 100644
--- a/server/api/dashboard/dashboard.socket.js
+++ b/server/api/dashboard/dashboard.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/index.js b/server/api/dashboard/index.js
index 17b530c..fc87b21 100644
--- a/server/api/dashboard/index.js
+++ b/server/api/dashboard/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.attributes.js b/server/api/dashboardItem/dashboardItem.attributes.js
index 9728887..41f6aa6 100644
--- a/server/api/dashboardItem/dashboardItem.attributes.js
+++ b/server/api/dashboardItem/dashboardItem.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.controller.js b/server/api/dashboardItem/dashboardItem.controller.js
index 0c4876f..6d09c2c 100644
--- a/server/api/dashboardItem/dashboardItem.controller.js
+++ b/server/api/dashboardItem/dashboardItem.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.events.js b/server/api/dashboardItem/dashboardItem.events.js
index 1abd431..f241312 100644
--- a/server/api/dashboardItem/dashboardItem.events.js
+++ b/server/api/dashboardItem/dashboardItem.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.model.js b/server/api/dashboardItem/dashboardItem.model.js
index edbba49..7ec531f 100644
--- a/server/api/dashboardItem/dashboardItem.model.js
+++ b/server/api/dashboardItem/dashboardItem.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.rpc.js b/server/api/dashboardItem/dashboardItem.rpc.js
index f24799c..2437829 100644
--- a/server/api/dashboardItem/dashboardItem.rpc.js
+++ b/server/api/dashboardItem/dashboardItem.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.socket.js b/server/api/dashboardItem/dashboardItem.socket.js
index dd31dd6..fbf73d2 100644
--- a/server/api/dashboardItem/dashboardItem.socket.js
+++ b/server/api/dashboardItem/dashboardItem.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/index.js b/server/api/dashboardItem/index.js
index bdb23c2..a453e0a 100644
--- a/server/api/dashboardItem/index.js
+++ b/server/api/dashboardItem/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.attributes.js b/server/api/disposition/disposition.attributes.js
index 90c6add..6fc74ca 100644
--- a/server/api/disposition/disposition.attributes.js
+++ b/server/api/disposition/disposition.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.controller.js b/server/api/disposition/disposition.controller.js
index 695109d..f212d45 100644
--- a/server/api/disposition/disposition.controller.js
+++ b/server/api/disposition/disposition.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.model.js b/server/api/disposition/disposition.model.js
index f35365c..7891a01 100644
--- a/server/api/disposition/disposition.model.js
+++ b/server/api/disposition/disposition.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/index.js b/server/api/disposition/index.js
index 741b12c..d010897 100644
--- a/server/api/disposition/index.js
+++ b/server/api/disposition/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.attributes.js b/server/api/faxAccount/faxAccount.attributes.js
index 382f25e..b83794b 100644
--- a/server/api/faxAccount/faxAccount.attributes.js
+++ b/server/api/faxAccount/faxAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.controller.js b/server/api/faxAccount/faxAccount.controller.js
index 4041447..4d34750 100644
--- a/server/api/faxAccount/faxAccount.controller.js
+++ b/server/api/faxAccount/faxAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.events.js b/server/api/faxAccount/faxAccount.events.js
index ac07df8..5f179c2 100644
--- a/server/api/faxAccount/faxAccount.events.js
+++ b/server/api/faxAccount/faxAccount.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.model.js b/server/api/faxAccount/faxAccount.model.js
index b9f32ea..945012b 100644
--- a/server/api/faxAccount/faxAccount.model.js
+++ b/server/api/faxAccount/faxAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.rpc.js b/server/api/faxAccount/faxAccount.rpc.js
index ec8204e..c1330d9 100644
--- a/server/api/faxAccount/faxAccount.rpc.js
+++ b/server/api/faxAccount/faxAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.socket.js b/server/api/faxAccount/faxAccount.socket.js
index 6916f41..33cd7fc 100644
--- a/server/api/faxAccount/faxAccount.socket.js
+++ b/server/api/faxAccount/faxAccount.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/index.js b/server/api/faxAccount/index.js
index f5efbfd..6a18e08 100644
--- a/server/api/faxAccount/index.js
+++ b/server/api/faxAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.attributes.js b/server/api/faxApplication/faxApplication.attributes.js
index 83c3112..eeb9105 100644
--- a/server/api/faxApplication/faxApplication.attributes.js
+++ b/server/api/faxApplication/faxApplication.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.controller.js b/server/api/faxApplication/faxApplication.controller.js
index 5c7da30..4528dc4 100644
--- a/server/api/faxApplication/faxApplication.controller.js
+++ b/server/api/faxApplication/faxApplication.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.model.js b/server/api/faxApplication/faxApplication.model.js
index ddaf3bc..7db1c13 100644
--- a/server/api/faxApplication/faxApplication.model.js
+++ b/server/api/faxApplication/faxApplication.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.rpc.js b/server/api/faxApplication/faxApplication.rpc.js
index f306dcd..aa19faa 100644
--- a/server/api/faxApplication/faxApplication.rpc.js
+++ b/server/api/faxApplication/faxApplication.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/index.js b/server/api/faxApplication/index.js
index 0f5f052..172c173 100644
--- a/server/api/faxApplication/index.js
+++ b/server/api/faxApplication/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.attributes.js b/server/api/faxInteraction/faxInteraction.attributes.js
index 441ff80..991435c 100644
--- a/server/api/faxInteraction/faxInteraction.attributes.js
+++ b/server/api/faxInteraction/faxInteraction.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.controller.js b/server/api/faxInteraction/faxInteraction.controller.js
index 563c04a..706176b 100644
--- a/server/api/faxInteraction/faxInteraction.controller.js
+++ b/server/api/faxInteraction/faxInteraction.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.events.js b/server/api/faxInteraction/faxInteraction.events.js
index 1b5fd62..e366a64 100644
--- a/server/api/faxInteraction/faxInteraction.events.js
+++ b/server/api/faxInteraction/faxInteraction.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.model.js b/server/api/faxInteraction/faxInteraction.model.js
index 5fc0f7f..8a59704 100644
--- a/server/api/faxInteraction/faxInteraction.model.js
+++ b/server/api/faxInteraction/faxInteraction.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.rpc.js b/server/api/faxInteraction/faxInteraction.rpc.js
index 7637d85..1c5e614 100644
--- a/server/api/faxInteraction/faxInteraction.rpc.js
+++ b/server/api/faxInteraction/faxInteraction.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.socket.js b/server/api/faxInteraction/faxInteraction.socket.js
index ef20964..e768c99 100644
--- a/server/api/faxInteraction/faxInteraction.socket.js
+++ b/server/api/faxInteraction/faxInteraction.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/index.js b/server/api/faxInteraction/index.js
index 6da337f..9f20f94 100644
--- a/server/api/faxInteraction/index.js
+++ b/server/api/faxInteraction/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.attributes.js b/server/api/faxMessage/faxMessage.attributes.js
index 20a8c13..f934ebf 100644
--- a/server/api/faxMessage/faxMessage.attributes.js
+++ b/server/api/faxMessage/faxMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.controller.js b/server/api/faxMessage/faxMessage.controller.js
index 9d2500d..94e6c32 100644
--- a/server/api/faxMessage/faxMessage.controller.js
+++ b/server/api/faxMessage/faxMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.events.js b/server/api/faxMessage/faxMessage.events.js
index 8536f3e..deed228 100644
--- a/server/api/faxMessage/faxMessage.events.js
+++ b/server/api/faxMessage/faxMessage.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.model.js b/server/api/faxMessage/faxMessage.model.js
index f61a9cb..5f3a374 100644
--- a/server/api/faxMessage/faxMessage.model.js
+++ b/server/api/faxMessage/faxMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.rpc.js b/server/api/faxMessage/faxMessage.rpc.js
index 19a93e5..8e7f74c 100644
--- a/server/api/faxMessage/faxMessage.rpc.js
+++ b/server/api/faxMessage/faxMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.socket.js b/server/api/faxMessage/faxMessage.socket.js
index 9aa668f..70fb4f4 100644
--- a/server/api/faxMessage/faxMessage.socket.js
+++ b/server/api/faxMessage/faxMessage.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/index.js b/server/api/faxMessage/index.js
index ff21404..ac6079f 100644
--- a/server/api/faxMessage/index.js
+++ b/server/api/faxMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.attributes.js b/server/api/faxQueue/faxQueue.attributes.js
index 77bb8e4..2fc28e7 100644
--- a/server/api/faxQueue/faxQueue.attributes.js
+++ b/server/api/faxQueue/faxQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.controller.js b/server/api/faxQueue/faxQueue.controller.js
index f6dd9fe..920ff44 100644
--- a/server/api/faxQueue/faxQueue.controller.js
+++ b/server/api/faxQueue/faxQueue.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.events.js b/server/api/faxQueue/faxQueue.events.js
index bb2a093..ad40d4a 100644
--- a/server/api/faxQueue/faxQueue.events.js
+++ b/server/api/faxQueue/faxQueue.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.model.js b/server/api/faxQueue/faxQueue.model.js
index f486006..817100d 100644
--- a/server/api/faxQueue/faxQueue.model.js
+++ b/server/api/faxQueue/faxQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.rpc.js b/server/api/faxQueue/faxQueue.rpc.js
index c7224a5..65e96ca 100644
--- a/server/api/faxQueue/faxQueue.rpc.js
+++ b/server/api/faxQueue/faxQueue.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.socket.js b/server/api/faxQueue/faxQueue.socket.js
index 6815f65..28c0020 100644
--- a/server/api/faxQueue/faxQueue.socket.js
+++ b/server/api/faxQueue/faxQueue.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/index.js b/server/api/faxQueue/index.js
index 01266b1..4673f7a 100644
--- a/server/api/faxQueue/index.js
+++ b/server/api/faxQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.attributes.js b/server/api/faxQueueReport/faxQueueReport.attributes.js
index d8ed67a..080daa3 100644
--- a/server/api/faxQueueReport/faxQueueReport.attributes.js
+++ b/server/api/faxQueueReport/faxQueueReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.controller.js b/server/api/faxQueueReport/faxQueueReport.controller.js
index d619923..a4aadc5 100644
--- a/server/api/faxQueueReport/faxQueueReport.controller.js
+++ b/server/api/faxQueueReport/faxQueueReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.model.js b/server/api/faxQueueReport/faxQueueReport.model.js
index a727455..d553941 100644
--- a/server/api/faxQueueReport/faxQueueReport.model.js
+++ b/server/api/faxQueueReport/faxQueueReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.rpc.js b/server/api/faxQueueReport/faxQueueReport.rpc.js
index 38f966c..10a0894 100644
--- a/server/api/faxQueueReport/faxQueueReport.rpc.js
+++ b/server/api/faxQueueReport/faxQueueReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/index.js b/server/api/faxQueueReport/index.js
index 5bce90b..ef12c22 100644
--- a/server/api/faxQueueReport/index.js
+++ b/server/api/faxQueueReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.attributes.js b/server/api/faxTransferReport/faxTransferReport.attributes.js
index f17f526..549440e 100644
--- a/server/api/faxTransferReport/faxTransferReport.attributes.js
+++ b/server/api/faxTransferReport/faxTransferReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.controller.js b/server/api/faxTransferReport/faxTransferReport.controller.js
index 18c865c..5c042c8 100644
--- a/server/api/faxTransferReport/faxTransferReport.controller.js
+++ b/server/api/faxTransferReport/faxTransferReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.model.js b/server/api/faxTransferReport/faxTransferReport.model.js
index 570bba6..e4bb2e2 100644
--- a/server/api/faxTransferReport/faxTransferReport.model.js
+++ b/server/api/faxTransferReport/faxTransferReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/index.js b/server/api/faxTransferReport/index.js
index a2a4f6c..622ee2a 100644
--- a/server/api/faxTransferReport/index.js
+++ b/server/api/faxTransferReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/index.js b/server/api/intDeskAccount/index.js
index eca3681..d4b01b4 100644
--- a/server/api/intDeskAccount/index.js
+++ b/server/api/intDeskAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.attributes.js b/server/api/intDeskAccount/intDeskAccount.attributes.js
index 20e33d2..f8cd4ad 100644
--- a/server/api/intDeskAccount/intDeskAccount.attributes.js
+++ b/server/api/intDeskAccount/intDeskAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.controller.js b/server/api/intDeskAccount/intDeskAccount.controller.js
index 97a3376..db78013 100644
--- a/server/api/intDeskAccount/intDeskAccount.controller.js
+++ b/server/api/intDeskAccount/intDeskAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.model.js b/server/api/intDeskAccount/intDeskAccount.model.js
index 0e467c8..6893e9d 100644
--- a/server/api/intDeskAccount/intDeskAccount.model.js
+++ b/server/api/intDeskAccount/intDeskAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.rpc.js b/server/api/intDeskAccount/intDeskAccount.rpc.js
index 672f2a9..6269323 100644
--- a/server/api/intDeskAccount/intDeskAccount.rpc.js
+++ b/server/api/intDeskAccount/intDeskAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/index.js b/server/api/intDeskConfiguration/index.js
index 5708f2f..5107c39 100644
--- a/server/api/intDeskConfiguration/index.js
+++ b/server/api/intDeskConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js b/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
index fa7da3e..d3b1ac0 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.controller.js b/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
index 092e244..b0dd97d 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.model.js b/server/api/intDeskConfiguration/intDeskConfiguration.model.js
index 87036b8..2ba26c9 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.model.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/index.js b/server/api/intDeskField/index.js
index 69a57af..289f756 100644
--- a/server/api/intDeskField/index.js
+++ b/server/api/intDeskField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.attributes.js b/server/api/intDeskField/intDeskField.attributes.js
index bced330..7be86f9 100644
--- a/server/api/intDeskField/intDeskField.attributes.js
+++ b/server/api/intDeskField/intDeskField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.controller.js b/server/api/intDeskField/intDeskField.controller.js
index fea77b3..a33e70e 100644
--- a/server/api/intDeskField/intDeskField.controller.js
+++ b/server/api/intDeskField/intDeskField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.model.js b/server/api/intDeskField/intDeskField.model.js
index 00a5017..966b5c9 100644
--- a/server/api/intDeskField/intDeskField.model.js
+++ b/server/api/intDeskField/intDeskField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/index.js b/server/api/intDynamics365Account/index.js
index d80b8ba..f37fe32 100644
--- a/server/api/intDynamics365Account/index.js
+++ b/server/api/intDynamics365Account/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.attributes.js b/server/api/intDynamics365Account/intDynamics365Account.attributes.js
index 9cc2abd..33b32b3 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.attributes.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.controller.js b/server/api/intDynamics365Account/intDynamics365Account.controller.js
index 30f9584..54beb41 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.controller.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.model.js b/server/api/intDynamics365Account/intDynamics365Account.model.js
index 9fd4166..39ea3bb 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.model.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.rpc.js b/server/api/intDynamics365Account/intDynamics365Account.rpc.js
index 29b3e5d..a5bf960 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.rpc.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/index.js b/server/api/intDynamics365Configuration/index.js
index 66af12c..6bc249f 100644
--- a/server/api/intDynamics365Configuration/index.js
+++ b/server/api/intDynamics365Configuration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
index 636d6c1..c42eef2 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
index 6f98172..d90b783 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
index faa5d01..f44dce9 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
@@ -1 +1 @@
-'use strict';const attributes=require('./intDynamics365Configuration.attributes');module['exports']=function(_0x33639f){const _0x34b97f=_0x33639f['define']('Dynamics365Configuration',attributes,{'tableName':'int_dynamics365_configurations','paranoid':![],'indexes':[],'timestamps':!![]});return _0x34b97f;};
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/index.js b/server/api/intDynamics365Field/index.js
index e3fba94..23a2b11 100644
--- a/server/api/intDynamics365Field/index.js
+++ b/server/api/intDynamics365Field/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.attributes.js b/server/api/intDynamics365Field/intDynamics365Field.attributes.js
index 4fb457d..3b1e5e5 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.attributes.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.controller.js b/server/api/intDynamics365Field/intDynamics365Field.controller.js
index 90a9806..817c2d9 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.controller.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.model.js b/server/api/intDynamics365Field/intDynamics365Field.model.js
index 3e1fe6a..981b24a 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.model.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/index.js b/server/api/intFreshdeskAccount/index.js
index 104cd1d..9889456 100644
--- a/server/api/intFreshdeskAccount/index.js
+++ b/server/api/intFreshdeskAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
index cd207b4..b487f6c 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
index a245168..bcf16d4 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
index e5c99ef..821804f 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
index f253ad3..1800168 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/index.js b/server/api/intFreshdeskConfiguration/index.js
index 8495283..a220c25 100644
--- a/server/api/intFreshdeskConfiguration/index.js
+++ b/server/api/intFreshdeskConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
index b992cc7..446684d 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
index f687933..7ca0b0b 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
index ef27584..a047b84 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/index.js b/server/api/intFreshdeskField/index.js
index 94e1962..9ccd8d1 100644
--- a/server/api/intFreshdeskField/index.js
+++ b/server/api/intFreshdeskField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.attributes.js b/server/api/intFreshdeskField/intFreshdeskField.attributes.js
index 6825c73..e08569a 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.attributes.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.controller.js b/server/api/intFreshdeskField/intFreshdeskField.controller.js
index 69ea292..5feac2e 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.controller.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.model.js b/server/api/intFreshdeskField/intFreshdeskField.model.js
index c5be9c5..41379c1 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.model.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/index.js b/server/api/intFreshsalesAccount/index.js
index b603fad..c0c82fa 100644
--- a/server/api/intFreshsalesAccount/index.js
+++ b/server/api/intFreshsalesAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js
index 388fb7b..4926447 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js
index 948d4ab..4a84726 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js
index ccc5945..7438249 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js b/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js
index b0c9cd1..e2a0b84 100644
--- a/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js
+++ b/server/api/intFreshsalesAccount/intFreshsalesAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/index.js b/server/api/intFreshsalesConfiguration/index.js
index 0e73d62..93e8826 100644
--- a/server/api/intFreshsalesConfiguration/index.js
+++ b/server/api/intFreshsalesConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js
index e6ee5a9..409d3b4 100644
--- a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js
+++ b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js
index 88900fc..ad458e8 100644
--- a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js
+++ b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js
index e994952..527db38 100644
--- a/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js
+++ b/server/api/intFreshsalesConfiguration/intFreshsalesConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/index.js b/server/api/intFreshsalesField/index.js
index ba74fd4..e5a0c61 100644
--- a/server/api/intFreshsalesField/index.js
+++ b/server/api/intFreshsalesField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/intFreshsalesField.attributes.js b/server/api/intFreshsalesField/intFreshsalesField.attributes.js
index f7edd42..7e126ba 100644
--- a/server/api/intFreshsalesField/intFreshsalesField.attributes.js
+++ b/server/api/intFreshsalesField/intFreshsalesField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/intFreshsalesField.controller.js b/server/api/intFreshsalesField/intFreshsalesField.controller.js
index 4b31ec2..5094776 100644
--- a/server/api/intFreshsalesField/intFreshsalesField.controller.js
+++ b/server/api/intFreshsalesField/intFreshsalesField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshsalesField/intFreshsalesField.model.js b/server/api/intFreshsalesField/intFreshsalesField.model.js
index c93cb11..ee38904 100644
--- a/server/api/intFreshsalesField/intFreshsalesField.model.js
+++ b/server/api/intFreshsalesField/intFreshsalesField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/index.js b/server/api/intSalesforceAccount/index.js
index 5299f31..020b571 100644
--- a/server/api/intSalesforceAccount/index.js
+++ b/server/api/intSalesforceAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js b/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
index 515dbdb..389a105 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.controller.js b/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
index 51cd9a5..c05ed05 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.model.js b/server/api/intSalesforceAccount/intSalesforceAccount.model.js
index da60bf6..85666d5 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.model.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js b/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
index 3278e0c..89386ca 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/index.js b/server/api/intSalesforceConfiguration/index.js
index fc9f77c..500c944 100644
--- a/server/api/intSalesforceConfiguration/index.js
+++ b/server/api/intSalesforceConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
index 19cc3e1..4616dd7 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
index 84137fe..02a7d7e 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
index 0996070..caf5b19 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/index.js b/server/api/intSalesforceField/index.js
index e22d12b..6477f7a 100644
--- a/server/api/intSalesforceField/index.js
+++ b/server/api/intSalesforceField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.attributes.js b/server/api/intSalesforceField/intSalesforceField.attributes.js
index 899eb84..8192c0a 100644
--- a/server/api/intSalesforceField/intSalesforceField.attributes.js
+++ b/server/api/intSalesforceField/intSalesforceField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.controller.js b/server/api/intSalesforceField/intSalesforceField.controller.js
index a7bd074..afc0409 100644
--- a/server/api/intSalesforceField/intSalesforceField.controller.js
+++ b/server/api/intSalesforceField/intSalesforceField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.model.js b/server/api/intSalesforceField/intSalesforceField.model.js
index 468a85b..e9a047b 100644
--- a/server/api/intSalesforceField/intSalesforceField.model.js
+++ b/server/api/intSalesforceField/intSalesforceField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/index.js b/server/api/intServicenowAccount/index.js
index 9248f9a..cde6138 100644
--- a/server/api/intServicenowAccount/index.js
+++ b/server/api/intServicenowAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.attributes.js b/server/api/intServicenowAccount/intServicenowAccount.attributes.js
index 96fc82c..60e219d 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.attributes.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.controller.js b/server/api/intServicenowAccount/intServicenowAccount.controller.js
index 5967fe4..c2c3364 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.controller.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.model.js b/server/api/intServicenowAccount/intServicenowAccount.model.js
index 866f4e0..dfd1edd 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.model.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.rpc.js b/server/api/intServicenowAccount/intServicenowAccount.rpc.js
index d13119f..1fd83de 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.rpc.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/index.js b/server/api/intServicenowConfiguration/index.js
index 1860e68..20c98dc 100644
--- a/server/api/intServicenowConfiguration/index.js
+++ b/server/api/intServicenowConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
index caec375..e88d6c1 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
index 6d1fdf5..320965a 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
index 1fe3fa0..f3af15e 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/index.js b/server/api/intServicenowField/index.js
index 553c5fe..0e0a0a8 100644
--- a/server/api/intServicenowField/index.js
+++ b/server/api/intServicenowField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.attributes.js b/server/api/intServicenowField/intServicenowField.attributes.js
index c661a1e..b56edbc 100644
--- a/server/api/intServicenowField/intServicenowField.attributes.js
+++ b/server/api/intServicenowField/intServicenowField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.controller.js b/server/api/intServicenowField/intServicenowField.controller.js
index 37cc905..e38136d 100644
--- a/server/api/intServicenowField/intServicenowField.controller.js
+++ b/server/api/intServicenowField/intServicenowField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.model.js b/server/api/intServicenowField/intServicenowField.model.js
index 22e00e3..c11180c 100644
--- a/server/api/intServicenowField/intServicenowField.model.js
+++ b/server/api/intServicenowField/intServicenowField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/index.js b/server/api/intSugarcrmAccount/index.js
index e8352d7..e429269 100644
--- a/server/api/intSugarcrmAccount/index.js
+++ b/server/api/intSugarcrmAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
index 2db1b87..7ed472d 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
index d1f6afe..8f198b4 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
index eccff06..6af9989 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
index 9e6fddb..5e77773 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/index.js b/server/api/intSugarcrmConfiguration/index.js
index 0efe3ab..5e8b0d1 100644
--- a/server/api/intSugarcrmConfiguration/index.js
+++ b/server/api/intSugarcrmConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
index 2799ff6..2894471 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
index 759682b..e1d2c3b 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
index 0e0532c..4e12fec 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/index.js b/server/api/intSugarcrmField/index.js
index 86cdba1..411b4bf 100644
--- a/server/api/intSugarcrmField/index.js
+++ b/server/api/intSugarcrmField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.attributes.js b/server/api/intSugarcrmField/intSugarcrmField.attributes.js
index 73751fc..1628e5c 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.attributes.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.controller.js b/server/api/intSugarcrmField/intSugarcrmField.controller.js
index e9331f7..f7cc697 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.controller.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.model.js b/server/api/intSugarcrmField/intSugarcrmField.model.js
index 4a98704..6e5213a 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.model.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/index.js b/server/api/intVtigerAccount/index.js
index d6842ee..eb8902a 100644
--- a/server/api/intVtigerAccount/index.js
+++ b/server/api/intVtigerAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.attributes.js b/server/api/intVtigerAccount/intVtigerAccount.attributes.js
index 357a369..22cbd87 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.attributes.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.controller.js b/server/api/intVtigerAccount/intVtigerAccount.controller.js
index b7113d1..022dc31 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.controller.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.model.js b/server/api/intVtigerAccount/intVtigerAccount.model.js
index 6cf9e67..247ac5a 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.model.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.rpc.js b/server/api/intVtigerAccount/intVtigerAccount.rpc.js
index 686736e..3f1b418 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.rpc.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/index.js b/server/api/intVtigerConfiguration/index.js
index f0cab23..c4e2cf0 100644
--- a/server/api/intVtigerConfiguration/index.js
+++ b/server/api/intVtigerConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
index 512e984..9a0f511 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
index fa2dcae..b4ea1eb 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
index 7ca3651..48f5ea6 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/index.js b/server/api/intVtigerField/index.js
index 35f2294..bdc1c99 100644
--- a/server/api/intVtigerField/index.js
+++ b/server/api/intVtigerField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.attributes.js b/server/api/intVtigerField/intVtigerField.attributes.js
index 6c5ba4c..35428bc 100644
--- a/server/api/intVtigerField/intVtigerField.attributes.js
+++ b/server/api/intVtigerField/intVtigerField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.controller.js b/server/api/intVtigerField/intVtigerField.controller.js
index f0d4426..762a9a1 100644
--- a/server/api/intVtigerField/intVtigerField.controller.js
+++ b/server/api/intVtigerField/intVtigerField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.model.js b/server/api/intVtigerField/intVtigerField.model.js
index fa571e6..122f110 100644
--- a/server/api/intVtigerField/intVtigerField.model.js
+++ b/server/api/intVtigerField/intVtigerField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/index.js b/server/api/intZendeskAccount/index.js
index e5c752f..48e4593 100644
--- a/server/api/intZendeskAccount/index.js
+++ b/server/api/intZendeskAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.attributes.js b/server/api/intZendeskAccount/intZendeskAccount.attributes.js
index 4152808..d26ff7d 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.attributes.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.controller.js b/server/api/intZendeskAccount/intZendeskAccount.controller.js
index 17f19b1..5a091a1 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.controller.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.model.js b/server/api/intZendeskAccount/intZendeskAccount.model.js
index 1d5f658..d8e632f 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.model.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.rpc.js b/server/api/intZendeskAccount/intZendeskAccount.rpc.js
index 5268628..09046d3 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.rpc.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/index.js b/server/api/intZendeskConfiguration/index.js
index 9ce4ae5..f4dc280 100644
--- a/server/api/intZendeskConfiguration/index.js
+++ b/server/api/intZendeskConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
index e205241..3217de9 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
index d9f6e02..f6b4752 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
index c435471..aee8193 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/index.js b/server/api/intZendeskField/index.js
index 1b5f7aa..03f0185 100644
--- a/server/api/intZendeskField/index.js
+++ b/server/api/intZendeskField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.attributes.js b/server/api/intZendeskField/intZendeskField.attributes.js
index 653cb7e..0805b3c 100644
--- a/server/api/intZendeskField/intZendeskField.attributes.js
+++ b/server/api/intZendeskField/intZendeskField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.controller.js b/server/api/intZendeskField/intZendeskField.controller.js
index 6d4fd5f..c72ffc6 100644
--- a/server/api/intZendeskField/intZendeskField.controller.js
+++ b/server/api/intZendeskField/intZendeskField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.model.js b/server/api/intZendeskField/intZendeskField.model.js
index ba4245b..44d8636 100644
--- a/server/api/intZendeskField/intZendeskField.model.js
+++ b/server/api/intZendeskField/intZendeskField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/index.js b/server/api/intZohoAccount/index.js
index c5e9055..66079f7 100644
--- a/server/api/intZohoAccount/index.js
+++ b/server/api/intZohoAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.attributes.js b/server/api/intZohoAccount/intZohoAccount.attributes.js
index 3020073..4521802 100644
--- a/server/api/intZohoAccount/intZohoAccount.attributes.js
+++ b/server/api/intZohoAccount/intZohoAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.controller.js b/server/api/intZohoAccount/intZohoAccount.controller.js
index 81966ff..c979b27 100644
--- a/server/api/intZohoAccount/intZohoAccount.controller.js
+++ b/server/api/intZohoAccount/intZohoAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.model.js b/server/api/intZohoAccount/intZohoAccount.model.js
index 1d58516..59a28e1 100644
--- a/server/api/intZohoAccount/intZohoAccount.model.js
+++ b/server/api/intZohoAccount/intZohoAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.rpc.js b/server/api/intZohoAccount/intZohoAccount.rpc.js
index e6a3f67..4a449fd 100644
--- a/server/api/intZohoAccount/intZohoAccount.rpc.js
+++ b/server/api/intZohoAccount/intZohoAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/index.js b/server/api/intZohoConfiguration/index.js
index 312bde0..e4a63f5 100644
--- a/server/api/intZohoConfiguration/index.js
+++ b/server/api/intZohoConfiguration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js b/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
index 5f761de..3096062 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.controller.js b/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
index b743978..e78170b 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.model.js b/server/api/intZohoConfiguration/intZohoConfiguration.model.js
index 8f289d8..64005e8 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.model.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/index.js b/server/api/intZohoField/index.js
index d775425..1e71783 100644
--- a/server/api/intZohoField/index.js
+++ b/server/api/intZohoField/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.attributes.js b/server/api/intZohoField/intZohoField.attributes.js
index a69e346..eb176ab 100644
--- a/server/api/intZohoField/intZohoField.attributes.js
+++ b/server/api/intZohoField/intZohoField.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.controller.js b/server/api/intZohoField/intZohoField.controller.js
index be52d26..c3a008b 100644
--- a/server/api/intZohoField/intZohoField.controller.js
+++ b/server/api/intZohoField/intZohoField.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.model.js b/server/api/intZohoField/intZohoField.model.js
index f481f64..414d4ec 100644
--- a/server/api/intZohoField/intZohoField.model.js
+++ b/server/api/intZohoField/intZohoField.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/index.js b/server/api/integration/index.js
index 68aa5cd..6e2f8ac 100644
--- a/server/api/integration/index.js
+++ b/server/api/integration/index.js
@@ -1 +1 @@
\ No newline at end of file
+const a357_0x4a1f=['exports','express'];(function(_0x181660,_0x4a1f1c){const _0x393b91=function(_0x12ea2f){while(--_0x12ea2f){_0x181660['push'](_0x181660['shift']());}};_0x393b91(++_0x4a1f1c);}(a357_0x4a1f,0x157));const a357_0x393b=function(_0x181660,_0x4a1f1c){_0x181660=_0x181660-0x0;let _0x393b91=a357_0x4a1f[_0x181660];return _0x393b91;};const _0x4ab555=a357_0x393b;'use strict';const express=require(_0x4ab555('0x0')),router=express['Router']();module[_0x4ab555('0x1')]=router;
\ No newline at end of file
diff --git a/server/api/integration/integration.attributes.js b/server/api/integration/integration.attributes.js
index 38ddc79..e45d8ce 100644
--- a/server/api/integration/integration.attributes.js
+++ b/server/api/integration/integration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.controller.js b/server/api/integration/integration.controller.js
index b9f80d5..2ee473a 100644
--- a/server/api/integration/integration.controller.js
+++ b/server/api/integration/integration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.model.js b/server/api/integration/integration.model.js
index c926d20..2500a38 100644
--- a/server/api/integration/integration.model.js
+++ b/server/api/integration/integration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/index.js b/server/api/integrationReport/index.js
index 1a979cc..6bd8e89 100644
--- a/server/api/integrationReport/index.js
+++ b/server/api/integrationReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.attributes.js b/server/api/integrationReport/integrationReport.attributes.js
index c3162e9..fbd47c2 100644
--- a/server/api/integrationReport/integrationReport.attributes.js
+++ b/server/api/integrationReport/integrationReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.controller.js b/server/api/integrationReport/integrationReport.controller.js
index 556cd56..19ddc3e 100644
--- a/server/api/integrationReport/integrationReport.controller.js
+++ b/server/api/integrationReport/integrationReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.model.js b/server/api/integrationReport/integrationReport.model.js
index 4b39732..afc4bcb 100644
--- a/server/api/integrationReport/integrationReport.model.js
+++ b/server/api/integrationReport/integrationReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/index.js b/server/api/interval/index.js
index d05c1ae..35283df 100644
--- a/server/api/interval/index.js
+++ b/server/api/interval/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.attributes.js b/server/api/interval/interval.attributes.js
index 85c2aee..025b9be 100644
--- a/server/api/interval/interval.attributes.js
+++ b/server/api/interval/interval.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.controller.js b/server/api/interval/interval.controller.js
index 65bcfcd..69067db 100644
--- a/server/api/interval/interval.controller.js
+++ b/server/api/interval/interval.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.model.js b/server/api/interval/interval.model.js
index 29a8dd9..d8537b9 100644
--- a/server/api/interval/interval.model.js
+++ b/server/api/interval/interval.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.rpc.js b/server/api/interval/interval.rpc.js
index 22f015e..b3fc62c 100644
--- a/server/api/interval/interval.rpc.js
+++ b/server/api/interval/interval.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jira/index.js b/server/api/jira/index.js
index d116378..fe8fcf3 100644
--- a/server/api/jira/index.js
+++ b/server/api/jira/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jira/jira.controller.js b/server/api/jira/jira.controller.js
index b0ec2e1..aba5b42 100644
--- a/server/api/jira/jira.controller.js
+++ b/server/api/jira/jira.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/index.js b/server/api/jscriptyAnswerReport/index.js
index 1da0275..bde1a53 100644
--- a/server/api/jscriptyAnswerReport/index.js
+++ b/server/api/jscriptyAnswerReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
index 741de54..e8065f7 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
index 25ad0fd..3a9a9e0 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
index 0a19329..10c754b 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/index.js b/server/api/jscriptyProject/index.js
index 68fa7f5..f98b563 100644
--- a/server/api/jscriptyProject/index.js
+++ b/server/api/jscriptyProject/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.attributes.js b/server/api/jscriptyProject/jscriptyProject.attributes.js
index a99f1c1..96447eb 100644
--- a/server/api/jscriptyProject/jscriptyProject.attributes.js
+++ b/server/api/jscriptyProject/jscriptyProject.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.controller.js b/server/api/jscriptyProject/jscriptyProject.controller.js
index 114157e..dcff5bb 100644
--- a/server/api/jscriptyProject/jscriptyProject.controller.js
+++ b/server/api/jscriptyProject/jscriptyProject.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.model.js b/server/api/jscriptyProject/jscriptyProject.model.js
index ccf4d6f..19460de 100644
--- a/server/api/jscriptyProject/jscriptyProject.model.js
+++ b/server/api/jscriptyProject/jscriptyProject.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/index.js b/server/api/jscriptyQuestionReport/index.js
index 4f75679..2a0dc4d 100644
--- a/server/api/jscriptyQuestionReport/index.js
+++ b/server/api/jscriptyQuestionReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
index 71c6ace..1752e5a 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
index a3530c9..b825337 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
index a7bc8d4..6befec1 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/index.js b/server/api/jscriptySessionReport/index.js
index b88593f..60bb070 100644
--- a/server/api/jscriptySessionReport/index.js
+++ b/server/api/jscriptySessionReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js b/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
index a7b160c..56924b0 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.controller.js b/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
index 265a4f4..68d021b 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.model.js b/server/api/jscriptySessionReport/jscriptySessionReport.model.js
index 0483eab..d1c3409 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.model.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/index.js b/server/api/license/index.js
index 61568aa..acf9188 100644
--- a/server/api/license/index.js
+++ b/server/api/license/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.attributes.js b/server/api/license/license.attributes.js
index 3232675..867281e 100644
--- a/server/api/license/license.attributes.js
+++ b/server/api/license/license.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.controller.js b/server/api/license/license.controller.js
index 55a540c..e253272 100644
--- a/server/api/license/license.controller.js
+++ b/server/api/license/license.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.model.js b/server/api/license/license.model.js
index 87cb765..f1777b8 100644
--- a/server/api/license/license.model.js
+++ b/server/api/license/license.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/index.js b/server/api/mailAccount/index.js
index 5b3c584..6b15a93 100644
--- a/server/api/mailAccount/index.js
+++ b/server/api/mailAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.attributes.js b/server/api/mailAccount/mailAccount.attributes.js
index e9f079c..7c67d31 100644
--- a/server/api/mailAccount/mailAccount.attributes.js
+++ b/server/api/mailAccount/mailAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.controller.js b/server/api/mailAccount/mailAccount.controller.js
index a291de8..3bdd945 100644
--- a/server/api/mailAccount/mailAccount.controller.js
+++ b/server/api/mailAccount/mailAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.events.js b/server/api/mailAccount/mailAccount.events.js
index 15b86f7..a22664d 100644
--- a/server/api/mailAccount/mailAccount.events.js
+++ b/server/api/mailAccount/mailAccount.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.model.js b/server/api/mailAccount/mailAccount.model.js
index f365c6b..c36e5ac 100644
--- a/server/api/mailAccount/mailAccount.model.js
+++ b/server/api/mailAccount/mailAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.rpc.js b/server/api/mailAccount/mailAccount.rpc.js
index 7001ffd..6fc243f 100644
--- a/server/api/mailAccount/mailAccount.rpc.js
+++ b/server/api/mailAccount/mailAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.socket.js b/server/api/mailAccount/mailAccount.socket.js
index 9e149b1..a723dc3 100644
--- a/server/api/mailAccount/mailAccount.socket.js
+++ b/server/api/mailAccount/mailAccount.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/index.js b/server/api/mailApplication/index.js
index cf6e8ff..5c8abe0 100644
--- a/server/api/mailApplication/index.js
+++ b/server/api/mailApplication/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.attributes.js b/server/api/mailApplication/mailApplication.attributes.js
index c615085..c20ae2c 100644
--- a/server/api/mailApplication/mailApplication.attributes.js
+++ b/server/api/mailApplication/mailApplication.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.controller.js b/server/api/mailApplication/mailApplication.controller.js
index 072659e..a0432a3 100644
--- a/server/api/mailApplication/mailApplication.controller.js
+++ b/server/api/mailApplication/mailApplication.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.model.js b/server/api/mailApplication/mailApplication.model.js
index f658660..f6b9eaf 100644
--- a/server/api/mailApplication/mailApplication.model.js
+++ b/server/api/mailApplication/mailApplication.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.rpc.js b/server/api/mailApplication/mailApplication.rpc.js
index e433978..db14d63 100644
--- a/server/api/mailApplication/mailApplication.rpc.js
+++ b/server/api/mailApplication/mailApplication.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/index.js b/server/api/mailInteraction/index.js
index ff11677..23940fc 100644
--- a/server/api/mailInteraction/index.js
+++ b/server/api/mailInteraction/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.attributes.js b/server/api/mailInteraction/mailInteraction.attributes.js
index a097c55..e030536 100644
--- a/server/api/mailInteraction/mailInteraction.attributes.js
+++ b/server/api/mailInteraction/mailInteraction.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.controller.js b/server/api/mailInteraction/mailInteraction.controller.js
index a957ebc..856fc11 100644
--- a/server/api/mailInteraction/mailInteraction.controller.js
+++ b/server/api/mailInteraction/mailInteraction.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.events.js b/server/api/mailInteraction/mailInteraction.events.js
index cade796..ef3d5e3 100644
--- a/server/api/mailInteraction/mailInteraction.events.js
+++ b/server/api/mailInteraction/mailInteraction.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.model.js b/server/api/mailInteraction/mailInteraction.model.js
index 34c6d57..ed66141 100644
--- a/server/api/mailInteraction/mailInteraction.model.js
+++ b/server/api/mailInteraction/mailInteraction.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.rpc.js b/server/api/mailInteraction/mailInteraction.rpc.js
index 630be3b..c298f43 100644
--- a/server/api/mailInteraction/mailInteraction.rpc.js
+++ b/server/api/mailInteraction/mailInteraction.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.socket.js b/server/api/mailInteraction/mailInteraction.socket.js
index 1427d8a..3b124f7 100644
--- a/server/api/mailInteraction/mailInteraction.socket.js
+++ b/server/api/mailInteraction/mailInteraction.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/index.js b/server/api/mailMessage/index.js
index bad9c73..fa3da74 100644
--- a/server/api/mailMessage/index.js
+++ b/server/api/mailMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.attributes.js b/server/api/mailMessage/mailMessage.attributes.js
index 731acbb..324396a 100644
--- a/server/api/mailMessage/mailMessage.attributes.js
+++ b/server/api/mailMessage/mailMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.controller.js b/server/api/mailMessage/mailMessage.controller.js
index 2ce0607..ffca56b 100644
--- a/server/api/mailMessage/mailMessage.controller.js
+++ b/server/api/mailMessage/mailMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.events.js b/server/api/mailMessage/mailMessage.events.js
index bec97c9..e6f4813 100644
--- a/server/api/mailMessage/mailMessage.events.js
+++ b/server/api/mailMessage/mailMessage.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.model.js b/server/api/mailMessage/mailMessage.model.js
index 5801571..d3194b2 100644
--- a/server/api/mailMessage/mailMessage.model.js
+++ b/server/api/mailMessage/mailMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.rpc.js b/server/api/mailMessage/mailMessage.rpc.js
index 01d5a7b..125723e 100644
--- a/server/api/mailMessage/mailMessage.rpc.js
+++ b/server/api/mailMessage/mailMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.socket.js b/server/api/mailMessage/mailMessage.socket.js
index 01d2e45..8a31963 100644
--- a/server/api/mailMessage/mailMessage.socket.js
+++ b/server/api/mailMessage/mailMessage.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/index.js b/server/api/mailQueue/index.js
index 029c6ae..fad9a2d 100644
--- a/server/api/mailQueue/index.js
+++ b/server/api/mailQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.attributes.js b/server/api/mailQueue/mailQueue.attributes.js
index dee7ed2..c0b4ba9 100644
--- a/server/api/mailQueue/mailQueue.attributes.js
+++ b/server/api/mailQueue/mailQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.controller.js b/server/api/mailQueue/mailQueue.controller.js
index 11f36c2..fcfd946 100644
--- a/server/api/mailQueue/mailQueue.controller.js
+++ b/server/api/mailQueue/mailQueue.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.events.js b/server/api/mailQueue/mailQueue.events.js
index 9863b9b..fc6a238 100644
--- a/server/api/mailQueue/mailQueue.events.js
+++ b/server/api/mailQueue/mailQueue.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.model.js b/server/api/mailQueue/mailQueue.model.js
index b5cb31f..9e6293e 100644
--- a/server/api/mailQueue/mailQueue.model.js
+++ b/server/api/mailQueue/mailQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.rpc.js b/server/api/mailQueue/mailQueue.rpc.js
index dbe5276..e954c9b 100644
--- a/server/api/mailQueue/mailQueue.rpc.js
+++ b/server/api/mailQueue/mailQueue.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.socket.js b/server/api/mailQueue/mailQueue.socket.js
index 429df3d..8dde9ef 100644
--- a/server/api/mailQueue/mailQueue.socket.js
+++ b/server/api/mailQueue/mailQueue.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/index.js b/server/api/mailQueueReport/index.js
index 87ea801..4c45dc4 100644
--- a/server/api/mailQueueReport/index.js
+++ b/server/api/mailQueueReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.attributes.js b/server/api/mailQueueReport/mailQueueReport.attributes.js
index 10771ba..f089d16 100644
--- a/server/api/mailQueueReport/mailQueueReport.attributes.js
+++ b/server/api/mailQueueReport/mailQueueReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.controller.js b/server/api/mailQueueReport/mailQueueReport.controller.js
index 78f4ade..2810cf5 100644
--- a/server/api/mailQueueReport/mailQueueReport.controller.js
+++ b/server/api/mailQueueReport/mailQueueReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.model.js b/server/api/mailQueueReport/mailQueueReport.model.js
index 0d66fb8..b6ef0d7 100644
--- a/server/api/mailQueueReport/mailQueueReport.model.js
+++ b/server/api/mailQueueReport/mailQueueReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.rpc.js b/server/api/mailQueueReport/mailQueueReport.rpc.js
index 2091527..7957e94 100644
--- a/server/api/mailQueueReport/mailQueueReport.rpc.js
+++ b/server/api/mailQueueReport/mailQueueReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/index.js b/server/api/mailServerIn/index.js
index 643f2aa..a68a824 100644
--- a/server/api/mailServerIn/index.js
+++ b/server/api/mailServerIn/index.js
@@ -1 +1 @@
-const a430_0x4d2a=['Router','exports','express'];(function(_0x1f1c55,_0x4d2aaf){const _0x394501=function(_0x1b6464){while(--_0x1b6464){_0x1f1c55['push'](_0x1f1c55['shift']());}};_0x394501(++_0x4d2aaf);}(a430_0x4d2a,0x76));const a430_0x3945=function(_0x1f1c55,_0x4d2aaf){_0x1f1c55=_0x1f1c55-0x0;let _0x394501=a430_0x4d2a[_0x1f1c55];return _0x394501;};const _0x3f3fe8=a430_0x3945;'use strict';const express=require(_0x3f3fe8('0x1')),router=express[_0x3f3fe8('0x2')]();module[_0x3f3fe8('0x0')]=router;
\ No newline at end of file
+const a430_0x10cb=['exports','express'];(function(_0xeeacef,_0x10cb38){const _0x463fe2=function(_0x40ce5f){while(--_0x40ce5f){_0xeeacef['push'](_0xeeacef['shift']());}};_0x463fe2(++_0x10cb38);}(a430_0x10cb,0xf5));const a430_0x463f=function(_0xeeacef,_0x10cb38){_0xeeacef=_0xeeacef-0x0;let _0x463fe2=a430_0x10cb[_0xeeacef];return _0x463fe2;};const _0x3697e7=a430_0x463f;'use strict';const express=require(_0x3697e7('0x0')),router=express['Router']();module[_0x3697e7('0x1')]=router;
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.attributes.js b/server/api/mailServerIn/mailServerIn.attributes.js
index 79c0b16..4bb44e7 100644
--- a/server/api/mailServerIn/mailServerIn.attributes.js
+++ b/server/api/mailServerIn/mailServerIn.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.model.js b/server/api/mailServerIn/mailServerIn.model.js
index 75a348d..d7a8d4c 100644
--- a/server/api/mailServerIn/mailServerIn.model.js
+++ b/server/api/mailServerIn/mailServerIn.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.rpc.js b/server/api/mailServerIn/mailServerIn.rpc.js
index 20f216d..9999832 100644
--- a/server/api/mailServerIn/mailServerIn.rpc.js
+++ b/server/api/mailServerIn/mailServerIn.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/index.js b/server/api/mailServerOut/index.js
index d08cee6..fe4323e 100644
--- a/server/api/mailServerOut/index.js
+++ b/server/api/mailServerOut/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.attributes.js b/server/api/mailServerOut/mailServerOut.attributes.js
index b02a846..c89a34e 100644
--- a/server/api/mailServerOut/mailServerOut.attributes.js
+++ b/server/api/mailServerOut/mailServerOut.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.controller.js b/server/api/mailServerOut/mailServerOut.controller.js
index e46ac07..c67b1c8 100644
--- a/server/api/mailServerOut/mailServerOut.controller.js
+++ b/server/api/mailServerOut/mailServerOut.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.model.js b/server/api/mailServerOut/mailServerOut.model.js
index 80082d7..786a9b3 100644
--- a/server/api/mailServerOut/mailServerOut.model.js
+++ b/server/api/mailServerOut/mailServerOut.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/index.js b/server/api/mailSubstatus/index.js
index 279ebc6..1f18017 100644
--- a/server/api/mailSubstatus/index.js
+++ b/server/api/mailSubstatus/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.attributes.js b/server/api/mailSubstatus/mailSubstatus.attributes.js
index 88a584e..283348b 100644
--- a/server/api/mailSubstatus/mailSubstatus.attributes.js
+++ b/server/api/mailSubstatus/mailSubstatus.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.controller.js b/server/api/mailSubstatus/mailSubstatus.controller.js
index ee88125..ff017f3 100644
--- a/server/api/mailSubstatus/mailSubstatus.controller.js
+++ b/server/api/mailSubstatus/mailSubstatus.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.model.js b/server/api/mailSubstatus/mailSubstatus.model.js
index 04b4193..5a114cd 100644
--- a/server/api/mailSubstatus/mailSubstatus.model.js
+++ b/server/api/mailSubstatus/mailSubstatus.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/index.js b/server/api/mailTransferReport/index.js
index 859bd9c..0c5970b 100644
--- a/server/api/mailTransferReport/index.js
+++ b/server/api/mailTransferReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.attributes.js b/server/api/mailTransferReport/mailTransferReport.attributes.js
index b090eaa..951233d 100644
--- a/server/api/mailTransferReport/mailTransferReport.attributes.js
+++ b/server/api/mailTransferReport/mailTransferReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.controller.js b/server/api/mailTransferReport/mailTransferReport.controller.js
index aa7e540..62186ec 100644
--- a/server/api/mailTransferReport/mailTransferReport.controller.js
+++ b/server/api/mailTransferReport/mailTransferReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.model.js b/server/api/mailTransferReport/mailTransferReport.model.js
index 83562a9..46a2380 100644
--- a/server/api/mailTransferReport/mailTransferReport.model.js
+++ b/server/api/mailTransferReport/mailTransferReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/index.js b/server/api/memberReport/index.js
index f698d7c..654ea39 100644
--- a/server/api/memberReport/index.js
+++ b/server/api/memberReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.attributes.js b/server/api/memberReport/memberReport.attributes.js
index 4dd0052..2bd3851 100644
--- a/server/api/memberReport/memberReport.attributes.js
+++ b/server/api/memberReport/memberReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.controller.js b/server/api/memberReport/memberReport.controller.js
index c9a0e8f..7ca4faa 100644
--- a/server/api/memberReport/memberReport.controller.js
+++ b/server/api/memberReport/memberReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.model.js b/server/api/memberReport/memberReport.model.js
index 7da21e8..ce74129 100644
--- a/server/api/memberReport/memberReport.model.js
+++ b/server/api/memberReport/memberReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.rpc.js b/server/api/memberReport/memberReport.rpc.js
index 5330f75..00923ba 100644
--- a/server/api/memberReport/memberReport.rpc.js
+++ b/server/api/memberReport/memberReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/index.js b/server/api/migration/index.js
index 54a8f4a..2fa8bd9 100644
--- a/server/api/migration/index.js
+++ b/server/api/migration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.attributes.js b/server/api/migration/migration.attributes.js
index 5e9b00e..6ae55fc 100644
--- a/server/api/migration/migration.attributes.js
+++ b/server/api/migration/migration.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.controller.js b/server/api/migration/migration.controller.js
index ec9d034..a089dd5 100644
--- a/server/api/migration/migration.controller.js
+++ b/server/api/migration/migration.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.model.js b/server/api/migration/migration.model.js
index be57703..cdb2917 100644
--- a/server/api/migration/migration.model.js
+++ b/server/api/migration/migration.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/index.js b/server/api/network/index.js
index 2509793..bf396f2 100644
--- a/server/api/network/index.js
+++ b/server/api/network/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.attributes.js b/server/api/network/network.attributes.js
index 648e5ce..e8fea02 100644
--- a/server/api/network/network.attributes.js
+++ b/server/api/network/network.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.controller.js b/server/api/network/network.controller.js
index 2f6bda0..08e6cd9 100644
--- a/server/api/network/network.controller.js
+++ b/server/api/network/network.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.model.js b/server/api/network/network.model.js
index 8f236b8..336215f 100644
--- a/server/api/network/network.model.js
+++ b/server/api/network/network.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/index.js b/server/api/notification/index.js
index 6e355cf..5e00673 100644
--- a/server/api/notification/index.js
+++ b/server/api/notification/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/notification.attributes.js b/server/api/notification/notification.attributes.js
index 9685395..4ac28f8 100644
--- a/server/api/notification/notification.attributes.js
+++ b/server/api/notification/notification.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/notification.controller.js b/server/api/notification/notification.controller.js
index 4416355..469de38 100644
--- a/server/api/notification/notification.controller.js
+++ b/server/api/notification/notification.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/notification.events.js b/server/api/notification/notification.events.js
index 43f8724..2a50c71 100644
--- a/server/api/notification/notification.events.js
+++ b/server/api/notification/notification.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/notification.model.js b/server/api/notification/notification.model.js
index 39731c3..7f56ed3 100644
--- a/server/api/notification/notification.model.js
+++ b/server/api/notification/notification.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/notification.rpc.js b/server/api/notification/notification.rpc.js
index 942f90e..5d7deb1 100644
--- a/server/api/notification/notification.rpc.js
+++ b/server/api/notification/notification.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/notification/notification.socket.js b/server/api/notification/notification.socket.js
index ad6641b..1093d2b 100644
--- a/server/api/notification/notification.socket.js
+++ b/server/api/notification/notification.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/index.js b/server/api/openchannelAccount/index.js
index 2a40093..0e7721e 100644
--- a/server/api/openchannelAccount/index.js
+++ b/server/api/openchannelAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.attributes.js b/server/api/openchannelAccount/openchannelAccount.attributes.js
index 3970279..d5d13ae 100644
--- a/server/api/openchannelAccount/openchannelAccount.attributes.js
+++ b/server/api/openchannelAccount/openchannelAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.controller.js b/server/api/openchannelAccount/openchannelAccount.controller.js
index 8320a7c..6bfdb29 100644
--- a/server/api/openchannelAccount/openchannelAccount.controller.js
+++ b/server/api/openchannelAccount/openchannelAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.events.js b/server/api/openchannelAccount/openchannelAccount.events.js
index e60ad6f..7fb38e8 100644
--- a/server/api/openchannelAccount/openchannelAccount.events.js
+++ b/server/api/openchannelAccount/openchannelAccount.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.model.js b/server/api/openchannelAccount/openchannelAccount.model.js
index 30d10fe..88d4b0f 100644
--- a/server/api/openchannelAccount/openchannelAccount.model.js
+++ b/server/api/openchannelAccount/openchannelAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.rpc.js b/server/api/openchannelAccount/openchannelAccount.rpc.js
index 8e2e281..2f59234 100644
--- a/server/api/openchannelAccount/openchannelAccount.rpc.js
+++ b/server/api/openchannelAccount/openchannelAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.socket.js b/server/api/openchannelAccount/openchannelAccount.socket.js
index 50fc034..fa3f240 100644
--- a/server/api/openchannelAccount/openchannelAccount.socket.js
+++ b/server/api/openchannelAccount/openchannelAccount.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/index.js b/server/api/openchannelApplication/index.js
index b85708f..914a509 100644
--- a/server/api/openchannelApplication/index.js
+++ b/server/api/openchannelApplication/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.attributes.js b/server/api/openchannelApplication/openchannelApplication.attributes.js
index 65c4fec..70216d7 100644
--- a/server/api/openchannelApplication/openchannelApplication.attributes.js
+++ b/server/api/openchannelApplication/openchannelApplication.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.controller.js b/server/api/openchannelApplication/openchannelApplication.controller.js
index 2441f99..a9e5fc7 100644
--- a/server/api/openchannelApplication/openchannelApplication.controller.js
+++ b/server/api/openchannelApplication/openchannelApplication.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.model.js b/server/api/openchannelApplication/openchannelApplication.model.js
index c82686e..2eec6c6 100644
--- a/server/api/openchannelApplication/openchannelApplication.model.js
+++ b/server/api/openchannelApplication/openchannelApplication.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.rpc.js b/server/api/openchannelApplication/openchannelApplication.rpc.js
index 58a5102..9eae531 100644
--- a/server/api/openchannelApplication/openchannelApplication.rpc.js
+++ b/server/api/openchannelApplication/openchannelApplication.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/index.js b/server/api/openchannelInteraction/index.js
index 0be2075..8ea8810 100644
--- a/server/api/openchannelInteraction/index.js
+++ b/server/api/openchannelInteraction/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.attributes.js b/server/api/openchannelInteraction/openchannelInteraction.attributes.js
index 1e14cf1..88a5048 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.attributes.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.controller.js b/server/api/openchannelInteraction/openchannelInteraction.controller.js
index 8578eaa..403d806 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.controller.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.events.js b/server/api/openchannelInteraction/openchannelInteraction.events.js
index 1c19ded..27df959 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.events.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.model.js b/server/api/openchannelInteraction/openchannelInteraction.model.js
index acca79a..a76ed9d 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.model.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.rpc.js b/server/api/openchannelInteraction/openchannelInteraction.rpc.js
index 298caec..05ee52a 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.rpc.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.socket.js b/server/api/openchannelInteraction/openchannelInteraction.socket.js
index 5375fec..04794c6 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.socket.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/index.js b/server/api/openchannelMessage/index.js
index 1914300..7d962db 100644
--- a/server/api/openchannelMessage/index.js
+++ b/server/api/openchannelMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.attributes.js b/server/api/openchannelMessage/openchannelMessage.attributes.js
index 7bfcc29..5fc323a 100644
--- a/server/api/openchannelMessage/openchannelMessage.attributes.js
+++ b/server/api/openchannelMessage/openchannelMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.controller.js b/server/api/openchannelMessage/openchannelMessage.controller.js
index ed90759..c5532c6 100644
--- a/server/api/openchannelMessage/openchannelMessage.controller.js
+++ b/server/api/openchannelMessage/openchannelMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.events.js b/server/api/openchannelMessage/openchannelMessage.events.js
index ffcb227..c8ee928 100644
--- a/server/api/openchannelMessage/openchannelMessage.events.js
+++ b/server/api/openchannelMessage/openchannelMessage.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.model.js b/server/api/openchannelMessage/openchannelMessage.model.js
index e01795c..79e78f3 100644
--- a/server/api/openchannelMessage/openchannelMessage.model.js
+++ b/server/api/openchannelMessage/openchannelMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.rpc.js b/server/api/openchannelMessage/openchannelMessage.rpc.js
index 7c3c9a0..fef3f8c 100644
--- a/server/api/openchannelMessage/openchannelMessage.rpc.js
+++ b/server/api/openchannelMessage/openchannelMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.socket.js b/server/api/openchannelMessage/openchannelMessage.socket.js
index a724aa2..5668aa6 100644
--- a/server/api/openchannelMessage/openchannelMessage.socket.js
+++ b/server/api/openchannelMessage/openchannelMessage.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/index.js b/server/api/openchannelQueue/index.js
index 3dbf5e3..253c9fa 100644
--- a/server/api/openchannelQueue/index.js
+++ b/server/api/openchannelQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.attributes.js b/server/api/openchannelQueue/openchannelQueue.attributes.js
index 74ffe67..2c04bfe 100644
--- a/server/api/openchannelQueue/openchannelQueue.attributes.js
+++ b/server/api/openchannelQueue/openchannelQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.controller.js b/server/api/openchannelQueue/openchannelQueue.controller.js
index feb3088..0ce034a 100644
--- a/server/api/openchannelQueue/openchannelQueue.controller.js
+++ b/server/api/openchannelQueue/openchannelQueue.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.events.js b/server/api/openchannelQueue/openchannelQueue.events.js
index 4d944dc..d7e3b83 100644
--- a/server/api/openchannelQueue/openchannelQueue.events.js
+++ b/server/api/openchannelQueue/openchannelQueue.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.model.js b/server/api/openchannelQueue/openchannelQueue.model.js
index 6b4b8f3..8c26e93 100644
--- a/server/api/openchannelQueue/openchannelQueue.model.js
+++ b/server/api/openchannelQueue/openchannelQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.rpc.js b/server/api/openchannelQueue/openchannelQueue.rpc.js
index 9e00948..1699336 100644
--- a/server/api/openchannelQueue/openchannelQueue.rpc.js
+++ b/server/api/openchannelQueue/openchannelQueue.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.socket.js b/server/api/openchannelQueue/openchannelQueue.socket.js
index 415ff61..6ac1686 100644
--- a/server/api/openchannelQueue/openchannelQueue.socket.js
+++ b/server/api/openchannelQueue/openchannelQueue.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/index.js b/server/api/openchannelQueueReport/index.js
index d7ec554..e73c639 100644
--- a/server/api/openchannelQueueReport/index.js
+++ b/server/api/openchannelQueueReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js b/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
index f863065..e932dce 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.controller.js b/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
index 3365df1..9221da7 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.model.js b/server/api/openchannelQueueReport/openchannelQueueReport.model.js
index c10fa78..759b31b 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.model.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js b/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
index 12c85e4..e2cd2a5 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/index.js b/server/api/openchannelTransferReport/index.js
index 479c001..a743264 100644
--- a/server/api/openchannelTransferReport/index.js
+++ b/server/api/openchannelTransferReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js b/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
index 8c9dfa5..0063267 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.controller.js b/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
index 4e75899..93d3229 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.model.js b/server/api/openchannelTransferReport/openchannelTransferReport.model.js
index 4ab0c10..d2d82b8 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.model.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/index.js b/server/api/pause/index.js
index e69046c..d9a4907 100644
--- a/server/api/pause/index.js
+++ b/server/api/pause/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.attributes.js b/server/api/pause/pause.attributes.js
index 5d3a54b..2fea0f5 100644
--- a/server/api/pause/pause.attributes.js
+++ b/server/api/pause/pause.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.controller.js b/server/api/pause/pause.controller.js
index ab47a15..8129f1e 100644
--- a/server/api/pause/pause.controller.js
+++ b/server/api/pause/pause.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.model.js b/server/api/pause/pause.model.js
index eae646e..453512d 100644
--- a/server/api/pause/pause.model.js
+++ b/server/api/pause/pause.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.rpc.js b/server/api/pause/pause.rpc.js
index b5eb440..a29de3e 100644
--- a/server/api/pause/pause.rpc.js
+++ b/server/api/pause/pause.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/index.js b/server/api/plugin/index.js
index d157c62..2eb6776 100644
--- a/server/api/plugin/index.js
+++ b/server/api/plugin/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.attributes.js b/server/api/plugin/plugin.attributes.js
index acdcb19..f03d111 100644
--- a/server/api/plugin/plugin.attributes.js
+++ b/server/api/plugin/plugin.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.controller.js b/server/api/plugin/plugin.controller.js
index 55a6abe..0e9d7c7 100644
--- a/server/api/plugin/plugin.controller.js
+++ b/server/api/plugin/plugin.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.events.js b/server/api/plugin/plugin.events.js
index ce5b412..6ffc0ad 100644
--- a/server/api/plugin/plugin.events.js
+++ b/server/api/plugin/plugin.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.model.js b/server/api/plugin/plugin.model.js
index 7c20637..96262b2 100644
--- a/server/api/plugin/plugin.model.js
+++ b/server/api/plugin/plugin.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.rpc.js b/server/api/plugin/plugin.rpc.js
index 6d1434b..b916492 100644
--- a/server/api/plugin/plugin.rpc.js
+++ b/server/api/plugin/plugin.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.socket.js b/server/api/plugin/plugin.socket.js
index b2d4928..94f63b7 100644
--- a/server/api/plugin/plugin.socket.js
+++ b/server/api/plugin/plugin.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pm2/index.js b/server/api/pm2/index.js
index d712992..1535c0d 100644
--- a/server/api/pm2/index.js
+++ b/server/api/pm2/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pm2/pm2.controller.js b/server/api/pm2/pm2.controller.js
index 33d17cd..5f27617 100644
--- a/server/api/pm2/pm2.controller.js
+++ b/server/api/pm2/pm2.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/index.js b/server/api/reportAgentPreview/index.js
index a415606..7bae54e 100644
--- a/server/api/reportAgentPreview/index.js
+++ b/server/api/reportAgentPreview/index.js
@@ -1 +1 @@
\ No newline at end of file
+const a522_0x5d47=['exports'];(function(_0x1336c3,_0x5d4753){const _0x284a4e=function(_0x48d48d){while(--_0x48d48d){_0x1336c3['push'](_0x1336c3['shift']());}};_0x284a4e(++_0x5d4753);}(a522_0x5d47,0x10d));const a522_0x284a=function(_0x1336c3,_0x5d4753){_0x1336c3=_0x1336c3-0x0;let _0x284a4e=a522_0x5d47[_0x1336c3];return _0x284a4e;};const _0x446398=a522_0x284a;'use strict';const express=require('express'),router=express['Router']();module[_0x446398('0x0')]=router;
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.attributes.js b/server/api/reportAgentPreview/reportAgentPreview.attributes.js
index fc97fa2..bcc42c2 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.attributes.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.model.js b/server/api/reportAgentPreview/reportAgentPreview.model.js
index 54a896f..28a16ce 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.model.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.rpc.js b/server/api/reportAgentPreview/reportAgentPreview.rpc.js
index 368a4f1..228e84c 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.rpc.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/rpc/index.js b/server/api/rpc/index.js
index 2ad9d74..f00e440 100644
--- a/server/api/rpc/index.js
+++ b/server/api/rpc/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/rpc/rpc.controller.js b/server/api/rpc/rpc.controller.js
index e9969d0..0ea82b3 100644
--- a/server/api/rpc/rpc.controller.js
+++ b/server/api/rpc/rpc.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/index.js b/server/api/schedule/index.js
index 9fb04b0..397f0d7 100644
--- a/server/api/schedule/index.js
+++ b/server/api/schedule/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.attributes.js b/server/api/schedule/schedule.attributes.js
index c16b0a9..63c469e 100644
--- a/server/api/schedule/schedule.attributes.js
+++ b/server/api/schedule/schedule.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.controller.js b/server/api/schedule/schedule.controller.js
index 7434f79..cf9ace3 100644
--- a/server/api/schedule/schedule.controller.js
+++ b/server/api/schedule/schedule.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.model.js b/server/api/schedule/schedule.model.js
index cea766f..afa5f69 100644
--- a/server/api/schedule/schedule.model.js
+++ b/server/api/schedule/schedule.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/index.js b/server/api/screenRecording/index.js
index c954b0f..b42a48d 100644
--- a/server/api/screenRecording/index.js
+++ b/server/api/screenRecording/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.attributes.js b/server/api/screenRecording/screenRecording.attributes.js
index affa044..66e59e8 100644
--- a/server/api/screenRecording/screenRecording.attributes.js
+++ b/server/api/screenRecording/screenRecording.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.controller.js b/server/api/screenRecording/screenRecording.controller.js
index 93ff8ee..2487408 100644
--- a/server/api/screenRecording/screenRecording.controller.js
+++ b/server/api/screenRecording/screenRecording.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.model.js b/server/api/screenRecording/screenRecording.model.js
index 41afc68..0a76bd3 100644
--- a/server/api/screenRecording/screenRecording.model.js
+++ b/server/api/screenRecording/screenRecording.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/index.js b/server/api/setting/index.js
index e0f34a0..7eb5792 100644
--- a/server/api/setting/index.js
+++ b/server/api/setting/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.attributes.js b/server/api/setting/setting.attributes.js
index 38d91a9..1b4b7bd 100644
--- a/server/api/setting/setting.attributes.js
+++ b/server/api/setting/setting.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.controller.js b/server/api/setting/setting.controller.js
index cea0c28..dc1d0c1 100644
--- a/server/api/setting/setting.controller.js
+++ b/server/api/setting/setting.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.model.js b/server/api/setting/setting.model.js
index eb925df..30e01c0 100644
--- a/server/api/setting/setting.model.js
+++ b/server/api/setting/setting.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/index.js b/server/api/smsAccount/index.js
index 93e2cbf..a56cb34 100644
--- a/server/api/smsAccount/index.js
+++ b/server/api/smsAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.attributes.js b/server/api/smsAccount/smsAccount.attributes.js
index 0ba3a4b..f547df6 100644
--- a/server/api/smsAccount/smsAccount.attributes.js
+++ b/server/api/smsAccount/smsAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.controller.js b/server/api/smsAccount/smsAccount.controller.js
index 02433c1..5edb003 100644
--- a/server/api/smsAccount/smsAccount.controller.js
+++ b/server/api/smsAccount/smsAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.events.js b/server/api/smsAccount/smsAccount.events.js
index 15905dc..a67951f 100644
--- a/server/api/smsAccount/smsAccount.events.js
+++ b/server/api/smsAccount/smsAccount.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.model.js b/server/api/smsAccount/smsAccount.model.js
index b9e065a..b7b5cdf 100644
--- a/server/api/smsAccount/smsAccount.model.js
+++ b/server/api/smsAccount/smsAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.rpc.js b/server/api/smsAccount/smsAccount.rpc.js
index 786b504..ea4b695 100644
--- a/server/api/smsAccount/smsAccount.rpc.js
+++ b/server/api/smsAccount/smsAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.socket.js b/server/api/smsAccount/smsAccount.socket.js
index e015963..b5cc8ac 100644
--- a/server/api/smsAccount/smsAccount.socket.js
+++ b/server/api/smsAccount/smsAccount.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/index.js b/server/api/smsApplication/index.js
index d87e413..8109935 100644
--- a/server/api/smsApplication/index.js
+++ b/server/api/smsApplication/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.attributes.js b/server/api/smsApplication/smsApplication.attributes.js
index 1ed4f53..5253379 100644
--- a/server/api/smsApplication/smsApplication.attributes.js
+++ b/server/api/smsApplication/smsApplication.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.controller.js b/server/api/smsApplication/smsApplication.controller.js
index 6824742..fa0f8bc 100644
--- a/server/api/smsApplication/smsApplication.controller.js
+++ b/server/api/smsApplication/smsApplication.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.model.js b/server/api/smsApplication/smsApplication.model.js
index 5b5b825..3d62a83 100644
--- a/server/api/smsApplication/smsApplication.model.js
+++ b/server/api/smsApplication/smsApplication.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/index.js b/server/api/smsInteraction/index.js
index 7132bdd..e75126b 100644
--- a/server/api/smsInteraction/index.js
+++ b/server/api/smsInteraction/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.attributes.js b/server/api/smsInteraction/smsInteraction.attributes.js
index 7690889..00e82a1 100644
--- a/server/api/smsInteraction/smsInteraction.attributes.js
+++ b/server/api/smsInteraction/smsInteraction.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.controller.js b/server/api/smsInteraction/smsInteraction.controller.js
index f9ccc50..709eaa6 100644
--- a/server/api/smsInteraction/smsInteraction.controller.js
+++ b/server/api/smsInteraction/smsInteraction.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.events.js b/server/api/smsInteraction/smsInteraction.events.js
index 5192c3a..e1384b9 100644
--- a/server/api/smsInteraction/smsInteraction.events.js
+++ b/server/api/smsInteraction/smsInteraction.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.model.js b/server/api/smsInteraction/smsInteraction.model.js
index e75cd81..eac4397 100644
--- a/server/api/smsInteraction/smsInteraction.model.js
+++ b/server/api/smsInteraction/smsInteraction.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.rpc.js b/server/api/smsInteraction/smsInteraction.rpc.js
index 82f9bf4..b742ae2 100644
--- a/server/api/smsInteraction/smsInteraction.rpc.js
+++ b/server/api/smsInteraction/smsInteraction.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.socket.js b/server/api/smsInteraction/smsInteraction.socket.js
index c62c8dd..8403aef 100644
--- a/server/api/smsInteraction/smsInteraction.socket.js
+++ b/server/api/smsInteraction/smsInteraction.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/index.js b/server/api/smsMessage/index.js
index 983e45d..c12c328 100644
--- a/server/api/smsMessage/index.js
+++ b/server/api/smsMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.attributes.js b/server/api/smsMessage/smsMessage.attributes.js
index 7da4fbd..94b5411 100644
--- a/server/api/smsMessage/smsMessage.attributes.js
+++ b/server/api/smsMessage/smsMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.controller.js b/server/api/smsMessage/smsMessage.controller.js
index 9c21002..d358dec 100644
--- a/server/api/smsMessage/smsMessage.controller.js
+++ b/server/api/smsMessage/smsMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.events.js b/server/api/smsMessage/smsMessage.events.js
index 4596310..2a89048 100644
--- a/server/api/smsMessage/smsMessage.events.js
+++ b/server/api/smsMessage/smsMessage.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.model.js b/server/api/smsMessage/smsMessage.model.js
index a6a471b..1a8b211 100644
--- a/server/api/smsMessage/smsMessage.model.js
+++ b/server/api/smsMessage/smsMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.rpc.js b/server/api/smsMessage/smsMessage.rpc.js
index df25cc5..a107813 100644
--- a/server/api/smsMessage/smsMessage.rpc.js
+++ b/server/api/smsMessage/smsMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.socket.js b/server/api/smsMessage/smsMessage.socket.js
index e3c54b4..4d0c488 100644
--- a/server/api/smsMessage/smsMessage.socket.js
+++ b/server/api/smsMessage/smsMessage.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/index.js b/server/api/smsQueue/index.js
index d419993..a1ff5a3 100644
--- a/server/api/smsQueue/index.js
+++ b/server/api/smsQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.attributes.js b/server/api/smsQueue/smsQueue.attributes.js
index 9fc6be1..df7c915 100644
--- a/server/api/smsQueue/smsQueue.attributes.js
+++ b/server/api/smsQueue/smsQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.controller.js b/server/api/smsQueue/smsQueue.controller.js
index 60277a9..470397a 100644
--- a/server/api/smsQueue/smsQueue.controller.js
+++ b/server/api/smsQueue/smsQueue.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.events.js b/server/api/smsQueue/smsQueue.events.js
index 5139903..4f620ac 100644
--- a/server/api/smsQueue/smsQueue.events.js
+++ b/server/api/smsQueue/smsQueue.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.model.js b/server/api/smsQueue/smsQueue.model.js
index d94ff05..b901ae2 100644
--- a/server/api/smsQueue/smsQueue.model.js
+++ b/server/api/smsQueue/smsQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.rpc.js b/server/api/smsQueue/smsQueue.rpc.js
index de3f301..5c0f0a3 100644
--- a/server/api/smsQueue/smsQueue.rpc.js
+++ b/server/api/smsQueue/smsQueue.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.socket.js b/server/api/smsQueue/smsQueue.socket.js
index a6d9f92..a9125de 100644
--- a/server/api/smsQueue/smsQueue.socket.js
+++ b/server/api/smsQueue/smsQueue.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/index.js b/server/api/smsQueueReport/index.js
index bb2717e..0a85b7e 100644
--- a/server/api/smsQueueReport/index.js
+++ b/server/api/smsQueueReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.attributes.js b/server/api/smsQueueReport/smsQueueReport.attributes.js
index f42bbb5..7cca022 100644
--- a/server/api/smsQueueReport/smsQueueReport.attributes.js
+++ b/server/api/smsQueueReport/smsQueueReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.controller.js b/server/api/smsQueueReport/smsQueueReport.controller.js
index 2fa774b..cb5bb84 100644
--- a/server/api/smsQueueReport/smsQueueReport.controller.js
+++ b/server/api/smsQueueReport/smsQueueReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.model.js b/server/api/smsQueueReport/smsQueueReport.model.js
index 039256f..1e9cc36 100644
--- a/server/api/smsQueueReport/smsQueueReport.model.js
+++ b/server/api/smsQueueReport/smsQueueReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.rpc.js b/server/api/smsQueueReport/smsQueueReport.rpc.js
index ddd0b20..4c39c70 100644
--- a/server/api/smsQueueReport/smsQueueReport.rpc.js
+++ b/server/api/smsQueueReport/smsQueueReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/index.js b/server/api/smsTransferReport/index.js
index 569beb2..2713fdf 100644
--- a/server/api/smsTransferReport/index.js
+++ b/server/api/smsTransferReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.attributes.js b/server/api/smsTransferReport/smsTransferReport.attributes.js
index 559ada9..368d3f5 100644
--- a/server/api/smsTransferReport/smsTransferReport.attributes.js
+++ b/server/api/smsTransferReport/smsTransferReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.controller.js b/server/api/smsTransferReport/smsTransferReport.controller.js
index 2f5142d..77727f9 100644
--- a/server/api/smsTransferReport/smsTransferReport.controller.js
+++ b/server/api/smsTransferReport/smsTransferReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.model.js b/server/api/smsTransferReport/smsTransferReport.model.js
index 303e437..69c18d6 100644
--- a/server/api/smsTransferReport/smsTransferReport.model.js
+++ b/server/api/smsTransferReport/smsTransferReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/index.js b/server/api/sound/index.js
index b842c9f..b7309bc 100644
--- a/server/api/sound/index.js
+++ b/server/api/sound/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.attributes.js b/server/api/sound/sound.attributes.js
index 099774d..6a7ba49 100644
--- a/server/api/sound/sound.attributes.js
+++ b/server/api/sound/sound.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.controller.js b/server/api/sound/sound.controller.js
index a9661c1..7eb31b1 100644
--- a/server/api/sound/sound.controller.js
+++ b/server/api/sound/sound.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.model.js b/server/api/sound/sound.model.js
index 92738d8..6c18806 100644
--- a/server/api/sound/sound.model.js
+++ b/server/api/sound/sound.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.rpc.js b/server/api/sound/sound.rpc.js
index bb96ff2..94fc27a 100644
--- a/server/api/sound/sound.rpc.js
+++ b/server/api/sound/sound.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/index.js b/server/api/squareMessage/index.js
index 468df9f..95ee264 100644
--- a/server/api/squareMessage/index.js
+++ b/server/api/squareMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.attributes.js b/server/api/squareMessage/squareMessage.attributes.js
index 0a323af..044e6f7 100644
--- a/server/api/squareMessage/squareMessage.attributes.js
+++ b/server/api/squareMessage/squareMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.controller.js b/server/api/squareMessage/squareMessage.controller.js
index 76982fd..3566403 100644
--- a/server/api/squareMessage/squareMessage.controller.js
+++ b/server/api/squareMessage/squareMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.model.js b/server/api/squareMessage/squareMessage.model.js
index 13a7f22..3f53ac1 100644
--- a/server/api/squareMessage/squareMessage.model.js
+++ b/server/api/squareMessage/squareMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.rpc.js b/server/api/squareMessage/squareMessage.rpc.js
index 3ce7f94..25e60c7 100644
--- a/server/api/squareMessage/squareMessage.rpc.js
+++ b/server/api/squareMessage/squareMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/index.js b/server/api/squareOdbc/index.js
index 603a2fa..5e8e464 100644
--- a/server/api/squareOdbc/index.js
+++ b/server/api/squareOdbc/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.attributes.js b/server/api/squareOdbc/squareOdbc.attributes.js
index 00e2f24..810df90 100644
--- a/server/api/squareOdbc/squareOdbc.attributes.js
+++ b/server/api/squareOdbc/squareOdbc.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.controller.js b/server/api/squareOdbc/squareOdbc.controller.js
index 0a58c46..15a609c 100644
--- a/server/api/squareOdbc/squareOdbc.controller.js
+++ b/server/api/squareOdbc/squareOdbc.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.model.js b/server/api/squareOdbc/squareOdbc.model.js
index 4603ecb..e9dae0c 100644
--- a/server/api/squareOdbc/squareOdbc.model.js
+++ b/server/api/squareOdbc/squareOdbc.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.rpc.js b/server/api/squareOdbc/squareOdbc.rpc.js
index 1fd8002..9a51620 100644
--- a/server/api/squareOdbc/squareOdbc.rpc.js
+++ b/server/api/squareOdbc/squareOdbc.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/index.js b/server/api/squareProject/index.js
index 4973cce..ceec12e 100644
--- a/server/api/squareProject/index.js
+++ b/server/api/squareProject/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.attributes.js b/server/api/squareProject/squareProject.attributes.js
index 0eb952b..3b205e1 100644
--- a/server/api/squareProject/squareProject.attributes.js
+++ b/server/api/squareProject/squareProject.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.controller.js b/server/api/squareProject/squareProject.controller.js
index 13c042b..bfa6f73 100644
--- a/server/api/squareProject/squareProject.controller.js
+++ b/server/api/squareProject/squareProject.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.events.js b/server/api/squareProject/squareProject.events.js
index 29aa191..8b98021 100644
--- a/server/api/squareProject/squareProject.events.js
+++ b/server/api/squareProject/squareProject.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.model.js b/server/api/squareProject/squareProject.model.js
index 0406aee..b1b345e 100644
--- a/server/api/squareProject/squareProject.model.js
+++ b/server/api/squareProject/squareProject.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.rpc.js b/server/api/squareProject/squareProject.rpc.js
index fff1c87..dc3a861 100644
--- a/server/api/squareProject/squareProject.rpc.js
+++ b/server/api/squareProject/squareProject.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.socket.js b/server/api/squareProject/squareProject.socket.js
index 28e452f..9c134a8 100644
--- a/server/api/squareProject/squareProject.socket.js
+++ b/server/api/squareProject/squareProject.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/index.js b/server/api/squareRecording/index.js
index 1323e76..13b023a 100644
--- a/server/api/squareRecording/index.js
+++ b/server/api/squareRecording/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.attributes.js b/server/api/squareRecording/squareRecording.attributes.js
index dfbb123..4bbf575 100644
--- a/server/api/squareRecording/squareRecording.attributes.js
+++ b/server/api/squareRecording/squareRecording.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.controller.js b/server/api/squareRecording/squareRecording.controller.js
index 54d1d79..c18007e 100644
--- a/server/api/squareRecording/squareRecording.controller.js
+++ b/server/api/squareRecording/squareRecording.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.model.js b/server/api/squareRecording/squareRecording.model.js
index cce3079..eafbfbc 100644
--- a/server/api/squareRecording/squareRecording.model.js
+++ b/server/api/squareRecording/squareRecording.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.rpc.js b/server/api/squareRecording/squareRecording.rpc.js
index ee5281f..07f7ea9 100644
--- a/server/api/squareRecording/squareRecording.rpc.js
+++ b/server/api/squareRecording/squareRecording.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/index.js b/server/api/squareReport/index.js
index 5d977d3..ce8e20f 100644
--- a/server/api/squareReport/index.js
+++ b/server/api/squareReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.attributes.js b/server/api/squareReport/squareReport.attributes.js
index 08dd484..6f5dbab 100644
--- a/server/api/squareReport/squareReport.attributes.js
+++ b/server/api/squareReport/squareReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.controller.js b/server/api/squareReport/squareReport.controller.js
index 0f27b12..a255c27 100644
--- a/server/api/squareReport/squareReport.controller.js
+++ b/server/api/squareReport/squareReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.model.js b/server/api/squareReport/squareReport.model.js
index 2e2ef93..7442b9f 100644
--- a/server/api/squareReport/squareReport.model.js
+++ b/server/api/squareReport/squareReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.rpc.js b/server/api/squareReport/squareReport.rpc.js
index 5913b04..4594005 100644
--- a/server/api/squareReport/squareReport.rpc.js
+++ b/server/api/squareReport/squareReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/index.js b/server/api/squareReportDetail/index.js
index bdc0967..7fa9ed3 100644
--- a/server/api/squareReportDetail/index.js
+++ b/server/api/squareReportDetail/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.attributes.js b/server/api/squareReportDetail/squareReportDetail.attributes.js
index 9f868b6..9802513 100644
--- a/server/api/squareReportDetail/squareReportDetail.attributes.js
+++ b/server/api/squareReportDetail/squareReportDetail.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.controller.js b/server/api/squareReportDetail/squareReportDetail.controller.js
index afa4402..63ccc78 100644
--- a/server/api/squareReportDetail/squareReportDetail.controller.js
+++ b/server/api/squareReportDetail/squareReportDetail.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.model.js b/server/api/squareReportDetail/squareReportDetail.model.js
index fa95fc3..5bb75eb 100644
--- a/server/api/squareReportDetail/squareReportDetail.model.js
+++ b/server/api/squareReportDetail/squareReportDetail.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.rpc.js b/server/api/squareReportDetail/squareReportDetail.rpc.js
index 317ea58..7292c73 100644
--- a/server/api/squareReportDetail/squareReportDetail.rpc.js
+++ b/server/api/squareReportDetail/squareReportDetail.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/system/index.js b/server/api/system/index.js
index f327a41..759e5fc 100644
--- a/server/api/system/index.js
+++ b/server/api/system/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/system/system.controller.js b/server/api/system/system.controller.js
index 86af8c4..0656c2e 100644
--- a/server/api/system/system.controller.js
+++ b/server/api/system/system.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/index.js b/server/api/tag/index.js
index 5f4a001..5673fba 100644
--- a/server/api/tag/index.js
+++ b/server/api/tag/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.attributes.js b/server/api/tag/tag.attributes.js
index 277ea70..54d040c 100644
--- a/server/api/tag/tag.attributes.js
+++ b/server/api/tag/tag.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.controller.js b/server/api/tag/tag.controller.js
index b622703..4c447ed 100644
--- a/server/api/tag/tag.controller.js
+++ b/server/api/tag/tag.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.model.js b/server/api/tag/tag.model.js
index 1e17b8a..2db688f 100644
--- a/server/api/tag/tag.model.js
+++ b/server/api/tag/tag.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/index.js b/server/api/team/index.js
index 5dc1519..a656cea 100644
--- a/server/api/team/index.js
+++ b/server/api/team/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.attributes.js b/server/api/team/team.attributes.js
index 94e8958..cb725ff 100644
--- a/server/api/team/team.attributes.js
+++ b/server/api/team/team.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.controller.js b/server/api/team/team.controller.js
index c58cd5c..998de4c 100644
--- a/server/api/team/team.controller.js
+++ b/server/api/team/team.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.events.js b/server/api/team/team.events.js
index ddc3ade..77fb32f 100644
--- a/server/api/team/team.events.js
+++ b/server/api/team/team.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.model.js b/server/api/team/team.model.js
index 19b3ed4..6ad9eb5 100644
--- a/server/api/team/team.model.js
+++ b/server/api/team/team.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.rpc.js b/server/api/team/team.rpc.js
index f6b1b7d..1186a50 100644
--- a/server/api/team/team.rpc.js
+++ b/server/api/team/team.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.socket.js b/server/api/team/team.socket.js
index f0de5f4..cc7f9c8 100644
--- a/server/api/team/team.socket.js
+++ b/server/api/team/team.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/index.js b/server/api/template/index.js
index cc28371..4a96935 100644
--- a/server/api/template/index.js
+++ b/server/api/template/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.attributes.js b/server/api/template/template.attributes.js
index 6a3c020..bc3d900 100644
--- a/server/api/template/template.attributes.js
+++ b/server/api/template/template.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.controller.js b/server/api/template/template.controller.js
index 340cc36..d34697e 100644
--- a/server/api/template/template.controller.js
+++ b/server/api/template/template.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.model.js b/server/api/template/template.model.js
index 16cca08..a024239 100644
--- a/server/api/template/template.model.js
+++ b/server/api/template/template.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.rpc.js b/server/api/template/template.rpc.js
index 3d7ea9d..6c1a67c 100644
--- a/server/api/template/template.rpc.js
+++ b/server/api/template/template.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/index.js b/server/api/trigger/index.js
index 517b8b8..1f24cbc 100644
--- a/server/api/trigger/index.js
+++ b/server/api/trigger/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.attributes.js b/server/api/trigger/trigger.attributes.js
index bf685b4..0ca5b75 100644
--- a/server/api/trigger/trigger.attributes.js
+++ b/server/api/trigger/trigger.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.controller.js b/server/api/trigger/trigger.controller.js
index 22c6fa0..2f50fa1 100644
--- a/server/api/trigger/trigger.controller.js
+++ b/server/api/trigger/trigger.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.model.js b/server/api/trigger/trigger.model.js
index e507654..b9991c2 100644
--- a/server/api/trigger/trigger.model.js
+++ b/server/api/trigger/trigger.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.rpc.js b/server/api/trigger/trigger.rpc.js
index 483a6be..2286de3 100644
--- a/server/api/trigger/trigger.rpc.js
+++ b/server/api/trigger/trigger.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/index.js b/server/api/trunk/index.js
index bb430c0..d37d987 100644
--- a/server/api/trunk/index.js
+++ b/server/api/trunk/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.attributes.js b/server/api/trunk/trunk.attributes.js
index f53dd1f..b8bc3f7 100644
--- a/server/api/trunk/trunk.attributes.js
+++ b/server/api/trunk/trunk.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.controller.js b/server/api/trunk/trunk.controller.js
index 0fde4e5..99e579b 100644
--- a/server/api/trunk/trunk.controller.js
+++ b/server/api/trunk/trunk.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.model.js b/server/api/trunk/trunk.model.js
index b20af84..fdedc90 100644
--- a/server/api/trunk/trunk.model.js
+++ b/server/api/trunk/trunk.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.rpc.js b/server/api/trunk/trunk.rpc.js
index 87d69de..abd857b 100644
--- a/server/api/trunk/trunk.rpc.js
+++ b/server/api/trunk/trunk.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/index.js b/server/api/user/index.js
index 54f0bec..01efab7 100644
--- a/server/api/user/index.js
+++ b/server/api/user/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.attributes.js b/server/api/user/user.attributes.js
index 567c00c..56ec97b 100644
--- a/server/api/user/user.attributes.js
+++ b/server/api/user/user.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.controller.js b/server/api/user/user.controller.js
index c8768cf..c86080f 100644
--- a/server/api/user/user.controller.js
+++ b/server/api/user/user.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.events.js b/server/api/user/user.events.js
index 421dd2e..dd66557 100644
--- a/server/api/user/user.events.js
+++ b/server/api/user/user.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.model.js b/server/api/user/user.model.js
index 26ce3d4..53ea219 100644
--- a/server/api/user/user.model.js
+++ b/server/api/user/user.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.rpc.js b/server/api/user/user.rpc.js
index 4a9d94f..8cdb0c2 100644
--- a/server/api/user/user.rpc.js
+++ b/server/api/user/user.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.socket.js b/server/api/user/user.socket.js
index 4b13e13..80a1228 100644
--- a/server/api/user/user.socket.js
+++ b/server/api/user/user.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/index.js b/server/api/userChatQueue/index.js
index 5ef97b5..7668455 100644
--- a/server/api/userChatQueue/index.js
+++ b/server/api/userChatQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
+const a653_0x2cba=['exports','express'];(function(_0x5816ca,_0x2cba23){const _0x5f3f9c=function(_0xf6dc36){while(--_0xf6dc36){_0x5816ca['push'](_0x5816ca['shift']());}};_0x5f3f9c(++_0x2cba23);}(a653_0x2cba,0x1c8));const a653_0x5f3f=function(_0x5816ca,_0x2cba23){_0x5816ca=_0x5816ca-0x0;let _0x5f3f9c=a653_0x2cba[_0x5816ca];return _0x5f3f9c;};const _0x336013=a653_0x5f3f;'use strict';const express=require(_0x336013('0x1')),router=express['Router']();module[_0x336013('0x0')]=router;
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.attributes.js b/server/api/userChatQueue/userChatQueue.attributes.js
index 4102f4c..908b59d 100644
--- a/server/api/userChatQueue/userChatQueue.attributes.js
+++ b/server/api/userChatQueue/userChatQueue.attributes.js
@@ -1 +1 @@
-const a654_0x4159=['sequelize'];(function(_0x10ba05,_0x41597c){const _0x264cc6=function(_0x39f2a9){while(--_0x39f2a9){_0x10ba05['push'](_0x10ba05['shift']());}};_0x264cc6(++_0x41597c);}(a654_0x4159,0x1ac));const a654_0x264c=function(_0x10ba05,_0x41597c){_0x10ba05=_0x10ba05-0x0;let _0x264cc6=a654_0x4159[_0x10ba05];return _0x264cc6;};const _0xdf4af6=a654_0x264c;'use strict';const Sequelize=require(_0xdf4af6('0x0'));module['exports']={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.model.js b/server/api/userChatQueue/userChatQueue.model.js
index 7215090..37815da 100644
--- a/server/api/userChatQueue/userChatQueue.model.js
+++ b/server/api/userChatQueue/userChatQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/index.js b/server/api/userFaxQueue/index.js
index ceb7497..2ddb5a4 100644
--- a/server/api/userFaxQueue/index.js
+++ b/server/api/userFaxQueue/index.js
@@ -1 +1 @@
-const a656_0x3a66=['express','exports'];(function(_0x297fd9,_0x3a6654){const _0x3b2c73=function(_0x2f4144){while(--_0x2f4144){_0x297fd9['push'](_0x297fd9['shift']());}};_0x3b2c73(++_0x3a6654);}(a656_0x3a66,0x1d4));const a656_0x3b2c=function(_0x297fd9,_0x3a6654){_0x297fd9=_0x297fd9-0x0;let _0x3b2c73=a656_0x3a66[_0x297fd9];return _0x3b2c73;};const _0x91373d=a656_0x3b2c;'use strict';const express=require(_0x91373d('0x0')),router=express['Router']();module[_0x91373d('0x1')]=router;
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.attributes.js b/server/api/userFaxQueue/userFaxQueue.attributes.js
index b714be6..7df98d3 100644
--- a/server/api/userFaxQueue/userFaxQueue.attributes.js
+++ b/server/api/userFaxQueue/userFaxQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.model.js b/server/api/userFaxQueue/userFaxQueue.model.js
index ff9af09..d0ebbe2 100644
--- a/server/api/userFaxQueue/userFaxQueue.model.js
+++ b/server/api/userFaxQueue/userFaxQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/index.js b/server/api/userMailQueue/index.js
index 0b8b907..316225c 100644
--- a/server/api/userMailQueue/index.js
+++ b/server/api/userMailQueue/index.js
@@ -1 +1 @@
-const a659_0xa6bf=['Router','exports','express'];(function(_0x32cd6d,_0xa6bf2c){const _0x2b353c=function(_0x37ff11){while(--_0x37ff11){_0x32cd6d['push'](_0x32cd6d['shift']());}};_0x2b353c(++_0xa6bf2c);}(a659_0xa6bf,0xa0));const a659_0x2b35=function(_0x32cd6d,_0xa6bf2c){_0x32cd6d=_0x32cd6d-0x0;let _0x2b353c=a659_0xa6bf[_0x32cd6d];return _0x2b353c;};const _0x46574d=a659_0x2b35;'use strict';const express=require(_0x46574d('0x1')),router=express[_0x46574d('0x2')]();module[_0x46574d('0x0')]=router;
\ No newline at end of file
+const a659_0x144b=['express','exports','Router'];(function(_0xafd683,_0x144b8b){const _0x36f64a=function(_0x417f76){while(--_0x417f76){_0xafd683['push'](_0xafd683['shift']());}};_0x36f64a(++_0x144b8b);}(a659_0x144b,0x6a));const a659_0x36f6=function(_0xafd683,_0x144b8b){_0xafd683=_0xafd683-0x0;let _0x36f64a=a659_0x144b[_0xafd683];return _0x36f64a;};const _0x49836a=a659_0x36f6;'use strict';const express=require(_0x49836a('0x2')),router=express[_0x49836a('0x1')]();module[_0x49836a('0x0')]=router;
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.attributes.js b/server/api/userMailQueue/userMailQueue.attributes.js
index 4bfd619..2a17091 100644
--- a/server/api/userMailQueue/userMailQueue.attributes.js
+++ b/server/api/userMailQueue/userMailQueue.attributes.js
@@ -1 +1 @@
-const a660_0x5d3a=['exports'];(function(_0x134220,_0x5d3a52){const _0x2afec4=function(_0x56b6bb){while(--_0x56b6bb){_0x134220['push'](_0x134220['shift']());}};_0x2afec4(++_0x5d3a52);}(a660_0x5d3a,0x1c5));const a660_0x2afe=function(_0x134220,_0x5d3a52){_0x134220=_0x134220-0x0;let _0x2afec4=a660_0x5d3a[_0x134220];return _0x2afec4;};const _0x44edf1=a660_0x2afe;'use strict';const Sequelize=require('sequelize');module[_0x44edf1('0x0')]={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.model.js b/server/api/userMailQueue/userMailQueue.model.js
index 28b73ee..43c380b 100644
--- a/server/api/userMailQueue/userMailQueue.model.js
+++ b/server/api/userMailQueue/userMailQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/index.js b/server/api/userOpenchannelQueue/index.js
index e0e298a..627b5f3 100644
--- a/server/api/userOpenchannelQueue/index.js
+++ b/server/api/userOpenchannelQueue/index.js
@@ -1 +1 @@
-const a662_0x33f0=['exports','Router'];(function(_0x10f2ac,_0x33f0f2){const _0x521829=function(_0x5260ba){while(--_0x5260ba){_0x10f2ac['push'](_0x10f2ac['shift']());}};_0x521829(++_0x33f0f2);}(a662_0x33f0,0xc2));const a662_0x5218=function(_0x10f2ac,_0x33f0f2){_0x10f2ac=_0x10f2ac-0x0;let _0x521829=a662_0x33f0[_0x10f2ac];return _0x521829;};const _0x3aa961=a662_0x5218;'use strict';const express=require('express'),router=express[_0x3aa961('0x1')]();module[_0x3aa961('0x0')]=router;
\ No newline at end of file
+const a662_0x1e1c=['Router','exports'];(function(_0x2db3ab,_0x1e1cf1){const _0x7d84d2=function(_0x4b6d6b){while(--_0x4b6d6b){_0x2db3ab['push'](_0x2db3ab['shift']());}};_0x7d84d2(++_0x1e1cf1);}(a662_0x1e1c,0x1c7));const a662_0x7d84=function(_0x2db3ab,_0x1e1cf1){_0x2db3ab=_0x2db3ab-0x0;let _0x7d84d2=a662_0x1e1c[_0x2db3ab];return _0x7d84d2;};const _0x590bf3=a662_0x7d84;'use strict';const express=require('express'),router=express[_0x590bf3('0x1')]();module[_0x590bf3('0x0')]=router;
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
index 264aaef..85908d8 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
@@ -1 +1 @@
-const a663_0x3afc=['sequelize'];(function(_0x237e67,_0x3afc34){const _0x4a2d3a=function(_0x447b72){while(--_0x447b72){_0x237e67['push'](_0x237e67['shift']());}};_0x4a2d3a(++_0x3afc34);}(a663_0x3afc,0x140));const a663_0x4a2d=function(_0x237e67,_0x3afc34){_0x237e67=_0x237e67-0x0;let _0x4a2d3a=a663_0x3afc[_0x237e67];return _0x4a2d3a;};const _0x5c5ea7=a663_0x4a2d;'use strict';const Sequelize=require(_0x5c5ea7('0x0'));module['exports']={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
index 9bc3d59..23857b5 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/index.js b/server/api/userProfile/index.js
index 221dd5c..520cfe3 100644
--- a/server/api/userProfile/index.js
+++ b/server/api/userProfile/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.attributes.js b/server/api/userProfile/userProfile.attributes.js
index 3e6ac53..b4267d5 100644
--- a/server/api/userProfile/userProfile.attributes.js
+++ b/server/api/userProfile/userProfile.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.controller.js b/server/api/userProfile/userProfile.controller.js
index f70bbeb..d044cd3 100644
--- a/server/api/userProfile/userProfile.controller.js
+++ b/server/api/userProfile/userProfile.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.events.js b/server/api/userProfile/userProfile.events.js
index 9504fb2..921e173 100644
--- a/server/api/userProfile/userProfile.events.js
+++ b/server/api/userProfile/userProfile.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.model.js b/server/api/userProfile/userProfile.model.js
index 5064242..bb90254 100644
--- a/server/api/userProfile/userProfile.model.js
+++ b/server/api/userProfile/userProfile.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.rpc.js b/server/api/userProfile/userProfile.rpc.js
index d5f7fd5..74fe960 100644
--- a/server/api/userProfile/userProfile.rpc.js
+++ b/server/api/userProfile/userProfile.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.socket.js b/server/api/userProfile/userProfile.socket.js
index 4fe8a31..d6fcfb7 100644
--- a/server/api/userProfile/userProfile.socket.js
+++ b/server/api/userProfile/userProfile.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/index.js b/server/api/userProfileResource/index.js
index a510659..55f56bb 100644
--- a/server/api/userProfileResource/index.js
+++ b/server/api/userProfileResource/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.attributes.js b/server/api/userProfileResource/userProfileResource.attributes.js
index 3c7d854..2c104ba 100644
--- a/server/api/userProfileResource/userProfileResource.attributes.js
+++ b/server/api/userProfileResource/userProfileResource.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.controller.js b/server/api/userProfileResource/userProfileResource.controller.js
index c8a3719..10af455 100644
--- a/server/api/userProfileResource/userProfileResource.controller.js
+++ b/server/api/userProfileResource/userProfileResource.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.model.js b/server/api/userProfileResource/userProfileResource.model.js
index 6881401..bff0c8e 100644
--- a/server/api/userProfileResource/userProfileResource.model.js
+++ b/server/api/userProfileResource/userProfileResource.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/index.js b/server/api/userProfileSection/index.js
index fcae6d6..d9d9236 100644
--- a/server/api/userProfileSection/index.js
+++ b/server/api/userProfileSection/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.attributes.js b/server/api/userProfileSection/userProfileSection.attributes.js
index 1dd12a1..4a4bdb7 100644
--- a/server/api/userProfileSection/userProfileSection.attributes.js
+++ b/server/api/userProfileSection/userProfileSection.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.controller.js b/server/api/userProfileSection/userProfileSection.controller.js
index 9e729ec..d796577 100644
--- a/server/api/userProfileSection/userProfileSection.controller.js
+++ b/server/api/userProfileSection/userProfileSection.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.model.js b/server/api/userProfileSection/userProfileSection.model.js
index 9fa2abf..be63eb3 100644
--- a/server/api/userProfileSection/userProfileSection.model.js
+++ b/server/api/userProfileSection/userProfileSection.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/index.js b/server/api/userSmsQueue/index.js
index 500e116..9ced5cf 100644
--- a/server/api/userSmsQueue/index.js
+++ b/server/api/userSmsQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
+const a680_0x5b55=['express'];(function(_0x45b48a,_0x5b555f){const _0x27fe94=function(_0x182d09){while(--_0x182d09){_0x45b48a['push'](_0x45b48a['shift']());}};_0x27fe94(++_0x5b555f);}(a680_0x5b55,0x19c));const a680_0x27fe=function(_0x45b48a,_0x5b555f){_0x45b48a=_0x45b48a-0x0;let _0x27fe94=a680_0x5b55[_0x45b48a];return _0x27fe94;};const _0x212410=a680_0x27fe;'use strict';const express=require(_0x212410('0x0')),router=express['Router']();module['exports']=router;
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.attributes.js b/server/api/userSmsQueue/userSmsQueue.attributes.js
index 9a3cc2c..92e60a5 100644
--- a/server/api/userSmsQueue/userSmsQueue.attributes.js
+++ b/server/api/userSmsQueue/userSmsQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.model.js b/server/api/userSmsQueue/userSmsQueue.model.js
index 21f61eb..a15fab3 100644
--- a/server/api/userSmsQueue/userSmsQueue.model.js
+++ b/server/api/userSmsQueue/userSmsQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/index.js b/server/api/userVoiceQueue/index.js
index ea4e49d..a07c222 100644
--- a/server/api/userVoiceQueue/index.js
+++ b/server/api/userVoiceQueue/index.js
@@ -1 +1 @@
-const a683_0x2aeb=['Router'];(function(_0x35590e,_0x2aeba3){const _0x4f85fb=function(_0x5ccc4b){while(--_0x5ccc4b){_0x35590e['push'](_0x35590e['shift']());}};_0x4f85fb(++_0x2aeba3);}(a683_0x2aeb,0x86));const a683_0x4f85=function(_0x35590e,_0x2aeba3){_0x35590e=_0x35590e-0x0;let _0x4f85fb=a683_0x2aeb[_0x35590e];return _0x4f85fb;};const _0x2d0477=a683_0x4f85;'use strict';const express=require('express'),router=express[_0x2d0477('0x0')]();module['exports']=router;
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.attributes.js b/server/api/userVoiceQueue/userVoiceQueue.attributes.js
index 51c32c2..79f96b5 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.attributes.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.model.js b/server/api/userVoiceQueue/userVoiceQueue.model.js
index 2f377ce..57eb84e 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.model.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/index.js b/server/api/userVoiceQueueRt/index.js
index 8c613df..f15b47f 100644
--- a/server/api/userVoiceQueueRt/index.js
+++ b/server/api/userVoiceQueueRt/index.js
@@ -1 +1 @@
-const a686_0x53d0=['express','Router'];(function(_0x1f0da1,_0x53d0dc){const _0x212efb=function(_0x259855){while(--_0x259855){_0x1f0da1['push'](_0x1f0da1['shift']());}};_0x212efb(++_0x53d0dc);}(a686_0x53d0,0x71));const a686_0x212e=function(_0x1f0da1,_0x53d0dc){_0x1f0da1=_0x1f0da1-0x0;let _0x212efb=a686_0x53d0[_0x1f0da1];return _0x212efb;};const _0x36f957=a686_0x212e;'use strict';const express=require(_0x36f957('0x1')),router=express[_0x36f957('0x0')]();module['exports']=router;
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
index aa26a6e..390ff47 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
index ad9039e..435c88d 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
index f21e3aa..88763ea 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
index 0a955d0..859c5cf 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
index 0466ffc..e0c20f9 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userWhatsappQueue/index.js b/server/api/userWhatsappQueue/index.js
index be2c94a..988e3cf 100644
--- a/server/api/userWhatsappQueue/index.js
+++ b/server/api/userWhatsappQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
+const a692_0x5a0e=['Router','exports'];(function(_0xefb0d6,_0x5a0e98){const _0x161e66=function(_0x49e723){while(--_0x49e723){_0xefb0d6['push'](_0xefb0d6['shift']());}};_0x161e66(++_0x5a0e98);}(a692_0x5a0e,0x65));const a692_0x161e=function(_0xefb0d6,_0x5a0e98){_0xefb0d6=_0xefb0d6-0x0;let _0x161e66=a692_0x5a0e[_0xefb0d6];return _0x161e66;};const _0x496cd3=a692_0x161e;'use strict';const express=require('express'),router=express[_0x496cd3('0x1')]();module[_0x496cd3('0x0')]=router;
\ No newline at end of file
diff --git a/server/api/userWhatsappQueue/userWhatsappQueue.attributes.js b/server/api/userWhatsappQueue/userWhatsappQueue.attributes.js
index 127914c..e35a6ae 100644
--- a/server/api/userWhatsappQueue/userWhatsappQueue.attributes.js
+++ b/server/api/userWhatsappQueue/userWhatsappQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userWhatsappQueue/userWhatsappQueue.model.js b/server/api/userWhatsappQueue/userWhatsappQueue.model.js
index ba53f5f..8a94106 100644
--- a/server/api/userWhatsappQueue/userWhatsappQueue.model.js
+++ b/server/api/userWhatsappQueue/userWhatsappQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/index.js b/server/api/variable/index.js
index afb74ed..60a17e7 100644
--- a/server/api/variable/index.js
+++ b/server/api/variable/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.attributes.js b/server/api/variable/variable.attributes.js
index 510981a..b656011 100644
--- a/server/api/variable/variable.attributes.js
+++ b/server/api/variable/variable.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.controller.js b/server/api/variable/variable.controller.js
index b66a365..a5ab514 100644
--- a/server/api/variable/variable.controller.js
+++ b/server/api/variable/variable.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.model.js b/server/api/variable/variable.model.js
index 00f570b..b75621e 100644
--- a/server/api/variable/variable.model.js
+++ b/server/api/variable/variable.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.rpc.js b/server/api/variable/variable.rpc.js
index 1d68617..6bf6a99 100644
--- a/server/api/variable/variable.rpc.js
+++ b/server/api/variable/variable.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/version/index.js b/server/api/version/index.js
index 4cddab0..870852a 100644
--- a/server/api/version/index.js
+++ b/server/api/version/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/version/version.controller.js b/server/api/version/version.controller.js
index 3bd9b52..cacb090 100644
--- a/server/api/version/version.controller.js
+++ b/server/api/version/version.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/index.js b/server/api/voiceAgentReport/index.js
index 92bc100..b2a3c7c 100644
--- a/server/api/voiceAgentReport/index.js
+++ b/server/api/voiceAgentReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.attributes.js b/server/api/voiceAgentReport/voiceAgentReport.attributes.js
index 67edfb6..4d51da0 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.attributes.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.controller.js b/server/api/voiceAgentReport/voiceAgentReport.controller.js
index 87b4049..9ef8276 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.controller.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.model.js b/server/api/voiceAgentReport/voiceAgentReport.model.js
index 097c326..1b64e74 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.model.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.rpc.js b/server/api/voiceAgentReport/voiceAgentReport.rpc.js
index 76831e6..5ce4c75 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.rpc.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/index.js b/server/api/voiceCallReport/index.js
index a3fbfd1..aef6295 100644
--- a/server/api/voiceCallReport/index.js
+++ b/server/api/voiceCallReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.attributes.js b/server/api/voiceCallReport/voiceCallReport.attributes.js
index 1a81947..84f2e86 100644
--- a/server/api/voiceCallReport/voiceCallReport.attributes.js
+++ b/server/api/voiceCallReport/voiceCallReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.controller.js b/server/api/voiceCallReport/voiceCallReport.controller.js
index d249e96..a6ded88 100644
--- a/server/api/voiceCallReport/voiceCallReport.controller.js
+++ b/server/api/voiceCallReport/voiceCallReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.model.js b/server/api/voiceCallReport/voiceCallReport.model.js
index b947e77..2623a2b 100644
--- a/server/api/voiceCallReport/voiceCallReport.model.js
+++ b/server/api/voiceCallReport/voiceCallReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.rpc.js b/server/api/voiceCallReport/voiceCallReport.rpc.js
index 04d76a8..accb516 100644
--- a/server/api/voiceCallReport/voiceCallReport.rpc.js
+++ b/server/api/voiceCallReport/voiceCallReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/index.js b/server/api/voiceChanSpy/index.js
index de5c35c..d90765c 100644
--- a/server/api/voiceChanSpy/index.js
+++ b/server/api/voiceChanSpy/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.attributes.js b/server/api/voiceChanSpy/voiceChanSpy.attributes.js
index 48cadca..0064445 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.attributes.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.controller.js b/server/api/voiceChanSpy/voiceChanSpy.controller.js
index 744360a..605cf17 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.controller.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.model.js b/server/api/voiceChanSpy/voiceChanSpy.model.js
index 3435bf4..ec0eafd 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.model.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/index.js b/server/api/voiceContext/index.js
index 06988cb..2431c56 100644
--- a/server/api/voiceContext/index.js
+++ b/server/api/voiceContext/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.attributes.js b/server/api/voiceContext/voiceContext.attributes.js
index 7be81d2..d19e76c 100644
--- a/server/api/voiceContext/voiceContext.attributes.js
+++ b/server/api/voiceContext/voiceContext.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.controller.js b/server/api/voiceContext/voiceContext.controller.js
index bad7dd4..8bac052 100644
--- a/server/api/voiceContext/voiceContext.controller.js
+++ b/server/api/voiceContext/voiceContext.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.model.js b/server/api/voiceContext/voiceContext.model.js
index 07e8cb9..2028b6d 100644
--- a/server/api/voiceContext/voiceContext.model.js
+++ b/server/api/voiceContext/voiceContext.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/index.js b/server/api/voiceDialReport/index.js
index bec1092..fe11535 100644
--- a/server/api/voiceDialReport/index.js
+++ b/server/api/voiceDialReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.attributes.js b/server/api/voiceDialReport/voiceDialReport.attributes.js
index d5891a2..c65e297 100644
--- a/server/api/voiceDialReport/voiceDialReport.attributes.js
+++ b/server/api/voiceDialReport/voiceDialReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.controller.js b/server/api/voiceDialReport/voiceDialReport.controller.js
index 7a2043e..74ce592 100644
--- a/server/api/voiceDialReport/voiceDialReport.controller.js
+++ b/server/api/voiceDialReport/voiceDialReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.model.js b/server/api/voiceDialReport/voiceDialReport.model.js
index a4c8a32..90b5f8e 100644
--- a/server/api/voiceDialReport/voiceDialReport.model.js
+++ b/server/api/voiceDialReport/voiceDialReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.rpc.js b/server/api/voiceDialReport/voiceDialReport.rpc.js
index de9e4ab..b2d77f2 100644
--- a/server/api/voiceDialReport/voiceDialReport.rpc.js
+++ b/server/api/voiceDialReport/voiceDialReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/index.js b/server/api/voiceExtension/index.js
index 91215e2..fd3bccd 100644
--- a/server/api/voiceExtension/index.js
+++ b/server/api/voiceExtension/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.attributes.js b/server/api/voiceExtension/voiceExtension.attributes.js
index a9540a9..2720a51 100644
--- a/server/api/voiceExtension/voiceExtension.attributes.js
+++ b/server/api/voiceExtension/voiceExtension.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.controller.js b/server/api/voiceExtension/voiceExtension.controller.js
index d27ac05..7859a5b 100644
--- a/server/api/voiceExtension/voiceExtension.controller.js
+++ b/server/api/voiceExtension/voiceExtension.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.events.js b/server/api/voiceExtension/voiceExtension.events.js
index ef67e69..192c815 100644
--- a/server/api/voiceExtension/voiceExtension.events.js
+++ b/server/api/voiceExtension/voiceExtension.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.model.js b/server/api/voiceExtension/voiceExtension.model.js
index 1d30fbd..01b6cd4 100644
--- a/server/api/voiceExtension/voiceExtension.model.js
+++ b/server/api/voiceExtension/voiceExtension.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.rpc.js b/server/api/voiceExtension/voiceExtension.rpc.js
index 3d6b17e..f4d5718 100644
--- a/server/api/voiceExtension/voiceExtension.rpc.js
+++ b/server/api/voiceExtension/voiceExtension.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.socket.js b/server/api/voiceExtension/voiceExtension.socket.js
index 13edba5..fef3a41 100644
--- a/server/api/voiceExtension/voiceExtension.socket.js
+++ b/server/api/voiceExtension/voiceExtension.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/index.js b/server/api/voiceMail/index.js
index 529d57e..b5037a3 100644
--- a/server/api/voiceMail/index.js
+++ b/server/api/voiceMail/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.attributes.js b/server/api/voiceMail/voiceMail.attributes.js
index f250094..6ce43ef 100644
--- a/server/api/voiceMail/voiceMail.attributes.js
+++ b/server/api/voiceMail/voiceMail.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.controller.js b/server/api/voiceMail/voiceMail.controller.js
index bd7f551..d8160ec 100644
--- a/server/api/voiceMail/voiceMail.controller.js
+++ b/server/api/voiceMail/voiceMail.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.model.js b/server/api/voiceMail/voiceMail.model.js
index 754014f..7917696 100644
--- a/server/api/voiceMail/voiceMail.model.js
+++ b/server/api/voiceMail/voiceMail.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/index.js b/server/api/voiceMailMessage/index.js
index 0a12e2c..7e480b9 100644
--- a/server/api/voiceMailMessage/index.js
+++ b/server/api/voiceMailMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.attributes.js b/server/api/voiceMailMessage/voiceMailMessage.attributes.js
index b83601c..51e5697 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.attributes.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.controller.js b/server/api/voiceMailMessage/voiceMailMessage.controller.js
index 21127ac..deee413 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.controller.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.model.js b/server/api/voiceMailMessage/voiceMailMessage.model.js
index b1ac63c..f88b13d 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.model.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/index.js b/server/api/voiceMusicOnHold/index.js
index 6264c11..fbefc87 100644
--- a/server/api/voiceMusicOnHold/index.js
+++ b/server/api/voiceMusicOnHold/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
index 490ddcd..335837e 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
index e667f5c..4584e2c 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
index 8c2038e..6c7cd26 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/index.js b/server/api/voicePrefix/index.js
index 7d8564c..9864e85 100644
--- a/server/api/voicePrefix/index.js
+++ b/server/api/voicePrefix/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.attributes.js b/server/api/voicePrefix/voicePrefix.attributes.js
index 7eab893..224d136 100644
--- a/server/api/voicePrefix/voicePrefix.attributes.js
+++ b/server/api/voicePrefix/voicePrefix.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.controller.js b/server/api/voicePrefix/voicePrefix.controller.js
index 008cb1d..2e2fa05 100644
--- a/server/api/voicePrefix/voicePrefix.controller.js
+++ b/server/api/voicePrefix/voicePrefix.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.events.js b/server/api/voicePrefix/voicePrefix.events.js
index f2fe0ea..acd39d7 100644
--- a/server/api/voicePrefix/voicePrefix.events.js
+++ b/server/api/voicePrefix/voicePrefix.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.model.js b/server/api/voicePrefix/voicePrefix.model.js
index 1929154..3e14de8 100644
--- a/server/api/voicePrefix/voicePrefix.model.js
+++ b/server/api/voicePrefix/voicePrefix.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.rpc.js b/server/api/voicePrefix/voicePrefix.rpc.js
index 344b76e..eb38a53 100644
--- a/server/api/voicePrefix/voicePrefix.rpc.js
+++ b/server/api/voicePrefix/voicePrefix.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.socket.js b/server/api/voicePrefix/voicePrefix.socket.js
index e9dd9bf..b62dfef 100644
--- a/server/api/voicePrefix/voicePrefix.socket.js
+++ b/server/api/voicePrefix/voicePrefix.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/index.js b/server/api/voiceQueue/index.js
index 5ba394c..895311e 100644
--- a/server/api/voiceQueue/index.js
+++ b/server/api/voiceQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.attributes.js b/server/api/voiceQueue/voiceQueue.attributes.js
index d71e93a..088ced2 100644
--- a/server/api/voiceQueue/voiceQueue.attributes.js
+++ b/server/api/voiceQueue/voiceQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.controller.js b/server/api/voiceQueue/voiceQueue.controller.js
index 92520f6..a0b5c7a 100644
--- a/server/api/voiceQueue/voiceQueue.controller.js
+++ b/server/api/voiceQueue/voiceQueue.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.events.js b/server/api/voiceQueue/voiceQueue.events.js
index fa72639..951dfd4 100644
--- a/server/api/voiceQueue/voiceQueue.events.js
+++ b/server/api/voiceQueue/voiceQueue.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.model.js b/server/api/voiceQueue/voiceQueue.model.js
index 4948f75..85b7f94 100644
--- a/server/api/voiceQueue/voiceQueue.model.js
+++ b/server/api/voiceQueue/voiceQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.rpc.js b/server/api/voiceQueue/voiceQueue.rpc.js
index 75f90d3..d4a23b9 100644
--- a/server/api/voiceQueue/voiceQueue.rpc.js
+++ b/server/api/voiceQueue/voiceQueue.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.socket.js b/server/api/voiceQueue/voiceQueue.socket.js
index 58199ba..ce80ef7 100644
--- a/server/api/voiceQueue/voiceQueue.socket.js
+++ b/server/api/voiceQueue/voiceQueue.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/index.js b/server/api/voiceQueueReport/index.js
index b80e28a..359c5c5 100644
--- a/server/api/voiceQueueReport/index.js
+++ b/server/api/voiceQueueReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.attributes.js b/server/api/voiceQueueReport/voiceQueueReport.attributes.js
index c2ba3d5..00d7bce 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.attributes.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.controller.js b/server/api/voiceQueueReport/voiceQueueReport.controller.js
index b57ffe9..a47b534 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.controller.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.events.js b/server/api/voiceQueueReport/voiceQueueReport.events.js
index a1ef49a..88bc73b 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.events.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.model.js b/server/api/voiceQueueReport/voiceQueueReport.model.js
index 7aad049..f9bd480 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.model.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.rpc.js b/server/api/voiceQueueReport/voiceQueueReport.rpc.js
index 9b26a5f..7765efe 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.rpc.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.socket.js b/server/api/voiceQueueReport/voiceQueueReport.socket.js
index 62412e1..c6f2838 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.socket.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/index.js b/server/api/voiceQueuesLog/index.js
index f70d3c1..6cf0fd4 100644
--- a/server/api/voiceQueuesLog/index.js
+++ b/server/api/voiceQueuesLog/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js b/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
index 68fb73f..bc103bf 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.controller.js b/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
index d024fc5..9a57470 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.model.js b/server/api/voiceQueuesLog/voiceQueuesLog.model.js
index 842020e..36bccaf 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.model.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/index.js b/server/api/voiceRecording/index.js
index e29211a..383b90e 100644
--- a/server/api/voiceRecording/index.js
+++ b/server/api/voiceRecording/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.attributes.js b/server/api/voiceRecording/voiceRecording.attributes.js
index 2c83269..e61ceff 100644
--- a/server/api/voiceRecording/voiceRecording.attributes.js
+++ b/server/api/voiceRecording/voiceRecording.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.controller.js b/server/api/voiceRecording/voiceRecording.controller.js
index d71b92e..13a32ed 100644
--- a/server/api/voiceRecording/voiceRecording.controller.js
+++ b/server/api/voiceRecording/voiceRecording.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.model.js b/server/api/voiceRecording/voiceRecording.model.js
index b9a2a0a..8fc7d8e 100644
--- a/server/api/voiceRecording/voiceRecording.model.js
+++ b/server/api/voiceRecording/voiceRecording.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.rpc.js b/server/api/voiceRecording/voiceRecording.rpc.js
index 2231e2e..6a2096e 100644
--- a/server/api/voiceRecording/voiceRecording.rpc.js
+++ b/server/api/voiceRecording/voiceRecording.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/index.js b/server/api/voiceTransferReport/index.js
index 3960e63..e2cfc0a 100644
--- a/server/api/voiceTransferReport/index.js
+++ b/server/api/voiceTransferReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.attributes.js b/server/api/voiceTransferReport/voiceTransferReport.attributes.js
index 4c20d36..97af8d8 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.attributes.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.controller.js b/server/api/voiceTransferReport/voiceTransferReport.controller.js
index cb7244e..70f05d7 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.controller.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.model.js b/server/api/voiceTransferReport/voiceTransferReport.model.js
index 11cb6af..de804f7 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.model.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.rpc.js b/server/api/voiceTransferReport/voiceTransferReport.rpc.js
index 8c9e4bb..36a7ef4 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.rpc.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/webbar/index.js b/server/api/webbar/index.js
index 3257025..ffd082e 100644
--- a/server/api/webbar/index.js
+++ b/server/api/webbar/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/webbar/webbar.controller.js b/server/api/webbar/webbar.controller.js
index 877b5be..6749afa 100644
--- a/server/api/webbar/webbar.controller.js
+++ b/server/api/webbar/webbar.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappAccount/index.js b/server/api/whatsappAccount/index.js
index 9caa1ad..b5c2650 100644
--- a/server/api/whatsappAccount/index.js
+++ b/server/api/whatsappAccount/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.attributes.js b/server/api/whatsappAccount/whatsappAccount.attributes.js
index ffd1a9c..c56dd60 100644
--- a/server/api/whatsappAccount/whatsappAccount.attributes.js
+++ b/server/api/whatsappAccount/whatsappAccount.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.controller.js b/server/api/whatsappAccount/whatsappAccount.controller.js
index 4c45f03..86fcfc9 100644
--- a/server/api/whatsappAccount/whatsappAccount.controller.js
+++ b/server/api/whatsappAccount/whatsappAccount.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.events.js b/server/api/whatsappAccount/whatsappAccount.events.js
index 6d185af..186064c 100644
--- a/server/api/whatsappAccount/whatsappAccount.events.js
+++ b/server/api/whatsappAccount/whatsappAccount.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.model.js b/server/api/whatsappAccount/whatsappAccount.model.js
index 06f91fa..8489a62 100644
--- a/server/api/whatsappAccount/whatsappAccount.model.js
+++ b/server/api/whatsappAccount/whatsappAccount.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.rpc.js b/server/api/whatsappAccount/whatsappAccount.rpc.js
index cea9643..7853612 100644
--- a/server/api/whatsappAccount/whatsappAccount.rpc.js
+++ b/server/api/whatsappAccount/whatsappAccount.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappAccount/whatsappAccount.socket.js b/server/api/whatsappAccount/whatsappAccount.socket.js
index f498321..88e0f81 100644
--- a/server/api/whatsappAccount/whatsappAccount.socket.js
+++ b/server/api/whatsappAccount/whatsappAccount.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappApplication/index.js b/server/api/whatsappApplication/index.js
index 6c293bd..a26f9f3 100644
--- a/server/api/whatsappApplication/index.js
+++ b/server/api/whatsappApplication/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappApplication/whatsappApplication.attributes.js b/server/api/whatsappApplication/whatsappApplication.attributes.js
index 5abce60..e1cea9b 100644
--- a/server/api/whatsappApplication/whatsappApplication.attributes.js
+++ b/server/api/whatsappApplication/whatsappApplication.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappApplication/whatsappApplication.controller.js b/server/api/whatsappApplication/whatsappApplication.controller.js
index 2bd2698..72b03a8 100644
--- a/server/api/whatsappApplication/whatsappApplication.controller.js
+++ b/server/api/whatsappApplication/whatsappApplication.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappApplication/whatsappApplication.model.js b/server/api/whatsappApplication/whatsappApplication.model.js
index fb06461..cc9a6b8 100644
--- a/server/api/whatsappApplication/whatsappApplication.model.js
+++ b/server/api/whatsappApplication/whatsappApplication.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/index.js b/server/api/whatsappInteraction/index.js
index 7ada7c5..9e9f159 100644
--- a/server/api/whatsappInteraction/index.js
+++ b/server/api/whatsappInteraction/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.attributes.js b/server/api/whatsappInteraction/whatsappInteraction.attributes.js
index c025e99..b72cd01 100644
--- a/server/api/whatsappInteraction/whatsappInteraction.attributes.js
+++ b/server/api/whatsappInteraction/whatsappInteraction.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.controller.js b/server/api/whatsappInteraction/whatsappInteraction.controller.js
index 8cfeb23..82904dd 100644
--- a/server/api/whatsappInteraction/whatsappInteraction.controller.js
+++ b/server/api/whatsappInteraction/whatsappInteraction.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.events.js b/server/api/whatsappInteraction/whatsappInteraction.events.js
index 5c4abbe..ff95cd1 100644
--- a/server/api/whatsappInteraction/whatsappInteraction.events.js
+++ b/server/api/whatsappInteraction/whatsappInteraction.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.model.js b/server/api/whatsappInteraction/whatsappInteraction.model.js
index f47d876..480b5eb 100644
--- a/server/api/whatsappInteraction/whatsappInteraction.model.js
+++ b/server/api/whatsappInteraction/whatsappInteraction.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.rpc.js b/server/api/whatsappInteraction/whatsappInteraction.rpc.js
index 1c16bf2..1ee9520 100644
--- a/server/api/whatsappInteraction/whatsappInteraction.rpc.js
+++ b/server/api/whatsappInteraction/whatsappInteraction.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappInteraction/whatsappInteraction.socket.js b/server/api/whatsappInteraction/whatsappInteraction.socket.js
index c952531..f041355 100644
--- a/server/api/whatsappInteraction/whatsappInteraction.socket.js
+++ b/server/api/whatsappInteraction/whatsappInteraction.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappMessage/index.js b/server/api/whatsappMessage/index.js
index fb4767c..9f2e915 100644
--- a/server/api/whatsappMessage/index.js
+++ b/server/api/whatsappMessage/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.attributes.js b/server/api/whatsappMessage/whatsappMessage.attributes.js
index 3a0cea5..639dec1 100644
--- a/server/api/whatsappMessage/whatsappMessage.attributes.js
+++ b/server/api/whatsappMessage/whatsappMessage.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.controller.js b/server/api/whatsappMessage/whatsappMessage.controller.js
index ccb31e9..5b6674b 100644
--- a/server/api/whatsappMessage/whatsappMessage.controller.js
+++ b/server/api/whatsappMessage/whatsappMessage.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.events.js b/server/api/whatsappMessage/whatsappMessage.events.js
index 3ce43bd..e6573f5 100644
--- a/server/api/whatsappMessage/whatsappMessage.events.js
+++ b/server/api/whatsappMessage/whatsappMessage.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.model.js b/server/api/whatsappMessage/whatsappMessage.model.js
index 687ff65..170a7fa 100644
--- a/server/api/whatsappMessage/whatsappMessage.model.js
+++ b/server/api/whatsappMessage/whatsappMessage.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.rpc.js b/server/api/whatsappMessage/whatsappMessage.rpc.js
index a83b653..fb9fac9 100644
--- a/server/api/whatsappMessage/whatsappMessage.rpc.js
+++ b/server/api/whatsappMessage/whatsappMessage.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappMessage/whatsappMessage.socket.js b/server/api/whatsappMessage/whatsappMessage.socket.js
index ae28d55..078c7de 100644
--- a/server/api/whatsappMessage/whatsappMessage.socket.js
+++ b/server/api/whatsappMessage/whatsappMessage.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueue/index.js b/server/api/whatsappQueue/index.js
index 95c2c51..9eab995 100644
--- a/server/api/whatsappQueue/index.js
+++ b/server/api/whatsappQueue/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.attributes.js b/server/api/whatsappQueue/whatsappQueue.attributes.js
index 52416bb..addcd82 100644
--- a/server/api/whatsappQueue/whatsappQueue.attributes.js
+++ b/server/api/whatsappQueue/whatsappQueue.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.controller.js b/server/api/whatsappQueue/whatsappQueue.controller.js
index 3510cac..3ef7159 100644
--- a/server/api/whatsappQueue/whatsappQueue.controller.js
+++ b/server/api/whatsappQueue/whatsappQueue.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.events.js b/server/api/whatsappQueue/whatsappQueue.events.js
index 74e48f6..6a03f69 100644
--- a/server/api/whatsappQueue/whatsappQueue.events.js
+++ b/server/api/whatsappQueue/whatsappQueue.events.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.model.js b/server/api/whatsappQueue/whatsappQueue.model.js
index 516b9b2..7d47775 100644
--- a/server/api/whatsappQueue/whatsappQueue.model.js
+++ b/server/api/whatsappQueue/whatsappQueue.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.rpc.js b/server/api/whatsappQueue/whatsappQueue.rpc.js
index 11f50ff..19cdd5e 100644
--- a/server/api/whatsappQueue/whatsappQueue.rpc.js
+++ b/server/api/whatsappQueue/whatsappQueue.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueue/whatsappQueue.socket.js b/server/api/whatsappQueue/whatsappQueue.socket.js
index 36a4f31..b09748a 100644
--- a/server/api/whatsappQueue/whatsappQueue.socket.js
+++ b/server/api/whatsappQueue/whatsappQueue.socket.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/index.js b/server/api/whatsappQueueReport/index.js
index 25b7580..ef5a0bf 100644
--- a/server/api/whatsappQueueReport/index.js
+++ b/server/api/whatsappQueueReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.attributes.js b/server/api/whatsappQueueReport/whatsappQueueReport.attributes.js
index 26b3098..79d6081 100644
--- a/server/api/whatsappQueueReport/whatsappQueueReport.attributes.js
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.controller.js b/server/api/whatsappQueueReport/whatsappQueueReport.controller.js
index 9791a41..55b7108 100644
--- a/server/api/whatsappQueueReport/whatsappQueueReport.controller.js
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.model.js b/server/api/whatsappQueueReport/whatsappQueueReport.model.js
index 8ffe443..b82187e 100644
--- a/server/api/whatsappQueueReport/whatsappQueueReport.model.js
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappQueueReport/whatsappQueueReport.rpc.js b/server/api/whatsappQueueReport/whatsappQueueReport.rpc.js
index 1454035..8f7169e 100644
--- a/server/api/whatsappQueueReport/whatsappQueueReport.rpc.js
+++ b/server/api/whatsappQueueReport/whatsappQueueReport.rpc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/index.js b/server/api/whatsappTransferReport/index.js
index 966c0bb..22d5641 100644
--- a/server/api/whatsappTransferReport/index.js
+++ b/server/api/whatsappTransferReport/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/whatsappTransferReport.attributes.js b/server/api/whatsappTransferReport/whatsappTransferReport.attributes.js
index 2081060..a74190d 100644
--- a/server/api/whatsappTransferReport/whatsappTransferReport.attributes.js
+++ b/server/api/whatsappTransferReport/whatsappTransferReport.attributes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/whatsappTransferReport.controller.js b/server/api/whatsappTransferReport/whatsappTransferReport.controller.js
index 35aadfe..a966629 100644
--- a/server/api/whatsappTransferReport/whatsappTransferReport.controller.js
+++ b/server/api/whatsappTransferReport/whatsappTransferReport.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/whatsappTransferReport/whatsappTransferReport.model.js b/server/api/whatsappTransferReport/whatsappTransferReport.model.js
index 7dba3f2..ac02cd3 100644
--- a/server/api/whatsappTransferReport/whatsappTransferReport.model.js
+++ b/server/api/whatsappTransferReport/whatsappTransferReport.model.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/app.js b/server/app.js
index 24b5d89..fb5bc55 100644
--- a/server/app.js
+++ b/server/app.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/auth/service.js b/server/components/auth/service.js
index 3708d27..6b0905e 100644
--- a/server/components/auth/service.js
+++ b/server/components/auth/service.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/encryptor/create-cypher-fallback.js b/server/components/encryptor/create-cypher-fallback.js
index 32074c5..59317da 100644
--- a/server/components/encryptor/create-cypher-fallback.js
+++ b/server/components/encryptor/create-cypher-fallback.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/encryptor/index.js b/server/components/encryptor/index.js
index bcadf3e..6a7b1d7 100644
--- a/server/components/encryptor/index.js
+++ b/server/components/encryptor/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/csv.js b/server/components/export/csv.js
index 9b71feb..24109ea 100644
--- a/server/components/export/csv.js
+++ b/server/components/export/csv.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/pdf.js b/server/components/export/pdf.js
index 216bc58..51a2a42 100644
--- a/server/components/export/pdf.js
+++ b/server/components/export/pdf.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/xlsx.js b/server/components/export/xlsx.js
index 6c0fee5..b3114ea 100644
--- a/server/components/export/xlsx.js
+++ b/server/components/export/xlsx.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/extensions/rewrite.js b/server/components/extensions/rewrite.js
index 131f585..cfd9be8 100644
--- a/server/components/extensions/rewrite.js
+++ b/server/components/extensions/rewrite.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/import/cm/csv2.js b/server/components/import/cm/csv2.js
index 3520afd..3a36cac 100644
--- a/server/components/import/cm/csv2.js
+++ b/server/components/import/cm/csv2.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/integrations/configuration.js b/server/components/integrations/configuration.js
index b7efe8a..3f615d2 100644
--- a/server/components/integrations/configuration.js
+++ b/server/components/integrations/configuration.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/interaction/service.js b/server/components/interaction/service.js
index a396e59..95b1cfd 100644
--- a/server/components/interaction/service.js
+++ b/server/components/interaction/service.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/license/service.js b/server/components/license/service.js
index 47a89fe..8b77164 100644
--- a/server/components/license/service.js
+++ b/server/components/license/service.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/parsers/advancedSearch.js b/server/components/parsers/advancedSearch.js
index aa41581..7bc368a 100644
--- a/server/components/parsers/advancedSearch.js
+++ b/server/components/parsers/advancedSearch.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/parsers/qs.js b/server/components/parsers/qs.js
index 23488c9..068b417 100644
--- a/server/components/parsers/qs.js
+++ b/server/components/parsers/qs.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/config.service.js b/server/config/config.service.js
index 4451fa5..22cc51f 100644
--- a/server/config/config.service.js
+++ b/server/config/config.service.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/env_definitions.json b/server/config/env_definitions.json
index 964f2fb..5aef453 100644
--- a/server/config/env_definitions.json
+++ b/server/config/env_definitions.json
@@ -68,12 +68,12 @@
     {
       "env": "XC_ASTERISK_USERNAME",
       "type": "string",
-      "defaultValue": "xcall"
+      "defaultValue": "xastmanager"
     },
     {
       "env": "XC_ASTERISK_PASSWORD",
       "type": "string",
-      "defaultValue": "xcall1234"
+      "defaultValue": "My_$ecur3_P4ss"
     },
     {
       "env": "XC_REDIS_HOST",
diff --git a/server/config/environment/development.js b/server/config/environment/development.js
index 435c15d..19f324e 100644
--- a/server/config/environment/development.js
+++ b/server/config/environment/development.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/environment/index.js b/server/config/environment/index.js
index c1bbf9b..186c305 100644
--- a/server/config/environment/index.js
+++ b/server/config/environment/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/environment/shared.js b/server/config/environment/shared.js
index 7fb3fa7..b397a13 100644
--- a/server/config/environment/shared.js
+++ b/server/config/environment/shared.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/environment/test.js b/server/config/environment/test.js
index aac3562..c901bdb 100644
--- a/server/config/environment/test.js
+++ b/server/config/environment/test.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/express.js b/server/config/express.js
index ba87b75..e9ecc9e 100644
--- a/server/config/express.js
+++ b/server/config/express.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/hardware.js b/server/config/license/hardware.js
index 4d7c5bb..d3a7add 100644
--- a/server/config/license/hardware.js
+++ b/server/config/license/hardware.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/index.js b/server/config/license/index.js
index a1623cb..4a13002 100644
--- a/server/config/license/index.js
+++ b/server/config/license/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/util.js b/server/config/license/util.js
index 2845cad..d6127c6 100644
--- a/server/config/license/util.js
+++ b/server/config/license/util.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/local.env.js b/server/config/local.env.js
index ad3f361..e234d74 100644
--- a/server/config/local.env.js
+++ b/server/config/local.env.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/logger.js b/server/config/logger.js
index bb802b0..8faf780 100644
--- a/server/config/logger.js
+++ b/server/config/logger.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/pm2/config.js b/server/config/pm2/config.js
index aebbfff..39c74bf 100644
--- a/server/config/pm2/config.js
+++ b/server/config/pm2/config.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/pm2/index.js b/server/config/pm2/index.js
index ffc0914..8d34e9e 100644
--- a/server/config/pm2/index.js
+++ b/server/config/pm2/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/chat.js b/server/config/schedule/chat.js
index 4da9b35..53440a5 100644
--- a/server/config/schedule/chat.js
+++ b/server/config/schedule/chat.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/index.js b/server/config/schedule/index.js
index eb5b5b7..afb970a 100644
--- a/server/config/schedule/index.js
+++ b/server/config/schedule/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/transcribe.js b/server/config/schedule/transcribe.js
index aa14e77..ffffe5f 100644
--- a/server/config/schedule/transcribe.js
+++ b/server/config/schedule/transcribe.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedContact.js b/server/config/seedContact.js
index c10c0ad..8b91dfa 100644
--- a/server/config/seedContact.js
+++ b/server/config/seedContact.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/analyticReports.js b/server/config/seedDB/analyticReports.js
index a7d9cd5..b07e572 100644
--- a/server/config/seedDB/analyticReports.js
+++ b/server/config/seedDB/analyticReports.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/analyticTreeReports.js b/server/config/seedDB/analyticTreeReports.js
index 760c2bc..eb7f857 100644
--- a/server/config/seedDB/analyticTreeReports.js
+++ b/server/config/seedDB/analyticTreeReports.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/chanspy.js b/server/config/seedDB/chanspy.js
index 93db927..e814c85 100644
--- a/server/config/seedDB/chanspy.js
+++ b/server/config/seedDB/chanspy.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/companies.js b/server/config/seedDB/companies.js
index 58f7a32..850a196 100644
--- a/server/config/seedDB/companies.js
+++ b/server/config/seedDB/companies.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/contacts.js b/server/config/seedDB/contacts.js
index 491f1d4..258587e 100644
--- a/server/config/seedDB/contacts.js
+++ b/server/config/seedDB/contacts.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/dispositions.js b/server/config/seedDB/dispositions.js
index d7bab78..4f5d030 100644
--- a/server/config/seedDB/dispositions.js
+++ b/server/config/seedDB/dispositions.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/index.js b/server/config/seedDB/index.js
index c7470ad..953fe83 100644
--- a/server/config/seedDB/index.js
+++ b/server/config/seedDB/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/intervals.js b/server/config/seedDB/intervals.js
index 0afbd95..18cf44a 100644
--- a/server/config/seedDB/intervals.js
+++ b/server/config/seedDB/intervals.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/jscriptyProjects.js b/server/config/seedDB/jscriptyProjects.js
index 8b0b511..a8ebbcc 100644
--- a/server/config/seedDB/jscriptyProjects.js
+++ b/server/config/seedDB/jscriptyProjects.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/lists.js b/server/config/seedDB/lists.js
index 50d8602..918b10d 100644
--- a/server/config/seedDB/lists.js
+++ b/server/config/seedDB/lists.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/mailAccounts.js b/server/config/seedDB/mailAccounts.js
index 067459c..032c986 100644
--- a/server/config/seedDB/mailAccounts.js
+++ b/server/config/seedDB/mailAccounts.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/mailSubstatuses.js b/server/config/seedDB/mailSubstatuses.js
index 6410842..049e574 100644
--- a/server/config/seedDB/mailSubstatuses.js
+++ b/server/config/seedDB/mailSubstatuses.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/migrations.js b/server/config/seedDB/migrations.js
index cc63113..2ef59b0 100644
--- a/server/config/seedDB/migrations.js
+++ b/server/config/seedDB/migrations.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/pauses.js b/server/config/seedDB/pauses.js
index 37b8b08..8602218 100644
--- a/server/config/seedDB/pauses.js
+++ b/server/config/seedDB/pauses.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/report/default.js b/server/config/seedDB/report/default.js
index 5b36821..afaf1e6 100644
--- a/server/config/seedDB/report/default.js
+++ b/server/config/seedDB/report/default.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/report/fields.js b/server/config/seedDB/report/fields.js
index c2b4857..16088c9 100644
--- a/server/config/seedDB/report/fields.js
+++ b/server/config/seedDB/report/fields.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/report/index.js b/server/config/seedDB/report/index.js
index 3c1ae1b..95706dd 100644
--- a/server/config/seedDB/report/index.js
+++ b/server/config/seedDB/report/index.js
@@ -1 +1 @@
-var a869_0x5730=['./default','./fields'];(function(_0x376db4,_0x5730b4){var _0x361181=function(_0x5c1554){while(--_0x5c1554){_0x376db4['push'](_0x376db4['shift']());}};_0x361181(++_0x5730b4);}(a869_0x5730,0x1ec));var a869_0x3611=function(_0x376db4,_0x5730b4){_0x376db4=_0x376db4-0x0;var _0x361181=a869_0x5730[_0x376db4];return _0x361181;};var _0x4b59c3=a869_0x3611;'use strict';module['exports']={'default':require(_0x4b59c3('0x0')),'fields':require(_0x4b59c3('0x1'))};
\ No newline at end of file
+var a869_0x8fe4=['./fields','exports','./default'];(function(_0x1671d2,_0x8fe471){var _0x285a36=function(_0x176ba4){while(--_0x176ba4){_0x1671d2['push'](_0x1671d2['shift']());}};_0x285a36(++_0x8fe471);}(a869_0x8fe4,0x1ad));var a869_0x285a=function(_0x1671d2,_0x8fe471){_0x1671d2=_0x1671d2-0x0;var _0x285a36=a869_0x8fe4[_0x1671d2];return _0x285a36;};var _0x27d557=a869_0x285a;'use strict';module[_0x27d557('0x1')]={'default':require(_0x27d557('0x2')),'fields':require(_0x27d557('0x0'))};
\ No newline at end of file
diff --git a/server/config/seedDB/sounds.js b/server/config/seedDB/sounds.js
index ed4877c..939161c 100644
--- a/server/config/seedDB/sounds.js
+++ b/server/config/seedDB/sounds.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/squareOdbc.js b/server/config/seedDB/squareOdbc.js
index fb29277..0390b3f 100644
--- a/server/config/seedDB/squareOdbc.js
+++ b/server/config/seedDB/squareOdbc.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/squareProjects.js b/server/config/seedDB/squareProjects.js
index 96b12a2..d4035bb 100644
--- a/server/config/seedDB/squareProjects.js
+++ b/server/config/seedDB/squareProjects.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/tags.js b/server/config/seedDB/tags.js
index fa96d10..f45bd02 100644
--- a/server/config/seedDB/tags.js
+++ b/server/config/seedDB/tags.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/teams.js b/server/config/seedDB/teams.js
index d05ba4d..cb510a0 100644
--- a/server/config/seedDB/teams.js
+++ b/server/config/seedDB/teams.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/tree/index.js b/server/config/seedDB/tree/index.js
index 21b47fa..6367cdc 100644
--- a/server/config/seedDB/tree/index.js
+++ b/server/config/seedDB/tree/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/trunks.js b/server/config/seedDB/trunks.js
index 4070815..272266d 100644
--- a/server/config/seedDB/trunks.js
+++ b/server/config/seedDB/trunks.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/userProfiles.js b/server/config/seedDB/userProfiles.js
index f1babe6..cf709ae 100644
--- a/server/config/seedDB/userProfiles.js
+++ b/server/config/seedDB/userProfiles.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/users.js b/server/config/seedDB/users.js
index fa17ca7..003dc97 100644
--- a/server/config/seedDB/users.js
+++ b/server/config/seedDB/users.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/variables.js b/server/config/seedDB/variables.js
index 7bc53c5..5fdcd82 100644
--- a/server/config/seedDB/variables.js
+++ b/server/config/seedDB/variables.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/voiceContexts.js b/server/config/seedDB/voiceContexts.js
index 58ce87a..d9b2c59 100644
--- a/server/config/seedDB/voiceContexts.js
+++ b/server/config/seedDB/voiceContexts.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/voiceExtensions.js b/server/config/seedDB/voiceExtensions.js
index 4167d79..486bbcc 100644
--- a/server/config/seedDB/voiceExtensions.js
+++ b/server/config/seedDB/voiceExtensions.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/voiceMusicOnHold.js b/server/config/seedDB/voiceMusicOnHold.js
index 151f125..f1c1e6c 100644
--- a/server/config/seedDB/voiceMusicOnHold.js
+++ b/server/config/seedDB/voiceMusicOnHold.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedDB/voiceQueues.js b/server/config/seedDB/voiceQueues.js
index 3e7e9e7..02b9c4e 100644
--- a/server/config/seedDB/voiceQueues.js
+++ b/server/config/seedDB/voiceQueues.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedUsers.js b/server/config/seedUsers.js
index b5710cc..73a2bc6 100644
--- a/server/config/seedUsers.js
+++ b/server/config/seedUsers.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/socketio.js b/server/config/socketio.js
index 7423041..e49e155 100644
--- a/server/config/socketio.js
+++ b/server/config/socketio.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/triggers/index.js b/server/config/triggers/index.js
index 96f95ba..f0b38a2 100644
--- a/server/config/triggers/index.js
+++ b/server/config/triggers/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/utils.js b/server/config/utils.js
index 2fd84d1..df000d9 100644
--- a/server/config/utils.js
+++ b/server/config/utils.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/errors/index.js b/server/errors/index.js
index 0c977ff..c4a9844 100644
--- a/server/errors/index.js
+++ b/server/errors/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/globals.js b/server/globals.js
index 3bbc9b2..382eb0c 100644
--- a/server/globals.js
+++ b/server/globals.js
@@ -1 +1 @@
-const a889_0x4db7=['resolve','appRoot','path'];(function(_0x323324,_0x4db7b2){const _0x24fa2a=function(_0x43ac5d){while(--_0x43ac5d){_0x323324['push'](_0x323324['shift']());}};_0x24fa2a(++_0x4db7b2);}(a889_0x4db7,0x149));const a889_0x24fa=function(_0x323324,_0x4db7b2){_0x323324=_0x323324-0x0;let _0x24fa2a=a889_0x4db7[_0x323324];return _0x24fa2a;};const _0x46952c=a889_0x24fa,path=require(_0x46952c('0x0'));global[_0x46952c('0x2')]=path[_0x46952c('0x1')](__dirname);
\ No newline at end of file
+const a889_0x4211=['appRoot','path','resolve'];(function(_0x477080,_0x4211da){const _0x2676a6=function(_0x176034){while(--_0x176034){_0x477080['push'](_0x477080['shift']());}};_0x2676a6(++_0x4211da);}(a889_0x4211,0x11b));const a889_0x2676=function(_0x477080,_0x4211da){_0x477080=_0x477080-0x0;let _0x2676a6=a889_0x4211[_0x477080];return _0x2676a6;};const _0x14c2e7=a889_0x2676,path=require(_0x14c2e7('0x0'));global[_0x14c2e7('0x2')]=path[_0x14c2e7('0x1')](__dirname);
\ No newline at end of file
diff --git a/server/migrations/2.0.12.js b/server/migrations/2.0.12.js
index f430b8d..f7091be 100644
--- a/server/migrations/2.0.12.js
+++ b/server/migrations/2.0.12.js
@@ -1 +1 @@
-var a890_0xf4a3=['exports'];(function(_0x6b1fe3,_0xf4a330){var _0xf3633a=function(_0x3b0f9c){while(--_0x3b0f9c){_0x6b1fe3['push'](_0x6b1fe3['shift']());}};_0xf3633a(++_0xf4a330);}(a890_0xf4a3,0x77));var a890_0xf363=function(_0x6b1fe3,_0xf4a330){_0x6b1fe3=_0x6b1fe3-0x0;var _0xf3633a=a890_0xf4a3[_0x6b1fe3];return _0xf3633a;};var _0x2b6807=a890_0xf363;'use strict';module[_0x2b6807('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a890_0x4e1f=['exports'];(function(_0x257f2c,_0x4e1f88){var _0x216bc7=function(_0x25785e){while(--_0x25785e){_0x257f2c['push'](_0x257f2c['shift']());}};_0x216bc7(++_0x4e1f88);}(a890_0x4e1f,0xb3));var a890_0x216b=function(_0x257f2c,_0x4e1f88){_0x257f2c=_0x257f2c-0x0;var _0x216bc7=a890_0x4e1f[_0x257f2c];return _0x216bc7;};var _0x2ddc25=a890_0x216b;'use strict';module[_0x2ddc25('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.13.js b/server/migrations/2.0.13.js
index de144fe..2e0dd6b 100644
--- a/server/migrations/2.0.13.js
+++ b/server/migrations/2.0.13.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.14.js b/server/migrations/2.0.14.js
index 9a57d94..12143c4 100644
--- a/server/migrations/2.0.14.js
+++ b/server/migrations/2.0.14.js
@@ -1 +1 @@
-var a892_0xb842=['exports'];(function(_0x346c41,_0xb84253){var _0x3e121f=function(_0x4238f6){while(--_0x4238f6){_0x346c41['push'](_0x346c41['shift']());}};_0x3e121f(++_0xb84253);}(a892_0xb842,0xf7));var a892_0x3e12=function(_0x346c41,_0xb84253){_0x346c41=_0x346c41-0x0;var _0x3e121f=a892_0xb842[_0x346c41];return _0x3e121f;};var _0x50d786=a892_0x3e12;'use strict';module[_0x50d786('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+'use strict';module['exports']={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.15.js b/server/migrations/2.0.15.js
index 9ab1185..8f163e8 100644
--- a/server/migrations/2.0.15.js
+++ b/server/migrations/2.0.15.js
@@ -1 +1 @@
-var a893_0x3f67=['exports'];(function(_0x34fa6c,_0x3f679d){var _0x59abee=function(_0x1f59e8){while(--_0x1f59e8){_0x34fa6c['push'](_0x34fa6c['shift']());}};_0x59abee(++_0x3f679d);}(a893_0x3f67,0xb2));var a893_0x59ab=function(_0x34fa6c,_0x3f679d){_0x34fa6c=_0x34fa6c-0x0;var _0x59abee=a893_0x3f67[_0x34fa6c];return _0x59abee;};var _0x2ebeb3=a893_0x59ab;'use strict';module[_0x2ebeb3('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a893_0x18cb=['exports'];(function(_0x2decd7,_0x18cb41){var _0x2fe322=function(_0x3cc218){while(--_0x3cc218){_0x2decd7['push'](_0x2decd7['shift']());}};_0x2fe322(++_0x18cb41);}(a893_0x18cb,0x165));var a893_0x2fe3=function(_0x2decd7,_0x18cb41){_0x2decd7=_0x2decd7-0x0;var _0x2fe322=a893_0x18cb[_0x2decd7];return _0x2fe322;};var _0x35ccb4=a893_0x2fe3;'use strict';module[_0x35ccb4('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.16.js b/server/migrations/2.0.16.js
index 0a11b66..7e9cfad 100644
--- a/server/migrations/2.0.16.js
+++ b/server/migrations/2.0.16.js
@@ -1 +1 @@
-var a894_0x5b6b=['exports'];(function(_0x591ab4,_0x5b6be2){var _0x56b3c9=function(_0x3211d4){while(--_0x3211d4){_0x591ab4['push'](_0x591ab4['shift']());}};_0x56b3c9(++_0x5b6be2);}(a894_0x5b6b,0xac));var a894_0x56b3=function(_0x591ab4,_0x5b6be2){_0x591ab4=_0x591ab4-0x0;var _0x56b3c9=a894_0x5b6b[_0x591ab4];return _0x56b3c9;};var _0x2a5d12=a894_0x56b3;'use strict';module[_0x2a5d12('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a894_0x57c3=['exports'];(function(_0x56c97b,_0x57c33b){var _0x3ab726=function(_0x1bf649){while(--_0x1bf649){_0x56c97b['push'](_0x56c97b['shift']());}};_0x3ab726(++_0x57c33b);}(a894_0x57c3,0x130));var a894_0x3ab7=function(_0x56c97b,_0x57c33b){_0x56c97b=_0x56c97b-0x0;var _0x3ab726=a894_0x57c3[_0x56c97b];return _0x3ab726;};var _0x25784e=a894_0x3ab7;'use strict';module[_0x25784e('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.17.js b/server/migrations/2.0.17.js
index b12c563..12143c4 100644
--- a/server/migrations/2.0.17.js
+++ b/server/migrations/2.0.17.js
@@ -1 +1 @@
-var a895_0x5be3=['exports'];(function(_0x21a9f7,_0x5be377){var _0xa7b2b9=function(_0x1bbc30){while(--_0x1bbc30){_0x21a9f7['push'](_0x21a9f7['shift']());}};_0xa7b2b9(++_0x5be377);}(a895_0x5be3,0x87));var a895_0xa7b2=function(_0x21a9f7,_0x5be377){_0x21a9f7=_0x21a9f7-0x0;var _0xa7b2b9=a895_0x5be3[_0x21a9f7];return _0xa7b2b9;};var _0x5e22df=a895_0xa7b2;'use strict';module[_0x5e22df('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+'use strict';module['exports']={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.18.js b/server/migrations/2.0.18.js
index 4dec9c4..5ae5186 100644
--- a/server/migrations/2.0.18.js
+++ b/server/migrations/2.0.18.js
@@ -1 +1 @@
-var a896_0x567d=['exports'];(function(_0x4949a9,_0x567d52){var _0xca9646=function(_0x3ea484){while(--_0x3ea484){_0x4949a9['push'](_0x4949a9['shift']());}};_0xca9646(++_0x567d52);}(a896_0x567d,0x9c));var a896_0xca96=function(_0x4949a9,_0x567d52){_0x4949a9=_0x4949a9-0x0;var _0xca9646=a896_0x567d[_0x4949a9];return _0xca9646;};var _0x143e50=a896_0xca96;'use strict';module[_0x143e50('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a896_0x2383=['exports'];(function(_0x3170b0,_0x238385){var _0x45a40c=function(_0xa91d62){while(--_0xa91d62){_0x3170b0['push'](_0x3170b0['shift']());}};_0x45a40c(++_0x238385);}(a896_0x2383,0xe0));var a896_0x45a4=function(_0x3170b0,_0x238385){_0x3170b0=_0x3170b0-0x0;var _0x45a40c=a896_0x2383[_0x3170b0];return _0x45a40c;};var _0x575e1c=a896_0x45a4;'use strict';module[_0x575e1c('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.19.js b/server/migrations/2.0.19.js
index 0a31a00..e06a964 100644
--- a/server/migrations/2.0.19.js
+++ b/server/migrations/2.0.19.js
@@ -1 +1 @@
-var a897_0x19a1=['exports'];(function(_0x2fa645,_0x19a1ba){var _0x30eabb=function(_0x3352b7){while(--_0x3352b7){_0x2fa645['push'](_0x2fa645['shift']());}};_0x30eabb(++_0x19a1ba);}(a897_0x19a1,0xfd));var a897_0x30ea=function(_0x2fa645,_0x19a1ba){_0x2fa645=_0x2fa645-0x0;var _0x30eabb=a897_0x19a1[_0x2fa645];return _0x30eabb;};var _0x31b3e9=a897_0x30ea;'use strict';module[_0x31b3e9('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a897_0x5ac1=['exports'];(function(_0x345175,_0x5ac1ae){var _0x55c5aa=function(_0x21645a){while(--_0x21645a){_0x345175['push'](_0x345175['shift']());}};_0x55c5aa(++_0x5ac1ae);}(a897_0x5ac1,0x13a));var a897_0x55c5=function(_0x345175,_0x5ac1ae){_0x345175=_0x345175-0x0;var _0x55c5aa=a897_0x5ac1[_0x345175];return _0x55c5aa;};var _0xe59a90=a897_0x55c5;'use strict';module[_0xe59a90('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.20.js b/server/migrations/2.0.20.js
index f2caeab..cfc8511 100644
--- a/server/migrations/2.0.20.js
+++ b/server/migrations/2.0.20.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.21.js b/server/migrations/2.0.21.js
index 43d5f23..d4bc06a 100644
--- a/server/migrations/2.0.21.js
+++ b/server/migrations/2.0.21.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.22.js b/server/migrations/2.0.22.js
index 879a2df..4a5cc80 100644
--- a/server/migrations/2.0.22.js
+++ b/server/migrations/2.0.22.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.23.js b/server/migrations/2.0.23.js
index 36da405..4c017e4 100644
--- a/server/migrations/2.0.23.js
+++ b/server/migrations/2.0.23.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.24.js b/server/migrations/2.0.24.js
index e75347f..a3ecb96 100644
--- a/server/migrations/2.0.24.js
+++ b/server/migrations/2.0.24.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.25.js b/server/migrations/2.0.25.js
index 9085c2f..33f56c5 100644
--- a/server/migrations/2.0.25.js
+++ b/server/migrations/2.0.25.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.26.js b/server/migrations/2.0.26.js
index 5c6060d..69a8e6d 100644
--- a/server/migrations/2.0.26.js
+++ b/server/migrations/2.0.26.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.27.js b/server/migrations/2.0.27.js
index 579c974..d04b186 100644
--- a/server/migrations/2.0.27.js
+++ b/server/migrations/2.0.27.js
@@ -1 +1 @@
-var a905_0x3450=['exports'];(function(_0x4c0269,_0x34501d){var _0x2a9952=function(_0x32a1df){while(--_0x32a1df){_0x4c0269['push'](_0x4c0269['shift']());}};_0x2a9952(++_0x34501d);}(a905_0x3450,0x18f));var a905_0x2a99=function(_0x4c0269,_0x34501d){_0x4c0269=_0x4c0269-0x0;var _0x2a9952=a905_0x3450[_0x4c0269];return _0x2a9952;};var _0x2f3eb4=a905_0x2a99;'use strict';module[_0x2f3eb4('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a905_0x131d=['exports'];(function(_0x4ba96c,_0x131d39){var _0x31e560=function(_0x41211b){while(--_0x41211b){_0x4ba96c['push'](_0x4ba96c['shift']());}};_0x31e560(++_0x131d39);}(a905_0x131d,0x183));var a905_0x31e5=function(_0x4ba96c,_0x131d39){_0x4ba96c=_0x4ba96c-0x0;var _0x31e560=a905_0x131d[_0x4ba96c];return _0x31e560;};var _0x2d585a=a905_0x31e5;'use strict';module[_0x2d585a('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.28.js b/server/migrations/2.0.28.js
index 0a2c7d5..75333a0 100644
--- a/server/migrations/2.0.28.js
+++ b/server/migrations/2.0.28.js
@@ -1 +1 @@
-var a906_0x5617=['exports'];(function(_0x6a711,_0x5617a4){var _0x434a9e=function(_0x16442f){while(--_0x16442f){_0x6a711['push'](_0x6a711['shift']());}};_0x434a9e(++_0x5617a4);}(a906_0x5617,0xe3));var a906_0x434a=function(_0x6a711,_0x5617a4){_0x6a711=_0x6a711-0x0;var _0x434a9e=a906_0x5617[_0x6a711];return _0x434a9e;};var _0x1afb7d=a906_0x434a;'use strict';module[_0x1afb7d('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a906_0x57de=['exports'];(function(_0x54eed8,_0x57de24){var _0x3609b1=function(_0x19e7bf){while(--_0x19e7bf){_0x54eed8['push'](_0x54eed8['shift']());}};_0x3609b1(++_0x57de24);}(a906_0x57de,0x1c1));var a906_0x3609=function(_0x54eed8,_0x57de24){_0x54eed8=_0x54eed8-0x0;var _0x3609b1=a906_0x57de[_0x54eed8];return _0x3609b1;};var _0x249ea3=a906_0x3609;'use strict';module[_0x249ea3('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.29.js b/server/migrations/2.0.29.js
index b853360..a41981c 100644
--- a/server/migrations/2.0.29.js
+++ b/server/migrations/2.0.29.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.30.js b/server/migrations/2.0.30.js
index 00734bc..b7b80d0 100644
--- a/server/migrations/2.0.30.js
+++ b/server/migrations/2.0.30.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.31.js b/server/migrations/2.0.31.js
index 9fa09c2..ce3aa96 100644
--- a/server/migrations/2.0.31.js
+++ b/server/migrations/2.0.31.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.33.js b/server/migrations/2.0.33.js
index 3496638..d5f3c15 100644
--- a/server/migrations/2.0.33.js
+++ b/server/migrations/2.0.33.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.34.js b/server/migrations/2.0.34.js
index 85e504a..79d7719 100644
--- a/server/migrations/2.0.34.js
+++ b/server/migrations/2.0.34.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.35.js b/server/migrations/2.0.35.js
index 62a5abd..7dae50e 100644
--- a/server/migrations/2.0.35.js
+++ b/server/migrations/2.0.35.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.36.js b/server/migrations/2.0.36.js
index 5f4fdee..31c8b3a 100644
--- a/server/migrations/2.0.36.js
+++ b/server/migrations/2.0.36.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.37.js b/server/migrations/2.0.37.js
index 4146983..444ed4a 100644
--- a/server/migrations/2.0.37.js
+++ b/server/migrations/2.0.37.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.38.js b/server/migrations/2.0.38.js
index c939c05..7508395 100644
--- a/server/migrations/2.0.38.js
+++ b/server/migrations/2.0.38.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.39.js b/server/migrations/2.0.39.js
index 8f966c1..8829101 100644
--- a/server/migrations/2.0.39.js
+++ b/server/migrations/2.0.39.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.40.js b/server/migrations/2.0.40.js
index d36ee85..e89f848 100644
--- a/server/migrations/2.0.40.js
+++ b/server/migrations/2.0.40.js
@@ -1 +1 @@
-var a918_0x1812=['exports'];(function(_0x4e2abd,_0x1812cc){var _0x2f6fe6=function(_0xf3cef6){while(--_0xf3cef6){_0x4e2abd['push'](_0x4e2abd['shift']());}};_0x2f6fe6(++_0x1812cc);}(a918_0x1812,0x1b2));var a918_0x2f6f=function(_0x4e2abd,_0x1812cc){_0x4e2abd=_0x4e2abd-0x0;var _0x2f6fe6=a918_0x1812[_0x4e2abd];return _0x2f6fe6;};var _0x45ad15=a918_0x2f6f;'use strict';module[_0x45ad15('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a918_0x5d1a=['exports'];(function(_0x5e9595,_0x5d1ae7){var _0x66186=function(_0x61aa73){while(--_0x61aa73){_0x5e9595['push'](_0x5e9595['shift']());}};_0x66186(++_0x5d1ae7);}(a918_0x5d1a,0x1b6));var a918_0x6618=function(_0x5e9595,_0x5d1ae7){_0x5e9595=_0x5e9595-0x0;var _0x66186=a918_0x5d1a[_0x5e9595];return _0x66186;};var _0x1ee47c=a918_0x6618;'use strict';module[_0x1ee47c('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.41.js b/server/migrations/2.0.41.js
index 8104da0..0f995a2 100644
--- a/server/migrations/2.0.41.js
+++ b/server/migrations/2.0.41.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.42.js b/server/migrations/2.0.42.js
index 7f03ad3..62955ad 100644
--- a/server/migrations/2.0.42.js
+++ b/server/migrations/2.0.42.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.43.js b/server/migrations/2.0.43.js
index 2e96b54..33f19ae 100644
--- a/server/migrations/2.0.43.js
+++ b/server/migrations/2.0.43.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.44.js b/server/migrations/2.0.44.js
index 52f080d..717ae49 100644
--- a/server/migrations/2.0.44.js
+++ b/server/migrations/2.0.44.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.45.js b/server/migrations/2.0.45.js
index 03aea38..1642b0b 100644
--- a/server/migrations/2.0.45.js
+++ b/server/migrations/2.0.45.js
@@ -1 +1 @@
-var a923_0xf279=['exports'];(function(_0x46674b,_0xf279c6){var _0x11fcf7=function(_0x3bbe90){while(--_0x3bbe90){_0x46674b['push'](_0x46674b['shift']());}};_0x11fcf7(++_0xf279c6);}(a923_0xf279,0x1b6));var a923_0x11fc=function(_0x46674b,_0xf279c6){_0x46674b=_0x46674b-0x0;var _0x11fcf7=a923_0xf279[_0x46674b];return _0x11fcf7;};var _0x1c37ee=a923_0x11fc;'use strict';module[_0x1c37ee('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
+var a923_0x43fe=['exports'];(function(_0x25aff7,_0x43fefb){var _0xae849c=function(_0xbbb242){while(--_0xbbb242){_0x25aff7['push'](_0x25aff7['shift']());}};_0xae849c(++_0x43fefb);}(a923_0x43fe,0x18d));var a923_0xae84=function(_0x25aff7,_0x43fefb){_0x25aff7=_0x25aff7-0x0;var _0xae849c=a923_0x43fe[_0x25aff7];return _0xae849c;};var _0x2e10bd=a923_0xae84;'use strict';module[_0x2e10bd('0x0')]={'up':function(){},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.46.js b/server/migrations/2.0.46.js
index b30e8a3..e0eb3ff 100644
--- a/server/migrations/2.0.46.js
+++ b/server/migrations/2.0.46.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.47.js b/server/migrations/2.0.47.js
index 616fa3f..044b0cb 100644
--- a/server/migrations/2.0.47.js
+++ b/server/migrations/2.0.47.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.48.js b/server/migrations/2.0.48.js
index be1bcd9..5115eb4 100644
--- a/server/migrations/2.0.48.js
+++ b/server/migrations/2.0.48.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.49.js b/server/migrations/2.0.49.js
index 43ac97c..619530d 100644
--- a/server/migrations/2.0.49.js
+++ b/server/migrations/2.0.49.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.50.js b/server/migrations/2.0.50.js
index c29fb2b..4d6e104 100644
--- a/server/migrations/2.0.50.js
+++ b/server/migrations/2.0.50.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.51.js b/server/migrations/2.0.51.js
index 1d61041..dcc0c7a 100644
--- a/server/migrations/2.0.51.js
+++ b/server/migrations/2.0.51.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.52.js b/server/migrations/2.0.52.js
index 2566566..b2adbfb 100644
--- a/server/migrations/2.0.52.js
+++ b/server/migrations/2.0.52.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.53.js b/server/migrations/2.0.53.js
index 7c94635..e91d3fd 100644
--- a/server/migrations/2.0.53.js
+++ b/server/migrations/2.0.53.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.54.js b/server/migrations/2.0.54.js
index 9655537..6ffccb7 100644
--- a/server/migrations/2.0.54.js
+++ b/server/migrations/2.0.54.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.55.js b/server/migrations/2.0.55.js
index 270b919..afedd95 100644
--- a/server/migrations/2.0.55.js
+++ b/server/migrations/2.0.55.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.56.js b/server/migrations/2.0.56.js
index 79dc4c2..9d95e60 100644
--- a/server/migrations/2.0.56.js
+++ b/server/migrations/2.0.56.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.57.js b/server/migrations/2.0.57.js
index 4bc09c8..7a570b2 100644
--- a/server/migrations/2.0.57.js
+++ b/server/migrations/2.0.57.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.58.js b/server/migrations/2.0.58.js
index 879311a..6bea15f 100644
--- a/server/migrations/2.0.58.js
+++ b/server/migrations/2.0.58.js
@@ -1 +1 @@
-const a936_0x31c0=['stringify','table\x20dropped\x20%s','finally','then','ALTER\x20TABLE\x20`voice_voicemail_messages`\x20\x20\x20\x20\x20\x20\x20ADD\x20CONSTRAINT\x20`voice_voicemail_messages_ibfk_1`\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(`mailboxuser`)\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20voice_voicemail(`mailbox`)\x20\x20\x20\x20\x20\x20\x20ON\x20UPDATE\x20CASCADE\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE','../config/logger','catch','STRING','prototype','util','Removed\x20column\x20%s\x20from\x20%s','query\x20%s','report_queue','sequence','dropTable','exports','changeColumn','INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20End\x20Pause\x27,\x20\x27agentmanagement-unpause\x27,\x20\x27Agent\x20End\x20Pause\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);','removeColumn','INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Pause\x27,\x20\x27agentmanagement-pause\x27,\x20\x27Agent\x20Pause\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);','renameColumn','addColumn','queryInterface','tail','queuecallerexitreason','addIndex\x20%s\x20%s\x20%s','sequelize','final','INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Menu\x27,\x20\x27agentmanagement-menu\x27,\x20\x27Agent\x20Menu\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);','query','Renamed\x20column\x20from\x20%s\x20to\x20%s\x20on\x20%s','INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Logout\x27,\x20\x27agentmanagement-logout\x27,\x20\x27Agent\x20Logout\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);','inspect','enqueue','info','addIndex','queue','disposition','join'];(function(_0x5bbe90,_0x31c0de){const _0x506536=function(_0x4207a8){while(--_0x4207a8){_0x5bbe90['push'](_0x5bbe90['shift']());}};_0x506536(++_0x31c0de);}(a936_0x31c0,0x140));const a936_0x5065=function(_0x5bbe90,_0x31c0de){_0x5bbe90=_0x5bbe90-0x0;let _0x506536=a936_0x31c0[_0x5bbe90];return _0x506536;};const _0x23b0ff=a936_0x5065;'use strict';const util=require(_0x23b0ff('0x1')),logger=require(_0x23b0ff('0x24'))('migration'),Sequence=function(){};Sequence[_0x23b0ff('0x0')][_0x23b0ff('0x19')]=function(_0x4207a8){const _0x5aa7f6=_0x23b0ff;this[_0x5aa7f6('0xf')]=this['tail']?this[_0x5aa7f6('0xf')][_0x5aa7f6('0x21')](_0x4207a8):_0x4207a8();};const Migration=function(_0x2d9294){const _0x1c7e67=_0x23b0ff;this[_0x1c7e67('0xe')]=_0x2d9294,this['sequence']=new Sequence();};Migration[_0x23b0ff('0x0')]['changeColumn']=function(_0xadd574,_0x36d456,_0x566968){const _0x51c17e=_0x23b0ff,_0x575846=this;this[_0x51c17e('0x5')][_0x51c17e('0x19')](function(){const _0x31e7df=_0x51c17e;return _0x575846[_0x31e7df('0xe')][_0x31e7df('0x8')](_0xadd574,_0x36d456,_0x566968)['then'](function(){const _0x3c9ed8=_0x31e7df;logger[_0x3c9ed8('0x1a')]('Changed\x20column\x20%s\x20in\x20table\x20%s',_0x36d456,_0xadd574);})[_0x31e7df('0x25')](function(_0x107d66){const _0x582c0d=_0x31e7df;logger[_0x582c0d('0x1a')](JSON[_0x582c0d('0x1f')](_0x107d66));});});},Migration[_0x23b0ff('0x0')][_0x23b0ff('0xd')]=function(_0x135b4c,_0xdd4391,_0x2f99b9){const _0x156655=_0x23b0ff,_0x3308cc=this;this[_0x156655('0x5')][_0x156655('0x19')](function(){const _0x5e2a58=_0x156655;return _0x3308cc[_0x5e2a58('0xe')]['addColumn'](_0x135b4c,_0xdd4391,_0x2f99b9)[_0x5e2a58('0x22')](function(){const _0x236616=_0x5e2a58;logger[_0x236616('0x1a')]('Added\x20column\x20%s\x20to\x20%s',_0xdd4391,_0x135b4c);})[_0x5e2a58('0x25')](function(_0x3603ee){const _0x1d96af=_0x5e2a58;logger[_0x1d96af('0x1a')](JSON[_0x1d96af('0x1f')](_0x3603ee));});});},Migration[_0x23b0ff('0x0')][_0x23b0ff('0x6')]=function(_0x511f0a){const _0x553099=_0x23b0ff,_0x5872fd=this;this['sequence'][_0x553099('0x19')](function(){const _0x5509c9=_0x553099;return _0x5872fd[_0x5509c9('0xe')][_0x5509c9('0x6')](_0x511f0a,{'force':!![]})['then'](function(){const _0x479374=_0x5509c9;logger[_0x479374('0x1a')](_0x479374('0x20'),_0x511f0a);})[_0x5509c9('0x25')](function(_0x3e602a){const _0x14fc7a=_0x5509c9;logger[_0x14fc7a('0x1a')](JSON[_0x14fc7a('0x1f')](_0x3e602a));});});},Migration['prototype'][_0x23b0ff('0x1b')]=function(_0x1f90ae,_0x2a09f0,_0xee1f11){const _0xbbc84e=_0x23b0ff,_0x1f5fb7=this;this['sequence'][_0xbbc84e('0x19')](function(){const _0x162126=_0xbbc84e;return _0x1f5fb7[_0x162126('0xe')][_0x162126('0x1b')](_0x1f90ae,_0x2a09f0,{'indexName':_0xee1f11})[_0x162126('0x22')](function(){const _0x4830b0=_0x162126;logger['info'](_0x4830b0('0x11'),_0x1f90ae,_0x2a09f0[_0x4830b0('0x1e')](','),_0xee1f11);})['catch'](function(_0x4bedac){const _0x1159f2=_0x162126;logger[_0x1159f2('0x1a')](JSON[_0x1159f2('0x1f')](_0x4bedac));});});},Migration[_0x23b0ff('0x0')][_0x23b0ff('0x15')]=function(_0x5f0c60){const _0x44f872=_0x23b0ff,_0x4c11e6=this;this['sequence'][_0x44f872('0x19')](function(){const _0x309340=_0x44f872;return _0x4c11e6[_0x309340('0xe')][_0x309340('0x12')][_0x309340('0x15')](_0x5f0c60)[_0x309340('0x22')](function(){const _0x4c2bf4=_0x309340;logger[_0x4c2bf4('0x1a')](_0x4c2bf4('0x3'),_0x5f0c60);})[_0x309340('0x25')](function(_0x1a0303){const _0x5967fd=_0x309340;logger['info'](JSON[_0x5967fd('0x1f')](_0x1a0303));});});},Migration['prototype'][_0x23b0ff('0xa')]=function(_0x19f5b9,_0x3878ea){const _0x36be31=_0x23b0ff,_0x85645b=this;this[_0x36be31('0x5')][_0x36be31('0x19')](function(){const _0x30cbbf=_0x36be31;return _0x85645b[_0x30cbbf('0xe')]['removeColumn'](_0x19f5b9,_0x3878ea)[_0x30cbbf('0x22')](function(){const _0x278956=_0x30cbbf;logger['info'](_0x278956('0x2'),_0x3878ea,_0x19f5b9);})[_0x30cbbf('0x25')](function(_0x393b3b){const _0x28d9fd=_0x30cbbf;logger[_0x28d9fd('0x1a')](util['inspect'](_0x393b3b,{'showHidden':![],'depth':null}));});});},Migration['prototype'][_0x23b0ff('0xc')]=function(_0xfebb44,_0x213616,_0x50ca15){const _0x2cf251=this;this['sequence']['enqueue'](function(){const _0x10b08d=a936_0x5065;return _0x2cf251[_0x10b08d('0xe')]['renameColumn'](_0xfebb44,_0x213616,_0x50ca15)[_0x10b08d('0x22')](function(){const _0x463fd5=_0x10b08d;logger[_0x463fd5('0x1a')](_0x463fd5('0x16'),_0x213616,_0x50ca15,_0xfebb44);})['catch'](function(_0x17d175){const _0x1f5785=_0x10b08d;logger[_0x1f5785('0x1a')](util[_0x1f5785('0x18')](_0x17d175,{'showHidden':![],'depth':null}));});});},Migration['prototype'][_0x23b0ff('0x13')]=function(_0x4ec8ee){const _0x2e7be4=_0x23b0ff;this['sequence'][_0x2e7be4('0x19')](function(){return _0x4ec8ee();});},module[_0x23b0ff('0x7')]={'up':function(_0x3fb0df,_0x606cc3){return new Promise(function(_0x147066){const _0x70f462=a936_0x5065,_0x3a64e4=new Migration(_0x3fb0df);_0x3a64e4[_0x70f462('0x15')](_0x70f462('0x23')),_0x3a64e4[_0x70f462('0x1b')](_0x70f462('0x4'),[_0x70f462('0x1c')],_0x70f462('0x1c')),_0x3a64e4[_0x70f462('0x1b')](_0x70f462('0x4'),[_0x70f462('0x10')],_0x70f462('0x10')),_0x3a64e4[_0x70f462('0xd')](_0x70f462('0x4'),_0x70f462('0x1d'),{'type':_0x606cc3[_0x70f462('0x26')]}),_0x3a64e4[_0x70f462('0x15')]('INSERT\x20INTO\x20`square_projects`\x20(`name`,\x20`description`,\x20`notes`,\x20`preproduction`,\x20`production`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27AgentManagement\x27,\x20\x27Agent\x20Management\x20sample\x20auto\x20generated\x27,\x20NULL,\x20X\x273C6D7847726170684D6F64656C20677269643D223122206775696465733D22312220746F6F6C746970733D22312220636F6E6E6563743D22312220666F6C643D22312220706167653D22302220706167655363616C653D223122207061676557696474683D223832362220706167654865696768743D2231313639223E0A20203C726F6F743E0A202020203C6D7843656C6C2069643D2230222F3E0A202020203C6D7843656C6C2069643D22312220706172656E743D2230222F3E0A202020203C7374617274206C6162656C3D2253746172742220616E737765723D22796573222069643D2239223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F656E7472792F73746172745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D2234302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F73746172743E0A202020203C6D656E75206C6162656C3D224D656E75222066696C655F69643D222220726573706F6E73653D2235222064696769743D2231222072657472793D223122207661726961626C655F69643D2230222069643D223136223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F6D656E755F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223137302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6D656E753E0A202020203C6C6F67696E206C6162656C3D224C6F67696E222066696E6442793D22696E7465726E616C222069643D223339223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F67696E5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F67696E3E0A202020203C7061757365206C6162656C3D225061757365222066696E6442793D22696E7465726E616C222070617573655F69643D22222069643D223430223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F70617573653E0A202020203C756E7061757365206C6162656C3D22556E7061757365222066696E6442793D22696E7465726E616C222069643D223431223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F756E70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F756E70617573653E0A202020203C6C6F676F7574206C6162656C3D224C6F676F7574222066696E6442793D22696E7465726E616C222069643D223432223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F676F75745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F676F75743E0A202020203C6D7843656C6C2069643D223433222076616C75653D22312220706172656E743D22312220736F757263653D22313622207461726765743D2233392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22313432222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223434222076616C75653D22322220706172656E743D22312220736F757263653D22313622207461726765743D2234322220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223435222076616C75653D22332220706172656E743D22312220736F757263653D22313622207461726765743D2234302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223436222076616C75653D22342220706172656E743D22312220736F757263653D22313622207461726765743D2234312220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22343134222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2234372220706172656E743D22312220736F757263653D223922207461726765743D2231362220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223438223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223435302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223530222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343222207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223531222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343022207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C68616E677570206C6162656C3D2248616E677570222069643D223533223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F63616C6C5F6D616E6167656D656E742F68616E6775705F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223735302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F68616E6775703E0A202020203C6D7843656C6C2069643D2235342220706172656E743D22312220736F757263653D22343822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223535222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22333922207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22313730222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223536222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343122207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22333930222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223537223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223538223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223539223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223630223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223631222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22333922207461726765743D2235382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223632222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343222207461726765743D2235372220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223633222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343022207461726765743D2235392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223634222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343122207461726765743D2236302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236352220706172656E743D22312220736F757263653D22353822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236362220706172656E743D22312220736F757263653D22353722207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236372220706172656E743D22312220736F757263653D22353922207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236382220706172656E743D22312220736F757263653D22363022207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A20203C2F726F6F743E0A3C2F6D7847726170684D6F64656C3E\x27,\x20X\x273C6D7847726170684D6F64656C20677269643D223122206775696465733D22312220746F6F6C746970733D22312220636F6E6E6563743D22312220666F6C643D22312220706167653D22302220706167655363616C653D223122207061676557696474683D223832362220706167654865696768743D2231313639223E0A20203C726F6F743E0A202020203C6D7843656C6C2069643D2230222F3E0A202020203C6D7843656C6C2069643D22312220706172656E743D2230222F3E0A202020203C7374617274206C6162656C3D2253746172742220616E737765723D22796573222069643D2239223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F656E7472792F73746172745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D2234302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F73746172743E0A202020203C6D656E75206C6162656C3D224D656E75222066696C655F69643D222220726573706F6E73653D2235222064696769743D2231222072657472793D223122207661726961626C655F69643D2230222069643D223136223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F6D656E755F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223137302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6D656E753E0A202020203C6C6F67696E206C6162656C3D224C6F67696E222066696E6442793D22696E7465726E616C222069643D223339223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F67696E5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F67696E3E0A202020203C7061757365206C6162656C3D225061757365222066696E6442793D22696E7465726E616C222070617573655F69643D22222069643D223430223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F70617573653E0A202020203C756E7061757365206C6162656C3D22556E7061757365222066696E6442793D22696E7465726E616C222069643D223431223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F756E70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F756E70617573653E0A202020203C6C6F676F7574206C6162656C3D224C6F676F7574222066696E6442793D22696E7465726E616C222069643D223432223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F676F75745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F676F75743E0A202020203C6D7843656C6C2069643D223433222076616C75653D22312220706172656E743D22312220736F757263653D22313622207461726765743D2233392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22313432222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223434222076616C75653D22322220706172656E743D22312220736F757263653D22313622207461726765743D2234322220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223435222076616C75653D22332220706172656E743D22312220736F757263653D22313622207461726765743D2234302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223436222076616C75653D22342220706172656E743D22312220736F757263653D22313622207461726765743D2234312220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22343134222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2234372220706172656E743D22312220736F757263653D223922207461726765743D2231362220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223438223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223435302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223530222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343222207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223531222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343022207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C68616E677570206C6162656C3D2248616E677570222069643D223533223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F63616C6C5F6D616E6167656D656E742F68616E6775705F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223735302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F68616E6775703E0A202020203C6D7843656C6C2069643D2235342220706172656E743D22312220736F757263653D22343822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223535222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22333922207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22313730222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223536222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343122207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22333930222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223537223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223538223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223539223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223630223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223631222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22333922207461726765743D2235382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223632222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343222207461726765743D2235372220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223633222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343022207461726765743D2235392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223634222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343122207461726765743D2236302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236352220706172656E743D22312220736F757263653D22353822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236362220706172656E743D22312220736F757263653D22353722207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236372220706172656E743D22312220736F757263653D22353922207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236382220706172656E743D22312220736F757263653D22363022207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A20203C2F726F6F743E0A3C2F6D7847726170684D6F64656C3E\x27,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);'),_0x3a64e4[_0x70f462('0x15')]('INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Login\x27,\x20\x27agentmanagement-login\x27,\x20\x27Agent\x20Login\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);'),_0x3a64e4[_0x70f462('0x15')](_0x70f462('0x17')),_0x3a64e4[_0x70f462('0x15')](_0x70f462('0x14')),_0x3a64e4[_0x70f462('0x15')](_0x70f462('0xb')),_0x3a64e4[_0x70f462('0x15')](_0x70f462('0x9')),_0x3a64e4[_0x70f462('0x15')]('INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Action\x20Failure\x27,\x20\x27agentmanagement-action-failure\x27,\x20\x27Agent\x20Action\x20Failure\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);'),_0x3a64e4[_0x70f462('0x13')](_0x147066);});},'down':function(){}};
\ No newline at end of file
+const a936_0x3d67=['renameColumn','queryInterface','catch','inspect','then','info','Renamed\x20column\x20from\x20%s\x20to\x20%s\x20on\x20%s','Removed\x20column\x20%s\x20from\x20%s','final','dropTable','query','Changed\x20column\x20%s\x20in\x20table\x20%s','STRING','Added\x20column\x20%s\x20to\x20%s','tail','INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Login\x27,\x20\x27agentmanagement-login\x27,\x20\x27Agent\x20Login\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);','enqueue','addColumn','finally','prototype','INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Action\x20Failure\x27,\x20\x27agentmanagement-action-failure\x27,\x20\x27Agent\x20Action\x20Failure\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);','queuecallerexitreason','util','addIndex\x20%s\x20%s\x20%s','removeColumn','sequelize','sequence','stringify','queue','changeColumn','ALTER\x20TABLE\x20`voice_voicemail_messages`\x20\x20\x20\x20\x20\x20\x20ADD\x20CONSTRAINT\x20`voice_voicemail_messages_ibfk_1`\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(`mailboxuser`)\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20voice_voicemail(`mailbox`)\x20\x20\x20\x20\x20\x20\x20ON\x20UPDATE\x20CASCADE\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE','addIndex','query\x20%s','INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Logout\x27,\x20\x27agentmanagement-logout\x27,\x20\x27Agent\x20Logout\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);','report_queue','disposition'];(function(_0x1db30f,_0x3d6786){const _0xd18c12=function(_0x2944be){while(--_0x2944be){_0x1db30f['push'](_0x1db30f['shift']());}};_0xd18c12(++_0x3d6786);}(a936_0x3d67,0xfc));const a936_0xd18c=function(_0x1db30f,_0x3d6786){_0x1db30f=_0x1db30f-0x0;let _0xd18c12=a936_0x3d67[_0x1db30f];return _0xd18c12;};const _0x58471a=a936_0xd18c;'use strict';const util=require(_0x58471a('0x16')),logger=require('../config/logger')('migration'),Sequence=function(){};Sequence['prototype'][_0x58471a('0x10')]=function(_0x2944be){const _0x272991=_0x58471a;this[_0x272991('0xe')]=this[_0x272991('0xe')]?this[_0x272991('0xe')][_0x272991('0x12')](_0x2944be):_0x2944be();};const Migration=function(_0x458ce3){const _0x3b37b3=_0x58471a;this['queryInterface']=_0x458ce3,this[_0x3b37b3('0x1a')]=new Sequence();};Migration['prototype'][_0x58471a('0x1d')]=function(_0x1be4ca,_0x4cd051,_0x1af703){const _0x55a060=_0x58471a,_0x160bc6=this;this[_0x55a060('0x1a')][_0x55a060('0x10')](function(){const _0x2763f5=_0x55a060;return _0x160bc6[_0x2763f5('0x1')][_0x2763f5('0x1d')](_0x1be4ca,_0x4cd051,_0x1af703)[_0x2763f5('0x4')](function(){const _0x5c7ba0=_0x2763f5;logger[_0x5c7ba0('0x5')](_0x5c7ba0('0xb'),_0x4cd051,_0x1be4ca);})['catch'](function(_0xc43d5){const _0xadc3b0=_0x2763f5;logger['info'](JSON[_0xadc3b0('0x1b')](_0xc43d5));});});},Migration[_0x58471a('0x13')][_0x58471a('0x11')]=function(_0x102232,_0x277fd3,_0x1a7632){const _0x18b4c3=_0x58471a,_0x40b43b=this;this[_0x18b4c3('0x1a')][_0x18b4c3('0x10')](function(){const _0x5072b5=_0x18b4c3;return _0x40b43b['queryInterface'][_0x5072b5('0x11')](_0x102232,_0x277fd3,_0x1a7632)[_0x5072b5('0x4')](function(){const _0x3d650e=_0x5072b5;logger[_0x3d650e('0x5')](_0x3d650e('0xd'),_0x277fd3,_0x102232);})[_0x5072b5('0x2')](function(_0x4a6c16){const _0x495a01=_0x5072b5;logger[_0x495a01('0x5')](JSON[_0x495a01('0x1b')](_0x4a6c16));});});},Migration[_0x58471a('0x13')]['dropTable']=function(_0x53fc39){const _0x279c5b=_0x58471a,_0x1d1cbb=this;this[_0x279c5b('0x1a')][_0x279c5b('0x10')](function(){const _0x3bef02=_0x279c5b;return _0x1d1cbb[_0x3bef02('0x1')][_0x3bef02('0x9')](_0x53fc39,{'force':!![]})[_0x3bef02('0x4')](function(){const _0x232914=_0x3bef02;logger[_0x232914('0x5')]('table\x20dropped\x20%s',_0x53fc39);})[_0x3bef02('0x2')](function(_0x59f1d7){const _0x40fda5=_0x3bef02;logger[_0x40fda5('0x5')](JSON[_0x40fda5('0x1b')](_0x59f1d7));});});},Migration[_0x58471a('0x13')][_0x58471a('0x1f')]=function(_0x554620,_0x598af3,_0x2edb78){const _0x3ad81b=_0x58471a,_0x496498=this;this[_0x3ad81b('0x1a')]['enqueue'](function(){const _0x66cc3b=_0x3ad81b;return _0x496498[_0x66cc3b('0x1')][_0x66cc3b('0x1f')](_0x554620,_0x598af3,{'indexName':_0x2edb78})[_0x66cc3b('0x4')](function(){const _0x4cd0b3=_0x66cc3b;logger[_0x4cd0b3('0x5')](_0x4cd0b3('0x17'),_0x554620,_0x598af3['join'](','),_0x2edb78);})['catch'](function(_0x395113){const _0x37fc91=_0x66cc3b;logger['info'](JSON[_0x37fc91('0x1b')](_0x395113));});});},Migration[_0x58471a('0x13')]['query']=function(_0x1f7f65){const _0xaaede6=_0x58471a,_0x5087bf=this;this[_0xaaede6('0x1a')][_0xaaede6('0x10')](function(){const _0x5a261b=_0xaaede6;return _0x5087bf[_0x5a261b('0x1')][_0x5a261b('0x19')][_0x5a261b('0xa')](_0x1f7f65)[_0x5a261b('0x4')](function(){const _0x58c4fd=_0x5a261b;logger[_0x58c4fd('0x5')](_0x58c4fd('0x20'),_0x1f7f65);})['catch'](function(_0x98128a){const _0x13590b=_0x5a261b;logger[_0x13590b('0x5')](JSON[_0x13590b('0x1b')](_0x98128a));});});},Migration['prototype']['removeColumn']=function(_0x39ffa7,_0x569350){const _0x49d1fa=this;this['sequence']['enqueue'](function(){const _0x7e3e1b=a936_0xd18c;return _0x49d1fa[_0x7e3e1b('0x1')][_0x7e3e1b('0x18')](_0x39ffa7,_0x569350)[_0x7e3e1b('0x4')](function(){const _0x23f4fd=_0x7e3e1b;logger[_0x23f4fd('0x5')](_0x23f4fd('0x7'),_0x569350,_0x39ffa7);})[_0x7e3e1b('0x2')](function(_0x50a7bf){const _0x58701c=_0x7e3e1b;logger['info'](util[_0x58701c('0x3')](_0x50a7bf,{'showHidden':![],'depth':null}));});});},Migration[_0x58471a('0x13')][_0x58471a('0x0')]=function(_0x52b155,_0x35dd5e,_0x253fc3){const _0x4a9f28=_0x58471a,_0x421617=this;this[_0x4a9f28('0x1a')][_0x4a9f28('0x10')](function(){const _0x2ec889=_0x4a9f28;return _0x421617['queryInterface'][_0x2ec889('0x0')](_0x52b155,_0x35dd5e,_0x253fc3)[_0x2ec889('0x4')](function(){const _0x19b6c1=_0x2ec889;logger[_0x19b6c1('0x5')](_0x19b6c1('0x6'),_0x35dd5e,_0x253fc3,_0x52b155);})[_0x2ec889('0x2')](function(_0x5bc3a4){const _0x1e566e=_0x2ec889;logger[_0x1e566e('0x5')](util[_0x1e566e('0x3')](_0x5bc3a4,{'showHidden':![],'depth':null}));});});},Migration[_0x58471a('0x13')]['final']=function(_0x5baa82){const _0x57cfc9=_0x58471a;this[_0x57cfc9('0x1a')][_0x57cfc9('0x10')](function(){return _0x5baa82();});},module['exports']={'up':function(_0x48c1df,_0x128f03){return new Promise(function(_0xf6ed7f){const _0x3dbfee=a936_0xd18c,_0x53f604=new Migration(_0x48c1df);_0x53f604['query'](_0x3dbfee('0x1e')),_0x53f604[_0x3dbfee('0x1f')](_0x3dbfee('0x22'),[_0x3dbfee('0x1c')],_0x3dbfee('0x1c')),_0x53f604[_0x3dbfee('0x1f')]('report_queue',[_0x3dbfee('0x15')],'queuecallerexitreason'),_0x53f604['addColumn'](_0x3dbfee('0x22'),_0x3dbfee('0x23'),{'type':_0x128f03[_0x3dbfee('0xc')]}),_0x53f604[_0x3dbfee('0xa')]('INSERT\x20INTO\x20`square_projects`\x20(`name`,\x20`description`,\x20`notes`,\x20`preproduction`,\x20`production`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27AgentManagement\x27,\x20\x27Agent\x20Management\x20sample\x20auto\x20generated\x27,\x20NULL,\x20X\x273C6D7847726170684D6F64656C20677269643D223122206775696465733D22312220746F6F6C746970733D22312220636F6E6E6563743D22312220666F6C643D22312220706167653D22302220706167655363616C653D223122207061676557696474683D223832362220706167654865696768743D2231313639223E0A20203C726F6F743E0A202020203C6D7843656C6C2069643D2230222F3E0A202020203C6D7843656C6C2069643D22312220706172656E743D2230222F3E0A202020203C7374617274206C6162656C3D2253746172742220616E737765723D22796573222069643D2239223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F656E7472792F73746172745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D2234302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F73746172743E0A202020203C6D656E75206C6162656C3D224D656E75222066696C655F69643D222220726573706F6E73653D2235222064696769743D2231222072657472793D223122207661726961626C655F69643D2230222069643D223136223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F6D656E755F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223137302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6D656E753E0A202020203C6C6F67696E206C6162656C3D224C6F67696E222066696E6442793D22696E7465726E616C222069643D223339223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F67696E5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F67696E3E0A202020203C7061757365206C6162656C3D225061757365222066696E6442793D22696E7465726E616C222070617573655F69643D22222069643D223430223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F70617573653E0A202020203C756E7061757365206C6162656C3D22556E7061757365222066696E6442793D22696E7465726E616C222069643D223431223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F756E70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F756E70617573653E0A202020203C6C6F676F7574206C6162656C3D224C6F676F7574222066696E6442793D22696E7465726E616C222069643D223432223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F676F75745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F676F75743E0A202020203C6D7843656C6C2069643D223433222076616C75653D22312220706172656E743D22312220736F757263653D22313622207461726765743D2233392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22313432222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223434222076616C75653D22322220706172656E743D22312220736F757263653D22313622207461726765743D2234322220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223435222076616C75653D22332220706172656E743D22312220736F757263653D22313622207461726765743D2234302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223436222076616C75653D22342220706172656E743D22312220736F757263653D22313622207461726765743D2234312220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22343134222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2234372220706172656E743D22312220736F757263653D223922207461726765743D2231362220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223438223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223435302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223530222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343222207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223531222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343022207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C68616E677570206C6162656C3D2248616E677570222069643D223533223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F63616C6C5F6D616E6167656D656E742F68616E6775705F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223735302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F68616E6775703E0A202020203C6D7843656C6C2069643D2235342220706172656E743D22312220736F757263653D22343822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223535222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22333922207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22313730222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223536222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343122207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22333930222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223537223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223538223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223539223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223630223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223631222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22333922207461726765743D2235382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223632222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343222207461726765743D2235372220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223633222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343022207461726765743D2235392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223634222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343122207461726765743D2236302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236352220706172656E743D22312220736F757263653D22353822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236362220706172656E743D22312220736F757263653D22353722207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236372220706172656E743D22312220736F757263653D22353922207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236382220706172656E743D22312220736F757263653D22363022207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A20203C2F726F6F743E0A3C2F6D7847726170684D6F64656C3E\x27,\x20X\x273C6D7847726170684D6F64656C20677269643D223122206775696465733D22312220746F6F6C746970733D22312220636F6E6E6563743D22312220666F6C643D22312220706167653D22302220706167655363616C653D223122207061676557696474683D223832362220706167654865696768743D2231313639223E0A20203C726F6F743E0A202020203C6D7843656C6C2069643D2230222F3E0A202020203C6D7843656C6C2069643D22312220706172656E743D2230222F3E0A202020203C7374617274206C6162656C3D2253746172742220616E737765723D22796573222069643D2239223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F656E7472792F73746172745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D2234302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F73746172743E0A202020203C6D656E75206C6162656C3D224D656E75222066696C655F69643D222220726573706F6E73653D2235222064696769743D2231222072657472793D223122207661726961626C655F69643D2230222069643D223136223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F6D656E755F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223137302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6D656E753E0A202020203C6C6F67696E206C6162656C3D224C6F67696E222066696E6442793D22696E7465726E616C222069643D223339223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F67696E5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F67696E3E0A202020203C7061757365206C6162656C3D225061757365222066696E6442793D22696E7465726E616C222070617573655F69643D22222069643D223430223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F70617573653E0A202020203C756E7061757365206C6162656C3D22556E7061757365222066696E6442793D22696E7465726E616C222069643D223431223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F756E70617573655F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F756E70617573653E0A202020203C6C6F676F7574206C6162656C3D224C6F676F7574222066696E6442793D22696E7465726E616C222069643D223432223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F6167656E745F6D616E6167656D656E742F6C6F676F75745F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223332302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F6C6F676F75743E0A202020203C6D7843656C6C2069643D223433222076616C75653D22312220706172656E743D22312220736F757263653D22313622207461726765743D2233392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22313432222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223434222076616C75653D22322220706172656E743D22312220736F757263653D22313622207461726765743D2234322220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223435222076616C75653D22332220706172656E743D22312220736F757263653D22313622207461726765743D2234302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223436222076616C75653D22342220706172656E743D22312220736F757263653D22313622207461726765743D2234312220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223231302220793D22343134222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2234372220706172656E743D22312220736F757263653D223922207461726765743D2231362220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223438223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223435302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223530222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343222207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223531222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343022207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C68616E677570206C6162656C3D2248616E677570222069643D223533223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F63616C6C5F6D616E6167656D656E742F68616E6775705F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223735302220793D22323338222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F68616E6775703E0A202020203C6D7843656C6C2069643D2235342220706172656E743D22312220736F757263653D22343822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223535222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22333922207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22313730222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223536222076616C75653D226661696C7572652220706172656E743D22312220736F757263653D22343122207461726765743D2234382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279223E0A20202020202020203C41727261792061733D22706F696E7473223E0A202020202020202020203C6D78506F696E7420783D223439302220793D22333930222F3E0A20202020202020203C2F41727261793E0A2020202020203C2F6D7847656F6D657472793E0A202020203C2F6D7843656C6C3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223537223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22313332222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223538223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D223132222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223539223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22333434222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C706C61796261636B206C6162656C3D22506C61796261636B222066696C655F69643D2222206F7074733D22222069643D223630223E0A2020202020203C6D7843656C6C207374796C653D22696D6167653B68746D6C3D313B6C6162656C4261636B67726F756E64436F6C6F723D236666666666663B696D6167653D2F6173736574732F706C7567696E732F7371756172652F7374656E63696C732F706C61796261636B2F706C61796261636B5F313238783132382E706E672220706172656E743D223122207665727465783D2231223E0A20202020202020203C6D7847656F6D6574727920783D223630302220793D22343634222077696474683D22383022206865696768743D223830222061733D2267656F6D65747279222F3E0A2020202020203C2F6D7843656C6C3E0A202020203C2F706C61796261636B3E0A202020203C6D7843656C6C2069643D223631222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22333922207461726765743D2235382220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223632222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343222207461726765743D2235372220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223633222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343022207461726765743D2235392220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D223634222076616C75653D22737563636573732220706172656E743D22312220736F757263653D22343122207461726765743D2236302220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236352220706172656E743D22312220736F757263653D22353822207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236362220706172656E743D22312220736F757263653D22353722207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236372220706172656E743D22312220736F757263653D22353922207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236382220706172656E743D22312220736F757263653D22363022207461726765743D2235332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A202020203C2F6D7843656C6C3E0A20203C2F726F6F743E0A3C2F6D7847726170684D6F64656C3E\x27,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);'),_0x53f604['query'](_0x3dbfee('0xf')),_0x53f604['query'](_0x3dbfee('0x21')),_0x53f604[_0x3dbfee('0xa')]('INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Menu\x27,\x20\x27agentmanagement-menu\x27,\x20\x27Agent\x20Menu\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);'),_0x53f604[_0x3dbfee('0xa')]('INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20Pause\x27,\x20\x27agentmanagement-pause\x27,\x20\x27Agent\x20Pause\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);'),_0x53f604[_0x3dbfee('0xa')]('INSERT\x20INTO\x20`tools_sounds`\x20(`name`,\x20`save_name`,\x20`display_name`,\x20`description`,\x20`original_format`,\x20`original_duration`,\x20`original_sampleCount`,\x20`original_channelCount`,\x20`original_bitRate`,\x20`original_sampleRate`,\x20`converted_format`,\x20`converted_duration`,\x20`converted_sampleCount`,\x20`converted_channelCount`,\x20`converted_bitRate`,\x20`converted_sampleRate`,\x20`createdAt`,\x20`updatedAt`)\x20VALUES\x20(\x27Agent\x20End\x20Pause\x27,\x20\x27agentmanagement-unpause\x27,\x20\x27Agent\x20End\x20Pause\x27,\x20\x27auto\x20generated\x20sound\x27,\x20\x27mp3\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x27wav\x27,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20NULL,\x20\x272018-05-24\x2011:44:53\x27,\x20\x272018-05-24\x2011:44:53\x27);'),_0x53f604[_0x3dbfee('0xa')](_0x3dbfee('0x14')),_0x53f604[_0x3dbfee('0x8')](_0xf6ed7f);});},'down':function(){}};
\ No newline at end of file
diff --git a/server/migrations/2.0.59.js b/server/migrations/2.0.59.js
index f1110e3..5389a4b 100644
--- a/server/migrations/2.0.59.js
+++ b/server/migrations/2.0.59.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.60.js b/server/migrations/2.0.60.js
index 5d4d21f..7c13363 100644
--- a/server/migrations/2.0.60.js
+++ b/server/migrations/2.0.60.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.61.js b/server/migrations/2.0.61.js
index 503c76d..a581a16 100644
--- a/server/migrations/2.0.61.js
+++ b/server/migrations/2.0.61.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.62.js b/server/migrations/2.0.62.js
index 6b4209b..85b3687 100644
--- a/server/migrations/2.0.62.js
+++ b/server/migrations/2.0.62.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.63.js b/server/migrations/2.0.63.js
index 5f035fd..f968d03 100644
--- a/server/migrations/2.0.63.js
+++ b/server/migrations/2.0.63.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.64.js b/server/migrations/2.0.64.js
index 49be37f..b0a05b9 100644
--- a/server/migrations/2.0.64.js
+++ b/server/migrations/2.0.64.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.65.js b/server/migrations/2.0.65.js
index 21e6307..b7a6fcc 100644
--- a/server/migrations/2.0.65.js
+++ b/server/migrations/2.0.65.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.66.js b/server/migrations/2.0.66.js
index 5a71d68..1139021 100644
--- a/server/migrations/2.0.66.js
+++ b/server/migrations/2.0.66.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.67.js b/server/migrations/2.0.67.js
index 43d01a0..5f0be74 100644
--- a/server/migrations/2.0.67.js
+++ b/server/migrations/2.0.67.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.68.js b/server/migrations/2.0.68.js
index 98dbd96..0d3aff8 100644
--- a/server/migrations/2.0.68.js
+++ b/server/migrations/2.0.68.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.69.js b/server/migrations/2.0.69.js
index 0902762..8d8d921 100644
--- a/server/migrations/2.0.69.js
+++ b/server/migrations/2.0.69.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.70.js b/server/migrations/2.0.70.js
index 2bc2551..10555e8 100644
--- a/server/migrations/2.0.70.js
+++ b/server/migrations/2.0.70.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.71.js b/server/migrations/2.0.71.js
index b24df93..96fb130 100644
--- a/server/migrations/2.0.71.js
+++ b/server/migrations/2.0.71.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.72.js b/server/migrations/2.0.72.js
index 3ce3c6c..83830a3 100644
--- a/server/migrations/2.0.72.js
+++ b/server/migrations/2.0.72.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.73.js b/server/migrations/2.0.73.js
index 9bfefb7..c233a9f 100644
--- a/server/migrations/2.0.73.js
+++ b/server/migrations/2.0.73.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.74.js b/server/migrations/2.0.74.js
index d253e57..30963db 100644
--- a/server/migrations/2.0.74.js
+++ b/server/migrations/2.0.74.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.75.js b/server/migrations/2.0.75.js
index ae0e0f4..e8056f3 100644
--- a/server/migrations/2.0.75.js
+++ b/server/migrations/2.0.75.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.76.js b/server/migrations/2.0.76.js
index 1d65863..332f7dd 100644
--- a/server/migrations/2.0.76.js
+++ b/server/migrations/2.0.76.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.77.js b/server/migrations/2.0.77.js
index fd1c784..486d851 100644
--- a/server/migrations/2.0.77.js
+++ b/server/migrations/2.0.77.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.78.js b/server/migrations/2.0.78.js
index 1203403..df38a87 100644
--- a/server/migrations/2.0.78.js
+++ b/server/migrations/2.0.78.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.79.js b/server/migrations/2.0.79.js
index da5fa7b..8285b2a 100644
--- a/server/migrations/2.0.79.js
+++ b/server/migrations/2.0.79.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.80.js b/server/migrations/2.0.80.js
index 12c77ce..f47f977 100644
--- a/server/migrations/2.0.80.js
+++ b/server/migrations/2.0.80.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.81.js b/server/migrations/2.0.81.js
index 403c9d3..b1269d4 100644
--- a/server/migrations/2.0.81.js
+++ b/server/migrations/2.0.81.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.82.js b/server/migrations/2.0.82.js
index 3b4b59a..6ebe05d 100644
--- a/server/migrations/2.0.82.js
+++ b/server/migrations/2.0.82.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.83.js b/server/migrations/2.0.83.js
index ed0cd1d..8e98456 100644
--- a/server/migrations/2.0.83.js
+++ b/server/migrations/2.0.83.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.0.84.js b/server/migrations/2.0.84.js
index 3804447..9d82d29 100644
--- a/server/migrations/2.0.84.js
+++ b/server/migrations/2.0.84.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.1.0.js b/server/migrations/2.1.0.js
index 5adcdd0..d812e61 100644
--- a/server/migrations/2.1.0.js
+++ b/server/migrations/2.1.0.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.2.0.js b/server/migrations/2.2.0.js
index d4256d7..628a57f 100644
--- a/server/migrations/2.2.0.js
+++ b/server/migrations/2.2.0.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.2.1.js b/server/migrations/2.2.1.js
index 2ce9396..6f7d464 100644
--- a/server/migrations/2.2.1.js
+++ b/server/migrations/2.2.1.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.2.2.js b/server/migrations/2.2.2.js
index f37ece9..a19064a 100644
--- a/server/migrations/2.2.2.js
+++ b/server/migrations/2.2.2.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.2.3.js b/server/migrations/2.2.3.js
index c2bf900..5dc8fbc 100644
--- a/server/migrations/2.2.3.js
+++ b/server/migrations/2.2.3.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.2.4.js b/server/migrations/2.2.4.js
index 3028189..4e3430b 100644
--- a/server/migrations/2.2.4.js
+++ b/server/migrations/2.2.4.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.2.5.js b/server/migrations/2.2.5.js
index 0ccb230..9842f8d 100644
--- a/server/migrations/2.2.5.js
+++ b/server/migrations/2.2.5.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.2.6.js b/server/migrations/2.2.6.js
index a944cef..8ab96c2 100644
--- a/server/migrations/2.2.6.js
+++ b/server/migrations/2.2.6.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.0.js b/server/migrations/2.3.0.js
index 17f2eae..22a66b3 100644
--- a/server/migrations/2.3.0.js
+++ b/server/migrations/2.3.0.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.1.js b/server/migrations/2.3.1.js
index cabed01..5cc7bad 100644
--- a/server/migrations/2.3.1.js
+++ b/server/migrations/2.3.1.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.10.js b/server/migrations/2.3.10.js
index 04bbd0d..933a4f0 100644
--- a/server/migrations/2.3.10.js
+++ b/server/migrations/2.3.10.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.2.js b/server/migrations/2.3.2.js
index e75ed52..a250264 100644
--- a/server/migrations/2.3.2.js
+++ b/server/migrations/2.3.2.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.3.js b/server/migrations/2.3.3.js
index c10e39f..e1c83b6 100644
--- a/server/migrations/2.3.3.js
+++ b/server/migrations/2.3.3.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.4.js b/server/migrations/2.3.4.js
index 4435519..1bf8120 100644
--- a/server/migrations/2.3.4.js
+++ b/server/migrations/2.3.4.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.5.js b/server/migrations/2.3.5.js
index ac29912..5460b07 100644
--- a/server/migrations/2.3.5.js
+++ b/server/migrations/2.3.5.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.6.js b/server/migrations/2.3.6.js
index 7ef5de5..47f6531 100644
--- a/server/migrations/2.3.6.js
+++ b/server/migrations/2.3.6.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.7.js b/server/migrations/2.3.7.js
index 6c8e392..3c453cc 100644
--- a/server/migrations/2.3.7.js
+++ b/server/migrations/2.3.7.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.8.js b/server/migrations/2.3.8.js
index 07d99df..2e158bf 100644
--- a/server/migrations/2.3.8.js
+++ b/server/migrations/2.3.8.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.9.js b/server/migrations/2.3.9.js
index 54fd4c5..c6ed280 100644
--- a/server/migrations/2.3.9.js
+++ b/server/migrations/2.3.9.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.91.js b/server/migrations/2.3.91.js
index e156c6c..7860547 100644
--- a/server/migrations/2.3.91.js
+++ b/server/migrations/2.3.91.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.92.js b/server/migrations/2.3.92.js
index f988578..0d020cb 100644
--- a/server/migrations/2.3.92.js
+++ b/server/migrations/2.3.92.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.93.js b/server/migrations/2.3.93.js
index 8fe1833..dda95dd 100644
--- a/server/migrations/2.3.93.js
+++ b/server/migrations/2.3.93.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.94.js b/server/migrations/2.3.94.js
index 72c079c..60cb3d1 100644
--- a/server/migrations/2.3.94.js
+++ b/server/migrations/2.3.94.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.95.js b/server/migrations/2.3.95.js
index 1ce3231..e682cdb 100644
--- a/server/migrations/2.3.95.js
+++ b/server/migrations/2.3.95.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.96.js b/server/migrations/2.3.96.js
index b30e082..b83ec1a 100644
--- a/server/migrations/2.3.96.js
+++ b/server/migrations/2.3.96.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.97.js b/server/migrations/2.3.97.js
index eb89b50..ed7bdfe 100644
--- a/server/migrations/2.3.97.js
+++ b/server/migrations/2.3.97.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.3.98.js b/server/migrations/2.3.98.js
index 186da0c..848cfaa 100644
--- a/server/migrations/2.3.98.js
+++ b/server/migrations/2.3.98.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.0.js b/server/migrations/2.4.0.js
index 249024c..f2fb2a5 100644
--- a/server/migrations/2.4.0.js
+++ b/server/migrations/2.4.0.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.1.js b/server/migrations/2.4.1.js
index f47e25d..719ce42 100644
--- a/server/migrations/2.4.1.js
+++ b/server/migrations/2.4.1.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.10.js b/server/migrations/2.4.10.js
index 66ed8a0..fc7d77e 100644
--- a/server/migrations/2.4.10.js
+++ b/server/migrations/2.4.10.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.11.js b/server/migrations/2.4.11.js
index e94cf39..beee459 100644
--- a/server/migrations/2.4.11.js
+++ b/server/migrations/2.4.11.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.12.js b/server/migrations/2.4.12.js
index efe22fa..c83a503 100644
--- a/server/migrations/2.4.12.js
+++ b/server/migrations/2.4.12.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.13.js b/server/migrations/2.4.13.js
index 323eacd..2c0e0b8 100644
--- a/server/migrations/2.4.13.js
+++ b/server/migrations/2.4.13.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.14.js b/server/migrations/2.4.14.js
index 542f4c1..6aaeb40 100644
--- a/server/migrations/2.4.14.js
+++ b/server/migrations/2.4.14.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.15.js b/server/migrations/2.4.15.js
index 32ec5c3..0746c51 100644
--- a/server/migrations/2.4.15.js
+++ b/server/migrations/2.4.15.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.16.js b/server/migrations/2.4.16.js
index 8b48c54..891fd1c 100644
--- a/server/migrations/2.4.16.js
+++ b/server/migrations/2.4.16.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.17.js b/server/migrations/2.4.17.js
index 146aba8..e9ff26c 100644
--- a/server/migrations/2.4.17.js
+++ b/server/migrations/2.4.17.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.18.js b/server/migrations/2.4.18.js
index cd3b876..e650427 100644
--- a/server/migrations/2.4.18.js
+++ b/server/migrations/2.4.18.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.19.js b/server/migrations/2.4.19.js
index 0d716af..eda03dd 100644
--- a/server/migrations/2.4.19.js
+++ b/server/migrations/2.4.19.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.2.js b/server/migrations/2.4.2.js
index a594175..6cea858 100644
--- a/server/migrations/2.4.2.js
+++ b/server/migrations/2.4.2.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.20.js b/server/migrations/2.4.20.js
index 941587a..508a570 100644
--- a/server/migrations/2.4.20.js
+++ b/server/migrations/2.4.20.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.21.js b/server/migrations/2.4.21.js
index ba7d1d4..c6b28c4 100644
--- a/server/migrations/2.4.21.js
+++ b/server/migrations/2.4.21.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.3.js b/server/migrations/2.4.3.js
index d6a0e60..782d8d4 100644
--- a/server/migrations/2.4.3.js
+++ b/server/migrations/2.4.3.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.4.js b/server/migrations/2.4.4.js
index f192493..155ddd8 100644
--- a/server/migrations/2.4.4.js
+++ b/server/migrations/2.4.4.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.5.js b/server/migrations/2.4.5.js
index b8852a6..350ab4f 100644
--- a/server/migrations/2.4.5.js
+++ b/server/migrations/2.4.5.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.6.js b/server/migrations/2.4.6.js
index 7fe7a35..8042455 100644
--- a/server/migrations/2.4.6.js
+++ b/server/migrations/2.4.6.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.7.js b/server/migrations/2.4.7.js
index f01af24..782ed22 100644
--- a/server/migrations/2.4.7.js
+++ b/server/migrations/2.4.7.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.8.js b/server/migrations/2.4.8.js
index 8444695..113b713 100644
--- a/server/migrations/2.4.8.js
+++ b/server/migrations/2.4.8.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.4.9.js b/server/migrations/2.4.9.js
index a03ed32..82f4d29 100644
--- a/server/migrations/2.4.9.js
+++ b/server/migrations/2.4.9.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.0.js b/server/migrations/2.5.0.js
index 1963d3c..5464557 100644
--- a/server/migrations/2.5.0.js
+++ b/server/migrations/2.5.0.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.1.js b/server/migrations/2.5.1.js
index 2dc240c..3e971a8 100644
--- a/server/migrations/2.5.1.js
+++ b/server/migrations/2.5.1.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.2.js b/server/migrations/2.5.2.js
index 8357be1..34fa667 100644
--- a/server/migrations/2.5.2.js
+++ b/server/migrations/2.5.2.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.3.js b/server/migrations/2.5.3.js
index 164238a..537d4a9 100644
--- a/server/migrations/2.5.3.js
+++ b/server/migrations/2.5.3.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.4.js b/server/migrations/2.5.4.js
index 9032133..6a438ca 100644
--- a/server/migrations/2.5.4.js
+++ b/server/migrations/2.5.4.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.5.js b/server/migrations/2.5.5.js
index 4664a73..00ee2af 100644
--- a/server/migrations/2.5.5.js
+++ b/server/migrations/2.5.5.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.6.js b/server/migrations/2.5.6.js
index 4e3f96d..5c3217d 100644
--- a/server/migrations/2.5.6.js
+++ b/server/migrations/2.5.6.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/2.5.7.js b/server/migrations/2.5.7.js
index 349f381..6b678d2 100644
--- a/server/migrations/2.5.7.js
+++ b/server/migrations/2.5.7.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/migrations/3.0.0-alpha.js b/server/migrations/3.0.0-alpha.js
index a499a2a..fc4e66e 100644
--- a/server/migrations/3.0.0-alpha.js
+++ b/server/migrations/3.0.0-alpha.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/mysqldb/index.js b/server/mysqldb/index.js
index 3ff80b1..4ab91f7 100644
--- a/server/mysqldb/index.js
+++ b/server/mysqldb/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/mysqldb/infile-stream-factory.js b/server/mysqldb/infile-stream-factory.js
index b1474bc..a98a06a 100644
--- a/server/mysqldb/infile-stream-factory.js
+++ b/server/mysqldb/infile-stream-factory.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/rediscache/index.js b/server/rediscache/index.js
index b351684..f5955d6 100644
--- a/server/rediscache/index.js
+++ b/server/rediscache/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/routes.js b/server/routes.js
index 3f24af8..874f24b 100644
--- a/server/routes.js
+++ b/server/routes.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/rpc/index.js b/server/rpc/index.js
index 9d748fc..b02e5f5 100644
--- a/server/rpc/index.js
+++ b/server/rpc/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/channel.js b/server/services/agi/channel.js
index 2986116..d54f2be 100644
--- a/server/services/agi/channel.js
+++ b/server/services/agi/channel.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/error.js b/server/services/agi/error.js
index 85f3010..a39b229 100644
--- a/server/services/agi/error.js
+++ b/server/services/agi/error.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/graph/index.js b/server/services/agi/graph/index.js
index eca4719..c74b324 100644
--- a/server/services/agi/graph/index.js
+++ b/server/services/agi/graph/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/index.js b/server/services/agi/index.js
index a8388c9..fe24981 100644
--- a/server/services/agi/index.js
+++ b/server/services/agi/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/mailRpc/index.js b/server/services/agi/mailRpc/index.js
index fe14af3..1afdf05 100644
--- a/server/services/agi/mailRpc/index.js
+++ b/server/services/agi/mailRpc/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/reply.js b/server/services/agi/reply.js
index b6b288e..c5db269 100644
--- a/server/services/agi/reply.js
+++ b/server/services/agi/reply.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/rpc/index.js b/server/services/agi/rpc/index.js
index f74f197..0505ee6 100644
--- a/server/services/agi/rpc/index.js
+++ b/server/services/agi/rpc/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/index.js b/server/services/agi/scripts/aws/index.js
index 826b114..23d8694 100644
--- a/server/services/agi/scripts/aws/index.js
+++ b/server/services/agi/scripts/aws/index.js
@@ -1 +1 @@
-const a1033_0x598c=['./lex','./polly'];(function(_0x435927,_0x598c52){const _0x28943e=function(_0xa69371){while(--_0xa69371){_0x435927['push'](_0x435927['shift']());}};_0x28943e(++_0x598c52);}(a1033_0x598c,0xbe));const a1033_0x2894=function(_0x435927,_0x598c52){_0x435927=_0x435927-0x0;let _0x28943e=a1033_0x598c[_0x435927];return _0x28943e;};const _0x1c5b8f=a1033_0x2894,polly=require(_0x1c5b8f('0x1')),lex=require(_0x1c5b8f('0x0'));module['exports']={'polly':polly,'lex':lex};
\ No newline at end of file
+const a1033_0x5659=['./polly','./lex'];(function(_0x31a607,_0x565901){const _0x1fcd3f=function(_0x4735f4){while(--_0x4735f4){_0x31a607['push'](_0x31a607['shift']());}};_0x1fcd3f(++_0x565901);}(a1033_0x5659,0x1ab));const a1033_0x1fcd=function(_0x31a607,_0x565901){_0x31a607=_0x31a607-0x0;let _0x1fcd3f=a1033_0x5659[_0x31a607];return _0x1fcd3f;};const _0x217f3d=a1033_0x1fcd,polly=require(_0x217f3d('0x1')),lex=require(_0x217f3d('0x0'));module['exports']={'polly':polly,'lex':lex};
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/lex/index.js b/server/services/agi/scripts/aws/lex/index.js
index 5a2203b..42786ba 100644
--- a/server/services/agi/scripts/aws/lex/index.js
+++ b/server/services/agi/scripts/aws/lex/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/lex/lib/api.js b/server/services/agi/scripts/aws/lex/lib/api.js
index 547355c..272a7ba 100644
--- a/server/services/agi/scripts/aws/lex/lib/api.js
+++ b/server/services/agi/scripts/aws/lex/lib/api.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/polly/index.js b/server/services/agi/scripts/aws/polly/index.js
index c469419..0405648 100644
--- a/server/services/agi/scripts/aws/polly/index.js
+++ b/server/services/agi/scripts/aws/polly/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/polly/lib/api.js b/server/services/agi/scripts/aws/polly/lib/api.js
index 8592fec..64e1fe8 100644
--- a/server/services/agi/scripts/aws/polly/lib/api.js
+++ b/server/services/agi/scripts/aws/polly/lib/api.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/asr/index.js b/server/services/agi/scripts/google/asr/index.js
index 2422286..61e08a2 100644
--- a/server/services/agi/scripts/google/asr/index.js
+++ b/server/services/agi/scripts/google/asr/index.js
@@ -1 +1 @@
\ No newline at end of file
+'use strict';const asr=require('./lib/api');module['exports']=function(_0x3f4d35,_0x22f2d8,_0x4d9753){return asr(_0x3f4d35,_0x22f2d8,_0x4d9753);};
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/asr/lib/api.js b/server/services/agi/scripts/google/asr/lib/api.js
index cd163e2..ccea144 100644
--- a/server/services/agi/scripts/google/asr/lib/api.js
+++ b/server/services/agi/scripts/google/asr/lib/api.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/index.js b/server/services/agi/scripts/google/index.js
index 6225276..06eca08 100644
--- a/server/services/agi/scripts/google/index.js
+++ b/server/services/agi/scripts/google/index.js
@@ -1 +1 @@
-const a1040_0x1734=['exports','./asr'];(function(_0x354bf6,_0x173407){const _0x10f14c=function(_0x2bcfbf){while(--_0x2bcfbf){_0x354bf6['push'](_0x354bf6['shift']());}};_0x10f14c(++_0x173407);}(a1040_0x1734,0x139));const a1040_0x10f1=function(_0x354bf6,_0x173407){_0x354bf6=_0x354bf6-0x0;let _0x10f14c=a1040_0x1734[_0x354bf6];return _0x10f14c;};const _0x49b68b=a1040_0x10f1,asr=require(_0x49b68b('0x0'));module[_0x49b68b('0x1')]={'asr':asr};
\ No newline at end of file
+const a1040_0x424b=['exports'];(function(_0x372822,_0x424b7c){const _0x8456ff=function(_0x4aa1ea){while(--_0x4aa1ea){_0x372822['push'](_0x372822['shift']());}};_0x8456ff(++_0x424b7c);}(a1040_0x424b,0xc7));const a1040_0x8456=function(_0x372822,_0x424b7c){_0x372822=_0x372822-0x0;let _0x8456ff=a1040_0x424b[_0x372822];return _0x8456ff;};const _0x4ee40b=a1040_0x8456,asr=require('./asr');module[_0x4ee40b('0x0')]={'asr':asr};
\ No newline at end of file
diff --git a/server/services/agi/scripts/index.js b/server/services/agi/scripts/index.js
index 8706bfe..d1a7fb4 100644
--- a/server/services/agi/scripts/index.js
+++ b/server/services/agi/scripts/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/sestek/index.js b/server/services/agi/scripts/sestek/index.js
index 7606999..294f253 100644
--- a/server/services/agi/scripts/sestek/index.js
+++ b/server/services/agi/scripts/sestek/index.js
@@ -1 +1 @@
-const a1042_0x2c0d=['./nda','exports'];(function(_0x54d04f,_0x2c0d78){const _0x574805=function(_0x45dd9e){while(--_0x45dd9e){_0x54d04f['push'](_0x54d04f['shift']());}};_0x574805(++_0x2c0d78);}(a1042_0x2c0d,0x190));const a1042_0x5748=function(_0x54d04f,_0x2c0d78){_0x54d04f=_0x54d04f-0x0;let _0x574805=a1042_0x2c0d[_0x54d04f];return _0x574805;};const _0x2a01b8=a1042_0x5748,nda=require(_0x2a01b8('0x0'));module[_0x2a01b8('0x1')]={'nda':nda};
\ No newline at end of file
+const a1042_0x5029=['exports'];(function(_0x5ded8a,_0x5029e2){const _0x1d103e=function(_0x4cc3e1){while(--_0x4cc3e1){_0x5ded8a['push'](_0x5ded8a['shift']());}};_0x1d103e(++_0x5029e2);}(a1042_0x5029,0x1b4));const a1042_0x1d10=function(_0x5ded8a,_0x5029e2){_0x5ded8a=_0x5ded8a-0x0;let _0x1d103e=a1042_0x5029[_0x5ded8a];return _0x1d103e;};const _0x83ef99=a1042_0x1d10,nda=require('./nda');module[_0x83ef99('0x0')]={'nda':nda};
\ No newline at end of file
diff --git a/server/services/agi/scripts/sestek/nda/index.js b/server/services/agi/scripts/sestek/nda/index.js
index 60bc80b..951db4e 100644
--- a/server/services/agi/scripts/sestek/nda/index.js
+++ b/server/services/agi/scripts/sestek/nda/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/asr/index.js b/server/services/agi/scripts/tilde/asr/index.js
index 92d30eb..9c6efa5 100644
--- a/server/services/agi/scripts/tilde/asr/index.js
+++ b/server/services/agi/scripts/tilde/asr/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/asr/lib/api.js b/server/services/agi/scripts/tilde/asr/lib/api.js
index 5ac3fa9..d93be14 100644
--- a/server/services/agi/scripts/tilde/asr/lib/api.js
+++ b/server/services/agi/scripts/tilde/asr/lib/api.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/index.js b/server/services/agi/scripts/tilde/index.js
index da440c1..266e0f7 100644
--- a/server/services/agi/scripts/tilde/index.js
+++ b/server/services/agi/scripts/tilde/index.js
@@ -1 +1 @@
-const asr=require('./asr');module['exports']={'asr':asr};
\ No newline at end of file
+const a1046_0x2d66=['exports'];(function(_0x2db61d,_0x2d6633){const _0x28690f=function(_0x4ee5c8){while(--_0x4ee5c8){_0x2db61d['push'](_0x2db61d['shift']());}};_0x28690f(++_0x2d6633);}(a1046_0x2d66,0x110));const a1046_0x2869=function(_0x2db61d,_0x2d6633){_0x2db61d=_0x2db61d-0x0;let _0x28690f=a1046_0x2d66[_0x2db61d];return _0x28690f;};const _0x3d1599=a1046_0x2869,asr=require('./asr');module[_0x3d1599('0x0')]={'asr':asr};
\ No newline at end of file
diff --git a/server/services/agi/server.js b/server/services/agi/server.js
index bac34c7..6cf2f7e 100644
--- a/server/services/agi/server.js
+++ b/server/services/agi/server.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/vertices.js b/server/services/agi/vertices.js
index aaf0345..7a8c45b 100644
--- a/server/services/agi/vertices.js
+++ b/server/services/agi/vertices.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/acw/index.js b/server/services/ami/acw/index.js
index 79a66ed..c286829 100644
--- a/server/services/ami/acw/index.js
+++ b/server/services/ami/acw/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/ami.js b/server/services/ami/ami.js
index 93a784d..a818190 100644
--- a/server/services/ami/ami.js
+++ b/server/services/ami/ami.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/client.js b/server/services/ami/client.js
index adab2bf..7d5d59d 100644
--- a/server/services/ami/client.js
+++ b/server/services/ami/client.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/action.js b/server/services/ami/dialer/action.js
index ec3c153..b349122 100644
--- a/server/services/ami/dialer/action.js
+++ b/server/services/ami/dialer/action.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/agentComplete.js b/server/services/ami/dialer/agentComplete.js
index 3961b7b..d96a035 100644
--- a/server/services/ami/dialer/agentComplete.js
+++ b/server/services/ami/dialer/agentComplete.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/final.js b/server/services/ami/dialer/final.js
index 9aefdd9..cea0470 100644
--- a/server/services/ami/dialer/final.js
+++ b/server/services/ami/dialer/final.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/hangup.js b/server/services/ami/dialer/hangup.js
index 7ea8f1e..f0c16de 100644
--- a/server/services/ami/dialer/hangup.js
+++ b/server/services/ami/dialer/hangup.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/history.js b/server/services/ami/dialer/history.js
index 1e0db60..718b7ee 100644
--- a/server/services/ami/dialer/history.js
+++ b/server/services/ami/dialer/history.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/index.js b/server/services/ami/dialer/index.js
index 16eda14..69eb7c7 100644
--- a/server/services/ami/dialer/index.js
+++ b/server/services/ami/dialer/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/queueCallerAbandon.js b/server/services/ami/dialer/queueCallerAbandon.js
index 4728c19..0175227 100644
--- a/server/services/ami/dialer/queueCallerAbandon.js
+++ b/server/services/ami/dialer/queueCallerAbandon.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/action.js b/server/services/ami/fax/action.js
index 51f7d05..7f951ef 100644
--- a/server/services/ami/fax/action.js
+++ b/server/services/ami/fax/action.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/index.js b/server/services/ami/fax/index.js
index 09a591c..1b5e4c7 100644
--- a/server/services/ami/fax/index.js
+++ b/server/services/ami/fax/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/rpcDb.js b/server/services/ami/fax/rpcDb.js
index 2fa08a3..a7afff1 100644
--- a/server/services/ami/fax/rpcDb.js
+++ b/server/services/ami/fax/rpcDb.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/util/gs.js b/server/services/ami/fax/util/gs.js
index 867386a..1c4adab 100644
--- a/server/services/ami/fax/util/gs.js
+++ b/server/services/ami/fax/util/gs.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/util/util.js b/server/services/ami/fax/util/util.js
index 927a80e..c359465 100644
--- a/server/services/ami/fax/util/util.js
+++ b/server/services/ami/fax/util/util.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/index.js b/server/services/ami/index.js
index 8293b72..15b9db0 100644
--- a/server/services/ami/index.js
+++ b/server/services/ami/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/agent.js b/server/services/ami/model/agent.js
index 1493fe1..aeec370 100644
--- a/server/services/ami/model/agent.js
+++ b/server/services/ami/model/agent.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/campaign.js b/server/services/ami/model/campaign.js
index c957687..36e6783 100644
--- a/server/services/ami/model/campaign.js
+++ b/server/services/ami/model/campaign.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/channel.js b/server/services/ami/model/channel.js
index 2670db5..8941ae1 100644
--- a/server/services/ami/model/channel.js
+++ b/server/services/ami/model/channel.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/deskAccount.js b/server/services/ami/model/deskAccount.js
index 46688d6..4f5afab 100644
--- a/server/services/ami/model/deskAccount.js
+++ b/server/services/ami/model/deskAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/dynamics365Account.js b/server/services/ami/model/dynamics365Account.js
index 883331e..3e12a34 100644
--- a/server/services/ami/model/dynamics365Account.js
+++ b/server/services/ami/model/dynamics365Account.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/faxAccount.js b/server/services/ami/model/faxAccount.js
index 6484d74..32fcd94 100644
--- a/server/services/ami/model/faxAccount.js
+++ b/server/services/ami/model/faxAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/freshdeskAccount.js b/server/services/ami/model/freshdeskAccount.js
index 0f4e05a..11d2483 100644
--- a/server/services/ami/model/freshdeskAccount.js
+++ b/server/services/ami/model/freshdeskAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/freshsalesAccount.js b/server/services/ami/model/freshsalesAccount.js
index 0fcf9a1..83637cf 100644
--- a/server/services/ami/model/freshsalesAccount.js
+++ b/server/services/ami/model/freshsalesAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/queueReport.js b/server/services/ami/model/queueReport.js
index f9ba4e1..8fb72d1 100644
--- a/server/services/ami/model/queueReport.js
+++ b/server/services/ami/model/queueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/salesforceAccount.js b/server/services/ami/model/salesforceAccount.js
index 0c61bdb..de16571 100644
--- a/server/services/ami/model/salesforceAccount.js
+++ b/server/services/ami/model/salesforceAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/servicenowAccount.js b/server/services/ami/model/servicenowAccount.js
index 680d1e9..0b6e452 100644
--- a/server/services/ami/model/servicenowAccount.js
+++ b/server/services/ami/model/servicenowAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/sugarcrmAccount.js b/server/services/ami/model/sugarcrmAccount.js
index 4a2a73f..eb1faef 100644
--- a/server/services/ami/model/sugarcrmAccount.js
+++ b/server/services/ami/model/sugarcrmAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/telephone.js b/server/services/ami/model/telephone.js
index ec69a95..f6c8721 100644
--- a/server/services/ami/model/telephone.js
+++ b/server/services/ami/model/telephone.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/template.js b/server/services/ami/model/template.js
index a4dc6f5..2f26747 100644
--- a/server/services/ami/model/template.js
+++ b/server/services/ami/model/template.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/trigger.js b/server/services/ami/model/trigger.js
index ce2997d..a3ef207 100644
--- a/server/services/ami/model/trigger.js
+++ b/server/services/ami/model/trigger.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/trunk.js b/server/services/ami/model/trunk.js
index a29b116..3a7e24a 100644
--- a/server/services/ami/model/trunk.js
+++ b/server/services/ami/model/trunk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/voiceExtension.js b/server/services/ami/model/voiceExtension.js
index 53fee87..20fb2e4 100644
--- a/server/services/ami/model/voiceExtension.js
+++ b/server/services/ami/model/voiceExtension.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/voiceQueue.js b/server/services/ami/model/voiceQueue.js
index 0ea4cba..dea126f 100644
--- a/server/services/ami/model/voiceQueue.js
+++ b/server/services/ami/model/voiceQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/vtigerAccount.js b/server/services/ami/model/vtigerAccount.js
index 90d2eba..3907254 100644
--- a/server/services/ami/model/vtigerAccount.js
+++ b/server/services/ami/model/vtigerAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/zendeskAccount.js b/server/services/ami/model/zendeskAccount.js
index 35e8ba8..feb209b 100644
--- a/server/services/ami/model/zendeskAccount.js
+++ b/server/services/ami/model/zendeskAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/zohoAccount.js b/server/services/ami/model/zohoAccount.js
index 7c9493e..4f4cce0 100644
--- a/server/services/ami/model/zohoAccount.js
+++ b/server/services/ami/model/zohoAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/action.js b/server/services/ami/preview/action.js
index 5a0225c..ea60542 100644
--- a/server/services/ami/preview/action.js
+++ b/server/services/ami/preview/action.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/index.js b/server/services/ami/preview/index.js
index 1de883a..09b11c8 100644
--- a/server/services/ami/preview/index.js
+++ b/server/services/ami/preview/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/rpcDb.js b/server/services/ami/preview/rpcDb.js
index f12559f..9d03ebd 100644
--- a/server/services/ami/preview/rpcDb.js
+++ b/server/services/ami/preview/rpcDb.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/util/util.js b/server/services/ami/preview/util/util.js
index 41bb766..d119eb8 100644
--- a/server/services/ami/preview/util/util.js
+++ b/server/services/ami/preview/util/util.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/properties.js b/server/services/ami/properties.js
index c68ff97..80d1f5e 100644
--- a/server/services/ami/properties.js
+++ b/server/services/ami/properties.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/realtime/index.js b/server/services/ami/realtime/index.js
index 9561c98..a353fb8 100644
--- a/server/services/ami/realtime/index.js
+++ b/server/services/ami/realtime/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/index.js b/server/services/ami/report/index.js
index 8090530..da7a90e 100644
--- a/server/services/ami/report/index.js
+++ b/server/services/ami/report/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/userReport.js b/server/services/ami/report/userReport.js
index b4edf7b..21b54f6 100644
--- a/server/services/ami/report/userReport.js
+++ b/server/services/ami/report/userReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceAgentReport.js b/server/services/ami/report/voiceAgentReport.js
index e58bef4..fa4132b 100644
--- a/server/services/ami/report/voiceAgentReport.js
+++ b/server/services/ami/report/voiceAgentReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceCallReport.js b/server/services/ami/report/voiceCallReport.js
index d74388c..89d3d94 100644
--- a/server/services/ami/report/voiceCallReport.js
+++ b/server/services/ami/report/voiceCallReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceDialReport.js b/server/services/ami/report/voiceDialReport.js
index 9e16f4a..9f7ae87 100644
--- a/server/services/ami/report/voiceDialReport.js
+++ b/server/services/ami/report/voiceDialReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceQueueReport.js b/server/services/ami/report/voiceQueueReport.js
index c4d20d6..3aab658 100644
--- a/server/services/ami/report/voiceQueueReport.js
+++ b/server/services/ami/report/voiceQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/agentReportPreview.js b/server/services/ami/rpc/agentReportPreview.js
index 9e42c84..edc81d4 100644
--- a/server/services/ami/rpc/agentReportPreview.js
+++ b/server/services/ami/rpc/agentReportPreview.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/attachment.js b/server/services/ami/rpc/attachment.js
index 172bd9f..b3d84bb 100644
--- a/server/services/ami/rpc/attachment.js
+++ b/server/services/ami/rpc/attachment.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/campaign.js b/server/services/ami/rpc/campaign.js
index cb70f89..eddcb6d 100644
--- a/server/services/ami/rpc/campaign.js
+++ b/server/services/ami/rpc/campaign.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmContact.js b/server/services/ami/rpc/cmContact.js
index bbe373d..4f96830 100644
--- a/server/services/ami/rpc/cmContact.js
+++ b/server/services/ami/rpc/cmContact.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopper.js b/server/services/ami/rpc/cmHopper.js
index 19088fc..7b188c7 100644
--- a/server/services/ami/rpc/cmHopper.js
+++ b/server/services/ami/rpc/cmHopper.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperBlack.js b/server/services/ami/rpc/cmHopperBlack.js
index 6257327..e68d584 100644
--- a/server/services/ami/rpc/cmHopperBlack.js
+++ b/server/services/ami/rpc/cmHopperBlack.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperFinal.js b/server/services/ami/rpc/cmHopperFinal.js
index b4957ec..796475d 100644
--- a/server/services/ami/rpc/cmHopperFinal.js
+++ b/server/services/ami/rpc/cmHopperFinal.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperHistory.js b/server/services/ami/rpc/cmHopperHistory.js
index ef696b2..2e98680 100644
--- a/server/services/ami/rpc/cmHopperHistory.js
+++ b/server/services/ami/rpc/cmHopperHistory.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/faxAccount.js b/server/services/ami/rpc/faxAccount.js
index ae7c94e..a3cb662 100644
--- a/server/services/ami/rpc/faxAccount.js
+++ b/server/services/ami/rpc/faxAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/faxMessage.js b/server/services/ami/rpc/faxMessage.js
index e30c2c7..9b4d964 100644
--- a/server/services/ami/rpc/faxMessage.js
+++ b/server/services/ami/rpc/faxMessage.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/desk.js b/server/services/ami/rpc/integrations/desk.js
index 3e71c4e..6b4411c 100644
--- a/server/services/ami/rpc/integrations/desk.js
+++ b/server/services/ami/rpc/integrations/desk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/dynamics365.js b/server/services/ami/rpc/integrations/dynamics365.js
index f7a93d1..c0985d4 100644
--- a/server/services/ami/rpc/integrations/dynamics365.js
+++ b/server/services/ami/rpc/integrations/dynamics365.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/freshdesk.js b/server/services/ami/rpc/integrations/freshdesk.js
index 01cabce..bfa61b0 100644
--- a/server/services/ami/rpc/integrations/freshdesk.js
+++ b/server/services/ami/rpc/integrations/freshdesk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/freshsales.js b/server/services/ami/rpc/integrations/freshsales.js
index 72eee65..96e94f6 100644
--- a/server/services/ami/rpc/integrations/freshsales.js
+++ b/server/services/ami/rpc/integrations/freshsales.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/salesforce.js b/server/services/ami/rpc/integrations/salesforce.js
index d34053f..44e227d 100644
--- a/server/services/ami/rpc/integrations/salesforce.js
+++ b/server/services/ami/rpc/integrations/salesforce.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/servicenow.js b/server/services/ami/rpc/integrations/servicenow.js
index b355f17..fba4cee 100644
--- a/server/services/ami/rpc/integrations/servicenow.js
+++ b/server/services/ami/rpc/integrations/servicenow.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/sugarcrm.js b/server/services/ami/rpc/integrations/sugarcrm.js
index 80b0a2e..e6f918b 100644
--- a/server/services/ami/rpc/integrations/sugarcrm.js
+++ b/server/services/ami/rpc/integrations/sugarcrm.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/vtiger.js b/server/services/ami/rpc/integrations/vtiger.js
index 754ee24..6c8bce9 100644
--- a/server/services/ami/rpc/integrations/vtiger.js
+++ b/server/services/ami/rpc/integrations/vtiger.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/zendesk.js b/server/services/ami/rpc/integrations/zendesk.js
index 1db71a0..d4c9522 100644
--- a/server/services/ami/rpc/integrations/zendesk.js
+++ b/server/services/ami/rpc/integrations/zendesk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/zoho.js b/server/services/ami/rpc/integrations/zoho.js
index 31d19ae..f6f0aaf 100644
--- a/server/services/ami/rpc/integrations/zoho.js
+++ b/server/services/ami/rpc/integrations/zoho.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/memberReport.js b/server/services/ami/rpc/memberReport.js
index fd5c200..09b4a36 100644
--- a/server/services/ami/rpc/memberReport.js
+++ b/server/services/ami/rpc/memberReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/template.js b/server/services/ami/rpc/template.js
index 356cd37..c6b8fae 100644
--- a/server/services/ami/rpc/template.js
+++ b/server/services/ami/rpc/template.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/trigger.js b/server/services/ami/rpc/trigger.js
index 8ac7ed2..8146cb7 100644
--- a/server/services/ami/rpc/trigger.js
+++ b/server/services/ami/rpc/trigger.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/trunk.js b/server/services/ami/rpc/trunk.js
index 7284641..152dc01 100644
--- a/server/services/ami/rpc/trunk.js
+++ b/server/services/ami/rpc/trunk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/user.js b/server/services/ami/rpc/user.js
index c60ee15..e73e1fd 100644
--- a/server/services/ami/rpc/user.js
+++ b/server/services/ami/rpc/user.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceAgentReport.js b/server/services/ami/rpc/voiceAgentReport.js
index b2932ea..5114645 100644
--- a/server/services/ami/rpc/voiceAgentReport.js
+++ b/server/services/ami/rpc/voiceAgentReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceCallReport.js b/server/services/ami/rpc/voiceCallReport.js
index c608276..f36698c 100644
--- a/server/services/ami/rpc/voiceCallReport.js
+++ b/server/services/ami/rpc/voiceCallReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceDialReport.js b/server/services/ami/rpc/voiceDialReport.js
index db57d0b..d2b2004 100644
--- a/server/services/ami/rpc/voiceDialReport.js
+++ b/server/services/ami/rpc/voiceDialReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceExtension.js b/server/services/ami/rpc/voiceExtension.js
index 375e430..d37632e 100644
--- a/server/services/ami/rpc/voiceExtension.js
+++ b/server/services/ami/rpc/voiceExtension.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueue.js b/server/services/ami/rpc/voiceQueue.js
index cf9d7a6..4f7e802 100644
--- a/server/services/ami/rpc/voiceQueue.js
+++ b/server/services/ami/rpc/voiceQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueueReport.js b/server/services/ami/rpc/voiceQueueReport.js
index 4cb613a..5830e5c 100644
--- a/server/services/ami/rpc/voiceQueueReport.js
+++ b/server/services/ami/rpc/voiceQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueueRt.js b/server/services/ami/rpc/voiceQueueRt.js
index c3f1815..c9177ec 100644
--- a/server/services/ami/rpc/voiceQueueRt.js
+++ b/server/services/ami/rpc/voiceQueueRt.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceRecording.js b/server/services/ami/rpc/voiceRecording.js
index 1f0f167..8c162a1 100644
--- a/server/services/ami/rpc/voiceRecording.js
+++ b/server/services/ami/rpc/voiceRecording.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceTransferReport.js b/server/services/ami/rpc/voiceTransferReport.js
index a1d039b..4a92355 100644
--- a/server/services/ami/rpc/voiceTransferReport.js
+++ b/server/services/ami/rpc/voiceTransferReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/server/index.js b/server/services/ami/server/index.js
index 5edba03..13af79d 100644
--- a/server/services/ami/server/index.js
+++ b/server/services/ami/server/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/cmContact/index.js b/server/services/ami/trigger/cmContact/index.js
index 8cd03eb..4a2afcf 100644
--- a/server/services/ami/trigger/cmContact/index.js
+++ b/server/services/ami/trigger/cmContact/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/index.js b/server/services/ami/trigger/index.js
index 97e5fbf..728b1f1 100644
--- a/server/services/ami/trigger/index.js
+++ b/server/services/ami/trigger/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/desk.js b/server/services/ami/trigger/integration/desk.js
index be1d1e7..f4bc88c 100644
--- a/server/services/ami/trigger/integration/desk.js
+++ b/server/services/ami/trigger/integration/desk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/dynamics365.js b/server/services/ami/trigger/integration/dynamics365.js
index 9f8174a..56948c5 100644
--- a/server/services/ami/trigger/integration/dynamics365.js
+++ b/server/services/ami/trigger/integration/dynamics365.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/freshdesk.js b/server/services/ami/trigger/integration/freshdesk.js
index c6dffdc..e446605 100644
--- a/server/services/ami/trigger/integration/freshdesk.js
+++ b/server/services/ami/trigger/integration/freshdesk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/freshsales.js b/server/services/ami/trigger/integration/freshsales.js
index f4dcd47..bb30ebc 100644
--- a/server/services/ami/trigger/integration/freshsales.js
+++ b/server/services/ami/trigger/integration/freshsales.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/index.js b/server/services/ami/trigger/integration/index.js
index 32b4844..3f279d7 100644
--- a/server/services/ami/trigger/integration/index.js
+++ b/server/services/ami/trigger/integration/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/salesforce.js b/server/services/ami/trigger/integration/salesforce.js
index 4c57c48..4286f6d 100644
--- a/server/services/ami/trigger/integration/salesforce.js
+++ b/server/services/ami/trigger/integration/salesforce.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/servicenow.js b/server/services/ami/trigger/integration/servicenow.js
index 64d7a97..f8f10bd 100644
--- a/server/services/ami/trigger/integration/servicenow.js
+++ b/server/services/ami/trigger/integration/servicenow.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/sugarcrm.js b/server/services/ami/trigger/integration/sugarcrm.js
index 90e4599..1bb65a4 100644
--- a/server/services/ami/trigger/integration/sugarcrm.js
+++ b/server/services/ami/trigger/integration/sugarcrm.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/util.js b/server/services/ami/trigger/integration/util.js
index c72ad0d..d7e7dab 100644
--- a/server/services/ami/trigger/integration/util.js
+++ b/server/services/ami/trigger/integration/util.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/vtiger.js b/server/services/ami/trigger/integration/vtiger.js
index a4cae4a..ac2d051 100644
--- a/server/services/ami/trigger/integration/vtiger.js
+++ b/server/services/ami/trigger/integration/vtiger.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/zendesk.js b/server/services/ami/trigger/integration/zendesk.js
index 0dcf7a0..8132871 100644
--- a/server/services/ami/trigger/integration/zendesk.js
+++ b/server/services/ami/trigger/integration/zendesk.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/zoho.js b/server/services/ami/trigger/integration/zoho.js
index f988e4a..14f1577 100644
--- a/server/services/ami/trigger/integration/zoho.js
+++ b/server/services/ami/trigger/integration/zoho.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/script/index.js b/server/services/ami/trigger/script/index.js
index 2befbed..46f3064 100644
--- a/server/services/ami/trigger/script/index.js
+++ b/server/services/ami/trigger/script/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/urlforward/index.js b/server/services/ami/trigger/urlforward/index.js
index 973c612..c1f7a4f 100644
--- a/server/services/ami/trigger/urlforward/index.js
+++ b/server/services/ami/trigger/urlforward/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/client.js b/server/services/email/client.js
index 949d829..664fdba 100644
--- a/server/services/email/client.js
+++ b/server/services/email/client.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/index.js b/server/services/email/index.js
index 0264b53..af13d3f 100644
--- a/server/services/email/index.js
+++ b/server/services/email/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/email.js b/server/services/email/lib/email.js
index 8900525..f04c731 100644
--- a/server/services/email/lib/email.js
+++ b/server/services/email/lib/email.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/imap.js b/server/services/email/lib/imap.js
index 29eb3f2..cb306c7 100644
--- a/server/services/email/lib/imap.js
+++ b/server/services/email/lib/imap.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/smtp.js b/server/services/email/lib/smtp.js
index 02094f8..c128cfd 100644
--- a/server/services/email/lib/smtp.js
+++ b/server/services/email/lib/smtp.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/utils.js b/server/services/email/lib/utils.js
index e77bfbc..d55b89d 100644
--- a/server/services/email/lib/utils.js
+++ b/server/services/email/lib/utils.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/model/mailAccount.js b/server/services/email/model/mailAccount.js
index f2ae29c..c2416d3 100644
--- a/server/services/email/model/mailAccount.js
+++ b/server/services/email/model/mailAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/realtime/index.js b/server/services/email/realtime/index.js
index 98c9ff6..ffe35d8 100644
--- a/server/services/email/realtime/index.js
+++ b/server/services/email/realtime/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/rpc/mailAccount.js b/server/services/email/rpc/mailAccount.js
index 82d7d8a..2003909 100644
--- a/server/services/email/rpc/mailAccount.js
+++ b/server/services/email/rpc/mailAccount.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/server/index.js b/server/services/email/server/index.js
index 896a7a2..2d07bd7 100644
--- a/server/services/email/server/index.js
+++ b/server/services/email/server/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/express/index.js b/server/services/express/index.js
index 778f195..bcdf770 100644
--- a/server/services/express/index.js
+++ b/server/services/express/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/client.js b/server/services/routing/client.js
index 1ead766..2650490 100644
--- a/server/services/routing/client.js
+++ b/server/services/routing/client.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/index.js b/server/services/routing/index.js
index e984adb..8617b52 100644
--- a/server/services/routing/index.js
+++ b/server/services/routing/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/lib/rule-engine.js b/server/services/routing/lib/rule-engine.js
index 186095b..4ba274a 100644
--- a/server/services/routing/lib/rule-engine.js
+++ b/server/services/routing/lib/rule-engine.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/mailRpc/index.js b/server/services/routing/mailRpc/index.js
index 06c299b..b38663f 100644
--- a/server/services/routing/mailRpc/index.js
+++ b/server/services/routing/mailRpc/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/agent.js b/server/services/routing/model/agent.js
index f7213f5..ff7efd6 100644
--- a/server/services/routing/model/agent.js
+++ b/server/services/routing/model/agent.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/chatQueue.js b/server/services/routing/model/chatQueue.js
index c380689..5fd9b0c 100644
--- a/server/services/routing/model/chatQueue.js
+++ b/server/services/routing/model/chatQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/faxQueue.js b/server/services/routing/model/faxQueue.js
index aa8ea94..15ce468 100644
--- a/server/services/routing/model/faxQueue.js
+++ b/server/services/routing/model/faxQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/interval.js b/server/services/routing/model/interval.js
index 0e6b8b1..02330fb 100644
--- a/server/services/routing/model/interval.js
+++ b/server/services/routing/model/interval.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/mailQueue.js b/server/services/routing/model/mailQueue.js
index 1700cc3..ded2228 100644
--- a/server/services/routing/model/mailQueue.js
+++ b/server/services/routing/model/mailQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/openchannelQueue.js b/server/services/routing/model/openchannelQueue.js
index 2ce0f68..4619ac6 100644
--- a/server/services/routing/model/openchannelQueue.js
+++ b/server/services/routing/model/openchannelQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/smsQueue.js b/server/services/routing/model/smsQueue.js
index eaa7818..f86df57 100644
--- a/server/services/routing/model/smsQueue.js
+++ b/server/services/routing/model/smsQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/whatsappQueue.js b/server/services/routing/model/whatsappQueue.js
index 61c949f..3a6e032 100644
--- a/server/services/routing/model/whatsappQueue.js
+++ b/server/services/routing/model/whatsappQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/realtime/index.js b/server/services/routing/realtime/index.js
index 5cf65df..d5f8560 100644
--- a/server/services/routing/realtime/index.js
+++ b/server/services/routing/realtime/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatInteraction.js b/server/services/routing/rpc/chatInteraction.js
index 7c36ca3..b927240 100644
--- a/server/services/routing/rpc/chatInteraction.js
+++ b/server/services/routing/rpc/chatInteraction.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatMessage.js b/server/services/routing/rpc/chatMessage.js
index 43bcb27..b8b14aa 100644
--- a/server/services/routing/rpc/chatMessage.js
+++ b/server/services/routing/rpc/chatMessage.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatQueue.js b/server/services/routing/rpc/chatQueue.js
index 282505d..65449b4 100644
--- a/server/services/routing/rpc/chatQueue.js
+++ b/server/services/routing/rpc/chatQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatQueueReport.js b/server/services/routing/rpc/chatQueueReport.js
index 926d9b9..82dfe48 100644
--- a/server/services/routing/rpc/chatQueueReport.js
+++ b/server/services/routing/rpc/chatQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxInteraction.js b/server/services/routing/rpc/faxInteraction.js
index f0a1c56..ade48a0 100644
--- a/server/services/routing/rpc/faxInteraction.js
+++ b/server/services/routing/rpc/faxInteraction.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxMessage.js b/server/services/routing/rpc/faxMessage.js
index 645a577..d61735f 100644
--- a/server/services/routing/rpc/faxMessage.js
+++ b/server/services/routing/rpc/faxMessage.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxQueue.js b/server/services/routing/rpc/faxQueue.js
index 30c8239..dc3e5b3 100644
--- a/server/services/routing/rpc/faxQueue.js
+++ b/server/services/routing/rpc/faxQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxQueueReport.js b/server/services/routing/rpc/faxQueueReport.js
index e1fe736..26d0275 100644
--- a/server/services/routing/rpc/faxQueueReport.js
+++ b/server/services/routing/rpc/faxQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/interval.js b/server/services/routing/rpc/interval.js
index 230b6b1..2bbcd4f 100644
--- a/server/services/routing/rpc/interval.js
+++ b/server/services/routing/rpc/interval.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailInteraction.js b/server/services/routing/rpc/mailInteraction.js
index 1e30d62..8deeff9 100644
--- a/server/services/routing/rpc/mailInteraction.js
+++ b/server/services/routing/rpc/mailInteraction.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailMessage.js b/server/services/routing/rpc/mailMessage.js
index 1b1bf22..5bd11af 100644
--- a/server/services/routing/rpc/mailMessage.js
+++ b/server/services/routing/rpc/mailMessage.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailQueue.js b/server/services/routing/rpc/mailQueue.js
index 564a63c..092972a 100644
--- a/server/services/routing/rpc/mailQueue.js
+++ b/server/services/routing/rpc/mailQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailQueueReport.js b/server/services/routing/rpc/mailQueueReport.js
index f973822..a79eec3 100644
--- a/server/services/routing/rpc/mailQueueReport.js
+++ b/server/services/routing/rpc/mailQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelInteraction.js b/server/services/routing/rpc/openchannelInteraction.js
index cc5ff4f..157208c 100644
--- a/server/services/routing/rpc/openchannelInteraction.js
+++ b/server/services/routing/rpc/openchannelInteraction.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelMessage.js b/server/services/routing/rpc/openchannelMessage.js
index c4ff011..b7d425f 100644
--- a/server/services/routing/rpc/openchannelMessage.js
+++ b/server/services/routing/rpc/openchannelMessage.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelQueue.js b/server/services/routing/rpc/openchannelQueue.js
index bd04259..6959681 100644
--- a/server/services/routing/rpc/openchannelQueue.js
+++ b/server/services/routing/rpc/openchannelQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelQueueReport.js b/server/services/routing/rpc/openchannelQueueReport.js
index ff061a4..8a748a1 100644
--- a/server/services/routing/rpc/openchannelQueueReport.js
+++ b/server/services/routing/rpc/openchannelQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsInteraction.js b/server/services/routing/rpc/smsInteraction.js
index fffa2a8..cb59130 100644
--- a/server/services/routing/rpc/smsInteraction.js
+++ b/server/services/routing/rpc/smsInteraction.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsMessage.js b/server/services/routing/rpc/smsMessage.js
index 7e3ad35..0442b51 100644
--- a/server/services/routing/rpc/smsMessage.js
+++ b/server/services/routing/rpc/smsMessage.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsQueue.js b/server/services/routing/rpc/smsQueue.js
index 1e4603c..f6b48f3 100644
--- a/server/services/routing/rpc/smsQueue.js
+++ b/server/services/routing/rpc/smsQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsQueueReport.js b/server/services/routing/rpc/smsQueueReport.js
index 5bbb205..a9f0374 100644
--- a/server/services/routing/rpc/smsQueueReport.js
+++ b/server/services/routing/rpc/smsQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/user.js b/server/services/routing/rpc/user.js
index faa5364..f634ec9 100644
--- a/server/services/routing/rpc/user.js
+++ b/server/services/routing/rpc/user.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappInteraction.js b/server/services/routing/rpc/whatsappInteraction.js
index b708cfe..774ebe4 100644
--- a/server/services/routing/rpc/whatsappInteraction.js
+++ b/server/services/routing/rpc/whatsappInteraction.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappMessage.js b/server/services/routing/rpc/whatsappMessage.js
index f067a32..66baef6 100644
--- a/server/services/routing/rpc/whatsappMessage.js
+++ b/server/services/routing/rpc/whatsappMessage.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappQueue.js b/server/services/routing/rpc/whatsappQueue.js
index b94ad94..29594cd 100644
--- a/server/services/routing/rpc/whatsappQueue.js
+++ b/server/services/routing/rpc/whatsappQueue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/whatsappQueueReport.js b/server/services/routing/rpc/whatsappQueueReport.js
index 4c2bc0c..3b5fa7a 100644
--- a/server/services/routing/rpc/whatsappQueueReport.js
+++ b/server/services/routing/rpc/whatsappQueueReport.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/agent.js b/server/services/routing/server/applications/agent.js
index 85dfd9d..d37b538 100644
--- a/server/services/routing/server/applications/agent.js
+++ b/server/services/routing/server/applications/agent.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/amazonlex.js b/server/services/routing/server/applications/amazonlex.js
index 49f5643..0c8fac6 100644
--- a/server/services/routing/server/applications/amazonlex.js
+++ b/server/services/routing/server/applications/amazonlex.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/autoreply.js b/server/services/routing/server/applications/autoreply.js
index 5c7caec..1fc224c 100644
--- a/server/services/routing/server/applications/autoreply.js
+++ b/server/services/routing/server/applications/autoreply.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/close.js b/server/services/routing/server/applications/close.js
index c9cec98..40165a4 100644
--- a/server/services/routing/server/applications/close.js
+++ b/server/services/routing/server/applications/close.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/dialogflow.js b/server/services/routing/server/applications/dialogflow.js
index 138c71d..fb12c29 100644
--- a/server/services/routing/server/applications/dialogflow.js
+++ b/server/services/routing/server/applications/dialogflow.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/dialogflowV2.js b/server/services/routing/server/applications/dialogflowV2.js
index e3a7309..c0c29d5 100644
--- a/server/services/routing/server/applications/dialogflowV2.js
+++ b/server/services/routing/server/applications/dialogflowV2.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/gotoif.js b/server/services/routing/server/applications/gotoif.js
index 41f5df6..c3372bf 100644
--- a/server/services/routing/server/applications/gotoif.js
+++ b/server/services/routing/server/applications/gotoif.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/gotop.js b/server/services/routing/server/applications/gotop.js
index 7decb43..bffb0ba 100644
--- a/server/services/routing/server/applications/gotop.js
+++ b/server/services/routing/server/applications/gotop.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/message.js b/server/services/routing/server/applications/message.js
index d7d830b..ddaf3a8 100644
--- a/server/services/routing/server/applications/message.js
+++ b/server/services/routing/server/applications/message.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/noop.js b/server/services/routing/server/applications/noop.js
index 0fc3ae9..7b6bad0 100644
--- a/server/services/routing/server/applications/noop.js
+++ b/server/services/routing/server/applications/noop.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/queue.js b/server/services/routing/server/applications/queue.js
index c683b74..13f800f 100644
--- a/server/services/routing/server/applications/queue.js
+++ b/server/services/routing/server/applications/queue.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/agent.js b/server/services/routing/server/applications/strategy/agent.js
index 74aa024..a8655bb 100644
--- a/server/services/routing/server/applications/strategy/agent.js
+++ b/server/services/routing/server/applications/strategy/agent.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/beepall.js b/server/services/routing/server/applications/strategy/beepall.js
index 9778f7f..36eacee 100644
--- a/server/services/routing/server/applications/strategy/beepall.js
+++ b/server/services/routing/server/applications/strategy/beepall.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/index.js b/server/services/routing/server/applications/strategy/index.js
index 1aede2a..37e5200 100644
--- a/server/services/routing/server/applications/strategy/index.js
+++ b/server/services/routing/server/applications/strategy/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/rrmemory.js b/server/services/routing/server/applications/strategy/rrmemory.js
index eaf3603..46decfd 100644
--- a/server/services/routing/server/applications/strategy/rrmemory.js
+++ b/server/services/routing/server/applications/strategy/rrmemory.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/util.js b/server/services/routing/server/applications/strategy/util.js
index 43102e9..4fb1fba 100644
--- a/server/services/routing/server/applications/strategy/util.js
+++ b/server/services/routing/server/applications/strategy/util.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/system.js b/server/services/routing/server/applications/system.js
index 479e0b2..91afbc2 100644
--- a/server/services/routing/server/applications/system.js
+++ b/server/services/routing/server/applications/system.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/tag.js b/server/services/routing/server/applications/tag.js
index e946a5b..3d16bec 100644
--- a/server/services/routing/server/applications/tag.js
+++ b/server/services/routing/server/applications/tag.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/utils.js b/server/services/routing/server/applications/utils.js
index c7a01c0..113485f 100644
--- a/server/services/routing/server/applications/utils.js
+++ b/server/services/routing/server/applications/utils.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/index.js b/server/services/routing/server/index.js
index ea0ab86..572e094 100644
--- a/server/services/routing/server/index.js
+++ b/server/services/routing/server/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/interval.js b/server/services/routing/server/interval.js
index d255e66..941b729 100644
--- a/server/services/routing/server/interval.js
+++ b/server/services/routing/server/interval.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/agents.controller.js b/server/services/xdr/agents.controller.js
index 4db17d2..703b3b3 100644
--- a/server/services/xdr/agents.controller.js
+++ b/server/services/xdr/agents.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/calls.controller.js b/server/services/xdr/calls.controller.js
index 59d344f..9378b25 100644
--- a/server/services/xdr/calls.controller.js
+++ b/server/services/xdr/calls.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/core.controller.js b/server/services/xdr/core.controller.js
index 7cd4785..29e5a6b 100644
--- a/server/services/xdr/core.controller.js
+++ b/server/services/xdr/core.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/dials.controller.js b/server/services/xdr/dials.controller.js
index 8a48b87..b321d69 100644
--- a/server/services/xdr/dials.controller.js
+++ b/server/services/xdr/dials.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/index.js b/server/services/xdr/index.js
index 2ca5587..d25b9d0 100644
--- a/server/services/xdr/index.js
+++ b/server/services/xdr/index.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/members.controller.js b/server/services/xdr/members.controller.js
index 90eac4e..8143741 100644
--- a/server/services/xdr/members.controller.js
+++ b/server/services/xdr/members.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/queues.controller.js b/server/services/xdr/queues.controller.js
index 938b648..9f2ac2b 100644
--- a/server/services/xdr/queues.controller.js
+++ b/server/services/xdr/queues.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/recordings.controller.js b/server/services/xdr/recordings.controller.js
index a261dde..5fb08b4 100644
--- a/server/services/xdr/recordings.controller.js
+++ b/server/services/xdr/recordings.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/transfers.controller.js b/server/services/xdr/transfers.controller.js
index 8f35ab2..d0d3894 100644
--- a/server/services/xdr/transfers.controller.js
+++ b/server/services/xdr/transfers.controller.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/utils.js b/server/services/xdr/utils.js
index eb0470d..43fbaf5 100644
--- a/server/services/xdr/utils.js
+++ b/server/services/xdr/utils.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/utils/build-info.js b/server/utils/build-info.js
index 289546c..f6cc6bc 100644
--- a/server/utils/build-info.js
+++ b/server/utils/build-info.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/server/utils/mask-sensistive-data.js b/server/utils/mask-sensistive-data.js
index 547d714..b58b118 100644
--- a/server/utils/mask-sensistive-data.js
+++ b/server/utils/mask-sensistive-data.js
@@ -1 +1 @@
\ No newline at end of file
\ No newline at end of file
diff --git a/snippets/chat_v3.0.0-alpha/index.html b/snippets/chat_v3.0.0-alpha/index.html
index 7aea0d5..4e345cc 100644
--- a/snippets/chat_v3.0.0-alpha/index.html
+++ b/snippets/chat_v3.0.0-alpha/index.html
@@ -22,4 +22,4 @@
                 status != 'online' &&
                 status != 'offline' &&
                 status != 'unmanaged'
\ No newline at end of file
\ No newline at end of file
-- 
1.7.1